diff options
author | 2020-07-28 15:12:07 -0700 | |
---|---|---|
committer | 2020-07-28 17:02:42 -0700 | |
commit | 067a0b3dc52f0f79b9fe64ff8d9bcbb0ffbcf8fc (patch) | |
tree | 09744dfd1686c371fefb497ae8c65d7f71681c9a /net/mptcp | |
parent | mptcp: Use full MPTCP-level disconnect state machine (diff) | |
download | linux-067a0b3dc52f0f79b9fe64ff8d9bcbb0ffbcf8fc.tar.gz linux-067a0b3dc52f0f79b9fe64ff8d9bcbb0ffbcf8fc.tar.bz2 linux-067a0b3dc52f0f79b9fe64ff8d9bcbb0ffbcf8fc.zip |
mptcp: Only use subflow EOF signaling on fallback connections
The MPTCP state machine handles disconnections on non-fallback connections,
but the mptcp_sock still needs to get notified when fallback subflows
disconnect.
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mptcp')
-rw-r--r-- | net/mptcp/subflow.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 7ab2a52ad150..1c8482bc2ce5 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -1159,7 +1159,8 @@ static void subflow_state_change(struct sock *sk) if (mptcp_subflow_data_available(sk)) mptcp_data_ready(parent, sk); - if (!(parent->sk_shutdown & RCV_SHUTDOWN) && + if (__mptcp_check_fallback(mptcp_sk(parent)) && + !(parent->sk_shutdown & RCV_SHUTDOWN) && !subflow->rx_eof && subflow_is_done(sk)) { subflow->rx_eof = 1; mptcp_subflow_eof(parent); |