[PATCH v2] clk: hisilicon: Improve deallocation in error path
From: J. Neuschäfer via B4 Relay
Date: Tue Mar 03 2026 - 10:26:17 EST
From: "J. Neuschäfer" <j.ne@xxxxxxxxxx>
Unmap 'base' if an error occurs after it has been mapped.
Reported-by: Tao Lan <taolan@xxxxxxxxxx>
Closes: https://lore.kernel.org/lkml/ZNlSH+eWV8Sk3FYn@probook/
Signed-off-by: J. Neuschäfer <j.ne@xxxxxxxxxx>
---
Changes in v2:
- Rebase on v7.0-rc2
- Update my email address
- Reword the commit message somewhat
- Link to v1: https://lore.kernel.org/r/20240708-hisi-error-v1-1-727bc7399b63@xxxxxxx
---
drivers/clk/hisilicon/clk.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/clk/hisilicon/clk.c b/drivers/clk/hisilicon/clk.c
index fae65127cd4aa8..08050ff1c8cf9a 100644
--- a/drivers/clk/hisilicon/clk.c
+++ b/drivers/clk/hisilicon/clk.c
@@ -70,7 +70,7 @@ struct hisi_clock_data *hisi_clk_init(struct device_node *np,
clk_data = kzalloc_obj(*clk_data);
if (!clk_data)
- goto err;
+ goto err_base;
clk_data->base = base;
clk_table = kzalloc_objs(*clk_table, nr_clks);
@@ -83,6 +83,8 @@ struct hisi_clock_data *hisi_clk_init(struct device_node *np,
return clk_data;
err_data:
kfree(clk_data);
+err_base:
+ iounmap(base);
err:
return NULL;
}
---
base-commit: 11439c4635edd669ae435eec308f4ab8a0804808
change-id: 20240329-hisi-error-c00ad7f8dd72
Best regards,
--
J. Neuschäfer <j.ne@xxxxxxxxxx>