Skip to content

Commit

Permalink
mptcp: avoid bogus reset on fallback close
Browse files Browse the repository at this point in the history
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,
catched as sporadic self-tests failures.

Fixes: d21f834 ("mptcp: use fastclose on more edge scenarios")
Tested-by: Matthieu Baerts <[email protected]>
Closes: multipath-tcp/mptcp_net-next#419
Signed-off-by: Paolo Abeni <[email protected]>
  • Loading branch information
Paolo Abeni authored and intel-lab-lkp committed Jul 27, 2023
1 parent f374771 commit 7fbd5f4
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/mptcp/protocol.c
Original file line number Diff line number Diff line change
Expand Up @@ -2346,7 +2346,7 @@ static void __mptcp_close_ssk(struct sock *sk, struct sock *ssk,

lock_sock_nested(ssk, SINGLE_DEPTH_NESTING);

if (flags & MPTCP_CF_FASTCLOSE) {
if ((flags & MPTCP_CF_FASTCLOSE) && !__mptcp_check_fallback(msk)) {
/* be sure to force the tcp_disconnect() path,
* to generate the egress reset
*/
Expand Down

0 comments on commit 7fbd5f4

Please sign in to comment.