Re: [PATCH] LinuxPPS (with new syscalls API)

Robert Hancock
2007-06-26T23:34:47Z

David Woodhouse wrote:
> On Tue, 2007-06-26 at 19:06 +0200, Rodolfo Giometti wrote:
>> On Tue, Jun 26, 2007 at 11:57:07AM +0100, David Woodhouse wrote:
>>> Your syscalls blindly dereference userspace pointers instead of using
>>> copy_{to,from} user.
>> I use access_ok() to test userspace addresses. It should be ok,
>> shouldn't it?
>
> No; it's racy. You must use copy_from_user() and copy_to_user().

Not only is it racy, but it doesn't even do all of the checks that
copy_to/from_user does. access_ok only validates that the region given
is potentially valid, not that it actually is. Using access_ok only
allows you to use __copy_to/from_user instead, which skips the same
checks that access_ok does - not worth it unless you do repeated copies
to/from the same region of memory.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/