[PATCH] fbdev: sm501: Fix potential divide by zero
Alex Guo
alexguo1023 at gmail.com
Sat Jun 14 05:11:00 UTC 2025
Variable var->pixclock can be set by user. In case it equals to
zero, divide by zero would occur in sm501fb_set_par_common.
Similar crashes have happened in other fbdev drivers.
We cannot find the default vaild value for pixclock for driver
sm501, so we fix this by checking whether 'pixclock' is zero.
Similar commit: commit 16844e58704 ("video: fbdev: tridentfb:
Error out if 'pixclock' equals zero")
Signed-off-by: Alex Guo <alexguo1023 at gmail.com>
---
drivers/video/fbdev/sm501fb.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/sm501fb.c b/drivers/video/fbdev/sm501fb.c
index ed6f4f43e2d5..a294b4e1c4aa 100644
--- a/drivers/video/fbdev/sm501fb.c
+++ b/drivers/video/fbdev/sm501fb.c
@@ -506,7 +506,9 @@ static int sm501fb_set_par_common(struct fb_info *info,
fbi->regs + head_addr);
/* program CRT clock */
-
+
+ if (!var->pixclock)
+ return -EINVAL;
pixclock = sm501fb_ps_to_hz(var->pixclock);
sm501pixclock = sm501_set_clock(fbi->dev->parent, clock_type,
--
2.34.1
More information about the dri-devel
mailing list