Re: [PATCH] cxl: Fix kobject memleak

From: wanghai (M)
Date: Wed Jun 03 2020 - 07:57:50 EST



å 2020/6/3 19:33, Andrew Donnellan åé:
On 2/6/20 10:07 pm, Wang Hai wrote:
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?

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


Thanks,

Wang Hai