diff --git a/mm/slub.c b/mm/slub.c index a9fa06927860..d26c986b7660 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4514,13 +4514,15 @@ int __kmem_cache_create(struct kmem_cache *s, slab_flags_t flags) return 0; err = sysfs_slab_add(s); - if (err) + if (err) { __kmem_cache_release(s); + return err; + } if (s->flags & SLAB_STORE_USER) debugfs_slab_add(s); - return err; + return 0; } void *__kmalloc_track_caller(size_t size, gfp_t gfpflags, unsigned long caller)