syzbot


KCSAN: data-race in ep_poll / ep_poll_callback

Status: auto-closed as invalid on 2020/07/16 12:38
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+4e154dd1f4745e2bfadd@syzkaller.appspotmail.com
First crash: 1664d, last: 1406d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in ep_poll / ep_poll_callback

write to 0xffff88812549ac50 of 8 bytes by interrupt on cpu 0:
 list_add_tail_lockless fs/eventpoll.c:1158 [inline]
 ep_poll_callback+0x5f2/0x6c0 fs/eventpoll.c:1248
 __wake_up_common+0x76/0x180 kernel/sched/wait.c:93
 __wake_up_common_lock+0x77/0xb0 kernel/sched/wait.c:123
 sock_def_readable+0x9d/0x130 net/core/sock.c:2819
 tcp_data_ready+0x76/0xc0 net/ipv4/tcp_input.c:4767
 tcp_rcv_established+0xcb8/0xee0 net/ipv4/tcp_input.c:5698
 tcp_v4_do_rcv+0x396/0x4f0 net/ipv4/tcp_ipv4.c:1621
 tcp_v4_rcv+0x1c55/0x1e10 net/ipv4/tcp_ipv4.c:2003
 ip_protocol_deliver_rcu+0x4b/0x410 net/ipv4/ip_input.c:204
 ip_local_deliver_finish+0xf3/0x120 net/ipv4/ip_input.c:231
 NF_HOOK include/linux/netfilter.h:307 [inline]
 NF_HOOK include/linux/netfilter.h:301 [inline]
 ip_local_deliver+0x135/0x220 net/ipv4/ip_input.c:252
 dst_input include/net/dst.h:441 [inline]
 ip_sublist_rcv_finish+0xf0/0x140 net/ipv4/ip_input.c:550
 ip_list_rcv_finish net/ipv4/ip_input.c:600 [inline]
 ip_sublist_rcv+0x3f8/0x530 net/ipv4/ip_input.c:608
 ip_list_rcv+0x2f3/0x321 net/ipv4/ip_input.c:643
 __netif_receive_skb_list_ptype net/core/dev.c:5230 [inline]
 __netif_receive_skb_list_ptype net/core/dev.c:5219 [inline]
 __netif_receive_skb_list_core+0x368/0x5c0 net/core/dev.c:5278
 __netif_receive_skb_list net/core/dev.c:5330 [inline]
 netif_receive_skb_list_internal+0x5c7/0x810 net/core/dev.c:5425
 gro_normal_list.part.0+0x37/0xa0 net/core/dev.c:5536
 gro_normal_list net/core/dev.c:6269 [inline]
 napi_complete_done+0x1d3/0x3a0 net/core/dev.c:6257
 virtqueue_napi_complete+0x36/0xa0 drivers/net/virtio_net.c:329
 virtnet_poll+0x771/0x790 drivers/net/virtio_net.c:1444
 napi_poll net/core/dev.c:6571 [inline]
 net_rx_action+0x3ad/0xac0 net/core/dev.c:6639
 __do_softirq+0x118/0x34a kernel/softirq.c:292
 run_ksoftirqd+0x41/0x60 kernel/softirq.c:604
 smpboot_thread_fn+0x374/0x4a0 kernel/smpboot.c:165
 kthread+0x203/0x230 kernel/kthread.c:268
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:352

read to 0xffff88812549ac50 of 8 bytes by task 8892 on cpu 1:
 list_empty_careful include/linux/list.h:300 [inline]
 ep_events_available fs/eventpoll.c:379 [inline]
 ep_poll+0x5ad/0x910 fs/eventpoll.c:1902
 do_epoll_wait+0x15a/0x180 fs/eventpoll.c:2320
 __do_sys_epoll_pwait fs/eventpoll.c:2351 [inline]
 __se_sys_epoll_pwait fs/eventpoll.c:2337 [inline]
 __x64_sys_epoll_pwait+0xc6/0x170 fs/eventpoll.c:2337
 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: 8892 Comm: syz-fuzzer Not tainted 5.7.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (3052):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/06/18 12:37 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 3ea11d3f .config console log report ci2-upstream-kcsan-gce
