Hi Lutz, just an educated guess, but I think the problem is simply that kernel 3.14 doesn't yet contain the code so that radeon_fence_get() can safely called with a NULL pointer.
So the backport of Nicolai's patch needs and extra check for the case when the fence is NULL. Regards, Christian. Am 05.03.2016 um 18:16 schrieb Lutz Euler: > Hi, > > after upgrading from kernel 3.14.62 to 3.14.63, while surfing, the > screen suddenly got black and the mouse cursor froze. I had to reset > the machine and found an oops followed by repeated messages > "BUG: scheduling while atomic: Xorg/3757/0x00000002" in the logs. > I have copied the oops and the first of these messages below. > > This was repeatable: After the reboot, when the browser restored its > tabs, the oops occurred again. I then rebooted into 3.14.62 and the > problem didn't occur again. > > Just guessing: Of the commits regarding radeon between these two > kernel versions might the following be involved > > Nicolai Hähnle (1): > drm/radeon: hold reference to fences in radeon_sa_bo_new > > as it mentions fences and the stack trace starts with radeon_sa_bo_new? > > Thanks and Regards, > > Lutz > > From lspci -v: > > 05:00.0 VGA compatible controller: ATI Technologies Inc NI Caicos [AMD RADEON > HD 6450] (prog-if 00 [VGA controller]) > Subsystem: PC Partner Limited Device e164 > Flags: bus master, fast devsel, latency 0, IRQ 53 > Memory at d0000000 (64-bit, prefetchable) [size=256M] > Memory at fe9e0000 (64-bit, non-prefetchable) [size=128K] > I/O ports at e000 [size=256] > Expansion ROM at fe9c0000 [disabled] [size=128K] > Capabilities: [50] Power Management version 3 > Capabilities: [58] Express Legacy Endpoint, MSI 00 > Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ > Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 > <?> > Capabilities: [150] Advanced Error Reporting > Kernel driver in use: radeon > Kernel modules: radeon > > X.Org version: 1.10.4 > > decodecode of the oops: > > Mar 5 15:04:58 lutz kernel: [ 6995.216776] Code: c7 c6 d8 3e 36 a0 31 c0 45 > 31 e4 e8 7b 70 15 e1 eb b5 66 0f 1f 84 00 00 00 00 00 55 48 89 f8 ba 01 00 00 > 00 48 89 e5 48 83 ec 10 <f0> 0f c1 57 08 ff c2 ff ca 7e 02 c9 c3 80 3d 10 ae > 10 00 01 74 > All code > ======== > 0: c7 c6 d8 3e 36 a0 mov $0xa0363ed8,%esi > 6: 31 c0 xor %eax,%eax > 8: 45 31 e4 xor %r12d,%r12d > b: e8 7b 70 15 e1 callq 0xffffffffe115708b > 10: eb b5 jmp 0xffffffffffffffc7 > 12: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) > 19: 00 00 > 1b: 55 push %rbp > 1c: 48 89 f8 mov %rdi,%rax > 1f: ba 01 00 00 00 mov $0x1,%edx > 24: 48 89 e5 mov %rsp,%rbp > 27: 48 83 ec 10 sub $0x10,%rsp > 2b:* f0 0f c1 57 08 lock xadd %edx,0x8(%rdi) > <-- trapping instruction > 30: ff c2 inc %edx > 32: ff ca dec %edx > 34: 7e 02 jle 0x38 > 36: c9 leaveq > 37: c3 retq > 38: 80 3d 10 ae 10 00 01 cmpb $0x1,0x10ae10(%rip) # > 0x10ae4f > 3f: 74 .byte 0x74 > > Code starting with the faulting instruction > =========================================== > 0: f0 0f c1 57 08 lock xadd %edx,0x8(%rdi) > 5: ff c2 inc %edx > 7: ff ca dec %edx > 9: 7e 02 jle 0xd > b: c9 leaveq > c: c3 retq > d: 80 3d 10 ae 10 00 01 cmpb $0x1,0x10ae10(%rip) # > 0x10ae24 > 14: 74 .byte 0x74 > > Mar 5 15:04:58 lutz kernel: [ 6995.192330] BUG: unable to handle kernel NULL > pointer dereference at 0000000000000008 > Mar 5 15:04:58 lutz kernel: [ 6995.192375] IP: [<ffffffffa02776c0>] > radeon_fence_ref+0x10/0x50 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.192441] PGD 22a86a067 PUD 22d8e8067 PMD 0 > Mar 5 15:04:58 lutz kernel: [ 6995.192463] Oops: 0002 [#1] PREEMPT SMP > Mar 5 15:04:58 lutz kernel: [ 6995.192484] Modules linked in: binfmt_misc > parport_pc ppdev snd_hda_codec_hdmi snd_opl3_synth snd_seq_midi_emul > snd_hda_intel snd_hda_codec snd_es1938 gameport snd_pcm_oss snd_mixer_oss > snd_seq_dummy snd_pcm snd_seq_oss snd_opl3_lib snd_hwdep snd_mpu401_uart > snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq psmouse fbcon tileblit > edac_core font serio_raw i2c_piix4 bitblit softcursor radeon snd_seq_device > snd_timer hwmon_vid ttm drm_kms_helper asus_atk0110 drm i2c_algo_bit snd > soundcore lp parport usbhid btrfs raid6_pq zlib_deflate xor r8169 mii > xhci_hcd libcrc32c > Mar 5 15:04:58 lutz kernel: [ 6995.192741] CPU: 5 PID: 3757 Comm: Xorg Not > tainted 3.14.63 #1 > Mar 5 15:04:58 lutz kernel: [ 6995.192765] Hardware name: System > manufacturer System Product Name/M4A87TD/USB3, BIOS 1202 02/17/2011 > Mar 5 15:04:58 lutz kernel: [ 6995.192803] task: ffff88022c1d5f80 ti: > ffff8800c42a6000 task.ti: ffff8800c42a6000 > Mar 5 15:04:58 lutz kernel: [ 6995.192833] RIP: 0010:[<ffffffffa02776c0>] > [<ffffffffa02776c0>] radeon_fence_ref+0x10/0x50 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.192881] RSP: 0018:ffff8800c42a7a68 > EFLAGS: 00010282 > Mar 5 15:04:58 lutz kernel: [ 6995.192903] RAX: 0000000000000000 RBX: > ffff8800c5d61328 RCX: 0000000000000000 > Mar 5 15:04:58 lutz kernel: [ 6995.192931] RDX: 0000000000000001 RSI: > 0000000000000000 RDI: 0000000000000000 > Mar 5 15:04:58 lutz kernel: [ 6995.192960] RBP: ffff8800c42a7a78 R08: > ffff8800c5d60000 R09: 0000000000000000 > Mar 5 15:04:58 lutz kernel: [ 6995.192988] R10: 0000000000000000 R11: > 0000000000000000 R12: 0000000000000100 > Mar 5 15:04:58 lutz kernel: [ 6995.193016] R13: ffff8800c5d613b0 R14: > ffff8800c42a7ae8 R15: ffff8800c42a7b08 > Mar 5 15:04:58 lutz kernel: [ 6995.193045] FS: 00007f7ebe91d8a0(0000) > GS:ffff880237d40000(0000) knlGS:0000000000000000 > Mar 5 15:04:58 lutz kernel: [ 6995.193076] CS: 0010 DS: 0000 ES: 0000 CR0: > 0000000080050033 > Mar 5 15:04:58 lutz kernel: [ 6995.193100] CR2: 0000000000000008 CR3: > 000000022de3e000 CR4: 00000000000007e0 > Mar 5 15:04:58 lutz kernel: [ 6995.193128] Stack: > Mar 5 15:04:58 lutz kernel: [ 6995.193137] ffff880159dcef00 > ffff8800c5d61328 ffff8800c42a7b88 ffffffffa02d9f22 > Mar 5 15:04:58 lutz kernel: [ 6995.193170] 01ff8800c42a7a98 > ffff8800c5d60000 ffff8800c42a7b08 ffff8800c42a7c88 > Mar 5 15:04:58 lutz kernel: [ 6995.193203] 0000f00455ee5200 > ffff8800c5d613b0 00000100c42a7b08 0006e97800200000 > Mar 5 15:04:58 lutz kernel: [ 6995.193237] Call Trace: > Mar 5 15:04:58 lutz kernel: [ 6995.194709] [<ffffffffa02d9f22>] > radeon_sa_bo_new+0x302/0x590 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.196175] [<ffffffff811551e6>] ? > __kmalloc+0x66/0x1d0 > Mar 5 15:04:58 lutz kernel: [ 6995.197659] [<ffffffffa028f849>] ? > copy_from_user+0x9/0x10 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.199160] [<ffffffffa028dcb3>] > radeon_ib_get+0x43/0xe0 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.200655] [<ffffffffa0290111>] > radeon_cs_ioctl+0x201/0xac0 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.202135] [<ffffffff812ffe52>] ? > idr_mark_full+0x52/0x70 > Mar 5 15:04:58 lutz kernel: [ 6995.203620] [<ffffffffa01b6b31>] > drm_ioctl+0x401/0x580 [drm] > Mar 5 15:04:58 lutz kernel: [ 6995.205094] [<ffffffffa028ff10>] ? > radeon_cs_parser_init+0x470/0x470 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.206564] [<ffffffff816572dc>] ? > __do_page_fault+0x1cc/0x560 > Mar 5 15:04:58 lutz kernel: [ 6995.208033] [<ffffffffa025e349>] > radeon_drm_ioctl+0x9/0x10 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.209510] [<ffffffff8116fe21>] > do_vfs_ioctl+0x81/0x4d0 > Mar 5 15:04:58 lutz kernel: [ 6995.210975] [<ffffffff81137f29>] ? > SyS_mmap_pgoff+0xd9/0x210 > Mar 5 15:04:58 lutz kernel: [ 6995.212432] [<ffffffff81170301>] > SyS_ioctl+0x91/0xa0 > Mar 5 15:04:58 lutz kernel: [ 6995.213874] [<ffffffff8165767c>] ? > do_page_fault+0xc/0x10 > Mar 5 15:04:58 lutz kernel: [ 6995.215323] [<ffffffff8165b542>] > system_call_fastpath+0x16/0x1b > Mar 5 15:04:58 lutz kernel: [ 6995.216776] Code: c7 c6 d8 3e 36 a0 31 c0 45 > 31 e4 e8 7b 70 15 e1 eb b5 66 0f 1f 84 00 00 00 00 00 55 48 89 f8 ba 01 00 00 > 00 48 89 e5 48 83 ec 10 <f0> 0f c1 57 08 ff c2 ff ca 7e 02 c9 c3 80 3d 10 ae > 10 00 01 74 > Mar 5 15:04:58 lutz kernel: [ 6995.218402] RIP [<ffffffffa02776c0>] > radeon_fence_ref+0x10/0x50 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.219987] RSP <ffff8800c42a7a68> > Mar 5 15:04:58 lutz kernel: [ 6995.221568] CR2: 0000000000000008 > Mar 5 15:04:58 lutz kernel: [ 6995.234168] ---[ end trace 37c0545f39a2b3e5 > ]--- > > Mar 5 15:04:58 lutz kernel: [ 6995.234170] note: Xorg[3757] exited with > preempt_count 1 > Mar 5 15:04:58 lutz kernel: [ 6995.239926] BUG: scheduling while atomic: > Xorg/3757/0x00000002 > Mar 5 15:04:58 lutz kernel: [ 6995.239931] Modules linked in: binfmt_misc > parport_pc ppdev snd_hda_codec_hdmi snd_opl3_synth snd_seq_midi_emul > snd_hda_intel snd_hda_c > odec snd_es1938 gameport snd_pcm_oss snd_mixer_oss snd_seq_dummy snd_pcm > snd_seq_oss snd_opl3_lib snd_hwdep snd_mpu401_uart snd_seq_midi snd_rawmidi > snd_seq_midi_event > snd_seq psmouse fbcon tileblit edac_core font serio_raw i2c_piix4 bitblit > softcursor radeon snd_seq_device snd_timer hwmon_vid ttm drm_kms_helper > asus_atk0110 drm i2c > _algo_bit snd soundcore lp parport usbhid btrfs raid6_pq zlib_deflate xor > r8169 mii xhci_hcd libcrc32c > Mar 5 15:04:58 lutz kernel: [ 6995.239960] CPU: 5 PID: 3757 Comm: Xorg > Tainted: G D 3.14.63 #1 > Mar 5 15:04:58 lutz kernel: [ 6995.239961] Hardware name: System > manufacturer System Product Name/M4A87TD/USB3, BIOS 1202 02/17/2011 > Mar 5 15:04:58 lutz kernel: [ 6995.239963] 0000000000000000 > ffff8800c42a7078 ffffffff8164f89c ffff880237d518c0 > Mar 5 15:04:58 lutz kernel: [ 6995.239965] 0000000000000005 > ffff8800c42a7088 ffffffff81075d27 ffff8800c42a70f8 > Mar 5 15:04:58 lutz kernel: [ 6995.239967] ffffffff81650680 > ffff8800c42a7184 ffff88022c1d5f80 ffff8800c42a6000 > Mar 5 15:04:58 lutz kernel: [ 6995.239969] Call Trace: > Mar 5 15:04:58 lutz kernel: [ 6995.239976] [<ffffffff8164f89c>] > dump_stack+0x4f/0x6b > Mar 5 15:04:58 lutz kernel: [ 6995.239980] [<ffffffff81075d27>] > __schedule_bug+0x47/0x60 > Mar 5 15:04:58 lutz kernel: [ 6995.239982] [<ffffffff81650680>] > __schedule+0x600/0x810 > Mar 5 15:04:58 lutz kernel: [ 6995.239984] [<ffffffff81650984>] > schedule+0x24/0x70 > Mar 5 15:04:58 lutz kernel: [ 6995.239986] [<ffffffff8164fa11>] > schedule_timeout+0x151/0x320 > Mar 5 15:04:58 lutz kernel: [ 6995.239989] [<ffffffff81056b60>] ? > call_timer_fn+0x1a0/0x1a0 > Mar 5 15:04:58 lutz kernel: [ 6995.240028] [<ffffffffa027713a>] > radeon_fence_wait_seq+0x3ca/0x530 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240043] [<ffffffffa02c1740>] ? > evergreen_program_watermarks+0x150/0x670 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240046] [<ffffffff8108a210>] ? > bit_waitqueue+0xd0/0xd0 > Mar 5 15:04:58 lutz kernel: [ 6995.240062] [<ffffffffa02c004b>] ? > evergreen_line_buffer_adjust.clone.5+0xcb/0x1a0 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240073] [<ffffffffa0277680>] > radeon_fence_wait_empty_locked+0xb0/0xe0 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240088] [<ffffffffa02bb83d>] > radeon_pm_compute_clocks+0x59d/0x840 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240100] [<ffffffffa026a69f>] > atombios_crtc_dpms+0x6f/0x100 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240111] [<ffffffffa026bc08>] > atombios_crtc_disable+0x28/0x2f0 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240126] [<ffffffffa02d8844>] ? > radeon_atom_encoder_dpms+0xf4/0x230 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240132] [<ffffffffa021b305>] > drm_helper_disable_unused_functions+0x105/0x160 [drm_kms_helper] > Mar 5 15:04:58 lutz kernel: [ 6995.240135] [<ffffffffa021c610>] > drm_crtc_helper_set_config+0x130/0x970 [drm_kms_helper] > Mar 5 15:04:58 lutz kernel: [ 6995.240138] [<ffffffff81155962>] ? > __slab_free+0x302/0x480 > Mar 5 15:04:58 lutz kernel: [ 6995.240151] [<ffffffffa0285061>] > radeon_crtc_set_config+0x31/0xb0 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240172] [<ffffffffa01c16ac>] > drm_mode_set_config_internal+0x5c/0xe0 [drm] > Mar 5 15:04:58 lutz kernel: [ 6995.240180] [<ffffffffa01c30bd>] > drm_framebuffer_remove+0x10d/0x160 [drm] > Mar 5 15:04:58 lutz kernel: [ 6995.240188] [<ffffffffa01c6605>] > drm_fb_release+0xa5/0xd0 [drm] > Mar 5 15:04:58 lutz kernel: [ 6995.240195] [<ffffffffa01b7e18>] > drm_release+0x548/0x5c0 [drm] > Mar 5 15:04:58 lutz kernel: [ 6995.240198] [<ffffffff8115f5a4>] > __fput+0xa4/0x220 > Mar 5 15:04:58 lutz kernel: [ 6995.240199] [<ffffffff8115f769>] > ____fput+0x9/0x10 > Mar 5 15:04:58 lutz kernel: [ 6995.240202] [<ffffffff8106a80c>] > task_work_run+0xac/0xd0 > Mar 5 15:04:58 lutz kernel: [ 6995.240205] [<ffffffff8104dc30>] > do_exit+0x2c0/0xac0 > Mar 5 15:04:58 lutz kernel: [ 6995.240207] [<ffffffff8164f77b>] ? > printk+0x48/0x4a > Mar 5 15:04:58 lutz kernel: [ 6995.240209] [<ffffffff8109bc29>] ? > kmsg_dump+0xb9/0xd0 > Mar 5 15:04:58 lutz kernel: [ 6995.240211] [<ffffffff8165553a>] > oops_end+0x9a/0xe0 > Mar 5 15:04:58 lutz kernel: [ 6995.240214] [<ffffffff8103ee32>] > no_context+0x132/0x2e0 > Mar 5 15:04:58 lutz kernel: [ 6995.240216] [<ffffffff8103f0f5>] > __bad_area_nosemaphore+0x115/0x210 > Mar 5 15:04:58 lutz kernel: [ 6995.240218] [<ffffffff811136d1>] ? > __alloc_pages_nodemask+0x141/0x910 > Mar 5 15:04:58 lutz kernel: [ 6995.240220] [<ffffffff8103f1fe>] > bad_area_nosemaphore+0xe/0x10 > Mar 5 15:04:58 lutz kernel: [ 6995.240222] [<ffffffff81657442>] > __do_page_fault+0x332/0x560 > Mar 5 15:04:58 lutz kernel: [ 6995.240230] [<ffffffffa022b8bb>] ? > ttm_mem_global_alloc_zone.clone.1+0x12b/0x150 [ttm] > Mar 5 15:04:58 lutz kernel: [ 6995.240233] [<ffffffffa022bc12>] ? > ttm_mem_global_alloc_page+0x42/0x50 [ttm] > Mar 5 15:04:58 lutz kernel: [ 6995.240237] [<ffffffff8114dd3e>] ? > alloc_pages_current+0xae/0x170 > Mar 5 15:04:58 lutz kernel: [ 6995.240238] [<ffffffff8165767c>] > do_page_fault+0xc/0x10 > Mar 5 15:04:58 lutz kernel: [ 6995.240240] [<ffffffff816549d2>] > page_fault+0x22/0x30 > Mar 5 15:04:58 lutz kernel: [ 6995.240252] [<ffffffffa02776c0>] ? > radeon_fence_ref+0x10/0x50 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240268] [<ffffffffa02d9f22>] > radeon_sa_bo_new+0x302/0x590 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240270] [<ffffffff811551e6>] ? > __kmalloc+0x66/0x1d0 > Mar 5 15:04:58 lutz kernel: [ 6995.240283] [<ffffffffa028f849>] ? > copy_from_user+0x9/0x10 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240296] [<ffffffffa028dcb3>] > radeon_ib_get+0x43/0xe0 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240309] [<ffffffffa0290111>] > radeon_cs_ioctl+0x201/0xac0 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240312] [<ffffffff812ffe52>] ? > idr_mark_full+0x52/0x70 > Mar 5 15:04:58 lutz kernel: [ 6995.240320] [<ffffffffa01b6b31>] > drm_ioctl+0x401/0x580 [drm] > Mar 5 15:04:58 lutz kernel: [ 6995.240333] [<ffffffffa028ff10>] ? > radeon_cs_parser_init+0x470/0x470 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240335] [<ffffffff816572dc>] ? > __do_page_fault+0x1cc/0x560 > Mar 5 15:04:58 lutz kernel: [ 6995.240346] [<ffffffffa025e349>] > radeon_drm_ioctl+0x9/0x10 [radeon] > Mar 5 15:04:58 lutz kernel: [ 6995.240348] [<ffffffff8116fe21>] > do_vfs_ioctl+0x81/0x4d0 > Mar 5 15:04:58 lutz kernel: [ 6995.240351] [<ffffffff81137f29>] ? > SyS_mmap_pgoff+0xd9/0x210 > Mar 5 15:04:58 lutz kernel: [ 6995.240353] [<ffffffff81170301>] > SyS_ioctl+0x91/0xa0 > Mar 5 15:04:58 lutz kernel: [ 6995.240355] [<ffffffff8165767c>] ? > do_page_fault+0xc/0x10 > Mar 5 15:04:58 lutz kernel: [ 6995.240357] [<ffffffff8165b542>] > system_call_fastpath+0x16/0x1b > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel