BUG: spinlock recursion (sys_chdir, user_path_at, do_path_lookup ...)

Thomas Gleixner tglx at linutronix.de
Thu Jan 13 06:21:30 EST 2011


On Thu, 13 Jan 2011, Peter Zijlstra wrote:

> 
> > On Wed, 2011-01-12 at 23:52 +0100, Thomas Gleixner wrote:
> 
> > > @peterz: Why does lockdep ignore the lock recursion in that
> > >          spin_lock_nested() call?
> 
> So after some hints on IRC on where to look:
> 
> <tglx>         spin_lock(&parent->d_lock);
> <tglx>         spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED);
> <tglx> if parent == dentry
> 
> That won't yell because you explicitly tell lockdep its ok, I know what
> I'm doing.
> 
> Several lockdep annotations (including this one) allow you to annotate
> real bugs away, hence you really need to be sure about things when you
> make them.

Yeah, I suspected that, but checking whether the pointers are same
would be nice as it would tell us right away where we fcked up :)




More information about the linux-arm-kernel mailing list