======================================
| [ 594.381863][ C1] #2: ff11000005d205d8 (&fsvq->lock){+.+.}-{3:3}, at: virtio_fs_requests_done_work (./include/linux/spinlock.h:342 fs/fuse/virtio_fs.c:839)
| [ 594.382079][ C1] #3: ffffffff93777c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2))
| [ 594.382276][ C1]
| [ 594.382276][ C1] stack backtrace:
[ 594.382423][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 594.382425][ C1] Workqueue: events virtio_fs_requests_done_work
[ 594.382429][ C1] Call Trace:
[ 594.382430][ C1]
[ 594.382432][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120)
[ 594.382437][ C1] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042)
[ 594.382440][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402)
[ 594.382443][ C1] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267)
[ 594.382444][ C1] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37))
[ 594.382447][ C1] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697)
[ 594.382449][ C1] ? save_trace (kernel/locking/lockdep.c:589)
[ 594.382450][ C1] ? virtio_fs_setup_vqs (fs/fuse/virtio_fs.c:987)
[ 594.382453][ C1] mark_lock (kernel/locking/lockdep.c:4753)
[ 594.382454][ C1] mark_usage (kernel/locking/lockdep.c:4642)
[ 594.382456][ C1] __lock_acquire (kernel/locking/lockdep.c:5191)
[ 594.382457][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325)
[ 594.382459][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2))
[ 594.382461][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1))
[ 594.382463][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred
[ 594.382465][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 594.382467][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22))
[ 594.382469][ C1] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1))
[ 594.382470][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred
[ 594.382472][ C1] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred
[ 594.382473][ C1] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378)
[ 594.382475][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2))
[ 594.382477][ C1] rcu_do_batch (kernel/rcu/tree.c:2617)
[ 594.382479][ C1] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19))
[ 594.382481][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325)
[ 594.382483][ C1] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2))
[ 594.382484][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472)
[ 594.382486][ C1] rcu_core (kernel/rcu/tree.c:2869)
[ 594.382488][ C1] handle_softirqs (kernel/softirq.c:622)
[ 594.382489][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350)
[ 594.382492][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535)
[ 594.382493][ C1] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1))
[ 594.382495][ C1] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735)
[ 594.382497][ C1] irq_exit_rcu (kernel/softirq.c:752)
[ 594.382498][ C1] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37))
[ 594.382500][ C1]
[ 594.382500][ C1]
[ 594.382501][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697)
[ 594.382503][ C1] RIP: 0010:rcu_read_lock_any_held (kernel/rcu/update.c:381)
[ 594.382505][ C1] Code: 24 18 e8 df cc f2 00 48 8b 44 24 20 48 8b 4c 24 18 e9 14 fd ff ff 48 8b 7c 24 10 e8 46 66 79 00 e9 f1 fc ff ff 90 f3 0f 1e fa <53> bb 01 00 00 00 e8 01 ae 2b 02 85 c0 75 04 89 d8 5b c3 89 c3 e8
All code
========
0: 24 18 and $0x18,%al
2: e8 df cc f2 00 call 0xf2cce6
7: 48 8b 44 24 20 mov 0x20(%rsp),%rax
c: 48 8b 4c 24 18 mov 0x18(%rsp),%rcx
11: e9 14 fd ff ff jmp 0xfffffffffffffd2a
16: 48 8b 7c 24 10 mov 0x10(%rsp),%rdi
1b: e8 46 66 79 00 call 0x796666
20: e9 f1 fc ff ff jmp 0xfffffffffffffd16
25: 90 nop
26: f3 0f 1e fa endbr64
2a:* 53 push %rbx <-- trapping instruction
2b: bb 01 00 00 00 mov $0x1,%ebx
30: e8 01 ae 2b 02 call 0x22bae36
35: 85 c0 test %eax,%eax
37: 75 04 jne 0x3d
39: 89 d8 mov %ebx,%eax
3b: 5b pop %rbx
3c: c3 ret
3d: 89 c3 mov %eax,%ebx
3f: e8 .byte 0xe8
Code starting with the faulting instruction
===========================================
0: 53 push %rbx
1: bb 01 00 00 00 mov $0x1,%ebx
6: e8 01 ae 2b 02 call 0x22bae0c
b: 85 c0 test %eax,%eax
d: 75 04 jne 0x13
f: 89 d8 mov %ebx,%eax
11: 5b pop %rbx
12: c3 ret
13: 89 c3 mov %eax,%ebx
15: e8 .byte 0xe8
[ 594.382507][ C1] RSP: 0018:ffa00000001b7778 EFLAGS: 00000202
[ 594.382509][ C1] RAX: 0000000000000001 RBX: 0000000000000000 RCX: 00000000875b906b
[ 594.382510][ C1] RDX: 000000006dd02a5a RSI: 0000000000000003 RDI: 00000000940442aa
[ 594.382511][ C1] RBP: 000000000000000c R08: 0000000049c546ce R09: ffffffff940ac44c
[ 594.382512][ C1] R10: 0000000000000001 R11: 0000000000000002 R12: ffa00000001b77e0
[ 594.382513][ C1] R13: 000000000000000c R14: 00000000e330f7c6 R15: ff11000034177c60
[ 594.382515][ C1] stack_depot_save_flags (lib/stackdepot.c:609 (discriminator 2) lib/stackdepot.c:676 (discriminator 2))
[ 594.382517][ C1] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2))
[ 594.382519][ C1] ? detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881)
[ 594.382522][ C1] kasan_save_stack (mm/kasan/common.c:58)
[ 594.382526][ C1] ? kasan_save_stack (mm/kasan/common.c:57)
[ 594.382528][ C1] ? kasan_record_aux_stack (mm/kasan/generic.c:556)
[ 594.382530][ C1] ? __call_rcu_common.constprop.0 (kernel/rcu/tree.c:3131)
[ 594.382531][ C1] ? kfree (./include/linux/kmemleak.h:50 mm/slub.c:2614 mm/slub.c:6251 mm/slub.c:6566)
[ 594.382534][ C1] ? detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881)
[ 594.382535][ C1] ? virtqueue_get_buf_ctx_split (drivers/virtio/virtio_ring.c:891 drivers/virtio/virtio_ring.c:958)
[ 594.382537][ C1] ? virtio_fs_requests_done_work (fs/fuse/virtio_fs.c:843 (discriminator 1))
[ 594.382538][ C1] ? process_one_work (kernel/workqueue.c:3314)
[ 594.382540][ C1] ? worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478)
[ 594.382541][ C1] ? kthread (kernel/kthread.c:436)
[ 594.382543][ C1] ? ret_from_fork (arch/x86/kernel/process.c:158)
[ 594.382546][ C1] ? ret_from_fork_asm (arch/x86/entry/entry_64.S:245)
[ 594.382551][ C1] kasan_record_aux_stack (mm/kasan/generic.c:556)
[ 594.382552][ C1] ? __remove_object (mm/kmemleak.c:609)
[ 594.382554][ C1] __call_rcu_common.constprop.0 (kernel/rcu/tree.c:3131)
[ 594.382555][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472)
[ 594.382557][ C1] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6))
[ 594.382558][ C1] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:179 (discriminator 1) kernel/locking/spinlock.c:198 (discriminator 1))
[ 594.382560][ C1] kfree (./include/linux/kmemleak.h:50 mm/slub.c:2614 mm/slub.c:6251 mm/slub.c:6566)
[ 594.382562][ C1] detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881)
[ 594.382564][ 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)
[ 594.382566][ C1] virtqueue_get_buf_ctx_split (drivers/virtio/virtio_ring.c:891 drivers/virtio/virtio_ring.c:958)
[ 594.382569][ C1] virtio_fs_requests_done_work (fs/fuse/virtio_fs.c:843 (discriminator 1))
[ 594.382571][ C1] ? virtio_fs_complete_req_work (fs/fuse/virtio_fs.c:823)
[ 594.382572][ C1] ? process_one_work (kernel/workqueue.c:3290 (discriminator 2))
[ 594.382574][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22))
[ 594.382575][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 594.382577][ C1] process_one_work (kernel/workqueue.c:3314)
[ 594.382580][ C1] ? pwq_dec_nr_in_flight (kernel/workqueue.c:1822 (discriminator 4))
[ 594.382582][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1))
[ 594.382584][ C1] worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478)
[ 594.382587][ C1] ? rescuer_thread (./include/linux/list.h:404 (discriminator 3))
[ 594.382589][ C1] kthread (kernel/kthread.c:436)
[ 594.382590][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22))
[ 594.382593][ C1] ? kthread_affine_node (kernel/kthread.c:378)
[ 594.382595][ C1] ret_from_fork (arch/x86/kernel/process.c:158)
[ 594.382596][ C1] ? arch_exit_to_user_mode_prepare.isra.0 (arch/x86/entry/syscall_64.c:37)
[ 594.382598][ C1] ? __switch_to (arch/x86/kernel/process_64.c:403 arch/x86/kernel/process_64.c:663)
[ 594.382601][ C1] ? kthread_affine_node (kernel/kthread.c:378)
Finger prints:
mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock