====================================== | [ 451.602053][ C0] #1: ffffffffa3577d20 (rcu_read_lock){....}-{1:3}, at: __pte_offset_map (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:838 (discriminator 2) mm/pgtable-generic.c:290 (discriminator 2)) | [ 451.602264][ C0] #2: ffffffffa3577c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 451.602421][ C0] | [ 451.602421][ C0] stack backtrace: [ 451.602537][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 451.602539][ C0] Call Trace: [ 451.602540][ C0] [ 451.602541][ C0] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 451.602546][ C0] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 451.602549][ C0] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 451.602553][ C0] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 451.602554][ C0] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 451.602556][ C0] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 451.602558][ C0] ? save_trace (kernel/locking/lockdep.c:589) [ 451.602560][ C0] ? 0xffffffff9fa00000 [ 451.602562][ C0] mark_lock (kernel/locking/lockdep.c:4753) [ 451.602564][ C0] mark_usage (kernel/locking/lockdep.c:4642) [ 451.602566][ C0] __lock_acquire (kernel/locking/lockdep.c:5191) [ 451.602567][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 451.602569][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 451.602572][ C0] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 451.602573][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 451.602576][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 451.602578][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 451.602580][ C0] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 451.602581][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 451.602583][ C0] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 451.602585][ C0] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 451.602586][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 451.602588][ C0] rcu_do_batch (kernel/rcu/tree.c:2617) [ 451.602591][ C0] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 451.602593][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 451.602595][ C0] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 451.602596][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 451.602598][ C0] rcu_core (kernel/rcu/tree.c:2869) [ 451.602600][ C0] handle_softirqs (kernel/softirq.c:622) [ 451.602602][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 451.602605][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 451.602606][ C0] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 451.602608][ C0] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 451.602610][ C0] irq_exit_rcu (kernel/softirq.c:752) [ 451.602611][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 451.602613][ C0] [ 451.602614][ C0] [ 451.602615][ C0] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 451.602616][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 451.602618][ C0] RIP: 0010:lock_acquire.part.0 (./arch/x86/include/asm/irqflags.h:158 (discriminator 1) kernel/locking/lockdep.c:5871 (discriminator 1)) [ 451.602620][ C0] Code: ff 65 0f c1 05 37 d9 33 04 83 f8 01 4c 8b 14 24 0f 85 30 01 00 00 9c 58 f6 c4 02 0f 85 4d 01 00 00 4d 85 d2 0f 85 16 01 00 00 <48> 8b 44 24 30 65 48 2b 05 a9 92 33 04 0f 85 43 01 00 00 48 83 c4 All code ======== 0: ff 65 0f jmp *0xf(%rbp) 3: c1 05 37 d9 33 04 83 roll $0x83,0x433d937(%rip) # 0x433d941 a: f8 clc b: 01 4c 8b 14 add %ecx,0x14(%rbx,%rcx,4) f: 24 0f and $0xf,%al 11: 85 30 test %esi,(%rax) 13: 01 00 add %eax,(%rax) 15: 00 9c 58 f6 c4 02 0f add %bl,0xf02c4f6(%rax,%rbx,2) 1c: 85 4d 01 test %ecx,0x1(%rbp) 1f: 00 00 add %al,(%rax) 21: 4d 85 d2 test %r10,%r10 24: 0f 85 16 01 00 00 jne 0x140 2a:* 48 8b 44 24 30 mov 0x30(%rsp),%rax <-- trapping instruction 2f: 65 48 2b 05 a9 92 33 sub %gs:0x43392a9(%rip),%rax # 0x43392e0 36: 04 37: 0f 85 43 01 00 00 jne 0x180 3d: 48 rex.W 3e: 83 .byte 0x83 3f: c4 .byte 0xc4 Code starting with the faulting instruction =========================================== 0: 48 8b 44 24 30 mov 0x30(%rsp),%rax 5: 65 48 2b 05 a9 92 33 sub %gs:0x43392a9(%rip),%rax # 0x43392b6 c: 04 d: 0f 85 43 01 00 00 jne 0x156 13: 48 rex.W 14: 83 .byte 0x83 15: c4 .byte 0xc4 [ 451.602622][ C0] RSP: 0000:ffa0000001c17b80 EFLAGS: 00000206 [ 451.602624][ C0] RAX: 0000000000000046 RBX: 0000000000000000 RCX: fa127a7509a75f75 [ 451.602625][ C0] RDX: 0000000000000001 RSI: ffffffffa2febde8 RDI: ffffffffa2a6f6c0 [ 451.602626][ C0] RBP: 0000000000000000 R08: 0000000000000001 R09: ff1100001448ae58 [ 451.602627][ C0] R10: 0000000000000200 R11: 0000000000000001 R12: ffffffffa3577d20 [ 451.602628][ C0] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000002 [ 451.602630][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 451.602632][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 451.602634][ C0] __pte_offset_map (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:838 (discriminator 2) mm/pgtable-generic.c:290 (discriminator 2)) [ 451.602636][ C0] ? __pte_offset_map (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:838 (discriminator 2) mm/pgtable-generic.c:290 (discriminator 2)) [ 451.602637][ C0] pte_offset_map_lock (mm/pgtable-generic.c:400) [ 451.602639][ C0] ? vma_alloc_folio_noprof (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 ./include/linux/page-flags.h:843 ./include/linux/page-flags.h:864 mm/internal.h:876 mm/mempolicy.c:2515 mm/mempolicy.c:2544) [ 451.602642][ C0] ? pte_offset_map_rw_nolock (./include/linux/mm.h:3721 (discriminator 1)) [ 451.602643][ C0] ? get_vma_policy (mm/mempolicy.c:350) [ 451.602645][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 451.602647][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 451.602648][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 451.602650][ C0] do_anonymous_page (mm/memory.c:5408) [ 451.602653][ C0] __handle_mm_fault (mm/memory.c:6427 mm/memory.c:6565) [ 451.602655][ C0] ? __pmd_alloc (./include/linux/mm.h:1682) [ 451.602656][ C0] ? lock_vma_under_rcu (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) mm/mmap_lock.c:329 (discriminator 2)) [ 451.602658][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5574) [ 451.602661][ C0] handle_mm_fault (mm/memory.c:6734) [ 451.602663][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 451.602665][ C0] do_user_addr_fault (arch/x86/mm/fault.c:1334) [ 451.602668][ C0] ? irqentry_enter (./include/linux/irq-entry-common.h:108 ./include/linux/irq-entry-common.h:293 kernel/entry/common.c:113) [ 451.602670][ C0] exc_page_fault (arch/x86/mm/fault.c:1474 arch/x86/mm/fault.c:1527) [ 451.602672][ C0] asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:618) [ 451.602673][ C0] RIP: 0033:0x7f32ab72aa1b [ 451.602675][ C0] Code: 7e 08 40 0f 95 c6 48 29 d1 48 83 c0 10 40 0f b6 f6 48 83 c9 01 48 c1 e6 02 48 09 d6 8b 15 d1 57 17 00 48 83 ce 01 48 89 70 f8 <48> 89 4f 08 85 d2 0f 84 29 fa ff ff 80 f2 ff 89 d6 4c 89 c2 e9 7e All code ======== 0: 7e 08 jle 0xa 2: 40 0f 95 c6 setne %sil 6: 48 29 d1 sub %rdx,%rcx 9: 48 83 c0 10 add $0x10,%rax d: 40 0f b6 f6 movzbl %sil,%esi 11: 48 83 c9 01 or $0x1,%rcx 15: 48 c1 e6 02 shl $0x2,%rsi 19: 48 09 d6 or %rdx,%rsi 1c: 8b 15 d1 57 17 00 mov 0x1757d1(%rip),%edx # 0x1757f3 22: 48 83 ce 01 or $0x1,%rsi 26: 48 89 70 f8 mov %rsi,-0x8(%rax) 2a:* 48 89 4f 08 mov %rcx,0x8(%rdi) <-- trapping instruction 2e: 85 d2 test %edx,%edx 30: 0f 84 29 fa ff ff je 0xfffffffffffffa5f 36: 80 f2 ff xor $0xff,%dl 39: 89 d6 mov %edx,%esi 3b: 4c 89 c2 mov %r8,%rdx 3e: e9 .byte 0xe9 3f: 7e .byte 0x7e Code starting with the faulting instruction =========================================== 0: 48 89 4f 08 mov %rcx,0x8(%rdi) 4: 85 d2 test %edx,%edx 6: 0f 84 29 fa ff ff je 0xfffffffffffffa35 c: 80 f2 ff xor $0xff,%dl f: 89 d6 mov %edx,%esi 11: 4c 89 c2 mov %r8,%rdx 14: e9 .byte 0xe9 15: 7e .byte 0x7e [ 451.602676][ C0] RSP: 002b:00007ffe5fc9e970 EFLAGS: 00010206 [ 451.602677][ C0] RAX: 0000562cee6dc000 RBX: 00007f32ab899ad8 RCX: 000000000000aff1 [ 451.602678][ C0] RDX: 0000000000000000 RSI: 0000000000000021 RDI: 0000562cee6dc010 [ 451.602679][ C0] RBP: 00007ffe5fc9e9e0 R08: 0000000000000004 R09: 00007f32ab899ac0 [ 451.602680][ C0] R10: 0000000000000004 R11: 00007f32ab899ac8 R12: 00007f32ab899ad8 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock