Message ID | 20220317131613.53628-1-zhengyongjun3@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | crypto: fix reference leak in stm32_crc_remove | expand |
On Thu, Mar 17, 2022 at 01:16:13PM +0000, Zheng Yongjun wrote: > pm_runtime_get_sync() will increment pm usage counter even it > failed. Forgetting to call pm_runtime_put_noidle will result > in reference leak in stm32_crc_remove, so we should fix it. > > Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com> > --- > drivers/crypto/stm32/stm32-crc32.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Patch applied. Thanks.
diff --git a/drivers/crypto/stm32/stm32-crc32.c b/drivers/crypto/stm32/stm32-crc32.c index be1bf39a317d..90a920e7f664 100644 --- a/drivers/crypto/stm32/stm32-crc32.c +++ b/drivers/crypto/stm32/stm32-crc32.c @@ -384,8 +384,10 @@ static int stm32_crc_remove(struct platform_device *pdev) struct stm32_crc *crc = platform_get_drvdata(pdev); int ret = pm_runtime_get_sync(crc->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(crc->dev); return ret; + } spin_lock(&crc_list.lock); list_del(&crc->list);
pm_runtime_get_sync() will increment pm usage counter even it failed. Forgetting to call pm_runtime_put_noidle will result in reference leak in stm32_crc_remove, so we should fix it. Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com> --- drivers/crypto/stm32/stm32-crc32.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)