From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2044.outbound.protection.outlook.com [40.107.15.44]) (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 879D4D263 for ; Fri, 17 Nov 2023 08:56:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="o4vsqW5l" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T+lIpVUUFUf08IfoKOZxAKXxfrVPvOUhjEoawjJ5UVsVddRouN+QJpOKsyzG7p53hXQ3GtLoDZAyEHDJMoa5ZZ4dKgSAiMP+m8kEHdjmeOIoaLVD8dOStn/ysR+tbcKWP+zamlSbJKo5oTWVPxObkwWky0ykj9uKEEzM30F33mUmVJBD0Ke69afc9Av/38RNTLBh0FszilCYfWI99kDzWo56W6ZIgWrXdQURupPQ6t8XbeuY5USpUmdNvXW3YaHonfDgDAHuROFHEiqrrhwFhGuEcUg7nNoJEBxVKh21v5/M27QKQ7ASq4CfA+Id4k7FK+mbBsI3WsAQyXkAiNMAaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=im0w7CtP3iX8S7SAEQ/Bujr0mMzfVUiEcCrdAu32FXs=; b=TUoyiodpoAeRcDPeVaZIc/PocSjfzDZXn1afIcknKxT8jNk/PFtvWaxwtiwtauo33oU74gOFSZ00Y9AU0EfPdyk0EzdWU1Tw0JxoTo4hfjY8wznCrhshsPRULmXcJ2zFht0wJ++ES1d/fSv4+NEUXIOLTjeJy6r84OwX3/WJ3Y2d8N4nxmUcvWkSJEFrcPLoCrdQ4f715ws6CHG0E+/QS8RNi1Pucr4s2LHUAfsIK06U0QrFIEKK7GoJuQbtCwH0+xFrFgpr1skoDRLM8oFYUmCU016Z50YLzeHcN2d5WbDmvT5d2G1W57+4LwCRcNjAvZCroFeZnEaJSFvV3J2W/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=im0w7CtP3iX8S7SAEQ/Bujr0mMzfVUiEcCrdAu32FXs=; b=o4vsqW5lzCJ3LakYbBajl3UIyy/10qcIoqP2Cp/e8GGGdNdBr3zidaDXKT29itlkYpp7kEQiIO9fOEsGidfpXZvbBMVI7rr/ax5U0g50A7/PX8Z305KsvaGjhf+0HLMFF8C/+L2JBg6tFDlMywyECKVsE0TBK8slVULZ4cH7HczYda26U9FucHEvO1lsL805T2BhU8CTduNiN3nBurZy9Dtb0MBb8uQj9oesqKpqHazj6jtSrVft917946NlI7ZDPBiGBxvFXEGIM2n+022rkypfDRj70H3T8vQujKY4xw5LfIqiO9ZzMJnp88YX6QME/4v2vqAK/5IeGkGpqwFdLA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBAPR04MB7271.eurprd04.prod.outlook.com (2603:10a6:10:1a6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Fri, 17 Nov 2023 08:56:13 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:56:12 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 01/26] mptcp: export pm_nl_get_pernet_from_msk Date: Fri, 17 Nov 2023 16:55:54 +0800 Message-Id: <2c5f59628723e543c7ea1ad2e9d2102bc01d118c.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TY2PR06CA0014.apcprd06.prod.outlook.com (2603:1096:404:42::26) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBAPR04MB7271:EE_ X-MS-Office365-Filtering-Correlation-Id: acfe6b14-336e-4ab4-a3ea-08dbe74b0cc1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: i74MvUf1BtqNUKvZTSQFuXnI+wCO4TilPJMG3YutKxj6v5qyadDRhrKRTifJ9mDdcKIMWNAzs3x80kH16YhefgX2+OV3VjmUwYv4s5oHps7wk9Un3ycoTitKzR+sU++XbOMqkdH37D3JfSEsKxitKJdUJnTn0gINdHfD+iagDnaw2saDIV199rAtbl3DBsEBzSa8jaURFzYDPWYxm6TuIrEBi6Ni3KG1SQvv+9xu+fRZFTUgkIjiGyEjAmDbFMKNTW6h90U2xRYimS6w0m+Ni/KLT6rwI8Okm9Qixa5OmClYS/pBHcpVXGwArYMDGjUw4BmnSa9kfc7VPqS5z+CASR4gjk1rEovwgzg9SkwcUCTY0iail9zeIrqXuKnL0Fp8mp2HGjrER+Z0m0XbHoxR3skhnxE9nVlonm3tznxIaxLEcbVu/G6YCN71G1h+ZIUQ2eXcGS1Y2+vN/IZRhjUF0OhEqaMQai2ETkcHBgVxvbBXi1rvkHykaHMoDP1LRH7KRSc3qOCA+RZ3L/bU/zWjq5QtBvep2aZJfvZRKy++tHBF0VubrfgWYUm5l1o7gNBV X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(86362001)(38100700002)(36756003)(66946007)(66556008)(66476007)(6916009)(316002)(26005)(107886003)(2616005)(6512007)(6486002)(478600001)(6506007)(6666004)(5660300002)(44832011)(2906002)(8676002)(4326008)(8936002)(41300700001)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TqDXYm7GFiuvcII5vK7H7i9s9CNwKUQ+b3WvPeNf1WXDtRveAVkkecHBZMcV?= =?us-ascii?Q?qlYQzvZv8ku9fM4YaJ2HruuPQ+xxlGVYFk4RPx0EdVhuBH2igHUCyyzTT3WU?= =?us-ascii?Q?gP+GFuCu4VNSuS4vUmxP9BJKd5OYKn3nejCb5h2mr2PjZYpJq2DyXsLLh6Tw?= =?us-ascii?Q?WNh9Ly6f9/9RFDcftBvSilqtB5/7DLCbg8ZukFZsidTztkC6p4p0lHUfCmUD?= =?us-ascii?Q?DX1sjDPbyD0vYttzVVNXTAhNK2oBO8zhAM0pvSPDvxl0UVC3ChwJimcnViVi?= =?us-ascii?Q?d2OuMmH39ITPTsIwjXTIChhfqdel4DP715gOqh8W9Cihr9d6EHT9F3xlJQ1L?= =?us-ascii?Q?j1wV84a8KaDm4bjTjqvc7ZAYkT00uVi7aMJ0PZL23FH/+HaXi45bArDUc4My?= =?us-ascii?Q?q6aTwchik02J0u2WQGgH2Nk3NhvZJI2p/IQ1u+88MpDGiOYW+5MNL65W0+sT?= =?us-ascii?Q?rp/LoOwe/v4mmBxc2zO1ChWGWFg7wPgSWmiJrRC+DSdhq3jAIJH2MoFdZM2R?= =?us-ascii?Q?YkKiVwpoJlrQxWYZfA/B0phJwmXgPIoKZlsA+OMa1JFPQaoKz5vT4JxSV9Op?= =?us-ascii?Q?uOPD6MtpMY1J1SiGWwPTa4SXR2s+BjJCO2dW0sjh6/qXYfQNVmTDWB2yM5WY?= =?us-ascii?Q?LjxKZY66+RuCRpoiFI5AaloJ8FRWyCznxSel5HNsnSSFSDuHhM+TpkWlo0Iv?= =?us-ascii?Q?Pb4OfpRkMk34LCqowNgQAVNVOYeuyApvMZVKY9owKuB4KhxbrsBCob51KixL?= =?us-ascii?Q?s5sDXCGz/iinmT30iKR/ig0/OCNkAs5oxUcGpmfpyNoYjBHuvdjvsBHvtpmh?= =?us-ascii?Q?1Dh03S8XOmtMrcX9TKZAedKAxPJUMiV2RBvHcfINYELcA9+B+a8ZyH7Mrnqp?= =?us-ascii?Q?SWpnIICIg4c2qnKKa3vaMR6KfCJnpNJDPa/X+dg69ixBrBHMlnJZaZ+Spdoy?= =?us-ascii?Q?prQ5FK+XuA0895fRwJ0a788RkR3az7oVeFtP2vS9moIix2XZTABbr8uUPqjN?= =?us-ascii?Q?VfbkV6XzJDSBuV11kHOq2Sbs6f6Yb7cjB1Xq21cGssaroeYQoeIN4q2qmg2p?= =?us-ascii?Q?Wf0JhePc6vx6ECD85PJa4mtPdY5OjpKqQNWCTG9GFJdoAreaITKtcfVLuVyW?= =?us-ascii?Q?EwuNIqekoEg2zzKRx5DK/yJmR79AK0BHl8jU75kVhiyAkBRpBXkDNXCV0TV6?= =?us-ascii?Q?wb/nufm1+tFHPTc35UWkmU9lpnLq0TUWTlf8T9fYyUp2pKLRukwd764zY9MT?= =?us-ascii?Q?AzzFPoUrJ0J40Ljwu/VH/rEsSdQ1DBNcdufwCG/uYR0TOe4r0FvVr3FUG62y?= =?us-ascii?Q?sO4WG3FPcrN6EUg/4GeUOAanW8iRzxn8CJX77TDlATmICjlyIW8qclnOtD6f?= =?us-ascii?Q?kqpEgY89TS+BRo2hdlW7kSmTgCZfrZY5iIZ5ECtGBnerDRA681Ly1Zd4Io9U?= =?us-ascii?Q?cgRVgi+lBRbIZj/fC38QBRvFJk+TUvYvaQDXbVEsZ1d20E35RlpEFTBwyrZj?= =?us-ascii?Q?FN/9lYBS2VK6D5ZDBNwnagJCvjzqY3Jz3XzGod9kU0zR/1+gu8YXEuJlyXu+?= =?us-ascii?Q?xlr7v07S7SdFKDJbRqbJRiGiRYWNRkBHMpFHvD7j?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: acfe6b14-336e-4ab4-a3ea-08dbe74b0cc1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:56:12.8303 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 67Tb5FnGic2QTm2oUOGkb/KOUjnNl2EFQ1x1YVlDnCy4Gv3FOEIEP/GLuEElg5ldNAtgNixgooERD10iMRZ71A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7271 Content-Type: text/plain; charset="utf-8" This patch moves struct pm_nl_pernet from pm_netlink.c to protocol.h, and export pm_nl_get_pernet_from_msk() helper. Then every fields of struct pm_nl_pernet can be accessed everywhere, not only being limited in pm_netlink.c. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 17 ++--------------- net/mptcp/protocol.h | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index bf4d96f6f99a..1dcf104d7a01 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -31,20 +31,6 @@ struct mptcp_pm_add_entry { struct mptcp_sock *sock; }; =20 -struct pm_nl_pernet { - /* protects pernet updates */ - spinlock_t lock; - struct list_head local_addr_list; - unsigned int addrs; - unsigned int stale_loss_cnt; - unsigned int add_addr_signal_max; - unsigned int add_addr_accept_max; - unsigned int local_addr_max; - unsigned int subflows_max; - unsigned int next_id; - DECLARE_BITMAP(id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1); -}; - #define MPTCP_PM_ADDR_MAX 8 #define ADD_ADDR_RETRANS_MAX 3 =20 @@ -53,11 +39,12 @@ static struct pm_nl_pernet *pm_nl_get_pernet(const stru= ct net *net) return net_generic(net, pm_nl_pernet_id); } =20 -static struct pm_nl_pernet * +struct pm_nl_pernet * pm_nl_get_pernet_from_msk(const struct mptcp_sock *msk) { return pm_nl_get_pernet(sock_net((struct sock *)msk)); } +EXPORT_SYMBOL_GPL(pm_nl_get_pernet_from_msk); =20 bool mptcp_addresses_equal(const struct mptcp_addr_info *a, const struct mptcp_addr_info *b, bool use_port) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 8529b3ae55e9..c38a2126071b 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1026,6 +1026,23 @@ void __init mptcp_pm_nl_init(void); void mptcp_pm_nl_work(struct mptcp_sock *msk); void mptcp_pm_nl_rm_subflow_received(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list); + +struct pm_nl_pernet { + /* protects pernet updates */ + spinlock_t lock; + struct list_head local_addr_list; + unsigned int addrs; + unsigned int stale_loss_cnt; + unsigned int add_addr_signal_max; + unsigned int add_addr_accept_max; + unsigned int local_addr_max; + unsigned int subflows_max; + unsigned int next_id; + DECLARE_BITMAP(id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1); +}; + +struct pm_nl_pernet * +pm_nl_get_pernet_from_msk(const struct mptcp_sock *msk); unsigned int mptcp_pm_get_add_addr_signal_max(const struct mptcp_sock *msk= ); unsigned int mptcp_pm_get_add_addr_accept_max(const struct mptcp_sock *msk= ); unsigned int mptcp_pm_get_subflows_max(const struct mptcp_sock *msk); --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2063.outbound.protection.outlook.com [40.107.22.63]) (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 08DA3D263 for ; Fri, 17 Nov 2023 08:56:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="5ErHc+86" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VS5hmAslFH/LmJ0M+zVOu/fixLzFaSV00z0IfRIvNAVyDosEs39BHBYxLCxbVJAixaDtHAicki+/SZLYjzmtyClUQC0tA9+P5niGdggdQYWJ2M5vXlcCPC1r3ljQkM9HRdTslrnIuRkV+BSLIycwefm8QY1NsYuafayanohsOKsCCsGgNr+T/kIfehvFKRzfm+4fleYWh54+wnGBh8u+G1paUkaUy2pOm5LvCjFg659Jkmb0igrQ8WSP6Dx7vTv36GAiOebXf2r8n4GN/DBYj9U698U3zMsjV7isZuQCY4kIIim6blHXV2boSmUpGRUcnhN1aI2dC9dxojp0eAnLYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GWWUSY9xk98fgltOIrmPyL+RfYmmMYbkdDqwVfSOL28=; b=WitH059Z3q3Y7k8dRKonekippIb02tZ9rk2hzuCYbiTAI9OS0ZNil4JhtAjRKED6GTDwrWt/p7VZghAgH2DBfZHR8qWLx1IuTrN53y64Ym7yrDW//9CY7D0Twvze3KAENgphR2JRcfN24pocaaAS7VlLIA38ZLOO/yqRi6rey981reBikykobEhkHqmoFpR+d19YoAK3ASwWMhETV9+buI31BIVGnZ9/HJ/kVU0xmqc6cUwvLWrhs0Skb3YCbEXQPipCXjR21R+s8npMetNwUyfd8p/NqyAE6cY1RRF1X8jBQgbdNUxjFd0QwEIXIxnFXAWJ9pKB3uNggfUJHoGIXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GWWUSY9xk98fgltOIrmPyL+RfYmmMYbkdDqwVfSOL28=; b=5ErHc+86kj27UUmgWk1dKrAO/tiaUIsXMlR6iHRjiTn0IDV1Nlvs63sOxkagf8zYn+qZseLdpjIqf+6YMYQtqmJWcB7+CE6etFQpS9Vl4dMGtLP+1k/JXfZxZbiSrlXsa7m2uJRqlv0nXDOp0xD/4vXweuOp7+IzotZw9QwhjEciaEl1pgw25cWpvxj3JGs6pjw7j5PGrELItDkQh/3WDLtU+bUmhxu33HAxDf79cCoGfOhbzPCJ3TDE7i1WstVLzAjNYu+3VZSEKjMHmn8hn/1tvKK+jbT8Poe8RDMqp4/Lpt1Gkp4bKYoIEL8dMzeqCzlEOO0uPHyYK42NUUUmEQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBAPR04MB7271.eurprd04.prod.outlook.com (2603:10a6:10:1a6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Fri, 17 Nov 2023 08:56:21 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:56:21 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 02/26] mptcp: drop mptcp_pm_get_* helpers Date: Fri, 17 Nov 2023 16:55:55 +0800 Message-Id: <0ba0d869a503945f0ffb020f839da8a49d8794ed.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TY2PR06CA0020.apcprd06.prod.outlook.com (2603:1096:404:42::32) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBAPR04MB7271:EE_ X-MS-Office365-Filtering-Correlation-Id: 44f7ec50-cfac-4aa7-a62a-08dbe74b1156 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HWd/OpTSXliEjFo7LAUUeCStaADKu8b0Vzim2dGcbSEw6WKlfX6d0FzEn2kXlM02kzttWQFbspo5g4F8H9AFJ1zjNcFFdBAMGQ2JaesMVVvH4BlJ5tTVWKtk1Lh3uVPyEsWWhlM91bdeQ7+YPXMLLyVfFoN9ythe9F3dqbPQ6Y3dMtahyf+r7xmHbc9fi9l8+FHpStJVE/8WxaYkt102lbwhVBbwOFHt7BijMMyyAadpxGAgFuK7LotdGcWWxSa+KlWQWCGwkepQYK9fMm6CqysS+0dLmr3McWjvRNEoRPqlF3F6CJpWhXRj3BH3vlGgUgm1mXILWfsNuKP1k6VxwiJPC579NbyVhPniUZK/w1jr4KjlT1qrAmqSmg285Ep59+j38N8a8Cu7hOZx0ywwV47X/tHpQv0F06d/KrnE1W2LRiImdb0P6TrBvthGzmmok8Ag88v+cBHUTBlCTAr2ZITpCtmAqJMSKlOup9gzx/HBvZDFnl/Kv6LQqyGJQlFz/pbY7ll2shnVooYXmsp2/G5sYQoO+TXh5XQs4q5NhS8uKstSjG3O0kSZOh+FUmRvZSH/PESl/aEKfA8ZDcBPEOw9zvR4zjj1wy/IS+kbHUU8WHmJG9gmOeC1Alrv++mF X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(86362001)(38100700002)(36756003)(66946007)(66556008)(66476007)(6916009)(316002)(26005)(107886003)(2616005)(6512007)(6486002)(478600001)(6506007)(6666004)(5660300002)(44832011)(2906002)(8676002)(4326008)(8936002)(41300700001)(83380400001)(309714004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?l/JmKVudCBdqVjQBAGKGx3LX5ETt3o3iBcF19/92ql3rRv+nJRrjsDviZTJA?= =?us-ascii?Q?6+Wtvepp/PEgv+EriprRVqh3pM4lQ9M6ajZSJUxYrptdyuY0PaWPvihPHUnx?= =?us-ascii?Q?va+tMrfnA6yo2NvyhJh/4YZOGF2vawKjA5PoroO6ZR1dui4gw0edsuG5oj4u?= =?us-ascii?Q?yg/72FpcZo0IIDx8qyv7Z0zl6X9j//pLML9Qy36Sdb3mihrY46u7FH9ClHoq?= =?us-ascii?Q?vNWzwZPRemCWJw7jzfNdREa5bY6Jw7GpBt8la69rxhl4MU8rTd87OmGSTCEr?= =?us-ascii?Q?Tyw7PHM5PJb+IxaCNymWlNOWi9XutzLmzrw03IywBVFYfJq1lCZ7RoWRz/+F?= =?us-ascii?Q?m6ci39/SQb1IdiG4ffq8M+bdxmcQBUOrYHkSV5h0FsEvFQpQSWZvXBT3A/fv?= =?us-ascii?Q?u6GCD/tgrWiHXZPubZfzbdnD+aRHS899xlAI40IGpddc3pI6GKRB59sBigvY?= =?us-ascii?Q?Ceyl1Awa/49N1Uf5O+zV5hZeZ1Fjt8BksY5OGOFkni5zml9A8tRf0hzfBRRI?= =?us-ascii?Q?VA9G7YCWupfstSyXXVCzi0KTtzold6j3LPFZUXkRTnkbo35xUMpWDrOL1X9m?= =?us-ascii?Q?xtAo7L6+zWuuuD+UEAinpcxcF8p3Q3JsN9r49NUkr5xdLL2iMFa6yn8GXLgi?= =?us-ascii?Q?6lt19bZcDfhlpMLsMFTDdgOSPWDXl6Aj7pYOa0xao0+FXh7rnrp9YLNVHcC7?= =?us-ascii?Q?Otw7HosKUefTJscaO5NQUsUEyqp6y3c4wooNJvkolNMDwQ+pJdrKCcbkJ8T2?= =?us-ascii?Q?tbOA62JMeogkHOgHOKtRWFq+DWf2Ri1ote3E9YIBtQIHbFnUkd7dbYL+7NMJ?= =?us-ascii?Q?i15Zv+mQsftsCGA2QvEIij0dw0miaz2P7GE1+4u9OP7fipP0vh0wSfC39bLf?= =?us-ascii?Q?BNGlfoI6gvsy9+gBJsAwHmM3zdCLGtrnWLQob/hREpxBi3t5JFEDoSQ/2G15?= =?us-ascii?Q?NEzp1KjlEwNcN2tf/IsLvDQW/lMJtIR2rjR7G15lthC8s6yOYRdoJ6DZCiW9?= =?us-ascii?Q?ke20BUGWoDHxK4pxmSqfKoHMqg6BUDZKBBSlCohueb0iFABQlMnmeFhlts9S?= =?us-ascii?Q?nU90GZF4O7hmGyXd4sEfNo1XKHlDset25LH48BcfnHNfDjJXhhoJigh6bvcc?= =?us-ascii?Q?p979Vcsc6Au9XuSNu4FSv9suUO8C+mm1T+cvDRRp16UEQQOAD9njlwVzxK1u?= =?us-ascii?Q?X5H9tOOKOJBFPRRdAjQcPIA4ojRVR9owaYzfgGfqNuXLBFr4HV8OJMpry3Zs?= =?us-ascii?Q?KejjkWLU+oMY58KaHevjLfK+8pDhNRmtvIQyvzQBjZPAcdzpiH8gUxPVEKEJ?= =?us-ascii?Q?JEJS8QE8X7YTvVAqSWtF6tJlNIdfrBV9FoGFBGhf0WdH1mKdyApW7NWGh20L?= =?us-ascii?Q?hrZM3ND+6kI6hF47FNbBu9yqPwtmhyeXSa9EPFs2aJ7YnHv9EViE574jNa+h?= =?us-ascii?Q?xcJhmUJTZGdXdN5ArOkBJ6RkCroZJ3vvUa4xVtwWHy3gIiXQCMhR6WgUmlbt?= =?us-ascii?Q?2DZgVmp/CInwCyDAg4RlYzo42cc/JCXDEAq9kPGXjl8dM6UJGpKMYzCi9JEd?= =?us-ascii?Q?Adz7/+7NTUrW37hOEL4kyAYp8X1Ug9fzx6FXk+8z?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44f7ec50-cfac-4aa7-a62a-08dbe74b1156 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:56:21.1817 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3DEmJmFCJvPY91LjrWOA31HnxagP3MtsH1Y1kUrhl5YnLXYHQ3ydUe3Hj3EjtcndFKJ1pse/pzbXn4/P+danYg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7271 Content-Type: text/plain; charset="utf-8" Drop four mptcp_pm_get_* helpers: mptcp_pm_get_add_addr_signal_max(); mptcp_pm_get_add_addr_accept_max(); mptcp_pm_get_subflows_max(); mptcp_pm_get_local_addr_max(); The helper pm_nl_get_pernet_from_msk() now can be used to replace each of them. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 12 +++++----- net/mptcp/pm_netlink.c | 50 +++++++++--------------------------------- net/mptcp/protocol.h | 8 +++---- net/mptcp/sockopt.c | 9 ++++---- 4 files changed, 25 insertions(+), 54 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 4ae19113b8eb..48ff7ce20890 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -85,6 +85,7 @@ void mptcp_pm_new_connection(struct mptcp_sock *msk, cons= t struct sock *ssk, int =20 bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); struct mptcp_pm_data *pm =3D &msk->pm; unsigned int subflows_max; int ret =3D 0; @@ -99,7 +100,7 @@ bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk) return false; } =20 - subflows_max =3D mptcp_pm_get_subflows_max(msk); + subflows_max =3D READ_ONCE(pernet->subflows_max); =20 pr_debug("msk=3D%p subflows=3D%d max=3D%d allow=3D%d", msk, pm->subflows, subflows_max, READ_ONCE(pm->accept_subflow)); @@ -496,6 +497,7 @@ bool mptcp_pm_addr_families_match(const struct sock *sk, =20 void mptcp_pm_data_reset(struct mptcp_sock *msk) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); u8 pm_type =3D mptcp_get_pm_type(sock_net((struct sock *)msk)); struct mptcp_pm_data *pm =3D &msk->pm; =20 @@ -508,17 +510,17 @@ void mptcp_pm_data_reset(struct mptcp_sock *msk) WRITE_ONCE(pm->pm_type, pm_type); =20 if (pm_type =3D=3D MPTCP_PM_TYPE_KERNEL) { - bool subflows_allowed =3D !!mptcp_pm_get_subflows_max(msk); + bool subflows_allowed =3D !!READ_ONCE(pernet->subflows_max); =20 /* pm->work_pending must be only be set to 'true' when * pm->pm_type is set to MPTCP_PM_TYPE_KERNEL */ WRITE_ONCE(pm->work_pending, - (!!mptcp_pm_get_local_addr_max(msk) && + (!!READ_ONCE(pernet->local_addr_max) && subflows_allowed) || - !!mptcp_pm_get_add_addr_signal_max(msk)); + !!READ_ONCE(pernet->add_addr_signal_max)); WRITE_ONCE(pm->accept_addr, - !!mptcp_pm_get_add_addr_accept_max(msk) && + !!READ_ONCE(pernet->add_addr_accept_max) && subflows_allowed); WRITE_ONCE(pm->accept_subflow, subflows_allowed); } else { diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 1dcf104d7a01..dbf040e39af4 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -183,43 +183,11 @@ select_signal_address(struct pm_nl_pernet *pernet, co= nst struct mptcp_sock *msk) return ret; } =20 -unsigned int mptcp_pm_get_add_addr_signal_max(const struct mptcp_sock *msk) -{ - const struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); - - return READ_ONCE(pernet->add_addr_signal_max); -} -EXPORT_SYMBOL_GPL(mptcp_pm_get_add_addr_signal_max); - -unsigned int mptcp_pm_get_add_addr_accept_max(const struct mptcp_sock *msk) -{ - struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); - - return READ_ONCE(pernet->add_addr_accept_max); -} -EXPORT_SYMBOL_GPL(mptcp_pm_get_add_addr_accept_max); - -unsigned int mptcp_pm_get_subflows_max(const struct mptcp_sock *msk) -{ - struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); - - return READ_ONCE(pernet->subflows_max); -} -EXPORT_SYMBOL_GPL(mptcp_pm_get_subflows_max); - -unsigned int mptcp_pm_get_local_addr_max(const struct mptcp_sock *msk) -{ - struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); - - return READ_ONCE(pernet->local_addr_max); -} -EXPORT_SYMBOL_GPL(mptcp_pm_get_local_addr_max); - bool mptcp_pm_nl_check_work_pending(struct mptcp_sock *msk) { struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); =20 - if (msk->pm.subflows =3D=3D mptcp_pm_get_subflows_max(msk) || + if (msk->pm.subflows =3D=3D READ_ONCE(pernet->subflows_max) || (find_next_and_bit(pernet->id_bitmap, msk->pm.id_avail_bitmap, MPTCP_PM_MAX_ADDR_ID + 1, 0) =3D=3D MPTCP_PM_MAX_ADDR_ID + 1)) { WRITE_ONCE(msk->pm.work_pending, false); @@ -404,6 +372,7 @@ static unsigned int fill_remote_addresses_vec(struct mp= tcp_sock *msk, bool fullmesh, struct mptcp_addr_info *addrs) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); bool deny_id0 =3D READ_ONCE(msk->pm.remote_deny_join_id0); struct sock *sk =3D (struct sock *)msk, *ssk; struct mptcp_subflow_context *subflow; @@ -411,7 +380,7 @@ static unsigned int fill_remote_addresses_vec(struct mp= tcp_sock *msk, unsigned int subflows_max; int i =3D 0; =20 - subflows_max =3D mptcp_pm_get_subflows_max(msk); + subflows_max =3D READ_ONCE(pernet->subflows_max); remote_address((struct sock_common *)sk, &remote); =20 /* Non-fullmesh endpoint, fill in the single entry @@ -514,9 +483,9 @@ static void mptcp_pm_create_subflow_or_signal_addr(stru= ct mptcp_sock *msk) =20 pernet =3D pm_nl_get_pernet(sock_net(sk)); =20 - add_addr_signal_max =3D mptcp_pm_get_add_addr_signal_max(msk); - local_addr_max =3D mptcp_pm_get_local_addr_max(msk); - subflows_max =3D mptcp_pm_get_subflows_max(msk); + add_addr_signal_max =3D READ_ONCE(pernet->add_addr_signal_max); + local_addr_max =3D READ_ONCE(pernet->local_addr_max); + subflows_max =3D READ_ONCE(pernet->subflows_max); =20 /* do lazy endpoint usage accounting for the MPC subflows */ if (unlikely(!(msk->pm.status & BIT(MPTCP_PM_MPC_ENDPOINT_ACCOUNTED))) &&= msk->first) { @@ -621,7 +590,7 @@ static unsigned int fill_local_addresses_vec(struct mpt= cp_sock *msk, int i =3D 0; =20 pernet =3D pm_nl_get_pernet_from_msk(msk); - subflows_max =3D mptcp_pm_get_subflows_max(msk); + subflows_max =3D READ_ONCE(pernet->subflows_max); =20 rcu_read_lock(); list_for_each_entry_rcu(entry, &pernet->local_addr_list, list) { @@ -664,6 +633,7 @@ static unsigned int fill_local_addresses_vec(struct mpt= cp_sock *msk, =20 static void mptcp_pm_nl_add_addr_received(struct mptcp_sock *msk) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); struct mptcp_addr_info addrs[MPTCP_PM_ADDR_MAX]; struct sock *sk =3D (struct sock *)msk; unsigned int add_addr_accept_max; @@ -671,8 +641,8 @@ static void mptcp_pm_nl_add_addr_received(struct mptcp_= sock *msk) unsigned int subflows_max; int i, nr; =20 - add_addr_accept_max =3D mptcp_pm_get_add_addr_accept_max(msk); - subflows_max =3D mptcp_pm_get_subflows_max(msk); + add_addr_accept_max =3D READ_ONCE(pernet->add_addr_accept_max); + subflows_max =3D READ_ONCE(pernet->subflows_max); =20 pr_debug("accepted %d:%d remote family %d", msk->pm.add_addr_accepted, add_addr_accept_max, diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index c38a2126071b..88f5b422f941 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1043,15 +1043,13 @@ struct pm_nl_pernet { =20 struct pm_nl_pernet * pm_nl_get_pernet_from_msk(const struct mptcp_sock *msk); -unsigned int mptcp_pm_get_add_addr_signal_max(const struct mptcp_sock *msk= ); -unsigned int mptcp_pm_get_add_addr_accept_max(const struct mptcp_sock *msk= ); -unsigned int mptcp_pm_get_subflows_max(const struct mptcp_sock *msk); -unsigned int mptcp_pm_get_local_addr_max(const struct mptcp_sock *msk); =20 /* called under PM lock */ static inline void __mptcp_pm_close_subflow(struct mptcp_sock *msk) { - if (--msk->pm.subflows < mptcp_pm_get_subflows_max(msk)) + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); + + if (--msk->pm.subflows < READ_ONCE(pernet->subflows_max)) WRITE_ONCE(msk->pm.accept_subflow, true); } =20 diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c index cabe856b2a45..8d63df5ded50 100644 --- a/net/mptcp/sockopt.c +++ b/net/mptcp/sockopt.c @@ -893,6 +893,7 @@ static int mptcp_getsockopt_first_sf_only(struct mptcp_= sock *msk, int level, int =20 void mptcp_diag_fill_info(struct mptcp_sock *msk, struct mptcp_info *info) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); struct sock *sk =3D (struct sock *)msk; u32 flags =3D 0; bool slow; @@ -910,13 +911,13 @@ void mptcp_diag_fill_info(struct mptcp_sock *msk, str= uct mptcp_info *info) /* The following limits only make sense for the in-kernel PM */ if (mptcp_pm_is_kernel(msk)) { info->mptcpi_subflows_max =3D - mptcp_pm_get_subflows_max(msk); + READ_ONCE(pernet->subflows_max); info->mptcpi_add_addr_signal_max =3D - mptcp_pm_get_add_addr_signal_max(msk); + READ_ONCE(pernet->add_addr_signal_max); info->mptcpi_add_addr_accepted_max =3D - mptcp_pm_get_add_addr_accept_max(msk); + READ_ONCE(pernet->add_addr_accept_max); info->mptcpi_local_addr_max =3D - mptcp_pm_get_local_addr_max(msk); + READ_ONCE(pernet->local_addr_max); } =20 if (__mptcp_check_fallback(msk)) --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2058.outbound.protection.outlook.com [40.107.22.58]) (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 92E62D263 for ; Fri, 17 Nov 2023 08:56:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="knLwqg9y" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i1pIHKhmN6xJP7gslAV7rX7CYy74H2n2AepbS13uLHt/b6coQ664vfF+grIWISecmPfa6EEFvwZfWlgh7730atZ+Gc1uiD07ZGornviEe63/zvoZUKQmajyb+H84JkDOJJpbxh/5WteytZjWN9FQM1G8HGEJcAsWZSFN7f3OTvGVqT+x20IzMv5BPiBw10WJjGdikbODDvJQniEn6gTBeLV4XkI5I05uRTx1bq8HgKQOF1nAoMyyEjCM8ZD+WeAB1bHoWG96LLtzRtS8aSz2ywdV3eRg8qCbNOlgHi92C9W9ttlf7UtjOExmdxFEQQVQGbAb5vPXd+Hr62Oa4jAkVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DIHyqT6HE6SN+ei496ifxFyH6B28w5/Nfb2pvs1TXCU=; b=aAgzv1ERlQ2MJMG1oj6B/ENLK5jAeMT/P+BFPImRr8XyVZhlWhuKT50LeJ7iIBjgDTsqfnRE5hEHDSB7ppm9bo+kcGd40NtuQJbrPqsT3htG/wF2Zonuq8+DZh+zcimVkQOMPr+nlc/eBYClm62isi7+thU+HX5eCp5gIqAlcqDslZebdzVdlk+AZwzZrL5NBV+LF5MucXooWP24u6oH4/n9m9xeDINA6q6f6KM3g4Hx/8kuI3oHl1ax8EvuxZMqZegKuzVobJNy6zg0V3I1+aAxyDxJNyf1Uyevk+0aRUr8WTSz+TmGGWwz9YN7wYgKOc/+MuInunNKs9+/tBBmBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DIHyqT6HE6SN+ei496ifxFyH6B28w5/Nfb2pvs1TXCU=; b=knLwqg9yHv5pcMaN1jkMOIyMRwxN8qKpZDcgVoONj1NM0QPcy63XgsaDgKS4eohIMgPMCTJiT3pjj6ID49wqborw72cfcuQx7skvim0y5V8I6/MYOjraGTGUynN7okVLuBIiGgR/giTeaEoEGU/9xUBe833578sofnHQ5HbLXek/7JWNzcl3qhYb5WTpXqhEuWzB8ZK6qcJomaUmOhrUenuPsFHmwOTi/q1hTPWrwBFSEtTo1E9vVTPLER5FuWKh3vWNAmEtcev6C68Mox8JelbfZ3tIRwx9Evo4I7vqwhcJfvs7amqQu12sh+K4p0RIypnw+khC9MuP9qZ5SXh9Qg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBAPR04MB7271.eurprd04.prod.outlook.com (2603:10a6:10:1a6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Fri, 17 Nov 2023 08:56:29 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:56:29 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 03/26] mptcp: use pernet id_bitmap in userspace pm Date: Fri, 17 Nov 2023 16:55:56 +0800 Message-Id: <4e23813dd9df18c1a1ce0b16f1356a541283c81c.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TY2PR06CA0024.apcprd06.prod.outlook.com (2603:1096:404:42::36) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBAPR04MB7271:EE_ X-MS-Office365-Filtering-Correlation-Id: 8ed03980-2850-4daa-b216-08dbe74b16b8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UMtpB2387jWUFNuANQC9OE2cvaVpXcsmsfjTwhsESmi+AXYX+fTgUnWAyd31MXkDbrIhg5X+DT4FfeQYcx0zDw9KKT/ik+m1ch1CQhthhndTXwg3r75pO1oCpnwD1ZRfzb0Yb3ygZg/HMCOsFwkjxM4WbbN/F89qFn709Eq/kxp8Oab21wmpUaBktugJmcuBs4iDAlQ0DUFpafmnxe9s11yuy0gmoGTYYYScuuFhjkh3ku5GZocAAwNIorJkRB4l0SlgiulG7APsbnphihEf/RaVlVNo0wrxf1vsgtvZQ9OrOQZDLnAaacOgQVbnDbkAOW8Jvg6zMUjTebgU6Ja3bvcwcF5lsUT7WF9qbEchhkNTg/BAhP2ZmpA/3mpWmaoEUp98GPMcVRFE5FQNpVFpqA8LcwsKNETSvQpSh5j47Ko9RI6glq2OqXqMF2J2R/OHttNhszOyYwc05LFAn99wDlcMC/RWLumRLsG/+2WPnnkUCj0kmEplYyk0eh+Z5x0MbAKyQ7zmfSOQvPW0cevkkmmBN9bpvW9rvaVWLNoVm7Fdmfg4aNzThln9IcLgLOAe X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(86362001)(38100700002)(36756003)(66946007)(66556008)(66476007)(6916009)(316002)(26005)(107886003)(2616005)(6512007)(6486002)(478600001)(6506007)(6666004)(5660300002)(44832011)(2906002)(8676002)(4326008)(8936002)(41300700001)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dVLHP6K+8XUC7MfJ6caB1WYAi7m/SklrQ8LKtASS6SqJEWzJsVoRAsZr+tO8?= =?us-ascii?Q?kgn3vEUFv1W/DAzwLlGXSQz+5x6YYg9LVGW3m+C3mciFQVh3YapBwYmIKw0n?= =?us-ascii?Q?3435UdOUV5+ZGpO2TCT+8dAqYoHWWv+E1lky+7ajGQH8Yn4dqriuMi7UV4Cs?= =?us-ascii?Q?2k8i4Rj1igHA+Xm6qBehH2TXKN3wCEO4P+nrkyHqgq/Cpq8Hws1EnvlpSnpj?= =?us-ascii?Q?+DBa/LFPHTRLuo7XX+0FMU3Qqr1ioX7psmLqizRutCnT4THsnIeyJgFLG/Ua?= =?us-ascii?Q?a7I5U/FJEzLTfcI6kBkXd8wmfcGn4OKVC0PuX8fCngMLaGnIfCq+V/F2mJNf?= =?us-ascii?Q?ufec/WD8q7ZpLQmxPbXRSNNSEW0Ax6DMDPTCW5QSP/F4bHD07ctLTZw0JMJ7?= =?us-ascii?Q?edgALjN6mvPLOUzfWA5RLTM14kK3tNsfQJ0ajNvufIWrXfYSPuFwICS7QSE/?= =?us-ascii?Q?pdb9cEa9KddrGvfR7re4SgTsaI089ZEOGBEEIgpufnWSmV9DKC1A8+atjv8t?= =?us-ascii?Q?v8VXQhCrPBsomf9RB07Now5X+DVkYvL8gjqG+tHN9c3OqcugU2q+TeYMawKK?= =?us-ascii?Q?t0x1FYqDs34TUHuZQwVtLcWVeN1NDQdnbw1d+41SItGsaWhuPfGYtGOrSQ45?= =?us-ascii?Q?20snf49tgU+tFTDxGhQeB94Kjw4egtD/6TxoLzjCVomNzmKOM6wDMXuH6BTm?= =?us-ascii?Q?d48haA7FI/HczckN6x8W2IpGB/QjKRWsh0VrfFuN6EAV5zzp2VMjkEHvFHW8?= =?us-ascii?Q?xA6JI9swyr7aRiUx2Fniv1qeTdpjqL3JGHqnYnuu0EbVqRxCNFfZqv47dXjV?= =?us-ascii?Q?MgQZqOR+Eby+6zOYejqe4PyCMuUh4ZDvtA3ibSxymi/lCSxaveor/3Smd5zk?= =?us-ascii?Q?r5NVORK/O2Qfx8cS+mYioCziOdkmA72Z4SY8W19f0258XtluIoTJYdIAYn0E?= =?us-ascii?Q?rwyXFNfcITCEoH1NJLCs4KvA9gdzk6e/GrDPE1uRU3yaI/jwzC14ZXuykLOO?= =?us-ascii?Q?5FTUpjQBB0hi2mx/HboJN+ujHPsMOEeeClRwEOFxgRw/qA80qKdKLCOYmSiK?= =?us-ascii?Q?jTTHUBS2AqgCtg4KYT8Dd6ebNP82to51taVmG69gnR0G1oAMoNF8AVGG38S8?= =?us-ascii?Q?qYJULRftU1VLniIXolMyglcOIHoWzBymK8DWfDvkq66NnwCPFeMUtvvgGW2A?= =?us-ascii?Q?UOw7JWydQT4bFgbrFcFtT1JsKz1k0capCnawZTZuMitQ9cV3ObSFw2OLmq+P?= =?us-ascii?Q?PLCe1GIf10c6Qt8UpLBQs6fch7SV4dapyBYoiCEPmMFU1xNVYlty6kPThZcU?= =?us-ascii?Q?KywpWuj/3Qsril7wIGVJVhIyRFnbeIcc+jJIra9Y/yq/wxGo89QoS9P7Yjpp?= =?us-ascii?Q?Ps+pqSbotk4meFtEq22Q0GTL49s7jXpPOjUsQnLkRN/Jof2xMcZBkw5YasxI?= =?us-ascii?Q?yo7GiiwMYYQKZ+yYaeh/MtfYa8b/GC+TtzoWqDGe9h9AknJCCx7gESuolysj?= =?us-ascii?Q?RWcC69cmX0w5sVJ6gVGIlgmTSdGyIngQpuQWMCUjnuFCTNF0nD3HdGTwunX3?= =?us-ascii?Q?LUp8l4TBb9jex/1iEY8aeS+9JSlhgSFAuZx1xtVN?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ed03980-2850-4daa-b216-08dbe74b16b8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:56:29.6971 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7SQZ4SpQdAymEXqlFXSm4vc2WPSS3Q6heDXZl5TwKJZqPBEuO2C/+5Tpb3s3MoLiTg07z4bQ2SwrxVJYRKLUkw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7271 Content-Type: text/plain; charset="utf-8" This patch uses pm_nl_get_pernet_from_msk() to get the pernet id_bitmap instead of using a local bitmap when appending a new local address into the userspace PM local address list. Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index efecbe3cf415..b3a606a5e182 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -28,7 +28,7 @@ void mptcp_free_local_addr_list(struct mptcp_sock *msk) static int mptcp_userspace_pm_append_new_local_addr(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *entry) { - DECLARE_BITMAP(id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1); + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); struct mptcp_pm_addr_entry *match =3D NULL; struct sock *sk =3D (struct sock *)msk; struct mptcp_pm_addr_entry *e; @@ -36,8 +36,6 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, bool id_match =3D false; int ret =3D -EINVAL; =20 - bitmap_zero(id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1); - spin_lock_bh(&msk->pm.lock); list_for_each_entry(e, &msk->pm.userspace_pm_local_addr_list, list) { addr_match =3D mptcp_addresses_equal(&e->addr, &entry->addr, true); @@ -50,7 +48,6 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, } else if (addr_match || id_match) { break; } - __set_bit(e->addr.id, id_bitmap); } =20 if (!match && !addr_match && !id_match) { @@ -65,9 +62,10 @@ static int mptcp_userspace_pm_append_new_local_addr(stru= ct mptcp_sock *msk, =20 *e =3D *entry; if (!e->addr.id) - e->addr.id =3D find_next_zero_bit(id_bitmap, + e->addr.id =3D find_next_zero_bit(pernet->id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1, 1); + __set_bit(e->addr.id, pernet->id_bitmap); list_add_tail_rcu(&e->list, &msk->pm.userspace_pm_local_addr_list); msk->pm.local_addr_used++; ret =3D e->addr.id; --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2078.outbound.protection.outlook.com [40.107.22.78]) (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 595BBCA7E for ; Fri, 17 Nov 2023 08:56:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="MOZGP3wJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nnsNEJhZCterNepSthtbJ156S2A2zQ5uLCjvipTdc8wMd4QUk1sjaThI+pYXdGn58J7gGm7DADhvZCFK2tDv/KIYmjKCbMQW0YWYEQ6eM28gaPRAQjtK39xlVf+21FwHIxAjY0rIcpCHcv0tlQFC3iZ1UQw9qv/fMnfieMeCgeaFM/65KnAUBqGHalY8kitPUoUjHMqA9Ww7AdtA/jL470Cd2T2s29v4fvGeGuDIGl0kHGrxYwUQ58/GLU2KWYbhHj+8D851zlf0q9+QVOle2vf47JfjwEno+YRvs+K8P78+TpWhUYxhafiHULdmB0l8O8Fded85a7fhIcq0ZlrKuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QFu5NR5fYWXwtw4Q2nfrmDukq9pre3TiGE1SzTkbt14=; b=gE1gUfIH5GduN6Do29C8SZuq42aPpy0LKyhpesp0+BH9RC2cpUO6xapSwDqDBOaS1KYIFAlSWq8qsjVbow5ZsDtJ4Q904yhMukdyvTXhjomBZGaZX7s14sM6EGLOuAC/SLbnebUtyZq+DbA+krRvGYdTNb+AV/L8zIg5vVzurEmYOtAIl8DI28LFGRBfVt1jS4riP2IjhM3n/Tsv+r65cDwWG7M3arZWWc0+GqjoJv7SJibT8VTmgMq5D21T5kQCicRk5i2TFL0i+QmTpks/uSemI/GPQQkNZN/PgSAStofbWkusm/qk6WOMOfNNtbkp2uJjaM2jqYsv6w/H/m4Ipw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QFu5NR5fYWXwtw4Q2nfrmDukq9pre3TiGE1SzTkbt14=; b=MOZGP3wJ9Zv7NGJYL6Q/4UwpJ/7HtVhm3dcZZWzoLlbKTgSCm32c5Bsis1EkDxY6d3R1cRFj+2tqgoRAuijKFodFvoMwQ1iVMy7FMitnRcZeEOY92JEHSQO0Ggp4+yAWYXQUyEMH0Pm0ppamiqI1ZoUz977Y9pNZcWyLllnFTogbC+l5id018++BtAQapzq8gtxmIkvNKGQAe4Om5furkhdhs314EI4Nw6kgM1ZZWxDVQ28toevs1gHDtV5kJ6ym3rWCLKpf5kElo85VcyzgXcilySJIqty2VIhtpY2GjzNrxuvg6fyRGcVsX63V5QJNHjx0wjgO7JEnbZFiZF17Aw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBAPR04MB7271.eurprd04.prod.outlook.com (2603:10a6:10:1a6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Fri, 17 Nov 2023 08:56:36 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:56:36 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 04/26] mptcp: add userspace_pm_lookup_addr_by_id helper Date: Fri, 17 Nov 2023 16:55:57 +0800 Message-Id: <840c715ad90c9b288534f18b2fcbafb62df1854f.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0199.apcprd04.prod.outlook.com (2603:1096:4:187::13) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBAPR04MB7271:EE_ X-MS-Office365-Filtering-Correlation-Id: 07a4b022-7340-45dd-ce96-08dbe74b1ac5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fZLKxczMWZZrKIQRb6yfRR/CJOVDfjkm8+jk1vNU5ank9q3oft877CGBd50zYvG+bGMc7oNz2sODZn77ECDctZd8+2HeFes8ngY2I+bE6nk1Re6peaBOv2gXswVtoNP+ul335pXTXelH27cI3OyBlGP83xXsEil5Bi/1rPvlQG6ttxpHHz8Erghn/NfKc9JWngAqjdqSTJkn9wZSTsQc7UBAjgKenPYo6If9lJdIx/y+IjelyKkGUwrVWCoBpIVd7KHbmmKr53eQMn4Stt9Ed8n6mRtpno18/i6FFOVLRWXsdNdfVRudSiO8P0H8g8LAw9ouNpXDzcXtFh1atNOE1yfYyd8EJI005mGeqtP2/o+Ep+QMJzQcBhHtZU9vBtQtmQIshuQ1sF029IFBFlKtKT32tzbWHZktpa4eyrlbm0cdrWJNyDS2QxqJS5OG4B8345KZoaYMFdz7fmd3tlvwN1sAecvwAKIgcpRaL8OAd89KnANnP/SjxhW+bxI0zi4krMnFzfojgL4Z3bbjPPfAULsoF9L/2GCgRt4UjmNumYe11dsfOMD47j9ER9E1W7sZ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(86362001)(38100700002)(36756003)(66946007)(66556008)(66476007)(6916009)(316002)(26005)(107886003)(2616005)(6512007)(6486002)(478600001)(6506007)(6666004)(5660300002)(44832011)(2906002)(8676002)(4326008)(8936002)(41300700001)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?x5V+IIvEfMV3V1JZRUV/NPUSUrFSRJlAAUpEsyx/bQS9Jo9jNGZBq/G+NwK/?= =?us-ascii?Q?e5tePpJrGW7cp54D6dXYqIstdq5fTpBFKc8rEo/MEX8E+/r73LanCX1LU8Bx?= =?us-ascii?Q?SGClcgx0WaDNw/h2W1glHW8fqTpFjxzl6FlffLU5J6PnU7DwBI/D24zzUHSq?= =?us-ascii?Q?DiaFTW5Rls7GOr+BeG3LTTX4AzcMK2VYbtH3aICazoUyyfgnAzlhi3/bo7DK?= =?us-ascii?Q?IcMXLJ+1zM+BVP8sBloJEzdLEsq0H/idh/t8y3RsW4MjL/WSaBrlw/jtTEIF?= =?us-ascii?Q?hTAkwBEk7TsxLKA7cV1oiKnL4pQtWMKu+rsgI54yL1nU4KlAlJps0XRgl51w?= =?us-ascii?Q?H19CPeZgrnSsfZqhtcgao8Yywx82TnShv1X4EDYzPhoJ6TQyjnkW/EznDGF4?= =?us-ascii?Q?pML5t3KdI46rJY4MqQ6/+JCocNg2C0xF20a/oD2Hpy4XVdfXdtm8SkrOGPej?= =?us-ascii?Q?HOBfBrHcpjnA9ljv3mxB3gbrXwXCGg6/je4qratvANl2rMENYs2qbcoQvSFx?= =?us-ascii?Q?Vx7U/6nSn/5M+rPyGXQ93v8GxRMrpp25qAfEfStceivPSgWXaVqUfmScxkaS?= =?us-ascii?Q?dqHeN2yoazNmiuaGGceqkLsXN2UoLaYeeQrFbf/UXZIW1mkg14bTlaQ3lgFZ?= =?us-ascii?Q?4RrgV3JkfTsM4FGiF7cF/dZekkpPwvjan/ZjQwjQb5XmzMXPa86bz76hAcht?= =?us-ascii?Q?QHJFvi4Dqoh4kHRqdf+/rDsUyjVLi+rV5a07OvZJfN2T6AkhkqEPINfPy8Mn?= =?us-ascii?Q?2j0DkWigL6faDMkLE1UStPnFLGy8WBC0WS5ziJOpRR0yysMCuIlwqlAn4J+B?= =?us-ascii?Q?s0eRmpJlFBUFueFySo0lU7Y8SQgTxtiBU6CWY4AlCs28ISm9dsCFi0de4gfR?= =?us-ascii?Q?0m3rdGgRbalT5iovhaMD/EeimCwDlUoKDnxjDTWcbM5hPBQIElA3HeaDiSBo?= =?us-ascii?Q?62IICLHuLwyEO7P4i8aPEAJ1iynIcq8dJMyQPiltyahKYKLEKWhK2TzouB+E?= =?us-ascii?Q?klb4N0wyVxEf+B6DajS97AUi0XGsz6fiXt91Ihya0shfJ0mbPPfrEaGXgGXI?= =?us-ascii?Q?LKN4OhRE7RLDuJPjIw6IqiPXsIrJa4mG4KC7zVNE43+DkoC9wAWSPK1gZKhp?= =?us-ascii?Q?ZC6fFq58eEEBAgzWHppiJBWGQ9osT3UMKFttUakO+fXTmDneiEbbBzmdsV0n?= =?us-ascii?Q?EzBkGGqzzk4sLaI8hrcMXnJF767300iaarIR8fplAr4prxQ3g1o8NfA2UE0u?= =?us-ascii?Q?7GUPnQuVwmc5xM+TdbzFoqRlSKbDWLNIzFID3q4P2iNWxdXPAhMiB/SBZyxa?= =?us-ascii?Q?GdMyXoJIzTeuxj/rK9BXDmRa4oG9I7dFHwmKqoD60O2dMuuzE9qsq0p4gD68?= =?us-ascii?Q?GgeN4x4ozd6OWxBXD6G5/dFFjyqtvJNdVKNbv5kDBhLdZZgkNdqMhFZ//o49?= =?us-ascii?Q?AeKbMj6OXSooaiUFL1dmtSGgSS+BiSjGbItE+Dlh3ND/G9VWo0X9f412c3sP?= =?us-ascii?Q?Rx691WvcwsdXuHD5RaA8kiojW8zlu0fSHjAACSkZY5LWq3RA5THgDbyhMUq0?= =?us-ascii?Q?h/a+ROTtUKgqWgNARgNaKc+8rITXOp2Hx5mVpKA8?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07a4b022-7340-45dd-ce96-08dbe74b1ac5 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:56:36.7468 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: D7aKYEiLDSFcptgT/gFIn2fA2UWaGch44TqQGfvD65k8ZnumT+62RiIdVfhE3Oqas5YpE+NiOnRVuWFBls8coA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7271 Content-Type: text/plain; charset="utf-8" Corresponding __lookup_addr_by_id() helper in the in-kernel netlink PM, this patch adds a new helper mptcp_userspace_pm_lookup_addr_by_id() to lookup the address entry with the given id on the userspace pm local address list. Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index b3a606a5e182..6999296cd5db 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -25,6 +25,18 @@ void mptcp_free_local_addr_list(struct mptcp_sock *msk) } } =20 +static struct mptcp_pm_addr_entry * +mptcp_userspace_pm_lookup_addr_by_id(struct mptcp_sock *msk, unsigned int = id) +{ + struct mptcp_pm_addr_entry *entry; + + list_for_each_entry(entry, &msk->pm.userspace_pm_local_addr_list, list) { + if (entry->addr.id =3D=3D id) + return entry; + } + return NULL; +} + static int mptcp_userspace_pm_append_new_local_addr(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *entry) { @@ -107,15 +119,10 @@ int mptcp_userspace_pm_get_flags_and_ifindex_by_id(st= ruct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex) { - struct mptcp_pm_addr_entry *entry, *match =3D NULL; + struct mptcp_pm_addr_entry *match; =20 spin_lock_bh(&msk->pm.lock); - list_for_each_entry(entry, &msk->pm.userspace_pm_local_addr_list, list) { - if (id =3D=3D entry->addr.id) { - match =3D entry; - break; - } - } + match =3D mptcp_userspace_pm_lookup_addr_by_id(msk, id); spin_unlock_bh(&msk->pm.lock); if (match) { *flags =3D match->flags; @@ -247,7 +254,7 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struct= genl_info *info) { struct nlattr *token =3D info->attrs[MPTCP_PM_ATTR_TOKEN]; struct nlattr *id =3D info->attrs[MPTCP_PM_ATTR_LOC_ID]; - struct mptcp_pm_addr_entry *match =3D NULL; + struct mptcp_pm_addr_entry *match; struct mptcp_pm_addr_entry *entry; struct mptcp_sock *msk; LIST_HEAD(free_list); @@ -284,13 +291,7 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struc= t genl_info *info) =20 lock_sock(sk); =20 - list_for_each_entry(entry, &msk->pm.userspace_pm_local_addr_list, list) { - if (entry->addr.id =3D=3D id_val) { - match =3D entry; - break; - } - } - + match =3D mptcp_userspace_pm_lookup_addr_by_id(msk, id_val); if (!match) { GENL_SET_ERR_MSG(info, "address with specified id not found"); release_sock(sk); --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2051.outbound.protection.outlook.com [40.107.22.51]) (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 B7238CA7E for ; Fri, 17 Nov 2023 08:56:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="PHGO5BYo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ovo10f9n3q4+N/3Fp+0gKjOcdLYo6ET4zzS3amKoT/IS5QPcvjGJJbgVe+B78x9OczrL14i7qYoTRyV7TWaGl96pjBDdeXqP9jU+c3EFmsHgv198GzU8x0U+fKDoGgszPpYmBecdP36JO7HiOH0PgBkX3V5S3rZvaD0nKISXC0/iP+2YthnYNflayKmm2b1GLvnprGGRYpmRGVoxRTi9/sR/gJCcbxJz+ll3EkSvjYL88UX0f7vnenYNmHSO5ESV4hbe15fVGbS7ZoEl2NQfHwuFc0xQCxSIR2OTdMXjgUmvT4wH4gHCMBbMGMP0lZPbSq4+FNZU+eAGmsojMVl8YQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=pdLYbK7vXnu1Q5Sj+OUn839s8mJ1ffI2svEYGzcGgdM=; b=l22aClqUT35AkBw/fp6fQ3FkBoDSZH29HRjP0yyqD9gICTSn5zXMW099tULs/MPBYAXftcJsHQz5HKPNxvzgv4VJVuFCihN2QK9soRZDW5SA5W9ySj1ShPUDYg30aiWUGcjsr3d2LYfjGOolo9ZkUcHRig+jgKKj7v1d2lOJhcdCMq3ctjuiqTNGLjnRckq+5V99TmLN8Xz59e+HgLPyULgZYHNnKlY7TQsQVBCIKMYOd85VmC5jP5WNgOFVGlU6tOFMi+J1F3jwxfDgCj4A3l9Xh6dymDxmHyho5D0Qz51A4e15YkaPOVv9EC/4jj+l0CHQdWXAxLqubShd2kJI1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pdLYbK7vXnu1Q5Sj+OUn839s8mJ1ffI2svEYGzcGgdM=; b=PHGO5BYoGHynrClKK94HQN8kZGhCkn2hvyd67Q501PxH39MKhewk30xeDUmChHj/fj8YhG1I7qurHwuXXVcLgIGwtklDpTsrXxkk9K8ISOBs/CXg8NGudexr3u3EJI9tScDEoe6gSWTDsqB69tDx8nfgo24CuhT1gIYZrCI+0oL7waEfV9ygDgWNnJFTVvHmjtSu/BRgu5Jyd6LraNXPwX38H+/PCVq39F1mv3/jB1+9D4F1iq7P96DdJUm0BnPP8RkjxVayFOGv1kAAYYCAk3v8q9OsDZLLpZ29ZrHalVQ/m1ii90xTdbrnIx6V5Sbn4JHo5Rqc4kLWjm5Og4dy/Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBAPR04MB7271.eurprd04.prod.outlook.com (2603:10a6:10:1a6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Fri, 17 Nov 2023 08:56:43 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:56:43 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 05/26] mptcp: drop lookup_by_id parameter in lookup_addr Date: Fri, 17 Nov 2023 16:55:58 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0201.apcprd04.prod.outlook.com (2603:1096:4:187::23) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBAPR04MB7271:EE_ X-MS-Office365-Filtering-Correlation-Id: 8c657b68-77fd-43ed-4d75-08dbe74b1ed5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dFMbWkSYHVmoSzwPlIgccgCoPdjgx2uJwE2u1HHCD2IVXNQIwySEzz6l891Tn6I5eVnhWPbmV7LuUl8vF6LY0pnFAARyVmRmUocxcaxbsLMG9qB+UOXwvMH0KAC3y6+vZu2Tza8kHKeMmmqSirKEjEsD7oXChiPJSBIwsgJuIKaxgVg/kwATcyOJWuRmCvEiXdoN+ncxQ/d1seWMPWeKXkcUJrIruNeMwQUtThG0uthbRVHk7VWyKbSfgVUUepxLppOAcbHvQAVdAKq59ML7zn/udhEdBxRy+BARIfwuQYk1AEUb3c/gQS5yw6E4ANsOvF45r4OElQztf3LdrtRibw32n4o3t1/52BDo6SvfHC5rmLSrG3dMbLY0o/aR3sflegMtJbSXPOSszeDt+FBHki5fvSyGsr8uv8BuK7daIFTqNSUciFiYSP1SJaSFVZ25Ruce2nFMqNU2tc+IdjDWp3cInvH/2SmI8u/HU9aAItzP/e0kub/OmKVfB87dKGHiy1CHPow0vp6HltBDNTS1SzYgMFZmLQv9gj8iuA+4xab9Nb3RA/mNR+E20dTXeJxg X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(86362001)(38100700002)(36756003)(66946007)(66556008)(66476007)(6916009)(316002)(26005)(107886003)(2616005)(6512007)(6486002)(478600001)(6506007)(6666004)(5660300002)(44832011)(2906002)(8676002)(4326008)(8936002)(41300700001)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Fn41lS3o4uLlgH5P6IrqxvvmZYtXZBQfQS+G3Nz7s/AhcBu2y7INnNv6tssz?= =?us-ascii?Q?NZEuzeAPjDmfrUcUy8T0rfPXBlrcvXgLEilGrBjQHQ1HLeY0tZ1TQjs5gnBD?= =?us-ascii?Q?TnAA02PJNSoApmLOHAzwlSaEo8gkPSVtOBTG9RBI7f4XsdE4i1tN6+Bkvf2o?= =?us-ascii?Q?Mbppstc9A4nl7NODZC8iRpAUMxClJHDHVD+JCGtqTvMCnOhxzKXhmITNJgDR?= =?us-ascii?Q?ijNy9QQQ5hJw97H4H5CXm77ugNAxo6B4HZS//kMx21gbrkol5GrVSReJzu3j?= =?us-ascii?Q?3GiMdHw8SQgMzUuj/6RYRJHA7Vx0vZtitYKnLAhSd59mbpHSsk95GGvKnB06?= =?us-ascii?Q?NLkPTT8L8eF9zWAS1uqPl72Nu1uVmKLMLn8o/27OJx5RLlkrCFsgnugCPMlW?= =?us-ascii?Q?n2UahEQQniI8yCNaVp78XSXk1750G/7Xo7HwjpHiG3Uavd93FGlX5MjVSexz?= =?us-ascii?Q?Ty4mOIoNHZpPP6nZrxfzXJCq3vYxxuzdqePiCvcTDzxutW+OU+b2mimhi/cC?= =?us-ascii?Q?A1KFeuVCZSFNHi9RsGN6BLDFOco/9Dswh731yTuDkl/KtP5d6uWhVUia0ftg?= =?us-ascii?Q?5MRMqLYHbXrzZXatTAb2CLg1/EGC/ZwnpHgIAYU9fI9iHlVy0e7kb1UFTuPu?= =?us-ascii?Q?owIly+ZpIv87gVqmU/6tdEZXsgSNJ9elWYmHAoGb8qStmuBCrlCRz5vbYIPA?= =?us-ascii?Q?4oZ1C7ZQ5eXyv+FSZs83WRp86quDhmZWxl1rGc1XqIIjSZngds5ZiaJh2frV?= =?us-ascii?Q?YBABg9bIyYLVJ0ravZD5H6pjg2KES+Ek1l6FS+Xy+1u1CI6wUm8FjSVpIZRp?= =?us-ascii?Q?GhkyMiKF2Ak/hf5FnLs0POg1MX5RUQ7173querGcYOxhbikI2NTAC6FxvRVH?= =?us-ascii?Q?00G9XnDdCbNfWg3/k1lgQIBTTuLpflBnTkQs+UnYf4d117eO3M+3kT9TJNUs?= =?us-ascii?Q?SskvK3F5CfwbtWstvJCklx3hNjbZ12OiKkujtFFDKYuQb1LqzFfvk3PEDc/m?= =?us-ascii?Q?XNc9ZdYonoYm/YJRLg6NlpvS+OhhWqnK7osJWsA+JjRTXY5AdvoTXdobBR7M?= =?us-ascii?Q?sF9HLppHnwBLOXPvzsyeBKmOAoaCSe5v7QchWMP5a8hSOSnjMN7EvCjZC8n5?= =?us-ascii?Q?by9aXgPAdGgu3SAiPdrEQ9MMb0Voc3+ngksN0SfCXtg8Xq310ysQFG+RNRgT?= =?us-ascii?Q?Rl5GHosRE5vkt5idlVpekW5s9MIbak12turrp+hO9q4o00ZCQCkshlIbQ9gr?= =?us-ascii?Q?6eiLjC8UTliTJOpT6YgCpT4jBH9B3GWDn6nVRVDJNXnZTnNm6d08z/L1znuW?= =?us-ascii?Q?8b7XQSahtX7L2AVNm1hjVUN18rh+VpECSq8fTEOaos0aWDgEjzbG/aa02545?= =?us-ascii?Q?Ke0FQUV6sZ2Hd4yFkmlZrI3fmCouPVXG0hYJ3rT27zBMsal8PhmgwjBVP5hJ?= =?us-ascii?Q?psup33SA6lKT8BwscaS8Wlbz8ncLknU2nu+6ivk/LG/66qFQZvwKfKAhA8ha?= =?us-ascii?Q?qZeTsYcgkdna4NCwu+yyX+l3tQfikdoGw8u6+h293O8+vJO02XZjPQEFZlbE?= =?us-ascii?Q?Wh/FIF4bGA/p8bWu5wBqmrWYKQT8dQtMEGLqMmaC?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8c657b68-77fd-43ed-4d75-08dbe74b1ed5 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:56:43.1312 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fkfHN3fbuBWHxiR6z79/pDkb1VbkCzVF94DpnGX8v2yOvFL81ure6qLPKkG2G64br6FpOkx9toO3eVby4sVKgQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7271 Content-Type: text/plain; charset="utf-8" When the lookup_by_id parameter of __lookup_addr() is true, it's the same as __lookup_addr_by_id(), it can be replaced by __lookup_addr_by_id() directly. So drop this parameter, let __lookup_addr() only looks up address on the local address list by comparing addresses in it, not address ids. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index dbf040e39af4..4cb52df57ba5 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -458,15 +458,12 @@ __lookup_addr_by_id(struct pm_nl_pernet *pernet, unsi= gned int id) } =20 static struct mptcp_pm_addr_entry * -__lookup_addr(struct pm_nl_pernet *pernet, const struct mptcp_addr_info *i= nfo, - bool lookup_by_id) +__lookup_addr(struct pm_nl_pernet *pernet, const struct mptcp_addr_info *i= nfo) { struct mptcp_pm_addr_entry *entry; =20 list_for_each_entry(entry, &pernet->local_addr_list, list) { - if ((!lookup_by_id && - mptcp_addresses_equal(&entry->addr, info, entry->addr.port)) || - (lookup_by_id && entry->addr.id =3D=3D info->id)) + if (mptcp_addresses_equal(&entry->addr, info, entry->addr.port)) return entry; } return NULL; @@ -496,7 +493,7 @@ static void mptcp_pm_create_subflow_or_signal_addr(stru= ct mptcp_sock *msk) =20 mptcp_local_address((struct sock_common *)msk->first, &mpc_addr); rcu_read_lock(); - entry =3D __lookup_addr(pernet, &mpc_addr, false); + entry =3D __lookup_addr(pernet, &mpc_addr); if (entry) { __clear_bit(entry->addr.id, msk->pm.id_avail_bitmap); msk->mpc_endpoint_id =3D entry->addr.id; @@ -1832,7 +1829,8 @@ int mptcp_pm_nl_set_flags(struct net *net, struct mpt= cp_pm_addr_entry *addr, u8 } =20 spin_lock_bh(&pernet->lock); - entry =3D __lookup_addr(pernet, &addr->addr, lookup_by_id); + entry =3D lookup_by_id ? __lookup_addr_by_id(pernet, addr->addr.id) : + __lookup_addr(pernet, &addr->addr); if (!entry) { spin_unlock_bh(&pernet->lock); return -EINVAL; --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2059.outbound.protection.outlook.com [40.107.15.59]) (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 3E117CA7E for ; Fri, 17 Nov 2023 08:56:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="kYsljzaj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jr+IzQpC3pxH+Knk2rF3++bIfYpbXvXty7mT9FwtO2zjCDqfnY7K9mKmX6Q+K88+BA6/VigjIEPVxj5dKSB+TXs6rT72ezOgwxNMt4ciQarPz1AWCIo0K5s3JOuepTskUqtwOJnV+sCnGc5vJgg+H1pHKSgofVf+9IUJqYxtEzLLRsswnvWRsUZk57gfcjZIINZjmU7zQpFUMAzGqxS1b+s6lnLeyCNwTE9pXBBkLA3t5ga7ibUxEuhjm1tuS6B3Q/OZsSdb3+6OmMtG18K1AK4NBfe7iLlf+IyMfvHrB/7BxQY76cS7D0yCvur6kDjg6JzJX+HEu6DTEwBd6qTt6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9I9BhsUgHu9NIyvVUommWpfzUKT8CPGIVlfQ/Lgp1ME=; b=NDvDA+K8HB9pUDmzb6AH1ElU9XmWVPA0GsHt/Q9UESjZkyhxUkeXCYPflhDI26AVz9Rcb7dLtp2pOd/khIw59CsTcCLrOQNhWMV9MHC3VLnKBez4puHJguVbMKXLDllm/400+v85bRdylFjuZ20ZO1kVa1Ybpvrd9DJPESdciGV1NP+2cyb5R18LjTkH2HBfKWHmURLFHLzvfkmt5wT8EMukBqup+VJZrAvvYHKjHaNf7q1JFPGXkRL19gGi5Ei2Y4PyxbIi0f1mqMRzo4iHtJ6uYU6vl/NwS9urUhYnLwYvN89mLiAo/TVj6/BC42krA6Aau1BqGWWI3gzgbY7SSA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9I9BhsUgHu9NIyvVUommWpfzUKT8CPGIVlfQ/Lgp1ME=; b=kYsljzajk3kyHFcPn53WJmvTJR47z7EK4razzwZ+/PO8FTkeym9EDEZ9wr2EFPW1kW0QMfTGKpsogdCD804ixuqsRB6MH1nbsWbqMDAJtWPZiTRFEe+JxIMLxR9OXpkhJvRKC165kF1cH2kEdj8VWjtfzEUv3wXpXd+VYCPyvtNANCosWfMcc1pokwhOUvtXxqf3GsoomcyCeU9oEe/HSYOezbzCBRbZMrCvBd5n6ZmOFHE1AlXYBYzomRhzxUI1kk002kaI6lWZi4pc6mXX2Cg+8KxQ+n7kEyDfyzczc0vaFd8qsw1uymh/1eTAC9O0mndCftb/amCGnKoJHV9JWA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBAPR04MB7271.eurprd04.prod.outlook.com (2603:10a6:10:1a6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Fri, 17 Nov 2023 08:56:50 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:56:50 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 06/26] mptcp: dump addrs in userspace pm list Date: Fri, 17 Nov 2023 16:55:59 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0309.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:38b::10) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBAPR04MB7271:EE_ X-MS-Office365-Filtering-Correlation-Id: a7891ce9-938f-4b49-c7e3-08dbe74b2341 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jsbOJrNi83c6CBnJA483sQNmsnKPrPByw3lZUle0fnEt09p3daMcI/X0UoHv15D0qARph84T0SE4KRpUGo0KGqvj56mkNOcwoZk1LM7eZj5LbDJnWXfQjces55LKpVxQXk/HUbAA5PsMcTz5qFcU+GR32nTs5AiOW7PVX65Ntx83W2avDuwpf4tc7zMvXYhDf/tS7WXH3znaGj5FRJupAN81b0S6L4zDLZ9pPD2xvUx/aXkalWXngFLYit1CMBs1R5k7EaRcP0VSdkLn6yyzu9bk1U/uZvsbAkujRr6RLGZgRXnL/aoTqNEE3S6m2MPt01O+QAd8p58PxzhTek08ryu8BvzuHjMvJLrF9XbjfO3ePpEQi6fdxPpi/dWoliWNvy2uPmhAhI84nN1JheCkvkNVvv5rgzaNsvbRrs3XMnSS0d9ffBzBPN4fkK1H+i76h7dU7JNVtZzkRqlfI8HR76OWSzr2Mu689RvjPusO0+nnYuZU/y/U0aHp9DbYUjbume1Izdh2dbu6ag7Xvy+qmHe3ZmCbyEjQ7n7X3FVbHRzxi8T89nh39fHFk6DokD6P X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(86362001)(38100700002)(36756003)(66946007)(66556008)(66476007)(6916009)(316002)(26005)(107886003)(2616005)(6512007)(6486002)(478600001)(6506007)(5660300002)(44832011)(2906002)(8676002)(4326008)(8936002)(41300700001)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5nFkC6G1+aoYIN4MmXtfkHjdh54Q215XL3XfFicYrxPT1vDzDMHqCY7+NBwS?= =?us-ascii?Q?QvGv7xcxjnwyarCO35tlbpvgn/xusal4xGASSjiCOcYWpHlwytzFcgIhmmxE?= =?us-ascii?Q?znHvactfozx6M3h6Q/SxFIsHjcSPVEvj6+w7qSXX0GhtLl7LDTMGZlBsr9Tj?= =?us-ascii?Q?ras7odCw8xj62Ir0ApuMkW9uzWy5WE3UDXO8b4OYN1rinAtFO9MUqoW5CGjZ?= =?us-ascii?Q?OmZ49Zw+J+bUhAFCM0JxrY4T7olKAE2QFDhcbmgcjSSZtVL0vRqQLflJlBvH?= =?us-ascii?Q?uB2DNEJ/M/DluPIc6JokwIkgTExYWPytPOIGJLrJZBPtN8xJy0D3FTCpiZpW?= =?us-ascii?Q?yWWaehSP8ia8AzsyoEuE+UrOr9AvkOKFLzfB4AHLkTlJYnOj5+curlNXFX5D?= =?us-ascii?Q?EVPNvhCldp5MtuLJPNEbjkOToZOHitqrh8nAL5CqiHY/3eX2M/xenCV6K63z?= =?us-ascii?Q?584Ap0cTSoJSyLXzc5FNhtm5Fc070/4Cyr3iW/ZZOpqOeY7uS8U/ND/r7hKh?= =?us-ascii?Q?NAOEV538k4RLrh2T2RGueedV0G9fvt1AQpERv26Ky4Z46gClEiGkUqWL5Q4p?= =?us-ascii?Q?FN6VA0por2nDbW3H4u8398gsV85B/NpCpDPjwscNpDjWi5lWTxNt9TNF/gWZ?= =?us-ascii?Q?lF4RpYxT+YLUjbdrpPVehR+uNnQak6s6GJz12eenEhHHk+rqdVjgNlcbWEUk?= =?us-ascii?Q?JY/PMnrcP0ImWT/awCNQVjlPu/UmkLK9XuwLD3H3q8S9wMApJGscB6sqqomt?= =?us-ascii?Q?8Hv6WD3svezGew9BAlqT7hME+1zTf0ahr1ViMM3PTY8EAI9zV+vjTEx7slkZ?= =?us-ascii?Q?6X3uB38/glPJEanxy3R6lUuyHsjLNLAJHgvLkOhoVkRAMx50jtGVb9Az4qMI?= =?us-ascii?Q?REJ3IglFLaiG4PcVR83eVtEYBSeOK1MC9ivaPjscn3CGUks4HIt/xq2V+cQH?= =?us-ascii?Q?7mkEPmqn0tPzhZI99IQ1S5hAMrEO8AoH6UqQVvmAUkHzOZ1STXOqgIvGFkl6?= =?us-ascii?Q?yPmIFljjI1UlzuKx+sgyWFnP9QL2D8duJp1A7/iqM+2tjSN+PpyMDwMVxFgr?= =?us-ascii?Q?7CIoITf4QfICzxoMl72kndOPEiqw2KE3NZbpfc6BGDDEYVwU0nFeLz5KTojC?= =?us-ascii?Q?9RiUImJAHAeYTNvdPbb8akY+6YChatrpW2fICT/WR5KVQ66j87tGu3ry4VMd?= =?us-ascii?Q?atxBHoQ6KwuiCSwURYudmt9tMPFXplcrrQzcaBwKK8apz496XI8dI9oxsAUU?= =?us-ascii?Q?F99fzti1OUyHfxoACA9XdwFgKXaJcu0CEQal6fRNyew+7nldJGc/K31xlGuQ?= =?us-ascii?Q?JS1rVroDdTGaDK2PtO7zhI61XSn5/mrMYEZdnzKUqn25JyPVZTDgXkx2v+8r?= =?us-ascii?Q?mPNDG5TfE73ifPiddNwmuG2ccYgfSbuYl9g3iwZwjJNO6Syc21uE1jbX5fHM?= =?us-ascii?Q?sj9Fqf+ssBAASNOknQUXWUthVkFoIWfxyUWTXleYEv4ZfvTrB6PSxj8hxVpY?= =?us-ascii?Q?Uivh58WeJhNua/fvz1oc2CgMJ3uMQNT4xY/SIcp2ZPFSRuBMW9FHEQJj3ef8?= =?us-ascii?Q?BU+rBWdiSge0Aq8NWgMcRf2KU17pP+hrkPTkATtl?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7891ce9-938f-4b49-c7e3-08dbe74b2341 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:56:50.6705 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WiRTiihtUxQ0Ltq5uS430zmj2nC5SvqBfz6G76iCDheVgS0qVtRolcJ07ImJfmUPjDukrHTAqIH3Z8bxx4ZSyA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7271 Content-Type: text/plain; charset="utf-8" This patch adds a new function __userspace_pm_lookup_addr_by_id() to lookup the address entry by the given id in the userspace local addresses list. Invoke it when dumping addresses from netlink commands. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 9 +++++++-- net/mptcp/pm_userspace.c | 25 +++++++++++++++++++++++++ net/mptcp/protocol.h | 2 ++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 4cb52df57ba5..08b4211fbcbd 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1673,8 +1673,13 @@ int mptcp_pm_nl_get_addr_dumpit(struct sk_buff *msg, for (i =3D id; i < MPTCP_PM_MAX_ADDR_ID + 1; i++) { if (test_bit(i, pernet->id_bitmap)) { entry =3D __lookup_addr_by_id(pernet, i); - if (!entry) - break; + if (!entry) { + spin_unlock_bh(&pernet->lock); + entry =3D __userspace_pm_lookup_addr_by_id(net, i); + spin_lock_bh(&pernet->lock); + if (!entry) + break; + } =20 if (entry->addr.id <=3D id) continue; diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 6999296cd5db..5e45e36ce1d3 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -549,3 +549,28 @@ int mptcp_userspace_pm_set_flags(struct net *net, stru= ct nlattr *token, sock_put(sk); return ret; } + +struct mptcp_pm_addr_entry * +__userspace_pm_lookup_addr_by_id(struct net *net, unsigned int id) +{ + struct mptcp_pm_addr_entry *entry =3D NULL; + long s_slot =3D 0, s_num =3D 0; + struct mptcp_sock *msk; + + while ((msk =3D mptcp_token_iter_next(net, &s_slot, &s_num)) !=3D NULL) { + struct sock *sk =3D (struct sock *)msk; + + if (mptcp_pm_is_userspace(msk)) { + lock_sock(sk); + spin_lock_bh(&msk->pm.lock); + entry =3D mptcp_userspace_pm_lookup_addr_by_id(msk, id); + spin_unlock_bh(&msk->pm.lock); + release_sock(sk); + } + + sock_put(sk); + cond_resched(); + } + + return entry; +} diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 88f5b422f941..c30e59278080 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1021,6 +1021,8 @@ bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, = unsigned int remaining, int mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc); int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct mptcp_addr_inf= o *skc); int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk, struct mptcp_a= ddr_info *skc); +struct mptcp_pm_addr_entry * +__userspace_pm_lookup_addr_by_id(struct net *net, unsigned int id); =20 void __init mptcp_pm_nl_init(void); void mptcp_pm_nl_work(struct mptcp_sock *msk); --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2077.outbound.protection.outlook.com [40.107.15.77]) (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 D0CF4DDC5 for ; Fri, 17 Nov 2023 08:57:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="5B1YUMLn" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gYHzPFArr7R2lXxLsz3bFWDaPxntMzC3dPBkmXjnoAryjoQwUuqe+bqT3TGjWG9N4/tNfUxEsvJgIEnQ9diJKOpEJL5TGYLlECC3T8puzhqgK650T2QegoKqGpvTGlYLFvj3j0heBjGlc41QWmjS5AJZPlAUwvNPqSA2UI+6ITYfEWFEh7olLDEC/T39yagE6keA2S4eeK8+w9znBBR6TGpw9zehy5CXmsLxCjrwY7B7HaaLa2ZVLVIE7qB6WWxv8Ph/OBflQh5Cl7IyLlvXgxjNWyrtDHtfNwAo2+KTDQ7Dcs5Yl9yey8JAUu3oB5unPSNpsxCB3g7WNILW7OXZMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dph7slE2gv8EAzbuXoW1AIj1s2dm2ND+F4+zezBtKwE=; b=DBY4LgoR+lW2/I4la7ctXZpxO33KuPq4Zokd0CYtIFELrB8sYXO5EppnQnOm+xwT+kBob+O8ta6UVSn9zSvsBV8YgSupyxQx6GdELAIPNcp5hLtHjSY55iEClfsGQpT+YtY3dsGqZihfUVs1IlYaPdCmjZ8Rw5JMhXlg6kFOjW0PFDHU4NFM2QbipkL/TAwlt+c4MkZCC53CHRRNHixQ9yaQx0MWb56ly/YPlzhrSvc5ZtyaEcVr1M6tof0BChMyz1+YdmBQf9XYEsS/1B4L65b8yM4cg7OEKlYY9PAXDsOLDRwuctB5Q8QBiSikqcbB0cT3WoSwJisRTAVGCQuJCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dph7slE2gv8EAzbuXoW1AIj1s2dm2ND+F4+zezBtKwE=; b=5B1YUMLnpXaIp8hRZWjWgwzQ+7oT/vmqRAN8ln9GT5++DClKV2DK7DvrzxrnJ6xDAy+m9WAU9e84xQmm8sR6Mjv20iDgXEaPkDSXUhqunXZEKR0GJvqdriMUyNEojfd9Da7ow6LoI0NsoUw9KJNktAwWb8G6QAWjD/43IMJOfwluVzOMQ/M7PLWpDqPVcaUFmblw0OI4Kx2c+4+GCbwlJg1MBr9kJTqIR0x5I6hMLr1/tdWDmWHF1n3Em3FnRQMUD4vQCdoizHjpbaB9LeoKVQs+3U++twtgGZ91zLINZB9fQgGLrjElyqKbxKwG82X4Y14I4CJBLNci/IpcOCu4/w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBAPR04MB7271.eurprd04.prod.outlook.com (2603:10a6:10:1a6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Fri, 17 Nov 2023 08:56:59 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:56:59 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 07/26] mptcp: check userspace pm subflow flag Date: Fri, 17 Nov 2023 16:56:00 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0312.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:38b::19) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBAPR04MB7271:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f6c6db9-9c16-4374-db37-08dbe74b2808 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ayGWXXwXNMblnclAefiug0G5MtCuU6yPhqB9VoKSLm77aNexQI6ePuhdVnMGHhdo6GlljT8egF8KvogIHT3RuUSbWFIO6p4iEuv0IBDhOryHUToo0LwIRaEgzH/LsbkNL5s5NnSyzHBMBS+hmqifjEbTJ+ePzrfHPzhHwbtlTMOPJ5UxTlKa8kHUFpMK0xMhTQHTAaSGSMfbOYgsGFR+MEnJYl8G9jzoC6HZcYBZbPCo7exu3dNHJ1keRdg5rNSZZi/8k8kO+TjOxRVEEosnIw2bZDmbcKvyyEbxQRDraCPAblH5kV2ZFwNi/9LXeXqpbUZTSytoOXOQ1e5tVtYnrPDQDurW2Dl3uqB2Xize/Ny3zT1nXZiLG+jQZ7+yAQ+h0V93WTX8a5V9fiPQsPRapibbdRVaNcSGaBmAS5qQGLUG7euwsvEiswGED2jRpgdeUzNF18lSNsJQX8ti+qMtSvdR1cFxo8kfsrtMYqHFrpyg0o5MX6/6/9nYn2CRMCq0qgk7o3cacWu61gDR0vZqRy8llbVYMt0eSFu7bqKCZLG48idbbKS0lxiaE3twOZ/2 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(86362001)(38100700002)(36756003)(66946007)(66556008)(66476007)(6916009)(316002)(26005)(107886003)(2616005)(6512007)(6486002)(478600001)(6506007)(6666004)(5660300002)(44832011)(2906002)(8676002)(4326008)(8936002)(41300700001)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fuyPbOvMyYMKdtU6ZU+V+U5vmfNCPQmhT86+8p3LCUwnHnnM+Gy4jsGQhi2y?= =?us-ascii?Q?mbYZj8PYMOPbZVgI/sR/I9uEjDM0wxs9GMwIdmNS45PBQfguAm8kWHGv0Bhy?= =?us-ascii?Q?/qwm2q7+Sv//rQlXIKaLHEQggdBN+aNbGBjwxIraJaDYBThXS+4IexRMeUgu?= =?us-ascii?Q?0gviOXubVqu3ie2bs2SM02t1tnm077QTpqwte7frhCbwSdK+BMi7ivrATlam?= =?us-ascii?Q?lw351vggfA4N3RqhFu0f/KHcbp4/pBYBVCnag0MwVV1zEKDk+/Twti3LmFLh?= =?us-ascii?Q?C5cz8W8oMcLCz/IMT+U7LRxOcedRfP/CoEgJC1wDHs3RjHsPWxJ7MNvqbLvw?= =?us-ascii?Q?zzR/TpEXzxT8YNVLuYTMkD0rPxg4gcFSEgfp3PDhWrYApHnDE3Qrb57nUdqV?= =?us-ascii?Q?9LsVtsiVF6p4ldOU5qonmCX0xBR6E7Zyz3H6QggscR0R44BBRzJ8iqQvTmNf?= =?us-ascii?Q?/pgezA9epT/vNVgwOC+qEyBekEQOPtSiYD+BW7ysE+B1awFRXCUv4TvrD6fS?= =?us-ascii?Q?VbvETaTkDQg/GNXDKrxJTGXLVMMvhaxMFI3iYgvwhcpili9Tst41Zb/xNjCP?= =?us-ascii?Q?NqA+UxHPJ6BcYzBOGCh8DREb2XHBG0xlVgVXa4AUmBLpUVAq20+r/gf/99o8?= =?us-ascii?Q?heN0pMmHbuhQJUqOjCc8V5+Xh7lATvX7B80NZuP3ntYczBHxRQPIhMZKZaKP?= =?us-ascii?Q?iHnNw49KRxraKzhy+Y0QH4eAzPdt41cBZl+yPnjYre+JSUogPwKD7k/ZkIwM?= =?us-ascii?Q?mRiRfuyHJJuUzG5z6kZiG3WmnL8ayQN4DaDytYlYIG9sBe+TIokcaULfulde?= =?us-ascii?Q?mvmQeGLAFg+QM2kEuRvEKm11HC12e4u71mDMogOYf4Q8rUcJBJlTxNA/F19l?= =?us-ascii?Q?VHkD6uaWY9YGlXZwpfiCyUnMOC2DMD+FtsOMHxgTkso87ISnU/c29w03u0XJ?= =?us-ascii?Q?KaCBkJ1uDWg1WCEdj+3B8agH4w6/lHYlaf2Wh1IDTD4GTJZbpOozl0nWdNuS?= =?us-ascii?Q?W9MiWhAzUlwzshrhfc7kXQxXWxNwbX7W3az/jIpchr5t70AQx9aP41KbY+J2?= =?us-ascii?Q?0jXZUkSNPJEnSTFNevAIXYLT4rCZOgJ112+98PLaqgUqb8neh+a49xP8jtsp?= =?us-ascii?Q?VLcpYlrJP0AHnzw6PXVO5TNuRRr+CPdSC99Nu/Bf36d2MBuA+KOipQvthW51?= =?us-ascii?Q?iJqfqJPFaW7JazFd0YD1G71EIC0B22SsgBl7S2UnmuVgMEOiPEoRjfQk28m7?= =?us-ascii?Q?8y/y3+6DWzsMerrhtCGXAkGIkn8hLqUhukGH9HpFz9PWSSjbIqJYQNCGPx3v?= =?us-ascii?Q?Zw/9dQJzyIu1WRyZWJzzo66Yn2cZHLS3y7P4Bbwmvlc7buHZNwJvxyCRX9Ar?= =?us-ascii?Q?pK5bAmdOfYtf0qrJwZbfBDWUUuAO8OahRE6FYUdOZOGd7dWDnrYPN1RHr4+l?= =?us-ascii?Q?sPWaFSIe0SbQAGjOtGAMYYNFZAMaJlGggqRTjs8Fb8Dq2zrpEwSqGGv8i7At?= =?us-ascii?Q?6QTU7jshFb9MtVl9FQYYZ4uNMISVfZLqHCwN9zFwIO+Wk8Ct/4P9Y1nP6q4X?= =?us-ascii?Q?KBS+kliDtpFVUHRpMebA0zBqQ2ytLs3Vt+VZU6EOUH7JAPTFI4GbJCMBDQ9e?= =?us-ascii?Q?dA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f6c6db9-9c16-4374-db37-08dbe74b2808 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:56:59.5114 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 45+8bqNt0j+Xo/XLE9ulk70A4xMEW+qHfIDQCi0JZA0InTu+B0R9c8Pxuh32KF8bvqo/VQzHI/Xnt25KEotDHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7271 Content-Type: text/plain; charset="utf-8" This patch uses mptcp_pm_parse_entry() instead of mptcp_pm_parse_addr() to get the flags of the entry. Add MPTCP_PM_ADDR_FLAG_SUBFLOW flag check in mptcp_pm_nl_subflow_create_doit(). Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 5e45e36ce1d3..de10be21bf26 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -347,12 +347,19 @@ int mptcp_pm_nl_subflow_create_doit(struct sk_buff *s= kb, struct genl_info *info) goto create_err; } =20 - err =3D mptcp_pm_parse_addr(laddr, info, &addr_l); + err =3D mptcp_pm_parse_entry(laddr, info, true, &local); if (err < 0) { NL_SET_ERR_MSG_ATTR(info->extack, laddr, "error parsing local addr"); goto create_err; } =20 + if (!(local.flags & MPTCP_PM_ADDR_FLAG_SUBFLOW)) { + GENL_SET_ERR_MSG(info, "invalid addr flags"); + err =3D -EINVAL; + goto create_err; + } + addr_l =3D local.addr; + err =3D mptcp_pm_parse_addr(raddr, info, &addr_r); if (err < 0) { NL_SET_ERR_MSG_ATTR(info->extack, raddr, "error parsing remote addr"); @@ -365,7 +372,6 @@ int mptcp_pm_nl_subflow_create_doit(struct sk_buff *skb= , struct genl_info *info) goto create_err; } =20 - local.addr =3D addr_l; err =3D mptcp_userspace_pm_append_new_local_addr(msk, &local); if (err < 0) { GENL_SET_ERR_MSG(info, "did not match address and id"); --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2045.outbound.protection.outlook.com [40.107.22.45]) (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 E374ED28E for ; Fri, 17 Nov 2023 08:57:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="C2Orl6tb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lsX4Kvofmo9eXGEoDBvlA3ReDEkC52d412xlN2ZpKya39WL3ZXmPpXxhdX7V4acYaUeTQHim4Bj8x3spVhsfZWNTQzzYDZH09k7EHHnmQiafQzD+CLQnNOs35sWssHeGlcSCmCu+o04EmBlBICwk2Mqu67x1DIzq0AkghRi1Em/9UnJ24AVfSmTw+YU6dcUEEfaX32MUNQ68x3e9UzIxS7n+ltTT/llbH73kaffWQkHbBPWspjVjFFW9usw+5OXuaguu4oNohIMDkD7s2nSqnTTb4ZaIU3OYGRVvcwmGalkQWonLp8ptpWBNsSmdmZqe5+a8wskPVq2vHjWzZC2Adg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bOp2TWhtoPPob1E5rhy13X9kUGO29azvPp9LWLnT+zM=; b=aqIum1CDkhj2aUGzreegrW4ui4xBcAL22haCs5G1x3L/uzB0c0FsaSM+xEeePKf9ISZPxYcu6jnwX7JU/f3Wpz8bzlRNAoGUKyF7iB0foxclCcJrksehCjSYPpucR3/M8Vp9xNZwtdhGGFDUkqW3IYGhOzHKyR289ZAgLR3VRnDP0HsvvXtm/j4Nefx/+ZvIXV8SlowtIZ6L//vx3g/PdfitdH8dzjwYF9uSaXCrVVQ7dqeyIRP6UUSi4bms7Xnv3N7/LJNUrGOhgwgZNbE6/umpOD2L0XoKE+gF0rNMr3um1rHOCt+iWZkHKgv79BZZYI02nxvfKw1x0sfLoKXhlg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bOp2TWhtoPPob1E5rhy13X9kUGO29azvPp9LWLnT+zM=; b=C2Orl6tbN5+lGRCuANoiyXLd6Xk4gz6zLSf2423YeRM8mYdtp0Dnv3eAEx1noH7TJUwUTOvwV/fXKTtXgWAxQued35MoM7Br6jfSX/+EfZXSY4t9k0F/YLlX7XMLS2AbjVzp4FfUh3V8+YJgBMdzttZ6ez+hXIGc7RgihWYQxSENTOmm/d3Ij0uwMTmFHMLIkMZx2xdfeFgy+fO3xLTrRs77ooSuH9ln3Ci3/q0/2SBDPiyBm65WZrkJsd7S3B1fMeUBkmTE97f8hnKlFxlRI7uqfYP/NPoVomDGCi8uzgh2bK2ZSlGf23iyFs45lmn4vKa0VXxSnxH6v3XU18jC5w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBAPR04MB7271.eurprd04.prod.outlook.com (2603:10a6:10:1a6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Fri, 17 Nov 2023 08:57:07 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:57:07 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 08/26] selftests: mptcp: add userspace pm subflow flag Date: Fri, 17 Nov 2023 16:56:01 +0800 Message-Id: <3c11e8bbf026b185f8e26902acc93c73747052fa.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYAPR01CA0209.jpnprd01.prod.outlook.com (2603:1096:404:29::29) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBAPR04MB7271:EE_ X-MS-Office365-Filtering-Correlation-Id: dab0ceab-2434-4b55-9a95-08dbe74b2d3d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OKO7pgKpyPe6Zii9V7L9e0TrX2KJVJsCeFV4J2kteBHZydIFzFa0v7I+phKhJS4eSsqYabjRCDtXU63dti9HGPmYXecZXZSR9y8X7uBuA+Ufo+ljz9dy9fBzXYHVpc9qyCQxi+eQZgwGml5eKijvzgnzV26tWSnf1ERpzUtoMgjv3SkRfoQ8McsoD4IY51wNpCLICNgWosuYQnBVNHkcBeF1dTB5yCWhhwppSNgkaK7YywAHmWMNM2ndZeN+XqEmE84ePwJXldDuq0d1A4Y1IneTTVVmmpGBt4SyDJbGCEJCtgBQrj77nfWkB39XFqXklkR0uYC+NXr0LktSWKDgI9efAjAarCc6zDivsiEdSBpSKf3XvQHzVqVmWxlqJzJakhHeb0M3dI9N1hCt8+2rVX3Jd4Twj/mAxCo89toLQ9JmsYMZLs84Eg+AQSSm7WHfRAfXViJ+2CGFPrdYJ+jx32vXELegN23nnkl1kYstlHqeSgrpoizQVHrUasiIwd7vfLd0KZmHSUsKddRuuH7wgI41MY7dVFJ80qUxfvC3C0X6ZH41A65rrVZLtb9HMg6R X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(86362001)(38100700002)(36756003)(66946007)(66556008)(66476007)(6916009)(316002)(26005)(107886003)(2616005)(6512007)(6486002)(478600001)(6506007)(6666004)(5660300002)(44832011)(2906002)(8676002)(4326008)(8936002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?F/hHzuR+mxLtqpJ+gZteSQjHGwjrxBqSrtUu/lyQO1wbHlj4l/sJjQxgfvlM?= =?us-ascii?Q?R7PmAoxik5WEsueePl6YaTnDp5Rh/Nxzj6WyeHw/PDKWNCeNd4RkeesLKixN?= =?us-ascii?Q?aqNdyaN/IrnSYQDV6n74OH9VlG0JPjbtRWq8981uinKrWMOjSKg/hR38BWyX?= =?us-ascii?Q?7uJZyyL7kRP1VkKg4qiWTeezEmNuQzSe8g4jF72tvHdboloapLic+afrxtot?= =?us-ascii?Q?3pDrsG62I7mIaLspFNOuATAH1N9St5i9tF4m64qvgIxgxswj4ub+gyWvML/0?= =?us-ascii?Q?RD3QGpTAKyofDtosWDQDvGj84zGdmORlktO5ql4FgNYqlQeSimLEUZrZCeAs?= =?us-ascii?Q?mJLpOW0r16QxBF/hmk8OUNaFtpu4CLNW9okxOr8P8VXogrwTZbXpbh9YTBni?= =?us-ascii?Q?FmiPzAvedllf9s9gNRXBc9NgxvN/ADOQdC9+J4iTVUQorSjX/bbhJq+bw3hn?= =?us-ascii?Q?ZEU/yHp99/U116vTX3uyl6732GPRTlgXp9qOkm24jhKfzPPV51ypSP0stPzV?= =?us-ascii?Q?QZshZ2eNhcGf/EPxUcEYgIdJ0w5ZOlHWQIMnaaiypiflit2eMjyx5sJXxVm3?= =?us-ascii?Q?8n0T/vvUoAuF2lgFBSNQ0P2BxVsI2HwnjYrPAlO9oI9elkSsGyQ1YQ8gHraF?= =?us-ascii?Q?E6ukWY9j1jUxzz/WNpW2sNg1y8CxnOHUVVW5CFQVb/vN3SOAEHYjZosLe0Ro?= =?us-ascii?Q?avhxgap+Ot39KEG5w1sETUaFY+xa4w4t3RYU325NEBLs8WkmdpMhylYgOIyI?= =?us-ascii?Q?qg1qePUCIvrCNz6MzdL5/fo/rcix2uIIEyS6+V7m+dLTkccKZ2XwlWrW6k8/?= =?us-ascii?Q?Z4pZWsdAHJObJEyEuWsGLsvIG5EdnvAHFSVTcUrVLlNlwy+wsEkHRTnpcBlB?= =?us-ascii?Q?PgwOIRSt52/SnIyCLpx9NavaReaK3lR3bZqOBu0gi4+arLNdq7852xmlgWC4?= =?us-ascii?Q?AMIN3w/xPTZbsSZPu8T/KhaH1NZoQQHh88WmOk40uUVojYD/OWEqeFiUlgGF?= =?us-ascii?Q?qNkGrOXxoFLbHW1nq+RnCBZ3RcDfV3D7MLNHcgN8k6NGYkTAqMlDzb1FF3S5?= =?us-ascii?Q?ZdFedE+412PAFHHyCdBs6D+nVbRMNc/d9hbiPn6eBkxukLdzhYD5g97zexkU?= =?us-ascii?Q?q1sTjnGe+/L4dn9pwEJqxhtME1Z2PeNsCa4MXPwocSCeiGr9m9L51lRRgIuf?= =?us-ascii?Q?C8m/YWToQAx629KpPiyzsa38xWOZfQkVZ42V0Irt4ZgZzBE6o48TnSsXLA+r?= =?us-ascii?Q?4cztOw233g+sHVC631lsMePq4pFU0gqt9NDO77i1sOpHrfqtbhHNHlj09QSe?= =?us-ascii?Q?BjGI1/5etdLQol5G9j+6mwyHFPJxZYIO2SAWGIIGXFbZcVCh+2N7wPceB0c9?= =?us-ascii?Q?FRcioNa4jCM4hiP09l9+TYQy9SXzmVa3xwg+ddUWsiMBKQ9X/DHJO8pUlNny?= =?us-ascii?Q?Nu9XrTHLigiN+VQWHfRDSBTXDher+eQJfy9eVPE3SVRmvk8JikPdXCz9Q03h?= =?us-ascii?Q?tcm5Jd1Om5WVaNiyvjC6k/mM66IeJQj8cj6oOFjpOCZVhnYGOfr2NTSdElwE?= =?us-ascii?Q?l8bsfpmiOo0DFfw3Qyo0K3OfU4n5JPTzUZ4nmPJLkjaXNgRx0/4ueb4937eY?= =?us-ascii?Q?sg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: dab0ceab-2434-4b55-9a95-08dbe74b2d3d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:57:07.5971 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eUVcUA/HZRs6uv796xrhhQmizXvRZkPc+yo2u4JOhXOYbbVnPvegKOreFCYqOiUEK8y7KEnup4mIpCjkL7ecCA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7271 Content-Type: text/plain; charset="utf-8" This patch adds the address flag MPTCP_PM_ADDR_FLAG_SUBFLOW in csf() in pm_nl_ctl.c when subflow is created by a userspace PM. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c b/tools/testing/= selftests/net/mptcp/pm_nl_ctl.c index 49369c4a5f26..e97856323ec3 100644 --- a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c +++ b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c @@ -453,6 +453,7 @@ int csf(int fd, int pm_family, int argc, char *argv[]) char data[NLMSG_ALIGN(sizeof(struct nlmsghdr)) + NLMSG_ALIGN(sizeof(struct genlmsghdr)) + 1024]; + u_int32_t flags =3D MPTCP_PM_ADDR_FLAG_SUBFLOW; const char *params[5]; struct nlmsghdr *nh; struct rtattr *addr; @@ -558,6 +559,13 @@ int csf(int fd, int pm_family, int argc, char *argv[]) off +=3D NLMSG_ALIGN(rta->rta_len); } =20 + /* addr flags */ + rta =3D (void *)(data + off); + rta->rta_type =3D MPTCP_PM_ADDR_ATTR_FLAGS; + rta->rta_len =3D RTA_LENGTH(4); + memcpy(RTA_DATA(rta), &flags, 4); + off +=3D NLMSG_ALIGN(rta->rta_len); + addr->rta_len =3D off - addr_start; } =20 --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2079.outbound.protection.outlook.com [40.107.14.79]) (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 E5519B663 for ; Fri, 17 Nov 2023 08:57:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="29lhoZeZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C97h0jNcQoDbgQzwwXji7/u06+NeKo/v7VnIZOqij+Scf77l7aZfriO5/IAcxC1iQ+k1anqcGJIg6PZFFWxltv53QhPIgxEMlWX2EH5reAxxLnVRb4qvktYi8son8/l85E5LLMF3+Q+tkzpG6OrLScSm/5yjZ1LqJTXmoTDOtekwJL2SXyCaboB8a/vcNrzARQLeiD2iTb3robr6OZBgnG72a+T57076rjtoPeJ8keGO+x3mHTPdkirJFyDHVMp0uitC2gMzv9N8HIlWuDBPDgMwLWTNjApmEIiqNtDLZyp1lNJSHahgoFUNOwXRFcFm9GBcfPTHVPbZWhYX4PZyLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/x6RUQi92ZQ0TFpEo2URyNwdp5s4hXRrx4TxRlASQ3M=; b=OtOmME98Vnfz9AxFeWsURt5Urd/pozfQN5a7Cnl79g20VzzZX9ErcEp5N7v62w+l6Q/DE884BBtPEvkfcfK/u3w9XBOi/hD3+Gw2WEIM/hjyZQaO/KEtVt0VeMswfYUGFcy3Sxx+m9Gf0p3OAO3hzFX0NVZYKgkVkLCQu+RDT33SP9cE81RTR1Jc8cIf/G79AAlr8wn0pwGFa+WxLe1IoIneLcXPReSHb24svNs+F7E72VJMwu0NT8hq+YEizyr3GkAuVw1QnGigJAlXN8I1DgZu7MLElPSFLcehC6cd7LmclXerJnYQq0++kLR601nPP1q+KAWZMIb0OWy/7sOZWQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/x6RUQi92ZQ0TFpEo2URyNwdp5s4hXRrx4TxRlASQ3M=; b=29lhoZeZ3CIpMIS4vmOaIla15sLcE7h8CCK5MvDJmx0mGCWzhU1xuYpshXLTcu1ooVETtqD0lQTJVkz1zdbHADaLd4JPn/Pn/VRW9Wf4bDy1wqLQMyGW5ig2e0ey9dwd+aHlzwOK7r78wDi55maNPBAukbB3XgVKfAjnpTRpeC6T0H1tGdv8y8tNS0CeQhgJlhZnvYIuTwh4KJ9qm1734z+LakaeXPWoq+KbqaLiM/b7s4HA0n0eY8XY3uzOY5KKCkdfPYpApYzeImUDZY7al/sDmFJ8lfDjUzWmcVHAywLuGLtBRFtJIDPb0PW4RZ/xWhT7CQbt/vn3WJt8aVrx4Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:57:15 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:57:15 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 09/26] selftests: mptcp: add mptcp_lib_cleanup Date: Fri, 17 Nov 2023 16:56:02 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYAPR01CA0196.jpnprd01.prod.outlook.com (2603:1096:404:29::16) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: a58e74b3-436c-44db-af8b-08dbe74b31e5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KwVHBmCdOhjJAuwQo8BYYa/Iz+iuLfvXP7Xndre0OsKdgW3AdGhobF2HNZ3ag4S/sgYCOsHb79pqLjqb19azlTUHqQvjEm7/ieHGqz5STCPTMLJ1YkUm95Ov82uOg5alW77f1GcLE2DoFY7kek54kzXJuN581kPb/fYjiZ6ftXtiPFzKVgRGy5zk9zY9T5xpwkuiXOEKcwbDalh0oPP2f6rveWq5dARoT6zIKSntZifDEoyGs/oxJBb8ozRPZrEb8N9aUoOyKfodmWl/fkkkRuslF8x+dZjZNTH6tl9Oyw7jXi53EeUAPYqJlCrCfz+bLk4AhY2Ia24ev1AHQHuPxenph2+pAZtjv31HyYcbGwzUGsJdN7pcgSGUWFuwp/tB0Rv519as974WOH3cRrnJTlYMjgZRVKSqAjlJa/pZnjn5w+1TBLZzosZBQCbgy+NWocAE+VYz18fCzFQSdoscTv1IjaSIb0BtiYNeDBovfMmWi+Isl1Ieyol/E4o2CF0+aClMfakTXtUKHdu0DLbG5YkH2MepzH8nqknFzNQgIFUBbRd0M02O6rm8uJApbtmo X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lIiDkvpgsxP60WAJKXCCOWar7uzQZH7dRl+TItQob+bBL9arIHArqKgYgIws?= =?us-ascii?Q?iPW/BCXG46jeu4FxDp0pYdfDD7JwgyeGtybLOQLNJGGZUMBCckoOYKpbEqBx?= =?us-ascii?Q?yyd3qypMzRcfdzsBvR+Yv64dMyxmh/M7DnfrHc+YD6eoIdESIpENdMPu0nGf?= =?us-ascii?Q?X560ztgEYtdAAWUtMiugvhWIILaYoJZuuxRn7/K0jH4wkJnhyzVrkzge7P9B?= =?us-ascii?Q?XBxRgPA32qejDuKIgzc3LTkbGznunonYwPw3/09XPNvTRejI2QnU41+fUrAh?= =?us-ascii?Q?sDqfbOO2k5jcF/VhEKQekXOJtEM2F2JAuQmGSZc7xb8klKePz/ps+Nd8SYhS?= =?us-ascii?Q?ZVgJo4mtmXrDwcb26QdT9P1dHQvBUeZUi7k722hhCBbNtmfITf2QrjJ8WeKV?= =?us-ascii?Q?FvphLn2hRIPcHnCL2vjtc15WmGtctkhfbpgo4XgU5fnwEjx4bPF7xH4pHMCo?= =?us-ascii?Q?CHcwQJ7Yl0cC6cY5VHUYiKcB1L6Mqock/YRIC+1LnH6pbVARY6agvDSoCOJ1?= =?us-ascii?Q?prr7PN6LpoQzayS9mmB6ugZxd/fi3HhDqhLGIPtMJ2aTg8d/1DMeMjAqe9ER?= =?us-ascii?Q?NAaBn0TYeVcSX/o0N9MKYAMt8ifuiIm/0mfF4U9NQiET/M0kFccc+g2WWz35?= =?us-ascii?Q?cdmhpOhubiGFogt0T7eojBhm9uXz5i+Z+A73JU0X0QPfzCOVglRcoxwJmERV?= =?us-ascii?Q?mRJTR/CQS7adGeS9Ycrmh/loaj7KuYD7sBCBdaJzSgK7PBOYNtYaj8dfQvPN?= =?us-ascii?Q?I8NFeHKS9t8DADwwbC0964UHtXZ3pFFU8ePZ95rdAdTXrfh7xmhc3V4khogY?= =?us-ascii?Q?W103DE0NXL0Whdj7yWh2iPrpPfnuthQaJGwghp2JU+koYMB4EAPAukLdvdlF?= =?us-ascii?Q?+wG7IPOrrx7Uw2F24GlIlwpSG05EtRCJhl1gsbcmd0Z9HCizBePDy8XrZpSK?= =?us-ascii?Q?+UZOZtYfF2rpsvCaU7yx3NNnwW11zqhnBL0XG9KARXqP4ksmiSiJXTDeTj/T?= =?us-ascii?Q?h6Pob7FyVrtovT7kjYtf7ZG0g8y5CfRR9F8vlBJs2Zl1c5N2kxeFaWjBh2wF?= =?us-ascii?Q?UpGDDjHs2pFNi6gDVUakgrQUN8QA429hJrYFdpNWna4PAlidWvSaqNGDXuap?= =?us-ascii?Q?UMrQPzDJ5B3goqtCnqnM37mEioqbXPmaAhljK+S8ZeqadVRsD2j/KnCYbv5n?= =?us-ascii?Q?LfvWZMpbpnTHwUHbH7H/XfXmySyeMADVHKd5AhyZoRdJA8FnAF6LRSaizDGn?= =?us-ascii?Q?UZUGN+G3Q9MKPP75NXosI3G7UQOWZ76rQW+MkP8k14jm31dHQz7tZ2My+vRi?= =?us-ascii?Q?LrdQa5/6zTfe45Yh8boZ/n1PjllFb1FzD9brVk8i6aha5Aj7l9L9MNsXB2qi?= =?us-ascii?Q?84TWogi1XE12hwLVvtzMUti776sqwq0VybPdWQGry9XLl8Xa4HukXVkMvLDo?= =?us-ascii?Q?/dq6dV3sYKVq1+9WhjpBhniklJNPDK0slI2WkwfQPTC/JEtScgpWXYZNVBFJ?= =?us-ascii?Q?6DBs48lAgUYnEBbu8PQdk1wDbBd4hh8hbXp6+JCLE2LB5vsykInA9Kp+j0p0?= =?us-ascii?Q?RzZtmLsg7saMSn/AKk5xYaut9Sv/lGUG/zRs7PQO6oznlTJCP6vqfvx+f0tb?= =?us-ascii?Q?Ww=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a58e74b3-436c-44db-af8b-08dbe74b31e5 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:57:15.5598 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fKiT/7goPwwVdi1JWfXGwPYKUoq99NUizzXk4U3VLPz/Xh17u0TJ5Ok6pBVP0tuMTz9cEO8lqKUBcarfnZXloQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" This patch adds a new helper mptcp_lib_cleanup() in mptcp_lib.sh, it's a public cleanup interface, being invoked in every cleanup() in all scripts. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 1 + tools/testing/selftests/net/mptcp/mptcp_connect.sh | 1 + tools/testing/selftests/net/mptcp/mptcp_join.sh | 1 + tools/testing/selftests/net/mptcp/mptcp_lib.sh | 5 +++++ tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 1 + tools/testing/selftests/net/mptcp/pm_netlink.sh | 1 + tools/testing/selftests/net/mptcp/simult_flows.sh | 1 + tools/testing/selftests/net/mptcp/userspace_pm.sh | 1 + 8 files changed, 12 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 95b498efacd1..a678ee21973b 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -31,6 +31,7 @@ cleanup() ip netns pids "${ns}" | xargs --no-run-if-empty kill -SIGKILL &>/dev/null =20 ip netns del $ns + mptcp_lib_cleanup } =20 mptcp_lib_check_mptcp diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 7898d62fce0b..98f4e82789ba 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -143,6 +143,7 @@ cleanup() ip netns del $netns rm -f /tmp/$netns.{nstat,out} done + mptcp_lib_cleanup } =20 mptcp_lib_check_mptcp diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 6fbc70332caa..7eb62553569e 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -198,6 +198,7 @@ cleanup() rm -f "$tmpfile" rm -rf $evts_ns1 $evts_ns2 cleanup_partial + mptcp_lib_cleanup } =20 print_title() diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 1f8be9dd0e20..cbaa55ab89b1 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -299,3 +299,8 @@ mptcp_lib_wait_local_port_listen() { sleep 0.1 done } + +mptcp_lib_cleanup() +{ + echo "cleanup" +} diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index c643872ddf47..75d8c648f9de 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -85,6 +85,7 @@ cleanup() done rm -f "$cin" "$cout" rm -f "$sin" "$sout" + mptcp_lib_cleanup } =20 mptcp_lib_check_mptcp diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 8f4ff123a7eb..fd413b4c8123 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -34,6 +34,7 @@ cleanup() { rm -f $err ip netns del $ns1 + mptcp_lib_cleanup } =20 mptcp_lib_check_mptcp diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index ae8ad5d6fb9d..436500c55e12 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -34,6 +34,7 @@ cleanup() for netns in "$ns1" "$ns2" "$ns3";do ip netns del $netns done + mptcp_lib_cleanup } =20 mptcp_lib_check_mptcp diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 6167837f48e1..005251b61d7a 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -129,6 +129,7 @@ cleanup() =20 rm -rf $file $client_evts $server_evts =20 + mptcp_lib_cleanup _printf "Done\n" } =20 --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2053.outbound.protection.outlook.com [40.107.14.53]) (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 F3DA3D296 for ; Fri, 17 Nov 2023 08:57:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="s10CzpWf" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C2lmnNKjTCfnDUOoE1ZUvJRxMciFc0vhx/j3IH7GGJxxI56/xdPhp7lTFbNFhaYTN0Jmiwk6iTancPpHfpVKhpUIXovQLUj2kiscUvKG1EBD8/eEX3bOfk83o+eO7szWbM7K3CQQNNgATH0Wj0mKmfvipUoUZxavQdRShsgcmDuQvfidyUv0AaQX9W1nkcfBeCWlzhPZQKXss0oEKo5zusInhu+GXXlV74PRMyWsLM4334+IN+t1H2CIr+AJfz93S0KWqNlsmcR83QG/oRJp7oZHjxf9AwF4vd16wGG9qvXIlCrtaG9VQrX+K/W9FsuVSB83jkh+OgP+hU3w3kU6Dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZOedQMCJLoY0vY50UsLWLwEw9Hhz9n2QNv2Fy1tl0WM=; b=JD/eNdjnZSejOxQOm5XHi61Y9EIBQO+fdvQaR/qv10rvnj0K+GRU1eXTHOTQ+ga26KCRXXF4j6+HdmBjR4EIzVZy/ZTo3FBdszXDPo7f0c6MkSHrQmnSE5lkZXBV3R5JfWcTMVpa1tkpG90SzCPOxnwzbaY/JjeOn8tS8br9N2QA+IWmyFPvmhAlq9IRhXJB+8yEMqmyLkKsJ/LUcXgNt7PrIOzroZMDwdH4etoifhqkmucufFVud+vKiCtFkRrwV2wyP5wf9T1AU/7OAzuxUcksdGjuQewm94dnQrM+aUsLKAXp/4zyhnSMyvK1sf+UChdrEgnbgahPpXqsiah5tQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZOedQMCJLoY0vY50UsLWLwEw9Hhz9n2QNv2Fy1tl0WM=; b=s10CzpWfBhKQ3T+L83w1Dj1SRXNz95I8sfEzQfs8YPdY6LvFJoC7AGUjdAFawjbznzCrAJXcd0XwGgpEcPgdUCqoqai+72ml9mWTUNEYXq5/pNndLackfUnRcA5fO60eqRqs5fE6jb87pbrIjfLYeK7CVcggLBMf9yjdfFEIfdCWQp73V58NV9yBUCylbwxuAXZlEEs1u2UFRBlgVa3M4jZIMHsvU954bkjKQ9+QBLpHDTxCs2oVV4ftFebMYJVNReEyUhWngEn4Yh06vvxWppBj7yJS+1PvGWRaqEdNbax4KLD4bgwWLNLzCo8CylmMO7V/SMmbNCTyjhFxabqh4A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:57:22 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:57:22 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 10/26] selftests: mptcp: add mptcp_lib_check helper Date: Fri, 17 Nov 2023 16:56:03 +0800 Message-Id: <40a8a4a5ffeb99d98c75a3c1c1b609c01ecd68c8.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0019.apcprd02.prod.outlook.com (2603:1096:4:195::13) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: 1fbd872a-f9d8-462c-56fb-08dbe74b35dd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5vX7thKcRwOoiuceBUXEEaaRC9OR04PGoA0ak280e1ovSfEumplG+TpdXL/vJbAhdRSsmCN8mbmd9obcjzP6F17VG7FW0VL3yO2XQKLMfsMNJyL+cixEmX+ukBQWVxZkHMc2LNfn/z7c30ltumWJLGUCDJyCazqHw5j4MNeZ3HVgz8iDoE3q2sy8Bs/yQno11oAc1bO2deZGrXizTqnfh+0e/ovwUowaTmtgJ3LA2Yc0AP90pvGpjFjah3bT4Zw+f9AcwxV+/bYt99QMNX3zr/lvXDK4zEu6tw5qqUNxo11IorXqwkb+1Jy/n4ZNnwlyT+biJHAV6Cosaygp320EFm2xxC4yZccnGH4ZA8x3J5teHwNWSWWpq69tGRmCdoBvqgqE4d86FNJaOhAu+g85FHMXLClN7IdbHo/HccO504dsVOogEvWrdQ6o8XQmtVK1yU+rGhFHgfMHXOE60t2W09C7RpW1BiaibHNTEu81yGLcAlkV/5fe4iIEwtrXQyFwK1uaRb9Eht10YDJ+v+qBHo/NtQjxyPnn0FGYgM0EHI7dlEiDOMRaBlXyQlznXcwH X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2lFe+136+Z2Y5/ndCh4wSay0Kufgbc515JSwlJ3CT+V0RPuqglqBFPL9Cgid?= =?us-ascii?Q?Ab9hCUhpsMem5UISP2zMcvOIvbzoztsoNgHpTIb1oRSyMeBIk79Bx95CIfqs?= =?us-ascii?Q?AVHW4OlY3lAuMmlJLpxgPyAlblBYzuyv09rlYTxYAC5qhyXGszVAkOjqAal+?= =?us-ascii?Q?KhAbFDuzJGWxZWksDtVIXT9A7fPXmTgmvRULBPu5y2aNphjgpoGywRn3KOIB?= =?us-ascii?Q?y8ZDziPiFu+o2s9KJd+VhQaUsjI9yM8YtxqPwZw68CMzo4Kxb/iyAMxwUAGq?= =?us-ascii?Q?H59tpEp3Xzv4ldpURSw0B0kI6Qqs41eZeM/QRVHc8AsaIxvZYJsYQrzLbIxO?= =?us-ascii?Q?AVB2LIKLY4CUx6vGtt/LfVxtIIEFl0b3kb3OISjfly2+CyUv5GL2UMMFpKeX?= =?us-ascii?Q?AoscDkX4d1f8l2AUpYq1s6bE/HT5K7Fk3dLP5YZg5s1xCYkk6y2Nbwakw517?= =?us-ascii?Q?scS2+gi3XjE/BQowjEQKv2mg3NDLC8e45dROA16lGSr6fobRjym6Njhh1AzC?= =?us-ascii?Q?1mgVxf7C/EE0PuKMGu+8EfdAnNp7smAI7aqHSgecoowy6XWeQ5MFrPmgyG5m?= =?us-ascii?Q?MeIhRn0IV4k0ohFPVik66dxQKOc5mDJQ2XDV14U+B1KXR7xl/eGmvE9rzsAL?= =?us-ascii?Q?IqWx2u8Km4fHxPYqpV7T+fKWzrlQBmgAL2CExECdYZPRQ6GvBdYjuRDVGEUm?= =?us-ascii?Q?BI7ShsLN5o5smOLdLD1MTN9I5ZG571/5RyT2LYc+DgbvdlY+CmCZdpmB8l1Q?= =?us-ascii?Q?0Z/Vu6hLZB1TgOYnCKsAHz//sprBmkUB1BNxnre/KPktTdfAbaKkOsDvC93/?= =?us-ascii?Q?MY7UcCUnwku4iTyAU1TSJXCSJNnrI+U7iSjBxURsGVOMy1Hk0i2f8p+mR21d?= =?us-ascii?Q?B8p0lhInWs1U69dVeosGhk1FGs6gYrIXPXN4Zu0kh2dMVnJKPTyoV48FN4UF?= =?us-ascii?Q?AnXnJqOQalHwmiHKudtdPegZdEgufY275cuMRSt6r8/tzU8S/PcFnEGAlFO6?= =?us-ascii?Q?W3T77whb9oPpf0H7chdSu+JnAACPZAXcEhqCJiSDTsyfTvSg9FIFuD62+Hmh?= =?us-ascii?Q?Igh2q89Tgu+TvXaxulFZK1ahqVHppZAA6aKqwWtTt17DIIhBwymC6EnbUZ0e?= =?us-ascii?Q?ZS5CE1luUw40ZcwkaIDySIWqK7FFOGqZjBzkhFAcVnFEYkp07KwdevDq4c0p?= =?us-ascii?Q?0eH9DJx2wAfl0QRtWgNcVINo7ebmjUzMr3LqzaisAqUzw/OfQ/6lcp6bIxcJ?= =?us-ascii?Q?8JZJZVQ1mQntDNjj5Jwg4TwjrI+2u9TTCPmtR7X/v5RyEFTipNylct/vCZuw?= =?us-ascii?Q?vFu6Nak8NOFuKT1uC+eVR/2TKICkVB4lsycn/lUW99TPX9ufTg4Xdgtm3Ovw?= =?us-ascii?Q?k/6OHEgWfDWsCyNs7rk9fS3QEH8K6tJvdu/FEjAnO3K3uKcmrOMmCnQtMVLs?= =?us-ascii?Q?2vcUbB1F2SRMJUkZ65P5OWm40EncuFC2ljrbYo9kYJ3HsMTgZg3GftNCZ39k?= =?us-ascii?Q?Wnv3Pr2t+xUdnYSPXoMTsrcjZofRqXrHJI+/HRPh34c4+x3NTlQDb536peIq?= =?us-ascii?Q?HFyoxmdN9BM834gstFU8baz0ZVVGVaHQSk56615O0ndNOZeo0bm6TkqEWX4K?= =?us-ascii?Q?aw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fbd872a-f9d8-462c-56fb-08dbe74b35dd X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:57:22.1537 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dWhYofXK5U2OsWVXtr1z4+Z3WjvGkG7lFVQYcP76lSomxTN80ZRue8rHA64R9kqUxa/wnXmfbLDi//F9QtqR4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" Extract the main part of check() in pm_netlink.sh to a new function mptcp_lib_check() in mptcp_lib.sh. And use mptcp_lib_print_ok() and _err() in it to print test results with colors. This helper will be used in mptcp_john.sh later. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_lib.sh | 27 +++++++++++++++++ .../testing/selftests/net/mptcp/pm_netlink.sh | 29 +++++-------------- 2 files changed, 35 insertions(+), 21 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index cbaa55ab89b1..466fde97d3f4 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -300,7 +300,34 @@ mptcp_lib_wait_local_port_listen() { done } =20 +mptcp_lib_err=3D$(mktemp) + +mptcp_lib_check() +{ + local cmd=3D"$1" + local expected=3D"$2" + local msg=3D"$3" + local out=3D`$cmd 2>$mptcp_lib_err` + local cmd_ret=3D$? + + printf "%-42s" "$msg" + if [ $cmd_ret -ne 0 ]; then + mptcp_lib_print_err "[FAIL] command execution '$cmd' stderr " + cat $mptcp_lib_err + ret=3D1 + return $cmd_ret + elif [ "$out" =3D "$expected" ]; then + mptcp_lib_print_ok "[ OK ]" + return 0 + else + mptcp_lib_print_err "[FAIL] expected '$expected' got '$out'" + ret=3D1 + return 1 + fi +} + mptcp_lib_cleanup() { echo "cleanup" + rm -f $mptcp_lib_err } diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index fd413b4c8123..8d30d4a1db57 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -27,12 +27,10 @@ done sec=3D$(date +%s) rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) ns1=3D"ns1-$rndh" -err=3D$(mktemp) ret=3D0 =20 cleanup() { - rm -f $err ip netns del $ns1 mptcp_lib_cleanup } @@ -53,26 +51,15 @@ ip netns exec $ns1 sysctl -q net.mptcp.enabled=3D1 =20 check() { - local cmd=3D"$1" - local expected=3D"$2" - local msg=3D"$3" - local out=3D`$cmd 2>$err` - local cmd_ret=3D$? - - printf "%-50s" "$msg" - if [ $cmd_ret -ne 0 ]; then - echo "[FAIL] command execution '$cmd' stderr " - cat $err - mptcp_lib_result_fail "${msg} # error ${cmd_ret}" - ret=3D1 - elif [ "$out" =3D "$expected" ]; then - echo "[ OK ]" - mptcp_lib_result_pass "${msg}" + # ${*} doesn't work here since there're spaces in some arguments. + mptcp_lib_check "${1}" "${2}" "${3}" + local rc=3D$? + if [ ${rc} -eq 0 ]; then + mptcp_lib_result_pass "${3}" + elif [ ${rc} -eq 1 ]; then + mptcp_lib_result_fail "${3} # different output" else - echo -n "[FAIL] " - echo "expected '$expected' got '$out'" - mptcp_lib_result_fail "${msg} # different output" - ret=3D1 + mptcp_lib_result_fail "${3} # error ${rc}" fi } =20 --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2054.outbound.protection.outlook.com [40.107.14.54]) (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 B716DD305 for ; Fri, 17 Nov 2023 08:57:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="KSaocOnM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jl53njwqpsAw8IVl05qG5V+urnuR3DbgDE9mlchy5hHMfj0TSJ41616+p1aKol/++nKEKSeasrva4fIt8v8UUEy4HMVHveIpGvNykc7D7pgeVPwgm9bWD+jPDAk3tihq+FxOqslhv9slF4OgO+d34BCdF1wO8aL4V9n0NdfKu00R+2DHLRuXF11LeAEy20KexI+y4+Bff8nM+Bzlb9tlZygDlmcH+4MDPxZuYvN4PPf6bknur/5/6OgA8IMcilzm/tZsfHU98Cn6qafnuIAlE+o2S/IKrYrwJbIUvPGB3t4x23U9W4cV28x9yWYIQmrL12ICRkyP7QnxRrh2gqNFvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6GR3nsjtwdeaMr0JU3lyXNzHgJ/EI8+BTyuOmAWKbgo=; b=fV6JhbSWJnItScA3IBZWGKUKlj6Ru7kosCgHPegQY1gmtWYwmGCP0HoCh1OxRjF3J+ZyM15jxuh8WaYdpEIdIAmawPXJHDi7FXssmt4T9qTiLQLpAQ3eZT1pHa9qs6OXCWf0vBrQPRVZDHbrwTR37DeF6S/gHEcbYwb1G/HLakM5p1TFCo4yOxvAMimMYdoxSzSs7gVjC/bTijGTxp5eTXhwcbrt95/M4TkoNnyIBhGwk2ZrHvV3U6/zFVUG5o8pGh4l/KQ6GLWOdsMQ8CAR3P72E5KhVnb+e4tqTWdPIlJU5jWnvzddB1PDXE5RUOl0JwhZynF5ZTm7pXODe5CKqg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6GR3nsjtwdeaMr0JU3lyXNzHgJ/EI8+BTyuOmAWKbgo=; b=KSaocOnMeXhizjj1AmTcSXzZ/a9M2y2W6I3eXoJyJqEQHYkdUa8ci0tvFzhVpMi+rnMXmcm+MbzB1H4s6jERZT3J9fNMRPOyMM+3zXb9gK3KxNcIxpWrwLZ+oyfeQpJsVvPUQ9GJfCiZmEJlpE9RW8KhBLD4mlYT3oTuWeuWQ2N/9eRfsuKaBXpdMGrIZR6XHuxEqRm0AGzHjqHve2yMa6OkQznsP/rlVe3DZH3kdbv/200B9BTRCuEr7qGaExLlF7QOTatwrcW8aYxHi6ZqUbfdIKny5cK+oyTOIkS+Ohc2ieI4WPP8xE880aBe5eRJ2DCq1Ae4+g8wUTT4nUgnJg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:57:29 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:57:29 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 11/26] selftests: mptcp: dump userspace addrs list Date: Fri, 17 Nov 2023 16:56:04 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0029.apcprd02.prod.outlook.com (2603:1096:4:195::6) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: d8f7d07f-dc41-46da-f862-08dbe74b3a50 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TJ8/JS5ddgRFEJB9POW5tggbGc3tUKvqhG3OsBLxhTYJbyT33300tXX1cFY89XKmWO+v/fBOzNYcwtaSTWO5E5GT6T8WYNUA4BTTluanmWkn1+zanrppPlgsF9n5AHGSmbjEUknMop/mWyOXHd1BMZZsYaIsW8J2UNin2tBmleogjD8cXevf1mW1DTNXokp4F3ppH2iYvMi2HrOK5LcRe5Uhc4psCc33BwNizh5Bw8BbHiHJuFcNN4JOwoZmHhlrVrPKzQVU+zN/hn5ZSBszzY0fEhe79jgICrAgMdAIxtWQ2be9SPfHSihKVkxhux42jF86kmqfaHla77has+uBD4KtEz0F0wkJcm7rgLwliQslDh1fyH9bhPNaxlFxL4UbaKaKiHUypwgHaft+x9qoXLIOQyvoI0BGAOVi1EMPWIA5kZ6jaMeb2BZOViLgsfNUc1P/+vpootvGJXYpKFce0vr2TAOdFCawDKti76dKztxgic2UIBgh7qQwupOQWen9Xee1ULm7itwwJ9LPmcbJhxonAyLn5fUw/3lWGtDZg1dPGK1HeINyOsF74u/MV4jR X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DERjXrsnDG39E0t5FI0X6Kob/SO0ot+pHHexGjPt1YgkIAomO38Q0Mv98een?= =?us-ascii?Q?c+AhT5RsYq0rfRMn7MUGn4LUoevpu1kA9k5a+cxIMBXp7tfu8Bft3P7a9jfq?= =?us-ascii?Q?lXasu4Upsza8xqEok/kMqfhNO04fFAD4eBtZDLD2PcZgHg/UgysaLhyNPAMt?= =?us-ascii?Q?9GdGSonImUp4YpYYIedtOOeuA+LdL1v7wqfH7XNO/Ib/bvUUSkPwmmzN0sXP?= =?us-ascii?Q?qriSaHktRtDKiMtEtm93oJXL3Lijpa5A8WGgbDvXOT8NvB4aRhC6Zluqovhn?= =?us-ascii?Q?cRcj9jYmaHL9EkSSaNSy3aLwk5uI0/j1vvQsvOd03PFw/6x0FL2CpTGhsS6O?= =?us-ascii?Q?3B03OU1Ey8XEBU5nd4glqn8OKoRbYmvqnV3whbjZkPNxnir2CR+d9DbRw9lI?= =?us-ascii?Q?pWViz4G12X3Ab09AVMzV0fnnDBqDc2D8CDtRIJxLUcwRFjPAS0sOIBGEHtfD?= =?us-ascii?Q?Dpu3Rt1keTosFjvRwAAA5u08mztnpOCaNKuCbJB5xJz9lLzYnblzQkEFiwHd?= =?us-ascii?Q?nq1UCAwR+rsmUG6AEVEasogpCAFBO6U7utaXJJu2NPaSvOynrFpYkdlzFUTB?= =?us-ascii?Q?gnFDGHLTOLPPyDfNE1KVgsIXjXgoJ8YzCJGvBl6d19dgWbHdMAREtBO2jvmp?= =?us-ascii?Q?5Oq5ii6NiOCH3dH/TNPA2adgVcBSfw2E0clqq4XnvGUFB0LEKGqqYrB8pJtL?= =?us-ascii?Q?dj2RnURwm04HIPHuxnAfUPzX13JCRtKlUdCqKgKvqc0HcSGahLzv7XO1UnOA?= =?us-ascii?Q?rxqqZJOXhNaan4i3myW50ZfGjIBhEDl/FdZPBjDSDZGKwaWln+L+3dgfXUeG?= =?us-ascii?Q?9RGioSzMLrko1MCHjGNcj4N65VQIpFgke7yX7zXGoO6oUIoZRj0kKLeeyJQP?= =?us-ascii?Q?dOQH9OypeIo/9uoLmZctlcOo710ga+yw97N3t7QPljMMJD5epnIkTBG8kONN?= =?us-ascii?Q?2rkluhTKS9/meY0tbJhKk4H53QFJpVnCPAahXyTKQNJx+7W7RkIaslYYLRXd?= =?us-ascii?Q?LxrqrtTdn7X/T/+jJO6qSfw1jrvz9lV083opSfYfnfN47jFLU/xo0bxVtWyT?= =?us-ascii?Q?YJf6t3EaV45le4TtGSqavT+vO5Xoq71HghT2OP/RjhnVYacpdgr24QHJjn4H?= =?us-ascii?Q?ZE7wxka3dKAudB1+ocvdPtVt5kN8mW6vMg/IYpI3xR7kI9ImfyenjCnbFpkC?= =?us-ascii?Q?Zg2aUTABqtMzvkShAtgw2vJWyoAn8J5hoMkUTZVPMU/JiUHeqnQvti8QJhcz?= =?us-ascii?Q?L8pkz5c5we7f3DhslUUUyu+50+8LKVyEC2MZcsAzbgMIq17mhYDWEa9apQxZ?= =?us-ascii?Q?5QDI8cJ6FvgK1UBdgn+ltqh9cOON5pZwce40GMas9k/+4bb+7pDkmcW9Ylto?= =?us-ascii?Q?wB07cYvks2HI7+npCt0WKgmN4iaXkqMNeGMLBFBv20nodgUyDdukpTEbm9yK?= =?us-ascii?Q?vQl3yB+d/g0WmQpddNHz/hG286AIymxDYiRM2Yuej0h3iwgdyhwrwvH/UPo7?= =?us-ascii?Q?5K7ZX+WJUPj2KIsefi1dLVi53oZywhf3oweC/ei6XUU9LoE8BwyO8GuALmut?= =?us-ascii?Q?MgfcHm3RMHPHQ4vc2bebPo7ujjtDRrevCMq0xUpqDvNGazQjFfZ2xTO2wSIP?= =?us-ascii?Q?oA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d8f7d07f-dc41-46da-f862-08dbe74b3a50 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:57:29.2683 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wmWjGvQDOQD9YATdvGeHhzJ2eLvvtxkHy64sh1guQ/hKr3P4ZFJxS/bfamR3/o3me7KjTVD8zOhUYCVs3cNA8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" This patch tests newly added dump command for the userspace PM. Add two new tests for userspace pm dump address and subflow. Use the helpers userspace_pm_add_addr() and userspace_pm_add_sf() to add an address and a suflow, and use mptcp_lib_check() helper to check the outputs of dump commands. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 7eb62553569e..b346631d94d5 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3510,6 +3510,49 @@ userspace_tests() kill_events_pids wait $tests_pid fi + + # userspace pm dump address + if reset_with_events "userspace pm dump address" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then + set_userspace_pm $ns1 + pm_nl_set_limits $ns2 1 1 + speed=3D5 \ + run_tests $ns1 $ns2 10.0.1.1 & + local tests_pid=3D$! + wait_mpj $ns1 + userspace_pm_add_addr $ns1 10.0.2.1 10 + chk_join_nr 1 1 1 + chk_add_nr 1 1 + chk_mptcp_info subflows 1 subflows 1 + chk_subflows_total 2 2 + chk_mptcp_info add_addr_signal 1 add_addr_accepted 1 + mptcp_lib_check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + "id 10 flags signal 10.0.2.1" " dump addrs" + kill_events_pids + wait $tests_pid + fi + + # userspace pm dump subflow + if reset_with_events "userspace pm dump subflow" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then + set_userspace_pm $ns2 + pm_nl_set_limits $ns1 0 1 + speed=3D5 \ + run_tests $ns1 $ns2 10.0.1.1 & + local tests_pid=3D$! + wait_mpj $ns2 + chk_mptcp_info subflows 0 subflows 0 + chk_subflows_total 1 1 + userspace_pm_add_sf $ns2 10.0.3.2 20 + chk_join_nr 1 1 1 + chk_mptcp_info subflows 1 subflows 1 + chk_subflows_total 2 2 + mptcp_lib_check "ip netns exec $ns2 ./pm_nl_ctl dump" \ + "id 20 flags subflow 10.0.3.2" \ + " dump addrs" + kill_events_pids + wait $tests_pid + fi } =20 endpoint_tests() --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2054.outbound.protection.outlook.com [40.107.14.54]) (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 3BB9BD28E for ; Fri, 17 Nov 2023 08:57:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="gD4ApYck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NmwEBeiS/CDDEWKcU6UM7z220KZ3wolGLeHX+//HyVxK5wFXQu8ozAWZn6IcsVWXqYWw21YqStTFhM2Gtpf3ggP9r9D2w0/TlJJj8sk31utz98+T/jCn93oJ3BJMoymhhapyj4wwPwq+kv0KNIEv0nTyBRaMrLCfGF9xerN/r/DEOYnhPhY6al5AYkhMRlaSwxQVDtdikp4rvXIHp+sHOUeSXxURRRvOsyjSi1fJ7dsGdYXp/YZ0FIBBvtHyre9rUp95EJTuDTCnOlhbHgS8QNeRMitudgsb7b7xAJPEyB1LpmOY8LEOIaNeNVQSXk2jX67aoVne/2NM7CvR90WKZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=e8cF9N0Tt7Wm0hCVdx2El5/WoarZD0AglWoxn39IpyU=; b=CxGGekCFZVD1wb6MVx+oavzI3+3H0TAAU3PwI9IWIE859Yos8uQHe6K+02EfPDM7i5nsr+oqBMXNXRIA8tdfHIuZm1kQ0KF8C6k/W6ouWfjcNQMCCu9Sn4ganSrh9V0Qe2r+97JMkAtVBvS3fBSeW+LqbA+P5m/zC8EzTDJSAzqjsVQyhkpJrF3Mr2LNk4za3ktgd1YMOMDDiAv0L3fF2MpWC7+k6KNp94EDzSKDMg6ZJIqh+gTcseBCMxVxs6N62f3vBm487wnGh1XRm2Va5GrNoG7EAuK6cSCBLw+Kzk/dbWCBWkYbaHeBlX5xvzZKSklj5nsElm6E7ZlLowPl3Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e8cF9N0Tt7Wm0hCVdx2El5/WoarZD0AglWoxn39IpyU=; b=gD4ApYck3rWibuN7qUsD/ecRiTnfQhI9LTFSxe+KbYxwCSj47UlicP5BNAOqd7WPzX3dpDigu9W8qo3R8Rzvo+dOJvDWK2W2ww5TrvDnpBvlpNdAkPA8Ph1XIRcHL/vnO9hY4Sf2li2RVJdsDF89iyHw1P+mzF94ceDouagUOX7uo7om26lCCDaeNnsZI+xlHaHO4oGgOyPj96cXjZ2buTis6lwqGXiOQTWRD+vCY9tFOnJHwbsCFO1DLwCscWMBb20n4zoUS/JIkmbCz6s/89RCHv/4qpvtNxlgmFqKvMopMQmDblE50JyMF9YRN2WybRNrlUHRGkY3eqmJe35+og== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:57:35 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:57:35 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-net v10 12/26] mptcp: set set_id flag when parsing addr Date: Fri, 17 Nov 2023 16:56:05 +0800 Message-Id: <83760751463a714a58d116d3706572b12782ebb9.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0011.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::14) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: fea4b57f-f13b-4426-7d2b-08dbe74b3de4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /rE79n7dAtgXv5jwR8tmXnTiDSYOXz4jrZt6K+Pgyjvt2ykKjMW2jx4zxLU67dByDY+RuhWZCQst/GMDzbp+xJ5i8JIqEFy2dLWYE1GodfRjpLMAd7vj4A/xTrfRpP85AMbKq/6eSuvZMmVWDhjHYnQqfsgV0wGf6xjDikjdHy/Z8b+PkB6Xa7mSIo7axBSawRNDZ2Y/gkphdw1riRv3/FZBMRu6usFYl7hNakKATN9/OuJpFdwuhq8y2fEKJCNWLDKi6tifP4W4F5hU5zE2lBcSwHJaEyBX1JqPzeohwBsDRLA3mPDJyukWCV/sskxLrJ7d7QwcW1BYQUSiWnN13hu6StX4Mf56fWQ214FRlGeqO+2gMsecgiAm5K58UoJKrl43NPVxQwN3fdxIGBPymIfi4UqXWnRXE0hunR0eQp8xmXQwTEacB6c425wZlwkOyGTsRM5CGB3TVHGobENLEJbECT6y2t9H5df4OPhuowUzisJ8sfhmJXvgI5rP7N892jYuc5hbowt6lwSjpdEiCyCNvU/h7Dxie3wU4Z4zsvNrX9Hut5c/mbF+jiTiEwCO X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WgIWvzfTtckhQACs49qU1dbTvYcqzTgLdwRkuZRAXMaHCfh00RcjloXFtB61?= =?us-ascii?Q?FHlB/W+Rz02bRBdt2fK8wsupnOwQ4oIZuyTJ5VEehXXfhf3ot94jdZObMkSv?= =?us-ascii?Q?H9nIzq7xnqyInHurQo/is83kDsoNPT7IakxVmkB5dbFyo8fnHxHU9RBCJoks?= =?us-ascii?Q?boTeXaU3Jf5bnuN0xeh9phMh3GJSFNU+p0VYkkrIl0L1YlFsb7H/Bz5swboZ?= =?us-ascii?Q?fCvwhBzbsIz7XUTmxJOEBiQk2xAz7NsZO8jCwwp1NZKA+QO02VHg1rYx8uxb?= =?us-ascii?Q?/bfRwqRnUbev0/n58seKV6dGDaaTHvv6yflZmybIoXicbsZf72SGlF0ztwJW?= =?us-ascii?Q?P5NHCcd1ONX1rSSi7O2T7XKhZ60hpaqwGCkw5gNd4A1C1JsFtYb1DCI3OYDV?= =?us-ascii?Q?TNhZ9S0mMr1p6KoU8b398m52pDPt+P9diQwxw0rS7AKbj2X36EKP78oTpBgh?= =?us-ascii?Q?+lzH7tjh/EgTjbPnOKPuUgLk0pLU3pSqHCSRjDrxSIMrrEU+T/0iOk2iO0Hq?= =?us-ascii?Q?lHrhXd1pE2tg+SK14jw1hF5RLvh8yHKV/CTsT6qLYYDfKZP8/OodJiNC5Z+z?= =?us-ascii?Q?o1sck8ZQ1KNyLbF53Jx2PhxjD6sY9JCoD52IrzlcpjJ/zoO8hAB8grEa5FIM?= =?us-ascii?Q?J66kRUKumUUcXwQjZ+p2i8Dkjjf50BCgsKCnOsXiGHRBmfutbZa2g+/1h1uQ?= =?us-ascii?Q?sylU8vRMFRU1LwXGC+Ow4egBGwGiCXmyniXBnmE4pgfQLseALW2kJWkyYT6N?= =?us-ascii?Q?fUYqdQkm//J9FW0BqxIj8nFHSonj9hPwvgBGgvL0cIf5u7WYbqQc4Jd6Ak0C?= =?us-ascii?Q?lPjTyjaCXGkq3dMCvryzJumnXsIfvc6Cd0H2+OaG0UbMgFf5mNV3cEaxihZu?= =?us-ascii?Q?lG2YUQY4NT3aSK3KDO8D7q0gWlBlvaNjBWiQZSGOLvPtHFTM2EfTtEn8frqI?= =?us-ascii?Q?pkOhnh/9upJ8WzIjLPeHHiToZ45/yOhEJZcuisf95bNFIr8gx5TmOYDw/pT3?= =?us-ascii?Q?kCqWaNUXdM1hkTT7NWFUaWNd/PDgI/sLcf/EyW1VPyBahf5JtlbaWwCREuub?= =?us-ascii?Q?08cG3meO0X5g5PvxleG7Qbe3MN+TuHdRm77oMtKGjjVpKlRAWx5+ckKE73y8?= =?us-ascii?Q?AaRNxK9PCXoUlztMtioitwoz9njp/1r2dIbTIFykhzwQ1k5g597tp41eCuEV?= =?us-ascii?Q?OggoLc33k9X1SSnEYArjpcAcyWLFNvsFSlVFd2nSxenNgW1IFH3dLYNlGMIc?= =?us-ascii?Q?EyMrX7A319pve7XDsGoRC1+tzuGCY/TEu13agdHmXotPloOAWwKRwsw012PF?= =?us-ascii?Q?wRSSmnSSfUhQQcR+Y826vcdVL+1N3eFnPggsPD/nJORDOr64Qf8kt/IOxxBt?= =?us-ascii?Q?ayYlCXTZm0UB1avsj50QeYgyFUJGmR4e1ANICtDiZzRLeUcrfB+ukBhePwvO?= =?us-ascii?Q?bh5eS3eGGQ72VzmwWjSm2gwEAKI97W6xtI00vVMSisBw7FQiY0tcqMWG0lSw?= =?us-ascii?Q?LYGn1u80wQKljl6/xRo1hSyQhmPx0t3zFIwXv+yVhyr62I2icPZjcU4PVVbA?= =?us-ascii?Q?VPtxTOcicdhVjcdBp5KLDNPSnm3ttjNxjwpXz19vR6eHkT1fLvd66lfHTMWS?= =?us-ascii?Q?sQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fea4b57f-f13b-4426-7d2b-08dbe74b3de4 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:57:35.3651 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qHv5r1p4cCFo4aXPWazqdYyyhp6Sycj85Sr2gal4GCrg/IPDLDTKieLlzugSMVrTrMo7kMqQptrMkNcQmlg/2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" When userspace PM requires to create an ID 0 subflow in "userspace pm create id 0 subflow" test like this: userspace_pm_add_sf $ns2 10.0.3.2 0 An Id 1 subflow, in fact, is created. Since in mptcp_pm_nl_append_new_local_addr(), 'id 0' will be treated as no ID is set by userspace, and will allocate a new ID immediately: if (!e->addr.id) e->addr.id =3D find_next_zero_bit(pernet->id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1, 1); To solve this issue, a 'set_id' flag is needed to distinguish between whether userspace has set an ID 0 or whether userspace has not set any address. This patch adds a new parameter 'set_id' for mptcp_pm_parse_entry() and mptcp_pm_parse_pm_addr_attr(), and pass a 'set_id' flag to them. If an address id is set from userspace, this flag will be set as true. Fixes: e5ed101a6028 ("mptcp: userspace pm allow creating id 0 subflow") Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 26 ++++++++++++++++---------- net/mptcp/pm_userspace.c | 6 ++++-- net/mptcp/protocol.h | 3 ++- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 08b4211fbcbd..4db37baf74ed 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1108,7 +1108,8 @@ static int mptcp_pm_parse_pm_addr_attr(struct nlattr = *tb[], const struct nlattr *attr, struct genl_info *info, struct mptcp_addr_info *addr, - bool require_family) + bool require_family, + bool *set_id) { int err, addr_addr; =20 @@ -1123,8 +1124,11 @@ static int mptcp_pm_parse_pm_addr_attr(struct nlattr= *tb[], if (err) return err; =20 - if (tb[MPTCP_PM_ADDR_ATTR_ID]) + if (tb[MPTCP_PM_ADDR_ATTR_ID]) { addr->id =3D nla_get_u8(tb[MPTCP_PM_ADDR_ATTR_ID]); + if (set_id) + *set_id =3D true; + } =20 if (!tb[MPTCP_PM_ADDR_ATTR_FAMILY]) { if (!require_family) @@ -1172,19 +1176,20 @@ int mptcp_pm_parse_addr(struct nlattr *attr, struct= genl_info *info, =20 memset(addr, 0, sizeof(*addr)); =20 - return mptcp_pm_parse_pm_addr_attr(tb, attr, info, addr, true); + return mptcp_pm_parse_pm_addr_attr(tb, attr, info, addr, true, NULL); } =20 int mptcp_pm_parse_entry(struct nlattr *attr, struct genl_info *info, bool require_family, - struct mptcp_pm_addr_entry *entry) + struct mptcp_pm_addr_entry *entry, + bool *set_id) { struct nlattr *tb[MPTCP_PM_ADDR_ATTR_MAX + 1]; int err; =20 memset(entry, 0, sizeof(*entry)); =20 - err =3D mptcp_pm_parse_pm_addr_attr(tb, attr, info, &entry->addr, require= _family); + err =3D mptcp_pm_parse_pm_addr_attr(tb, attr, info, &entry->addr, require= _family, set_id); if (err) return err; =20 @@ -1239,9 +1244,10 @@ int mptcp_pm_nl_add_addr_doit(struct sk_buff *skb, s= truct genl_info *info) struct nlattr *attr =3D info->attrs[MPTCP_PM_ENDPOINT_ADDR]; struct pm_nl_pernet *pernet =3D genl_info_pm_nl(info); struct mptcp_pm_addr_entry addr, *entry; + bool set_id =3D false; int ret; =20 - ret =3D mptcp_pm_parse_entry(attr, info, true, &addr); + ret =3D mptcp_pm_parse_entry(attr, info, true, &addr, &set_id); if (ret < 0) return ret; =20 @@ -1423,7 +1429,7 @@ int mptcp_pm_nl_del_addr_doit(struct sk_buff *skb, st= ruct genl_info *info) unsigned int addr_max; int ret; =20 - ret =3D mptcp_pm_parse_entry(attr, info, false, &addr); + ret =3D mptcp_pm_parse_entry(attr, info, false, &addr, NULL); if (ret < 0) return ret; =20 @@ -1616,7 +1622,7 @@ int mptcp_pm_nl_get_addr_doit(struct sk_buff *skb, st= ruct genl_info *info) void *reply; int ret; =20 - ret =3D mptcp_pm_parse_entry(attr, info, false, &addr); + ret =3D mptcp_pm_parse_entry(attr, info, false, &addr, NULL); if (ret < 0) return ret; =20 @@ -1866,12 +1872,12 @@ int mptcp_pm_nl_set_flags_doit(struct sk_buff *skb,= struct genl_info *info) u8 bkup =3D 0; int ret; =20 - ret =3D mptcp_pm_parse_entry(attr, info, false, &addr); + ret =3D mptcp_pm_parse_entry(attr, info, false, &addr, NULL); if (ret < 0) return ret; =20 if (attr_rem) { - ret =3D mptcp_pm_parse_entry(attr_rem, info, false, &remote); + ret =3D mptcp_pm_parse_entry(attr_rem, info, false, &remote, NULL); if (ret < 0) return ret; } diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index de10be21bf26..3d4258d2e269 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -156,6 +156,7 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, stru= ct genl_info *info) struct nlattr *addr =3D info->attrs[MPTCP_PM_ATTR_ADDR]; struct mptcp_pm_addr_entry addr_val; struct mptcp_sock *msk; + bool set_id =3D false; int err =3D -EINVAL; struct sock *sk; u32 token_val; @@ -180,7 +181,7 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, stru= ct genl_info *info) goto announce_err; } =20 - err =3D mptcp_pm_parse_entry(addr, info, true, &addr_val); + err =3D mptcp_pm_parse_entry(addr, info, true, &addr_val, &set_id); if (err < 0) { GENL_SET_ERR_MSG(info, "error parsing local address"); goto announce_err; @@ -323,6 +324,7 @@ int mptcp_pm_nl_subflow_create_doit(struct sk_buff *skb= , struct genl_info *info) struct mptcp_addr_info addr_r; struct mptcp_addr_info addr_l; struct mptcp_sock *msk; + bool set_id =3D false; int err =3D -EINVAL; struct sock *sk; u32 token_val; @@ -347,7 +349,7 @@ int mptcp_pm_nl_subflow_create_doit(struct sk_buff *skb= , struct genl_info *info) goto create_err; } =20 - err =3D mptcp_pm_parse_entry(laddr, info, true, &local); + err =3D mptcp_pm_parse_entry(laddr, info, true, &local, &set_id); if (err < 0) { NL_SET_ERR_MSG_ATTR(info->extack, laddr, "error parsing local addr"); goto create_err; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index c30e59278080..0460cb391ede 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -881,7 +881,8 @@ int mptcp_pm_parse_addr(struct nlattr *attr, struct gen= l_info *info, struct mptcp_addr_info *addr); int mptcp_pm_parse_entry(struct nlattr *attr, struct genl_info *info, bool require_family, - struct mptcp_pm_addr_entry *entry); + struct mptcp_pm_addr_entry *entry, + bool *set_id); bool mptcp_pm_addr_families_match(const struct sock *sk, const struct mptcp_addr_info *loc, const struct mptcp_addr_info *rem); --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2042.outbound.protection.outlook.com [40.107.14.42]) (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 83346B663 for ; Fri, 17 Nov 2023 08:57:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="NkeBtF9H" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h537fZKDzWLH1pp1AmHz8Nk7tyqAyg/RfGEvxtxDot9N796MAeYqtLekIKxfkgweWWYNX6kfSbOArSIs9e0uOxP7m1JEhPpJm93EpViLXJ9KbCjVVT4Wpv0dxN5DUvLXmRt/ckHEPzv45659ixq2TM/GKtYPblqF8xZIjVo75UTk7+n2/jx8nF8b+DPcf73Em1L4NOWn3KtJA3HQRiLIRSK7IpPL62xeB4G/Pnbgyk4MIL5AnAymXbWigFEn2wVY25PimfPlUDrJPf9VgJJlDjyg8KXTZye0LZDc48v28mveERHnrvlPeXg1cAgFTQgBNZ8bWSBypmO3z0TS8VpAyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Sv6SbZfaNpoauTaauA4Q4ikrqXjzoN6RyN0lTmIDWjk=; b=n92tdKhwC5lPmhWLtB0GasnJuf6GR/9K7tNIpkxFCN8kr5uWsSgyA8kFVtnOUO4mCONsE5JI/0PKH1WXiYU/NH7Ld5/uHJ9NK7F37J1Roww9u6x1SOOR8ZwjCSsdrn2hOtPTiP8SPSe02PI3r9ZMIwlrZz7QZAZVzxDdoY5M088kn0NPtyI7gVrCtcab49H3pdsyrWI2Araxfaf0ICQdF+yako7Nx2ZRXS6zmLesOrejstPjdERa6QrJYknuAW6hEkrceQu65M17qWXMr9Yrx6PqaTbAw9CzK0bL59zAwqrptJnG9cvWvdTccyJUQjaaGE4OLEm8IZ13kRA8D/uAjw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Sv6SbZfaNpoauTaauA4Q4ikrqXjzoN6RyN0lTmIDWjk=; b=NkeBtF9HZl2oABJU7e/cSkqOpRMwcVtNre6CvJdCC9JblXThhqXmpa6Y4AKbDwNkaYtE8tMt3R8gk8DNM5bBSn0Z7RgEky/nBtpV8PIbk1F2XrTz+VJePZj09nGCBvZy6XPmCHR8BM4PUkGZijwbJkm6Frx+B3FamkKD+qacAL1okq39YMCtoZKVvELFY3V26Wx0guBqq2Bdg+T2OFQfeO/z4/F3iNaNS/cjBSf9Ovf2BxXMw99tcITAy8i5aVahXwjvkgUg8Qhq+z2r3lN2RVzY7BUH4LQz0DQvKnXTgSTNvsEUe1+eY4X3WDlCKT1BLnZ5OPGNQuJzaEY5Gf3F5w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:57:41 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:57:41 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-net v10 13/26] mptcp: use set_id flag when appending addr Date: Fri, 17 Nov 2023 16:56:06 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0014.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::6) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: 2237856f-e36d-4955-6150-08dbe74b41b8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ifk6Hg+II4X8r8sx6/X5JR0rRpr0TtTy/7Ikoi0egyHw/DIpkippSO2S331ivWtm3AkGM45J8MToz/5yHCfhH1QRIeBV7BMSwh686CNCXflfsCLlFusBF12o/4TXM+3B4Z6coG+MWNWeepmV/9JcER6mNfzmlI2IWsjTE+tdm/hOuQfiygYvbe50O6a8QdyoaWnu52iV2JpR27EGemsxsOLRWOjfT5ZlrQ3ZxJYBTdFQAEvHb7VO2k4WWlLjS6B/1gGTMH2s5+KgoTMCJggeMZkCmaGL14X9DLibfCnWHJSp+Wv9RQWNzYM14HIkMBri3UPVcAjTgl6HNcRRFKDh2Vam0v7kt7mVuU5qpFebIKJK/plpP8QsojKT6VGKo5aIrr6XnuY0c0ZJmlm4oJ7coPcNZlcXnzqtUKj7b8vK6J0vngoKc+1GMnDvlbeMLx6pqQ2MQfqhFdzDKBxRpw5PrZtgr1XPJYq/ZskjScrGQhkdWW3ENbsVNq7BQDQQPLaYdur0AmTiY3RMzSIMItAU0rz0voPGd3gyGb2EfsgRH7+05RRil/GpscD6TJ0nZD0v X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wSOT7Mu/ppN+8YyjdAWYgSX/WdCsY54/J9QVTvID4XrtfDQsduUjbf+KxlOs?= =?us-ascii?Q?0UaIIVapnVjjW7v+vhvIkcGn5rbvwNfVuoL6QrnmbrmPWbjcLKPkbXoqiCF6?= =?us-ascii?Q?VTJ3aZEfr1FhIVN8qCzXlzmywIFWinvs75xBxJirY2MQ/es42x2JzNrCwHpR?= =?us-ascii?Q?m31pTPMrJwI9IpVeU5VJNTvMrqSK2Q6V6g3Jr5lRiNY4AsqLmPpozAjamtEO?= =?us-ascii?Q?/lu8MahAi5WqHLEm24hCPsDXpg3XUY5BCP2I/tHY/JuOV41fR9D2oHgZhaoy?= =?us-ascii?Q?8nOLaUMFtJREG8uiYnS0PSNgLMzNKr8Qd++cHXJCJ0RiL9igTCQ3+CPGIB88?= =?us-ascii?Q?R0o+VeSNuFLWHkyYVPdALoN0NDiFQ0cCdeGRwnZ3SDtvpHB965AAqVX8e50J?= =?us-ascii?Q?K5OdhsNolAao3sgfBnhRrlitmQ6tOVe2GpzqeBasHLRHhkKJt9p1S+eRB68B?= =?us-ascii?Q?bFGn+O6a6aI6XxgvbI08aFlqypdxfxAeIsNm6SF6sCPLuZtCNMboZnBG6yfo?= =?us-ascii?Q?6VVdS1OJzg/H3MinKjjhhg9fJIrCPtBLH+eRZUQJhT93tyAezoHPElFqyBrV?= =?us-ascii?Q?/ydYeeYAlZt9RQtY/9TE+rjuSeEQ1zn04vsusRM3jI4JrK3LeEgFtnMR+iwU?= =?us-ascii?Q?z2D6WXXlAIxwB3Ut5LDZYtSKWwzlw/lxTrA5hKUkmPr89Y5/QRAVxzro7T3I?= =?us-ascii?Q?TIujjl0fbrlDAh0+EXC7ZiwRjt1LcsQiVGt5vOp7OeZHDBArvOrQ9x0EZSal?= =?us-ascii?Q?j2cYjMN7LCeGPPBqlIoo47wo2u/oJtb44a4YNT3rfo7Vv373rAL+qdqp9KJs?= =?us-ascii?Q?Wm8RGNJVc9O+uM428vKrXEEcFDAI6o9n1OgytoH5EgJULKEjKHKY1EezKvYQ?= =?us-ascii?Q?xQl5ZnH00ZxnUtAQi16D1KRFZJnUYiL1HnioV5hFOe1+9fJIHrp4rM483f3K?= =?us-ascii?Q?vYERVZFGquOKVpBaKDEUFq/Q1TKubkRTLXIc5zvU9+xbbwkZXE+dPjAPadbY?= =?us-ascii?Q?L19NvNFB5z7h/HDjeKsu+8noxfowfw5VpspIe2clUMesXezqJkNUQlK1kieZ?= =?us-ascii?Q?BPSTfa3l9aUrIGdP+Uo0bQD7mDkjPKDo2/w5ohouBVaJKrDD12vl0JrRsjHQ?= =?us-ascii?Q?YwHdgNKn0rfZSc/965FR8MxrCQWfTCYxwaAVuWExinx7S69cEAr+4dj9wPPW?= =?us-ascii?Q?GdDiafDSqEqSA2BkidUreSjJflQP4yBtnkvbDPT6OHJc4Z9KiLreUYZxKcXa?= =?us-ascii?Q?36F7cQ7/OJ3gHMVev0ARcGC2AI3VOVwC+0sCJQIBrzeQ9HgnUbD6r4Oj6Jnd?= =?us-ascii?Q?Dfq2JlliVxbSEUClfn9suJb+WnaiZgv8qmOFFOV1OVE4+HeQNLyvImMVJnN5?= =?us-ascii?Q?XSLZFKPqIvT67dHEGZXw392nNI8xCIexC+fGbZayIcESSqjNbtDIZ0ODJkJl?= =?us-ascii?Q?Vm6VyoMpZk864x9YhDpZA4bZIYiOsgV6iBWantjn0IO5gmocF6eeEUJ13Vjv?= =?us-ascii?Q?IGJq0YRa+UN3OyNtK36VXDLQHDRwrENYu5Pn7MtFnBb+tRNvZF5lubZxjt7V?= =?us-ascii?Q?BrJyRcLtefXj6Q8+eFnTwcl3XtkwW/phfinx7UprDZ4eZg7rc340uPQdZVWz?= =?us-ascii?Q?Zw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2237856f-e36d-4955-6150-08dbe74b41b8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:57:41.7712 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pcdV4Z2h6Lgcv5YLxOfSa1WgGJA/sNNPQn7FDfttBi4bZUI2SFUZDFWiTXkfiqQ1T9UmqfU30Ake0I3kk67lcg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" This patch uses 'set_id' flag when appending new addr, adds a new parameter 'set_id' for mptcp_pm_nl_append_new_local_addr() in pm_netlink and mptcp_userspace_pm_append_new_local_addr() in pm_userspace. Pass the flag 'set_id', which was set when parsing the address, into these append new local address functions. If this flag is set, do not alloc new address ID from id_bitmap, just keep the userspace set address ID. Fixes: e5ed101a6028 ("mptcp: userspace pm allow creating id 0 subflow") Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 11 ++++++----- net/mptcp/pm_userspace.c | 13 +++++++------ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 4db37baf74ed..cc4ac206f848 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -855,7 +855,8 @@ static void __mptcp_pm_release_addr_entry(struct mptcp_= pm_addr_entry *entry) } =20 static int mptcp_pm_nl_append_new_local_addr(struct pm_nl_pernet *pernet, - struct mptcp_pm_addr_entry *entry) + struct mptcp_pm_addr_entry *entry, + bool set_id) { struct mptcp_pm_addr_entry *cur, *del_entry =3D NULL; unsigned int addr_max; @@ -903,7 +904,7 @@ static int mptcp_pm_nl_append_new_local_addr(struct pm_= nl_pernet *pernet, } } =20 - if (!entry->addr.id) { + if (!entry->addr.id && !set_id) { find_next: entry->addr.id =3D find_next_zero_bit(pernet->id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1, @@ -914,7 +915,7 @@ static int mptcp_pm_nl_append_new_local_addr(struct pm_= nl_pernet *pernet, } } =20 - if (!entry->addr.id) + if (!entry->addr.id && !set_id) goto out; =20 __set_bit(entry->addr.id, pernet->id_bitmap); @@ -1041,7 +1042,7 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, = struct mptcp_addr_info *skc entry->ifindex =3D 0; entry->flags =3D MPTCP_PM_ADDR_FLAG_IMPLICIT; entry->lsk =3D NULL; - ret =3D mptcp_pm_nl_append_new_local_addr(pernet, entry); + ret =3D mptcp_pm_nl_append_new_local_addr(pernet, entry, false); if (ret < 0) kfree(entry); =20 @@ -1281,7 +1282,7 @@ int mptcp_pm_nl_add_addr_doit(struct sk_buff *skb, st= ruct genl_info *info) goto out_free; } } - ret =3D mptcp_pm_nl_append_new_local_addr(pernet, entry); + ret =3D mptcp_pm_nl_append_new_local_addr(pernet, entry, set_id); if (ret < 0) { GENL_SET_ERR_MSG_FMT(info, "too many addresses or duplicate one: %d", re= t); goto out_free; diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 3d4258d2e269..c9dc25fa8540 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -38,7 +38,8 @@ mptcp_userspace_pm_lookup_addr_by_id(struct mptcp_sock *m= sk, unsigned int id) } =20 static int mptcp_userspace_pm_append_new_local_addr(struct mptcp_sock *msk, - struct mptcp_pm_addr_entry *entry) + struct mptcp_pm_addr_entry *entry, + bool set_id) { struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); struct mptcp_pm_addr_entry *match =3D NULL; @@ -51,7 +52,7 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, spin_lock_bh(&msk->pm.lock); list_for_each_entry(e, &msk->pm.userspace_pm_local_addr_list, list) { addr_match =3D mptcp_addresses_equal(&e->addr, &entry->addr, true); - if (addr_match && entry->addr.id =3D=3D 0) + if (addr_match && entry->addr.id =3D=3D 0 && !set_id) entry->addr.id =3D e->addr.id; id_match =3D (e->addr.id =3D=3D entry->addr.id); if (addr_match && id_match) { @@ -73,7 +74,7 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, } =20 *e =3D *entry; - if (!e->addr.id) + if (!e->addr.id && !set_id) e->addr.id =3D find_next_zero_bit(pernet->id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1, 1); @@ -147,7 +148,7 @@ int mptcp_userspace_pm_get_local_id(struct mptcp_sock *= msk, if (new_entry.addr.port =3D=3D msk_sport) new_entry.addr.port =3D 0; =20 - return mptcp_userspace_pm_append_new_local_addr(msk, &new_entry); + return mptcp_userspace_pm_append_new_local_addr(msk, &new_entry, false); } =20 int mptcp_pm_nl_announce_doit(struct sk_buff *skb, struct genl_info *info) @@ -193,7 +194,7 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, stru= ct genl_info *info) goto announce_err; } =20 - err =3D mptcp_userspace_pm_append_new_local_addr(msk, &addr_val); + err =3D mptcp_userspace_pm_append_new_local_addr(msk, &addr_val, set_id); if (err < 0) { GENL_SET_ERR_MSG(info, "did not match address and id"); goto announce_err; @@ -374,7 +375,7 @@ int mptcp_pm_nl_subflow_create_doit(struct sk_buff *skb= , struct genl_info *info) goto create_err; } =20 - err =3D mptcp_userspace_pm_append_new_local_addr(msk, &local); + err =3D mptcp_userspace_pm_append_new_local_addr(msk, &local, set_id); if (err < 0) { GENL_SET_ERR_MSG(info, "did not match address and id"); goto create_err; --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2058.outbound.protection.outlook.com [40.107.14.58]) (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 176E9B663 for ; Fri, 17 Nov 2023 08:57:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="bxQbmH4C" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X2DxkhgBEYlcSDukjlvgX+Q94yywlc4IoqgIkAFHRwMMZNZY90UVRIG1JqKJ79qdRj7B+2C5BadIBPu0r+bhOlLNILeS/VRYbdu+jxRB4JEV8gF3cp9Ak8vrcjQRFcykDlPMGXZ0USg51M44NSdhvXXqgmQA6zX5aHLMBVnbGudmHeMJtWvLyXeLdtKcplRHaOAq0ql4V5T/NoscdEMsHnjQepajfXbfFthiTy/rye2fZe3azBjTzDfwePXj4hw+Wy4DwvVVSr6M5lr2I9b/FHSEqmzamx1tpdpVRRohtJ/1ljTNHTxzYsK5vfXvU2v2gwbVocOvenQUYc2X1acdpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QzsmJHlwCCxViZFqp0VmZtdOuet9mlYBbBdmu9RMyHk=; b=NQUd66Sf5PfQB90FVbScLPMwGU7tAGrwu0kePhv2ruD8qT29Ql+GfZ1iCKPr/kz9z+xIujoZiysRtIqVjlQNod9euvPXtKK2KyckSP+AE0efe7C4y9PT/Mhlswa0dFJkMkFzNQ8R95Kxaiw489+y45cClidegg40JPP9ssU9E/SbctwdQ+q1QviXsDdoBiRu2Xb0YmBo1d5iowRQDVMWaMCfNZcL0HbPV8ErkNAv+G5gmos5bbNKxF4KkbFAxInl+aqyohaJvTqEvy/pz0N6phWH9xZZk5Osbqtb0kprtR/nlDWCwCw2uVhWfAKoUOzOVVexwypFLd94+doPJBu9Nw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QzsmJHlwCCxViZFqp0VmZtdOuet9mlYBbBdmu9RMyHk=; b=bxQbmH4CCemq0m+JUOh/82uZdS18fTLC+Pln72OJaFf5Xs+jXNIoKMKZnyhe14bhjeVP74Qr6U5epwHrYAYrbIiG7/VdUHUg5G1eEZlMqH3lYzwQoAONm7Ja5lYO8Zyd4jqltYpflaOAi7uppUihKhHbW6K5yJcoEeWcoHvOmzhYlX5P3pR+vaiQOC5C1gescD1PvNEuSgluBAq+QK3jHvQ7iIPS0kqBapxtmwznPThQd5vXRYPWrkAoDx6Oa7ZL4HtKW2iZ0NClqfuGjQUFSkWaaOmYXCfMtKfyOCARHgNP98m9QLJiLcZn0Z6ksBAqT/f17s865Y33ljLBerwHTw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:57:47 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:57:47 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-net v10 14/26] mptcp: check addrs list in userspace_pm_get_local_id Date: Fri, 17 Nov 2023 16:56:07 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0034.apcprd02.prod.outlook.com (2603:1096:4:1f6::10) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: e2d3d9a6-3b85-45dc-231f-08dbe74b4528 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q3bbv+s/DXljhixJkGM60Dr7MRnMU7WeFUdaHVBsGJaWXIurGuxDVDLotH3mWE6z/6GVvaHCz128eRQXAt9u2qDtSx3/px32TBqBgGTVwL2U8IZPU7MtyVnQoh2zmuAvG8/WlYTS4FUVXr5IN6jFDDlZkF6jiNfxoYZPazuhR5nMqutAkXbRU6asUgKwEgtVk9OQNwXNmT+jmmy13uDNU+vfuv7tGDINyytYlaOWHuWDsnJVlrokLXzRLUuctLcP01L0WMf8DkG0kUbsGlVarDs5wR3uhNIaDp1DLteNpmCs/2LDD8MOW43JMHhT9e3EDbRf+Z4gcCLZJOzdPd92brqxpudGv20abB/cHgUwtDwPNZKu3iMnr0QyAEC9ZWWmtjxFb+pXbC/ssPZBCmUyMs+/+CI+fo+zuVBGBy3h8fJtbyod0jTLbyqQOl8SGdr9Bci5OjtLbjJR5k1NYbbl2qmmxINlhI0dZf7WxXjnCLPdT0CiswmpxPQIebmHTb+90Z37dU+5Vy7bG7wno2J4s6IGSS/r5uN8TzABFmtjcKnhrMFu9G4rnJK73Fs5SKy6 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?a5UYFxikls81QtA7SuWWmQFeRHieG5SvDdunnmT8QDok2QYyYblshg4lykUI?= =?us-ascii?Q?seYbxoT3oQuARUZ80URsBwZhg/sAERj8Pq4fTWePH1699jTS3o5cFDhAYttF?= =?us-ascii?Q?WTmGGxOcZnKtPS2X3X0tsRAwzYdiF2Ao6Y52jvZOQN6WILjQV5bElPTg09Uo?= =?us-ascii?Q?C3uRgo6gKK4N5WjZ8e6qLbcq3+351Kln67mEWYAVz4KapB7Z4jQFY7EITwvg?= =?us-ascii?Q?9c52XykHu73pqhPObS+No2zY1jvyzTb5IAZEaF+eNUbfPrLvPiSreIK4BIO+?= =?us-ascii?Q?yx3/6z9jah/3i+nQKaGzpyTDxw4v009iPQQZb7cLByZZyXHXSIMoIvB+wj2S?= =?us-ascii?Q?mhkQEtV0AOcpsFxsEEwV9UMn9xnA0Lzt38aEM/kGKeTfnV4U3KXBj1uj9lAz?= =?us-ascii?Q?qrOISmoszDBSktjKzkeCOA7277UWJt11S5sBXQzNc/qArfnPRmrknhyP9Y9b?= =?us-ascii?Q?G1bRRXSuy2iJfSUudkbL/f8rbByOTjCnm8SSs6LsN/jnj12QNiqrwm7ye8ae?= =?us-ascii?Q?31uqFMioraWG0OeuqI38Qi7veXuQY8YtTwtL2XywO8R61OKPN5MdD2XxSA+9?= =?us-ascii?Q?A1BleisHdGZTVdvzIXy3B7BKn1vHQ9jlM+Kvs3Hv3ibxqGRqbtOmyTbEGm1v?= =?us-ascii?Q?E0OIZaQEFf2vCXHusyovaINSR+x7UO2OImVJTX/DvFLuyvLop5pU12TVKn/K?= =?us-ascii?Q?peQZutajTSLhN6JlsoUTN/MEQk2mZtvPpxhmf133VtKdVXRkrStFA0REcjBl?= =?us-ascii?Q?FEXdRdCHhb12XV8sz2tb6tVfLSXOCC1Yi/+KBGRFKv2CpNpX2lDEiR/R5zNI?= =?us-ascii?Q?FQ7zxskX8Fyb/nqK2kNtyyLPEKWVUoVTvyGhjFAEvR8vkKOyM1lKD0mUU9PN?= =?us-ascii?Q?/y43lqmmzouqP1YpxJ8e3kgBFgu5Vx4fOLvWLt+BF8VqWmhs1nobS4TxZo7e?= =?us-ascii?Q?JJhTKPliN573P035Q1se2zSqQV4lm/vkVtl2RtNeJVuX93y369DKduD/ela7?= =?us-ascii?Q?zSayx74QeFwN2r45amzHSvUcAQWFvQKGHjybpwBiIPZRedPcebDBtsxywdyD?= =?us-ascii?Q?R7mDgRV3wLTZlSlMRCf/1GRvf7n69xD4Ld8cN6w1iAVJddbAJKfUaHwhB1c9?= =?us-ascii?Q?D4VT6DRcqhn6u2tFjcHCjNsMQcW95ei3w0MO523DV3MpOmwysYYLNeau8uGY?= =?us-ascii?Q?sDNR9E7lUWmf+Hc/YYzorDSdm/k/3iLpOSzIOWFY+VjHpdtMt0NrC3m+swux?= =?us-ascii?Q?SuW9Rc2l8nxuMycE9QaPalDB0pQiybThvrd02IpH1ktXO/LiXEs7cdeQptu7?= =?us-ascii?Q?CKumM7rWIkFxzJ0vyTFIhgejPnk8YuRScLNQNXK0uBAx+sfOJf5NdPhKXb6A?= =?us-ascii?Q?9/pOT+Qc650oSjNjXrinJKpzxpeRbJTMFrl5PQEGL5QPI+vJdq5Is4TzXdrD?= =?us-ascii?Q?JunlOUNmX6C9U3hUTtSPSbkoI04eaWaVXUpEd99k3fFP77RB3LxOb5wQlJTS?= =?us-ascii?Q?HHUOttSd0BFocgB1b8Hb7LN/R7F8unBZqDKodvHtHIqNRQwJBjcZaPwWouFh?= =?us-ascii?Q?02oWwTzLyaS1kCiNJGPxPQt1zpp0hLIPq4fyPZXtieAiOvBJN8DnB93PaawO?= =?us-ascii?Q?dw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e2d3d9a6-3b85-45dc-231f-08dbe74b4528 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:57:47.4223 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GzRwc6RiWuOdpSv0L174n9+UtGCWXHRwV8IMkvZx2WmqixIDNoi516g08sCy66ACfINjeiE/KCbSu+fvazNlyg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" Before adding a new entry in mptcp_userspace_pm_get_local_id(), it's better to check whether this address is already in userspace pm local address list. If it's in the list, no need to add a new entry, just return it's address ID and use this address. Fixes: b20137012d9 ("mptcp: read attributes of addr entries managed by user= space PMs") Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index c9dc25fa8540..489bb0e61118 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -136,10 +136,21 @@ int mptcp_userspace_pm_get_flags_and_ifindex_by_id(st= ruct mptcp_sock *msk, int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk, struct mptcp_addr_info *skc) { - struct mptcp_pm_addr_entry new_entry; + struct mptcp_pm_addr_entry *entry =3D NULL, *e, new_entry; __be16 msk_sport =3D ((struct inet_sock *) inet_sk((struct sock *)msk))->inet_sport; =20 + spin_lock_bh(&msk->pm.lock); + list_for_each_entry(e, &msk->pm.userspace_pm_local_addr_list, list) { + if (mptcp_addresses_equal(&e->addr, skc, false)) { + entry =3D e; + break; + } + } + spin_unlock_bh(&msk->pm.lock); + if (entry) + return entry->addr.id; + memset(&new_entry, 0, sizeof(struct mptcp_pm_addr_entry)); new_entry.addr =3D *skc; new_entry.addr.id =3D 0; --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2043.outbound.protection.outlook.com [40.107.14.43]) (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 A9AB4D28E for ; Fri, 17 Nov 2023 08:57:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="QUJstndT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NIhirhRxkbuGgbrHB73ynVZpXpGNp0SoOmQgknNspHBCKcf+ot2RODFtqxJbM0Xwg0xZmx+mw9kuSOsvIyfrxIGSEp4ivnhU/LBKrQVPRewV5NSsRipj6DXdgap6Rmr5ACPMN9xz/bOF5D+Fd925iwbHN3a2EZqWE7whzpmW2/FZrtrqPLPw280UJmtlEubc00vZxk+gFaxHBAxlvPipE90q/UxkOQddJmt6w4a3FpTVeFieEXdybG0us5p4bsnqc7fHsOWuA6Lvhmz+kHoG7j1EO0kzu8rTEtUPg4omCPYNRLUE8PzovKzESyq6/QRQw27QKVeYtCm9p7ZvjqDXYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2vDpT0hHggKqx39kTqVJCYvx8sTIQkI9ecBsqJdwEm0=; b=KP/FN3BD3IImLTL7nIibicrt1KbP3kPRiZkAxGy0zbgGy7W3EgtXkA/9zf6PggPGpDVzCvPRXURL/zgLAKSkeg7fDLwgpBuDYQzNQXcyJyRA35FXIrjFrLitFllgUXs4+sfxpY6aox7Gm37dOW2ObR8jTscWQXzf260mqbwaVmYxW6zu1kMZ7lyJ0WZE7a776XZz7Btr6wfiGIp1Dmf+KXlwR8DfbelXsp0gcfsNhah87x4WAHfZBUYS+xxzlkzZW/qWb9YJvo3C3hJA9bFvsDB6ZtgbLJ1tK0o8Y8WtyyUqc0UVSmiwOy/361Vsg+cZGT6+iOX9bjwWlNvDA4EjDA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2vDpT0hHggKqx39kTqVJCYvx8sTIQkI9ecBsqJdwEm0=; b=QUJstndT3LpOH8MTASJW7NwLrtw3PhLrgDRgfxAg4cGkYm4/8a33oHhsx5g0ZembLTVccIVcbRfdij7hvg2IGAo5C7g1goNYfZ/jFY5iRrhGlP5nB1NfEHPRX7Lxx8j8WklIJBQqsyVv7YzCiLKOwTSxCJSHnVixpl1uxbpOVOGOPastTRza8e3SHEpdSeTa5/NX0OgZ3EVIFZ5okMI+eZJZxVQ9QxpyoPPkG73ewDahf90N9DxmMVhDGy4UqQ+7I95Whl3wrFaQK4Yxi3Jg1HlgUz71lVURcm0BF11tF/B8zN5fe+kFOqU+PVdO/U9Z3Xe41R00ZicaThs0Jp6BCQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:57:53 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:57:53 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 15/26] selftests: mptcp: dump after creating id 0 subflow Date: Fri, 17 Nov 2023 16:56:08 +0800 Message-Id: <7c135bd1079953dc08866dc685b8cc80e16cfd02.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0032.apcprd02.prod.outlook.com (2603:1096:4:1f6::12) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: 6bb7f7c2-248b-46ec-35b5-08dbe74b4868 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FnxPyCiIuvmAeghb76nB/JQ9erl7x+b0wASHtO4OdaDz15jXdbLgqtOMtS6wDO4bpLQWQfaqAV+6oxOemSZ/uORDVFmm9oUEmHnYJfkvgBAzMMcaS6dc5AW0CbJ4xqMoBlOBn97psEAuOQOKh7udkH3Cu79/bYEzKT4xlMuM2fAQHCvX5a2GtbDa4ttYhtXg8KeXypH+v5tVXf8enoDA46tCTAKSd3l1TmHRsawcEhKOcLJDJeB3znllj5jEqeLgJtkXOf5lDHorAsEr2ugND91L0JFqzRTDrq7M4LB5OtJFr5KTvRTj0nBo5Y3xK0Kkp9AROnauRKUn+byh6WEQ3wUuoV/8m1m7rgzP5yZLn/d1v781qvQwn5YeCEi03WYjxvDGNLQRDzcvPy+h6EUKVwKXIIi3rl5MfRZNEtQjFdaQvR9Tzc7a4qx2IXcOpbD69Syh4U4NGCyobh+CyG0f60PsxLKchLets1bVnSnI4A0FeBmTYBQ4/dbb3F5CaTqwPMAcxzRssN+bXwSrjYICMZ7PGAdbIhvIL82ZZ6DVe8ytFlkaxlSdNguZcG5JYyhY X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(4744005)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9b5q1WVJQ6Z/CPUmxQK3IL+hLOP+tPzeoMcHd4PEBWYVOx1H2upD2sQCCf1N?= =?us-ascii?Q?oH10E7dUmse9Qali/io0hGnI5scLzheblC2w9QcQTiSJ7bJTZovmhe3zb8ns?= =?us-ascii?Q?r7ay3bEfVd9q31tXY4O6ZwT7+7FxGoAzTC2GktgUp2vzJQXT/2R9yUXw/Ocb?= =?us-ascii?Q?W5AhCF8RLa013CjOviQKgsnT4PdxTLGym/ZzLviJVmy7mQqQyKoTSPyZ+pp2?= =?us-ascii?Q?+DvpSDsuuCrWcxq+dOSAoZ1rreyFS6XWC2UizgzqeHTtAiiDzdj3RdkafiND?= =?us-ascii?Q?OGfGCaGCN246MO2WserdawR1QeUBaMFqqENrHABPJTPcLEatoprej9Z3gjAL?= =?us-ascii?Q?pAqnEFnOr+JTL1OB87fpO7XQUn8yx33t2EitF04SWF6hKOxAxbTo4zHaJjYp?= =?us-ascii?Q?ajiAmwFhuHNliqWg6e290zQnxHmBF6SikeWh6/QYaSAiADX1+y3ugrz/nRq1?= =?us-ascii?Q?rl4zFDDznq8sJHLHkyg82cPBddp3/Kt7ipZDtS/b2uouA9lx6zIOOnXc9her?= =?us-ascii?Q?WS0vniXgIzViHQrHmT6yNq8/L53G6/Bc+EkaJvqgQOiPqsEo5/qpe2cA3pEK?= =?us-ascii?Q?mxqyezWOP5+EZlQGGiOdxXFu3XFqSTlg+w/V5q58fx58pkDH8+qC1Ze10VTt?= =?us-ascii?Q?kSqhH7BCOb011mwcjEd4FCUJTxgKvyNWoGOCsthDEN3QzCj1ZGfqH1hymCxO?= =?us-ascii?Q?6lWwuYEpwlcOOeEajqhEITyFQwXy7aBbt34YUJdy8dtm7S72H8W7RsuiY873?= =?us-ascii?Q?UQBOmuX9Vlazr3vCYchifSOaJuW9ucqrmU/QwA/CyLH4mLVGlRaqZ+GfvBp6?= =?us-ascii?Q?v1NSxihqL4sS8NkdHsyMJrKAEKCXTgvHQfNIfzCGNaZS28qMOoXv1bLzH7fW?= =?us-ascii?Q?AD8lgfp1/Zep1P4Q3mcoimvq/TiH2l1avlCUmT065u7+WIUDqasudtNB8GFU?= =?us-ascii?Q?dUA92jahlX7PZDrbxjzndO/zACsRDDMysCmH+TD1X6R8bOXCQxo017PStUx8?= =?us-ascii?Q?Gc71uAYlrS5zY3VWlwo1hil2xB1WCxjeEzw/qztjziGchDyLksygvQRbqQZt?= =?us-ascii?Q?eJwKHgtGQ3fIa7gx/YSagZ8W3WcR6iTGSeWLan0sWKF1qtvK6q83DSBBe1qn?= =?us-ascii?Q?j32gtrRPwtGZiZcq7Wcrj39QtdWyD0mLlaXLuOr+jwUjZU6KFaKQjmeQOOu2?= =?us-ascii?Q?NgJS/JKT4I5UTCuDlupZRRKu6FMjQbOavlbMQkeTu2Csu0RzfQ5PL0Jk/x/M?= =?us-ascii?Q?p9KuDO2T6peKrfxasjSCkVlmZmgCer8h8zfIRE/InjN0vCj5p5zudmT5gQwg?= =?us-ascii?Q?ohjR9DrbstZbjoWZo0irKQ1sMDwP6yf5QTuFMNzr7u7VOkmjbbIvL0b1Luge?= =?us-ascii?Q?CPt+n8smSMXg0y2cxfQpsMyMDQwoUy347nhuk5V1O2aMplDkfGnTZvI85HGE?= =?us-ascii?Q?n54TNnOnwJrZHDuMB5aVaeFL72lYC7nLYt3MWXmxW+4Bs52dFQtCxMCLOxq4?= =?us-ascii?Q?p/2WFlcXhMNigR5SGLE7fpILyKYhbNl6OQb8afKbJDULC3XqhRxlaGIoDTeN?= =?us-ascii?Q?lPYvt5mKzX+JFsnQub9aSmEZMikv3XrNtZJ8BVGw47vHUDZnJGANwsAVo2JE?= =?us-ascii?Q?EA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6bb7f7c2-248b-46ec-35b5-08dbe74b4868 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:57:52.9754 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 39i3bE3d5AOOw8jLDAemXMINFffx2XJM4mWtFgjAiGridphLfDHNK2SnkklFbCZmABJR0vTLKLMhETltPTQdQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" The output of dump command after creating a ID 0 subflow should be empty. Since ID 0 address doesn't list by dump command. This patch uses mptcp_lib_check() helper to check whether the output is empty in "userspace pm create id 0 subflow" test. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index b346631d94d5..4fd1688498f1 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3454,6 +3454,8 @@ userspace_tests() chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 userspace_pm_add_sf $ns2 10.0.3.2 0 + mptcp_lib_check "ip netns exec $ns2 ./pm_nl_ctl dump" \ + "" " dump addrs" chk_join_nr 1 1 1 chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 2 2 --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2065.outbound.protection.outlook.com [40.107.20.65]) (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 BD5C9B663 for ; Fri, 17 Nov 2023 08:58:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="iYRXq1ND" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FyQDvMT9l4U0rMAAEZrs5SZ9S4kjfsbk9P7iI9325aKqLlv9QXM6Ynju6AYgy+BqlysXuxCbdD8Umi0rm2givASQTjfD5B6Cx7hfZ+p2GiNdC1U4QLQV0dr44d4fh+Qh06X9rmVjyiPCwj70u5+HcHgs1iDDqJF8SZ0mAO0E6WQBRUr0rAfR2HyqNmzlK3q4ljiAkA3Xdwc4TvwxZBvaflVJ5iQ0i0fCs0s17qFAAJ9ST974ApFDI7sick9w4HcTRK2Yzbmq7m/MkdEwuIojO5j5v6+0ugg0Rl4oQbYpcboCS1JqQlxgzFqrs95s1bDGc0166nMVI2j8Y3u3flbWnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RKizeRtkCNykYCfh/WDRPcfFnyiocCES1DS0PtuJJwA=; b=UT3CSe52A03dQuau4vJHK9zrUdqnEsJA7JTtss9SC55f7qYgyEn2IkUhv8iTXF8arVr6VC4+JdeVNDFgRh1wyeNYYxaR+7Kx+Y/AKvjQOh0TjleMJGl3heDKshTSVEQNJC3Q2f1Mx3SZrYBGTj6ODNRNDIhB/85No9c6LD8PUcPK0PrtTd+1ZcqKWKM8Vr+KUXXQNyrNz4TyWedq/CgXQ1/Ao632JqXhfWtsTPupq4ErXKNwN2dM0H571WINdd19bR3wePRBOtdwPMRXS+df1uvqEnZX4SFjSL371jrQaGk4vnVvx116fFtdHFD1uNnn6DLCo+f8P0eG7URPXJDX+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RKizeRtkCNykYCfh/WDRPcfFnyiocCES1DS0PtuJJwA=; b=iYRXq1NDLbBpsmlOU00tn+mOL6Kl3KnDkYc/DCylk50G+emOt/D7vsNPn34SjSpdwqcI9Ty/Vt8ZtKdx2uTXqr71/BJSMqBFpl5Iq23ckQ3mi/+kbKIUpPLYVgYKvPC0eBNajuWrlvoCWDk9arB7sd26z4CKBuI5KJkLsjEke/lLXHZhRhQVv4ciXSYHX0rWlJjWO2I30drvnGhlW2yiyUjvr9WNq8oqj5QzUpjAifxw1bwfZhdS1vm88pW40EkLMcoxCQMRSDTD5SW+Ka5h8cawVfrS1pCdX5sov8DVZd0aBewG1PdmPLVU4e7qiiyhPfejio8YCsUjKcl0KAomOA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB10047.eurprd04.prod.outlook.com (2603:10a6:150:117::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:57:58 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:57:58 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 16/26] mptcp: add a prefix for free_local_addr_list Date: Fri, 17 Nov 2023 16:56:09 +0800 Message-Id: <196741f2d3541963adbc91ab23ccf256bc45bed2.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0039.apcprd02.prod.outlook.com (2603:1096:4:1f6::9) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB10047:EE_ X-MS-Office365-Filtering-Correlation-Id: e4386c88-2066-4bed-218c-08dbe74b4ba1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q2HzXO7lUjeOqCz9Q3TfG+zRz2mirkkMCWUbhe+ma2+odbL/aB1lj+x5FG2TzeXTEmAPeBkqOavQuOtDUwZD8ciINi3zo9KDQ6xr4qbO3P6nyqv4EvybRw1/6+16DRAZ00kiVkBMJ3xgj+pEmjfg8C9FEOqQ52ahwEGRtCi8ekCQZQ+3s5g/BOBleGZzIlhkMaroEOtc7s3gtSoufwbE5dTeKXtwEd5z8ZzPjfY1azfvVvM3zNvpoNETEum6PdE2KjvlZy29/K33jGyRGqOJ7Osu03BqcRnUc/cBPlMc6JKTpn2/DiFOks+Gi26NsyJ32RGRk7Pqe6twAGw3UzmNQsWaJT0xZ6l4SsmsjrrGSiTQLbgFgyax2q7Fl8IuMySdWx855ufTYU4aEqbNFNfpQxm2Gvt2zofzouj5VQq3yYNy2ES1uoQC8MuxX6erH1Mcom6+3psO9wLaQtYnx+mESdCNRNw7kXfPKmX/tvUUAcEB6aQKj2MxlF0tRiqEre3RvBYCRKrKfYfF2JogBUq88bpnmSCS3xbQh5owOtoaYo3MNbkbmrpWjaMVGv4GZEaF X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(366004)(136003)(39860400002)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(66556008)(107886003)(66476007)(6506007)(6666004)(6486002)(2616005)(6512007)(4326008)(8936002)(44832011)(5660300002)(8676002)(2906002)(26005)(83380400001)(41300700001)(316002)(478600001)(6916009)(66946007)(36756003)(38100700002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gVLxsp1VzuVS1JK6V0FopL8EvkH9AmTcFTByTDvWnrVesBkzMBzIgTpd7hAS?= =?us-ascii?Q?KseWgMjbnwSNuxNCfGb8cxONmfiPHjOBjJ1r/3eaer6VJTOOnJptUoibzZ5S?= =?us-ascii?Q?S1PtxJ4Yzt7Fs5RQaFQR2K9X9riPviqDOuhd3yhH4Cj04p2AF/ZOU8fyUYKZ?= =?us-ascii?Q?wC5peS04QxRC4DV5fDCRt2Sg6kXMTyiqhJ85SB0DtoSzcrgnTuSpCtRyqFYe?= =?us-ascii?Q?odzOX5CI5lnHHzKIl1XS5wHBDbNpP/2sGIglcgJxntXx0nuPQddl+Qz6ZnG3?= =?us-ascii?Q?NQELX+pUK8ogkamOnZrCDAUDVausy2NAjYfo9Vw0EGyTLG5iyr3dUtqtFK0J?= =?us-ascii?Q?3oT0KBDj+T4bvM3gGOItCj0wDdScVCahG8T6roWciyIpMW1gos9YPrsbiB+a?= =?us-ascii?Q?7wSrEgzI0FwYdenPBnyT+ZXl/4KCq9iSLILn3NLnmjCOIevyxCDUff0g71YY?= =?us-ascii?Q?dhuVgEyIfQcQLkQXZGc+zJWxwPwz0ge2AK0u/AhJZreEoO2MGmINr9BbgX/K?= =?us-ascii?Q?jlzRQnVq1xEeIUOlyF8Z9RH4ZpY5uhmNsMLp2vd29BhUlJP/+EANXIKcwaLe?= =?us-ascii?Q?X+lRxs9IwgMh0knfNeDYN63Y2jr0fl/LAQL7+hXTBY/d6SGg/pUQgZVEhOuW?= =?us-ascii?Q?LGmmOYKT0wlW+nDdrDZEZs7AhFtMXbaOFWgpbhSdBua6OD9BZ0q9FEkqbuSl?= =?us-ascii?Q?ZEYyAEhLkvsbrxGNU8yt8Eq+Xu1EUovIk/tRkih8PPUeaoNkCJagZYBEf8qD?= =?us-ascii?Q?vlmFIadWMK0H6Jg+hMXwK5heoItYqQolq3V4/5XJDhJ28CD+f0OQAMiux7RT?= =?us-ascii?Q?EVbnef/NgodG7gJcpHjT+yXGiJrvR6YTcWN/vJrxRVVYRrlAz+SwPo1bbGPx?= =?us-ascii?Q?iprKtfAFTMgjmdzqdwMJZuMItcCoW9qojCgDBnkpeOD1U/7sy6xPDXa1k9gQ?= =?us-ascii?Q?HjnoA3JnETj2wziE1199ppPi6RCK94a2qYiCe3amHNpGgOSbvOFZLU+wVZX/?= =?us-ascii?Q?QNx6XWugnwjkd3YfPmZZKsCVL1AIQRXuVia94GNXT748hVYxaVGHvivh7eu4?= =?us-ascii?Q?xxDDN/b+qBiz8JNX7TMPzJwTwxg0cr1XigZ2P4dMLW4wrmXU0DP/5aU+0I7C?= =?us-ascii?Q?DpHLhjvRlfyr76PSxkhQwQjPm+DAj/k2MJj6cdsSlW4fQRwLs2ONzcxuxXxR?= =?us-ascii?Q?rr2Mjbz7QQSCk2L2uL3PRw/lzLQlwCom7eHxbwa/CtfEvfW2G6QJm4015V+P?= =?us-ascii?Q?zA431l6YXL4VD2fmYkdmiT71bm5yRdbqvz5syJVDi8bE8TaK97fBoP4SxsbA?= =?us-ascii?Q?Vi9R5fm/BG6ruIKHKpUewf6yQJ8MYkE6AyHTLuYBAgwCkx7UMbdvYHfTF9w/?= =?us-ascii?Q?1jYnWSAWz7F0Q/1ngMBktYa/wQQ4qOOwCNp419lqww4quvse/2+hgFWyqhRk?= =?us-ascii?Q?4w/eELnNLrficY8irp8mGsF1i6tu4nxxJWMYe8lp+DKQsxkareqqwnSUT/RF?= =?us-ascii?Q?arw8KHQZJ/tI5QMzDhpxbfJAp5sorYxnKx43texQ86ZXPoERApNs9KvkmFOn?= =?us-ascii?Q?hOejlBCXA6t9MCjXxwHKip3fNcBU8+NcRM2j4Wydv7xWygVCgEcu2fQoNVql?= =?us-ascii?Q?Gw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e4386c88-2066-4bed-218c-08dbe74b4ba1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:57:58.2047 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TzckilPo5z7ED/VEYyMoTsHfo8yUltS3mmKRl4CrA0NI7vhSElCaNKWaH/NdZWUHJvgsYnQX8w/syugJxhBhWg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10047 Content-Type: text/plain; charset="utf-8" Same as other functions in pm_userspace.c, this patch renames mptcp_free_local_addr_list() with the userspace pm prefix as mptcp_userspace_pm_free_local_addr_list(). Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 2 +- net/mptcp/protocol.c | 2 +- net/mptcp/protocol.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 489bb0e61118..87cf27dc1d0a 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -7,7 +7,7 @@ #include "protocol.h" #include "mib.h" =20 -void mptcp_free_local_addr_list(struct mptcp_sock *msk) +void mptcp_userspace_pm_free_local_addr_list(struct mptcp_sock *msk) { struct mptcp_pm_addr_entry *entry, *tmp; struct sock *sk =3D (struct sock *)msk; diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 6956fde61c68..f2f0ce608219 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -3321,7 +3321,7 @@ void mptcp_destroy_common(struct mptcp_sock *msk, uns= igned int flags) WRITE_ONCE(msk->rmem_fwd_alloc, 0); mptcp_token_destroy(msk); mptcp_pm_free_anno_list(msk); - mptcp_free_local_addr_list(msk); + mptcp_userspace_pm_free_local_addr_list(msk); } =20 static void mptcp_destroy(struct sock *sk) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 0460cb391ede..4999bb6241fa 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -944,7 +944,7 @@ void mptcp_pm_remove_addrs(struct mptcp_sock *msk, stru= ct list_head *rm_list); void mptcp_pm_remove_addrs_and_subflows(struct mptcp_sock *msk, struct list_head *rm_list); =20 -void mptcp_free_local_addr_list(struct mptcp_sock *msk); +void mptcp_userspace_pm_free_local_addr_list(struct mptcp_sock *msk); =20 void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp); --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2048.outbound.protection.outlook.com [40.107.14.48]) (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 30353B663 for ; Fri, 17 Nov 2023 08:58:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="Y8lHm50+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mcQz5h284Z/hGVeEVsQQP75WKa+ywnh1NEAtQ4l3IAEMjL1vS4pyEsiJ3Xen3KzQZWhmQyom5qOknAxl6ayeeyv+L8Te/IxBU9hSYkbnD/rJnFdMIMaKZv9epvoK9Y7qxi1GulaOUO6t0W1RuULt7ftNcrqfGwOa+IDbQ1t3O2sqSg8kA5N0ipy6YBtXGhvrDgFwpxw4No49K8fGzrCrZaCaNwiNcrfo+C7kh+L6666eLwTVBTTnSYb29UuwOK/tJ1LOhU8zP3lJAWEF8yzOk8uemOdoJoaB5DMZHNIucSak9YxI52VhjW6IEi/wEZiyGWFYH4m0Xl/DFI2aVQGs1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/zlpRtOb6cXcRyRmO3+sPK75wO2mXDT276iMzTwIwyY=; b=glnpUR5tGEMlwf5qaXOtmmshhIuGgtiEHeZB0OEPa7VJ75OnDRKHtAYMDhb/mJkxzk0R/xmj7r3rTkwflpNiQQhniTfLJs1JadTKmfKhxol4elxKVTevf/R6EaS+tJt2zjjuE7XPhtLDcFj9qfsF30aWch7o3npTyiOqrZZpWzVqVVepY/MQSfQkXe2H4r37+iPmbTpOdlMTrnOJIaZ/zrPjOZlrxBM4iJqclMwoK1u2SGowQVzQjB1G71W4uXpbYrZxTrIHVp4Wn51aeWKSbxDBgO/tK5qqjf+9wyXbuOtopXhPLwB375VekisA20I5MAXGsqRleaGDAC97oMmZQw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/zlpRtOb6cXcRyRmO3+sPK75wO2mXDT276iMzTwIwyY=; b=Y8lHm50+2j3JPaY/hjl8OpvbIRndv2lDIC7HVmTX0iCixWLagLibbqcLON5SOnqDudwIrkZL2VIrkA/4uBqkgz0tTJPt9SGLV8f3QUh7wmZgLgj3Nhj/IyKa3Gw6Gcur7Jxk080qTAFYzcoZ9iqAPbabdiIx4D/n1KlEP3Pe4PKeiMMK+xjBEkotaBPGl2V0DWuuiwhdAIXHz9PB310ukW9ITceazcdkE85BJSqXfT3eSVHi93uq6F3yXeCL+NSojB86puULYgNkFDFz4bEuKRZsGfYgoHexKlW9WlyYEsSISm9zDR5VXl1/C4x3/gD+DP6VF+t4cWkkYPfaLTfNmA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:58:04 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:58:04 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 17/26] mptcp: remove addrs when freeing userspace pm list Date: Fri, 17 Nov 2023 16:56:10 +0800 Message-Id: <271ee77b8f1be4ede01fbeefc622f81b43b96285.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0189.apcprd01.prod.exchangelabs.com (2603:1096:4:189::15) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: af915889-8478-48be-2b1e-08dbe74b4f9b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2TG3YtWOtvWPX4tINGs8En/wLdxYzsZ7YN49eKMOGT630HIfC+6DEW974sfELeyLqxaUqOZCKFuD8wjAB8tIUWPX3SH1MECH6dhfOEyeY07F2Pq8gxhSJ3WAzJ32BTVpHftCiermtt/jIsLVnyhb34hA+QIoc542Tx9WFGBRq+B3QfhELVgCeYkQcbsYN+p8r0tiH8P91/j7JBMwh8ALiFpCMiP5rOuQs4fTKfWLaEOFeQEAOES2+RQrjSLYeo96zmEKwS0AkvCCw6vj76o6pYdZs8nKQE631mkhElk8jNHrb4MwzRUSlfHY8PMGxe+tVti9l05iHX4QGfuH3lxpMNO33ptP5jIbp6UnJuZ7iX5G3kywSfzUmH5fa2t9G3kVy3FhxlK7GFMf3Jerbfn4n7DCiBd7nkTEgpPUQBsfx8wL9xwLSjSBh2uGUQ7uD+QvucoMsP4yjDSQGogLda8Jds4+RpM2olMsF/eU4EVtJiht9XnkDRDjofMpLNPBn+Iv6eyIZRCUqnKdwxDOI0nuTLsPjTmXBD+FMy8e0M/jlfHvspOLQWGSTwFriCFPEbA6 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(4744005)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?guxUgedudaGPRCKF0LmzCNg/QT2YkFus5WJaUqF2xMXgs8FhJq9Mha55rAhG?= =?us-ascii?Q?jxXPCYoQ2dOv5CBCA4AM3N54q1m5SSV3LRAgM2OY+R3pZBCGN0F3nUASwEgd?= =?us-ascii?Q?rCQU9VZ/TMtZbaeGG3yiJVwet7jRu+ncpw9/OLL+jo75AYhKAhm8E4M7kmYv?= =?us-ascii?Q?1yMrqWHSXtvk67MQ1dI934JBJV/MmYFxicCRuT61AMq+NlOEGFQ0fs+7xzvj?= =?us-ascii?Q?0PAnzMQ9sXlhG+S1nbCDDHYnO8m4Fxk1D2lOLL30YMqhgoPIcq+hySiQSc62?= =?us-ascii?Q?PbfT35xMRAiJbRcPyNEvIaa2Z40xwX6RB8C3bzhK1PhmZSGtJk3NZuJUgFBm?= =?us-ascii?Q?llXvWTcew64gvuyRYIIGbzfNF0ezkNpvIFRm+/LMPk3H7EkWqYGLv2HRxgsO?= =?us-ascii?Q?Hbsb5OAx1ronYx7495L7AkX8EUXYe0omgeurLUuPbdbxo9I5NtpBINvuopdx?= =?us-ascii?Q?H24+RuMGliH6M82a2bQucBhPWM0smcYjAT2B62WCnNXUG2l1jT4FPkbJg/Sg?= =?us-ascii?Q?1fA5UcloFd5z6WgKgeFyiA7mQ3p+AkOwLHeA9Rrj7nZiqpeLYiXYXy8EM0Ar?= =?us-ascii?Q?SXVmKsHeUEIr/NNIPZgyRehX73V6DYTp/+QLhEW+MBqxsGBz5LeuqgLCHDHb?= =?us-ascii?Q?JSCGjZ65wqReM7Dlmak/aPuqqLqL9weaK3wMg4RTM9TP6EznJlfBSmjskRKH?= =?us-ascii?Q?2hj/RGOC8F03uOStmhQsd/vEmmIWZuaLi6P8BBBtMK/ROI8uq+4mtVsvgFQY?= =?us-ascii?Q?ZsiaWOzKpV6IA9lm5c+MPGlfDxMvFH+VwrIbf9JnXxQqkNSf5CBGsdIRI7N8?= =?us-ascii?Q?i19IyfH2hcFi06nS+suNFNGNPAlQ2Ei+JZAodzyUSz2orHL4pomXbqNuehKt?= =?us-ascii?Q?3PalGj6w+Fbt1YGWrofYULyASg+I4B0Y/UMP3y1YivDLq8zksgjhnFjup54P?= =?us-ascii?Q?eq7gId/Ks0qIqx3baYt5WpGhAovC17DknZ2YkeyJvcbOSn225HunjKoIP22I?= =?us-ascii?Q?M36yGRlbsD2ohe3QWU3DHcY/Qh3DrIjKFxKiUGTUyqV+1JPaSi2zzqw7DqdT?= =?us-ascii?Q?j94T4BHVPbQC4qyormRGdK5Lw9fRu8QB6u1fSfVy4K4TXCcH4uQEbYce2SnO?= =?us-ascii?Q?n3WFh28lOEjsbTO0/RlY/Wn+jOYGezCLFxIOHrWbAtC4hKT9CrXLedk4c6Xl?= =?us-ascii?Q?Gb5HPYxDoON5/7Gv+vdZR9d9IAGZhuVB93etrGj4GIJuhDbgH/wOB7GPCzQH?= =?us-ascii?Q?e4XgId/l89KCjlUS11M8Xsf9lGjlIPYwEFxNmjErBd3T+RC5nb7u0g9bgU1D?= =?us-ascii?Q?AHw5OvCs0gElIbQFA3KCWtIFPT+c1aNG2QOtTK8iTOoYdkB4BG0pl5jFieQE?= =?us-ascii?Q?snCkivSW4OaceK12Z5ooTEFcHKwenLsDvDk9yKlLw722a8gjUdI9D0nyjWkM?= =?us-ascii?Q?brYONvW5jAqxIKHFkIdztuVaEtG/BNEpRRs5tGys37hVtUnNKEbBCniCMnxE?= =?us-ascii?Q?73ZYG+1JOEOZEB0X6YRoK88ClviZrzwHqwGF58hEHLydfchW6g3V06VTV40J?= =?us-ascii?Q?NDWTS7hTlDu+Q8IfJFsma3BH8hllaWnEaCxdl/IBy54p9g9J0eS58rAO+/2+?= =?us-ascii?Q?rg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: af915889-8478-48be-2b1e-08dbe74b4f9b X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:58:04.8808 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eVPvaaSafDqcTeVEznXpM8k0ddr+3qpGF031Hi0y5aw5PVVxFW39Plex6ezFxdGDTJgLRmvmq4IzwchojmcWZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" Before freeing addresses in userspace_pm_local_addr_list, RM_ADDRs for the addresses should be sent and the subflows established with these addresses should be deleted. This patch invokes mptcp_pm_remove_addrs_and_subflows() in mptcp_userspace_pm_free_local_addr_list() to remove the related addresses and subflows. Signed-off-by: Geliang Tang --- 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 87cf27dc1d0a..9fc5dbd346db 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -20,6 +20,8 @@ void mptcp_userspace_pm_free_local_addr_list(struct mptcp= _sock *msk) list_splice_init(&msk->pm.userspace_pm_local_addr_list, &free_list); spin_unlock_bh(&msk->pm.lock); =20 + mptcp_pm_remove_addrs_and_subflows(msk, &free_list); + list_for_each_entry_safe(entry, tmp, &free_list, list) { sock_kfree_s(sk, entry, sizeof(*entry)); } --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2045.outbound.protection.outlook.com [40.107.14.45]) (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 AADA4B663 for ; Fri, 17 Nov 2023 08:58:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="5IJK5H1R" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TH5dfjyTedlxtUys/oHJ9LK+fo0xDB0am94Pg/9HXnzdtdpYBTe11Up4f1+EHjBbEW6jbj73Gs1d+lpddNcXjlsbAAfnYkmaqL0fcWLBzmgao9YCYq0myTHJNkbKDrEc3v/eEsQH1FRLKXRpxkKhFKbu8gbQclj9onkHn0o+pVRvuAeM15WFX3JW+XCFG6A3HyCni70/WSuYMr1+eCbiawEM+cTqin0mhHxYItRzJeS3pxXeYd87a4jqqUduspexp7ZEZplOzLXB98CrxAuDbNdyoG4zQbAIghS7YEQZGGZPzD4HnijRTdpYuAnRbgs0n6s9y+ssHU7NZkA8/0AdcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BZoWC+Yu4gf47BLZOBPG7qKeOc+M63vRFX6TxkXdf+Q=; b=b+B+bVTo06LriPCkiGODnBviIqSNwSdTHpNkec+YfCVl4NtmnL8LIF7R/N8y+bP0FMzIkzu+8QAVWkMUQbyQMpBdzwero8BlaWCWNwGIvIba8O2u8nzE93CKmjCbQy2zLHyWVzoAJWD/5W5Q8w+yWO6DW1aLKSSnRTyuZRPzUsAdhHmeDbARvGt1qvEw//j1SURCcMY+kg42l1QBemGk6mXRTbKzyzTrRfItDpFVfeE1mJ7QNn4GbnQO6W5TvgnyahH04bzNpU6/QN4u4WhJBl9qNlPZSKyDkN7D/MdA8EoeldupYUp9iDKnw4eQgjuJxtvyS//M/nGVWqEPYNCsxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BZoWC+Yu4gf47BLZOBPG7qKeOc+M63vRFX6TxkXdf+Q=; b=5IJK5H1RUucytVrAHbhpm8SbJ62d5qUJ9pQn7cs5w4qpgNUymJtEHYoZ1xCGVrvL6wnoSfX26J0MsKJeewISS2zX8zyyLLv47AuYmPCzgIJmA9I8GxhUwxyET5fvGdno6edHFewqwTMfGf28r5KQWbV7X+MbvXBzZ8d/v+jM3XbLIaKzBuvFHnj/BH9OjwtEjV662qjfuWyM69Nkif288nNfp9XD9qbCW+h0QbQkUz56j2JiTSRvoGC6YBuj7CSyNebmnq1EgcOStbGrW3kXHYm5yceIkrlFiwHENq7zWKytLbesh5Oix9RWtUDG9unfjbNRzJJJ/xWOCBjMG4pMQg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:58:11 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:58:11 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 18/26] mptcp: flush userspace pm addrs list Date: Fri, 17 Nov 2023 16:56:11 +0800 Message-Id: <77fed5e2f323633c5ac8ff8bf03a451bce8e8474.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0185.apcprd01.prod.exchangelabs.com (2603:1096:4:189::19) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: bd96f837-34f9-49d4-3664-08dbe74b5376 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xwQrcD9ncugG8ePvs0Y7o3VahLfNWpu+/ErlRIvET1wTP3Bqyu2Svx7eSsLmnE1B9COOebuNpKAlXqTt5/rezGVrci60wF3E4s2we6xiciPuBKNE/E3H2wAl746jjSQAUY/Occ9n422jysRpahvt/lZOX1+WVsw/h9QHxxaKPl+rpsDwRuJT1qm4KXxjY+B/a1g0F6Sp1+lZ4FIsg8WOY1Fp+aKzAlVcjmM0/bV4Ni2rYqywlSvXZTyJ/zVOVjU4RLQo4bk/FLwy8NnidFg5VO/95z31mVIiqU7Z/0sint7hi9xzjb3p/hOValGr9UTyeptWvBC2qpdnyPzrQn4M31YiNvfosh5iCaOgZ0ht7LlHxTD9oFI6vw+jvA54t+Age2vPS44KZ0l2nrUPVcfZmecrX/K9EkE0xA33nBQ6p6IuX4FjwtMRoR6wT0eSSpVSNoL7loTMtX13Qb48xHGX5Bl8uZFhkvlYecKxkkyfGCuPF85YsbhnsFPID72iCh96jtfYOt3FX6YxxM+LdY37V1Lgk8flYhsD508bZ0veV5ihzqjFx2mB/V7GLpUxjsTH X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ou4F+h0lsjL8gHUFYTdqBRZyX0uMfR47Db2+gR7AV3ZB2bW7r0ZA65NlYov4?= =?us-ascii?Q?l88eDUkbXSHWYrd0OnMjLef4hVIw7dormlXYpwN5J4n9iValIKVm2nTM+4GU?= =?us-ascii?Q?R1S5pg6iZzmZGiL9xWoT8hI5iSVLln4dIDR7C5TVIHz45Wc7zLn+HciJ9aNS?= =?us-ascii?Q?RfzY8kByKC5tVSNe1OlvoHFheVM9ph8rxjBkF5ucQgk3wQTWCgBuyy75V4Cz?= =?us-ascii?Q?wsO4fjwXu/ivY7xFL+HgRfGqbbj3f2tXqDKTMgC+/RJPt4wJ3vzba5xK12m2?= =?us-ascii?Q?Yh78yF+0cLmshKj/FW9H2bbzGpcOb248q79TnoHILOv5hGaBmiFqUpJQSN0s?= =?us-ascii?Q?MKxtfAZBE98oN3O/bfaI23IigGCtMXL7hvFsmqK0f3nXOiDi49XP4ndcEvY+?= =?us-ascii?Q?BsxaoHms5iOHWPx8I91NdtV/Uf9yVdXPV7Kn80iUzteToyIFQaDC78a6S+Qg?= =?us-ascii?Q?j4mVB7BH/bzmWwa/OLWTgfVKO0Ht+mum95OTr7UmMUPwZnTt4e7tqqgNnGYi?= =?us-ascii?Q?SYNhzdXwoQU+TEHrKc/rexqwRJFQJw4cSKcLmdI07/thprbveZ3brcM4Lu9e?= =?us-ascii?Q?/AHgQuAnpV3TB7S6VfbPgVwcIBokwZAfqUUgkb8+tTUcSkn+3M441js4raP9?= =?us-ascii?Q?0ct7sXWrugAwUgZRrxxiWDYafTzy8d7eAnNK1y5NwmiNyQEEzqFElp7aiZ97?= =?us-ascii?Q?P/g5ch4jXUt2IKQHIZl8RrSZM5Nzs0KqGBt0lBmu3dJFJieU/klKzlhLMrfq?= =?us-ascii?Q?0FRgVeXH5Zg2l5CtB7mp55Z+uWMUqZbSWnT7ooBmVPzqFlu8GYK4KbL0Di/9?= =?us-ascii?Q?Xqqbp6lZ4vs7oZ8tgD6AZo+FCoozOHbCEv1p8d04hv15U+ge6OqFgWvbyg7L?= =?us-ascii?Q?IWMXtj7d3MqrKYXeJg+oX6nz2JLoJIcAF6cTPTWqGYPtvUs65mALckZrwetU?= =?us-ascii?Q?/PPq2wtTr86qyl0p1iBH78YM3hYHbbQxefecouwNHTfCra9HtEzejqGNmnEx?= =?us-ascii?Q?BJWj+WMQn/jcu1lwTG8lvPQpCEOheJcE44qjxSBBYVV4cEsFHHGRdysGZQGp?= =?us-ascii?Q?OM4Kgu/TI27H076LLUw77pkFtZC8B7wBBcgB7DXx1a7VQOGPa6Y2WN/SpH3A?= =?us-ascii?Q?kZ6QweE2r7mrn8a01ZWSZLPpwIVCq6sbhociF8H0TParqW8Lv62C91TQddFX?= =?us-ascii?Q?d51pYhXNCFL5qJQi+3D+O73GTIcm12dGO84qRvi+Imu3UBKcykR9rmyFAaOD?= =?us-ascii?Q?0hs54FX6rxQD73ouMKFvo4vZj6aocIQtf1WBjzM4V8XcXmmeys1QCAfdizzU?= =?us-ascii?Q?q72peDr4GJmK0iLaHYY/ZmoccsZ9/QIjYBuwXiXrcsAxDL08otWFwoBbJc93?= =?us-ascii?Q?LSCVaqCrsp9aKVTXWq+dp0NFTJSqv/omOFSe+pJHuBq47cNCz1MGuYa28MR8?= =?us-ascii?Q?srxwqcsNMq25chu2BkGlFY4rZyIBt9tdKJqekdJbnN93TIEC82eJQbc0rahv?= =?us-ascii?Q?2IaRzM8hFKfjV+EjB1CDgfTEspsRacho4EDY1WvtdF5CLk0SvH2SSo8n+9Ac?= =?us-ascii?Q?BqK+w5X64EbXGGPdlhEK3Agt6EyJq6nZWZwMRDM3bDHejHz2XrRND2gOe/vj?= =?us-ascii?Q?Aw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd96f837-34f9-49d4-3664-08dbe74b5376 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:58:11.3196 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FKjaaQBf84PDwPKP8YwDDRNukd5c48iiUQblDOO0GLpcvx96iuWyqR01M5V6zHH/otoxEACSnojj/hD11dn+tQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" This patch adds a new function mptcp_userspace_pm_flush_addrs_list() to free the userspace local addresses list. Invoke it when flushing addresses from netlink commands. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 2 ++ net/mptcp/pm_userspace.c | 23 +++++++++++++++++++++++ net/mptcp/protocol.h | 1 + 3 files changed, 26 insertions(+) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index cc4ac206f848..e571d6cb3a4c 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1572,6 +1572,8 @@ int mptcp_pm_nl_flush_addrs_doit(struct sk_buff *skb,= struct genl_info *info) mptcp_nl_remove_addrs_list(sock_net(skb->sk), &free_list); synchronize_rcu(); __flush_addrs(&free_list); + + mptcp_userspace_pm_flush_addrs_list(sock_net(skb->sk)); return 0; } =20 diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 9fc5dbd346db..aef8cf3d208c 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -596,3 +596,26 @@ __userspace_pm_lookup_addr_by_id(struct net *net, unsi= gned int id) =20 return entry; } + +void mptcp_userspace_pm_flush_addrs_list(struct net *net) +{ + long s_slot =3D 0, s_num =3D 0; + struct mptcp_sock *msk; + + while ((msk =3D mptcp_token_iter_next(net, &s_slot, &s_num)) !=3D NULL) { + struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); + struct sock *sk =3D (struct sock *)msk; + + if (mptcp_pm_is_userspace(msk)) { + lock_sock(sk); + spin_lock_bh(&pernet->lock); + bitmap_zero(pernet->id_bitmap, MPTCP_PM_MAX_ADDR_ID + 1); + spin_unlock_bh(&pernet->lock); + mptcp_userspace_pm_free_local_addr_list(msk); + release_sock(sk); + } + + sock_put(sk); + cond_resched(); + } +} diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 4999bb6241fa..139332f48a66 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -945,6 +945,7 @@ void mptcp_pm_remove_addrs_and_subflows(struct mptcp_so= ck *msk, struct list_head *rm_list); =20 void mptcp_userspace_pm_free_local_addr_list(struct mptcp_sock *msk); +void mptcp_userspace_pm_flush_addrs_list(struct net *net); =20 void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp); --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2049.outbound.protection.outlook.com [40.107.14.49]) (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 C88ADD28E for ; Fri, 17 Nov 2023 08:58:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="Yx9VUSsP" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UB88Rt3mkAIcuGB3fMzQgh0KIlloloX7+doyict+aiteOFAITCiVNuXS5CZCIMxLGN2S6REC9IvZ7Z69o8DJIBbm3emQLhltZkbN82Xmo7Wl116IAmsXWuFIESNQDNaACumHxONZiYjANeR0U2eHAe8ELVeD+cnRqrBQjAbTNsoJ4owxEnNGJZJ0jzmmCJZUSgciTCqX3Irlz1maWkJEA+7Gpbtb9F7j0Xh/aQmWau4NEKsYwg40rK6XKHYKW6/VUuP9egOE2jkPpqxfN0d4eZ2Cy4u/bs99rP87XlcrGaPQNNNCA1L+YfjRYBfZr6dpC/HDZy3AImI3cE6WZqs/Pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zApnFQdMLG4tzE/lj8RpR2Ius2mP54New5jPJdLe5ro=; b=X9wMEXPWIXG35FnEP4iOeGKjFcraSeUv+X9YepQiy3U4EYzfEs+wjORGFbjXy3UL4uwBU7g0ggJHBhwL+QKrVfczOQBwF4ugMtZula8xnbcNLjjqvZU5g9jxtAKCXJUodyrmhunDnHjYC9KPuYe7jaOPeZle+epdzTLqDmNzM/Umi3q5aWhkmqaAhG9UQWH5BoKv2t8GUnkCfKtOffML+vGYyJDetA03I2iFqMfl7V05YuLlhMLK75w7QWNHK8BuY7Al5zDcSU4uvrrF1auVk/bWzwTMHQCCZBO9+fPq+h/G6Hb10VealO9jKG9jRkxhOXySP0GhQKSUWcavy2Kc4A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zApnFQdMLG4tzE/lj8RpR2Ius2mP54New5jPJdLe5ro=; b=Yx9VUSsP/WZ8MGrCZy1+7Uulx1T9EZEwIsnB9HftNA9ZR3rLtrP4LMjb7UqNp4jioaBwpJRjxNUbXa8EvoIANFPDgLhV4ncuUy3A6AtST+J7ZBZx35kus44n5BriXjr4VIow7wE61VoUD1n/3oT22ThziWoGwdtX5MBEJaWBEyLdKZ4Gg+kG8m0cSTGQWWNqzVzfuzgGA2q0AaO5dbwQvdkfdAYkgzGvq54H3oCCPR/2uLoFmyxtalzmN3aAjILK1UPDsswFKPnY9AdoODzSPYJPUKkj0tOK1DXPCqYSXltQOAeqVU2oDAOfFnnao6wt9sycieJqqtjVPw6z2vlB3w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:58:17 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:58:17 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 19/26] selftests: mptcp: flush userspace addrs list Date: Fri, 17 Nov 2023 16:56:12 +0800 Message-Id: <280b1f758ada6c52641ce1896f7b765108ee390c.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0032.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::23) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: fe4b279a-db70-4d81-b9c7-08dbe74b5728 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SkKzVjCzUzmG/J6C1Af9GoMWPYEU8hmvASMJgDxx3vFWeM+mbRlTo4LY2XVHLCvqa/uT8PySl+E7ke5aPhRlo+OfUy4QPdYdPm9t2Xq0J32o59xJHGRDoLiaSqwWEbYhq3jqx3GjwgcVScexZwZaNykYKROVKjRnBHWznUshAgN9sCstzzT5K7uTQwp7S3lAFAPSdaEbb1wiHpP5+sgMHhZQQCJB48tRLIKdgguDytK4/125Sx1aelG3EeyR8u3P/NTStar+j0H36PPx+23dXyBvGuBG/MVtjQ2E+O8GvaxSgIknCmrJW4J/SgdP9g+p0ZepgO5W+x0BNZ1ArVlkrbOsFaf0Sdd1dmE4XqR0bRR6NJTc+e5a9fdHHjQ7fVAwooMNnn3WorAvAyVdgVeZcBlgr3kPd/OuZtNQvkx+kM7+1T6hrYtJjcQZeWInxceGtwR2DCA+cvaRRkK/vtcs0vzWyQUMKqjzzyIK8PbiDjcnm7B91jerdnp8ndk/lrHiAU4z+hIhdgriol0MYLlzyL0Qx+ay0Ss2ugggWIwFPd+nYWQpc132hunMIgBSCFe+ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0+5Gh3xuUVTpHWB3dK2RqVMrDDIn7hK7zJcn+zLzLSf/06zHHI3rOL/XhyKS?= =?us-ascii?Q?7VYCKrLmfOifcB/9pJbGf2chrA0qWmC2csDPxBY3Jq9DXj7KOsL2ipso51mC?= =?us-ascii?Q?REY2szn9W7Kp5xAry4V10HBdwxcq1hs369y7zeGXGwaEzhqbKJSExcFk3m0j?= =?us-ascii?Q?lttHMOAtVopew/RCXqG5evPcB+tn8OY3eo00qWpyUm8Z0SgGnZR6IIFxrSKo?= =?us-ascii?Q?QVfQZlLQXsBTzWKp/qB7L3RLWqI3iE7F3dHHNjOZUIZyiyLSvlV+HMDQ0jHq?= =?us-ascii?Q?oKSbTDt/kOgDOAOv5S5W0P/4a2vDAdt9S0s898XrTfs4E0jn8wZ5cKyrCuhr?= =?us-ascii?Q?2/ZgnhWOOIUR9pokGuc/gxKrIgISsxVMLmURE7HAJqjyjJSjwkL5yQsfbYzr?= =?us-ascii?Q?xTNrLXDoogEWBlILy50OzFaq6iWDH8GuwjnO2TQUOm+xT+NQjE2OgDgbNBPw?= =?us-ascii?Q?L4biAaKA62Ob7xmW4pJ9LmP9E3v5DJ9HY/MGuxC1lF3EaJEvWhBnrmUi+gS/?= =?us-ascii?Q?MnMMr9E9Wid8PH/HZYHK1xCNCj3tPVYcV+iCMD2kPpsUfOMG/NH4GTW+AaOR?= =?us-ascii?Q?SpDEqXLTWVjTr54prwGtI1jwwB7CXgKkGtYZTOM9mIAsAAH2HDSy0sCPxxXu?= =?us-ascii?Q?vRsu2LrXuZzWfR5+6JCVIMi4Djmvg47hkUgRvaW4bfZ7+D14GBGvFyEsDcM8?= =?us-ascii?Q?i76B/5dxuJXYR1TNzVUBzLXL/F+OrQqIzGztqIFuOcApU7vcKH4TgoEmo3Uu?= =?us-ascii?Q?TslJr0ihq+bmA0ABWbmKk1to+j9wpgo3fB76xM6xd5hwSrFe+Ii5mxKXQbEC?= =?us-ascii?Q?kKmttZxEzL8R31QzQfGllwAALdrwMo+7zWtLeYL7vPox6oKJYKcsP9wR0Y+4?= =?us-ascii?Q?I3zuoIZTiR+2XOOo7Zd3RlGKyY/7a0FWgZ7IlvyymOC4pMJ0QqFCDUKJvFud?= =?us-ascii?Q?gE1VKPqoNk3XQZk4IHXXws2peHikSa8sO5bq1a5/brho4F3iDBhdhN9Vs3dR?= =?us-ascii?Q?09E8rRYZU3sH60a4Xgx334GVaWYz14pPuHe6iK80oBlCUp9u9FxfLFpDc9NJ?= =?us-ascii?Q?s7DAISDmpQFiMgpGqTIw4mrYcfdT3rgYRIr0Ma/7PkRJsDN2iNSkOU5r0DiM?= =?us-ascii?Q?Pci9j2fuAX4At6EKSdtKA9jrT5U5MCgxR7eAXJFGN2Uz7vKNaTLMrA0uelsw?= =?us-ascii?Q?YOI3nidtuj61rBG2Mci+VWoME/U8P6G/6mmv7NrpIchdM5+lEkqITR7ZILCJ?= =?us-ascii?Q?2UNsyIvPRq2BL8c6FQS6DKzTDZ3JlD/R4/0aUZbKpY23NGcORH7V3YCpVO/F?= =?us-ascii?Q?3zBXFPQTaSyq/5KGTQYwI9r0E5Qc34aqecY2zEhMIWXPVXU8XAcJrTY8y+zt?= =?us-ascii?Q?M/v/MsDwgB9WCz8xBqVVxhCLlKzDxuVSeIqgIuryn9GhOIpspLEuIiGb7a0U?= =?us-ascii?Q?ecNHeBK+56okti2sph2TR+gE5hxGp9i5OntoaT3BZR3a7MhnroyaIb+ak3jI?= =?us-ascii?Q?KbAZQbuK7yFmyV5NhHFti1kH6PWlHrY7OdB9bIledhOk2z2Lt8L2QToE6gJi?= =?us-ascii?Q?53ImLRRnoMLyrUymOi3SLdc+Z01LhaPJNp0HXGtsLuEPjooc0qt5t4pFRNZe?= =?us-ascii?Q?uw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe4b279a-db70-4d81-b9c7-08dbe74b5728 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:58:17.5266 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GmnOtnKEa3sulsAS0cpNdLkByYCp8Usa4KnUyJdFZEJC73XxgMilYcGNzGwjps6w+GBK/KqZQked5qUs4v+ZSA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" This patch tests newly added flush command for the userspace PM. Add flush commands into userspace pm dump address and subflow tests. And use dump commands to check if the userspace pm local address list is empty after addresses flushing. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 4fd1688498f1..372c2d83b4d0 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3513,8 +3513,8 @@ userspace_tests() wait $tests_pid fi =20 - # userspace pm dump address - if reset_with_events "userspace pm dump address" && + # userspace pm dump & flush address + if reset_with_events "userspace pm dump & flush address" && continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then set_userspace_pm $ns1 pm_nl_set_limits $ns2 1 1 @@ -3530,12 +3530,18 @@ userspace_tests() chk_mptcp_info add_addr_signal 1 add_addr_accepted 1 mptcp_lib_check "ip netns exec $ns1 ./pm_nl_ctl dump" \ "id 10 flags signal 10.0.2.1" " dump addrs" + ip netns exec $ns1 ./pm_nl_ctl flush + mptcp_lib_check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + "" " dump addrs" + chk_rm_nr 1 1 invert + chk_mptcp_info subflows 0 subflows 0 + chk_subflows_total 1 1 kill_events_pids wait $tests_pid fi =20 - # userspace pm dump subflow - if reset_with_events "userspace pm dump subflow" && + # userspace pm dump & flush subflow + if reset_with_events "userspace pm dump & flush subflow" && continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then set_userspace_pm $ns2 pm_nl_set_limits $ns1 0 1 @@ -3552,6 +3558,12 @@ userspace_tests() mptcp_lib_check "ip netns exec $ns2 ./pm_nl_ctl dump" \ "id 20 flags subflow 10.0.3.2" \ " dump addrs" + ip netns exec $ns2 ./pm_nl_ctl flush + mptcp_lib_check "ip netns exec $ns2 ./pm_nl_ctl dump" \ + "" " dump addrs" + chk_rm_nr 0 1 + chk_mptcp_info subflows 1 subflows 0 + chk_subflows_total 2 1 kill_events_pids wait $tests_pid fi --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2077.outbound.protection.outlook.com [40.107.104.77]) (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 9811FD28E for ; Fri, 17 Nov 2023 08:58:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="DIlxekmB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GfzBJW8w2X9/IoR1GyUAlYkLuFdJATo4mJ5RCzm9Rj6ZhhT1m7Fs1aYbTX+AOoBPXjo8r/9ajZFoQPn+SXytST5pC3KpbicNg/WfKrCxPSDaz4UUMYlKO6gUZ6DAKt1Z4e7GzIT8lNrz0YK3teZZ6bFlZLAiEvMJSLaVAT+piKPiXRdb++H1LOZK78q6/I6yH9M9DufQneH1Ca6+/V8sgH2ccgOgCGwwT+F02gvZKs1zmgShXQdLKfcq0AayrbjDzbwSOCrVS8fUPLi0rjLFCqatpBvpblhQ4ZPvn8bVDkszMkuvZsXEb39ZA6bvlgxS45qc/qfbK+h49crPaSe4KQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MNze+fgrggI1w2WWOg46gAtgltvA3IZiwMCDLH7IA2s=; b=Z1qI7mwuBxm5nQOTZYg3trIYkR0INhic38Ilg7/xSaJzdD5QyWnqTLm6UwlXNXfBeEFrsPpCHeZiXWShSemgIxA0i9ZQJfX4o9jTy0C4NUUyjxKkYm9oJD1FAZ39K0NY7x7lD5QPkgteeDptF0kEFaTZZavK6N8l8D5bzlVt7vzbnTFeqUTDrhuCIlscTZTv13FuHBoxidR+eYIg6AGsketc35zMqAZ2UqeF4LoS/O4gIGJiLoHOb+5BDNWUjoChdoKPy+2wuX50XV5qBV+dvWEkoPiODTDXiFOKV2x/hRNy5TpgDM3EysQBBkEqfTRs6LnLFBf0Gv9lfoNrLKWSyg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MNze+fgrggI1w2WWOg46gAtgltvA3IZiwMCDLH7IA2s=; b=DIlxekmBO9lJysoE2SmZIthtp5ztNq6A7y2xP0TdtILaX33Z8gBvdPZjX7soW+kCzHBu4HFkWscaxZVzdZK/OrQ8gthLKn8LaCwtrhmKiCU+17byPJbUSxs9ysvZ2kc46afXPYQUju6eckhcSjeP1T0x2QvAsiTjh5UIidCC//1auf3Rg/5ODo2Cn8nC3+boQ5xI08So61ljpCqTJExEcgoqMuMcQAkHxPwT0FyW+MW4gGA7X8TFY6aZf3uGAaicDH/StCNFafINgs76Iaee7qYH0qi8ZqSVE7b0aEb89EGeMWeh/zZMPC+j3qMyM9WxkOyKF2KveYPLF1rNKylScQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:58:23 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:58:23 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 20/26] mptcp: add use_id parameter for addresses_equal Date: Fri, 17 Nov 2023 16:56:13 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0020.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::19) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: ccd4a159-4a4f-4abb-ef06-08dbe74b5acc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oxWoPlXABN7GCRcj8j+p4J4hiAPRJvKJBLTZuHJQJgbKDHOETlzCimjN/ssrtW3FBRM8vbdRQccoXDaGhi0raRDtLkD0acd9G10R33gxgUmJN1zLiuKwUtsD0Jvx9Gb7zw6xsIJFqEQVSjp+QOiVPZJlWkFpS4uz71eLzvLSCjUP/qlTd1vSJnbVd8KhqiFTg7iRUaENFspZ0BoQX6qxom49+q9TAZ3I1C0wQuzfzF0va61nhIHt9z2Xasbv0BxjqGqpsESeruAnhFABIOYegCX+5hXZhG+UEhBDdd+OaO90OrVikpAxtck/XE7PQPY3fPZ5Va32RCxDFhxWLkwKRHrJ3PFcdMAoKBt7Rd3W0MiMwJKmIT99nlU5DmuTzBLnpBZDc1H3W5ZWAvzAem2612girSiq15OdLR/SmOfAr8jVZCuNItvAPF59jvcNsMypr9sQbwa/S6RMlsepI0/vWcMcW/95jWqTp2osAq/XRQ7mD941ZWZslK6aRwNeYkFreMsdBu6Bji/cfKHt8X5ehrL56GonUxpmmn6/Y597NIVNewdlZUIGj3gheyAODLDw X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XtOcjA/ejvIrD1ZUVFww0WsTeABD4DgU1/1GzX2QqbmzoYMSY83e+F7suohL?= =?us-ascii?Q?214M4oNPOPL+cleyKt5VZWol/Apobs5QLodYo9r9DJSp4f+UWDky77tHhPoG?= =?us-ascii?Q?TtAkLEChXUt+bT2vk2nddiQMhaFx4TDzTBQhOK+dbXVn8RULm4W4Agkh0fbq?= =?us-ascii?Q?StJZRVU+BQndmkbmYj0PfAtdsIWL9+BuyJMkgbRMX/fyv8aw/T1Qji/MzE3L?= =?us-ascii?Q?kkuAZpeBVbkbUy+/C5t95LIqeGw/ZeeDXxdTgmSmKOpYvDHav1p4t5piCNxW?= =?us-ascii?Q?w/kGdE47UCjLmeDONMkEoo+cHkPBH0YYHSnBLe9WndJnCFRWIegP1ZQmWVJ4?= =?us-ascii?Q?jW8lq6uH2poDIcnvref+Sm++YjnyIRvOsbekbPlTFFrdlW+XfC208wsa4zTq?= =?us-ascii?Q?VKkdk5bH3BDVQa0OF1TcyRHCrslGdGDkwjAZZ8HioXngSOMzjiN9JrVxG8+x?= =?us-ascii?Q?uPBV0+UduaSf6TNcaH/tXDxmkLIH3h1r6nmjk/DShWuyZDI0UWnaPlzZsSZq?= =?us-ascii?Q?u8Y4UQLno8eaMvkESMMNNRmj5SrOIo6Yy4sEUPe7RLueQ1hdprixxjN2qLu4?= =?us-ascii?Q?ny2/6BL7rQlB+bLev617jhyt8TLKsjbTBVbXc0YxdTmqdvkwcz1vniAHZVNT?= =?us-ascii?Q?uRVFJ/fYHgPPYoOrqoddckWFQzV2NPPKOeiCK6rjFvK0DkaqK5MeY2ZNBl+D?= =?us-ascii?Q?TwYFYhDrdYSehr/PH5jT13TF94AFSmZK4RLaI5EoJJAcqFO5LfzHIvc+ZEUD?= =?us-ascii?Q?YSL1b4Oxge5GeHXAfb/kP8Zk9pr9H+yJIAJJ39EKInVw1PWmsPYIr5So1YSC?= =?us-ascii?Q?F69npyMlCSPWMrSVcMdomMClZLN6CEPpH7B1N94vEBgUygNi1Qpem+m2Hg8l?= =?us-ascii?Q?yfqGl60zONvgLah4NgKOKjCtBfiOBveIZzYsFnKrNoTysTaIPmCOFhwVNodx?= =?us-ascii?Q?I9DN60s/JFgo5Q7xcQ7EILoA4CHnGoVi8r1KPNwoZXrf8G7VSv9mvW5yjlyT?= =?us-ascii?Q?IqCgwC+8zYHGwz952H+xA21vIIHqMelIUoz1cqrQLdjBcARtMLWVnlGVgJVo?= =?us-ascii?Q?5RfwTr8M94hdttAhSJkGlUCfR3zsnQMfBx5L39Ex+Kk051ken/Stfa9xJRDi?= =?us-ascii?Q?W7rL2rsbY+mgmiuv73+YSh5GmMCezD3hgBfRxj6Zedb/nKIQr4lPCMZWNGX9?= =?us-ascii?Q?QiXb8MD9IDiRhWF6D5a120DrFH1TSGeCUc00q3nc4rG8lwBVYtAF23mN7fBw?= =?us-ascii?Q?vQ8uNesIHrXT7RxgFVn6QIdns/YTm/ooYf2pDMnpklaq8LjkMjzqe8ZM67TW?= =?us-ascii?Q?dM0IeKBLDPHhU0Z0kWnFGOUggIwkOCfVs0w6OHjZL+7sQK1wDQAgvaXxGtEn?= =?us-ascii?Q?CdTERlbrHIxD2DC3K47IeEi6/2FJLiasuOG6xVR1SZVfEgFToAdrwgYNiW7t?= =?us-ascii?Q?w1p0dib0pOqburiZ25uITYDaaJ+zrMVcSnIEbzbB0zczoU9Ur2BOYSG4I3gN?= =?us-ascii?Q?AAdCp21CiMh/vI22+8PujpDnghsDuH98zq7unmCZYxt9/LXj433Fr1/bWJsn?= =?us-ascii?Q?yydw4/JWZi04B43uHzV1sNgj+lXYTGDyKUleNcVW6QITYAfeF00WgwCiPu8H?= =?us-ascii?Q?bw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ccd4a159-4a4f-4abb-ef06-08dbe74b5acc X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:58:23.7640 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HCSh5DiPIt9iPyXh496ZEb+QQXZZVxnuJjIo2j2gM8v5Nj1TkDIJ7ovN7z9rM9Yd0xTuZqsnmP4zL9iudshD2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" This patch adds a new parameter use_id for mptcp_addresses_equal() to test the address ids, as well as the address. This can be used to test if the two given addresses are identically equal, they have both the same address and the same address id. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 2 +- net/mptcp/pm_netlink.c | 32 +++++++++++++++++++------------- net/mptcp/pm_userspace.c | 6 +++--- net/mptcp/protocol.h | 3 ++- 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 48ff7ce20890..77a0e859076c 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -420,7 +420,7 @@ int mptcp_pm_get_local_id(struct mptcp_sock *msk, struc= t sock_common *skc) */ mptcp_local_address((struct sock_common *)msk, &msk_local); mptcp_local_address((struct sock_common *)skc, &skc_local); - if (mptcp_addresses_equal(&msk_local, &skc_local, false)) + if (mptcp_addresses_equal(&msk_local, &skc_local, false, false)) return 0; =20 if (mptcp_pm_is_userspace(msk)) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index e571d6cb3a4c..d82e9456a772 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -47,7 +47,8 @@ pm_nl_get_pernet_from_msk(const struct mptcp_sock *msk) EXPORT_SYMBOL_GPL(pm_nl_get_pernet_from_msk); =20 bool mptcp_addresses_equal(const struct mptcp_addr_info *a, - const struct mptcp_addr_info *b, bool use_port) + const struct mptcp_addr_info *b, + bool use_port, bool use_id) { bool addr_equals =3D false; =20 @@ -68,10 +69,14 @@ bool mptcp_addresses_equal(const struct mptcp_addr_info= *a, =20 if (!addr_equals) return false; - if (!use_port) + if (!use_port && !use_id) return true; =20 - return a->port =3D=3D b->port; + if (use_port && use_id) + return (a->port =3D=3D b->port) && (a->id =3D=3D b->id); + if (use_port) + return a->port =3D=3D b->port; + return a->id =3D=3D b->id; } =20 void mptcp_local_address(const struct sock_common *skc, struct mptcp_addr_= info *addr) @@ -110,7 +115,7 @@ static bool lookup_subflow_by_saddr(const struct list_h= ead *list, skc =3D (struct sock_common *)mptcp_subflow_tcp_sock(subflow); =20 mptcp_local_address(skc, &cur); - if (mptcp_addresses_equal(&cur, saddr, saddr->port)) + if (mptcp_addresses_equal(&cur, saddr, saddr->port, false)) return true; } =20 @@ -128,7 +133,7 @@ static bool lookup_subflow_by_daddr(const struct list_h= ead *list, skc =3D (struct sock_common *)mptcp_subflow_tcp_sock(subflow); =20 remote_address(skc, &cur); - if (mptcp_addresses_equal(&cur, daddr, daddr->port)) + if (mptcp_addresses_equal(&cur, daddr, daddr->port, false)) return true; } =20 @@ -205,7 +210,7 @@ mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock= *msk, lockdep_assert_held(&msk->pm.lock); =20 list_for_each_entry(entry, &msk->pm.anno_list, list) { - if (mptcp_addresses_equal(&entry->addr, addr, true)) + if (mptcp_addresses_equal(&entry->addr, addr, true, false)) return entry; } =20 @@ -222,7 +227,7 @@ bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk= , const struct sock *sk) =20 spin_lock_bh(&msk->pm.lock); list_for_each_entry(entry, &msk->pm.anno_list, list) { - if (mptcp_addresses_equal(&entry->addr, &saddr, true)) { + if (mptcp_addresses_equal(&entry->addr, &saddr, true, false)) { ret =3D true; goto out; } @@ -463,7 +468,7 @@ __lookup_addr(struct pm_nl_pernet *pernet, const struct= mptcp_addr_info *info) struct mptcp_pm_addr_entry *entry; =20 list_for_each_entry(entry, &pernet->local_addr_list, list) { - if (mptcp_addresses_equal(&entry->addr, info, entry->addr.port)) + if (mptcp_addresses_equal(&entry->addr, info, entry->addr.port, false)) return entry; } return NULL; @@ -704,12 +709,12 @@ int mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *m= sk, struct mptcp_addr_info local, remote; =20 mptcp_local_address((struct sock_common *)ssk, &local); - if (!mptcp_addresses_equal(&local, addr, addr->port)) + if (!mptcp_addresses_equal(&local, addr, addr->port, false)) continue; =20 if (rem && rem->family !=3D AF_UNSPEC) { remote_address((struct sock_common *)ssk, &remote); - if (!mptcp_addresses_equal(&remote, rem, rem->port)) + if (!mptcp_addresses_equal(&remote, rem, rem->port, false)) continue; } =20 @@ -884,7 +889,8 @@ static int mptcp_pm_nl_append_new_local_addr(struct pm_= nl_pernet *pernet, entry->addr.port =3D 0; list_for_each_entry(cur, &pernet->local_addr_list, list) { if (mptcp_addresses_equal(&cur->addr, &entry->addr, - cur->addr.port || entry->addr.port)) { + cur->addr.port || entry->addr.port, + false)) { /* allow replacing the exiting endpoint only if such * endpoint is an implicit one and the user-space * did not provide an endpoint id @@ -1022,7 +1028,7 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, = struct mptcp_addr_info *skc =20 rcu_read_lock(); list_for_each_entry_rcu(entry, &pernet->local_addr_list, list) { - if (mptcp_addresses_equal(&entry->addr, skc, entry->addr.port)) { + if (mptcp_addresses_equal(&entry->addr, skc, entry->addr.port, false)) { ret =3D entry->addr.id; break; } @@ -1404,7 +1410,7 @@ static int mptcp_nl_remove_id_zero_address(struct net= *net, goto next; =20 mptcp_local_address((struct sock_common *)msk, &msk_local); - if (!mptcp_addresses_equal(&msk_local, addr, addr->port)) + if (!mptcp_addresses_equal(&msk_local, addr, addr->port, false)) goto next; =20 lock_sock(sk); diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index aef8cf3d208c..9eb6c447f18f 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -53,7 +53,7 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, =20 spin_lock_bh(&msk->pm.lock); list_for_each_entry(e, &msk->pm.userspace_pm_local_addr_list, list) { - addr_match =3D mptcp_addresses_equal(&e->addr, &entry->addr, true); + addr_match =3D mptcp_addresses_equal(&e->addr, &entry->addr, true, false= ); if (addr_match && entry->addr.id =3D=3D 0 && !set_id) entry->addr.id =3D e->addr.id; id_match =3D (e->addr.id =3D=3D entry->addr.id); @@ -104,7 +104,7 @@ static int mptcp_userspace_pm_delete_local_addr(struct = mptcp_sock *msk, struct mptcp_pm_addr_entry *entry, *tmp; =20 list_for_each_entry_safe(entry, tmp, &msk->pm.userspace_pm_local_addr_lis= t, list) { - if (mptcp_addresses_equal(&entry->addr, &addr->addr, false)) { + if (mptcp_addresses_equal(&entry->addr, &addr->addr, false, false)) { /* TODO: a refcount is needed because the entry can * be used multiple times (e.g. fullmesh mode). */ @@ -144,7 +144,7 @@ int mptcp_userspace_pm_get_local_id(struct mptcp_sock *= msk, =20 spin_lock_bh(&msk->pm.lock); list_for_each_entry(e, &msk->pm.userspace_pm_local_addr_list, list) { - if (mptcp_addresses_equal(&e->addr, skc, false)) { + if (mptcp_addresses_equal(&e->addr, skc, false, false)) { entry =3D e; break; } diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 139332f48a66..4a004eea9c38 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -645,7 +645,8 @@ void __mptcp_unaccepted_force_close(struct sock *sk); void mptcp_set_owner_r(struct sk_buff *skb, struct sock *sk); =20 bool mptcp_addresses_equal(const struct mptcp_addr_info *a, - const struct mptcp_addr_info *b, bool use_port); + const struct mptcp_addr_info *b, + bool use_port, bool use_id); void mptcp_local_address(const struct sock_common *skc, struct mptcp_addr_= info *addr); =20 /* called with sk socket lock held */ --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2065.outbound.protection.outlook.com [40.107.104.65]) (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 637D6B663 for ; Fri, 17 Nov 2023 08:58:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="DVgDcSoB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xa8jPYJVJkcxexbtHQEU6rgXwNLux/SUCamupUH6bMHiHYL8mcp1PBdFkonefobKD2DMugo9hUhmLFiuFaGIgjiuyFfYW7DhoT9bs0e2+hfkQN6CBGLiyCWM0V/e7Of9nSb6B4BuFxYuRuQAJL3B5lXqJtF2suVK+cP8dpwxe0qsAYrc0Mk4qpGlh2e7kCDm2Udug59EOkz865mXqIJMBAney1USj1E7k/SkVeJXxVIGLCd7zKlbNMHvL9VhDWYx0Pu3X2Vono3t8rUSkbYD4PA0o8hrxYl0Sce3leCua+fl5ZLfAzxc4f4ruLF8IDbE5pGK8/JFVB8uw1UPJzxlmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yQNAp5J3G/Q4AYPSbSIqAc6tXYNaKq0BizhzQXW2FyQ=; b=TAc5gROrLM6iAuuc3xxEge6w7ZW1nooPjgsOp2RWwdrkBTiCoaMBnvN2fs6rxraCO1J0OGUjGyceovukjRHtVdnNSYdw2l6eJ+pifNgm+imD6S44GqT+wvS41AHBaXhHD24TS5/ndKI/vGN/AQo/o4xdRUH3OqzTa1UNfxoc9GRVIqmMPD+S5/m9JvJlTohHc8hH7FxxD+uhUqHBAGOf7zImLqoTgH2V+QXOLAbNuNShGO4BlXJL2mtHMQJmT8KDOsJUTYSf7T3h0doCtTxQk7hIpbqa1DvHd9wpct4yU2m9hy2AHTulcXIBcscrpytqiEIvb+vmRtm96srLcpH2fA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yQNAp5J3G/Q4AYPSbSIqAc6tXYNaKq0BizhzQXW2FyQ=; b=DVgDcSoBKYW7pYtFxBB/jEIbHwSShP9uvGU+v4alMv4B01+++AIWZOxqzPhogmEKMqnYoPh7sbR2WXVR0827+1nBkcadSRE9p4nktsMga2eAUEoHxDAYW7Ai+yEdJ6HBpoWG/1QigEVWtqB40Q6Gpg2mw1V1psVCJp/AWt/mJ7DaQOVrAUoCsCEE8cxMMh2sfa8bC+OIL03oYh7zp2O46Q4moHM4MItBb32SAwLbRFyprOe0yvZGkN+A7PT5oL5ZgZdiWX/brfK+azE26ENGRXunJUMSqKgniNnTLvvp4htZvGc27BCSbwPd+jOcSerhO+JpmzUbr13XsjtvfPKvpg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:58:28 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:58:28 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 21/26] mptcp: add check_id for lookup_anno_list_by_saddr Date: Fri, 17 Nov 2023 16:56:14 +0800 Message-Id: <74bd066312df311c6d3479189289285a33542763.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0032.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::23) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: 81422154-33de-4dff-8e38-08dbe74b5dd8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WLCgD1P8QaUYpDVGK4g1d/I5MQo5lqVuh6UzzapHnVlZicSOvQNEpiOnx4KR70T/bUgp8ZLU4VcwUD+3f2F9L6VrHrJ5OkaneYVup2TZZF+kAnTMufyiBcPXMfkRdPCYp6QBWMdDSiJYzb7A3s6N2vGqX28ekmBH1/T2x8YL58MgyxJaM63TRwLbkj2Ln+Zphtd0FpD9+uJvYPDSbE4LpoXixEIVkQqm4lhX/YBTYk9OCkV7Y5BkrppcuFHHIcepfHWK7MF0l6PIyBV5VQbQqplwcE0o6Pj0lON1evQBQV6C6OYLbp8GCJXZZhINW77VCz1qa0drxUyOyvv60zDPQxLxYmhsbaqmlNqvYSL99bM7+hQ4ttBSzJaRPzA0/VpIzBwnODoRBMRrCrkc7Ec0OzBZOsz/RNhWp5OvEzX1CpEzQ2QS0DqmfxM9Blw0OLdT1wBpdY2obPmXh2kBEym7VOn+qGPwHByGSJF8lHADqaygenDT+IWUtgDhQucx28eEF11OHcx55KBdrkDBcP49aHXJXcToJ23y0VjY6/o7Eb8+t+0BoArp5N4z/IH3xm+Z X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?d7ZP2ljW7thOUQDs9NOfvxCn6qKAN+HAoRoxZ9T0w10vU2WXgmkYhhRaFRyM?= =?us-ascii?Q?GXw85jF5ZtYRhLOB6YD06r+BGCn3cERwoC41mtg3boZ+HiJQ9djD+2OAleh+?= =?us-ascii?Q?gCTbSYKn7RcQ8PhxU4aKOpB/xhsIpKDXn+KKisheHRznzIXmeZvraAAdOXf5?= =?us-ascii?Q?OScB8CAtqJZ1QbQT0A+m26l5V42XnfGYHd0Porw0MiQd9tqape2Stg2w149S?= =?us-ascii?Q?k5Isvx8oP9UvZUOxyp54Nw45a+ANK3kz01z67kU0TqbBwn2ddD7k+y5FBYPs?= =?us-ascii?Q?A0RFYp4c5olsl+KRq0MkZseQTEit+FnCnWC88bSlRzYQ5XK/KOd+lUulA7i5?= =?us-ascii?Q?uY80qESKR0l7h3IIw1rNwdsgglrkkvrPuNBK19FsA6KwxgMj93D2FE1z66Es?= =?us-ascii?Q?0M5cnUZQyW/8czOEUlEPNoXiayqWKLbAgWzZ1VtDzHLTU98+SL1P5iloe0rZ?= =?us-ascii?Q?AierWbgYu1B5qllX6wC7CWMXDZNSmw4XXQ0OoolIKkJHOTEdQUoamn1v0ptT?= =?us-ascii?Q?BI4ICxVldXyX7UDR7IBonI2avR55vMjtUFUkR8P5ajYylTvzwQjsKjH6wtuY?= =?us-ascii?Q?tWMwbhEj24+QkeaaJRSU92pHYFWSDTISq8Kt2937Ntl44A5hX5wcH6QDUHq3?= =?us-ascii?Q?Uieq0/3q27OdgshfSxZxli2YWvinmac6ibCczY1ycB7Y8E6NkEpoQ0jAwXCT?= =?us-ascii?Q?xZYOzJlnCSe9T4u4H8uK24M3XYQnSlikNvkpIAFTm4VwWA7Cf6u/dBLGTBUa?= =?us-ascii?Q?5n17mapqd1DbwdHcaWK8N/cblxiMd7FHnfVwYyl3GwnNZrMqdlw4H8DX7hwb?= =?us-ascii?Q?kW7HZCh09fvZGO7/obltvr09n++0YGKqabXxpJZ6HgqKToreKqL8ssy1VnP8?= =?us-ascii?Q?kLnrU6yUIseDhlmC9rH8psYWIIDtD+L3jROpB40OwnZG0z696CzmMrESDSqQ?= =?us-ascii?Q?NrO9QD8P7eCjDhOufB56ABkVzPyI2htiB9L8MmzY1oSlSOxESIMtefwg1Nwl?= =?us-ascii?Q?TjuGMut65+UWu/Bb1dCiMO7TFpwXArfC2Q/b92cJaYU6ZuIZvyV8w6W0LOSm?= =?us-ascii?Q?16ay2FRMwtXHeagzVpdyuhEjEJF47YreRvhqDjg2Tgn4/FH2hpHztdusAZSX?= =?us-ascii?Q?BOob/lEXeXiTYmkapU89SBFqqauAgqMNwfkYYTOvaVrOmV1Ahx6t1eTNs0SB?= =?us-ascii?Q?qajaFPrZt304AHAeEvDJwvmi1frgdQPyct33lz2kI0XFCPLMdH3QCB+VDpnz?= =?us-ascii?Q?xHKfIba32KsJUr0HVLbbn091YZd6eXAHwO14bt7anouh5+HB5yYF0qkZsVOq?= =?us-ascii?Q?nVSOJt3upWhG5VR7WtdMgZhts26CGVvjbiGS1tTMFz/JCZwER+c01xmeZDyN?= =?us-ascii?Q?tpuBIgTVmSu/eJLzgOmRHooKWeEUU4nQOFj6X+4GbHGIBSTgd8IjEdzorDX0?= =?us-ascii?Q?Vao0tdmpFyGmO0qxtwHByggOPPvt0uymWpNmBR4W/mWWlUTk06Va4kn80mKA?= =?us-ascii?Q?geYVNyN5nZqAG8uLXA4G6LPzIpVSd0sWxACqUplnDFYkS1Lfynfn7ob+tCl7?= =?us-ascii?Q?VOg9mZLlAmYhOKdnKMHO/QR+/uxccMze9taARbOOexbSx557vHKnipnrpfH7?= =?us-ascii?Q?mA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 81422154-33de-4dff-8e38-08dbe74b5dd8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:58:28.9070 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: s4KEVehrYEY4j45SVHj06Z6xOPLqq2/l+/VQXoNVJw7IeIIrN/uizdHUq3/zDFJ9FtpAwbBZMpUBjDXNuGGELQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" Add a new parameter check_id for mptcp_lookup_anno_list_by_saddr(), and pass it to mptcp_addresses_equal(). Then in mptcp_pm_del_add_timer(), the input parameter check_id can be passed as the new parameter into mptcp_lookup_anno_list_by_saddr(). After this, this condition: (!check_id || entry->addr.id =3D=3D addr->id) can be dropped, only test if 'entry' is NULL is enough. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 2 +- net/mptcp/pm_netlink.c | 13 +++++++------ net/mptcp/protocol.h | 3 ++- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 77a0e859076c..d5ae2e775059 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -259,7 +259,7 @@ void mptcp_pm_add_addr_echoed(struct mptcp_sock *msk, =20 spin_lock_bh(&pm->lock); =20 - if (mptcp_lookup_anno_list_by_saddr(msk, addr) && READ_ONCE(pm->work_pend= ing)) + if (mptcp_lookup_anno_list_by_saddr(msk, addr, false) && READ_ONCE(pm->wo= rk_pending)) mptcp_pm_schedule_work(msk, MPTCP_PM_SUBFLOW_ESTABLISHED); =20 spin_unlock_bh(&pm->lock); diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index d82e9456a772..70177c5f9483 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -203,14 +203,15 @@ bool mptcp_pm_nl_check_work_pending(struct mptcp_sock= *msk) =20 struct mptcp_pm_add_entry * mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock *msk, - const struct mptcp_addr_info *addr) + const struct mptcp_addr_info *addr, + bool check_id) { struct mptcp_pm_add_entry *entry; =20 lockdep_assert_held(&msk->pm.lock); =20 list_for_each_entry(entry, &msk->pm.anno_list, list) { - if (mptcp_addresses_equal(&entry->addr, addr, true, false)) + if (mptcp_addresses_equal(&entry->addr, addr, true, check_id)) return entry; } =20 @@ -290,12 +291,12 @@ mptcp_pm_del_add_timer(struct mptcp_sock *msk, struct sock *sk =3D (struct sock *)msk; =20 spin_lock_bh(&msk->pm.lock); - entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr); - if (entry && (!check_id || entry->addr.id =3D=3D addr->id)) + entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr, check_id); + if (entry) entry->retrans_times =3D ADD_ADDR_RETRANS_MAX; spin_unlock_bh(&msk->pm.lock); =20 - if (entry && (!check_id || entry->addr.id =3D=3D addr->id)) + if (entry) sk_stop_timer_sync(sk, &entry->add_timer); =20 return entry; @@ -310,7 +311,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, =20 lockdep_assert_held(&msk->pm.lock); =20 - add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr); + add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr, false); =20 if (add_entry) { if (mptcp_pm_is_kernel(msk)) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 4a004eea9c38..02ae42135072 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -920,7 +920,8 @@ mptcp_pm_del_add_timer(struct mptcp_sock *msk, const struct mptcp_addr_info *addr, bool check_id); struct mptcp_pm_add_entry * mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock *msk, - const struct mptcp_addr_info *addr); + const struct mptcp_addr_info *addr, + bool check_id); int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex); --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2044.outbound.protection.outlook.com [40.107.247.44]) (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 E559CD28E for ; Fri, 17 Nov 2023 08:58:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="a283FDo2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m7mPOToK9rtkr/GWGKa8ng6NruRrfUEz/Mf2AF91u66Z9BGtyg3zyS1xFKaZB2bH12pex+ToDg3l+KpuQVMD26lo8Q1YAXpILlJMF9mRNDPayI+zkh7C5W9Kjy8DAvXZ/ajiCPi4nZTkMVQ3DSGsnsi+Fr/Rgql3lC6AxwhVOUZMTP+0SpEf+P/5jPcDL7EW3zMR4WVl2mSKaBtGtyvob7R0tOIICdMnLAmtLjkwMxv1/dCn8xn3t5WmxfAWi13WhETiXoRxvMn0kEcN2DgRl9SS3Mn8tHRhNVUTIcXMr3bq+KCLHkfN/ax+OfZB9Prx0yZtXxLdvzAcBMgrep//HA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=P8fBOvxUcdB6/Qw4FOyGEcT2F+mSte+m/WYOXoZKPpA=; b=HlpNIYufhjGeVIJgKnlU3BkDFMuvczUve41X6p3IoHQRIzXy5Dz2EWV5B7ad2opdgOj0qrL2AoUeKs/KcnUmSsERXytfIHV7ZnYg85F5CbyfanVX78VgAgFu1QLZFOEQq1pyAK+f+1ai1dtBT/rRi5eosb+E+97jvVbXEfxCPYGdauNDstmii33LC6HAMuRTD5HIkrC+K64yOzxyn6dsn3P+ZjBSnvefrTGljQpaXXfj23T0p8Pc9nSzk5t5Pdi4oEeZrC+dnueJxTVNuncQUdNOYaWe4ThlVJ6lnfOgftfMfROPGVKSrP1dY4Q9nZ274EImKawobaZAohx+3ALNfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P8fBOvxUcdB6/Qw4FOyGEcT2F+mSte+m/WYOXoZKPpA=; b=a283FDo2KwXk6PUkThQSmMBCtr7tVE12QhkYAPpXn8eC310zYrxPvMsAHoXD3OeOy99KB59VvpXqRNVY21lk8NJ/tHtHOxH1unAbIKCSDHpFRfwebRm45x/3FpQrwFRdXI774RNknCuoL9G33WPdvElhEbC95nLgd3HUK8atOmkopcDRZWS5ueboN1zYLY/vUGLfwbhw439pupceSLNgs2Ibn3jUxRUVTstbItJT4+BkgmNdDx02Me9QDNv3JojNSIysOQD5w3BKLE/lQ6Nx8nQWkXWQeqNBhYYk5WcpqoBOx+mZtlVPhDks+jlyua6bcbNzxJF1PjcwBAE5f7/fGg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB10047.eurprd04.prod.outlook.com (2603:10a6:150:117::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:58:35 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:58:35 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 22/26] mptcp: add userspace_pm_get_entry helper Date: Fri, 17 Nov 2023 16:56:15 +0800 Message-Id: <5d13a7fe95db3dd7d92233288bf3715890855180.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0036.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::11) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB10047:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e0f6fd0-6305-4c18-4b57-08dbe74b61a5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CrFGOTXKN8pK/D22mZSI21GCqCz6a8L0Lp5iqAcqYJNaQPaMbxZYCSTZcepobvLtVcKQEmOs+Eb+IpAyLwDr8/HULbHEjE/bGi/Sh2c7X6z73jSgG7ADvI08ugCb31HyrnmvRys1pIc3I77C5Vfqviy2+PWgQMCQLEPtOsGA7VDnB64Ej5t2JnJhEC3c5vazcJaoVbayke84B0mdcFpIIP4QcPCIPmvHI8I2C0N/x1sKK3yK5lMp/lxvQuARsKmo+ugwvpOfS4OvUoi1nL8hMTuerPS/OEmE3guigniALyechc6jlAjkrkcoI6SZYBLilmGdieHbx0johmG08uCTm7BrZ5WBf3lVi+lm7sH+nLGuFPa/LkWJEJ4OQ9vKZsbbhNN9bexreqbYbIPNmTr3WtGLGAeYHcxDpO/vu1z9Z0ikJCUxadXt7SCyfnrXiivEAV8NJnr3C6H6EQKiOGy5B9E9+sX2A7bb4RR6JkHtN+emUciLwCQSrbniSrCn7aZkRW2pIh1ylPLKzSZjuWhzKsKPMvsBdQ3sK8tWbXZXWBeCbJlpKUy5xdk07jrsLI64 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(366004)(136003)(39860400002)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(66556008)(107886003)(66476007)(6506007)(6666004)(6486002)(2616005)(6512007)(4326008)(8936002)(44832011)(5660300002)(8676002)(2906002)(26005)(83380400001)(41300700001)(316002)(478600001)(6916009)(66946007)(36756003)(38100700002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0Zckq3qiyW6q7WAcAILI9FhGyHBM0VVGVNcZWrm0DvpMb4aDiYOtj0UG6ma+?= =?us-ascii?Q?Ruj4JQuD/CIFl3f79BHzhB1uSqqqP26MFvAD3Ay1iDMbjC59wPXh6FY1JyaS?= =?us-ascii?Q?ktLui2D2vggFFjUInp2b1TKWtlO4l0YkQtCVfsiyRGxQcMIwOhJJLRfT/I1+?= =?us-ascii?Q?btEkuu9o7ikVar8aRwTLXA0FewkeMthd8A2LQo232dvjH+FpqtBvRFIOQpSR?= =?us-ascii?Q?UxFGrxlK2rsxV0HHmKRE7AeFBNBMJr1SdayoPcEHBHAmRXE08Bkth99rZtS7?= =?us-ascii?Q?FvAwDDp04AoOVwbITPAuHmrcFt3jPAvPdNyhoXV2cwfcnFd56Vy9g2RpTPvW?= =?us-ascii?Q?pnJcoRtXGrcsESdC7IZZ7NlPWtccXfGooFquHglk8fKjNi0vAKvbljgryy9N?= =?us-ascii?Q?e6ZkydETLp2Ul7Bhh/lCQv7ccbXRZLfZN4Y0xT7qv0E6/kQ/WdlLubkSyHjh?= =?us-ascii?Q?typ/XGw69iuv6BIAU3Sa8oMvbChiAPB23bFaxn1hYtoU6+NreVusBugkPf5i?= =?us-ascii?Q?tpQbSIrkTDSRo8/rqOYRkvKtv3X6VXMe8V4gsXx1gg3GJbtleOMXQVfZpnHb?= =?us-ascii?Q?oQ/0JfOBPhhnlrblbgxRTOpm0+oJ4kIMMHgXLo+PtHSjggj1U8RI5qP7B8YH?= =?us-ascii?Q?QoRtvEnMzjb8qIojtCnOxvOa8dIryWrDKdE6HLpd13M6rlemcjF00uX3XUe6?= =?us-ascii?Q?3VM11RQk2cRL1KOzcQEvAdb7twDp0oKzClvA06KTNz8uGCPjJbdoHq0r0U9d?= =?us-ascii?Q?Pc9w8HFOIHPKeyJYjplZm2ogcfqmxzcnt/OnOQnZ1vnkGZ3l95UKGkvwGw+v?= =?us-ascii?Q?7/yBqdwoRad8IqvGYJ+Ig3F6AZzm67wXsq/QuH0TVYzus8MtZ36yz3MKv6ai?= =?us-ascii?Q?T4ZRyKMJ8lGLsFOgQ0esIPYk+ITWLqtQwdT5E72iF0xeivrpOFa19DVXpo3o?= =?us-ascii?Q?kE8C3EUb+oBKbORUCkp1GbHSBZzk62GEJxETM1Kgv2GuKza9dvASjoFu0g9n?= =?us-ascii?Q?TxkMwRcLeUBA1NjSCVh9060VzEM6JxzV2wI9RqTjhpdi564C5foUFMqniqIj?= =?us-ascii?Q?erFEuFJcyyCczDmpWlj8TKdmN2NQ819eoTbc2sPLdLAPw8lxQor8PMoNpBJQ?= =?us-ascii?Q?rAfkhH8zlu0BIcaEtcycAeewEDakWlorSyfvVJM5GbtX+RqLStmuklJuJQH1?= =?us-ascii?Q?wFaXMtxEMJzIgvwYHVCOQ8jOpf0bmgmnpNnXyvsiQJGjxDbqEJAALKMEy0Y1?= =?us-ascii?Q?YD3U4b6Cd0T6LvCna/qxqjFy5HWkv72m3QhArXiHO6IKCardKa2nvO1ktPTo?= =?us-ascii?Q?+AbEZIM7fBHe/RdHU8CrhNOkXpmTzst5NJ5varMp6jUS26etIe1qApwVNF1X?= =?us-ascii?Q?HnfxJ4fyR1/+XpQvZTPZ1aGI0HcXCOkjO78f1T1Eq1s4eYZaC7gLDu1B3biO?= =?us-ascii?Q?1dBfu++tdXbd61BsTvan1NHCzXu9XLRYjNhbj/rZtKxY9FwMYMRm6sa2tInT?= =?us-ascii?Q?xcfsBSgeMhUVWhv88pMATTTdc/fui1me98M6GbCNPwbjLieEoR1KshD9n4Js?= =?us-ascii?Q?CH1hGTNntOPLTmnNQHHXAxUIHXcbgYuYvWGfvHUfrh60vQeEuirvBBi6vnOY?= =?us-ascii?Q?TA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e0f6fd0-6305-4c18-4b57-08dbe74b61a5 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:58:35.0807 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VWFj3xt/Q7RTu29CDVliCFTZb8RlvPFVoHYJZSWg2ekLUkrGEH5UmQoIqUmPxO+VuViRE10VysGCMeDIbGv4fQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10047 Content-Type: text/plain; charset="utf-8" This patch adds a new helper mptcp_userspace_pm_get_entry() to find out the address entry on the userspace_pm_local_addr_list through the given address. Use this helper in mptcp_userspace_pm_delete_local_addr(). Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 44 ++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 9eb6c447f18f..255cb733c59b 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -39,6 +39,20 @@ mptcp_userspace_pm_lookup_addr_by_id(struct mptcp_sock *= msk, unsigned int id) return NULL; } =20 +static struct mptcp_pm_addr_entry *mptcp_userspace_pm_get_entry(struct mpt= cp_sock *msk, + struct mptcp_addr_info *addr, + bool use_port, bool use_id) +{ + struct mptcp_pm_addr_entry *entry; + + list_for_each_entry(entry, &msk->pm.userspace_pm_local_addr_list, list) { + if (mptcp_addresses_equal(&entry->addr, addr, use_port, use_id)) + return entry; + } + + return NULL; +} + static int mptcp_userspace_pm_append_new_local_addr(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *entry, bool set_id) @@ -101,18 +115,17 @@ static int mptcp_userspace_pm_append_new_local_addr(s= truct mptcp_sock *msk, static int mptcp_userspace_pm_delete_local_addr(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *addr) { - struct mptcp_pm_addr_entry *entry, *tmp; + struct mptcp_pm_addr_entry *entry; =20 - list_for_each_entry_safe(entry, tmp, &msk->pm.userspace_pm_local_addr_lis= t, list) { - if (mptcp_addresses_equal(&entry->addr, &addr->addr, false, false)) { - /* TODO: a refcount is needed because the entry can - * be used multiple times (e.g. fullmesh mode). - */ - list_del_rcu(&entry->list); - kfree(entry); - msk->pm.local_addr_used--; - return 0; - } + entry =3D mptcp_userspace_pm_get_entry(msk, &addr->addr, false, false); + if (entry) { + /* TODO: a refcount is needed because the entry can + * be used multiple times (e.g. fullmesh mode). + */ + list_del_rcu(&entry->list); + kfree(entry); + msk->pm.local_addr_used--; + return 0; } =20 return -EINVAL; @@ -138,17 +151,12 @@ int mptcp_userspace_pm_get_flags_and_ifindex_by_id(st= ruct mptcp_sock *msk, int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk, struct mptcp_addr_info *skc) { - struct mptcp_pm_addr_entry *entry =3D NULL, *e, new_entry; + struct mptcp_pm_addr_entry *entry, new_entry; __be16 msk_sport =3D ((struct inet_sock *) inet_sk((struct sock *)msk))->inet_sport; =20 spin_lock_bh(&msk->pm.lock); - list_for_each_entry(e, &msk->pm.userspace_pm_local_addr_list, list) { - if (mptcp_addresses_equal(&e->addr, skc, false, false)) { - entry =3D e; - break; - } - } + entry =3D mptcp_userspace_pm_get_entry(msk, skc, false, false); spin_unlock_bh(&msk->pm.lock); if (entry) return entry->addr.id; --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2088.outbound.protection.outlook.com [40.107.14.88]) (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 25986B663 for ; Fri, 17 Nov 2023 08:58:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="Ansdy03a" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XVs9BevKwdTsToBLYyISfQbm/4vCMKLknxQ+M9UPM2enaDFNSZzRMa96i5QlioxT8+trWMCPyLzzEH0PA9Dqpkk+2vWeW6kC+3AdkoSueRc1kyp8YEHhdU56nNxJczeJ58k3XdbqQb12U/vW8lTvjh2K9T3pjCi1WaKT7ljZXpBbu4R7K/6NMn7XDsA3VbBgQFN9+uCIaE8Jel/9yk/utlqyRA6iepJ4Gq+MteEEsHfifyhLr0Ql2Jk+S5msmGa9Te4wWRTQt8aK5BusolSno/r4aUf2yaaZzcf4aI3uM66jwntITcOG12RtCzKfaooNu9DPDeLqsr6OMQctFxTAnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Ky15XWBtA/4dpY1pWmdvI+JIciuSmIx+xXLtgq6JwBA=; b=Luo6a+SEq2L0I8VRJYvwA59e5KNMHtk7hsEOHRKmi3mv4a4ke7EZ/rpk9oK61Ky9MTZI3qmkLLzPaKE1wmVf3uYrh5m8gq8tIHSjlqcPXDtTeRTcZjV1o2e3uU0+1oPGPjBTB8GZePCeCLVZhh6Fv19y/WwImVS55XG2HHY5GA2JspZXdd481jhy/D340aKzZ9baR8gvPck1ZnhUsTYVEi0wyCs87vs9t9k95zTxkybLzXyy0y4gnD/4LG23peV33q2xFGlkwSuI89GwMT63Bv8coWY4CyPv5wGjjNdYHmDfDlB2NwmY0RRWbERHQjDhC8SW8J4xqPN/CqlG5usAOw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ky15XWBtA/4dpY1pWmdvI+JIciuSmIx+xXLtgq6JwBA=; b=Ansdy03asG2+KohtYlnOYr/fbscyqe7TF9sUZWqNyF4/gTLGwkbOnnrxMGQYBek/sBZV19GLkPVtaKoGhte6ZQ+/JjDAWPPprgQK7DpeL9lUlxmKd3DyBiWv2MWUT7aHox+/RvlVCrgVtoOQlISeeWyHOSS4OwtxL3DKDUTMYuNNgxezUwSy8kT3OurIaU8RELrfbFXRgHqdHOtXGO8EPLJsQt6XT7+vM+XWx8WkgTpsBWD3Konn5guZyelKbN8UhhV0l4qnR4qzIqb2WP3/ARagKo8h3Z3wFu/rDs65FhCG3acw+Rhz+shlaJluNgj4QOc4bT4sfx5fOwc1uXEKZA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB9975.eurprd04.prod.outlook.com (2603:10a6:150:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:58:42 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:58:42 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 23/26] mptcp: drop addr_match and id_match Date: Fri, 17 Nov 2023 16:56:16 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0048.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b5::11) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB9975:EE_ X-MS-Office365-Filtering-Correlation-Id: 89106241-e9d5-47ec-c5bf-08dbe74b6611 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UvX/za44SMaZdGYdeL4ZQb1ahUj3YdioYo/6PCuF84Qrc+2piEusLHcS0Ea0kT5eD4mbyqQ9wEZS7gxnK+p1xTJPJgB3C+yFz2b0WspUJbN9JrFdB9kkiHBsxUSwUvqvwX7t7wgwrHlrsKwT/83Ip+vbMPz2WbgfuIzwJBkS+gGG8N5eOrL5/LE7ChFTeyC8ixSYEvqo6o1GJandOokGjo3rtHxqBmXjGWJHTHd4sL+H/8KkAlzICzYJ6AxUc2V7xN+BTa+Dh6kDLT/g8bb+Ue55EfIPBhiyV3BcWikMq0vivGwn5kHeyReBQNn3QENjZSmb9ZZyCJyJBKFm82LpzzxgE9fZylZZS70E9+mWmfrxa860i4NpYA2PdXb+eivD4dD2FtMUPjdspU/KSrtialjm6ry+a40jNxt9lBkLl6o+mVTEuQ1KSZTgD1BWVUABMg8GVKieMoWcCFv120uag8dDl5B2w53aEttL/E8dxZCGx8rr+BAPXnT/u2+DQ5dMDf/hbjtCZnvnaxDiFH21doWmeV3F56CD8fnWMrdZmDPT78sdvdDBwfkxF0y7sd1W X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38100700002)(5660300002)(2906002)(36756003)(86362001)(6666004)(41300700001)(316002)(6486002)(26005)(66556008)(6916009)(107886003)(66946007)(66476007)(4326008)(8676002)(8936002)(83380400001)(6506007)(6512007)(478600001)(2616005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MidqPPLm8emwPi52cIYaDlReVWp0uH1bWTzObVrNwv1Sz3DUWLeFLO43acOO?= =?us-ascii?Q?+Q7536Ya2ScoYRVLE7AlopFdOiW/mBV+MD6TLh0kzf5r3mI3KMvdXfEhybxX?= =?us-ascii?Q?eArnV7Sj8WV+yKYwuHQ3oBfr9+2WFWLxHkz2hZ60Ln1Ot9o5uQUbeRYTKhz9?= =?us-ascii?Q?eJVs+WdfvwnBMloMX2hDSYckMZxrPMD3XB0HYdv+1CGp+SvEl+QBE1AWHMj6?= =?us-ascii?Q?lISOclpko++AN4586GpQSY9VAy52+eBEVtWVuX4fNESTmr+IzaplYfclwOJv?= =?us-ascii?Q?Ro1ASqYXz5HOwTXtYrrGmG90/+Y1IiIWZ5Edr3SLPs+9C0mllmZ4nSi3I60c?= =?us-ascii?Q?pNWYzWKj3brqNBwqqOceAKIhN0IN67H+7Sn266rmCJt8u9dXGNfgEn9x4gmu?= =?us-ascii?Q?ksNyY1WrZYdGO0jwm2sydwVeYlGs6ur6EPK2pJRf4CUpgGBiNi5d5yNUsWTZ?= =?us-ascii?Q?ZDnDVNCKIrrTlwFL5Hf/w+0rx+Ca5M2SQIpJaJawyFhFcP/t/6phedIGNHRT?= =?us-ascii?Q?glRZ6ornfymwRmluwgknuV8Xh5OQ9WcSDMyeu4W09rG+SLpZ69mWX/ZvTcoY?= =?us-ascii?Q?oQr+bFa+CuW6l+nDwe5k7OIuonJyppEoEoIgYFFguaa4BtKEJ/Zzqv5I8zww?= =?us-ascii?Q?IljEyjAZ8h6wYcZpNDXr6igmYVpe5Czjls/hVNSkSqHP1JLFMlQY5yKjj0io?= =?us-ascii?Q?h+ud5bcEwtI4OCpl7BB1iOjB89nAzcMQOhN2AK8sqjaVF3ERYTYCBcq8m8BK?= =?us-ascii?Q?b0g6+CT5Y/AghRMjjS4qYaJd+tfg8WtK8K0kt274CbuwuAPHRNlwu34kyXHf?= =?us-ascii?Q?SIrXeihdIzP8mk33QqupqH8binnpHVqYbI4se9YBJVlLtc7liVXl2VCTRgID?= =?us-ascii?Q?0gqtC4XhGyxs7dUMZ+MpJ1/kXzfwYXWcC23TEM8rKydZOi5spf/6C5H52zig?= =?us-ascii?Q?1Qo3E+ryEm6o0FzTM95nUpqHIeFil82m7m3mlO0EaIsPdWYjXKeWkg6H6sUa?= =?us-ascii?Q?+hGVL4VpcoDdi7yahROMzOBYkAir0Ccieu8WBjScvG69lr9YuaM88WSuoKyS?= =?us-ascii?Q?eATQ9JpJ+iI3soE0uJoFwovyDFfQaXB61n4MLsueGH2+4//xRKwG70VI57t2?= =?us-ascii?Q?VeC35FHcYEdcPa6nlh/dSMaS6wjJhnDZXoZpWwdBVIzjwx1guRWeY/FhyoNG?= =?us-ascii?Q?7a82yg5lAExyWm0s957nc3F8HpxdmsGQFueFuyEvlN81MuLgo0GZ6OcEv2yY?= =?us-ascii?Q?MBKyDQmjTsHMR5hM/g/4zPuxBDi8+hZw6qFBtePH7qI1Q2o4iJw9sARM1pVW?= =?us-ascii?Q?El9H0xf6sRBeg2JdyBBVynmNG/LQMJsXervZu7hZH+Mhd2g+huy2tfuCb9Sl?= =?us-ascii?Q?LJCNB1olLUjVrOpwksU5GiBdmCKaX5V9iTUCVm8s20k1l6YPu+SHkULRpAsp?= =?us-ascii?Q?CKUAzdaicuKUfbH4BCpN+CmPqvd0QRr2Cz65tkFJApMe2pBL4hVp8hL4xcwI?= =?us-ascii?Q?1th+KrGWMcnlY4oV4PKryeS2SrTTrbmtpIbJl5gbt8coEOdW7HBHidNCEHeN?= =?us-ascii?Q?LmE/QyjI9skRGfCDWrvIFIoQUIJvmE8MXhIMIev0pKeGcYIgKtAyg4xoa8W8?= =?us-ascii?Q?Mw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89106241-e9d5-47ec-c5bf-08dbe74b6611 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:58:42.5622 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: osgDsUcXs6rG55z0UCo8yMSc38Ml/41RcJvFOPfGvsyiUp7/E18Kvu3JVBvic5LCNtT4YCcK/xFja1RPpcTqKA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9975 Content-Type: text/plain; charset="utf-8" This patch uses the newly defined helper mptcp_userspace_pm_get_entry() in mptcp_userspace_pm_append_new_local_addr(), and drop local variables addr_match and id_match to simplify the code. Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 255cb733c59b..af9bd7950fa9 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -60,26 +60,13 @@ static int mptcp_userspace_pm_append_new_local_addr(str= uct mptcp_sock *msk, struct pm_nl_pernet *pernet =3D pm_nl_get_pernet_from_msk(msk); 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; - bool id_match =3D false; int ret =3D -EINVAL; =20 spin_lock_bh(&msk->pm.lock); - list_for_each_entry(e, &msk->pm.userspace_pm_local_addr_list, list) { - addr_match =3D mptcp_addresses_equal(&e->addr, &entry->addr, true, false= ); - if (addr_match && entry->addr.id =3D=3D 0 && !set_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; - break; - } else if (addr_match || id_match) { - break; - } - } + match =3D mptcp_userspace_pm_get_entry(msk, &entry->addr, true, entry->ad= dr.id); + if (!match) { + struct mptcp_pm_addr_entry *e; =20 - if (!match && !addr_match && !id_match) { /* Memory for the entry is allocated from the * sock option buffer. */ @@ -98,10 +85,13 @@ static int mptcp_userspace_pm_append_new_local_addr(str= uct 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) { - ret =3D entry->addr.id; + goto append_err; } =20 + if (entry->addr.id =3D=3D 0 && !set_id) + entry->addr.id =3D match->addr.id; + ret =3D entry->addr.id; + append_err: spin_unlock_bh(&msk->pm.lock); return ret; --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2064.outbound.protection.outlook.com [40.107.20.64]) (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 AA063DF63 for ; Fri, 17 Nov 2023 08:58:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="TzvQlmgd" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZJ1lcVfCreEzt5GecDPMN6QqmgsttI6AYvzObGZGRp70Efn75/GGW9w7POpSNIn1dSRqFkx0G+8K0YZO0iPA2E6kq6xon+Ug4DgyPdjDj4fQPxo7PcRpb6pbX+h8ojFUlfRYWLbq5jIwZdh2ZRszKZo4ozks/Cm1K3ozAQCkSZUoHTHDOHeTnZsHIZPaQ0WAGHaW2KP1vVbERNmF3alajnPQlU7HRk+fD3gQrUnaNj25iQDkMokyl9cvheLNTRKJ22hl9wTFEerQGe/JR+g/kruNu3v6S7nrkY0gECE3wD3o4cH7A2ORXy/QIMxc1Ly6mvS2TrMlLgZ3Swqk+1MTog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3pRRG/uzx20UZku1L2KN/kSoExoO4ddINXf4XvewjAA=; b=j39FgEVHQLjeZu0HL8MzU+ssfPhc4yQd1X+fC3tcGCLnNsJQd/xpz7iRkfT4IHjutzcZg3dbcIAw3Z8D7vmVy+quqwY/lGCQ9hnBZDvgItkbiAH6rCFCKRcw+lCo1+tj56l4raoZMwz3ILsdLdj4+XPoXwSCMcpQcAWI6f1Glv4n64+67jh214edg5YwHJUZ6HuhrEQXRLywawT/3Gklso7Ml7z6u3kv/NSXVC6ZvLtViJLW+iOijzSA9hqe7W56SFdB5uMb+HhssuYMXx/gsFPndZ+GoZpJ4EBU/E/2J3OCAA8LJO5OAY814uarOo4dQti4b70Mv134BFvTK7GxWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3pRRG/uzx20UZku1L2KN/kSoExoO4ddINXf4XvewjAA=; b=TzvQlmgd7NaLezRwVIAmvxI3rOTiFkxwEgGkWCf5dEG8MW9303XyHj5zj81ZOHwqNxSC+kHpkQ41m8sdBoV8dUrVtCuKqxQ6//dt1Y1sMsmU6HiqcikGMzrT59hiWBDZ50CM4FK6EPUVZ0M6aOD059O6W24XFG5E7LU9yb5N/NQXkkACYA2zLYxF/IbGO96CbuGc21bOQ276jt2rWNltnc9d0GB6eXSlmRslV9hYmKQ1uZ7kKGcKhBbM+TDjb5WTYaP+I59DYESTHW4ew/cGM08MorAMOQsTOfjeu+UbhUQmOX/N/g9NROCtB9B/S4X31n2BfvljIajZGAn3VatmIQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB10047.eurprd04.prod.outlook.com (2603:10a6:150:117::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:58:50 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:58:50 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 24/26] mptcp: dup an entry when removing it Date: Fri, 17 Nov 2023 16:56:17 +0800 Message-Id: <8c381648a3b4a5c65e539d7c2b462aa9e8e51be4.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0060.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b5::15) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB10047:EE_ X-MS-Office365-Filtering-Correlation-Id: 8da6def8-cf42-4a32-b3d4-08dbe74b6ab2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pf4WOFerLpIjw4Ac6G5S0Yy1TBeNbZLRSm31IyNKzfalcmYoIrCHxfm6+c4tbqLJXGl3DpkR8ZzZOWRDcEUVPEAAsJvkpdIThWAGzLsnCpXU55j0wW+W9PwGdP4YCyKte0nJKXeBdX+Jo9MxWNLLS2NEM6ntCCu3MzTVBRrrK0KIQDJkhOJ922pT44KLogocfrMdaEQkX1CXNUVRMMldAME9FmOF2V5H3YvfqrK4LU6+kwB2DoUKDcbWyW98f1P2nG8nhNYB057Zru4WHC7MfvTwtqCJuaMN/0jB20xcjEiAN+2YZZtiVC5jrmDTv8RVcU+5E3iJTFJNEo3czvBuqTY86TptmFDCHGHhS9MtTki+OzCYFpY3wwQwuMYhewQaCJG5ZknsoKkCyAXSrbmWSv1+QGyX7BodjnK6H4Wc7gOolXjTo8qzOQou1/KoTyQ4K9+hy/ip2pmgmR3ecBGoIbQmGybgPBKqEQPRmPgp/3Ftw3G2X/6m7F44N3vcbpXHsfTqDrBznBrR+6Z+WTL7GgvoZq7I6FUXKORT4+Lf2oo++PAAd11sltQbAME0a8WL X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(366004)(136003)(39860400002)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(66556008)(107886003)(66476007)(6506007)(6666004)(6486002)(2616005)(6512007)(4326008)(8936002)(44832011)(5660300002)(8676002)(2906002)(26005)(83380400001)(4744005)(41300700001)(316002)(478600001)(6916009)(66946007)(36756003)(38100700002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rmh3r2meM/GDxYf2AneM/zz/guDBvcFH0+GPUZIBTkJcL467cNuDACrYhuIS?= =?us-ascii?Q?Wzyx86UuL5fkJg483+JnAtBIEJ8XHHm0QS8FcEMm8ozIpkEMLQQ/ajAQohla?= =?us-ascii?Q?g4Y8LBaBVZvvOCaLhY4plIuwDBkzdoog7/XVcjL61V/h/YSHecW/caebj6Fb?= =?us-ascii?Q?rTM88AFqKJ5VIK9AwziwQkYclQc1da//PxxOIZMKXN4d44B5XEYLqVado4E7?= =?us-ascii?Q?ftR1FVf8Q6fTECRe/LlMMpgLiSpI1YxqLUmWz4eUdSaSd6Am0Rxiu7rytA4b?= =?us-ascii?Q?+qiLVrEBVSVGLfd0SRvKQi4pA7+ULjZCkhFIukthouFZpXRprrIGVaEXdOTe?= =?us-ascii?Q?+1K+U92EEiYLb6cy2SFzeiZubBDyKJPIKpzD9C701nIZHbpBF+/Tt9jMHrPe?= =?us-ascii?Q?MF/4CaLvTyZOH9cOmXdzcH6Zz6LqLsZY0Ut0Wu4bonvzBDVopp1opAW6TJmw?= =?us-ascii?Q?78Z5JEoarlpWTyjs+F2AcC5cpG7t6iTlNbAyVUuJrwBfr3Ut79WU+EGjv72G?= =?us-ascii?Q?9w74fzZ5vSL8WDw/Ynr5mbGOoYawuDJuo7ZWYbRx1dKJenoiPGkm4wAzw5aO?= =?us-ascii?Q?pZHKI7qYhRC2cyHBbmAM9urNG5f/HP7iD3KSAbq/wcoYBSJLUBXCQWHI2Jc4?= =?us-ascii?Q?wIcclY14Pc3eK2BqFM1DxnQIi3pvsVp5lA6AwCDBNnBgUIuoy5Vjy+p5tafs?= =?us-ascii?Q?Am7lMNE4fWG4k9pcVc09q7ifMOQm3qepDROMwUPqwn94dP6ByIZDIWP8YCwL?= =?us-ascii?Q?m+mFhxMjTBLU3ls+MimoIhCQ9LV1+WVrQxb/ZaAcm/xrex13tCRcaicV2LIo?= =?us-ascii?Q?la9Ontxp50KUFEsDHH/wdQ+EH9YWVrlCHrf188De2sG05jjNIbGtNrVksP8w?= =?us-ascii?Q?RI1LJneqXAJKQhej+HD+wMv1M0QPVKIcszTz2DIVWcs45dLL+1SCxG5Hgof4?= =?us-ascii?Q?1Toe0Z+kVGll+ftdKTHmHeROIk/1gaTCa9ZF0F4reksxWPvtBJVc85DKtvri?= =?us-ascii?Q?v7paL5aBRrJmyI1N+ekO1c3BEyhxEz/Dx99TUPUNOE5s3dGk2GvV0+Ea18Tu?= =?us-ascii?Q?orKL52m14dljqajmRyLX5TYvcjh8FMozMb1pXFAwrXUX3Gyn+3c5+kI9W6Xh?= =?us-ascii?Q?NMA40RhCoxbUVnBg30K7eZdIkKUSPDTip/4ZI+Og6qeFBDYz9Qc1vCI6Y/tk?= =?us-ascii?Q?n/CtxGEpXJEyhN+qQCG6jIuYdQ4X0KQkB7H2+yFN3EJ+IeZ7caNWQIhQqEMr?= =?us-ascii?Q?fZZEZ/dZfJ376ZEuVflIU7hvysFBsWFN/QK6GwXe5CO26B9WiUWo2yInOU88?= =?us-ascii?Q?cZQCwwj+QBbHlMKvi88mGG7wZfyp3kY3MJWeOKYEwI2WfmnkjBbCNX2Rwpeo?= =?us-ascii?Q?0MioQqxcRXZjfIkORu4r1zAbYQe1n7jQ6QT5v118EPxmUSFds9TFTznCUGpM?= =?us-ascii?Q?F6YOuOi752+qX9zwiugYGtWAGAlkWt8Myy8nVzuDAgXQjUvWmoFpEbAXvaPP?= =?us-ascii?Q?q+XotNbI8+3sv9ENPosIsNMUE9c7/6lTcYvMWmZMOswf8a+9NhEm5oSJHQL3?= =?us-ascii?Q?tFed3o7j7yGWIRfHhHnczjdnfSAHCs5nQXvA2wsLMpkGpjl0CfvGg1GpYXQs?= =?us-ascii?Q?Kw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8da6def8-cf42-4a32-b3d4-08dbe74b6ab2 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:58:50.2781 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aZwAvBftKjPsR/CWSZnJ0RLnQCj1goyCVIsZqJbeSOCuW20qtJdC0Rr7jnvyZKIc53M77y3+N6oGjjeSFlXQog== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10047 Content-Type: text/plain; charset="utf-8" In some cases, the address entry doesn't need to be freed. This patch dups an entry into the free_list to separate removing an address from freeing an entry, so that the refcount of address entry can be added later. Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index af9bd7950fa9..8879792ffa7a 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -311,10 +311,18 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, stru= ct genl_info *info) goto out; } =20 - list_move(&match->list, &free_list); + entry =3D kmemdup(match, sizeof(*match), GFP_ATOMIC); + if (!entry) { + err =3D -ENOMEM; + goto out; + } + list_add(&entry->list, &free_list); =20 mptcp_pm_remove_addrs(msk, &free_list); =20 + list_del_rcu(&match->list); + kfree(match); + release_sock(sk); =20 list_for_each_entry_safe(match, entry, &free_list, list) { --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2045.outbound.protection.outlook.com [40.107.20.45]) (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 04A81B663 for ; Fri, 17 Nov 2023 08:59:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="jL2XdgTM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e5T99GR30dEHg5lNGeHMhp6JsY8Dh6kVTTJ99NeoHw8ZFA9P89pPq4De4lmxvv/icnqW9DyhAm/XX6YP8LoQrVMhFlVigXM4DADDmV2p3Nz4hF0HyxTmtViNjti6GWJgZ9AW9RXXpUWSPuOCOlIcQXNNMCC0LH7SODdLRvfMXc2VLxxkpOXnGqR1kS/gTNsXE9j3B+n240c0/iXhRr0q0oBoDPWmgTIx+1c9VDInpUrK5WTENWFvchPAi1oZqx6NDAabc4SXyDzHtC7PQ9RH8+2g3MdinHFsi1X3f16oIjgWqLH1puLRNdGZ4TqAuA1vovIaYcybZ81WiIE/NRLfJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mV8hAcIp2hPILLEe+OnpQWRH80r74XwvgKxVdqXO/00=; b=IkFqfikVXtqfZe72xUkQjGFE+qD5vUCjfqS5OrdL+jeFjxnkGhI29i9DCh+fThRC6jFDK+PFoqAO19zcJcK5sZHLJY5hi6Bn+iFW81Cxw6ceVxd8l91L6f6Q0HmGXYEtEiFG2mi4a3sf0EyR0YaEKeApv0iv4QK2OyqKFVmoH3bEFF7aAq23a9wokyNNlYsLzo0NGWH3qFfXLKoVLItouRG4oNOzJ68OFAa5LGhq6RFSA67v0wmwlOeXW39VnHH3SOWGe44Dy5Fi6ODPYTiSs+RSnIIWhFs5yvbhxMwooRKGqwH+UmkepcuT3SmB6j1zpNcNK75ux4SxvNb9iuN80g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mV8hAcIp2hPILLEe+OnpQWRH80r74XwvgKxVdqXO/00=; b=jL2XdgTMZP97U9rArpQBfm0K55oN969MBF5OnYwMSpiAe0CT29Pn1B4q9Uq52i0tirg0wyIhAWVRe1EKHf8aJZBWNXLsOJlj2AkpRhfFEvawottjPbtHfdJ/HGK6TSTXCe6GqpE7U7stTo6YAQTJKtn/qvRinLYx4a7wsfmSab4gBRHsX4ah5wnpwIOnOxuZDcCz/Eo56NVWWMDmai5bNbSk/0rFxa+NCpFK61VEwAnQ/LlOYXsHIc2+ZdyIIjHU1DUHGbKU9KwqsDn+9YfQASNZWEr+AZQX+3rC3h+f1vWFCnNYnFjYC8V7dLDi75Oly3ZIVOWjC/ScsBmMa1Tb6w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB10047.eurprd04.prod.outlook.com (2603:10a6:150:117::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:58:59 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:58:59 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 25/26] mptcp: add userspace pm addr entry refcount Date: Fri, 17 Nov 2023 16:56:18 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0057.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b5::20) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB10047:EE_ X-MS-Office365-Filtering-Correlation-Id: 751602b4-4864-485a-f2cd-08dbe74b6f23 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: brDodIP5sVBc0gSET37ujebt1hipPq9QVNCpBIB2A2QpT7aSTFk3UMHqYnLUs1xBfEmiJT91NoQBQ0pPv7pJ6MpD/+COgv9IQ/X5R2CWvX7GrM3BO19iZL7k1D4rPQFE8xw01vlM8fgdgLNY5M3mrUd+YYsrPkpk3uA1kXdJA9xtmNt1sTzykfAjdG1aJKiz+qHrrxdoWLX3y7E1wfzIUPGs2swZjNwJPJRv9l0bQ5C1f0x7QN+II1uyZczo1nTQd22SlYE7k+MXyXoiRillgQAhRgX/ggckxBj9szabEMzh+eVYgbBXbwsPPkfvAk56M6MZeOw21kU9VjhugiCDBBArjWTYGpFGf6JKvj/svsMZRKBele/VK31+mxgU645GE+UmwMZNR4bXdos9Ea9WMsxlCo8t1o47NGvq2uexVzw9khToU/8aAyR8akuynti8eE8xS7spY7R4s3cnyd60QSiGZV3SIhIegyU+Y51z8r7hnYMJz+TUWhCBoRQhA5r+6ntWlUg9tRe/yCz7qHaPPC/pUY+6v2A/F+7GfMN3B8Q= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(366004)(136003)(39860400002)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(66556008)(107886003)(66476007)(6506007)(6666004)(6486002)(966005)(2616005)(6512007)(4326008)(8936002)(44832011)(5660300002)(8676002)(2906002)(26005)(83380400001)(41300700001)(316002)(478600001)(6916009)(66946007)(36756003)(38100700002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?F8POkwSn2M+EwDtBovX1vZzVzzjPQEh8LfnJ91BhnblnY9YV5HoVxbuD1W14?= =?us-ascii?Q?bRFbUDY1bppWkedcztN6bqQ5pSIir3mNmL4qPnNOorp1siV7X91kv3fDwvwJ?= =?us-ascii?Q?PDUpG/acrlR2V69mT7k0gmhFg2ujMfgcrrR+MgI+LxSVVx6KexLjrjSccLOO?= =?us-ascii?Q?QCdATTRlk54SyfVDXYqCF6blzr4KzuiWWZDVkmcud3kBpItMWGoZE36fiMhH?= =?us-ascii?Q?Y8wLOw/pReO3rAmz30pjMTr0sL2y/lftHoO/cHSby43SZ4i4H7H7VzHRK/nz?= =?us-ascii?Q?ncZ6FnPogWouRt1cuTnaonwbjJJ2Sa+seYOO8QTOt8iKm4Nw7+Oadr9aO/vC?= =?us-ascii?Q?6aLmrkYu9OT19zsj2fYaqO/rQpnveSbmwd1fZ3kBqXMfylsyKWRQc/0lnoFg?= =?us-ascii?Q?sXc9KDZv6pZW/P2WE8yiOT73vumwV5sYrrdvZFa546F4jLprS2YlQrUi0o5R?= =?us-ascii?Q?vgNptcWjpgV7WCbiKo8UdAj9W/iFPcLgNjrM0Czhql7MAkqkidtB+/n5IdSc?= =?us-ascii?Q?hc6fIyGygIXwc7o7bW8rVdRrZxeV1gVkBDN+u7qHKD+8shnJKSaU531lNIE7?= =?us-ascii?Q?yvbQGgIgu/YJh+JF35uvWaPt+nf1TBL79DUmCLD52uDUonHBZSxuo6uniDO0?= =?us-ascii?Q?SuBKHcQOCvvl/EaEYh2lC08nfynEhX8z2J01o2RTMjXdg64M3k6kHtdfPGA6?= =?us-ascii?Q?UG6ZsCOQM3bowc7HywI1lDfqUUTbxWTa1xK67N1DMsRAJjrgo0WN23MykpfA?= =?us-ascii?Q?LIb8AWXzVi3SWSq4ClFcHnfckYBLV4KFBJOzKXDq0zdIfFk/h8pCKo3OiyZ0?= =?us-ascii?Q?jY4SgqsnhcMBmludUV1P8ZDxOF32ARfRx0ssw/7gC0t0vMyADnpkMtY7Tli/?= =?us-ascii?Q?Fnqki+hf4nXd7l9wyWT3pY9FQTiCE+2jDhraxCIQzXL0NTleXstwRGQzoDh3?= =?us-ascii?Q?Q7+iNqtF2Yw7L4wsLXGuF404zTh4U9KGafFfZpdwAptLf1BfJRoRBD7lSB4L?= =?us-ascii?Q?wlIFOrYGYgGvRLnwwmOVhxsgK9/YrwdxX2Eo1YlcY/6VUgb+KnmezsX7+kQt?= =?us-ascii?Q?zRfEqXZHW0IrjsW89LHdFBCoBYmm9mbx1HGWbKD+pJRmgtPiy/Yn5lL89fq3?= =?us-ascii?Q?ub8JIf7MxKrrJ5xVnpLe9ssbbvlBlYrdOKqczT3Gk0KHMFOI/LI/XYJpzyYC?= =?us-ascii?Q?ssFHdgObhE7VW/sMRgQsXgnWnRnerNmt1JaYhXPoxrItB7ZBt9AkFZMZuLQW?= =?us-ascii?Q?WO6kr285jK/8z2r01N8SV2EjfTlLprdVFfoi3wSO7ZjvoNSbtcu9KQCeInxl?= =?us-ascii?Q?Xk3TJgD1vSrsvkOcHTQsWCLHq0G5Md0w3gpZoj/C/t2bD3bE/VtK019k7APJ?= =?us-ascii?Q?hQIw60MuqbI2cPJuKFPTsgybmasvuO7fkuI6vBFHEOLTr5/KOL9XnVaFc9zj?= =?us-ascii?Q?leLvK5tBp9WM0ZSlOUmTK82QGpbjssRBaiM9JZIbWe5FL0st3LYbYzfhxX8g?= =?us-ascii?Q?gGELyFCAJok9QgZe6m3D+fjc9jfpvFWK44+nOH59WaFyh8LwltOfzvhfMUT3?= =?us-ascii?Q?KgZ20Txk8HGHiXDDaKM7ZZY6gBVSJPrhe++E1BMr5MO8dkd8t6USEMxHdKkl?= =?us-ascii?Q?ZQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 751602b4-4864-485a-f2cd-08dbe74b6f23 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:58:59.0398 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: yhfSx1s/+jJPgSlRB5BVTa24e2M7cXun0XNCILIvYfV76hn10ycU5uRCpn21mlYrFvN2J7Kzib74MML67ZgdBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10047 Content-Type: text/plain; charset="utf-8" This patch adds the refcount of addree entry in userspace PM. Add a new counter 'refcnt' in struct mptcp_pm_addr_entry, initiated to 1. Increase this counter when an address is announced or a subflow is created in mptcp_pm_nl_announce_doit() and mptcp_pm_nl_subflow_create_doit(). And decrease it when an address is removed or a subflow is closed in mptcp_pm_nl_remove_doit() and mptcp_userspace_pm_delete_local_addr(). If the counter reaches to 1, free this entry. Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/403 Fixes: 24430f8bf516 ("mptcp: add address into userspace pm list") Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 33 +++++++++++++++++++++++---------- net/mptcp/protocol.h | 2 ++ 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 8879792ffa7a..ef1babcdf651 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -84,6 +84,7 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, __set_bit(e->addr.id, pernet->id_bitmap); list_add_tail_rcu(&e->list, &msk->pm.userspace_pm_local_addr_list); msk->pm.local_addr_used++; + refcount_set(&e->refcnt, 1); ret =3D e->addr.id; goto append_err; } @@ -109,12 +110,11 @@ static int mptcp_userspace_pm_delete_local_addr(struc= t mptcp_sock *msk, =20 entry =3D mptcp_userspace_pm_get_entry(msk, &addr->addr, false, false); if (entry) { - /* TODO: a refcount is needed because the entry can - * be used multiple times (e.g. fullmesh mode). - */ - list_del_rcu(&entry->list); - kfree(entry); - msk->pm.local_addr_used--; + if (!refcount_dec_not_one(&entry->refcnt)) { + list_del_rcu(&entry->list); + kfree(entry); + msk->pm.local_addr_used--; + } return 0; } =20 @@ -215,6 +215,11 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, str= uct genl_info *info) spin_lock_bh(&msk->pm.lock); =20 if (mptcp_pm_alloc_anno_list(msk, &addr_val.addr)) { + struct mptcp_pm_addr_entry *entry; + + entry =3D mptcp_userspace_pm_get_entry(msk, &addr_val.addr, false, false= ); + if (entry && !refcount_inc_not_zero(&entry->refcnt)) + pr_debug("userspace pm uninitialized entry"); msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &addr_val.addr, false); mptcp_pm_nl_addr_send_ack(msk); @@ -320,8 +325,10 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struc= t genl_info *info) =20 mptcp_pm_remove_addrs(msk, &free_list); =20 - list_del_rcu(&match->list); - kfree(match); + if (!refcount_dec_not_one(&match->refcnt)) { + list_del_rcu(&match->list); + kfree(match); + } =20 release_sock(sk); =20 @@ -407,10 +414,16 @@ int mptcp_pm_nl_subflow_create_doit(struct sk_buff *s= kb, struct genl_info *info) release_sock(sk); =20 spin_lock_bh(&msk->pm.lock); - if (err) + if (err) { mptcp_userspace_pm_delete_local_addr(msk, &local); - else + } else { + struct mptcp_pm_addr_entry *entry; + + entry =3D mptcp_userspace_pm_get_entry(msk, &addr_l, false, false); + if (entry && !refcount_inc_not_zero(&entry->refcnt)) + pr_debug("userspace pm uninitialized entry"); msk->pm.subflows++; + } spin_unlock_bh(&msk->pm.lock); =20 create_err: diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 02ae42135072..e2b71fc62603 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -8,6 +8,7 @@ #define __MPTCP_PROTOCOL_H =20 #include +#include #include #include #include @@ -244,6 +245,7 @@ struct mptcp_pm_addr_entry { u8 flags; int ifindex; struct socket *lsk; + refcount_t refcnt; }; =20 struct mptcp_data_frag { --=20 2.35.3 From nobody Fri Oct 18 08:39:06 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2057.outbound.protection.outlook.com [40.107.20.57]) (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 1BC77D52C for ; Fri, 17 Nov 2023 08:59:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="KnCZUV+M" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BvilsktuEYE7fm0r5ddaR9+djCJGVzo+dTXeywz4fpHCsuLFh0CY/9dyiNlwzH+1iojJBQUWBdBmQIs1e0vwcDMmFHPqAl1hErTy/Y4K9dXJaCXuC8bmpblwbxSivWHvUUEurUTOLyiLvvykJ5Z+89tGYpRMb2RqlXvQcWolYxBA88ztKhAnIxOsDUU5XPZMq1tN15+rEWRLEj+vQg5OPDg9fZQYwzXqjT/7Pyzt7ZVFwMT0WcTkw7k+OiEulXMMWgBbaHHOjJQ5f6nRdbAZIoFEW0xiFbxxlAjI47Hn1FSqXUj3XTQfo6TxiP6rTZoBSy3a3YGRw7MGahLFsQzQkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=e4To8AeNV5J3rzl5nBJs/OnFzfrlHMpzjkw4kDsjiu8=; b=hEkNohtPT2dnZ77HYRxUzuxF5NUsxyWn2EwEdPC99oCzZji49yYX7LENZnNsip1qjBNApmXoR+F7LO0ReMneeeiSW1xzUr3Z09+9ZTZZnayaWJvc2aK79hCCrO4Hhau7qiptc+XWhEniknDHJQJoZ3klRPOvnMCNlbYNThvARMOCW8WDuzgsPgD1YMssl4K5X6BBuvbOHHiTC0VQM+ekQ9wjFqqkiMmhRGKh0keWRQkHKFZHh5lcMEv9hxDdX1NDpw7NQoAOe2zS/E3i+52E0fiD5xCoTutv6u8dOROD7T6MSNCuo3tN8cM4NNT+daDDhAoUuepb3OMYevPu0gSUDw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e4To8AeNV5J3rzl5nBJs/OnFzfrlHMpzjkw4kDsjiu8=; b=KnCZUV+MX5jI1fYboBveiINF2gyJnEZVLol9jEmFS704Jk7lBMiDrchDMvPvV9caqTIvPRbK9zdxzW2B4FcPLpiND7TYVKsRKXoCTNPRs1MvZWDQ7laDDseF3LUX0M0S8XWPkuKosY/SkClF7jALv2LZUsNdgnTXzeFO7wlY0pvv2PGcbe6OWGS4qg68pdhdjlC2rmPZtoV4VQYeQb5QudfkHRW7EETbgK46IzT0s+af6NFTtmIV0lPXykVm82zihVUJ5F4zvs1lnDSSaHAiM42vbAXMwLcLnHsI2uN1L37q6MoX0xkTjSeSJHbJTL5K41PvJdyStycx9+qADuYPAg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by GVXPR04MB10047.eurprd04.prod.outlook.com (2603:10a6:150:117::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Fri, 17 Nov 2023 08:59:04 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::7102:259:f268:5321%7]) with mapi id 15.20.7025.009; Fri, 17 Nov 2023 08:59:04 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 26/26] selftests: mptcp: rm userspace addr with random order Date: Fri, 17 Nov 2023 16:56:19 +0800 Message-Id: <54dade305d600cb3fa7796ee98e4b930f6c6506b.1700210966.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0003.apcprd02.prod.outlook.com (2603:1096:4:1f7::20) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|GVXPR04MB10047:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f8121b3-ea56-4a7b-989f-08dbe74b733a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 770HcRNvDwHVMyV+tmDAfYGjTpoo4foXVVm0ATFKcTZclT8Cpv3LzRgUJeNaWaAMt0Tci9/CdlAXFUZbmNo4cuPwej5lg+dpwFLjq38JGpAyhP1rT1MMuMrX4bsiOmptAn6idcP/GhDfeQzt4qySzCHh69jn19PoLlf9Vh/cVq39uIOY75dwUalAt1Vr7B+S3nYiabUESwxGElUgHm/J4mNPHRTbbinQQSRUA2AwZiiQAgU18O+92FA79ZSLjqM6Cz23575oyoF2NMvmmwbUX2buf0UsP+635m+fmfgbMxGR2iHJ6OzWeR9jF8QFd1+PPdVN4iYVsYn/rEzPSc533cTG9T7xJwE5BNuywwyE0MNuSEihkxrbMc5nSzX1QPsi0esP6H2dAPEkUycjlGU1vMHm6reo5V/e0Ol0OJy8lIs7kRNVHKGlz9XE9i7GF3f67FEqhACm1YFoCXyw3HOW2viI5VlzFtHkLE1FAm6vd+JhaiRliC9xQ8NcO3nDYKCIoucVIfkteMFbdwQxtZzdJ6wNrH+3Q6olACVve3xkvknsYgzrnZ5M9gtFW8UhtiuB X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(366004)(136003)(39860400002)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(66556008)(107886003)(66476007)(6506007)(6666004)(6486002)(2616005)(6512007)(4326008)(8936002)(44832011)(5660300002)(8676002)(2906002)(26005)(83380400001)(41300700001)(316002)(478600001)(6916009)(66946007)(36756003)(38100700002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RsUPsoXHJHKMgdy9Z5TuaUpcfNGgIqyJiS5qarfwXAxNC57BL8GPm4mPUCOP?= =?us-ascii?Q?P72MaAFexPKqesPpVrJubyokN/zOqvyaYeZDpB2iQPFvIAzaCJ9t9Hj/PV9w?= =?us-ascii?Q?6CWyPpJq8NdfW0pz06hXTLkgp34ueLxPiCKFBaZhi6iS/zUI9ZqEdji2xjyL?= =?us-ascii?Q?vzNyvL/ga8iDYp1uUPVaAwRCjPvc/3dfpwXgBpASmdd2Oq+4aGiBZ/aENTCl?= =?us-ascii?Q?Qe8oD8lDw46/GHC1x0u3pPCvEGp5FkquoAubz5dN0M+X3tHx/QmywGEB+ybp?= =?us-ascii?Q?vlDILRnAhn/08x6ZPRnNNHvmVvfdaGQ7vE1bh8gmQbSaMOBEcQpSLe9L4r1c?= =?us-ascii?Q?kQyYsszYcSQm6lCzZ1Ac+ACMEsXMREMeai0SujBYAoKFTVFghwLUXA8yCUMP?= =?us-ascii?Q?upA417dhUSJRbPl61rrJOx6F00z9otG44AWkPTR8uXyzqoiDI578eqopL5uW?= =?us-ascii?Q?YT8CfiCu4iTqGno9loq/VyAbYxSCcdzvEaSWkgI3N2jYky/A/skRM0afeW3+?= =?us-ascii?Q?DxaiO4sHhE7rJ/xo7JPZJ6qwDePh2kLT7reDxQZdwMxBzICevH2PhtZJSiH9?= =?us-ascii?Q?e0HYQMxKGwzJ+Nv9PAMvso0eYhKBi0gvKsJ5O8tksnSW2najmZQL8aByaHpH?= =?us-ascii?Q?pCGnSWAIDP33NC5SroqrAdXXYr+zjxyvdvVG4J5cJtGUJc9QYI+wWCuBqxfo?= =?us-ascii?Q?0fyuiYDa+STdx+xkob4vligUUYQWsyLUwOBcRoDF6zUcLtFs7Bp49a15X/yP?= =?us-ascii?Q?meoBwAdAcE8p2aQRXdHXCa3ZZXgJXqgVv3zyU8aI3UZQGJ6r2vFbTK8wH0pk?= =?us-ascii?Q?xx6jetiQ/rVgg8MqB4PTbtpQHEkMzb73ta55SwyzAhQUAtx6pH5n6xpc4HgU?= =?us-ascii?Q?w3cVyoLpA9Dff+kJkZZ7x+WOwYm6p7BGkFgfjztBSH2P0ORAu43nSQ0CwWdZ?= =?us-ascii?Q?OezSgvszsQr6SdPdYrpQG2JgMA4xiqbqY9lAspiof7z5woYctQADCEx9djIW?= =?us-ascii?Q?DEME78+SdjVvt9VMasWlikOC0XpmoYN7jetlBTbvu42fKp6TFSVkaCHzcncV?= =?us-ascii?Q?th44xSnWZW92qdiMxNChZSX2znvZWnOx07AOcshMCxDNqfYC4gmZDvA44dQF?= =?us-ascii?Q?RiE/H21381dHEpwvncigSPOom++uTa8bI7UPoOEBVsmEmfuFeaqRojIdNw/q?= =?us-ascii?Q?fZB4L2wj0hQPguhwXQGHgWMW9UUQ+14wm+p1JLMNkew2RJH/ysjZVYZayPFf?= =?us-ascii?Q?FwxhWUn9uI3pO+6TT3IoUhxyujukUkwk/8HqsqZqmIjxBEgTfYRqnfjDEQBU?= =?us-ascii?Q?ElI0vo8m8hfmv0SNY7pPxPFYbgNS62wW7toz3SmfP5e3ghe5lb8XGWFrkQi1?= =?us-ascii?Q?Ebe5YZUH/qSbRelQp20QuMZI7bAQPhRjpOpQI8aEaJ68351k7lng5R8mCjDm?= =?us-ascii?Q?qKI+O4Q6F9d+tHmefohqWaRGL06UulCxdLqCo+HjQ9zyz1xsIa1Zl25paqi+?= =?us-ascii?Q?X6eKSJrorlfY9g0jPP1/E0Y92Swj1u+GuqlTA/jZ/o3yCa49GAROQFZvEKGA?= =?us-ascii?Q?OTJiYQ9NWtfselwc9vpH6mYLdS6K67yAJh042hO+iPog9JaHcwmrSsOC6YL3?= =?us-ascii?Q?Mw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f8121b3-ea56-4a7b-989f-08dbe74b733a X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 08:59:04.6623 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nIeOTdgFnhQESp9nPtMR2zJdLH6xUPKOcMA0iopTDN/daQfFScr3Ud4E2+76THNhhxj0V+PKy8bLT62nRKsL6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10047 Content-Type: text/plain; charset="utf-8" Previously, when deleting a userspace address and subflow, it was necessary to follow the current order of deleting the address and then deleting the subflow. With this series of changes, addresses and subflows can be deleted in any order. This patch uses random numbers to add this type of tests. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 372c2d83b4d0..ae89e0eb6230 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3411,8 +3411,13 @@ userspace_tests() chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 2 2 chk_mptcp_info add_addr_signal 1 add_addr_accepted 1 - userspace_pm_rm_addr $ns1 10 - userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED + local rm_addr=3D"userspace_pm_rm_addr $ns1 10" + local rm_sf=3D"userspace_pm_rm_sf $ns1 ::ffff:10.0.2.1 $SUB_ESTABLISHED" + if [ $((RANDOM%2)) -eq 0 ]; then + $($rm_addr); $($rm_sf) + else + $($rm_sf); $($rm_addr) + fi chk_rm_nr 1 1 invert chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 --=20 2.35.3