aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/i915_gem_execbuffer.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 934396c5f048..ea963c32772d 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -747,7 +747,11 @@ validate_exec_list(struct drm_i915_gem_exec_object2 *exec,
747 747
748 length = exec[i].relocation_count * 748 length = exec[i].relocation_count *
749 sizeof(struct drm_i915_gem_relocation_entry); 749 sizeof(struct drm_i915_gem_relocation_entry);
750 /* we may also need to update the presumed offsets */ 750 /*
751 * We must check that the entire relocation array is safe
752 * to read, but since we may need to update the presumed
753 * offsets during execution, check for full write access.
754 */
751 if (!access_ok(VERIFY_WRITE, ptr, length)) 755 if (!access_ok(VERIFY_WRITE, ptr, length))
752 return -EFAULT; 756 return -EFAULT;
753 757