Re: [PATCH -next] RDMA/mlx5: fix type warning of sizeof in __mlx5_ib_alloc_counters()

From: Leon Romanovsky
Date: Thu Sep 17 2020 - 05:08:22 EST


On Thu, Sep 17, 2020 at 05:10:08PM +0800, Liu Shixin wrote:
> sizeof() when applied to a pointer typed expression should give the
> size of the pointed data, even if the data is a pointer.
>
> Signed-off-by: Liu Shixin <liushixin2@xxxxxxxxxx>
> ---
> drivers/infiniband/hw/mlx5/counters.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/infiniband/hw/mlx5/counters.c b/drivers/infiniband/hw/mlx5/counters.c
> index 145f3cb40ccb..aeeb14ecb3ee 100644
> --- a/drivers/infiniband/hw/mlx5/counters.c
> +++ b/drivers/infiniband/hw/mlx5/counters.c
> @@ -456,12 +456,12 @@ static int __mlx5_ib_alloc_counters(struct mlx5_ib_dev *dev,
> cnts->num_ext_ppcnt_counters = ARRAY_SIZE(ext_ppcnt_cnts);
> num_counters += ARRAY_SIZE(ext_ppcnt_cnts);
> }
> - cnts->names = kcalloc(num_counters, sizeof(cnts->names), GFP_KERNEL);
> + cnts->names = kcalloc(num_counters, sizeof(*cnts->names), GFP_KERNEL);

This change is correct.

> if (!cnts->names)
> return -ENOMEM;
>
> cnts->offsets = kcalloc(num_counters,
> - sizeof(cnts->offsets), GFP_KERNEL);
> + sizeof(*cnts->offsets), GFP_KERNEL);

This is not.


> if (!cnts->offsets)
> goto err_names;
>
> --
> 2.25.1
>