If a kset with uninitialized kset->kobj.ktype be registered, kset_register() will return error, and the kset.kobj.name allocated by kobject_set_name() will be leaked. To mitigate this, we free the name in kset_register() when an error is encountered due to uninitialized kset->kobj.ktype. Fixes: 4d0fe8c52bb3 ("kobject: Add sanity check for kset->kobj.ktype in kset_register()") Signed-off-by: Gaosheng Cui <cuigaosheng1@xxxxxxxxxx> --- lib/kobject.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/kobject.c b/lib/kobject.c index 72fa20f405f1..ecca72622933 100644 --- a/lib/kobject.c +++ b/lib/kobject.c @@ -862,6 +862,8 @@ int kset_register(struct kset *k) return -EINVAL; if (!k->kobj.ktype) { + kfree_const(k->kobj.name); + k->kobj.name = NULL; pr_err("must have a ktype to be initialized properly!\n"); return -EINVAL; } -- 2.25.1