============================================
WARNING: possible recursive locking detected
5.16.0-rc6-syzkaller #0 Not tainted
--------------------------------------------
swapper/1/0 is trying to acquire lock:
ffff88801f09d130 (&runtime->sleep#2){..-.}-{2:2}, at: io_poll_double_wake+0x2bf/0x690 fs/io_uring.c:5467
but task is already holding lock:
ffff8880301f1130 (&runtime->sleep#2){..-.}-{2:2}, at: __wake_up_common_lock kernel/sched/wait.c:137 [inline]
ffff8880301f1130 (&runtime->sleep#2){..-.}-{2:2}, at: __wake_up+0xf8/0x1c0 kernel/sched/wait.c:157
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&runtime->sleep#2);
lock(&runtime->sleep#2);
*** DEADLOCK ***
May be due to missing lock nesting notation
3 locks held by swapper/1/0:
#0: ffffc90000dc0c00 ((&dpcm->timer)){+.-.}-{0:0}, at: lockdep_copy_map include/linux/lockdep.h:45 [inline]
#0: ffffc90000dc0c00 ((&dpcm->timer)){+.-.}-{0:0}, at: call_timer_fn+0xbd/0x210 kernel/time/timer.c:1411
#1: ffff888023489910 (&group->lock){..-.}-{2:2}, at: snd_pcm_period_elapsed+0x2c/0x210 sound/core/pcm_lib.c:1848
#2: ffff8880301f1130 (&runtime->sleep#2){..-.}-{2:2}, at: __wake_up_common_lock kernel/sched/wait.c:137 [inline]
#2: ffff8880301f1130 (&runtime->sleep#2){..-.}-{2:2}, at: __wake_up+0xf8/0x1c0 kernel/sched/wait.c:157
stack backtrace:
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.16.0-rc6-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+0x1dc/0x2d8 lib/dump_stack.c:106
print_deadlock_bug kernel/locking/lockdep.c:2956 [inline]
check_deadlock kernel/locking/lockdep.c:2999 [inline]
validate_chain+0x5984/0x8240 kernel/locking/lockdep.c:3788
__lock_acquire+0x1382/0x2b00 kernel/locking/lockdep.c:5027
lock_acquire+0x19f/0x4d0 kernel/locking/lockdep.c:5637
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162
io_poll_double_wake+0x2bf/0x690 fs/io_uring.c:5467
__wake_up_common+0x2aa/0x4e0 kernel/sched/wait.c:108
__wake_up_common_lock kernel/sched/wait.c:138 [inline]
__wake_up+0x115/0x1c0 kernel/sched/wait.c:157
snd_pcm_update_state+0x3e9/0x440
snd_pcm_update_hw_ptr0+0xfff/0x1980 sound/core/pcm_lib.c:465
snd_pcm_period_elapsed_under_stream_lock sound/core/pcm_lib.c:1817 [inline]
snd_pcm_period_elapsed+0xfb/0x210 sound/core/pcm_lib.c:1849
call_timer_fn+0xf6/0x210 kernel/time/timer.c:1421
expire_timers kernel/time/timer.c:1466 [inline]
__run_timers+0x71a/0x910 kernel/time/timer.c:1734
run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1747
__do_softirq+0x392/0x7a3 kernel/softirq.c:558
__irq_exit_rcu+0xec/0x170 kernel/softirq.c:637
irq_exit_rcu+0x5/0x20 kernel/softirq.c:649
sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1097
asm_sysvec_apic_timer_interrupt+0x12/0x20
RIP: 0010:native_save_fl arch/x86/include/asm/irqflags.h:22 [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 drivers/acpi/processor_idle.c:553 [inline]
RIP: 0010:acpi_idle_enter+0x42d/0x790 drivers/acpi/processor_idle.c:688
Code: fd 48 83 e3 08 44 8b 7c 24 04 0f 85 22 01 00 00 4c 8d 74 24 40 e8 33 58 0b fd eb 0c e8 bc bb 04 fd 0f 00 2d 35 fe 62 06 fb f4 <4c> 89 f3 48 c1 eb 03 42 80 3c 23 00 74 08 4c 89 f7 e8 7d 90 50 fd
RSP: 0018:ffffc90000d57be0 EFLAGS: 00000282
RAX: c8dda3e2bb402e00 RBX: 0000000000000000 RCX: ffffffff90bb6903
RDX: dffffc0000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc90000d57c90 R08: ffffffff818b2860 R09: ffffed10023faae1
R10: ffffed10023faae1 R11: 0000000000000000 R12: dffffc0000000000
R13: ffff888012bc1064 R14: ffffc90000d57c20 R15: 0000000000000001
cpuidle_enter_state+0x507/0xea0 drivers/cpuidle/cpuidle.c:237
cpuidle_enter+0x59/0x90 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/0x670 kernel/sched/idle.c:306
cpu_startup_entry+0x15/0x20 kernel/sched/idle.c:403
secondary_startup_64_no_verify+0xb1/0xbb
----------------
Code disassembly (best guess):
0: fd std
1: 48 83 e3 08 and $0x8,%rbx
5: 44 8b 7c 24 04 mov 0x4(%rsp),%r15d
a: 0f 85 22 01 00 00 jne 0x132
10: 4c 8d 74 24 40 lea 0x40(%rsp),%r14
15: e8 33 58 0b fd callq 0xfd0b584d
1a: eb 0c jmp 0x28
1c: e8 bc bb 04 fd callq 0xfd04bbdd
21: 0f 00 2d 35 fe 62 06 verw 0x662fe35(%rip) # 0x662fe5d
28: fb sti
29: f4 hlt
* 2a: 4c 89 f3 mov %r14,%rbx <-- trapping instruction
2d: 48 c1 eb 03 shr $0x3,%rbx
31: 42 80 3c 23 00 cmpb $0x0,(%rbx,%r12,1)
36: 74 08 je 0x40
38: 4c 89 f7 mov %r14,%rdi
3b: e8 7d 90 50 fd callq 0xfd5090bd