syzbot


KCSAN: data-race in __change_pid / perf_event_switch_output (3)

Status: auto-obsoleted due to no activity on 2024/09/07 09:20
Subsystems: perf
[Documentation on labels]
Reported-by: syzbot+65d90f9acacd94ee4e60@syzkaller.appspotmail.com
First crash: 40d, last: 40d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __change_pid / perf_event_switch_output (2) perf 1 112d 112d 0/27 auto-obsoleted due to no activity on 2024/06/27 05:34
upstream KCSAN: data-race in __change_pid / perf_event_switch_output perf 1 166d 166d 0/27 auto-obsoleted due to no activity on 2024/05/04 07:21

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __change_pid / perf_event_switch_output

write to 0xffff88810429e8e8 of 8 bytes by task 12704 on cpu 1:
 __change_pid+0xe9/0x1c0 kernel/pid.c:356
 detach_pid+0x1c/0x30 kernel/pid.c:372
 __unhash_process kernel/exit.c:129 [inline]
 __exit_signal kernel/exit.c:201 [inline]
 release_task+0x6c3/0xc10 kernel/exit.c:258
 wait_task_zombie kernel/exit.c:1193 [inline]
 wait_consider_task+0x116b/0x1670 kernel/exit.c:1420
 do_wait_thread kernel/exit.c:1483 [inline]
 __do_wait+0x100/0x500 kernel/exit.c:1601
 do_wait+0xaf/0x270 kernel/exit.c:1635
 kernel_wait4+0x164/0x1d0 kernel/exit.c:1794
 __do_sys_wait4 kernel/exit.c:1822 [inline]
 __se_sys_wait4 kernel/exit.c:1818 [inline]
 __x64_sys_wait4+0x94/0x120 kernel/exit.c:1818
 x64_sys_call+0x2529/0x2d60 arch/x86/include/generated/asm/syscalls_64.h:62
 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 0xffff88810429e8e8 of 8 bytes by task 13142 on cpu 0:
 pid_alive include/linux/pid.h:263 [inline]
 perf_event_pid_type kernel/events/core.c:1334 [inline]
 perf_event_tid kernel/events/core.c:1346 [inline]
 perf_event_switch_output+0x228/0x390 kernel/events/core.c:9102
 perf_iterate_sb_cpu kernel/events/core.c:8042 [inline]
 perf_iterate_sb+0x34b/0x640 kernel/events/core.c:8071
 perf_event_switch kernel/events/core.c:9147 [inline]
 __perf_event_task_sched_in+0x789/0x7f0 kernel/events/core.c:4004
 perf_event_task_sched_in include/linux/perf_event.h:1468 [inline]
 finish_task_switch+0x218/0x2b0 kernel/sched/core.c:5057
 context_switch kernel/sched/core.c:5191 [inline]
 __schedule+0x5fa/0x950 kernel/sched/core.c:6529
 __schedule_loop kernel/sched/core.c:6606 [inline]
 schedule+0x55/0xc0 kernel/sched/core.c:6621
 do_nanosleep+0xa3/0x300 kernel/time/hrtimer.c:2030
 hrtimer_nanosleep+0xe8/0x1e0 kernel/time/hrtimer.c:2083
 common_nsleep+0x68/0x90 kernel/time/posix-timers.c:1350
 __do_sys_clock_nanosleep kernel/time/posix-timers.c:1396 [inline]
 __se_sys_clock_nanosleep+0x20a/0x240 kernel/time/posix-timers.c:1373
 __x64_sys_clock_nanosleep+0x55/0x70 kernel/time/posix-timers.c:1373
 x64_sys_call+0x253f/0x2d60 arch/x86/include/generated/asm/syscalls_64.h:231
 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

value changed: 0xffff888100f2b900 -> 0x0000000000000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 13142 Comm: syz-executor Not tainted 6.11.0-rc1-syzkaller-00256-g1c4246294c98 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/08/03 09:19 upstream 1c4246294c98 1786a2a8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __change_pid / perf_event_switch_output
* Struck through repros no longer work on HEAD.