aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_execbuffer.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_execbuffer.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 201947b4377c..8800f410b2d2 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -492,7 +492,7 @@ i915_gem_execbuffer_relocate_vma(struct i915_vma *vma,
492 struct drm_i915_gem_exec_object2 *entry = vma->exec_entry; 492 struct drm_i915_gem_exec_object2 *entry = vma->exec_entry;
493 int remain, ret; 493 int remain, ret;
494 494
495 user_relocs = to_user_ptr(entry->relocs_ptr); 495 user_relocs = u64_to_user_ptr(entry->relocs_ptr);
496 496
497 remain = entry->relocation_count; 497 remain = entry->relocation_count;
498 while (remain) { 498 while (remain) {
@@ -831,7 +831,7 @@ i915_gem_execbuffer_relocate_slow(struct drm_device *dev,
831 u64 invalid_offset = (u64)-1; 831 u64 invalid_offset = (u64)-1;
832 int j; 832 int j;
833 833
834 user_relocs = to_user_ptr(exec[i].relocs_ptr); 834 user_relocs = u64_to_user_ptr(exec[i].relocs_ptr);
835 835
836 if (copy_from_user(reloc+total, user_relocs, 836 if (copy_from_user(reloc+total, user_relocs,
837 exec[i].relocation_count * sizeof(*reloc))) { 837 exec[i].relocation_count * sizeof(*reloc))) {
@@ -975,7 +975,7 @@ validate_exec_list(struct drm_device *dev,
975 invalid_flags |= EXEC_OBJECT_NEEDS_GTT; 975 invalid_flags |= EXEC_OBJECT_NEEDS_GTT;
976 976
977 for (i = 0; i < count; i++) { 977 for (i = 0; i < count; i++) {
978 char __user *ptr = to_user_ptr(exec[i].relocs_ptr); 978 char __user *ptr = u64_to_user_ptr(exec[i].relocs_ptr);
979 int length; /* limited by fault_in_pages_readable() */ 979 int length; /* limited by fault_in_pages_readable() */
980 980
981 if (exec[i].flags & invalid_flags) 981 if (exec[i].flags & invalid_flags)
@@ -1633,7 +1633,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
1633 return -ENOMEM; 1633 return -ENOMEM;
1634 } 1634 }
1635 ret = copy_from_user(exec_list, 1635 ret = copy_from_user(exec_list,
1636 to_user_ptr(args->buffers_ptr), 1636 u64_to_user_ptr(args->buffers_ptr),
1637 sizeof(*exec_list) * args->buffer_count); 1637 sizeof(*exec_list) * args->buffer_count);
1638 if (ret != 0) { 1638 if (ret != 0) {
1639 DRM_DEBUG("copy %d exec entries failed %d\n", 1639 DRM_DEBUG("copy %d exec entries failed %d\n",
@@ -1669,7 +1669,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
1669 ret = i915_gem_do_execbuffer(dev, data, file, &exec2, exec2_list); 1669 ret = i915_gem_do_execbuffer(dev, data, file, &exec2, exec2_list);
1670 if (!ret) { 1670 if (!ret) {
1671 struct drm_i915_gem_exec_object __user *user_exec_list = 1671 struct drm_i915_gem_exec_object __user *user_exec_list =
1672 to_user_ptr(args->buffers_ptr); 1672 u64_to_user_ptr(args->buffers_ptr);
1673 1673
1674 /* Copy the new buffer offsets back to the user's exec list. */ 1674 /* Copy the new buffer offsets back to the user's exec list. */
1675 for (i = 0; i < args->buffer_count; i++) { 1675 for (i = 0; i < args->buffer_count; i++) {
@@ -1721,7 +1721,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
1721 return -ENOMEM; 1721 return -ENOMEM;
1722 } 1722 }
1723 ret = copy_from_user(exec2_list, 1723 ret = copy_from_user(exec2_list,
1724 to_user_ptr(args->buffers_ptr), 1724 u64_to_user_ptr(args->buffers_ptr),
1725 sizeof(*exec2_list) * args->buffer_count); 1725 sizeof(*exec2_list) * args->buffer_count);
1726 if (ret != 0) { 1726 if (ret != 0) {
1727 DRM_DEBUG("copy %d exec entries failed %d\n", 1727 DRM_DEBUG("copy %d exec entries failed %d\n",
@@ -1734,7 +1734,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
1734 if (!ret) { 1734 if (!ret) {
1735 /* Copy the new buffer offsets back to the user's exec list. */ 1735 /* Copy the new buffer offsets back to the user's exec list. */
1736 struct drm_i915_gem_exec_object2 __user *user_exec_list = 1736 struct drm_i915_gem_exec_object2 __user *user_exec_list =
1737 to_user_ptr(args->buffers_ptr); 1737 u64_to_user_ptr(args->buffers_ptr);
1738 int i; 1738 int i;
1739 1739
1740 for (i = 0; i < args->buffer_count; i++) { 1740 for (i = 0; i < args->buffer_count; i++) {