media: uvcvideo: Silence memcpy() run-time false positive warnings
authorKees Cook <keescook@chromium.org>
Fri, 6 Jan 2023 06:17:04 +0000 (22:17 -0800)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 15 Jan 2023 21:45:15 +0000 (23:45 +0200)
commitb839212988575c701aab4d3d9ca15e44c87e383c
tree6d1ef5ff49bc25feb5a4f9e7697c82f008942aa2
parent136effa754b57632f99574fc4a3433e0cfc031d9
media: uvcvideo: Silence memcpy() run-time false positive warnings

The memcpy() in uvc_video_decode_meta() intentionally copies across the
length and flags members and into the trailing buf flexible array.
Split the copy so that the compiler can better reason about (the lack
of) buffer overflows here. Avoid the run-time false positive warning:

  memcpy: detected field-spanning write (size 12) of single field "&meta->length" at drivers/media/usb/uvc/uvc_video.c:1355 (size 1)

Additionally fix a typo in the documentation for struct uvc_meta_buf.

Reported-by: ionut_n2001@yahoo.com
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216810
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/media/usb/uvc/uvc_video.c
include/uapi/linux/uvcvideo.h