[PATCH 1/1] drm/radeon: integer overflow in radeon_mode_dumb_create()

Alex Deucher alexdeucher at gmail.com
Tue Jun 7 18:33:35 UTC 2022


Applied.  Thanks!

Alex

On Tue, Jun 7, 2022 at 12:05 PM Xiaohui Zhang <xiaohuizhang at ruc.edu.cn> wrote:
>
> Similar to the handling of amdgpu_mode_dumb_create in commit 54ef0b5461c0
> ("drm/amdgpu: integer overflow in amdgpu_mode_dumb_create()"),
> we thought a patch might be needed here as well.
>
> args->size is a u64.  arg->pitch and args->height are u32.  The
> multiplication will overflow instead of using the high 32 bits as
> intended.
>
> Signed-off-by: Xiaohui Zhang <xiaohuizhang at ruc.edu.cn>
> ---
>  drivers/gpu/drm/radeon/radeon_gem.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_gem.c b/drivers/gpu/drm/radeon/radeon_gem.c
> index 8c01a7f0e027..84843b3b3aef 100644
> --- a/drivers/gpu/drm/radeon/radeon_gem.c
> +++ b/drivers/gpu/drm/radeon/radeon_gem.c
> @@ -833,7 +833,7 @@ int radeon_mode_dumb_create(struct drm_file *file_priv,
>
>         args->pitch = radeon_align_pitch(rdev, args->width,
>                                          DIV_ROUND_UP(args->bpp, 8), 0);
> -       args->size = args->pitch * args->height;
> +       args->size = (u64)args->pitch * args->height;
>         args->size = ALIGN(args->size, PAGE_SIZE);
>
>         r = radeon_gem_object_create(rdev, args->size, 0,
> --
> 2.17.1
>


More information about the amd-gfx mailing list