media-device: copy_to/from_user() returns positive
Subsystems (2)
PATCH 1/1 media-device: copy_to/from_user() returns positive
The copy_to/from_user() functions return the number of bytes *not* copied. They don't return error codes.
Fixes 4f6b3f363475 ('media] media-device: add support for MEDIA_IOC_G_TOPOLOGY ioctl')
Signed-off-by Dan Carpenter <[email protected]>
drivers/media/media-device.c +5 -6
@@ -376,18 +376,17 @@ static long media_device_get_topology(struct media_device *mdev,struct media_v2_topology ktopo;int ret; - ret =copy_from_user (&ktopo, utopo,sizeof (ktopo)); - -if (ret <0 ) -return ret; +if (copy_from_user (&ktopo, utopo,sizeof (ktopo))) +return -EFAULT ; ret =__media_device_get_topology (mdev, &ktopo);if (ret <0 )return ret; - ret =copy_to_user (utopo, &ktopo,sizeof (*utopo)); +if (copy_to_user (utopo, &ktopo,sizeof (*utopo))) +return -EFAULT ; -return ret; +return 0 ; } static long media_device_ioctl(struct file *filp, unsigned int cmd,