clk: sunxi-ng: Check kzalloc() for errors and cleanup error path
Subsystems (2)
PATCH 1/1 clk: sunxi-ng: Check kzalloc() for errors and cleanup error path
This kzalloc() could fail. Let's bail out with -ENOMEM here instead of NULL dereferencing. That silences static checkers. We should also cleanup on the error path even though this function returning an error probably means the system won't boot.
---
The code looks suspiciously like the error handling was removed on purpose.
drivers/clk/sunxi-ng/ccu_common.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
drivers/clk/sunxi-ng/ccu_common.c +15 -0
@@ -75,6 +75,11 @@ int sunxi_ccu_probe(struct device_node *node, void __iomem *reg, goto err_clk_unreg; reset =kzalloc (sizeof (*reset),GFP_KERNEL ); +if (!reset) { + ret = -ENOMEM ; + goto err_alloc_reset; + } + reset->rcdev.of_node = node; reset->rcdev.ops = &ccu_reset_ops; reset->rcdev.owner =THIS_MODULE ;
@@ -90,6 +95,16 @@ int sunxi_ccu_probe(struct device_node *node, void __iomem *reg,return 0 ; err_of_clk_unreg: +kfree (reset); +err_alloc_reset: +of_clk_del_provider (node); err_clk_unreg: +while (--i >=0 ) { +struct clk_hw *hw = desc->hw_clks->hws[i]; + +if (!hw) +continue ; +clk_hw_unregister (hw); + }return ret; }
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Quoted 8 lines · Stephen Boyd
This
kzalloc()could fail. Let's bail out with-ENOMEMhere instead of NULL dereferencing. That silences static checkers. We should also cleanup on the error path even though this function returning an error probably means the system won't boot.Cc Chen-Yu Tsai <[email protected]>Cc Maxime Ripard <[email protected]>Signed-off-by Stephen Boyd <[email protected]>
Can you apply it directly?
Thanks,
Maxime
Signature · 3 lines
Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
Quoted 6 lines · Maxime Ripard
Quoted 5 lines · Stephen Boyd
This
kzalloc()could fail. Let's bail out with-ENOMEMhere instead of NULL dereferencing. That silences static checkers. We should also cleanup on the error path even though this function returning an error probably means the system won't boot.
Quoted 8 lines
Quoted 3 lines
Cc Chen-Yu Tsai <[email protected]>Cc Maxime Ripard <[email protected]>Signed-off-by Stephen Boyd <[email protected]>Acked-by Maxime Ripard <[email protected]>Can you apply it directly?
Yep. Thanks.
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project