drm/i915: Drop the misleading cast to the wrong user pointer type
The exec_list is of type drm_i915_gem_exec_object2 and so casting it to a drm_i915_gem_relocation_entry is very confusing! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
d627b62ff8
commit
ba7a64587b
@ -1102,8 +1102,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
ret = copy_from_user(exec_list,
|
ret = copy_from_user(exec_list,
|
||||||
(struct drm_i915_relocation_entry __user *)
|
(void __user *)(uintptr_t)args->buffers_ptr,
|
||||||
(uintptr_t) args->buffers_ptr,
|
|
||||||
sizeof(*exec_list) * args->buffer_count);
|
sizeof(*exec_list) * args->buffer_count);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
DRM_DEBUG("copy %d exec entries failed %d\n",
|
DRM_DEBUG("copy %d exec entries failed %d\n",
|
||||||
@ -1142,8 +1141,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
|
|||||||
for (i = 0; i < args->buffer_count; i++)
|
for (i = 0; i < args->buffer_count; i++)
|
||||||
exec_list[i].offset = exec2_list[i].offset;
|
exec_list[i].offset = exec2_list[i].offset;
|
||||||
/* ... and back out to userspace */
|
/* ... and back out to userspace */
|
||||||
ret = copy_to_user((struct drm_i915_relocation_entry __user *)
|
ret = copy_to_user((void __user *)(uintptr_t)args->buffers_ptr,
|
||||||
(uintptr_t) args->buffers_ptr,
|
|
||||||
exec_list,
|
exec_list,
|
||||||
sizeof(*exec_list) * args->buffer_count);
|
sizeof(*exec_list) * args->buffer_count);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
@ -1197,8 +1195,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
|
|||||||
ret = i915_gem_do_execbuffer(dev, data, file, args, exec2_list);
|
ret = i915_gem_do_execbuffer(dev, data, file, args, exec2_list);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
/* Copy the new buffer offsets back to the user's exec list. */
|
/* Copy the new buffer offsets back to the user's exec list. */
|
||||||
ret = copy_to_user((struct drm_i915_relocation_entry __user *)
|
ret = copy_to_user((void __user *)(uintptr_t)args->buffers_ptr,
|
||||||
(uintptr_t) args->buffers_ptr,
|
|
||||||
exec2_list,
|
exec2_list,
|
||||||
sizeof(*exec2_list) * args->buffer_count);
|
sizeof(*exec2_list) * args->buffer_count);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
Loading…
Reference in New Issue
Block a user