lkml.org 
[lkml]   [2022]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.18 18/93] drm/radeon: integer overflow in radeon_mode_dumb_create()
    Date
    From: Xiaohui Zhang <xiaohuizhang@ruc.edu.cn>

    [ Upstream commit feb54650bae25f2a2adfc493e3e254e7c27a3fba ]

    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@ruc.edu.cn>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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 f563284a7fac..6c9cc0061a8d 100644
    --- a/drivers/gpu/drm/radeon/radeon_gem.c
    +++ b/drivers/gpu/drm/radeon/radeon_gem.c
    @@ -830,7 +830,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.35.1
    \
     
     \ /
      Last update: 2022-08-11 17:54    [W:4.209 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site