Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756777Ab0BBRH2 (ORCPT ); Tue, 2 Feb 2010 12:07:28 -0500 Received: from dallas.jonmasters.org ([72.29.103.172]:41549 "EHLO dallas.jonmasters.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756667Ab0BBRH0 (ORCPT ); Tue, 2 Feb 2010 12:07:26 -0500 Subject: Re: [PATCH] netfilter: per netns nf_conntrack_cachep From: Jon Masters To: Patrick McHardy Cc: Eric Dumazet , Alexey Dobriyan , linux-kernel , netdev , netfilter-devel , "Paul E. McKenney" In-Reply-To: <4B685756.8010107@trash.net> References: <1264813832.2793.446.camel@tonnant> <1264816634.2793.505.camel@tonnant> <1264816777.2793.510.camel@tonnant> <1264834704.2919.3.camel@edumazet-laptop> <1265016745.7499.144.camel@tonnant> <1265019160.2848.14.camel@edumazet-laptop> <1265023437.2848.30.camel@edumazet-laptop> <1265035970.2848.50.camel@edumazet-laptop> <1265036548.2848.55.camel@edumazet-laptop> <1265108690.2861.118.camel@tonnant> <1265110504.2861.135.camel@tonnant> <1265129192.2861.141.camel@tonnant> <4B685756.8010107@trash.net> Content-Type: text/plain Organization: World Organi[sz]ation of Broken Dreams Date: Tue, 02 Feb 2010 12:07:06 -0500 Message-Id: <1265130426.2861.158.camel@tonnant> Mime-Version: 1.0 X-Mailer: Evolution 2.26.3 (2.26.3-1.fc11) Content-Transfer-Encoding: 7bit X-SA-Do-Not-Run: Yes X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: jonathan@jonmasters.org X-SA-Exim-Scanned: No (on dallas.jonmasters.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1520 Lines: 40 On Tue, 2010-02-02 at 17:48 +0100, Patrick McHardy wrote: > Jon Masters wrote: > > On Tue, 2010-02-02 at 06:35 -0500, Jon Masters wrote: > > > >> I think there's something more fundamental going on here. > > > > What happens is the conntrack code attempts to free > > nf_conntrack_untracked back into the SL[U]B cache from which it > > allocates other ct's. > > That shouldn't happen, the untracked conntrack is initialized to a > refcount of 1, which is never released. Ah, but I think it is :) It's also re-initialized (with an atomic_set) every time a new namespace is created, whereas this should probably only be done in the init_init_net code, not in init_net :) > > There's just one problem...that's a static struct > > not from the cache. So, this is why we end up with the SLAB being > > corrupted and the address immediately following the > > nf_conntrack_untracked being corrupted. > > > > I shoved some debug comments into the destroy code to see if we were > > trying to free nf_conntrack_untracked, and bingo. I have shoved a panic > > in there now, will send you a backtrace. > > Thanks. No problem. And thanks for your help. I'm sorry if I sound frustrated at this, it's just causing all of my test machines running KVM guests to fall over :) Jon. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/