====================================== | [ 24.186477][ C1] #2: ffffffff96377c60 (rcu_read_lock_sched){....}-{1:2}, at: __virt_addr_valid (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:936 (discriminator 2) ./include/linux/mmzone.h:2281 (discriminator 2) arch/x86/mm/physaddr.c:54 (discriminator 2)) | [ 24.186690][ C1] #3: ffffffff96377c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 24.186914][ C1] | [ 24.186914][ C1] stack backtrace: [ 24.187087][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 24.187089][ C1] Workqueue: events virtio_fs_requests_done_work [ 24.187095][ C1] Call Trace: [ 24.187096][ C1] [ 24.187098][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 24.187103][ C1] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 24.187106][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 24.187109][ C1] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 24.187111][ C1] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 24.187113][ C1] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 24.187115][ C1] ? save_trace (kernel/locking/lockdep.c:589) [ 24.187117][ C1] ? wq_update_node_max_active (./include/linux/bitmap.h:485 (discriminator 2) ./include/linux/cpumask.h:883 (discriminator 2) kernel/workqueue.c:1638 (discriminator 2)) [ 24.187119][ C1] mark_lock (kernel/locking/lockdep.c:4753) [ 24.187121][ C1] mark_usage (kernel/locking/lockdep.c:4642) [ 24.187122][ C1] __lock_acquire (kernel/locking/lockdep.c:5191) [ 24.187124][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 24.187125][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 24.187128][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 24.187129][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 24.187131][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 24.187133][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 24.187135][ C1] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 24.187137][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 24.187138][ C1] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 24.187140][ C1] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 24.187142][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 24.187144][ C1] rcu_do_batch (kernel/rcu/tree.c:2617) [ 24.187146][ C1] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 24.187148][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 24.187150][ C1] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 24.187151][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 24.187153][ C1] rcu_core (kernel/rcu/tree.c:2869) [ 24.187155][ C1] handle_softirqs (kernel/softirq.c:622) [ 24.187157][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 24.187160][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 24.187161][ C1] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 24.187163][ C1] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 24.187165][ C1] irq_exit_rcu (kernel/softirq.c:752) [ 24.187167][ C1] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 24.187168][ C1] [ 24.187169][ C1] [ 24.187170][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 24.187171][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 24.187173][ C1] RIP: 0010:lock_acquire.part.0 (./arch/x86/include/asm/irqflags.h:158 (discriminator 1) kernel/locking/lockdep.c:5871 (discriminator 1)) [ 24.187175][ 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 [ 24.187177][ C1] RSP: 0018:ffa00000003cf9a0 EFLAGS: 00000206 [ 24.187179][ C1] RAX: 0000000000000046 RBX: 0000000000000000 RCX: b4697d219396b812 [ 24.187180][ C1] RDX: 0000000000000001 RSI: ffffffff95debde8 RDI: ffffffff9586f6c0 [ 24.187181][ C1] RBP: 0000000000000000 R08: 0000000000000001 R09: ff110000026dae80 [ 24.187182][ C1] R10: 0000000000000200 R11: 0000000000000001 R12: ffffffff96377c60 [ 24.187183][ C1] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000002 [ 24.187185][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 24.187187][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 24.187188][ C1] ? virtio_fs_request_complete (fs/fuse/virtio_fs.c:757 fs/fuse/virtio_fs.c:792) [ 24.187190][ C1] __virt_addr_valid (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:936 (discriminator 2) ./include/linux/mmzone.h:2281 (discriminator 2) arch/x86/mm/physaddr.c:54 (discriminator 2)) [ 24.187192][ C1] ? __virt_addr_valid (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:936 (discriminator 2) ./include/linux/mmzone.h:2281 (discriminator 2) arch/x86/mm/physaddr.c:54 (discriminator 2)) [ 24.187194][ C1] kasan_addr_to_slab (mm/kasan/common.c:47) [ 24.187198][ C1] kasan_record_aux_stack (mm/kasan/generic.c:541) [ 24.187200][ C1] ? __remove_object (mm/kmemleak.c:609) [ 24.187202][ C1] __call_rcu_common.constprop.0 (kernel/rcu/tree.c:3131) [ 24.187204][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 24.187205][ C1] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 24.187207][ C1] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:179 (discriminator 1) kernel/locking/spinlock.c:198 (discriminator 1)) [ 24.187209][ C1] kfree (./include/linux/kmemleak.h:50 mm/slub.c:2614 mm/slub.c:6251 mm/slub.c:6566) [ 24.187212][ C1] virtio_fs_request_complete (fs/fuse/virtio_fs.c:757 fs/fuse/virtio_fs.c:792) [ 24.187215][ C1] virtio_fs_requests_done_work (fs/fuse/virtio_fs.c:869) [ 24.187217][ C1] ? virtio_fs_complete_req_work (fs/fuse/virtio_fs.c:823) [ 24.187219][ C1] ? process_one_work (kernel/workqueue.c:3290 (discriminator 2)) [ 24.187221][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 24.187222][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 24.187224][ C1] process_one_work (kernel/workqueue.c:3314) [ 24.187227][ C1] ? pwq_dec_nr_in_flight (kernel/workqueue.c:1822 (discriminator 4)) [ 24.187229][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 24.187232][ C1] worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) [ 24.187234][ C1] ? rescuer_thread (./include/linux/list.h:404 (discriminator 3)) [ 24.187236][ C1] ? __kthread_parkme (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 kernel/kthread.c:272) [ 24.187238][ C1] ? rescuer_thread (./include/linux/list.h:404 (discriminator 3)) [ 24.187240][ C1] kthread (kernel/kthread.c:436) [ 24.187242][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 24.187245][ C1] ? kthread_affine_node (kernel/kthread.c:378) [ 24.187246][ C1] ret_from_fork (arch/x86/kernel/process.c:158) [ 24.187250][ C1] ? arch_exit_to_user_mode_prepare.isra.0 (arch/x86/entry/syscall_64.c:37) [ 24.187251][ C1] ? __switch_to (arch/x86/kernel/process_64.c:403 arch/x86/kernel/process_64.c:663) [ 24.187254][ C1] ? kthread_affine_node (kernel/kthread.c:378) Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock