syzbot


KCSAN: data-race in wg_packet_send_keepalive / wg_packet_send_staged_packets (2)

Status: auto-closed as invalid on 2021/01/13 19:06
Subsystems: wireguard
[Documentation on labels]
First crash: 1557d, last: 1557d
Similar bugs (6)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in wg_packet_send_keepalive / wg_packet_send_staged_packets (7) wireguard 1 358d 358d 0/28 auto-obsoleted due to no activity on 2024/04/26 17:49
upstream KCSAN: data-race in wg_packet_send_keepalive / wg_packet_send_staged_packets (4) wireguard 1 554d 554d 0/28 auto-obsoleted due to no activity on 2023/10/14 08:22
upstream KCSAN: data-race in wg_packet_send_keepalive / wg_packet_send_staged_packets (5) wireguard 1 511d 511d 0/28 auto-obsoleted due to no activity on 2023/11/26 10:20
upstream KCSAN: data-race in wg_packet_send_keepalive / wg_packet_send_staged_packets wireguard 1 1619d 1619d 0/28 auto-closed as invalid on 2020/11/13 10:47
upstream KCSAN: data-race in wg_packet_send_keepalive / wg_packet_send_staged_packets (3) wireguard 1 837d 829d 0/28 auto-obsoleted due to no activity on 2023/01/03 22:04
upstream KCSAN: data-race in wg_packet_send_keepalive / wg_packet_send_staged_packets (6) wireguard 1 430d 429d 0/28 auto-obsoleted due to no activity on 2024/02/14 17:18

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

write to 0xffff888029cf9a40 of 8 bytes by interrupt on cpu 1:
 __skb_queue_head_init include/linux/skbuff.h:1869 [inline]
 skb_queue_splice_init include/linux/skbuff.h:1955 [inline]
 wg_packet_send_staged_packets+0xf8/0x990 drivers/net/wireguard/send.c:359
 wg_xmit+0x55b/0x680 drivers/net/wireguard/device.c:197
 __netdev_start_xmit include/linux/netdevice.h:4735 [inline]
 netdev_start_xmit include/linux/netdevice.h:4749 [inline]
 xmit_one+0xf9/0x2e0 net/core/dev.c:3564
 dev_hard_start_xmit net/core/dev.c:3580 [inline]
 __dev_queue_xmit+0xeef/0x1510 net/core/dev.c:4140
 dev_queue_xmit+0x13/0x20 net/core/dev.c:4173
 neigh_connected_output+0x264/0x290 net/core/neighbour.c:1520
 neigh_output include/net/neighbour.h:510 [inline]
 ip6_finish_output2+0x984/0xb20 net/ipv6/ip6_output.c:117
 __ip6_finish_output+0x2f1/0x320 net/ipv6/ip6_output.c:143
 ip6_finish_output+0x39/0x160 net/ipv6/ip6_output.c:153
 NF_HOOK_COND include/linux/netfilter.h:290 [inline]
 ip6_output+0x10e/0x210 net/ipv6/ip6_output.c:176
 dst_output include/net/dst.h:443 [inline]
 NF_HOOK include/linux/netfilter.h:301 [inline]
 ndisc_send_skb+0x449/0x5f0 net/ipv6/ndisc.c:508
 ndisc_send_rs+0x3b0/0x3e0 net/ipv6/ndisc.c:702
 addrconf_rs_timer+0x35e/0x550 net/ipv6/addrconf.c:3873
 call_timer_fn+0x2e/0x240 kernel/time/timer.c:1410
 expire_timers+0x116/0x260 kernel/time/timer.c:1455
 __run_timers+0x338/0x3d0 kernel/time/timer.c:1747
 run_timer_softirq+0x19/0x30 kernel/time/timer.c:1760
 __do_softirq+0x12c/0x2b1 kernel/softirq.c:298
 asm_call_irq_on_stack+0xf/0x20
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0x32/0x40 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:393 [inline]
 __irq_exit_rcu+0xb2/0xc0 kernel/softirq.c:423
 sysvec_apic_timer_interrupt+0x74/0x90 arch/x86/kernel/apic/apic.c:1091
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:631
 native_safe_halt arch/x86/include/asm/irqflags.h:60 [inline]
 arch_safe_halt arch/x86/include/asm/irqflags.h:103 [inline]
 acpi_safe_halt drivers/acpi/processor_idle.c:111 [inline]
 acpi_idle_do_entry drivers/acpi/processor_idle.c:517 [inline]
 acpi_idle_enter+0x25b/0x2e0 drivers/acpi/processor_idle.c:648
 cpuidle_enter_state+0x2bd/0x750 drivers/cpuidle/cpuidle.c:237
 cpuidle_enter+0x3c/0x60 drivers/cpuidle/cpuidle.c:351
 call_cpuidle kernel/sched/idle.c:158 [inline]
 cpuidle_idle_call kernel/sched/idle.c:239 [inline]
 do_idle+0x193/0x230 kernel/sched/idle.c:299
 cpu_startup_entry+0x15/0x20 kernel/sched/idle.c:395
 secondary_startup_64_no_verify+0xb0/0xbb

read to 0xffff888029cf9a40 of 8 bytes by interrupt on cpu 0:
 skb_queue_empty include/linux/skbuff.h:1523 [inline]
 wg_packet_send_keepalive+0x1f/0x100 drivers/net/wireguard/send.c:225
 wg_expired_send_persistent_keepalive+0x38/0x50 drivers/net/wireguard/timers.c:141
 call_timer_fn+0x2e/0x240 kernel/time/timer.c:1410
 expire_timers+0x116/0x260 kernel/time/timer.c:1455
 __run_timers+0x338/0x3d0 kernel/time/timer.c:1747
 run_timer_softirq+0x19/0x30 kernel/time/timer.c:1760
 __do_softirq+0x12c/0x2b1 kernel/softirq.c:298
 asm_call_irq_on_stack+0xf/0x20
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0x32/0x40 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:393 [inline]
 __irq_exit_rcu+0xb2/0xc0 kernel/softirq.c:423
 sysvec_apic_timer_interrupt+0x74/0x90 arch/x86/kernel/apic/apic.c:1091
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:631
 native_safe_halt arch/x86/include/asm/irqflags.h:60 [inline]
 arch_safe_halt arch/x86/include/asm/irqflags.h:103 [inline]
 acpi_safe_halt drivers/acpi/processor_idle.c:111 [inline]
 acpi_idle_do_entry drivers/acpi/processor_idle.c:517 [inline]
 acpi_idle_enter+0x25b/0x2e0 drivers/acpi/processor_idle.c:648
 cpuidle_enter_state+0x2bd/0x750 drivers/cpuidle/cpuidle.c:237
 cpuidle_enter+0x3c/0x60 drivers/cpuidle/cpuidle.c:351
 call_cpuidle kernel/sched/idle.c:158 [inline]
 cpuidle_idle_call kernel/sched/idle.c:239 [inline]
 do_idle+0x193/0x230 kernel/sched/idle.c:299
 cpu_startup_entry+0x15/0x20 kernel/sched/idle.c:395
 rest_init+0xd7/0xe0 init/main.c:721
 arch_call_rest_init+0xa/0xb
 start_kernel+0x5a0/0x625 init/main.c:1061
 secondary_startup_64_no_verify+0xb0/0xbb

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.0-rc7-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/12/09 18:59 upstream a68a0262abda 99917735 .config console log report info ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.