From nobody Fri Mar 29 08:07:21 2024 Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2065.outbound.protection.outlook.com [40.107.103.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 AA96110F9 for ; Wed, 26 Oct 2022 10:45:28 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l+YF1uorSe1HzhWD1zSqZRBJKVG8uPYWH0wbJcBCWEO5pAutqXX6hNclaxOD0PnnRfOdFao5rnvDDGeCdw1cNq1O6HjtfA9DiQ8sulud3RerkQ+njFcsGAeG1tkwceJgN6DbJuBraw2eQnHfYSik6K5gi9Y9h33dYINy3hkB2siIB4zmC3hP0/VqSG+B2/0M7gIYeYTy5JS5dtdbCbnwc0yhm8gFVNO+veLpotTFfnLwCIG9ay3V9daZac6U//ZYJ3aAvbpjNbWUnvOLAKAFxhJWdtnvqoxhxPgzWBYWMfs2vGG3ob2sNVE+KLK9F0Y+zQDWxlEx0bx//coddEIkDA== 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=OwNZtk54GwyDzTQw+BbkgDR018BpavfgGWNuz0lEWM4=; b=X/L7KcG3cjP1FsF740xAKhOX6Mmhm0sb6Ys9zyxb3oFqlt/3vLbwguwbSQz5ctZt6xrhZyjwZv22rEhURv8UuhJTc+IgpCk2jaWKU1YP7KJxwBUDsgB0DFy+cqLIiEdY//luOd4QoPvQD2XfSy0izUCmMQZzas7JG4h9AiV1eiOOfsgGgppuMuWtXh+Y1NMK3MdTWl5M2pMi3Nah4AGr43NiSKZI5KDvOKC7VffpIur3gatM/uPd3LP55SEdXpQI41/r7GSmss+Q6r1hRIqYPIWKFtYFX3czw0mYNaSbS/n+vArzOS1VHDFzwnuQrb0F/ktnqh4yWV5KaIHKoR2F5Q== 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=OwNZtk54GwyDzTQw+BbkgDR018BpavfgGWNuz0lEWM4=; b=FuXQu6KaSQ378lBWjETliKZUvmQdJi3iScBgbgDe9ba6q8fO+ppduOcTwMsgrdDy04o2ReWsFTeMcnb1BJP/7gEpYZo+NJLoMYkuIPoW3eu9/q/xLHBoK/a9VHngiPrBZNhkfUF/K9mttjihoH6yk2DUqSGBhLauXAL+reSsXaM78acp5JW9J+vkb/OHDyhYOerPYN1PNdng/tcc98PSDpWldM/IY0VgBKl8vaazfhEvD1FDHS8s2WkL9+FUwj6fw6NU+1fmVrbTRZdIvaQAVhpBj7K3GjqeuYGEZiYqgCcrf4pSmqbQx9vYZajnUbxobkRwwKw2N86fzdWbH4hRuQ== 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 PR3PR04MB7338.eurprd04.prod.outlook.com (2603:10a6:102:80::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Wed, 26 Oct 2022 10:45:19 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::84de:d6d2:6710:556a]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::84de:d6d2:6710:556a%5]) with mapi id 15.20.5746.028; Wed, 26 Oct 2022 10:45:19 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 1/2] mptcp: use entry->lsk directly Date: Wed, 26 Oct 2022 18:45:03 +0800 Message-Id: <6c8c57c5a419395f8f4a23aa8e3f76c830f0c12f.1666780919.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCPR01CA0188.jpnprd01.prod.outlook.com (2603:1096:400:2b0::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_|PR3PR04MB7338:EE_ X-MS-Office365-Filtering-Correlation-Id: 01fc8ab8-8d80-4c00-bfc0-08dab73f2d32 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aJBs/6YV3E2fwfYt+vmn2cL/UmUIJ7T9+W8FOjuMlETrDDtj5/71+cjOCpNxPPQQ1cd1zLBNIvl9G8rhc1CYn0PIxKmr0ijRAl/5AlKHL1t1EoM96BLRoJZiOi0BDFA13IW8FyDaNdI2wyTSYHaLr17+TBV2rFQ/scvWt9eAbnOXk3GEhP9A60QQ/E+qXD9SJetwHsS3dlhx2lQyqHsqf6lKN8ADCCMZll9UDpvS1c+uHk5XyhMGsgvP6JPeG2rWlHzAEExyKtez4I46lzm2RXaT8pJpJygHYgQp1RqjEKMriF0OZ314+FooYkXKcGymObPaBgN57UuIZcXOCFTU+9QdVXtsdoGaNTaPL6a+zI3boh6JFLzP8xS376YAQHls5LpgNmEjuworwepJkQoJupCucq1UQEqoEhUggvuhVvNFU4Dsr63mkKUplbYUGnmOMhDsV/9hLQOA3oLaAyPLKgqFkoGIDySBQlsU+wYaX6YlxfSJcWD1oFc+8pqgyizDLeDBM8I9LazKG1BRrYyC1wk/wBPz3txR8Htxe2nMt5aeH/WivqLKDS0dTI1tkFj1SYzrqn7ssLi9hcgbNRIMKe/OK3tCC1Kjn7F56RiKfIAhU/OmMUk+Rm+voGWfmmlcviTnutllmUGF+q4V1nED/3Hf1sVEBnq8cm83wEFNqWVeOljBO8EflMc7d9FaZBnr0u6tJVPRIGxqQpeHjlzumkIbs508zndfR7QNoFTtYT8BexS4z41rkdt/D7T8k+Q3 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:(13230022)(396003)(346002)(366004)(39860400002)(376002)(136003)(451199015)(41300700001)(38100700002)(6512007)(2906002)(186003)(26005)(83380400001)(2616005)(36756003)(8936002)(44832011)(5660300002)(478600001)(6486002)(107886003)(6666004)(86362001)(6506007)(8676002)(4326008)(66556008)(66946007)(66476007)(316002)(6916009)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9Om4gWO23dPgDgUbC0nXRnbfZnYkWuYfVch4BHGJXXNWrQsbyC9+sg9RvuTu?= =?us-ascii?Q?qfp/VJAcoB1vWAJtw8MUyyqEBIr0cNFz7+USPQEQUvm+vqqsC8wUQjr6a8J7?= =?us-ascii?Q?mGb6BXtAri3BtrBli7qlCcPG+qYrS20HfKBAVU07wU3lyFRp+ARyJ0bV+hbe?= =?us-ascii?Q?fv1p/DDB8MJYOza7EXj6PfBb+utEIb4J5YsOHc0kR3vONpbKLEdr2P+VL1Rn?= =?us-ascii?Q?OLzofgB//SgGEJ1n9EtF5nkbyMwTG9hq789lDxBDp4UGRyFS2KcEQY/5Jo/M?= =?us-ascii?Q?+l1vkuWTXuky026Fx+qS7smNRL/fRca31xXWj4hqZm7YSIb48QxjySt7+hPp?= =?us-ascii?Q?M4TsPtI0YiKQ4f/etNW/UhnuIj0Sj7DT7g6adUY7nLOhzq+V/b46DTpwdwX3?= =?us-ascii?Q?EPrum7l0UCDeQ45PHf2JtvSbLEpNkUcg0A6LLQ8OdKxKkFB+Z81iIxgSZEwN?= =?us-ascii?Q?fc6JsxUdkE2WyVi1ZcQXPBnD16wcXz4EZ3uJ6OtAdiE1ni40MxFE2nTpO3lF?= =?us-ascii?Q?0mozRBOeD/EZ21B7kGZ/G6f1HV9XkBXumDNx1sVKH351LX7UP1jbwXPiyzgm?= =?us-ascii?Q?c41k8b3sHVeFDQNKjee4iImWWAuqyobH5Ft3zEQMMxFx9gzpOqaWEjM+ZFil?= =?us-ascii?Q?kUV5VQ0IC62BTxFwiPgVjUQdgSNBWbBCvk3XrnHAy0BRg7nLYLUBYpDCdHIa?= =?us-ascii?Q?OMGqvHn5pT2JFZHCk/xiW/5Srp5H637cpGoafnglBTsMytlKX4x0Pv9RkGTQ?= =?us-ascii?Q?Z7V0x5FKi6vGwsPDgaxxY2jQJrI06r0lrth52wVv9XcHERRA1TVPWqo50PTR?= =?us-ascii?Q?tOWaGMsedb/11+Mng4KKByPwSql7IRkel9ctUstBhcN2z/2v1+wdHm+IOAW9?= =?us-ascii?Q?lAx/Kn1NvsvuXVE84QGh17FjI6Mr8tXdXvdMv1sHudZAyGnQ5WvLzEo71RRO?= =?us-ascii?Q?BvL9EsfdKf8D2URX3dSvxJkW1mrOOJler7ByhJ+AcHiRELyIcg7YJS9r+jTm?= =?us-ascii?Q?2/QM86fsWifF0RzEAeWwuJjKLsvmAP2NHNvXY1d0cL+pgjBdjDWZsPzCQtvi?= =?us-ascii?Q?e9CNUo5MXYRdms6TwYaHIhwqI4Jy6BvrSB0O3EDy2ai4h9E1bvEqirpGlgFT?= =?us-ascii?Q?E3qdJEIIuCM24dkb8jdYABTqR1Y9Wrods0OTpz2dqTVaEPIva9F+1LQaQCGm?= =?us-ascii?Q?TIqRp37Dt6izy4q6BmhDoHEFlNLhe/xZwsimHM1B8F5XrN6CLElU8nIO5pzq?= =?us-ascii?Q?hY+xmIbquE9tZZGO6ZrCSGxaz7k9i7dQtTC2Qyj7zg+bcsnezxjzRyLiX8W8?= =?us-ascii?Q?j8IJydjOxllH+KY7Nxj1dqtr36HXHUnH5yrjs9eefXKY2MvaAKarn8Ak3RdQ?= =?us-ascii?Q?erEKFQa5ndXPXVtUAm1z/4sVTqDO4WbAQMvfh6Wkc1WcXj8rWDhDQNvjdvVL?= =?us-ascii?Q?nzoOOOqdoj6eLRbDY6fn14liunz81LFRaaszoo/SJSxzeZ5dIlAzN+cGS3Xg?= =?us-ascii?Q?waVnmVO632tWpdmbK+MIy0+wwRQDA5/GeeeVB1ktlpssPFeoIkhvYkA87x9C?= =?us-ascii?Q?lmPBB0XTA4fvqmCoaHwn3a93sElN3P1O5Z7Q67ThRE+wmvosfHIbxDHpa3iJ?= =?us-ascii?Q?Fg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01fc8ab8-8d80-4c00-bfc0-08dab73f2d32 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2022 10:45:19.6407 (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: qpltgCwSPWX+bXX4hpELoaQp7otKNvI42oyPAsR7xiDQhHibr+ppk3z+cCjDkf8g/tDBMpIHZd6wcZoTEl4sUA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7338 Content-Type: text/plain; charset="utf-8" This patch drops msk and ssock in mptcp_pm_nl_create_listen_socket(), use entry->lsk directly instead of ssock. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 9813ed0fde9b..52a5847b9d74 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -992,8 +992,6 @@ static int mptcp_pm_nl_create_listen_socket(struct sock= *sk, { int addrlen =3D sizeof(struct sockaddr_in); struct sockaddr_storage addr; - struct mptcp_sock *msk; - struct socket *ssock; int backlog =3D 1024; int err; =20 @@ -1002,30 +1000,18 @@ static int mptcp_pm_nl_create_listen_socket(struct = sock *sk, if (err) return err; =20 - msk =3D mptcp_sk(entry->lsk->sk); - if (!msk) { - err =3D -EINVAL; - goto out; - } - - ssock =3D __mptcp_nmpc_socket(msk); - if (!ssock) { - err =3D -EINVAL; - goto out; - } - mptcp_info2sockaddr(&entry->addr, &addr, entry->addr.family); #if IS_ENABLED(CONFIG_MPTCP_IPV6) if (entry->addr.family =3D=3D AF_INET6) addrlen =3D sizeof(struct sockaddr_in6); #endif - err =3D kernel_bind(ssock, (struct sockaddr *)&addr, addrlen); + err =3D kernel_bind(entry->lsk, (struct sockaddr *)&addr, addrlen); if (err) { pr_warn("kernel_bind error, err=3D%d", err); goto out; } =20 - err =3D kernel_listen(ssock, backlog); + err =3D kernel_listen(entry->lsk, backlog); if (err) { pr_warn("kernel_listen error, err=3D%d", err); goto out; --=20 2.35.3 From nobody Fri Mar 29 08:07:21 2024 Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2049.outbound.protection.outlook.com [40.107.103.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 A9FB210F9 for ; Wed, 26 Oct 2022 10:45:37 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ikx1XJaQx7/2+GdddLBx3xupqoZ69sVna8ZYCbbwv/rfbqbVII3v/9nT7EC6w/qJzjm/kuapVe0ThR/uAE/kBPrakB3gea44V7EIEWln/PGuUBrRlDp9v4SIAoeFGTwWhuBrtUniPJL9TWY0d5Nj+v/7l/WYf4+mb5YQ8MHVCbD0OxZq6yWhAk9S+ZeEVM9Dy3IEGDmWnNPgwDKGuNOOenu3sgmhERWvBOZ7hiRNNm7YUCN0WkMIE4G+/6prRndz/DIhizs7LAa4lgCim36XcW/QmetPahTpRtWbepohgD9nvO64vhfw/53hXVSaPuO+WVMJ9fBicRGL1hwXQhIwEA== 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=EEyCVgmAvRfPCx3WcOhOtpO+gWkvym2t5RT8N5035Sw=; b=iwzrOMWrm4frRyMNXJRDKcNCrB8T6xYHlDG/Dx/HOzjxihoYY2PT3vRyyFUeeS9duPcN5A3XB5Hf57h68dDlwcffyuuFgKF7KMhRYPFh7yalwLo7HD4UTYUVe+SRqeIRUJWqyOQZv5P1VqhO8xJdshD4wRkvxHxOiOZNe0MSoKJXDJH9WBmS7TiojQPHRXb5Q7/HpPr+goBd+1m1dT5ZMC2+NmX0he3nqqaHI3+bRCxGOgL1iq4wFWxQbYJpMvxUQ9dxQBXHyciszLZxQjTA6K/3bmD65kCuIuV9KFW3iXRFRAjhES02E8JpXbDJM/3oskQg+07JQHEnEesRxjQKzQ== 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=EEyCVgmAvRfPCx3WcOhOtpO+gWkvym2t5RT8N5035Sw=; b=RIK6/1SvMdcphiBAWDjrOOn/8kWj5VcFpnlL8AWJQrHlTyZBxzIc0kbxZBak4S5i/JlZptjJ/km9/R89mWjK+kSSvzmEqbDJ94n6uYBWCZ9d0RM8td34v+eXYszn8QONL2FW1Nhhc/bpI3KKQPwKIlhu/pGYkK8DRMzicIKGcfexuXvvXjSPlZIFMAOqZbEq0mBImq2+OJjGPAxMCP6gvg6v4Nnj4IHK4ZAMHvWAmgwR/OSocuP580KYBYx7ixlmhnpFuCQDqeG10/NR1r1kGGatIjrjKhXN4K0wH+7gV/wVC7gzzH0CM3mS1PHtYSmaEY4ZjCqd2x+jPfOr0zdZYA== 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 PR3PR04MB7338.eurprd04.prod.outlook.com (2603:10a6:102:80::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Wed, 26 Oct 2022 10:45:33 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::84de:d6d2:6710:556a]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::84de:d6d2:6710:556a%5]) with mapi id 15.20.5746.028; Wed, 26 Oct 2022 10:45:33 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 2/2] mptcp: add pm listener events Date: Wed, 26 Oct 2022 18:45:04 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCPR01CA0193.jpnprd01.prod.outlook.com (2603:1096:400:2b0::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_|PR3PR04MB7338:EE_ X-MS-Office365-Filtering-Correlation-Id: b1493801-3cd9-4d5d-811c-08dab73f353e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +brFrWIW3P1011Vo3CkvUotZEApa3ibgNN+X/jsLLW6EHGAxYAD99ScIoYc1omv0MpKMg70hM4ZNiNzZfjZuQPqxMF/kP+sdbxYrUFekdp+JpIqT/CrALg3N8ra9Q777liJfm9+jhLyyNXzeTyQizudYMTDcADC/IHhbo1eXHuDdJVFN+3n624r590QlIzavHiWIE8Q3ThTAYOLOXDL2Zu1ohvJs3GYvSRj8hQqErSrU4sqBGzPyYz/WITRlEfks8FMcySxhQlg9B60hko7VMDFBY8Ohp9Kp2zYZwvCFX5HYnf0beZteV1kBvEsmX6plu3dKtheHM5/iLg8vKy2BJbOx9SZ6VEXnxpz4QUq/jFM9EhlNXrZc3/WPr9wOQU0qDORQOHSceNF4Kua0LSuZnb6ZKcBeWIPZnXyG2+Jkl371zoah6G/J7qlvP+iALH6EtHMmJDeV0zehY0ubXTA2dAAVKdIilkcFNYzccZD5eZJ7KbEnrmiWCvv27csWPh6StiTQMlOU/Yhkt/RxL9k96//2vc2osS1m27o96DXRi9pbwQaOWteC9NPwJMl7fzNUhGoYWVvkY8noYQjP6pBddCnLsEvElGu4+eZWZq7J6QagcI6m0vmFcGPI/iyCs1KusqahR57DTCTFzwcy7SjnxO5iSOHVqYIoeUNxe+owRLR4EYGQoIRUWXlkDT3NeXWJngLcFIkjP8rCS84LpHPLrE3DFWRUM6SIlgKs1zbnvNOBidmsWzYIrP/IlZEieGap 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:(13230022)(396003)(346002)(366004)(39860400002)(376002)(136003)(451199015)(41300700001)(38100700002)(6512007)(2906002)(186003)(26005)(83380400001)(2616005)(36756003)(8936002)(44832011)(5660300002)(478600001)(6486002)(107886003)(6666004)(86362001)(6506007)(8676002)(4326008)(66556008)(66946007)(66476007)(316002)(6916009)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?bDh/dMFH76zTWB9cxqlmZKwxwtDgge5fZ0TDrMIK3/j+P+kI0HlOh4JXDAjx?= =?us-ascii?Q?NT6OQVtImemBf93U2vp6GlzvVxaBXT+xuInnB5BpJ2JHsZb4026c9czkERHY?= =?us-ascii?Q?uRnLdIWpONHQkq+og6wv0dT7l7O6Ou1KK6GMEpmsH6q/TjHvKWXE+klQLxi+?= =?us-ascii?Q?nxHq8M7i5ti6Qxz5JQ2kbmYgv37WplSrdRHv2i4Hy7N2GDBwqa4CRsJCv+RW?= =?us-ascii?Q?Luu2ywBtQoFQzyKXqVelXmRKwqgPFrsYrIidFyq990Z73YdhapDlBjq6rXHl?= =?us-ascii?Q?dw1ozrkzQjQe9++9NEE9sG7ljLR3OgcGS4W66NdepxKruahKsuwcskI9PBZ2?= =?us-ascii?Q?rxxtD8Dy1v0+F1SavbG+KA+ajEk9hBgGDlY5h5++Xinm4RqOxFWVU8H+wB3u?= =?us-ascii?Q?pNFUaO5CZxz1wXlR2zNwrWWhYi+U8AcoZHGNxWjztfI5Xunyswwvn2ahEupS?= =?us-ascii?Q?f4dWbfbRjqbaRmCB8boqD2v4lPXFmvUeNE3veYAt3+uenAYab3dSvNbXDRWr?= =?us-ascii?Q?9yJ3rO0DCwQ/JSAfc12e6irbH3gSXtd6vgnBQfr12/zV6ohwBkrrWpaPD8Uw?= =?us-ascii?Q?FQ+eUQ211MYbMpbRsC2gU9VyJpSnE5GcNDx/pNiLGYLOYlyaebnBDiAByEzn?= =?us-ascii?Q?jgFwvqOelySNxQLvfy7PXP1UZNqQv0HyaT9OAQDObvTWwmwzdHBGpo5xJPvj?= =?us-ascii?Q?76nysckH6Bs4D+5EJwxuT2nev30A4AGk5yIKYLhCKWI+Y93y+/t+SedGGklT?= =?us-ascii?Q?YMjXw2esYF88IbjHh/gspypAgd9TpQ5XeH1DFiQKSFQIKxMGaUZ2FuwYYK6T?= =?us-ascii?Q?EHk7v0gvh9mSa63/XOe0eaY0wIHxhH94XQBYNKBRjJAMLVU2ABFEtJJsZwgq?= =?us-ascii?Q?oBvv4wLEke22bD1zt5HDv7UGgJeFatshS/ckVZGJ9rM0b6L5c3UU8MmeAnpw?= =?us-ascii?Q?z7FYveuMGCMuT++QNbJytSgw3lq4Xm8TvnHxGaNeI61CqPFcy17fUB1MB1kb?= =?us-ascii?Q?GHFcGvcq07DwpBpCpl+Y909chae1ydOMmL0oHXISozMKvHXr01eV4FPTRJtL?= =?us-ascii?Q?wBair87XcHP6yCy2flHm2gYDJCFi94oSU1JjNpFYvYXiiHHtAOaHy4Dwz22Y?= =?us-ascii?Q?kQtSs5HJl26U586osLfvKiUZhuaiCd6VCxQAMZ+IiBrsJhiC/53WqOi1x95a?= =?us-ascii?Q?lXNuliXeC1y8uUgh9Nbpf8EebYcoS8lUrpQ8Mns6xMC7kL/KXHlBkqqMSnfo?= =?us-ascii?Q?eAEueyxbJPc2Dq/MVdJ4uGlOrPLMfcCJx7NSS3lWNsQf4HyownRRTVl6yOol?= =?us-ascii?Q?AAdU0vW799skC/el9RX5Ea7j6cTN2znM3kUj0o0+XTiHFcD80jI3JvmGB8Xw?= =?us-ascii?Q?yNsmu+SbpNSq1NEQCnC63EPFKco6lfcbXiTRy7fDHyLQhLGjSpEQLCv7b7Le?= =?us-ascii?Q?IAU31NaT1XABedjtWl80H9YzgXLaJ5brePY/mGnago0ldbkuxN3GtkMNQZ3M?= =?us-ascii?Q?c3NONqMoJRD62pfZ5u4UlWo3JKoZi3Jd3M+e5nQ+e6TfakeC2Z6AwyX9aOf3?= =?us-ascii?Q?fEQdLkjWgq7WQ/ECPsj63HnUDzQREiPD6v5aJB6RtMJv6/RdnajWyFpf11KM?= =?us-ascii?Q?pg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1493801-3cd9-4d5d-811c-08dab73f353e X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2022 10:45:33.2488 (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: BA2cL8tojmjeYqMdXyX1BRImMG5p3CKjq3pyiaOpEUpcbrvRfmcYY4uzUxGFDGUN7m8Rvfatl4jn8yGM0Qqaew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7338 Content-Type: text/plain; charset="utf-8" This patch adds MPTCP netlink events for PM listening socket create and close. Signed-off-by: Geliang Tang --- include/uapi/linux/mptcp.h | 9 +++++++ net/mptcp/pm_netlink.c | 55 ++++++++++++++++++++++++++++++++++++++ net/mptcp/protocol.c | 3 +++ net/mptcp/protocol.h | 2 ++ 4 files changed, 69 insertions(+) diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h index dfe19bf13f4c..32af2d278cb4 100644 --- a/include/uapi/linux/mptcp.h +++ b/include/uapi/linux/mptcp.h @@ -160,6 +160,12 @@ struct mptcp_info { * daddr4 | daddr6, sport, dport, backup, if_idx * [, error] * The priority of a subflow has changed. 'error' should not be set. + * + * MPTCP_EVENT_LISTENER_CREATED: family, sport, saddr4 | saddr6 + * A new PM listener is created. + * + * MPTCP_EVENT_LISTENER_CLOSED: family, sport, saddr4 | saddr6 + * A PM listener is closed. */ enum mptcp_event_type { MPTCP_EVENT_UNSPEC =3D 0, @@ -174,6 +180,9 @@ enum mptcp_event_type { MPTCP_EVENT_SUB_CLOSED =3D 11, =20 MPTCP_EVENT_SUB_PRIORITY =3D 13, + + MPTCP_EVENT_LISTENER_CREATED =3D 15, + MPTCP_EVENT_LISTENER_CLOSED =3D 16, }; =20 enum mptcp_event_attr { diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 52a5847b9d74..02469d603261 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -2145,6 +2145,58 @@ void mptcp_event_addr_announced(const struct sock *s= sk, kfree_skb(skb); } =20 +void mptcp_event_pm_listener(const struct sock *ssk, + enum mptcp_event_type event) +{ + const struct inet_sock *issk =3D inet_sk(ssk); + struct net *net =3D sock_net(ssk); + struct nlmsghdr *nlh; + struct sk_buff *skb; + + if (!genl_has_listeners(&mptcp_genl_family, net, MPTCP_PM_EV_GRP_OFFSET)) + return; + + skb =3D nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_ATOMIC); + if (!skb) + return; + + nlh =3D genlmsg_put(skb, 0, 0, &mptcp_genl_family, 0, event); + if (!nlh) + goto nla_put_failure; + + if (nla_put_u16(skb, MPTCP_ATTR_FAMILY, ssk->sk_family)) + goto nla_put_failure; + + if (nla_put_be16(skb, MPTCP_ATTR_SPORT, issk->inet_sport)) + goto nla_put_failure; + + switch (ssk->sk_family) { + case AF_INET: + if (nla_put_in_addr(skb, MPTCP_ATTR_SADDR4, issk->inet_saddr)) + goto nla_put_failure; + break; +#if IS_ENABLED(CONFIG_MPTCP_IPV6) + case AF_INET6: { + const struct ipv6_pinfo *np =3D inet6_sk(ssk); + + if (nla_put_in6_addr(skb, MPTCP_ATTR_SADDR6, &np->saddr)) + goto nla_put_failure; + break; + } +#endif + default: + WARN_ON_ONCE(1); + goto nla_put_failure; + } + + genlmsg_end(skb, nlh); + mptcp_nl_mcast_send(net, skb, GFP_ATOMIC); + return; + +nla_put_failure: + kfree_skb(skb); +} + void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp) { @@ -2190,6 +2242,9 @@ void mptcp_event(enum mptcp_event_type type, const st= ruct mptcp_sock *msk, if (mptcp_event_sub_closed(skb, msk, ssk) < 0) goto nla_put_failure; break; + case MPTCP_EVENT_LISTENER_CREATED: + case MPTCP_EVENT_LISTENER_CLOSED: + break; } =20 genlmsg_end(skb, nlh); diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index dceeaaf3bab4..a1f9dddbdf2c 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2358,6 +2358,7 @@ static void __mptcp_close_ssk(struct sock *sk, struct= sock *ssk, tcp_set_state(ssk, TCP_CLOSE); mptcp_subflow_queue_clean(ssk); inet_csk_listen_stop(ssk); + mptcp_event_pm_listener(ssk, MPTCP_EVENT_LISTENER_CLOSED); } __tcp_close(ssk, 0); =20 @@ -3674,6 +3675,8 @@ static int mptcp_listen(struct socket *sock, int back= log) if (!err) mptcp_copy_inaddrs(sock->sk, ssock->sk); =20 + mptcp_event_pm_listener(ssock->sk, MPTCP_EVENT_LISTENER_CREATED); + unlock: release_sock(sock->sk); return err; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 8f48f881adf8..d2c34360a3e3 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -839,6 +839,8 @@ void mptcp_event(enum mptcp_event_type type, const stru= ct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp); void mptcp_event_addr_announced(const struct sock *ssk, const struct mptcp= _addr_info *info); void mptcp_event_addr_removed(const struct mptcp_sock *msk, u8 id); +void mptcp_event_pm_listener(const struct sock *ssk, + enum mptcp_event_type event); bool mptcp_userspace_pm_active(const struct mptcp_sock *msk); =20 static inline bool mptcp_pm_should_add_signal(struct mptcp_sock *msk) --=20 2.35.3