Re: [PATCH v2 1/2] reset: Fix reset_control leak when put after controller unregister

From: Philipp Zabel

Date: Thu Nov 05 2026 - 05:45:20 EST


On Do, 2026-11-05 at 00:20 +0800, Tzung-Bi Shih wrote:
> After commit 8c91302a29bc ("reset: protect struct reset_control with its
> own mutex"), reset_control_put_internal() returns early if `rcdev` is
> NULL.
>
> When a reset controller is unregistered while consumers still hold
> reset_control handles, reset_controller_unregister() sets `rstc->rcdev`
> to NULL. When consumers later release their handles via
> reset_control_put(), the early return skips kref_put(), resulting in
> leaking resources.
>
> Call kref_put() in reset_control_put_internal() even if `rcdev` is NULL.
>
> Fixes: 8c91302a29bc ("reset: protect struct reset_control with its own mutex")
> Signed-off-by: Tzung-Bi Shih <tzungbi@xxxxxxxxxx>

Reviewed-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>

regards
Philipp