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

From: Robert Hancock
Date: Tue Jun 26 2007 - 19:34:48 EST


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@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/

-
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/