rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-....: (1 GPs behind) idle=ce2/1/0x4000000000000002 softirq=195041/195045 fqs=5242 (detected by 0, t=10502 jiffies, g=294057, q=1441) ============================================ WARNING: possible recursive locking detected 5.14.0-rc7-syzkaller #0 Not tainted -------------------------------------------- swapper/0/0 is trying to acquire lock: ffffffff8b9850d8 (rcu_node_0){-.-.}-{2:2}, at: rcu_dump_cpu_stacks+0xd0/0x3f0 kernel/rcu/tree_stall.h:337 but task is already holding lock: ffffffff8b9850d8 (rcu_node_0){-.-.}-{2:2}, at: print_other_cpu_stall kernel/rcu/tree_stall.h:543 [inline] ffffffff8b9850d8 (rcu_node_0){-.-.}-{2:2}, at: check_cpu_stall kernel/rcu/tree_stall.h:709 [inline] ffffffff8b9850d8 (rcu_node_0){-.-.}-{2:2}, at: rcu_pending kernel/rcu/tree.c:3922 [inline] ffffffff8b9850d8 (rcu_node_0){-.-.}-{2:2}, at: rcu_sched_clock_irq+0xc9a/0x20c0 kernel/rcu/tree.c:2641 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(rcu_node_0); lock(rcu_node_0); *** DEADLOCK *** May be due to missing lock nesting notation 1 lock held by swapper/0/0: #0: ffffffff8b9850d8 (rcu_node_0){-.-.}-{2:2}, at: print_other_cpu_stall kernel/rcu/tree_stall.h:543 [inline] #0: ffffffff8b9850d8 (rcu_node_0){-.-.}-{2:2}, at: check_cpu_stall kernel/rcu/tree_stall.h:709 [inline] #0: ffffffff8b9850d8 (rcu_node_0){-.-.}-{2:2}, at: rcu_pending kernel/rcu/tree.c:3922 [inline] #0: ffffffff8b9850d8 (rcu_node_0){-.-.}-{2:2}, at: rcu_sched_clock_irq+0xc9a/0x20c0 kernel/rcu/tree.c:2641 stack backtrace: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.14.0-rc7-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:105 print_deadlock_bug kernel/locking/lockdep.c:2944 [inline] check_deadlock kernel/locking/lockdep.c:2987 [inline] validate_chain kernel/locking/lockdep.c:3776 [inline] __lock_acquire.cold+0x149/0x3ab kernel/locking/lockdep.c:5015 lock_acquire kernel/locking/lockdep.c:5625 [inline] lock_acquire+0x1ab/0x510 kernel/locking/lockdep.c:5590 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:159 rcu_dump_cpu_stacks+0xd0/0x3f0 kernel/rcu/tree_stall.h:337 print_other_cpu_stall kernel/rcu/tree_stall.h:561 [inline] check_cpu_stall kernel/rcu/tree_stall.h:709 [inline] rcu_pending kernel/rcu/tree.c:3922 [inline] rcu_sched_clock_irq+0x1cc6/0x20c0 kernel/rcu/tree.c:2641 update_process_times+0x16d/0x200 kernel/time/timer.c:1785 tick_sched_handle+0x9b/0x180 kernel/time/tick-sched.c:226 tick_sched_timer+0x1b0/0x2d0 kernel/time/tick-sched.c:1421 __run_hrtimer kernel/time/hrtimer.c:1537 [inline] __hrtimer_run_queues+0x1c0/0xe50 kernel/time/hrtimer.c:1601 hrtimer_interrupt+0x330/0xa00 kernel/time/hrtimer.c:1663 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1089 [inline] __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1106 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1100 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638 RIP: 0010:native_save_fl arch/x86/include/asm/irqflags.h:29 [inline] RIP: 0010:arch_local_save_flags arch/x86/include/asm/irqflags.h:70 [inline] RIP: 0010:arch_irqs_disabled arch/x86/include/asm/irqflags.h:132 [inline] RIP: 0010:acpi_safe_halt drivers/acpi/processor_idle.c:110 [inline] RIP: 0010:acpi_idle_do_entry+0x1c6/0x250 drivers/acpi/processor_idle.c:553 Code: 89 de e8 bd 35 43 f8 84 db 75 ac e8 74 2f 43 f8 e8 6f 58 49 f8 eb 0c e8 68 2f 43 f8 0f 00 2d 21 fc bc 00 e8 5c 2f 43 f8 fb f4 <9c> 5b 81 e3 00 02 00 00 fa 31 ff 48 89 de e8 a7 34 43 f8 48 85 db RSP: 0018:ffffffff8b607d60 EFLAGS: 00000293 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffffffff8b6bc640 RSI: ffffffff89327b84 RDI: 0000000000000000 RBP: ffff888018eb2064 R08: 0000000000000001 R09: 0000000000000001 R10: ffffffff817bd562 R11: 0000000000000000 R12: 0000000000000001 R13: ffff888018eb2000 R14: ffff888018eb2064 R15: ffff88801b8dd804 acpi_idle_enter+0x361/0x500 drivers/acpi/processor_idle.c:688 cpuidle_enter_state+0x1b1/0xc80 drivers/cpuidle/cpuidle.c:237 cpuidle_enter+0x4a/0xa0 drivers/cpuidle/cpuidle.c:351 call_cpuidle kernel/sched/idle.c:158 [inline] cpuidle_idle_call kernel/sched/idle.c:239 [inline] do_idle+0x3e8/0x590 kernel/sched/idle.c:306 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:403 start_kernel+0x47a/0x49b init/main.c:1125 secondary_startup_64_no_verify+0xb0/0xbb ---------------- Code disassembly (best guess): 0: 89 de mov %ebx,%esi 2: e8 bd 35 43 f8 callq 0xf84335c4 7: 84 db test %bl,%bl 9: 75 ac jne 0xffffffb7 b: e8 74 2f 43 f8 callq 0xf8432f84 10: e8 6f 58 49 f8 callq 0xf8495884 15: eb 0c jmp 0x23 17: e8 68 2f 43 f8 callq 0xf8432f84 1c: 0f 00 2d 21 fc bc 00 verw 0xbcfc21(%rip) # 0xbcfc44 23: e8 5c 2f 43 f8 callq 0xf8432f84 28: fb sti 29: f4 hlt * 2a: 9c pushfq <-- trapping instruction 2b: 5b pop %rbx 2c: 81 e3 00 02 00 00 and $0x200,%ebx 32: fa cli 33: 31 ff xor %edi,%edi 35: 48 89 de mov %rbx,%rsi 38: e8 a7 34 43 f8 callq 0xf84334e4 3d: 48 85 db test %rbx,%rbx