diff options
author | KOVACS Krisztian <hidden@balabit.hu> | 2005-11-16 01:47:34 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-11-16 01:47:34 +0100 |
commit | 5a6f294e43e432bd207a702fea49ebb303ef9b23 (patch) | |
tree | ccc0aefb94c6c6f26eff9eaf177df99b0b364be2 /net | |
parent | [NETFILTER] Remove nf_conntrack stat proc file when cleaning up (diff) | |
download | linux-5a6f294e43e432bd207a702fea49ebb303ef9b23.tar.xz linux-5a6f294e43e432bd207a702fea49ebb303ef9b23.zip |
[NETFILTER] Free layer-3 specific protocol tables at cleanup
Although the comment around the allocation code tells us that
the layer-3 specific protocol tables will be freed when cleaning up,
they aren't. And this makes nfsim complain loudly...
Signed-off-by: KOVACS Krisztian <hidden@balabit.hu>
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/nf_conntrack_core.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c index 9a67c796b385..ea094b231d62 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c @@ -1395,6 +1395,13 @@ void nf_conntrack_cleanup(void) kmem_cache_destroy(nf_conntrack_expect_cachep); free_conntrack_hash(nf_conntrack_hash, nf_conntrack_vmalloc, nf_conntrack_htable_size); + + /* free l3proto protocol tables */ + for (i = 0; i < PF_MAX; i++) + if (nf_ct_protos[i]) { + kfree(nf_ct_protos[i]); + nf_ct_protos[i] = NULL; + } } static struct list_head *alloc_hashtable(int size, int *vmalloced) |