| From 5095dae39f2cd2e74a45e92a87a4d0f46d76b453 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 15 Mar 2023 08:33:47 +0000 |
| Subject: fbdev: intelfb: Fix potential divide by zero |
| |
| From: Wei Chen <harperchen1110@gmail.com> |
| |
| [ Upstream commit d823685486a3446d061fed7c7d2f80af984f119a ] |
| |
| Variable var->pixclock is controlled by user and can be assigned |
| to zero. Without proper check, divide by zero would occur in |
| intelfbhw_validate_mode and intelfbhw_mode_to_hw. |
| |
| 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> |
| --- |
| drivers/video/fbdev/intelfb/intelfbdrv.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/video/fbdev/intelfb/intelfbdrv.c b/drivers/video/fbdev/intelfb/intelfbdrv.c |
| index d4a2891a9a7ac..a93dd531d00df 100644 |
| --- a/drivers/video/fbdev/intelfb/intelfbdrv.c |
| +++ b/drivers/video/fbdev/intelfb/intelfbdrv.c |
| @@ -1219,6 +1219,9 @@ static int intelfb_check_var(struct fb_var_screeninfo *var, |
| |
| dinfo = GET_DINFO(info); |
| |
| + if (!var->pixclock) |
| + return -EINVAL; |
| + |
| /* update the pitch */ |
| if (intelfbhw_validate_mode(dinfo, var) != 0) |
| return -EINVAL; |
| -- |
| 2.39.2 |
| |