====================================== | [ 154.826542][ C1] #3: ffffffffab577d20 (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)) | [ 154.826697][ C1] #4: ffffffffab577c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 154.826854][ C1] | [ 154.826854][ C1] stack backtrace: [ 154.826968][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 154.826970][ C1] Workqueue: events virtio_fs_requests_done_work [ 154.826973][ C1] Call Trace: [ 154.826975][ C1] [ 154.826976][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 154.826982][ C1] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 154.826984][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 154.826987][ C1] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 154.826989][ C1] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 154.826991][ C1] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 154.826993][ C1] ? save_trace (kernel/locking/lockdep.c:589) [ 154.826995][ C1] ? calculate_order (./include/asm-generic/getorder.h:41 mm/slub.c:7520) [ 154.826999][ C1] mark_lock (kernel/locking/lockdep.c:4753) [ 154.827000][ C1] mark_usage (kernel/locking/lockdep.c:4642) [ 154.827002][ C1] __lock_acquire (kernel/locking/lockdep.c:5191) [ 154.827003][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 154.827005][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 154.827007][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 154.827009][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 154.827011][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 154.827012][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 154.827014][ C1] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 154.827016][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 154.827017][ C1] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 154.827019][ C1] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 154.827021][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 154.827022][ C1] rcu_do_batch (kernel/rcu/tree.c:2617) [ 154.827025][ C1] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 154.827027][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 154.827028][ C1] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 154.827030][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 154.827032][ C1] rcu_core (kernel/rcu/tree.c:2869) [ 154.827034][ C1] handle_softirqs (kernel/softirq.c:622) [ 154.827035][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 154.827038][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 154.827040][ C1] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 154.827042][ C1] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 154.827043][ C1] irq_exit_rcu (kernel/softirq.c:752) [ 154.827045][ C1] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 154.827046][ C1] [ 154.827047][ C1] [ 154.827048][ C1] ? init_data_structures_once.part.0 (kernel/locking/lockdep.c:3397 (discriminator 1) kernel/locking/lockdep.c:3438 (discriminator 1) kernel/locking/lockdep.c:3482 (discriminator 1) kernel/locking/lockdep.c:1210 (discriminator 1)) [ 154.827049][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 154.827051][ C1] RIP: 0010:lock_release (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:109 ./arch/x86/include/asm/irqflags.h:127 kernel/locking/lockdep.c:5885 kernel/locking/lockdep.c:5875) [ 154.827053][ C1] Code: 04 85 d2 0f 85 84 00 00 00 65 48 8b 05 c0 8b 33 04 8b 80 ec 0a 00 00 85 c0 75 72 48 81 3b a0 1d 6c ac 74 69 4c 89 7c 24 18 9c <58> 49 89 c7 fa 48 c7 c7 cd 44 03 ab e8 46 16 33 02 4c 89 f6 48 89 All code ======== 0: 04 85 add $0x85,%al 2: d2 0f rorb %cl,(%rdi) 4: 85 84 00 00 00 65 48 test %eax,0x48650000(%rax,%rax,1) b: 8b 05 c0 8b 33 04 mov 0x4338bc0(%rip),%eax # 0x4338bd1 11: 8b 80 ec 0a 00 00 mov 0xaec(%rax),%eax 17: 85 c0 test %eax,%eax 19: 75 72 jne 0x8d 1b: 48 81 3b a0 1d 6c ac cmpq $0xffffffffac6c1da0,(%rbx) 22: 74 69 je 0x8d 24: 4c 89 7c 24 18 mov %r15,0x18(%rsp) 29: 9c pushf 2a:* 58 pop %rax <-- trapping instruction 2b: 49 89 c7 mov %rax,%r15 2e: fa cli 2f: 48 c7 c7 cd 44 03 ab mov $0xffffffffab0344cd,%rdi 36: e8 46 16 33 02 call 0x2331681 3b: 4c 89 f6 mov %r14,%rsi 3e: 48 rex.W 3f: 89 .byte 0x89 Code starting with the faulting instruction =========================================== 0: 58 pop %rax 1: 49 89 c7 mov %rax,%r15 4: fa cli 5: 48 c7 c7 cd 44 03 ab mov $0xffffffffab0344cd,%rdi c: e8 46 16 33 02 call 0x2331657 11: 4c 89 f6 mov %r14,%rsi 14: 48 rex.W 15: 89 .byte 0x89 [ 154.827055][ C1] RSP: 0018:ffa00000001b7590 EFLAGS: 00000202 [ 154.827057][ C1] RAX: 0000000000000000 RBX: ffffffffab577d20 RCX: 0000000000000001 [ 154.827058][ C1] RDX: 0000000000000000 RSI: ffffffffaaa6f640 RDI: ffffffffab09e948 [ 154.827059][ C1] RBP: ffa00000001b7e68 R08: ffffffffac0f1834 R09: ffffffffabee11e4 [ 154.827060][ C1] R10: 0000000000000001 R11: 0000000000000000 R12: ffa00000001b7e01 [ 154.827061][ C1] R13: ffa00000001b76c0 R14: ffffffffa814a6e1 R15: 000000000002608f [ 154.827062][ C1] ? unwind_next_frame (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) [ 154.827065][ C1] unwind_next_frame (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) [ 154.827066][ C1] ? worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) [ 154.827068][ C1] ? stack_access_ok (./arch/x86/include/asm/stacktrace.h:55) [ 154.827070][ C1] ? stack_access_ok (./arch/x86/include/asm/stacktrace.h:55) [ 154.827071][ C1] ? __unwind_start (arch/x86/kernel/unwind_orc.c:787) [ 154.827073][ C1] ? write_profile (profile.c:?) [ 154.827075][ C1] arch_stack_walk (arch/x86/kernel/stacktrace.c:25) [ 154.827078][ C1] ? kthread (kernel/kthread.c:436) [ 154.827081][ C1] ? detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881) [ 154.827085][ C1] stack_trace_save (kernel/stacktrace.c:122 (discriminator 1)) [ 154.827087][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 154.827088][ C1] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 154.827090][ C1] ? detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881) [ 154.827092][ C1] ? kasan_save_stack (mm/kasan/common.c:58) [ 154.827095][ C1] kasan_save_stack (mm/kasan/common.c:57) [ 154.827096][ C1] ? kasan_save_stack (mm/kasan/common.c:57) [ 154.827098][ C1] ? kasan_save_track (mm/kasan/common.c:78) [ 154.827100][ C1] ? kasan_save_free_info (mm/kasan/generic.c:584) [ 154.827102][ C1] ? __kasan_slab_free (mm/kasan/common.c:253 mm/kasan/common.c:285) [ 154.827103][ C1] ? kfree (./include/linux/kasan.h:235 mm/slub.c:2689 mm/slub.c:6251 mm/slub.c:6566) [ 154.827105][ C1] ? detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881) [ 154.827107][ C1] ? virtqueue_get_buf_ctx_split (drivers/virtio/virtio_ring.c:891 drivers/virtio/virtio_ring.c:958) [ 154.827108][ C1] ? virtio_fs_requests_done_work (fs/fuse/virtio_fs.c:843 (discriminator 1)) [ 154.827110][ C1] ? process_one_work (kernel/workqueue.c:3314) [ 154.827111][ C1] ? worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) [ 154.827116][ C1] kasan_save_track (mm/kasan/common.c:78) [ 154.827118][ C1] kasan_save_free_info (mm/kasan/generic.c:584) [ 154.827120][ C1] __kasan_slab_free (mm/kasan/common.c:253 mm/kasan/common.c:285) [ 154.827122][ C1] kfree (./include/linux/kasan.h:235 mm/slub.c:2689 mm/slub.c:6251 mm/slub.c:6566) [ 154.827124][ C1] detach_buf_split_in_order (drivers/virtio/virtio_ring.c:850 drivers/virtio/virtio_ring.c:881) [ 154.827126][ 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) [ 154.827128][ C1] virtqueue_get_buf_ctx_split (drivers/virtio/virtio_ring.c:891 drivers/virtio/virtio_ring.c:958) [ 154.827130][ C1] virtio_fs_requests_done_work (fs/fuse/virtio_fs.c:843 (discriminator 1)) [ 154.827133][ C1] ? virtio_fs_complete_req_work (fs/fuse/virtio_fs.c:823) [ 154.827134][ C1] ? process_one_work (kernel/workqueue.c:3290 (discriminator 2)) [ 154.827136][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 154.827138][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 154.827140][ C1] process_one_work (kernel/workqueue.c:3314) [ 154.827142][ C1] ? pwq_dec_nr_in_flight (kernel/workqueue.c:1822 (discriminator 4)) [ 154.827144][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 154.827147][ C1] worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) [ 154.827149][ C1] ? rescuer_thread (./include/linux/list.h:404 (discriminator 3)) [ 154.827151][ C1] kthread (kernel/kthread.c:436) [ 154.827152][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 154.827156][ C1] ? kthread_affine_node (kernel/kthread.c:378) [ 154.827157][ C1] ret_from_fork (arch/x86/kernel/process.c:158) [ 154.827160][ C1] ? arch_exit_to_user_mode_prepare.isra.0 (arch/x86/entry/syscall_64.c:37) [ 154.827161][ C1] ? __switch_to (arch/x86/kernel/process_64.c:403 arch/x86/kernel/process_64.c:663) [ 154.827164][ C1] ? kthread_affine_node (kernel/kthread.c:378) Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock