[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190529113247.21188-1-naresh.kamboju@linaro.org>
Date: Wed, 29 May 2019 12:32:47 +0100
From: Naresh Kamboju <naresh.kamboju@...aro.org>
To: stable@...r.kernel.org
Cc: linux-media@...r.kernel.org, hverkuil-cisco@...all.nl,
linux-kernel@...r.kernel.org,
Hans Verkuil <hans.verkuil@...co.com>,
Mauro Carvalho Chehab <mchehab+samsung@...nel.org>
Subject: [PATCH] media: v4l2-ioctl: clear fields in s_parm
From: Hans Verkuil <hans.verkuil@...co.com>
commit 8a7c5594c02022ca5fa7fb603e11b3e1feb76ed5 upstream.
Zero the reserved capture/output array.
Zero the extendedmode (it is never used in drivers).
Clear all flags in capture/outputmode except for V4L2_MODE_HIGHQUALITY,
as that is the only valid flag.
Cc: <stable@...r.kernel.org> # v4.9 v4.14
Signed-off-by: Hans Verkuil <hans.verkuil@...co.com>
Reviewed-by: Hans de Goede <hdegoede@...hat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@...nel.org>
---
drivers/media/v4l2-core/v4l2-ioctl.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index 4510e8a37244..699e5f8e0a71 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1959,7 +1959,22 @@ static int v4l_s_parm(const struct v4l2_ioctl_ops *ops,
struct v4l2_streamparm *p = arg;
int ret = check_fmt(file, p->type);
- return ret ? ret : ops->vidioc_s_parm(file, fh, p);
+ if (ret)
+ return ret;
+
+ /* Note: extendedmode is never used in drivers */
+ if (V4L2_TYPE_IS_OUTPUT(p->type)) {
+ memset(p->parm.output.reserved, 0,
+ sizeof(p->parm.output.reserved));
+ p->parm.output.extendedmode = 0;
+ p->parm.output.outputmode &= V4L2_MODE_HIGHQUALITY;
+ } else {
+ memset(p->parm.capture.reserved, 0,
+ sizeof(p->parm.capture.reserved));
+ p->parm.capture.extendedmode = 0;
+ p->parm.capture.capturemode &= V4L2_MODE_HIGHQUALITY;
+ }
+ return ops->vidioc_s_parm(file, fh, p);
}
static int v4l_queryctrl(const struct v4l2_ioctl_ops *ops,
--
2.17.1
Powered by blists - more mailing lists