media: v4l2-ioctl.c: don't copy back the result for -ENOTTY
authorHans Verkuil <hans.verkuil@cisco.com>
Wed, 14 Feb 2018 12:03:12 +0000 (13:03 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 3 Mar 2018 15:51:05 +0000 (15:51 +0000)
commit 181a4a2d5a0a7b43cab08a70710d727e7764ccdd upstream.

If the ioctl returned -ENOTTY, then don't bother copying
back the result as there is no point.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/media/video/v4l2-ioctl.c

index 639abee..bae5dd7 100644 (file)
@@ -2308,8 +2308,10 @@ video_usercopy(struct file *file, unsigned int cmd, unsigned long arg,
 
        /* Handles IOCTL */
        err = func(file, cmd, parg);
-       if (err == -ENOIOCTLCMD)
-               err = -EINVAL;
+       if (err == -ENOTTY || err == -ENOIOCTLCMD) {
+               err = -ENOTTY;
+               goto out;
+       }
 
        if (has_array_args) {
                *kernel_ptr = user_ptr;