Browse Source

media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors

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>
Hans Verkuil 7 years ago
parent
commit
d83a8243aa
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/media/v4l2-core/v4l2-compat-ioctl32.c

+ 3 - 0
drivers/media/v4l2-core/v4l2-compat-ioctl32.c

@@ -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. */