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

From: Leon Romanovsky
Date: Thu Sep 17 2020 - 13:35:09 EST


On Thu, Sep 17, 2020 at 02:24:51PM -0300, Jason Gunthorpe wrote:
> On Thu, Sep 17, 2020 at 08:05:11PM +0300, Leon Romanovsky wrote:
> > On Thu, Sep 17, 2020 at 09:38:06AM -0300, Jason Gunthorpe wrote:
> > > On Thu, Sep 17, 2020 at 12:08:10PM +0300, Leon Romanovsky wrote:
> > > > 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>
> > >
> > > Needs a fixes line
> > >
> > > > > if (!cnts->names)
> > > > > return -ENOMEM;
> > > > >
> > > > > cnts->offsets = kcalloc(num_counters,
> > > > > - sizeof(cnts->offsets), GFP_KERNEL);
> > > > > + sizeof(*cnts->offsets), GFP_KERNEL);
> > > >
> > > > This is not.
> > >
> > > Why not?
> >
> > cnts->offsets is array of pointers that we will set later.
> > The "sizeof(*cnts->offsets)" will return the size of size_t, while we
> > need to get "size_t *".
>
> Then why isn't a pointer to size **?
>
> Something is rotten here

No problem, I'll check.

>
> Jason