summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorDanila Chernetsov <listdansp@mail.ru>2025-03-19 01:30:11 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-10 14:37:29 +0200
commitce88afbc0934815e1db9e54910a789c627286f46 (patch)
treeffaad4992ab0c99a0ddd368f4ca4784e53cc2a92 /drivers/video
parent6ed70f3dc68ff7dea3e37dff35db56b6e4e7f908 (diff)
downloadlinux-ce88afbc0934815e1db9e54910a789c627286f46.tar.gz
linux-ce88afbc0934815e1db9e54910a789c627286f46.tar.bz2
linux-ce88afbc0934815e1db9e54910a789c627286f46.zip
fbdev: sm501fb: Add some geometry checks.
[ Upstream commit aee50bd88ea5fde1ff4cc021385598f81a65830c ] 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> Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/fbdev/sm501fb.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/video/fbdev/sm501fb.c b/drivers/video/fbdev/sm501fb.c
index 65c799ac5604..b9d72f368c6c 100644
--- a/drivers/video/fbdev/sm501fb.c
+++ b/drivers/video/fbdev/sm501fb.c
@@ -326,6 +326,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)