KCSAN: data-race in __bpf_lru_list_rotate / bpf_lru_push_free (2)

7 views
Skip to first unread message

syzbot

unread,
Dec 7, 2020, 6:51:11 AM12/7/20
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: c2dc4c07 Merge tag 'for_linus' of git://git.kernel.org/pub..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=10115a1a500000
kernel config: https://syzkaller.appspot.com/x/.config?x=ee0e76f7f5b45069
dashboard link: https://syzkaller.appspot.com/bug?extid=516acdb03d3e27d91bcd
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project.git 913f6005669cfb590c99865a90bc51ed0983d09d)
CC: [and...@kernel.org 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 issue yet.

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+516acd...@syzkaller.appspotmail.com

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

write to 0xffff8880253870ca of 1 bytes by task 12188 on cpu 1:
__bpf_lru_node_move kernel/bpf/bpf_lru_list.c:111 [inline]
__bpf_lru_list_rotate_active kernel/bpf/bpf_lru_list.c:151 [inline]
__bpf_lru_list_rotate+0x308/0x780 kernel/bpf/bpf_lru_list.c:240
bpf_lru_list_pop_free_to_local kernel/bpf/bpf_lru_list.c:329 [inline]
bpf_common_lru_pop_free kernel/bpf/bpf_lru_list.c:447 [inline]
bpf_lru_pop_free+0x79f/0xea0 kernel/bpf/bpf_lru_list.c:499
prealloc_lru_pop kernel/bpf/hashtab.c:238 [inline]
htab_lru_map_update_elem+0xb1/0x430 kernel/bpf/hashtab.c:1049
bpf_map_update_value+0x1bc/0x330 kernel/bpf/syscall.c:201
generic_map_update_batch+0x344/0x450 kernel/bpf/syscall.c:1347
bpf_map_do_batch+0x2a8/0x310 kernel/bpf/syscall.c:4007
__do_sys_bpf+0x8a3/0x9aa0 kernel/bpf/syscall.c:4463
__se_sys_bpf kernel/bpf/syscall.c:4357 [inline]
__x64_sys_bpf+0x3d/0x50 kernel/bpf/syscall.c:4357
do_syscall_64+0x39/0x80 arch/x86/entry/common.c:46
entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffff8880253870ca of 1 bytes by task 12190 on cpu 0:
bpf_common_lru_push_free kernel/bpf/bpf_lru_list.c:507 [inline]
bpf_lru_push_free+0xd2/0x570 kernel/bpf/bpf_lru_list.c:555
htab_lru_map_update_elem+0x401/0x430 kernel/bpf/hashtab.c:1078
bpf_map_update_value+0x1bc/0x330 kernel/bpf/syscall.c:201
generic_map_update_batch+0x344/0x450 kernel/bpf/syscall.c:1347
bpf_map_do_batch+0x2a8/0x310 kernel/bpf/syscall.c:4007
__do_sys_bpf+0x8a3/0x9aa0 kernel/bpf/syscall.c:4463
__se_sys_bpf kernel/bpf/syscall.c:4357 [inline]
__x64_sys_bpf+0x3d/0x50 kernel/bpf/syscall.c:4357
do_syscall_64+0x39/0x80 arch/x86/entry/common.c:46
entry_SYSCALL_64_after_hwframe+0x44/0xa9

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


---
This report 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 issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
Reply all
Reply to author
Forward
0 new messages