Received: with ECARTIS (v1.0.0; list netdev); Fri, 05 Nov 2004 16:48:33 -0800 (PST) Received: from cheetah.davemloft.net (mail@adsl-63-197-226-105.dsl.snfc21.pacbell.net [63.197.226.105]) by oss.sgi.com (8.13.0/8.13.0) with ESMTP id iA60mSjH003875 for ; Fri, 5 Nov 2004 16:48:28 -0800 Received: from localhost ([127.0.0.1] helo=cheetah.davemloft.net ident=davem) by cheetah.davemloft.net with smtp (Exim 3.36 #1 (Debian)) id 1CQEZW-0006oM-00; Fri, 05 Nov 2004 16:36:50 -0800 Date: Fri, 5 Nov 2004 16:36:50 -0800 From: "David S. Miller" To: Thomas Graf Cc: kaber@trash.net, netdev@oss.sgi.com, spam@crocom.com.pl, kuznet@ms2.inr.ac.ru, jmorris@redhat.com Subject: Re: [PATCH] PKT_SCHED: Initialize list field in dummy qdiscs Message-Id: <20041105163650.19a487d6.davem@davemloft.net> In-Reply-To: <20041105175812.GZ12289@postel.suug.ch> References: <418B4C7C.8000402@crocom.com.pl> <20041105115430.GP19714@rei.reeler.org> <418B4C7C.8000402@crocom.com.pl> <20041105141640.GQ19714@rei.reeler.org> <418BA66A.60804@trash.net> <20041105163951.GY12289@postel.suug.ch> <418BB7D2.6060908@trash.net> <20041105175812.GZ12289@postel.suug.ch> X-Mailer: Sylpheed version 0.9.99 (GTK+ 1.2.10; sparc-unknown-linux-gnu) X-Face: "_;p5u5aPsO,_Vsx"^v-pEq09'CU4&Dc1$fQExov$62l60cgCc%FnIwD=.UF^a>?5'9Kn[;433QFVV9M..2eN.@4ZWPGbdi<=?[:T>y?SD(R*-3It"Vj:)"dP Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-archive-position: 11508 X-ecartis-version: Ecartis v1.0.0 Sender: netdev-bounce@oss.sgi.com Errors-to: netdev-bounce@oss.sgi.com X-original-sender: davem@davemloft.net Precedence: bulk X-list: netdev Content-Length: 754 Lines: 21 On Fri, 5 Nov 2004 18:58:12 +0100 Thomas Graf 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 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.