Subject: Re: tc related lockdep warning.

From: Patrick McHardy <[email-masked]>
Date: Mon, 25 Sep 2006 15:29:10 +0200

jamal wrote:
> On Mon, 2006-25-09 at 14:43 +0200, Jarek Poplawski wrote:
> 
> 
>>It's probably 2.6.18 and should change a little now (git4) but
>>IMHO main problem stays: it looks tcf_act_police_locate in
>>act_police.c was preempted in read_lock (tcf_police_lookup)
>>- now the same is possible in tcf_hash_lookup. So maybe
>>read_lock_bh will help?
>>
> 
> 
> Yes, that looks plausible. Can you try making those changes and see if
> the warning is gone?

I think this points to a bigger brokeness caused by the move of
dev->qdisc to RCU. It means destruction of filters and actions doesn't
necessarily happens in user-context and thus not protected by the rtnl
anymore. On first sight all actions are affected by this, as well as
the u32 classifier (race between u32_destroy and u32_init while changing
u32_list), but I bet there are more. I'm busy right now, but I'll look
into this later.