Re: [PATCH] phy: qcom: fix bug: application of sizeof to pointer

Bjorn Andersson
2021-12-07T15:27:32Z

On Tue 07 Dec 05:16 PST 2021, Guo Zhengkui wrote:

> Fix following coccicheck error:
> ./drivers/phy/qualcomm/phy-qcom-edp.c:574:31-37:
> ERROR: application of sizeof to pointer.
>
> Use sizeof(*data) instead.
>
> Signed-off-by: Guo Zhengkui <guozhengkui@vivo.com>
> ---
> drivers/phy/qualcomm/phy-qcom-edp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/phy/qualcomm/phy-qcom-edp.c b/drivers/phy/qualcomm/phy-qcom-edp.c
> index 17d5653b661d..5fe4eab9cac1 100644
> --- a/drivers/phy/qualcomm/phy-qcom-edp.c
> +++ b/drivers/phy/qualcomm/phy-qcom-edp.c
> @@ -571,7 +571,7 @@ static int qcom_edp_clks_register(struct qcom_edp *edp, struct device_node *np)
> struct clk_init_data init = { };
> int ret;
>
> - data = devm_kzalloc(edp->dev, sizeof(data), GFP_KERNEL);
> + data = devm_kzalloc(edp->dev, sizeof(*data), GFP_KERNEL);

Ouch, thanks for catching that!

But the clk_hw_onecell_data actually has a variable size array at the
end and as you can see further down I store 2 items in that array.

So that sizeof should be struct_size(data, hws, 2)

Would you be willing to update your patch with that?

And please add:
Fixes: f199223cb490 ("phy: qcom: Introduce new eDP PHY driver")

Regards,
Bjorn

> if (!data)
> return -ENOMEM;
>
> --
> 2.20.1