====================================== | [ 84.642156][ C1] #2: ff11000005d305d8 (&fsvq->lock){+.+.}-{3:3}, at: virtio_fs_requests_done_work (./include/linux/spinlock.h:342 fs/fuse/virtio_fs.c:839) | [ 84.642341][ C1] #3: ffffffffb3577c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 84.642501][ C1] | [ 84.642501][ C1] stack backtrace: [ 84.642615][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 84.642617][ C1] Workqueue: events virtio_fs_requests_done_work [ 84.642621][ C1] Call Trace: [ 84.642622][ C1] [ 84.642624][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 84.642628][ C1] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 84.642631][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 84.642635][ C1] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 84.642636][ C1] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 84.642639][ C1] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 84.642641][ C1] ? save_trace (kernel/locking/lockdep.c:589) [ 84.642642][ C1] ? virtqueue_enable_cb_prepare_packed (drivers/virtio/virtio_ring.c:2239) [ 84.642646][ C1] mark_lock (kernel/locking/lockdep.c:4753) [ 84.642648][ C1] mark_usage (kernel/locking/lockdep.c:4642) [ 84.642649][ C1] __lock_acquire (kernel/locking/lockdep.c:5191) [ 84.642651][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 84.642652][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 84.642655][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 84.642657][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 84.642658][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 84.642660][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 84.642662][ C1] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 84.642664][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 84.642666][ C1] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 84.642667][ C1] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 84.642669][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 84.642671][ C1] rcu_do_batch (kernel/rcu/tree.c:2617) [ 84.642673][ C1] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 84.642676][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 84.642677][ C1] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 84.642679][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 84.642681][ C1] rcu_core (kernel/rcu/tree.c:2869) [ 84.642683][ C1] handle_softirqs (kernel/softirq.c:622) [ 84.642684][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 84.642687][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 84.642689][ C1] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 84.642691][ C1] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 84.642692][ C1] irq_exit_rcu (kernel/softirq.c:752) [ 84.642694][ C1] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 84.642695][ C1] [ 84.642696][ C1] [ 84.642697][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 84.642698][ C1] RIP: 0010:__unwind_start (arch/x86/kernel/unwind_orc.c:787) [ 84.642702][ C1] Code: 4c 24 08 85 d2 0f 84 8f 00 00 00 48 bd 00 00 00 00 00 fc ff df 48 c1 e8 03 48 c1 e9 03 4c 8d 2c 28 4c 8d 24 29 eb 26 4c 89 ff 2e dd ff ff 4c 89 f8 48 c1 e8 03 0f b6 04 28 84 c0 74 08 3c 03 All code ======== 0: 4c 24 08 rex.WR and $0x8,%al 3: 85 d2 test %edx,%edx 5: 0f 84 8f 00 00 00 je 0x9a b: 48 bd 00 00 00 00 00 movabs $0xdffffc0000000000,%rbp 12: fc ff df 15: 48 c1 e8 03 shr $0x3,%rax 19: 48 c1 e9 03 shr $0x3,%rcx 1d: 4c 8d 2c 28 lea (%rax,%rbp,1),%r13 21: 4c 8d 24 29 lea (%rcx,%rbp,1),%r12 25: eb 26 jmp 0x4d 27: 4c 89 ff mov %r15,%rdi 2a:* e8 2e dd ff ff call 0xffffffffffffdd5d <-- trapping instruction 2f: 4c 89 f8 mov %r15,%rax 32: 48 c1 e8 03 shr $0x3,%rax 36: 0f b6 04 28 movzbl (%rax,%rbp,1),%eax 3a: 84 c0 test %al,%al 3c: 74 08 je 0x46 3e: 3c 03 cmp $0x3,%al Code starting with the faulting instruction =========================================== 0: e8 2e dd ff ff call 0xffffffffffffdd33 5: 4c 89 f8 mov %r15,%rax 8: 48 c1 e8 03 shr $0x3,%rax c: 0f b6 04 28 movzbl (%rax,%rbp,1),%eax 10: 84 c0 test %al,%al 12: 74 08 je 0x1c 14: 3c 03 cmp $0x3,%al [ 84.642704][ C1] RSP: 0018:ffa000000037f658 EFLAGS: 00000216 [ 84.642706][ C1] RAX: 1ff400000006fede RBX: ffa000000037f740 RCX: ffa000000037f748 [ 84.642707][ C1] RDX: ffa0000000380000 RSI: ff110000024ac640 RDI: ffa000000037f6a8 [ 84.642708][ C1] RBP: dffffc0000000000 R08: ffa000000037f6d0 R09: ffa000000037f6a8 [ 84.642708][ C1] R10: fff3fc000006fee3 R11: fff3fc000006fee3 R12: fff3fc000006fed7 [ 84.642709][ C1] R13: fff3fc000006fed6 R14: ffa000000037f6f0 R15: ffa000000037f6a8 [ 84.642711][ C1] ? __unwind_start (arch/x86/kernel/unwind_orc.c:756) [ 84.642713][ C1] ? __unwind_start (arch/x86/kernel/unwind_orc.c:787) [ 84.642714][ C1] ? write_profile (profile.c:?) [ 84.642716][ C1] arch_stack_walk (./arch/x86/include/asm/unwind.h:64 arch/x86/kernel/stacktrace.c:24) [ 84.642720][ C1] ? __unwind_start (arch/x86/kernel/unwind_orc.c:741) [ 84.642722][ C1] ? detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881) [ 84.642724][ C1] stack_trace_save (kernel/stacktrace.c:122 (discriminator 1)) [ 84.642726][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 84.642728][ C1] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 84.642730][ C1] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 84.642732][ C1] ? sched_ttwu_pending (kernel/sched/core.c:3807 (discriminator 7)) [ 84.642735][ C1] kasan_save_stack (mm/kasan/common.c:57) [ 84.642743][ C1] kasan_record_aux_stack (mm/kasan/generic.c:556) [ 84.642745][ C1] ? __remove_object (mm/kmemleak.c:609) [ 84.642747][ C1] __call_rcu_common.constprop.0 (kernel/rcu/tree.c:3131) [ 84.642748][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 84.642750][ C1] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 84.642752][ C1] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:179 (discriminator 1) kernel/locking/spinlock.c:198 (discriminator 1)) [ 84.642753][ C1] kfree (./include/linux/kmemleak.h:50 mm/slub.c:2614 mm/slub.c:6251 mm/slub.c:6566) [ 84.642757][ C1] detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881) [ 84.642759][ C1] ? 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) [ 84.642761][ C1] virtqueue_get_buf_ctx_split (drivers/virtio/virtio_ring.c:891 drivers/virtio/virtio_ring.c:958) [ 84.642764][ C1] virtio_fs_requests_done_work (fs/fuse/virtio_fs.c:843 (discriminator 1)) [ 84.642766][ C1] ? virtio_fs_complete_req_work (fs/fuse/virtio_fs.c:823) [ 84.642768][ C1] ? process_one_work (kernel/workqueue.c:3290 (discriminator 2)) [ 84.642770][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 84.642771][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 84.642773][ C1] process_one_work (kernel/workqueue.c:3314) [ 84.642776][ C1] ? pwq_dec_nr_in_flight (kernel/workqueue.c:1822 (discriminator 4)) [ 84.642777][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 84.642780][ C1] worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) [ 84.642782][ C1] ? rescuer_thread (./include/linux/list.h:404 (discriminator 3)) [ 84.642784][ C1] ? __kthread_parkme (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 kernel/kthread.c:272) [ 84.642786][ C1] ? rescuer_thread (./include/linux/list.h:404 (discriminator 3)) [ 84.642788][ C1] kthread (kernel/kthread.c:436) [ 84.642790][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 84.642793][ C1] ? kthread_affine_node (kernel/kthread.c:378) [ 84.642795][ C1] ret_from_fork (arch/x86/kernel/process.c:158) [ 84.642797][ C1] ? arch_exit_to_user_mode_prepare.isra.0 (arch/x86/entry/syscall_64.c:37) [ 84.642799][ C1] ? __switch_to (arch/x86/kernel/process_64.c:403 arch/x86/kernel/process_64.c:663) [ 84.642801][ C1] ? kthread_affine_node (kernel/kthread.c:378) Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock