netdev
[Top] [All Lists]

Re: [PATCH] PKT_SCHED: Initialize list field in dummy qdiscs

To: Thomas Graf <tgraf@xxxxxxx>
Subject: Re: [PATCH] PKT_SCHED: Initialize list field in dummy qdiscs
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Fri, 5 Nov 2004 16:36:50 -0800
Cc: kaber@xxxxxxxxx, netdev@xxxxxxxxxxx, spam@xxxxxxxxxxxxx, kuznet@xxxxxxxxxxxxx, jmorris@xxxxxxxxxx
In-reply-to: <20041105175812.GZ12289@xxxxxxxxxxxxxx>
References: <418B4C7C.8000402@xxxxxxxxxxxxx> <20041105115430.GP19714@xxxxxxxxxxxxxx> <418B4C7C.8000402@xxxxxxxxxxxxx> <20041105141640.GQ19714@xxxxxxxxxxxxxx> <418BA66A.60804@xxxxxxxxx> <20041105163951.GY12289@xxxxxxxxxxxxxx> <418BB7D2.6060908@xxxxxxxxx> <20041105175812.GZ12289@xxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Fri, 5 Nov 2004 18:58:12 +0100
Thomas Graf <tgraf@xxxxxxx> wrote:

> I was irritated by the TCQ_F_BUILTIN check in __qdisc_destroy. None
> of the code in __qdisc_destroy should be applied to a builtin qdisc
> or am I missing something?
> 
> The patch below prevents builtin qdiscs from being destroyed and
> fixes a refcnt underflow whould lead to a bogus list unlinking
> and dev_put.
> 
> Signed-off-by: Thomas Graf <tgraf@xxxxxxx>

I'll apply this, along with the builting qdisc list initializer
change too just for cleanliness, thanks Thomas.

Ingo Molnar noticed this refcount underflow condition in qdisc_destroy()
a couple weeks ago.  At the time I didn't connect it to being a builting
qdisc issue.  Now we know the true cause.

Thanks again.

<Prev in Thread] Current Thread [Next in Thread>