====================================== | [ 580.620038][ C0] #0: ff11000015fa5778 (&mm->mmap_lock){++++}-{4:4}, at: vm_mmap_pgoff (./include/linux/mmap_lock.h:554 mm/util.c:579) | [ 580.620221][ C0] #1: ffffffffa3577c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 580.620393][ C0] | [ 580.620393][ C0] stack backtrace: [ 580.620511][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 580.620513][ C0] Call Trace: [ 580.620515][ C0] [ 580.620516][ C0] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 580.620521][ C0] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 580.620524][ C0] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 580.620528][ C0] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 580.620529][ C0] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 580.620531][ C0] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 580.620533][ C0] ? save_trace (kernel/locking/lockdep.c:589) [ 580.620535][ C0] ? mincore_unmapped_range (mm/mincore.c:159) [ 580.620538][ C0] mark_lock (kernel/locking/lockdep.c:4753) [ 580.620540][ C0] mark_usage (kernel/locking/lockdep.c:4642) [ 580.620542][ C0] __lock_acquire (kernel/locking/lockdep.c:5191) [ 580.620543][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 580.620545][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 580.620548][ C0] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 580.620549][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 580.620551][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 580.620553][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 580.620555][ C0] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 580.620557][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 580.620558][ C0] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 580.620560][ C0] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 580.620562][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 580.620563][ C0] rcu_do_batch (kernel/rcu/tree.c:2617) [ 580.620566][ C0] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 580.620568][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 580.620570][ C0] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 580.620571][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 580.620573][ C0] rcu_core (kernel/rcu/tree.c:2869) [ 580.620575][ C0] handle_softirqs (kernel/softirq.c:622) [ 580.620577][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 580.620580][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 580.620582][ C0] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 580.620584][ C0] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 580.620585][ C0] irq_exit_rcu (kernel/softirq.c:752) [ 580.620587][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 580.620589][ C0] [ 580.620589][ C0] [ 580.620590][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 580.620592][ C0] RIP: 0010:_raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 12) kernel/locking/spinlock.c:198 (discriminator 12)) [ 580.620594][ C0] Code: f5 53 48 8b 74 24 10 48 89 fb 48 83 c7 18 e8 21 7e ca fd 48 89 df e8 a9 d4 ca fd f7 c5 00 02 00 00 75 1f 9c 58 f6 c4 02 75 2f 01 00 00 00 e8 30 62 bd fd 65 8b 05 29 0a fe 01 85 c0 74 12 5b All code ======== 0: f5 cmc 1: 53 push %rbx 2: 48 8b 74 24 10 mov 0x10(%rsp),%rsi 7: 48 89 fb mov %rdi,%rbx a: 48 83 c7 18 add $0x18,%rdi e: e8 21 7e ca fd call 0xfffffffffdca7e34 13: 48 89 df mov %rbx,%rdi 16: e8 a9 d4 ca fd call 0xfffffffffdcad4c4 1b: f7 c5 00 02 00 00 test $0x200,%ebp 21: 75 1f jne 0x42 23: 9c pushf 24: 58 pop %rax 25: f6 c4 02 test $0x2,%ah 28: 75 2f jne 0x59 2a:* bf 01 00 00 00 mov $0x1,%edi <-- trapping instruction 2f: e8 30 62 bd fd call 0xfffffffffdbd6264 34: 65 8b 05 29 0a fe 01 mov %gs:0x1fe0a29(%rip),%eax # 0x1fe0a64 3b: 85 c0 test %eax,%eax 3d: 74 12 je 0x51 3f: 5b pop %rbx Code starting with the faulting instruction =========================================== 0: bf 01 00 00 00 mov $0x1,%edi 5: e8 30 62 bd fd call 0xfffffffffdbd623a a: 65 8b 05 29 0a fe 01 mov %gs:0x1fe0a29(%rip),%eax # 0x1fe0a3a 11: 85 c0 test %eax,%eax 13: 74 12 je 0x27 15: 5b pop %rbx [ 580.620596][ C0] RSP: 0018:ffa0000000677348 EFLAGS: 00000246 [ 580.620599][ C0] RAX: 0000000000000092 RBX: ff11000001041bc0 RCX: ffffffffa2690613 [ 580.620600][ C0] RDX: ff11000010cf4640 RSI: ffffffffa3001bcb RDI: ffffffffa2a6f6c0 [ 580.620601][ C0] RBP: 0000000000000206 R08: 0000000000000000 R09: 0000000000000000 [ 580.620602][ C0] R10: 0000000000000000 R11: 0000000000000001 R12: ff11000001041bc0 [ 580.620602][ C0] R13: ff110000010427c0 R14: ff11000016a9bd00 R15: ffd40000005aa600 [ 580.620604][ C0] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 580.620607][ C0] get_from_partial_node (./include/linux/spinlock.h:408 (discriminator 3) mm/slub.c:3835 (discriminator 3)) [ 580.620611][ C0] ___slab_alloc (mm/slub.c:3924 (discriminator 1) mm/slub.c:4441 (discriminator 1)) [ 580.620613][ C0] ? mas_preallocate (lib/maple_tree.c:139 (discriminator 7) lib/maple_tree.c:1089 (discriminator 7) lib/maple_tree.c:4961 (discriminator 7)) [ 580.620616][ C0] ? __pcs_replace_empty_main (mm/slub.c:4615 (discriminator 20)) [ 580.620618][ C0] ? mas_preallocate (lib/maple_tree.c:139 (discriminator 7) lib/maple_tree.c:1089 (discriminator 7) lib/maple_tree.c:4961 (discriminator 7)) [ 580.620619][ C0] kmem_cache_alloc_noprof (mm/slub.c:4511 mm/slub.c:4887 mm/slub.c:4906) [ 580.620622][ C0] mas_preallocate (lib/maple_tree.c:139 (discriminator 7) lib/maple_tree.c:1089 (discriminator 7) lib/maple_tree.c:4961 (discriminator 7)) [ 580.620624][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 580.620625][ C0] ? mas_wr_slot_store (lib/maple_tree.c:3228) [ 580.620627][ C0] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 580.620629][ C0] ? kmem_cache_alloc_noprof (mm/slub.c:4909 (discriminator 1)) [ 580.620631][ C0] ? lockdep_init_map_type (kernel/locking/lockdep.c:4973) [ 580.620633][ C0] __mmap_new_vma (mm/vma.h:577 mm/vma.c:2556) [ 580.620636][ C0] ? __mmap_new_file_vma (./include/linux/maple_tree.h:622) [ 580.620638][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 580.620639][ C0] __mmap_region (mm/vma.c:2771) [ 580.620641][ C0] ? vma_merge_new_range (mm/vma.c:1083) [ 580.620642][ C0] ? filemap_get_pages (mm/filemap.c:2725) [ 580.620646][ C0] ? mark_usage (kernel/locking/lockdep.c:4674) [ 580.620648][ C0] ? copy_page_to_iter (lib/iov_iter.c:374 lib/iov_iter.c:361) [ 580.620651][ C0] ? folio_mark_accessed (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 ./include/linux/page-flags.h:554 mm/swap.c:478 mm/swap.c:461) [ 580.620657][ C0] ? mas_prev (lib/maple_tree.c:5211 lib/maple_tree.c:5204) [ 580.620662][ C0] ? vm_unmapped_area (./include/trace/events/mmap.h:10 (discriminator 22) mm/mmap.c:674 (discriminator 22)) [ 580.620665][ C0] ? arch_get_unmapped_area_topdown (arch/x86/kernel/sys_x86_64.c:227) [ 580.620669][ C0] mmap_region (mm/vma.c:2857) [ 580.620670][ C0] ? mm_take_all_locks (mm/vma.c:2266 (discriminator 1)) [ 580.620671][ C0] ? __might_fault (mm/memory.c:7340 (discriminator 5)) [ 580.620674][ C0] ? __get_unmapped_area (./include/linux/security.h:1187 mm/mmap.c:863) [ 580.620676][ C0] ? ovl_file_end_write (./include/linux/fs.h:1353) [ 580.620679][ C0] do_mmap (mm/mmap.c:560) [ 580.620682][ C0] ? __ia32_sys_brk (mm/mmap.c:116) [ 580.620684][ C0] ? down_write_killable (./include/linux/instrumented.h:55 ./include/linux/atomic/atomic-instrumented.h:4457 kernel/locking/rwsem.c:268 kernel/locking/rwsem.c:1346 kernel/locking/rwsem.c:1361 kernel/locking/rwsem.c:1639) [ 580.620685][ C0] ? down_write (kernel/locking/rwsem.c:1627) [ 580.620687][ C0] vm_mmap_pgoff (mm/util.c:581) [ 580.620690][ C0] ? randomize_page (mm/util.c:387) [ 580.620692][ C0] ? __fget_files (./include/linux/rcupdate.h:871 fs/file.c:1101) [ 580.620695][ C0] ksys_mmap_pgoff (mm/mmap.c:606) [ 580.620697][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 580.620699][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 580.620701][ C0] ? do_syscall_64 (./include/linux/entry-common.h:177 arch/x86/entry/syscall_64.c:89) [ 580.620702][ C0] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 580.620703][ C0] ? trace_hardirqs_off (kernel/trace/trace_preemptirq.c:104 (discriminator 1)) [ 580.620706][ C0] ? exc_page_fault (arch/x86/mm/fault.c:1480 (discriminator 3) arch/x86/mm/fault.c:1527 (discriminator 3)) [ 580.620708][ C0] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 580.620709][ C0] RIP: 0033:0x7ffa3690885c [ 580.620711][ C0] Code: 1e fa 41 f7 c1 ff 0f 00 00 75 33 55 48 89 e5 41 54 41 89 cc 53 48 89 fb 48 85 ff 74 51 45 89 e2 48 89 df b8 09 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 24 5b 41 5c 5d c3 0f 1f 80 00 00 00 00 c7 05 All code ======== 0: 1e (bad) 1: fa cli 2: 41 f7 c1 ff 0f 00 00 test $0xfff,%r9d 9: 75 33 jne 0x3e b: 55 push %rbp c: 48 89 e5 mov %rsp,%rbp f: 41 54 push %r12 11: 41 89 cc mov %ecx,%r12d 14: 53 push %rbx 15: 48 89 fb mov %rdi,%rbx 18: 48 85 ff test %rdi,%rdi 1b: 74 51 je 0x6e 1d: 45 89 e2 mov %r12d,%r10d 20: 48 89 df mov %rbx,%rdi 23: b8 09 00 00 00 mov $0x9,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 24 ja 0x56 32: 5b pop %rbx 33: 41 5c pop %r12 35: 5d pop %rbp 36: c3 ret 37: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 3e: c7 .byte 0xc7 3f: 05 .byte 0x5 Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 24 ja 0x2c 8: 5b pop %rbx 9: 41 5c pop %r12 b: 5d pop %rbp c: c3 ret d: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 14: c7 .byte 0xc7 15: 05 .byte 0x5 [ 580.620712][ C0] RSP: 002b:00007ffeb46f44a0 EFLAGS: 00000246 ORIG_RAX: 0000000000000009 [ 580.620714][ C0] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ffa3690885c [ 580.620715][ C0] RDX: 0000000000000005 RSI: 00000000000325d0 RDI: 0000000000000000 [ 580.620716][ C0] RBP: 00007ffeb46f44b0 R08: 0000000000000005 R09: 0000000000000000 [ 580.620716][ C0] R10: 0000000000000802 R11: 0000000000000246 R12: 0000000000000802 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock