slub: release kobject if sysfs_create_group failed in sysfs_slab_add
When CONFIG_SLUB_DEBUG is enabled, sysfs_slab_add should unlink and put the kobject if sysfs_create_group failed. Otherwise, sysfs_slab_add returns error then free kmem_cache s, thus memory of s->kobj is leaked. Acked-by: Christoph Lameter <cl@linux-foundation.org> Signed-off-by: Xiaotian Feng <dfeng@redhat.com> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
This commit is contained in:
parent
acdfcd04d9
commit
5788d8ad6c
|
@ -4593,8 +4593,11 @@ static int sysfs_slab_add(struct kmem_cache *s)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = sysfs_create_group(&s->kobj, &slab_attr_group);
|
err = sysfs_create_group(&s->kobj, &slab_attr_group);
|
||||||
if (err)
|
if (err) {
|
||||||
|
kobject_del(&s->kobj);
|
||||||
|
kobject_put(&s->kobj);
|
||||||
return err;
|
return err;
|
||||||
|
}
|
||||||
kobject_uevent(&s->kobj, KOBJ_ADD);
|
kobject_uevent(&s->kobj, KOBJ_ADD);
|
||||||
if (!unmergeable) {
|
if (!unmergeable) {
|
||||||
/* Setup first alias */
|
/* Setup first alias */
|
||||||
|
|
Loading…
Reference in New Issue