From: Eric Anholt Date: Tue, 25 Jul 2017 18:27:16 +0000 (-0700) Subject: drm/vc4: Start using u64_to_user_ptr. X-Git-Tag: submit/tizen_4.0/20170911.105929~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9bd9e5486e6c7167cdf5290395121cb65c55a3c1;p=platform%2Fkernel%2Flinux-rpi3.git drm/vc4: Start using u64_to_user_ptr. Chris Wilson pointed out this little cleanup in a review of new code, so let's fix up the code I was copying from. Signed-off-by: Eric Anholt Link: https://patchwork.freedesktop.org/patch/msgid/20170725182718.31468-1-eric@anholt.net Reviewed-by: Daniel Vetter (cherry picked from commit 95d7cbcb6fbe3885d7a968cc86b98a08466742af) [inki.dae: apply from rpi3-4.9.y] Signed-off-by: Inki Dae Change-Id: Ie95aa6eebe152b453c3d6f5dd330c79af3b12353 --- diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c index 066e7009358c..7e90ea170299 100644 --- a/drivers/gpu/drm/vc4/vc4_gem.c +++ b/drivers/gpu/drm/vc4/vc4_gem.c @@ -118,7 +118,7 @@ vc4_get_hang_state_ioctl(struct drm_device *dev, void *data, bo_state[i].size = vc4_bo->base.base.size; } - if (copy_to_user((void __user *)(uintptr_t)get_state->bo, + if (copy_to_user(u64_to_user_ptr(get_state->bo), bo_state, state->bo_count * sizeof(*bo_state))) ret = -EFAULT; @@ -549,8 +549,7 @@ vc4_cl_lookup_bos(struct drm_device *dev, goto fail; } - if (copy_from_user(handles, - (void __user *)(uintptr_t)args->bo_handles, + if (copy_from_user(handles, u64_to_user_ptr(args->bo_handles), exec->bo_count * sizeof(uint32_t))) { ret = -EFAULT; DRM_ERROR("Failed to copy in GEM handles\n"); @@ -626,21 +625,21 @@ vc4_get_bcl(struct drm_device *dev, struct vc4_exec_info *exec) exec->shader_state_size = args->shader_rec_count; if (copy_from_user(bin, - (void __user *)(uintptr_t)args->bin_cl, + u64_to_user_ptr(args->bin_cl), args->bin_cl_size)) { ret = -EFAULT; goto fail; } if (copy_from_user(exec->shader_rec_u, - (void __user *)(uintptr_t)args->shader_rec, + u64_to_user_ptr(args->shader_rec), args->shader_rec_size)) { ret = -EFAULT; goto fail; } if (copy_from_user(exec->uniforms_u, - (void __user *)(uintptr_t)args->uniforms, + u64_to_user_ptr(args->uniforms), args->uniforms_size)) { ret = -EFAULT; goto fail;