syzbot


KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog

Status: upstream: reported on 2026/01/26 23:50
Subsystems: perf
Labels: race:harmful
[Documentation on labels]
Reported-by: syzbot+2a077cb788749964cf68@syzkaller.appspotmail.com
First crash: 116d, last: 5d16h
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision Error
474c76d2-2f21-4ca6-98d5-c9375d409f63 assessment-kcsan Benign: ❌ Confident: ✅ KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog 2026/01/26 23:24 2026/01/26 23:24 2026/01/26 23:27 efb3e894dd7e30475c92970989c58e5aad3d5e7b
Duplicate bugs (1)
Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
KCSAN: data-race in __perf_event_overflow / perf_event_attach_bpf_prog (2) bpf trace 6 3 60d 131d 0/29 closed as dup on 2026/02/06 06:54
Discussions (4)
Title Replies (including bot) Last reply
[syzbot] Monthly perf report (May 2026) 0 (1) 2026/05/19 04:32
[PATCH] perf: Fix data race in perf_event_set_bpf_handler() 11 (11) 2026/02/24 12:29
[syzbot] Monthly perf report (Feb 2026) 0 (1) 2026/02/14 09:07
[syzbot] [perf?] KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog 0 (1) 2026/01/26 23:50

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog

write to 0xffff88811b4af428 of 8 bytes by task 3563 on cpu 0:
 perf_event_set_bpf_handler kernel/events/core.c:10681 [inline]
 __perf_event_set_bpf_prog+0x419/0x470 kernel/events/core.c:11667
 _perf_ioctl kernel/events/core.c:6662 [inline]
 perf_ioctl+0x928/0x15c0 kernel/events/core.c:6722
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:597 [inline]
 __se_sys_ioctl+0xce/0x140 fs/ioctl.c:583
 __x64_sys_ioctl+0x43/0x50 fs/ioctl.c:583
 x64_sys_call+0x1563/0x3020 arch/x86/include/generated/asm/syscalls_64.h:17
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x12c/0x3b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff88811b4af428 of 8 bytes by interrupt on cpu 1:
 __perf_event_overflow+0x252/0x920 kernel/events/core.c:10739
 perf_event_overflow kernel/events/core.c:10823 [inline]
 perf_swevent_hrtimer+0x28d/0x310 kernel/events/core.c:12234
 __run_hrtimer kernel/time/hrtimer.c:1930 [inline]
 __hrtimer_run_queues+0x276/0x4f0 kernel/time/hrtimer.c:1994
 hrtimer_interrupt+0x261/0x850 kernel/time/hrtimer.c:2113
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline]
 __sysvec_apic_timer_interrupt+0x5f/0x1c0 arch/x86/kernel/apic/apic.c:1067
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline]
 sysvec_apic_timer_interrupt+0x32/0x80 arch/x86/kernel/apic/apic.c:1061
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
 __preempt_count_dec_and_test arch/x86/include/asm/preempt.h:95 [inline]
 __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:188 [inline]
 _raw_spin_unlock_irq+0x12/0x30 kernel/locking/spinlock.c:206
 expire_timers kernel/time/timer.c:1798 [inline]
 __run_timers kernel/time/timer.c:2374 [inline]
 __run_timer_base+0x405/0x5f0 kernel/time/timer.c:2386
 run_timer_base kernel/time/timer.c:2395 [inline]
 run_timer_softirq+0x31/0x70 kernel/time/timer.c:2405
 handle_softirqs+0xb9/0x280 kernel/softirq.c:622
 __do_softirq kernel/softirq.c:656 [inline]
 invoke_softirq kernel/softirq.c:496 [inline]
 __irq_exit_rcu+0x42/0xd0 kernel/softirq.c:735
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline]
 sysvec_apic_timer_interrupt+0x74/0x80 arch/x86/kernel/apic/apic.c:1061
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
 __tsan_unaligned_write1+0x12/0x180 kernel/kcsan/core.c:1022
 mpage_write_folio fs/mpage.c:602 [inline]
 __mpage_writepages+0xa60/0x1390 fs/mpage.c:686
 mpage_writepages include/linux/mpage.h:27 [inline]
 fat_writepages+0x26/0x30 fs/fat/inode.c:200
 do_writepages+0x1c6/0x310 mm/page-writeback.c:2571
 filemap_writeback mm/filemap.c:388 [inline]
 filemap_fdatawrite_range mm/filemap.c:413 [inline]
 file_write_and_wait_range+0x178/0x2f0 mm/filemap.c:787
 mmb_fsync_noflush+0x48/0x140 fs/buffer.c:645
 fat_file_fsync+0x98/0x110 fs/fat/file.c:192
 vfs_fsync_range+0xc5/0xe0 fs/sync.c:186
 generic_write_sync include/linux/fs.h:2654 [inline]
 generic_file_write_iter+0x1ba/0x310 mm/filemap.c:4472
 iter_file_splice_write+0x6c4/0xa80 fs/splice.c:736
 do_splice_from fs/splice.c:936 [inline]
 direct_splice_actor+0x156/0x2a0 fs/splice.c:1159
 splice_direct_to_actor+0x311/0x670 fs/splice.c:1103
 do_splice_direct_actor fs/splice.c:1202 [inline]
 do_splice_direct+0x119/0x1a0 fs/splice.c:1228
 do_sendfile+0x382/0x650 fs/read_write.c:1372
 __do_sys_sendfile64 fs/read_write.c:1433 [inline]
 __se_sys_sendfile64 fs/read_write.c:1419 [inline]
 __x64_sys_sendfile64+0x105/0x150 fs/read_write.c:1419
 x64_sys_call+0x2dc4/0x3020 arch/x86/include/generated/asm/syscalls_64.h:41
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x12c/0x3b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000000000000000 -> 0xffffc900017c4000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 3538 Comm: syz.1.11 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026
==================================================================

Crashes (11):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/05/17 11:16 upstream 6916d5703ddf de5aae85 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
2026/03/29 13:23 upstream cbfffcca2bf0 b5ceaad2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
2026/03/24 08:33 upstream c369299895a5 baf8bf12 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
2026/03/02 09:07 upstream 39c633261414 43249bac .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
2026/02/26 14:04 upstream f4d0ec0aa20d ffa54287 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
2026/02/26 06:58 upstream d9d32e5bd5a4 e0f78d93 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
2026/02/25 19:09 upstream 7dff99b35460 94a9671e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
2026/02/19 09:22 upstream 956b9cbd7f15 746545b8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
2026/02/13 21:02 upstream cee73b1e840c 1e62d198 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
2026/02/11 09:56 upstream dc855b77719f 441e25b7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
2026/01/26 07:01 upstream 023777797472 55756628 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __perf_event_overflow / __perf_event_set_bpf_prog
* Struck through repros no longer work on HEAD.