syzbot


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

Status: moderation: reported on 2025/05/12 00:27
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+7b6ee5c43a6b8cc3988c@syzkaller.appspotmail.com
First crash: 18h45m, last: 18h45m
Similar bugs (9)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in data_push_tail / symbol_string (3) kernel 1 1168d 1168d 0/28 auto-closed as invalid on 2022/04/05 16:28
upstream KCSAN: data-race in data_push_tail / symbol_string (7) kernel 2 438d 441d 0/28 auto-obsoleted due to no activity on 2024/04/04 01:53
upstream KCSAN: data-race in data_push_tail / symbol_string kernel 1 1426d 1426d 0/28 auto-closed as invalid on 2021/07/21 00:16
upstream KCSAN: data-race in data_push_tail / symbol_string (9) kernel 1 101d 101d 0/28 auto-obsoleted due to no activity on 2025/03/27 22:14
upstream KCSAN: data-race in data_push_tail / symbol_string (6) kernel 1 535d 524d 0/28 auto-obsoleted due to no activity on 2023/12/29 16:49
upstream KCSAN: data-race in data_push_tail / symbol_string (5) kernel 4 577d 652d 0/28 auto-obsoleted due to no activity on 2023/11/17 08:46
upstream KCSAN: data-race in data_push_tail / symbol_string (4) kernel 2 746d 772d 0/28 auto-obsoleted due to no activity on 2023/06/01 14:03
upstream KCSAN: data-race in data_push_tail / symbol_string (8) kernel 1 161d 161d 0/28 auto-obsoleted due to no activity on 2025/01/26 20:37
upstream KCSAN: data-race in data_push_tail / symbol_string (2) kernel 1 1247d 1247d 0/28 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 0xffffffff88e348e0 of 1 bytes by task 18161 on cpu 0:
 string_nocheck lib/vsprintf.c:643 [inline]
 symbol_string+0x1ce/0x250 lib/vsprintf.c:999
 pointer+0x60c/0xcf0 lib/vsprintf.c:2441
 vsnprintf+0x491/0x890 lib/vsprintf.c:2856
 vscnprintf+0x41/0x90 lib/vsprintf.c:2917
 printk_sprint+0x30/0x2d0 kernel/printk/printk.c:2216
 vprintk_store+0x599/0x860 kernel/printk/printk.c:2336
 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
 printk_stack_address arch/x86/kernel/dumpstack.c:72 [inline]
 show_trace_log_lvl+0x4e3/0x560 arch/x86/kernel/dumpstack.c:284
 __dump_stack+0x1d/0x30 lib/dump_stack.c:94
 dump_stack_lvl+0xe8/0x140 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_fail+0xb/0x20 lib/fault-inject.c:184
 should_fail_usercopy+0x1a/0x20 lib/fault-inject-usercopy.c:37
 strncpy_from_user+0x25/0x230 lib/strncpy_from_user.c:118
 getname_flags+0xae/0x3b0 fs/namei.c:157
 getname include/linux/fs.h:2852 [inline]
 __do_sys_mknod fs/namei.c:4311 [inline]
 __se_sys_mknod fs/namei.c:4309 [inline]
 __x64_sys_mknod+0x40/0x60 fs/namei.c:4309
 x64_sys_call+0x181c/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:134
 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 0xffffffff88e348e0 of 8 bytes by task 17738 on cpu 1:
 data_make_reusable kernel/printk/printk_ringbuffer.c:594 [inline]
 data_push_tail+0xfd/0x420 kernel/printk/printk_ringbuffer.c:679
 data_alloc+0xbf/0x2b0 kernel/printk/printk_ringbuffer.c:1054
 prb_reserve+0x808/0xaf0 kernel/printk/printk_ringbuffer.c:1669
 vprintk_store+0x56d/0x860 kernel/printk/printk.c:2326
 vprintk_emit+0x178/0x650 kernel/printk/printk.c:2426
 dev_vprintk_emit+0x242/0x2a0 drivers/base/core.c:4917
 dev_printk_emit+0x84/0xb0 drivers/base/core.c:4928
 __netdev_printk+0x35c/0x3e0 net/core/dev.c:12393
 netdev_info+0x9b/0xd0 net/core/dev.c:12448
 nsim_udp_tunnel_set_port+0x171/0x190 drivers/net/netdevsim/udp_tunnels.c:34
 udp_tunnel_nic_device_sync_one net/ipv4/udp_tunnel_nic.c:-1 [inline]
 udp_tunnel_nic_device_sync_by_port net/ipv4/udp_tunnel_nic.c:246 [inline]
 __udp_tunnel_nic_device_sync+0x564/0x9c0 net/ipv4/udp_tunnel_nic.c:289
 udp_tunnel_nic_device_sync net/ipv4/udp_tunnel_nic.c:312 [inline]
 __udp_tunnel_nic_add_port+0x6a9/0x720 net/ipv4/udp_tunnel_nic.c:531
 udp_tunnel_nic_add_port include/net/udp_tunnel.h:350 [inline]
 udp_tunnel_push_rx_port+0xe9/0x120 net/ipv4/udp_tunnel_core.c:96
 geneve_offload_rx_ports drivers/net/geneve.c:1185 [inline]
 geneve_netdevice_event+0x173/0x1b0 drivers/net/geneve.c:1929
 notifier_call_chain kernel/notifier.c:85 [inline]
 raw_notifier_call_chain+0x6c/0x1b0 kernel/notifier.c:453
 call_netdevice_notifiers_info+0xae/0x100 net/core/dev.c:2176
 call_netdevice_notifiers_extack net/core/dev.c:2214 [inline]
 call_netdevice_notifiers+0x48/0x70 net/core/dev.c:2228
 udp_tunnel_get_rx_info include/net/udp_tunnel.h:138 [inline]
 udp_tunnel_nic_register net/ipv4/udp_tunnel_nic.c:825 [inline]
 udp_tunnel_nic_netdevice_event+0xa54/0xc90 net/ipv4/udp_tunnel_nic.c:893
 notifier_call_chain kernel/notifier.c:85 [inline]
 raw_notifier_call_chain+0x6c/0x1b0 kernel/notifier.c:453
 call_netdevice_notifiers_info+0xae/0x100 net/core/dev.c:2176
 call_netdevice_notifiers_extack net/core/dev.c:2214 [inline]
 call_netdevice_notifiers net/core/dev.c:2228 [inline]
 register_netdevice+0xd48/0xf10 net/core/dev.c:11035
 nsim_init_netdevsim drivers/net/netdevsim/netdev.c:960 [inline]
 nsim_create+0x5b7/0x780 drivers/net/netdevsim/netdev.c:1028
 __nsim_dev_port_add+0x477/0x640 drivers/net/netdevsim/dev.c:1393
 nsim_dev_port_add_all+0x31/0xc0 drivers/net/netdevsim/dev.c:1449
 nsim_dev_reload_create drivers/net/netdevsim/dev.c:1501 [inline]
 nsim_dev_reload_up+0x30c/0x480 drivers/net/netdevsim/dev.c:988
 devlink_reload+0x318/0x580 net/devlink/dev.c:474
 devlink_nl_reload_doit+0x772/0x8f0 net/devlink/dev.c:584
 genl_family_rcv_msg_doit+0x140/0x1b0 net/netlink/genetlink.c:1115
 genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]
 genl_rcv_msg+0x422/0x460 net/netlink/genetlink.c:1210
 netlink_rcv_skb+0x120/0x220 net/netlink/af_netlink.c:2534
 genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219
 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
 netlink_unicast+0x59e/0x670 net/netlink/af_netlink.c:1339
 netlink_sendmsg+0x58b/0x6b0 net/netlink/af_netlink.c:1883
 sock_sendmsg_nosec net/socket.c:712 [inline]
 __sock_sendmsg+0x142/0x180 net/socket.c:727
 ____sys_sendmsg+0x31e/0x4e0 net/socket.c:2566
 ___sys_sendmsg+0x17b/0x1d0 net/socket.c:2620
 __sys_sendmsg net/socket.c:2652 [inline]
 __do_sys_sendmsg net/socket.c:2657 [inline]
 __se_sys_sendmsg net/socket.c:2655 [inline]
 __x64_sys_sendmsg+0xd4/0x160 net/socket.c:2655
 x64_sys_call+0x2999/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:47
 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

value changed: 0x00000000fffff5bb -> 0x00000000ff000a30

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 17738 Comm: syz.5.2763 Not tainted 6.15.0-rc5-syzkaller-00353-gcd802e7e5f1e #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/12 00:26 upstream cd802e7e5f1e 77908e5f .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.