mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
mptcp: pm: send ACK on an active subflow
commit c07cc3ed895f9bfe0c53b5ed6be710c133b4271c upstream.
Taking the first one on the list doesn't work in some cases, e.g. if the
initial subflow is being removed. Pick another one instead of not
sending anything.
Fixes: 84dfe3677a ("mptcp: send out dedicated ADD_ADDR packet")
Cc: stable@vger.kernel.org
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c923fe32af
commit
64fa1fed61
@@ -750,9 +750,12 @@ void mptcp_pm_nl_addr_send_ack(struct mptcp_sock *msk)
|
|||||||
!mptcp_pm_should_rm_signal(msk))
|
!mptcp_pm_should_rm_signal(msk))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
subflow = list_first_entry_or_null(&msk->conn_list, typeof(*subflow), node);
|
mptcp_for_each_subflow(msk, subflow) {
|
||||||
if (subflow)
|
if (__mptcp_subflow_active(subflow)) {
|
||||||
mptcp_pm_send_ack(msk, subflow, false, false);
|
mptcp_pm_send_ack(msk, subflow, false, false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *msk,
|
int mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *msk,
|
||||||
|
|||||||
Reference in New Issue
Block a user