2020/06/17 23:26 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 d45a4d69 .config console log report ci2-upstream-kcsan-gce
2020/06/17 10:58 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 b6c46f43 .config console log report ci2-upstream-kcsan-gce
2020/06/16 22:56 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 b9f3810b .config console log report ci2-upstream-kcsan-gce
2020/06/16 10:55 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 4ea9d964 .config console log report ci2-upstream-kcsan-gce
2020/06/15 20:12 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 baca2611 .config console log report ci2-upstream-kcsan-gce
2020/06/15 08:07 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 8e3ab941 .config console log report ci2-upstream-kcsan-gce
2020/06/14 11:15 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 2a22c77a .config console log report ci2-upstream-kcsan-gce
2020/06/13 23:12 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 a61674a5 .config console log report ci2-upstream-kcsan-gce
2020/06/13 11:14 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 dbce178a .config console log report ci2-upstream-kcsan-gce
2020/06/13 04:36 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 f4724dd3 .config console log report ci2-upstream-kcsan-gce
2020/06/12 16:19 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 3036d6fd .config console log report ci2-upstream-kcsan-gce
2020/06/12 04:16 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 819b58b0 .config console log report ci2-upstream-kcsan-gce
2020/06/11 16:14 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 1beaee21 .config console log report ci2-upstream-kcsan-gce
2020/06/11 00:28 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 3ab7a05a .config console log report ci2-upstream-kcsan-gce
2020/06/10 12:24 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 5caaad3a .config console log report ci2-upstream-kcsan-gce
2020/06/10 00:24 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 860c4de9 .config console log report ci2-upstream-kcsan-gce
2020/06/09 12:21 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 092934c1 .config console log report ci2-upstream-kcsan-gce
2020/06/08 22:45 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 0d60b78a .config console log report ci2-upstream-kcsan-gce
2020/06/08 10:28 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 7604bb03 .config console log report ci2-upstream-kcsan-gce
2020/06/07 20:54 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 7751efd0 .config console log report ci2-upstream-kcsan-gce
2020/06/07 08:50 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 2c2b926c .config console log report ci2-upstream-kcsan-gce
2020/06/06 13:16 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 e6b89e4e .config console log report ci2-upstream-kcsan-gce
2020/06/06 01:17 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 c3e9afb3 .config console log report ci2-upstream-kcsan-gce
2020/06/05 13:14 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 d36418e9 .config console log report ci2-upstream-kcsan-gce
2020/06/05 01:07 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 2420d1bc .config console log report ci2-upstream-kcsan-gce
2020/06/04 13:08 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 6720fdef .config console log report ci2-upstream-kcsan-gce
2020/06/04 01:01 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 b0d1c0d5 .config console log report ci2-upstream-kcsan-gce
2020/06/03 12:27 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 a5ce5de0 .config console log report ci2-upstream-kcsan-gce
2020/06/03 00:28 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 f3ba1b5b .config console log report ci2-upstream-kcsan-gce
2020/06/02 12:26 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 52fd7b7d .config console log report ci2-upstream-kcsan-gce
2020/05/31 08:36 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 a0331e89 .config console log report ci2-upstream-kcsan-gce
2020/05/30 14:29 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 6f3e1c7c .config console log report ci2-upstream-kcsan-gce
2020/05/30 02:27 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 954bd312 .config console log report ci2-upstream-kcsan-gce
2020/05/29 13:49 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 bed08304 .config console log report ci2-upstream-kcsan-gce
2020/05/29 00:42 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 d19ed305 .config console log report ci2-upstream-kcsan-gce
2020/05/28 12:25 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 c7192a2f .config console log report ci2-upstream-kcsan-gce
2020/05/26 17:16 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 9072c126 .config console log report ci2-upstream-kcsan-gce
2020/05/26 00:40 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 8ca3b7d2 .config console log report ci2-upstream-kcsan-gce
2020/05/25 12:38 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 73964a9b .config console log report ci2-upstream-kcsan-gce
2020/05/25 00:38 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 11284182 .config console log report ci2-upstream-kcsan-gce
2020/05/24 12:33 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 ce7ca010 .config console log report ci2-upstream-kcsan-gce
2019/10/04 15:10 https://github.com/google/ktsan.git kcsan b4bd934316dc c86336cf .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.