From: Young Xiao Date: Tue, 27 Nov 2018 11:50:17 +0000 (+0000) Subject: drm: radeon: fix overflow on 32bit systems X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b3f4bdda998be6018b76f46b852313ae74db5606;p=openwrt%2Fstaging%2Fblogic.git drm: radeon: fix overflow on 32bit systems the type mem->start is unsigned long, so this can overflow on 32bit system, since the type addr is uint64_t. Reviewed-by: Christian König Signed-off-by: Young Xiao Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c index fed11ece0de6..a3d2ca07a058 100644 --- a/drivers/gpu/drm/radeon/radeon_vm.c +++ b/drivers/gpu/drm/radeon/radeon_vm.c @@ -946,7 +946,7 @@ int radeon_vm_bo_update(struct radeon_device *rdev, bo_va->flags &= ~RADEON_VM_PAGE_WRITEABLE; if (mem) { - addr = mem->start << PAGE_SHIFT; + addr = (u64)mem->start << PAGE_SHIFT; if (mem->mem_type != TTM_PL_SYSTEM) { bo_va->flags |= RADEON_VM_PAGE_VALID; }