diff options
author | Ricardo Ribalda <ribalda@chromium.org> | 2025-02-03 11:55:51 +0000 |
---|---|---|
committer | Hans Verkuil <hverkuil@xs4all.nl> | 2025-03-03 18:23:36 +0100 |
commit | 990262fdfce24d6055df9711424343d94d829e6a (patch) | |
tree | 803bcef40304d5975a22407aab48753e84c706c6 | |
parent | dc6d7e050c1dc2f76d95953dba5217b5b5965640 (diff) |
media: uvcvideo: Add sanity check to uvc_ioctl_xu_ctrl_map
Do not process unknown data types.
Tested-by: Yunke Cao <yunkec@google.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Link: https://lore.kernel.org/r/20250203-uvc-roi-v17-15-5900a9fed613@chromium.org
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
-rw-r--r-- | drivers/media/usb/uvc/uvc_v4l2.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c index 41430720ed47..d56f482723d3 100644 --- a/drivers/media/usb/uvc/uvc_v4l2.c +++ b/drivers/media/usb/uvc/uvc_v4l2.c @@ -108,6 +108,12 @@ static int uvc_ioctl_xu_ctrl_map(struct uvc_video_chain *chain, struct uvc_control_mapping *map; int ret; + if (xmap->data_type > UVC_CTRL_DATA_TYPE_BITMASK) { + uvc_dbg(chain->dev, CONTROL, + "Unsupported UVC data type %u\n", xmap->data_type); + return -EINVAL; + } + map = kzalloc(sizeof(*map), GFP_KERNEL); if (map == NULL) return -ENOMEM; |