summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher2013-11-13 21:25:35 +0100
committerAlex Deucher2013-11-15 21:56:22 +0100
commit4cc948b94a222c310ae089c36718aac7a03aec90 (patch)
tree92c9765b93ee4e93b50eb4c4bd1b9f2497737b69
parentdrm/radeon: disable CIK CP semaphores for now (diff)
downloadkernel-qcow2-linux-4cc948b94a222c310ae089c36718aac7a03aec90.tar.gz
kernel-qcow2-linux-4cc948b94a222c310ae089c36718aac7a03aec90.tar.xz
kernel-qcow2-linux-4cc948b94a222c310ae089c36718aac7a03aec90.zip
drm/radeon/vm: don't attempt to update ptes if ib allocation fails
If we fail to allocate an indirect buffer (ib) when updating the ptes, return an error instead of trying to use the ib. Avoids a null pointer dereference. Bug: https://bugzilla.kernel.org/show_bug.cgi?id=58621 Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
-rw-r--r--drivers/gpu/drm/radeon/radeon_gart.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_gart.c b/drivers/gpu/drm/radeon/radeon_gart.c
index cd7489b4d709..3044e504f4ec 100644
--- a/drivers/gpu/drm/radeon/radeon_gart.c
+++ b/drivers/gpu/drm/radeon/radeon_gart.c
@@ -1209,6 +1209,8 @@ int radeon_vm_bo_update_pte(struct radeon_device *rdev,
return -ENOMEM;
r = radeon_ib_get(rdev, R600_RING_TYPE_DMA_INDEX, &ib, NULL, ndw * 4);
+ if (r)
+ return r;
ib.length_dw = 0;
r = radeon_vm_update_pdes(rdev, vm, &ib, bo_va->soffset, bo_va->eoffset);