diff mbox series

video: fbdev: sm501fb: Add some geometry checks.

Message ID 20250319013011.467530-1-listdansp@mail.ru (mailing list archive)
State New
Headers show
Series video: fbdev: sm501fb: Add some geometry checks. | expand

Commit Message

Danila Chernetsov March 19, 2025, 1:30 a.m. UTC
Added checks for xoffset, yoffset settings. 
Incorrect settings of these parameters can lead to errors 
in sm501fb_pan_ functions.

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

Fixes: 5fc404e47bdf ("[PATCH] fb: SM501 framebuffer driver")
Signed-off-by: Danila Chernetsov <listdansp@mail.ru>
---
 drivers/video/fbdev/sm501fb.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Helge Deller March 19, 2025, 9:38 p.m. UTC | #1
On 3/19/25 02:30, Danila Chernetsov wrote:
> Added checks for xoffset, yoffset settings.
> Incorrect settings of these parameters can lead to errors
> in sm501fb_pan_ functions.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Fixes: 5fc404e47bdf ("[PATCH] fb: SM501 framebuffer driver")
> Signed-off-by: Danila Chernetsov <listdansp@mail.ru>
> ---
>   drivers/video/fbdev/sm501fb.c | 7 +++++++
>   1 file changed, 7 insertions(+)

applied.

Thanks!
Helge
diff mbox series

Patch

diff --git a/drivers/video/fbdev/sm501fb.c b/drivers/video/fbdev/sm501fb.c
index 7734377b2d87..ed6f4f43e2d5 100644
--- a/drivers/video/fbdev/sm501fb.c
+++ b/drivers/video/fbdev/sm501fb.c
@@ -327,6 +327,13 @@  static int sm501fb_check_var(struct fb_var_screeninfo *var,
 	if (var->xres_virtual > 4096 || var->yres_virtual > 2048)
 		return -EINVAL;
 
+	/* geometry sanity checks */
+	if (var->xres + var->xoffset > var->xres_virtual)
+		return -EINVAL;
+
+	if (var->yres + var->yoffset > var->yres_virtual)
+		return -EINVAL;
+
 	/* can cope with 8,16 or 32bpp */
 
 	if (var->bits_per_pixel <= 8)