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

Liu Shixin
2020-09-18T03:23:25Z

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