media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors
authorHans Verkuil <hans.verkuil@cisco.com>
Fri, 26 Jan 2018 08:24:53 +0000 (03:24 -0500)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 30 Jan 2018 12:35:16 +0000 (07:35 -0500)
Some ioctls need to copy back the result even if the ioctl returned
an error. However, don't do this for the error code -ENOTTY.
It makes no sense in that cases.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: <stable@vger.kernel.org> # for v4.15 and up
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/v4l2-core/v4l2-compat-ioctl32.c

index 7ee3777cbe9c1691de308eeb394519cd5b4d8160..3a1fca1440ace2a984d5569ff310254b60156df7 100644 (file)
@@ -968,6 +968,9 @@ static long do_video_ioctl(struct file *file, unsigned int cmd, unsigned long ar
                set_fs(old_fs);
        }
 
+       if (err == -ENOTTY)
+               return err;
+
        /* Special case: even after an error we need to put the
           results back for these ioctls since the error_idx will
           contain information on which control failed. */