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 >