Message ID | 20240401103808.617463-1-aaprelkov@usergate.com |
---|---|
State | New |
Headers | show |
Series | clk: s2mps11: Check of_clk_add_hw_provider() result | expand |
Le 01/04/2024 à 12:38, Aleksandr Aprelkov a écrit : > There is no check if error occurs in clock provider registration. > > Found by Linux Verification Center (linuxtesting.org) with SVACE. > > Fixes: b228fad50c00 ("clk: s2mps11: Migrate to clk_hw based OF and registration APIs") > Signed-off-by: Aleksandr Aprelkov <aaprelkov@usergate.com> > --- > drivers/clk/clk-s2mps11.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c > index 38c456540d1b..f9ce413b6c02 100644 > --- a/drivers/clk/clk-s2mps11.c > +++ b/drivers/clk/clk-s2mps11.c > @@ -187,8 +187,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) > } > > clk_data->num = S2MPS11_CLKS_NUM; > - of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get, > + ret = of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get, > clk_data); Hi, Nit: "clk_data);" is wrongly aligned now. CJ > + if (ret < 0) > + goto err_reg; > > platform_set_drvdata(pdev, s2mps11_clks); >
On 01/04/2024 12:38, Aleksandr Aprelkov wrote: > There is no check if error occurs in clock provider registration. No, instead explain why there should be a check. > > Found by Linux Verification Center (linuxtesting.org) with SVACE. > > Fixes: b228fad50c00 ("clk: s2mps11: Migrate to clk_hw based OF and registration APIs") > Signed-off-by: Aleksandr Aprelkov <aaprelkov@usergate.com> > --- > drivers/clk/clk-s2mps11.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c > index 38c456540d1b..f9ce413b6c02 100644 > --- a/drivers/clk/clk-s2mps11.c > +++ b/drivers/clk/clk-s2mps11.c > @@ -187,8 +187,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) > } > > clk_data->num = S2MPS11_CLKS_NUM; > - of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get, > + ret = of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get, > clk_data); > + if (ret < 0) > + goto err_reg; I really do not understand why you are doing this. This SVACE in the past was creating really fake reports and we were complaining multiple times that you should fix your tool. NAK for such explanation. Best regards, Krzysztof
diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c index 38c456540d1b..f9ce413b6c02 100644 --- a/drivers/clk/clk-s2mps11.c +++ b/drivers/clk/clk-s2mps11.c @@ -187,8 +187,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) } clk_data->num = S2MPS11_CLKS_NUM; - of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get, + ret = of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get, clk_data); + if (ret < 0) + goto err_reg; platform_set_drvdata(pdev, s2mps11_clks);
There is no check if error occurs in clock provider registration. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: b228fad50c00 ("clk: s2mps11: Migrate to clk_hw based OF and registration APIs") Signed-off-by: Aleksandr Aprelkov <aaprelkov@usergate.com> --- drivers/clk/clk-s2mps11.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)