Messages in this thread | | | Date | Wed, 11 Dec 2013 00:28:29 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: process 'stuck' at exit. |
| |
On Tue, 10 Dec 2013, Linus Torvalds wrote:
> On Tue, Dec 10, 2013 at 2:57 PM, Thomas Gleixner <tglx@linutronix.de> wrote: > > > > But how does the access_ok() move do anything helpful here? > > Just making it all more obvious. > > > We really need it for the fastpath !fshared case, but for the fshared > > case you actively break working code, because you force a VERIFY_WRITE > > check into it. The VERIFY_WRITE is necessary for !fshared, because > > there is no way that one thread can map the futex RO and the other RW, > > right? > > Nobody actually uses that argument any more (it goes back to the old > i386 "let's manually verify that we have write permissions, because > the CPU doesn't do it for us in the trap handling"), and it should > probably be removed.
Fair enough.
> But you're right that it's at least misleading. I'd love to remove it > entirely, because it's not even syntax-checked, and it's confusing. > But that would be a humongous patch.
Well, we should ask Julia for a coccinelle patch to limit the wreckage. :)
Seriously, if that VERIFY_WRITE is completely useless we really want to get rid of it.
> So these days, "access_ok()" literally just checks that the address is > in the user address space range. And that would seem to always be > appropriate for futexes, so why not just do it in the generic code?
Agreed, but as long as the VERIFY_WRITE argument is there it needs at least a big fat comment :)
Thanks,
tglx
| |