[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.02.1207132108340.32033@ionos>
Date: Fri, 13 Jul 2012 21:11:57 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Dave Jones <davej@...hat.com>
cc: Linux Kernel <linux-kernel@...r.kernel.org>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Rusty Russell <rusty@...tcorp.com.au>,
Darren Hart <darren@...art.com>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: 3.5-rc6 futex_wait_requeue_pi oops.
On Fri, 13 Jul 2012, Dave Jones wrote:
> On Fri, Jul 13, 2012 at 08:47:38PM +0200, Thomas Gleixner wrote:
> > On Fri, 13 Jul 2012, Dave Jones wrote:
> >
> > > Looks like calling futex() with garbage makes things unhappy.
> >
> > WARN_ON(!&q.pi_state);
> > pi_mutex = &q.pi_state->pi_mutex;
> > ret = rt_mutex_finish_proxy_lock(pi_mutex, to, &rt_waiter, 1);
> > debug_rt_mutex_free_waiter(&rt_waiter);
> >
> > So there is some weird way which causes q.pi_state = NULL. Dave, did
> > you see the warning before the oops happened ?
>
> No, that didn't seem to trigger.
Yuck. The rt_mutex is embedded in pi_state and not a pointer and the
thing explodes in __lock_acquire if the raw lock protecting the
rtmutex internals.
Can you decode the exact code line ?
Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists