summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-11-13 15:25:35 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-04 10:57:30 -0800
commit7c5f3874d9d697f9e21acbdd8be9e65af6f5a880 (patch)
tree40432ae86f6361dbf9ebd55be89a5b3f55d0d1be /drivers
parenta6647e9e4bdd231a008a12302d008a6cd81596bf (diff)
downloadlinux-3.10-7c5f3874d9d697f9e21acbdd8be9e65af6f5a880.tar.gz
linux-3.10-7c5f3874d9d697f9e21acbdd8be9e65af6f5a880.tar.bz2
linux-3.10-7c5f3874d9d697f9e21acbdd8be9e65af6f5a880.zip
drm/radeon/vm: don't attempt to update ptes if ib allocation fails
commit 4cc948b94a222c310ae089c36718aac7a03aec90 upstream. 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 v2 (chk): rebased on drm-fixes-3.12 for stable inclusion Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-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 5ce190b8bd1..2915a1c5693 100644
--- a/drivers/gpu/drm/radeon/radeon_gart.c
+++ b/drivers/gpu/drm/radeon/radeon_gart.c
@@ -1157,6 +1157,8 @@ int radeon_vm_bo_update_pte(struct radeon_device *rdev,
return -ENOMEM;
r = radeon_ib_get(rdev, ridx, &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);