KCSAN: data-race in __bpf_lru_node_move_in / bpf_lru_push_free

4 views
Skip to first unread message

syzbot

unread,
Jun 18, 2020, 1:36:18 PM6/18/20
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: 7c3cd68e Merge remote-tracking branch 'linux-rcu/kcsan' in..
git tree: https://github.com/google/ktsan.git kcsan
console output: https://syzkaller.appspot.com/x/log.txt?x=10fc4521100000
kernel config: https://syzkaller.appspot.com/x/.config?x=ff291dc25f22cdda
dashboard link: https://syzkaller.appspot.com/bug?extid=9a5887f4b4a98ad80881
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
CC: [and...@fb.com a...@kernel.org b...@vger.kernel.org dan...@iogearbox.net john.fa...@gmail.com ka...@fb.com kps...@chromium.org linux-...@vger.kernel.org net...@vger.kernel.org songliu...@fb.com y...@fb.com]

Unfortunately, I don't have any reproducer for this crash yet.

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+9a5887...@syzkaller.appspotmail.com

==================================================================
BUG: KCSAN: data-race in __bpf_lru_node_move_in / bpf_lru_push_free

write to 0xffff8880a0cbbcca of 1 bytes by task 28314 on cpu 0:
__bpf_lru_node_move_in+0x9f/0x1f0 kernel/bpf/bpf_lru_list.c:91
__local_list_flush kernel/bpf/bpf_lru_list.c:298 [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+0x3af/0xa30 kernel/bpf/bpf_lru_list.c:499
prealloc_lru_pop+0x30/0x70 kernel/bpf/hashtab.c:237
htab_lru_map_update_elem+0x352/0x680 kernel/bpf/hashtab.c:1043
bpf_map_update_value.isra.0+0x3bc/0x420 kernel/bpf/syscall.c:203
generic_map_update_batch+0x273/0x3c0 kernel/bpf/syscall.c:1326
bpf_map_do_batch+0x194/0x3a0 kernel/bpf/syscall.c:3556
__do_sys_bpf+0x1cca/0x3100 kernel/bpf/syscall.c:3767
__se_sys_bpf kernel/bpf/syscall.c:3661 [inline]
__x64_sys_bpf+0x47/0x60 kernel/bpf/syscall.c:3661
do_syscall_64+0xc7/0x3b0 arch/x86/entry/common.c:295
entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffff8880a0cbbcca of 1 bytes by task 28311 on cpu 1:
bpf_common_lru_push_free kernel/bpf/bpf_lru_list.c:507 [inline]
bpf_lru_push_free+0xf6/0x330 kernel/bpf/bpf_lru_list.c:555
htab_lru_map_update_elem+0x544/0x680 kernel/bpf/hashtab.c:1072
bpf_map_update_value.isra.0+0x3bc/0x420 kernel/bpf/syscall.c:203
generic_map_update_batch+0x273/0x3c0 kernel/bpf/syscall.c:1326
bpf_map_do_batch+0x194/0x3a0 kernel/bpf/syscall.c:3556
__do_sys_bpf+0x1cca/0x3100 kernel/bpf/syscall.c:3767
__se_sys_bpf kernel/bpf/syscall.c:3661 [inline]
__x64_sys_bpf+0x47/0x60 kernel/bpf/syscall.c:3661
do_syscall_64+0xc7/0x3b0 arch/x86/entry/common.c:295
entry_SYSCALL_64_after_hwframe+0x44/0xa9

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 28311 Comm: syz-executor.1 Not tainted 5.7.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================


---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

syzbot

unread,
Jul 23, 2020, 12:58:11 AM7/23/20
to syzkaller-upst...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages