fbdev: intelfb: Fix potential divide by zero
authorWei Chen <harperchen1110@gmail.com>
Wed, 15 Mar 2023 08:33:47 +0000 (08:33 +0000)
committerHelge Deller <deller@gmx.de>
Thu, 16 Mar 2023 15:18:16 +0000 (16:18 +0100)
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>
drivers/video/fbdev/intelfb/intelfbdrv.c

index 0a9e5067b201083be2b74654b7c60ea89b575d43..a81095b2b1ea592e6eaabc03f0f880d459e9e1fd 100644 (file)
@@ -1222,6 +1222,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;