Re: 3.5-rc6 futex_wait_requeue_pi oops.

From: Darren Hart
Date: Fri Jul 20 2012 - 11:11:38 EST




On 07/20/2012 06:35 AM, Dave Jones wrote:
> On Thu, Jul 19, 2012 at 11:53:45PM -0700, Darren Hart wrote:
>
>
> > >> I'll add a fix to that WARN_ON in my futex-fixes branch along with the
> > >> fix for the bug Dan found.
> > >
> > > I think I have root cause. futex_wait_requeue_pi() doesn't like having
> > > uaddr == uaddr2. The handle_early_wakeup() doesn't detect a problem
> > > because key2 IS the same as key1, I think. I've just discovered this and
> > > quickly hacked in a "if (uaddr==uaddr2) return -EINVAL" fix and the test
> > > continues to run (with just ops 0, 11, 12) for several minutes now
> > > (typically fails in a few seconds). I'll let it run for a few hours and
> > > contemplate the proper fix.
> >
> > Dave, mind giving this a spin? It seems to be doing the trick here,
> > at least for the *REQUEUE_PI futex op codes in trinity.
>
> Yeah, looks like that does the trick!

It ran all night without an issue here too. I'll roll these up and send
them out shortly.

Dave, I love/hate trinity. ;-)

--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel


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