syzbot


KCSAN: data-race in _prb_read_valid / prb_reserve_in_last

Status: moderation: reported on 2025/05/13 22:50
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+e5150f7a4fcbf3fffca0@syzkaller.appspotmail.com
First crash: 3d07h, last: 3d07h

Sample crash report:
==================================================================
BUG: KCSAN: data-race in _prb_read_valid / prb_reserve_in_last

write to 0xffffffff86877d10 of 8 bytes by task 4561 on cpu 0:
 data_realloc kernel/printk/printk_ringbuffer.c:1177 [inline]
 prb_reserve_in_last+0x861/0xb80 kernel/printk/printk_ringbuffer.c:1440
 vprintk_store+0x494/0x860 kernel/printk/printk.c:2300
 vprintk_emit+0x178/0x650 kernel/printk/printk.c:2426
 vprintk_default+0x26/0x30 kernel/printk/printk.c:2465
 vprintk+0x1d/0x30 kernel/printk/printk_safe.c:82
 _printk+0x79/0xa0 kernel/printk/printk.c:2475
 show_free_areas mm/show_mem.c:382 [inline]
 __show_mem+0x1132/0x14e0 mm/show_mem.c:407
 warn_alloc_show_mem mm/page_alloc.c:3738 [inline]
 warn_alloc+0x189/0x1a0 mm/page_alloc.c:3763
 __vmalloc_node_range_noprof+0x28e/0xdf0 mm/vmalloc.c:3810
 __vmalloc_node_noprof mm/vmalloc.c:3908 [inline]
 __vmalloc_noprof+0x5f/0x70 mm/vmalloc.c:3922
 bpf_prog_alloc_no_stats+0x47/0x390 kernel/bpf/core.c:104
 bpf_prog_alloc+0x3c/0x150 kernel/bpf/core.c:146
 bpf_prog_load+0x514/0x1070 kernel/bpf/syscall.c:2881
 __sys_bpf+0x51d/0x790 kernel/bpf/syscall.c:5834
 __do_sys_bpf kernel/bpf/syscall.c:5941 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:5939 [inline]
 __x64_sys_bpf+0x41/0x50 kernel/bpf/syscall.c:5939
 x64_sys_call+0x2478/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:322
 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 0xffffffff86877d08 of 16 bytes by task 2996 on cpu 1:
 desc_read kernel/printk/printk_ringbuffer.c:482 [inline]
 desc_read_finalized_seq kernel/printk/printk_ringbuffer.c:1874 [inline]
 prb_read kernel/printk/printk_ringbuffer.c:1922 [inline]
 _prb_read_valid+0x1bc/0x920 kernel/printk/printk_ringbuffer.c:2113
 prb_read_valid+0x3c/0x60 kernel/printk/printk_ringbuffer.c:2185
 syslog_print+0x146/0x540 kernel/printk/printk.c:1633
 do_syslog+0x52b/0x7e0 kernel/printk/printk.c:1785
 __do_sys_syslog kernel/printk/printk.c:1877 [inline]
 __se_sys_syslog kernel/printk/printk.c:1875 [inline]
 __x64_sys_syslog+0x41/0x50 kernel/printk/printk.c:1875
 x64_sys_call+0x2ea0/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:104
 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

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 2996 Comm: klogd Not tainted 6.15.0-rc6-syzkaller-00051-g405e6c37c89e #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
==================================================================

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