mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] media: qcom: camss: vfe: Fix out-of-bounds access in vfe_isr_reg_update()
@ 2025-12-27 10:24 Alper Ak
  2025-12-29  0:12 ` Bryan O'Donoghue
  0 siblings, 1 reply; 4+ messages in thread
From: Alper Ak @ 2025-12-27 10:24 UTC (permalink / raw)
  To: hverkuil, mchehab
  Cc: Alper Ak, Robert Foss, Todor Tomov, Bryan O'Donoghue,
	Vladimir Zapolskiy, Jonathan Marek, linux-media, linux-arm-msm,
	linux-kernel

vfe_isr() iterates using MSM_VFE_IMAGE_MASTERS_NUM(7) as the loop
bound and passes the index to vfe_isr_reg_update(). However,
vfe->line[] array is defined with VFE_LINE_NUM_MAX(4):

    struct vfe_line line[VFE_LINE_NUM_MAX];

When index is 4, 5, 6, the access to vfe->line[line_id] exceeds
the array bounds and resulting in out-of-bounds memory access.

Add a bounds check to ensure line_id is within valid range before
accessing the array.

Fixes: 4edc8eae715c ("media: camss: Add initial support for VFE hardware version Titan 480")
Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
---
 drivers/media/platform/qcom/camss/camss-vfe-480.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/media/platform/qcom/camss/camss-vfe-480.c b/drivers/media/platform/qcom/camss/camss-vfe-480.c
index 4feea590a47b..fac111135c78 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe-480.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe-480.c
@@ -237,6 +237,9 @@ static void vfe_isr_reg_update(struct vfe_device *vfe, enum vfe_line_id line_id)
 	struct vfe_output *output;
 	unsigned long flags;
 
+	if (line_id >= VFE_LINE_NUM_MAX)
+		return;
+
 	spin_lock_irqsave(&vfe->output_lock, flags);
 	vfe_reg_update_clear(vfe, line_id);
 
-- 
2.43.0


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

end of thread, other threads:[~2025-12-30 10:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-27 10:24 [PATCH] media: qcom: camss: vfe: Fix out-of-bounds access in vfe_isr_reg_update() Alper Ak
2025-12-29  0:12 ` Bryan O'Donoghue
2025-12-29  7:52   ` [PATCH v2] " Alper Ak
2025-12-30 10:04     ` Bryan O'Donoghue

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

all inboxes | Powered by JetHome®