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

From: Thomas Gleixner
Date: Mon Jun 16 2014 - 18:28:12 EST


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

The retry is obvious, right?

Thanks,

tglx

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