KCSAN: data-race in pollwake / pollwake (3)

4 views
Skip to first unread message

syzbot

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

syzbot found the following issue on:

HEAD commit: 521b619a Merge tag 'linux-kselftest-kunit-fixes-5.10-rc3' ..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=17e3c094500000
kernel config: https://syzkaller.appspot.com/x/.config?x=76dfc991796328d4
dashboard link: https://syzkaller.appspot.com/bug?extid=0dc0743ccfd78e35b8a3
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project.git 913f6005669cfb590c99865a90bc51ed0983d09d)
CC: [linux-...@vger.kernel.org linux-...@vger.kernel.org vi...@zeniv.linux.org.uk]

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+0dc074...@syzkaller.appspotmail.com

==================================================================
BUG: KCSAN: data-race in pollwake / pollwake

write to 0xffffc90000f43a70 of 4 bytes by interrupt on cpu 1:
__pollwake fs/select.c:197 [inline]
pollwake+0xa7/0xf0 fs/select.c:217
__wake_up_common+0xbc/0x130 kernel/sched/wait.c:93
__wake_up_common_lock kernel/sched/wait.c:123 [inline]
__wake_up_sync_key+0x83/0xc0 kernel/sched/wait.c:190
sock_def_readable+0x61/0xe0 net/core/sock.c:2889
tcp_data_ready net/ipv4/tcp_input.c:4915 [inline]
tcp_data_queue+0x1a70/0x3190 net/ipv4/tcp_input.c:4980
tcp_rcv_established+0x653/0x1450 net/ipv4/tcp_input.c:5868
tcp_v4_do_rcv+0x278/0x4a0 net/ipv4/tcp_ipv4.c:1652
tcp_v4_rcv+0x2101/0x2370 net/ipv4/tcp_ipv4.c:2034
ip_protocol_deliver_rcu+0x1f9/0x3e0 net/ipv4/ip_input.c:204
ip_local_deliver_finish net/ipv4/ip_input.c:231 [inline]
NF_HOOK include/linux/netfilter.h:301 [inline]
ip_local_deliver+0x1c0/0x280 net/ipv4/ip_input.c:252
dst_input include/net/dst.h:449 [inline]
ip_sublist_rcv_finish net/ipv4/ip_input.c:550 [inline]
ip_list_rcv_finish net/ipv4/ip_input.c:600 [inline]
ip_sublist_rcv+0x4c4/0x590 net/ipv4/ip_input.c:608
ip_list_rcv+0x262/0x290 net/ipv4/ip_input.c:643
__netif_receive_skb_list_ptype net/core/dev.c:5358 [inline]
__netif_receive_skb_list_core+0x34b/0x450 net/core/dev.c:5406
__netif_receive_skb_list+0x262/0x2e0 net/core/dev.c:5458
netif_receive_skb_list_internal+0xda/0x330 net/core/dev.c:5568
gro_normal_list net/core/dev.c:5722 [inline]
napi_complete_done+0x1b2/0x420 net/core/dev.c:6447
virtqueue_napi_complete+0x28/0x80 drivers/net/virtio_net.c:334
virtnet_poll+0x607/0x730 drivers/net/virtio_net.c:1460
napi_poll+0x178/0x4c0 net/core/dev.c:6763
net_rx_action+0x17a/0x480 net/core/dev.c:6833
__do_softirq+0x12c/0x2b1 kernel/softirq.c:298
asm_call_irq_on_stack+0xf/0x20
__run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
do_softirq_own_stack+0x32/0x40 arch/x86/kernel/irq_64.c:77
invoke_softirq kernel/softirq.c:393 [inline]
__irq_exit_rcu+0xb2/0xc0 kernel/softirq.c:423
common_interrupt+0xb5/0x130 arch/x86/kernel/irq.c:239
asm_common_interrupt+0x1e/0x40 arch/x86/include/asm/idtentry.h:622
should_watch kernel/kcsan/core.c:265 [inline]
check_access kernel/kcsan/core.c:631 [inline]
__tsan_read1+0x14f/0x180 kernel/kcsan/core.c:839
tomoyo_path_matches_pattern+0x43/0x120 security/tomoyo/util.c:940
tomoyo_compare_name_union security/tomoyo/file.c:87 [inline]
tomoyo_check_path_acl+0x9b/0xe0 security/tomoyo/file.c:260
tomoyo_check_acl+0xcc/0x200 security/tomoyo/domain.c:175
tomoyo_path_permission security/tomoyo/file.c:586 [inline]
tomoyo_check_open_permission+0x17f/0x370 security/tomoyo/file.c:777
tomoyo_file_open+0xd3/0xf0 security/tomoyo/tomoyo.c:313
security_file_open+0x3f/0x90 security/security.c:1575
do_dentry_open+0x22d/0x870 fs/open.c:804
vfs_open+0x43/0x50 fs/open.c:931
do_open fs/namei.c:3252 [inline]
path_openat+0x1844/0x20a0 fs/namei.c:3369
do_filp_open+0xbd/0x1d0 fs/namei.c:3396
do_sys_openat2+0xa3/0x240 fs/open.c:1168
do_sys_open fs/open.c:1184 [inline]
__do_sys_open fs/open.c:1192 [inline]
__se_sys_open fs/open.c:1188 [inline]
__x64_sys_open+0xe2/0x110 fs/open.c:1188
do_syscall_64+0x39/0x80 arch/x86/entry/common.c:46
entry_SYSCALL_64_after_hwframe+0x44/0xa9

write to 0xffffc90000f43a70 of 4 bytes by task 8436 on cpu 0:
__pollwake fs/select.c:197 [inline]
pollwake+0xa7/0xf0 fs/select.c:217
__wake_up_common+0xbc/0x130 kernel/sched/wait.c:93
__wake_up_common_lock kernel/sched/wait.c:123 [inline]
__wake_up_sync_key+0x83/0xc0 kernel/sched/wait.c:190
pipe_write+0x876/0xbc0 fs/pipe.c:580
call_write_iter include/linux/fs.h:1887 [inline]
new_sync_write fs/read_write.c:518 [inline]
vfs_write+0x617/0x690 fs/read_write.c:605
ksys_write+0xce/0x180 fs/read_write.c:658
__do_sys_write fs/read_write.c:670 [inline]
__se_sys_write fs/read_write.c:667 [inline]
__x64_sys_write+0x3e/0x50 fs/read_write.c:667
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: 8436 Comm: syz-fuzzer Not tainted 5.10.0-rc2-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.

syzbot

unread,
Dec 21, 2020, 6:54:06 AM12/21/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