Re: [PATCH-next] Fix unintentional integer overflow

From: Sundararaju, Sathishkumar
Date: Fri Oct 04 2024 - 23:35:08 EST




On 10/4/2024 11:30 PM, Alex Deucher wrote:
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.

Hi Advait,
Please collate the changes together with Lijo's suggestion as well, "1ULL <<" instead of typecast, there are 3 occurrences of the error in f0b19b84d391.

Regards,
Sathish

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;