]> git.baikalelectronics.ru Git - kernel.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:55:33 +0000 (13:55 +0100)
commit51d867ee46845a3637fe60cf2c4b857343ef1825
treeea93c8164fb92d307eae404973c0bf15f2857004
parent31e57c8bc1d2ed317fc146bc4215eb3d01593d37
media: uvcvideo: Silence memcpy() run-time false positive warnings

[ Upstream commit f4400b79f88e75307fa62b97c931fc23b80b6808 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/usb/uvc/uvc_video.c
include/uapi/linux/uvcvideo.h