Subject: Re: Oops in filter add

From: Patrick McHardy <[email-masked]>
Date: Tue, 20 Mar 2007 07:58:10 +0100

jamal wrote:
> On Mon, 2007-19-03 at 19:22 -0700, David Miller wrote:
> 
>>It looks like the idea might have been to allow more parallelized
>>running of ingress filters, but this is done wrong and leads to
>>the crashes you are seeing.
> 
> 
> The main idea is to avoid one BigLock for both ingress and egress;
> Which was/is still useful in the compat mode where netfilter is used
> instead. 

In that case is isn't even used.

>>Can you just replace the above with dev->queue_lock and see if
>>that makes your problem go away?  THanks.
> 
> 
> It should; 
> i will stare at the code later and see if i can send a better patch,
> maybe a read_lock(qdisc_tree_lock).

You would need to make qdisc_lock_tree() aware of the difference
between ingress and egress.