syzbot


KCSAN: data-race in ndisc_router_discovery / ndisc_router_discovery

Status: moderation: reported on 2026/01/05 09:04
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+769e2c8e4d32e43edf7b@syzkaller.appspotmail.com
First crash: 70d, last: 70d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in ndisc_router_discovery / ndisc_router_discovery

read to 0xffff888119809c20 of 4 bytes by task 25817 on cpu 1:
 ndisc_router_discovery+0x151d/0x1c90 net/ipv6/ndisc.c:1558
 ndisc_rcv+0x2ad/0x3d0 net/ipv6/ndisc.c:1841
 icmpv6_rcv+0xe5a/0x12f0 net/ipv6/icmp.c:989
 ip6_protocol_deliver_rcu+0xb2a/0x10d0 net/ipv6/ip6_input.c:438
 ip6_input_finish+0xf0/0x1d0 net/ipv6/ip6_input.c:489
 NF_HOOK include/linux/netfilter.h:318 [inline]
 ip6_input+0x5e/0x140 net/ipv6/ip6_input.c:500
 ip6_mc_input+0x27c/0x470 net/ipv6/ip6_input.c:590
 dst_input include/net/dst.h:474 [inline]
 ip6_rcv_finish+0x336/0x340 net/ipv6/ip6_input.c:79
 NF_HOOK include/linux/netfilter.h:318 [inline]
 ipv6_rcv+0x72/0x150 net/ipv6/ip6_input.c:311
 __netif_receive_skb_one_core net/core/dev.c:6079 [inline]
 __netif_receive_skb+0x9e/0x270 net/core/dev.c:6192
 netif_receive_skb_internal net/core/dev.c:6278 [inline]
 netif_receive_skb+0x4b/0x2e0 net/core/dev.c:6337
 tun_rx_batched+0xfc/0x430 drivers/net/tun.c:1485
 tun_get_user+0x1f36/0x26e0 drivers/net/tun.c:1953
 tun_chr_write_iter+0x15e/0x210 drivers/net/tun.c:1999
 new_sync_write fs/read_write.c:593 [inline]
 vfs_write+0x52a/0x960 fs/read_write.c:686
 ksys_write+0xda/0x1a0 fs/read_write.c:738
 __do_sys_write fs/read_write.c:749 [inline]
 __se_sys_write fs/read_write.c:746 [inline]
 __x64_sys_write+0x40/0x50 fs/read_write.c:746
 x64_sys_call+0x2802/0x3000 arch/x86/include/generated/asm/syscalls_64.h:2
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

write to 0xffff888119809c20 of 4 bytes by task 25816 on cpu 0:
 ndisc_router_discovery+0x155a/0x1c90 net/ipv6/ndisc.c:1559
 ndisc_rcv+0x2ad/0x3d0 net/ipv6/ndisc.c:1841
 icmpv6_rcv+0xe5a/0x12f0 net/ipv6/icmp.c:989
 ip6_protocol_deliver_rcu+0xb2a/0x10d0 net/ipv6/ip6_input.c:438
 ip6_input_finish+0xf0/0x1d0 net/ipv6/ip6_input.c:489
 NF_HOOK include/linux/netfilter.h:318 [inline]
 ip6_input+0x5e/0x140 net/ipv6/ip6_input.c:500
 ip6_mc_input+0x27c/0x470 net/ipv6/ip6_input.c:590
 dst_input include/net/dst.h:474 [inline]
 ip6_rcv_finish+0x336/0x340 net/ipv6/ip6_input.c:79
 NF_HOOK include/linux/netfilter.h:318 [inline]
 ipv6_rcv+0x72/0x150 net/ipv6/ip6_input.c:311
 __netif_receive_skb_one_core net/core/dev.c:6079 [inline]
 __netif_receive_skb+0x9e/0x270 net/core/dev.c:6192
 netif_receive_skb_internal net/core/dev.c:6278 [inline]
 netif_receive_skb+0x4b/0x2e0 net/core/dev.c:6337
 tun_rx_batched+0xfc/0x430 drivers/net/tun.c:1485
 tun_get_user+0x1f36/0x26e0 drivers/net/tun.c:1953
 tun_chr_write_iter+0x15e/0x210 drivers/net/tun.c:1999
 new_sync_write fs/read_write.c:593 [inline]
 vfs_write+0x52a/0x960 fs/read_write.c:686
 ksys_write+0xda/0x1a0 fs/read_write.c:738
 __do_sys_write fs/read_write.c:749 [inline]
 __se_sys_write fs/read_write.c:746 [inline]
 __x64_sys_write+0x40/0x50 fs/read_write.c:746
 x64_sys_call+0x2802/0x3000 arch/x86/include/generated/asm/syscalls_64.h:2
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000000 -> 0xe5400659

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 25816 Comm: syz.7.4303 Not tainted syzkaller #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/11/09 11:44 upstream 7bb4d6512545 4e1406b4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ndisc_router_discovery / ndisc_router_discovery
* Struck through repros no longer work on HEAD.