[PATCH v2] drm/amdgpu: fix overflowed array index read warning

Alex Deucher alexdeucher at gmail.com
Thu Apr 25 13:28:06 UTC 2024


On Thu, Apr 25, 2024 at 3:22 AM Tim Huang <tim.huang at amd.com> wrote:
>
> From: Tim Huang <Tim.Huang at amd.com>
>
> Clear warning that cast operation might have overflowed.
>
> v2: keep reverse xmas tree order to declare "int r;" (Christian)
>
> Signed-off-by: Tim Huang <Tim.Huang at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
> index 06f0a6534a94..8cf60acb2970 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
> @@ -473,8 +473,8 @@ static ssize_t amdgpu_debugfs_ring_read(struct file *f, char __user *buf,
>                                         size_t size, loff_t *pos)
>  {
>         struct amdgpu_ring *ring = file_inode(f)->i_private;
> -       int r, i;
>         uint32_t value, result, early[3];
> +       int r;
>
>         if (*pos & 3 || size & 3)
>                 return -EINVAL;
> @@ -485,7 +485,7 @@ static ssize_t amdgpu_debugfs_ring_read(struct file *f, char __user *buf,
>                 early[0] = amdgpu_ring_get_rptr(ring) & ring->buf_mask;
>                 early[1] = amdgpu_ring_get_wptr(ring) & ring->buf_mask;
>                 early[2] = ring->wptr & ring->buf_mask;
> -               for (i = *pos / 4; i < 3 && size; i++) {
> +               for (loff_t i = *pos / 4; i < 3 && size; i++) {

Some older compilers complain about declarations mixed with code like
this.  Not sure how big a deal that would be.

Alex

>                         r = put_user(early[i], (uint32_t *)buf);
>                         if (r)
>                                 return r;
> --
> 2.39.2
>


More information about the amd-gfx mailing list