linux/drivers/media/v4l2-core
Kees Cook 54b6b605b9 media: v4l2-event: Annotate struct v4l2_subscribed_event with __counted_by
Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS
(for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).

As found with Coccinelle[1], add __counted_by for
struct v4l2_subscribed_event.
Additionally, since the element count member must be set before accessing
the annotated flexible array member, move its initialization earlier.

[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci

Cc: lijian <lijian@yulong.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2023-10-07 10:55:45 +02:00
..
Kconfig media: remove the old videobuf framework 2023-09-27 09:40:01 +02:00
Makefile media: remove the old videobuf framework 2023-09-27 09:40:01 +02:00
tuner-core.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
v4l2-async.c media: v4l: async: Avoid a goto in loop implementation 2023-08-10 07:58:39 +02:00
v4l2-cci.c media: Add MIPI CCI register access helper functions 2023-08-10 07:58:38 +02:00
v4l2-common.c media: mediatek: vcodec: Add capture format to support 10bit raster mode 2023-08-10 07:58:34 +02:00
v4l2-compat-ioctl32.c media: v4l2-core: zero field base in struct v4l2_framebuffer 2023-03-20 00:32:56 +01:00
v4l2-ctrls-api.c media: v4l2-ctrls-api.c: move ctrl->is_new = 1 to the correct line 2023-02-09 09:22:45 +01:00
v4l2-ctrls-core.c media: AV1: Make sure that bit depth in correctly initialize 2023-06-09 16:13:38 +01:00
v4l2-ctrls-defs.c media: Add AV1 uAPI 2023-06-09 16:13:01 +01:00
v4l2-ctrls-priv.h media: v4l2-ctrls: add support for dynamically allocated arrays. 2022-07-15 16:20:53 +01:00
v4l2-ctrls-request.c media: v4l2-ctrls: add support for dynamically allocated arrays. 2022-07-15 16:20:53 +01:00
v4l2-dev.c media: v4l2-dev.c: check for V4L2_CAP_STREAMING to enable streaming ioctls 2023-03-19 22:10:23 +01:00
v4l2-device.c media: v4l: subdev: Set sd->devnode before registering the subdev 2020-12-02 15:55:44 +01:00
v4l2-dv-timings.c media: v4l2-dv-timings.c: fix too strict blanking sanity checks 2022-11-23 12:02:30 +00:00
v4l2-event.c media: v4l2-event: Annotate struct v4l2_subscribed_event with __counted_by 2023-10-07 10:55:45 +02:00
v4l2-fh.c media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release 2021-06-02 13:17:44 +02:00
v4l2-flash-led-class.c media: v4l2-flash: Fix comment typo 2022-08-29 15:32:14 +02:00
v4l2-fwnode.c media: v4l: async: Set v4l2_device and subdev in async notifier init 2023-08-10 07:58:32 +02:00
v4l2-h264.c media: drivers/media/v4l2-core/v4l2-h264 : add detection of null pointers 2023-02-08 07:33:41 +01:00
v4l2-i2c.c
v4l2-ioctl.c media: v4l: Add HEXTILE compressed format 2023-09-27 09:40:01 +02:00
v4l2-jpeg.c media: v4l2-jpeg: ignore the unknown APP14 marker 2023-02-08 07:25:40 +01:00
v4l2-mc.c media: v4l2-mc: Drop subdev check in v4l2_create_fwnode_links_to_pad() 2023-06-02 18:45:24 +01:00
v4l2-mem2mem.c media: v4l2-mem2mem: use vb2_is_streaming() 2023-02-06 09:00:41 +01:00
v4l2-spi.c
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: Document and enforce .s_stream() requirements 2023-09-27 09:39:57 +02:00
v4l2-trace.c
v4l2-vp9.c media: Add VP9 v4l2 library 2021-11-22 07:47:13 +00:00