vmwgfx: return an -EFAULT if copy_to_user() fails
Subsystems (4)
PATCH 1/1 vmwgfx: return an -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. I fixed a couple of these last year, but I missed this one.
Signed-off-by Dan Carpenter <[email protected]>
---
I think there were only three copy_to/from_user() functions in this file and they're all fixed now.
drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c +2 -0
@@ -110,6 +110,8 @@ int vmw_get_cap_3d_ioctl(struct drm_device *dev, void *data,memcpy_fromio (bounce, &fifo_mem[SVGA_FIFO_3D_CAPS ], size); ret =copy_to_user (buffer, bounce, size); +if (ret) + ret = -EFAULT ;vfree (bounce);if (unlikely (ret !=0 ))
Quoted 14 lines · Dan Carpenter
copy_to_user()returns the number of bytes remaining to be copied, but we want to return a negative error code here. I fixed a couple of these last year, but I missed this one.Signed-off-by Dan Carpenter <[email protected]>---
I think there were only three copy_to/from_user() functions in this file and they're all fixed now.drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c +0
-0
drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c int vmw_get_cap_3d_ioctl(struct drm_device *dev, void *data, · line 117
Quoted 8 lines
drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c +2
-0@@ -110,6 +110,8 @@ int vmw_get_cap_3d_ioctl(struct drm_device *dev, void *data,memcpy_fromio (bounce, &fifo_mem[SVGA_FIFO_3D_CAPS ], size); ret =copy_to_user (buffer, bounce, size); +if (ret) + ret = -EFAULT ;vfree (bounce);if (unlikely (ret !=0 ))
Reviewed-by Thomas Hellstrom <[email protected]>