summaryrefslogtreecommitdiff
path: root/net/mptcp/pm_kernel.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-29 16:10:32 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-29 16:10:32 +0300
commitc85bcf5629baf641bef76c69f6fb71feaf05cc61 (patch)
tree87afb6bf25e749328dcc85e8125e54445a79a90c /net/mptcp/pm_kernel.c
parent53edb6a8231f70d7df693b0c4c33462d2fce0044 (diff)
parent371f1e070fa95c71356104a406855a361aad5668 (diff)
downloadlinux-c85bcf5629baf641bef76c69f6fb71feaf05cc61.tar.xz
Merge v6.17.6
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/mptcp/pm_kernel.c')
-rw-r--r--net/mptcp/pm_kernel.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/mptcp/pm_kernel.c b/net/mptcp/pm_kernel.c
index 8c46493a0835..07f50d0304cf 100644
--- a/net/mptcp/pm_kernel.c
+++ b/net/mptcp/pm_kernel.c
@@ -333,6 +333,10 @@ static void mptcp_pm_create_subflow_or_signal_addr(struct mptcp_sock *msk)
}
subflow:
+ /* No need to try establishing subflows to remote id0 if not allowed */
+ if (mptcp_pm_add_addr_c_flag_case(msk))
+ goto exit;
+
/* check if should create a new subflow */
while (msk->pm.local_addr_used < local_addr_max &&
msk->pm.subflows < subflows_max) {
@@ -364,6 +368,8 @@ subflow:
__mptcp_subflow_connect(sk, &local, &addrs[i]);
spin_lock_bh(&msk->pm.lock);
}
+
+exit:
mptcp_pm_nl_check_work_pending(msk);
}