public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/1] media: tegra-video: vi: fix invalid u32 return value in format lookup
@ 2026-05-06  7:57 Hungyu Lin
  2026-05-06  7:57 ` [PATCH v2 1/1] " Hungyu Lin
  0 siblings, 1 reply; 3+ messages in thread
From: Hungyu Lin @ 2026-05-06  7:57 UTC (permalink / raw)
  To: thierry.reding, jonathanh, skomatineni, luca.ceresoli, mchehab,
	gregkh
  Cc: hverkuil+cisco, dan.carpenter, linux-media, linux-tegra,
	linux-staging, linux-kernel, Hungyu Lin

Changes in v2:
- Follow Hans Verkuil's suggestion to use WARN_ON_ONCE()
  and return the first available format (index 0) as a safe fallback.

Hungyu Lin (1):
  media: tegra-video: vi: fix invalid u32 return value in format lookup

 drivers/staging/media/tegra-video/vi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2 1/1] media: tegra-video: vi: fix invalid u32 return value in format lookup
  2026-05-06  7:57 [PATCH v2 0/1] media: tegra-video: vi: fix invalid u32 return value in format lookup Hungyu Lin
@ 2026-05-06  7:57 ` Hungyu Lin
  2026-05-06 11:37   ` Luca Ceresoli
  0 siblings, 1 reply; 3+ messages in thread
From: Hungyu Lin @ 2026-05-06  7:57 UTC (permalink / raw)
  To: thierry.reding, jonathanh, skomatineni, luca.ceresoli, mchehab,
	gregkh
  Cc: hverkuil+cisco, dan.carpenter, linux-media, linux-tegra,
	linux-staging, linux-kernel, Hungyu Lin

tegra_get_format_fourcc_by_idx() returns a u32 but uses -EINVAL to
signal an out-of-bounds index. This results in a large unsigned
value being returned, which may be interpreted as a valid fourcc.

Returning 0 is not a valid fourcc either. This condition should
never happen, so use WARN_ON_ONCE() to catch unexpected out-of-bounds
access and return a valid fallback format instead.

Suggested-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
 drivers/staging/media/tegra-video/vi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/media/tegra-video/vi.c b/drivers/staging/media/tegra-video/vi.c
index f14cdc7b5211..456134a9e8cf 100644
--- a/drivers/staging/media/tegra-video/vi.c
+++ b/drivers/staging/media/tegra-video/vi.c
@@ -80,8 +80,8 @@ static int tegra_get_format_idx_by_code(struct tegra_vi *vi,
 static u32 tegra_get_format_fourcc_by_idx(struct tegra_vi *vi,
 					  unsigned int index)
 {
-	if (index >= vi->soc->nformats)
-		return -EINVAL;
+	if (WARN_ON_ONCE(index >= vi->soc->nformats))
+		return vi->soc->video_formats[0].fourcc;
 
 	return vi->soc->video_formats[index].fourcc;
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 1/1] media: tegra-video: vi: fix invalid u32 return value in format lookup
  2026-05-06  7:57 ` [PATCH v2 1/1] " Hungyu Lin
@ 2026-05-06 11:37   ` Luca Ceresoli
  0 siblings, 0 replies; 3+ messages in thread
From: Luca Ceresoli @ 2026-05-06 11:37 UTC (permalink / raw)
  To: Hungyu Lin
  Cc: thierry.reding, jonathanh, skomatineni, luca.ceresoli, mchehab,
	gregkh, hverkuil+cisco, dan.carpenter, linux-media, linux-tegra,
	linux-staging, linux-kernel

On Wed, 06 May 2026 07:57:45 +0000, Hungyu Lin <dennylin0707@gmail.com> wrote:
> tegra_get_format_fourcc_by_idx() returns a u32 but uses -EINVAL to
> signal an out-of-bounds index. This results in a large unsigned
> value being returned, which may be interpreted as a valid fourcc.
> 
> Returning 0 is not a valid fourcc either. This condition should
> never happen, so use WARN_ON_ONCE() to catch unexpected out-of-bounds
> access and return a valid fallback format instead.
> 
> Suggested-by: Hans Verkuil <hverkuil+cisco@kernel.org>
> Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>

Being a fix it should have a Fixes tag and Cc stable. I think the right
commit is 3d8a97eabef0, so:

+Cc: stable@vger.kernel.org
+Fixes: 3d8a97eabef0 ("media: tegra-video: Add Tegra210 Video input driver")

With that added:
+Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-05-06 11:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-06  7:57 [PATCH v2 0/1] media: tegra-video: vi: fix invalid u32 return value in format lookup Hungyu Lin
2026-05-06  7:57 ` [PATCH v2 1/1] " Hungyu Lin
2026-05-06 11:37   ` Luca Ceresoli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox