linux/drivers/media/v4l2-core
Michael Bommarito 439058ced6 media: v4l2-ctrls: validate AV1 tile counts
The stateless AV1 decoders use tile_info.tile_cols and tile_rows as loop
bounds and as indices into the mi_*_starts[] and *_in_sbs_minus_1[]
arrays, as the divisor for context_update_tile_id, and their product
bounds the per-tile descriptor buffers, but std_validate_compound() does
not bound these u8 fields. Reject a V4L2_CTRL_TYPE_AV1_FRAME whose
tile_cols or tile_rows exceeds V4L2_AV1_MAX_TILE_COLS / _ROWS, or whose
product exceeds V4L2_AV1_MAX_TILE_COUNT. A zero tile count is left to the
consuming driver so the zero-initialised control that existing userspace
submits is still accepted.

Fixes: 9de30f5799 ("media: Add AV1 uAPI")
Assisted-by: Claude:claude-opus-4-8
Cc: stable@vger.kernel.org
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-09-07 09:01:05 +02:00
..
Kconfig media: v4l2-core: Introduce v4l2-isp.c 2025-11-14 15:48:48 +01:00
Makefile media: v4l2-core: Introduce v4l2-isp.c 2025-11-14 15:48:48 +01:00
tuner-core.c media: Use named initializers for arrays of i2c_device_data 2026-05-20 09:03:40 +02:00
v4l2-async.c media: v4l2-async: avoid deleting unlinked ASC entry on link error 2026-08-10 14:04:24 +03:00
v4l2-cci.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
v4l2-common.c media: v4l2-common: add v4l2_fill_pixfmt_mp_aligned helper 2026-05-21 12:32:19 +02:00
v4l2-compat-ioctl32.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
v4l2-ctrls-api.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
v4l2-ctrls-core.c media: v4l2-ctrls: validate AV1 tile counts 2026-09-07 09:01:05 +02:00
v4l2-ctrls-defs.c media: v4l2-controls: Add control for background detection 2026-05-04 08:35:14 +02:00
v4l2-ctrls-priv.h media: v4l2-core: update Hans Verkuil's email address 2025-09-09 15:58:38 +02:00
v4l2-ctrls-request.c media: v4l2-ctrls-request: add NULL check in v4l2_ctrl_request_complete() 2026-05-06 09:17:37 +02:00
v4l2-dev.c media: v4l2-core: v4l2-dev: add comments on device_register fail. 2026-07-28 15:17:54 +02:00
v4l2-device.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
v4l2-dv-timings.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
v4l2-event.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
v4l2-fh.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
v4l2-flash-led-class.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
v4l2-fwnode.c media: v4l2-fwnode: Fix fwnode leak in v4l2_fwnode_parse_link 2026-07-15 11:13:55 +03:00
v4l2-h264.c media: v4l2-h264: Fix memcmp() size in B1 reference list comparison 2026-09-07 09:01:05 +02:00
v4l2-i2c.c media: v4l2-core: Replace the check for firmware registered I2C devices 2025-06-17 10:35:13 +02:00
v4l2-ioctl.c media: Add RPPX1_PARAMS and RPPX1_STATS meta formats 2026-07-30 20:51:35 +03:00
v4l2-isp.c media: v4l2-isp: Add helpers for stats buffer 2026-07-30 20:51:13 +03:00
v4l2-jpeg.c media: v4l2-jpeg: Remove unused v4l2_jpeg_parse_* wrappers 2025-06-17 10:35:17 +02:00
v4l2-mc.c media: mc: fix endpoint iteration 2024-12-19 12:50:17 +01:00
v4l2-mem2mem.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
v4l2-spi.c media: v4l: Set sub-device's owner field to the caller's module 2024-04-26 11:30:43 +01:00
v4l2-subdev-priv.h media: v4l2-core: Make the v4l2-core code enable/disable the privacy LED if present 2023-02-03 10:22:34 +01:00
v4l2-subdev.c media: v4l2-subdev: Allow accessing routes with STREAMS client capability 2026-05-07 13:23:50 +03:00
v4l2-trace.c
v4l2-vp9.c media: Add VP9 v4l2 library 2021-11-22 07:47:13 +00:00