Re: [patch 1/5] futex: Make unlock_pi more robust

From: Darren Hart
Date: Mon Jun 16 2014 - 18:42:11 EST


On Tue, 2014-06-17 at 00:28 +0200, Thomas Gleixner wrote:
> On Tue, 17 Jun 2014, Thomas Gleixner wrote:
> > On Mon, 16 Jun 2014, Darren Hart wrote:
> > > On Wed, 2014-06-11 at 20:45 +0000, Thomas Gleixner wrote:
> > > In wake_futex_pi we verify ownership by matching pi_state->owner ==
> > > current, but here the only test is the TID value, which is set by
> > > userspace - which we don't trust...
> > >
> > > I'm trying to determine if it matters in this case... if there are no
> > > waiters, is the pi_state still around? If so, it does indeed matter, and
> > > we should be verifying.
> >
> > Erm. The whole point of this patch is to do:
> >
> > - Find existing state first and handle it.
> >
> > - If no state exists and TID == current, take it
> >
> > - Otherwise create state
>
> Duh, that was the lock path. But here the point is:
>
> - Find existing state first and handle it.
>
> - If no state exists and TID == current, release it
>

Right, I understood your meaning, and I withdraw the concern.

> The retry is obvious, right?

Yes.

--
Darren Hart
Intel Open Source Technology Center


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