diff mbox series

[-next] firmware: imx: scu: Fix possible memory leak in imx_scu_probe()

Message ID 20200506051410.27219-1-weiyongjun1@huawei.com (mailing list archive)
State Mainlined
Commit 89f12d6509bff004852c51cb713a439a86816b24
Headers show
Series [-next] firmware: imx: scu: Fix possible memory leak in imx_scu_probe() | expand

Commit Message

Wei Yongjun May 6, 2020, 5:14 a.m. UTC
'chan_name' is malloced in imx_scu_probe() and should be freed
before leaving from the error handling cases, otherwise it will
cause memory leak.

Fixes: edbee095fafb ("firmware: imx: add SCU firmware driver support")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/firmware/imx/imx-scu.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Dong Aisheng May 6, 2020, 11:02 a.m. UTC | #1
> From: Wei Yongjun <weiyongjun1@huawei.com>
> Sent: Wednesday, May 6, 2020 1:14 PM
> 
> 'chan_name' is malloced in imx_scu_probe() and should be freed before leaving
> from the error handling cases, otherwise it will cause memory leak.
> 
> Fixes: edbee095fafb ("firmware: imx: add SCU firmware driver support")
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>

Thanks for the fix.
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>

Regards
Aisheng
Shawn Guo May 20, 2020, 1:15 a.m. UTC | #2
On Wed, May 06, 2020 at 05:14:10AM +0000, Wei Yongjun wrote:
> 'chan_name' is malloced in imx_scu_probe() and should be freed
> before leaving from the error handling cases, otherwise it will
> cause memory leak.
> 
> Fixes: edbee095fafb ("firmware: imx: add SCU firmware driver support")
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>

Applied, thanks.
diff mbox series

Patch

diff --git a/drivers/firmware/imx/imx-scu.c b/drivers/firmware/imx/imx-scu.c
index b3da2e193ad2..176ddd151375 100644
--- a/drivers/firmware/imx/imx-scu.c
+++ b/drivers/firmware/imx/imx-scu.c
@@ -314,6 +314,7 @@  static int imx_scu_probe(struct platform_device *pdev)
 			if (ret != -EPROBE_DEFER)
 				dev_err(dev, "Failed to request mbox chan %s ret %d\n",
 					chan_name, ret);
+			kfree(chan_name);
 			return ret;
 		}