summary refs log tree commit diff
path: root/drivers/video
diff options
context:
space:
mode:
authorWei Chen <harperchen1110@gmail.com>2023-03-15 09:05:18 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-04-06 12:10:41 +0200
commit9f2a69d5e6770a064a7ae9bdab7e9907a8d292ff (patch)
tree864db1e2e9750bdea7f4e6f5662152f0a78bcacf /drivers/video
parent8ab9eada22d93fa501072161ceedbd6d61bc8df7 (diff)
downloadlinux-9f2a69d5e6770a064a7ae9bdab7e9907a8d292ff.tar.gz
fbdev: lxfb: Fix potential divide by zero
[ Upstream commit 61ac4b86a4c047c20d5cb423ddd87496f14d9868 ]

var->pixclock can be assigned to zero by user. Without proper
check, divide by zero would occur in lx_set_clock.

Error out if var->pixclock is zero.

Signed-off-by: Wei Chen <harperchen1110@gmail.com>
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/geode/lxfb_core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/fbdev/geode/lxfb_core.c b/drivers/video/fbdev/geode/lxfb_core.c
index 9d26592dbfce..41fda498406c 100644
--- a/drivers/video/fbdev/geode/lxfb_core.c
+++ b/drivers/video/fbdev/geode/lxfb_core.c
@@ -235,6 +235,9 @@ static void get_modedb(struct fb_videomode **modedb, unsigned int *size)
 
 static int lxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
 {
+	if (!var->pixclock)
+		return -EINVAL;
+
 	if (var->xres > 1920 || var->yres > 1440)
 		return -EINVAL;