From nobody Sat May  3 00:01:39 2025
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 440A61DBB0C;
	Fri, 21 Feb 2025 15:44:12 +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=1740152653; cv=none;
 b=Ejt+LPf9XZTKrmN99maNDhMhwyYXSfAxi8msrfSVeGS5y/BAuxsjuh9Nta1CvJubd/PCIMhwV6yd62FbVsSTVffQTUZ66Azt1yOqbZNpGZE5hfT0Dc5RL5JRmvXJkUTnqGWZVCllk8jPnTViQLMala14IjgGWM8QnjKx4ngoQ6A=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740152653; c=relaxed/simple;
	bh=nTY0AoEf626hk3bDfIL98/ogDyGvSyTa0s0+ixLE/18=;
	h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
	 In-Reply-To:To:Cc;
 b=MStu5U3acllh/mupiH6IhFfL7U/v7QRCln+Clf/Vf84dfB5+X/VLy1Y3DyyXg+MXTFQBfFH3dtXpMbZSO2fD3Lf4LcUyqK7wx/9snHISrp75d/QhNCpfO+hrOWQmCUIaNq6MPJJkq6U/OgWWCt7J8yYAMGxZQKVg0Zg8tcVfsj8=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=Rp0YZpns; 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="Rp0YZpns"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B4543C4CED6;
	Fri, 21 Feb 2025 15:44:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1740152652;
	bh=nTY0AoEf626hk3bDfIL98/ogDyGvSyTa0s0+ixLE/18=;
	h=From:Date:Subject:References:In-Reply-To:To:Cc:From;
	b=Rp0YZpns+e2+2h0FizGL838vFjMu6TNEfrzID319KAzIKo/Nl2VyL9KWXmjTcRUgh
	 xFRcRdFrLOWoiDUqyR2VKhZ/dTzlxYNuExHrydevbrAw7KDWI0MAn3AXe/yHOd7qxY
	 JM3G2ebYnQcsgakOeG4qSQubgWFn9FtU/wc81GUgD6c5JMzeRLyM3XutLViHsnH1iZ
	 n/puprImXULOPssstd2uD9J0gpCXYlSweWoO0r9Fd85zlLCGimTht66uQOPipgYjmh
	 dtwQDSG4gXEGnIKw12KNy8X8niaIv0zOXLv0zINGUvh07pt0qgXTVdYM5fqbt84g/Q
	 x5LGvd6Zjygdg==
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Fri, 21 Feb 2025 16:43:54 +0100
Subject: [PATCH net-next 01/10] mptcp: pm: remove unused ret value to set
 flags
Precedence: bulk
X-Mailing-List: mptcp@lists.linux.dev
List-Id: <mptcp.lists.linux.dev>
List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-1-2b70ab1cee79@kernel.org>
References: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
In-Reply-To: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
To: mptcp@lists.linux.dev, Mat Martineau <martineau@kernel.org>,
 Geliang Tang <geliang@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1622; i=matttbe@kernel.org;
 h=from:subject:message-id; bh=nTY0AoEf626hk3bDfIL98/ogDyGvSyTa0s0+ixLE/18=;
 b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnuJ9Hjzhmm/kHONJh/qVhCK3dXllW6av+mFC6J
 h8I3E3r9++JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ7ifRwAKCRD2t4JPQmmg
 c181D/oD2aaKKTBgk5W4fUnr6hL/m+fqfcmEyStfbs0JJLwbuehvSEF0tWovw8yNOws7lnHd7Ce
 g2XYLLL279MFYWdvJ9TSIX9l0jIqA5IW9vkQ1Co8ZTDWunXimTmo2aqkmxMgRR7/Qpc/k67B4zh
 kMvm2oPyzQrwb07C2vbQkOpka2PCSX+ZjAV61M8N8fDUfDab/9QXmDRtj93TSZcTFvEdhCc1n/r
 UmOcJDZIz4NbBBUpiTZo5yDYdVr9jA2rGOsL5+daHnm/WvIWWCJW0XrRV/dCsmjdjjOP0oAoSX2
 wfMsQWTjhgplHUS0YYv2zTBdN+iWl5M0+rZnB9ZrYv1/pt1TGpTYJ18C4zt611StPGohbbVd31E
 3MCa+iFQDng7+mWs0VQqk5H23qT1CxIj7W7DEVfVhJY3XQZpz+kzYC4+gOmqbvzIytGmgi4cKrC
 7aP6rTo2uqRg9lGcuEO6nsNPARns1uFxDhv4dT90LaFlCnEk4ghGCgCwzFrReczbcYiIVmPuMvJ
 +i6Q4t1HE8bm3mIkscPF3mhgyLr0/1LyYzUjNoIampKmYJ77A0+yqbhdmYpJ3CW4jPJJK+j8/7v
 38z0jTob5Efo3GlxgMLMIV7PIYOKIP/sWRxScFXiV31Xv0PP75sOHOJhLiKZ2iqk+WDfb7d/WMb
 vrjWhEclKap5jaw==
X-Developer-Key: i=matttbe@kernel.org; a=openpgp;
 fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073

The returned value is not used, it can then be dropped.

Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 net/mptcp/pm_netlink.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index 99705a9c2238c6be96e320e8cd1d12bfa0e0e7f0..ff1e5695dc1db5e32d5f45bef7c=
f22e43aea0ef1 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -1922,13 +1922,11 @@ static void mptcp_pm_nl_fullmesh(struct mptcp_sock =
*msk,
 	spin_unlock_bh(&msk->pm.lock);
 }
