[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <497F109A.7080502@trash.net>
Date: Tue, 27 Jan 2009 14:48:10 +0100
From: Patrick McHardy <kaber@...sh.net>
To: Tobias Klausmann <klausman@...warzvogel.de>
CC: netdev@...r.kernel.org,
Netfilter Development Mailinglist
<netfilter-devel@...r.kernel.org>
Subject: Re: Possible race condition in conntracking
Tobias Klausmann wrote:
> So the question remains what to do instead and how to do it. That
> probably is deep Netfilter mojo, so I could only speculate wildly.
>
>> You should see the insert_failed conntrack counter show this
>> (/proc/net/stat/nf_conntrack).
>
> We do, as I said in my first mail. Near as I can tell,
> nf_conntrack_confirm() is the only function that ever increases
> that counter, so it's definitely dropped there. As to how one
> could handle it differently, I have to defer to people with more
> Netfilter expertise. No point in "fixing" this by breaking other
> stuff.
Fixing this requires some rather intrusive changes. We need
to perform a lookup on the unconfirmed list when a conntrack
is not found in the hash and use the one we find there, if any.
The entries on that list are not reference counted and there
are a lot of assumptions in the code that an unconfirmed conntrack
is exclusively associated with a single packet. This needs to
be audited and fixed, but it looks quite hard.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists