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 <liushix...@huawei.com>
> ---
>  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
>

Reply via email to