summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorWei Chen <harperchen1110@gmail.com>2023-03-15 12:05:18 +0300
committerHelge Deller <deller@gmx.de>2023-03-16 18:18:17 +0300
commit61ac4b86a4c047c20d5cb423ddd87496f14d9868 (patch)
tree0d49c289c904a8856bee4b67cdeba093d58fd544 /drivers/video
parentd823685486a3446d061fed7c7d2f80af984f119a (diff)
downloadlinux-61ac4b86a4c047c20d5cb423ddd87496f14d9868.tar.xz
fbdev: lxfb: Fix potential divide by zero
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>
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 8130e9eee2b4..556d8b1a9e06 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;