drm/nouveau: NULL pointer deref in drm_handle_vblank() on rebind
Bruno Prémont
bonbons at linux-vserver.org
Thu May 24 11:09:41 PDT 2012
I can easily trigger a crash in nouveau interrupt handler by unbinding
and rebinding the GPU.
The command used:
echo $pci_device > nouveau/unbind && \
sleep 5 && \
echo $pci_device > nouveau/bind
Kernel is 3.4.0 with modular drm/nouveau.
GPU is NVidia nForce IGP (NV11)
Unbinding seems to work fine, display switching back to VGA text mode.
Rebinding the GPU slightly later causes the below trace:
Bruno
(analysis following below trace)
[ 1432.012832] Console: switching to colour VGA+ 80x25
[ 1432.014796] drm: unregistered panic notifier
[ 1432.014905] [drm] nouveau 0000:02:00.0: Setting dpms mode 3 on vga encoder (output 0)
[ 1432.026324] [drm] nouveau 0000:02:00.0: 0xAFD8: Parsing digital output script table
[ 1432.026611] [drm] nouveau 0000:02:00.0: Restoring VGA fonts
[ 1432.028353] [TTM] Finalizing pool allocator
[ 1432.029325] [TTM] Zone kernel: Used memory at exit: 0 kiB
[ 1437.066950] [drm] nouveau 0000:02:00.0: Detected an NV10 generation card (0x01a000b1)
[ 1437.068909] [drm] nouveau 0000:02:00.0: Checking PRAMIN for VBIOS
[ 1437.103400] [drm] nouveau 0000:02:00.0: ... BIOS checksum invalid
[ 1437.103459] [drm] nouveau 0000:02:00.0: Checking PROM for VBIOS
[ 1437.103638] [drm] nouveau 0000:02:00.0: ... BIOS checksum invalid
[ 1437.103694] [drm] nouveau 0000:02:00.0: Checking ACPI for VBIOS
[ 1437.103859] [drm] nouveau 0000:02:00.0: ... BIOS checksum invalid
[ 1437.103915] [drm] nouveau 0000:02:00.0: Checking PCIROM for VBIOS
[ 1437.105143] [drm] nouveau 0000:02:00.0: ... appears to be valid
[ 1437.105217] [drm] nouveau 0000:02:00.0: Using VBIOS from PCIROM
[ 1437.105507] [drm] nouveau 0000:02:00.0: BMP BIOS found
[ 1437.105562] [drm] nouveau 0000:02:00.0: BMP version 5.20
[ 1437.105624] [drm] nouveau 0000:02:00.0: Bios version 03.1a.01.03
[ 1437.107663] [drm] nouveau 0000:02:00.0: MXM: no VBIOS data, nothing to do
[ 1437.109053] [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 0 at offset 0xA850
[ 1437.109120] [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 1 at offset 0xADC5
[ 1437.109197] [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 2 at offset 0xA851
[ 1437.109268] [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 3 at offset 0xADC4
[ 1437.109337] [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 4 at offset 0xA875
[ 1437.109405] [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 5 at offset 0xA931
[ 1437.109494] [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 6 at offset 0xA876
[ 1437.109572] [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 7 at offset 0xA8CC
[ 1437.109985] [TTM] Zone kernel: Available graphics memory: 240004 kiB
[ 1437.110079] [TTM] Initializing pool allocator
[ 1437.110177] [drm] nouveau 0000:02:00.0: Detected 32MiB VRAM (unknown type)
[ 1437.110424] agpgart-nvidia 0000:00:00.0: AGP 2.0 bridge
[ 1437.110566] agpgart-nvidia 0000:00:00.0: putting AGP V2 device into 4x mode
[ 1437.110717] nouveau 0000:02:00.0: putting AGP V2 device into 4x mode
[ 1437.110783] agpgart-nvidia 0000:00:00.0: AGP 2.0 bridge
[ 1437.110865] agpgart-nvidia 0000:00:00.0: putting AGP V2 device into 4x mode
[ 1437.111010] nouveau 0000:02:00.0: putting AGP V2 device into 4x mode
[ 1437.111070] [drm] nouveau 0000:02:00.0: 32 MiB GART (aperture)
[ 1437.111233] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111298] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111363] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111427] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111489] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111551] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111613] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111676] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111737] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111800] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111862] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111924] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.111986] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.112048] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.112110] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.112172] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.112233] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.112296] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.112357] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.112420] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 1437.112577] [drm] nouveau 0000:02:00.0: Saving VGA fonts
[ 1437.175978] BUG: unable to handle kernel NULL pointer dereference at (null)
[ 1437.176134] IP: [<c1272dfc>] drm_handle_vblank+0x3c/0x1d0
[ 1437.176314] *pde = 00000000
[ 1437.176403] Oops: 0000 [#1]
[ 1437.176491] Modules linked in: nouveau ttm drm_kms_helper cfbcopyarea mxm_wmi wmi cfbimgblt cfbfillrect nfs lockd nfs_acl sunrpc
[ 1437.177120]
[ 1437.177170] Pid: 1573, comm: bash Not tainted 3.4.0-jupiter-00007-g3b608b6-dirty #9 NVIDIA Corporation. nFORCE-MCP/MS-6373
[ 1437.177440] EIP: 0060:[<c1272dfc>] EFLAGS: 00010056 CPU: 0
[ 1437.177495] EIP is at drm_handle_vblank+0x3c/0x1d0
[ 1437.177549] EAX: 00000000 EBX: dbfe2cb0 ECX: 00000001 EDX: 00000000
[ 1437.177604] ESI: dbfe2cb0 EDI: feffffff EBP: dd40bf6c ESP: dd40bf18
[ 1437.177660] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
[ 1437.177714] CR0: 8005003b CR2: 00000000 CR3: 1cd25000 CR4: 000007d0
[ 1437.177770] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 1437.177825] DR6: ffff0ff0 DR7: 00000400
[ 1437.177878] Process bash (pid: 1573, ti=dd40a000 task=dcdd9090 task.ti=dcd48000)
[ 1437.177940] Stack:
[ 1437.177987] 00000000 00000051 00000003 205b0028 dbd38cf0 00000000 c1022340 dd40bf78
[ 1437.178344] 00000000 dbd38cf0 00000000 dbfe2cb0 00000000 00000002 dd40bf78 dfa00100
[ 1437.178819] 00000002 0000007b dbfe2cb0 00000018 feffffff dd40bf78 de9da248 00000000
[ 1437.179183] Call Trace:
[ 1437.179241] [<c1022340>] ? vmalloc_sync_all+0x130/0x130
[ 1437.179356] [<de9da248>] nv04_vblank_crtc0_isr+0x28/0x30 [nouveau]
[ 1437.179427] [<de971204>] nouveau_irq_handler+0x64/0x100 [nouveau]
[ 1437.179490] [<c10721d0>] ? unmask_irq+0x20/0x20
[ 1437.179545] [<c106ff34>] handle_irq_event_percpu+0x54/0x1f0
[ 1437.179602] [<c10721d0>] ? unmask_irq+0x20/0x20
[ 1437.179656] [<c10700f8>] handle_irq_event+0x28/0x40
[ 1437.179711] [<c107222b>] handle_fasteoi_irq+0x5b/0xf0
[ 1437.179763] <IRQ>
[ 1437.179851] [<c1003f9a>] ? do_IRQ+0x3a/0xb0
[ 1437.179911] [<c14053b0>] ? common_interrupt+0x30/0x38
[ 1437.179969] [<c10c0adc>] ? __slab_alloc.clone.68+0x4c/0x3e0
[ 1437.180005] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 1437.180005] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 1437.180005] [<c14053b0>] ? common_interrupt+0x30/0x38
[ 1437.180005] [<c10c1a5d>] ? __kmalloc+0x15d/0x1f0
[ 1437.180005] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 1437.180005] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 1437.180005] [<de98e36f>] ? nouveau_display_create+0x43f/0x4e0 [nouveau]
[ 1437.180005] [<de96af7c>] ? nouveau_card_init+0x16ac/0x1a70 [nouveau]
[ 1437.180005] [<de969770>] ? nouveau_card_channel_fini+0x20/0x20 [nouveau]
[ 1437.180005] [<de96b86e>] ? nouveau_load+0x3fe/0x830 [nouveau]
[ 1437.180005] [<c1276305>] ? drm_get_pci_dev+0x135/0x260
[ 1437.180005] [<de9f6b79>] ? nouveau_pci_probe+0xd/0xf [nouveau]
[ 1437.180005] [<c11f70a1>] ? local_pci_probe+0x41/0xb0
[ 1437.180005] [<c11f7560>] ? pci_device_probe+0x60/0x80
[ 1437.180005] [<c128ec25>] ? driver_probe_device+0x75/0x1d0
[ 1437.180005] [<c11f6f8a>] ? pci_match_device+0x9a/0xa0
[ 1437.180005] [<c128db87>] ? driver_bind+0x97/0xe0
[ 1437.180005] [<c128daf0>] ? driver_unbind+0x90/0x90
[ 1437.180005] [<c128d217>] ? drv_attr_store+0x27/0x30
[ 1437.180005] [<c1117a59>] ? sysfs_write_file+0x99/0x100
[ 1437.180005] [<c10c95ea>] ? vfs_write+0x9a/0x140
[ 1437.180005] [<c10d6a90>] ? sys_dup3+0xf0/0x150
[ 1437.180005] [<c10d6f8c>] ? do_fcntl+0x36c/0x4a0
[ 1437.180005] [<c11179c0>] ? sysfs_poll+0x90/0x90
[ 1437.180005] [<c10c986d>] ? sys_write+0x3d/0x70
[ 1437.180005] [<c1404e97>] ? sysenter_do_call+0x12/0x26
[ 1437.180005] Code: 00 00 89 55 cc 85 c9 0f 84 4d 01 00 00 9c 8f 45 e0 fa 89 e0 25 00 e0 ff ff ff 40 14 c1 e2 02 8b 86 58 01 00 00 89 55 dc 8b 55 cc <8b> 04 90 85 c0 0f 84 31 01 00 00 8b 45 dc 03 86 48 01 00 00
According to objdump that would match:
bool drm_handle_vblank(struct drm_device *dev, int crtc)
{
u32 vblcount;
s64 diff_ns;
struct timeval tvblank;
unsigned long irqflags;
if (!dev->num_crtcs)
return false;
/* Need timestamp lock to prevent concurrent execution with
* vblank enable/disable, as this would cause inconsistent
* or corrupted timestamps and vblank counts.
*/
spin_lock_irqsave(&dev->vblank_time_lock, irqflags);
/* Vblank irq handling disabled. Nothing to do. */
if (!dev->vblank_enabled[crtc]) {
spin_unlock_irqrestore(&dev->vblank_time_lock, irqflags);
return false;
}
/* Vblank irq handling disabled. Nothing to do. */
if (!dev->vblank_enabled[crtc]) {
1e1d: c1 e2 02 shl $0x2,%edx
1e20: 8b 86 58 01 00 00 mov 0x158(%esi),%eax
1e26: 89 55 dc mov %edx,-0x24(%ebp)
1e29: 8b 55 cc mov -0x34(%ebp),%edx
>>> 1e2c: 8b 04 90 mov (%eax,%edx,4),%eax
1e2f: 85 c0 test %eax,%eax
1e31: 0f 84 31 01 00 00 je 1f68 <drm_handle_vblank+0x178>
That means that dev->vblank_enabled is not initialized yet while IRQs are
already triggering?
I check the assumption that dev->vblank_enabled is NULL by first testing
it before trying to access [crtc] and firing a WARN_ON which indicates that
it happens 3 times untile probing of GPU completes:
[ 149.017679] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 149.017741] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 149.017803] [drm] nouveau 0000:02:00.0: PMC - unhandled INTR 0x01000000
[ 149.017956] [drm] nouveau 0000:02:00.0: Saving VGA fonts
[ 149.082726] ------------[ cut here ]------------
[ 149.082817] WARNING: at /usr/src/linux-git/drivers/gpu/drm/drm_irq.c:1302 drm_handle_vblank+0x1e2/0x1f0()
[ 149.082884] Hardware name: nFORCE-MCP
[ 149.082937] Modules linked in: nouveau ttm cfbcopyarea mxm_wmi wmi cfbimgblt cfbfillrect drm_kms_helper nfs lockd nfs_acl sunrpc
[ 149.083669] Pid: 1564, comm: bash Not tainted 3.4.0-jupiter-00007-g3b608b6-dirty #10
[ 149.083733] Call Trace:
[ 149.083791] [<c102a53d>] warn_slowpath_common+0x6d/0xa0
[ 149.083849] [<c1272fa2>] ? drm_handle_vblank+0x1e2/0x1f0
[ 149.083906] [<c1272fa2>] ? drm_handle_vblank+0x1e2/0x1f0
[ 149.083963] [<c102a58d>] warn_slowpath_null+0x1d/0x20
[ 149.084018] [<c1272fa2>] drm_handle_vblank+0x1e2/0x1f0
[ 149.084078] [<c1022340>] ? vmalloc_sync_all+0x130/0x130
[ 149.084139] [<c1404c29>] ? error_code+0x65/0x6c
[ 149.084198] [<c10721d0>] ? unmask_irq+0x20/0x20
[ 149.084308] [<de9c9248>] nv04_vblank_crtc0_isr+0x28/0x30 [nouveau]
[ 149.084378] [<de960204>] nouveau_irq_handler+0x64/0x100 [nouveau]
[ 149.084459] [<c10721d0>] ? unmask_irq+0x20/0x20
[ 149.084598] [<c106ff34>] handle_irq_event_percpu+0x54/0x1f0
[ 149.084654] [<c10721d0>] ? unmask_irq+0x20/0x20
[ 149.084708] [<c10700f8>] handle_irq_event+0x28/0x40
[ 149.084763] [<c107222b>] handle_fasteoi_irq+0x5b/0xf0
[ 149.084815] <IRQ> [<c1003f9a>] ? do_IRQ+0x3a/0xb0
[ 149.084912] [<c14053b0>] ? common_interrupt+0x30/0x38
[ 149.084968] [<c10c0adc>] ? __slab_alloc.clone.68+0x4c/0x3e0
[ 149.085024] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 149.085078] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 149.085136] [<c103055c>] ? irq_exit+0x5c/0xa0
[ 149.085189] [<c1003fa3>] ? do_IRQ+0x43/0xb0
[ 149.085242] [<c14053b0>] ? common_interrupt+0x30/0x38
[ 149.085296] [<c10c1a5d>] ? __kmalloc+0x15d/0x1f0
[ 149.085350] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 149.085405] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 149.085475] [<de97d36f>] ? nouveau_display_create+0x43f/0x4e0 [nouveau]
[ 149.085544] [<de959f7c>] ? nouveau_card_init+0x16ac/0x1a70 [nouveau]
[ 149.085612] [<de958770>] ? nouveau_card_channel_fini+0x20/0x20 [nouveau]
[ 149.085680] [<de95a86e>] ? nouveau_load+0x3fe/0x830 [nouveau]
[ 149.085737] [<c1276325>] ? drm_get_pci_dev+0x135/0x260
[ 149.085808] [<de9e5b79>] ? nouveau_pci_probe+0xd/0xf [nouveau]
[ 149.085869] [<c11f70a1>] ? local_pci_probe+0x41/0xb0
[ 149.085924] [<c11f7560>] ? pci_device_probe+0x60/0x80
[ 149.085992] [<c128ec45>] ? driver_probe_device+0x75/0x1d0
[ 149.086047] [<c11f6f8a>] ? pci_match_device+0x9a/0xa0
[ 149.086223] [<c128dba7>] ? driver_bind+0x97/0xe0
[ 149.086278] [<c128db10>] ? driver_unbind+0x90/0x90
[ 149.086333] [<c128d237>] ? drv_attr_store+0x27/0x30
[ 149.087347] [<c1117a59>] ? sysfs_write_file+0x99/0x100
[ 149.087404] [<c10c95ea>] ? vfs_write+0x9a/0x140
[ 149.087461] [<c10d6a90>] ? sys_dup3+0xf0/0x150
[ 149.087515] [<c10d6f8c>] ? do_fcntl+0x36c/0x4a0
[ 149.087567] [<c11179c0>] ? sysfs_poll+0x90/0x90
[ 149.087621] [<c10c986d>] ? sys_write+0x3d/0x70
[ 149.087675] [<c1404e97>] ? sysenter_do_call+0x12/0x26
[ 149.087729] ---[ end trace 5d73f7bccc0ebc64 ]---
[ 149.087802] ------------[ cut here ]------------
[ 149.087888] WARNING: at /usr/src/linux-git/drivers/gpu/drm/drm_irq.c:1302 drm_handle_vblank+0x1e2/0x1f0()
[ 149.087953] Hardware name: nFORCE-MCP
[ 149.088002] Modules linked in: nouveau ttm cfbcopyarea mxm_wmi wmi cfbimgblt cfbfillrect drm_kms_helper nfs lockd nfs_acl sunrpc
[ 149.088543] Pid: 1564, comm: bash Tainted: G W 3.4.0-jupiter-00007-g3b608b6-dirty #10
[ 149.088606] Call Trace:
[ 149.088656] [<c102a53d>] warn_slowpath_common+0x6d/0xa0
[ 149.088710] [<c1272fa2>] ? drm_handle_vblank+0x1e2/0x1f0
[ 149.088765] [<c1272fa2>] ? drm_handle_vblank+0x1e2/0x1f0
[ 149.088819] [<c102a58d>] warn_slowpath_null+0x1d/0x20
[ 149.088874] [<c1272fa2>] drm_handle_vblank+0x1e2/0x1f0
[ 149.088928] [<c1022340>] ? vmalloc_sync_all+0x130/0x130
[ 149.088983] [<c1404c29>] ? error_code+0x65/0x6c
[ 149.089036] [<c10721d0>] ? unmask_irq+0x20/0x20
[ 149.089110] [<de9c9248>] nv04_vblank_crtc0_isr+0x28/0x30 [nouveau]
[ 149.089178] [<de960204>] nouveau_irq_handler+0x64/0x100 [nouveau]
[ 149.089234] [<c10721d0>] ? unmask_irq+0x20/0x20
[ 149.089287] [<c106ff34>] handle_irq_event_percpu+0x54/0x1f0
[ 149.089342] [<c10721d0>] ? unmask_irq+0x20/0x20
[ 149.089395] [<c10700f8>] handle_irq_event+0x28/0x40
[ 149.089449] [<c107222b>] handle_fasteoi_irq+0x5b/0xf0
[ 149.089500] <IRQ> [<c1003f9a>] ? do_IRQ+0x3a/0xb0
[ 149.089593] [<c14053b0>] ? common_interrupt+0x30/0x38
[ 149.089651] [<c12d7687>] ? nv_napi_poll+0xe7/0x590
[ 149.089705] [<c103055c>] ? irq_exit+0x5c/0xa0
[ 149.089757] [<c1003fa3>] ? do_IRQ+0x43/0xb0
[ 149.089832] [<c137cf2c>] ? __qdisc_run+0x4c/0x110
[ 149.089889] [<c1368328>] ? net_rx_action+0xd8/0x1b0
[ 149.089943] [<c1030275>] ? __do_softirq+0x85/0x1a0
[ 149.089997] [<c10301f0>] ? local_bh_enable_ip+0x80/0x80
[ 149.090010] <IRQ> [<c1030576>] ? irq_exit+0x76/0xa0
[ 149.090010] [<c1003fa3>] ? do_IRQ+0x43/0xb0
[ 149.090010] [<c14053b0>] ? common_interrupt+0x30/0x38
[ 149.090010] [<c10c0adc>] ? __slab_alloc.clone.68+0x4c/0x3e0
[ 149.090010] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 149.090010] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 149.090010] [<c103055c>] ? irq_exit+0x5c/0xa0
[ 149.090010] [<c1003fa3>] ? do_IRQ+0x43/0xb0
[ 149.090010] [<c14053b0>] ? common_interrupt+0x30/0x38
[ 149.090010] [<c10c1a5d>] ? __kmalloc+0x15d/0x1f0
[ 149.090010] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 149.090010] [<c1271e83>] ? drm_vblank_init+0x43/0x1d0
[ 149.090010] [<de97d36f>] ? nouveau_display_create+0x43f/0x4e0 [nouveau]
[ 149.090010] [<de959f7c>] ? nouveau_card_init+0x16ac/0x1a70 [nouveau]
[ 149.090010] [<de958770>] ? nouveau_card_channel_fini+0x20/0x20 [nouveau]
[ 149.090010] [<de95a86e>] ? nouveau_load+0x3fe/0x830 [nouveau]
[ 149.090010] [<c1276325>] ? drm_get_pci_dev+0x135/0x260
[ 149.090010] [<de9e5b79>] ? nouveau_pci_probe+0xd/0xf [nouveau]
[ 149.090010] [<c11f70a1>] ? local_pci_probe+0x41/0xb0
[ 149.090010] [<c11f7560>] ? pci_device_probe+0x60/0x80
[ 149.090010] [<c128ec45>] ? driver_probe_device+0x75/0x1d0
[ 149.090010] [<c11f6f8a>] ? pci_match_device+0x9a/0xa0
[ 149.090010] [<c128dba7>] ? driver_bind+0x97/0xe0
[ 149.090010] [<c128db10>] ? driver_unbind+0x90/0x90
[ 149.090010] [<c128d237>] ? drv_attr_store+0x27/0x30
[ 149.090010] [<c1117a59>] ? sysfs_write_file+0x99/0x100
[ 149.090010] [<c10c95ea>] ? vfs_write+0x9a/0x140
[ 149.090010] [<c10d6a90>] ? sys_dup3+0xf0/0x150
[ 149.090010] [<c10d6f8c>] ? do_fcntl+0x36c/0x4a0
[ 149.090010] [<c11179c0>] ? sysfs_poll+0x90/0x90
[ 149.090010] [<c10c986d>] ? sys_write+0x3d/0x70
[ 149.090010] [<c1404e97>] ? sysenter_do_call+0x12/0x26
[ 149.090010] ---[ end trace 5d73f7bccc0ebc65 ]---
[ 149.097648] ------------[ cut here ]------------
[ 149.097726] WARNING: at /usr/src/linux-git/drivers/gpu/drm/drm_irq.c:1302 drm_handle_vblank+0x1e2/0x1f0()
[ 149.097793] Hardware name: nFORCE-MCP
[ 149.097842] Modules linked in: nouveau ttm cfbcopyarea mxm_wmi wmi cfbimgblt cfbfillrect drm_kms_helper nfs lockd nfs_acl sunrpc
[ 149.098398] Pid: 1835, comm: syslog-ng Tainted: G W 3.4.0-jupiter-00007-g3b608b6-dirty #10
[ 149.098463] Call Trace:
[ 149.098519] [<c102a53d>] warn_slowpath_common+0x6d/0xa0
[ 149.098575] [<c1272fa2>] ? drm_handle_vblank+0x1e2/0x1f0
[ 149.098632] [<c1272fa2>] ? drm_handle_vblank+0x1e2/0x1f0
[ 149.098686] [<c102a58d>] warn_slowpath_null+0x1d/0x20
[ 149.098741] [<c1272fa2>] drm_handle_vblank+0x1e2/0x1f0
[ 149.098800] [<c1022340>] ? vmalloc_sync_all+0x130/0x130
[ 149.098860] [<c1404c29>] ? error_code+0x65/0x6c
[ 149.098973] [<de9c9248>] nv04_vblank_crtc0_isr+0x28/0x30 [nouveau]
[ 149.099042] [<de960204>] nouveau_irq_handler+0x64/0x100 [nouveau]
[ 149.099103] [<c106ff34>] handle_irq_event_percpu+0x54/0x1f0
[ 149.099158] [<c10700f8>] handle_irq_event+0x28/0x40
[ 149.099214] [<c107222b>] handle_fasteoi_irq+0x5b/0xf0
[ 149.099271] [<c1004176>] handle_irq+0x56/0xe0
[ 149.099323] [<c1003f9a>] do_IRQ+0x3a/0xb0
[ 149.099380] [<c10c986d>] ? sys_write+0x3d/0x70
[ 149.099435] [<c14053b0>] common_interrupt+0x30/0x38
[ 149.099488] ---[ end trace 5d73f7bccc0ebc66 ]---
[ 149.100069] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 149.100130] [drm] No driver support for vblank timestamp query.
[ 149.100224] [drm] nouveau 0000:02:00.0: 0 available performance level(s)
[ 149.100284] [drm] nouveau 0000:02:00.0: c: core 174MHz memory 0MHz
[ 149.102004] [drm] nouveau 0000:02:00.0: 0xAFD8: Parsing digital output script table
[ 149.102299] [drm] nouveau 0000:02:00.0: Setting dpms mode 3 on vga encoder (output 0)
[ 149.102365] [drm] nouveau 0000:02:00.0: Setting dpms mode 3 on tmds encoder (output 1)
[ 149.297232] [drm] nouveau 0000:02:00.0: Load detected on head A
[ 149.305870] [drm] Got external EDID base block and 0 extensions from "edid/iiyama-ProLite_E431.bin" for connector "DVI-I-2"
[ 149.307904] [drm] nouveau 0000:02:00.0: allocated 1280x1024 fb: 0x45000, bo dcea6000
[ 149.308177] fbcon: New framebuffer notification for fb0
[ 149.308233] fbcon: nouveaufb (fb0) is primary device
[ 149.308294] fbcon: info_fb unset...
[ 149.319739] [drm] nouveau 0000:02:00.0: Setting dpms mode 0 on vga encoder (output 0)
[ 149.319746] [drm] nouveau 0000:02:00.0: Output DVI-I-2 is running on CRTC 0 using output A
[ 149.325136] Console: switching to colour frame buffer device 160x64
[ 149.327824] fbcon: info_fb set, takeover = 0...
[ 149.327851] fbcon: info is dcd3b4d0, info_fb is dcd3b4d0, con2fb_map[0] = dcd3b4d0, con2fb_map_boot[0] = 0
[ 149.327901] fb0: nouveaufb frame buffer device
[ 149.327930] drm: registered panic notifier
[ 149.327967] [drm] Initialized nouveau 1.0.0 20120316 for 0000:02:00.0 on minor 0
More information about the dri-devel
mailing list