diff options
author | Kirill Korotaev <dev@openvz.org> | 2006-09-01 01:34:10 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-17 23:21:01 -0700 |
commit | 3fcde74b3877756f4b4725a883d0b48696c0d369 (patch) | |
tree | afadd7d4d1a3b01f0941b8e1039bad6b2ba222af /net/core | |
parent | 803db244b9f71102e366fd689000c1417b9a7508 (diff) | |
download | blackbird-op-linux-3fcde74b3877756f4b4725a883d0b48696c0d369.tar.gz blackbird-op-linux-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/core')
-rw-r--r-- | net/core/neighbour.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c index 5130d2efdbbe..fe2113f54e2b 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; } |