syzbot


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

Status: moderation: reported on 2025/01/30 22:14
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+d86786317853c63477d7@syzkaller.appspotmail.com
First crash: 5d08h, last: 5d08h
Similar bugs (8)
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 1071d 1071d 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 342d 344d 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 1330d 1330d 0/28 auto-closed as invalid on 2021/07/21 00:16
upstream KCSAN: data-race in data_push_tail / symbol_string (6) kernel 1 438d 427d 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 480d 555d 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 649d 675d 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 65d 65d 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 1150d 1150d 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 0xffffffff88be9bf0 of 1 bytes by task 19878 on cpu 1:
 string_nocheck lib/vsprintf.c:636 [inline]
 symbol_string+0x1ce/0x250 lib/vsprintf.c:992
 pointer+0x6d3/0xcf0 lib/vsprintf.c:2432
 vsnprintf+0x48d/0x890 lib/vsprintf.c:2847
 vscnprintf+0x42/0x90 lib/vsprintf.c:2908
 printk_sprint+0x30/0x2d0 kernel/printk/printk.c:2216
 vprintk_store+0x589/0x870 kernel/printk/printk.c:2336
 vprintk_emit+0x15e/0x680 kernel/printk/printk.c:2408
 vprintk_default+0x26/0x30 kernel/printk/printk.c:2447
 vprintk+0x1d/0x30 kernel/printk/printk_safe.c:82
 _printk+0x7a/0xa0 kernel/printk/printk.c:2457
 printk_stack_address arch/x86/kernel/dumpstack.c:72 [inline]
 show_trace_log_lvl+0x380/0x400 arch/x86/kernel/dumpstack.c:285
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0xf2/0x150 lib/dump_stack.c:120
 dump_stack+0x15/0x1a lib/dump_stack.c:129
 fail_dump lib/fault-inject.c:73 [inline]
 should_fail_ex+0x24a/0x260 lib/fault-inject.c:174
 should_failslab+0x8f/0xb0 mm/failslab.c:46
 slab_pre_alloc_hook mm/slub.c:4068 [inline]
 slab_alloc_node mm/slub.c:4144 [inline]
 __kmalloc_cache_noprof+0x4e/0x320 mm/slub.c:4320
 kmalloc_noprof include/linux/slab.h:901 [inline]
 kzalloc_noprof include/linux/slab.h:1037 [inline]
 keyring_restriction_alloc security/keys/keyring.c:980 [inline]
 keyring_restrict+0x92/0x280 security/keys/keyring.c:1039
 keyctl_restrict_keyring+0x103/0x1b0 security/keys/keyctl.c:1760
 __do_sys_keyctl security/keys/keyctl.c:1983 [inline]
 __se_sys_keyctl+0x20f/0xbb0 security/keys/keyctl.c:1874
 __x64_sys_keyctl+0x67/0x80 security/keys/keyctl.c:1874
 x64_sys_call+0x163d/0x2dc0 arch/x86/include/generated/asm/syscalls_64.h:251
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffffffff88be9bf0 of 8 bytes by task 19836 on cpu 0:
 data_make_reusable kernel/printk/printk_ringbuffer.c:594 [inline]
 data_push_tail+0x102/0x430 kernel/printk/printk_ringbuffer.c:679
 data_alloc+0xbe/0x2c0 kernel/printk/printk_ringbuffer.c:1054
 prb_reserve+0x85e/0xb60 kernel/printk/printk_ringbuffer.c:1669
 vprintk_store+0x558/0x870 kernel/printk/printk.c:2326
 vprintk_emit+0x15e/0x680 kernel/printk/printk.c:2408
 vprintk_default+0x26/0x30 kernel/printk/printk.c:2447
 vprintk+0x1d/0x30 kernel/printk/printk_safe.c:82
 _printk+0x7a/0xa0 kernel/printk/printk.c:2457
 ib_get_eth_speed+0x322/0x4a0 drivers/infiniband/core/verbs.c:2006
 rxe_query_port+0x7d/0x230 drivers/infiniband/sw/rxe/rxe_verbs.c:62
 __ib_query_port drivers/infiniband/core/device.c:2095 [inline]
 ib_query_port+0x116/0x3b0 drivers/infiniband/core/device.c:2127
 ib_setup_port_attrs+0x148/0x1340 drivers/infiniband/core/sysfs.c:1440
 add_one_compat_dev+0x2e6/0x3e0 drivers/infiniband/core/device.c:959
 add_compat_devs drivers/infiniband/core/device.c:1017 [inline]
 enable_device_and_get+0x1cb/0x260 drivers/infiniband/core/device.c:1328
 ib_register_device+0xa81/0xbe0 drivers/infiniband/core/device.c:1433
 rxe_register_device+0x1a4/0x1c0 drivers/infiniband/sw/rxe/rxe_verbs.c:1540
 rxe_add+0x861/0x8b0 drivers/infiniband/sw/rxe/rxe.c:190
 rxe_net_add+0x5b/0xa0 drivers/infiniband/sw/rxe/rxe_net.c:550
 rxe_newlink+0xc7/0x180 drivers/infiniband/sw/rxe/rxe.c:212
 nldev_newlink+0x32f/0x360 drivers/infiniband/core/nldev.c:1795
 rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:195 [inline]
 rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
 rdma_nl_rcv+0x46f/0x5a0 drivers/infiniband/core/netlink.c:259
 netlink_unicast_kernel net/netlink/af_netlink.c:1322 [inline]
 netlink_unicast+0x599/0x670 net/netlink/af_netlink.c:1348
 netlink_sendmsg+0x5cc/0x6e0 net/netlink/af_netlink.c:1892
 sock_sendmsg_nosec net/socket.c:713 [inline]
 __sock_sendmsg+0x140/0x180 net/socket.c:728
 ____sys_sendmsg+0x312/0x410 net/socket.c:2568
 ___sys_sendmsg net/socket.c:2622 [inline]
 __sys_sendmsg+0x19d/0x230 net/socket.c:2654
 __do_sys_sendmsg net/socket.c:2659 [inline]
 __se_sys_sendmsg net/socket.c:2657 [inline]
 __x64_sys_sendmsg+0x46/0x50 net/socket.c:2657
 x64_sys_call+0x2734/0x2dc0 arch/x86/include/generated/asm/syscalls_64.h:47
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000001000002da -> 0x636972747365725f

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 19836 Comm: syz.4.3859 Not tainted 6.13.0-syzkaller-09485-g72deda0abee6 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
==================================================================
sit0 speed is unknown, defaulting to 1000

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/01/30 22:13 upstream 72deda0abee6 4c6ac32f .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.