Re: [PATCH v2 RESEND 3] video: fbdev: cirrusfb: check pixclock to avoid divide by zero

From: Geert Uytterhoeven
Date: Thu Feb 03 2022 - 02:54:09 EST


Hi George,

CC Helge, linux-fbdev

On Wed, Feb 2, 2022 at 7:23 PM George Kennedy <george.kennedy@xxxxxxxxxx> wrote:
> Do a sanity check on pixclock value to avoid divide by zero.
>
> If the pixclock value is zero, the cirrusfb driver will round up
> pixclock to get the derived frequency as close to maxclock as
> possible.
>
> Syzkaller reported a divide error in cirrusfb_check_pixclock.
>
> divide error: 0000 [#1] SMP KASAN PTI
> CPU: 0 PID: 14938 Comm: cirrusfb_test Not tainted 5.15.0-rc6 #1
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-2
> RIP: 0010:cirrusfb_check_var+0x6f1/0x1260
>
> Call Trace:
> fb_set_var+0x398/0xf90
> do_fb_ioctl+0x4b8/0x6f0
> fb_ioctl+0xeb/0x130
> __x64_sys_ioctl+0x19d/0x220
> do_syscall_64+0x3a/0x80
> entry_SYSCALL_64_after_hwframe+0x44/0xae
>
> Cc: <stable@xxxxxxxxxxxxxxx> # 5.4.y
> Reported-by: syzkaller <syzkaller@xxxxxxxxxxxxxxxx>
> Signed-off-by: George Kennedy<george.kennedy@xxxxxxxxxx>
> Reviewed-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> ---
> Hi Andrew, can you pick this patch up? Some of the fbdev drivers have
> maintainers but the cirrusfb.c is basically orphaned. I sent this patch
> in Oct and again in Dec and no one picked it up. Geert has reviewed it.
> Obviously the original code just crashed so this shouldn't be
> controversial.
>
> v2: Geert says that instead of just returning an error, this is supposed
> to find a valid pixclock and use that.
>
> RESEND: Added the Reviewed by: and Cc: <stable@xxxxxxxxxxxxxxx>

This is already queued in the fbdev for-next branch[1], as announced
by Helge in [2].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev.git/commit/?h=for-next&id=5c6f402bdcf9e7239c6bc7087eda71ac99b31379
[2] https://lore.kernel.org/all/e1e5b7d1-ea09-6e28-9c39-45b983734a85@xxxxxx/

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds