i915: return -EFAULT if copy_to_user fails
Subsystems (3)
PATCH 1/1 i915: return -EFAULT if copy_to_user fails
copy_to_user returns the number of bytes remaining to be copied, but we want to return a negative error code here. These are returned to userspace.
Signed-off-by Dan Carpenter <[email protected]>
drivers/gpu/drm/i915/i915_dma.c +9 -3
@@ -608,8 +608,10 @@ static int i915_batchbuffer(struct drm_device *dev, void *data, ret =copy_from_user (cliprects, batch->cliprects, batch->num_cliprects *sizeof (struct drm_clip_rect )); -if (ret !=0 ) +if (ret !=0 ) { + ret = -EFAULT ; goto fail_free; + } }mutex_lock (&dev->struct_mutex);
@@ -650,8 +652,10 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data,return -ENOMEM ; ret =copy_from_user (batch_data, cmdbuf->buf, cmdbuf->sz); -if (ret !=0 ) +if (ret !=0 ) { + ret = -EFAULT ; goto fail_batch_free; + }if (cmdbuf->num_cliprects) { cliprects = kcalloc(cmdbuf->num_cliprects,
@@ -664,8 +668,10 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data, ret =copy_from_user (cliprects, cmdbuf->cliprects, cmdbuf->num_cliprects *sizeof (struct drm_clip_rect )); -if (ret !=0 ) +if (ret !=0 ) { + ret = -EFAULT ; goto fail_clip_free; + } }mutex_lock (&dev->struct_mutex);
Quoted 4 lines · Dan Carpenter
copy_to_userreturns the number of bytes remaining to be copied, but we want to return a negative error code here. These are returned to userspace.
I didn't get a response on this patch.
regards,
dan carpenter
Quoted 42 lines
Signed-off-by Dan Carpenter <[email protected]>drivers/gpu/drm/i915/i915_dma.c +9
-3@@ -608,8 +608,10 @@ static int i915_batchbuffer(struct drm_device *dev, void *data, ret =copy_from_user (cliprects, batch->cliprects, batch->num_cliprects *sizeof (struct drm_clip_rect )); -if (ret !=0 ) +if (ret !=0 ) { + ret = -EFAULT ; goto fail_free; + } }mutex_lock (&dev->struct_mutex);@@ -650,8 +652,10 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data,return -ENOMEM ; ret =copy_from_user (batch_data, cmdbuf->buf, cmdbuf->sz); -if (ret !=0 ) +if (ret !=0 ) { + ret = -EFAULT ; goto fail_batch_free; + }if (cmdbuf->num_cliprects) { cliprects = kcalloc(cmdbuf->num_cliprects,@@ -664,8 +668,10 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data, ret =copy_from_user (cliprects, cmdbuf->cliprects, cmdbuf->num_cliprects *sizeof (struct drm_clip_rect )); -if (ret !=0 ) +if (ret !=0 ) { + ret = -EFAULT ; goto fail_clip_free; + } }mutex_lock (&dev->struct_mutex);
Quoted 5 lines · Dan Carpenter
copy_to_userreturns the number of bytes remaining to be copied, but we want to return a negative error code here. These are returned to userspace.Signed-off-by Dan Carpenter <[email protected]>
Reviewed-by Chris Wilson <[email protected]>
Signature · 1 line
Chris Wilson, Intel Open Source Technology Centre