Re: [PATCH 1/1] UIO: Add a write() function to enable/disable interrupts

From: Tom Spink
Date: Fri May 23 2008 - 07:49:29 EST


2008/5/23 Uwe Kleine-König <Uwe.Kleine-Koenig@xxxxxxxx>:
> Hello Tom,

Hi Uwe,

> Tom Spink wrote:
>> The added benefit is that the code becomes less complex, as you don't
>> have to check buffer sizes and copy the integer from userspace.
> AFAIK this is wrong. You need to copy the integer from userspace in
> uio_ioctl. Actually it's a value coming from user space, so you need to
> do it somewhere.

Not really in this case. It's not a *pointer* to a value in
userspace, so you don't need to copy anything. If it was being used
to point to a memory location holding a value, then yes, it would need
to be copied across. But in this case, it's just being used to pass
across 1 or 0.

For example, look at the drivers/char/tty_ioctl.c file, and see how
they use arg as a simple value. arg doesn't have to be a pointer to
userspace.

> Best regards
> Uwe

--
Tom Spink
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/