syzbot


possible deadlock in comedi_do_insn

Status: upstream: reported on 2025/10/06 08:18
Subsystems: comedi
[Documentation on labels]
Reported-by: syzbot+4a6138c17a47937dcea1@syzkaller.appspotmail.com
First crash: 4d17h, last: 4d17h
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [comedi?] possible deadlock in comedi_do_insn 0 (1) 2025/10/06 08:18

Sample crash report:
============================================
WARNING: possible recursive locking detected
syzkaller #0 Not tainted
--------------------------------------------
syz.3.705/8631 is trying to acquire lock:
ffff88814c4ae0f8 (&dev->mutex#4){+.+.}-{4:4}, at: comedi_do_insn+0x38/0x3d0 drivers/comedi/kcomedilib/kcomedilib_main.c:73

but task is already holding lock:
ffff88814c4ac8f8 (&dev->mutex#4){+.+.}-{4:4}, at: comedi_unlocked_ioctl+0x13a/0x1020 drivers/comedi/comedi_fops.c:2166

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&dev->mutex#4);
  lock(&dev->mutex#4);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

1 lock held by syz.3.705/8631:
 #0: ffff88814c4ac8f8 (&dev->mutex#4){+.+.}-{4:4}, at: comedi_unlocked_ioctl+0x13a/0x1020 drivers/comedi/comedi_fops.c:2166

stack backtrace:
CPU: 0 UID: 0 PID: 8631 Comm: syz.3.705 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
Call Trace:
 <TASK>
 dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
 print_deadlock_bug+0x28b/0x2a0 kernel/locking/lockdep.c:3041
 check_deadlock kernel/locking/lockdep.c:3093 [inline]
 validate_chain+0x1a3f/0x2140 kernel/locking/lockdep.c:3895
 __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237
 lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868
 __mutex_lock_common kernel/locking/mutex.c:598 [inline]
 __mutex_lock+0x187/0x1350 kernel/locking/mutex.c:760
 comedi_do_insn+0x38/0x3d0 drivers/comedi/kcomedilib/kcomedilib_main.c:73
 comedi_dio_bitfield2+0x2d7/0x3b0 drivers/comedi/kcomedilib/kcomedilib_main.c:204
 bonding_dio_insn_bits+0x2a5/0x590 drivers/comedi/drivers/comedi_bond.c:100
 insn_rw_emulate_bits+0x34d/0x5f0 drivers/comedi/drivers.c:642
 parse_insn+0xa26/0x1910 drivers/comedi/comedi_fops.c:1454
 do_insnlist_ioctl+0x331/0x690 drivers/comedi/comedi_fops.c:1594
 comedi_unlocked_ioctl+0xdeb/0x1020 drivers/comedi/comedi_fops.c:2298
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:597 [inline]
 __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f96e618eec9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f96e700b038 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f96e63e5fa0 RCX: 00007f96e618eec9
RDX: 0000200000000080 RSI: 000000008010640b RDI: 0000000000000003
RBP: 00007f96e6211f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f96e63e6038 R14: 00007f96e63e5fa0 R15: 00007ffde94ae9d8
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/10/02 08:09 linux-next 3b9b1f8df454 a1859138 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in comedi_do_insn
* Struck through repros no longer work on HEAD.