OpenCloudOS-Kernel/net/mptcp
Paolo Abeni 578c18eff1 mptcp: fix splat when closing unaccepted socket
If userspace exits before calling accept() on a listener that had at least
one new connection ready, we get:

   Attempt to release TCP socket in state 8

This happens because the mptcp socket gets cloned when the TCP connection
is ready, but the socket is never exposed to userspace.

The client additionally sends a DATA_FIN, which brings connection into
CLOSE_WAIT state.  This in turn prevents the orphan+state reset fixup
in mptcp_sock_destruct() from doing its job.

Fixes: 3721b9b646 ("mptcp: Track received DATA_FIN sequence number and add related helpers")
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/185
Tested-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Link: https://lore.kernel.org/r/20210507001638.225468-1-mathew.j.martineau@linux.intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-05-07 15:53:40 -07:00
..
Kconfig kunit: mptcp: adhere to KUNIT formatting standard 2021-04-16 17:10:40 -07:00
Makefile kunit: mptcp: adhere to KUNIT formatting standard 2021-04-16 17:10:40 -07:00
crypto.c kunit: mptcp: adhere to KUNIT formatting standard 2021-04-16 17:10:40 -07:00
crypto_test.c mptcp: move crypto test to KUNIT 2020-06-26 16:21:39 -07:00
ctrl.c mptcp: add a new sysctl add_addr_timeout 2020-11-04 17:45:53 -08:00
diag.c mptcp: allow dumping subflow context to userspace 2020-03-29 22:14:48 -07:00
mib.c mptcp: add active MPC mibs 2021-04-02 14:21:50 -07:00
mib.h mptcp: add active MPC mibs 2021-04-02 14:21:50 -07:00
mptcp_diag.c mptcp: add local addr info in mptcp_info 2021-02-15 15:09:14 -08:00
options.c mptcp: add tracepoint in ack_update_msk 2021-04-16 17:10:40 -07:00
pm.c mptcp: rename mptcp_pm_nl_add_addr_send_ack 2021-03-26 15:05:15 -07:00
pm_netlink.c mptcp: move flags and ifindex out of mptcp_addr_info 2021-04-07 14:09:39 -07:00
protocol.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-26 12:00:00 -07:00
protocol.h mptcp: export mptcp_subflow_active 2021-04-16 17:10:40 -07:00
sockopt.c mptcp: sockopt: add TCP_CONGESTION and TCP_INFO 2021-04-16 15:23:10 -07:00
subflow.c mptcp: fix splat when closing unaccepted socket 2021-05-07 15:53:40 -07:00
syncookies.c mptcp: fix syncookie build error on UP 2020-08-01 11:52:55 -07:00
token.c kunit: mptcp: adhere to KUNIT formatting standard 2021-04-16 17:10:40 -07:00
token_test.c mptcp: introduce token KUNIT self-tests 2020-06-26 16:21:39 -07:00