syzbot


KCSAN: data-race in inet_sk_set_state / skb_set_owner_w

Status: auto-closed as invalid on 2020/03/22 22:09
Subsystems: net
[Documentation on labels]
First crash: 1843d, last: 1843d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in inet_sk_set_state / skb_set_owner_w

write to 0xffff8880abad3012 of 1 bytes by interrupt on cpu 1:
 inet_sk_set_state+0x5c/0x170 net/ipv4/af_inet.c:1287
 dccp_set_state+0x17d/0x2a0 net/dccp/proto.c:113
 dccp_rcv_closereq+0x19b/0x1b0 net/dccp/input.c:115
 dccp_rcv_state_process+0x771/0xb9b net/dccp/input.c:665
 dccp_v4_do_rcv+0x90/0x100 net/dccp/ipv4.c:684
 sk_backlog_rcv include/net/sock.h:949 [inline]
 __sk_receive_skb+0x1b5/0x580 net/core/sock.c:519
 dccp_v4_rcv+0x99f/0xf9b net/dccp/ipv4.c:876
 ip_protocol_deliver_rcu+0x4d/0x420 net/ipv4/ip_input.c:204
 ip_local_deliver_finish+0x110/0x140 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+0x133/0x210 net/ipv4/ip_input.c:252
 dst_input include/net/dst.h:442 [inline]
 ip_rcv_finish+0x123/0x160 net/ipv4/ip_input.c:428
 NF_HOOK include/linux/netfilter.h:307 [inline]
 NF_HOOK include/linux/netfilter.h:301 [inline]
 ip_rcv+0x18f/0x1a0 net/ipv4/ip_input.c:538
 __netif_receive_skb_one_core+0xa7/0xe0 net/core/dev.c:5150
 __netif_receive_skb+0x37/0xf0 net/core/dev.c:5264
 process_backlog+0x207/0x4b0 net/core/dev.c:6095
 napi_poll net/core/dev.c:6532 [inline]
 net_rx_action+0x3ae/0xa90 net/core/dev.c:6600
 __do_softirq+0x115/0x33f kernel/softirq.c:292
 do_softirq_own_stack+0x2a/0x40 arch/x86/entry/entry_64.S:1082
 do_softirq.part.0+0x6b/0x80 kernel/softirq.c:337
 do_softirq kernel/softirq.c:329 [inline]
 __local_bh_enable_ip+0x76/0x80 kernel/softirq.c:189
 local_bh_enable include/linux/bottom_half.h:32 [inline]
 rcu_read_unlock_bh include/linux/rcupdate.h:706 [inline]
 ip_finish_output2+0x421/0xea0 net/ipv4/ip_output.c:229
 __ip_finish_output net/ipv4/ip_output.c:308 [inline]
 __ip_finish_output+0x23a/0x490 net/ipv4/ip_output.c:290
 ip_finish_output+0x41/0x160 net/ipv4/ip_output.c:318
 NF_HOOK_COND include/linux/netfilter.h:296 [inline]
 ip_output+0xfe/0x230 net/ipv4/ip_output.c:432
 dst_output include/net/dst.h:436 [inline]
 ip_local_out+0x74/0x90 net/ipv4/ip_output.c:125
 __ip_queue_xmit+0x3a8/0xa40 net/ipv4/ip_output.c:532
 ip_queue_xmit+0x45/0x60 include/net/ip.h:237
 dccp_transmit_skb+0x5a2/0x940 net/dccp/output.c:138
 dccp_send_close+0x16a/0x202 net/dccp/output.c:699
 dccp_terminate_connection net/dccp/proto.c:983 [inline]
 dccp_close+0x780/0x8e0 net/dccp/proto.c:1046
 inet_release+0x86/0x100 net/ipv4/af_inet.c:427
 inet6_release+0x4a/0x70 net/ipv6/af_inet6.c:470
 __sock_release+0x85/0x160 net/socket.c:592
 sock_close+0x24/0x30 net/socket.c:1270
 __fput+0x1e1/0x520 fs/file_table.c:280
 ____fput+0x1f/0x30 fs/file_table.c:313
 task_work_run+0xf6/0x130 kernel/task_work.c:113
 tracehook_notify_resume include/linux/tracehook.h:188 [inline]
 exit_to_usermode_loop+0x2b4/0x2c0 arch/x86/entry/common.c:164
 prepare_exit_to_usermode arch/x86/entry/common.c:195 [inline]
 syscall_return_slowpath arch/x86/entry/common.c:278 [inline]
 do_syscall_64+0x384/0x3a0 arch/x86/entry/common.c:304
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffff8880abad3012 of 1 bytes by task 13847 on cpu 0:
 sk_fullsock include/net/sock.h:2495 [inline]
 skb_set_owner_w+0x7d/0x290 net/core/sock.c:1986
 sock_alloc_send_pskb+0x511/0x530 net/core/sock.c:2245
 sock_alloc_send_skb+0x3b/0x50 net/core/sock.c:2259
 dccp_sendmsg+0x15c/0x7b0 net/dccp/proto.c:786
 inet_sendmsg+0x6d/0x90 net/ipv4/af_inet.c:807
 sock_sendmsg_nosec net/socket.c:639 [inline]
 sock_sendmsg+0x9f/0xc0 net/socket.c:659
 ____sys_sendmsg+0x212/0x4d0 net/socket.c:2330
 ___sys_sendmsg+0xb5/0x100 net/socket.c:2384
 __sys_sendmmsg+0x123/0x350 net/socket.c:2474
 __do_sys_sendmmsg net/socket.c:2503 [inline]
 __se_sys_sendmmsg net/socket.c:2500 [inline]
 __x64_sys_sendmmsg+0x64/0x80 net/socket.c:2500
 do_syscall_64+0xcc/0x3a0 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

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

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/01/12 22:01 https://github.com/google/ktsan.git kcsan 245a43005292 31290a45 .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.