Re: [RESEND PATCH] futex: fix key reference counter in case ofrequeue.

From: Thomas Gleixner
Date: Fri Oct 15 2010 - 15:18:45 EST


On Fri, 15 Oct 2010, Darren Hart wrote:
> On 10/14/2010 04:30 AM, Louis Rilling wrote:
> > Signed-off-by: Matthieu FertrÃ<matthieu.fertre@xxxxxxxxxxx>
> > Signed-off-by: Louis Rilling<louis.rilling@xxxxxxxxxxx>
> > ---
> > kernel/futex.c | 8 ++++++--
> > 1 files changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/kernel/futex.c b/kernel/futex.c
> > index 6a3a5fa..bed6717 100644
> > --- a/kernel/futex.c
> > +++ b/kernel/futex.c
> > @@ -1791,6 +1791,7 @@ static int futex_wait(u32 __user *uaddr, int fshared,
> > struct restart_block *restart;
> > struct futex_hash_bucket *hb;
> > struct futex_q q;
> > + union futex_key key;
>
> We should be able to do this properly without requiring an additional key
> variable. I think tglx has proposed a suitable fix - but it needs testing to
> avoid any subtle regressions.

Well, that still needs a look into wait_requeue_pi() :)

Thanks,

tglx