====================================== | [ 104.238979][ C1] #3: ffffffff9e977d20 (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)) | [ 104.239142][ C1] #4: ffffffff9e977c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 104.239307][ C1] | [ 104.239307][ C1] stack backtrace: [ 104.239426][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 104.239427][ C1] Workqueue: events virtio_fs_requests_done_work [ 104.239431][ C1] Call Trace: [ 104.239432][ C1] [ 104.239434][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 104.239439][ C1] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 104.239442][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 104.239445][ C1] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 104.239447][ C1] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 104.239449][ C1] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 104.239451][ C1] ? save_trace (kernel/locking/lockdep.c:589) [ 104.239453][ C1] ? virtqueue_enable_cb_prepare_packed (drivers/virtio/virtio_ring.c:2239) [ 104.239457][ C1] mark_lock (kernel/locking/lockdep.c:4753) [ 104.239458][ C1] mark_usage (kernel/locking/lockdep.c:4642) [ 104.239460][ C1] __lock_acquire (kernel/locking/lockdep.c:5191) [ 104.239461][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 104.239463][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 104.239465][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 104.239467][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 104.239469][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 104.239471][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 104.239473][ C1] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 104.239474][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 104.239476][ C1] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 104.239478][ C1] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 104.239479][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 104.239481][ C1] rcu_do_batch (kernel/rcu/tree.c:2617) [ 104.239484][ C1] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 104.239486][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 104.239487][ C1] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 104.239489][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 104.239491][ C1] rcu_core (kernel/rcu/tree.c:2869) [ 104.239492][ C1] handle_softirqs (kernel/softirq.c:622) [ 104.239494][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 104.239497][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 104.239498][ C1] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 104.239500][ C1] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 104.239502][ C1] irq_exit_rcu (kernel/softirq.c:752) [ 104.239503][ C1] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 104.239505][ C1] [ 104.239506][ C1] [ 104.239506][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 104.239508][ C1] RIP: 0010:lock_acquire.part.0 (./arch/x86/include/asm/irqflags.h:158 (discriminator 1) kernel/locking/lockdep.c:5871 (discriminator 1)) [ 104.239510][ 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 [ 104.239512][ C1] RSP: 0018:ffa0000001727530 EFLAGS: 00000206 [ 104.239514][ C1] RAX: 0000000000000046 RBX: 0000000000000000 RCX: 287477c5ffacdb37 [ 104.239516][ C1] RDX: 0000000000000001 RSI: ffffffff9e3ebde8 RDI: ffffffff9de6f6c0 [ 104.239517][ C1] RBP: 0000000000000000 R08: 0000000000000001 R09: ff11000008c98ba8 [ 104.239517][ C1] R10: 0000000000000200 R11: 0000000000000001 R12: ffffffff9e977d20 [ 104.239518][ C1] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000002 [ 104.239521][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 104.239522][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 104.239524][ 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)) [ 104.239526][ 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)) [ 104.239527][ C1] ? ret_from_fork (arch/x86/kernel/process.c:158) [ 104.239530][ C1] ? stack_access_ok (./arch/x86/include/asm/stacktrace.h:55) [ 104.239531][ C1] ? unwind_next_frame (./include/linux/rcupdate.h:871 ./include/linux/rcupdate.h:1181 arch/x86/kernel/unwind_orc.c:495) [ 104.239533][ C1] ? __unwind_start (arch/x86/kernel/unwind_orc.c:787) [ 104.239534][ C1] ? write_profile (profile.c:?) [ 104.239536][ C1] arch_stack_walk (arch/x86/kernel/stacktrace.c:25) [ 104.239539][ C1] ? kthread_affine_node (kernel/kthread.c:378) [ 104.239541][ C1] ? ret_from_fork (arch/x86/kernel/process.c:158) [ 104.239543][ C1] ? detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881) [ 104.239545][ C1] stack_trace_save (kernel/stacktrace.c:122 (discriminator 1)) [ 104.239547][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 104.239549][ C1] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 104.239551][ C1] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 104.239552][ C1] ? sched_ttwu_pending (kernel/sched/core.c:3807 (discriminator 7)) [ 104.239556][ C1] kasan_save_stack (mm/kasan/common.c:57) [ 104.239559][ C1] ? kasan_save_stack (mm/kasan/common.c:57) [ 104.239561][ C1] ? kasan_record_aux_stack (mm/kasan/generic.c:556) [ 104.239563][ C1] ? __call_rcu_common.constprop.0 (kernel/rcu/tree.c:3131) [ 104.239564][ C1] ? kfree (./include/linux/kmemleak.h:50 mm/slub.c:2614 mm/slub.c:6251 mm/slub.c:6566) [ 104.239567][ C1] ? detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881) [ 104.239568][ C1] ? virtqueue_get_buf_ctx_split (drivers/virtio/virtio_ring.c:891 drivers/virtio/virtio_ring.c:958) [ 104.239570][ C1] ? virtio_fs_requests_done_work (fs/fuse/virtio_fs.c:843 (discriminator 1)) [ 104.239571][ C1] ? process_one_work (kernel/workqueue.c:3314) [ 104.239573][ C1] ? worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) [ 104.239574][ C1] ? kthread (kernel/kthread.c:436) [ 104.239576][ C1] ? ret_from_fork (arch/x86/kernel/process.c:158) [ 104.239581][ C1] kasan_record_aux_stack (mm/kasan/generic.c:556) [ 104.239582][ C1] ? __remove_object (mm/kmemleak.c:609) [ 104.239584][ C1] __call_rcu_common.constprop.0 (kernel/rcu/tree.c:3131) [ 104.239585][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 104.239587][ C1] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 104.239589][ C1] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:179 (discriminator 1) kernel/locking/spinlock.c:198 (discriminator 1)) [ 104.239590][ C1] kfree (./include/linux/kmemleak.h:50 mm/slub.c:2614 mm/slub.c:6251 mm/slub.c:6566) [ 104.239593][ C1] detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881) [ 104.239595][ 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) [ 104.239597][ C1] virtqueue_get_buf_ctx_split (drivers/virtio/virtio_ring.c:891 drivers/virtio/virtio_ring.c:958) [ 104.239599][ C1] virtio_fs_requests_done_work (fs/fuse/virtio_fs.c:843 (discriminator 1)) [ 104.239601][ C1] ? virtio_fs_complete_req_work (fs/fuse/virtio_fs.c:823) [ 104.239603][ C1] ? process_one_work (kernel/workqueue.c:3290 (discriminator 2)) [ 104.239605][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 104.239606][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 104.239608][ C1] process_one_work (kernel/workqueue.c:3314) [ 104.239611][ C1] ? pwq_dec_nr_in_flight (kernel/workqueue.c:1822 (discriminator 4)) [ 104.239613][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 104.239615][ C1] worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) [ 104.239618][ C1] ? rescuer_thread (./include/linux/list.h:404 (discriminator 3)) [ 104.239619][ C1] ? __kthread_parkme (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 kernel/kthread.c:272) [ 104.239621][ C1] ? rescuer_thread (./include/linux/list.h:404 (discriminator 3)) [ 104.239623][ C1] kthread (kernel/kthread.c:436) [ 104.239625][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 104.239628][ C1] ? kthread_affine_node (kernel/kthread.c:378) [ 104.239629][ C1] ret_from_fork (arch/x86/kernel/process.c:158) [ 104.239631][ C1] ? arch_exit_to_user_mode_prepare.isra.0 (arch/x86/entry/syscall_64.c:37) [ 104.239633][ C1] ? __switch_to (arch/x86/kernel/process_64.c:403 arch/x86/kernel/process_64.c:663) [ 104.239635][ C1] ? kthread_affine_node (kernel/kthread.c:378) Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock