====================================== | [ 13.145961][ C0] 1 lock held by rcu_exp_gp_kthr/17: | [ 13.146153][ C0] #0: ffffffffa5d774c0 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:331 kernel/rcu/tree.c:2570) | [ 13.146503][ C0] | [ 13.146503][ C0] stack backtrace: [ 13.146752][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 13.146754][ C0] Call Trace: [ 13.146756][ C0] [ 13.146759][ C0] dump_stack_lvl (lib/dump_stack.c:123) [ 13.146764][ C0] print_usage_bug.part.0 (kernel/locking/lockdep.c:4048) [ 13.146769][ C0] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4059 kernel/locking/lockdep.c:4270) [ 13.146774][ C0] ? __pfx_unwind_next_frame (arch/x86/kernel/unwind_orc.c:469) [ 13.146779][ C0] ? save_trace (kernel/locking/lockdep.c:595) [ 13.146783][ C0] mark_lock (kernel/locking/lockdep.c:4756) [ 13.146787][ C0] mark_usage (kernel/locking/lockdep.c:4645) [ 13.146790][ C0] __lock_acquire (kernel/locking/lockdep.c:5194) [ 13.146793][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 13.146798][ C0] lock_acquire.part.0 (kernel/locking/lockdep.c:473 kernel/locking/lockdep.c:5873) [ 13.146801][ C0] ? simple_pin_fs (fs/libfs.c:1067) [ 13.146804][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 13.146809][ C0] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5834) [ 13.146812][ C0] ? simple_pin_fs (fs/libfs.c:1067) [ 13.146816][ C0] _raw_spin_lock (./include/linux/spinlock_api_smp.h:134 kernel/locking/spinlock.c:154) [ 13.146819][ C0] ? simple_pin_fs (fs/libfs.c:1067) [ 13.146821][ C0] simple_pin_fs (fs/libfs.c:1067) [ 13.146824][ C0] debugfs_remove (fs/debugfs/inode.c:805 fs/debugfs/inode.c:799) [ 13.146828][ C0] ref_tracker_dir_exit (lib/ref_tracker.c:411 lib/ref_tracker.c:195) [ 13.146832][ C0] ? __pfx_ref_tracker_free (lib/ref_tracker.c:253) [ 13.146835][ C0] ? __sk_destruct (./include/linux/instrumented.h:96 ./include/linux/atomic/atomic-instrumented.h:400 ./include/linux/refcount.h:389 ./include/linux/refcount.h:432 ./include/linux/refcount.h:450 ./include/net/net_namespace.h:287 ./include/net/net_namespace.h:390 net/core/sock.c:2376) [ 13.146840][ C0] ? rcu_do_batch (kernel/rcu/tree.c:2576) [ 13.146843][ C0] ? __pfx_ref_tracker_dir_exit (lib/ref_tracker.c:189) [ 13.146846][ C0] ? irq_exit_rcu (kernel/softirq.c:698) [ 13.146849][ C0] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1050 arch/x86/kernel/apic/apic.c:1050) [ 13.146854][ C0] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) [ 13.146857][ C0] ? finish_task_switch.isra.0 (./arch/x86/include/asm/jump_label.h:36 kernel/sched/core.c:4955 kernel/sched/core.c:5270) [ 13.146862][ C0] ? __schedule (kernel/sched/core.c:6787) [ 13.146866][ C0] ? schedule (kernel/sched/core.c:6860 kernel/sched/core.c:6874) [ 13.146869][ C0] ? kthread_worker_fn (kernel/kthread.c:1017) [ 13.146872][ C0] ? kthread (kernel/kthread.c:464) [ 13.146875][ C0] ? ret_from_fork (arch/x86/kernel/process.c:148) [ 13.146878][ C0] ? ret_from_fork_asm (arch/x86/entry/entry_64.S:258) [ 13.146883][ C0] __put_net (net/core/net_namespace.c:732) [ 13.146887][ C0] __sk_destruct (./include/net/net_namespace.h:288 ./include/net/net_namespace.h:390 net/core/sock.c:2376) [ 13.146891][ C0] ? rcu_do_batch (kernel/rcu/tree.c:2576) [ 13.146894][ C0] rcu_do_batch (kernel/rcu/tree.c:2576) [ 13.146899][ C0] ? __pfx_rcu_do_batch (kernel/rcu/tree.c:2500) [ 13.146903][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 13.146906][ C0] ? note_gp_changes (kernel/rcu/tree.c:1326 (discriminator 1)) [ 13.146910][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4475) [ 13.146915][ C0] rcu_core (kernel/rcu/tree.c:2834) [ 13.146919][ C0] handle_softirqs (kernel/softirq.c:579) [ 13.146925][ C0] __irq_exit_rcu (kernel/softirq.c:614 kernel/softirq.c:453 kernel/softirq.c:680) [ 13.146929][ C0] irq_exit_rcu (kernel/softirq.c:698) [ 13.146932][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1050 arch/x86/kernel/apic/apic.c:1050) [ 13.146935][ C0] [ 13.146936][ C0] [ 13.146938][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) [ 13.146941][ C0] RIP: 0010:finish_task_switch.isra.0 (./arch/x86/include/asm/jump_label.h:36 kernel/sched/core.c:4955 kernel/sched/core.c:5270) [ 13.146944][ C0] Code: 4c 89 ff 48 c7 03 00 00 00 00 e8 f2 ed cc 1d 4d 85 e4 75 ba 4c 89 ff e8 ad 04 89 02 e8 98 1f 31 00 fb 65 48 8b 1d f7 d2 1f 05 <66> 90 48 83 7d d0 00 74 55 65 48 8b 1d e6 d2 1f 05 48 8d bb 18 05 All code ======== 0: 4c 89 ff mov %r15,%rdi 3: 48 c7 03 00 00 00 00 movq $0x0,(%rbx) a: e8 f2 ed cc 1d call 0x1dccee01 f: 4d 85 e4 test %r12,%r12 12: 75 ba jne 0xffffffffffffffce 14: 4c 89 ff mov %r15,%rdi 17: e8 ad 04 89 02 call 0x28904c9 1c: e8 98 1f 31 00 call 0x311fb9 21: fb sti 22: 65 48 8b 1d f7 d2 1f mov %gs:0x51fd2f7(%rip),%rbx # 0x51fd321 29: 05 2a:* 66 90 xchg %ax,%ax <-- trapping instruction 2c: 48 83 7d d0 00 cmpq $0x0,-0x30(%rbp) 31: 74 55 je 0x88 33: 65 48 8b 1d e6 d2 1f mov %gs:0x51fd2e6(%rip),%rbx # 0x51fd321 3a: 05 3b: 48 rex.W 3c: 8d .byte 0x8d 3d: bb .byte 0xbb 3e: 18 .byte 0x18 3f: 05 .byte 0x5 Code starting with the faulting instruction =========================================== 0: 66 90 xchg %ax,%ax 2: 48 83 7d d0 00 cmpq $0x0,-0x30(%rbp) 7: 74 55 je 0x5e 9: 65 48 8b 1d e6 d2 1f mov %gs:0x51fd2e6(%rip),%rbx # 0x51fd2f7 10: 05 11: 48 rex.W 12: 8d .byte 0x8d 13: bb .byte 0xbb 14: 18 .byte 0x18 15: 05 .byte 0x5 [ 13.146947][ C0] RSP: 0018:ffffc90000117c68 EFLAGS: 00000206 [ 13.146950][ C0] RAX: 0000000000000295 RBX: ffff888001bea300 RCX: ffffffffa2844b9f [ 13.146952][ C0] RDX: 0000000000000000 RSI: ffffffffa589175c RDI: ffffffffa5053ca0 [ 13.146954][ C0] RBP: ffffc90000117ca8 R08: 0000000000000001 R09: 0000000000000001 [ 13.146956][ C0] R10: ffffffffa67e7cd7 R11: ffff888036038dd8 R12: ffff888036038dd8 [ 13.146957][ C0] R13: ffff888001b1c5c0 R14: ffff888036139968 R15: ffff888036038dc0 [ 13.146961][ C0] ? trace_irq_enable.constprop.0 (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 ./include/linux/cpumask.h:654 ./include/linux/cpumask.h:1210 ./include/trace/events/preemptirq.h:40) [ 13.146967][ C0] ? finish_task_switch.isra.0 (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 kernel/sched/sched.h:1544 kernel/sched/core.c:5140 kernel/sched/core.c:5258) [ 13.146970][ C0] ? __switch_to (./arch/x86/include/asm/cpufeature.h:101 arch/x86/kernel/process_64.c:378 arch/x86/kernel/process_64.c:666) [ 13.146974][ C0] __schedule (kernel/sched/core.c:6787) [ 13.146980][ C0] ? __pfx___schedule (kernel/sched/core.c:6658) [ 13.146986][ C0] ? schedule (kernel/sched/core.c:6840 kernel/sched/core.c:6873) [ 13.146989][ C0] ? __lock_release (kernel/locking/lockdep.c:5539) [ 13.146994][ C0] ? __pfx_wait_rcu_exp_gp (kernel/rcu/tree_exp.h:488) [ 13.146997][ C0] schedule (kernel/sched/core.c:6860 kernel/sched/core.c:6874) [ 13.147000][ C0] kthread_worker_fn (kernel/kthread.c:1017) [ 13.147004][ C0] ? __pfx_kthread_worker_fn (kernel/kthread.c:971) [ 13.147007][ C0] kthread (kernel/kthread.c:464) [ 13.147010][ C0] ? __pfx_kthread (kernel/kthread.c:413) [ 13.147013][ C0] ? ret_from_fork (arch/x86/kernel/process.c:147) [ 13.147016][ C0] ? __lock_release (kernel/locking/lockdep.c:5539) [ 13.147019][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 13.147022][ C0] ? __pfx_kthread (kernel/kthread.c:413) [ 13.147026][ C0] ret_from_fork (arch/x86/kernel/process.c:148) [ 13.147028][ C0] ? __pfx_kthread (kernel/kthread.c:413) [ 13.147031][ C0] ret_from_fork_asm (arch/x86/entry/entry_64.S:258) | [ 13.165119][ C0] RCU nest depth: 0, expected: 0 | [ 13.165296][ C0] INFO: lockdep is turned off. | [ 13.165472][ C0] Preemption disabled at: | [ 13.165474][ C0] schedule (kernel/sched/core.c:6859 kernel/sched/core.c:6874) [ 13.165851][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 13.165853][ C0] Call Trace: [ 13.165855][ C0] [ 13.165857][ C0] dump_stack_lvl (lib/dump_stack.c:123) [ 13.165862][ C0] __might_resched (kernel/sched/core.c:8796) [ 13.165869][ C0] down_write (./include/linux/kernel.h:73 kernel/locking/rwsem.c:1576) [ 13.165873][ C0] ? __pfx_down_write (kernel/locking/rwsem.c:1575) [ 13.165875][ C0] ? simple_recursive_removal (fs/libfs.c:614) [ 13.165880][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 13.165885][ C0] ? do_raw_spin_unlock (./arch/x86/include/asm/atomic.h:23 ./include/linux/atomic/atomic-arch-fallback.h:457 ./include/linux/atomic/atomic-instrumented.h:33 ./include/asm-generic/qspinlock.h:57 kernel/locking/spinlock_debug.c:101 kernel/locking/spinlock_debug.c:141) [ 13.165889][ C0] simple_recursive_removal (./include/linux/dcache.h:409 ./include/linux/dcache.h:424 ./include/linux/dcache.h:434 fs/libfs.c:617) [ 13.165892][ C0] ? do_raw_spin_unlock (./arch/x86/include/asm/atomic.h:23 ./include/linux/atomic/atomic-arch-fallback.h:457 ./include/linux/atomic/atomic-instrumented.h:33 ./include/asm-generic/qspinlock.h:57 kernel/locking/spinlock_debug.c:101 kernel/locking/spinlock_debug.c:141) [ 13.165894][ C0] ? __pfx_remove_one (fs/debugfs/inode.c:780) [ 13.165900][ C0] debugfs_remove (fs/debugfs/inode.c:806 fs/debugfs/inode.c:799) [ 13.165903][ C0] ref_tracker_dir_exit (lib/ref_tracker.c:411 lib/ref_tracker.c:195) [ 13.165907][ C0] ? __pfx_ref_tracker_free (lib/ref_tracker.c:253) [ 13.165910][ C0] ? __sk_destruct (./include/linux/instrumented.h:96 ./include/linux/atomic/atomic-instrumented.h:400 ./include/linux/refcount.h:389 ./include/linux/refcount.h:432 ./include/linux/refcount.h:450 ./include/net/net_namespace.h:287 ./include/net/net_namespace.h:390 net/core/sock.c:2376) [ 13.165914][ C0] ? rcu_do_batch (kernel/rcu/tree.c:2576) [ 13.165917][ C0] ? __pfx_ref_tracker_dir_exit (lib/ref_tracker.c:189) [ 13.165920][ C0] ? irq_exit_rcu (kernel/softirq.c:698) [ 13.165924][ C0] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1050 arch/x86/kernel/apic/apic.c:1050) [ 13.165929][ C0] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) [ 13.165933][ C0] ? finish_task_switch.isra.0 (./arch/x86/include/asm/jump_label.h:36 kernel/sched/core.c:4955 kernel/sched/core.c:5270) [ 13.165937][ C0] ? __schedule (kernel/sched/core.c:6787) [ 13.165940][ C0] ? schedule (kernel/sched/core.c:6860 kernel/sched/core.c:6874) [ 13.165943][ C0] ? kthread_worker_fn (kernel/kthread.c:1017) [ 13.165946][ C0] ? kthread (kernel/kthread.c:464) [ 13.165948][ C0] ? ret_from_fork (arch/x86/kernel/process.c:148) [ 13.165952][ C0] ? ret_from_fork_asm (arch/x86/entry/entry_64.S:258) [ 13.165958][ C0] __put_net (net/core/net_namespace.c:732) [ 13.165962][ C0] __sk_destruct (./include/net/net_namespace.h:288 ./include/net/net_namespace.h:390 net/core/sock.c:2376) [ 13.165966][ C0] ? rcu_do_batch (kernel/rcu/tree.c:2576) [ 13.165968][ C0] rcu_do_batch (kernel/rcu/tree.c:2576) [ 13.165973][ C0] ? __pfx_rcu_do_batch (kernel/rcu/tree.c:2500) [ 13.165977][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 13.165980][ C0] ? note_gp_changes (kernel/rcu/tree.c:1326 (discriminator 1)) [ 13.165983][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4475) [ 13.165988][ C0] rcu_core (kernel/rcu/tree.c:2834) [ 13.165992][ C0] handle_softirqs (kernel/softirq.c:579) [ 13.165998][ C0] __irq_exit_rcu (kernel/softirq.c:614 kernel/softirq.c:453 kernel/softirq.c:680) [ 13.166001][ C0] irq_exit_rcu (kernel/softirq.c:698) [ 13.166004][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1050 arch/x86/kernel/apic/apic.c:1050) [ 13.166008][ C0] [ 13.166009][ C0] [ 13.166010][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) [ 13.166013][ C0] RIP: 0010:finish_task_switch.isra.0 (./arch/x86/include/asm/jump_label.h:36 kernel/sched/core.c:4955 kernel/sched/core.c:5270) [ 13.166016][ C0] Code: 4c 89 ff 48 c7 03 00 00 00 00 e8 f2 ed cc 1d 4d 85 e4 75 ba 4c 89 ff e8 ad 04 89 02 e8 98 1f 31 00 fb 65 48 8b 1d f7 d2 1f 05 <66> 90 48 83 7d d0 00 74 55 65 48 8b 1d e6 d2 1f 05 48 8d bb 18 05 All code ======== 0: 4c 89 ff mov %r15,%rdi 3: 48 c7 03 00 00 00 00 movq $0x0,(%rbx) a: e8 f2 ed cc 1d call 0x1dccee01 f: 4d 85 e4 test %r12,%r12 12: 75 ba jne 0xffffffffffffffce 14: 4c 89 ff mov %r15,%rdi 17: e8 ad 04 89 02 call 0x28904c9 1c: e8 98 1f 31 00 call 0x311fb9 21: fb sti 22: 65 48 8b 1d f7 d2 1f mov %gs:0x51fd2f7(%rip),%rbx # 0x51fd321 29: 05 2a:* 66 90 xchg %ax,%ax <-- trapping instruction 2c: 48 83 7d d0 00 cmpq $0x0,-0x30(%rbp) 31: 74 55 je 0x88 33: 65 48 8b 1d e6 d2 1f mov %gs:0x51fd2e6(%rip),%rbx # 0x51fd321 3a: 05 3b: 48 rex.W 3c: 8d .byte 0x8d 3d: bb .byte 0xbb 3e: 18 .byte 0x18 3f: 05 .byte 0x5 Code starting with the faulting instruction =========================================== 0: 66 90 xchg %ax,%ax 2: 48 83 7d d0 00 cmpq $0x0,-0x30(%rbp) 7: 74 55 je 0x5e 9: 65 48 8b 1d e6 d2 1f mov %gs:0x51fd2e6(%rip),%rbx # 0x51fd2f7 10: 05 11: 48 rex.W 12: 8d .byte 0x8d 13: bb .byte 0xbb 14: 18 .byte 0x18 15: 05 .byte 0x5 [ 13.166019][ C0] RSP: 0018:ffffc90000117c68 EFLAGS: 00000206 [ 13.166022][ C0] RAX: 0000000000000295 RBX: ffff888001bea300 RCX: ffffffffa2844b9f [ 13.166024][ C0] RDX: 0000000000000000 RSI: ffffffffa589175c RDI: ffffffffa5053ca0 [ 13.166026][ C0] RBP: ffffc90000117ca8 R08: 0000000000000001 R09: 0000000000000001 [ 13.166027][ C0] R10: ffffffffa67e7cd7 R11: ffff888036038dd8 R12: ffff888036038dd8 [ 13.166029][ C0] R13: ffff888001b1c5c0 R14: ffff888036139968 R15: ffff888036038dc0 [ 13.166033][ C0] ? trace_irq_enable.constprop.0 (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 ./include/linux/cpumask.h:654 ./include/linux/cpumask.h:1210 ./include/trace/events/preemptirq.h:40) [ 13.166038][ C0] ? finish_task_switch.isra.0 (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 kernel/sched/sched.h:1544 kernel/sched/core.c:5140 kernel/sched/core.c:5258) [ 13.166041][ C0] ? __switch_to (./arch/x86/include/asm/cpufeature.h:101 arch/x86/kernel/process_64.c:378 arch/x86/kernel/process_64.c:666) [ 13.166046][ C0] __schedule (kernel/sched/core.c:6787) [ 13.166051][ C0] ? __pfx___schedule (kernel/sched/core.c:6658) [ 13.166058][ C0] ? schedule (kernel/sched/core.c:6840 kernel/sched/core.c:6873) [ 13.166060][ C0] ? __lock_release (kernel/locking/lockdep.c:5539) [ 13.166066][ C0] ? __pfx_wait_rcu_exp_gp (kernel/rcu/tree_exp.h:488) [ 13.166069][ C0] schedule (kernel/sched/core.c:6860 kernel/sched/core.c:6874) [ 13.166073][ C0] kthread_worker_fn (kernel/kthread.c:1017) [ 13.166076][ C0] ? __pfx_kthread_worker_fn (kernel/kthread.c:971) [ 13.166080][ C0] kthread (kernel/kthread.c:464) [ 13.166083][ C0] ? __pfx_kthread (kernel/kthread.c:413) [ 13.166085][ C0] ? ret_from_fork (arch/x86/kernel/process.c:147) [ 13.166088][ C0] ? __lock_release (kernel/locking/lockdep.c:5539) [ 13.166092][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 13.166095][ C0] ? __pfx_kthread (kernel/kthread.c:413) [ 13.166098][ C0] ret_from_fork (arch/x86/kernel/process.c:148) [ 13.166101][ C0] ? __pfx_kthread (kernel/kthread.c:413) Finger prints: schedule:dump_stack_lvl:__might_resched:down_write:simple_recursive_removal mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock