2019-11-11 17:47:51

by Mikita Lipski

[permalink] [raw]
Subject: Re: [PATCH] drm/amd/display: Fix unsigned variable compared to less than zero


Thanks for catching it!

Reviewed-by: Mikita Lipski <[email protected]>


On 11.11.2019 12:25, Gustavo A. R. Silva wrote:
> Currenly, the error check below on variable*vcpi_slots* is always
> false because it is a uint64_t type variable, hence, the values
> this variable can hold are never less than zero:
>
> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c:
> 4870 if (dm_new_connector_state->vcpi_slots < 0) {
> 4871 DRM_DEBUG_ATOMIC("failed finding vcpi slots: %d\n", (int)dm_new_connector_stat e->vcpi_slots);
> 4872 return dm_new_connector_state->vcpi_slots;
> 4873 }
>
> Fix this by making*vcpi_slots* of int type
>
> Addresses-Coverity: 1487838 ("Unsigned compared against 0")
> Fixes: b4c578f08378 ("drm/amd/display: Add MST atomic routines")
> Signed-off-by: Gustavo A. R. Silva<[email protected]>
> ---
> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> index 6db07e9e33ab..a8fc90a927d6 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> @@ -403,7 +403,7 @@ struct dm_connector_state {
> bool underscan_enable;
> bool freesync_capable;
> uint8_t abm_level;
> - uint64_t vcpi_slots;
> + int vcpi_slots;
> uint64_t pbn;
> };
>
> -- 2.23.0

--
Thanks,
Mikita Lipski
Software Engineer, AMD
[email protected]


2019-11-11 19:30:59

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH] drm/amd/display: Fix unsigned variable compared to less than zero



On 11/11/19 11:46, Mikita Lipski wrote:
>
> Thanks for catching it!
>

Glad to help out. :)

> Reviewed-by: Mikita Lipski <[email protected]>
>

Thanks
--
Gustavo

>
> On 11.11.2019 12:25, Gustavo A. R. Silva wrote:
>> Currenly, the error check below on variable*vcpi_slots*  is always
>> false because it is a uint64_t type variable, hence, the values
>> this variable can hold are never less than zero:
>>
>> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c:
>> 4870         if (dm_new_connector_state->vcpi_slots < 0) {
>> 4871                 DRM_DEBUG_ATOMIC("failed finding vcpi slots: %d\n", (int)dm_new_connector_stat     e->vcpi_slots);
>> 4872                 return dm_new_connector_state->vcpi_slots;
>> 4873         }
>>
>> Fix this by making*vcpi_slots*  of int type
>>
>> Addresses-Coverity: 1487838 ("Unsigned compared against 0")
>> Fixes: b4c578f08378 ("drm/amd/display: Add MST atomic routines")
>> Signed-off-by: Gustavo A. R. Silva<[email protected]>
>> ---
>>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
>> index 6db07e9e33ab..a8fc90a927d6 100644
>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
>> @@ -403,7 +403,7 @@ struct dm_connector_state {
>>       bool underscan_enable;
>>       bool freesync_capable;
>>       uint8_t abm_level;
>> -    uint64_t vcpi_slots;
>> +    int vcpi_slots;
>>       uint64_t pbn;
>>   };
>>   -- 2.23.0
>

2019-11-11 22:43:17

by Alex Deucher

[permalink] [raw]
Subject: Re: [PATCH] drm/amd/display: Fix unsigned variable compared to less than zero

Applied. Thanks!

Alex

On Mon, Nov 11, 2019 at 2:44 PM Gustavo A. R. Silva
<[email protected]> wrote:
>
>
>
> On 11/11/19 11:46, Mikita Lipski wrote:
> >
> > Thanks for catching it!
> >
>
> Glad to help out. :)
>
> > Reviewed-by: Mikita Lipski <[email protected]>
> >
>
> Thanks
> --
> Gustavo
>
> >
> > On 11.11.2019 12:25, Gustavo A. R. Silva wrote:
> >> Currenly, the error check below on variable*vcpi_slots* is always
> >> false because it is a uint64_t type variable, hence, the values
> >> this variable can hold are never less than zero:
> >>
> >> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c:
> >> 4870 if (dm_new_connector_state->vcpi_slots < 0) {
> >> 4871 DRM_DEBUG_ATOMIC("failed finding vcpi slots: %d\n", (int)dm_new_connector_stat e->vcpi_slots);
> >> 4872 return dm_new_connector_state->vcpi_slots;
> >> 4873 }
> >>
> >> Fix this by making*vcpi_slots* of int type
> >>
> >> Addresses-Coverity: 1487838 ("Unsigned compared against 0")
> >> Fixes: b4c578f08378 ("drm/amd/display: Add MST atomic routines")
> >> Signed-off-by: Gustavo A. R. Silva<[email protected]>
> >> ---
> >> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> >> index 6db07e9e33ab..a8fc90a927d6 100644
> >> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> >> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> >> @@ -403,7 +403,7 @@ struct dm_connector_state {
> >> bool underscan_enable;
> >> bool freesync_capable;
> >> uint8_t abm_level;
> >> - uint64_t vcpi_slots;
> >> + int vcpi_slots;
> >> uint64_t pbn;
> >> };
> >> -- 2.23.0
> >
> _______________________________________________
> amd-gfx mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx