summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon
diff options
context:
space:
mode:
authorYoung Xiao <YangX92@hotmail.com>2018-11-27 11:50:17 +0000
committerAlex Deucher <alexander.deucher@amd.com>2018-11-28 15:55:37 -0500
commitb3f4bdda998be6018b76f46b852313ae74db5606 (patch)
tree16caed96b72ab97dcc4ad8d097a7b0a26e02ab50 /drivers/gpu/drm/radeon
parentce99814973ac8bd94e371a65c023efc4703af6f6 (diff)
downloadlinux-b3f4bdda998be6018b76f46b852313ae74db5606.tar.bz2
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 <christian.koenig@amd.com> Signed-off-by: Young Xiao <YangX92@hotmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon')
-rw-r--r--drivers/gpu/drm/radeon/radeon_vm.c2
1 files changed, 1 insertions, 1 deletions
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;
}