diff mbox series

[PATCH-next] Fix unintentional integer overflow

Message ID 20241003071431.328259-1-advaitdhamorikar@gmail.com (mailing list archive)
State New, archived
Headers show
Series [PATCH-next] Fix unintentional integer overflow | expand

Commit Message

Advait Dhamorikar Oct. 3, 2024, 7:14 a.m. UTC
Fix overflow issue by casting uint8_t to uint64_t in JPEG
instance multiplication.
The expression's value may not be what the programmer intended,
because the expression is evaluated using
a narrow (i.e. few bits) integer type.

Fixes: f0b19b84d391 ("drm/amdgpu: add amdgpu_jpeg_sched_mask debugfs")
Signed-off-by: Advait Dhamorikar <advaitdhamorikar@gmail.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sundararaju, Sathishkumar Oct. 3, 2024, 8:58 a.m. UTC | #1
On 10/3/2024 12:44 PM, Advait Dhamorikar wrote:
> Fix overflow issue by casting uint8_t to uint64_t in JPEG
> instance multiplication.
Thank you for the fix, u8 isn't the default it is usually treated as 
int, is it okay to mention "fix shift-count-overflow in.."

or something else of your choice , but not u8. And if possible, please 
align the end of commit description on all lines closer to each 
other(only where possible, else it is okay).

drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c:361:12: error: left shift count 
 >= width of type [-Werror=shift-count-overflow]
   361 |  mask = (1 << 32)  - 1;

Regards,

Sathish

> The expression's value may not be what the programmer intended,
> because the expression is evaluated using
> a narrow (i.e. few bits) integer type.
>
> Fixes: f0b19b84d391 ("drm/amdgpu: add amdgpu_jpeg_sched_mask debugfs")
> Signed-off-by: Advait Dhamorikar<advaitdhamorikar@gmail.com>
> ---
>   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..b6f0435f56ba 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
> @@ -357,7 +357,7 @@ static int amdgpu_debugfs_jpeg_sched_mask_set(void *data, u64 val)
>   	if (!adev)
>   		return -ENODEV;
>   
> -	mask = (1 << (adev->jpeg.num_jpeg_inst * adev->jpeg.num_jpeg_rings)) - 1;
> +	mask = ((uint64_t)1 << (adev->jpeg.num_jpeg_inst * adev->jpeg.num_jpeg_rings)) - 1;
>   	if ((val & mask) == 0)
>   		return -EINVAL;
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
index 95e2796919fc..b6f0435f56ba 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
@@ -357,7 +357,7 @@  static int amdgpu_debugfs_jpeg_sched_mask_set(void *data, u64 val)
 	if (!adev)
 		return -ENODEV;
 
-	mask = (1 << (adev->jpeg.num_jpeg_inst * adev->jpeg.num_jpeg_rings)) - 1;
+	mask = ((uint64_t)1 << (adev->jpeg.num_jpeg_inst * adev->jpeg.num_jpeg_rings)) - 1;
 	if ((val & mask) == 0)
 		return -EINVAL;