=20
-static int mptcp_nl_set_flags(struct net *net,
-			      struct mptcp_addr_info *addr,
-			      u8 bkup, u8 changed)
+static void mptcp_nl_set_flags(struct net *net, struct mptcp_addr_info *ad=
dr,
+			       u8 bkup, u8 changed)
 {
 	long s_slot =3D 0, s_num =3D 0;
 	struct mptcp_sock *msk;
-	int ret =3D -EINVAL;
=20
 	while ((msk =3D mptcp_token_iter_next(net, &s_slot, &s_num)) !=3D NULL) {
 		struct sock *sk =3D (struct sock *)msk;
@@ -1938,7 +1936,7 @@ static int mptcp_nl_set_flags(struct net *net,
=20
 		lock_sock(sk);
 		if (changed & MPTCP_PM_ADDR_FLAG_BACKUP)
-			ret =3D mptcp_pm_nl_mp_prio_send_ack(msk, addr, NULL, bkup);
+			mptcp_pm_nl_mp_prio_send_ack(msk, addr, NULL, bkup);
 		if (changed & MPTCP_PM_ADDR_FLAG_FULLMESH)
 			mptcp_pm_nl_fullmesh(msk, addr);
 		release_sock(sk);
@@ -1948,7 +1946,7 @@ static int mptcp_nl_set_flags(struct net *net,
 		cond_resched();
 	}
=20
-	return ret;
+	return;
 }
=20
 int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry *local,

--=20
2.47.1
From nobody Sat May  3 00:01:39 2025
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 C29951DBB0C;
	Fri, 21 Feb 2025 15:44:15 +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=1740152656; cv=none;
 b=COta3aZtvnLTCliwCIcN10C9dzD81brDpGQUiRR+zNUE2MwvVdAIsn0Uhoq/YJP4YBe52n3uHAiNzQECoqWV7EUIy2zj2qnMqvVhLUFfucdMaUrrTBHFmVpqlq0flJla7uoDyQuuwBFAePA3JuR2af2ZwsJN6WQTeOBQJj7naBU=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740152656; c=relaxed/simple;
	bh=WRIm7ZdYRyuJpKCOtNt2nvnSMXYDI3Z1Wee6MrqYF0k=;
	h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
	 In-Reply-To:To:Cc;
 b=u+7+O2tNQ0lHZFQoQeofwxDcTgl4FklMg3CL2dKTn+Aie3uqI+f7pxxc3ZwolsLkFc5AyjRqI9VUUZ0hTzetDyLAnWOIpZ5D/JhUnPeqrO6ojglOozTkkMGwBLAgpx1YoV7ZAkE1wt8BQTqSpBcD4bcokwdSwPJF0QkDepEJDtw=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=EEQzXAJH; 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="EEQzXAJH"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36F64C4CEE7;
	Fri, 21 Feb 2025 15:44:13 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1740152655;
	bh=WRIm7ZdYRyuJpKCOtNt2nvnSMXYDI3Z1Wee6MrqYF0k=;
	h=From:Date:Subject:References:In-Reply-To:To:Cc:From;
	b=EEQzXAJHhk7cCXzRkz50h3t51uubPD/0rDmFBs+HyxKar2+yvP4gVpQ93HFmDbMdw
	 DK3RxImUp9fNIThhDiIvk2VBI2L8gbhB7TIeUmU8nU89wMiFu8zdTrSsE8fcYSRvtJ
	 HUr1/id23DM/9DtOj81nQcN3geuTkYthCDlcvQjZ8loDRTaxaibytXAZdbLG+3oSIK
	 2MggmmtX0U+Zo3iuZCeZHcUZvgeQk0mUUgPRMqlGzvRE+UN3PIutm0CB3eT6rr/wnP
	 1UQbayfbwkS1mJ77ebtu2z8LOkZ6pfgAaCB7N9vYSLDtU/q7GcxImFP2XBRHMOQCDO
	 F3nV9p/y4DKgQ==
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Fri, 21 Feb 2025 16:43:55 +0100
Subject: [PATCH net-next 02/10] mptcp: pm: change to fullmesh only for
 'subflow'
Precedence: bulk
X-Mailing-List: mptcp@lists.linux.dev
List-Id: <mptcp.lists.linux.dev>
List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-2-2b70ab1cee79@kernel.org>
References: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
In-Reply-To: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
To: mptcp@lists.linux.dev, Mat Martineau <martineau@kernel.org>,
 Geliang Tang <geliang@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2965; i=matttbe@kernel.org;
 h=from:subject:message-id; bh=WRIm7ZdYRyuJpKCOtNt2nvnSMXYDI3Z1Wee6MrqYF0k=;
 b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnuJ9HKwndhRWIuQ5BBb3a+1Q1jKXQrwjNkjXyP
 l69E4zvevuJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ7ifRwAKCRD2t4JPQmmg
 cyvlD/9Y75/3WDF/4Ui9RBepKf2V1AQ9TQZsiGHc6CnG1utnK089iozHuJ+k6WLX+f4F5zznJSH
 cocEoTZSSlmESf6pf06TIT5DponEPhsFl7ieHQarMWoi+OIyADFPh6c/SjZk0ef65iwyYnBrcga
 oRPCDqIDUi38semd7yKOvpJI0z54lDrJij5PfZqkG196YVqCN5OatYJFNDamz7Ulmuh60csSPDa
 x4MlisZyWfiw1fjPpxww7gXkmjx2+2LBBr0pdRSvi2VPlC7pimfBqxYRRiPgVI/nGe1MZOC7Q1u
 7gUb53xJL3BbiMl1r1uxL4hCR2G2yhsZMTlcF0UQdmMrPomSMnCTRLvs8emXPvwoyeErUVc183A
 RVnbv0iiP6vfuTvGTTJ0d7fmZEEb6UodZl+65rZUpGqpjEq7nB5vtzAVQ73wJjz8TrcwHVvnOIP
 LrUGbkRqNx2wOORml/qzsFtrqtfXxUYHDF3z2uw5/f1B6CvYjiEudJaHfwVG4AEi1/CqGekviSx
 aUfN2nJRX3krXXKyFJl7X4tUSpiWnZM5apyJiDC2KHwa6ClSAJtHCbm8omQ3MLY1Zr2DIs2A7nV
 jqw6RiwP7W8+Qn/F7Vp11Ol7oaF1kXmmbh/oU/+AWR6Ow70s7vkNKEZarIjKYsdHF4ltIvOkF4F
 QVUvNNTIe2EQRVg==
X-Developer-Key: i=matttbe@kernel.org; a=openpgp;
 fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073

If an endpoint doesn't have the 'subflow' flag -- in fact, has no type,
so not 'subflow', 'signal', nor 'implicit' -- there are then no subflows
created from this local endpoint to at least the initial destination
address. In this case, no need to call mptcp_pm_nl_fullmesh() which is
there to recreate the subflows to reflect the new value of the fullmesh
attribute.

Similarly, there is then no need to iterate over all connections to do
nothing, if only the 'fullmesh' flag has been changed, and the endpoint
doesn't have the 'subflow' one. So stop early when dealing with this
specific case.

Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 net/mptcp/pm_netlink.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index ff1e5695dc1db5e32d5f45bef7cf22e43aea0ef1..1a0695e087af02347678b9b6914=
d303554bcf1f3 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -1923,11 +1923,16 @@ static void mptcp_pm_nl_fullmesh(struct mptcp_sock =
*msk,
 }
=20
 static void mptcp_nl_set_flags(struct net *net, struct mptcp_addr_info *ad=
dr,
-			       u8 bkup, u8 changed)
+			       u8 flags, u8 changed)
 {
+	u8 is_subflow =3D !!(flags & MPTCP_PM_ADDR_FLAG_SUBFLOW);
+	u8 bkup =3D !!(flags & MPTCP_PM_ADDR_FLAG_BACKUP);
 	long s_slot =3D 0, s_num =3D 0;
 	struct mptcp_sock *msk;
=20
+	if (changed =3D=3D MPTCP_PM_ADDR_FLAG_FULLMESH && !is_subflow)
+		return;
+
 	while ((msk =3D mptcp_token_iter_next(net, &s_slot, &s_num)) !=3D NULL) {
 		struct sock *sk =3D (struct sock *)msk;
=20
@@ -1937,7 +1942,8 @@ static void mptcp_nl_set_flags(struct net *net, struc=
t mptcp_addr_info *addr,
 		lock_sock(sk);
 		if (changed & MPTCP_PM_ADDR_FLAG_BACKUP)
 			mptcp_pm_nl_mp_prio_send_ack(msk, addr, NULL, bkup);
-		if (changed & MPTCP_PM_ADDR_FLAG_FULLMESH)
+		/* Subflows will only be recreated if the SUBFLOW flag is set */
+		if (is_subflow && (changed & MPTCP_PM_ADDR_FLAG_FULLMESH))
 			mptcp_pm_nl_fullmesh(msk, addr);
 		release_sock(sk);
=20
@@ -1959,7 +1965,6 @@ int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry =
*local,
 	struct mptcp_pm_addr_entry *entry;
 	struct pm_nl_pernet *pernet;
 	u8 lookup_by_id =3D 0;
-	u8 bkup =3D 0;
=20
 	pernet =3D pm_nl_get_pernet(net);
=20
@@ -1972,9 +1977,6 @@ int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry =
*local,
 		}
 	}
=20
-	if (local->flags & MPTCP_PM_ADDR_FLAG_BACKUP)
-		bkup =3D 1;
-
 	spin_lock_bh(&pernet->lock);
 	entry =3D lookup_by_id ? __lookup_addr_by_id(pernet, local->addr.id) :
 			       __lookup_addr(pernet, &local->addr);
@@ -1996,7 +1998,7 @@ int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry =
*local,
 	*local =3D *entry;
 	spin_unlock_bh(&pernet->lock);
=20
-	mptcp_nl_set_flags(net, &local->addr, bkup, changed);
+	mptcp_nl_set_flags(net, &local->addr, entry->flags, changed);
 	return 0;
 }
=20

--=20
2.47.1
From nobody Sat May  3 00:01:39 2025
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 476E11F0E53;
	Fri, 21 Feb 2025 15:44:17 +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=1740152659; cv=none;
 b=qLtBFskrEldmGVRWegt/lBO4jswJKNvdpaBC+ugXEXygMWGG2Hrz4UMGeLVauCBJx0csj1G+UIZ9MYjnwRRh1dIm+EOn0PTEsW/79jnEKulhUa0KT7rzDxvHp7iXSqqGwZzKsdtQ4/MQOZw4VW+Ou/33+X/qb9qaG+PGXnHdMzw=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740152659; c=relaxed/simple;
	bh=EsW9e6Eg0I9JNIJvlDYXbl4uPz2m/7BkgOhtt9NU6Xc=;
	h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
	 In-Reply-To:To:Cc;
 b=dHq3+WcWdcPSr/fbk8KZ04sU2Mck1aaCNUzQNSLdpcctOeBNBpdHWDm84VSjpPCz55XzscNrwCttA9QwB+01+225NEzZz4asAj+V/3NMW2tto4qwnUwIk7momVz5o0eebP2d2pKyPKtyWPLdqBaMO686oo2dfcatmiqQNhLxOoo=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=JTwudj4o; 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="JTwudj4o"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AC077C4CEE8;
	Fri, 21 Feb 2025 15:44:15 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1740152657;
	bh=EsW9e6Eg0I9JNIJvlDYXbl4uPz2m/7BkgOhtt9NU6Xc=;
	h=From:Date:Subject:References:In-Reply-To:To:Cc:From;
	b=JTwudj4oqBNhPBjgdLQYlbbUO9gqGeybyLDPIhxE8RrNDd+tBb9SCo5IruHzee/xQ
	 dfXs9Sc/Lb9xHhzYKQBn/4jT8g80HYgY4QK8OrU/bS66hpDuMy9NXUDaqorCxkQNUN
	 QHve6mJYdAoi7YBws73RP8nRdNiPWR2yY3l5I0rfvqF6lEk9l5JktyJuffw2Ukt/GT
	 1ONbNSnkCHPji8ow0GYAB/R+7d1IuAqYJjDaNNb6zfkWX5SchnHCXD0zLhMa8vvi8s
	 JaOp9vOi0LIp/1tBlYeCpLjuTcFfeCXzL/httuiu1DEzgtgdb7DSpf2WK9ZcU04sck
	 kxd561POrGijw==
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Fri, 21 Feb 2025 16:43:56 +0100
Subject: [PATCH net-next 03/10] mptcp: pm: add a build check for
 userspace_pm_dump_addr
Precedence: bulk
X-Mailing-List: mptcp@lists.linux.dev
List-Id: <mptcp.lists.linux.dev>
List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-3-2b70ab1cee79@kernel.org>
References: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
In-Reply-To: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
To: mptcp@lists.linux.dev, Mat Martineau <martineau@kernel.org>,
 Geliang Tang <geliang@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Matthieu Baerts (NGI0)" <matttbe@kernel.org>,
 Geliang Tang <geliang@kernel.org>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=963; i=matttbe@kernel.org;
 h=from:subject:message-id; bh=y2doNPKbwP4ZssZleLDCUG9nylLqdDhuJyTbstOxm8c=;
 b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnuJ9HxAq37NZ9S27yQFeiBPr6GAcT1KnqKezbk
 uB2A5m72g2JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ7ifRwAKCRD2t4JPQmmg
 c7YtD/4k0leI+NarknZoKPH4L0e7WIVhkXgA9vMcQ1VMJVISVQ9gRa3jKfBYZJz2nQ+NNgFF6G1
 riLmFZiTeA6FpPSjbtcLe1FKmazyMBeyq1lPZuST+Lghfvt0CL6vzV1bSHyaACm0uXYQzYYgOm+
 LWXREfUEyVwNJu51oZwQ5/U3jypIaFYXs0tKUtV6IxFTGZhtYqjxEOvgXMBxvRBsACifYczsaal
 ua8VcE0Da+U7hDU+jKLsWWfC1f3kQjye+W8OUye6Gg0mtmEWC0GNgy1tdObMAzx5TVI3p4tc2Ok
 zdQsAb3yxAGqPQtjCzOlvgJeusxBJjEWlBpj5oCUgt9ifkO9yACFXjR8fkzt9VwPWF5pN3aWr/C
 X5FkcrBleJFZJPN/8pK1hAqGwtbwFOyDg9cvanzMGuZ5R4MvMSkyZOsUjaGLxZNhPWIxl7FBfcr
 Y1T1DRx9H/dseCYdag6lu3gu64Hhw/lybTqmVsU/d9oOAAYM0iDntWxIeX+XBCsDd93M923BMvH
 NnaMiFmAMshNwNq/ouGt6ZVJ8TyUaH1/G0kqmtmvYyWBl1gIgMCw71Dg4u1AtJdntRkQO8rIZJ7
 NLDHM7ZepS34LMgxk9Ot4tROaB6o7I2rnbFxBpXHp2hWpY9xZKWxzCZK6nSXV0ID5sBzBIr5ok6
 +cEFZYIt9dhPrsg==
X-Developer-Key: i=matttbe@kernel.org; a=openpgp;
 fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073

From: Geliang Tang <tanggeliang@kylinos.cn>

This patch adds a build check for mptcp_userspace_pm_dump_addr() to make
sure there is enough space in 'cb->ctx' to store an address id bitmap.

Just in case info stored in 'cb->ctx' are increased later.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 net/mptcp/pm_userspace.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c
index 277cf092a87042a85623470237a8ef24d29e65e6..b69fb5b18130cb3abd08e3ef470=
04f599895486a 100644
--- a/net/mptcp/pm_userspace.c
+++ b/net/mptcp/pm_userspace.c
@@ -643,6 +643,8 @@ int mptcp_userspace_pm_dump_addr(struct sk_buff *msg,
 	struct sock *sk;
 	void *hdr;
=20
+	BUILD_BUG_ON(sizeof(struct id_bitmap) > sizeof(cb->ctx));
+
 	bitmap =3D (struct id_bitmap *)cb->ctx;
=20
 	msk =3D mptcp_userspace_pm_get_sock(info);

--=20
2.47.1
From nobody Sat May  3 00:01:39 2025
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 BE6CB1F2361;
	Fri, 21 Feb 2025 15:44: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=1740152660; cv=none;
 b=W4LQRSCdYGGUHJspMuGJQKAwQBdsupMDJJununhglCk9mUNoGKnzqYebToctxzSD4LXpCylCGcismVv+2WPYJ4n7XNpL7Va/zc5D2AAvKp1nz8GuL1D1Fdk9I+g4PVX5Fz4lIxdmxDder0qibxhx6o+iKYPuvVf0mPNFJBkiDsw=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740152660; c=relaxed/simple;
	bh=pQPGIvMzNeYx4Q0CrQXplQN2LLHgNfeabYxuJWj4DI8=;
	h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
	 In-Reply-To:To:Cc;
 b=Ha+TMGqyUm8eKRSr0y1/vruIdNc3gnr62c1tiylLojbO7Q6oPEiu4At+V0gCNpnWJ9eAZemqbHnOpWpxtJhhLlza+xIs60vduCxUaKbsfw9i2iFTJArcVTIl64N6qPx9inqRXbaoBiUIU+dXEVds1zZeIUyubyMFSXWUH/VqEic=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=dn+kjv46; 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="dn+kjv46"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2C445C4CEE2;
	Fri, 21 Feb 2025 15:44:18 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1740152660;
	bh=pQPGIvMzNeYx4Q0CrQXplQN2LLHgNfeabYxuJWj4DI8=;
	h=From:Date:Subject:References:In-Reply-To:To:Cc:From;
	b=dn+kjv465ahmOCEBrqWyLkGDu4+75rwFGjdkpaguS3/7DlqUvfvyxFk3h+kcb81tl
	 rte9IEVwxMXa3RjrHBb6+scdrVgrksfHkYv2Lnrdd7omB+d6wJiO1NC1bCrCSB710q
	 MfLWCsQZpn1zKvtKgGqRbLLFC/C1cJgigio1gxmtU0RDTHOuT6+EPLVcCnrTh8mgy5
	 LwZL2bqyuhT/cADCKlnNIPzHn/MYTlRiSaq472Tv6kur5oDZUZeebOKi0DfpnKOZOl
	 yDNlTOnJYIjwIByCCQk+2Tct0SU8UxDf31S+xMApYwPtG20fviKtukc0AE2rdWlfPG
	 Sr0vtrx4IQovw==
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Fri, 21 Feb 2025 16:43:57 +0100
Subject: [PATCH net-next 04/10] mptcp: pm: add mptcp_pm_genl_fill_addr
 helper
Precedence: bulk
X-Mailing-List: mptcp@lists.linux.dev
List-Id: <mptcp.lists.linux.dev>
List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-4-2b70ab1cee79@kernel.org>
References: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
In-Reply-To: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
To: mptcp@lists.linux.dev, Mat Martineau <martineau@kernel.org>,
 Geliang Tang <geliang@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Matthieu Baerts (NGI0)" <matttbe@kernel.org>,
 Geliang Tang <geliang@kernel.org>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=4315; i=matttbe@kernel.org;
 h=from:subject:message-id; bh=uPf7ZClZZ2ViGTVsax9aa8Onj0ebgr5nDCj9zENtnzY=;
 b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnuJ9HIC8Dnya30zl0NImgJoAfnT3l3JAx4+X+L
 d8bp1wolO6JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ7ifRwAKCRD2t4JPQmmg
 c02zEACMjjgv6eRqQHpFOwKt7ABfx1YxStSqt4iEeSVQNa7TA2vXw/nmiMfyClypAA7/NWC9CVk
 vwr1RDBeV8npcvp7CCmgJ3VZ3bYmm0JiM5xPSN148UpO6Au5UEZnYCWEl35OA7RFKy2nyXseazu
 Px/+mEdMAt47jA8o5+bI+ZpZwqLYyqwVdKitH36cvI29uk9joabns2fBM0579HEwrCmt118+7Lo
 g+GhJoQ+A7TGTSfidPORkN/awuRK8j+trzigtKoCA/+da2t5nO6DwvpxqBBz9lgiazAPTGf78gj
 y5c2mNRTZKd8FkObtpaqly8LfKcowxa7QwVOxv2Cr66UR8Cc/yZMW1KCoumQc41aadUwiBJknyO
 1vU9rimUG7tTSVVgzv5fxHaa9sGNRd+buN46OB5cq4ygbGOeMuZcmj25GDHPHYZEHnp3x6yGF3S
 SHgZdjsdJnmeSUxlcd9i3mrqBuwPOLOJ/khAo8UNdaEtVEr15leWXSkLZ0CU9aQFcUgnD/RufcB
 20PxvVi2SKWGQRKBw4ev+/axUTkfWJIuoqf2IJIVByg1n1hfymD/njqaIzIwZXRl9E1/BOD6zLI
 xLW8ssJHgAxvjfzN9hHdeO2Gubf8ez5VQYE1EEIQPV/8/Tc9jt0nB3M6XdP1/5OCIW4EJ8wHhKM
 Mj1gU7y9MNT7zKw==
X-Developer-Key: i=matttbe@kernel.org; a=openpgp;
 fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073

From: Geliang Tang <tanggeliang@kylinos.cn>

To save some redundant code in dump_addr() interfaces of both the
netlink PM and userspace PM, the code that calls netlink message
helpers (genlmsg_put/cancel/end) and mptcp_nl_fill_addr() is wrapped
into a new helper mptcp_pm_genl_fill_addr().

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 net/mptcp/pm.c           | 21 +++++++++++++++++++++
 net/mptcp/pm_netlink.c   | 12 +-----------
 net/mptcp/pm_userspace.c | 12 +-----------
 net/mptcp/protocol.h     |  3 +++
 4 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c
index b1f36dc1a09113594324ef0547093a5447664181..16cacce6c10fe86467aa7ef8e58=
8f9f535b586fb 100644
--- a/net/mptcp/pm.c
+++ b/net/mptcp/pm.c
@@ -489,6 +489,27 @@ int mptcp_pm_nl_get_addr_doit(struct sk_buff *skb, str=
uct genl_info *info)
 	return ret;
 }
=20
+int mptcp_pm_genl_fill_addr(struct sk_buff *msg,
+			    struct netlink_callback *cb,
+			    struct mptcp_pm_addr_entry *entry)
+{
+	void *hdr;
+
+	hdr =3D genlmsg_put(msg, NETLINK_CB(cb->skb).portid,
+			  cb->nlh->nlmsg_seq, &mptcp_genl_family,
+			  NLM_F_MULTI, MPTCP_PM_CMD_GET_ADDR);
+	if (!hdr)
+		return -EINVAL;
+
+	if (mptcp_nl_fill_addr(msg, entry) < 0) {
+		genlmsg_cancel(msg, hdr);
+		return -EINVAL;
+	}
+
+	genlmsg_end(msg, hdr);
+	return 0;
+}
+
 static int mptcp_pm_dump_addr(struct sk_buff *msg, struct netlink_callback=
 *cb)
 {
 	const struct genl_info *info =3D genl_info_dump(cb);
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index 1a0695e087af02347678b9b6914d303554bcf1f3..98fcbf8b1465649961c568c6f89=
78e91d0a53668 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -1798,7 +1798,6 @@ int mptcp_pm_nl_dump_addr(struct sk_buff *msg,
 	struct mptcp_pm_addr_entry *entry;
 	struct pm_nl_pernet *pernet;
 	int id =3D cb->args[0];
-	void *hdr;
 	int i;
=20
 	pernet =3D pm_nl_get_pernet(net);
@@ -1813,19 +1812,10 @@ int mptcp_pm_nl_dump_addr(struct sk_buff *msg,
 			if (entry->addr.id <=3D id)
 				continue;
=20
-			hdr =3D genlmsg_put(msg, NETLINK_CB(cb->skb).portid,
-					  cb->nlh->nlmsg_seq, &mptcp_genl_family,
-					  NLM_F_MULTI, MPTCP_PM_CMD_GET_ADDR);
-			if (!hdr)
+			if (mptcp_pm_genl_fill_addr(msg, cb, entry) < 0)
 				break;
=20
-			if (mptcp_nl_fill_addr(msg, entry) < 0) {
-				genlmsg_cancel(msg, hdr);
-				break;
-			}
-
 			id =3D entry->addr.id;
-			genlmsg_end(msg, hdr);
 		}
 	}
 	rcu_read_unlock();
diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c
index b69fb5b18130cb3abd08e3ef47004f599895486a..bedd6f9ebc8b07871d317dfaf65=
135342cdeeeee 100644
--- a/net/mptcp/pm_userspace.c
+++ b/net/mptcp/pm_userspace.c
@@ -641,7 +641,6 @@ int mptcp_userspace_pm_dump_addr(struct sk_buff *msg,
 	struct mptcp_sock *msk;
 	int ret =3D -EINVAL;
 	struct sock *sk;
-	void *hdr;
=20
 	BUILD_BUG_ON(sizeof(struct id_bitmap) > sizeof(cb->ctx));
=20
@@ -659,19 +658,10 @@ int mptcp_userspace_pm_dump_addr(struct sk_buff *msg,
 		if (test_bit(entry->addr.id, bitmap->map))
 			continue;
=20
-		hdr =3D genlmsg_put(msg, NETLINK_CB(cb->skb).portid,
-				  cb->nlh->nlmsg_seq, &mptcp_genl_family,
-				  NLM_F_MULTI, MPTCP_PM_CMD_GET_ADDR);
-		if (!hdr)
+		if (mptcp_pm_genl_fill_addr(msg, cb, entry) < 0)
 			break;
=20
-		if (mptcp_nl_fill_addr(msg, entry) < 0) {
-			genlmsg_cancel(msg, hdr);
-			break;
-		}
-
 		__set_bit(entry->addr.id, bitmap->map);
-		genlmsg_end(msg, hdr);
 	}
 	spin_unlock_bh(&msk->pm.lock);
 	release_sock(sk);
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index ca65f8bff632ff806fe761f86e9aa065b0657d1e..256677c43ca6514bf487a6d8972=
40ae012b6128e 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -1057,6 +1057,9 @@ void mptcp_fastopen_subflow_synack_set_params(struct =
mptcp_subflow_context *subf
 					      struct request_sock *req);
 int mptcp_nl_fill_addr(struct sk_buff *skb,
 		       struct mptcp_pm_addr_entry *entry);
+int mptcp_pm_genl_fill_addr(struct sk_buff *msg,
+			    struct netlink_callback *cb,
+			    struct mptcp_pm_addr_entry *entry);
=20
 static inline bool mptcp_pm_should_add_signal(struct mptcp_sock *msk)
 {

--=20
2.47.1
From nobody Sat May  3 00:01:39 2025
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 2EDDC1F4275;
	Fri, 21 Feb 2025 15:44:22 +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=1740152663; cv=none;
 b=IEOaAun7vr3DGfkktm8hBFs9LgI9daa3VS4ZKGOFcwz7eMxwzy4kbfUrKcEc5va5CfhhygzDAS2+1I2JMt1IP0yt10WHAd38scGq9U9Ngv2qXhlKSw4VjR7RgD5zXRAqdEYfaEqWsUiFTDTV8AKRJ5IRu4iQpez1UoUPLAcHCmI=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740152663; c=relaxed/simple;
	bh=J+IXwnOTNXP0fpRQ/SqXuNG3muK0hvCfC2BIDBbhPT0=;
	h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
	 In-Reply-To:To:Cc;
 b=V9oYpamrYeXLi/PpMAeFrmzBuO0q2yVvcURATuqI0uvOoZdLh2Xoo0cLGYqdeqRNldidBIzYPIgO+JrJeETijZPFg3iz9USzvLseDu5bVSTL2Sskel8hKbmDMm7gAxDDbcBuE4kyWzR7iZwruQFoHjv7FmPbMUOBWV3beo1h1e0=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=tvyLLQYO; 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="tvyLLQYO"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A38BAC4CED6;
	Fri, 21 Feb 2025 15:44:20 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1740152662;
	bh=J+IXwnOTNXP0fpRQ/SqXuNG3muK0hvCfC2BIDBbhPT0=;
	h=From:Date:Subject:References:In-Reply-To:To:Cc:From;
	b=tvyLLQYOL4ddBQb7DYF1sphenSwCA5ACfcRQ7NBrTi4Y4QuTn9UfxHrtO+TW6V75m
	 gUG7IkuBG0SSoubUVWLGEWIC0Zxw+/rGasYsOBwepjCMiOePATThMy0a67gdtmMe5B
	 4XLqERPNG9BKp8akJAb6ylf6yVMngNsRACfs42DrDLRY3k3VV7BMqtPIrcHQXkQrWX
	 zF5YiRgqS8e8vtgvK0kgKeKyZXSpftufzw7nSwfkWqeZ2Z95lbRx7I90okBlcTjvfo
	 q1PhwTIXgp11IiGOSukwCfHL1jHHP6tQCVJLm/qv5OjM4JGtFQaAvsUnz3m+s61o82
	 y46LfRHfFuCkA==
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Fri, 21 Feb 2025 16:43:58 +0100
Subject: [PATCH net-next 05/10] mptcp: pm: drop match in
 userspace_pm_append_new_local_addr
Precedence: bulk
X-Mailing-List: mptcp@lists.linux.dev
List-Id: <mptcp.lists.linux.dev>
List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-5-2b70ab1cee79@kernel.org>
References: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
In-Reply-To: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
To: mptcp@lists.linux.dev, Mat Martineau <martineau@kernel.org>,
 Geliang Tang <geliang@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Matthieu Baerts (NGI0)" <matttbe@kernel.org>,
 Geliang Tang <geliang@kernel.org>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2195; i=matttbe@kernel.org;
 h=from:subject:message-id; bh=+WHQJW9mFchuIGDnd54gHSZuQ8fDbAw3VW8ytyvo7ME=;
 b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnuJ9H4PJtjy3xdXnpJ7jp34XGXnSRSQyO+1RyW
 qgN37bR2ueJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ7ifRwAKCRD2t4JPQmmg
 c2ikEADYykoKvmb15wQS+cf/vzizuepPoy39GxXls1kSuAUUvonSKoBBlsSzCYx5QS2vjTpKpXZ
 0kD+9p4QNy+3Jg5+j0Fd3xHUCU3oKbR9XJLz42JlZBztWt8586wDgDNzZBjsp/jvZglYwYTKQg0
 pvxl5urarPbmxiAnuG83zn2EVuGUet9qE4LaO1qLViHHjZtSURAqsU4xXn1VJFsja7eZusIfz++
 SEvmabDnlRYEA4G+MfUpLZHMW87LL5jSg3+sjS7RNct1p+4C2OAcskDu+d1/x3y6qbGd5p22RYq
 DOxQ8o3y7ZDeFrmDYktGBKFHCKVSfFToHVwX2EBIzCLG4NAQbFuv5GJmTF7jjXJDcMPZm5Hc4yD
 Po9v1NjdSOVN77/uPwQe4wxolCPQswN2/r+8a5ZgpaEedO11PfA9IYrDq6ccnlEslr4WJjMX9h+
 028CYWLcp/rxLTTy2Ld7HeZXBX7TdPwv+/TpxEnGCVaj7YuhP5ln/72vk1n/HvZFiL33+neZ05G
 ih9UFyJwMB2alWeKIY8y+cO9EWffdnsyNG+c6UPnSlSH5nzZNUscFX0ruMYV7QVb8AzB7Fjfr1K
 r/mWIYNkCUPI+YNE7IMTZNE0qgE9FCNV//rOxqamK4NEeL9byWhk+x9NZQ6lEUaFsAE2ip0+pux
 wmGx/gZch3WHA9A==
X-Developer-Key: i=matttbe@kernel.org; a=openpgp;
 fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073

From: Geliang Tang <tanggeliang@kylinos.cn>

The variable 'match' in mptcp_userspace_pm_append_new_local_addr() is a
redundant one, and this patch drops it.

No need to define 'match' as 'struct mptcp_pm_addr_entry *' type. In this
function, it's only used to check whether it's NULL. It can be defined as
a Boolean one.

Also other variables 'addr_match' and 'id_match' make 'match' a redundant
one, which can be replaced by directly checking 'addr_match && id_match'.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 net/mptcp/pm_userspace.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c
index bedd6f9ebc8b07871d317dfaf65135342cdeeeee..a16e2fb45a6c68bc0c3c187122a=
54765ef0fb259 100644
--- a/net/mptcp/pm_userspace.c
+++ b/net/mptcp/pm_userspace.c
@@ -48,7 +48,6 @@ static int mptcp_userspace_pm_append_new_local_addr(struc=
t mptcp_sock *msk,
 						    bool needs_id)
 {
 	DECLARE_BITMAP(id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1);
-	struct mptcp_pm_addr_entry *match =3D NULL;
 	struct sock *sk =3D (struct sock *)msk;
 	struct mptcp_pm_addr_entry *e;
 	bool addr_match =3D false;
@@ -63,16 +62,12 @@ static int mptcp_userspace_pm_append_new_local_addr(str=
uct mptcp_sock *msk,
 		if (addr_match && entry->addr.id =3D=3D 0 && needs_id)
 			entry->addr.id =3D e->addr.id;
 		id_match =3D (e->addr.id =3D=3D entry->addr.id);
-		if (addr_match && id_match) {
-			match =3D e;
+		if (addr_match || id_match)
 			break;
-		} else if (addr_match || id_match) {
-			break;
-		}
 		__set_bit(e->addr.id, id_bitmap);
 	}
=20
-	if (!match && !addr_match && !id_match) {
+	if (!addr_match && !id_match) {
 		/* Memory for the entry is allocated from the
 		 * sock option buffer.
 		 */
@@ -90,7 +85,7 @@ static int mptcp_userspace_pm_append_new_local_addr(struc=
t mptcp_sock *msk,
 		list_add_tail_rcu(&e->list, &msk->pm.userspace_pm_local_addr_list);
 		msk->pm.local_addr_used++;
 		ret =3D e->addr.id;
-	} else if (match) {
+	} else if (addr_match && id_match) {
 		ret =3D entry->addr.id;
 	}
=20

--=20
2.47.1
From nobody Sat May  3 00:01:39 2025
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 508B9205514;
	Fri, 21 Feb 2025 15:44:25 +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=1740152665; cv=none;
 b=fBJE/R9v3hZ+m4xgihjQ/XqAFiAfk9RuoqHHsX4kzWzV3o2YbJIUeyhsZoVsbUnWLF4LlaSJNsrWfOoCQZx+vMX6qeDvkKJKUAaMcj6mqCK+tAtDe9tDmyE5/M6F5mgTqCTN8GGH3MttmhglMNWPhwm41rLVEi/463bbXpKnb+I=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740152665; c=relaxed/simple;
	bh=HO/U2K0VlOA7A2+ePqQL17SLbIZk0lISzN8lAeSxivs=;
	h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
	 In-Reply-To:To:Cc;
 b=W+ZT1GA2azR6U+h2JtzzoZiwPdAJL5RfwDgnqnptOQkBfSr+9FnKSk+sg6AdsAtpJ1qGGCGn5G50YeJkL6qklaVKmK/CWh0+H5F1JkJ0yvYYXZy1Aj88QvcNFHiS2CXS6VsWytmBgS+vzJKuQTbnRj/Igitz7SBtTj1K91NGYX0=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=GE9sEeWh; 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="GE9sEeWh"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 245A1C4CEE2;
	Fri, 21 Feb 2025 15:44:22 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1740152665;
	bh=HO/U2K0VlOA7A2+ePqQL17SLbIZk0lISzN8lAeSxivs=;
	h=From:Date:Subject:References:In-Reply-To:To:Cc:From;
	b=GE9sEeWhBaofGP+L7RDN6oxNV6/CrpqTIgl4Judv6b2DL98rILFXbMWkBbnGL71wl
	 RmNmpqdRsCu85/sDuceiZGwP+Dt+U6ZcfN4yAJrihGwtjvMeeqQxDeUAUs9V4Q+wHN
	 wfh9bVrF/kfqsjYoqJRXzSCvtCq+p+tQAtBdLjYoKV7NNYfG0cRLMf5/YEoQ0Mq3eO
	 x4cPMzJt3hleINr0x8SbnTd1DE5eiISW3brOpJ/3VLtj6+hB7Y8lNZsdNSgDUI6oz8
	 Pwd/6M/Tf4esD+N73piHSb3Rrjv3aXFj7s75XeOoY2g8xd75z7Qwvomf3EnMCsxCHv
	 YD8pshw4WMmUw==
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Fri, 21 Feb 2025 16:43:59 +0100
Subject: [PATCH net-next 06/10] mptcp: pm: drop inet6_sk after inet_sk
Precedence: bulk
X-Mailing-List: mptcp@lists.linux.dev
List-Id: <mptcp.lists.linux.dev>
List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-6-2b70ab1cee79@kernel.org>
References: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
In-Reply-To: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
To: mptcp@lists.linux.dev, Mat Martineau <martineau@kernel.org>,
 Geliang Tang <geliang@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Matthieu Baerts (NGI0)" <matttbe@kernel.org>,
 Geliang Tang <geliang@kernel.org>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2306; i=matttbe@kernel.org;
 h=from:subject:message-id; bh=xGhLLvT9C5RFpvlGZaPhSeZsH3tKwxAeTGRWovFQLzc=;
 b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnuJ9HwHj2cdP8JdEWAW7+fxOMvTAWNMTF/zfFG
 whUJ+aagtuJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ7ifRwAKCRD2t4JPQmmg
 c4FgD/sHsOfaWNxJsg1FJPJIvvcqVadxxq0Fk7r9ShWf33kzeHEghEA7gEbMwdUhr/vcRTo9grM
 SbKZkyBUKMbsCwKHG+w/nIVUZ6KCazYkYy1cM+KqMbwtwa5EkDapbRW1D6l256GipbAhyjzcjNc
 PGUiXnc5A3WenFhHowtvRNfuTjsQLzHQT4hfObP+I0T1ZtVYWN7aeJ9fbASY0fPNFAwGb2E9lxv
 WIPVHMlhoP0X9Y3+XLyJw5XZirZxiJljQ3Zgca5HtUuvpdv4d+fgQBEdbJmkidcA/wlRdPfC4+X
 dO+zxi0DskGr8BamK6wyMZpXcF2PkmDug4IKF2vGWLamkATIPGKg2xjmRiFh48x2r3pUPeixdsZ
 6IBRIu8SO6ZJI4q+vJhqgjly6qh67MX3QT/wNNYAERGFVBfxRQdIGmlmtdodtBBqp/KlKFQ930k
 m2uMU+i3pTF3H8vHVHovcWl5ZvkwjpHPKK/j+7ajVxef+YoOkPJWkjUdHkEZQy7Ebxecfv8sJFb
 fCsYABBdYRUdi4+FcDKoUrk4RBEdoIcjYpD0Amcni5jY99TH1w3MUgF69FjbDlF2FYrBgpg4tJ9
 W+yYly5Qu27nrauoNLWcwoCm+WZOma4NfIuHx3qExAbaU+0z15SjAj2DbKBuL1ukoGqtW8mdMpa
 UufV/YUqBApHA1Q==
X-Developer-Key: i=matttbe@kernel.org; a=openpgp;
 fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073

From: Geliang Tang <tanggeliang@kylinos.cn>

In mptcp_event_add_subflow(), mptcp_event_pm_listener() and
mptcp_nl_find_ssk(), 'issk' has already been got through inet_sk().

No need to use inet6_sk() to get 'ipv6_pinfo' again, just use
issk->pinet6 instead. This patch also drops these 'ipv6_pinfo'
variables.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 net/mptcp/pm_netlink.c   | 8 ++------
 net/mptcp/pm_userspace.c | 4 +---
 2 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index 98fcbf8b1465649961c568c6f8978e91d0a53668..f67b637c1fcf7c2930ced8b5c6b=
9df156118cbcd 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -2022,9 +2022,7 @@ static int mptcp_event_add_subflow(struct sk_buff *sk=
b, const struct sock *ssk)
 		break;
 #if IS_ENABLED(CONFIG_MPTCP_IPV6)
 	case AF_INET6: {
-		const struct ipv6_pinfo *np =3D inet6_sk(ssk);
-
-		if (nla_put_in6_addr(skb, MPTCP_ATTR_SADDR6, &np->saddr))
+		if (nla_put_in6_addr(skb, MPTCP_ATTR_SADDR6, &issk->pinet6->saddr))
 			return -EMSGSIZE;
 		if (nla_put_in6_addr(skb, MPTCP_ATTR_DADDR6, &ssk->sk_v6_daddr))
 			return -EMSGSIZE;
@@ -2251,9 +2249,7 @@ void mptcp_event_pm_listener(const struct sock *ssk,
 		break;
 #if IS_ENABLED(CONFIG_MPTCP_IPV6)
 	case AF_INET6: {
-		const struct ipv6_pinfo *np =3D inet6_sk(ssk);
-
-		if (nla_put_in6_addr(skb, MPTCP_ATTR_SADDR6, &np->saddr))
+		if (nla_put_in6_addr(skb, MPTCP_ATTR_SADDR6, &issk->pinet6->saddr))
 			goto nla_put_failure;
 		break;
 	}
diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c
index a16e2fb45a6c68bc0c3c187122a54765ef0fb259..6bf6a20ef7f3e50750b648032c9=
e8961d3222890 100644
--- a/net/mptcp/pm_userspace.c
+++ b/net/mptcp/pm_userspace.c
@@ -460,9 +460,7 @@ static struct sock *mptcp_nl_find_ssk(struct mptcp_sock=
 *msk,
 			break;
 #if IS_ENABLED(CONFIG_MPTCP_IPV6)
 		case AF_INET6: {
-			const struct ipv6_pinfo *pinfo =3D inet6_sk(ssk);
-
-			if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
+			if (!ipv6_addr_equal(&local->addr6, &issk->pinet6->saddr) ||
 			    !ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr))
 				continue;
 			break;

--=20
2.47.1
From nobody Sat May  3 00:01:39 2025
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 7CB65205514;
	Fri, 21 Feb 2025 15:44:27 +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=1740152668; cv=none;
 b=FscV79hpMKIR0fycL5la5NWOmoHkFoFIVD28P3LXolB21yx8xuURK5G8vIniMXb0eqGJERdGgnTa5U1fK66RmA0TfDYNoyZrO0uN+r7xDVSP0FwW1FZikmt1KD3IbiWpMwBQ6n2f14bYA9QPO3t2VrJSfD/PVVGcZMEx6Hm0fMw=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740152668; c=relaxed/simple;
	bh=a1PHG4oRYa5wYXlrTgrvlkE6wAw+WAhSTwMJ3XPR460=;
	h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
	 In-Reply-To:To:Cc;
 b=dLP5wWYDLmswFCoCvgI0rkwy40HVdl/MNBrGTog3YZXJmVdpz3jmPgh8FJoYOxCWfidgTPU6NylBBc0amhmbs0KUwMATqny+ovur2I0VvBe6mGH1PvgG6Fda0tKqxpeByCikqiQnSrAB3do2Z50qsh6a2WTZteZCNAvzk85T66U=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=r2EL121H; 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="r2EL121H"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9ABEAC4CED6;
	Fri, 21 Feb 2025 15:44:25 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1740152667;
	bh=a1PHG4oRYa5wYXlrTgrvlkE6wAw+WAhSTwMJ3XPR460=;
	h=From:Date:Subject:References:In-Reply-To:To:Cc:From;
	b=r2EL121HxSLqw57ez/5DP/DYtbt/130TGkJOjS0k5qpbTgqQBvbqGC/EucLxoytx4
	 tWlfPreHiM71kEQtpVkkdihbC03WvoDqyk4uwQpEWuj2T+sCXoRd6j2qx6hoBii78i
	 +exBxtzWOiNYPThiAXkzUTUgrcYu0MpQ4rJKl70TI3CIN4NtTuwgNgBiL1DDlm2S4N
	 itiPp374ysbgF6Ed9aqQVG/ySMEzTI3t8c1qu0VhqZ+uwYiIf4cTB2WPcrOs+sEqrv
	 RohjnMtBc3bxOUGwq81xw+uaJNpEz4syrZqF/ukxZkbdecw0a5Mc7EKiZTsmS3zbaO
	 AfqecZ0dcxxsg==
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Fri, 21 Feb 2025 16:44:00 +0100
Subject: [PATCH net-next 07/10] mptcp: pm: use ipv6_addr_equal in
 addresses_equal
Precedence: bulk
X-Mailing-List: mptcp@lists.linux.dev
List-Id: <mptcp.lists.linux.dev>
List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-7-2b70ab1cee79@kernel.org>
References: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
In-Reply-To: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
To: mptcp@lists.linux.dev, Mat Martineau <martineau@kernel.org>,
 Geliang Tang <geliang@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Matthieu Baerts (NGI0)" <matttbe@kernel.org>,
 Geliang Tang <geliang@kernel.org>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1079; i=matttbe@kernel.org;
 h=from:subject:message-id; bh=B4keAA5ZHYw+PbPi00B+5NzpE+JM2Ll5Ekvtr28WNco=;
 b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnuJ9HgKgztIEWjGR2ANIpDvvp+nYp3ap67g0KX
 WoB/r4V6jKJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ7ifRwAKCRD2t4JPQmmg
 cxY/D/wM8bSZa+l+C2F4bJak/9vTgbHghg2z7NeJwx03eR6zVgiB1GAhDuou2gs2ZMuK0DaXhVS
 NSzXNFy471FH4Q4drvYlOh9iFeXmdZnrv5z9XYeJG6RieNP2lpQAcBWdvFxIBEncy6rYfSLWMLw
 eC/5eztgX60aT3trgBuF15+zCBplPun11Cfbduwj7yc1RAHU4f3mg1eAUl/Fly+rdO2pP6xUMiH
 /YtJVQt82oHkhwzAp1nGcIlO3+AImjAf8Aj7MsTzwK9PIx+LcIZ3Ale6W9sCDs9VBzAzbp5qHUG
 4yyOyaYOl4npsj7ocT9n3/e0thQCfhqtDk2ujoxPOPAfFzT3T6T+0T4N52osO+QlmMmHqyvLbHo
 sCvF3un7vbM7V9Dyzh/cS78kBsHruMXBJLiF3bg/z6etulBxE/kY/5AdGwTo7BRmCA08HmX5XTq
 9bfbw7Zu6gIczvARJLMq5ySOHLJisWs5ttGkONeKMCOXtVao8j9To4aBC8QGfVqf+ChO7H4my6S
 TYCCfIAYeuBb34+RJ/XEhj7wH7aQfhkAcHbpzTP693mOtpiH6Q8lIif5tkUAQpKlYwKkRojA3cT
 DIAujJx7vdQjOzH3f5+JowlSRi4Hc453mBY6r4l/Z63sKiBBVUJ3qZHCfJviXuUYmlYHbXTypcq
 THl/f8Ms0z56wRQ==
X-Developer-Key: i=matttbe@kernel.org; a=openpgp;
 fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073

From: Geliang Tang <tanggeliang@kylinos.cn>

Use ipv6_addr_equal() to check whether two IPv6 addresses are equal in
mptcp_addresses_equal().

This is more appropriate than using !ipv6_addr_cmp().

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 net/mptcp/pm_netlink.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index f67b637c1fcf7c2930ced8b5c6b9df156118cbcd..ef85a60151ad796b445afc21bcb=
cae1c52ef64b6 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -64,7 +64,7 @@ bool mptcp_addresses_equal(const struct mptcp_addr_info *=
a,
 			addr_equals =3D a->addr.s_addr =3D=3D b->addr.s_addr;
 #if IS_ENABLED(CONFIG_MPTCP_IPV6)
 		else
-			addr_equals =3D !ipv6_addr_cmp(&a->addr6, &b->addr6);
+			addr_equals =3D ipv6_addr_equal(&a->addr6, &b->addr6);
 	} else if (a->family =3D=3D AF_INET) {
 		if (ipv6_addr_v4mapped(&b->addr6))
 			addr_equals =3D a->addr.s_addr =3D=3D b->addr6.s6_addr32[3];

--=20
2.47.1
From nobody Sat May  3 00:01:39 2025
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 B52051E47CA;
	Fri, 21 Feb 2025 15:44:30 +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=1740152670; cv=none;
 b=JEXw6QKsnzfqp+PMrGVGeBvrvrJri7fFnapMQ7OszxKwS0p008j5zdYe/OYJkjZHHgPdr+iZdqZI7SHHddeBjmecftjgqIojyny0Jk5XwFWFQNe9p/qVJDqpUR2446g7Qmm9uPh2jKSq0DX+9VXkGTfzUAsy4OOeTljD0RFdwF8=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740152670; c=relaxed/simple;
	bh=pIHmmZWQGeAQvcIrXjKJgOXjxp9GrZuLJAqY4jRYyR0=;
	h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
	 In-Reply-To:To:Cc;
 b=mjKquQbpr3GJ3A4o6HIUdlhPE5nRYdO8b78o9tHXXy6cQNQ0qteZE78LrOvmudHYR79jzQ6AjHI7cZ+1viZp8btTykSQu41KTUNF2iS2F4Kcujhgp2LAg4OaR55M7Sl1HWKtvdZ0JWqiSO7ev20Qf/jai8cC82gMU4TGGhWyGMo=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=rnn0hpm9; 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="rnn0hpm9"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1E39CC4CEE4;
	Fri, 21 Feb 2025 15:44:27 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1740152670;
	bh=pIHmmZWQGeAQvcIrXjKJgOXjxp9GrZuLJAqY4jRYyR0=;
	h=From:Date:Subject:References:In-Reply-To:To:Cc:From;
	b=rnn0hpm9NF0bKnTpwSiVgysq0AhvbCI36Gu/UTlWh6bsNMMvZ/FU6JFKVritb5JgJ
	 F7dT6gm1/JfEwS/f6iMnAJ3T1an/I4A32f47QJw4bCdYmDstarxrJoQLQvFbEjo9sE
	 XPDMIfIX+wyG3HrQ6q30kabtFD8VzD91ahbvA4cBD0IvQMIxujC5+0a4OeKZ+ZnNBm
	 YQZSQx3AmqWXPJqVquyhWnqGWwGCjhywQMAgJi1o7NQvYiEOUuTF7FEbvqoNPIDHZl
	 /12N9ZgQwfMxfrqISomST8sVTgkCBPHPKN1ciFc4neiTXOiaiDh82a1w9VFMFEXGD1
	 H2c5y1zEijF2w==
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Fri, 21 Feb 2025 16:44:01 +0100
Subject: [PATCH net-next 08/10] mptcp: sched: split get_subflow interface
 into two
Precedence: bulk
X-Mailing-List: mptcp@lists.linux.dev
List-Id: <mptcp.lists.linux.dev>
List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-8-2b70ab1cee79@kernel.org>
References: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
In-Reply-To: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
To: mptcp@lists.linux.dev, Mat Martineau <martineau@kernel.org>,
 Geliang Tang <geliang@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Matthieu Baerts (NGI0)" <matttbe@kernel.org>,
 Geliang Tang <geliang@kernel.org>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=4111; i=matttbe@kernel.org;
 h=from:subject:message-id; bh=4etufhjOFcm5rpcVbLB5Hl2mjEGGh+/HGlGO5Nqd8vQ=;
 b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnuJ9HXut+RXO7bryGeSFWKp6mSx5zeJQUIME1H
 8Yu2qA9xJOJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ7ifRwAKCRD2t4JPQmmg
 c2pHEAC31BgHJRnIMxVTYaG69jvX2fXo6fYWm6lvUVKdz7Xtiol5KCkrVTgXMjmp4i/L7X/Wp4q
 9I8Y2k+2inMuNV1dbvkcrQv6yCvUWp9JZ0t92m0zGDUjNjOKbrsyTLOayItHIiQEHHyv1pJ3DtE
 KyNtvutQ8ZRcnnU5R1wG1ZCWFEQZq4hHZP4h2CSv4BkP7orDQ/QnfYnekiKHlB4InwZ41DiH0wl
 LmYPvR9Cn7TCHh5eP5TJ4Z1kjF/LUPY5o7k0frK4aCaJyNK9HqHN/h0l9ARHZIz6c7N71lDN77U
 n1zw3uQsLDeymlDg2PorV5GLr4pkUhMqmhlGVp3TTA0JSfPwhanXVe1U9NyxlpIHzq+lO7ocKPv
 caVcOHm7tTaAr1Ksqee9cnCZxDxmrmxaJ4dnZNV4qRqafqdvEQHueJcPugEmvAEfT7jVJs2yPBp
 K2jD9uCb+txcPJ06pOnam6BQHY5SHVggH40LXMJRIX35zMAlzSyT8Ivbz54YjgPDzuTefkyxhlo
 SdAg7ltQkpSB72EBkFhWX4BnMM1+9ip8MNHYFJ7IYWvf+xUEdapvB0kSNbOS3w11JCWapDNI7+2
 ++/tg7qaqFBceX0Pfpbn+WZjs1iglpX1RYlyznlx8HtDowaJ8u1lwOa53LabQdBG4HC0bjSkkLh
 DRzn8WMihb9caPA==
X-Developer-Key: i=matttbe@kernel.org; a=openpgp;
 fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073

From: Geliang Tang <tanggeliang@kylinos.cn>

get_retrans() interface of the burst packet scheduler invokes a sleeping
function mptcp_pm_subflow_chk_stale(), which calls __lock_sock_fast().
So get_retrans() interface should be set with BPF_F_SLEEPABLE flag in
BPF. But get_send() interface of this scheduler can't be set with
BPF_F_SLEEPABLE flag since it's invoked in ack_update_msk() under mptcp
data lock.

So this patch has to split get_subflow() interface of packet scheduer into
two interfaces: get_send() and get_retrans(). Then we can set get_retrans()
interface alone with BPF_F_SLEEPABLE flag.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 include/net/mptcp.h |  5 +++--
 net/mptcp/sched.c   | 35 ++++++++++++++++++++++++-----------
 2 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/include/net/mptcp.h b/include/net/mptcp.h
index 814b5f2e3ed5e3e474a2bac5e4cca5a89abcfe1c..2c85ca92bb1c39989ae08a74ff4=
ef9b42099e60d 100644
--- a/include/net/mptcp.h
+++ b/include/net/mptcp.h
@@ -103,13 +103,14 @@ struct mptcp_out_options {
 #define MPTCP_SUBFLOWS_MAX	8
=20
 struct mptcp_sched_data {
-	bool	reinject;
 	u8	subflows;
 	struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX];
 };
=20
 struct mptcp_sched_ops {
-	int (*get_subflow)(struct mptcp_sock *msk,
+	int (*get_send)(struct mptcp_sock *msk,
+			struct mptcp_sched_data *data);
+	int (*get_retrans)(struct mptcp_sock *msk,
 			   struct mptcp_sched_data *data);
=20
 	char			name[MPTCP_SCHED_NAME_MAX];
diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c
index df7dbcfa3b71370cc4d7e4e4f16cc1e41a50dddf..94dc4b3ad82f6a462961ae5195b=
7eba2271d8275 100644
--- a/net/mptcp/sched.c
+++ b/net/mptcp/sched.c
@@ -16,13 +16,25 @@
 static DEFINE_SPINLOCK(mptcp_sched_list_lock);
 static LIST_HEAD(mptcp_sched_list);
=20
-static int mptcp_sched_default_get_subflow(struct mptcp_sock *msk,
+static int mptcp_sched_default_get_send(struct mptcp_sock *msk,
+					struct mptcp_sched_data *data)
+{
+	struct sock *ssk;
+
+	ssk =3D mptcp_subflow_get_send(msk);
+	if (!ssk)
+		return -EINVAL;
+
+	mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true);
+	return 0;
+}
+
+static int mptcp_sched_default_get_retrans(struct mptcp_sock *msk,
 					   struct mptcp_sched_data *data)
 {
 	struct sock *ssk;
=20
-	ssk =3D data->reinject ? mptcp_subflow_get_retrans(msk) :
-			       mptcp_subflow_get_send(msk);
+	ssk =3D mptcp_subflow_get_retrans(msk);
 	if (!ssk)
 		return -EINVAL;
=20
@@ -31,7 +43,8 @@ static int mptcp_sched_default_get_subflow(struct mptcp_s=
ock *msk,
 }
=20
 static struct mptcp_sched_ops mptcp_sched_default =3D {
-	.get_subflow	=3D mptcp_sched_default_get_subflow,
+	.get_send	=3D mptcp_sched_default_get_send,
+	.get_retrans	=3D mptcp_sched_default_get_retrans,
 	.name		=3D "default",
 	.owner		=3D THIS_MODULE,
 };
@@ -73,7 +86,7 @@ void mptcp_get_available_schedulers(char *buf, size_t max=
len)
=20
 int mptcp_register_scheduler(struct mptcp_sched_ops *sched)
 {
-	if (!sched->get_subflow)
+	if (!sched->get_send)
 		return -EINVAL;
=20
 	spin_lock(&mptcp_sched_list_lock);
@@ -164,10 +177,9 @@ int mptcp_sched_get_send(struct mptcp_sock *msk)
 			return 0;
 	}
=20
-	data.reinject =3D false;
 	if (msk->sched =3D=3D &mptcp_sched_default || !msk->sched)
-		return mptcp_sched_default_get_subflow(msk, &data);
-	return msk->sched->get_subflow(msk, &data);
+		return mptcp_sched_default_get_send(msk, &data);
+	return msk->sched->get_send(msk, &data);
 }
=20
 int mptcp_sched_get_retrans(struct mptcp_sock *msk)
@@ -186,8 +198,9 @@ int mptcp_sched_get_retrans(struct mptcp_sock *msk)
 			return 0;
 	}
=20
-	data.reinject =3D true;
 	if (msk->sched =3D=3D &mptcp_sched_default || !msk->sched)
-		return mptcp_sched_default_get_subflow(msk, &data);
-	return msk->sched->get_subflow(msk, &data);
+		return mptcp_sched_default_get_retrans(msk, &data);
+	if (msk->sched->get_retrans)
+		return msk->sched->get_retrans(msk, &data);
+	return msk->sched->get_send(msk, &data);
 }

--=20
2.47.1
From nobody Sat May  3 00:01:39 2025
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 C034D212FAA;
	Fri, 21 Feb 2025 15:44:32 +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=1740152672; cv=none;
 b=VTKcn4zg4ecx2RjJrOmZN+9Ah3yUsKDnl7ZQtwP23PVYv9e9TdCCHvF01vLk0F3HsMxcqLFEaqMxOo6kiTVQAMVsYwRWquO2VknRTWoH89d9M14OEkNTgziZf4FD1kd7iciWV1ndStj4+OqNHpQqeDw10bi45YGX7gqnY5TFOB0=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740152672; c=relaxed/simple;
	bh=UBj9dMClQZezqlXlgcKU8Jj3hHkFDTNQJxKvzRTchbI=;
	h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
	 In-Reply-To:To:Cc;
 b=pK/I2WkMtU1xvrKUNGE4/7JcILg7U9mNmxAU/NUA1d8QTgtZdWtK0SklEJwtbi9X4T32f/xpfLR81+FtXnRVPz/YtPL/nxQT+xp2dO3RtRDlm1bY5lW+GZ/2d6/zDYLVSjvq1Zs5wV/MmoKnepVicdkB1GMS+Exky1Auq4gmmV4=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=YV6gmFD7; 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="YV6gmFD7"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 94B4AC4CEE8;
	Fri, 21 Feb 2025 15:44:30 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1740152672;
	bh=UBj9dMClQZezqlXlgcKU8Jj3hHkFDTNQJxKvzRTchbI=;
	h=From:Date:Subject:References:In-Reply-To:To:Cc:From;
	b=YV6gmFD7vretqaw78yswnEb9rjuK4OXMUH2F53Agl+IfO29KYpicFXMeFeTiCS8ne
	 Ppjq7VSoPjTrJ/oJF++no5bInyezCCdLYm0fJiwIG5/C0nGyvi5fbSnk2l+E1LEX20
	 MmdFapfsdEr2cNotP/gDeruXKlHit3BGCLHIeW6Y3wLqr5Oj+NITRLBa3eTxHJng6N
	 l1FgjcBEDFVVpWMLO94/h56vnZNRd/J90joryzCytKtmQFHiHAQ15dXl2bP3MpZU5J
	 7F1nmXWKhV6Qih0EIty+q8XM7id+K9pF/vDFAks3VBBn7kisFZoSvFK/viT9v4i1bQ
	 wpW8jFRAgVDyg==
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Fri, 21 Feb 2025 16:44:02 +0100
Subject: [PATCH net-next 09/10] mptcp: sched: reduce size for unused data
Precedence: bulk
X-Mailing-List: mptcp@lists.linux.dev
List-Id: <mptcp.lists.linux.dev>
List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-9-2b70ab1cee79@kernel.org>
References: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
In-Reply-To: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
To: mptcp@lists.linux.dev, Mat Martineau <martineau@kernel.org>,
 Geliang Tang <geliang@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2319; i=matttbe@kernel.org;
 h=from:subject:message-id; bh=UBj9dMClQZezqlXlgcKU8Jj3hHkFDTNQJxKvzRTchbI=;
 b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnuJ9H7gUWwrXzNME+yQpPk/ZT71mKfIC4orEDS
 3wfTgrNbjaJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ7ifRwAKCRD2t4JPQmmg
 c6ecEADHWD0cgzY4TucaQaqmprk+akhhmisGItmfyJbczDy1GCzmPzM/mIvjHxdN8Qjp78Eddtn
 oHEExcgrjXEjY4ZwHhnbseYs49TYBPUrJfmBk2rJiPdT/V1Mgb8xpjegQFL67Jwgnrmn9FAQbIO
 vca3sJSQbEn7t/YXH9GqEkmUPX87Z+paZgDUG70ogj4P1ls3fYmP2WS+P98r7FC4C4XGgDP1xgr
 eyxbOYfK4mrvATBPvKzQmysFIIQP5/NzU3WnsNQ+J7egomgktwmdgdvDcWW84n1TEoMNtOlXJz5
 m5wwbxRiGDhGdRQCJ6PjhtDS0kHxfkUo7AHTIX1OeNaMgTqKliGHpFVQy5aDBB00YuWTClzC4IS
 qkuuHF1W2QOx3y3fiu/hqoxDPfJ5hx95riPER6LYdFip2xa2hj/aQqaFI8eq2poWddNBm5DHS5D
 R+0sp339CO3SIO2Glu3G1DSrW9tjpJbuVb5yOp2sLfDlD8xACYohZdQ9cYtzYnCxbfNLFbf6FNS
 Kt01jn8j137pmSp2hfLkXLhOxrxKLXPCQu2IrKBPeq+graIVRTFpDxtLweYCYg0M4oNBOLuDqr7
 kz6CIH1SllCgk8qif0iWXEFbeBge6dfB6myqWIXUM5lXdpsm82nGBb2AhnF6m6FC2yd8CTQzaIz
 bklZ1p4ZEwos09Q==
X-Developer-Key: i=matttbe@kernel.org; a=openpgp;
 fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073

Thanks for the previous commit ("mptcp: sched: split get_subflow
interface into two"), the mptcp_sched_data structure is now currently
unused.

This structure has been added to allow future extensions that are not
ready yet. At the end, this structure will not even be used at all when
mptcp_subflow bpf_iter will be supported [1].

Here is a first step to save 64 bytes on the stack for each scheduling
operation. The structure is not removed yet not to break the WIP work on
these extensions, but will be done when [1] will be ready and applied.

Link: https://lore.kernel.org/6645ad6e-8874-44c5-8730-854c30673218@linux.de=
v [1]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 net/mptcp/sched.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c
index 94dc4b3ad82f6a462961ae5195b7eba2271d8275..c16c6fbd4ba2f89a2fffcfd6b19=
16098d7a18cbe 100644
--- a/net/mptcp/sched.c
+++ b/net/mptcp/sched.c
@@ -157,7 +157,7 @@ void mptcp_subflow_set_scheduled(struct mptcp_subflow_c=
ontext *subflow,
 int mptcp_sched_get_send(struct mptcp_sock *msk)
 {
 	struct mptcp_subflow_context *subflow;
-	struct mptcp_sched_data data;
+	struct mptcp_sched_data *data =3D NULL;
=20
 	msk_owned_by_me(msk);
=20
@@ -178,14 +178,14 @@ int mptcp_sched_get_send(struct mptcp_sock *msk)
 	}
=20
 	if (msk->sched =3D=3D &mptcp_sched_default || !msk->sched)
-		return mptcp_sched_default_get_send(msk, &data);
-	return msk->sched->get_send(msk, &data);
+		return mptcp_sched_default_get_send(msk, data);
+	return msk->sched->get_send(msk, data);
 }
=20
 int mptcp_sched_get_retrans(struct mptcp_sock *msk)
 {
 	struct mptcp_subflow_context *subflow;
-	struct mptcp_sched_data data;
+	struct mptcp_sched_data *data =3D NULL;
=20
 	msk_owned_by_me(msk);
=20
@@ -199,8 +199,8 @@ int mptcp_sched_get_retrans(struct mptcp_sock *msk)
 	}
=20
 	if (msk->sched =3D=3D &mptcp_sched_default || !msk->sched)
-		return mptcp_sched_default_get_retrans(msk, &data);
+		return mptcp_sched_default_get_retrans(msk, data);
 	if (msk->sched->get_retrans)
-		return msk->sched->get_retrans(msk, &data);
-	return msk->sched->get_send(msk, &data);
+		return msk->sched->get_retrans(msk, data);
+	return msk->sched->get_send(msk, data);
 }

--=20
2.47.1
From nobody Sat May  3 00:01:39 2025
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 3EF10213E89;
	Fri, 21 Feb 2025 15:44:35 +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=1740152675; cv=none;
 b=rbrx+wLkGwHT8b2MHRn/FPqv4PcFiqTqHHr96k01CGwZy64tOF2XWj+AuLM65lNerTctITCDcuOcIMFVi9c0P8f77TGyfUeEgOC/n7mEKOkff8xEJjijZqvCCUEJ256wL/CSM+byUWjdqWnekoY0mllxntoRGKnEyfR0Fg3Dulc=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740152675; c=relaxed/simple;
	bh=Wom1Z6Yf2iTnch8UEgQeD2janPDVRVMz/fyDLs5de9w=;
	h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
	 In-Reply-To:To:Cc;
 b=WXuVpbaHswLJd6e59epX4B/X+S5TFbA0cQL3axOQn9l5foN0n0pYEUxbLTl/P0P9mIlKvkH6BKw+T+0Xa1jZn5LxwMM4MEEI0r9bYEV7MdMEhlypdmpZndXznFLeSCgDsM23O7SO7mpNz8OOSVM1Bn5Qiclq46cBscDMB2OETno=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=S7BO3Q/A; 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="S7BO3Q/A"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 16E13C4CEE4;
	Fri, 21 Feb 2025 15:44:32 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1740152675;
	bh=Wom1Z6Yf2iTnch8UEgQeD2janPDVRVMz/fyDLs5de9w=;
	h=From:Date:Subject:References:In-Reply-To:To:Cc:From;
	b=S7BO3Q/APfHsjQjaGHhS6sHXal6pvXJL3tKyA9mwHcbqfwMupAlmEGCcnbUR3RaqV
	 8/ER9Rj6bzcQQ8FENb+UhBWF28zoo/RueVMGSo6/W8X4rMUyObRPNPSekg9OfqXgbb
	 1EfxbO/hehgtEi2ydPYS5ny8trrUYpdpaSEZNipj/ikyZ/aI6Gcpp3r9KwuZ5cOAk3
	 zrGfo5mYGmi1z1JSsZcARaD977xmvtYOHte1pIAH9lK0dhfRIGIfP78Uutt/jAyIo7
	 MD7DE7h1po+DcuGLwnfWJRyEa89JeaFhmFTOJ5bdYn0zE5PCNABauuq5IogoKL8Dp4
	 Mpys5VwqVdUCA==
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Fri, 21 Feb 2025 16:44:03 +0100
Subject: [PATCH net-next 10/10] mptcp: blackhole: avoid checking the state
 twice
Precedence: bulk
X-Mailing-List: mptcp@lists.linux.dev
List-Id: <mptcp.lists.linux.dev>
List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-10-2b70ab1cee79@kernel.org>
References: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
In-Reply-To: 
 <20250221-net-next-mptcp-pm-misc-cleanup-3-v1-0-2b70ab1cee79@kernel.org>
To: mptcp@lists.linux.dev, Mat Martineau <martineau@kernel.org>,
 Geliang Tang <geliang@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2258; i=matttbe@kernel.org;
 h=from:subject:message-id; bh=Wom1Z6Yf2iTnch8UEgQeD2janPDVRVMz/fyDLs5de9w=;
 b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnuJ9HgoWs/Elej6GEIci+QQQIkFOFv8zV3mfAb
 Do2FbfkzCOJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ7ifRwAKCRD2t4JPQmmg
 c7MhEACYVK1iUWhT53jM4LB417iKAbXrfjFNNb2JFET8a4PSK9fs4TBD+tIOzJbbCG0aDoj/6Th
 xWt3rzxPgiLe/r18Jad51x+gS0y90kmjVD8YV/YzACS3h6c7OsMH0C6UyEzWFBFR9DZ0biFUdSB
 nViI+AlfoJ9t/aCL6cVHvsdUm2r+/B28heR2VHot7m+56CiMadgxmLbmBeRrva+qa7WlEy987we
 49I/C4zd4umS1+93fH9nInTokAsIC3t9GmO/ipT6g6OSYtaoF/XWie9+jSLSQBf2cdsJ0uM0cOV
 7rxPvEfBlxCdX2vniOft69WFpMdmt3CEWOyDlyyKk6nu9jA0TAhx1cSBYI95UxwyS/f4onIvMHw
 yTQ1/WQ7Uw2rxR2WGqnKqriq17B4ZI1TmQnkL4D8CKM0egodgMoGtkGgTORcUsAtIiS7BLxhNCX
 EDeaXDI2EMnUlmTKioeANfDE2hIkPIt+tp2+/ixplrRuIPuXfJOAmSBWQf6sx3HdhEOsmqS/g9T
 Uf6jfyo3Qby7p8AkwcUfOCgugKbHQeUsZSeXir6YVYisQ8tAAsCAOdmso/XLkRa+FdhcFxFWr2A
 0vo6ImkjP9qj43KtE5og7+rjf5SAnnTjWRjQN9/c8uRyzMq7l7Pjr2LVImADND0oH6m8cjjcjjU
 JgRU7GD6zSSEHWA==
X-Developer-Key: i=matttbe@kernel.org; a=openpgp;
 fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073

A small cleanup, reordering the conditions to avoid checking things
twice.

The code here is called in case of timeout on a TCP connection, before
triggering a retransmission. But it only acts on SYN + MPC packets.

So the conditions can be re-order to exit early in case of non-MPTCP
SYN + MPC. This also reduce the indentation levels.

Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 net/mptcp/ctrl.c | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/net/mptcp/ctrl.c b/net/mptcp/ctrl.c
index 2dd81e6c26bdb5220abed68e26d70d2dc3ab14fb..be6c0237e10bfd7520edd3c57ec=
43ce4377b97d5 100644
--- a/net/mptcp/ctrl.c
+++ b/net/mptcp/ctrl.c
@@ -401,26 +401,30 @@ void mptcp_active_enable(struct sock *sk)
 void mptcp_active_detect_blackhole(struct sock *ssk, bool expired)
 {
 	struct mptcp_subflow_context *subflow;
+	u8 timeouts, to_max;
+	struct net *net;
=20
-	if (!sk_is_mptcp(ssk))
+	/* Only check MPTCP SYN ... */
+	if (likely(!sk_is_mptcp(ssk) || ssk->sk_state !=3D TCP_SYN_SENT))
 		return;
=20
 	subflow =3D mptcp_subflow_ctx(ssk);
=20
-	if (subflow->request_mptcp && ssk->sk_state =3D=3D TCP_SYN_SENT) {
-		struct net *net =3D sock_net(ssk);
-		u8 timeouts, to_max;
-
-		timeouts =3D inet_csk(ssk)->icsk_retransmits;
-		to_max =3D mptcp_get_pernet(net)->syn_retrans_before_tcp_fallback;
-
-		if (timeouts =3D=3D to_max || (timeouts < to_max && expired)) {
-			MPTCP_INC_STATS(net, MPTCP_MIB_MPCAPABLEACTIVEDROP);
-			subflow->mpc_drop =3D 1;
-			mptcp_subflow_early_fallback(mptcp_sk(subflow->conn), subflow);
-		}
-	} else if (ssk->sk_state =3D=3D TCP_SYN_SENT) {
+	/* ... + MP_CAPABLE */
+	if (!subflow->request_mptcp) {
+		/* Mark as blackhole iif the 1st non-MPTCP SYN is accepted */
 		subflow->mpc_drop =3D 0;
+		return;
+	}
+
+	net =3D sock_net(ssk);
+	timeouts =3D inet_csk(ssk)->icsk_retransmits;
+	to_max =3D mptcp_get_pernet(net)->syn_retrans_before_tcp_fallback;
+
+	if (timeouts =3D=3D to_max || (timeouts < to_max && expired)) {
+		MPTCP_INC_STATS(net, MPTCP_MIB_MPCAPABLEACTIVEDROP);
+		subflow->mpc_drop =3D 1;
+		mptcp_subflow_early_fallback(mptcp_sk(subflow->conn), subflow);
 	}
 }
=20

--=20
2.47.1