[syzbot] [sound?] possible deadlock in snd_seq_deliver_event (2)
syzbot <[email protected]>
| Newsgroups | org.kernel.vger.linux-sound,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hello, syzbot found the following issue on: HEAD commit: fc02acf6ac0c Merge tag 'platform-drivers-x86-v7.2-4' of gi.. git tree: upstream console output: https://syzkaller.appspot.com/x/log.txt?x=17a0b8c6580000 kernel config: https://syzkaller.appspot.com/x/.config?x=145fa60d73086782 dashboard link: https://syzkaller.appspot.com/bug?extid=d4d7ac4a87bb2d52a822 compiler: gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44 Unfortunately, I don't have any reproducer for this issue yet. Downloadable assets: disk image: https://storage.googleapis.com/syzbot-assets/67251350dd03/disk-fc02acf6.raw.xz vmlinux: https://storage.googleapis.com/syzbot-assets/e4edd57a8c61/vmlinux-fc02acf6.xz kernel image: https://storage.googleapis.com/syzbot-assets/04ff166cc853/bzImage-fc02acf6.xz IMPORTANT: if you fix the issue, please add the following tag to the commit: Reported-by: [email protected] ============================================ WARNING: possible recursive locking detected syzkaller #0 Not tainted -------------------------------------------- kworker/1:3/5615 is trying to acquire lock: ffff888032c85128 (&grp->list_lock){.+.+}-{3:3}, at: __deliver_to_subscribers sound/core/seq/seq_clientmgr.c:723 [inline] ffff888032c85128 (&grp->list_lock){.+.+}-{3:3}, at: deliver_to_subscribers sound/core/seq/seq_clientmgr.c:763 [inline] ffff888032c85128 (&grp->list_lock){.+.+}-{3:3}, at: snd_seq_deliver_event+0x230/0x860 sound/core/seq/seq_clientmgr.c:813 but task is already holding lock: ffff8880269b0128 (&grp->list_lock){.+.+}-{3:3}, at: __deliver_to_subscribers sound/core/seq/seq_clientmgr.c:723 [inline] ffff8880269b0128 (&grp->list_lock){.+.+}-{3:3}, at: deliver_to_subscribers sound/core/seq/seq_clientmgr.c:763 [inline] ffff8880269b0128 (&grp->list_lock){.+.+}-{3:3}, at: snd_seq_deliver_event+0x230/0x860 sound/core/seq/seq_clientmgr.c:813 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:3/5615: #0: ffff88801bc0f140 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x12b1/0x1940 kernel/workqueue.c:3297 #1: ffffc900039c7d08 ((work_completion)(&runtime->event_work)){+.+.}-{0:0}, at: process_one_work+0x988/0x1940 kernel/workqueue.c:3298 #2: ffff8880269b0128 (&grp->list_lock){.+.+}-{3:3}, at: __deliver_to_subscribers sound/core/seq/seq_clientmgr.c:723 [inline] #2: ffff8880269b0128 (&grp->list_lock){.+.+}-{3:3}, at: deliver_to_subscribers sound/core/seq/seq_clientmgr.c:763 [inline] #2: ffff8880269b0128 (&grp->list_lock){.+.+}-{3:3}, at: snd_seq_deliver_event+0x230/0x860 sound/core/seq/seq_clientmgr.c:813 stack backtrace: CPU: 1 UID: 0 PID: 5615 Comm: kworker/1:3 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/16/2026 Workqueue: events snd_rawmidi_input_event_work Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120 print_deadlock_bug.cold+0xbd/0xca kernel/locking/lockdep.c:3041 check_deadlock kernel/locking/lockdep.c:3093 [inline] validate_chain kernel/locking/lockdep.c:3895 [inline] __lock_acquire+0x1256/0x1a40 kernel/locking/lockdep.c:5237 lock_acquire kernel/locking/lockdep.c:5868 [inline] lock_acquire+0x1b9/0x370 kernel/locking/lockdep.c:5825 __raw_read_lock include/linux/rwlock_api_smp.h:163 [inline] _raw_read_lock+0x5f/0x70 kernel/locking/spinlock.c:232 __deliver_to_subscribers sound/core/seq/seq_clientmgr.c:723 [inline] deliver_to_subscribers sound/core/seq/seq_clientmgr.c:763 [inline] snd_seq_deliver_event+0x230/0x860 sound/core/seq/seq_clientmgr.c:813 snd_seq_kernel_client_dispatch+0x16f/0x1b0 sound/core/seq/seq_clientmgr.c:2439 queue_broadcast_event.isra.0+0x143/0x1b0 sound/core/seq/seq_queue.c:585 snd_seq_queue_process_event sound/core/seq/seq_queue.c:634 [inline] snd_seq_control_queue+0x709/0xb70 sound/core/seq/seq_queue.c:659 __snd_seq_deliver_single_event sound/core/seq/seq_clientmgr.c:626 [inline] __snd_seq_deliver_single_event+0x127/0x1c0 sound/core/seq/seq_clientmgr.c:613 _snd_seq_deliver_single_event sound/core/seq/seq_clientmgr.c:672 [inline] snd_seq_deliver_single_event+0x31f/0x8c0 sound/core/seq/seq_clientmgr.c:687 snd_seq_deliver_event+0x44b/0x860 sound/core/seq/seq_clientmgr.c:815 snd_seq_kernel_client_dispatch+0x16f/0x1b0 sound/core/seq/seq_clientmgr.c:2439 send_timer_event.isra.0+0x130/0x190 sound/core/seq/oss/seq_oss_timer.c:140 snd_seq_oss_timer_start+0x1db/0x320 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+0x467/0xa30 sound/core/seq/oss/seq_oss_midi.c:501 snd_seq_oss_event_input+0x194/0x250 sound/core/seq/oss/seq_oss_event.c:429 __snd_seq_deliver_single_event sound/core/seq/seq_clientmgr.c:626 [inline] __snd_seq_deliver_single_event+0x127/0x1c0 sound/core/seq/seq_clientmgr.c:613 _snd_seq_deliver_single_event sound/core/seq/seq_clientmgr.c:672 [inline] snd_seq_deliver_single_event+0x31f/0x8c0 sound/core/seq/seq_clientmgr.c:687 __deliver_to_subscribers sound/core/seq/seq_clientmgr.c:735 [inline] deliver_to_subscribers sound/core/seq/seq_clientmgr.c:763 [inline] snd_seq_deliver_event+0x2c1/0x860 sound/core/seq/seq_clientmgr.c:813 snd_seq_kernel_client_dispatch+0x16f/0x1b0 sound/core/seq/seq_clientmgr.c:2439 snd_midi_input_event+0x32f/0x470 sound/core/seq/seq_midi.c:93 snd_rawmidi_input_event_work+0x61/0x80 sound/core/rawmidi.c:127 process_one_work+0xa23/0x1940 kernel/workqueue.c:3322 process_scheduled_works kernel/workqueue.c:3405 [inline] worker_thread+0x5ef/0xe50 kernel/workqueue.c:3486 kthread+0x370/0x450 kernel/kthread.c:436 ret_from_fork+0x72b/0xd50 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> --- This report is generated by a bot. It may contain errors. See https://goo.gl/tpsmEJ for more information about syzbot. syzbot engineers can be reached at [email protected]. syzbot will keep track of this issue. See: https://goo.gl/tpsmEJ#status for how to communicate with syzbot. If the report is already addressed, let syzbot know by replying with: #syz fix: exact-commit-title If you want to overwrite report's subsystems, reply with: #syz set subsystems: new-subsystem (See the list of subsystem names on the web dashboard) If the report is a duplicate of another one, reply with: #syz dup: exact-subject-of-another-report If you want to undo deduplication, reply with: #syz undup