KCSAN: data-race in ring_buffer_poll_wait / ring_buffer_unlock_commit

Status: moderation: reported on 2026/08/15 02:24
Subsystems: trace
Labels: race:benign prio:low
[Documentation on labels]
Reported-by: syzbot+53ab168fdda7fba508ba@syzkaller.appspotmail.com
First crash: 32d, last: 16d
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
751a51b3 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ KCSAN: data-race in ring_buffer_poll_wait / ring_buffer_unlock_commit 2026/08/17 03:07 2026/08/17 03:07 2026/08/17 03:51 746171ee
d03851cc assessment-kcsan Benign: ✅ KCSAN: data-race in ring_buffer_poll_wait / ring_buffer_unlock_commit 2026/08/15 02:23 2026/08/15 02:23 2026/08/15 02:50 746171ee

Sample crash report:
==================================================================
BUG: KCSAN: data-race in ring_buffer_poll_wait / ring_buffer_unlock_commit

write to 0xffff888100074cb4 of 1 bytes by task 32036 on cpu 1:
 ring_buffer_poll_wait+0x14e/0x200 kernel/trace/ring_buffer.c:1140
 trace_poll kernel/trace/trace.c:5325 [inline]
 tracing_poll_pipe+0xf7/0x120 kernel/trace/trace.c:5334
 vfs_poll include/linux/poll.h:82 [inline]
 select_poll_one fs/select.c:480 [inline]
 do_select+0x94a/0xfa0 fs/select.c:536
 core_sys_select+0x453/0x730 fs/select.c:677
 do_pselect fs/select.c:770 [inline]
 __do_sys_pselect6 fs/select.c:809 [inline]
 __se_sys_pselect6+0x23f/0x2a0 fs/select.c:800
 __x64_sys_pselect6+0x78/0x90 fs/select.c:800
 x64_sys_call+0x1dfc/0x2550 arch/x86/include/generated/asm/syscalls_64.h:271
 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
 do_syscall_64+0x112/0x360 arch/x86/entry/syscall_64.c:84
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888100074cb4 of 1 bytes by task 32042 on cpu 0:
 rb_wakeups kernel/trace/ring_buffer.c:4349 [inline]
 ring_buffer_unlock_commit+0x57/0x450 kernel/trace/ring_buffer.c:4550
 __buffer_unlock_commit kernel/trace/trace.h:1697 [inline]
 trace_buffer_unlock_commit_regs+0x43/0x310 kernel/trace/trace.c:2049
 trace_event_buffer_commit+0x149/0x590 kernel/trace/trace.c:2024
 do_trace_event_raw_event_memcg_rstat_stats include/trace/events/memcg.h:12 [inline]
 trace_event_raw_event_memcg_rstat_stats+0xd2/0x130 include/trace/events/memcg.h:12
 __do_trace_mod_memcg_lruvec_state include/trace/events/memcg.h:41 [inline]
 trace_mod_memcg_lruvec_state include/trace/events/memcg.h:41 [inline]
 __mod_memcg_lruvec_state+0x292/0x2a0 mm/memcontrol.c:977
 mod_memcg_lruvec_state mm/memcontrol.c:995 [inline]
 mod_lruvec_state+0x107/0x120 mm/memcontrol.c:1018
 lruvec_stat_mod_folio+0xeb/0x130 mm/memcontrol.c:1038
 __folio_mod_stat mm/rmap.c:1342 [inline]
 __folio_remove_rmap mm/rmap.c:1879 [inline]
 folio_remove_rmap_ptes+0x129/0x190 mm/rmap.c:1906
 zap_present_folio_ptes mm/memory.c:1803 [inline]
 zap_present_ptes mm/memory.c:1861 [inline]
 do_zap_pte_range mm/memory.c:1963 [inline]
 zap_pte_range mm/memory.c:2065 [inline]
 zap_pmd_range mm/memory.c:2151 [inline]
 zap_pud_range mm/memory.c:2179 [inline]
 zap_p4d_range mm/memory.c:2200 [inline]
 __zap_vma_range+0x14ff/0x2ce0 mm/memory.c:2240
 unmap_vmas+0x200/0x310 mm/memory.c:2309
 exit_mmap+0x1a2/0x5e0 mm/mmap.c:1315
 __mmput+0x28/0x1c0 kernel/fork.c:1193
 mmput+0x40/0x50 kernel/fork.c:1216
 exit_mm+0x113/0x1a0 kernel/exit.c:614
 do_exit+0x438/0x1510 kernel/exit.c:996
 do_group_exit+0xfe/0x140 kernel/exit.c:1151
 get_signal+0xe07/0xf10 kernel/signal.c:3039
 arch_do_signal_or_restart+0x96/0x480 arch/x86/kernel/signal.c:337
 __exit_to_user_mode_loop kernel/entry/common.c:66 [inline]
 exit_to_user_mode_loop+0x15d/0x8c0 kernel/entry/common.c:101
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
 syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:336 [inline]
 do_syscall_64+0x212/0x360 arch/x86/entry/syscall_64.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00 -> 0x01

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 32042 Comm: syz.3.7522 Not tainted syzkaller #0 PREEMPT(lazy) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/30 09:18 upstream 08dbfad3f504 2f52988a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ring_buffer_poll_wait / ring_buffer_unlock_commit
2026/08/19 20:45 upstream e8bf40d15402 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ring_buffer_poll_wait / ring_buffer_unlock_commit
2026/08/15 02:23 upstream dac3e89a2c90 746171ee .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ring_buffer_poll_wait / ring_buffer_unlock_commit
* Struck through repros no longer work on HEAD.