diff --git a/net/mptcp/mptcp_ctrl.c b/net/mptcp/mptcp_ctrl.c index cd5a6b6f9b50..e2835ea5e4f9 100644 --- a/net/mptcp/mptcp_ctrl.c +++ b/net/mptcp/mptcp_ctrl.c @@ -2317,11 +2317,12 @@ void mptcp_twsk_destructor(struct tcp_timewait_sock *tw) if (tw->mptcp_tw->in_list) { list_del_rcu(&tw->mptcp_tw->list); tw->mptcp_tw->in_list = 0; + /* Put, because we added it to the list */ + mptcp_mpcb_put(mpcb); } spin_unlock(&mpcb->tw_lock); - /* Twice, because we increased it above */ - mptcp_mpcb_put(mpcb); + /* Second time, because we increased it above */ mptcp_mpcb_put(mpcb); }