aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorKirill Korotaev <dev@openvz.org>2006-09-01 01:34:10 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-17 23:21:01 -0700
commit3fcde74b3877756f4b4725a883d0b48696c0d369 (patch)
treeafadd7d4d1a3b01f0941b8e1039bad6b2ba222af /net
parent803db244b9f71102e366fd689000c1417b9a7508 (diff)
downloadkernel_samsung_smdk4412-3fcde74b3877756f4b4725a883d0b48696c0d369.tar.gz
kernel_samsung_smdk4412-3fcde74b3877756f4b4725a883d0b48696c0d369.tar.bz2
kernel_samsung_smdk4412-3fcde74b3877756f4b4725a883d0b48696c0d369.zip
[NEIGH]: neigh_table_clear() doesn't free stats
neigh_table_clear() doesn't free tbl->stats. Found by Alexey Kuznetsov. Though Alexey considers this leak minor for mainstream, I still believe that cleanup code should not forget to free some of the resources :) At least, this is critical for OpenVZ with virtualized neighbour tables. Signed-Off-By: Kirill Korotaev <dev@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/core/neighbour.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 5130d2efdbb..fe2113f54e2 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -1432,6 +1432,9 @@ int neigh_table_clear(struct neigh_table *tbl)
kfree(tbl->phash_buckets);
tbl->phash_buckets = NULL;
+ free_percpu(tbl->stats);
+ tbl->stats = NULL;
+
return 0;
}