Re: [2.6.25-rc5-mm1] BUG() at mnt_want_write().

From: Matthew Wilcox
Date: Wed Mar 12 2008 - 12:52:29 EST


On Wed, Mar 12, 2008 at 10:25:18AM +0100, Peter Zijlstra wrote:
> On Tue, 2008-03-11 at 20:22 -0700, Andrew Morton wrote:
> > > > INFO: trying to register non-static key.
>
> It means the lock_class_key ended up in non-static storage.
>
> In practise it often means you initialized a on-stack structure
> incorrectly. DECLARE_WAIT_QUEUE_HEAD() vs
> DECLARE_WAIT_QUEUE_HEAD_ONSTACK() for example.
>
> /me tries to untangle the sysfs stuff, finds nothing wrong, looks at
> semaphore code, and.. the winner is: Matthew messed up the semaphores.
>
> Tssk, rewriting locking primitives and not using lockdep...

I verified my use of spinlocks by hand ;-)

> Compile tested defconfig with lockdep and !lockdep.

Thanks for the patch. I'll merge it into my generic semaphore patch
and add credit for you if that's OK -- no point in leaving a breakage
point around for some innocent bisecter to stumble over.

--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
--
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/