Re: 3.5-rc6 futex_wait_requeue_pi oops.

From: Dave Jones
Date: Fri Jul 20 2012 - 09:36:21 EST


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!

thanks,

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