[v2,1/3] drm/vc4: Start using u64_to_user_ptr.
diff mbox

Message ID 20170725182718.31468-1-eric@anholt.net
State New
Headers show

Commit Message

Eric Anholt July 25, 2017, 6:27 p.m. UTC
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@anholt.net>
---
 drivers/gpu/drm/vc4/vc4_gem.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

Comments

Daniel Vetter July 26, 2017, 11:28 a.m. UTC | #1
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@anholt.net>

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> ---
>  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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Eric Anholt July 29, 2017, 12:51 a.m. UTC | #2
Daniel Vetter <daniel@ffwll.ch> writes:

> 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@anholt.net>
>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Thanks!  With Chris's review of 2/3, I've pushed to drm-misc-next.

Patch
diff mbox

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;