From nobody Sat Apr 11 12:45:17 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 66935393DE9 for ; Fri, 10 Apr 2026 14:32:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775831540; cv=none; b=VoXiu/Blm4/Xg+v8wydbr2VFzxB9H3awW2QXrHUae7fiPamZ1QyxOBrvGh24JL28zBtDlkXGSceJEEDA3QfKnVY4NiPHnqjJxiWpZ29tUyvyB9oJp+yYjfOPte9UVV/mIbZeD/Wq7wv/hcMI1d8wqoFmgUpW4vl6rMCOWioGDAE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775831540; c=relaxed/simple; bh=vAsXZO9ae9kchstOr45ewf02nHFlzKA40VQo54RfclY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XssY4dFtLn6TF+tYSWmgdi+sRtrUQ7OKh6OUAx15ogIyap3m8KcfHqm22tLmjhIz/Dc3LFOWUCmfRTbHJw/vSRy28olCq1SPokgBQoJUYkY2gDRNqNE2p5EXARsN/4EVK5mJwes8iQJTRC9EesQClyy1ZwZj2K7GO2sYHr6eDCc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=r4r4dMq0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="r4r4dMq0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 80800C2BC9E; Fri, 10 Apr 2026 14:32:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1775831540; bh=vAsXZO9ae9kchstOr45ewf02nHFlzKA40VQo54RfclY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=r4r4dMq0umd8VOyH6PM1c9sn2h3PWUPrpYA33OqHlS8FXq8gN0S1nXUpOBC9S0uet 6tHsDttwd39Yj9Q4t/hEH6c8BYBjL4IgqMKmyOJgEcqNzu6P+YPkEIT6Iza9pwInm1 Tow8prdvveFLn7w/74UQhCsAeqsm5AEdrP5aGsV3MmnI19/hehFYsLy9Cc9wzZD8XB fdfMLfklaw7crtsn/uPGqJfqN0p5WBmZPUM271Jum/E9lJJSbSqbIEpIp/msKChJO3 Y7fhbe+P83GPy6kcloRGaef+IRPmG8b93kUkUgGJLQ0w2BcdG+jA1fmCHTMfpg7yc/ AQLWGrevGrqJg== From: "Matthieu Baerts (NGI0)" Date: Fri, 10 Apr 2026 16:31:55 +0200 Subject: [PATCH mptcp-next v2 17/17] mptcp: pm: clearer ADD_ADDR related helpers names Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260410-mptcp-inc-limits-v2-17-5402209f05d3@kernel.org> References: <20260410-mptcp-inc-limits-v2-0-5402209f05d3@kernel.org> In-Reply-To: <20260410-mptcp-inc-limits-v2-0-5402209f05d3@kernel.org> To: MPTCP Upstream Cc: "Matthieu Baerts (NGI0)" X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=16299; i=matttbe@kernel.org; h=from:subject:message-id; bh=vAsXZO9ae9kchstOr45ewf02nHFlzKA40VQo54RfclY=; b=owGbwMvMwCVWo/Th0Gd3rumMp9WSGDJvcj4Ls369fffic6ZTZkV2lPSxnr8Su/2xu5zFxjcmp /aleG5t7ihlYRDjYpAVU2SRbovMn/m8irfEy88CZg4rE8gQBi5OAZhIyDJGhhNVrUVTXeuiFPUu e8zYrrqp6lJ85OPesBye+gyHirll6YwMCzcli86f7zSv+KZzM/OJ0ApmnnfTPD6wHFtmmiCf2Wn GDAA= X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Here is a suggestion, and if it is OK, I will split this in multiple commits: it is not the first time the 'add' and 'anno' names to describe ADD_ADDR related functions are confusing. Eric already pointed that in [1]. I started by renaming only the internal helper names, then while at it, I tried to uniform everything linked to ADD_ADDR. WDYT? Link: https://lore.kernel.org/20251117100745.1913963-1-edumazet@google.com = [1] Signed-off-by: Matthieu Baerts (NGI0) --- net/mptcp/options.c | 2 +- net/mptcp/pm.c | 126 ++++++++++++++++++++++++-------------------= ---- net/mptcp/pm_kernel.c | 20 ++++---- net/mptcp/pm_userspace.c | 6 +-- net/mptcp/protocol.h | 19 +++---- net/mptcp/subflow.c | 4 +- 6 files changed, 90 insertions(+), 87 deletions(-) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 4cc583fdc7a9..8282e666167d 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -1211,7 +1211,7 @@ bool mptcp_incoming_options(struct sock *sk, struct s= k_buff *skb) MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_ADDADDR); } else { mptcp_pm_add_addr_echoed(msk, &mp_opt.addr); - mptcp_pm_del_add_timer(msk, &mp_opt.addr, true); + mptcp_pm_add_addr_del_timer(msk, &mp_opt.addr, true); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_ECHOADD); } =20 diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index c7bf79a3d1da..203a7b42d458 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -12,11 +12,11 @@ =20 #define ADD_ADDR_RETRANS_MAX 3 =20 -struct mptcp_pm_add_entry { +struct mptcp_pm_add_addr { struct list_head list; struct mptcp_addr_info addr; u8 retrans_times; - struct timer_list add_timer; + struct timer_list timer; struct mptcp_sock *sock; struct rcu_head rcu; }; @@ -114,14 +114,14 @@ static bool mptcp_pm_is_init_remote_addr(struct mptcp= _sock *msk, return mptcp_addresses_equal(&mpc_remote, remote, remote->port); } =20 -bool mptcp_lookup_subflow_by_saddr(const struct list_head *list, - const struct mptcp_addr_info *saddr) +bool mptcp_pm_subflow_lookup_by_saddr(struct mptcp_sock *msk, + const struct mptcp_addr_info *saddr) { struct mptcp_subflow_context *subflow; struct mptcp_addr_info cur; struct sock_common *skc; =20 - list_for_each_entry(subflow, list, node) { + mptcp_for_each_subflow(msk, subflow) { skc =3D (struct sock_common *)mptcp_subflow_tcp_sock(subflow); =20 mptcp_local_address(skc, &cur); @@ -132,38 +132,39 @@ bool mptcp_lookup_subflow_by_saddr(const struct list_= head *list, return false; } =20 -static struct mptcp_pm_add_entry * -mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock *msk, - const struct mptcp_addr_info *addr) +static struct mptcp_pm_add_addr * +mptcp_pm_add_addr_lookup_by_addr(const struct mptcp_sock *msk, + const struct mptcp_addr_info *addr) { - struct mptcp_pm_add_entry *entry; + struct mptcp_pm_add_addr *add_addr; =20 lockdep_assert_held(&msk->pm.lock); =20 - list_for_each_entry(entry, &msk->pm.anno_list, list) { - if (mptcp_addresses_equal(&entry->addr, addr, true)) - return entry; + list_for_each_entry(add_addr, &msk->pm.anno_list, list) { + if (mptcp_addresses_equal(&add_addr->addr, addr, true)) + return add_addr; } =20 return NULL; } =20 -bool mptcp_remove_anno_list_by_saddr(struct mptcp_sock *msk, - const struct mptcp_addr_info *addr) +bool mptcp_pm_add_addr_remove(struct mptcp_sock *msk, + const struct mptcp_addr_info *addr) { - struct mptcp_pm_add_entry *entry; + struct mptcp_pm_add_addr *add_addr; bool ret; =20 - entry =3D mptcp_pm_del_add_timer(msk, addr, false); - ret =3D entry; - kfree_rcu(entry, rcu); + add_addr =3D mptcp_pm_add_addr_del_timer(msk, addr, false); + ret =3D add_addr; + kfree_rcu(add_addr, rcu); =20 return ret; } =20 -bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock= *sk) +bool mptcp_pm_add_addr_lookup_by_sk(struct mptcp_sock *msk, + const struct sock *sk) { - struct mptcp_pm_add_entry *entry; + struct mptcp_pm_add_addr *entry; struct mptcp_addr_info saddr; bool ret =3D false; =20 @@ -334,11 +335,11 @@ static unsigned int mptcp_adjust_add_addr_timeout(str= uct mptcp_sock *msk) return max_stale && max_stale < rto ? max_stale : rto; } =20 -static void mptcp_pm_add_timer(struct timer_list *timer) +static void mptcp_pm_add_addr_timer(struct timer_list *timer) { - struct mptcp_pm_add_entry *entry =3D timer_container_of(entry, timer, - add_timer); - struct mptcp_sock *msk =3D entry->sock; + struct mptcp_pm_add_addr *add_addr =3D timer_container_of(add_addr, timer, + timer); + struct mptcp_sock *msk =3D add_addr->sock; struct sock *sk =3D (struct sock *)msk; unsigned int timeout; =20 @@ -366,19 +367,19 @@ static void mptcp_pm_add_timer(struct timer_list *tim= er) spin_lock_bh(&msk->pm.lock); =20 if (!mptcp_pm_should_add_signal_addr(msk)) { - pr_debug("retransmit ADD_ADDR id=3D%d\n", entry->addr.id); - mptcp_pm_announce_addr(msk, &entry->addr, false); + pr_debug("retransmit ADD_ADDR id=3D%d\n", add_addr->addr.id); + mptcp_pm_announce_addr(msk, &add_addr->addr, false); mptcp_pm_add_addr_send_ack(msk); - entry->retrans_times++; + add_addr->retrans_times++; } =20 - if (entry->retrans_times < ADD_ADDR_RETRANS_MAX) + if (add_addr->retrans_times < ADD_ADDR_RETRANS_MAX) sk_reset_timer(sk, timer, - jiffies + (timeout << entry->retrans_times)); + jiffies + (timeout << add_addr->retrans_times)); =20 spin_unlock_bh(&msk->pm.lock); =20 - if (entry->retrans_times =3D=3D ADD_ADDR_RETRANS_MAX) + if (add_addr->retrans_times =3D=3D ADD_ADDR_RETRANS_MAX) mptcp_pm_subflow_established(msk); =20 out: @@ -387,76 +388,76 @@ static void mptcp_pm_add_timer(struct timer_list *tim= er) sock_put(sk); } =20 -struct mptcp_pm_add_entry * -mptcp_pm_del_add_timer(struct mptcp_sock *msk, - const struct mptcp_addr_info *addr, bool check_id) +struct mptcp_pm_add_addr * +mptcp_pm_add_addr_del_timer(struct mptcp_sock *msk, + const struct mptcp_addr_info *addr, bool check_id) { - struct mptcp_pm_add_entry *entry; + struct mptcp_pm_add_addr *add_addr; struct sock *sk =3D (struct sock *)msk; bool stop_timer =3D false; =20 rcu_read_lock(); =20 spin_lock_bh(&msk->pm.lock); - entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr); - if (entry && (!check_id || entry->addr.id =3D=3D addr->id)) { - entry->retrans_times =3D ADD_ADDR_RETRANS_MAX; + add_addr =3D mptcp_pm_add_addr_lookup_by_addr(msk, addr); + if (add_addr && (!check_id || add_addr->addr.id =3D=3D addr->id)) { + add_addr->retrans_times =3D ADD_ADDR_RETRANS_MAX; stop_timer =3D true; } - if (!check_id && entry) - list_del(&entry->list); + if (!check_id && add_addr) + list_del(&add_addr->list); spin_unlock_bh(&msk->pm.lock); =20 /* Note: entry might have been removed by another thread. * We hold rcu_read_lock() to ensure it is not freed under us. */ if (stop_timer) - sk_stop_timer_sync(sk, &entry->add_timer); + sk_stop_timer_sync(sk, &add_addr->timer); =20 rcu_read_unlock(); - return entry; + return add_addr; } =20 -bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, - const struct mptcp_addr_info *addr) +bool mptcp_pm_add_addr_alloc(struct mptcp_sock *msk, + const struct mptcp_addr_info *addr) { - struct mptcp_pm_add_entry *add_entry =3D NULL; + struct mptcp_pm_add_addr *add_addr =3D NULL; struct sock *sk =3D (struct sock *)msk; unsigned int timeout; =20 lockdep_assert_held(&msk->pm.lock); =20 - add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr); - - if (add_entry) { + add_addr =3D mptcp_pm_add_addr_lookup_by_addr(msk, addr); + if (add_addr) { if (WARN_ON_ONCE(mptcp_pm_is_kernel(msk))) return false; =20 goto reset_timer; } =20 - add_entry =3D kmalloc_obj(*add_entry, GFP_ATOMIC); - if (!add_entry) + add_addr =3D kmalloc_obj(*add_addr, GFP_ATOMIC); + if (!add_addr) return false; =20 - list_add(&add_entry->list, &msk->pm.anno_list); + list_add(&add_addr->list, &msk->pm.anno_list); =20 - add_entry->addr =3D *addr; - add_entry->sock =3D msk; - add_entry->retrans_times =3D 0; + add_addr->addr =3D *addr; + add_addr->sock =3D msk; + add_addr->retrans_times =3D 0; =20 - timer_setup(&add_entry->add_timer, mptcp_pm_add_timer, 0); + timer_setup(&add_addr->timer, mptcp_pm_add_addr_timer, 0); reset_timer: timeout =3D mptcp_adjust_add_addr_timeout(msk); if (timeout) - sk_reset_timer(sk, &add_entry->add_timer, jiffies + timeout); + sk_reset_timer(sk, &add_addr->timer, + jiffies + timeout); =20 return true; } =20 -static void mptcp_pm_free_anno_list(struct mptcp_sock *msk) +static void mptcp_pm_free_add_addr_list(struct mptcp_sock *msk) { - struct mptcp_pm_add_entry *entry, *tmp; + struct mptcp_pm_add_addr *add_addr, *tmp; struct sock *sk =3D (struct sock *)msk; LIST_HEAD(free_list); =20 @@ -466,9 +467,9 @@ static void mptcp_pm_free_anno_list(struct mptcp_sock *= msk) list_splice_init(&msk->pm.anno_list, &free_list); spin_unlock_bh(&msk->pm.lock); =20 - list_for_each_entry_safe(entry, tmp, &free_list, list) { - sk_stop_timer_sync(sk, &entry->add_timer); - kfree_rcu(entry, rcu); + list_for_each_entry_safe(add_addr, tmp, &free_list, list) { + sk_stop_timer_sync(sk, &add_addr->timer); + kfree_rcu(add_addr, rcu); } } =20 @@ -722,7 +723,8 @@ void mptcp_pm_add_addr_echoed(struct mptcp_sock *msk, =20 spin_lock_bh(&pm->lock); =20 - if (mptcp_lookup_anno_list_by_saddr(msk, addr) && READ_ONCE(pm->work_pend= ing)) + if (mptcp_pm_add_addr_lookup_by_addr(msk, addr) && + READ_ONCE(pm->work_pending)) mptcp_pm_schedule_work(msk, MPTCP_PM_SUBFLOW_ESTABLISHED); =20 spin_unlock_bh(&pm->lock); @@ -1091,7 +1093,7 @@ static void mptcp_pm_ops_release(struct mptcp_sock *m= sk) =20 void mptcp_pm_destroy(struct mptcp_sock *msk) { - mptcp_pm_free_anno_list(msk); + mptcp_pm_free_add_addr_list(msk); mptcp_pm_ops_release(msk); } =20 diff --git a/net/mptcp/pm_kernel.c b/net/mptcp/pm_kernel.c index ee92a9a127c3..99026ae0173f 100644 --- a/net/mptcp/pm_kernel.c +++ b/net/mptcp/pm_kernel.c @@ -367,7 +367,7 @@ static void mptcp_pm_create_subflow_or_signal_addr(stru= ct mptcp_sock *msk) /* If the alloc fails, we are on memory pressure, not worth * continuing, and trying to create subflows. */ - if (!mptcp_pm_alloc_anno_list(msk, &local.addr)) + if (!mptcp_pm_add_addr_alloc(msk, &local.addr)) return; =20 __clear_bit(local.addr.id, msk->pm.id_avail_bitmap); @@ -1051,16 +1051,16 @@ int mptcp_pm_nl_add_addr_doit(struct sk_buff *skb, = struct genl_info *info) return ret; } =20 -static void mptcp_pm_remove_anno_addr(struct mptcp_sock *msk, - const struct mptcp_addr_info *addr, - bool force) +static void mptcp_pm_remove_add_addr(struct mptcp_sock *msk, + const struct mptcp_addr_info *addr, + bool force) { struct mptcp_rm_list list =3D { .nr =3D 0 }; bool announced; =20 list.ids[list.nr++] =3D mptcp_endp_get_local_id(msk, addr); =20 - announced =3D mptcp_remove_anno_list_by_saddr(msk, addr); + announced =3D mptcp_pm_add_addr_remove(msk, addr); if (announced || force) { spin_lock_bh(&msk->pm.lock); if (announced) @@ -1096,9 +1096,9 @@ static int mptcp_nl_remove_subflow_and_signal_addr(st= ruct net *net, goto next; =20 lock_sock(sk); - remove_subflow =3D mptcp_lookup_subflow_by_saddr(&msk->conn_list, addr); - mptcp_pm_remove_anno_addr(msk, addr, remove_subflow && - !(entry->flags & MPTCP_PM_ADDR_FLAG_IMPLICIT)); + remove_subflow =3D mptcp_pm_subflow_lookup_by_saddr(msk, addr); + mptcp_pm_remove_add_addr(msk, addr, remove_subflow && + !(entry->flags & MPTCP_PM_ADDR_FLAG_IMPLICIT)); =20 list.ids[0] =3D mptcp_endp_get_local_id(msk, addr); =20 @@ -1228,11 +1228,11 @@ static void mptcp_pm_flush_addrs_and_subflows(struc= t mptcp_sock *msk, =20 list_for_each_entry(entry, rm_list, list) { if (slist.nr < MPTCP_RM_IDS_MAX && - mptcp_lookup_subflow_by_saddr(&msk->conn_list, &entry->addr)) + mptcp_pm_subflow_lookup_by_saddr(msk, &entry->addr)) slist.ids[slist.nr++] =3D mptcp_endp_get_local_id(msk, &entry->addr); =20 if (alist.nr < MPTCP_RM_IDS_MAX && - mptcp_remove_anno_list_by_saddr(msk, &entry->addr)) + mptcp_pm_add_addr_remove(msk, &entry->addr)) alist.ids[alist.nr++] =3D mptcp_endp_get_local_id(msk, &entry->addr); } =20 diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index d838e8ea65fd..704154de85ca 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -228,7 +228,7 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, stru= ct genl_info *info) lock_sock(sk); spin_lock_bh(&msk->pm.lock); =20 - if (mptcp_pm_alloc_anno_list(msk, &addr_val.addr)) { + if (mptcp_pm_add_addr_alloc(msk, &addr_val.addr)) { msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &addr_val.addr, false); mptcp_pm_addr_send_ack(msk); @@ -281,9 +281,9 @@ void mptcp_pm_remove_addr_entry(struct mptcp_sock *msk, int anno_nr =3D 0; =20 /* only delete if either announced or matching a subflow */ - if (mptcp_remove_anno_list_by_saddr(msk, &entry->addr)) + if (mptcp_pm_add_addr_remove(msk, &entry->addr)) anno_nr++; - else if (!mptcp_lookup_subflow_by_saddr(&msk->conn_list, &entry->addr)) + else if (!mptcp_pm_subflow_lookup_by_saddr(msk, &entry->addr)) return; =20 alist.ids[alist.nr++] =3D entry->addr.id; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 661600f8b573..8ad60edf3419 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1132,16 +1132,17 @@ int mptcp_pm_mp_prio_send_ack(struct mptcp_sock *ms= k, struct mptcp_addr_info *addr, struct mptcp_addr_info *rem, u8 bkup); -bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, +bool mptcp_pm_add_addr_alloc(struct mptcp_sock *msk, + const struct mptcp_addr_info *addr); +struct mptcp_pm_add_addr * +mptcp_pm_add_addr_del_timer(struct mptcp_sock *msk, + const struct mptcp_addr_info *addr, bool check_id); +bool mptcp_pm_add_addr_remove(struct mptcp_sock *msk, const struct mptcp_addr_info *addr); -bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock= *sk); -struct mptcp_pm_add_entry * -mptcp_pm_del_add_timer(struct mptcp_sock *msk, - const struct mptcp_addr_info *addr, bool check_id); -bool mptcp_lookup_subflow_by_saddr(const struct list_head *list, - const struct mptcp_addr_info *saddr); -bool mptcp_remove_anno_list_by_saddr(struct mptcp_sock *msk, - const struct mptcp_addr_info *addr); +bool mptcp_pm_add_addr_lookup_by_sk(struct mptcp_sock *msk, + const struct sock *sk); +bool mptcp_pm_subflow_lookup_by_saddr(struct mptcp_sock *msk, + const struct mptcp_addr_info *saddr); int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry *local, struct genl_info *info); int mptcp_userspace_pm_set_flags(struct mptcp_pm_addr_entry *local, diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index e2cb9d23e4a0..836dcdc3a620 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -235,7 +235,7 @@ static int subflow_check_req(struct request_sock *req, pr_debug("syn inet_sport=3D%d %d\n", ntohs(inet_sk(sk_listener)->inet_sport), ntohs(inet_sk((struct sock *)subflow_req->msk)->inet_sport)); - if (!mptcp_pm_sport_in_anno_list(subflow_req->msk, sk_listener)) { + if (!mptcp_pm_add_addr_lookup_by_sk(subflow_req->msk, sk_listener)) { SUBFLOW_REQ_INC_STATS(req, MPTCP_MIB_MISMATCHPORTSYNRX); subflow_add_reset_reason(skb, MPTCP_RST_EPROHIBIT); return -EPERM; @@ -926,7 +926,7 @@ static struct sock *subflow_syn_recv_sock(const struct = sock *sk, pr_debug("ack inet_sport=3D%d %d\n", ntohs(inet_sk(sk)->inet_sport), ntohs(inet_sk((struct sock *)owner)->inet_sport)); - if (!mptcp_pm_sport_in_anno_list(owner, sk)) { + if (!mptcp_pm_add_addr_lookup_by_sk(owner, sk)) { SUBFLOW_REQ_INC_STATS(req, MPTCP_MIB_MISMATCHPORTACKRX); subflow_add_reset_reason(skb, MPTCP_RST_EPROHIBIT); goto dispose_child; --=20 2.53.0