On 3/1/26 13:49, Srinivasan Shanmugam wrote:
> Clang warns that comparing a __u16 value against 65536 is always false.
> 
> num_syncobj_handles is defined as __u16 in both the userq signal and
> wait ioctl argument structs, so it can never exceed 65535. The checks
> against AMDGPU_USERQ_MAX_HANDLES are therefore redundant and trigger
> -Wtautological-constant-out-of-range-compare.
> 
> Fixes: Clang -Wtautological-constant-out-of-range-compare in userq
> signal/wait ioctls
> 
> Fixes: 2a235bc2e28e ("drm/amdgpu: add upper bound check on user inputs in 
> signal ioctl")
> Fixes: 7d79dc596e6e ("drm/amdgpu: add upper bound check on user inputs in 
> wait ioctl")
> Cc: Alex Deucher <[email protected]>
> Cc: Christian König <[email protected]>
> Signed-off-by: Srinivasan Shanmugam <[email protected]>

Reviewed-by: Christian König <[email protected]>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c
> index 3c30512a6266..f90321fde665 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c
> @@ -480,8 +480,7 @@ int amdgpu_userq_signal_ioctl(struct drm_device *dev, 
> void *data,
>       if (!amdgpu_userq_enabled(dev))
>               return -ENOTSUPP;
>  
> -     if (args->num_syncobj_handles > AMDGPU_USERQ_MAX_HANDLES ||
> -         args->num_bo_write_handles > AMDGPU_USERQ_MAX_HANDLES ||
> +     if (args->num_bo_write_handles > AMDGPU_USERQ_MAX_HANDLES ||
>           args->num_bo_read_handles > AMDGPU_USERQ_MAX_HANDLES)
>               return -EINVAL;
>  
> @@ -636,8 +635,7 @@ int amdgpu_userq_wait_ioctl(struct drm_device *dev, void 
> *data,
>       if (!amdgpu_userq_enabled(dev))
>               return -ENOTSUPP;
>  
> -     if (wait_info->num_syncobj_handles > AMDGPU_USERQ_MAX_HANDLES ||
> -         wait_info->num_bo_write_handles > AMDGPU_USERQ_MAX_HANDLES ||
> +     if (wait_info->num_bo_write_handles > AMDGPU_USERQ_MAX_HANDLES ||
>           wait_info->num_bo_read_handles > AMDGPU_USERQ_MAX_HANDLES)
>               return -EINVAL;
>  

Reply via email to