lkml.org 
[lkml]   [2010]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] netfilter: per netns nf_conntrack_cachep
    From
    Date
    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.




    \
     
     \ /
      Last update: 2010-02-02 18:09    [W:5.840 / U:0.428 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site