syzbot


KCSAN: data-race in __inet6_lookup_established / inet_put_port

Status: auto-closed as invalid on 2022/01/09 18:03
Reported-by: syzbot+@syzkaller.appspotmail.com
First crash: 369d, last: 365d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __inet6_lookup_established / inet_put_port

write to 0xffff8881568c0a8e of 2 bytes by task 33 on cpu 0:
 __inet_put_port net/ipv4/inet_hashtables.c:118 [inline]
 inet_put_port+0x112/0x1b0 net/ipv4/inet_hashtables.c:126
 tcp_set_state net/ipv4/tcp.c:2602 [inline]
 __tcp_close+0x5a6/0x11d0 net/ipv4/tcp.c:2762
 tcp_close+0x24/0xa0 net/ipv4/tcp.c:2888
 inet_release+0xc6/0xe0 net/ipv4/af_inet.c:427
 inet6_release+0x3a/0x50 net/ipv6/af_inet6.c:479
 __sock_release net/socket.c:649 [inline]
 sock_release+0x40/0xd0 net/socket.c:677
 rds_tcp_accept_one+0xd0/0x670 net/rds/tcp_listen.c:226
 rds_tcp_accept_worker+0x21/0x70 net/rds/tcp.c:515
 process_one_work+0x3fc/0x980 kernel/workqueue.c:2298
 worker_thread+0x616/0xa70 kernel/workqueue.c:2445
 kthread+0x2c7/0x2e0 kernel/kthread.c:327
 ret_from_fork+0x1f/0x30

read to 0xffff8881568c0a8c of 4 bytes by interrupt on cpu 1:
 __inet6_lookup_established+0x40d/0x600 net/ipv6/inet6_hashtables.c:79
 tcp_v6_early_demux+0x1ff/0x3f0 net/ipv6/tcp_ipv6.c:1869
 ip6_rcv_finish_core net/ipv6/ip6_input.c:59 [inline]
 ip6_rcv_finish+0x247/0x260 net/ipv6/ip6_input.c:74
 NF_HOOK include/linux/netfilter.h:307 [inline]
 ipv6_rcv+0x85/0x140 net/ipv6/ip6_input.c:297
 __netif_receive_skb_one_core net/core/dev.c:5465 [inline]
 __netif_receive_skb+0x8b/0x1b0 net/core/dev.c:5579
 process_backlog+0x23f/0x3e0 net/core/dev.c:6455
 __napi_poll+0x65/0x3f0 net/core/dev.c:7023
 napi_poll net/core/dev.c:7090 [inline]
 net_rx_action+0x29e/0x650 net/core/dev.c:7177
 __do_softirq+0x158/0x2de kernel/softirq.c:558
 do_softirq+0xb1/0xf0 kernel/softirq.c:459
 __local_bh_enable_ip+0x68/0x70 kernel/softirq.c:383
 local_bh_enable+0x1b/0x20 include/linux/bottom_half.h:33
 rcu_read_unlock_bh include/linux/rcupdate.h:758 [inline]
 ip6_finish_output2+0x9c5/0xbb0 net/ipv6/ip6_output.c:127
 __ip6_finish_output net/ipv6/ip6_output.c:191 [inline]
 ip6_finish_output+0x444/0x4c0 net/ipv6/ip6_output.c:201
 NF_HOOK_COND include/linux/netfilter.h:296 [inline]
 ip6_output+0x10e/0x210 net/ipv6/ip6_output.c:224
 dst_output include/net/dst.h:450 [inline]
 NF_HOOK include/linux/netfilter.h:307 [inline]
 ip6_xmit+0x875/0xa60 net/ipv6/ip6_output.c:324
 inet6_csk_xmit+0x1a2/0x1e0 net/ipv6/inet6_connection_sock.c:135
 __tcp_transmit_skb+0x132a/0x1840 net/ipv4/tcp_output.c:1402
 tcp_transmit_skb net/ipv4/tcp_output.c:1420 [inline]
 tcp_write_xmit+0x1450/0x4460 net/ipv4/tcp_output.c:2680
 __tcp_push_pending_frames+0x68/0x1c0 net/ipv4/tcp_output.c:2864
 tcp_sendmsg_locked+0x1783/0x25a0 net/ipv4/tcp.c:1391
 tcp_sendmsg+0x2c/0x40 net/ipv4/tcp.c:1440
 inet6_sendmsg+0x5f/0x80 net/ipv6/af_inet6.c:644
 sock_sendmsg_nosec net/socket.c:704 [inline]
 sock_sendmsg net/socket.c:724 [inline]
 __sys_sendto+0x21e/0x2c0 net/socket.c:2036
 __do_sys_sendto net/socket.c:2048 [inline]
 __se_sys_sendto net/socket.c:2044 [inline]
 __x64_sys_sendto+0x74/0x90 net/socket.c:2044
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae

value changed: 0x400172ca -> 0x000072ca

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

Crashes (2):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-upstream-kcsan-gce 2021/12/05 17:58 upstream 79a72162048e a617004c .config log report info KCSAN: data-race in __inet6_lookup_established / inet_put_port
ci2-upstream-kcsan-gce 2021/12/01 18:50 upstream 58e1100fdc59 5fa3eacc .config log report info KCSAN: data-race in __inet6_lookup_established / inet_put_port
* Struck through repros no longer work on HEAD.