syzbot


KCSAN: data-race in wg_index_hashtable_insert / wg_index_hashtable_lookup (6)

Status: auto-obsoleted due to no activity on 2025/10/30 17:16
Subsystems: wireguard
[Documentation on labels]
First crash: 190d, last: 136d
Similar bugs (6)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in wg_index_hashtable_insert / wg_index_hashtable_lookup wireguard 6 1 1862d 1862d 0/29 auto-closed as invalid on 2021/01/17 16:47
upstream KCSAN: data-race in wg_index_hashtable_insert / wg_index_hashtable_lookup (5) wireguard 6 3 351d 399d 0/29 auto-obsoleted due to no activity on 2025/03/30 05:54
upstream KCSAN: data-race in wg_index_hashtable_insert / wg_index_hashtable_lookup (7) wireguard 6 2 13d 13d 0/29 moderation: reported on 2026/01/06 11:13
upstream KCSAN: data-race in wg_index_hashtable_insert / wg_index_hashtable_lookup (4) wireguard 6 8 456d 570d 0/29 auto-obsoleted due to no activity on 2024/11/23 16:43
upstream KCSAN: data-race in wg_index_hashtable_insert / wg_index_hashtable_lookup (3) wireguard 6 2 670d 688d 0/29 auto-obsoleted due to no activity on 2024/04/24 09:43
upstream KCSAN: data-race in wg_index_hashtable_insert / wg_index_hashtable_lookup (2) wireguard 6 1 1479d 1479d 0/29 auto-closed as invalid on 2022/02/04 17:58

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

write to 0xffff88811a20e80c of 4 bytes by task 1056 on cpu 0:
 wg_index_hashtable_insert+0xe3/0x2b0 drivers/net/wireguard/peerlookup.c:132
 wg_noise_handshake_create_response+0x5e3/0x6b0 drivers/net/wireguard/noise.c:713
 wg_packet_send_handshake_response+0x6d/0x120 drivers/net/wireguard/send.c:94
 wg_receive_handshake_packet drivers/net/wireguard/receive.c:154 [inline]
 wg_packet_handshake_receive_worker+0x3e1/0x5d0 drivers/net/wireguard/receive.c:213
 process_one_work kernel/workqueue.c:3236 [inline]
 process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3319
 worker_thread+0x582/0x770 kernel/workqueue.c:3400
 kthread+0x486/0x510 kernel/kthread.c:463
 ret_from_fork+0xda/0x150 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

read to 0xffff88811a20e80c of 4 bytes by task 3378 on cpu 1:
 wg_index_hashtable_lookup+0x6b/0x130 drivers/net/wireguard/peerlookup.c:211
 wg_noise_handshake_consume_response+0x12a/0x840 drivers/net/wireguard/noise.c:747
 wg_receive_handshake_packet drivers/net/wireguard/receive.c:166 [inline]
 wg_packet_handshake_receive_worker+0x3ef/0x5d0 drivers/net/wireguard/receive.c:213
 process_one_work kernel/workqueue.c:3236 [inline]
 process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3319
 worker_thread+0x582/0x770 kernel/workqueue.c:3400
 kthread+0x486/0x510 kernel/kthread.c:463
 ret_from_fork+0xda/0x150 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

value changed: 0x7585cca5 -> 0xa3089052

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 3378 Comm: kworker/1:2 Not tainted syzkaller #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
Workqueue: wg-kex-wg0 wg_packet_handshake_receive_worker
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/04 17:11 upstream 08b06c30a445 d291dd2d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in wg_index_hashtable_insert / wg_index_hashtable_lookup
2025/07/26 03:15 upstream 2942242dde89 fb8f743d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in wg_index_hashtable_insert / wg_index_hashtable_lookup
2025/07/12 15:38 upstream 379f604cc3dc 3cda49cf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in wg_index_hashtable_insert / wg_index_hashtable_lookup
* Struck through repros no longer work on HEAD.