[PATCH] drm/amdgpu: fix uninitialized scalar variable warning

Christian König christian.koenig at amd.com
Tue Apr 23 11:22:38 UTC 2024


The problem is that it's a hit all case and that's usually seen as bad 
coding style.

In other words when one branch by accident forgets to set the fw_size we 
wouldn't get a warning any more and just use zero.

Please rather add setting the fw_size to zero to the default branch and 
maybe even add a warning when that happens.

Regards,
Christian.

Am 23.04.24 um 10:01 schrieb Huang, Tim:
> [AMD Official Use Only - General]
>
> Hi Christian,
>
> -----Original Message-----
> From: Koenig, Christian <Christian.Koenig at amd.com>
> Sent: Tuesday, April 23, 2024 3:43 PM
> To: Huang, Tim <Tim.Huang at amd.com>; amd-gfx at lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Koenig, Christian <Christian.Koenig at amd.com>
> Subject: Re: [PATCH] drm/amdgpu: fix uninitialized scalar variable warning
>
> Am 23.04.24 um 08:28 schrieb Tim Huang:
>> Clear warning that uses uninitialized value fw_size.
>> In which case is the fw_size uninitialized and why setting it to zero helps in that case?
> It's a warning that reported by the Coverity scan.  When the switch case " switch (ucode_id) " got to default and Condition "adev->firmware.load_type == AMDGPU_FW_LOAD_PSP", taking true branch,
>   it reports " uses uninitialized value fw_size " by this line.
> "adev->firmware.fw_size += ALIGN(fw_size, PAGE_SIZE);“
>
> It may not happen if we call this function correctly, but it just clears the warning and looks harmless.
>
> Regards,
> Christian.
>
>> Signed-off-by: Tim Huang <Tim.Huang at amd.com>
>> ---
>>    drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 2 +-
>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
>> index d95555dc5485..6b8a58f501d3 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
>> @@ -1084,7 +1084,7 @@ void amdgpu_gfx_cp_init_microcode(struct amdgpu_device *adev,
>>        const struct gfx_firmware_header_v2_0 *cp_hdr_v2_0;
>>        struct amdgpu_firmware_info *info = NULL;
>>        const struct firmware *ucode_fw;
>> -     unsigned int fw_size;
>> +     unsigned int fw_size = 0;
>>
>>        switch (ucode_id) {
>>        case AMDGPU_UCODE_ID_CP_PFP:



More information about the amd-gfx mailing list