======================================
| [ 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