Thread (63 messages) 63 messages, 4 authors, 2010-02-04

Re: PROBLEM with summary: Re: [PATCH] netfilter: per netns nf_conntrack_cachep

From: Jon Masters <hidden>
Date: 2010-02-02 17:23:21
Also in: lkml, netfilter-devel

On Tue, 2010-02-02 at 18:16 +0100, Eric Dumazet wrote:
Le mardi 02 février 2010 à 18:04 +0100, Patrick McHardy a écrit :
quoted
Ah nice catch, that seems to be the problem. When the untracked
conntrack is already attached to an skb and thus has refcnt > 1
and we re-initalize the refcnt, it will get freed.

The question is whether the ct_net pointer of the untracked conntrack
is actually required. If so, we need one instance per namespace,
otherwise we can just move initialization and cleanup to the init_net
init/cleanup functions. Alexey, do you happen to know this?
One untracked per netns seems the way to go, and move it outside of
read_mostly area too, we obviously can modify its refcount frequently...
Sure, that will work. Also, rather than just the NF_CT_ASSERT on the use
count, maybe worth catching the specific case of trying to free the
untracked ct, but that's only if it's not a horrible fast path.

Anyway, thanks. If you want to send me a patch, I'll try it.

Jon.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help