====================================== | [ 318.849877][ C1] #0: ffffffffb7377d20 (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)) | [ 318.850058][ C1] #1: ffffffffb7377c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 318.850240][ C1] | [ 318.850240][ C1] stack backtrace: [ 318.850367][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 318.850369][ C1] Call Trace: [ 318.850370][ C1] [ 318.850372][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 318.850377][ C1] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 318.850380][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 318.850383][ C1] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 318.850385][ C1] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 318.850387][ C1] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 318.850389][ C1] ? save_trace (kernel/locking/lockdep.c:589) [ 318.850390][ C1] ? fuse_dax_inode_init (fs/fuse/dax.c:1323) [ 318.850395][ C1] mark_lock (kernel/locking/lockdep.c:4753) [ 318.850396][ C1] mark_usage (kernel/locking/lockdep.c:4642) [ 318.850398][ C1] __lock_acquire (kernel/locking/lockdep.c:5191) [ 318.850399][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 318.850401][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 318.850404][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 318.850405][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 318.850407][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 318.850409][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 318.850411][ C1] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 318.850412][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 318.850414][ C1] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 318.850415][ C1] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 318.850417][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 318.850419][ C1] rcu_do_batch (kernel/rcu/tree.c:2617) [ 318.850421][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 318.850423][ C1] ? sched_balance_softirq (kernel/sched/fair.c:13350) [ 318.850425][ C1] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 318.850427][ C1] ? sched_balance_domains (kernel/sched/fair.c:12634) [ 318.850429][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 318.850431][ C1] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 318.850432][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 318.850434][ C1] rcu_core (kernel/rcu/tree.c:2869) [ 318.850436][ C1] handle_softirqs (kernel/softirq.c:622) [ 318.850437][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 318.850440][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 318.850442][ C1] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 318.850444][ C1] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 318.850445][ C1] irq_exit_rcu (kernel/softirq.c:752) [ 318.850447][ C1] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 318.850449][ C1] [ 318.850449][ C1] [ 318.850450][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 318.850452][ C1] RIP: 0010:lock_acquire.part.0 (./arch/x86/include/asm/irqflags.h:158 (discriminator 1) kernel/locking/lockdep.c:5871 (discriminator 1)) [ 318.850454][ C1] 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 [ 318.850456][ C1] RSP: 0018:ffa0000000707580 EFLAGS: 00000206 [ 318.850458][ C1] RAX: 0000000000000046 RBX: 0000000000000000 RCX: 0ac0d5affe09d4ff [ 318.850460][ C1] RDX: 0000000000000001 RSI: ffffffffb6debde8 RDI: ffffffffb686f6c0 [ 318.850461][ C1] RBP: 0000000000000000 R08: 0000000000000001 R09: ff1100001747ae30 [ 318.850461][ C1] R10: 0000000000000200 R11: 0000000000000001 R12: ffffffffb7377d20 [ 318.850462][ C1] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000002 [ 318.850464][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 318.850466][ C1] ? mark_usage (kernel/locking/lockdep.c:4674) [ 318.850467][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 318.850469][ C1] 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)) [ 318.850470][ C1] ? 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)) [ 318.850472][ C1] ? arch_stack_walk (./arch/x86/include/asm/unwind.h:64 arch/x86/kernel/stacktrace.c:24) [ 318.850476][ C1] ? stack_access_ok (./arch/x86/include/asm/stacktrace.h:55) [ 318.850477][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 318.850478][ C1] ? mark_usage (kernel/locking/lockdep.c:4674) [ 318.850479][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 318.850481][ C1] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 318.850482][ C1] ? get_stack_info_noinstr (arch/x86/kernel/dumpstack_64.c:173) [ 318.850484][ C1] __unwind_start (arch/x86/kernel/unwind_orc.c:787) [ 318.850486][ C1] ? write_profile (profile.c:?) [ 318.850488][ C1] arch_stack_walk (./arch/x86/include/asm/unwind.h:64 arch/x86/kernel/stacktrace.c:24) [ 318.850490][ C1] ? arch_stack_walk (./arch/x86/include/asm/unwind.h:64 arch/x86/kernel/stacktrace.c:24) [ 318.850492][ C1] ? copy_args_to_argbuf (fs/fuse/virtio_fs.c:704) [ 318.850494][ C1] stack_trace_save (kernel/stacktrace.c:122 (discriminator 1)) [ 318.850496][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 318.850498][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 318.850499][ C1] ? check_object (mm/slub.c:1407 (discriminator 1) mm/slub.c:1514 (discriminator 1)) [ 318.850503][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 318.850505][ C1] set_track_prepare (mm/slub.c:1037) [ 318.850508][ C1] ___slab_alloc (mm/slub.c:1067 mm/slub.c:4480) [ 318.850510][ C1] ? copy_args_to_argbuf (./include/linux/slab.h:954 fs/fuse/virtio_fs.c:709) [ 318.850512][ C1] ? copy_args_to_argbuf (./include/linux/slab.h:954 fs/fuse/virtio_fs.c:709) [ 318.850514][ C1] ? copy_args_to_argbuf (./include/linux/slab.h:954 fs/fuse/virtio_fs.c:709) [ 318.850515][ C1] __kmalloc_noprof (mm/slub.c:4511 mm/slub.c:4887 mm/slub.c:5295 mm/slub.c:5308) [ 318.850518][ C1] copy_args_to_argbuf (./include/linux/slab.h:954 fs/fuse/virtio_fs.c:709) [ 318.850519][ C1] ? write_profile (profile.c:?) [ 318.850522][ C1] virtio_fs_enqueue_req (fs/fuse/virtio_fs.c:1423) [ 318.850524][ C1] ? rcu_read_lock_any_held (./include/linux/lockdep.h:249 kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 318.850526][ C1] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 318.850527][ C1] ? virtio_fs_probe (./include/linux/virtio_config.h:371) [ 318.850529][ C1] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 318.850533][ C1] ? __rwlock_init (kernel/locking/spinlock_debug.c:48) [ 318.850535][ C1] ? 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) [ 318.850537][ C1] virtio_fs_send_req (fs/fuse/virtio_fs.c:1517) [ 318.850539][ C1] ? fuse_request_alloc (./include/linux/instrumented.h:41 ./include/asm-generic/bitops/instrumented-non-atomic.h:28 fs/fuse/dev.c:135 fs/fuse/dev.c:144) [ 318.850542][ C1] __fuse_simple_request (fs/fuse/dev.c:602 fs/fuse/dev.c:699) [ 318.850544][ C1] fuse_flush (fs/fuse/fuse_i.h:1262 fs/fuse/file.c:500) [ 318.850547][ C1] ? fuse_release (fs/fuse/file.c:389) [ 318.850548][ C1] ? ovl_verify_lowerdata (fs/overlayfs/namei.c:1051) [ 318.850550][ C1] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 318.850552][ C1] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 318.850554][ C1] ? ovl_path_next (fs/overlayfs/ovl_entry.h:120) [ 318.850557][ C1] ? ovl_real_file (fs/overlayfs/file.c:195) [ 318.850559][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 318.850561][ C1] ? ovl_fsync (fs/overlayfs/file.c:464 (discriminator 1)) [ 318.850563][ C1] ovl_flush (fs/overlayfs/file.c:629) [ 318.850565][ C1] filp_flush (fs/open.c:1467) [ 318.850568][ C1] __x64_sys_close (fs/open.c:1501 (discriminator 1) fs/open.c:1492 (discriminator 1) fs/open.c:1492 (discriminator 1)) [ 318.850570][ C1] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 318.850572][ C1] ? trace_hardirqs_off (kernel/trace/trace_preemptirq.c:104 (discriminator 1)) [ 318.850575][ C1] ? exc_page_fault (arch/x86/mm/fault.c:1480 (discriminator 3) arch/x86/mm/fault.c:1527 (discriminator 3)) [ 318.850577][ C1] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 318.850578][ C1] RIP: 0033:0x7f0a1d27d4cb [ 318.850581][ C1] Code: 0f 1e fa 48 89 f2 31 c9 48 89 fe bf 9c ff ff ff e9 0a ff ff ff 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 05 c3 0f 1f 40 00 f7 d8 89 05 c0 4d 01 00 b8 All code ======== 0: 0f 1e fa nop %edx 3: 48 89 f2 mov %rsi,%rdx 6: 31 c9 xor %ecx,%ecx 8: 48 89 fe mov %rdi,%rsi b: bf 9c ff ff ff mov $0xffffff9c,%edi 10: e9 0a ff ff ff jmp 0xffffffffffffff1f 15: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1) 1c: 00 00 00 1f: f3 0f 1e fa endbr64 23: b8 03 00 00 00 mov $0x3,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 05 ja 0x37 32: c3 ret 33: 0f 1f 40 00 nopl 0x0(%rax) 37: f7 d8 neg %eax 39: 89 05 c0 4d 01 00 mov %eax,0x14dc0(%rip) # 0x14dff 3f: b8 .byte 0xb8 Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 05 ja 0xd 8: c3 ret 9: 0f 1f 40 00 nopl 0x0(%rax) d: f7 d8 neg %eax f: 89 05 c0 4d 01 00 mov %eax,0x14dc0(%rip) # 0x14dd5 15: b8 .byte 0xb8 [ 318.850582][ C1] RSP: 002b:00007ffd263572b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003 [ 318.850583][ C1] RAX: ffffffffffffffda RBX: 00007f0a1d185530 RCX: 00007f0a1d27d4cb [ 318.850584][ C1] RDX: 0000000000000001 RSI: 00007f0a1d175160 RDI: 0000000000000005 [ 318.850585][ C1] RBP: 00007ffd26357420 R08: 00007f0a1d175138 R09: 000000000000000f [ 318.850585][ C1] R10: 00000000c0000002 R11: 0000000000000246 R12: 0000000000000003 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock