[PATCH 1/8] drm/amdgu: fix Unintentional integer overflow for mall size
Christian König
christian.koenig at amd.com
Thu May 30 14:09:08 UTC 2024
Am 30.05.24 um 05:46 schrieb Jesse Zhang:
> Potentially overflowing expression mall_size_per_umc * adev->gmc.num_umc with type unsigned int (32 bits, unsigned)
> is evaluated using 32-bit arithmetic,and then used in a context that expects an expression of type u64 (64 bits, unsigned).
Maybe better change the type of the local variable instead?
On the other hand feel free to add Reviewed-by: Christian König
<christian.koenig at amd.com> to this one as well.
Regards,
Christian.
>
> Signed-off-by: Jesse Zhang <Jesse.Zhang at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> index 98e8f30824c3..9e0cfe06c8b1 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> @@ -1639,7 +1639,7 @@ static int amdgpu_discovery_get_mall_info(struct amdgpu_device *adev)
> break;
> case 2:
> mall_size_per_umc = le32_to_cpu(mall_info->v2.mall_size_per_umc);
> - adev->gmc.mall_size = mall_size_per_umc * adev->gmc.num_umc;
> + adev->gmc.mall_size = (uint64_t)mall_size_per_umc * adev->gmc.num_umc;
> break;
> default:
> dev_err(adev->dev,
More information about the amd-gfx
mailing list