summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorWei Chen <harperchen1110@gmail.com>2023-03-15 12:05:18 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-04-06 13:10:41 +0300
commit9f2a69d5e6770a064a7ae9bdab7e9907a8d292ff (patch)
tree864db1e2e9750bdea7f4e6f5662152f0a78bcacf /drivers/video
parent8ab9eada22d93fa501072161ceedbd6d61bc8df7 (diff)
downloadlinux-9f2a69d5e6770a064a7ae9bdab7e9907a8d292ff.tar.xz
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;