syzbot


KCSAN: data-race in data_push_tail / vsnprintf (9)

Status: moderation: reported on 2025/02/21 08:47
Subsystems: block
[Documentation on labels]
Reported-by: syzbot+504460beb7923d347fba@syzkaller.appspotmail.com
First crash: 173d, last: 3d05h
Similar bugs (8)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in data_push_tail / vsnprintf (6) ext4 23 414d 494d 0/28 auto-obsoleted due to no activity on 2024/03/31 12:46
upstream KCSAN: data-race in data_push_tail / vsnprintf (4) ext4 4 747d 835d 0/28 auto-obsoleted due to no activity on 2023/05/03 19:58
upstream KCSAN: data-race in data_push_tail / vsnprintf (3) kernel 8 958d 1057d 0/28 auto-closed as invalid on 2022/10/04 16:48
upstream KCSAN: data-race in data_push_tail / vsnprintf (7) block batman 2 341d 368d 0/28 auto-obsoleted due to no activity on 2024/06/13 03:32
upstream KCSAN: data-race in data_push_tail / vsnprintf (2) ext4 1 1115d 1115d 0/28 auto-closed as invalid on 2022/05/01 03:50
upstream KCSAN: data-race in data_push_tail / vsnprintf (5) block net 2 657d 685d 0/28 closed as invalid on 2023/06/28 10:46
upstream KCSAN: data-race in data_push_tail / vsnprintf (8) ext4 bridge 4 243d 281d 0/28 auto-obsoleted due to no activity on 2024/09/19 07:21
upstream KCSAN: data-race in data_push_tail / vsnprintf usb 36 1179d 1492d 0/28 auto-closed as invalid on 2022/02/26 00:52

