[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20250323185737.602339-1-listdansp@mail.ru>
Date: Sun, 23 Mar 2025 18:57:37 +0000
From: Danila Chernetsov <listdansp@...l.ru>
To: Helge Deller <deller@....de>
Cc: Danila Chernetsov <listdansp@...l.ru>,
linux-fbdev@...r.kernel.org,
dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org,
lvc-project@...uxtesting.org
Subject: [PATCH] video: fbdev: kyro: Add some geometry checks.
The check protects against division by 0, integer wraparound,
and overflow Start/End window settings.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Danila Chernetsov <listdansp@...l.ru>
---
drivers/video/fbdev/kyro/fbdev.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/video/fbdev/kyro/fbdev.c b/drivers/video/fbdev/kyro/fbdev.c
index 08ee8baa79f8..1d5246313d9a 100644
--- a/drivers/video/fbdev/kyro/fbdev.c
+++ b/drivers/video/fbdev/kyro/fbdev.c
@@ -378,6 +378,13 @@ static int kyro_dev_overlay_viewport_set(u32 x, u32 y, u32 ulWidth, u32 ulHeight
(x < 2 && ulWidth + 2 == 0))
return -EINVAL;
+ /* The check protects against division by 0, integer wraparound,
+ * and overflow Start/End window settings.
+ */
+ if (x + ulWidth - 1 <= x || y + ulHeight - 1 <= y ||
+ x + ulWidth - 1 > 65535 || y + ulHeight - 1 > 65535)
+ return -EINVAL;
+
/* Stop Ramdac Output */
DisableRamdacOutput(deviceInfo.pSTGReg);
--
2.25.1
Powered by blists - more mailing lists