From nobody Tue May  6 21:51:01 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 8FEDD33998
	for <mptcp@lists.linux.dev>; Fri, 24 Jan 2025 07:11:44 +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=1737702704; cv=none;
 b=qbJOnLaCxnCtfuoWUfjY5BONfNV65u3hCtW+bt4elZChohgdbDvnopKNInDbfkbFDkbQ1pqDoFYKkJ5YvDFmrA5IoQqcpUvF2iqUbqf22uQ7ZS47wUE/vVLGlEWnv92XFAjKyjTVHDDHg5A6VWeSFiAqtdWfljeeQGv1zVyTF+g=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1737702704; c=relaxed/simple;
	bh=TiZfMyxvA7ixpSqsK46sUJnfdUrObKYYni17nSJ+4sU=;
	h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
	 MIME-Version;
 b=A9z6N1Do4qcv+1XqPlP3KKWUaAVvDZfJy5QUGJBWPppfPcxfA9hjHAtPwqA+lSNDIJK2+VYa8rU66XauiU2NI5TWq2K6nGKkkWcA0GfAt262wlnu0kx598Nsk4ov9LZc8OdcKN4oHr5928DM3QUYQ9Cel2I+oPGcEgI4Ts/ZK2Q=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=e6fXFxw4; 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="e6fXFxw4"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 98D86C4CEDD;
	Fri, 24 Jan 2025 07:11:42 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1737702704;
	bh=TiZfMyxvA7ixpSqsK46sUJnfdUrObKYYni17nSJ+4sU=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=e6fXFxw4iJ3VyZ/THVr/o9P4AfQh3zvSkiAiQaDZXq/zrj6DtA71gSRLgdWhmDmQr
	 Yl1R+VgAzh4fmqWyE/7SJgRL6YU7ZY5lZW/ayRARDaib5wspHi7EbH2UMN2ht3VDg4
	 QqfunElKtliEhBkx3frw7VGtvXTNRwy8bLTUCWRvtWVjU0TIq5YFZukgGQMdCy2qAc
	 ACrAY4Y1RLJwjBGRHCORq4iv9NsNcy3zLfFBCloswTLgY6Ymy/5IN2TtFX6vZbo1bk
	 17D4dHnW6vxFYKTW2jhjceVuZBFVmawOE7yEXnEG2LSPo8DClcw5SywF5/vZpED25u
	 mI4CJ+ewUoLqg==
From: Geliang Tang <geliang@kernel.org>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>,
	Matthieu Baerts <matttbe@kernel.org>
Subject: [PATCH mptcp-next v5 1/5] mptcp: add a build check for
 userspace_pm_dump_addr
Date: Fri, 24 Jan 2025 15:10:43 +0800
Message-ID: 
 <ea2f44424a995a20c88587e41f1eba7989b4b49d.1737702298.git.tanggeliang@kylinos.cn>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1737702298.git.tanggeliang@kylinos.cn>
