syzbot


divide error in comedi_buf_write_free

Status: upstream: reported on 2025/07/09 17:38
Subsystems: comedi
[Documentation on labels]
Reported-by: syzbot+f6c3c066162d2c43a66c@syzkaller.appspotmail.com
Fix commit: 87b318ba81dd comedi: fix divide-by-zero in comedi_buf_munge()
Patched on: [ci-qemu-gce-upstream-auto ci-qemu-native-arm64-kvm ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-snapshot-upstream-root ci-upstream-gce-arm64 ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root ci-upstream-linux-next-kasan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci-upstream-rust-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce ci2-upstream-usb], missing on: [ci-qemu2-riscv64 ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce]
First crash: 114d, last: 7d01h
Discussions (6)
Title Replies (including bot) Last reply
[syzbot] [kernel?] divide error in comedi_inc_scan_progress 4 (5) 2025/10/20 17:29
[PATCH v2] comedi: fix divide-by-zero in comedi_buf_munge() 2 (2) 2025/09/24 11:21
[PATCH] comedi: fix divide-by-zero in comedi_buf_munge() 2 (2) 2025/09/24 09:03
[syzbot] Monthly comedi report (Aug 2025) 0 (1) 2025/08/25 08:44
[syzbot] Monthly comedi report (Jul 2025) 0 (1) 2025/07/24 09:32
[syzbot] [kernel?] divide error in comedi_buf_write_free 0 (1) 2025/07/09 17:38
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 divide error in comedi_buf_write_free 2 1 114d 114d 0/3 auto-obsoleted due to no activity on 2025/10/17 05:29

Sample crash report:
Oops: divide error: 0000 [#1] SMP KASAN NOPTI
CPU: 0 UID: 0 PID: 28292 Comm: syz.0.6583 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025
RIP: 0010:comedi_buf_munge drivers/comedi/comedi_buf.c:347 [inline]
RIP: 0010:comedi_buf_write_free+0x3c8/0x7e0 drivers/comedi/comedi_buf.c:391
Code: 41 03 45 00 48 8b 4c 24 78 42 0f b6 0c 21 84 c9 4c 8b bc 24 90 00 00 00 44 8b 74 24 54 0f 85 02 01 00 00 31 d2 48 8b 4c 24 30 <f7> 31 41 89 55 00 48 8b 44 24 70 42 0f b6 04 20 84 c0 0f 85 09 01
RSP: 0018:ffffc90000007bd8 EFLAGS: 00010046
RAX: 0000000000000001 RBX: dffffc0000000000 RCX: ffff888056534680
RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff888024146000
RBP: 0000000000000002 R08: 0000000000000000 R09: 1ffff11004828c00
R10: dffffc0000000000 R11: ffffffff88b4faa0 R12: dffffc0000000000
R13: ffff888056534638 R14: 0000000000000000 R15: ffff888056534600
FS:  00007f2e99a1d6c0(0000) GS:ffff88812613e000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00002000000bd038 CR3: 000000005645a000 CR4: 0000000000350ef0
Call Trace:
 <IRQ>
 comedi_buf_write_samples+0x369/0x5a0 drivers/comedi/comedi_buf.c:602
 das16m1_handler+0x213/0x4b0 drivers/comedi/drivers/das16m1.c:413
 das16m1_interrupt+0xaf/0x180 drivers/comedi/drivers/das16m1.c:470
 __handle_irq_event_percpu+0x295/0xab0 kernel/irq/handle.c:203
 handle_irq_event_percpu kernel/irq/handle.c:240 [inline]
 handle_irq_event+0x8b/0x1e0 kernel/irq/handle.c:257
 handle_edge_irq+0x23b/0xa10 kernel/irq/chip.c:855
 generic_handle_irq_desc include/linux/irqdesc.h:173 [inline]
 handle_irq arch/x86/kernel/irq.c:254 [inline]
 call_irq_handler arch/x86/kernel/irq.c:-1 [inline]
 __common_interrupt+0x141/0x1f0 arch/x86/kernel/irq.c:325
 common_interrupt+0xb6/0xe0 arch/x86/kernel/irq.c:318
 </IRQ>
 <TASK>
 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:688
RIP: 0010:_copy_from_user+0x9b/0xb0 lib/usercopy.c:18
Code: d9 4c 89 fe f3 a4 0f 1f 00 49 89 cf 0f 01 ca 31 ff 48 89 ce e8 e6 97 36 fd 4d 85 ff 75 16 e8 fc 92 36 fd 45 31 ff 4c 89 f8 5b <41> 5e 41 5f e9 07 d0 86 fc cc e8 e6 92 36 fd eb 8d 0f 1f 40 00 90
RSP: 0018:ffffc90004497a28 EFLAGS: 00000246
RAX: 0000000000000000 RBX: ffffc90004497aa0 RCX: 0000000000080000
RDX: ffffc9001d856000 RSI: 000000000007ffff RDI: 0000000000080000
RBP: ffffc90004497c30 R08: ffffc90004497ad7 R09: 1ffff92000892f5a
R10: dffffc0000000000 R11: fffff52000892f5b R12: 0000000000000002
R13: dffffc0000000000 R14: ffffc90004497aa0 R15: 0000000000000000
 copy_from_user include/linux/uaccess.h:212 [inline]
 copy_msghdr_from_user net/socket.c:2560 [inline]
 recvmsg_copy_msghdr net/socket.c:2816 [inline]
 ___sys_recvmsg+0x12e/0x510 net/socket.c:2888
 do_recvmmsg+0x307/0x770 net/socket.c:2987
 __sys_recvmmsg net/socket.c:3061 [inline]
 __do_sys_recvmmsg net/socket.c:3084 [inline]
 __se_sys_recvmmsg net/socket.c:3077 [inline]
 __x64_sys_recvmmsg+0x190/0x240 net/socket.c:3077
 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:0x7f2e98b8efc9
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:00007f2e99a1d038 EFLAGS: 00000246 ORIG_RAX: 000000000000012b
RAX: ffffffffffffffda RBX: 00007f2e98de6090 RCX: 00007f2e98b8efc9
RDX: 0000000000010106 RSI: 00002000000000c0 RDI: 0000000000000007
RBP: 00007f2e98c11f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000002 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f2e98de6128 R14: 00007f2e98de6090 R15: 00007ffdae2504f8
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:comedi_buf_munge drivers/comedi/comedi_buf.c:347 [inline]
RIP: 0010:comedi_buf_write_free+0x3c8/0x7e0 drivers/comedi/comedi_buf.c:391
Code: 41 03 45 00 48 8b 4c 24 78 42 0f b6 0c 21 84 c9 4c 8b bc 24 90 00 00 00 44 8b 74 24 54 0f 85 02 01 00 00 31 d2 48 8b 4c 24 30 <f7> 31 41 89 55 00 48 8b 44 24 70 42 0f b6 04 20 84 c0 0f 85 09 01
RSP: 0018:ffffc90000007bd8 EFLAGS: 00010046
RAX: 0000000000000001 RBX: dffffc0000000000 RCX: ffff888056534680
RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff888024146000
RBP: 0000000000000002 R08: 0000000000000000 R09: 1ffff11004828c00
R10: dffffc0000000000 R11: ffffffff88b4faa0 R12: dffffc0000000000
R13: ffff888056534638 R14: 0000000000000000 R15: ffff888056534600
FS:  00007f2e99a1d6c0(0000) GS:ffff88812613e000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00002000000bd038 CR3: 000000005645a000 CR4: 0000000000350ef0
----------------
Code disassembly (best guess):
   0:	41 03 45 00          	add    0x0(%r13),%eax
   4:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
   9:	42 0f b6 0c 21       	movzbl (%rcx,%r12,1),%ecx
   e:	84 c9                	test   %cl,%cl
  10:	4c 8b bc 24 90 00 00 	mov    0x90(%rsp),%r15
  17:	00
  18:	44 8b 74 24 54       	mov    0x54(%rsp),%r14d
  1d:	0f 85 02 01 00 00    	jne    0x125
  23:	31 d2                	xor    %edx,%edx
  25:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
* 2a:	f7 31                	divl   (%rcx) <-- trapping instruction
  2c:	41 89 55 00          	mov    %edx,0x0(%r13)
  30:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
  35:	42 0f b6 04 20       	movzbl (%rax,%r12,1),%eax
  3a:	84 c0                	test   %al,%al
  3c:	0f                   	.byte 0xf
  3d:	85 09                	test   %ecx,(%rcx)
  3f:	01                   	.byte 0x1

Crashes (130):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/10/25 01:44 upstream 2e590d67c2d8 c0460fcd .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root divide error in comedi_buf_write_free
2025/10/24 23:42 upstream 2e590d67c2d8 c0460fcd .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root divide error in comedi_buf_write_free
2025/10/24 21:53 upstream 2e590d67c2d8 c0460fcd .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/20 02:25 upstream d9043c79ba68 1c8c8cd8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/19 05:15 upstream 1c64efcb083c 1c8c8cd8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/18 11:08 upstream cf1ea8854e4f 1c8c8cd8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/16 06:35 upstream 7ea30958b305 19568248 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/16 04:20 upstream 1f4a222b0e33 19568248 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/14 08:37 upstream 3a8660878839 b6605ba8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/14 03:25 upstream 3a8660878839 b6605ba8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/13 01:46 upstream 3a8660878839 ff1712fe .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root divide error in comedi_buf_write_free
2025/10/12 04:33 upstream 98906f9d850e ff1712fe .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root divide error in comedi_buf_write_free
2025/10/11 17:18 upstream 0739473694c4 ff1712fe .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/10 14:22 upstream 5472d60c129f ff1712fe .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/10 03:50 upstream 18a7e218cfcd 7e2882b3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/08 08:26 upstream 971199ad2a0f 7e2882b3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/08 08:18 upstream 971199ad2a0f 7e2882b3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/07 17:43 upstream c746c3b51698 8ef35d49 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/06 03:45 upstream 7a405dbb0f03 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/05 00:33 upstream d104e3d17f7b 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/04 16:42 upstream cbf33b8e0b36 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/03 21:25 upstream 9b0d551bcc05 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root divide error in comedi_buf_write_free
2025/10/03 09:38 upstream e406d57be7bd 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/03 09:38 upstream e406d57be7bd 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/02 15:32 upstream 7f7072574127 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root divide error in comedi_buf_write_free
2025/10/20 07:30 linux-next 606da5bb1655 1c8c8cd8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root divide error in comedi_buf_write_free
2025/10/18 21:25 linux-next 93f3bab4310d 1c8c8cd8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/15 14:28 linux-next 1fdbb3ff1233 19568248 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root divide error in comedi_buf_write_free
2025/10/12 14:25 linux-next 2b763d465239 ff1712fe .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/12 11:27 linux-next 2b763d465239 ff1712fe .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/08 11:38 linux-next 68842969e138 7e2882b3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/08 02:47 linux-next 68842969e138 7e2882b3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/07 23:19 linux-next 68842969e138 7e2882b3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root divide error in comedi_buf_write_free
2025/10/07 20:31 linux-next 68842969e138 8ef35d49 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root divide error in comedi_buf_write_free
2025/10/05 09:41 linux-next 47a8d4b89844 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/04 22:36 linux-next 47a8d4b89844 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/04 07:20 linux-next 47a8d4b89844 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/03 18:50 linux-next 47a8d4b89844 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/03 13:19 linux-next 47a8d4b89844 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/03 12:18 linux-next 3b9b1f8df454 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/03 10:39 linux-next 3b9b1f8df454 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/03 07:46 linux-next 3b9b1f8df454 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/10/01 09:47 linux-next 3b9b1f8df454 65a0eece .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/09/29 06:16 linux-next 262858079afd 001c9061 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/09/28 22:05 linux-next 262858079afd 001c9061 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/09/26 20:53 linux-next 262858079afd 0abd0691 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/09/23 03:00 linux-next 846bd2225ec3 0ac7291c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/09/22 22:24 linux-next 846bd2225ec3 0ac7291c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/09/22 14:35 linux-next 846bd2225ec3 0ac7291c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/09/22 09:21 linux-next 846bd2225ec3 67c37560 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/09/22 06:45 linux-next 846bd2225ec3 67c37560 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
2025/07/09 09:36 linux-next 58ba80c47402 abade794 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root divide error in comedi_buf_write_free
2025/07/09 04:56 linux-next 58ba80c47402 abade794 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce divide error in comedi_buf_write_free
* Struck through repros no longer work on HEAD.