Sample crash report:
netdevsim netdevsim3 eth0: set [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim3 eth1: set [1, 0] type 2 family 0 port 6081 - 0
==================================================================
BUG: KCSAN: data-race in data_push_tail / vsnprintf

write to 0xffffffff88e4348d of 1 bytes by task 21841 on cpu 0:
 vsnprintf+0x84d/0x8a0 lib/vsprintf.c:-1
 vscnprintf+0x42/0x90 lib/vsprintf.c:2917
 printk_sprint+0x30/0x2d0 kernel/printk/printk.c:2216
 vprintk_store+0x583/0x860 kernel/printk/printk.c:2336
 vprintk_emit+0x1a0/0x6c0 kernel/printk/printk.c:2426
 vprintk_default+0x26/0x30 kernel/printk/printk.c:2465
 vprintk+0x1d/0x30 kernel/printk/printk_safe.c:82
 _printk+0x7f/0xb0 kernel/printk/printk.c:2475
 addrconf_prefix_rcv+0x3c6/0xcd0 net/ipv6/addrconf.c:2806
 ndisc_router_discovery+0x139e/0x1c10 net/ipv6/ndisc.c:1570
 ndisc_rcv+0x2a1/0x3d0 net/ipv6/ndisc.c:1874
 icmpv6_rcv+0xde3/0x1260 net/ipv6/icmp.c:988
 ip6_protocol_deliver_rcu+0xb1e/0x10b0 net/ipv6/ip6_input.c:436
 ip6_input_finish net/ipv6/ip6_input.c:480 [inline]
 NF_HOOK include/linux/netfilter.h:314 [inline]
 ip6_input+0xc2/0x1b0 net/ipv6/ip6_input.c:491
 ip6_mc_input+0x34a/0x490 net/ipv6/ip6_input.c:588
 dst_input include/net/dst.h:469 [inline]
 ip6_rcv_finish+0x323/0x330 net/ipv6/ip6_input.c:79
 NF_HOOK include/linux/netfilter.h:314 [inline]
 ipv6_rcv+0x78/0x150 net/ipv6/ip6_input.c:309
 __netif_receive_skb_one_core net/core/dev.c:5885 [inline]
 __netif_receive_skb+0xa5/0x290 net/core/dev.c:5998
 netif_receive_skb_internal net/core/dev.c:6084 [inline]
 netif_receive_skb+0x4f/0x330 net/core/dev.c:6143
 tun_rx_batched+0x104/0x450 drivers/net/tun.c:1485
 tun_get_user+0x1e8d/0x2640 drivers/net/tun.c:1938
 tun_chr_write_iter+0x188/0x240 drivers/net/tun.c:1984
 new_sync_write fs/read_write.c:591 [inline]
 vfs_write+0x79b/0x950 fs/read_write.c:684
 ksys_write+0xeb/0x1b0 fs/read_write.c:736
 __do_sys_write fs/read_write.c:747 [inline]
 __se_sys_write fs/read_write.c:744 [inline]
 __x64_sys_write+0x42/0x50 fs/read_write.c:744
 x64_sys_call+0x2a45/0x2e10 arch/x86/include/generated/asm/syscalls_64.h:2
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffffffff88e43488 of 8 bytes by task 21654 on cpu 1:
 data_make_reusable kernel/printk/printk_ringbuffer.c:594 [inline]
 data_push_tail+0x107/0x440 kernel/printk/printk_ringbuffer.c:679
 data_alloc+0xbd/0x2c0 kernel/printk/printk_ringbuffer.c:1054
 prb_reserve+0x86a/0xb80 kernel/printk/printk_ringbuffer.c:1669
 vprintk_store+0x552/0x860 kernel/printk/printk.c:2326
 vprintk_emit+0x1a0/0x6c0 kernel/printk/printk.c:2426
 dev_vprintk_emit+0x24a/0x2a0 drivers/base/core.c:4891
 dev_printk_emit+0x84/0xb0 drivers/base/core.c:4902
 __netdev_printk+0x352/0x3e0 net/core/dev.c:12392
 netdev_info+0x9e/0xd0 net/core/dev.c:12447
 nsim_udp_tunnel_set_port+0x175/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+0x594/0xa00 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+0x68a/0x700 net/ipv4/udp_tunnel_nic.c:531
 udp_tunnel_nic_add_port include/net/udp_tunnel.h:350 [inline]
 udp_tunnel_push_rx_port+0xee/0x120 net/ipv4/udp_tunnel_core.c:96
 geneve_offload_rx_ports drivers/net/geneve.c:1185 [inline]
 geneve_netdevice_event+0x169/0x1c0 drivers/net/geneve.c:1929
 notifier_call_chain kernel/notifier.c:85 [inline]
 raw_notifier_call_chain+0x6f/0x1d0 kernel/notifier.c:453
 call_netdevice_notifiers_info+0xae/0x100 net/core/dev.c:2174
 call_netdevice_notifiers_extack net/core/dev.c:2212 [inline]
 call_netdevice_notifiers+0x4e/0x70 net/core/dev.c:2226
 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+0xa4a/0xc80 net/ipv4/udp_tunnel_nic.c:893
 notifier_call_chain kernel/notifier.c:85 [inline]
 raw_notifier_call_chain+0x6f/0x1d0 kernel/notifier.c:453
 call_netdevice_notifiers_info+0xae/0x100 net/core/dev.c:2174
 call_netdevice_notifiers_extack net/core/dev.c:2212 [inline]
 call_netdevice_notifiers net/core/dev.c:2226 [inline]
 register_netdevice+0xd13/0xee0 net/core/dev.c:11045
 nsim_init_netdevsim drivers/net/netdevsim/netdev.c:960 [inline]
 nsim_create+0x5a7/0x760 drivers/net/netdevsim/netdev.c:1028
 __nsim_dev_port_add+0x4aa/0x670 drivers/net/netdevsim/dev.c:1393
 nsim_dev_port_add_all drivers/net/netdevsim/dev.c:1449 [inline]
 nsim_dev_reload_create drivers/net/netdevsim/dev.c:1501 [inline]
 nsim_dev_reload_up+0x439/0x510 drivers/net/netdevsim/dev.c:988
 devlink_reload+0x326/0x5b0 net/devlink/dev.c:474
 devlink_nl_reload_doit+0x7b7/0x930 net/devlink/dev.c:584
 genl_family_rcv_msg_doit net/netlink/genetlink.c:1115 [inline]
 genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]
 genl_rcv_msg+0x69b/0x6f0 net/netlink/genetlink.c:1210
 netlink_rcv_skb+0x12f/0x230 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+0x605/0x6c0 net/netlink/af_netlink.c:1339
 netlink_sendmsg+0x609/0x720 net/netlink/af_netlink.c:1883
 sock_sendmsg_nosec net/socket.c:712 [inline]
 __sock_sendmsg+0x140/0x180 net/socket.c:727
 ____sys_sendmsg+0x350/0x4e0 net/socket.c:2566
 ___sys_sendmsg net/socket.c:2620 [inline]
 __sys_sendmsg+0x1a0/0x240 net/socket.c:2652
 __do_sys_sendmsg net/socket.c:2657 [inline]
 __se_sys_sendmsg net/socket.c:2655 [inline]
 __x64_sys_sendmsg+0x46/0x50 net/socket.c:2655
 x64_sys_call+0x26f3/0x2e10 arch/x86/include/generated/asm/syscalls_64.h:47
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000001000007fc -> 0x0000000a656d656d

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 21654 Comm: syz.3.6428 Not tainted 6.15.0-rc1-syzkaller-00288-ge618ee89561b #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
==================================================================
netdevsim netdevsim3 eth2: set [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim3 eth3: set [1, 0] type 2 family 0 port 6081 - 0

Crashes (18):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/04/12 03:18 upstream e618ee89561b 0bd6db41 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2025/04/05 22:46 upstream a8662bcd2ff1 1c65791e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2025/04/01 03:05 upstream 1e7857b28020 36d76a97 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2025/03/08 07:40 upstream 21e4543a2e2f 7e3bd60d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2025/02/07 10:10 upstream bb066fe812d6 53657d1b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2025/01/27 01:00 upstream c2da8b3f914f 9fbd772e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2025/01/26 09:58 upstream aa22f4da2a46 9fbd772e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2025/01/18 04:08 upstream 595523945be0 f2cb035c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2025/01/16 15:08 upstream 619f0b6fad52 f9e07a6e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2025/01/06 06:31 upstream 9244696b34f2 f3558dbf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2025/01/05 16:50 upstream ab75170520d4 f3558dbf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2024/12/25 13:59 upstream 9b2ffa6148b1 444551c4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2024/12/14 05:45 upstream 243f750a2df0 7cbfbb3a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2024/12/04 05:08 upstream ceb8bf2ceaa7 b50eb251 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2024/12/02 09:52 upstream f788b5ef1ca9 68914665 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2024/11/27 23:35 upstream 7d4050728c83 5df23865 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2024/11/23 17:30 upstream 06afb0f36106 68da6d95 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
2024/10/24 08:22 upstream c2ee9f594da8 15fa2979 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in data_push_tail / vsnprintf
* Struck through repros no longer work on HEAD.