====================================== | [ 576.471017][ C0] #1: ff1100000a06bc10 (&mapping->i_mmap_rwsem){++++}-{4:4}, at: vma_prepare (./include/linux/fs.h:513 mm/vma.c:300) | [ 576.471254][ C0] #2: ffffffff8b977c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 576.471495][ C0] | [ 576.471495][ C0] stack backtrace: [ 576.471669][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 576.471672][ C0] Call Trace: [ 576.471674][ C0] [ 576.471676][ C0] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 576.471682][ C0] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 576.471685][ C0] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 576.471690][ C0] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 576.471693][ C0] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 576.471696][ C0] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 576.471699][ C0] ? save_trace (kernel/locking/lockdep.c:589) [ 576.471701][ C0] ? __noinstr_text_start (??:?) [ 576.471705][ C0] mark_lock (kernel/locking/lockdep.c:4753) [ 576.471708][ C0] mark_usage (kernel/locking/lockdep.c:4642) [ 576.471710][ C0] __lock_acquire (kernel/locking/lockdep.c:5191) [ 576.471712][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 576.471714][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 576.471718][ C0] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 576.471721][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 576.471724][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 576.471727][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 576.471730][ C0] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 576.471733][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 576.471735][ C0] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 576.471738][ C0] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 576.471741][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 576.471743][ C0] rcu_do_batch (kernel/rcu/tree.c:2617) [ 576.471747][ C0] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 576.471750][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 576.471752][ C0] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 576.471755][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 576.471758][ C0] rcu_core (kernel/rcu/tree.c:2869) [ 576.471760][ C0] handle_softirqs (kernel/softirq.c:622) [ 576.471763][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 576.471767][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 576.471769][ C0] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 576.471772][ C0] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 576.471774][ C0] irq_exit_rcu (kernel/softirq.c:752) [ 576.471777][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 576.471779][ C0] [ 576.471780][ C0] [ 576.471782][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 576.471784][ C0] RIP: 0010:__up_write (./arch/x86/include/asm/atomic64_64.h:15 ./include/linux/atomic/atomic-arch-fallback.h:2583 ./include/linux/atomic/atomic-long.h:38 ./include/linux/atomic/atomic-instrumented.h:3189 kernel/locking/rwsem.c:192 kernel/locking/rwsem.c:1410) [ 576.471788][ C0] Code: 34 04 48 39 5b 60 0f 85 4e 02 00 00 be 08 00 00 00 48 89 ef e8 9d a0 81 00 48 89 ea 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 aa 03 00 00 48 8b 43 08 48 83 e0 fc 49 39 c4 0f All code ======== 0: 34 04 xor $0x4,%al 2: 48 39 5b 60 cmp %rbx,0x60(%rbx) 6: 0f 85 4e 02 00 00 jne 0x25a c: be 08 00 00 00 mov $0x8,%esi 11: 48 89 ef mov %rbp,%rdi 14: e8 9d a0 81 00 call 0x81a0b6 19: 48 89 ea mov %rbp,%rdx 1c: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 23: fc ff df 26: 48 c1 ea 03 shr $0x3,%rdx 2a:* 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) <-- trapping instruction 2e: 0f 85 aa 03 00 00 jne 0x3de 34: 48 8b 43 08 mov 0x8(%rbx),%rax 38: 48 83 e0 fc and $0xfffffffffffffffc,%rax 3c: 49 39 c4 cmp %rax,%r12 3f: 0f .byte 0xf Code starting with the faulting instruction =========================================== 0: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) 4: 0f 85 aa 03 00 00 jne 0x3b4 a: 48 8b 43 08 mov 0x8(%rbx),%rax e: 48 83 e0 fc and $0xfffffffffffffffc,%rax 12: 49 39 c4 cmp %rax,%r12 15: 0f .byte 0xf [ 576.471790][ C0] RSP: 0018:ffa00000005f7790 EFLAGS: 00000212 [ 576.471794][ C0] RAX: dffffc0000000000 RBX: ff1100000a480158 RCX: 0000000000000001 [ 576.471796][ C0] RDX: 1fe220000149002c RSI: 0000000000000008 RDI: ff1100000a480160 [ 576.471798][ C0] RBP: ff1100000a480160 R08: ffffffff8872a4d3 R09: 1fe220000149002c [ 576.471799][ C0] R10: ffe21c000149002d R11: ffe21c000149002d R12: ff1100000cc48040 [ 576.471801][ C0] R13: ff1100000a4801b8 R14: ffffffff8c23fac0 R15: ffa00000005f78d0 [ 576.471803][ C0] ? __up_write (./include/linux/instrumented.h:82 ./include/linux/atomic/atomic-instrumented.h:3188 kernel/locking/rwsem.c:192 kernel/locking/rwsem.c:1410) [ 576.471808][ C0] vma_complete (mm/internal.h:231 mm/vma.c:367) [ 576.471811][ C0] ? init_multi_vma_prep (mm/vma.c:152) [ 576.471814][ C0] __split_vma (mm/vma.c:569) [ 576.471817][ C0] ? commit_merge (./include/linux/maple_tree.h:791 (discriminator 3)) [ 576.471821][ C0] ? mark_usage (kernel/locking/lockdep.c:4674) [ 576.471823][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 576.471826][ C0] vma_modify (mm/vma.c:599 mm/vma.c:1699) [ 576.471829][ C0] vma_modify_flags (mm/vma.c:1719) [ 576.471831][ C0] ? do_raw_spin_lock (./include/linux/instrumented.h:55 ./include/linux/atomic/atomic-instrumented.h:1301 ./include/asm-generic/qspinlock.h:111 kernel/locking/spinlock_debug.c:116) [ 576.471834][ C0] ? folio_add_file_rmap_ptes (./include/linux/instrumented.h:41 ./include/asm-generic/bitops/instrumented-non-atomic.h:28 ./include/linux/mm.h:1084 ./include/linux/mm.h:1093 mm/internal.h:1198 mm/rmap.c:1715 mm/rmap.c:1732) [ 576.471837][ C0] ? do_vmi_munmap (mm/vma.c:1637 (discriminator 5)) [ 576.471839][ C0] ? folio_add_new_anon_rmap (./include/linux/page-flags.h:329 (discriminator 3)) [ 576.471844][ C0] ? filemap_map_pages (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) mm/filemap.c:3945 (discriminator 2)) [ 576.471848][ C0] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 576.471851][ C0] ? rcu_read_lock_any_held (./include/linux/lockdep.h:249 kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 576.471853][ C0] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 576.471856][ C0] mprotect_fixup (mm/mprotect.c:789) [ 576.471859][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 576.471861][ C0] ? change_protection (./arch/x86/include/asm/bitops.h:202 (discriminator 1)) [ 576.471864][ C0] ? mas_prev_slot (./include/linux/lockdep.h:249 lib/maple_tree.c:709 lib/maple_tree.c:715 lib/maple_tree.c:748 lib/maple_tree.c:3992) [ 576.471869][ C0] ? mas_next_slot (./include/linux/lockdep.h:249 lib/maple_tree.c:709 lib/maple_tree.c:715 lib/maple_tree.c:4173) [ 576.471874][ C0] do_mprotect_pkey (mm/mprotect.c:967) [ 576.471876][ C0] ? do_pte_missing (mm/memory.c:5900 mm/memory.c:6043 mm/memory.c:4566) [ 576.471881][ C0] ? mprotect_fixup (./include/linux/mm.h:1093) [ 576.471884][ C0] ? __pmd_alloc (./include/linux/mm.h:1682) [ 576.471886][ 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)) [ 576.471895][ C0] __x64_sys_mprotect (mm/mprotect.c:988 mm/mprotect.c:985 mm/mprotect.c:985) [ 576.471898][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 576.471900][ C0] ? do_syscall_64 (./include/linux/entry-common.h:177 arch/x86/entry/syscall_64.c:89) [ 576.471902][ C0] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 576.471904][ C0] ? trace_hardirqs_off (kernel/trace/trace_preemptirq.c:104 (discriminator 1)) [ 576.471908][ C0] ? exc_page_fault (arch/x86/mm/fault.c:1480 (discriminator 3) arch/x86/mm/fault.c:1527 (discriminator 3)) [ 576.471910][ C0] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 576.471913][ C0] RIP: 0033:0x7faef6b7b8eb [ 576.471916][ C0] Code: 00 41 83 ca 40 0f 05 48 3d 00 f0 ff ff 76 94 f7 d8 89 05 c8 49 01 00 e9 72 ff ff ff 0f 1f 00 f3 0f 1e fa b8 0a 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8d 0d a5 49 01 00 f7 d8 89 01 48 83 All code ======== 0: 00 41 83 add %al,-0x7d(%rcx) 3: ca 40 0f lret $0xf40 6: 05 48 3d 00 f0 add $0xf0003d48,%eax b: ff (bad) c: ff 76 94 push -0x6c(%rsi) f: f7 d8 neg %eax 11: 89 05 c8 49 01 00 mov %eax,0x149c8(%rip) # 0x149df 17: e9 72 ff ff ff jmp 0xffffffffffffff8e 1c: 0f 1f 00 nopl (%rax) 1f: f3 0f 1e fa endbr64 23: b8 0a 00 00 00 mov $0xa,%eax 28: 0f 05 syscall 2a:* 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax <-- trapping instruction 30: 73 01 jae 0x33 32: c3 ret 33: 48 8d 0d a5 49 01 00 lea 0x149a5(%rip),%rcx # 0x149df 3a: f7 d8 neg %eax 3c: 89 01 mov %eax,(%rcx) 3e: 48 rex.W 3f: 83 .byte 0x83 Code starting with the faulting instruction =========================================== 0: 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax 6: 73 01 jae 0x9 8: c3 ret 9: 48 8d 0d a5 49 01 00 lea 0x149a5(%rip),%rcx # 0x149b5 10: f7 d8 neg %eax 12: 89 01 mov %eax,(%rcx) 14: 48 rex.W 15: 83 .byte 0x83 [ 576.471918][ C0] RSP: 002b:00007ffeef055b88 EFLAGS: 00000206 ORIG_RAX: 000000000000000a [ 576.471921][ C0] RAX: ffffffffffffffda RBX: 00007faef6b4e270 RCX: 00007faef6b7b8eb [ 576.471922][ C0] RDX: 0000000000000001 RSI: 0000000000004000 RDI: 00007faef6a4d000 [ 576.471924][ C0] RBP: 00007ffeef055ba0 R08: 00007faef6a4d000 R09: 0000000000000000 [ 576.471925][ C0] R10: 00007faef6b4e270 R11: 0000000000000206 R12: 0000000000000001 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock