Messages in this thread |  | | | Subject | Re: select() for delay. | | From | Steven Rostedt <> | | Date | Mon, 24 Oct 2005 09:37:52 -0400 |
| |
On Mon, 2005-10-24 at 15:27 +0200, Arjan van de Ven wrote: > On Mon, 2005-10-24 at 09:18 -0400, Steven Rostedt wrote: > > Hi Maduhu, > > > > On Mon, 2005-10-24 at 16:25 +0530, madhu.subbaiah@wipro.com wrote: > > > > > + put_user(sec, &tvp->tv_sec); > > > + put_user(usec, &tvp->tv_usec); > > > > I won't comment on the rest of the patch, but this part is definitely > > wrong. The pointer tvp is a user space address and once you dereference > > that pointer to get to tv_sec, you can have a fault, which might > > segfault the > > &pointer->member doesn't dereference the pointer, it just adds the > offset of "member" to the content of the pointer. >
Oh crap! You're right ;-)
Argh, that's what I get for replying before my first cup of coffee and suffering jet lag.
I should have known this since I just copied over the container_of macro to a user process, and if what I said was true, ((type *)0)->member would never work.
Oh well, time to wake up :-)
-- Steve
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |