diff --git a/mm/slub.c b/mm/slub.c index 79293a50550714530aef97542ae155a1c4a36a28..49ae2089a7c9c795ad7d85f976abe680ccb30b26 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -5733,8 +5733,10 @@ static int sysfs_slab_add(struct kmem_cache *s) s->kobj.kset = kset; err = kobject_init_and_add(&s->kobj, &slab_ktype, NULL, "%s", name); - if (err) + if (err) { + kobject_put(&s->kobj); goto out; + } err = sysfs_create_group(&s->kobj, &slab_attr_group); if (err)