2021-08-20 02:23:58

by CGEL

[permalink] [raw]
Subject: [PATCH linux-next] clk/keystone: fix application of sizeof to pointer

sizeof when applied to a pointer typed expression gives the size of
the pointer.

./drivers/clk/keystone/sci-clk.c:398:8-14: ERROR application of sizeof to pointer

This issue was detected with the help of Coccinelle.

Reported-by: Zeal Robot <[email protected]>
Signed-off-by: jing yangyang <[email protected]>
---
drivers/clk/keystone/sci-clk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/keystone/sci-clk.c b/drivers/clk/keystone/sci-clk.c
index 7e1b136..010a61a 100644
--- a/drivers/clk/keystone/sci-clk.c
+++ b/drivers/clk/keystone/sci-clk.c
@@ -395,7 +395,7 @@ static struct clk_hw *sci_clk_get(struct of_phandle_args *clkspec, void *data)
key.clk_id = clkspec->args[1];

clk = bsearch(&key, provider->clocks, provider->num_clocks,
- sizeof(clk), _cmp_sci_clk);
+ sizeof(*clk), _cmp_sci_clk);

if (!clk)
return ERR_PTR(-ENODEV);
--
1.8.3.1



2021-08-20 17:51:27

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH linux-next] clk/keystone: fix application of sizeof to pointer

On 19:20-20210819, jing yangyang wrote:
> sizeof when applied to a pointer typed expression gives the size of
> the pointer.
>
> ./drivers/clk/keystone/sci-clk.c:398:8-14: ERROR application of sizeof to pointer
>
> This issue was detected with the help of Coccinelle.
>
> Reported-by: Zeal Robot <[email protected]>
> Signed-off-by: jing yangyang <[email protected]>
> ---
> drivers/clk/keystone/sci-clk.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/keystone/sci-clk.c b/drivers/clk/keystone/sci-clk.c
> index 7e1b136..010a61a 100644
> --- a/drivers/clk/keystone/sci-clk.c
> +++ b/drivers/clk/keystone/sci-clk.c
> @@ -395,7 +395,7 @@ static struct clk_hw *sci_clk_get(struct of_phandle_args *clkspec, void *data)
> key.clk_id = clkspec->args[1];
>
> clk = bsearch(&key, provider->clocks, provider->num_clocks,
> - sizeof(clk), _cmp_sci_clk);
> + sizeof(*clk), _cmp_sci_clk);

I am trying to understand this.. bsearch uses base + size to do
iteration, provider is sci_clk_provider ->num_clocks is struct sci_clk
** same as clk. iteration is done on provider->clocks .. not on *clk,
am I missing something? or is it one of those testing patches?

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D