diff mbox series

clk: clocking-wizard: Fix Oops in clk_wzrd_register_divider()

Message ID f0e39b5c-4554-41e0-80d9-54ca3fabd060@kili.mountain (mailing list archive)
State Accepted, archived
Headers show
Series clk: clocking-wizard: Fix Oops in clk_wzrd_register_divider() | expand

Commit Message

Dan Carpenter May 11, 2023, 5:01 p.m. UTC
Smatch detected this potential error pointer dereference
clk_wzrd_register_divider().  If devm_clk_hw_register() fails then
it sets "hw" to an error pointer and then dereferences it on the
next line.  Return the error directly instead.

Fixes: 5a853722eb32 ("staging: clocking-wizard: Add support for dynamic reconfiguration")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/clk/xilinx/clk-xlnx-clock-wizard.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Michal Simek May 12, 2023, 6:26 a.m. UTC | #1
On 5/11/23 19:01, Dan Carpenter wrote:
> Smatch detected this potential error pointer dereference
> clk_wzrd_register_divider().  If devm_clk_hw_register() fails then
> it sets "hw" to an error pointer and then dereferences it on the
> next line.  Return the error directly instead.
> 
> Fixes: 5a853722eb32 ("staging: clocking-wizard: Add support for dynamic reconfiguration")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>   drivers/clk/xilinx/clk-xlnx-clock-wizard.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/xilinx/clk-xlnx-clock-wizard.c b/drivers/clk/xilinx/clk-xlnx-clock-wizard.c
> index e83f104fad02..16df34f46280 100644
> --- a/drivers/clk/xilinx/clk-xlnx-clock-wizard.c
> +++ b/drivers/clk/xilinx/clk-xlnx-clock-wizard.c
> @@ -525,7 +525,7 @@ static struct clk *clk_wzrd_register_divider(struct device *dev,
>   	hw = &div->hw;
>   	ret = devm_clk_hw_register(dev, hw);
>   	if (ret)
> -		hw = ERR_PTR(ret);
> +		return ERR_PTR(ret);
>   
>   	return hw->clk;
>   }

Reviewed-by: Michal Simek <michal.simek@amd.com>

Thanks,
Michal
Stephen Boyd June 15, 2023, 12:22 a.m. UTC | #2
Quoting Dan Carpenter (2023-05-11 10:01:20)
> Smatch detected this potential error pointer dereference
> clk_wzrd_register_divider().  If devm_clk_hw_register() fails then
> it sets "hw" to an error pointer and then dereferences it on the
> next line.  Return the error directly instead.
> 
> Fixes: 5a853722eb32 ("staging: clocking-wizard: Add support for dynamic reconfiguration")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---

Applied to clk-next
diff mbox series

Patch

diff --git a/drivers/clk/xilinx/clk-xlnx-clock-wizard.c b/drivers/clk/xilinx/clk-xlnx-clock-wizard.c
index e83f104fad02..16df34f46280 100644
--- a/drivers/clk/xilinx/clk-xlnx-clock-wizard.c
+++ b/drivers/clk/xilinx/clk-xlnx-clock-wizard.c
@@ -525,7 +525,7 @@  static struct clk *clk_wzrd_register_divider(struct device *dev,
 	hw = &div->hw;
 	ret = devm_clk_hw_register(dev, hw);
 	if (ret)
-		hw = ERR_PTR(ret);
+		return ERR_PTR(ret);
 
 	return hw->clk;
 }