====================================== | [ 132.986555][ C1] #1: ffffffffb0577d20 (rcu_read_lock){....}-{1:3}, at: unwind_next_frame (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:838 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) | [ 132.986717][ C1] #2: ffffffffb0577c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 132.986886][ C1] | [ 132.986886][ C1] stack backtrace: [ 132.987061][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 132.987063][ C1] Call Trace: [ 132.987064][ C1] [ 132.987066][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 132.987070][ C1] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 132.987073][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 132.987077][ C1] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 132.987078][ C1] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 132.987081][ C1] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 132.987083][ C1] ? save_trace (kernel/locking/lockdep.c:589) [ 132.987084][ C1] ? __mmap_new_file_vma (mm/vma.c:2506) [ 132.987088][ C1] mark_lock (kernel/locking/lockdep.c:4753) [ 132.987090][ C1] mark_usage (kernel/locking/lockdep.c:4642) [ 132.987092][ C1] __lock_acquire (kernel/locking/lockdep.c:5191) [ 132.987093][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 132.987095][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 132.987098][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 132.987099][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 132.987101][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 132.987103][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 132.987105][ C1] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 132.987107][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 132.987109][ C1] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 132.987111][ C1] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 132.987112][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 132.987114][ C1] rcu_do_batch (kernel/rcu/tree.c:2617) [ 132.987116][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 132.987118][ C1] ? sched_balance_softirq (kernel/sched/fair.c:13350) [ 132.987121][ C1] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 132.987123][ C1] ? sched_balance_domains (kernel/sched/fair.c:12634) [ 132.987125][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 132.987126][ C1] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 132.987128][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 132.987130][ C1] rcu_core (kernel/rcu/tree.c:2869) [ 132.987132][ C1] handle_softirqs (kernel/softirq.c:622) [ 132.987134][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 132.987137][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 132.987138][ C1] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 132.987140][ C1] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 132.987142][ C1] irq_exit_rcu (kernel/softirq.c:752) [ 132.987143][ C1] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 132.987145][ C1] [ 132.987146][ C1] [ 132.987147][ C1] ? init_data_structures_once.part.0 (kernel/locking/lockdep.c:3397 (discriminator 1) kernel/locking/lockdep.c:3438 (discriminator 1) kernel/locking/lockdep.c:3482 (discriminator 1) kernel/locking/lockdep.c:1210 (discriminator 1)) [ 132.987148][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 132.987150][ C1] RIP: 0010:lock_release (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:109 ./arch/x86/include/asm/irqflags.h:127 kernel/locking/lockdep.c:5885 kernel/locking/lockdep.c:5875) [ 132.987152][ C1] Code: 85 d2 0f 85 84 00 00 00 65 48 8b 05 c0 8b 33 04 8b 80 ec 0a 00 00 85 c0 75 72 48 81 3b a0 1d 6c b1 74 69 4c 89 7c 24 18 9c 58 <49> 89 c7 fa 48 c7 c7 cd 44 03 b0 e8 46 16 33 02 4c 89 f6 48 89 df All code ======== 0: 85 d2 test %edx,%edx 2: 0f 85 84 00 00 00 jne 0x8c 8: 65 48 8b 05 c0 8b 33 mov %gs:0x4338bc0(%rip),%rax # 0x4338bd0 f: 04 10: 8b 80 ec 0a 00 00 mov 0xaec(%rax),%eax 16: 85 c0 test %eax,%eax 18: 75 72 jne 0x8c 1a: 48 81 3b a0 1d 6c b1 cmpq $0xffffffffb16c1da0,(%rbx) 21: 74 69 je 0x8c 23: 4c 89 7c 24 18 mov %r15,0x18(%rsp) 28: 9c pushf 29: 58 pop %rax 2a:* 49 89 c7 mov %rax,%r15 <-- trapping instruction 2d: fa cli 2e: 48 c7 c7 cd 44 03 b0 mov $0xffffffffb00344cd,%rdi 35: e8 46 16 33 02 call 0x2331680 3a: 4c 89 f6 mov %r14,%rsi 3d: 48 89 df mov %rbx,%rdi Code starting with the faulting instruction =========================================== 0: 49 89 c7 mov %rax,%r15 3: fa cli 4: 48 c7 c7 cd 44 03 b0 mov $0xffffffffb00344cd,%rdi b: e8 46 16 33 02 call 0x2331656 10: 4c 89 f6 mov %r14,%rsi 13: 48 89 df mov %rbx,%rdi [ 132.987154][ C1] RSP: 0018:ffa0000000567078 EFLAGS: 00000202 [ 132.987157][ C1] RAX: 0000000000000202 RBX: ffffffffb0577d20 RCX: 0000000000000001 [ 132.987158][ C1] RDX: 0000000000000000 RSI: ffffffffafa6f640 RDI: ffffffffb009e948 [ 132.987159][ C1] RBP: ffa0000000567be8 R08: ffffffffb117d72a R09: ffffffffb0f3e688 [ 132.987160][ C1] R10: 0000000000000001 R11: 0000000000000000 R12: ffa0000000567b01 [ 132.987161][ C1] R13: ffa00000005671a0 R14: ffffffffad14a6e1 R15: ffffffffada81b39 [ 132.987162][ C1] ? vms_complete_munmap_vmas (mm/vma.c:1361) [ 132.987163][ C1] ? unwind_next_frame (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) [ 132.987166][ C1] ? vms_complete_munmap_vmas (mm/vma.c:1361) [ 132.987168][ C1] unwind_next_frame (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) [ 132.987169][ C1] ? __mmap_region (mm/vma.c:2617 mm/vma.c:2780) [ 132.987171][ C1] ? stack_access_ok (./arch/x86/include/asm/stacktrace.h:55) [ 132.987173][ C1] ? __unwind_start (arch/x86/kernel/unwind_orc.c:787) [ 132.987174][ C1] ? write_profile (profile.c:?) [ 132.987177][ C1] arch_stack_walk (arch/x86/kernel/stacktrace.c:25) [ 132.987181][ C1] ? mmap_region (mm/vma.c:2857) [ 132.987183][ C1] stack_trace_save (kernel/stacktrace.c:122 (discriminator 1)) [ 132.987185][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 132.987187][ C1] ? __kernel_text_address (kernel/extable.c:79) [ 132.987189][ C1] ? write_profile (profile.c:?) [ 132.987191][ C1] ? unwind_get_return_address (arch/x86/kernel/unwind_orc.c:385 arch/x86/kernel/unwind_orc.c:380) [ 132.987193][ C1] ? arch_stack_walk (arch/x86/kernel/stacktrace.c:26) [ 132.987195][ C1] kasan_save_stack (mm/kasan/common.c:57) [ 132.987198][ C1] ? kasan_save_stack (mm/kasan/common.c:57) [ 132.987200][ C1] ? kasan_save_track (mm/kasan/common.c:78) [ 132.987202][ C1] ? __kasan_kmalloc (mm/kasan/common.c:398 mm/kasan/common.c:415) [ 132.987204][ C1] ? kmem_cache_free (./include/linux/slab.h:950 (discriminator 1) mm/slub.c:2641 (discriminator 1) mm/slub.c:6251 (discriminator 1) mm/slub.c:6378 (discriminator 1)) [ 132.987207][ C1] ? vms_complete_munmap_vmas (mm/vma.c:1361) [ 132.987208][ C1] ? __mmap_region (mm/vma.c:2617 mm/vma.c:2780) [ 132.987213][ C1] kasan_save_track (mm/kasan/common.c:78) [ 132.987215][ C1] __kasan_kmalloc (mm/kasan/common.c:398 mm/kasan/common.c:415) [ 132.987217][ C1] kmem_cache_free (./include/linux/slab.h:950 (discriminator 1) mm/slub.c:2641 (discriminator 1) mm/slub.c:6251 (discriminator 1) mm/slub.c:6378 (discriminator 1)) [ 132.987219][ C1] ? fput (./include/linux/preempt.h:468 ./include/linux/file_ref.h:150 fs/file_table.c:586) [ 132.987222][ C1] vms_complete_munmap_vmas (mm/vma.c:1361) [ 132.987224][ C1] ? __mmap_new_vma (./include/linux/fs.h:523 mm/vma.c:1840 mm/vma.c:2585) [ 132.987226][ C1] ? perf_event_mmap (./include/linux/instrumented.h:82 ./include/linux/atomic/atomic-instrumented.h:32 kernel/events/core.c:9932) [ 132.987229][ C1] ? __mmap_new_vma (mm/vma.h:615 mm/vma.h:623 mm/vma.c:2583) [ 132.987231][ C1] ? vma_set_page_prot (mm/mmap.c:87) [ 132.987235][ C1] __mmap_region (mm/vma.c:2617 mm/vma.c:2780) [ 132.987236][ C1] ? vma_merge_new_range (mm/vma.c:1083) [ 132.987238][ C1] ? filemap_get_pages (mm/filemap.c:2725) [ 132.987241][ C1] ? mark_usage (kernel/locking/lockdep.c:4674) [ 132.987246][ C1] ? copy_page_to_iter (lib/iov_iter.c:374 lib/iov_iter.c:361) [ 132.987250][ C1] ? 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) [ 132.987255][ C1] ? mas_prev (lib/maple_tree.c:5211 lib/maple_tree.c:5204) [ 132.987262][ C1] ? vm_unmapped_area (./include/trace/events/mmap.h:10 (discriminator 22) mm/mmap.c:674 (discriminator 22)) [ 132.987264][ C1] ? arch_get_unmapped_area_topdown (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 ./include/linux/thread_info.h:133 arch/x86/kernel/sys_x86_64.c:177) [ 132.987268][ C1] mmap_region (mm/vma.c:2857) [ 132.987270][ C1] ? mm_take_all_locks (mm/vma.c:2266 (discriminator 1)) [ 132.987271][ C1] ? __might_fault (mm/memory.c:7340 (discriminator 5)) [ 132.987274][ C1] ? __get_unmapped_area (./include/linux/security.h:1187 mm/mmap.c:863) [ 132.987276][ C1] ? ovl_file_end_write (./include/linux/fs.h:1353) [ 132.987279][ C1] do_mmap (mm/mmap.c:560) [ 132.987282][ C1] ? __ia32_sys_brk (mm/mmap.c:116) [ 132.987284][ C1] ? 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) [ 132.987286][ C1] ? down_write (kernel/locking/rwsem.c:1627) [ 132.987288][ C1] vm_mmap_pgoff (mm/util.c:581) [ 132.987290][ C1] ? randomize_page (mm/util.c:387) [ 132.987293][ C1] ? __fget_files (./include/linux/rcupdate.h:871 fs/file.c:1101) [ 132.987296][ C1] ksys_mmap_pgoff (mm/mmap.c:606) [ 132.987298][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 132.987300][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 132.987301][ C1] ? do_syscall_64 (./include/linux/entry-common.h:177 arch/x86/entry/syscall_64.c:89) [ 132.987303][ C1] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 132.987304][ C1] ? trace_hardirqs_off (kernel/trace/trace_preemptirq.c:104 (discriminator 1)) [ 132.987307][ C1] ? exc_page_fault (arch/x86/mm/fault.c:1480 (discriminator 3) arch/x86/mm/fault.c:1527 (discriminator 3)) [ 132.987309][ C1] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 132.987310][ C1] RIP: 0033:0x7f8fc08d285c [ 132.987313][ C1] 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 [ 132.987314][ C1] RSP: 002b:00007ffe7935fb60 EFLAGS: 00000206 ORIG_RAX: 0000000000000009 [ 132.987315][ C1] RAX: ffffffffffffffda RBX: 00007f8fc07de000 RCX: 00007f8fc08d285c [ 132.987316][ C1] RDX: 0000000000000001 RSI: 0000000000003000 RDI: 00007f8fc07de000 [ 132.987317][ C1] RBP: 00007ffe7935fb70 R08: 0000000000000005 R09: 0000000000002000 [ 132.987318][ C1] R10: 0000000000000812 R11: 0000000000000206 R12: 0000000000000812 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock