possible deadlock in snd_seq_deliver_event

Status: upstream: reported on 2026/07/25 05:57
Reported-by: syzbot+e4261fc52d6431f1e410@syzkaller.appspotmail.com
First crash: 13d, last: 13h07m
Similar bugs (5)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream possible deadlock in snd_seq_deliver_event 4 syz, C 6 3196d 3206d 4/29 fixed on 2018/01/23 12:04
linux-5.15 possible deadlock in snd_seq_deliver_event origin:upstream 4 syz, C 6 1d02h 8d02h 0/3 upstream: reported C repro on 2026/07/31 01:39
android-49 possible deadlock in snd_seq_deliver_event 4 syz, C 1 3196d 2672d 0/3 public: reported C repro on 2019/04/14 08:51
linux-6.6 possible deadlock in snd_seq_deliver_event 4 2 4d12h 4d18h 0/2 upstream: reported on 2026/08/03 09:53
upstream possible deadlock in snd_seq_deliver_event (2) sound prio:high 4 137 2h51m 9d02h 0/29 upstream: reported on 2026/07/30 01:59

Sample crash report:
============================================
WARNING: possible recursive locking detected
syzkaller #0 Not tainted
--------------------------------------------
kworker/1:1/26 is trying to acquire lock:
ffff88814cc53130 (&grp->list_lock){.+.+}-{2:2}, at: deliver_to_subscribers sound/core/seq/seq_clientmgr.c:708 [inline]
ffff88814cc53130 (&grp->list_lock){.+.+}-{2:2}, at: snd_seq_deliver_event+0x1cb/0x8c0 sound/core/seq/seq_clientmgr.c:854

but task is already holding lock:
ffff88807d4ad930 (&grp->list_lock){.+.+}-{2:2}, at: deliver_to_subscribers sound/core/seq/seq_clientmgr.c:708 [inline]
ffff88807d4ad930 (&grp->list_lock){.+.+}-{2:2}, at: snd_seq_deliver_event+0x1cb/0x8c0 sound/core/seq/seq_clientmgr.c:854

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

3 locks held by kworker/1:1/26:
 #0: ffff888017470938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x7b4/0x1160 kernel/workqueue.c:2267
 #1: ffffc90000a1fd00 ((work_completion)(&runtime->event_work)){+.+.}-{0:0}, at: process_one_work+0x7b4/0x1160 kernel/workqueue.c:2267
 #2: ffff88807d4ad930 (&grp->list_lock){.+.+}-{2:2}, at: deliver_to_subscribers sound/core/seq/seq_clientmgr.c:708 [inline]
 #2: ffff88807d4ad930 (&grp->list_lock){.+.+}-{2:2}, at: snd_seq_deliver_event+0x1cb/0x8c0 sound/core/seq/seq_clientmgr.c:854

stack backtrace:
CPU: 1 PID: 26 Comm: kworker/1:1 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue: events snd_rawmidi_input_event_work
Call Trace:
 <TASK>
 dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106
 __lock_acquire+0x12c8/0x7c40 kernel/locking/lockdep.c:-1
 lock_acquire+0x1bb/0x4a0 kernel/locking/lockdep.c:5676
 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline]
 _raw_read_lock+0x32/0x40 kernel/locking/spinlock.c:228
 deliver_to_subscribers sound/core/seq/seq_clientmgr.c:708 [inline]
 snd_seq_deliver_event+0x1cb/0x8c0 sound/core/seq/seq_clientmgr.c:854
 snd_seq_kernel_client_dispatch+0x1fc/0x2f0 sound/core/seq/seq_clientmgr.c:2406
 queue_broadcast_event sound/core/seq/seq_queue.c:645 [inline]
 snd_seq_queue_process_event sound/core/seq/seq_queue.c:661 [inline]
 snd_seq_control_queue+0x8ff/0x1010 sound/core/seq/seq_queue.c:721
 snd_seq_deliver_single_event+0x806/0xb30 sound/core/seq/seq_clientmgr.c:663
 snd_seq_kernel_client_dispatch+0x1fc/0x2f0 sound/core/seq/seq_clientmgr.c:2406
 send_timer_event sound/core/seq/oss/seq_oss_timer.c:140 [inline]
 snd_seq_oss_timer_start+0x2ce/0x510 sound/core/seq/oss/seq_oss_timer.c:161
 send_midi_event sound/core/seq/oss/seq_oss_midi.c:622 [inline]
 snd_seq_oss_midi_input+0x2e8/0x890 sound/core/seq/oss/seq_oss_midi.c:544
 snd_seq_deliver_single_event+0x806/0xb30 sound/core/seq/seq_clientmgr.c:663
 deliver_to_subscribers sound/core/seq/seq_clientmgr.c:720 [inline]
 snd_seq_deliver_event+0x49d/0x8c0 sound/core/seq/seq_clientmgr.c:854
 snd_seq_kernel_client_dispatch+0x1fc/0x2f0 sound/core/seq/seq_clientmgr.c:2406
 snd_midi_input_event+0x295/0x3e0 sound/core/seq/seq_midi.c:92
 process_one_work+0x8ab/0x1160 kernel/workqueue.c:2292
 worker_thread+0xaf5/0x12a0 kernel/workqueue.c:2439
 kthread+0x29d/0x330 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
infiniband syz1: ib_query_port failed (-19)

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/07 14:54 linux-6.1.y e4f7d8be268e e4ef95d6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in snd_seq_deliver_event
2026/07/30 11:24 linux-6.1.y 1016ca6176ee 2377cd3d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in snd_seq_deliver_event
2026/07/25 05:56 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in snd_seq_deliver_event
* Struck through repros no longer work on HEAD.