Message ID | 20210202174754.6861-3-fw@strlen.de |
---|---|
State | Accepted, archived |
Commit | 51e4bae2c6c9b93cd6d43621ca5eccaf8c6e97b2 |
Delegated to: | Matthieu Baerts |
Headers | show |
Series | mptcp: netlink event fixes | expand |
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index b5ba832ca58b..24eb42a60844 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2150,7 +2150,8 @@ static void __mptcp_close_ssk(struct sock *sk, struct sock *ssk, void mptcp_close_ssk(struct sock *sk, struct sock *ssk, struct mptcp_subflow_context *subflow) { - mptcp_event(MPTCP_EVENT_SUB_CLOSED, mptcp_sk(sk), ssk, GFP_KERNEL); + if (sk->sk_state == TCP_ESTABLISHED) + mptcp_event(MPTCP_EVENT_SUB_CLOSED, mptcp_sk(sk), ssk, GFP_KERNEL); __mptcp_close_ssk(sk, ssk, subflow); }
A CLOSE event will be sent when the logical mptcp socket is closing. Thus there is no need to generate individual subflow close events if the mptcp socket isn't established anymore. Signed-off-by: Florian Westphal <fw@strlen.de> --- net/mptcp/protocol.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)