====================================== | [ 588.987909][ C1] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) | [ 588.987912][ C1] | [ 588.987913][ C1] | [ 588.987913][ C1] stack backtrace: [ 588.987928][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 588.987938][ C1] Call Trace: [ 588.987944][ C1] [ 588.987947][ C1] dump_stack_lvl (lib/dump_stack.c:123) [ 588.987955][ C1] print_irq_inversion_bug.part.0 (kernel/locking/lockdep.c:4127) [ 588.987962][ C1] mark_lock_irq (kernel/locking/lockdep.c:4295) [ 588.987971][ C1] mark_lock (kernel/locking/lockdep.c:4753) [ 588.987976][ C1] mark_usage (kernel/locking/lockdep.c:4639) [ 588.987980][ C1] __lock_acquire (kernel/locking/lockdep.c:5191) [ 588.987986][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) [ 588.987990][ C1] ? console_lock_spinning_enable (kernel/printk/printk.c:1924) [ 588.987995][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 588.988007][ C1] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5831) [ 588.988010][ C1] ? console_lock_spinning_enable (kernel/printk/printk.c:1924) [ 588.988016][ C1] console_lock_spinning_enable (kernel/printk/printk.c:1925) [ 588.988021][ C1] ? console_lock_spinning_enable (kernel/printk/printk.c:1924) [ 588.988025][ C1] console_emit_next_record (kernel/printk/printk.c:3050 (discriminator 3) kernel/printk/printk.c:3137 (discriminator 3)) [ 588.988031][ C1] ? devkmsg_read (kernel/printk/printk.c:3082) [ 588.988036][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 588.988043][ C1] console_flush_all (kernel/printk/printk.c:3227) [ 588.988049][ C1] ? console_emit_next_record (kernel/printk/printk.c:3188) [ 588.988053][ C1] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 588.988059][ C1] console_unlock (kernel/printk/printk.c:3286 kernel/printk/printk.c:3325) [ 588.988063][ C1] ? console_flush_all (kernel/printk/printk.c:3320) [ 588.988067][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 588.988072][ C1] ? irq_work_single (kernel/irq_work.c:222) [ 588.988076][ C1] ? irq_work_single (kernel/irq_work.c:222) [ 588.988082][ C1] wake_up_klogd_work_func (kernel/printk/printk.c:4529) [ 588.988087][ C1] irq_work_single (kernel/irq_work.c:222) [ 588.988093][ C1] irq_work_run_list (kernel/irq_work.c:251 (discriminator 3)) [ 588.988097][ C1] ? irq_work_tick (kernel/irq_work.c:277) [ 588.988101][ C1] update_process_times (kernel/time/timer.c:2478) [ 588.988106][ C1] tick_nohz_handler (kernel/time/tick-sched.c:277 kernel/time/tick-sched.c:297) [ 588.988110][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 588.988115][ C1] __run_hrtimer (kernel/time/hrtimer.c:1761) [ 588.988120][ C1] ? tick_do_update_jiffies64.part.0 (kernel/time/tick-sched.c:285) [ 588.988126][ C1] __hrtimer_run_queues (./include/linux/timerqueue.h:25 kernel/time/hrtimer.c:1805) [ 588.988131][ C1] ? hrtimer_interrupt (kernel/time/hrtimer.c:640 (discriminator 2) kernel/time/hrtimer.c:1869 (discriminator 2)) [ 588.988136][ C1] ? __run_hrtimer (kernel/time/hrtimer.c:1795) [ 588.988140][ C1] ? kvm_clock_get_cycles (./arch/x86/include/asm/preempt.h:95 arch/x86/kernel/kvmclock.c:80 arch/x86/kernel/kvmclock.c:86) [ 588.988152][ C1] hrtimer_interrupt (kernel/time/hrtimer.c:1890) [ 588.988161][ C1] __sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1057) [ 588.988166][ C1] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1050 arch/x86/kernel/apic/apic.c:1050) [ 588.988171][ C1] [ 588.988172][ C1] [ 588.988177][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) [ 588.988182][ C1] RIP: 0010:lock_is_held_type (kernel/locking/lockdep.c:5945) [ 588.988189][ C1] Code: 00 00 b8 ff ff ff ff 65 0f c1 05 f9 f6 05 02 83 f8 01 75 29 9c 58 f6 c4 02 75 3f 48 f7 04 24 00 02 00 00 74 01 fb 48 83 c4 08 <44> 89 e8 5b 5d 41 5c 41 5d 41 5e 41 5f c3 45 31 ed eb b9 90 0f 0b All code ======== 0: 00 00 add %al,(%rax) 2: b8 ff ff ff ff mov $0xffffffff,%eax 7: 65 0f c1 05 f9 f6 05 xadd %eax,%gs:0x205f6f9(%rip) # 0x205f708 e: 02 f: 83 f8 01 cmp $0x1,%eax 12: 75 29 jne 0x3d 14: 9c pushf 15: 58 pop %rax 16: f6 c4 02 test $0x2,%ah 19: 75 3f jne 0x5a 1b: 48 f7 04 24 00 02 00 testq $0x200,(%rsp) 22: 00 23: 74 01 je 0x26 25: fb sti 26: 48 83 c4 08 add $0x8,%rsp 2a:* 44 89 e8 mov %r13d,%eax <-- trapping instruction 2d: 5b pop %rbx 2e: 5d pop %rbp 2f: 41 5c pop %r12 31: 41 5d pop %r13 33: 41 5e pop %r14 35: 41 5f pop %r15 37: c3 ret 38: 45 31 ed xor %r13d,%r13d 3b: eb b9 jmp 0xfffffffffffffff6 3d: 90 nop 3e: 0f 0b ud2 Code starting with the faulting instruction =========================================== 0: 44 89 e8 mov %r13d,%eax 3: 5b pop %rbx 4: 5d pop %rbp 5: 41 5c pop %r12 7: 41 5d pop %r13 9: 41 5e pop %r14 b: 41 5f pop %r15 d: c3 ret e: 45 31 ed xor %r13d,%r13d 11: eb b9 jmp 0xffffffffffffffcc 13: 90 nop 14: 0f 0b ud2 [ 588.988193][ C1] RSP: 0018:ffffc900009d7b28 EFLAGS: 00000286 [ 588.988203][ C1] RAX: 0000000000000046 RBX: 0000000000000000 RCX: 0000000000000001 [ 588.988206][ C1] RDX: 0000000000000000 RSI: ffffffffb5fd2fd9 RDI: ffffffffb5a57960 [ 588.988209][ C1] RBP: ffffffffb656f8c0 R08: 0000000000000104 R09: ffff888004bd16c0 [ 588.988212][ C1] R10: ffffc900009d7bc0 R11: 0000000000000041 R12: ffff88800c2bc5c0 [ 588.988215][ C1] R13: 0000000000000000 R14: 00000000ffffffff R15: ffffc900009d7c90 [ 588.988225][ C1] __might_resched (kernel/sched/core.c:8919) [ 588.988230][ C1] __might_fault (mm/memory.c:6957) [ 588.988234][ C1] core_sys_select (./include/linux/instrumented.h:112 ./include/linux/uaccess.h:145 fs/select.c:401 fs/select.c:398 fs/select.c:688) [ 588.988241][ C1] ? poll_select_set_timeout (fs/select.c:623) [ 588.988250][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 588.988261][ C1] ? __might_fault (mm/memory.c:6958 mm/memory.c:6952) [ 588.988265][ C1] ? __lock_release (kernel/locking/lockdep.c:5536) [ 588.988271][ C1] ? __might_fault (mm/memory.c:6958 mm/memory.c:6952) [ 588.988276][ C1] ? _copy_from_user (./arch/x86/include/asm/smap.h:29 ./arch/x86/include/asm/uaccess_64.h:134 ./arch/x86/include/asm/uaccess_64.h:141 ./include/linux/uaccess.h:178 lib/usercopy.c:18) [ 588.988282][ C1] ? _copy_from_user (./arch/x86/include/asm/smap.h:29 ./arch/x86/include/asm/uaccess_64.h:134 ./arch/x86/include/asm/uaccess_64.h:141 ./include/linux/uaccess.h:178 lib/usercopy.c:18) [ 588.988286][ C1] ? get_timespec64 (kernel/time/time.c:878) [ 588.988291][ C1] ? __set_current_blocked (kernel/signal.c:3273) [ 588.988299][ C1] ? trace_rseq_update (./include/trace/events/rseq.h:11 (discriminator 21)) [ 588.988312][ C1] do_pselect.constprop.0 (fs/select.c:760) [ 588.988316][ C1] ? __rseq_handle_notify_resume (kernel/rseq.c:442) [ 588.988323][ C1] ? kern_select (fs/select.c:728) [ 588.988328][ C1] ? ksys_read (fs/read_write.c:715) [ 588.988334][ C1] ? vfs_write (fs/read_write.c:705) [ 588.988339][ C1] __x64_sys_pselect6 (fs/select.c:802 fs/select.c:793 fs/select.c:793) [ 588.988344][ C1] ? do_syscall_64 (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 ./include/linux/entry-common.h:124 arch/x86/entry/syscall_64.c:90) [ 588.988347][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 588.988352][ C1] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 588.988356][ C1] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 588.988360][ C1] RIP: 0033:0x7fd388670c04 [ 588.988365][ C1] Code: 30 4c 89 4c 24 40 48 c7 44 24 48 08 00 00 00 64 8b 04 25 18 00 00 00 4c 8d 4c 24 40 85 c0 75 36 4c 89 f2 b8 0e 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 80 00 00 00 48 8b 54 24 58 64 48 2b 14 25 All code ======== 0: 30 4c 89 4c xor %cl,0x4c(%rcx,%rcx,4) 4: 24 40 and $0x40,%al 6: 48 c7 44 24 48 08 00 movq $0x8,0x48(%rsp) d: 00 00 f: 64 8b 04 25 18 00 00 mov %fs:0x18,%eax 16: 00 17: 4c 8d 4c 24 40 lea 0x40(%rsp),%r9 1c: 85 c0 test %eax,%eax 1e: 75 36 jne 0x56 20: 4c 89 f2 mov %r14,%rdx 23: b8 0e 01 00 00 mov $0x10e,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 0f 87 80 00 00 00 ja 0xb6 36: 48 8b 54 24 58 mov 0x58(%rsp),%rdx 3b: 64 fs 3c: 48 rex.W 3d: 2b .byte 0x2b 3e: 14 25 adc $0x25,%al Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 0f 87 80 00 00 00 ja 0x8c c: 48 8b 54 24 58 mov 0x58(%rsp),%rdx 11: 64 fs 12: 48 rex.W 13: 2b .byte 0x2b 14: 14 25 adc $0x25,%al [ 588.988369][ C1] RSP: 002b:00007ffd943442c0 EFLAGS: 00000246 ORIG_RAX: 000000000000010e [ 588.988373][ C1] RAX: ffffffffffffffda RBX: 00007ffd943443b0 RCX: 00007fd388670c04 [ 588.988376][ C1] RDX: 0000000000000000 RSI: 00007ffd94344440 RDI: 0000000000000001 [ 588.988378][ C1] RBP: 0000000000000001 R08: 00007ffd943442f0 R09: 00007ffd94344300 [ 588.988380][ C1] R10: 00007ffd943443c0 R11: 0000000000000246 R12: 00007ffd94344440 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:console_lock_spinning_enable