The userspace program could pass any values to the driver through
ioctl() interface. If the driver doesn't check the value of pixclock,
it may cause divide-by-zero error.
Although pixclock is checked in savagefb_decode_var(), but it is not
checked properly in savagefb_probe(). Fix this by checking whether
pixclock is zero in the function savagefb_check_var() before
info->var.pixclock is used as the divisor.
This is similar to CVE-2022-3061 in i740fb which was fixed by
commit
|
||
|---|---|---|
| .. | ||
| Makefile | ||
| savagefb-i2c.c | ||
| savagefb.h | ||
| savagefb_accel.c | ||
| savagefb_driver.c | ||