syzbot


KCSAN: data-race in wg_expired_retransmit_handshake / wg_packet_send_queued_handshake_initiation

Status: auto-obsoleted due to no activity on 2025/06/08 20:20
Subsystems: wireguard
[Documentation on labels]
First crash: 180d, last: 180d

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

read to 0xffff888108620428 of 4 bytes by interrupt on cpu 1:
 wg_expired_retransmit_handshake+0x2c/0x170 drivers/net/wireguard/timers.c:46
 call_timer_fn+0x3a/0x300 kernel/time/timer.c:1789
 expire_timers kernel/time/timer.c:1840 [inline]
 __run_timers kernel/time/timer.c:2414 [inline]
 __run_timer_base+0x41e/0x640 kernel/time/timer.c:2426
 run_timer_base kernel/time/timer.c:2435 [inline]
 run_timer_softirq+0x31/0x70 kernel/time/timer.c:2445
 handle_softirqs+0xbf/0x280 kernel/softirq.c:579
 __do_softirq kernel/softirq.c:613 [inline]
 invoke_softirq kernel/softirq.c:453 [inline]
 __irq_exit_rcu+0x3a/0xc0 kernel/softirq.c:680
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0x73/0x80 arch/x86/kernel/apic/apic.c:1049
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
 INIT_LIST_HEAD include/linux/list.h:37 [inline]
 newary+0x1c4/0x520 ipc/sem.c:561
 ipcget_new ipc/util.c:345 [inline]
 ipcget+0x338/0x500 ipc/util.c:674
 ksys_semget ipc/sem.c:621 [inline]
 __do_sys_semget ipc/sem.c:626 [inline]
 __se_sys_semget ipc/sem.c:624 [inline]
 __x64_sys_semget+0xfd/0x130 ipc/sem.c:624
 x64_sys_call+0x2793/0x2e10 arch/x86/include/generated/asm/syscalls_64.h:65
 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

write to 0xffff888108620428 of 4 bytes by interrupt on cpu 0:
 wg_packet_send_queued_handshake_initiation+0x32/0x180 drivers/net/wireguard/send.c:59
 wg_expired_new_handshake+0x26/0x30 drivers/net/wireguard/timers.c:102
 call_timer_fn+0x3a/0x300 kernel/time/timer.c:1789
 expire_timers kernel/time/timer.c:1840 [inline]
 __run_timers kernel/time/timer.c:2414 [inline]
 __run_timer_base+0x41e/0x640 kernel/time/timer.c:2426
 run_timer_base kernel/time/timer.c:2435 [inline]
 run_timer_softirq+0x31/0x70 kernel/time/timer.c:2445
 handle_softirqs+0xbf/0x280 kernel/softirq.c:579
 __do_softirq kernel/softirq.c:613 [inline]
 invoke_softirq kernel/softirq.c:453 [inline]
 __irq_exit_rcu+0x3a/0xc0 kernel/softirq.c:680
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0x73/0x80 arch/x86/kernel/apic/apic.c:1049
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
 kcsan_setup_watchpoint+0x404/0x410 kernel/kcsan/core.c:705
 sb_is_blkdev_sb include/linux/fs.h:2899 [inline]
 inode_to_bdi+0x2d/0x90 mm/backing-dev.c:1207
 file_ra_state_init+0x24/0x60 mm/readahead.c:141
 do_dentry_open+0x879/0xa20 fs/open.c:975
 vfs_open+0x38/0x1e0 fs/open.c:1086
 do_open fs/namei.c:3845 [inline]
 path_openat+0x1b1c/0x2000 fs/namei.c:4004
 do_filp_open+0x115/0x240 fs/namei.c:4031
 do_sys_openat2+0xaa/0x110 fs/open.c:1429
 do_sys_open fs/open.c:1444 [inline]
 __do_sys_openat fs/open.c:1460 [inline]
 __se_sys_openat fs/open.c:1455 [inline]
 __x64_sys_openat+0xf8/0x120 fs/open.c:1455
 x64_sys_call+0x1ac/0x2e10 arch/x86/include/generated/asm/syscalls_64.h:258
 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: 0x00000002 -> 0x00000003

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 3006 Comm: udevd Not tainted 6.15.0-rc1-syzkaller-00333-g5aaaedb0cb54 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/04/13 20:18 upstream 5aaaedb0cb54 0bd6db41 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in wg_expired_retransmit_handshake / wg_packet_send_queued_handshake_initiation
* Struck through repros no longer work on HEAD.