Message ID | 20231031103010.23792-1-hbh25y@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] ti: fix possible memory leak in _ti_omap4_clkctrl_setup() | expand |
On Tue, Oct 31, 2023 at 06:30:10PM +0800, Hangyu Hua wrote: > 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> > --- > > v2 and v3: fix commit info. I believe I gave you my Rb tag. It's your responsibility to care it on if you send a new version. Otherwise, please tell what makes you think that tag should not be here?
On 31/10/2023 18:42, Andy Shevchenko wrote: > On Tue, Oct 31, 2023 at 06:30:10PM +0800, Hangyu Hua wrote: >> 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> >> --- >> >> v2 and v3: fix commit info. > > I believe I gave you my Rb tag. It's your responsibility to care it on if you > send a new version. Otherwise, please tell what makes you think that tag should > not be here? Do you mean "Reviewed-by"? I checked the previous emails and "lore.kernel.org" and didn’t find this tag in any related emails. I am not sure what happened. Can you please resend it? Thanks, Hangyu >
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; }
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> --- v2 and v3: fix commit info. drivers/clk/ti/clkctrl.c | 1 + 1 file changed, 1 insertion(+)