]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: uvcvideo: Add sanity check to uvc_ioctl_xu_ctrl_map
authorRicardo Ribalda <ribalda@chromium.org>
Mon, 3 Feb 2025 11:55:51 +0000 (11:55 +0000)
committerHans Verkuil <hverkuil@xs4all.nl>
Mon, 3 Mar 2025 17:23:36 +0000 (18:23 +0100)
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>
drivers/media/usb/uvc/uvc_v4l2.c

index 41430720ed475a63c7e7b875cdb0967f07f597c2..d56f482723d36318f97970b8b55ce0f59324f372 100644 (file)
@@ -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;