syzbot


KCSAN: data-race in data_push_tail / symbol_string (12)

Status: moderation: reported on 2025/12/01 10:18
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+62a88c50f1c841e21c32@syzkaller.appspotmail.com
First crash: 51d, last: 20d
Similar bugs (11)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in data_push_tail / symbol_string (3) kernel 6 1 1422d 1422d 0/29 auto-closed as invalid on 2022/04/05 16:28
upstream KCSAN: data-race in data_push_tail / symbol_string (10) kernel 6 1 254d 254d 0/29 auto-obsoleted due to no activity on 2025/07/07 00:26
upstream KCSAN: data-race in data_push_tail / symbol_string (7) kernel 6 2 692d 695d 0/29 auto-obsoleted due to no activity on 2024/04/04 01:53
upstream KCSAN: data-race in data_push_tail / symbol_string kernel 6 1 1680d 1680d 0/29 auto-closed as invalid on 2021/07/21 00:16
upstream KCSAN: data-race in data_push_tail / symbol_string (9) kernel 6 1 356d 356d 0/29 auto-obsoleted due to no activity on 2025/03/27 22:14
upstream KCSAN: data-race in data_push_tail / symbol_string (6) kernel 6 1 789d 778d 0/29 auto-obsoleted due to no activity on 2023/12/29 16:49
upstream KCSAN: data-race in data_push_tail / symbol_string (5) kernel 6 4 831d 906d 0/29 auto-obsoleted due to no activity on 2023/11/17 08:46
upstream KCSAN: data-race in data_push_tail / symbol_string (4) kernel 6 2 1000d 1026d 0/29 auto-obsoleted due to no activity on 2023/06/01 14:03
upstream KCSAN: data-race in data_push_tail / symbol_string (11) kernel 6 1 151d 151d 0/29 auto-obsoleted due to no activity on 2025/10/18 10:19
upstream KCSAN: data-race in data_push_tail / symbol_string (8) kernel 6 1 416d 416d 0/29 auto-obsoleted due to no activity on 2025/01/26 20:37
upstream KCSAN: data-race in data_push_tail / symbol_string (2) kernel 6 1 1501d 1501d 0/29 auto-closed as invalid on 2022/01/16 12:11

Sample crash report:
BUG: KCSAN: data-race in data_push_tail / symbol_string

write to 0xffffffff88ebf420 of 1 bytes by task 5612 on cpu 0:
 string_nocheck lib/vsprintf.c:658 [inline]
 symbol_string+0x1ce/0x250 lib/vsprintf.c:1014
 pointer+0x60c/0xcb0 lib/vsprintf.c:2535
 vsnprintf+0x491/0x860 lib/vsprintf.c:2951
 vscnprintf+0x41/0x90 lib/vsprintf.c:3012
 printk_sprint+0x30/0x2d0 kernel/printk/printk.c:2192
 vprintk_store+0x568/0x830 kernel/printk/printk.c:2312
 vprintk_emit+0x15a/0x5c0 kernel/printk/printk.c:2402
 vprintk_default+0x26/0x30 kernel/printk/printk.c:2441
 vprintk+0x1d/0x30 kernel/printk/printk_safe.c:82
 _printk+0x79/0xa0 kernel/printk/printk.c:2451
 printk_stack_address arch/x86/kernel/dumpstack.c:70 [inline]
 __show_trace_log_lvl+0x4e3/0x560 arch/x86/kernel/dumpstack.c:282
 __dump_stack+0x1d/0x30 lib/dump_stack.c:94
 dump_stack_lvl+0x95/0xd0 lib/dump_stack.c:120
 dump_stack+0x15/0x1b lib/dump_stack.c:129
 fail_dump lib/fault-inject.c:73 [inline]
 should_fail_ex+0x265/0x280 lib/fault-inject.c:174
 should_failslab+0x8c/0xb0 mm/failslab.c:46
 slab_pre_alloc_hook mm/slub.c:4906 [inline]
 slab_alloc_node mm/slub.c:5239 [inline]
 kmem_cache_alloc_node_noprof+0x6b/0x4c0 mm/slub.c:5315
 __alloc_skb+0x2ff/0x4b0 net/core/skbuff.c:679
 alloc_skb include/linux/skbuff.h:1383 [inline]
 netlink_alloc_large_skb+0xbf/0xf0 net/netlink/af_netlink.c:1184
 netlink_sendmsg+0x3cf/0x6b0 net/netlink/af_netlink.c:1869
 sock_sendmsg_nosec net/socket.c:727 [inline]
 __sock_sendmsg+0x145/0x180 net/socket.c:742
 ____sys_sendmsg+0x31e/0x4a0 net/socket.c:2592
 ___sys_sendmsg+0x17b/0x1d0 net/socket.c:2646
 __sys_sendmsg net/socket.c:2678 [inline]
 __do_sys_sendmsg net/socket.c:2683 [inline]
 __se_sys_sendmsg net/socket.c:2681 [inline]
 __x64_sys_sendmsg+0xd4/0x160 net/socket.c:2681
 x64_sys_call+0x17ba/0x3000 arch/x86/include/generated/asm/syscalls_64.h:47
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xca/0x2b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffffffff88ebf420 of 8 bytes by task 5614 on cpu 1:
 data_make_reusable kernel/printk/printk_ringbuffer.c:608 [inline]
 data_push_tail+0x100/0x470 kernel/printk/printk_ringbuffer.c:693
 data_alloc+0x11b/0x390 kernel/printk/printk_ringbuffer.c:1089
 prb_reserve+0x8d7/0xad0 kernel/printk/printk_ringbuffer.c:1724
 vprintk_store+0x53c/0x830 kernel/printk/printk.c:2302
 vprintk_emit+0x15a/0x5c0 kernel/printk/printk.c:2402
 vprintk_deferred kernel/printk/printk.c:4676 [inline]
 _printk_deferred+0x82/0xb0 kernel/printk/printk.c:4685
 ___ratelimit+0x437/0x460 lib/ratelimit.c:86
 set_capacity_and_notify+0x11a/0x230 block/genhd.c:93
 loop_set_size+0x2e/0x70 drivers/block/loop.c:220
 loop_configure+0x828/0x9c0 drivers/block/loop.c:1080
 lo_ioctl+0x1e1/0x12b0 drivers/block/loop.c:1535
 blkdev_ioctl+0x37d/0x460 block/ioctl.c:792
 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+0x14b0/0x3000 arch/x86/include/generated/asm/syscalls_64.h:17
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xca/0x2b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000001000058e0 -> 0x2b6c766c5f6b6361

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 5614 Comm: syz.3.11709 Not tainted syzkaller #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
==================================================================
loop3: detected capacity change from 0 to 512
ext4 filesystem being mounted at /577/bus supports timestamps until 2038-01-19 (0x7fffffff)

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/01/01 12:41 upstream b69053dd3ffb d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / symbol_string
2025/12/01 10:17 upstream 7d0a66e4bb90 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / symbol_string
* Struck through repros no longer work on HEAD.