syzbot


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

Status: moderation: reported on 2024/12/26 15:08
Subsystems: perf
[Documentation on labels]
Reported-by: syzbot+e5ee965be96aeb3bf530@syzkaller.appspotmail.com
First crash: 53d, last: 3d12h
Similar bugs (2)
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 262d 262d 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 121d 121d 0/28 auto-obsoleted due to no activity on 2024/11/23 12:41

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

write to 0xffff88811904e7d8 of 8 bytes by task 8929 on cpu 1:
 perf_event_update_time kernel/events/core.c:675 [inline]
 perf_event_set_state+0x175/0x3f0 kernel/events/core.c:694
 event_sched_out+0x2c8/0x4a0 kernel/events/core.c:2335
 group_sched_out kernel/events/core.c:2359 [inline]
 __pmu_ctx_sched_out+0x3aa/0x4e0 kernel/events/core.c:3339
 ctx_sched_out+0x267/0x2c0 kernel/events/core.c:3420
 task_ctx_sched_out kernel/events/core.c:2739 [inline]
 perf_event_context_sched_out kernel/events/core.c:3664 [inline]
 __perf_event_task_sched_out+0x438/0x1010 kernel/events/core.c:3763
 perf_event_task_sched_out include/linux/perf_event.h:1561 [inline]
 prepare_task_switch kernel/sched/core.c:5181 [inline]
 context_switch kernel/sched/core.c:5324 [inline]
 __schedule+0x957/0x990 kernel/sched/core.c:6764
 __schedule_loop kernel/sched/core.c:6841 [inline]
 schedule+0x55/0xc0 kernel/sched/core.c:6856
 futex_wait_queue kernel/futex/waitwake.c:369 [inline]
 __futex_wait+0x144/0x290 kernel/futex/waitwake.c:668
 futex_wait+0x99/0x1c0 kernel/futex/waitwake.c:696
 do_futex+0x276/0x370 kernel/futex/syscalls.c:102
 __do_sys_futex kernel/futex/syscalls.c:179 [inline]
 __se_sys_futex+0x25d/0x3a0 kernel/futex/syscalls.c:160
 __x64_sys_futex+0x78/0x90 kernel/futex/syscalls.c:160
 x64_sys_call+0x2d6a/0x2dc0 arch/x86/include/generated/asm/syscalls_64.h:203
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff88811904e7d8 of 8 bytes by task 8930 on cpu 0:
 __perf_event_read_value+0x84/0x1c0 kernel/events/core.c:5599
 perf_read_one kernel/events/core.c:5756 [inline]
 __perf_read kernel/events/core.c:5809 [inline]
 perf_read+0x174/0x4a0 kernel/events/core.c:5826
 loop_rw_iter+0x237/0x360
 io_iter_do_read io_uring/rw.c:773 [inline]
 __io_read+0xaa6/0xaf0 io_uring/rw.c:883
 io_read+0x1e/0x60 io_uring/rw.c:961
 io_issue_sqe+0x15f/0xb70 io_uring/io_uring.c:1737
 io_wq_submit_work+0x3eb/0x540 io_uring/io_uring.c:1846
 io_worker_handle_work+0x486/0x9d0 io_uring/io-wq.c:601
 io_wq_worker+0x286/0x820 io_uring/io-wq.c:655
 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

value changed: 0x000000000082a6f3 -> 0x000000000083111a

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 8930 Comm: iou-wrk-8929 Not tainted 6.14.0-rc2-syzkaller-00185-g128c8f96eb86 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
==================================================================

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/02/14 22:11 upstream 128c8f96eb86 1022af74 .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
2025/01/09 02:19 upstream 0b7958fa05d5 f3558dbf .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
2024/12/26 15:09 upstream 9b2ffa6148b1 d3ccff63 .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
2024/12/26 15:08 upstream 9b2ffa6148b1 d3ccff63 .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.