summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2015-04-27 17:04:35 +0200
committerSasha Levin <sasha.levin@oracle.com>2015-07-03 12:34:21 -0400
commit268c4693e3431ad7dd25ef8e50742cbfb1badd73 (patch)
tree9f02b2eceb49c1555009ae16b4585a943e3f86dc /drivers/gpu
parent92e022e63b29ec2564e3a5c2a6294bb3389f8c72 (diff)
downloadlwn-268c4693e3431ad7dd25ef8e50742cbfb1badd73.tar.gz
lwn-268c4693e3431ad7dd25ef8e50742cbfb1badd73.zip
drm/radeon: reset BOs address after clearing it.
[ Upstream commit 48afbd70ac7b6aa62e8d452091023941d8085f8a ] Otherwise it is possible that we will have page table corruption if we change a BOs address multiple times. Signed-off-by: Christian König <christian.koenig@amd.com> CC: stable@vger.kernel.org Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/radeon/radeon_vm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c
index b0c4958a3993..190eb5bee4eb 100644
--- a/drivers/gpu/drm/radeon/radeon_vm.c
+++ b/drivers/gpu/drm/radeon/radeon_vm.c
@@ -513,6 +513,8 @@ int radeon_vm_bo_set_addr(struct radeon_device *rdev,
tmp->addr = bo_va->addr;
tmp->bo = radeon_bo_ref(bo_va->bo);
list_add(&tmp->vm_status, &vm->freed);
+
+ bo_va->addr = 0;
}
interval_tree_remove(&bo_va->it, &vm->va);