diff options
-rw-r--r-- | mm/slab.c | 1 | ||||
-rw-r--r-- | mm/slab_common.c | 1 | ||||
-rw-r--r-- | mm/slob.c | 2 | ||||
-rw-r--r-- | mm/slub.c | 2 |
4 files changed, 1 insertions, 5 deletions
@@ -2225,7 +2225,6 @@ void __kmem_cache_destroy(struct kmem_cache *cachep) | |||
2225 | kfree(l3); | 2225 | kfree(l3); |
2226 | } | 2226 | } |
2227 | } | 2227 | } |
2228 | kmem_cache_free(kmem_cache, cachep); | ||
2229 | } | 2228 | } |
2230 | 2229 | ||
2231 | 2230 | ||
diff --git a/mm/slab_common.c b/mm/slab_common.c index 5374150f5486..d6deae9108cd 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c | |||
@@ -154,6 +154,7 @@ void kmem_cache_destroy(struct kmem_cache *s) | |||
154 | rcu_barrier(); | 154 | rcu_barrier(); |
155 | 155 | ||
156 | __kmem_cache_destroy(s); | 156 | __kmem_cache_destroy(s); |
157 | kmem_cache_free(kmem_cache, s); | ||
157 | } else { | 158 | } else { |
158 | list_add(&s->list, &slab_caches); | 159 | list_add(&s->list, &slab_caches); |
159 | printk(KERN_ERR "kmem_cache_destroy %s: Slab cache still has objects\n", | 160 | printk(KERN_ERR "kmem_cache_destroy %s: Slab cache still has objects\n", |
@@ -540,8 +540,6 @@ struct kmem_cache *__kmem_cache_create(const char *name, size_t size, | |||
540 | 540 | ||
541 | void __kmem_cache_destroy(struct kmem_cache *c) | 541 | void __kmem_cache_destroy(struct kmem_cache *c) |
542 | { | 542 | { |
543 | kmemleak_free(c); | ||
544 | slob_free(c, sizeof(struct kmem_cache)); | ||
545 | } | 543 | } |
546 | 544 | ||
547 | void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node) | 545 | void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node) |
@@ -213,7 +213,6 @@ static inline int sysfs_slab_alias(struct kmem_cache *s, const char *p) | |||
213 | static inline void sysfs_slab_remove(struct kmem_cache *s) | 213 | static inline void sysfs_slab_remove(struct kmem_cache *s) |
214 | { | 214 | { |
215 | kfree(s->name); | 215 | kfree(s->name); |
216 | kmem_cache_free(kmem_cache, s); | ||
217 | } | 216 | } |
218 | 217 | ||
219 | #endif | 218 | #endif |
@@ -5206,7 +5205,6 @@ static void kmem_cache_release(struct kobject *kobj) | |||
5206 | struct kmem_cache *s = to_slab(kobj); | 5205 | struct kmem_cache *s = to_slab(kobj); |
5207 | 5206 | ||
5208 | kfree(s->name); | 5207 | kfree(s->name); |
5209 | kmem_cache_free(kmem_cache, s); | ||
5210 | } | 5208 | } |
5211 | 5209 | ||
5212 | static const struct sysfs_ops slab_sysfs_ops = { | 5210 | static const struct sysfs_ops slab_sysfs_ops = { |