From: Hans Verkuil hans.verkuil@cisco.com
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 --- drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c index 7ee3777cbe9c..3a1fca1440ac 100644 --- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c +++ b/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. */
Hi Hans,
Thank you for the patch.
On Tuesday, 30 January 2018 12:27:00 EET Hans Verkuil wrote:
From: Hans Verkuil hans.verkuil@cisco.com
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
drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c index 7ee3777cbe9c..3a1fca1440ac 100644 --- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c +++ b/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)
Should we also handle -ENOIOCTLCMD as in video_usercopy() ?
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. */
On 01/30/18 15:32, Laurent Pinchart wrote:
Hi Hans,
Thank you for the patch.
On Tuesday, 30 January 2018 12:27:00 EET Hans Verkuil wrote:
From: Hans Verkuil hans.verkuil@cisco.com
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
drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c index 7ee3777cbe9c..3a1fca1440ac 100644 --- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c +++ b/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)
Should we also handle -ENOIOCTLCMD as in video_usercopy() ?
Since video_usercopy mapped -ENOIOCTLCMD to -ENOTTY I decided not to do that. All V4L2 drivers use video_usercopy.
Regards,
Hans
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. */
linux-stable-mirror@lists.linaro.org