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

From: Tejun Heo
Date: Wed Mar 13 2024 - 17:44:58 EST


On Wed, Mar 13, 2024 at 05:43:41PM -0400, 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.
>
> Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> Fixes: 2afc9166f79b ("scsi: sysfs: Introduce sysfs_{un,}break_active_protection()")
> Cc: Bart Van Assche <bvanassche@xxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>

Acked-by: Tejun Heo <tj@xxxxxxxxxx>

Thanks.

--
tejun