aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter
diff options
context:
space:
mode:
authorKOVACS Krisztian <hidden@balabit.hu>2005-11-15 16:47:34 -0800
committerDavid S. Miller <davem@davemloft.net>2005-11-15 16:47:34 -0800
commit5a6f294e43e432bd207a702fea49ebb303ef9b23 (patch)
treeccc0aefb94c6c6f26eff9eaf177df99b0b364be2 /net/netfilter
parent[NETFILTER] Remove nf_conntrack stat proc file when cleaning up (diff)
downloadlinux-dev-5a6f294e43e432bd207a702fea49ebb303ef9b23.tar.xz
linux-dev-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/netfilter')
-rw-r--r--net/netfilter/nf_conntrack_core.c7
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)