syzbot


KCSAN: data-race in io_waitid_complete / io_waitid_wait

Status: moderation: reported on 2025/12/11 18:05
Subsystems: io-uring
[Documentation on labels]
Reported-by: syzbot+eb441775f4f948a0902f@syzkaller.appspotmail.com
Fix commit: b994ace83a2b io_uring/waitid: fix KCSAN warning on io_waitid->head
Patched on: [ci-qemu-gce-upstream-auto ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-qemu2-riscv64 ci-snapshot-upstream-root ci-upstream-bpf-kasan-gce 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-rust-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce], missing on: [ci-qemu-native-arm64-kvm ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci2-upstream-usb]
First crash: 48d, last: 22d
Discussions (1)
Title Replies (including bot) Last reply
[PATCH] io_uring/waitid: fix KCSAN warning on io_waitid->head 1 (1) 2026/01/20 02:56

Sample crash report:
==================================================================
BUG: KCSAN: data-race in io_waitid_complete / io_waitid_wait

write to 0xffff88816980cf18 of 8 bytes by task 9975 on cpu 1:
 io_waitid_remove_wq io_uring/waitid.c:121 [inline]
 io_waitid_complete+0xdf/0x220 io_uring/waitid.c:138
 __io_waitid_cancel+0x50/0xa0 io_uring/waitid.c:162
 io_cancel_remove_all+0x266/0x2b0 io_uring/cancel.c:365
 io_waitid_remove_all+0x31/0x40 io_uring/waitid.c:176
 io_uring_try_cancel_requests+0x289/0x310 io_uring/cancel.c:555
 io_ring_exit_work+0x145/0x530 io_uring/io_uring.c:3010
 process_one_work kernel/workqueue.c:3257 [inline]
 process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3340
 worker_thread+0x582/0x770 kernel/workqueue.c:3421
 kthread+0x489/0x510 kernel/kthread.c:463
 ret_from_fork+0x149/0x290 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246

write to 0xffff88816980cf18 of 8 bytes by task 11341 on cpu 0:
 io_waitid_wait+0xb5/0x130 io_uring/waitid.c:249
 __wake_up_common kernel/sched/wait.c:108 [inline]
 __wake_up_common_lock kernel/sched/wait.c:125 [inline]
 __wake_up_sync_key+0x52/0x80 kernel/sched/wait.c:192
 __wake_up_parent+0x36/0x40 kernel/exit.c:1613
 do_notify_parent+0x4e8/0x560 kernel/signal.c:2260
 exit_notify kernel/exit.c:758 [inline]
 do_exit+0xbbc/0x1590 kernel/exit.c:983
 __do_sys_exit kernel/exit.c:1079 [inline]
 __se_sys_exit kernel/exit.c:1077 [inline]
 __x64_sys_exit+0x1f/0x20 kernel/exit.c:1077
 x64_sys_call+0x2fe7/0x3000 arch/x86/include/generated/asm/syscalls_64.h:61
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xca/0x2b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0xffff888104b08da0 -> 0x0000000000000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 11341 Comm: syz.6.2580 Tainted: G        W           syzkaller #0 PREEMPT(voluntary) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
==================================================================

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/01/07 04:06 upstream f0b9d8eb98df d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in io_waitid_complete / io_waitid_wait
2025/12/26 22:41 upstream 3f0e9c8cefa9 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in io_waitid_complete / io_waitid_wait
2025/12/26 14:38 upstream ccd1cdca5cd4 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in io_waitid_complete / io_waitid_wait
2025/12/18 18:38 upstream ea1013c15392 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in io_waitid_complete / io_waitid_wait
2025/12/16 11:05 upstream 40fbbd64bba6 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in io_waitid_complete / io_waitid_wait
2025/12/11 18:04 upstream d358e5254674 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in io_waitid_complete / io_waitid_wait
* Struck through repros no longer work on HEAD.