Skip to content

Commit daf42f8

Browse files
Paolo Abenismb49
authored andcommitted
mptcp: avoid bogus reset on fallback close
BugLink: https://bugs.launchpad.net/bugs/2038969 commit ff18f9e upstream. Since the blamed commit, the MPTCP protocol unconditionally sends TCP resets on all the subflows on disconnect(). That fits full-blown MPTCP sockets - to implement the fastclose mechanism - but causes unexpected corruption of the data stream, caught as sporadic self-tests failures. Fixes: d21f834 ("mptcp: use fastclose on more edge scenarios") Cc: stable@vger.kernel.org Tested-by: Matthieu Baerts <matthieu.baerts@tessares.net> Closes: multipath-tcp/mptcp_net-next#419 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> Link: https://lore.kernel.org/r/20230803-upstream-net-20230803-misc-fixes-6-5-v1-3-6671b1ab11cc@tessares.net Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Kamal Mostafa <kamal@canonical.com> Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
1 parent b812dcf commit daf42f8

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

net/mptcp/protocol.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2353,7 +2353,7 @@ static void __mptcp_close_ssk(struct sock *sk, struct sock *ssk,
23532353

23542354
lock_sock_nested(ssk, SINGLE_DEPTH_NESTING);
23552355

2356-
if (flags & MPTCP_CF_FASTCLOSE) {
2356+
if ((flags & MPTCP_CF_FASTCLOSE) && !__mptcp_check_fallback(msk)) {
23572357
/* be sure to force the tcp_disconnect() path,
23582358
* to generate the egress reset
23592359
*/

0 commit comments

Comments
 (0)