clk: ti: clkctrl: check return value of kasprintf()
[ Upstream commitbd46cd0b80] kasprintf() returns a pointer to dynamically allocated memory. Pointer could be NULL in case allocation fails. Check pointer validity. Identified with coccinelle (kmerr.cocci script). Fixes:852049594b("clk: ti: clkctrl: convert subclocks to use proper names also") Fixes:6c30905205("clk: ti: clkctrl: Fix hidden dependency to node name") Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com> Link: https://lore.kernel.org/r/20230530093913.1656095-8-claudiu.beznea@microchip.com Reviewed-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
fd9324fa4d
commit
5f149d0538
@@ -267,6 +267,9 @@ static const char * __init clkctrl_get_clock_name(struct device_node *np,
|
|||||||
if (clkctrl_name && !legacy_naming) {
|
if (clkctrl_name && !legacy_naming) {
|
||||||
clock_name = kasprintf(GFP_KERNEL, "%s-clkctrl:%04x:%d",
|
clock_name = kasprintf(GFP_KERNEL, "%s-clkctrl:%04x:%d",
|
||||||
clkctrl_name, offset, index);
|
clkctrl_name, offset, index);
|
||||||
|
if (!clock_name)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
strreplace(clock_name, '_', '-');
|
strreplace(clock_name, '_', '-');
|
||||||
|
|
||||||
return clock_name;
|
return clock_name;
|
||||||
@@ -598,6 +601,10 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node)
|
|||||||
if (clkctrl_name) {
|
if (clkctrl_name) {
|
||||||
provider->clkdm_name = kasprintf(GFP_KERNEL,
|
provider->clkdm_name = kasprintf(GFP_KERNEL,
|
||||||
"%s_clkdm", clkctrl_name);
|
"%s_clkdm", clkctrl_name);
|
||||||
|
if (!provider->clkdm_name) {
|
||||||
|
kfree(provider);
|
||||||
|
return;
|
||||||
|
}
|
||||||
goto clkdm_found;
|
goto clkdm_found;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user