[OOPS] fbdev: nvidiafb divide by zero

From: Andrey Melnikov
Date: Tue Jan 24 2017 - 08:44:12 EST


Hello.

I'm see this crash on 4.9.[3|5] stable series kernel.

[ 1297.357388] nvidiafb: Device ID: 10de104a
[ 1297.379856] nvidiafb: CRTC0 analog not found
[ 1297.403834] nvidiafb: CRTC1 analog not found
[ 1298.147858] nvidiafb: Unable to detect display type...
[ 1298.147873] ...Using default of CRT
[ 1298.147890] nvidiafb: Unable to detect which CRTCNumber...
[ 1298.147908] ...Defaulting to CRTCNumber 0
[ 1298.147933] nvidiafb: Using CRT on CRTC 0
[ 1298.148380] fbcon: NV4 (fb0) is primary device
[ 1298.335132] divide error: 0000 [#1] SMP
[ 1298.335146] Modules linked in: nvidiafb(+) vgastate fb_ddc
i2c_algo_bit 8021q garp mrp stp llc snd_hda_codec_hdmi
snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel
snd_hda_codec edac_mce_amd edac_core snd_hda_core ppdev snd_hwdep
snd_pcm snd_timer kvm_amd snd kvm irqbypass serio_raw pcspkr
input_leds joydev soundcore k10temp parport_pc parport wmi mac_hid
shpchp netconsole configfs pata_acpi hid_generic usbkbd usbhid hid
psmouse pata_atiixp i2c_piix4 ahci r8169 libahci mii fjes
[ 1298.335148] CPU: 0 PID: 1863 Comm: modprobe Not tainted
4.9.0-040905-generic #201612111631
[ 1298.335149] Hardware name: Gigabyte Technology Co., Ltd.
GA-MA770T-UD3P/GA-MA770T-UD3P, BIOS F2 06/24/2009
[ 1298.335150] task: ffff9f7e30861a80 task.stack: ffffc15040be4000
[ 1298.335157] RIP: 0010:[<ffffffffc030f5b3>] [<ffffffffc030f5b3>]
nvGetClocks+0x73/0x2b0 [nvidiafb]
[ 1298.335158] RSP: 0018:ffffc15040be7698 EFLAGS: 00010246
[ 1298.335159] RAX: 000000000516b430 RBX: 0000000000000040 RCX: 0000000000000007
[ 1298.335159] RDX: 0000000000000000 RSI: ffffc15040be76ec RDI: ffff9f7e324fc450
[ 1298.335160] RBP: ffffc15040be76a0 R08: ffffc15040be7700 R09: 0000000000000000
[ 1298.335160] R10: 0000000000000000 R11: 00000000001895c0 R12: ffff9f7e324fc450
[ 1298.335161] R13: ffff9f7e324fc548 R14: 0000000000050000 R15: 0000000000006247
[ 1298.335162] FS: 00007f729fb0e700(0000) GS:ffff9f7e37c00000(0000)
knlGS:0000000000000000
[ 1298.335163] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1298.335163] CR2: 000055ba5ad846ff CR3: 000000012d85d000 CR4: 00000000000006f0
[ 1298.335164] Stack:
[ 1298.335166] 0000000000000040 ffffc15040be7750 ffffffffc03102d6
ffffffffac01ded0
[ 1298.335167] 024000c0ac026fd6 0000028031ecc800 0000000100000280
0000000000000008
[ 1298.335169] ffffffffacb0dd00 ffffffffabe112eb ffff9f7e31e77038
ffffffffabe112eb
[ 1298.335169] Call Trace:
[ 1298.335173] [<ffffffffc03102d6>] NVCalcStateExt+0x686/0x920 [nvidiafb]
[ 1298.335180] [<ffffffffac01ded0>] ? cleanup_uevent_env+0x10/0x10
[ 1298.335182] [<ffffffffabe112eb>] ? kmem_cache_alloc_trace+0x14b/0x1b0
[ 1298.335183] [<ffffffffabe112eb>] ? kmem_cache_alloc_trace+0x14b/0x1b0
[ 1298.335186] [<ffffffffc030eeaf>] nvidiafb_set_par+0x53f/0xb00 [nvidiafb]
[ 1298.335189] [<ffffffffac0a0e39>] fbcon_init+0x539/0x5a0
[ 1298.335191] [<ffffffffac13d9a6>] visual_init+0xd6/0x130
[ 1298.335193] [<ffffffffac140077>] do_bind_con_driver+0x167/0x3a0
[ 1298.335195] [<ffffffffac1405df>] do_take_over_console+0x12f/0x1a0
[ 1298.335196] [<ffffffffac09be77>] do_fbcon_takeover+0x57/0xb0
[ 1298.335198] [<ffffffffac0a18ad>] fbcon_event_notify+0x64d/0x750
[ 1298.335200] [<ffffffffabca776a>] notifier_call_chain+0x4a/0x70
[ 1298.335201] [<ffffffffabca7aa7>] __blocking_notifier_call_chain+0x47/0x60
[ 1298.335202] [<ffffffffabca7ad6>] blocking_notifier_call_chain+0x16/0x20
[ 1298.335203] [<ffffffffac0a75db>] fb_notifier_call_chain+0x1b/0x20
[ 1298.335205] [<ffffffffac0a9314>] register_framebuffer+0x274/0x360
[ 1298.335206] [<ffffffffac0ac1b7>] ? fb_copy_cmap+0x97/0xf0
[ 1298.335208] [<ffffffffc030e58d>] nvidiafb_probe+0x66d/0xa50 [nvidiafb]
[ 1298.335210] [<ffffffffac072485>] local_pci_probe+0x45/0xa0
[ 1298.335212] [<ffffffffac07397f>] pci_device_probe+0xff/0x140
[ 1298.335214] [<ffffffffac196da8>] driver_probe_device+0x228/0x440
[ 1298.335215] [<ffffffffac19709f>] __driver_attach+0xdf/0xf0
[ 1298.335216] [<ffffffffac196fc0>] ? driver_probe_device+0x440/0x440
[ 1298.335217] [<ffffffffac19483c>] bus_for_each_dev+0x6c/0xc0
[ 1298.335218] [<ffffffffac19667e>] driver_attach+0x1e/0x20
[ 1298.335219] [<ffffffffac195f85>] bus_add_driver+0x45/0x270
[ 1298.335222] [<ffffffffc030f510>] ? nvidiafb_resume+0xa0/0xa0
[nvidiafb][ 1298.335223] [<ffffffffac197b60>]
driver_register+0x60/0xe0
[ 1298.335224] [<ffffffffac071dec>] __pci_register_driver+0x4c/0x50
[ 1298.335226] [<ffffffffc030f533>] nvidiafb_init+0x23/0x30 [nvidiafb]
[ 1298.335228] [<ffffffffabc02190>] do_one_initcall+0x50/0x190
[ 1298.335229] [<ffffffffabe112eb>] ? kmem_cache_alloc_trace+0x14b/0x1b0
[ 1298.335231] [<ffffffffabda60d2>] do_init_module+0x60/0x1f9
[ 1298.335233] [<ffffffffabd160bd>] load_module+0x179d/0x1b40
[ 1298.335234] [<ffffffffabd127a0>] ? __symbol_put+0x60/0x60
[ 1298.335237] [<ffffffffabfc09f4>] ? ima_post_read_file+0x74/0x90
[ 1298.335239] [<ffffffffabd16686>] SYSC_finit_module+0xa6/0xf0
[ 1298.335240] [<ffffffffabd166ee>] SyS_finit_module+0xe/0x10
[ 1298.335242] [<ffffffffac490abb>] entry_SYSCALL_64_fastpath+0x1e/0xad
[ 1298.335256] Code: 41 81 f9 90 02 00 00 0f 84 87 01 00 00 41 89 c1
c1 e8 18 41 c1 e9 10 45 0f b6 c9 0f af 97 ac 03 00 00 45 0f af ca 0f
af c2 31 d2 <41> f7 f1 d3 e8 89 06 48 8b 87 40 11 00 00 8b 88 00 40 00
00 8b
[ 1298.335258] RIP [<ffffffffc030f5b3>] nvGetClocks+0x73/0x2b0 [nvidiafb]
[ 1298.335259] RSP <ffffc15040be7698>
[ 1298.335265] ---[ end trace 200f7864148953f3 ]---

crashed at nv_hw.c:833 in Freq = (((par->CrystalFreqKHz << 2) * N) / M) >> P;