syzbot


KCSAN: data-race in fib_sync_down_dev / fib_table_lookup

Status: auto-obsoleted due to no activity on 2025/07/16 08:13
Subsystems: net
[Documentation on labels]
First crash: 92d, last: 92d

Sample crash report:
RBP: 00007f20a5876090 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
R13: 0000000000000001 R14: 00007f20a7456080 R15: 00007ffeaeb1cb18
 </TASK>
==================================================================
BUG: KCSAN: data-race in fib_sync_down_dev / fib_table_lookup

write to 0xffff888115a36b40 of 4 bytes by task 13534 on cpu 0:
 fib_sync_down_dev+0x4d2/0x560 net/ipv4/fib_semantics.c:1990
 fib_disable_ip net/ipv4/fib_frontend.c:1454 [inline]
 fib_netdev_event+0x219/0x430 net/ipv4/fib_frontend.c:1524
 notifier_call_chain kernel/notifier.c:85 [inline]
 raw_notifier_call_chain+0x6f/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]
 __dev_notify_flags+0xff/0x1a0 net/core/dev.c:-1
 netif_change_flags+0xac/0xd0 net/core/dev.c:9422
 do_setlink+0x90e/0x27f0 net/core/rtnetlink.c:3152
 rtnl_group_changelink net/core/rtnetlink.c:3783 [inline]
 __rtnl_newlink net/core/rtnetlink.c:3937 [inline]
 rtnl_newlink+0xd8b/0x12d0 net/core/rtnetlink.c:4065
 rtnetlink_rcv_msg+0x5fe/0x6d0 net/core/rtnetlink.c:6955
 netlink_rcv_skb+0x123/0x220 net/netlink/af_netlink.c:2534
 rtnetlink_rcv+0x1c/0x30 net/core/rtnetlink.c:6982
 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
 netlink_unicast+0x5a1/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+0x145/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

read to 0xffff888115a36b40 of 4 bytes by task 13537 on cpu 1:
 fib_table_lookup+0x3b8/0xd70 net/ipv4/fib_trie.c:1575
 fib_lookup include/net/ip_fib.h:390 [inline]
 ip_route_output_key_hash_rcu+0x37f/0x13d0 net/ipv4/route.c:2793
 ip_route_output_key_hash net/ipv4/route.c:2683 [inline]
 __ip_route_output_key include/net/route.h:169 [inline]
 ip_route_output_flow+0x7b/0x130 net/ipv4/route.c:2911
 raw_sendmsg+0x9e9/0xe40 net/ipv4/raw.c:628
 inet_sendmsg+0xc2/0xd0 net/ipv4/af_inet.c:851
 sock_sendmsg_nosec net/socket.c:712 [inline]
 __sock_sendmsg+0x102/0x180 net/socket.c:727
 ____sys_sendmsg+0x345/0x4e0 net/socket.c:2566
 ___sys_sendmsg+0x17b/0x1d0 net/socket.c:2620
 __sys_sendmmsg+0x178/0x300 net/socket.c:2709
 __do_sys_sendmmsg net/socket.c:2736 [inline]
 __se_sys_sendmmsg net/socket.c:2733 [inline]
 __x64_sys_sendmmsg+0x57/0x70 net/socket.c:2733
 x64_sys_call+0x2f2f/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:308
 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: 0x00000000 -> 0x00000011

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 13537 Comm: syz.2.3780 Not tainted 6.15.0-rc7-syzkaller-00002-gb36ddb9210e6 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/21 08:06 upstream b36ddb9210e6 b47f9e02 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fib_sync_down_dev / fib_table_lookup
* Struck through repros no longer work on HEAD.