drivers/clk/ti/clkctrl.c | 1 + 1 file changed, 1 insertion(+)
kstrndup and kstrdup_and_replace in clkctrl_get_name can perform
dynamic memory allocation. So clkctrl_name needs to be freed when
provider->clkdm_name is NULL.
Fixes: bd46cd0b802d ("clk: ti: clkctrl: check return value of kasprintf()")
Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
---
drivers/clk/ti/clkctrl.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/ti/clkctrl.c b/drivers/clk/ti/clkctrl.c
index 607e34d8e289..cb4aa8a45bb2 100644
--- a/drivers/clk/ti/clkctrl.c
+++ b/drivers/clk/ti/clkctrl.c
@@ -591,6 +591,7 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node)
provider->clkdm_name = kasprintf(GFP_KERNEL,
"%s_clkdm", clkctrl_name);
if (!provider->clkdm_name) {
+ kfree(clkctrl_name);
kfree(provider);
return;
}
--
2.34.1
On Wed, Oct 25, 2023 at 05:07:41PM +0800, Hangyu Hua wrote: > kstrndup and kstrdup_and_replace in clkctrl_get_name can perform kstrndup() kstrdup_and_replace() clkctrl_get_name() > dynamic memory allocation. So clkctrl_name needs to be freed when > provider->clkdm_name is NULL. -- With Best Regards, Andy Shevchenko
On 26/10/2023 20:18, Andy Shevchenko wrote: > On Wed, Oct 25, 2023 at 05:07:41PM +0800, Hangyu Hua wrote: >> kstrndup and kstrdup_and_replace in clkctrl_get_name can perform > > kstrndup() > kstrdup_and_replace() > clkctrl_get_name() > I see. I will send a v2 later. Thanks, Hangyu >> dynamic memory allocation. So clkctrl_name needs to be freed when >> provider->clkdm_name is NULL. >
© 2016 - 2025 Red Hat, Inc.