On 2/6/20 10:07 pm, Wang Hai wrote:kfree(cr) can be called when kobject_put()-->kobject_release()-->kobject_cleanup()-->kobj_type->release() is called. The kobj_type here is afu_config_record_type
Currently the error return path from kobject_init_and_add() is not
followed by a call to kobject_put() - which means we are leaking
the kobject.
Fix it by adding a call to kobject_put() in the error path of
kobject_init_and_add().
Fixes: b087e6190ddc ("cxl: Export optional AFU configuration record in sysfs")
Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
Signed-off-by: Wang Hai <wanghai38@xxxxxxxxxx>
Thanks for the fix!
I note that the err1 label returns without calling kfree(cr) and I can't see a reason why we do that - so perhaps we should remove the return statement in err1: so it falls through?