aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/slab.c1
-rw-r--r--mm/slab_common.c1
-rw-r--r--mm/slob.c2
-rw-r--r--mm/slub.c2
4 files changed, 1 insertions, 5 deletions
diff --git a/mm/slab.c b/mm/slab.c
index ef94799a1aa5..8ca6ec6301fa 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -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",
diff --git a/mm/slob.c b/mm/slob.c
index 7d272c3dcc08..cb4ab9675293 100644
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -540,8 +540,6 @@ struct kmem_cache *__kmem_cache_create(const char *name, size_t size,
540 540
541void __kmem_cache_destroy(struct kmem_cache *c) 541void __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
547void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node) 545void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node)
diff --git a/mm/slub.c b/mm/slub.c
index e0d1e0470309..6f932f7a8219 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -213,7 +213,6 @@ static inline int sysfs_slab_alias(struct kmem_cache *s, const char *p)
213static inline void sysfs_slab_remove(struct kmem_cache *s) 213static 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
5212static const struct sysfs_ops slab_sysfs_ops = { 5210static const struct sysfs_ops slab_sysfs_ops = {