• Eric Dumazet's avatar
    Revert "tcp: Reset tcp connections in SYN-SENT state" · a7150e38
    Eric Dumazet authored
    This reverts commit e880f8b3.
    
    1) Patch has not been properly tested, and is wrong [1]
    2) Patch submission did not include TCP maintainer (this is me)
    
    [1]
    divide error: 0000 [#1] PREEMPT SMP KASAN
    CPU: 0 PID: 8426 Comm: syz-executor478 Not tainted 5.12.0-rc4-syzkaller #0
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    RIP: 0010:__tcp_select_window+0x56d/0xad0 net/ipv4/tcp_output.c:3015
    Code: 44 89 ff e8 d5 cd f0 f9 45 39 e7 0f 8d 20 ff ff ff e8 f7 c7 f0 f9 44 89 e3 e9 13 ff ff ff e8 ea c7 f0 f9 44 89 e0 44 89 e3 99 <f7> 7c 24 04 29 d3 e9 fc fe ff ff e8 d3 c7 f0 f9 41 f7 dc bf 1f 00
    RSP: 0018:ffffc9000184fac0 EFLAGS: 00010293
    RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
    RDX: 0000000000000000 RSI: ffffffff87832e76 RDI: 0000000000000003
    RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
    R10: ffffffff87832e14 R11: 0000000000000000 R12: 0000000000000000
    R13: 1ffff92000309f5c R14: 0000000000000000 R15: 0000000000000000
    FS:  00000000023eb300(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00007fc2b5f426c0 CR3: 000000001c5cf000 CR4: 00000000001506f0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:
     tcp_select_window net/ipv4/tcp_output.c:264 [inline]
     __tcp_transmit_skb+0xa82/0x38f0 net/ipv4/tcp_output.c:1351
     tcp_transmit_skb net/ipv4/tcp_output.c:1423 [inline]
     tcp_send_active_reset+0x475/0x8e0 net/ipv4/tcp_output.c:3449
     tcp_disconnect+0x15a9/0x1e60 net/ipv4/tcp.c:2955
     inet_shutdown+0x260/0x430 net/ipv4/af_inet.c:905
     __sys_shutdown_sock net/socket.c:2189 [inline]
     __sys_shutdown_sock net/socket.c:2183 [inline]
     __sys_shutdown+0xf1/0x1b0 net/socket.c:2201
     __do_sys_shutdown net/socket.c:2209 [inline]
     __se_sys_shutdown net/socket.c:2207 [inline]
     __x64_sys_shutdown+0x50/0x70 net/socket.c:2207
     do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
     entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    Fixes: e880f8b3 ("tcp: Reset tcp connections in SYN-SENT state")
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
    Cc: Manoj Basapathi <manojbm@codeaurora.org>
    Cc: Sauvik Saha <ssaha@codeaurora.org>
    Link: https://lore.kernel.org/r/20210409170237.274904-1-eric.dumazet@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    a7150e38
tcp.c 120 KB