]> www.infradead.org Git - users/dwmw2/linux.git/commit
media: vivid: fix buffer overwrite when using > 32 buffers
authorHans Verkuil <hverkuil@xs4all.nl>
Thu, 24 Oct 2024 08:21:30 +0000 (10:21 +0200)
committerHans Verkuil <hverkuil@xs4all.nl>
Mon, 28 Oct 2024 08:14:12 +0000 (09:14 +0100)
commit96d8569563916fe2f8fe17317e20e43f54f9ba4b
tree4fc3a8a587fd5b60cbd84692160341f9293ad03a
parentba9cf6b430433e57bfc8072364e944b7c0eca2a4
media: vivid: fix buffer overwrite when using > 32 buffers

The maximum number of buffers that can be requested was increased to
64 for the video capture queue. But video capture used a must_blank
array that was still sized for 32 (VIDEO_MAX_FRAME). This caused an
out-of-bounds write when using buffer indices >= 32.

Create a new define MAX_VID_CAP_BUFFERS that is used to access the
must_blank array and set max_num_buffers for the video capture queue.

This solves a crash reported by:

https://bugzilla.kernel.org/show_bug.cgi?id=219258

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Fixes: cea70ed416b4 ("media: test-drivers: vivid: Increase max supported buffers for capture queues")
Cc: stable@vger.kernel.org
drivers/media/test-drivers/vivid/vivid-core.c
drivers/media/test-drivers/vivid/vivid-core.h
drivers/media/test-drivers/vivid/vivid-ctrls.c
drivers/media/test-drivers/vivid/vivid-vid-cap.c