syzbot


KCSAN: data-race in event_sched_out / perf_event_update_time (4)

Status: auto-obsoleted due to no activity on 2023/02/05 14:53
Subsystems: perf
[Documentation on labels]
First crash: 492d, last: 492d
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in event_sched_out / perf_event_update_time (2) perf 1 629d 629d 0/26 auto-closed as invalid on 2022/09/14 15:38
upstream KCSAN: data-race in event_sched_out / perf_event_update_time (3) perf 1 594d 594d 0/26 auto-obsoleted due to no activity on 2022/10/19 17:27
upstream KCSAN: data-race in event_sched_out / perf_event_update_time perf 2 718d 733d 0/26 auto-closed as invalid on 2022/06/17 20:49

Sample crash report:
==================================================================
BUG: KCSAN: data-race in event_sched_out / perf_event_update_time

read to 0xffff888176c47188 of 8 bytes by task 9134 on cpu 0:
 __perf_update_times kernel/events/core.c:633 [inline]
 perf_event_update_time+0x173/0x1c0 kernel/events/core.c:642
 perf_mmap+0xa48/0xc10 kernel/events/core.c:6557
 call_mmap include/linux/fs.h:2191 [inline]
 mmap_region+0x9bb/0x13b0 mm/mmap.c:2621
 do_mmap+0x66d/0xa40 mm/mmap.c:1411
 vm_mmap_pgoff+0x117/0x1f0 mm/util.c:520
 ksys_mmap_pgoff+0x265/0x320 mm/mmap.c:1457
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

write to 0xffff888176c47188 of 8 bytes by task 9119 on cpu 1:
 perf_event_update_time kernel/events/core.c:642 [inline]
 perf_event_set_state kernel/events/core.c:661 [inline]
 event_sched_out+0x5fd/0xa60 kernel/events/core.c:2258
 group_sched_out kernel/events/core.c:2280 [inline]
 __pmu_ctx_sched_out+0x417/0x560 kernel/events/core.c:3225
 ctx_sched_out+0x1d4/0x220 kernel/events/core.c:3289
 task_ctx_sched_out kernel/events/core.c:2626 [inline]
 perf_event_context_sched_out kernel/events/core.c:3528 [inline]
 __perf_event_task_sched_out+0x48d/0xff0 kernel/events/core.c:3627
 prepare_task_switch kernel/sched/core.c:5053 [inline]
 context_switch kernel/sched/core.c:5195 [inline]
 __schedule+0x475/0x6f0 kernel/sched/core.c:6555
 schedule+0x51/0x80 kernel/sched/core.c:6631
 rwsem_down_read_slowpath+0x2d5/0x5e0 kernel/locking/rwsem.c:1095
 __down_read_common kernel/locking/rwsem.c:1260 [inline]
 __down_read kernel/locking/rwsem.c:1269 [inline]
 down_read+0x41/0xb0 kernel/locking/rwsem.c:1511
 mmap_read_lock+0x14/0x40 include/linux/mmap_lock.h:117
 do_user_addr_fault+0x379/0x980 arch/x86/mm/fault.c:1379
 handle_page_fault arch/x86/mm/fault.c:1519 [inline]
 exc_page_fault+0x60/0x160 arch/x86/mm/fault.c:1575
 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:570
 copy_user_enhanced_fast_string+0xa/0x40 arch/x86/lib/copy_user_64.S:165
 copy_user_generic arch/x86/include/asm/uaccess_64.h:37 [inline]
 raw_copy_from_user arch/x86/include/asm/uaccess_64.h:52 [inline]
 copyin lib/iov_iter.c:183 [inline]
 _copy_from_iter+0x130/0x8e0 lib/iov_iter.c:634
 copy_from_iter include/linux/uio.h:187 [inline]
 copy_from_iter_full include/linux/uio.h:194 [inline]
 tipc_msg_build+0x2cd/0x8c0 net/tipc/msg.c:404
 __tipc_sendstream+0x6a2/0xb10 net/tipc/socket.c:1619
 tipc_sendstream+0x3a/0x50 net/tipc/socket.c:1550
 sock_sendmsg_nosec net/socket.c:714 [inline]
 sock_sendmsg net/socket.c:734 [inline]
 sock_write_iter+0x1b7/0x220 net/socket.c:1108
 call_write_iter include/linux/fs.h:2186 [inline]
 new_sync_write fs/read_write.c:491 [inline]
 vfs_write+0x468/0x760 fs/read_write.c:584
 ksys_write+0xe8/0x1a0 fs/read_write.c:637
 __do_sys_write fs/read_write.c:649 [inline]
 __se_sys_write fs/read_write.c:646 [inline]
 __x64_sys_write+0x3e/0x50 fs/read_write.c:646
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

value changed: 0x0000000000b68c17 -> 0x000000000113c737

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 9119 Comm: syz-executor.4 Tainted: G        W          6.1.0-syzkaller-14594-g72a85e2b0a1e-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/12/25 14:25 upstream 72a85e2b0a1e 9da18ae8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in event_sched_out / perf_event_update_time
* Struck through repros no longer work on HEAD.