Skip to content
This repository has been archived by the owner on Apr 18, 2024. It is now read-only.

Commit

Permalink
mptcp: Close remaining subflows when falling back in mptcp_verif_dss_…
Browse files Browse the repository at this point in the history
…csum

Since commit b079a18 ("mptcp: Remove cnt_subflows") subflows can
actually be in non-fully established and we will still send an MP_FAIL.

Thus, there can be multiple subflows and we need to make sure that the
other ones are getting closed in that case.

Otherwise, we will hit the case where we have a TCP-subflow hanging
around (potentially calling tcp_write_err()) when the meta is already
closed and we will get a warning like:
[  213.983095] ------------[ cut here ]------------
[  213.984532] Meta already closed i_rcv 0 i_snd 0 send_i 1 flags 0x2000301
[  213.986591] WARNING: CPU: 3 PID: 0 at /mnt/tmp/builder/builder_env/mptcp/net/mptcp/mptcp_ctrl.c:626 mptcp_sock_def_error_report+0xe0/0xf0
[...]

Fixes: b079a18 ("mptcp: Remove cnt_subflows")
Signed-off-by: Christoph Paasch <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
  • Loading branch information
cpaasch authored and matttbe committed Sep 14, 2018
1 parent 1696c18 commit 81a1965
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions net/mptcp/mptcp_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,8 @@ static int mptcp_verif_dss_csum(struct sock *sk)
kfree_skb(tmp);
}

mptcp_sub_force_close_all(tp->mpcb, sk);

ans = 0;
}
}
Expand Down

0 comments on commit 81a1965

Please sign in to comment.