mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-26 07:27:45 +00:00
netfilter: evict stale entries when user reads /proc/net/nf_conntrack
Fabian reports a possible conntrack memory leak (could not reproduce so far), however, one minor issue can be easily resolved: > cat /proc/net/nf_conntrack | wc -l = 5 > 4 minutes required to clean up the table. We should not report those timed-out entries to the user in first place. And instead of just skipping those timed-out entries while iterating over the table we can also zap them (we already do this during ctnetlink walks, but I forgot about the /proc interface). Fixes: f330a7fdbe16 ("netfilter: conntrack: get rid of conntrack timer") Reported-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
11d5f15723
commit
58e207e498
@ -212,6 +212,11 @@ static int ct_seq_show(struct seq_file *s, void *v)
|
|||||||
if (unlikely(!atomic_inc_not_zero(&ct->ct_general.use)))
|
if (unlikely(!atomic_inc_not_zero(&ct->ct_general.use)))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if (nf_ct_should_gc(ct)) {
|
||||||
|
nf_ct_kill(ct);
|
||||||
|
goto release;
|
||||||
|
}
|
||||||
|
|
||||||
/* we only want to print DIR_ORIGINAL */
|
/* we only want to print DIR_ORIGINAL */
|
||||||
if (NF_CT_DIRECTION(hash))
|
if (NF_CT_DIRECTION(hash))
|
||||||
goto release;
|
goto release;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user