====================================== | [ 1301.182307][ C0] #1: ffffffff8eb77d20 (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)) | [ 1301.182489][ C0] #2: ffffffff8eb77c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 1301.182734][ C0] | [ 1301.182734][ C0] stack backtrace: [ 1301.182864][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 1301.182866][ C0] Call Trace: [ 1301.182867][ C0] [ 1301.182869][ C0] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 1301.182873][ C0] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 1301.182876][ C0] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 1301.182880][ C0] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 1301.182882][ C0] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 1301.182884][ C0] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 1301.182886][ C0] ? save_trace (kernel/locking/lockdep.c:589) [ 1301.182887][ C0] ? virtqueue_add_packed_in_order (drivers/virtio/virtio_ring.c:1891) [ 1301.182894][ C0] mark_lock (kernel/locking/lockdep.c:4753) [ 1301.182896][ C0] mark_usage (kernel/locking/lockdep.c:4642) [ 1301.182897][ C0] __lock_acquire (kernel/locking/lockdep.c:5191) [ 1301.182899][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 1301.182900][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 1301.182903][ C0] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1301.182905][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1301.182907][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1301.182909][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 1301.182911][ C0] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 1301.182912][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1301.182914][ C0] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1301.182916][ C0] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 1301.182917][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 1301.182919][ C0] rcu_do_batch (kernel/rcu/tree.c:2617) [ 1301.182921][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 1301.182923][ C0] ? sched_balance_softirq (kernel/sched/fair.c:13350) [ 1301.182926][ C0] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 1301.182933][ C0] ? sched_balance_domains (kernel/sched/fair.c:12634) [ 1301.182935][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 1301.182937][ C0] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 1301.182938][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 1301.182940][ C0] rcu_core (kernel/rcu/tree.c:2869) [ 1301.182942][ C0] handle_softirqs (kernel/softirq.c:622) [ 1301.182944][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1301.182947][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1301.182948][ C0] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 1301.182951][ C0] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 1301.182952][ C0] irq_exit_rcu (kernel/softirq.c:752) [ 1301.182954][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 1301.182956][ C0] [ 1301.182956][ C0] [ 1301.182957][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 1301.182959][ C0] RIP: 0010:lock_acquire.part.0 (./arch/x86/include/asm/irqflags.h:158 (discriminator 1) kernel/locking/lockdep.c:5871 (discriminator 1)) [ 1301.182961][ C0] Code: ff 65 0f c1 05 37 d9 33 04 83 f8 01 4c 8b 14 24 0f 85 30 01 00 00 9c 58 f6 c4 02 0f 85 4d 01 00 00 4d 85 d2 0f 85 16 01 00 00 <48> 8b 44 24 30 65 48 2b 05 a9 92 33 04 0f 85 43 01 00 00 48 83 c4 All code ======== 0: ff 65 0f jmp *0xf(%rbp) 3: c1 05 37 d9 33 04 83 roll $0x83,0x433d937(%rip) # 0x433d941 a: f8 clc b: 01 4c 8b 14 add %ecx,0x14(%rbx,%rcx,4) f: 24 0f and $0xf,%al 11: 85 30 test %esi,(%rax) 13: 01 00 add %eax,(%rax) 15: 00 9c 58 f6 c4 02 0f add %bl,0xf02c4f6(%rax,%rbx,2) 1c: 85 4d 01 test %ecx,0x1(%rbp) 1f: 00 00 add %al,(%rax) 21: 4d 85 d2 test %r10,%r10 24: 0f 85 16 01 00 00 jne 0x140 2a:* 48 8b 44 24 30 mov 0x30(%rsp),%rax <-- trapping instruction 2f: 65 48 2b 05 a9 92 33 sub %gs:0x43392a9(%rip),%rax # 0x43392e0 36: 04 37: 0f 85 43 01 00 00 jne 0x180 3d: 48 rex.W 3e: 83 .byte 0x83 3f: c4 .byte 0xc4 Code starting with the faulting instruction =========================================== 0: 48 8b 44 24 30 mov 0x30(%rsp),%rax 5: 65 48 2b 05 a9 92 33 sub %gs:0x43392a9(%rip),%rax # 0x43392b6 c: 04 d: 0f 85 43 01 00 00 jne 0x156 13: 48 rex.W 14: 83 .byte 0x83 15: c4 .byte 0xc4 [ 1301.182963][ C0] RSP: 0018:ffa00000006c6d00 EFLAGS: 00000206 [ 1301.182965][ C0] RAX: 0000000000000046 RBX: 0000000000000000 RCX: 4a8286ea93efaeeb [ 1301.182967][ C0] RDX: 0000000000000001 RSI: ffffffff8e5ebde8 RDI: ffffffff8e06f6c0 [ 1301.182968][ C0] RBP: 0000000000000000 R08: 0000000000000001 R09: ff1100000d608b58 [ 1301.182968][ C0] R10: 0000000000000200 R11: 0000000000000001 R12: ffffffff8eb77d20 [ 1301.182969][ C0] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000002 [ 1301.182972][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1301.182973][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 1301.182975][ C0] 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)) [ 1301.182977][ C0] ? 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)) [ 1301.182978][ C0] ? virtio_fs_send_req (fs/fuse/virtio_fs.c:1517) [ 1301.182980][ C0] ? mark_usage (kernel/locking/lockdep.c:4674) [ 1301.182981][ C0] ? stack_access_ok (./arch/x86/include/asm/stacktrace.h:55) [ 1301.182983][ C0] ? __unwind_start (arch/x86/kernel/unwind_orc.c:787) [ 1301.182985][ C0] ? write_profile (profile.c:?) [ 1301.182987][ C0] arch_stack_walk (arch/x86/kernel/stacktrace.c:25) [ 1301.182991][ C0] ? virtio_fs_send_req (fs/fuse/virtio_fs.c:1517) [ 1301.182993][ C0] ? virtqueue_add_split (./include/linux/slab.h:954 drivers/virtio/virtio_ring.c:561 drivers/virtio/virtio_ring.c:636) [ 1301.182995][ C0] stack_trace_save (kernel/stacktrace.c:122 (discriminator 1)) [ 1301.182997][ C0] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 1301.182999][ C0] ? virtqueue_add_split (./include/linux/slab.h:954 drivers/virtio/virtio_ring.c:561 drivers/virtio/virtio_ring.c:636) [ 1301.183001][ C0] ? __unwind_start (arch/x86/kernel/unwind_orc.c:787) [ 1301.183002][ C0] kasan_save_stack (mm/kasan/common.c:57) [ 1301.183006][ C0] ? kasan_save_stack (mm/kasan/common.c:57) [ 1301.183008][ C0] ? kasan_save_track (mm/kasan/common.c:78) [ 1301.183009][ C0] ? __kasan_kmalloc (mm/kasan/common.c:398 mm/kasan/common.c:415) [ 1301.183011][ C0] ? __kmalloc_noprof (./include/linux/kasan.h:263 mm/slub.c:5296 mm/slub.c:5308) [ 1301.183014][ C0] ? virtqueue_add_split (./include/linux/slab.h:954 drivers/virtio/virtio_ring.c:561 drivers/virtio/virtio_ring.c:636) [ 1301.183015][ C0] ? virtqueue_add_sgs (drivers/virtio/virtio_ring.c:2796 (discriminator 7) drivers/virtio/virtio_ring.c:2835 (discriminator 7)) [ 1301.183017][ C0] ? virtio_fs_enqueue_req (fs/fuse/virtio_fs.c:1458) [ 1301.183018][ C0] ? virtio_fs_send_req (fs/fuse/virtio_fs.c:1517) [ 1301.183024][ C0] kasan_save_track (mm/kasan/common.c:78) [ 1301.183026][ C0] __kasan_kmalloc (mm/kasan/common.c:398 mm/kasan/common.c:415) [ 1301.183028][ C0] __kmalloc_noprof (./include/linux/kasan.h:263 mm/slub.c:5296 mm/slub.c:5308) [ 1301.183030][ C0] ? do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 1301.183032][ C0] virtqueue_add_split (./include/linux/slab.h:954 drivers/virtio/virtio_ring.c:561 drivers/virtio/virtio_ring.c:636) [ 1301.183034][ C0] ? fuse_request_alloc (fs/fuse/dev.c:142 (discriminator 7)) [ 1301.183036][ C0] ? entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 1301.183038][ C0] ? write_profile (profile.c:?) [ 1301.183039][ C0] ? __kernel_text_address (kernel/extable.c:79) [ 1301.183042][ C0] ? virtqueue_add_packed (drivers/virtio/virtio_ring.c:1677) [ 1301.183044][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 1301.183046][ C0] virtqueue_add_sgs (drivers/virtio/virtio_ring.c:2796 (discriminator 7) drivers/virtio/virtio_ring.c:2835 (discriminator 7)) [ 1301.183049][ C0] virtio_fs_enqueue_req (fs/fuse/virtio_fs.c:1458) [ 1301.183051][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1301.183052][ C0] ? ovl_get_link (fs/overlayfs/inode.c:332 (discriminator 1) fs/overlayfs/inode.c:324 (discriminator 1)) [ 1301.183055][ C0] ? virtio_fs_probe (./include/linux/virtio_config.h:371) [ 1301.183056][ C0] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 1301.183059][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1301.183061][ C0] ? __create_object (mm/kmemleak.c:785 (discriminator 3)) [ 1301.183063][ C0] ? trace_kmem_cache_alloc (./include/trace/events/kmem.h:12 (discriminator 22)) [ 1301.183067][ C0] ? __rwlock_init (kernel/locking/spinlock_debug.c:48) [ 1301.183069][ C0] ? do_raw_spin_unlock (./include/linux/instrumented.h:82 ./include/linux/atomic/atomic-instrumented.h:32 ./include/asm-generic/qspinlock.h:57 kernel/locking/spinlock_debug.c:101 kernel/locking/spinlock_debug.c:141) [ 1301.183071][ C0] virtio_fs_send_req (fs/fuse/virtio_fs.c:1517) [ 1301.183073][ C0] __fuse_simple_request (fs/fuse/dev.c:602 fs/fuse/dev.c:699) [ 1301.183075][ C0] fuse_readlink_folio (fs/fuse/fuse_i.h:1262 fs/fuse/dir.c:1838) [ 1301.183077][ C0] ? fuse_invalidate_attr_mask (fs/fuse/dir.c:307) [ 1301.183079][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 1301.183082][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1301.183084][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1301.183087][ C0] fuse_get_link (fs/fuse/dir.c:1877) [ 1301.183088][ C0] ovl_get_link (fs/overlayfs/inode.c:332 (discriminator 1) fs/overlayfs/inode.c:324 (discriminator 1)) [ 1301.183090][ C0] pick_link (fs/namei.c:2064) [ 1301.183093][ C0] ? ovl_check_rename_whiteout (fs/overlayfs/ovl_entry.h:105) [ 1301.183095][ C0] step_into_slowpath (fs/namei.c:2123) [ 1301.183097][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1301.183099][ C0] ? pick_link (fs/namei.c:793 (discriminator 12)) [ 1301.183101][ C0] ? ovl_dentry_revalidate_common (fs/overlayfs/super.c:150) [ 1301.183103][ C0] ? lookup_fast (fs/namei.c:1030 fs/namei.c:1026 fs/namei.c:1876) [ 1301.183105][ C0] open_last_lookups (fs/namei.c:2148 fs/namei.c:4646) [ 1301.183108][ C0] ? lookup_open.isra.0 (fs/namei.c:4504) [ 1301.183110][ C0] ? __asan_memset (mm/kasan/shadow.c:84 (discriminator 1)) [ 1301.183112][ C0] ? init_file.isra.0 (./include/linux/instrumented.h:97 ./include/linux/atomic/atomic-instrumented.h:3223 ./include/linux/file_ref.h:61 fs/file_table.c:229) [ 1301.183114][ C0] path_openat (fs/namei.c:4855) [ 1301.183116][ C0] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 1301.183118][ C0] ? kernel_tmpfile_open (fs/namei.c:4800) [ 1301.183120][ C0] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 1301.183121][ C0] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 1301.183123][ C0] do_file_open (fs/namei.c:4887) [ 1301.183125][ C0] ? path_openat (./include/linux/mount.h:68 (discriminator 3)) [ 1301.183129][ C0] ? do_raw_spin_unlock (./include/linux/instrumented.h:82 ./include/linux/atomic/atomic-instrumented.h:32 ./include/asm-generic/qspinlock.h:57 kernel/locking/spinlock_debug.c:101 kernel/locking/spinlock_debug.c:141) [ 1301.183131][ C0] ? _raw_spin_unlock (./include/linux/spinlock_api_smp.h:169 (discriminator 1) kernel/locking/spinlock.c:190 (discriminator 1)) [ 1301.183132][ C0] ? alloc_fd (./include/linux/spinlock.h:390 fs/file.c:611) [ 1301.183135][ C0] do_sys_openat2 (fs/open.c:1364 (discriminator 5)) [ 1301.183138][ C0] ? build_open_flags (fs/open.c:1212) [ 1301.183141][ C0] __x64_sys_openat (fs/open.c:1370 fs/open.c:1386 fs/open.c:1381 fs/open.c:1381) [ 1301.183143][ C0] ? __ia32_sys_open (fs/open.c:1374) [ 1301.183145][ C0] ? fpregs_restore_userregs (./include/linux/instrumented.h:97 ./include/asm-generic/bitops/instrumented-atomic.h:41 ./include/linux/thread_info.h:109 arch/x86/kernel/fpu/context.h:79) [ 1301.183147][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1301.183149][ C0] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 1301.183152][ C0] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 1301.183153][ C0] ? trace_hardirqs_off (kernel/trace/trace_preemptirq.c:104 (discriminator 1)) [ 1301.183155][ C0] ? exc_page_fault (arch/x86/mm/fault.c:1480 (discriminator 3) arch/x86/mm/fault.c:1527 (discriminator 3)) [ 1301.183156][ C0] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 1301.183158][ C0] RIP: 0033:0x7f519c00b625 [ 1301.183160][ C0] Code: 48 89 e5 48 89 55 e0 41 83 e2 40 75 28 89 f2 f7 d2 81 e2 00 00 41 00 74 1c 89 f2 bf 9c ff ff ff 48 89 c6 b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 77 23 5d c3 90 48 8d 4d 10 c7 45 b8 10 00 00 00 All code ======== 0: 48 89 e5 mov %rsp,%rbp 3: 48 89 55 e0 mov %rdx,-0x20(%rbp) 7: 41 83 e2 40 and $0x40,%r10d b: 75 28 jne 0x35 d: 89 f2 mov %esi,%edx f: f7 d2 not %edx 11: 81 e2 00 00 41 00 and $0x410000,%edx 17: 74 1c je 0x35 19: 89 f2 mov %esi,%edx 1b: bf 9c ff ff ff mov $0xffffff9c,%edi 20: 48 89 c6 mov %rax,%rsi 23: b8 01 01 00 00 mov $0x101,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 23 ja 0x55 32: 5d pop %rbp 33: c3 ret 34: 90 nop 35: 48 8d 4d 10 lea 0x10(%rbp),%rcx 39: c7 45 b8 10 00 00 00 movl $0x10,-0x48(%rbp) Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 23 ja 0x2b 8: 5d pop %rbp 9: c3 ret a: 90 nop b: 48 8d 4d 10 lea 0x10(%rbp),%rcx f: c7 45 b8 10 00 00 00 movl $0x10,-0x48(%rbp) [ 1301.183161][ C0] RSP: 002b:00007ffcb1994ed0 EFLAGS: 00000206 ORIG_RAX: 0000000000000101 [ 1301.183163][ C0] RAX: ffffffffffffffda RBX: 00007ffcb1995160 RCX: 00007f519c00b625 [ 1301.183164][ C0] RDX: 0000000000080000 RSI: 00007ffcb1994f50 RDI: 00000000ffffff9c [ 1301.183164][ C0] RBP: 00007ffcb1994ed0 R08: 00007ffcb1995147 R09: 0000000000000000 [ 1301.183165][ C0] R10: 0000000000000000 R11: 0000000000000206 R12: 00007ffcb1994f50 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock