Subject: Re: [BUG] NULL pointer dereference in skb_dequeue

From: Jarek Poplawski <[email-masked]>
Date: Sat, 2 Aug 2008 22:19:44 +0200

On Sat, Aug 02, 2008 at 12:18:15PM -0700, David Miller wrote:
> From: Jarek Poplawski <[email-masked]>
> Date: Sat, 2 Aug 2008 18:27:33 +0200
> 
> > On Sat, Aug 02, 2008 at 03:37:19PM +0200, Jarek Poplawski wrote:
> > ...
> > > I guess this "root lock" has to go back to netdev_queue. Alas, I can't
> > > test this, so if it's not a big problem maybe you could try this patch
> > > before David goes back to this? (His patch should be removed before
> > > using this one.)
> > 
> > Actually, this patch was incomplete, sorry. Here is a better one,
> > I hope. But of course, now, even better is to wait for David's
> > proposal.
> 
> Jarek, we can't put the root lock back into the netdev_queue, it
> breaks all of the RCU handling of qdisc_destroy() which is fundamental
> for how all the multiqueue stuff works now.
> 
> See my other emails, it isn't even necessary anyways.

My patch was intended to check this "the hard way" since the subtle
method didn't work. I expected the final fix could be different.

Thanks for the explanations: BTW, I think, the qdisc_root_lock is a
bit misleading name, if qdisc_lock is also used for taking root lock.
Of course, this all makes sense, it simply needs more checking.

Jarek P.