Subject: Re: [BUG] Probably lockdep bug Re: circular locking, mirred, 2.6.24.2

From: Jarek Poplawski <[email-masked]>
Date: Thu, 6 Mar 2008 09:41:57 +0000

On Wed, Mar 05, 2008 at 01:54:48PM +0000, Jarek Poplawski wrote:
> Hi,
> 
> dev->queue_lock is taken in a scenario like below: always after
> dev->ingress_lock and p->tcfc_lock, so just like on this last
> backtrace with info about held locks. But this report shows that
> lockdep for some reason forgot the history before dev->queue_lock,
> and recorded it again. It seems, even if there is something wrong
> with init lockdep shouldn't report it like this.

...Hmmm... On the other hand, despite misleading dependency chain on
this report, lockdep seems to be right: dev->queue_lock and
dev->ingress_lock are really taken in a different order from
qdisc_lock_tree() and while using act_mirred! Now I wonder why this
warning is so rare?

So, let's give a break to lockdep maintainers and linux-kernel, and
try to figure it out more in netdev...

Jarek P.