On 2020/9/18 1:33, Leon Romanovsky wrote: > 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. I think cnts->offsets is an array pointer whose element is size_t rathen than pointer, so the patch description does not correspond. And I think it should be modified to sizeof(*cnts->offsets) with other description. > >> Jason > . >