Re: [PATCH v2] hwrng: stm32: fix usage_count leak when autosuspend_delay is negative
Linus Walleij <[email protected]>
| Newsgroups | org.kernel.vger.linux-crypto,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <CAD++jLnc6BEi7nJMikKMFRF6p-gR1rWra2nStmV=Sa3H5hAgKA@mail.gmail.com> |
On Tue, Aug 11, 2026 at 8:35 AM Guangshuo Li <[email protected]> wrote: > stm32_rng_probe() calls pm_runtime_use_autosuspend(), but runtime PM is > enabled with pm_runtime_enable() and the matching > pm_runtime_dont_use_autosuspend() is not called on driver teardown. > > If the autosuspend delay is set to a negative value while autosuspend > is enabled, the runtime PM core increments usage_count to prevent > runtime suspend. Without calling pm_runtime_dont_use_autosuspend() > during teardown, this reference is not dropped and usage_count remains > unbalanced. > > Use devm_pm_runtime_enable() so that pm_runtime_dont_use_autosuspend() > and pm_runtime_disable() are automatically called on probe failure and > driver teardown. With runtime PM cleanup handled by devres, > stm32_rng_remove() is no longer needed. > > This issue was found by manual code inspection. > > Fixes: c6a97c42e399 ("hwrng: stm32 - add support for STM32 HW RNG") > Cc: [email protected] > Signed-off-by: Guangshuo Li <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Yours, Linus Walleij