Re: [PATCH] fs: sysfs: Fix reference leak in sysfs_break_active_protection()

From: Bart Van Assche
Date: Wed Mar 13 2024 - 18:10:36 EST


On 3/13/24 14:43, Alan Stern wrote:
The sysfs_break_active_protection() routine has an obvious reference
leak in its error path. If the call to kernfs_find_and_get() fails then
kn will be NULL, so the companion sysfs_unbreak_active_protection()
routine won't get called (and would only cause an access violation by
trying to dereference kn->parent if it was called). As a result, the
reference to kobj acquired at the start of the function will never be
released.

Fix the leak by adding an explicit kobject_put() call when kn is NULL.

Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx>