tcp: properly track retry time on passive Fast Open
Yuchung Cheng authored

This patch addresses a corner issue on timeout behavior of a
passive Fast Open socket.  A passive Fast Open server may write
and close the socket when it is re-trying SYN-ACK to complete
the handshake. After the handshake is completely, the server does
not properly stamp the recovery start time (tp->retrans_stamp is
0), and the socket may abort immediately on the very first FIN
timeout, instead of retying until it passes the system or user
specified limit.
Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Reviewed-by: default avatarNeal Cardwell <ncardwell@google.com>
Reviewed-by: default avatarSoheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
c7d13c8f
Name Last commit Last update
Documentation Documentation: networking: dsa: Update documentation
LICENSES Merge tag 'docs-4.20' of git://git.lwn.net/linux
arch net: introduce SO_BINDTOIFINDEX sockopt
block block: fix kerneldoc comment for blk_attempt_plug_merge()
certs kbuild: remove redundant target cleaning on failure
crypto Merge tag 'kconfig-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
drivers net: phy: micrel: use phy_read_mmd and phy_write_mmd
firmware kbuild: change filechk to surround the given command with { }
fs Merge tag 'for-5.0-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
include net: introduce SO_BINDTOIFINDEX sockopt
init jump_label: move 'asm goto' support test to Kconfig
ipc ipc: IPCMNI limit check for semmni
kernel Merge tag 'trace-v5.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
lib sbitmap: Protect swap_lock from hardirq
mm mm/mmu_notifier: mm/rmap.c: Fix a mmu_notifier range bug in try_to_unmap_one
net tcp: properly track retry time on passive Fast Open
samples Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
scripts Merge tag 'remove-dma_zalloc_coherent-5.0' of git://git.infradead.org/users/hch/dma-mapping
security Merge branch 'mount.part1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
sound Merge tag 'remove-dma_zalloc_coherent-5.0' of git://git.infradead.org/users/hch/dma-mapping
tools selftests/tls: Fix recv partial/large_buff test cases
usr user/Makefile: Fix typo and capitalization in comment section
virt KVM: validate userspace input in kvm_clear_dirty_log_protect()
.clang-format page cache: Convert find_get_pages_contig to XArray
.cocciconfig scripts: add Linux .cocciconfig for coccinelle
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.