References: <cover.1737702298.git.tanggeliang@kylinos.cn>
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-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

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.

Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 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 277cf092a870..b69fb5b18130 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.43.0
From nobody Tue May  6 21:51:01 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 20B0933998
	for <mptcp@lists.linux.dev>; Fri, 24 Jan 2025 07:11:45 +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=1737702706; cv=none;
 b=iC+7W6H4jFA5ti04PRxtvGMbaTY1U+sygOqgBm5dqHS87cUX261v4qetg2ttk/AS2SpvqQqEJ48w24nA+pKQHPdaITfp3HReJRexmrYlnCQZIT/+gVu3a1yDAMFHE4HS6dzUsRqHBP0q7zwup6stiv3FMIZxyUiUSRCYA8iH7e4=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1737702706; c=relaxed/simple;
	bh=W7zjOPOB5nfWseLfq1dIAE2m2KefystM9K0R/2dCtyY=;
	h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
	 MIME-Version;
 b=JmhqRGPQ30V+1MBbRUShMIQ6gSlLIU4zmVIKkCLUpuoZHvsHuWljrxLEHu7AP6oUbM9D6qxHMc7FlIo6Zk2M0FfDMe0o9cxcDB5nLmDoRfwOhKNOMWYhV2m4vtN7msETWbh0bjUerkyNSR2ZWQ6hN5rW34tx606lM2oAxnPxxKQ=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=mNlf4dtS; 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="mNlf4dtS"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8B43DC4CEE1;
	Fri, 24 Jan 2025 07:11:44 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1737702705;
	bh=W7zjOPOB5nfWseLfq1dIAE2m2KefystM9K0R/2dCtyY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=mNlf4dtSNc+gL8YQh6hW0SR4rQ57ZZs4B2VN+JoJn7QDOSGzOGdoI6Xkqq/CW9IS9
	 nexGuKSJHx7e6kkEQdsyRdPDgPGenA8rMOXc4oH8sB0gddJtxffP//HcIvZkcTyGmB
	 Pvb4c2sM7T1lSKzMbi5jgWPJmWOlAUnfMaAMKq2L24Kx/xauxsVQj7jIbhbW3h53cv
	 Oon6faTCC3FFFgKsaxudcwISFZI3+FmIL/9QZJxZodREuh/mH92hnFULgpZo9o6Cf/
	 8bL5h7Vevo9QrU2MZdzeCyCianR1pCizArcaImAiLg/OH8Z7fP7/yDbA8TD8Kb/zRI
	 78jKVQsLd8+pA==
From: Geliang Tang <geliang@kernel.org>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>
Subject: [PATCH mptcp-next v5 2/5] mptcp: add mptcp_pm_genl_fill_addr helper
Date: Fri, 24 Jan 2025 15:10:44 +0800
Message-ID: 
 <408b422f50568114b69a4231fbf7c6548915b88f.1737702298.git.tanggeliang@kylinos.cn>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1737702298.git.tanggeliang@kylinos.cn>
References: <cover.1737702298.git.tanggeliang@kylinos.cn>
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-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

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>
---
 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 b1f36dc1a091..16cacce6c10f 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 99705a9c2238..02e2945911df 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 b69fb5b18130..bedd6f9ebc8b 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 2c1232bfd722..bac5c925a72f 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -1061,6 +1061,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.43.0
From nobody Tue May  6 21:51:01 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 3972C33998
	for <mptcp@lists.linux.dev>; Fri, 24 Jan 2025 07:11:47 +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=1737702707; cv=none;
 b=sEkLEgEs/b6BG7H+P0pLEUVqMAZbItuL9nd5D4rrbkGqZmrkNto0nUke1JzUEIzYRc32wSGer94XCFIq83xwl/g/rGIIMW2avRTv2v/fJTYD3SNoP2+IzPvSOCuhEQ534hqmqVSj2fVdKFOFFzT9QU11d96lllj2K/y/VNq1IRo=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1737702707; c=relaxed/simple;
	bh=qb3ggLqWFC15kD9lMbjAJaVce+m0JAuYIMvRNzDZbc4=;
	h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
	 MIME-Version;
 b=hr4t5CSjYg8G+XpOaR1nAtHG7PiLStByB4SfPgFF3/HQJwB+C7ZCsl+46ZkgnrMafK+0oGJ6FEhsTAuhJEVAULzHBw9OBG66JPGIteDKK+xuXFcGwVkLb5XQo27fFa5UC8vMLzPebYkDH2HkaiK6NnSxl3AXXMnTyzeqpZbXoXI=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=aqEpqEFp; 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="aqEpqEFp"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 19D85C4CED2;
	Fri, 24 Jan 2025 07:11:45 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1737702707;
	bh=qb3ggLqWFC15kD9lMbjAJaVce+m0JAuYIMvRNzDZbc4=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=aqEpqEFpIukbJYX2Xsipqh7ZnlKRHoeyZ3jIN5qR7DXJbEdEzdxaniiK6fvU1FTNH
	 lOagRVaD3tFwACU7C8rI2MZmusdp1FKQpZ+OVJAFGfYaQdJ4V5DR42kiMYj/pawooR
	 8P5thRJuZCvMiTnJgKELI/8OxvTZZIlaiPcYJDEPcaKtt8rSqtqzFeHpnl/tfgO76z
	 ohHwrCNPm3uxuA9wDufCzNi1ttjPHKYjd6LXNmU+U/7Iym/qbvy3jmDMGwH8btA+6N
	 JYC1CHmEWN9IBuzLZ9FEB5kowM2DjAOlrv4hnQ7ylKDtS+yXd7ovfpdQ1I5dvvk1Wf
	 2fyIgejQuDikw==
From: Geliang Tang <geliang@kernel.org>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>,
	Matthieu Baerts <matttbe@kernel.org>
Subject: [PATCH mptcp-next v5 3/5] mptcp: drop match in
 userspace_pm_append_new_local_addr
Date: Fri, 24 Jan 2025 15:10:45 +0800
Message-ID: 
 <60d5c99bccec0f105acbfc1154203aa0490653a3.1737702298.git.tanggeliang@kylinos.cn>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1737702298.git.tanggeliang@kylinos.cn>
References: <cover.1737702298.git.tanggeliang@kylinos.cn>
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-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

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'.

Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 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 bedd6f9ebc8b..a16e2fb45a6c 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.43.0
From nobody Tue May  6 21:51:01 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 1802F1DA631
	for <mptcp@lists.linux.dev>; Fri, 24 Jan 2025 07:11:49 +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=1737702709; cv=none;
 b=GZQv6MaNH1UQGeDleWYA0X8LP1NPUQipgZ/tV0l/TkH/LhzjdOfhsf2vAldzwroKS4FtaTLDI0Jh20fSv8hn/SYjOyc+PuyV0S8jOrdmjryu+i2q40799YJ2zNQeqch68kmguKs9PL8aghW/5VSajPFUc9QLkub8ruSr/z2uFxI=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1737702709; c=relaxed/simple;
	bh=LJIjAqPLZH22CYrcQu15fEySol2LxTuCVr5BLWZsiws=;
	h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
	 MIME-Version;
 b=qIsBtyLaZ+I41kjE80Fc+PVTpqfWKNdiqAoZQ74x65pg3nS7rBh/mn8tCniYo+D0T7w0DntLEq5N/NxelYQb0wEZpsUJtw6z+88/S8zf2fz1C+bg6ytUOu1v4qGq1bF4zENsMWFjy8z11r+llYdot+A6Qr6ICB0xG26E7RxjSAQ=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=kjo2pzJD; 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="kjo2pzJD"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B5E5EC4CEDD;
	Fri, 24 Jan 2025 07:11:47 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1737702708;
	bh=LJIjAqPLZH22CYrcQu15fEySol2LxTuCVr5BLWZsiws=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=kjo2pzJD7tV7WI4SKELFHOODw7+br73/uuClS7uvCjPWuIJR7Aq9FBppIcIyz0w7a
	 /NBrRyoQKQMROQ5u2KK1KEPafqFOmNbsi1NxKGthc9cp2TfbKdbhl/QL6L6U8WuWtX
	 /PXWNdqtLbqQ3K5woiGzpgtyyIshswGulfKWQVMmmBXz04UvGS5wL/r5Xsu/66er1q
	 5GsNO74lItNfj/d041r+sXWpDN3gqrTofV/+kPI8Vv8FGodtgksVK3f63J38PiDgpQ
	 8OhTIY0fRDiZwhFP6kK3aDzn9J3DKSkvXP7Nr3o8HJLSKHmaZfX0ReJdoSclOn3K7f
	 S/sowREfC/BhA==
From: Geliang Tang <geliang@kernel.org>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>,
	Matthieu Baerts <matttbe@kernel.org>
Subject: [PATCH mptcp-next v5 4/5] mptcp: drop inet6_sk after inet_sk
Date: Fri, 24 Jan 2025 15:10:46 +0800
Message-ID: 
 <6a0c6d7d0d2c3f5b8985b1a521f4d63dd3800ff2.1737702298.git.tanggeliang@kylinos.cn>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1737702298.git.tanggeliang@kylinos.cn>
References: <cover.1737702298.git.tanggeliang@kylinos.cn>
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-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

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.

Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
v2:
 - drop inet6_sk() in mptcp_event_add_subflow() and
   mptcp_event_pm_listener() too.
---
 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 02e2945911df..1462dc7e886d 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 a16e2fb45a6c..6bf6a20ef7f3 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.43.0
From nobody Tue May  6 21:51:01 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 D5CDF1DA631
	for <mptcp@lists.linux.dev>; Fri, 24 Jan 2025 07:11:50 +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=1737702710; cv=none;
 b=I7flDG3YGvLpFwXoGmHAcAom8uTRT6f1BILht3nVM6D6wJMX6vrOWlIGtFLkcHD1zqGccPoyKWSDtE9SKrCCZP4ULy6ymNSObcsvYRDGGJE/MuniunNb/hK0FY/gKERFn1c7oNDDVfwlQrdbEGO8pD/+SW+J+JaR4FbzRxWrb/8=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1737702710; c=relaxed/simple;
	bh=KuNv0+rd3Q6a++xI+nDM0W/N89DQMle6c7EhV18iqXI=;
	h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
	 MIME-Version;
 b=dqdPMZMKRWf88fxzdw6mXq+aTWsx2awEC7XFubJ9xf3+BtnMS6YgvT6vFtPlTQWt8jq3ChdkF43xOWMmFFpCNka49V5jilMyVdxzoPT/NXmxnOy6BqPSZojbuVhHlfara54wh4CAdOdPi+eJmed7YWASrW27LA7diMy2DTAnYng=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
 header.b=qK4VtTSE; 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="qK4VtTSE"
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 769B9C4CED2;
	Fri, 24 Jan 2025 07:11:49 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1737702710;
	bh=KuNv0+rd3Q6a++xI+nDM0W/N89DQMle6c7EhV18iqXI=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=qK4VtTSE5QkEzi1Q588Y6lHJlqDuxmKm4+qmBbiya/PIqtcmHs1/a8Qo2FtOD3EYF
	 ZHprKRbLWgRQn8uSaYm5l0qO+SzTl4gptUm6qD8szTnsgRxY6hRVDXLxd2vztYbMaO
	 /7G3Cw5kBk9k0Iq7+mfZSn+PxxksK2c8nTN0qrUECPqln3PTWGmo2MDYNBrDx9TR/n
	 QY3boQ/pzQdZgIp4QtpCy4pZsOiIfdLmoZDmLSFjdL0Rexc95OThxqBjGiDbnItGUR
	 ETU3jnmEgmuAX13ozXBFgeAKzNcm7B92CP9Nf9jdM3llj+BkX9NMrxc6Gyi9LUXIPb
	 i5Ao5+mWhXxNA==
From: Geliang Tang <geliang@kernel.org>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>
Subject: [PATCH mptcp-next v5 5/5] mptcp: use ipv6_addr_equal in
 addresses_equal
Date: Fri, 24 Jan 2025 15:10:47 +0800
Message-ID: 
 <6f6f731472cb7ac93f1e1689902673ebfee922ed.1737702298.git.tanggeliang@kylinos.cn>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1737702298.git.tanggeliang@kylinos.cn>
References: <cover.1737702298.git.tanggeliang@kylinos.cn>
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-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

From: Geliang Tang <tanggeliang@kylinos.cn>

Use ipv6_addr_equal() to check whether two IPv6 addresses are equal in
mptcp_addresses_equal() is more appropriate than using ipv6_addr_cmp().

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-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 1462dc7e886d..6461aa742385 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.43.0