============================================ WARNING: possible recursive locking detected syzkaller #0 Not tainted -------------------------------------------- kworker/0:8/6962 is trying to acquire lock: ffff88802b30b928 (&grp->list_lock){.+.+}-{3:3}, at: __deliver_to_subscribers sound/core/seq/seq_clientmgr.c:720 [inline] ffff88802b30b928 (&grp->list_lock){.+.+}-{3:3}, at: deliver_to_subscribers sound/core/seq/seq_clientmgr.c:760 [inline] ffff88802b30b928 (&grp->list_lock){.+.+}-{3:3}, at: snd_seq_deliver_event+0x241/0xa40 sound/core/seq/seq_clientmgr.c:810 but task is already holding lock: ffff888054a17128 (&grp->list_lock){.+.+}-{3:3}, at: __deliver_to_subscribers sound/core/seq/seq_clientmgr.c:720 [inline] ffff888054a17128 (&grp->list_lock){.+.+}-{3:3}, at: deliver_to_subscribers sound/core/seq/seq_clientmgr.c:760 [inline] ffff888054a17128 (&grp->list_lock){.+.+}-{3:3}, at: snd_seq_deliver_event+0x241/0xa40 sound/core/seq/seq_clientmgr.c:810 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&grp->list_lock); lock(&grp->list_lock); *** DEADLOCK *** May be due to missing lock nesting notation locks held by kworker/0:8/6962: 3, last CPU#0: #0: ffff88801b02f140 ((wq_completion)events){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline] #0: ffff88801b02f140 ((wq_completion)events){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #0: ffff88801b02f140 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3340 [inline] #0: ffff88801b02f140 ((wq_completion)events){+.+.}-{0:0}, at: process_scheduled_works+0x97e/0x1630 kernel/workqueue.c:3458 #1: ffffc900025e7c40 ((work_completion)(&runtime->event_work)){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline] #1: ffffc900025e7c40 ((work_completion)(&runtime->event_work)){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #1: ffffc900025e7c40 ((work_completion)(&runtime->event_work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3340 [inline] #1: ffffc900025e7c40 ((work_completion)(&runtime->event_work)){+.+.}-{0:0}, at: process_scheduled_works+0x97e/0x1630 kernel/workqueue.c:3458 #2: ffff888054a17128 (&grp->list_lock){.+.+}-{3:3}, at: __deliver_to_subscribers sound/core/seq/seq_clientmgr.c:720 [inline] #2: ffff888054a17128 (&grp->list_lock){.+.+}-{3:3}, at: deliver_to_subscribers sound/core/seq/seq_clientmgr.c:760 [inline] #2: ffff888054a17128 (&grp->list_lock){.+.+}-{3:3}, at: snd_seq_deliver_event+0x241/0xa40 sound/core/seq/seq_clientmgr.c:810 stack backtrace: CPU: 0 UID: 0 PID: 6962 Comm: kworker/0:8 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Workqueue: events snd_rawmidi_input_event_work Call Trace: dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_deadlock_bug+0x27a/0x290 kernel/locking/lockdep.c:3057 check_deadlock kernel/locking/lockdep.c:3109 [inline] validate_chain kernel/locking/lockdep.c:3911 [inline] __lock_acquire+0x261c/0x2e50 kernel/locking/lockdep.c:5254 lock_acquire+0x115/0x350 kernel/locking/lockdep.c:5908 __raw_read_lock include/linux/rwlock_api_smp.h:163 [inline] _raw_read_lock+0x36/0x50 kernel/locking/spinlock.c:232 __deliver_to_subscribers sound/core/seq/seq_clientmgr.c:720 [inline] deliver_to_subscribers sound/core/seq/seq_clientmgr.c:760 [inline] snd_seq_deliver_event+0x241/0xa40 sound/core/seq/seq_clientmgr.c:810 snd_seq_kernel_client_dispatch+0x201/0x310 sound/core/seq/seq_clientmgr.c:2436 queue_broadcast_event sound/core/seq/seq_queue.c:585 [inline] snd_seq_queue_process_event sound/core/seq/seq_queue.c:601 [inline] snd_seq_control_queue+0x977/0x11b0 sound/core/seq/seq_queue.c:659 __snd_seq_deliver_single_event sound/core/seq/seq_clientmgr.c:623 [inline] _snd_seq_deliver_single_event sound/core/seq/seq_clientmgr.c:669 [inline] snd_seq_deliver_single_event+0x568/0xc40 sound/core/seq/seq_clientmgr.c:684 snd_seq_deliver_event+0x26a/0xa40 sound/core/seq/seq_clientmgr.c:812 snd_seq_kernel_client_dispatch+0x201/0x310 sound/core/seq/seq_clientmgr.c:2436 send_timer_event sound/core/seq/oss/seq_oss_timer.c:140 [inline] snd_seq_oss_timer_start+0x336/0x580 sound/core/seq/oss/seq_oss_timer.c:161 send_midi_event sound/core/seq/oss/seq_oss_midi.c:576 [inline] snd_seq_oss_midi_input+0x332/0x9c0 sound/core/seq/oss/seq_oss_midi.c:501 __snd_seq_deliver_single_event sound/core/seq/seq_clientmgr.c:623 [inline] _snd_seq_deliver_single_event sound/core/seq/seq_clientmgr.c:669 [inline] snd_seq_deliver_single_event+0x568/0xc40 sound/core/seq/seq_clientmgr.c:684 __deliver_to_subscribers sound/core/seq/seq_clientmgr.c:732 [inline] deliver_to_subscribers sound/core/seq/seq_clientmgr.c:760 [inline] snd_seq_deliver_event+0x543/0xa40 sound/core/seq/seq_clientmgr.c:810 snd_seq_kernel_client_dispatch+0x201/0x310 sound/core/seq/seq_clientmgr.c:2436 snd_midi_input_event+0x2b1/0x400 sound/core/seq/seq_midi.c:93 process_one_work kernel/workqueue.c:3375 [inline] process_scheduled_works+0xc4e/0x1630 kernel/workqueue.c:3458 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3539 kthread+0x388/0x470 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245