Re: [Intel-gfx] [PATCH][next] drm/i915/pmu: fix sizeof on attr, should be *attr

From: Colin Ian King
Date: Fri Jan 12 2018 - 13:08:39 EST


On 12/01/18 17:48, Tvrtko Ursulin wrote:
>
> Hi,
>
> On 12/01/2018 17:36, Colin King wrote:
>> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>>
>> I believe the sizeof(attr) should be in fact sizeof(*attr), fortunately
>> the current code works because sizeof(struct attribute **) is the same
>> as sizeof(struct attribute *) for x86.
>
> Thanks, kbuild also reported it and I just pushed a fix.
>
> Out of curiosity, there are platforms where size of pointer is different
> from the size of a pointer to a pointer?

None that I know of.

>
> Regards,
>
> Tvrtko
>
>>
>> Detected by CoverityScan, CID#1463854 ("Sizeof not portable")
>>
>> Fixes: 109ec558370f ("drm/i915/pmu: Only enumerate available counters
>> in sysfs")
>> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>> ---
>> Â drivers/gpu/drm/i915/i915_pmu.c | 2 +-
>> Â 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_pmu.c
>> b/drivers/gpu/drm/i915/i915_pmu.c
>> index 95ab5e28f5be..9be4f5201e41 100644
>> --- a/drivers/gpu/drm/i915/i915_pmu.c
>> +++ b/drivers/gpu/drm/i915/i915_pmu.c
>> @@ -794,7 +794,7 @@ create_event_attributes(struct drm_i915_private
>> *i915)
>> ÂÂÂÂÂÂÂÂÂ goto err_alloc;
>> Â ÂÂÂÂÂ /* Max one pointer of each attribute type plus a termination
>> entry. */
>> -ÂÂÂ attr = kzalloc((count * 2 + 1) * sizeof(attr), GFP_KERNEL);
>> +ÂÂÂ attr = kzalloc((count * 2 + 1) * sizeof(*attr), GFP_KERNEL);
>> ÂÂÂÂÂ if (!attr)
>> ÂÂÂÂÂÂÂÂÂ goto err_alloc;
>> Â