[NEIGH]: neigh_table_clear() doesn't free stats
authorKirill Korotaev <dev@openvz.org>
Fri, 1 Sep 2006 08:34:10 +0000 (01:34 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 18 Sep 2006 06:21:01 +0000 (23:21 -0700)
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>
net/core/neighbour.c

index 5130d2efdbbeaed9ce896782fe7f867ab03d6d90..fe2113f54e2b644a2b5685a34f154daadf437802 100644 (file)
@@ -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;
 }