Re: [PATCH v2 1/3] drm/vc4: Start using u64_to_user_ptr.
From: Daniel Vetter
Date: Wed Jul 26 2017 - 07:28:22 EST
On Tue, Jul 25, 2017 at 11:27:16AM -0700, Eric Anholt wrote:
> 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 <eric@xxxxxxxxxx>
Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
> ---
> drivers/gpu/drm/vc4/vc4_gem.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
> index d5b821ad06af..595f93f57821 100644
> --- a/drivers/gpu/drm/vc4/vc4_gem.c
> +++ b/drivers/gpu/drm/vc4/vc4_gem.c
> @@ -119,7 +119,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;
> @@ -678,8 +678,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");
> @@ -755,21 +754,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;
> --
> 2.11.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch