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;
>