* [patch] i915: return -EFAULT if copy_to_user fails
@ 2010-06-19 13:12 Dan Carpenter
2010-06-23 17:03 ` Dan Carpenter
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Dan Carpenter @ 2010-06-19 13:12 UTC (permalink / raw)
To: David Airlie; +Cc: kernel-janitors, dri-devel
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 <error27@gmail.com>
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 59a2bf8..5fd876e 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -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);
^ permalink raw reply related [flat|nested] 6+ messages in thread* [patch] i915: return -EFAULT if copy_to_user fails
2010-06-19 13:12 [patch] i915: return -EFAULT if copy_to_user fails Dan Carpenter
@ 2010-06-23 17:03 ` Dan Carpenter
2010-08-23 11:24 ` Dan Carpenter
2010-08-23 11:36 ` Chris Wilson
2010-08-23 11:22 ` Dan Carpenter
2010-08-23 11:37 ` Chris Wilson
2 siblings, 2 replies; 6+ messages in thread
From: Dan Carpenter @ 2010-06-23 17:03 UTC (permalink / raw)
To: David Airlie; +Cc: Daniel Vetter, kernel-janitors, dri-devel, Dave Airlie
copy_to_user() returns the number of bytes remaining to be copied and
I'm pretty sure we want to return a negative error code here.
Signed-off-by: Dan Carpenter <error27@gmail.com>
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 9ded3da..22691b4 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3707,6 +3707,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
if (ret != 0) {
DRM_ERROR("copy %d cliprects failed: %d\n",
args->num_cliprects, ret);
+ ret = -EFAULT;
goto pre_mutex_err;
}
}
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [patch] i915: return -EFAULT if copy_to_user fails
2010-06-23 17:03 ` Dan Carpenter
@ 2010-08-23 11:24 ` Dan Carpenter
2010-08-23 11:36 ` Chris Wilson
1 sibling, 0 replies; 6+ messages in thread
From: Dan Carpenter @ 2010-08-23 11:24 UTC (permalink / raw)
To: David Airlie; +Cc: Daniel Vetter, kernel-janitors, dri-devel, Dave Airlie
On Wed, Jun 23, 2010 at 07:03:01PM +0200, Dan Carpenter wrote:
> copy_to_user() returns the number of bytes remaining to be copied and
> I'm pretty sure we want to return a negative error code here.
>
This patch wasn't applied either.
regards,
dan carpenter
> Signed-off-by: Dan Carpenter <error27@gmail.com>
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 9ded3da..22691b4 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -3707,6 +3707,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
> if (ret != 0) {
> DRM_ERROR("copy %d cliprects failed: %d\n",
> args->num_cliprects, ret);
> + ret = -EFAULT;
> goto pre_mutex_err;
> }
> }
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [patch] i915: return -EFAULT if copy_to_user fails
2010-06-23 17:03 ` Dan Carpenter
2010-08-23 11:24 ` Dan Carpenter
@ 2010-08-23 11:36 ` Chris Wilson
1 sibling, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2010-08-23 11:36 UTC (permalink / raw)
To: Dan Carpenter, David Airlie
Cc: Daniel Vetter, kernel-janitors, dri-devel, Dave Airlie
On Wed, 23 Jun 2010 19:03:01 +0200, Dan Carpenter <error27@gmail.com> wrote:
> copy_to_user() returns the number of bytes remaining to be copied and
> I'm pretty sure we want to return a negative error code here.
>
> Signed-off-by: Dan Carpenter <error27@gmail.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch] i915: return -EFAULT if copy_to_user fails
2010-06-19 13:12 [patch] i915: return -EFAULT if copy_to_user fails Dan Carpenter
2010-06-23 17:03 ` Dan Carpenter
@ 2010-08-23 11:22 ` Dan Carpenter
2010-08-23 11:37 ` Chris Wilson
2 siblings, 0 replies; 6+ messages in thread
From: Dan Carpenter @ 2010-08-23 11:22 UTC (permalink / raw)
To: David Airlie; +Cc: kernel-janitors, dri-devel
On Sat, Jun 19, 2010 at 03:12:51PM +0200, Dan Carpenter wrote:
> 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.
>
I didn't get a response on this patch.
regards,
dan carpenter
> Signed-off-by: Dan Carpenter <error27@gmail.com>
>
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index 59a2bf8..5fd876e 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -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);
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [patch] i915: return -EFAULT if copy_to_user fails
2010-06-19 13:12 [patch] i915: return -EFAULT if copy_to_user fails Dan Carpenter
2010-06-23 17:03 ` Dan Carpenter
2010-08-23 11:22 ` Dan Carpenter
@ 2010-08-23 11:37 ` Chris Wilson
2 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2010-08-23 11:37 UTC (permalink / raw)
To: Dan Carpenter, David Airlie; +Cc: dri-devel, kernel-janitors
On Sat, 19 Jun 2010 15:12:51 +0200, Dan Carpenter <error27@gmail.com> wrote:
> 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 <error27@gmail.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-08-23 11:37 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-19 13:12 [patch] i915: return -EFAULT if copy_to_user fails Dan Carpenter
2010-06-23 17:03 ` Dan Carpenter
2010-08-23 11:24 ` Dan Carpenter
2010-08-23 11:36 ` Chris Wilson
2010-08-23 11:22 ` Dan Carpenter
2010-08-23 11:37 ` Chris Wilson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox