Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 18115 Comm: syz.5.2973 Not tainted 6.16.0-rc6-next-20250718-syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/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 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: ffff888035c4ba80 RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff88804ec72000 RBP: 0000000000000002 R08: 0000000000000000 R09: 00000000000000ff R10: dffffc0000000000 R11: ffffffff88f35200 R12: dffffc0000000000 R13: ffff888035c4ba38 R14: 0000000000000000 R15: ffff888035c4ba00 FS: 0000000000000000(0000) GS:ffff8881257ab000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000054052000 CR4: 00000000003526f0 Call Trace: 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+0x28c/0x980 kernel/irq/handle.c:158 handle_irq_event_percpu kernel/irq/handle.c:193 [inline] handle_irq_event+0x8b/0x1e0 kernel/irq/handle.c:210 handle_edge_irq+0x267/0x9e0 kernel/irq/chip.c:797 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:266 [inline] __common_interrupt+0x143/0x250 arch/x86/kernel/irq.c:292 common_interrupt+0xb6/0xe0 arch/x86/kernel/irq.c:285 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 RIP: 0010:bytes_is_nonzero mm/kasan/generic.c:87 [inline] RIP: 0010:memory_is_nonzero mm/kasan/generic.c:104 [inline] RIP: 0010:memory_is_poisoned_n mm/kasan/generic.c:129 [inline] RIP: 0010:memory_is_poisoned mm/kasan/generic.c:161 [inline] RIP: 0010:check_region_inline mm/kasan/generic.c:180 [inline] RIP: 0010:kasan_check_range+0x9f/0x2c0 mm/kasan/generic.c:189 Code: 00 fc ff df 4d 8d 34 19 4d 89 f4 4d 29 dc 49 83 fc 10 7f 29 4d 85 e4 0f 84 41 01 00 00 4c 89 cb 48 f7 d3 4c 01 fb 41 80 3b 00 <0f> 85 de 01 00 00 49 ff c3 48 ff c3 75 ee e9 21 01 00 00 44 89 dd RSP: 0018:ffffc9001011f318 EFLAGS: 00000246 RAX: 1ffffffff33f3501 RBX: ffffffffffffffff RCX: ffffffff822e900b RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffff88801d549c88 RBP: ffff88801d549c40 R08: ffff88801d549c8b R09: 1ffff11003aa9391 R10: dffffc0000000000 R11: ffffed1003aa9391 R12: 0000000000000001 R13: 0000000000000001 R14: ffffed1003aa9392 R15: 1ffff11003aa9391 instrument_atomic_read include/linux/instrumented.h:68 [inline] atomic_read include/linux/atomic/atomic-instrumented.h:32 [inline] page_table_check_clear+0x2bb/0x700 mm/page_table_check.c:85 ptep_get_and_clear_full arch/x86/include/asm/jump_label.h:-1 [inline] get_and_clear_full_ptes include/linux/pgtable.h:725 [inline] zap_present_folio_ptes mm/memory.c:1505 [inline] zap_present_ptes mm/memory.c:1587 [inline] do_zap_pte_range mm/memory.c:1688 [inline] zap_pte_range mm/memory.c:1732 [inline] zap_pmd_range mm/memory.c:1824 [inline] zap_pud_range mm/memory.c:1853 [inline] zap_p4d_range mm/memory.c:1874 [inline] unmap_page_range+0x3445/0x4370 mm/memory.c:1895 unmap_single_vma mm/memory.c:1938 [inline] unmap_vmas+0x399/0x580 mm/memory.c:1982 exit_mmap+0x248/0xb50 mm/mmap.c:1280 __mmput+0x118/0x430 kernel/fork.c:1124 exit_mm+0x1da/0x2c0 kernel/exit.c:581 do_exit+0x648/0x2300 kernel/exit.c:947 do_group_exit+0x21c/0x2d0 kernel/exit.c:1100 get_signal+0x1286/0x1340 kernel/signal.c:3034 arch_do_signal_or_restart+0x9a/0x750 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop+0x75/0x110 kernel/entry/common.c:40 exit_to_user_mode_prepare include/linux/irq-entry-common.h:208 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline] do_syscall_64+0x2bd/0x3b0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f855cb8e9a9 Code: Unable to access opcode bytes at 0x7f855cb8e97f. RSP: 002b:00007f855d9a2038 EFLAGS: 00000246 ORIG_RAX: 0000000000000028 RAX: 0000000000ae0000 RBX: 00007f855cdb5fa0 RCX: 00007f855cb8e9a9 RDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000004 RBP: 00007f855cc10d69 R08: 0000000000000000 R09: 0000000000000000 R10: 000000007ffff000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f855cdb5fa0 R15: 00007ffcf8ba1748 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 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: ffff888035c4ba80 RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff88804ec72000 RBP: 0000000000000002 R08: 0000000000000000 R09: 00000000000000ff R10: dffffc0000000000 R11: ffffffff88f35200 R12: dffffc0000000000 R13: ffff888035c4ba38 R14: 0000000000000000 R15: ffff888035c4ba00 FS: 0000000000000000(0000) GS:ffff8881257ab000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000054052000 CR4: 00000000003526f0 ---------------- 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