Re: [PATCH-next] Fix unintentional integer overflow

From: Alex Deucher
Date: Fri Oct 04 2024 - 14:00:45 EST


On Fri, Oct 4, 2024 at 5:15 AM Sundararaju, Sathishkumar
<sasundar@xxxxxxx> wrote:
>
>
> All occurrences of this error fix should have been together in a single patch both in _get and _set callbacks corresponding to f0b19b84d391, please avoid separate patch for each occurrence.
>
> Sorry Alex, I missed to note this yesterday.

I've dropped the patch. Please pick it up once it's fixed up appropriately.

Thanks,

Alex

>
>
> Regards,
> Sathish
>
>
> On 10/4/2024 1:46 PM, Advait Dhamorikar wrote:
>
> Fix shift-count-overflow when creating mask.
> The expression's value may not be what the
> programmer intended, because the expression is
> evaluated using a narrower integer type.
>
> Fixes: f0b19b84d391 ("drm/amdgpu: add amdgpu_jpeg_sched_mask debugfs")
> Signed-off-by: Advait Dhamorikar <advaitdhamorikar@xxxxxxxxx>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
> index 95e2796919fc..7df402c45f40 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
> @@ -388,7 +388,7 @@ static int amdgpu_debugfs_jpeg_sched_mask_get(void *data, u64 *val)
> for (j = 0; j < adev->jpeg.num_jpeg_rings; ++j) {
> ring = &adev->jpeg.inst[i].ring_dec[j];
> if (ring->sched.ready)
> - mask |= 1 << ((i * adev->jpeg.num_jpeg_rings) + j);
> + mask |= (u64)1 << ((i * adev->jpeg.num_jpeg_rings) + j);
> }
> }
> *val = mask;