====================================== | [ 16.876895][ C2] #4: ffff8880094f72e0 (ptlock_ptr(ptdesc)#2){+.+.}-{3:3}, at: __pte_offset_map_lock (./include/linux/pgtable.h:347 ./include/linux/pgtable.h:624 mm/pgtable-generic.c:403) | [ 16.877289][ C2] #5: ffffffff889793c0 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:331 kernel/rcu/tree.c:2570) | [ 16.877635][ C2] | [ 16.877635][ C2] stack backtrace: [ 16.877878][ C2] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 16.877880][ C2] Call Trace: [ 16.877882][ C2] [ 16.877883][ C2] dump_stack_lvl (lib/dump_stack.c:123) [ 16.877889][ C2] print_usage_bug.part.0 (kernel/locking/lockdep.c:4048) [ 16.877894][ C2] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4059 kernel/locking/lockdep.c:4270) [ 16.877901][ C2] mark_lock (kernel/locking/lockdep.c:4756) [ 16.877905][ C2] mark_usage (kernel/locking/lockdep.c:4645) [ 16.877908][ C2] __lock_acquire (kernel/locking/lockdep.c:5194) [ 16.877912][ C2] ? unwind_next_frame (./include/linux/rcupdate.h:874 ./include/linux/rcupdate.h:1155 arch/x86/kernel/unwind_orc.c:479) [ 16.877916][ C2] ? handle_pte_fault (mm/memory.c:6089) [ 16.877920][ C2] lock_acquire.part.0 (kernel/locking/lockdep.c:473 kernel/locking/lockdep.c:5873) [ 16.877924][ C2] ? xa_set_mark (lib/xarray.c:2076 lib/xarray.c:2146) [ 16.877927][ C2] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 16.877932][ C2] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5834) [ 16.877935][ C2] ? xa_set_mark (lib/xarray.c:2076 lib/xarray.c:2146) [ 16.877938][ C2] _raw_spin_lock (./include/linux/spinlock_api_smp.h:134 kernel/locking/spinlock.c:154) [ 16.877941][ C2] ? xa_set_mark (lib/xarray.c:2076 lib/xarray.c:2146) [ 16.877944][ C2] xa_set_mark (lib/xarray.c:2076 lib/xarray.c:2146) [ 16.877947][ C2] ? __pfx_xa_set_mark (lib/xarray.c:2144) [ 16.877949][ C2] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 16.877955][ C2] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 16.877958][ C2] ref_tracker_dir_exit (lib/ref_tracker.c:54 lib/ref_tracker.c:223) [ 16.877962][ C2] ? mark_held_locks (kernel/locking/lockdep.c:4328) [ 16.877966][ C2] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:151 kernel/locking/spinlock.c:194) [ 16.877969][ C2] ? __pfx_ref_tracker_dir_exit (lib/ref_tracker.c:213) [ 16.877973][ C2] ? ref_tracker_free (lib/ref_tracker.c:281) [ 16.877976][ C2] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 16.877979][ C2] ? __pfx_ref_tracker_free (lib/ref_tracker.c:281) [ 16.877982][ C2] ? __sk_destruct (./include/linux/instrumented.h:96 ./include/linux/atomic/atomic-instrumented.h:400 ./include/linux/refcount.h:389 ./include/linux/refcount.h:432 ./include/linux/refcount.h:450 ./include/net/net_namespace.h:287 ./include/net/net_namespace.h:390 net/core/sock.c:2368) [ 16.877987][ C2] ? rcu_do_batch (./include/linux/rcupdate.h:341 kernel/rcu/tree.c:2578) [ 16.877989][ C2] ? rcu_core (kernel/rcu/tree.c:2834) [ 16.877992][ C2] ? handle_softirqs (kernel/softirq.c:580) [ 16.877996][ C2] __put_net (./include/linux/llist.h:238 ./include/linux/llist.h:265 net/core/net_namespace.c:732) [ 16.878000][ C2] ? do_fault_around (mm/memory.c:5568) [ 16.878004][ C2] ? __pfx___put_net (net/core/net_namespace.c:729) [ 16.878008][ C2] ? bpf_sk_storage_free (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 net/core/bpf_sk_storage.c:61) [ 16.878014][ C2] __sk_destruct (./include/net/net_namespace.h:288 ./include/net/net_namespace.h:390 net/core/sock.c:2368) [ 16.878017][ C2] ? rcu_do_batch (kernel/rcu/tree.c:2576) [ 16.878020][ C2] rcu_do_batch (./include/linux/rcupdate.h:341 kernel/rcu/tree.c:2578) [ 16.878025][ C2] ? __pfx_rcu_do_batch (kernel/rcu/tree.c:2500) [ 16.878029][ C2] ? mark_held_locks (kernel/locking/lockdep.c:4328) [ 16.878032][ C2] ? note_gp_changes (kernel/rcu/tree.c:1326 (discriminator 1)) [ 16.878035][ C2] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4475) [ 16.878040][ C2] rcu_core (kernel/rcu/tree.c:2834) [ 16.878043][ C2] handle_softirqs (kernel/softirq.c:580) [ 16.878049][ C2] __irq_exit_rcu (kernel/softirq.c:614 kernel/softirq.c:453 kernel/softirq.c:680) [ 16.878052][ C2] irq_exit_rcu (kernel/softirq.c:698) [ 16.878056][ C2] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1050 arch/x86/kernel/apic/apic.c:1050) [ 16.878059][ C2] [ 16.878060][ C2] [ 16.878061][ C2] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) [ 16.878065][ C2] RIP: 0010:lock_is_held_type (kernel/locking/lockdep.c:5948) [ 16.878069][ C2] Code: 00 00 b8 ff ff ff ff 65 0f c1 05 25 f6 97 02 83 f8 01 75 2d 9c 58 f6 c4 02 75 43 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 cc cc cc cc 45 31 ed eb All code ======== 0: 00 00 add %al,(%rax) 2: b8 ff ff ff ff mov $0xffffffff,%eax 7: 65 0f c1 05 25 f6 97 xadd %eax,%gs:0x297f625(%rip) # 0x297f634 e: 02 f: 83 f8 01 cmp $0x1,%eax 12: 75 2d jne 0x41 14: 9c pushf 15: 58 pop %rax 16: f6 c4 02 test $0x2,%ah 19: 75 43 jne 0x5e 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: cc int3 39: cc int3 3a: cc int3 3b: cc int3 3c: 45 31 ed xor %r13d,%r13d 3f: eb .byte 0xeb 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: cc int3 f: cc int3 10: cc int3 11: cc int3 12: 45 31 ed xor %r13d,%r13d 15: eb .byte 0xeb [ 16.878072][ C2] RSP: 0000:ffffc900007d7948 EFLAGS: 00000286 [ 16.878075][ C2] RAX: 0000000000000046 RBX: 0000000000000001 RCX: 0000000000000001 [ 16.878077][ C2] RDX: 0000000000000000 RSI: ffffffff8848de21 RDI: ffffffff87c5a220 [ 16.878078][ C2] RBP: ffffffff889794e0 R08: 0000000000000001 R09: fffff9400018ab40 [ 16.878080][ C2] R10: ffffea0000c55a07 R11: ffffffff889794e0 R12: ffff888009f40040 [ 16.878082][ C2] R13: 0000000000000001 R14: 00000000ffffffff R15: ffff888009f40ab8 [ 16.878089][ C2] xas_reload (./include/linux/xarray.h:1226 ./include/linux/xarray.h:1624) [ 16.878093][ C2] next_uptodate_folio (mm/filemap.c:3577) [ 16.878098][ C2] filemap_map_pages (mm/filemap.c:3755) [ 16.878105][ C2] ? __pfx_filemap_map_pages (mm/filemap.c:3701) [ 16.878109][ C2] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 16.878113][ C2] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5834) [ 16.878116][ C2] ? do_fault_around (./include/linux/rcupdate.h:331 ./include/linux/rcupdate.h:841 mm/memory.c:5567) [ 16.878120][ C2] ? __pfx_filemap_map_pages (mm/filemap.c:3701) [ 16.878122][ C2] do_fault_around (mm/memory.c:5568) [ 16.878125][ C2] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 16.878129][ C2] do_pte_missing (mm/memory.c:5601 mm/memory.c:5744 mm/memory.c:4251) [ 16.878133][ C2] handle_pte_fault (mm/memory.c:6089) [ 16.878136][ C2] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 16.878139][ C2] ? __pfx_handle_pte_fault (mm/memory.c:6046) [ 16.878143][ C2] ? reacquire_held_locks (kernel/locking/lockdep.c:5388) [ 16.878146][ C2] ? do_user_addr_fault (arch/x86/mm/fault.c:1327) [ 16.878150][ C2] __handle_mm_fault (mm/memory.c:6232) [ 16.878153][ C2] ? __pfx___handle_mm_fault (mm/memory.c:6141) [ 16.878156][ C2] ? lock_vma_under_rcu (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 mm/mmap_lock.c:171) [ 16.878159][ C2] ? __lock_release (kernel/locking/lockdep.c:5585) [ 16.878165][ C2] ? __pfx_lock_vma_under_rcu (mm/mmap_lock.c:137) [ 16.878169][ C2] handle_mm_fault (mm/memory.c:6413) [ 16.878173][ C2] ? __pfx_handle_mm_fault (mm/memory.c:6368) [ 16.878175][ C2] ? exc_page_fault (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:109 ./arch/x86/include/asm/irqflags.h:151 arch/x86/mm/fault.c:1484 arch/x86/mm/fault.c:1532) [ 16.878178][ C2] ? __lock_release (kernel/locking/lockdep.c:5539) [ 16.878183][ C2] do_user_addr_fault (arch/x86/mm/fault.c:1337) [ 16.878187][ C2] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 16.878192][ C2] exc_page_fault (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:109 ./arch/x86/include/asm/irqflags.h:151 arch/x86/mm/fault.c:1484 arch/x86/mm/fault.c:1532) [ 16.878195][ C2] asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) [ 16.878198][ C2] RIP: 0033:0x55926e396450 [ 16.878201][ C2] Code: c5 e9 d2 fd ff ff 0f 1f 40 00 83 ff 01 74 87 e9 37 ff ff ff 4c 89 ee 48 8d 3d c6 bb 06 00 31 c0 e8 05 0e 00 00 e9 67 fe ff ff 0f 1e fa 41 55 55 48 89 fd 53 89 f3 48 83 ec 20 64 48 8b 04 25 All code ======== 0: c5 e9 d2 fd vpsrld %xmm5,%xmm2,%xmm7 4: ff (bad) 5: ff 0f decl (%rdi) 7: 1f (bad) 8: 40 00 83 ff 01 74 87 rex add %al,-0x788bfe01(%rbx) f: e9 37 ff ff ff jmp 0xffffffffffffff4b 14: 4c 89 ee mov %r13,%rsi 17: 48 8d 3d c6 bb 06 00 lea 0x6bbc6(%rip),%rdi # 0x6bbe4 1e: 31 c0 xor %eax,%eax 20: e8 05 0e 00 00 call 0xe2a 25: e9 67 fe ff ff jmp 0xfffffffffffffe91 2a:* f3 0f 1e fa endbr64 <-- trapping instruction 2e: 41 55 push %r13 30: 55 push %rbp 31: 48 89 fd mov %rdi,%rbp 34: 53 push %rbx 35: 89 f3 mov %esi,%ebx 37: 48 83 ec 20 sub $0x20,%rsp 3b: 64 fs 3c: 48 rex.W 3d: 8b .byte 0x8b 3e: 04 25 add $0x25,%al Code starting with the faulting instruction =========================================== 0: f3 0f 1e fa endbr64 4: 41 55 push %r13 6: 55 push %rbp 7: 48 89 fd mov %rdi,%rbp a: 53 push %rbx b: 89 f3 mov %esi,%ebx d: 48 83 ec 20 sub $0x20,%rsp 11: 64 fs 12: 48 rex.W 13: 8b .byte 0x8b 14: 04 25 add $0x25,%al [ 16.878203][ C2] RSP: 002b:00007ffd37774e08 EFLAGS: 00010206 [ 16.878205][ C2] RAX: 000055927119e750 RBX: 0000000000000000 RCX: 0000000000000004 [ 16.878207][ C2] RDX: 0000000000000020 RSI: 0000000000000001 RDI: 00005592711c1560 [ 16.878209][ C2] RBP: 00000000ffffffff R08: 00005592711b1e40 R09: 0000000000000000 [ 16.878210][ C2] R10: 0000000000000008 R11: ce539a4f86592f74 R12: 00000000ffffffff Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock