diff options
author | Randy Dunlap <randy.dunlap@oracle.com> | 2007-10-21 16:24:27 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-22 02:59:52 -0700 |
commit | bfb85c9f753a7172bd962e8717118191dfd612cc (patch) | |
tree | 99701d12b83314bbba092e6841b28b842febdd08 /net/core | |
parent | 33b0c4fe6d0dd19fc7c9b801855f55c5260f2858 (diff) | |
download | linux-bfb85c9f753a7172bd962e8717118191dfd612cc.tar.gz linux-bfb85c9f753a7172bd962e8717118191dfd612cc.tar.bz2 linux-bfb85c9f753a7172bd962e8717118191dfd612cc.zip |
[ATM]: Fix clip module reload crash.
net/atm/clip.c crashes the kernel if it (module) is loaded, removed,
and then loaded again. Its exit call to neigh_table_clear()
should destroy the cache after freeing it.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
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 67ba9914e52e..05979e356963 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c @@ -1438,6 +1438,9 @@ int neigh_table_clear(struct neigh_table *tbl) free_percpu(tbl->stats); tbl->stats = NULL; + kmem_cache_destroy(tbl->kmem_cachep); + tbl->kmem_cachep = NULL; + return 0; } |