[PATCH AUTOSEL 4.19 9/9] fbdev: au1200fb: Fix potential divide by zero

From: Sasha Levin
Date: Wed Mar 22 2023 - 16:13:09 EST


From: Wei Chen <harperchen1110@xxxxxxxxx>

[ Upstream commit 44a3b36b42acfc433aaaf526191dd12fbb919fdb ]

var->pixclock can be assigned to zero by user. Without
proper check, divide by zero would occur when invoking
macro PICOS2KHZ in au1200fb_fb_check_var.

Error out if var->pixclock is zero.

Signed-off-by: Wei Chen <harperchen1110@xxxxxxxxx>
Signed-off-by: Helge Deller <deller@xxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
drivers/video/fbdev/au1200fb.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/video/fbdev/au1200fb.c b/drivers/video/fbdev/au1200fb.c
index 3872ccef4cb2c..f8e83a9519189 100644
--- a/drivers/video/fbdev/au1200fb.c
+++ b/drivers/video/fbdev/au1200fb.c
@@ -1039,6 +1039,9 @@ static int au1200fb_fb_check_var(struct fb_var_screeninfo *var,
u32 pixclock;
int screen_size, plane;

+ if (!var->pixclock)
+ return -EINVAL;
+
plane = fbdev->plane;

/* Make sure that the mode respect all LCD controller and
--
2.39.2