KCSAN: data-race in link_path_walk.part.0 / page_get_link

From: syzbot
Date: Fri Dec 13 2019 - 17:04:12 EST


Hello,

syzbot found the following crash on:

HEAD commit: 5863cc79 x86, kcsan: Enable KCSAN for x86
git tree: https://github.com/google/ktsan.git kcsan
console output: https://syzkaller.appspot.com/x/log.txt?x=143b67cee00000
kernel config: https://syzkaller.appspot.com/x/.config?x=186a3142a4cdd1db
dashboard link: https://syzkaller.appspot.com/bug?extid=57b6149668c34058041c
compiler: gcc (GCC) 9.0.0 20181231 (experimental)

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+57b6149668c34058041c@xxxxxxxxxxxxxxxxxxxxxxxxx

==================================================================
BUG: KCSAN: data-race in link_path_walk.part.0 / page_get_link

read to 0xffff88809b36e056 of 1 bytes by task 8667 on cpu 0:
link_path_walk.part.0+0x2d7/0xa90 fs/namei.c:2109
link_path_walk fs/namei.c:2259 [inline]
path_lookupat.isra.0+0x77/0x5a0 fs/namei.c:2307
filename_lookup+0x145/0x2b0 fs/namei.c:2338
user_path_at_empty+0x4c/0x70 fs/namei.c:2598
user_path_at include/linux/namei.h:49 [inline]
do_mount+0xc8/0x1560 fs/namespace.c:3081
ksys_mount+0xe8/0x160 fs/namespace.c:3352
__do_sys_mount fs/namespace.c:3366 [inline]
__se_sys_mount fs/namespace.c:3363 [inline]
__x64_sys_mount+0x70/0x90 fs/namespace.c:3363
do_syscall_64+0xcc/0x370 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x44/0xa9

write to 0xffff88809b36e056 of 1 bytes by task 8674 on cpu 1:
nd_terminate_link include/linux/namei.h:75 [inline]
page_get_link+0x115/0x280 fs/namei.c:4787
get_link fs/namei.c:1069 [inline]
trailing_symlink+0x505/0x5a0 fs/namei.c:2253
path_openat+0x6cc/0x36e0 fs/namei.c:3527
do_filp_open+0x11e/0x1b0 fs/namei.c:3555
do_sys_open+0x3b3/0x4f0 fs/open.c:1097
__do_sys_open fs/open.c:1115 [inline]
__se_sys_open fs/open.c:1110 [inline]
__x64_sys_open+0x55/0x70 fs/open.c:1110
do_syscall_64+0xcc/0x370 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x44/0xa9

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 8674 Comm: syz-executor.5 Not tainted 5.4.0-rc7+ #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 syzkaller@xxxxxxxxxxxxxxxxx

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