diff options
author | KOVACS Krisztian <hidden@balabit.hu> | 2005-11-15 16:47:34 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-11-15 16:47:34 -0800 |
commit | 5a6f294e43e432bd207a702fea49ebb303ef9b23 (patch) | |
tree | ccc0aefb94c6c6f26eff9eaf177df99b0b364be2 | |
parent | 96479376c89e5be92c85bd350e3e2e8f0e7e3b52 (diff) | |
download | op-kernel-dev-5a6f294e43e432bd207a702fea49ebb303ef9b23.zip op-kernel-dev-5a6f294e43e432bd207a702fea49ebb303ef9b23.tar.gz |
[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>
-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 9a67c79..ea094b2 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) |