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