linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] media: msp3400: Avoid possible out-of-bounds array accesses in msp3400c_thread()
@ 2025-09-02 23:28 Ivan Abramov
  0 siblings, 0 replies; only message in thread
From: Ivan Abramov @ 2025-09-02 23:28 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Ivan Abramov, Hans Verkuil, linux-media, linux-kernel,
	lvc-project

It's possible for max1 to remain -1 if msp_read() always fail. This variable is
further used as index for accessing arrays.

Fix that by checking max1 prior to array accesses. 

It seems that restart is the preferable action in case of out-of-bounds value.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 8a4b275f9c19 ("V4L/DVB (3427): audmode and rxsubchans fixes (VIDIOC_G/S_TUNER)")
Signed-off-by: Ivan Abramov <i.abramov@mt-integration.ru>
---
 drivers/media/i2c/msp3400-kthreads.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/media/i2c/msp3400-kthreads.c b/drivers/media/i2c/msp3400-kthreads.c
index ecabc0e1d32e..1d9f41dd7c21 100644
--- a/drivers/media/i2c/msp3400-kthreads.c
+++ b/drivers/media/i2c/msp3400-kthreads.c
@@ -596,6 +596,8 @@ int msp3400c_thread(void *data)
 				"carrier2 val: %5d / %s\n", val, cd[i].name);
 		}
 
+		if (max1 < 0 || max1 > 3)
+			goto restart;
 		/* program the msp3400 according to the results */
 		state->main = msp3400c_carrier_detect_main[max1].cdo;
 		switch (max1) {
-- 
2.43.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2025-09-02 23:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-02 23:28 [PATCH 1/1] media: msp3400: Avoid possible out-of-bounds array accesses in msp3400c_thread() Ivan Abramov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).