[PATCH] soc: qcom: cmd-db: Fix memory leak in cmd_db_dev_probe error path

Haotian Zhang posted 1 patch 10 hours ago
drivers/soc/qcom/cmd-db.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] soc: qcom: cmd-db: Fix memory leak in cmd_db_dev_probe error path
Posted by Haotian Zhang 10 hours ago
If cmd_db_magic_matches() fails after memremap() succeeds, the function
returns -EINVAL without unmapping the memory region, causing a
potential resource leak.

Add memunmap() call and set cmd_db_header to NULL before returning error
to properly clean up the mapped memory region.

Fixes: 312416d9171a ("drivers: qcom: add command DB driver")
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
---
 drivers/soc/qcom/cmd-db.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/soc/qcom/cmd-db.c b/drivers/soc/qcom/cmd-db.c
index ae66c2623d25..50adf5249826 100644
--- a/drivers/soc/qcom/cmd-db.c
+++ b/drivers/soc/qcom/cmd-db.c
@@ -358,6 +358,8 @@ static int cmd_db_dev_probe(struct platform_device *pdev)
 
 	if (!cmd_db_magic_matches(cmd_db_header)) {
 		dev_err(&pdev->dev, "Invalid Command DB Magic\n");
+		memunmap(cmd_db_header);
+		cmd_db_header = NULL;
 		return -EINVAL;
 	}
 
-- 
2.50.1.windows.1