mm/sl[aou]b: Move freeing of kmem_cache structure to common code
[firefly-linux-kernel-4.4.55.git] / mm / slab_common.c
index a1c4f0b5aaedd771c5437dd5541c15aa56256c1b..d6deae9108cdc23ef507fee1b18a2ec07c4faf1c 100644 (file)
@@ -22,6 +22,7 @@
 enum slab_state slab_state;
 LIST_HEAD(slab_caches);
 DEFINE_MUTEX(slab_mutex);
+struct kmem_cache *kmem_cache;
 
 #ifdef CONFIG_DEBUG_VM
 static int kmem_cache_sanity_check(const char *name, size_t size)
@@ -153,6 +154,7 @@ void kmem_cache_destroy(struct kmem_cache *s)
                                rcu_barrier();
 
                        __kmem_cache_destroy(s);
+                       kmem_cache_free(kmem_cache, s);
                } else {
                        list_add(&s->list, &slab_caches);
                        printk(KERN_ERR "kmem_cache_destroy %s: Slab cache still has objects\n",