linux-stable/net/mptcp
Paolo Abeni 1249db44a1 mptcp: be careful on subflow status propagation on errors
Currently the subflow error report callback unconditionally
propagates the fallback subflow status to the owning msk.

If the msk is already orphaned, the above prevents the code
from correctly tracking the msk moving to the TCP_CLOSE state
and doing the appropriate cleanup.

All the above causes increasing memory usage over time and
sporadic self-tests failures.

There is a great deal of infrastructure trying to propagate
correctly the fallback subflow status to the owning mptcp socket,
e.g. via mptcp_subflow_eof() and subflow_sched_work_if_closed():
in the error propagation path we need only to cope with unorphaned
sockets.

Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/339
Fixes: 15cc104533 ("mptcp: deliver ssk errors to msk")
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-02-08 09:39:34 +00:00
..
Kconfig kunit: mptcp: adhere to KUNIT formatting standard 2021-04-16 17:10:40 -07:00
Makefile mptcp: implement delayed seq generation for passive fastopen 2022-11-29 20:24:25 -08:00
bpf.c bpf: Add bpf_skc_to_mptcp_sock_proto 2022-05-20 15:29:00 -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 per-namespace sysctl to set the default path manager type 2022-04-29 17:25:14 -07:00
diag.c mptcp: allow dumping subflow context to userspace 2020-03-29 22:14:48 -07:00
fastopen.c mptcp: add subflow_v(4,6)_send_synack() 2022-11-29 20:24:25 -08:00
mib.c mptcp: add more offered MIBs counter 2022-05-05 19:00:16 -07:00
mib.h mptcp: add more offered MIBs counter 2022-05-05 19:00:16 -07:00
mptcp_diag.c tcp: Access &tcp_hashinfo via net. 2022-09-20 10:21:49 -07:00
options.c mptcp: implement delayed seq generation for passive fastopen 2022-11-29 20:24:25 -08:00
pm.c mptcp: netlink: respect v4/v6-only sockets 2023-01-13 21:55:45 -08:00
pm_netlink.c mptcp: fix locking for in-kernel listener creation 2023-02-08 09:39:34 +00:00
pm_userspace.c mptcp: netlink: respect v4/v6-only sockets 2023-01-13 21:55:45 -08:00
protocol.c mptcp: do not wait for bare sockets' timeout 2023-02-08 09:39:34 +00:00
protocol.h mptcp: netlink: respect v4/v6-only sockets 2023-01-13 21:55:45 -08:00
sockopt.c mptcp: fix locking for setsockopt corner-case 2023-02-08 09:39:34 +00:00
subflow.c mptcp: be careful on subflow status propagation on errors 2023-02-08 09:39:34 +00:00
syncookies.c mptcp: don't return sockets in foreign netns 2021-09-24 10:51:36 +01:00
token.c mptcp: Fix grammar in a comment 2022-11-11 21:19:47 -08:00
token_test.c mptcp: don't return sockets in foreign netns 2021-09-24 10:51:36 +01:00