mptcp: avoid setting TCP_CLOSE state twice
authorMatthieu Baerts <matthieu.baerts@tessares.net>
Thu, 9 Mar 2023 14:50:03 +0000 (15:50 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 11 Mar 2023 05:42:56 +0000 (21:42 -0800)
tcp_set_state() is called from tcp_done() already.

There is then no need to first set the state to TCP_CLOSE, then call
tcp_done().

Fixes: d582484726c4 ("mptcp: fix fallback for MP_JOIN subflows")
Cc: stable@vger.kernel.org
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/362
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/subflow.c

index 2aadc87..a004136 100644 (file)
@@ -406,7 +406,6 @@ void mptcp_subflow_reset(struct sock *ssk)
        /* must hold: tcp_done() could drop last reference on parent */
        sock_hold(sk);
 
-       tcp_set_state(ssk, TCP_CLOSE);
        tcp_send_active_reset(ssk, GFP_ATOMIC);
        tcp_done(ssk);
        if (!test_and_set_bit(MPTCP_WORK_CLOSE_SUBFLOW, &mptcp_sk(sk)->flags) &&