====================================== | [ 39.789586][ C2] asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) | [ 39.789816][ C2] | [ 39.789936][ C2] | [ 39.789936][ C2] stack backtrace: [ 39.790716][ C2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 39.791392][ C2] Call Trace: [ 39.791575][ C2] [ 39.791695][ C2] dump_stack_lvl (lib/dump_stack.c:117) [ 39.791935][ C2] print_irq_inversion_bug.part.0 (kernel/locking/lockdep.c:4024) [ 39.792228][ C2] ? kernel_text_address (kernel/extable.c:97 kernel/extable.c:94) [ 39.792462][ C2] ? __pfx_print_irq_inversion_bug.part.0 (kernel/locking/lockdep.c:4024) [ 39.792748][ C2] ? __pfx_usage_skip (kernel/locking/lockdep.c:2264) [ 39.792979][ C2] ? __pfx_usage_match (kernel/locking/lockdep.c:2256) [ 39.793208][ C2] ? arch_stack_walk (arch/x86/kernel/stacktrace.c:26) [ 39.793446][ C2] mark_lock_irq (kernel/locking/lockdep.c:4244) [ 39.793683][ C2] ? __pfx_mark_lock_irq (kernel/locking/lockdep.c:4207) [ 39.793915][ C2] ? __pfx_stack_trace_save (kernel/stacktrace.c:114) [ 39.794154][ C2] ? save_trace (kernel/locking/lockdep.c:586) [ 39.794531][ C2] mark_lock (kernel/locking/lockdep.c:4678) [ 39.794683][ C2] ? __pfx_stack_trace_save (kernel/stacktrace.c:114) [ 39.794915][ C2] mark_usage (kernel/locking/lockdep.c:4567) [ 39.795096][ C2] __lock_acquire (kernel/locking/lockdep.c:5091) [ 39.795330][ C2] ? __pfx_validate_chain (kernel/locking/lockdep.c:3825) [ 39.795668][ C2] ? __pfx_addrconf_rs_timer (net/ipv6/addrconf.c:4016) [ 39.795898][ C2] lock_acquire.part.0 (kernel/locking/lockdep.c:467 kernel/locking/lockdep.c:5756) [ 39.796134][ C2] ? addrconf_rs_timer (net/ipv6/addrconf.c:4023) [ 39.796365][ C2] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5719) [ 39.796823][ C2] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 39.797034][ C2] ? addrconf_rs_timer (net/ipv6/addrconf.c:4023) [ 39.797263][ C2] ? lock_acquire (kernel/locking/lockdep.c:5727) [ 39.797495][ C2] ? addrconf_rs_timer (net/ipv6/addrconf.c:4023) [ 39.797833][ C2] _raw_write_lock (./include/linux/rwlock_api_smp.h:210 kernel/locking/spinlock.c:300) [ 39.798065][ C2] ? addrconf_rs_timer (net/ipv6/addrconf.c:4023) [ 39.798302][ C2] addrconf_rs_timer (net/ipv6/addrconf.c:4023) [ 39.798533][ C2] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5719) [ 39.798920][ C2] ? __pfx_addrconf_rs_timer (net/ipv6/addrconf.c:4016) [ 39.799102][ C2] ? call_timer_fn (./include/linux/lockdep.h:31 kernel/time/timer.c:1783) [ 39.799330][ C2] ? lock_acquire (kernel/locking/lockdep.c:5727) [ 39.799560][ C2] ? call_timer_fn (./include/linux/lockdep.h:31 kernel/time/timer.c:1783) [ 39.799792][ C2] ? __pfx_addrconf_rs_timer (net/ipv6/addrconf.c:4016) [ 39.800130][ C2] call_timer_fn (kernel/time/timer.c:1793) [ 39.800360][ C2] ? call_timer_fn (./include/linux/lockdep.h:31 kernel/time/timer.c:1783) [ 39.800596][ C2] ? call_timer_fn (./include/linux/lockdep.h:31 kernel/time/timer.c:1783) [ 39.800828][ C2] ? __pfx_call_timer_fn (kernel/time/timer.c:1770) [ 39.801201][ C2] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228) [ 39.801435][ C2] ? mark_held_locks (kernel/locking/lockdep.c:4274) [ 39.801673][ C2] __run_timers (kernel/time/timer.c:1845 kernel/time/timer.c:2418) [ 39.801904][ C2] ? __pfx_addrconf_rs_timer (net/ipv6/addrconf.c:4016) [ 39.802300][ C2] ? __pfx___run_timers (kernel/time/timer.c:2389) [ 39.802532][ C2] ? __lock_release (kernel/locking/lockdep.c:5430) [ 39.802769][ C2] ? do_raw_spin_lock (./arch/x86/include/asm/atomic.h:115 ./include/linux/atomic/atomic-arch-fallback.h:2170 ./include/linux/atomic/atomic-instrumented.h:1302 ./include/asm-generic/qspinlock.h:111 kernel/locking/spinlock_debug.c:116) [ 39.803000][ C2] ? __pfx_do_raw_spin_lock (kernel/locking/spinlock_debug.c:114) [ 39.803235][ C2] ? lock_acquire (kernel/locking/lockdep.c:5727) [ 39.803466][ C2] ? timer_expire_remote (kernel/time/timer.c:2429 kernel/time/timer.c:2422 kernel/time/timer.c:2181) [ 39.803700][ C2] timer_expire_remote (kernel/time/timer.c:2430 kernel/time/timer.c:2422 kernel/time/timer.c:2181) [ 39.803932][ C2] tmigr_handle_remote_cpu (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:67 ./arch/x86/include/asm/irqflags.h:127 kernel/time/timer_migration.c:925) [ 39.804163][ C2] ? __pfx_tmigr_handle_remote_cpu (kernel/time/timer_migration.c:869) [ 39.804450][ C2] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228) [ 39.804687][ C2] ? mark_lock (kernel/locking/lockdep.c:4656 (discriminator 3)) [ 39.804864][ C2] ? mark_held_locks (kernel/locking/lockdep.c:4274) [ 39.805099][ C2] tmigr_handle_remote_up (kernel/time/timer_migration.c:1003) [ 39.805495][ C2] tmigr_handle_remote (kernel/time/timer_migration.c:488 kernel/time/timer_migration.c:1061) [ 39.805726][ C2] ? __pfx_tmigr_handle_remote (kernel/time/timer_migration.c:1026) [ 39.805959][ C2] ? mark_held_locks (kernel/locking/lockdep.c:4274) [ 39.806196][ C2] __do_softirq (kernel/softirq.c:554) [ 39.806435][ C2] irq_exit_rcu (kernel/softirq.c:428 kernel/softirq.c:633 kernel/softirq.c:645) [ 39.806610][ C2] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1043 arch/x86/kernel/apic/apic.c:1043) [ 39.806850][ C2] [ 39.806969][ C2] [ 39.807086][ C2] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) [ 39.807372][ C2] RIP: 0010:lock_release (kernel/locking/lockdep.c:5778) [ 39.807613][ C2] Code: 05 5b 1a 13 7d e8 e6 fa ff ff b8 ff ff ff ff 65 0f c1 05 49 1a 13 7d 83 f8 01 75 1d 9c 58 f6 c4 02 75 0f 80 e7 02 74 01 fb 5b <5d> 41 5c c3 cc cc cc cc e8 09 af 83 02 eb ea 90 0f 0b 90 65 c7 05 All code ======== 0: 05 5b 1a 13 7d add $0x7d131a5b,%eax 5: e8 e6 fa ff ff call 0xfffffffffffffaf0 a: b8 ff ff ff ff mov $0xffffffff,%eax f: 65 0f c1 05 49 1a 13 xadd %eax,%gs:0x7d131a49(%rip) # 0x7d131a60 16: 7d 17: 83 f8 01 cmp $0x1,%eax 1a: 75 1d jne 0x39 1c: 9c pushf 1d: 58 pop %rax 1e: f6 c4 02 test $0x2,%ah 21: 75 0f jne 0x32 23: 80 e7 02 and $0x2,%bh 26: 74 01 je 0x29 28: fb sti 29: 5b pop %rbx 2a:* 5d pop %rbp <-- trapping instruction 2b: 41 5c pop %r12 2d: c3 ret 2e: cc int3 2f: cc int3 30: cc int3 31: cc int3 32: e8 09 af 83 02 call 0x283af40 37: eb ea jmp 0x23 39: 90 nop 3a: 0f 0b ud2 3c: 90 nop 3d: 65 gs 3e: c7 .byte 0xc7 3f: 05 .byte 0x5 Code starting with the faulting instruction =========================================== 0: 5d pop %rbp 1: 41 5c pop %r12 3: c3 ret 4: cc int3 5: cc int3 6: cc int3 7: cc int3 8: e8 09 af 83 02 call 0x283af16 d: eb ea jmp 0xfffffffffffffff9 f: 90 nop 10: 0f 0b ud2 12: 90 nop 13: 65 gs 14: c7 .byte 0xc7 15: 05 .byte 0x5 [ 39.808606][ C2] RSP: 0000:ffffc9000129f958 EFLAGS: 00000202 [ 39.808868][ C2] RAX: 0000000000000046 RBX: ffffc9000129fa20 RCX: 1ffff11000cda5a4 [ 39.809215][ C2] RDX: 0000000000000002 RSI: ffffffff86b369e0 RDI: ffff8880066d2d20 [ 39.809673][ C2] RBP: ffffffff86b369e0 R08: ffffffff83502253 R09: fffffbfff0e72b5a [ 39.810019][ C2] R10: ffffffff87395ad7 R11: ffff8880025334d0 R12: ffffffff83502253 [ 39.810369][ C2] R13: ffffc9000129fa28 R14: 0000000000000000 R15: 0000000000000000 [ 39.810857][ C2] ? fs_reclaim_acquire (mm/page_alloc.c:3715 mm/page_alloc.c:3706) [ 39.811093][ C2] ? fs_reclaim_acquire (mm/page_alloc.c:3715 mm/page_alloc.c:3706) [ 39.811327][ C2] prepare_alloc_pages.constprop.0 (./include/linux/sched/mm.h:313 mm/page_alloc.c:4346) [ 39.811613][ C2] ? __lock_release (kernel/locking/lockdep.c:5430) [ 39.811985][ C2] ? percpu_counter_add_batch (lib/percpu_counter.c:102 (discriminator 57)) [ 39.812196][ C2] __alloc_pages (mm/page_alloc.c:4564) [ 39.812434][ C2] ? __pfx___alloc_pages (mm/page_alloc.c:4541) [ 39.812668][ C2] ? __pfx_validate_chain (kernel/locking/lockdep.c:3825) [ 39.813008][ C2] ? __lock_acquire (kernel/locking/lockdep.c:5137) [ 39.813243][ C2] alloc_pages_mpol (mm/mempolicy.c:2266) [ 39.813474][ C2] ? __pfx_alloc_pages_mpol (mm/mempolicy.c:2222) [ 39.813706][ C2] ? __lock_acquire (kernel/locking/lockdep.c:5137) [ 39.814200][ C2] vma_alloc_folio (./include/linux/mempolicy.h:77 ./include/linux/mempolicy.h:82 mm/mempolicy.c:2305) [ 39.814403][ C2] ? __pfx_vma_alloc_folio (mm/mempolicy.c:2297) [ 39.814639][ C2] ? find_held_lock (kernel/locking/lockdep.c:5244) [ 39.814869][ C2] wp_page_copy (mm/memory.c:1048 mm/memory.c:3263) [ 39.815104][ C2] ? __pfx_wp_page_copy (mm/memory.c:3242) [ 39.815335][ C2] ? __pfx_vm_normal_page (mm/memory.c:584) [ 39.815568][ C2] ? rcu_read_unlock (./include/linux/rcupdate.h:339 (discriminator 9) ./include/linux/rcupdate.h:814 (discriminator 9)) [ 39.815802][ C2] ? do_wp_page (mm/memory.c:3660) [ 39.816037][ C2] __handle_mm_fault (mm/memory.c:5441) [ 39.816269][ C2] ? __pfx___handle_mm_fault (mm/memory.c:5352) [ 39.816501][ C2] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 39.816742][ C2] ? lock_vma_under_rcu (mm/memory.c:5787) [ 39.816980][ C2] handle_mm_fault (mm/memory.c:5610) [ 39.817372][ C2] ? __pfx_handle_mm_fault (mm/memory.c:5576) [ 39.817612][ C2] do_user_addr_fault (arch/x86/mm/fault.c:1362) [ 39.817842][ C2] ? irqentry_enter_from_user_mode (./include/linux/entry-common.h:117 kernel/entry/common.c:225) [ 39.818131][ C2] exc_page_fault (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:67 ./arch/x86/include/asm/irqflags.h:127 arch/x86/mm/fault.c:1513 arch/x86/mm/fault.c:1563) [ 39.818364][ C2] asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) [ 39.818594][ C2] RIP: 0033:0x7f0a4af3cd4f [ 39.818836][ C2] Code: 83 e2 f8 48 39 c2 0f 85 39 06 00 00 4c 89 e7 e8 87 f3 ff ff 4c 39 6d 60 0f 84 cd 03 00 00 43 f6 44 3d 08 01 0f 84 61 04 00 00 <49> 83 65 08 fe 48 8b 45 70 48 8d 55 60 48 39 50 18 0f 85 f8 05 00 All code ======== 0: 83 e2 f8 and $0xfffffff8,%edx 3: 48 39 c2 cmp %rax,%rdx 6: 0f 85 39 06 00 00 jne 0x645 c: 4c 89 e7 mov %r12,%rdi f: e8 87 f3 ff ff call 0xfffffffffffff39b 14: 4c 39 6d 60 cmp %r13,0x60(%rbp) 18: 0f 84 cd 03 00 00 je 0x3eb 1e: 43 f6 44 3d 08 01 testb $0x1,0x8(%r13,%r15,1) 24: 0f 84 61 04 00 00 je 0x48b 2a:* 49 83 65 08 fe andq $0xfffffffffffffffe,0x8(%r13) <-- trapping instruction 2f: 48 8b 45 70 mov 0x70(%rbp),%rax 33: 48 8d 55 60 lea 0x60(%rbp),%rdx 37: 48 39 50 18 cmp %rdx,0x18(%rax) 3b: 0f .byte 0xf 3c: 85 f8 test %edi,%eax 3e: 05 .byte 0x5 ... Code starting with the faulting instruction =========================================== 0: 49 83 65 08 fe andq $0xfffffffffffffffe,0x8(%r13) 5: 48 8b 45 70 mov 0x70(%rbp),%rax 9: 48 8d 55 60 lea 0x60(%rbp),%rdx d: 48 39 50 18 cmp %rdx,0x18(%rax) 11: 0f .byte 0xf 12: 85 f8 test %edi,%eax 14: 05 .byte 0x5 ... [ 39.819655][ C2] RSP: 002b:00007ffccb000a30 EFLAGS: 00010202 [ 39.819946][ C2] RAX: 0000000000000041 RBX: 0000000000002010 RCX: 00000000000001ff [ 39.820447][ C2] RDX: 0000000000017f40 RSI: 0000000000000000 RDI: 00007f0a4b089c60 [ 39.820746][ C2] RBP: 00007f0a4b089c60 R08: 0000000000000000 R09: 0000000000000000 [ 39.821091][ C2] R10: 00007f0a4b10b008 R11: 0000000000000206 R12: 00005582b798da30 Finger prints: asm_exc_page_fault:dump_stack_lvl:mark_lock_irq:mark_lock