============================================ WARNING: possible recursive locking detected 5.9.0-rc7-syzkaller #0 Not tainted -------------------------------------------- syz-executor.0/8365 is trying to acquire lock: ffff88807ae18130 (&runtime->sleep){..-.}-{2:2}, at: spin_lock include/linux/spinlock.h:354 [inline] ffff88807ae18130 (&runtime->sleep){..-.}-{2:2}, at: io_poll_double_wake+0x156/0x510 fs/io_uring.c:4749 but task is already holding lock: ffff88808fca0130 (&runtime->sleep){..-.}-{2:2}, at: __wake_up_common_lock+0xb4/0x130 kernel/sched/wait.c:122 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&runtime->sleep); lock(&runtime->sleep); *** DEADLOCK *** May be due to missing lock nesting notation 4 locks held by syz-executor.0/8365: #0: ffff88807a65c440 (&runtime->oss.params_lock){+.+.}-{3:3}, at: snd_pcm_oss_change_params sound/core/oss/pcm_oss.c:1081 [inline] #0: ffff88807a65c440 (&runtime->oss.params_lock){+.+.}-{3:3}, at: snd_pcm_oss_make_ready+0xc4/0x2e0 sound/core/oss/pcm_oss.c:1143 #1: ffffc90000da8d68 ((&dpcm->timer)){+.-.}-{0:0}, at: lockdep_copy_map include/linux/lockdep.h:35 [inline] #1: ffffc90000da8d68 ((&dpcm->timer)){+.-.}-{0:0}, at: call_timer_fn+0xdb/0x760 kernel/time/timer.c:1403 #2: ffff888099d03108 (&group->lock){..-.}-{2:2}, at: _snd_pcm_stream_lock_irqsave+0x9f/0xd0 sound/core/pcm_native.c:170 #3: ffff88808fca0130 (&runtime->sleep){..-.}-{2:2}, at: __wake_up_common_lock+0xb4/0x130 kernel/sched/wait.c:122 stack backtrace: CPU: 1 PID: 8365 Comm: syz-executor.0 Not tainted 5.9.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:77 [inline] dump_stack+0x198/0x1fd lib/dump_stack.c:118 print_deadlock_bug kernel/locking/lockdep.c:2391 [inline] check_deadlock kernel/locking/lockdep.c:2432 [inline] validate_chain kernel/locking/lockdep.c:3202 [inline] __lock_acquire.cold+0x148/0x3b0 kernel/locking/lockdep.c:4441 lock_acquire+0x1f3/0xaf0 kernel/locking/lockdep.c:5029 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:151 spin_lock include/linux/spinlock.h:354 [inline] io_poll_double_wake+0x156/0x510 fs/io_uring.c:4749 __wake_up_common+0x147/0x650 kernel/sched/wait.c:93 __wake_up_common_lock+0xd0/0x130 kernel/sched/wait.c:123 snd_pcm_update_state+0x46a/0x540 sound/core/pcm_lib.c:203 snd_pcm_update_hw_ptr0+0xac9/0x1ac0 sound/core/pcm_lib.c:464 snd_pcm_period_elapsed+0x160/0x250 sound/core/pcm_lib.c:1805 loopback_jiffies_timer_function+0x1a8/0x220 sound/drivers/aloop.c:669 call_timer_fn+0x1ac/0x760 kernel/time/timer.c:1413 expire_timers kernel/time/timer.c:1458 [inline] __run_timers.part.0+0x67c/0xaa0 kernel/time/timer.c:1755 __run_timers kernel/time/timer.c:1736 [inline] run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1768 __do_softirq+0x1f8/0xb23 kernel/softirq.c:298 asm_call_irq_on_stack+0xf/0x20 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline] run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline] do_softirq_own_stack+0x9b/0xd0 arch/x86/kernel/irq_64.c:77 invoke_softirq kernel/softirq.c:393 [inline] __irq_exit_rcu kernel/softirq.c:423 [inline] irq_exit_rcu+0x235/0x280 kernel/softirq.c:435 sysvec_apic_timer_interrupt+0x51/0xf0 arch/x86/kernel/apic/apic.c:1091 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:581 RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:770 [inline] RIP: 0010:seqcount_lockdep_reader_access include/linux/seqlock.h:104 [inline] RIP: 0010:read_seqcount_t_begin include/linux/seqlock.h:311 [inline] RIP: 0010:read_seqbegin include/linux/seqlock.h:752 [inline] RIP: 0010:zone_span_seqbegin include/linux/memory_hotplug.h:80 [inline] RIP: 0010:page_outside_zone_boundaries+0x100/0x340 mm/page_alloc.c:561 Code: 08 48 c7 c0 e8 6b fc 89 48 c1 e8 03 80 3c 28 00 0f 85 f4 01 00 00 48 83 3d 84 a6 4e 08 00 0f 84 0e 01 00 00 48 8b 3c 24 57 9d <0f> 1f 44 00 00 4c 8d 8b 98 00 00 00 4c 89 c8 48 c1 e8 03 0f b6 04 RSP: 0018:ffffc9000ab0f258 EFLAGS: 00000286 RAX: 1ffffffff13f8d7d RBX: ffff88812fffb700 RCX: ffffffff815b7ef2 RDX: ffffffff81ae6033 RSI: 0000000000000000 RDI: 0000000000000286 RBP: dffffc0000000000 R08: 0000000000000001 R09: ffffffff8d0c0ac7 R10: 1ffffffff13f8d7e R11: 0000000000000000 R12: 000000000008fd85 R13: fffffbfff13f8d7c R14: 0000000000000000 R15: ffff88812fffb7a0 bad_range mm/page_alloc.c:590 [inline] rmqueue mm/page_alloc.c:3409 [inline] get_page_from_freelist+0x893/0x3b40 mm/page_alloc.c:3828 __alloc_pages_nodemask+0x2cf/0x790 mm/page_alloc.c:4882 alloc_pages_current+0x191/0x2a0 mm/mempolicy.c:2275 alloc_pages include/linux/gfp.h:545 [inline] __vmalloc_area_node+0x3e3/0x7a0 mm/vmalloc.c:2445 __vmalloc_node_range mm/vmalloc.c:2511 [inline] __vmalloc_node mm/vmalloc.c:2554 [inline] __vmalloc+0x114/0x1a0 mm/vmalloc.c:2568 snd_dma_alloc_pages+0x2dc/0x3f0 sound/core/memalloc.c:148 do_alloc_pages+0x9b/0x160 sound/core/pcm_memory.c:43 snd_pcm_lib_malloc_pages+0x3ec/0x6f0 sound/core/pcm_memory.c:409 snd_pcm_hw_params+0x13fe/0x1920 sound/core/pcm_native.c:705 snd_pcm_kernel_ioctl+0xd1/0x240 sound/core/pcm_native.c:3325 snd_pcm_oss_change_params_locked+0x130a/0x3420 sound/core/oss/pcm_oss.c:941 snd_pcm_oss_change_params sound/core/oss/pcm_oss.c:1084 [inline] snd_pcm_oss_make_ready+0xe6/0x2e0 sound/core/oss/pcm_oss.c:1143 snd_pcm_oss_sync+0x2e0/0x800 sound/core/oss/pcm_oss.c:1642 snd_pcm_oss_release+0x276/0x300 sound/core/oss/pcm_oss.c:2546 __fput+0x285/0x920 fs/file_table.c:281 task_work_run+0xdd/0x190 kernel/task_work.c:141 exit_task_work include/linux/task_work.h:25 [inline] do_exit+0xb7d/0x29f0 kernel/exit.c:806 do_group_exit+0x125/0x310 kernel/exit.c:903 get_signal+0x428/0x1f00 kernel/signal.c:2757 arch_do_signal+0x82/0x2520 arch/x86/kernel/signal.c:811 exit_to_user_mode_loop kernel/entry/common.c:161 [inline] exit_to_user_mode_prepare+0x1ae/0x200 kernel/entry/common.c:192 syscall_exit_to_user_mode+0x7e/0x2e0 kernel/entry/common.c:267 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45dd99 Code: Bad RIP value. RSP: 002b:00007fbe1187bc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffff97 RBX: 000000000001dac0 RCX: 000000000045dd99 RDX: 0000000020000000 RSI: 00000000000089f1 RDI: 0000000000000007 RBP: 000000000118c0b0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000118c07c R13: 00007fff399e38cf R14: 00007fbe1187c9c0 R15: 000000000118c07c general protection fault, probably for non-canonical address 0xdffffc0000000009: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f] CPU: 1 PID: 8365 Comm: syz-executor.0 Not tainted 5.9.0-rc7-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:io_poll_get_single fs/io_uring.c:4672 [inline] RIP: 0010:io_poll_double_wake+0x51/0x510 fs/io_uring.c:4739 Code: fc ff df 48 c1 ea 03 80 3c 02 00 0f 85 9e 03 00 00 48 b8 00 00 00 00 00 fc ff df 49 8b 5d 08 48 8d 7b 48 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 06 0f 8e 63 03 00 00 0f b6 6b 48 bf 06 00 00 RSP: 0018:ffffc90000da8980 EFLAGS: 00010006 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000009 RSI: ffffffff81d9f29d RDI: 0000000000000048 RBP: dffffc0000000000 R08: ffff8880a25c9e18 R09: ffffc90000da8a70 R10: fffff520001b5135 R11: 0000000000000001 R12: 0000000000000000 R13: ffff8880a25c9e18 R14: ffff8880a25c9e20 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8880ae500000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000009e8d000 CR4: 00000000001506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __wake_up_common+0x147/0x650 kernel/sched/wait.c:93 __wake_up_common_lock+0xd0/0x130 kernel/sched/wait.c:123 snd_pcm_update_state+0x46a/0x540 sound/core/pcm_lib.c:203 snd_pcm_update_hw_ptr0+0xac9/0x1ac0 sound/core/pcm_lib.c:464 snd_pcm_period_elapsed+0x160/0x250 sound/core/pcm_lib.c:1805 loopback_jiffies_timer_function+0x1a8/0x220 sound/drivers/aloop.c:669 call_timer_fn+0x1ac/0x760 kernel/time/timer.c:1413 expire_timers kernel/time/timer.c:1458 [inline] __run_timers.part.0+0x67c/0xaa0 kernel/time/timer.c:1755 __run_timers kernel/time/timer.c:1736 [inline] run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1768 __do_softirq+0x1f8/0xb23 kernel/softirq.c:298 asm_call_irq_on_stack+0xf/0x20 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline] run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline] do_softirq_own_stack+0x9b/0xd0 arch/x86/kernel/irq_64.c:77 invoke_softirq kernel/softirq.c:393 [inline] __irq_exit_rcu kernel/softirq.c:423 [inline] irq_exit_rcu+0x235/0x280 kernel/softirq.c:435 sysvec_apic_timer_interrupt+0x51/0xf0 arch/x86/kernel/apic/apic.c:1091 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:581 RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:770 [inline] RIP: 0010:seqcount_lockdep_reader_access include/linux/seqlock.h:104 [inline] RIP: 0010:read_seqcount_t_begin include/linux/seqlock.h:311 [inline] RIP: 0010:read_seqbegin include/linux/seqlock.h:752 [inline] RIP: 0010:zone_span_seqbegin include/linux/memory_hotplug.h:80 [inline] RIP: 0010:page_outside_zone_boundaries+0x100/0x340 mm/page_alloc.c:561 Code: 08 48 c7 c0 e8 6b fc 89 48 c1 e8 03 80 3c 28 00 0f 85 f4 01 00 00 48 83 3d 84 a6 4e 08 00 0f 84 0e 01 00 00 48 8b 3c 24 57 9d <0f> 1f 44 00 00 4c 8d 8b 98 00 00 00 4c 89 c8 48 c1 e8 03 0f b6 04 RSP: 0018:ffffc9000ab0f258 EFLAGS: 00000286 RAX: 1ffffffff13f8d7d RBX: ffff88812fffb700 RCX: ffffffff815b7ef2 RDX: ffffffff81ae6033 RSI: 0000000000000000 RDI: 0000000000000286 RBP: dffffc0000000000 R08: 0000000000000001 R09: ffffffff8d0c0ac7 R10: 1ffffffff13f8d7e R11: 0000000000000000 R12: 000000000008fd85 R13: fffffbfff13f8d7c R14: 0000000000000000 R15: ffff88812fffb7a0 bad_range mm/page_alloc.c:590 [inline] rmqueue mm/page_alloc.c:3409 [inline] get_page_from_freelist+0x893/0x3b40 mm/page_alloc.c:3828 __alloc_pages_nodemask+0x2cf/0x790 mm/page_alloc.c:4882 alloc_pages_current+0x191/0x2a0 mm/mempolicy.c:2275 alloc_pages include/linux/gfp.h:545 [inline] __vmalloc_area_node+0x3e3/0x7a0 mm/vmalloc.c:2445 __vmalloc_node_range mm/vmalloc.c:2511 [inline] __vmalloc_node mm/vmalloc.c:2554 [inline] __vmalloc+0x114/0x1a0 mm/vmalloc.c:2568 snd_dma_alloc_pages+0x2dc/0x3f0 sound/core/memalloc.c:148 do_alloc_pages+0x9b/0x160 sound/core/pcm_memory.c:43 snd_pcm_lib_malloc_pages+0x3ec/0x6f0 sound/core/pcm_memory.c:409 snd_pcm_hw_params+0x13fe/0x1920 sound/core/pcm_native.c:705 snd_pcm_kernel_ioctl+0xd1/0x240 sound/core/pcm_native.c:3325 snd_pcm_oss_change_params_locked+0x130a/0x3420 sound/core/oss/pcm_oss.c:941 snd_pcm_oss_change_params sound/core/oss/pcm_oss.c:1084 [inline] snd_pcm_oss_make_ready+0xe6/0x2e0 sound/core/oss/pcm_oss.c:1143 snd_pcm_oss_sync+0x2e0/0x800 sound/core/oss/pcm_oss.c:1642 snd_pcm_oss_release+0x276/0x300 sound/core/oss/pcm_oss.c:2546 __fput+0x285/0x920 fs/file_table.c:281 task_work_run+0xdd/0x190 kernel/task_work.c:141 exit_task_work include/linux/task_work.h:25 [inline] do_exit+0xb7d/0x29f0 kernel/exit.c:806 do_group_exit+0x125/0x310 kernel/exit.c:903 get_signal+0x428/0x1f00 kernel/signal.c:2757 arch_do_signal+0x82/0x2520 arch/x86/kernel/signal.c:811 exit_to_user_mode_loop kernel/entry/common.c:161 [inline] exit_to_user_mode_prepare+0x1ae/0x200 kernel/entry/common.c:192 syscall_exit_to_user_mode+0x7e/0x2e0 kernel/entry/common.c:267 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45dd99 Code: Bad RIP value. RSP: 002b:00007fbe1187bc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffff97 RBX: 000000000001dac0 RCX: 000000000045dd99 RDX: 0000000020000000 RSI: 00000000000089f1 RDI: 0000000000000007 RBP: 000000000118c0b0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000118c07c R13: 00007fff399e38cf R14: 00007fbe1187c9c0 R15: 000000000118c07c Modules linked in: ---[ end trace 89035ad470961c75 ]--- RIP: 0010:io_poll_get_single fs/io_uring.c:4672 [inline] RIP: 0010:io_poll_double_wake+0x51/0x510 fs/io_uring.c:4739 Code: fc ff df 48 c1 ea 03 80 3c 02 00 0f 85 9e 03 00 00 48 b8 00 00 00 00 00 fc ff df 49 8b 5d 08 48 8d 7b 48 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 06 0f 8e 63 03 00 00 0f b6 6b 48 bf 06 00 00 RSP: 0018:ffffc90000da8980 EFLAGS: 00010006 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000009 RSI: ffffffff81d9f29d RDI: 0000000000000048 RBP: dffffc0000000000 R08: ffff8880a25c9e18 R09: ffffc90000da8a70 R10: fffff520001b5135 R11: 0000000000000001 R12: 0000000000000000 R13: ffff8880a25c9e18 R14: ffff8880a25c9e20 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8880ae500000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000009e8d000 CR4: 00000000001506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400