syzbot


KCSAN: data-race in __perf_event_read_value / perf_event_set_state (4)

Status: moderation: reported on 2025/05/22 00:50
Subsystems: perf
[Documentation on labels]
Reported-by: syzbot+78cf826e0f81c828caf7@syzkaller.appspotmail.com
First crash: 3d03h, last: 3d03h
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __perf_event_read_value / perf_event_set_state perf 1 357d 357d 0/28 auto-obsoleted due to no activity on 2024/07/06 04:07
upstream KCSAN: data-race in __perf_event_read_value / perf_event_set_state (2) perf 1 217d 217d 0/28 auto-obsoleted due to no activity on 2024/11/23 12:41
upstream KCSAN: data-race in __perf_event_read_value / perf_event_set_state (3) perf 4 99d 149d 0/28 auto-obsoleted due to no activity on 2025/04/11 22:12

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __perf_event_read_value / perf_event_set_state

write to 0xffff888119aa1628 of 8 bytes by task 10255 on cpu 0:
 __perf_update_times kernel/events/core.c:-1 [inline]
 perf_event_update_time kernel/events/core.c:721 [inline]
 perf_event_set_state+0x195/0x440 kernel/events/core.c:740
 event_sched_in+0xee/0x6f0 kernel/events/core.c:2652
 group_sched_in kernel/events/core.c:2701 [inline]
 merge_sched_in+0x258/0xa60 kernel/events/core.c:3935
 visit_groups_merge+0x9db/0xfd0 kernel/events/core.c:3880
 pmu_groups_sched_in kernel/events/core.c:3966 [inline]
 __pmu_ctx_sched_in+0x8a/0xb0 kernel/events/core.c:-1
 ctx_sched_in+0x325/0x370 kernel/events/core.c:4029
 perf_event_sched_in kernel/events/core.c:-1 [inline]
 perf_event_context_sched_in kernel/events/core.c:4076 [inline]
 __perf_event_task_sched_in+0x660/0xaa0 kernel/events/core.c:4105
 perf_event_task_sched_in include/linux/perf_event.h:1572 [inline]
 finish_task_switch+0x21a/0x2b0 kernel/sched/core.c:5245
 context_switch kernel/sched/core.c:5385 [inline]
 __schedule+0x6a2/0xb20 kernel/sched/core.c:6767
 __schedule_loop kernel/sched/core.c:6845 [inline]
 schedule+0x5f/0xd0 kernel/sched/core.c:6860
 futex_wait_queue+0xa8/0x110 kernel/futex/waitwake.c:369
 __futex_wait+0xb4/0x1b0 kernel/futex/waitwake.c:668
 futex_wait+0x9d/0x1d0 kernel/futex/waitwake.c:696
 do_futex+0x2bf/0x380 kernel/futex/syscalls.c:102
 __do_sys_futex kernel/futex/syscalls.c:179 [inline]
 __se_sys_futex+0x2ed/0x360 kernel/futex/syscalls.c:160
 __x64_sys_futex+0x78/0x90 kernel/futex/syscalls.c:160
 x64_sys_call+0x1331/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:203
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888119aa1628 of 8 bytes by task 10265 on cpu 1:
 __perf_event_read_value+0x82/0x1d0 kernel/events/core.c:5832
 perf_read_one kernel/events/core.c:5989 [inline]
 __perf_read kernel/events/core.c:6042 [inline]
 perf_read+0x173/0x4d0 kernel/events/core.c:6059
 loop_rw_iter+0x2c6/0x3f0 io_uring/rw.c:-1
 io_iter_do_read io_uring/rw.c:826 [inline]
 __io_read+0xbc2/0xc10 io_uring/rw.c:937
 io_read+0x1c/0x60 io_uring/rw.c:1016
 __io_issue_sqe+0xfe/0x2e0 io_uring/io_uring.c:1734
 io_issue_sqe+0x53/0x970 io_uring/io_uring.c:1757
 io_wq_submit_work+0x3f7/0x5f0 io_uring/io_uring.c:1869
 io_worker_handle_work+0x46a/0x9f0 io_uring/io-wq.c:615
 io_wq_worker+0x22e/0x870 io_uring/io-wq.c:669
 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:153
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

value changed: 0x00000000069e4b57 -> 0x00000000069ed343

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 10265 Comm: iou-wrk-10255 Not tainted 6.15.0-rc7-syzkaller-00007-g4a95bc121ccd #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/22 00:49 upstream 4a95bc121ccd dc5d3808 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_read_value / perf_event_set_state
* Struck through repros no longer work on HEAD.