syzbot


KCSAN: data-race in __htab_lru_percpu_map_update_elem / bpf_lru_pop_free

Status: auto-closed as invalid on 2020/06/02 14:31
Subsystems: bpf
[Documentation on labels]
First crash: 1508d, last: 1508d
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __htab_lru_percpu_map_update_elem / bpf_lru_pop_free (3) bpf 1 879d 879d 0/26 auto-closed as invalid on 2022/01/17 12:35
upstream KCSAN: data-race in __htab_lru_percpu_map_update_elem / bpf_lru_pop_free (6) bpf 1 725d 725d 0/26 auto-closed as invalid on 2022/06/21 01:00
upstream KCSAN: data-race in __htab_lru_percpu_map_update_elem / bpf_lru_pop_free (4) bpf 1 835d 835d 0/26 auto-closed as invalid on 2022/03/02 08:29
upstream KCSAN: data-race in __htab_lru_percpu_map_update_elem / bpf_lru_pop_free (8) bpf 5 320d 382d 0/26 auto-obsoleted due to no activity on 2023/07/30 11:13
upstream KCSAN: data-race in __htab_lru_percpu_map_update_elem / bpf_lru_pop_free (5) bpf 2 794d 799d 0/26 auto-closed as invalid on 2022/04/12 08:01
upstream KCSAN: data-race in __htab_lru_percpu_map_update_elem / bpf_lru_pop_free (7) bpf 14 609d 626d 0/26 auto-obsoleted due to no activity on 2022/10/14 23:50
upstream KCSAN: data-race in __htab_lru_percpu_map_update_elem / bpf_lru_pop_free (2) bpf 1 1344d 1344d 0/26 auto-closed as invalid on 2020/10/10 03:00

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

write to 0xffff8880a03e82a3 of 1 bytes by task 31980 on cpu 0:
 bpf_lru_node_set_ref kernel/bpf/bpf_lru_list.h:70 [inline]
 __htab_lru_percpu_map_update_elem+0x40d/0x630 kernel/bpf/hashtab.c:1084
 bpf_percpu_hash_update+0x9e/0xb0 kernel/bpf/hashtab.c:1585
 bpf_map_update_value.isra.0+0x25b/0x420 kernel/bpf/syscall.c:181
 generic_map_update_batch+0x273/0x3c0 kernel/bpf/syscall.c:1319
 bpf_map_do_batch+0x194/0x3a0 kernel/bpf/syscall.c:3348
 __do_sys_bpf+0x779/0x29c0 kernel/bpf/syscall.c:3460
 __se_sys_bpf kernel/bpf/syscall.c:3355 [inline]
 __x64_sys_bpf+0x47/0x60 kernel/bpf/syscall.c:3355
 do_syscall_64+0xc7/0x390 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffff8880a03e82a3 of 1 bytes by task 31973 on cpu 1:
 __local_list_flush kernel/bpf/bpf_lru_list.c:297 [inline]
 bpf_lru_list_pop_free_to_local kernel/bpf/bpf_lru_list.c:327 [inline]
 bpf_common_lru_pop_free kernel/bpf/bpf_lru_list.c:447 [inline]
 bpf_lru_pop_free+0x3da/0xa30 kernel/bpf/bpf_lru_list.c:499
 prealloc_lru_pop+0x30/0x70 kernel/bpf/hashtab.c:132
 __htab_lru_percpu_map_update_elem+0x37a/0x630 kernel/bpf/hashtab.c:1069
 bpf_percpu_hash_update+0x9e/0xb0 kernel/bpf/hashtab.c:1585
 bpf_map_update_value.isra.0+0x25b/0x420 kernel/bpf/syscall.c:181
 generic_map_update_batch+0x273/0x3c0 kernel/bpf/syscall.c:1319
 bpf_map_do_batch+0x194/0x3a0 kernel/bpf/syscall.c:3348
 __do_sys_bpf+0x779/0x29c0 kernel/bpf/syscall.c:3460
 __se_sys_bpf kernel/bpf/syscall.c:3355 [inline]
 __x64_sys_bpf+0x47/0x60 kernel/bpf/syscall.c:3355
 do_syscall_64+0xc7/0x390 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 31973 Comm: syz-executor.2 Not tainted 5.6.0-rc1-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/03/24 14:29 https://github.com/google/ktsan.git kcsan 40959e34d670 33e14df3 .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.