From patchwork Thu Jan 5 19:15:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090314 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 19D3EC4708E for ; Thu, 5 Jan 2023 19:16:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 84CD28E0003; Thu, 5 Jan 2023 14:16:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7D5A88E0001; Thu, 5 Jan 2023 14:16:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 602C98E0003; Thu, 5 Jan 2023 14:16:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 4CF2B8E0001 for ; Thu, 5 Jan 2023 14:16:00 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 1448A160165 for ; Thu, 5 Jan 2023 19:16:00 +0000 (UTC) X-FDA: 80321700480.03.57D6496 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf10.hostedemail.com (Postfix) with ESMTP id 8D570C0029 for ; Thu, 5 Jan 2023 19:15:56 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=qk25lVnB; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=HnVamv8O; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf10.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946156; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=m6Tx7nAJZ+GxOyzn9iiDwdI6oGCO77RYAvxfmdcFqVE=; b=lR7frOWu/bk2FE5WPuJL17CvfWHwWMmIqniUV68anLpbipYX0C38qdSJWRMORcj/GZlpHY E4qLEwvATy2CrpRLtC52+xy66OQFGftPGzT3DwBOmNkLds174nqlnWAVGNHC9Q61fKxqPC T0LvGZL6/MET0MO8g16lhZHtICvnTNU= ARC-Authentication-Results: i=2; imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=qk25lVnB; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=HnVamv8O; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf10.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946156; a=rsa-sha256; cv=pass; b=ItEM5kNbovuwOyHCgPJ+PX4F6Kodu4nR/LSSPu0iHBI2FXWTvbiIW+nKMqCeIK2ryti9wl TtKQH0zo6mnMFPcYQgXUrVZJ8XDH3fIY7M5MEl4i1cO49FBgqd19wttx9V5ACgoYxQ8q5M utvlvGd/ZgGwNMuSXbyATy0CUj3Mlgs= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUMWw002739; Thu, 5 Jan 2023 19:15:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=m6Tx7nAJZ+GxOyzn9iiDwdI6oGCO77RYAvxfmdcFqVE=; b=qk25lVnBrpk7KtPT0BQFxlZ0PhuJT7oHxJHUnKSQ8rSq1PyO1XZGk8kowukxqkGKOf/Z WGWVTbdWfOXYbzTDOHDqyiI/PJRRas8k5EhO8S/iqYRHyb8GCzjIMay5Fov0COqN4Z87 DY544lPwPStzqmVUusrclFHiP8vo1M6acH6FGXTfhsYdrnJpQNOmW47zEVO2XXDV9p6c 2ni6fx/20HNBQz1TDlT6/Kz7QFhvj+ckui4jYciwv16fPvVITUW6X5jS/GgpRaPRTxSz GQs97sWQKIAqlR6aRmcMpuCtQqjLlCkzx9hQ00ThtiOmD7hEyY8BLJMA8Dt9nelILaq+ iQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbp11pyj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:55 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I0WPD023380; Thu, 5 Jan 2023 19:15:54 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6kx6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D0rrDUzaWZ6aJ9Qa5WQHztjSUuwDyVK56emfy84r/mp3vdz31p4GJ66tAp5xIzOjf5pqf1GIPH9nFd5pd9zPYifMBeKFFoTq93MluDWmu8GaV+9x+dhHZyOajhsSa0QYXFVOxouUSQAOsn/ceCEqjQ0M+NjYSKcCFD5WDQE6jc0vvhRTTie1ci+k167yTMODHa8W+NFKe+SYI7CRuoy+hLnHV348HatRQpNVYPcqsDEG88J2q9HvyCBcgUpp7v6b6pbKtfJ2/yJN+r76gDAro+srT/2Yxei5BQflCh/M2CkBzoNdXeMXNn8OFlNiDRDF/gctFekeqQddl1BkcbF09w== 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=m6Tx7nAJZ+GxOyzn9iiDwdI6oGCO77RYAvxfmdcFqVE=; b=obWLal72JHifAlZiBQZHxVUufT+4d0+ThsvUBV4NwDwKQpaQNbqYrcITcI5ZUjx91r7Jc9z0Nclx6zcdoNMHCtfYXgNhf6QzzeOOP77ACkx6pUFLgY2XqWfJkzHnQ1NzXzSOa6qdgNz7kKM/h0rO06oe0QQHf5y12ZJSn7JjC1amWxI+IVXQBzp6e0OcRueg+CGEUxupxFUll5zqpF8wvE8QyKxd28z+sr5knoBWDJIQ+d9/+JSRlgj5vf1i/3PSFR3H6+FbUutY/HRdNpcCBvMruABeROT0d7EoaKvC8maT38V0r5aOY/3CRaiCZEMCDfNLr9Iy4S6mcwqClwve5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=m6Tx7nAJZ+GxOyzn9iiDwdI6oGCO77RYAvxfmdcFqVE=; b=HnVamv8OLeohzXWEeIWZNLcbejgVfYN4dK7/CX9yL8GiLds38RGYZJmzOI+srGvupnE5k8EbsqtBMtgwPijvFL9aPMJFEtjIl4XLOtp0C/qfwdZdScivS0y/xS4cKXWNU+Qu9aEtgf0hE9wLVZMelzevXXrTtOltJ5DJnPOy1A4= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5231.namprd10.prod.outlook.com (2603:10b6:5:3b1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:52 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:52 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 01/44] maple_tree: Add mas_init() function Thread-Topic: [PATCH v2 01/44] maple_tree: Add mas_init() function Thread-Index: AQHZITogFbBOR2K//0mHKkwW8mLvIw== Date: Thu, 5 Jan 2023 19:15:52 +0000 Message-ID: <20230105191517.3099082-2-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|DS7PR10MB5231:EE_ x-ms-office365-filtering-correlation-id: 8476a4e6-9d3a-477d-fb3c-08daef514356 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HvxcrhJq6iNrZQZw+DVAd1pN1QxlXJk+KR7z/FgbLsMWw5c6wYMAeEygQymzYM9N+Pdy1VCtxVyh5BDwjGDU0Orem6ZqdPKuEBKMIBRYhHXRCXoYcAh/4yTxkoGjBfKUeVTkH/2CmefC6hrKdjdHbesSOjXFlTPeU5npQyujnt+9ToeeBrD+xArrCEEac4cKZLVqhA6RBlogl+Una302HVqQyyTli2NfTXAOsds69xU4Lfboa5XAhbZrgPh6s/A/Poz5cP0VImk65jxQbkVwzcga24ysURLw/z/baLNj3PvLm6Z6Hm3knP50z4Rbgp/FUlHskLzjSLp554PCfgKC9Zek1MHTOZfBQvj/l44HOkuF1j04Erj9OSNwU4RjLWd21+Nl5hJQZWf8ML7sfExm8VMro5CwgtIVfThBlv6hQ/kiyTDCrxALfu5bD5CqnJFzDrXhMO9XUmKm0Hj/jvrwdkSPTPquVc3Ch6W+rxeG3sJm43HTlr9av+46p1NZESyRkwFD4wPU+O2+OqHCmhNm1wimFzTAA8TjHgWXs9u2gE4oxYp+igls4nA9K25M4lF3dYr0b4++js/hk0G5pqlNhdbVngGtFvq5gCNUabVoWIwe2rDDEvcTImr02zBYi1MAnquC6M8/NkpZdPypo0z5dRTWqV9z1sNtT62z66fdMfp69JOF8KsfYALdvLvaj6noQI0WeNsTPKxmxQ8gAOzN6g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(110136005)(316002)(54906003)(6486002)(186003)(26005)(71200400001)(107886003)(91956017)(64756008)(66446008)(2616005)(6506007)(4326008)(66476007)(76116006)(478600001)(41300700001)(44832011)(8936002)(5660300002)(66556008)(66946007)(6512007)(2906002)(8676002)(38100700002)(1076003)(122000001)(38070700005)(86362001)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?kqPjjaoCjD42JKdGkXNgarE?= =?iso-8859-1?q?BRqJ8cZaAxDhgBfENr1+/5fuoG0TAog8rUr4//T6lu3DMua7mr2tiJAunEW8?= =?iso-8859-1?q?2J3a1R9In+OJ4V6CPnrPyDoqMxHc9aXU12vFIO96rIxkyzLxI3+9bCZxAp7M?= =?iso-8859-1?q?0qr+LWH3jjEMfOyFGvl+86n5WMhjXPaQxcDpvY7k9FcJciQRuGUIHCXezdbx?= =?iso-8859-1?q?L/akpu1F1DVO7TN2vtRi4VHDfrH++8q1wLiuuP6UJp785s+hw196xgWU7DSb?= =?iso-8859-1?q?vTSvDvFYqkS0vCIpzZHdAGgidV/WqYKUi7F8UrqrYV83l/vVyAJGlM5TRYP4?= =?iso-8859-1?q?Y60/Y90dP6t4hTrofYqJFOMQIjG+9zc8szUICXUz7UQ/N3fQmX+kb+m6GJXz?= =?iso-8859-1?q?1MN0Q3JqNHJMzQrbt4YL26A94CvqU6VUQ/UnmH8TR1KyQChfZPbasaC39UAk?= =?iso-8859-1?q?O82QXv/rBBqlhxIaidZ/cMSejX9jPik3ycCdUlpG0/lUMYgnAsiLQi64h5dL?= =?iso-8859-1?q?BELjC2nsX5cuziZZ+meqryRhoGUK+IP98idSlan8woexaphtouCBpU2gocG/?= =?iso-8859-1?q?Rqc3HZQPm+u4vVTOKtUDINewd0J8kqfikSPPA2zDpGEsBgj6iuuWmSx7egeC?= =?iso-8859-1?q?I/VUgm7brhnT7pNaTDN544TQIQ+jKRuo1bJBPRhvAK42s+zNPJyLdAeXp1vG?= =?iso-8859-1?q?pj79QJCpTqyg+0mtZA/DL/ptqjC2chUuTVp1N4/Iqx7VP97pNFF76PXG5ysp?= =?iso-8859-1?q?/Jcpv83XkTqRsLJGTZCJkcGl0Wi+p9tfes/Nv+RM/YOc8I7Tq/jp39jXxwBF?= =?iso-8859-1?q?bpm9XNRYv/iGr9pKskoeTBApsjIUd121NWzk6vYa/KLfrq/B4H6OYUf5I4+t?= =?iso-8859-1?q?4kvXsmGg51yDm+RiINS6tKXOmeLMcSF/6zK4cpB6ZDOb0HPsiAfpuke9gUF5?= =?iso-8859-1?q?0xAMMzrNR5yJi4uK/Yok2JEGXUZ1QG00QnX2PomXgVse1dgQyD4OT/cDdRz0?= =?iso-8859-1?q?EqoSXsDwg63KRAyak5/52OGLhaStyQmSUPs81lwhGsQYjQ6+QfhoE5tj9dSj?= =?iso-8859-1?q?0+Ra6Vk6Nn671wqUuzxe7dXRJn2Q7WJ/Kp83wOr2ibsdMtQD+RUxLZtl9nzN?= =?iso-8859-1?q?rdN3h2tGZyJcPoGuJV1YmE/dWtU+2v4zEIHa5navwanhYpIV+lC/NU2wLMIN?= =?iso-8859-1?q?Qv8/uqtsdmp03I+TrU9iL3NwIHS0OLfTtxXFSJbHV3ws2GHGkUaA/WGsrh5r?= =?iso-8859-1?q?b86avF/pCuP4tfirwrgPrb6jdQMM81JUAPo/RQ8ko8/yERGIlZb/cGn+vV3d?= =?iso-8859-1?q?JjxobmOeydi9TrFvwUAbxyRDl6JE85w1LJeAKjKvvs1gYX7KerrrNK1f7plT?= =?iso-8859-1?q?Xsm6HAwUQxMJAcXWECtRiIlDBe+CP34cX/DxTbV3DCi8uk/uGl2LPuvV0csd?= =?iso-8859-1?q?e9b0IP0XTOUVPwcnFc3xpHZ5P1sS/xJjXdl1jjty/wq8bbCkLLhIaj76p12l?= =?iso-8859-1?q?Nt8l7zOcv55r8iCXT2O3A9fp710dFagMTwS9FD6DlSfobMUXwpi4Di2rICPw?= =?iso-8859-1?q?puhtBhHN8O83RB2WO59gOwI4iZuC01dZqqKq+E9/j/ojiGcERTOItAGYCI+3?= =?iso-8859-1?q?h5DUcrzGJoh4nTL+WCwMH8wqbAD05ZaXudFTHuA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Ym8UOJy4DYJcWHZalnILqsnwuiuaBu08I+lVNZlqgkPT3r1itjFnzcYz3pw8wjQFpyxU9YZVe0K5fDcnGmIx8DTXctvBUQUhztnD8ZOyDyKp0o0omqH+29Xr6qqGfAR5EtizW01C1Q8qbKZRPIvqkwjoi7zltaAMSoeCzi5/ZO1X1kKtksDpzu6UbPYBZm4fMZ56feqDbM4vgoOxmt1+/DM5dExGUgAGfPLmlIh+6OdWTxYvrTm8xQADT2ujr7FUhGQT934nn0N1t0WGWFQOw8viIGvoMH5wq1qBzUAZeVN/cyu+S9vzo3LkJ2UDhogb9yBZlaX/2+rM44qTz2st5Nk62s1bL+eH5BHHOXf4fio9a+Jf7Bbn9c1Jz1B5K9MqMGnzqMBpGMPcYRvds18NuH6DKiL5cSSGBMFOoPKmsrb+i689DICJDdIE20b1mM9dDrOeqV60iWhyzbS3QUwiMkEOfaC3EknpgWEJkbeVyw4lDS8+EUIPtwG5sN9UySd20W30Nc8XFjzYgvO1991/3i6iIMEMNuPyxAd1OFIthzx41quKY9DfenXzXkwthXVt4j/RaFfT09UQsBzo1EKji3Z+L2G8aoj1KSIwPza1fgQX+fid6m4cQFJVoCGlIOblaBb8zZ4f5PaUlqCOVRdbs2c+mMGbRFiLtIzwrp8FoEbiaiWtjPr62FsjIFgtqMys4ZDsDXrj9Dpn41NVNg8+fGRmTLBd2r7MsN98aSfspPWA5EkrFL4xl0iR64gqyhjdT9x44qPibpYRqZV1BseHH0/cMenvrhyza2YAU8vxFu6BXkul86COvC8zb0RfaaMWHJNyJc9QhUN6R+224r6Scn/xD8qLvq+4KoXRVeUIMd8haxoBrvnPPnq5qn5n2c/ro5fcnEaDC4EbvsO/aKypNw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8476a4e6-9d3a-477d-fb3c-08daef514356 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:52.7041 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ThMcNq4DnJWzxq1XN5OJVfy6NWLjGidI1QyUuB4mNgboqM/R6SblPzg6zADbaGkWf6mBzNYAh9QuHi6kfY/3iQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5231 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=972 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: yWgYLg3jHV8dMKNRW73R75Ln3Au33cjX X-Proofpoint-ORIG-GUID: yWgYLg3jHV8dMKNRW73R75Ln3Au33cjX X-Rspamd-Queue-Id: 8D570C0029 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: thck4udo5kt1tfox1nfmaapr9ap65gs5 X-HE-Tag: 1672946156-499731 X-HE-Meta: U2FsdGVkX1+GySXuLLlOmAK5sshUDQcE4mbIkIsHXyv2zzWo+oR3fClNfHlGdZ3JUKn9bI/snYEklfGaXiIMF0KC1xBR/+vUK9AePpEAFGCeOcEK93f+RsRzVRQm8/0AqPcwWgRdps8XUa2cXGLoyxXyVYKK/HXexIwsHshVP5RZ0e2nCDIjU/7sVL1HgdVGjJPxnnf01atJeN3ZlSsHLLHa5oRq6rfhbt6nsi8j3hlSdMUtYuJAmcJRxGzEN+cDPF/82K7nEDIOpGI29JLvA7425WOdVFiEsQ6Zt4Wh6imFKfqZuDEHBrEwg4uOZ2qAx8h9ckR5Mn1NbfmPPCzLfvV/s1GuSldNHUrjeEAX8J8yMS8sFSKT6LUmUIfi7eGDMshugnrQRvWyvOESI+sIAclcgW0fQ1TnFnnKn9eNclyxh0Z6ZRKnHzFSMU9Pr+NYj5B1jZRdLMfrplbhevok0dzD9xwN53pCsHq6H3Tw9jVFuI1CBNbD/F4vOBHLbOtL1xjW4XbgMi8hPt+XdSoFLli1sNm5RF+pYBeNsvs3sr6pliJyZEuBO65tDLUJ+s+IkgOWMlLM7fOYYoHi+Q07k42gwDhWEX6YTYKNKfyEaRmbjXbCZQWlgKe8UuYbzMQ15Sc/udXcQLl7VMenEoLMnlV9B94iKj6lFna9qbJTfAIebOkq2vQfzMju5ttqYzeHlUOwMy/2LiXNqXRzdvp08HNEO3wRfX4rNUQOWJtn1HwxKQM0Jm1SqirpVSvuV0Wv7yRAZJ5OYUhCUPmDuqv7+Yo1gJnouAPv1kpCkCzRByitKPFJRuOzn79c5BYlBRzmqbX5DTfeM7Wcec0XIbqGHYhqpVygXegXfxwKC7p5KeDBSimP3Wq778CXoaxR7cnnSp+LiCumE50uTslE5X4Ujidwps8wk+VHwhRcxxVStRR/k6xwhATEYDv3ywXoHYBxkVGbVPPDfkqFhcjtuAR BwpOinGL 5cM0IXRfIBPEN5YkF+2oON2Coy3Ju38uIwrLwqxbj9r/bQXV35aARGI7OrhwHO6GRko92GEdTtAk/HuoGWiFOV4NGLPxQc5PddX/AMCWQmenbWNJAPdFilCj1/JzIRFr5kx7hXtv0vRod/aATWTu9Ct0Smw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Add a function that will zero out the maple state struct and set some basic defaults. Signed-off-by: Liam R. Howlett --- include/linux/maple_tree.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index e594db58a0f1..3f972602c978 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -433,6 +433,7 @@ struct ma_wr_state { .min = 0, \ .max = ULONG_MAX, \ .alloc = NULL, \ + .mas_flags = 0, \ } #define MA_WR_STATE(name, ma_state, wr_entry) \ @@ -471,6 +472,16 @@ void *mas_next(struct ma_state *mas, unsigned long max); int mas_empty_area(struct ma_state *mas, unsigned long min, unsigned long max, unsigned long size); +static inline void mas_init(struct ma_state *mas, struct maple_tree *tree, + unsigned long addr) +{ + memset(mas, 0, sizeof(struct ma_state)); + mas->tree = tree; + mas->index = mas->last = addr; + mas->max = ULONG_MAX; + mas->node = MAS_START; +} + /* Checks if a mas has not found anything */ static inline bool mas_is_none(struct ma_state *mas) { From patchwork Thu Jan 5 19:15:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090315 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E9D05C3DA7A for ; Thu, 5 Jan 2023 19:16:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F04BA8E0001; Thu, 5 Jan 2023 14:16:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E65E6900002; Thu, 5 Jan 2023 14:16:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CB7648E0005; Thu, 5 Jan 2023 14:16:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id B5DB98E0001 for ; Thu, 5 Jan 2023 14:16:00 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 8B7A31404B8 for ; Thu, 5 Jan 2023 19:16:00 +0000 (UTC) X-FDA: 80321700480.03.5B685C2 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf20.hostedemail.com (Postfix) with ESMTP id E07521C0016 for ; Thu, 5 Jan 2023 19:15:56 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=RyLxX5L4; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KVBn2ygj; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf20.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946157; a=rsa-sha256; cv=pass; b=V6I0l96fXt6TtGo81ZIe4j7g99aV6zqgkIMif5YIRyF0pXtlAT4LEunB6YTnsHCy2XCjR+ PfXTv/3lu+XwiVyLc7UuSWNdPF/Rt7JALGg+qSjS9Jj9QDdGX+zA/Rvd5nLxn8OIFKjlzc SO/22LtJMrx+yKrIjgEL46DHEfLhw4k= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=RyLxX5L4; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KVBn2ygj; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf20.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946157; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+7lb3T9LpYIF6+7aVeQjtMBFxEGRNgAAXhAWR5tPalk=; b=aetYGH0U74UJvaOYUIIJ/6CMzbHBwMnO/YRlL2BVSZn0tMDXjMDmf7xIGa/XMIaOXhDdqa dzVsNZn96KM7GESQEBGyP+MpLZIPFXZY6aHlEpAY/TQ+1jePkNPERB1JogPHwJgN5DMu3/ lJ9vnviae6XT22FDy9xUmi6KYfvI1EI= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITxBH029125; Thu, 5 Jan 2023 19:15:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=+7lb3T9LpYIF6+7aVeQjtMBFxEGRNgAAXhAWR5tPalk=; b=RyLxX5L466s4dDfqEaTsCMJiOHA4z4YLZ7B2PwG6UInejebP5G7p/EqLHGXu/LbAseYh kLNHbVVcQ0U9mctWiQXaNi01/4Ls7hRLlUrRPJziH9ebzAYIB1hl5Dv2SiuU4rKhAXEF dHNmgEG3exYdSx7eqANw6McbmUbBItuELx2F3pMYUyMYd6LPy7BlMnIdNR4KSgzvtHWP yngigmBXj23k5cXor4ooCv6MZRjZVhQTRByKPThQ19lHWvuRxVMT4hq//Pq5gGXfsZwl qiK2nSCu1vJn+WfSn/otmN9ISXQtC540mJgifvfpM2vNfZwSpAonXdnsqKU1dT2jWwV0 IQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtc0asrk8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:55 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I0WPE023380; Thu, 5 Jan 2023 19:15:54 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6kx6-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=elAqGtikCt10XY8Yv0Qy5uZSt0dSYMy2bJP+Yt8uap9AuzBJ5JZVcCkJWNrOtv3QLrQ+jCurMYmMZSf8ZW1EHZQvHiKeRKxSN7AGE0zwtQm8Y8YDZ1YZy85baOtjFTbfLd6WuffV6mT4aNXiAAXLYEfq0ByttACHgR8lZEYwM02IUlHQPHmYd85j3J4olS+kSvhaLF5Q21w9xMJyXqfwgpQnx4kB7U+5/eoeiixME4pIj6CwZY2M7xOhfjzqG8om3oiWOOf5BOwJ2sSTLAQ1i69TvL5yMYClPHkrbuT2x35txYBljZrZ6V+xcXhQri8ku08DKFX6zK9oOtvwLZ0Y2A== 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=+7lb3T9LpYIF6+7aVeQjtMBFxEGRNgAAXhAWR5tPalk=; b=iI6aQNTxa4nbbtvh0bvA9ktOcTsCt3a5+iPvgBMmTPbid6VVzoibhWMPr3/S/QApbHrXRRL0EI/CrIzkkNIdbQMAqWDK4UhwQbSRBrOBuRjbQ5U+uFGY7UcBtgoLAR+xnqjaY4x8QN/uDfrby/jmZ19wlI2FsJSUT2X9ueueNFsZCa9q4C2fSDoSPkRUoxFmIu0JKSC86iJeFyblM+XfdMxADSi2N7XtYbgE8PTUcvkcRQuLKbUr2+BBBQWbrPKIDqZgg+mDJ19YGjYTYPpZi4x/wKpfZ/h1Y8lqzExvDaqspJwkLjMafnEvQnW3dsf3GvX157dKOqj+qI1dmwYSnQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+7lb3T9LpYIF6+7aVeQjtMBFxEGRNgAAXhAWR5tPalk=; b=KVBn2ygjACpRNE+WRLWyURGBDSjNdW/kKDOKGNKgAxYeHTXgJVUf2MY//l0gnWQd/wQqWh/pUWOWS01rHT1FoFz7MRuRuxrXBrgVgZ2SSblCeEe4bvo7UwbMinDpBkKJl7759GC2pigWT2Kudhd+TgUL5XcCzITy8474uDBUCJ0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5231.namprd10.prod.outlook.com (2603:10b6:5:3b1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:53 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:53 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 02/44] maple_tree: Fix potential rcu issue Thread-Topic: [PATCH v2 02/44] maple_tree: Fix potential rcu issue Thread-Index: AQHZITogJrlnYJCl9E+hGSmbaSft6Q== Date: Thu, 5 Jan 2023 19:15:52 +0000 Message-ID: <20230105191517.3099082-3-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|DS7PR10MB5231:EE_ x-ms-office365-filtering-correlation-id: 216d829d-47f0-4f61-5991-08daef514397 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ttbDbQXRfOGiAHlR0bSQqFEN3T0S/tRJJ8dS2X/O67rTcwyDn/jPEMH0AQyO45mqCMY49ZuUVWycY/UU0fORM8dN5hBAbZndc23/tEALAd4bAzjb7dZwuW0aJG/O57TRLFPaQv+I1950MWOl1dBuwruR+eTprPOKFBncV93Za10z/w0P/MX/+L1jL1wL83HQs+hQ7/s2hEyhf4LR9MtrgoOQSklkJic1oMmrirGLu76bbdfSNABouQRbOu8FTpKOvBRo6zn3zv7BIog4VxEceFzzSs94qjJvzpZY6uAcV8b7RX8gFyA5lJSn89c/s7IuDRq6A3vGowgCmbyUoV0QvrY60NK0pRXKg2PzIX5VRSgUVQqqtFa6QynCS3ba0HLr4gEbC5KsXcAU5PBQZ7cNgMhrEhdUKkaZWz7zwGbGkP5RBHMqdGJugktMDu95f+EA5tUpiZr7GbMv1HgPVNdleoEj7yU100Niu5PGOIeUjspMrSr9zRRATVZSFg9c9vCFvQW8xNpU7hsUdmrm4NUXHvMkr3UG7V5oH/i5vd81v7Y5orPkTToAC0/eIvxJzcR4Eb/4WIo8/cP4RSnq41kU719RdQJNUxlsosXxq4l3Skprq0A+Y6NaV53EIqbHqaVz4RVF8KKs7fuNT1kUkHOixAm6WlMnnEjW8ocvoKOVacCOMZJns/mns21jY0Sy6XwMBgIqMUxfJviJKlFEpHWLoA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(110136005)(316002)(54906003)(6486002)(186003)(26005)(71200400001)(107886003)(91956017)(64756008)(66446008)(2616005)(6506007)(4326008)(66476007)(76116006)(478600001)(41300700001)(44832011)(4744005)(8936002)(83380400001)(5660300002)(66556008)(66946007)(6512007)(2906002)(8676002)(38100700002)(1076003)(122000001)(38070700005)(86362001)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?9UtCuNq72vsdCbxB5MXttY0?= =?iso-8859-1?q?9lA7hh0mO9Hex7J/iVOnwVkW5jHmj61hfbjorctbcGgcrqlxtS4WYmDXuB+x?= =?iso-8859-1?q?mS2DDvuwRK0iniPyLyvTMQJgCzOKgZePgcMD9gq25oUV5u/1H4g7fyDPbGdl?= =?iso-8859-1?q?AyaHY0NJRsjtSjaxPckSwvyVvXchduz22EobG+ubUicEY4mmBfqMnvsDRpbg?= =?iso-8859-1?q?xRU8NW7sVj52YbOhCELiPGdyYn9Eb8uy2FJt+Ix4E/U/w+I8CNn6ExOQmTmW?= =?iso-8859-1?q?suMVGAZ8w9q96PzaXAegxsfpeKfwNemDa1OYs9Cj1nuAOO2wFkr3VRWqmKAa?= =?iso-8859-1?q?Jr3LP0X9G+PMWKIntYWGOnliCgC6dS8MBr08hA/W6l1rVI7vM96tfsEgtCjs?= =?iso-8859-1?q?d14hdlmaNEHaYZMxaKNJHJ/xGU+vZctFVd7B7F+NcPkPCNf0qfGmO6dlydVH?= =?iso-8859-1?q?7jUzB0mdpCRpMsNhG2k+rTxcZkI8GUnCOLl5LJRwvu2I4FkjX8+AcPURfgu4?= =?iso-8859-1?q?I8amKjL0qClYUpLm/Q/MJlcDDSusL3Y/QfybBx1ZYjbA5zV5Ll7E/0gFAaEU?= =?iso-8859-1?q?iort8TRtVHMHb3QTKpwiThtumymEAIRBBUWBgWZCLSp6kn9x4Av3N0k1hAfH?= =?iso-8859-1?q?sdySdZwbVKH3l5PBbcyncfKOw1bNZrS8UUuLNlYaACcFoXl8srGty2Zq7KDn?= =?iso-8859-1?q?7vDL5H2Tez7YodBmlWJqhvz0rudRws3FnYFflw5z6/JIbolxQVeJViaVIE9D?= =?iso-8859-1?q?ymW5zP0xOAb+U1u/lsrqeNc/3hSGRMjmApmLzOmsQ92R2ZoA1/sdan5jOOoa?= =?iso-8859-1?q?leo4CrPggmzibNIOlqffFRtNuq8xsag2/+YHMdP4u8ZuxVyyORzZh/z9xeml?= =?iso-8859-1?q?J89aFUlk1zdshvjKLO/d022MfCBgEoiv6HedqEr/nzToaDW6brMeMTmZrziA?= =?iso-8859-1?q?vNtGAcoZiqZX4LjCY1Nm/zzCPr/UpIjRQdqA3bCCpeLeaYzv0AFIYC414AbW?= =?iso-8859-1?q?1+3SwCTaM/1XkqzrdexmBfv9VzN3Ah28zIY2ztlSA5mSEkp22Ve8kF8y6xSi?= =?iso-8859-1?q?hSv5uVpkRjjEZEsmTpCw4UcWcTVp0bsBEDLXZBSB55dCma5KNoEYCMaxnwlB?= =?iso-8859-1?q?e2dMQA/gRsVndlbHYtsYG/jtxoFNEm/lRQnREcA0xTLReTMpzSjX9ae0zx4M?= =?iso-8859-1?q?1UGFcbrhb/iwiWm5+EME9W+JcTZDcXWbj5EkzGbnwtDG7cAugCBlmcChA4nG?= =?iso-8859-1?q?qo8x1kBe69i17uflwwFsGTHefxiqu8XocHh3VfwqFWL2fPVOAPF0EijC4cxB?= =?iso-8859-1?q?huk87uPiNSfCMP5cMxbBKUWOcMThDWU4cKxs26hSOLu7LSUhQhrQslZ2ERmr?= =?iso-8859-1?q?fjdAUX3tHKpJuU49nl2g3/CdYoYfdynGKY6h2mFF0YVQf2bN42NqCXuOi6Bt?= =?iso-8859-1?q?XsuTUcyXJAlLPVhfkOL65jQMDHqpr9iJnStWFgwkBeq4+TUBIiwoF17wdLIU?= =?iso-8859-1?q?q3JAhg8cg9OXoec/ACG6kYh8+9tm32ZFGX9EZSlSy+WP0naofQT8M17zeAhc?= =?iso-8859-1?q?qkNPf9uXeeiDZ5m6WJqEwD9QyocyM1gpWZ3SlK9aExv6TYVD4NbvTfbvqqwS?= =?iso-8859-1?q?LPqhuMCXdWhrt5c+1hsQqZZL7sXlv5VfULlmRow=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9gn2q/3AHCtt/5ZAMv5pw6Xmc0sQ32bQhnb0G8u88wSZkrcrOHt3Fk6f+v7vR3akmEfDUzIcO7sPIRX7Hhg53qviscHGROMT8Af7M5gRLWL7PapzXUQr/NFAjbEcsNzA3cUzKW7DLml3pTvS3PfnwT5ll/gPFxjrGuXVKUkSg307KKTbHAMBLxQswHur7KK2pJzQzkAzJfG2TpPMVjzFX+GCW7hFJQfctz7y0imHLt11uEYKZsCrvFH7K6YZWTDX57onOBeMBI6XO9Ey4CoLWIkFoLmaS+4Ne+R+qFlJmeOhFpGXYXAMt70a3gUsXxEgU8cxyGU2UYOuFktFqp9CaFRKcr8I0KfoFaPkix6vYLipOynr2Pwi8kdk0XpHtw9S61G1aEMO8uE/VqSOvnAyWF5JtjBgFbDUnJ8lOgjv3Kb08DcR25kDV7CMjO/JXXBKjBF5RmyuBP7ifkolL7J57kCp1FmEYFBNTwprd1whQgYDUjA2m0aVakxFK2Ftxj+E5z+5owPwwGNnuUAVuqkzUWfmYi8UYOLrBJuTm+pmmNPBMnxrJFPd67UIgsifIORIoEx438RJTK6+433yG4p4n/x2xiI67MJhcu0mUfzabcDj+neus11uOP3K+GfMwREEWscJrQ3Fj/JxSrGHnkQWnZL28iJlp2PkcNUgIQJfUihCh79YAxhabayycjUwwhSQ/oh83doPs72guWvhbB0h8Ai+D5VMfaDsUjekmKBtOuRDvqST14mQ0i9IrJGBP71qZLXZZxIKra1ZH/zm2cW/DRIn8O6jXPIiGGepLs3Wu+OMDlG01MNxMVCR6pnu6bX6ZxZlDkxXcwSXTQf0gsE3fpeUhdszpWRAp2SdbpsFv/nUy433vC+2yZgiP9aJurlBVf8o/lriKFLIvUlphV2Ijw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 216d829d-47f0-4f61-5991-08daef514397 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:52.9697 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D+VAza03Y5ahoohs8rpkQT5lcne5+pkWoBEPpOBSLl12EyChZz6LQM5B3AGnlzeHHDHyth6TLX+zvTOFYWQziA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5231 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: 8vpSfveJPIij3DMtR9d45aulU74LCaht X-Proofpoint-ORIG-GUID: 8vpSfveJPIij3DMtR9d45aulU74LCaht X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: E07521C0016 X-Stat-Signature: ukf4jara36obx34ryh9hjn7x1xxbka3k X-HE-Tag: 1672946156-596981 X-HE-Meta: U2FsdGVkX1+K6QKoScW+HAvmQTnrAhNnCeOsUCXrreoIkoHuntjqlSHZ989l4wr0U2tj7kYSD2eqU+TGbd5olL8G4z6N6Vmp4CNW5mVJjGB0zZqvg71jWWrPJpxuAbrxgCoI0RGYO2+Vu25dCFqrNesN2WIXDXD95ROOLebQfc9cRd+q0XvREQrfwagim0yKljaEg9H33Lu0kSt5XNufye0L6hHtyg95rlH8/hslIyQCEy06HrVYqBpinnn0L7MbsSSyhuyjk2O35N9E5cR70dGHd35YUqAAeqQb1/uryOBz09zQRgLT/4Mkb8GyZyX4rREzAE9yznE+vI31GyEb4Lq9pYuVmBSwjjf7wZ+pOsafkSDT3D4NOie2HmChdNtJnxThgC9zEmyb0GpXISi0qyjfJLrqyO0TTC/tL8ehA5Xo7rbDty9yBDLVUwgNgVPkMPkgwQhK1RuXLyPIz37EerCXDUp8NNL2UHEMlqwcWDpnpj27zMu3qzRsDwKENcSBepW7ty35QSganuPB+exp2h7bRPjwzCZy/W0L3XcIFR0wTx19RdOLZw/sE+q3Fzj4OFhY4NmxibJ2nXFfWEtaqm6GMg+fchmjQW2GtGnTwkIS+YWICeUffmwB4ep9BMCsDK8UH2EFQuH1MX7/g7XJt/ACfUoFzjeYWcTNsLDkUMG4pa3iAB9JpFiLvU6LWO5gIEuuGtOiJubdhK+KP4fGIv5u/8sx0Ntsoa2jLa0JHS+HLBaeKrP3xH3iUJfxINX+BXyqBz62ADDP6AQe8AbeyeED45j1uI9DBqfyc2VPm1WZMTiVYkorJb92Mfz6XEXU7qzzYuhf258Jf9IUGZ1hqM0M1LiA5Y9i8bEJjZXTR1hhuNcJkGB/TLAX3LKjMkAwMlp/TDK09kz4HKuuKHAr6Mtc5fHPiAkzJ599K9nmwXnnywlT1wle25o4RKDgDwVsq/D9j3mTPLz3f/jq43o wB78j9lj SuL78+GeV8GzSxj3Nqmrc3ZXUqQc/Pd0JxsjeAuWVbuObnKsnFfJfia4UeXJ+UsZILRPViIrgl6eRBPOsYJ7FamU9h+T6LQySTp/dJV8H+X5oPkuH7lgZKy+9/UCl8svOB6OpDCmwg3ZeYrHqm98/p4OUnA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Ensure the node isn't dead after reading the node end. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 26e2045d3cda..f3c5ad9ff57f 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4661,13 +4661,13 @@ static inline void *mas_next_nentry(struct ma_state *mas, pivots = ma_pivots(node, type); slots = ma_slots(node, type); mas->index = mas_safe_min(mas, pivots, mas->offset); + count = ma_data_end(node, type, pivots, mas->max); if (ma_dead_node(node)) return NULL; if (mas->index > max) return NULL; - count = ma_data_end(node, type, pivots, mas->max); if (mas->offset > count) return NULL; From patchwork Thu Jan 5 19:15:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090316 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7AFABC5479D for ; Thu, 5 Jan 2023 19:16:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 604B2900002; Thu, 5 Jan 2023 14:16:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 565D0900003; Thu, 5 Jan 2023 14:16:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31C2F900002; Thu, 5 Jan 2023 14:16:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 07F648E0005 for ; Thu, 5 Jan 2023 14:16:01 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D24F7AAEFD for ; Thu, 5 Jan 2023 19:16:00 +0000 (UTC) X-FDA: 80321700480.24.932C185 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf29.hostedemail.com (Postfix) with ESMTP id 48234120013 for ; Thu, 5 Jan 2023 19:15:57 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=jmKsWUNa; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FCtPmTdW; spf=pass (imf29.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946157; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AtQwHozD7Mms2T+KB+fR41DI5ZLtsKdl62R8KThpOeQ=; b=DEYF7Cs5u3yxsZ+Xa/GGYvNtBBoXro2/5h++bjvPcsw6Wi15dF4q5IJdijTLHrEAWpLTcA QxuQaBA176LNNS7ZVpH0EZqFZiH0LLxW0q8yUeif5D5ocScKhB0i4Z13n/qoY2GV7HBxQy 6tk1mhfcC2lh+pauEhLlzhS5c8ewKRs= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=jmKsWUNa; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FCtPmTdW; spf=pass (imf29.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946157; a=rsa-sha256; cv=pass; b=r/4SKwmEguhVAk+6XYxt3t5I0cX2jxkvcnkNO8efsT09Tre9fhtc0w1eumwPaqV8xXp+hI 1JPEYL95monhrWfwDFmt71NTERcDIhaP7h02X/QAYsyjNXY7NR5B9u9Y6nfRuWcdeoeCkJ tUV6amLiIELHXMLZG2fi3O+KTRh+o90= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITwAl029120; Thu, 5 Jan 2023 19:15:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=AtQwHozD7Mms2T+KB+fR41DI5ZLtsKdl62R8KThpOeQ=; b=jmKsWUNa6o5cycWiWSFBw8D4gXy16xRbZefHKWSzKReOPri4sTgoOyOBO69NaiUkSpdU KXXZm0QEY5XMo8Q0NIMh0WK2DMJIO2TvQ3UCAWrnGq4ZJq8A5Ny8idmvRPAf9lSimkcJ WNTDjDjYLv2XkIN7oSXFfcRP3Fj5eQAM72I2g/sX3wJYLsyDVZoVaeCg8hmTcZZSFaBL h5vVET9V9mTbEC81/Da5qxwBtRL8sPI7s7uH6Aytk0nKU/7npQJaJeKOCHpd90ikl87i PTSOaeItBBPO+GchgFC//l6MagRZwBLUfQlt0wBrM1Hi1woadC0TfzjMq4GjGWpBFG4v /w== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtc0asrk9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:55 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I0WPF023380; Thu, 5 Jan 2023 19:15:55 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6kx6-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dxtPtkWl1e+YCaxnRoxg1igqX6ERNsT2KhJlbjIm6YnEAgGpjJxCfUH5puluBdMNcKGgpp0q0CFnN/dCgG+LhJXd24KQPHi7DIjnWaNiTwoZ0feXABYDMawKlggaAX+dm8j4gBzjg/YNNjoBf+dprA3OszZLPBp5i6Imb7cXA3gqlwrvwHOiUP2dodwyj7WBPHdHnSpIfN8SxC0ip2g+H5M9QzLr1Vd6z8ngIvSjavOZFRTX4MIMJJqypdXuM9rne+COXGmxwMYREuE2eZ+yHGrCAJ/fja7gZNIxrLEYxG/eVb8cMLLyje6BsD6PUoPe+6H4uSRd7DR2DZzFFn+23Q== 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=AtQwHozD7Mms2T+KB+fR41DI5ZLtsKdl62R8KThpOeQ=; b=XQ15/a6mxNYQaB4QWgFHi4VYXgCmHM3L4GNmtIkGsDsVbVqtXoA4IF8W2lfizz2xpvQG4uLogfof0r/uzUYu04wmqtRXP5AkCVRAKGvUHzgRJYtm67U3feg3X/LpNsz5dpff/m49EH/zU5cXLqC2ZqiTR18t4ygq0jQ/c9g87baKvJD7/PWp3FwvSnH+pEi6EQi7w0z4iR3mqPiebRgwGwhr6ePWiGymd+zmBG44WYOJAJIjCqQtgy+otYNi7U8K55CdkhLTrD3vBpEVe0zOnCZ5pqgpwQZ5SClvl6GbHTs7TdiXbWUuGTZPgGy7KbMlMIOUT747YbJz2ugbh+bvsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AtQwHozD7Mms2T+KB+fR41DI5ZLtsKdl62R8KThpOeQ=; b=FCtPmTdWX2g7KI0/XSXusspU8Ae+hsNWWSLkK8SSmyi+IOLDKfkIE2Spywv+IPheTG06d9o3PbrlcolxIJPBNOVm/7ywONplJAC3c2eNLddgZxgLnbDwDnkXv4DhOmi8pCa5SIGrXtnGuOInttQp+0Mru7j/GKaFL8qRNWdlK48= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5231.namprd10.prod.outlook.com (2603:10b6:5:3b1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:53 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:53 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 03/44] maple_tree: Reduce user error potential Thread-Topic: [PATCH v2 03/44] maple_tree: Reduce user error potential Thread-Index: AQHZIToh4iSN6+fCUkqyQ0xEo8BZ1Q== Date: Thu, 5 Jan 2023 19:15:53 +0000 Message-ID: <20230105191517.3099082-4-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|DS7PR10MB5231:EE_ x-ms-office365-filtering-correlation-id: 7ba49b5f-ab70-4ca4-b7f9-08daef5143d7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OH0ADRyucPyvn7zwVFWLmjhLb6Wa9WbPRyyJ2+mPKpXoEVcBqKH4+TTyO8gruJYOSpws1ZV+GvdpTQABytsujIGQE/XiJ9pN+12cTFSPXF1JS2xPXht9Rmuv9MvbGC9Kjcx1eIXPfvceaSy4CtA0+DWSxogERuUqS2L1pyhdlTHLHN/TscmfBzix5Cfo23qtKQcBzNGHmbfXVbkHPbHefqzlx0S3B7AjM2mfXrluhFmyal85NH2JVNOeqqwgb2Z8oX4E5I2dKcTR+BnQ/0VuOfqsg5/3Xplrg+9ms+IuSQaLPhCWSW/m+Em4CJINSyfjo4F4+leriTR4usdXzyMbfwlDhNBwgRUo0lmWhrD37o32KcC0v9ZxnNqswHi7c+eyOpyBVGzu8BGvm5bJxZIdyMJTaOMqPuhC08TNjWqtJH5Yh9F7XgM4irIl3JTpHd4I3dDNf5E+2qk2fsyJHeUfWF+CP+By7GpF4tvjWRWH1bTrsKzpVOMFw2zkzdOXbrFS2x51b2dU1Oq4bBYgrBqah8sjGoI69G+TZQ0HNadheZjt+EvDyAAogAhUVuzJpKO+PTAaTQxGjEpxTePnXYlaVDeeKtye4hWa9xr9upmj74aXMxBdarztB1caONR3rXTAqwMRe7NYdYhY9Lcph/dgNMCdSvL1l0OfiY9aQAQeIMw+zfR8glAJUd2hDzWYMRovtazzZ3O0yK3fIb+rmRc3NQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(110136005)(316002)(54906003)(6486002)(186003)(26005)(71200400001)(107886003)(91956017)(64756008)(66446008)(2616005)(6506007)(4326008)(66476007)(76116006)(478600001)(41300700001)(44832011)(8936002)(83380400001)(5660300002)(66556008)(66946007)(6512007)(2906002)(8676002)(38100700002)(1076003)(122000001)(38070700005)(86362001)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?gZSuhwrIiZmcQiA4mGSUBRj?= =?iso-8859-1?q?aOkTf9/9EftaXsqLxMyySJ93CFdYSj2IAuC0EwumcQe1YA/tALOovzdNRKHV?= =?iso-8859-1?q?mrVEJXMxi8LTDUJNrjCyuIrPpvzHCNhHTL9Z2V/FBVf8jdsnCpFKXABhQCKc?= =?iso-8859-1?q?FRduZZhxo0OSMBOoXZSRa6JGJekEhxHsdJpgTTKIqD3j0Xs3GQAAE//nqULf?= =?iso-8859-1?q?/N15eED2SM2pdlOPJ0gK/lhCqPizAtPJIHImc4IrKq6BpZoBkjNGzckjqrPv?= =?iso-8859-1?q?IWsfP28iE6j8SFiRr3ZQfJLYx8tS19waSqpBVY4s+aRfttfiSEjR6w5zvq67?= =?iso-8859-1?q?RxxCyc3LWJ1MzXSMtAdR0vm5Lny5eAwJRDZkg5P9IXAGWA+TfIYAP6mfuHfg?= =?iso-8859-1?q?NeQUYqhc1hAcodOOgRVhy0v0OCYdgyMplXjKaRwEAMhgeI65Iqlh6RqevQdW?= =?iso-8859-1?q?F8wcrw0L7k5vcg7O1cxDwUsE7xV0qvjtFr8PgIVg19w6pRp5yewi4WL9txdi?= =?iso-8859-1?q?dI8biw3TIhibXFx8Kn6l2DOMP7YwAkqlMYGcgUdvMMOREt5Zpkc0iB17BCFg?= =?iso-8859-1?q?pdExiE0jDY5+sln4JOlsaHnXsrY973YzzNC4BDwFW9xCK7xZMissk7/YQmP3?= =?iso-8859-1?q?MdJy/CyvKpksc26ERLfr11I1nRnVjVniEG/KHSytkSN4NKEtNQA/3mTlPsUz?= =?iso-8859-1?q?NNWGHNS+4EIOFfMdXbYerYRZ2c7SnRb+PeqDIz6lQybRUQCZjvXMwxhgs6wK?= =?iso-8859-1?q?IhFtB7bk176MWuGqPcs1k1r9Dc8UiM798OVV1Pb3GYyQKrNbCaK+Af0poGbH?= =?iso-8859-1?q?4Dpg7d9K0UhD+YAwD9ngClh+4Xfoe2qYNT+9G3i0GfZC5Lja2pKtXP3lzPS5?= =?iso-8859-1?q?X9J4nEV8/wRjUaDEdz8ip3CNEyPQfUqdGJNEXgcPtzB6uBDTpGMLqFfvnFKH?= =?iso-8859-1?q?BoAasR4TYWnzzbrSpiXnp+Ffw4jwzDt13Wrk3IP0OvY+jtNfcjv6RDRwqfjm?= =?iso-8859-1?q?gOpd+lTLkQVhAaSELiDh+ebBxXJoYkDSAyc6LgVM3a+xSrNch8uH9PKj0LEF?= =?iso-8859-1?q?064s5CzTzJ3CpFH/FbWoqiXIUAjrekF6XLFsjzwGfEi5oPK1PJwlvv34X6ub?= =?iso-8859-1?q?CgQb9y5ztvpGCSIIanFxxikDwoVjvSsBxhkpci7Iy4zybegVHJZFJeKni1Tr?= =?iso-8859-1?q?b5LDcKJh5ssHsAq+092QlP2k+v6m4nVmqVHkfB9w8c3VVA9gwGXQSSdIDLxU?= =?iso-8859-1?q?PD6zm223yNDF3XXMBG1PpzT6PlULW0151bukaP5Dhgmqb1SqFjRdmDPmCPCc?= =?iso-8859-1?q?/U5/TrLUA42TJKUf0pZsm+3lzhlwhwMSag8SEUoent7M3DVILkxxE8BkQ56f?= =?iso-8859-1?q?+5otzUYoPydZODAc6SbDtgpmJ7TXJv13ocu0hUV9cq3aitnjto2lTqXpFky0?= =?iso-8859-1?q?rwHDPfE+3ToYFvea5hlDsh0HZX4hK+ID6DvT5k50q9MZxJcPRlJxLzNqJEwO?= =?iso-8859-1?q?uU7FHQgoNvl4W2qxh0ibD+nCV9MuobutvQ71S4/KXmsfY7nJDX3mgZUzkjKO?= =?iso-8859-1?q?vEsOebEFxHGMhqn4ybeMoSgqn6x1L2AMkxbxyW/BNuRlqC8UXOfG9A2BeRyq?= =?iso-8859-1?q?qT41PTpZZKgfzyMJCHMjRfJa34nWANmH6gj+nQg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /9oUu1drYhjr0NX0NgqqSXb+23UCVvf/YrI3uNOySma5FY2z2vQvdmqS6jAeXyfsc825PQVgAyShOH9WwxNM096Cpwcd0XrVbibt3D1vz4ZdKrGyDPYE1HiPmOyTeDZ5JxtukzxQ2AJWCMFzoJHHef+5BnR9fhLlZ+YFSJZInTSLV2JgzcfoTwK470roXx2CjvSunNfDgtYWc/kb1/bBn0CAVmCOjaCuq+eMwNrFIToCjEZYFdsbcFZFh4NZiFRntnwV4kTwiDIGPm+UITo7ML0DllJAXv77UQuMqNk4t8SPPCI3XKoD3DLsLwPI0MQPQrOUnwq2R0kZJxTxDZyQpXtwwi71g7ZUmVlWMDTjgao4HSHTyLV5k+ehr1roKyolNUHmazV65I+c/Q2i3WRgYCa/ajP6lGE2zjDymKmml1IIGbCR+bifmcnJ0MzrBfRK4xDsBrqXSvkFCN14qZu0tYqYAcEJo66HVvm86GecXCH+/3yAfKAQhYNo+cajzwvAL2v7jdX983O6pfdw7j+RWq2Q7JozTLgF0t9dqcFHwise9iwqEfM7H5Y56o+Q2djdGpYPytuZslPuo7IjXKvNGSfVOEzT3IOBsemDCPXhXt557Q9jSHptz/UxqMcs8Kuz/mVVhBTaAcQLPMBlp/VU0KnrjBYDI2FCBWtcdyUR0YGljY/IMszGmceASbA2sK8dsMF2Euv3KQdqMRZUiPyhpdgrfwelg4ZwnrTHLE9UkSkarKA+EWES3je55s4LSaSEmxY/bXlhMJLZKOgCaLYuKyH1iUTXnkg1lE3Aw87kuzk36dL202tCuuO9VhRKTcNc/JxiOaYjT966lDNuUeLtCYiPK9wOltAOCIqsZ751bPBumRhdjtsiz6LZ0aYhXeVNYhCONMqLOq0fvTcECAPsCg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ba49b5f-ab70-4ca4-b7f9-08daef5143d7 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:53.2509 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bW2SRiH28OT7l0bRJOmiBTwR4DNMmBNx/+vnz2LVQo+SpwVIhWGiWurH0ITzfS9XZleoy7Mj1UhZdmi0ia2gkw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5231 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: ddzLqBHdUSmzWE0SykCq2d-b65cmCCGa X-Proofpoint-ORIG-GUID: ddzLqBHdUSmzWE0SykCq2d-b65cmCCGa X-Stat-Signature: edju5wb3ph4ean7ok5wnqq9ss8w13d3u X-Rspam-User: X-Rspamd-Queue-Id: 48234120013 X-Rspamd-Server: rspam06 X-HE-Tag: 1672946157-275887 X-HE-Meta: U2FsdGVkX1/Wl9Pgp0kPVu1sWpOixkDsEjzJF7j2H9EPdvs2YFJgqwbHlINndmqoE7FzhoN8S9XEIy5qWYq86iTcZAusnpxfJY5e7MDAOKg0Y5U9kQEtoIL6Qnqo4I7vJ+dQ7vcY9/005oQcYCPB6nvxLKD+lzWzosa6aslLFSMDHswI1PDTE4Nm3qjq9Cax7HwoojJn1XzzqrWmSgBw2BzP4bH6/cfyRqXREhVOq0J5uY/gMGWebPI1MOz6t/jst6cGPOTN6NYolKa5E6KcWbmaoCT8M2PHT6LA8f/qKWVfyXnas8OhaIvSeZwR4fpldp46TwRkvC1ylS4Qrs+olLc10pMANTX4476Al2KwBoG/5tLhaA+1aHD+V7OQqpIxUingo/TSNfuH1uRUpAEK/xMmkhuF1EEGJg7XZ57bV3HOyCAjnx5e0tkrHj/OyqFAPGUp+Fkq1mOGnfFy2IFwlW0tNJdOfRCdEj8rv0fXQylrB0n6KylSzPfxAgQ8OY1u/1guE6ulF2/s6huFtRJlSp0ZnJSamGzLixt2UzIsIlmLN4SrfX4y5StzcABY4dqLk8H7GES9EAybKpkb8vU5jsG1+XE/4XYyR+hLruXiv/spFXl4+xoUum12c1g2BLC//jDArMP2FKGYlnG51oqmjp9xrYiYqULAmeSRrAD2sDaRnqmDafPtpB4o/BOgsSNFKzcVlGkedNYmsuKzTHQVhteRK8ZOeyCZnAJrNewPdZZ02Meh6Q0afO5gv0LEFNAzNfC/gmFWZmAxLnCdg9l4jn3QTMnJ2qu17s0iFPWL2UqR7A+8o3O9Yn/0yBhyciOh/wPNuWbdsXCvWni325jHNzdpYG8VDnsCzgOezBf3EOEGGXInNQcjbqiylWDwfWIRAc2qS3bKnqda0YnqHfMQttat1B092GzYNnI2nX2oM10Ua9LZxvg+myF9ir68z+QHCmCO0bCigDK5VwfwXo4 UzaGKttS rah/nj9oTFvHuqDERRfUOgYjRb8VGhGrlHCjfCy4d2x9Ul5JfM4trVLnGlmDao0arbpzEfNLR9VFFHfNC2nyK6Old9YIgv7Uj8mBBoPygU43k5w3tLIn28xjwJvijWqucu4hrJyg29DNACPseZfCuIxxWOQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" When iterating, a user may operate on the tree and cause the maple state to be altered and left in an unintuitive state. Detect this scenario and correct it by setting to the limit and invalidating the state. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index f3c5ad9ff57f..14cff87cf058 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4742,6 +4742,11 @@ static inline void *mas_next_entry(struct ma_state *mas, unsigned long limit) unsigned long last; enum maple_type mt; + if (mas->index > limit) { + mas->index = mas->last = limit; + mas_pause(mas); + return NULL; + } last = mas->last; retry: offset = mas->offset; @@ -4848,6 +4853,11 @@ static inline void *mas_prev_entry(struct ma_state *mas, unsigned long min) { void *entry; + if (mas->index < min) { + mas->index = mas->last = min; + mas_pause(mas); + return NULL; + } retry: while (likely(!mas_is_none(mas))) { entry = mas_prev_nentry(mas, min, mas->index); From patchwork Thu Jan 5 19:15:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090317 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 952E7C4708E for ; Thu, 5 Jan 2023 19:16:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CE1ED900003; Thu, 5 Jan 2023 14:16:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C6ADA900004; Thu, 5 Jan 2023 14:16:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 984A5900003; Thu, 5 Jan 2023 14:16:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 77DE4900004 for ; Thu, 5 Jan 2023 14:16:01 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 3B82D140171 for ; Thu, 5 Jan 2023 19:16:01 +0000 (UTC) X-FDA: 80321700522.24.E564462 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf12.hostedemail.com (Postfix) with ESMTP id BDDEF4001A for ; Thu, 5 Jan 2023 19:15:57 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=VU+69ky8; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="tFHs/MFM"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf12.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946157; a=rsa-sha256; cv=pass; b=lIJGWLKPPlCk///qOlW8ihYwamG3sUWLKznB/uI+kQkHLBTYvZHy9RAfyl+5NCSWJCWiQ3 Piut4hV52mpE052raHKitO+1Mr5rZfdXP73hsC3zSm65TyZVrk9UeEOm1FdTP4o7qRNHGe fwNTOcKIxDTwDEWUdnqHH//DUgz4268= ARC-Authentication-Results: i=2; imf12.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=VU+69ky8; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="tFHs/MFM"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf12.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946157; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+gMycOgVy+MU0JxghxAAWSj026eW9Ud1l3dkHuAq2pg=; b=q8Fla7Ik3kyiZJV5Sifkwf+xq1csMeA1bOCAG4+GAKdvWkdnu8naov4QOFMFZtI5hoh69B o4U3KA9kkdoYTxV7QZKmZ+w6qJmOrLhztqWPnxiCXMfp6AwU+HWtcBL8HsNOBTXqZbP6Cx G4MaxPATUn1CLYcWgg6U6+hF2i1eLRM= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITxBI029125; Thu, 5 Jan 2023 19:15:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=+gMycOgVy+MU0JxghxAAWSj026eW9Ud1l3dkHuAq2pg=; b=VU+69ky8KWFYjQgg6onyg8OpEzbQpFYTuQdCIEHnAx5kp/Bww61bkzvPCrozkdYEFEYC N4b5wXJiSkxivkzoT2NH+cUtZV6W/XurrhCPvGYQ/v6ON5h3dzN0y0q7Pj+yqnHpGlhZ Q5KU2Sy+ElFrFTOyTX64KKMRw9oMWGqgHf5jKxcFBz0mXHg20kiim7lvssHUdZtkk1yV 9G1LMRMooic9bn0W/SYqpefzBrKQUPAoAOkhMoH2RaH8ncB6nnw1HZ/0IUWh7kzm+z8o P3Ff03uNTM5lDzT2IVy8ZXR1dNA4SfTmZ4RkciVKTh3aMf48AOO0xXCGoBqSDYeTisnZ 2Q== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtc0asrka-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:56 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I0WPG023380; Thu, 5 Jan 2023 19:15:55 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6kx6-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iGuLbn5Qse39dG0xm2hWZW4hCp7+lFK5TDSqrR5VjWhDhERH8SRw8y70ZcpSiqWsZSgyzZizu0vmrPupP0QC6OtK0xhg5PKJRNH7v+NTWEqeMEmMxuxbqo9LwG0apvoUjcX2KcjH4p4VrBIBJnJ2HonQIzI4uTFsVsBUWZs+XVkyNqgsegYPc5oPBzkVtx0bmh6t+H5kLoBYtHznSI46yARLgSDCYT82/lBnkPq0+3uUr2MYZr4at3ho6wdcM3k1NkiF1xRhWeoPbOPQVeBw8Vbm0CyquGjqrotBlrh5pYYDqcSLg/CTxdvihT2pGFYsyxdFEVh36eMwUV0eUaU8Xg== 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=+gMycOgVy+MU0JxghxAAWSj026eW9Ud1l3dkHuAq2pg=; b=HT+dmM7cx9sQdCe7NLBSVCgm4Qi5Oa/an8x/nw/9iDXSJREKwgswxXh0/xjzHcTyx0DSgPIK31D7W+40pfmlBV7WjhqWvd7o1uPm8lR7U3shcafU4M5fpSDC3SweV2+QWe9JZBNz8cJYZ/m69GrLmQbjrga+m7lco24mSJM4f81Rl1wLAaYwuwzXO+KAwvUDWU71CVPW82FBAaLLgclEYMrkRHYiRV7A6Q0jrnvqfuWbVjKEHSsCfRnV/BpEVS2T/GwtVqHFPzQ6kNcuWXZd/nZLzF7m/bohOX5AAK/niCZr+OgVTes/RGoWzP9enFmr5gClcIcBRRerjMzfGmToQw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+gMycOgVy+MU0JxghxAAWSj026eW9Ud1l3dkHuAq2pg=; b=tFHs/MFMC7gisZsfxa/t5I+dJETJNTR1OarfYvsvZyMqQH9aZKjqXFZ9KlsyoqCzwSZa0WFzuI1+DPxrc06VPsCSnElHGLsD1DxiyRlCu7uhBJpG6G7MPcTZemn0pOzVqGW/3i7DBoUkSODb6gudqFlxb/czodE3HtUlXZPqumM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5231.namprd10.prod.outlook.com (2603:10b6:5:3b1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:54 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:54 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 04/44] test_maple_tree: Test modifications while iterating Thread-Topic: [PATCH v2 04/44] test_maple_tree: Test modifications while iterating Thread-Index: AQHZITohkjAAnFanJkmz4QQyg+BdUQ== Date: Thu, 5 Jan 2023 19:15:53 +0000 Message-ID: <20230105191517.3099082-5-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|DS7PR10MB5231:EE_ x-ms-office365-filtering-correlation-id: f8c555ea-3bba-49e6-78ab-08daef51441a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: loERLTCblH7SgALDwRWYZnfYq/OU4jnIAOjDVdGFBmBbiJPDBrRV2mB+KQ0/m0OGU/UvPkmjnZnsqD9pVXC8S7wBz6jVpUOD4SsejdDc2JjjPOEYVJI46C0d5jKyeD8QuHYc5hBc0PXAZgQ/Guf61NX8j0Xmc06GhkHn3674ZPh95JVQaQN9m+cYEThigzz4hxRqAuy/GOTiBADixR8Uuy52T+vorDf9DTa2HIeGXh0Gp1SID7JMmH7Bsx/Wz8cN5qSJ+vUq6FRgogcVmqR+x11OSSGhKcCLVXohrJzHsm3fE+A4xvKx+TZ/ABEco5sJaogANVhS/5/Vuc7/ToUmclOzeA9OdGfeTLjqh3VRt+s1ye5wFH8uOQi7MA29isf0SbQGVQQJHmyybiA3RwMB8fVkcn4y2xt5U8kvYbhl8MXes8PdlOVFJVy5gFbLkz0Ny+86stsy4ChcyAjYJT4nBG7ADt9JvHu7HJMbFuvTzUvGmrZ/8AMXgsDvGNaCGN7QH4m86Z3ZzGz8VDHPdh8x3LOi0Shq928R0xJDSDtnYY5CBSFwrR0Ym0kh/0wuy44edvz9QDyj2YftCmXATrjYfDLN8f6x+k85+q+kRr2x4zV+hRU5xZsr4s/fn3luWxBFpYHfvU3S0gRy7E7wbUw4CzfB5i8m3mBasUTwXHSkWQy7dP50Z15Un8E4i0iHOwva417hT2u7VJl2/kNnlzOiAQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(110136005)(316002)(54906003)(6486002)(186003)(26005)(71200400001)(107886003)(91956017)(64756008)(66446008)(2616005)(6506007)(4326008)(66476007)(76116006)(478600001)(41300700001)(44832011)(8936002)(83380400001)(5660300002)(66556008)(66946007)(6512007)(2906002)(8676002)(38100700002)(1076003)(122000001)(38070700005)(86362001)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?+KWnPrDtye25M7+l4F6Qm/8?= =?iso-8859-1?q?pgrtNIM3inwiX5zBsbqkUUreuj69r+xOVq10zPGuRI5gNuSXsFdofVjThxsD?= =?iso-8859-1?q?ucjbEdrzky66NPEfBj/H/cFOmb9OVCF4Dx9/GrqzbqHfV1NuBOQJkV4ABCSe?= =?iso-8859-1?q?SwKlbRlXSJjoJN4MptyBmkAKjeuNwIRZx5sTM5hxqvqmOlF9rm+QP2Tx1TI4?= =?iso-8859-1?q?yCGjoCS53iut0wlzKWeJ1iXYUDwMWN6ZJO0kmaou7xYVMDt5ZvZB9A9uhpbt?= =?iso-8859-1?q?aKYeT6kKEhGyKXeL1qaVOxtUcxiVBiqEDlm84hkAwsdbolKOGDeeWnXS5GnO?= =?iso-8859-1?q?5/IY2zRlah0ZKb3EiRDe8KtyrmqwEiKPL0vnGTuKCvERbTHSBOuHH3+b5k31?= =?iso-8859-1?q?JIlDg4EjKf+pa4eu7aNRCA/U34VrA3B1Css3prl7iZc7EY/bURiqBrMke3t+?= =?iso-8859-1?q?hiKPtMuK9VHgchQ5iaBVBdCSYkKNOwK1wCOVXO5h/XN9VrfvQReL5E1RruYv?= =?iso-8859-1?q?sZR3nvrh8PFbszm8314XwPu1U38qgUh7l6Pcwdsxh5NFnUqyA8FIvsLcY5VO?= =?iso-8859-1?q?Ebjzxer1xVDyLvAHvvRc1yUfsyjDIIJG2raSphWbrEuWJn0BrumUgBFThdzX?= =?iso-8859-1?q?1wyvHxdnUDU3GzQtran36Ls1Bv8fjqx8NNB3IR+fhRlI3kamriXoQjvpJBxW?= =?iso-8859-1?q?0ylJ1E3AG/o/AcKLjBfHcqhRteoXQf64Yadjo1qACJb2h3LL5sO3zP309Tok?= =?iso-8859-1?q?8WB5x4SvLhrIEo39GQaGmjEZkpLucQJcErpCp2Sx5mCan3a/JYcWpERTCRv1?= =?iso-8859-1?q?IVJEcntuXPyzZwfQraiPoDgWiNZ1llOlPGUukKxZLJs1YA8Al/qQ0B4APgLn?= =?iso-8859-1?q?iaCaOLUDJIJqL1Fn9unUr4Pm6YcMynEQMJSuxGJTWubh7I3JWjscZEzWcG67?= =?iso-8859-1?q?oVCkkTFg3/WGS4pQL8IJl15TLGKGOTEs4dXKRzT6QKyBfRKGWyiVmQlswpDH?= =?iso-8859-1?q?I9lAT88anRKoRZN8FwH98nukxqZPmpLT3UIYkEIHjKALPEV5owwdOHxhRob5?= =?iso-8859-1?q?xZrAc8YMHlkzyBSDhw3YvPKrKQaDcPkbeYKvvPwW5fHagwumE+DG0L24onlr?= =?iso-8859-1?q?DkyRhpzAsAAf8Rd0iMqjvRuWJMQlsBV1QDvrHSp0fzjF5s3mkg6LulnYjSxi?= =?iso-8859-1?q?1LcW8e1lKZkrxpcBdMhqJw6k/oXZtaiVXgCZo+I6XteQ5x7L8zVapH5n/Z9U?= =?iso-8859-1?q?X5Gx5M2s7EGPFZrxZJzyrWH9pPdJfLlMsfBOxFHzfwqZL1et5XaYjOn1NGro?= =?iso-8859-1?q?7P9ylkegO++MO1VA4CTyezDCDCzwU9wh11Uko4RiLn26k2qmlezOfpg8jN04?= =?iso-8859-1?q?Cn6/DstTrINRruBTw9hYiwOtNw2o+WepBjF9humKK+oC47E6imKPkghTCjjH?= =?iso-8859-1?q?NLZIeDkws6Cx1SRVZe9jYwZbXwdAklmySt28SrYrYATWwReWV/Tw4Kvv2Gxh?= =?iso-8859-1?q?ANT79yLHWJVErN9Hl77G+RXMKxbkfchPRpBaJGYE9fMwmBCbQ/7m0HoPwmeY?= =?iso-8859-1?q?ataYPD1SoaISzPo/4cJL2urxY+uK+cupB3lDmumgud+WWK/4c8uX0b9SQXdY?= =?iso-8859-1?q?W9rh+ZEfe5c2oHSoV1an52ZDWWJVVCVXmV9EXjg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /xuCfdt1TjWK6a9fM4NrZc0mE0e5cjetV+ZtS+p5ggfQY0vjeGF4TzYnpk9DcNrmXACykJjfrk4dwiE/9Rdix3Tzqz1hSYD/dwV/CHtAVEZqr4l+xetogOhmJF38s2G7KfnCgzlB2g8LxOUr8jyH+/dvDx7SEUXaLuVyHFKoc4DC9T6ppcj8aCZyAnalwfpq1Lj5dDONwacXUTPZjUbEBBUYC+XvCmSRk5BxytxxKW78DK72TLS+atiQllOVc8vDFi/7o9kcw2S/KTVjXLdaVy0Nk5odnwDRw59GNWnvID80ZPbrfNHvFQjj14oNAkebBLg6DZezdHS2/6+2JPNkq5POQXxtp6V/a/okDLJHQG4Ta8ln1Ezv0NGUHiTuBMMFX9pXQSS8yIp1bsc0C5jSjvKVVLq8O5NXrVwfsav2CM+k5ylVCnz2S8DuRPoUQh6l0H5vZrqDuxcNt6M6f2Ilm/aToe0fQFgkvwKZPghKtagobMzCa9F14kQlkU58v+cjaFgaFEet5GnS7+Or7bOOv3iBmdHyidusf0Fe69+vNzGWLbEWBULv88iyuqM9uY1qRikskoSvfQ52Q8pwYXyEiAG8ZCRo3AT+Qi2PHChqgyAOLe+nq6Wh9FbQihKQM7yCQGgMp95Z1zsZ+NKmAZ0yAHg3FiaDU6GPtwnte29xEgalLtTDqxh4o97Q0fjhldUa1fndBHpOwX2cA9YoQFafaltDyHY1eBXyd8rHqJzlv2gZw6M5L1LJW03ep+1YC6jmF97Clbz6qUhUf4DYi+CvlfeapQuyTGlP6T9fXZy+iXr6cQYEqRtsQmmfjfi6h+6rBJmaG9R/4hEK9eEBJQX+C5CKDqB2uHb/Sb5Z2rlNCpLEXxKt9zSDKqU+y0b4MNzg9xZLrJQh/sgBVZ2Y0omiKg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f8c555ea-3bba-49e6-78ab-08daef51441a X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:53.5478 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /aZ0Rg5VzwOhe/A0TwZgDu4p04G1+k1Wammd6jvvEEf6AnHRh+QVBaQPEIkWJPcGihbQNCjUItbkOxQdEorQfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5231 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: g-qc-8ueBvVL-ZVKzae3xK2QAHR-ltfV X-Proofpoint-ORIG-GUID: g-qc-8ueBvVL-ZVKzae3xK2QAHR-ltfV X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: BDDEF4001A X-Stat-Signature: 3sq9ypg99tcg7yjr4ke4tyyyw3555kbo X-HE-Tag: 1672946157-358608 X-HE-Meta: U2FsdGVkX18f8BrQoOUGRFvtAcNxnlSd+nMKZFcujkzkGQWI1Xl6HlOT9jQcyw+Hx9bfWybISuFb2DPkeP4xzs8nbJnBil1atRj0zcxlOByNFpsEFZkt+VPUZFBIf+Kv8DaJFznZFaokoVJls9aLL8ZXCNbQfDtvpEIUC4kopN1YdOmR3l0hxCzKXDbvS3fELSQ02ajMuirr/+WzxW5NA4kXAFRo89R3HF+HJJkDYntze6k3IO3KLIUYtfatvu4PiB1hf7Baf9R8Wehzt4F/bCdijbddFu2gALGXbNzbfAjd6f92zk+CZoHlNCMhS99gBr7z+9+bIbUrZgo3pXFjxJLDVKfYU3VKstjmfsvjN/SJpmrSdt+MvJZUI7wklSP7coiExjSeEjRQt8q5S8yPYUNpRWFvtseQmEWF3lPuSiFlZayPgfOCSnqKFw/PTR0Lw1ydLk7eE5dNHF1s+GXeEi8ygGxhPInU7TExS1L/DJwoOL4HQNLoA2nGxa6/INL9Hmh6+2IZfP2wnZrAdekmDX0GyrUYsDII/hfwoLZh0CVcQqJ78j+OPo+JE+DVbd0WAy3FjsrsxIw2k2QA9m6ibGY7Xje++Sp6izl2bE9oluZ7cvsfedGSkwCtCfhYXq9hTGQxoWykxo2wk5SkPnJAHIFxk6sn8o2C9IQzaAT98ktc++asPdk8g/sufBu/VberAXqTsslXawdldKIrdHFOjoodhcfxfHKUYjdPsx4xLScGFlJ5qbWg/1hKKAHdGMaWJyXylVPhsMh70PEVBwEmlQ7SCqNxZuJnm/QvvVz3AVdE4RU+1/ph7ysKQuoQw8CRXjxQK6lhHPPOx4qySPWWr07OIfdD9QlI/+RG75CxpfELOOcYAsSrdjTp8Q3HR7NTWS7OcNTF9T6zY6K+bsAXqZT42j5hYiFsxschBkzIKc9jBjMr1Lt5Mu/FIk+Q19Dtgbvc0czQ8qJW/iaP2nZ oNlo1rja 48bwa+5qgjnoXtNOV18YcFqvt+0nl/LnEeM9KwczexSC3ISePgqmy1NcANBxuR4ConBDe0Gq7LkKbckUe1ZL+CrkFlVI4ALND1iVfZ7CC+P4RcqE1Nurt+K7VqpPGEeEP1YdB1slCUtLQP87A15u4i5cdXg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Add a testcase to ensure the iterator detects bad states on modifications and does what the user expects Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 72 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 497fc93ccf9e..e9fe4f3486e8 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -1709,6 +1709,74 @@ static noinline void check_forking(struct maple_tree *mt) mtree_destroy(&newmt); } +static noinline void check_iteration(struct maple_tree *mt) +{ + int i, nr_entries = 125; + void *val; + MA_STATE(mas, mt, 0, 0); + + for (i = 0; i <= nr_entries; i++) + mtree_store_range(mt, i * 10, i * 10 + 9, + xa_mk_value(i), GFP_KERNEL); + + mt_set_non_kernel(99999); + + i = 0; + mas_lock(&mas); + mas_for_each(&mas, val, 925) { + MT_BUG_ON(mt, mas.index != i * 10); + MT_BUG_ON(mt, mas.last != i * 10 + 9); + /* Overwrite end of entry 92 */ + if (i == 92) { + mas.index = 925; + mas.last = 929; + mas_store(&mas, val); + } + i++; + } + /* Ensure mas_find() gets the next value */ + val = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, val != xa_mk_value(i)); + + mas_set(&mas, 0); + i = 0; + mas_for_each(&mas, val, 785) { + MT_BUG_ON(mt, mas.index != i * 10); + MT_BUG_ON(mt, mas.last != i * 10 + 9); + /* Overwrite start of entry 78 */ + if (i == 78) { + mas.index = 780; + mas.last = 785; + mas_store(&mas, val); + } else { + i++; + } + } + val = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, val != xa_mk_value(i)); + + mas_set(&mas, 0); + i = 0; + mas_for_each(&mas, val, 765) { + MT_BUG_ON(mt, mas.index != i * 10); + MT_BUG_ON(mt, mas.last != i * 10 + 9); + /* Overwrite end of entry 76 and advance to the end */ + if (i == 76) { + mas.index = 760; + mas.last = 765; + mas_store(&mas, val); + mas_next(&mas, ULONG_MAX); + } + i++; + } + /* Make sure the next find returns the one after 765, 766-769 */ + val = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, val != xa_mk_value(76)); + mas_unlock(&mas); + mas_destroy(&mas); + mt_set_non_kernel(0); +} + static noinline void check_mas_store_gfp(struct maple_tree *mt) { @@ -2574,6 +2642,10 @@ static int maple_tree_seed(void) goto skip; #endif + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + check_iteration(&tree); + mtree_destroy(&tree); + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); check_forking(&tree); mtree_destroy(&tree); From patchwork Thu Jan 5 19:15:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090479 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 87193C3DA7A for ; Thu, 5 Jan 2023 21:01:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 05A538E0003; Thu, 5 Jan 2023 16:01:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F26368E0001; Thu, 5 Jan 2023 16:01:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D2BB28E0003; Thu, 5 Jan 2023 16:01:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id BB6AC8E0001 for ; Thu, 5 Jan 2023 16:01:44 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 83A8B1C5DAC for ; Thu, 5 Jan 2023 21:01:44 +0000 (UTC) X-FDA: 80321966928.08.F5ED218 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf19.hostedemail.com (Postfix) with ESMTP id 9CB771A0022 for ; Thu, 5 Jan 2023 21:01:40 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=TYUBUgCk; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=jGUzFx+p; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf19.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672952500; a=rsa-sha256; cv=pass; b=f8JOJWshls6kiY2t4uR8NRxfWk3ztvm3KBNdJMUbic0ovfcjqe1v+DSD+bpOTMcXdEd8Ol YL6W0tig5HVeUOk7c2Rs9gKqDJBxpyeihUd5bgzUHD0QeEJmgcbxAcIMeFi/lsNMq3BBYB J4AQ3LW63rBKnIA4zN4YKd9lvMEsLz0= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=TYUBUgCk; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=jGUzFx+p; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf19.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672952500; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Q+J1EkBiJRATPpQFyS30k/tjqsPU0yIzN5CZ1B/Xy+8=; b=1mvgzaKuwD0TJWzJL8qkAvcD1s3Ji4jM4SFalppUJPmybXAzwczCNLBP6wOUlf1XsV6rrc IYr4epvbikw9FFp3R4H70oky1ecrLuKZXJ7fOKF/oQE31K1GoEcwa08b1m1gcMaf4jOKD4 E3BrKdzYSLSw861F+DoHHKiSqxK3TDE= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUH1w030095; Thu, 5 Jan 2023 19:15:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=Q+J1EkBiJRATPpQFyS30k/tjqsPU0yIzN5CZ1B/Xy+8=; b=TYUBUgCkdUrcckPzPWcWf0RireYxsCI71TECVoxfqgm+hAKYBbfBX14agH6zWttqKqbK fvy+pmwbQ3ZCYqObXuxhLW2zRim7yr/BPLlewMMli6q3WG5foJ7EAg4PPL7Fi+YzgQXL AnK5wNELmPW1I+JvsiSNYsruZ4ak40CPSwqvsY03OuYgtBloKHBdyMBZaloFIiE7mzfV /9xUb+4udGRFHIXZ3s3X/vZA89G1N97aZNkhbicjVS9ObygrBkmFDtROu7vAMKHZdqZ4 Ycyly3KXyy7X9yx88/onmpx1o6bLhBhPsESCCSV+3w9Oqt6dtEM3CuD/HZ10zhH21wrq 3Q== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcya9k97-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:56 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I0WPH023380; Thu, 5 Jan 2023 19:15:55 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6kx6-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Uo4lYUGLmMy/FqYEnGkZJ8Srk9n40SesP0V442GM0p+C6hYmdiIxp1oX4mw3CkyzqHo0QCZTtO5prgE+5sWxUXj1dSmcO/DJ68OzkAgQO3YjJPclubl0pdx5vL7fZ29OGaP56BmekEjsnQTzTgLbOIYHC5TiLPb32iR75WAxHZ8wlZNBtk1+0sCzRPNTE7J6hd8UehurEWP2JpeLDj8j/aXXIX5YB+LTIq5dhh/80t6X0oUSYCa9WfqWnKI4mhGZpJ75L3NIeU4mb3QiHpf7CARLKxiGaWeFdatiJXrhRKf6Uiw7wePnplo3XtkVanMNXzTa28nj42m0ZGlMpSbHmA== 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=Q+J1EkBiJRATPpQFyS30k/tjqsPU0yIzN5CZ1B/Xy+8=; b=Wj6jum0A+oWzlZcaC5H1LSZdIzTrmUdvhVH6eleubsq5CE6n1Q5t8Ex8/y/GSfSgG7DdNSMmi2/uCDI9rQNdH0L8D/ZvVU1NiHWM9FRn+cS2VzexqEKzm8yqLK3nxE3vSgL2/UQQDoElPWqpER9JTA4IljUvcs7uQaxqeo0SqzwmJRiHWjm5QJeV/JFtrYohrGstN7vyVCaEFOIsAxRGRhyERLKKDHVhzQpYiaCCIDnnGYfNoTbOhoSxBeLscHV6IQTueCPZ3UVq/4QPsv/kUgM1r2fUhoMrafZrgMF171jJVhdfUUOW10ZFuihlUzFFdAiPkXzqV96jRnB1SxPNYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q+J1EkBiJRATPpQFyS30k/tjqsPU0yIzN5CZ1B/Xy+8=; b=jGUzFx+pLE4T+1cc6N36UHaFK7LIiNY5JIy0tUWLObGgkp5xYbVP3j5R7C/vcMy4l6azQXznNu7GDUpthH9DK9PcA5/cE2PNZ832R5vwnuzPExA6E/iMl2IO6K4jzXAEqlSlRHHpkzYu+sZBmnccURzRc45r2EYC2HqyTjrRJY0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5231.namprd10.prod.outlook.com (2603:10b6:5:3b1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:54 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:54 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 05/44] mm: Expand vma iterator interface. Thread-Topic: [PATCH v2 05/44] mm: Expand vma iterator interface. Thread-Index: AQHZITohGvqma0vYPUiffXuhSbXTAA== Date: Thu, 5 Jan 2023 19:15:53 +0000 Message-ID: <20230105191517.3099082-6-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|DS7PR10MB5231:EE_ x-ms-office365-filtering-correlation-id: 3a491d0e-381a-4418-126d-08daef514456 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hjwjtv40IU++uUSdvdcLFrI5q2XFBbD8SZXbiPhKbFH5wMNC9Un/SYQlFGW6c+LvATWUIkRDxm0e7ODlx5GZZ4Ov0u8MnhPmQzPYJ7PrL5/ZUzGMUX2S78TpQhSmmDlOyNzWMSf5uZ9Aqspn+g/BkdY0QWgLsIiBUaOAk23YTlr5s0In+Hc/BtLvmU+WMCpL9AT2bKJLICOJK7dhb7qny5F4K5RxkFGzEjGG9aFRI7IXbfpCDLUQyGnxBNsjMmZl7sGng1p7PU0QS5bnPm8T1Ca+Dw0CS8d5eyeOOdzQ/dT9kZpn6DwOSyXFyiCwyW8UHmogwYxvcmRKwigaFjT0SjDSEH85C5Kc6vop7A/ae7yMA0oG2tdkhB7AxsTIBTkUyzWSGy6BkWleqiIPantmDzfZQ+gWjsFHEOrvqZ/RE5plXX573pGHu7rKqcr8d/r1+Kr4Kfzyqi4x+4VlsCk81sD+O3Xm7YCO8INUHJytYwvJUmZHM3TTotwNWEo8lgDirhHihdKy3etbNLyVlQAw1eTpqKyd6xztjgThBYIcmCwRP/atWvzeOD6Q1TPm9dmhWhhNCdPG5FmjLEezlPEUoc2QTsyhcxR3mExKhM5QwnQKoytnUf++xp7XL9VuBXUiL2augXXkz77guP+nhcMMS0hQULCBog3Re7o1/p58YDd9Qhtuhts1+DFSmsMWbANXwRAwaYabSYioc1cQgTpbfg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(110136005)(316002)(54906003)(6486002)(186003)(26005)(71200400001)(107886003)(91956017)(64756008)(66446008)(2616005)(6506007)(4326008)(66476007)(76116006)(478600001)(41300700001)(44832011)(8936002)(83380400001)(5660300002)(66556008)(66946007)(6512007)(2906002)(8676002)(38100700002)(1076003)(122000001)(38070700005)(86362001)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?ySduKwvHKaVbEy60M57hxbe?= =?iso-8859-1?q?8a/0bpso+7HWw8Q32Bx7RTyIotMwwj980qShWE25Cng9mXYKtq7rgIG5ZxQz?= =?iso-8859-1?q?VJUGSkj0SBB3FVlwotdW0Jr2+SCGgg0qrMI7mJKWSqMuYQMgU/L+pSmzrPMB?= =?iso-8859-1?q?1bg6ZHXBVe1sa9KXHnLWYV9KxY7nXsIqsmAq64ANuXmlmdt+Y4dPMrscM6eK?= =?iso-8859-1?q?kW9zaB0talxlaC8D+D/wmrWuCWgIrgzi1svN29DnIHK5s2NPyx3/MAjWaTff?= =?iso-8859-1?q?KbblMV+uUiiNQAM0klWqTDzUCUa14PnmC68P7FBjQ/tvQz/NOxA1OO1xl0QJ?= =?iso-8859-1?q?gJIj+6T6QXZWTov1tVF8qgaDfX/bQ0TAPE5Eevv3SnIQlFtdg6ETurZ0qQqk?= =?iso-8859-1?q?oupX0BWwIHavR/GLgApCt/9omIDbnPADQcB0yfB8GqfMbPAoAw19OH02z9Vf?= =?iso-8859-1?q?I7cSr8ig2yb+Za7/HivZR0wP46IVFS+XoAAzBO+t1WW6Npqk0Tk7U5ZLC68G?= =?iso-8859-1?q?b05TeCxChnV/KPR4UI+NHbph4UY5fUhPWqqo73rWKk4Sj/q+XB56o0fGzXkQ?= =?iso-8859-1?q?as7RMMfN0aAGhx+d9knNASnVO2nXSxGUVFDUy2ILWi/gJb3/G0g97TsK3Psf?= =?iso-8859-1?q?VfxN6G2ya47cDREx6vQW8CJ3/4toodoOtzGQEjxSCIhJEEzE/NriF56m5WJQ?= =?iso-8859-1?q?jaLZ6AuG+wJKdj9f3Y248XiOKgXw1iy5srMQr5BZg6d8JGjDDi2R3/Mohz3W?= =?iso-8859-1?q?rZnd3pURA+rKipsWQN7S3GWxuNIGMzhAffBBcDeuAzzc1EQP9fOlzFmPKEjp?= =?iso-8859-1?q?PMg/93Fjtyg7IDuAbCxvGelwYRCyBEZmZCFazXOSaIQIpHrIsOJngenl0gzs?= =?iso-8859-1?q?oeDa2czw8UcUwbMzkJVRHreQ4qcSwtTyqjYCwSEbH+LDcFoUwrsoh23phXjI?= =?iso-8859-1?q?3zo+OD1YswPsJuYbAYmshl1LUS/1l3cilbmE2eG0qBX8OI31YBv+DkE+tirD?= =?iso-8859-1?q?Gob69+GoK2wDZ3fSm+O0wIv1zGFzxnC+2y+Oq8lzV8lRT4nR2qFWdwZlLizT?= =?iso-8859-1?q?/ARpWNtSkrRMPCDO52SbnbqkCyu9p0X/mBxCIXQzTY4IV5Hxfi9TtuCLLT1Z?= =?iso-8859-1?q?2Ib/g6FwsmP2n+8Kgv0Y4Mj1bTJqbq4llSJjhyboLfvIhBzRS2U6U6tDpof9?= =?iso-8859-1?q?5jUzA3sDwdZpFPzIQLS+ZeAp2UV017CZ7I45l9pXzS8e6mK3KJSqtpPr0ZfP?= =?iso-8859-1?q?vDvI9o7zfR5vt2/sa/IWzje+gSMoU/sdWz/1PMMlPb/M+blx5x71ED2kQkmN?= =?iso-8859-1?q?IGdvlpBfWumhl1iTIbRD6kHLpyxVEqd8QOIpRIFCVMDO4u2SsC4Pj/nmXK5V?= =?iso-8859-1?q?esoQKNJpzXvSmC+gwKJI44E/Yog+6zBRMffeyLW3ruprgwXb5p9OJElnTepE?= =?iso-8859-1?q?qZMWxtEPacPP/QX7vnDHJh/pO1htSnWp43R+hlL4jPe+ZmQbB6fSD/oHivMk?= =?iso-8859-1?q?YP6YQD3eQvCdUJyu3N0OzLDdoxG7AYQxJMjpB7ApSOxo5MseYUUQ3aW2AbQh?= =?iso-8859-1?q?1wrzVvAWZAr+VIjhuT7KwFDbKaK0223HtDGu9m+FetS/CH0izN0Cts9lmSxX?= =?iso-8859-1?q?iFDy0THLlLFX98srMI62/9m8XvFCO65Up8H5efg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: qCOO9tA1J7uQFfFQlZf5Nvor32mwyGwKMzStHXDD8aj31i5YinjjSMyxBkO9P2Lp6aC/Fwuz79/DM5O3kc/wUuGB0IfrPH+Rog0JbCMS8vRU+L4SBAa/t8ki9b3vUyH6bkL4PUYfcahlStmQvCKzLc6BqgT4hsSehTHQCW3keCIULJ3A/tk3W6Uu8t13QhAkcgn/FOwkf/rt4pjm7S9ycWYSiouxabwJYmju8QvKaf6FVjAv0f7HZSBb84SkjBXyOIhCpBFGw/NFAhcFNiNOC2YofC0wg2wEtTTOryAcem/2iAix2fUVENAXSz9lNg5XUQR8T1MMLA8GsS0gbbpwKMyVn94mHHVLkUejaqoW1NlPPZ6qEj0CHH59AeFsh5Yj/1TxIB1oT7CV4HEVm+8DepEeeBJP6xsCC0MlsYKOX5z7TVx+VWAwLqt+CXtISWL6xhMFXcmLgze2gXvktjZcDo3NpGuqEeZeNCnpXNkUiXpEy08WWZ+a5yNkdFcfqMDFIdMiLTmgZpulKxfanFi7YOKGcP+Vjsh5NO2LkdasVv8cgEKMlr1aKh2Gi5L/yG7ursaCOm7EoC7Vv6hBPBAJMzZEQll8veWruxPL4A8ukM87QNEhOHL2Zm19l4/t6YqnOsL7Q/LoftXfa1qCK1VMrRZgv6I9evtkadvTA4vFO1FJBWEsI++X/LM24dhzfaRYIPGx6+1iEgtjLo2OOifwWPWuMpMZ/C2aqjXohtkprJIL87o4bsxGVnKDl1K7QONM3ua4wxFDypzAj18Q8BGdQca2WdS6xWgL0iwTuQ+AMKrAD94vB3uYDDtEyVIVxqpj0EjoAjGMVGL5M2RslCqyb1zkBmo7LVmwjaIhNdQNzirtC8IKtgYdUnraZjoVEhMLjRmu1tNVeUTpWJ4Ct20bHg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3a491d0e-381a-4418-126d-08daef514456 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:53.9227 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jYhWQc5t7ufFnEWsq9NhbCOjL/ak9LNTOz9kp7aZm4BTcHPYqGEgdI3Ixyc3EEu/8vnXcUiMQAMWEL7aUdZh8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5231 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: _dptV2LSHR5x8dTcL9L_cbzWoXMlSIQe X-Proofpoint-GUID: _dptV2LSHR5x8dTcL9L_cbzWoXMlSIQe X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 9CB771A0022 X-Stat-Signature: 61bsc7at18p1mmypzq5dh16kppxke1x5 X-HE-Tag: 1672952500-941552 X-HE-Meta: U2FsdGVkX1/7KmClVJSUVumCimgDJzAJ6p1JTI6G6Sih0isoMKqT+fEzNkiZlz9ju6MCpY2FnSTIfzuajW5zhwfnLJPOXnpMWjIR1zZt/7KA9Ftv1WBuGHXK3uGJTgIk0RyuwF93lVnyImD5TtX4IBjedoUzSiMih0AD+nGP5pnh2fzK+gxG1bDoliGjH1gEnVpnpyIxo/rhn3DEHpWKYtVR+QSxcUtrVaxvIVwwkNGxWOjGp1mgzffmmuroDZarAoeXfx3N1aiTaroOG2IhF0vO5yyml4wQQV42UUDdvHi1CL66ZkvfGraLu3UcfalLqVlk5RjEo9Ec8gOcP6jbcvXJw2dndHYOx0b509IAs3vQyUS2MlNClCf0CNfxU4kTIRWBzPRsfV7amz02HXYczx/8qX1x3UODDZSNFNOFDc9WHwM4hXrQ5lyuDTF7xHPTxRMFFcb4H2w7QWOQh9uP4WgS2YRCHZH4fD+5nTjCOA14XfLjmZbbbxqmoNKSIb2WydHD28nccpXwKqQM0oP137fjorkXd0cp4kZkLxUkUWaW/wAvDa2G6MNjsVaEw6A7+Vf5El4eis1J7GSH4G3L+rix2HQBb2Br8VQSxhY/kOVeBbMXtWlrumG36it5uRA3HRJPx+IKUGUkFwEgwcBIeImIjmGJHIwjGA967PeAkqXCeKXGqVbHs6kjjaKO6J4HPwiwiaTs3lJ0OztNZYZqksykjXgNb8O65fr5vm5Q1FVWaO0YrDJPZanSXrcc08AaT7sR5zZcYejfsbDWtNA96s3avbufHYALDrO2IYdgkO5R38ARgfMil8E4GoUWgAxHphJDOI2WR1d5CMcpwKETOpBzq6DpihTPJOBBp+sxDNSNss9u5hDflirPP+VjhTaHJKyQGIHwXK8nj4rSZzggpEdD8oYDsZLFKD66SjQyT6HMRR7xk2D+59txeQetEBBQB26QZYnjtIVRW+61PL2 oFfeM3Pi 5Qi0cFP0hAMjSzE25Nt3nwuea1SXeY7YqF5h+948v4/2ipm04MG5GzMolNcAc3/6GHPE9vNY1CNyU51HCZECHMLRk5xix6ElaQ0rm X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Add wrappers for the maple tree to the vma iterator. This will provide type safety at compile time. Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 46 +++++++++++++++++++++--- include/linux/mm_types.h | 4 +-- mm/mmap.c | 77 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 7 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index f3f196e4d66d..f4b964f96db1 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -665,16 +665,16 @@ static inline bool vma_is_accessible(struct vm_area_struct *vma) static inline struct vm_area_struct *vma_find(struct vma_iterator *vmi, unsigned long max) { - return mas_find(&vmi->mas, max); + return mas_find(&vmi->mas, max - 1); } static inline struct vm_area_struct *vma_next(struct vma_iterator *vmi) { /* - * Uses vma_find() to get the first VMA when the iterator starts. + * Uses mas_find() to get the first VMA when the iterator starts. * Calling mas_next() could skip the first entry. */ - return vma_find(vmi, ULONG_MAX); + return mas_find(&vmi->mas, ULONG_MAX); } static inline struct vm_area_struct *vma_prev(struct vma_iterator *vmi) @@ -687,12 +687,50 @@ static inline unsigned long vma_iter_addr(struct vma_iterator *vmi) return vmi->mas.index; } +static inline unsigned long vma_iter_end(struct vma_iterator *vmi) +{ + return vmi->mas.last + 1; +} +static inline int vma_iter_bulk_alloc(struct vma_iterator *vmi, + unsigned long count) +{ + return mas_expected_entries(&vmi->mas, count); +} + +/* Free any unused preallocations */ +static inline void vma_iter_free(struct vma_iterator *vmi) +{ + mas_destroy(&vmi->mas); +} + +static inline int vma_iter_bulk_store(struct vma_iterator *vmi, + struct vm_area_struct *vma) +{ + vmi->mas.index = vma->vm_start; + vmi->mas.last = vma->vm_end - 1; + mas_store(&vmi->mas, vma); + if (unlikely(mas_is_err(&vmi->mas))) + return -ENOMEM; + + return 0; +} + +static inline void vma_iter_invalidate(struct vma_iterator *vmi) +{ + mas_pause(&vmi->mas); +} + +static inline void vma_iter_set(struct vma_iterator *vmi, unsigned long addr) +{ + mas_set(&vmi->mas, addr); +} + #define for_each_vma(__vmi, __vma) \ while (((__vma) = vma_next(&(__vmi))) != NULL) /* The MM code likes to work with exclusive end addresses */ #define for_each_vma_range(__vmi, __vma, __end) \ - while (((__vma) = vma_find(&(__vmi), (__end) - 1)) != NULL) + while (((__vma) = vma_find(&(__vmi), (__end))) != NULL) #ifdef CONFIG_SHMEM /* diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 3b8475007734..3cd8b7034c48 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -904,9 +904,7 @@ struct vma_iterator { static inline void vma_iter_init(struct vma_iterator *vmi, struct mm_struct *mm, unsigned long addr) { - vmi->mas.tree = &mm->mm_mt; - vmi->mas.index = addr; - vmi->mas.node = MAS_START; + mas_init(&vmi->mas, &mm->mm_mt, addr); } struct mmu_gather; diff --git a/mm/mmap.c b/mm/mmap.c index 87d929316d57..9318f2ac8a6e 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -144,6 +144,83 @@ static void remove_vma(struct vm_area_struct *vma) vm_area_free(vma); } +static inline struct vm_area_struct *vma_iter_load(struct vma_iterator *vmi) +{ + return mas_walk(&vmi->mas); +} + +static inline struct vm_area_struct *vma_prev_limit(struct vma_iterator *vmi, + unsigned long min) +{ + return mas_prev(&vmi->mas, min); +} + +static inline int vma_iter_prealloc(struct vma_iterator *vmi, + struct vm_area_struct *vma) +{ + return mas_preallocate(&vmi->mas, vma, GFP_KERNEL); +} + +/* Store a VMA with preallocated memory */ +static inline void vma_iter_store(struct vma_iterator *vmi, + struct vm_area_struct *vma) +{ + +#if defined(CONFIG_DEBUG_VM_MAPLE_TREE) + if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.index > vma->vm_start)) { + printk("%lu > %lu\n", vmi->mas.index, vma->vm_start); + printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); + printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); + mt_dump(vmi->mas.tree); + } + if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.last < vma->vm_start)) { + printk("%lu < %lu\n", vmi->mas.last, vma->vm_start); + printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); + printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); + mt_dump(vmi->mas.tree); + } +#endif + + if (vmi->mas.node != MAS_START && + ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) + vma_iter_invalidate(vmi); + + vmi->mas.index = vma->vm_start; + vmi->mas.last = vma->vm_end - 1; + mas_store_prealloc(&vmi->mas, vma); +} + +static inline void vma_iter_clear(struct vma_iterator *vmi, + unsigned long start, unsigned long end) +{ + mas_set_range(&vmi->mas, start, end - 1); + mas_store_prealloc(&vmi->mas, NULL); +} + +static inline int vma_iter_store_gfp(struct vma_iterator *vmi, + struct vm_area_struct *vma, gfp_t gfp) +{ + vmi->mas.index = vma->vm_start; + vmi->mas.last = vma->vm_end - 1; + mas_store_gfp(&vmi->mas, vma, gfp); + if (unlikely(mas_is_err(&vmi->mas))) + return -ENOMEM; + + return 0; +} + +static inline int vma_iter_clear_gfp(struct vma_iterator *vmi, + unsigned long start, unsigned long end, gfp_t gfp) +{ + vmi->mas.index = start; + vmi->mas.last = end - 1; + mas_store_gfp(&vmi->mas, NULL, gfp); + if (unlikely(mas_is_err(&vmi->mas))) + return -ENOMEM; + + return 0; +} + /* * check_brk_limits() - Use platform specific check of range & verify mlock * limits. From patchwork Thu Jan 5 19:15:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090318 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 44196C3DA7A for ; Thu, 5 Jan 2023 19:16:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 235B7900005; Thu, 5 Jan 2023 14:16:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1972B900004; Thu, 5 Jan 2023 14:16:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E8F2F900006; Thu, 5 Jan 2023 14:16:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id CE94C900005 for ; Thu, 5 Jan 2023 14:16:01 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id A95121A0719 for ; Thu, 5 Jan 2023 19:16:01 +0000 (UTC) X-FDA: 80321700522.13.D54CF1E Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf03.hostedemail.com (Postfix) with ESMTP id 49C1120018 for ; Thu, 5 Jan 2023 19:15:58 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b="0/uSVYP0"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=smtdmd0j; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf03.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946158; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6pBshLkdqSo1VBylaZBMWLf0C9CRkqL4Ielj6sbUnaU=; b=FUGMMdRqLfKuJk4I4iUcZkO5xi9fEUsuCp02eZF1O4miQ5QY2bw9wJOboZ0vkoaXFE1R6y Dw1B6Yffzo9o9mEKXBM6v6/y9ZHedMbJmgEIRhZq8k7a+3sY6V94e4Chhm2Ql6gsG2GDmk +li6jzXu8/xw6k9jeN0r10ZoaRpHz+Y= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b="0/uSVYP0"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=smtdmd0j; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf03.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946158; a=rsa-sha256; cv=pass; b=X0hU10G6gPRLmt+cxCCZoStoejnco02OLd9j/e5Tkq+SFbkRAS+YUpSIQZ99fkK6kKaFkR 5bQ86US87fQpJ7lRAPN0V6VRv0BP6/DYaWuIIAsx1yd6R89f99d6NF0HXTkGXtgu+ZA3xf 4cifd48+h8hdiIpZ3RUZUWp0H+lMVEw= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ISlMP001327; Thu, 5 Jan 2023 19:15:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=6pBshLkdqSo1VBylaZBMWLf0C9CRkqL4Ielj6sbUnaU=; b=0/uSVYP0iqqOMH4+VOHyRMvxaLnYEIC3q2cXrMG2TaAwFG4j5RuUpDvdDJcrIOiwn2Lp 1uKg5wUNY7S0l71uGzqlM8mEAjljaSZSGZ2UiCvREN+1kG7priAh1DnmdtljYPu3O6VC Xg2uGlhiHH0g9hGyHX+Z8xx1rAh7aWdsJHeiJMt8IsHyaCYSreOH6SoWS+RKFWMajO/b G9qjRbPdxrMGUTdc5Y/nFOg5RGjeE/pZ5qf9jGTnywqwE1tGq/W0gPckTBrgbd+9J6bU fpoMNcr9JiBSwaO2KNUcW64bJXEmc+RWWmcwN3wHhrAdvPmZY6mxEdXwjmJwBmJTs2ry dA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtd4c9qv8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:57 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I0WPI023380; Thu, 5 Jan 2023 19:15:56 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6kx6-6 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mESNu3vgh1FqIKJtvMkKthtz3KFgyPSib9OxH9Va5s95v8rwHlEKMcbILwIPmo9dwDc3Ufy5ak2vL9ldD5roBsGKnHdZ23vMHEUeEgeUQAcGWzsaeo+jlQOkI9U8lmLaKNLV8Sl+fl19a6S58ieRFHzIFMKTZnchBD5h4S+yqByDGgHKfa4YfZaU4zsI8ZGyAxmvLa0irf5RV72mdtW6KrH69qIWuYidfO3AacWBWqrPi1OFgepX+Bo/NsiolhrxdNGjIlCJ0oL/4i7Gb7HkVHIGTPkVHHV6jAVy8i/7ii+bs29KefooXh1BReNukTpMPEcC3zN8SF5ZwihqsZkC1w== 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=6pBshLkdqSo1VBylaZBMWLf0C9CRkqL4Ielj6sbUnaU=; b=nPniBzA+1vL2HJta3Cz9/qxllcJ37TFOvzRUM/lqNjdDzIYMI48Wc61AE4/tJVuIr9Ks4kgBMrfbNo4OUcSeMtcgmYkIJ/lTAKq0OiYxrknVMm+csQJo/NSctBVwUK++JZ/IN2m8bXdWSKlJgdDZ1b25Dk/um03CzhCHEMGqZGoxSKzCDRz+5R8DHJLmxZ5hMuaVg0h9eH3VKNEJ0XTWl2leGM+VcF53t1H5OpMyAKASwLw8fEqGtt75ymWDhsw0YThy7zI1thKFSccN2a+r5+CWz1JpuKCZF812kwkNLQighPXrdXtcZrP63QMa9xVatkDF1mH1YQ2dohaBBWEM6Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6pBshLkdqSo1VBylaZBMWLf0C9CRkqL4Ielj6sbUnaU=; b=smtdmd0j7uSv8ZQ4+Kd8r2rOsgFHaUbnN0au4q7A8KkJCd5AKsBcfX1b2N791wb5GBhdtpZShhOwe4IqrgS7UwLad8b6CRQXZeQ6UFFit6mOjmxzTvgvqBcDHNJztSJ5oDP6aQXArQ9OL+LZrN93S+Lsf70dkEtoBVzCnpNGzq0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5231.namprd10.prod.outlook.com (2603:10b6:5:3b1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:54 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:54 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 06/44] mm/mmap: convert brk to use vma iterator Thread-Topic: [PATCH v2 06/44] mm/mmap: convert brk to use vma iterator Thread-Index: AQHZIToh2YIFO4Pea0W8K6URlm/QaQ== Date: Thu, 5 Jan 2023 19:15:54 +0000 Message-ID: <20230105191517.3099082-7-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|DS7PR10MB5231:EE_ x-ms-office365-filtering-correlation-id: 6c9bdb8d-73ab-48c2-d315-08daef514498 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Saxe1qIc1iPeCSBC5i+vKMiWEqLd4kthjqiKN7I4+9YpFjEdatps2UvAetwI3h3SnSUQrQuWOvNZKlKK9W+XGtEHtP5nXbJR3glWPKOOXEW8gQJHZa6vWvYpZz8WkT0nGybISpv1RSl8l+gU0KOUzleJxcvrwCubUDV2SQpg2FmWQXWYKGUbDwYgNEyaanyZEUKWrSFB2n4Z1OPTJA+30VS9IBe571M8cnsonEF2JkqJzI8bGEWdttraoyFdIA4P+p6U7DsXOrzBD0x58EP9IaCmDxMN/hGhUiKEpGYvuaTcJqz1EmIZgPSwlUognRz9J+9pagx627bPaoq9Xfy15xBne9mXKefkDriYVRPHKVO9aVMJjyp7UBETqs6pdyUibTHLijRqZDg0Oi1LhWLZkESNYKE0eOo/+cVGI21OJo59LqEU0nZ80cbPmswqG7iFsc+b9FJ+KZOGyIw5tRT9svoENaLCTOzxoooP5juyssjiItqrvqgVX+xl5HsPvjd665hOozOcaGdXGAXl1TdXsxQ3fmRs5nYh7+lELvrGSUSsLTFb4TK7/9vrAl0a/N8m6iz+smsg++iMOFpDcyEH3AMhGltBwTb72aEpaKhyWe/q/Tg9AHaz72fJg/6LG6Kou5JM6CoK4jNiX++G3W25I03fQ2iyy2Rv+/BJekuHoW8ELS/q2RHbpIn7Sir4t8tJmrXSdr6DHjia6SABE6h/hQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(110136005)(316002)(54906003)(6486002)(186003)(26005)(71200400001)(107886003)(91956017)(64756008)(66446008)(2616005)(6506007)(4326008)(66476007)(76116006)(478600001)(41300700001)(44832011)(8936002)(83380400001)(5660300002)(66556008)(66946007)(6512007)(2906002)(8676002)(38100700002)(1076003)(122000001)(38070700005)(86362001)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?Zrl/LknJrixZ10kbDQMTucM?= =?iso-8859-1?q?NoxOwX2NzCcboR3l3dCT5/oAEeFlRYbj8q5UA150RlZ766IqxSQTEU6MP72d?= =?iso-8859-1?q?uSYxUXCOtlZcjL4iq1OC4tnBZ/JP02I+J60PptqSwE2GqNNe7yXjAEfXNcOJ?= =?iso-8859-1?q?0V+ZIyq9MT1FfmEvpf3s5Y96yOoarIQPfjhNwpvfwXv1uD/E6UD5Zzdd94/v?= =?iso-8859-1?q?+yrNvATT7w3P75tuFozIVtOOlb+TEojSsZKL2avEis4c7JcZzl3AdBT+WCXX?= =?iso-8859-1?q?Hpsz/jyJml3RTGyozy5kzeBq9/5GnX23JGmdb9wAyiLQoqlrr2z+p4eDqwMP?= =?iso-8859-1?q?ZFD0GaJLWypthbbPG6+lb3aiFSTo+AUYfGHOXyxC/zOlmOSRQnfHyfRTJEfg?= =?iso-8859-1?q?QIBkk+OGNCFGLwXT8vZ4l7iLW3YOhMDB4E9s9Jr2yNkSn1lQ571/lE8slhzW?= =?iso-8859-1?q?jh1iVv9hhCc9TfZn7K48pqAcjXJyLy9SNExHFTIqNRAG9dtWfV9YFSh57MOb?= =?iso-8859-1?q?UxYc0Rxcu+bE1BC3/oi0ko979GHLdJVKPjw/rQ0vT9GvuostiRZYmGQZJAQ8?= =?iso-8859-1?q?pbLUX9UdiFJOcACT1iduB31qISzNjIeg1Cnm5vyawLaIJCW68XVE+cCeEKG2?= =?iso-8859-1?q?O13ml9TifZkmv80QtVYEBmLQC2BXkQDTVTPaJLg6VlwtUmC5p95HHKWBIl8l?= =?iso-8859-1?q?Zh3XWI/YN7LAKzxlg2Rf5WOTl5ePc8xkydeHAKcVV6QllfC4igy6zx0tUnxr?= =?iso-8859-1?q?edFBCAtPsx6ylEH1MFsmoVPokoC3DQfICydeCM7Kg4xV8tOZoeQjMiKRJDk5?= =?iso-8859-1?q?6xeApWhzsiQ/D+NwsbjhDuiwzONRyL9mAC15GF+GqYtH7ReI98eFBPG8tNEf?= =?iso-8859-1?q?0E8QpmVjE9/h9jmyP+w5MqdTOZRPbRWnjcdCyjJ1Tts89Qi/b6YrFx/d9AXQ?= =?iso-8859-1?q?sp213MWYV6SY5jnNiXsm+3WpcAaZ2V3+1nGPoHQzOP80YqBHgQpp1fwwxiOv?= =?iso-8859-1?q?NvZ3MbSu1wMDheN2SpnxoJ4+izMmMsdrSKWpxtmidmgexusAmLcqGh2thqgz?= =?iso-8859-1?q?kYP49On/UOqqhw+ju2bee2SUIKyYlCQ/jG6/w3HXERvQ8g6aNyFWVlYenZ5J?= =?iso-8859-1?q?aq4kLkDRRiy9pT9Kz7Ekl03wBIDrZvdSvFcND80ABl//twY5qeBiVCs3hBS6?= =?iso-8859-1?q?HmLCccPysnZFH2TJBErtiIEkm52ZG1Nmwd4U7VoEmfd0CN51uvkMqKKl+YRS?= =?iso-8859-1?q?7esTNz4oJzw2+R3iOe1tmKlB9W0vxSnhnWvL+4wECexSOEm6GCeEyGMDnnVa?= =?iso-8859-1?q?7q7LzRJpq+5P84xfgsR+z9xvdcg9eJNaHtzNlDo/c4mSUbYdwr8Xf121kxwQ?= =?iso-8859-1?q?A8NoI2FSEI713YwcU9w0kaYAscBrj90Pvf5rVTYiNEk8F7Qnog6TCId3uiPj?= =?iso-8859-1?q?HeFlTAn+p++xLMOW4u8J2PI+o6t/xoAjpQwROidRY6PXBaOO2BECAMb+fsAC?= =?iso-8859-1?q?lfWUcn1Z5IOg6AJ+veKfI3NAOkXwP4QsCdlnnv+6FvEQcubGMHbfP39NAI3F?= =?iso-8859-1?q?ZcmTsNvQDvNSEBozEdNVtIfsiM2DFxZy3Z/3w8isv3evkpaHca9m6CC2gDLI?= =?iso-8859-1?q?/ZK5ps5kCQ4i98HteoA91fdafrmvVKwPbhG7ccg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: XLSdJBsG4vCGQgGyGf2UkDDyF1sYxghsNoj7zWfUPwIFaF4kf/UBS50HWnIlzCDxX1bwxBh0gjEHSgXa4ILOEoRKw13aLLIVeodk1UhmiKgbJ2xfALENDJkwQ+YHXgVFLQE2i7vLVoN6lfKsD9QmwTMGfcQSG46lhI7tNwJjMnXzRh3UpyuWZRNqQPXKPjKD/i0hiuq0pVoUG+EH375N7jBZ7sVw6j+B8C+Lo56dn+DaLTuxhFrz5cjUxDVIfY7CMwT3L6j6F87gnqVsG9kGd4Srdk4WUJDcpTICVD1hmp583ImolPxXLWLBT9iiKumqFBTZ01sOnIaDlh7vL8jc8Ci1saax3CPAh4bCAsoRHlGSTVqT0TyhuWpdJ1jx7MJvjJ4twSIYHhT27MBKQORY8zi5sZpkZDK61dLeFpSgONFQu5wNV2CRG2VRI7jNUaUH19q66inupTPdbV7pDNDENAj+5uCfeLk7qHjdk1Vx4e+QIc7juycBhrZawuBgcscWCpC5Cz2IsglhClTowjj8MUD/mS5AplbLLiiy5cAUfWWQN8PVS36Xc81dt5vLbS0kKfK+OXMo0YjeXn+AiamrmmfrsVe9q4KwQ3zYXmtsbWUQwso54CzwCmRHYbt6irECZeB6U8hHnaXplGs/9stONwpzRQPWgC/MoihfI4tEO7a0hjWNJzHLiw0QDyPiGU4KkNzED4Dz+1BWmTvYSE/H+oHkBgs952P8jXpEIR7I7v9+ZXNjFbj0cPy3IOdlZUxEMDGXxG3zUzN8023bsvglj10OseWiO0HJZToM18fyEtl4rFzHrfsK1Z9s6K0GuPSeRZlfR+5in/CWljG31SUo2vlQaY98GK0cGLI6qCkFGPXT4BbaedY0rOf5nOm5ds+qSem7sR+7fQaWr64/QGYs3w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c9bdb8d-73ab-48c2-d315-08daef514498 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:54.2821 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: v12k5sqgAGYYGEsQBbiBk3iS2FNCgeb2/j5p5K3/FlrljTVzOvXgvHi1SZFlKakUQtWd6gwji7kWwO0Y5vnddw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5231 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: qA2N29BLl0kQjRFlJGCLAHpUBTXFTi9k X-Proofpoint-ORIG-GUID: qA2N29BLl0kQjRFlJGCLAHpUBTXFTi9k X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 49C1120018 X-Rspam-User: X-Stat-Signature: y3dyjhi5kpceeudjp4mntx653i4z6czc X-HE-Tag: 1672946158-331659 X-HE-Meta: U2FsdGVkX194BZP832RlZlCaOKvzen5ToFxiEPdXP+xzB6KB4Sqp0jIz3OT3ttaTU6fil6VmxKuEVHePb3SO4zJSYZlgu3pIPBaFEAwpOeBbL4fGit4xhQRNiy6BDsWBpzzxyyoZo+QDrBultZrMTL3xd9Vd+btA9TYJVPjcYR61ZIKwefbsGlNc2zjpCOWF94lxi+/PLrg3R87sRY7DaHkkvm0mxyQ6InfAqTEtQCTh/KEZDzCvmqbxY2zL6tmKdIUgIqtQ32KgovJgz3eYzetsiEBN+6k+dFIH3gYN/waAxWy6JU8LWBILnUmXnn289V55V9D8ppQAZuIpWurz4KHpM+MLwFVQE7r2ODNOedVjsspMFDnvWruLsq4BZ3NVpOlm9wpxpPtUGldyu5RMMZ61yO8CmysZBfEbJApclv4zQWmW72ewz1pggHoX0qLBSS17WZgdmUEcvDaRfpEtDWVGoRryX36xKJGv/QMLsq1DWH/dmqC+GJZVTZMEOa3V88KMd62gCrwJGPWJwGxRSt60q4GckpXYN0j3a1GUscPPTraqN2ipA82lnisTN1teU5MdiGXO/W0+C7nGWAjj5cry2T/6vEAIesb+Id5H0yl+5f6FRZD3J7xZRxW7BeYj0XWqpB99WO9ScE0Fwsg+AB/O/Ptm2MTAZoJyybDnhTuSyBXURvrUyYwcBFO6+hdJni7F3/N0vns7sOnLqa4zQ07Q3dNulmM2LqL/plApDdQLe1Xqc0x9rdOLSGFVnqte/Mh5VGcnq6YaXVU3MAE1HOHLwv2SlHJD3gO4NTVgcV+F8jf+iL7UyE1z5esTOAgYsHnD0t4uqlZdXuR0zTqd7py99RMn+enttkr1f31jhGhQmGIXPZIB4O6sPJOOYYW7MuOsEsGlQzisIoz/9TK/o0AY2LCvgMUhoNzqY25hFZZrDQxIafb07TWv7JCNGxG06NjOuAjtAGBmduiM4NH u3E4oWfm JEmkXBO6ZmBG+0iMn0EkyayyZqD4wyhPAiHfVAqc3rOB6IBPaxlHOp4cFItcBaBtAuy5obP/Zh4JbLNCRcCjGbfWFN+atWaODb/qW X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator API for the brk() system call. This will provide type safety at compile time. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 47 +++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 9318f2ac8a6e..4a6f42ab3560 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -239,10 +239,10 @@ static int check_brk_limits(unsigned long addr, unsigned long len) return mlock_future_check(current->mm, current->mm->def_flags, len); } -static int do_brk_munmap(struct ma_state *mas, struct vm_area_struct *vma, +static int do_brk_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long newbrk, unsigned long oldbrk, struct list_head *uf); -static int do_brk_flags(struct ma_state *mas, struct vm_area_struct *brkvma, +static int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *brkvma, unsigned long addr, unsigned long request, unsigned long flags); SYSCALL_DEFINE1(brk, unsigned long, brk) { @@ -253,7 +253,7 @@ SYSCALL_DEFINE1(brk, unsigned long, brk) bool populate; bool downgraded = false; LIST_HEAD(uf); - MA_STATE(mas, &mm->mm_mt, 0, 0); + struct vma_iterator vmi; if (mmap_write_lock_killable(mm)) return -EINTR; @@ -301,8 +301,8 @@ SYSCALL_DEFINE1(brk, unsigned long, brk) int ret; /* Search one past newbrk */ - mas_set(&mas, newbrk); - brkvma = mas_find(&mas, oldbrk); + vma_iter_init(&vmi, mm, newbrk); + brkvma = vma_find(&vmi, oldbrk); if (!brkvma || brkvma->vm_start >= oldbrk) goto out; /* mapping intersects with an existing non-brk vma. */ /* @@ -311,7 +311,7 @@ SYSCALL_DEFINE1(brk, unsigned long, brk) * before calling do_brk_munmap(). */ mm->brk = brk; - ret = do_brk_munmap(&mas, brkvma, newbrk, oldbrk, &uf); + ret = do_brk_munmap(&vmi, brkvma, newbrk, oldbrk, &uf); if (ret == 1) { downgraded = true; goto success; @@ -329,14 +329,14 @@ SYSCALL_DEFINE1(brk, unsigned long, brk) * Only check if the next VMA is within the stack_guard_gap of the * expansion area */ - mas_set(&mas, oldbrk); - next = mas_find(&mas, newbrk - 1 + PAGE_SIZE + stack_guard_gap); + vma_iter_init(&vmi, mm, oldbrk); + next = vma_find(&vmi, newbrk + PAGE_SIZE + stack_guard_gap); if (next && newbrk + PAGE_SIZE > vm_start_gap(next)) goto out; - brkvma = mas_prev(&mas, mm->start_brk); + brkvma = vma_prev_limit(&vmi, mm->start_brk); /* Ok, looks good - let it rip. */ - if (do_brk_flags(&mas, brkvma, oldbrk, newbrk - oldbrk, 0) < 0) + if (do_brk_flags(&vmi, brkvma, oldbrk, newbrk - oldbrk, 0) < 0) goto out; mm->brk = brk; @@ -2963,7 +2963,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, /* * brk_munmap() - Unmap a parital vma. - * @mas: The maple tree state. + * @vmi: The vma iterator * @vma: The vma to be modified * @newbrk: the start of the address to unmap * @oldbrk: The end of the address to unmap @@ -2973,7 +2973,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, * unmaps a partial VMA mapping. Does not handle alignment, downgrades lock if * possible. */ -static int do_brk_munmap(struct ma_state *mas, struct vm_area_struct *vma, +static int do_brk_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long newbrk, unsigned long oldbrk, struct list_head *uf) { @@ -2981,14 +2981,14 @@ static int do_brk_munmap(struct ma_state *mas, struct vm_area_struct *vma, int ret; arch_unmap(mm, newbrk, oldbrk); - ret = do_mas_align_munmap(mas, vma, mm, newbrk, oldbrk, uf, true); + ret = do_mas_align_munmap(&vmi->mas, vma, mm, newbrk, oldbrk, uf, true); validate_mm_mt(mm); return ret; } /* * do_brk_flags() - Increase the brk vma if the flags match. - * @mas: The maple tree state. + * @vmi: The vma iterator * @addr: The start address * @len: The length of the increase * @vma: The vma, @@ -2998,7 +2998,7 @@ static int do_brk_munmap(struct ma_state *mas, struct vm_area_struct *vma, * do not match then create a new anonymous VMA. Eventually we may be able to * do some brk-specific accounting here. */ -static int do_brk_flags(struct ma_state *mas, struct vm_area_struct *vma, +static int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long addr, unsigned long len, unsigned long flags) { struct mm_struct *mm = current->mm; @@ -3025,8 +3025,7 @@ static int do_brk_flags(struct ma_state *mas, struct vm_area_struct *vma, if (vma && vma->vm_end == addr && !vma_policy(vma) && can_vma_merge_after(vma, flags, NULL, NULL, addr >> PAGE_SHIFT, NULL_VM_UFFD_CTX, NULL)) { - mas_set_range(mas, vma->vm_start, addr + len - 1); - if (mas_preallocate(mas, vma, GFP_KERNEL)) + if (vma_iter_prealloc(vmi, vma)) goto unacct_fail; vma_adjust_trans_huge(vma, vma->vm_start, addr + len, 0); @@ -3036,7 +3035,7 @@ static int do_brk_flags(struct ma_state *mas, struct vm_area_struct *vma, } vma->vm_end = addr + len; vma->vm_flags |= VM_SOFTDIRTY; - mas_store_prealloc(mas, vma); + vma_iter_store(vmi, vma); if (vma->anon_vma) { anon_vma_interval_tree_post_update_vma(vma); @@ -3057,8 +3056,8 @@ static int do_brk_flags(struct ma_state *mas, struct vm_area_struct *vma, vma->vm_pgoff = addr >> PAGE_SHIFT; vma->vm_flags = flags; vma->vm_page_prot = vm_get_page_prot(flags); - mas_set_range(mas, vma->vm_start, addr + len - 1); - if (mas_store_gfp(mas, vma, GFP_KERNEL)) + mas_set_range(&vmi->mas, vma->vm_start, vma->vm_end - 1); + if (vma_iter_store_gfp(vmi, vma, GFP_KERNEL)) goto mas_store_fail; mm->map_count++; @@ -3087,7 +3086,7 @@ int vm_brk_flags(unsigned long addr, unsigned long request, unsigned long flags) int ret; bool populate; LIST_HEAD(uf); - MA_STATE(mas, &mm->mm_mt, addr, addr); + VMA_ITERATOR(vmi, mm, addr); len = PAGE_ALIGN(request); if (len < request) @@ -3106,12 +3105,12 @@ int vm_brk_flags(unsigned long addr, unsigned long request, unsigned long flags) if (ret) goto limits_failed; - ret = do_mas_munmap(&mas, mm, addr, len, &uf, 0); + ret = do_mas_munmap(&vmi.mas, mm, addr, len, &uf, 0); if (ret) goto munmap_failed; - vma = mas_prev(&mas, 0); - ret = do_brk_flags(&mas, vma, addr, len, flags); + vma = vma_prev(&vmi); + ret = do_brk_flags(&vmi, vma, addr, len, flags); populate = ((mm->def_flags & VM_LOCKED) != 0); mmap_write_unlock(mm); userfaultfd_unmap_complete(mm, &uf); From patchwork Thu Jan 5 19:15:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090437 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 877F8C4708E for ; Thu, 5 Jan 2023 20:19:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 02D838E0002; Thu, 5 Jan 2023 15:19:34 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F1E758E0001; Thu, 5 Jan 2023 15:19:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D72648E0002; Thu, 5 Jan 2023 15:19:33 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id C8C158E0001 for ; Thu, 5 Jan 2023 15:19:33 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 8C1501C5C73 for ; Thu, 5 Jan 2023 20:19:33 +0000 (UTC) X-FDA: 80321860626.21.E68EBDD Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf13.hostedemail.com (Postfix) with ESMTP id 03AB02000B for ; Thu, 5 Jan 2023 20:19:29 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=VQx5jsf9; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hP1Mo3sF; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672949970; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=RFpRUc5Oex1lM3Q+9B7MFquPWyR86idsNW2D3KmMUJs=; b=T7YeHHg981u6YQ5SYNHHFZ9HTWWVG6ZFFpcAqqnf16Mi6J4mW91k51zdQfAjO3oiXY+lY/ Agkp8F/JD+PivRiN/cq4F+dFrJZARtTGBzj2GPlvALCXzFWOgnhw98H3aQIFq5RaxKd942 JUPLGABdo7nGRHdn95dCprAEkadpGPg= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=VQx5jsf9; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hP1Mo3sF; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672949970; a=rsa-sha256; cv=pass; b=Uuf99KuAmszNXgxVb7CS6NkkcjgIFsRNOrqDU8jSqJJF/OVWI6WrlATCnOUSCbI4c5qfUx 8Us0pmTzDnWZ5/16L18ENu5337WSl7+aWQQY+CWmI66j4mNQX8rwf9vxKehHiZCmNcDaJd SfA9gElDLAZT7ioU9OxQwiHS7atqWaA= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUHtf030078; Thu, 5 Jan 2023 19:15:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=RFpRUc5Oex1lM3Q+9B7MFquPWyR86idsNW2D3KmMUJs=; b=VQx5jsf9tD2Rrzu95kZ4XE1ETQiBjXxHwAhzCtO1jxMBbeEzAv/5rpZswOpX/CGO/QuW KKrKvnKNt6eDTjJ9ITiw/3sifi5WeTZRGXJJ5q9zrBhu/BRpXS+pjyTjJqZ0oALEsIoj iwost2xZK0AiPWWkYNWLZQc874ZFsvaocGY/1Um7oll87PxoufGWJKv75nPSOYiEQ4vk OHTOIVLLXgZIcsF205tCxPVMFgktrjdFF0W4uuyWUjBfxiP8QTM5KOHxptsEvKl7hNhY 4gpfvkMAFIItx/td7Z878b9YPF3Ksvl/4/lxZrgXUanTHtScPlgP8JX+RpupfSiZxZjL YA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcya9k98-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:57 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I0WPJ023380; Thu, 5 Jan 2023 19:15:56 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6kx6-7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oRv3h4k5wmHYcXyZyijP4ahQ4hzS9NeK5rPQlowu1LzNHPvBjcRFaA1afMrPDdgLf4lj18ah4HdC2QY+XLFSUi0M6nP306FHAAiJBznnUnGsNQLdubQvlK54o10/ViHcLyDNanawyHm+IESLf3jGsQLer9OLSq4cePj0dK4UzdFUlPtAImThNRg8/tlNUARct0g52VXDjgAhbftYN16JGXEdsjHhcQquVSf38N2KjW53yTi6ZO7OoL2+V9sngnwa4GIPTaKLwuEJDN8toGwa4nVyo/xZJA/2TIsUrd2mmYs43E9HLF0Jl4ATehp+7F63neDKMiO6xsTOYnbWs+u7fA== 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=RFpRUc5Oex1lM3Q+9B7MFquPWyR86idsNW2D3KmMUJs=; b=MB6pKE2unKl311mcMcrK3qo7f0QIYUi0pcJDX6ZNIhTGnX5Q50NQDK1V0oTSLmDhYYIYEd6Ik5Jv5+sYhOhq3QOWXUU6QUAK2kM5NLAq+ImMtI4z1C1dhT8rYv52zXhWwfg8zQ4Am8Gfo8ESxLBebaMcqyCc/gW94xIhf85pINmOtkrSFRqYHydcaa9l+c2uqsz4oGZ7cnr9fOFzobPgUQzN38jbdDKicFX2BBD5l+VYMFbf9FYio4x73wC7WkAvZtEr7rdfBBE8Z4SjXmZWPw+mSWVFa3zE87sFfPym3gSqvOBdZLIjU74UaU7cLdoK+yWl7OHSrX/Wexb+gjJiTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RFpRUc5Oex1lM3Q+9B7MFquPWyR86idsNW2D3KmMUJs=; b=hP1Mo3sFp8JXxZoaBg/wPb90vHQsW7/XinF47XNmJY0iz4q+9yeEKMGXhYKlcr8pyEOOHjT6Plp25+Zx97SF1QJxKyieXWvr5/2yvejbcU+S65XMZl8rn974lCMk3MD/CxEXPACYSffZbEkHx76zJRDU9LdZJwBmc8jnqqzcRLg= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5231.namprd10.prod.outlook.com (2603:10b6:5:3b1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:55 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:55 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 07/44] kernel/fork: Convert forking to using the vmi iterator Thread-Topic: [PATCH v2 07/44] kernel/fork: Convert forking to using the vmi iterator Thread-Index: AQHZITohHU+Q4KbdIEubWHMBaUK7+g== Date: Thu, 5 Jan 2023 19:15:54 +0000 Message-ID: <20230105191517.3099082-8-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|DS7PR10MB5231:EE_ x-ms-office365-filtering-correlation-id: eeafaa10-b497-4ba3-cf26-08daef5144d6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: e4B5OmhiBNvOJof8iAPhmnJF7Imyo8R6K0Y+WF4u7v7pnO2TDu4R3poziMJJtCWFQ6XaL6NnTZEtNH5Zm3WC02RMDbo7mMJV09aVEgzA9WSAVe/eBvcG3/nCd3HQj1pS7Khz0MKugaYFkkeOLqSbyiYCAgk7QYmlHPSTN5A6+/pQ412AvxXj83b+iqZCkpbEbZLdkTuZGDXOt+a27yyj9NDnmUzL/6QtYzpSkUvPNYWoFNww8ldw7o/9z0XLua6K9Qps/o/uPiJ+BWIeTxzd3WyraTgMjH25gNl/qx35oofaDEp7Q8YPfQvKZpDrbVUyLz7SwjWoyVuB/+O7COO66svYvkOyGSS/fRS6tfmu7nVxUtd1Npps4qktDn/fGMlTiRKFLuNuYxlAPMDE9xN59pbpM/Ydp+IqaBaoNoAdVq8XPElYZPxH9aAuCY0eDkZ1OQxdGVs9StgbPwyVPy1OZFUm1kCckGz1iEAv1uFv3t8d1d75JgS7ofomB8T7Q3wh/SjROxHBppY225oo6psuSncOsIvPIwsVB67mrlG54QUL50hF6MGqLD5PqN94EFoJIPghOQAD3MzL2ohjFmq/bu4BajZBSDQ/pL1sJV/5AYG6bM7tpcMcEo8kjvd67hSfuNXtP6BCMewcQQJJL+O3YQu01wehydrMMnXz4gDbAbCMljqq+vy06nR/OifanlK5w9/Ub7JcOR6+TcknV6aJ3g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(110136005)(316002)(54906003)(6486002)(186003)(26005)(71200400001)(107886003)(91956017)(64756008)(66446008)(2616005)(6506007)(4326008)(66476007)(76116006)(478600001)(41300700001)(44832011)(8936002)(83380400001)(5660300002)(66556008)(66946007)(6512007)(2906002)(8676002)(38100700002)(1076003)(122000001)(38070700005)(86362001)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?2HFtpwcXzAsh7znEHWsuN7f?= =?iso-8859-1?q?I6M+nuyAFD+xq/2SYA5GZA1m0G6eUfZQH1wCOvvsuy6dmEahAFDdv/+b72RF?= =?iso-8859-1?q?yCi/XH3mN4n3mS7DKi3WMW6yBKbTKFVFrGyci/u5Q7aJOUtmCov37iy+Egao?= =?iso-8859-1?q?qLEAHnCru+/lYRMo9+2S2L4Cc+bvkrA1M2Rw3LielpxtMOuiVQrqu9RN/WtX?= =?iso-8859-1?q?7XQV2WtPnsv9rHeWu6SFRXmKrpP9gmgbGoMRA4D72vhYmezikeRNxRPtQnSH?= =?iso-8859-1?q?bgcbOGfhM+YmGl+MuiqQXt/gY2K1Lb548Xk55FcNSJuKUE7QNzg2l8vvQypo?= =?iso-8859-1?q?9A2IRzD5IFwpL88LA6uXQNQWkzjKkC6cERCO3b4P1iCoI1XFmEKXW7+xFO2H?= =?iso-8859-1?q?3yi9JSxFEef4kmscjW++PqnyzfgpS0FTwG+p7qLgjLxtALFVNHBZvquZgVDy?= =?iso-8859-1?q?FD4OG1eIX9HH4XgXz0kM0MTm1SywSomob8TLwJ2TQk/fS0B7d3YnC+MQUeVo?= =?iso-8859-1?q?174yL7clwWyFO5utuo5DqieMyfACFj5Ncd4oV++16m9BgFfZz2W6Wq628ZQR?= =?iso-8859-1?q?5o3VaGkotipVZom9V71k9lu2LfEmpMKuCkCyN3YhTsbF0+hkr7vA+fSVEqQA?= =?iso-8859-1?q?gEONar+GLvJQWXIgthmWPTXVb/JcCKFGvJsfm//JxH8A+69XrEYmC6W8tuTp?= =?iso-8859-1?q?jlwfW6bABVTI0juQHTW3C7wAbMuu9sq9LV7uEigBT7Z4xg4rjQKw5Tmqrr3W?= =?iso-8859-1?q?hf+vdgC3t/2K+f66K/PxUpgpjlX23YJf1OXRz8k/9jbr/cS+u5OFLP8Aw+KT?= =?iso-8859-1?q?jMs0h6j3CKQxYv0aS0SSKiu8dsvsPlq8ENYVd95xHvOhO5st6J3gvYe+YRFi?= =?iso-8859-1?q?trJw+xDewMQm8Zx9ILV+yspYHB0S9FLeEOd8SfCorHqZ28YAbsf2LLwj61O5?= =?iso-8859-1?q?EFbdaz7IM7Yw1Tf5qJKUtN2lwdv32O5fdRXOQXdQjbUbKWu6BrpVPhgLjAb5?= =?iso-8859-1?q?J7y+AOPCyLvPVkvnvz0ZQtJBhm6vtjpxZdL7mI8K3gCtDcUFeBtIl/4n9DJy?= =?iso-8859-1?q?mX3z46e90861jjQ09frmgRT9JUcgZxsuIOlkGRojXMczBJRMeokuCWH1Lq5s?= =?iso-8859-1?q?3YxHL6TBxvAlwPqoUOF+KAmikSTogSx+dCOowAtl0sq22WWtqyUdxqNQniO2?= =?iso-8859-1?q?yNsm7dTKi4abD2vYiyuGKWY0u2BglcOpXS6UyjsuBs5M5bhYRkeFPwcM3H3z?= =?iso-8859-1?q?2k2fpOt23s1EbJMzyfOTCnZdCjxI6Ol1Cwv/sToQkkABwBz03kBpgrg41Ca+?= =?iso-8859-1?q?FSucRYODH2//sxC3OmgCMKUWnKw/7SqNDsxqDU5J0G2UqI0DGQ7KwtSFcFpq?= =?iso-8859-1?q?IwG1hZnCGA4PU3N0UILKncMC2xWWVB23U5H6hc7UIxFAoXnJtNiZJnIsWk1q?= =?iso-8859-1?q?gnLHIB8Jp2IJrHeR8MyNJ4ZBcQiiQCB/LmmM+8FxWtKi3q8VK8ryLPkqhtJs?= =?iso-8859-1?q?1wvjk2JW6ChHG6PhO6xYbYbG3Sk0AIQqvfzmKaehbmpk7vzZrdYTPRt/sNPb?= =?iso-8859-1?q?pVxaTyG25nbEWuKAns9Fj0A/jmfWq2/hjpA4jzW/166EckUzBDN2D4YhZtQ7?= =?iso-8859-1?q?x9FVpifk6QQ4LgrNwbXyP18gnbyCqIPuVg/xYzg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Q7DjI+ivd7RrLuAx6BillCpL/6kltF1L56hbgP142pbK/PlR8NorHEW+bdb9qxWkJxrW0cpYNxRZp0NEjgjhET8piOPEYpjRxVbxY7p4VO1upNl73U3L8V+EuW5kCvZ8SRFKTaf/aJMCZbTXxJBZqncylJeM95pw9eK9rfWCBouW6p38viTzwXBwTZYVyaQWa4ecegmnhr9Gr4HGtcIYaA6qqsuRDoBqW1dyZP8Jap6Wm8I9ax1M2/yrNbYn6YOQYXE0eTVF3blehVdrgzOh2GjEDEEo7ogbRDd7aOjC6i8Jepiuk+DrMSS3ixqJGfxJgDehPfrq3ni1lfH63Z8S5ShWS0skM+QeY4HtKLBQadC5fKA/KYDMLL/zc9rz6xqXpVj5y86A0tPyv3mxwYT90zVyF/rJesvfjTA3JdwuxNsrkpBy8zFiE/beYJPMJQWEpm3NhY3+0lqKhimaHIhPM7OSRkx0OjZ2p7RnsB0z7gPPr2cBUy8+MKMH3uZhO5xtGoquz3laWgf8z0wox53TYY0e1EY/CtD+RHrNhl/m9f5tTDarwm/rT0T6xeeE12lqP7zPQL/6MSVkjfrPcbwmcFSuct9EJMh4Y0K8c65m6Mm2qLTTqoesjmq5sXYafOnAIJWtQTXbHBWCGOpjPtw4wui2iSMIaeI3/PR0eFF4pscM1WuSlPC9ceRd5ClOBOVJ1cT3RynmAF7JF8hce6JtO0hoS7WcFabuG+OpzhkMshXR3aM7Q0dUsY9pabZxfG45ABLUftPhP2GI1WEqOfcv08QAA/Ff6JH5YccJtL5jIwEDo/SI1r/wavbXwkj9FF1uo+3HfGHHcfoZBJohQL7iAW/8TPR8X9FRKUd8zNs+oZxMfbeBuzHNf9duXM8aMqFXF1Gx2fEJahO1WRZp2LYYMA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eeafaa10-b497-4ba3-cf26-08daef5144d6 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:54.5946 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1YEgWlmn7BePdiQA2yy0gI69QhmXHfUfCNdRoQVb7QMuRpE5nx0a+9n7BIM6ULyBMYGdcKRty8AOgs4tMClMyQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5231 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: Kqxk4QL0H9sDxqon_DdEVcLOo0RHGTg0 X-Proofpoint-GUID: Kqxk4QL0H9sDxqon_DdEVcLOo0RHGTg0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 03AB02000B X-Stat-Signature: rsq7nmwnpueegy1joqiu16yxyf1q37ds X-Rspam-User: X-HE-Tag: 1672949969-72102 X-HE-Meta: U2FsdGVkX1/FadqDP/p3eLvWdgGuuiGZuDMb8JxkpgSjM0VHyaPMK2HMTw3wkFsF6tLLFgAUv5w/+Dj71qqzCxT/nl1LyKKfCR0J98WxIsjRkEpUKSCATsm/WumpetQ+tfGkwRNT9LokFZp2rY4EOkj5PQMcfVM/A1SFSox2ZqsfBhT0vEzsgvku5VxRv6W9gKsTbk85DK3CnxymoftsSVQj9KTHmhFttBEEbzPkzFF9zglARsv0Ipq2W+oL0jhA9YDvsWBJa4yGzYXcurDSMd+v20fkTGbSYjk/+2WO1tYimGzz+AD81LhTaoVNJ2MdW6nFfiiVxTDEf3u0YLJUUb7rDYId2pPdzYAzXAfemDgm/z8xWGsoNOn7c0QYHW/UFcRlp40Hai7fu5xA2PUSqLTVt5MdAyLcIyDhPcSsplsDJxz+TIUzBZM9pvKN7f4HRK0AysuRVYgE/cGUkeyDrl7GvYkTiVT8V6ERgEY/K0Gdr7Hw+uEM8uZpyeU1gW/QoumnB/iiipYCxdndgzGSw53/w9cmRbgqnX/070uq6v1DT1C4ekzhDxBRe/JMhFql4iNLiBFeiCnRmnwQQcQocfvrhNR62/m3x1q5w3NY20EDsawJSb5O3B4//48pqLEl05OUQoRw3ASziu1/Yq4hGvqjJnjBh7Foo8STcWB+Gq5FphsgghO/vjA5ndzXreFZEyIKrVS2EhFfLITTS/slfgznj9VayV1mgZAVg3XKdWCdLnYYs81BSPzRZ4tNf53xC8DijvTc9tuN7EKlAUBq5/BaLTyzKiZ0tMJLdWYCM5ojv6VZ0H08Sh2dDuKjJzaEBrVgB4JqujRLDSIBX85o9W9BbttkJthLqh8YBHquSaa21AblFaUaiH52AKgNYiSO4Vcof6dS6FX2uv9+fwfvO/JamVXm3esFwsY0+KRCdyPNC5Soa9SFcKPlnWbFnzAh6UYthCt5sg2vPQiEu4D w3Y9r3Da 6wvRRQAQkYHjtuPxTSbHv2aP/2PPJyCjty2UFXcqb5ZRrgUqeZ9WZob/qISkOY6K5OelEY0ClHyBp6Evtb2QUIIEUIAvib56wjLtl X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Avoid using the maple tree interface directly. This gains type safety. Signed-off-by: Liam R. Howlett --- kernel/fork.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/kernel/fork.c b/kernel/fork.c index 9f7fe3541897..441dcec60aae 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -585,8 +585,8 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, int retval; unsigned long charge = 0; LIST_HEAD(uf); - MA_STATE(old_mas, &oldmm->mm_mt, 0, 0); - MA_STATE(mas, &mm->mm_mt, 0, 0); + VMA_ITERATOR(old_vmi, oldmm, 0); + VMA_ITERATOR(vmi, mm, 0); uprobe_start_dup_mmap(); if (mmap_write_lock_killable(oldmm)) { @@ -613,11 +613,11 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, goto out; khugepaged_fork(mm, oldmm); - retval = mas_expected_entries(&mas, oldmm->map_count); + retval = vma_iter_bulk_alloc(&vmi, oldmm->map_count); if (retval) goto out; - mas_for_each(&old_mas, mpnt, ULONG_MAX) { + for_each_vma(old_vmi, mpnt) { struct file *file; if (mpnt->vm_flags & VM_DONTCOPY) { @@ -683,11 +683,8 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, hugetlb_dup_vma_private(tmp); /* Link the vma into the MT */ - mas.index = tmp->vm_start; - mas.last = tmp->vm_end - 1; - mas_store(&mas, tmp); - if (mas_is_err(&mas)) - goto fail_nomem_mas_store; + if (vma_iter_bulk_store(&vmi, tmp)) + goto fail_nomem_vmi_store; mm->map_count++; if (!(tmp->vm_flags & VM_WIPEONFORK)) @@ -702,7 +699,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, /* a new mm has just been created */ retval = arch_dup_mmap(oldmm, mm); loop_out: - mas_destroy(&mas); + vma_iter_free(&vmi); out: mmap_write_unlock(mm); flush_tlb_mm(oldmm); @@ -712,7 +709,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, uprobe_end_dup_mmap(); return retval; -fail_nomem_mas_store: +fail_nomem_vmi_store: unlink_anon_vmas(tmp); fail_nomem_anon_vma_fork: mpol_put(vma_policy(tmp)); From patchwork Thu Jan 5 19:15:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090319 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 17EDFC54EBC for ; Thu, 5 Jan 2023 19:16:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 00FFB900006; Thu, 5 Jan 2023 14:16:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EDAF0900004; Thu, 5 Jan 2023 14:16:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CDE8D900006; Thu, 5 Jan 2023 14:16:02 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id AFF43900004 for ; Thu, 5 Jan 2023 14:16:02 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 80954A0262 for ; Thu, 5 Jan 2023 19:16:02 +0000 (UTC) X-FDA: 80321700564.06.BF81FF5 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf14.hostedemail.com (Postfix) with ESMTP id D87CC100016 for ; Thu, 5 Jan 2023 19:15:58 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=B5LzgGac; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=gDRe5CW0; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf14.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946159; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=B/nkXQcR6JgrRvx02poR9ZZyLxT8+fxjXFELOkpJf40=; b=xmzjRsewEPPlGqdbVJInyQhi8gkkVYPZfPwc3N+ZYBPbrO39Uz0hutQnMPEsdiSNuTY9s4 bnwkcL3NLwsyoFQ5pTySluU5ODeDlq/zhoL5DN+IZYACB9RqqRUj5cREDVhckXL8N+B4ZB CPkcKjKP78aMFYeZLNMMIAJH+6+0qa0= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=B5LzgGac; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=gDRe5CW0; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf14.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946159; a=rsa-sha256; cv=pass; b=gKx0iRU/moNAQF5GlZPD3+OXf7zgEpIWYd7Z5QPfB7agNbqqyoUiSF70jR160yRaN3PAna WHm4hboKNOJgfOIRv18v9suEd1gY5RMF4hXA29Mp+ErzDouibETF0m2Aqs56gwPspHDOAZ Sy/uPgQZ/U7U1e2vGk+b22NjZ8Lea/Q= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IU1Y1029393; Thu, 5 Jan 2023 19:15:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=B/nkXQcR6JgrRvx02poR9ZZyLxT8+fxjXFELOkpJf40=; b=B5LzgGacvlx8Aev8N/DPm+qG1ke/5PiTDHkINkdoabqMqv/lfBb+KDLZQXbs0UOYK54J OZOHi4TO0NRiP03O9h7L7n4JyfyTofRy9FltqhuH7KnmSWGmGET96onigtkqpaF7okyK yfmh9gcileBCXhDJKP0lkX6EADIQ0qUNSX1ubHuuRljpBjSYZzlxZ43HdXTP72zlx3jR T7h7th3tZPVAA+rzjZc5GX4YCVnudCesSS3xVsce0ff+04Oe/xOQWEQ+8CajSzaD3s+I C2ZBiKTXFjdq/WFa1lBB2tcK4sFWiAWlG9iZ1HpfMkxmndvs5KYVo2e8NpszoreKhB17 0g== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtc0asrkc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:57 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I0WPK023380; Thu, 5 Jan 2023 19:15:57 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6kx6-8 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hFD8Ewvko0ITvIQRWJggUgfZj2TwbkguPAtg5Rx7b5oKxDo55lOtg9LSXQ3OWzzqDcmo9rxt6ltTXQj8K1WbeolWNygqRNYkpPoXQ5ErQrkbpEUAfMsaguwzIF8XubufuD0WQrz6qkPfHbmrQNV++NKRQoSB5kvxDPP7OddWRJt8EU3RdInvyWCXtY1W1sDGwqqtEE1tFRz8yADcmF26WiMVjXYuyFqZ/IagoD+i0fh6YTl9uQCeo1CKOG6/5RRqMdyFJJTJgG+9f1hinZtscPCx+YiKGzlb9eHubZrp66hILd3edykSMjhN9+FaxGnSGksVAXW177ol3h+5jVTgTg== 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=B/nkXQcR6JgrRvx02poR9ZZyLxT8+fxjXFELOkpJf40=; b=a9dhmJqzEkEkPVYR5GT7OoeA4GsPaizAax0OIh+E97pa0JRQDCtwdmMRJwdGbO8/CWuomuXpF4/pQphoS/zwEdSzTxKHtpIA8YOHWGkTMXGxCaYt8wvG6jcXXp6W8jMXxnTxWnrITwS3H+OVZmX7/hGCJri8c5bDni6+a/ZpN7AhIGor3N1VO6Enmds+llkA/Z4wW3u50BZMYHzuEnDtP1fKCoDpHGAZPB/iITKRhJiiJkYXXYLB+/jxss8kY2Kx2pgi+b90KcGi1hKeFa4seDt9LUKlpBgKa0hYyt91gswsrmGj0FUwURWWKN9HIKmWkAnnGdXxKNfe9vWaRczylg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=B/nkXQcR6JgrRvx02poR9ZZyLxT8+fxjXFELOkpJf40=; b=gDRe5CW011DJzvggQwJ7+Bd13/cdlhAjdzZkxEDD34zGupn6wst/7w5oHWKHAXhrNpqT3PrexITpFmx8kYwqvaShdyodhHK7NApQe8h+oxT6AjELrXwlNqhvRGywg4LG6o7lmx0nHoDNKd8MC2OAXBF0DMrIbtPDFdCkuT/+UDA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5231.namprd10.prod.outlook.com (2603:10b6:5:3b1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:55 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:55 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 08/44] mmap: Convert vma_link() vma iterator Thread-Topic: [PATCH v2 08/44] mmap: Convert vma_link() vma iterator Thread-Index: AQHZIToiKIPpHVcrxU6+W5JmfFjXIQ== Date: Thu, 5 Jan 2023 19:15:54 +0000 Message-ID: <20230105191517.3099082-9-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|DS7PR10MB5231:EE_ x-ms-office365-filtering-correlation-id: 69aaf960-df02-4a02-68ea-08daef514512 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: G9eA3WtJbcA2ElWZ/iYEDrzYX2PoeKhao9kk/oyAS58jLaUisDb8wg+T7qgJzHYq7h0Xs9yRxknXE1YueP+NNZrr36BFI7vsXW+HCWaq60Q1bAQQOamqGWgeFduTuoXvd9EyiQBHY0L3v/EyL0QqR2o3B2yQ3ykdwBYBGmE9o3yxJUC6bQF5+qACKj/Euck0GRjtWtxQYHYdvUCLMQU+Sx6IbT4tnE1DFnNvjliYWTmvO60cwnusjT4u2TVKKfQpZfA0Tnc4uYG9Zab6K4Dkn8/n3PyQUAeCiCBCtgZ98cklInfuouXf7AcuRadszqcNbjxxB1ZGfQfkWEev9kWciuuqO2FcFVHosorEgTatCEoBuKZUINOomV55aKqdqEzMDjfggpk/R9zT3ssrY/Cs4XhyhzVyP/rn2vwzCriueEDzAxFAeaCAbtSFprXP1PgsLA/38spMK+qhft4fBzPYXiuAI1IZQyPNPCv8FXy/CoMmq2CDdZSIOG2UJSJ83eVhXnAUQk8l+xxnWB1Kn3HQCjfqzuUj8/bEm75LTWlt687AhPnE/n2dSH3SCqTFhmgL5fUsXO6unjfW1+BHzcU3zVhySl101vrKSKt4O4mp9j6tg/Rid5ZJofVpVC8weKrlITR47LAiurI+ga6evcibyAX2vLPsBUPd6EpIEBky3LmQRy/zmSPQaKpBNL9+TLl5uLpvXqcdSbMFxYIk5cgT2A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(110136005)(316002)(54906003)(6486002)(186003)(26005)(71200400001)(107886003)(91956017)(64756008)(66446008)(2616005)(6506007)(4326008)(66476007)(76116006)(478600001)(41300700001)(44832011)(4744005)(8936002)(83380400001)(5660300002)(66556008)(66946007)(6512007)(2906002)(8676002)(38100700002)(1076003)(122000001)(38070700005)(86362001)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?++v221DaozvkfBWrDMeMeXg?= =?iso-8859-1?q?JVVWrWR2tqojAuph9UOx7NkSKjUCi8kLNh7AzC3FaeTHH9One4tj4YCylvh5?= =?iso-8859-1?q?0TBOzUf8KInOPt+CG7uaS7B/+6wJUWMvsVT4h+ulUUqQLmyOklupi9J42Cdd?= =?iso-8859-1?q?Kf5l5PffGrj+pywf87K4F64eBnTEYkOq0aT+NUlGHgmRapUyeuOG2rHW13QN?= =?iso-8859-1?q?vTAWU7VGgokwzsxEPhwEW0nTQL9EsHyNgWAhwxwd1x8R1IDc4vf3EsURIsCp?= =?iso-8859-1?q?vpvGql20ITg+7rQs/Ewl+RA0GoRUupLppFZABkE2UXqZzI5y9N5kuYyO3cbk?= =?iso-8859-1?q?2jrs4aRrQ6vkkCS3l5+7iKDByO52LGfL5Z1R5KaaiOW/zahUoHz+AD2qrVo7?= =?iso-8859-1?q?zj13X3nht4C8uDjmYNasbWvV0ABEyZz1buJuUXejzWeT8lIAA9LaFoUOVJ/W?= =?iso-8859-1?q?BNuMoYJICsd90rVS9VWkeZwSt1KW+GJl6UARNTJRkadVzbgZMBR70Q5WzOte?= =?iso-8859-1?q?X3DNb35cgAlk3/YNZcU8zMzPCPp/T75IykLzTFWKtuWvSw2s5tWrWkh0XoGY?= =?iso-8859-1?q?b+KQmVN5U3zc+MUlau2AAFToeO7CHtqFi0a0hCFa3PI3Xa6CbSuF/LqsryNm?= =?iso-8859-1?q?0dqFDhzaIlTavHqUrV0sRo+vUH+tvqdGVnXfcetavcslK7G2ONFofN9N8ZUk?= =?iso-8859-1?q?PTAHwY3FFk2uQJAxzopOSsxH8Oik2OX0AOoHA5eVf6a1iwEZ8ru0gSUR1gmF?= =?iso-8859-1?q?zEZF7moP6psYvHlm4gUzlU1RMuGuPvjcp5N0y/Xn+dn73/b3E4Uc/7vQ8M1r?= =?iso-8859-1?q?IKd9FRmbwyAsrCdLqpFgGbRvKAvkOIT/03aSS65m5bLCK7hRYECPh1zmmWDV?= =?iso-8859-1?q?tTwaGeSQTVsQXYZMPANP0Z8csmTdXOaxJ96S905UIjDIm6cQZodHZVUXV9fQ?= =?iso-8859-1?q?gQEi7n/jmX2O5ITe4fHobyXFoOuwoM31WR/vj3vb58WgF0aWqS/MOLaPPR8U?= =?iso-8859-1?q?aR10E9vWmFyEkiK2SkwQNSSA9+T9iBa7M9Ruj5kVZKGmBVc8QLcpwg1Dk8sZ?= =?iso-8859-1?q?HQV5gtRecYVtTOJdvOSEyeRefD65p0KSe4aKzhOszP+5KzvZzujYM2NdelpK?= =?iso-8859-1?q?DeG/SA7gNxy7BetFHItp8zmBJKn+7osLVTqUi8iS2LHumzFRlLiq3OJkeBok?= =?iso-8859-1?q?96diZoKfAIxUGr7PYb02XnolhFzKfRz7jkBsh2ET89XyTW0l3LWt6ur6ULFD?= =?iso-8859-1?q?IY22Hgkg8pWP/6A16iUGon1qDFAk0lL9gwpKGWwr2Acek5GLL9B/qy+klanc?= =?iso-8859-1?q?5A7UFHy8yzF/EZArw/KDzW5/KVtNPvTMF3yK9YLS+9J0i3CzLpuypNr5kUmn?= =?iso-8859-1?q?Z4/f46cKVyJyHhEvUvQRVz1b5PnMi7f+iMAB/3HMhyP7rWN4L3zr/CPBw7xJ?= =?iso-8859-1?q?FJ71HemWZEIyWEW50UFWCB91XfK0DDS1t/KwqrXH3DCAPiyN9YD90w7MXU71?= =?iso-8859-1?q?vrNutT24Y3mtwMfll6S7ZfouBtBNe0Xx6rPXqjqSMwDaBc96/TWLCM8vtuBw?= =?iso-8859-1?q?hDkW020Jubxx5tE4sf7IELAx/snzClBKTatlkRZ7isPFfXJnZ+hX4Jn9t03G?= =?iso-8859-1?q?qAHHA62snvvzFsKAkcQbWad9RBJl2F3g7at8aMg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: FyDa+vA4p/8K922ZtlkOv1LadkQZnVqQ0CVdkjH74vMlm4aJZWhZeNtcYFDcki+D/8QSpZ4SpZIYQTNGrggOnQPNJxXhuYgeEkWUvwVkJU1uiRwjaFqtzk6S3TZ6uoyE+oKyY/NMlDrytNs/XzCVcCfeaxbj4rqyUkDzZ/Ea9r14/I9jIeN9HOBubxEfmFDiGB3IePxRjfRAsu63B0X7Ulzh3auKcK9yHPtr96jZWsYJZPa5SMfPUtSKENisG6PZ6WQPKga86Zum9Ce3veu2HgBWkrVs3U8vtZIQddRhqX9O8zQyzQ2oWTPh9e+T183nb/BiWHY/rfQzK2b42hC6xgzSh5rr94B/Ieiq3vOR1ubFB5jchpi1x8S7BWtQfpqkPhICS26VRSHEko8Ar2/VOKCpw4PaFmNLiLEvK/liNqZbmgai/JEU5lG0z2QfOCqyGJxKqwpNDJB2A4osmDYe5KaqQNEaYAULmUq0XgtbU1pBB++hzyepD0WPAXAHTyJaO9FmqWwwDKBCB7RD2pZtd05dNjVSrw13VQ2DaZAhOHlRaQDIw2xO8wEAcaS0z+/J8B+TMfEnzUyD4WvfPgVhYsKZ3sjwqWfGcP47rHr5JHaOwhdgpgvalIJjyLdHRLxvxawOO0c5C1fa621vQP4uaOJGuXEFGtpAS3/I+hmFsBGOsk4VOD1kE0PNzc71e/HoBf3hVBSfaNLfPlqB/25/Pg1k0xyeu9tBUX3RBWXqidQQTmTf/rtr4dsAIc2C9LiugqpK9I0yl8cny46d0f3H0ro+AD0f5jJYka0Cu850MG0Z+PP6hSOUep471ljHwz7ElZkZ2MuBSjsmCFW6p7CnqzC4qzB4+yCPzsJvrD6H9he20OJVehh1DK0XvPXmCW/23rGFa0wFipw2EopCRspSeg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69aaf960-df02-4a02-68ea-08daef514512 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:54.8445 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Z5xSk9MUDIr2eqbp3Snvw+2vbOfrLwK2E6yl1rh8NaPXrbX7pjldzw0ZGbgL8OqD1LsMRloGouE/8biMNMC4PA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5231 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: R6i41NmlELfhMMfXABZWvj5BPDvVm8cR X-Proofpoint-ORIG-GUID: R6i41NmlELfhMMfXABZWvj5BPDvVm8cR X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: D87CC100016 X-Stat-Signature: ywww916tc5c378g7k6ms6w4bwhwykrcy X-Rspam-User: X-HE-Tag: 1672946158-730010 X-HE-Meta: U2FsdGVkX18beqUaznX8DTPJub6V5xbqpWcQPaMVI6dEM0c0REV5TPRYIOHcgkoS2rBxQbsuIjK76rKK3Sv/imRpMEIghMoCtejb9dqF9LDCLPWFt0cEZmaoLQnE0Zk1J6EUYzscU3IxVLk0Es1m7a4CJen7n9aAysEPMR4eGaafVR2QMSB9ojJEpSmxW8XwBMVa0MElnbCsVUyO9UToUg9VshaAeoz8F32qwQJRkx6pHzMCqATzOy1YVo7F58/zqZ/rAgoeP020EzK7MZw6w002oWn3cPbc5AGg2I4q1B31H5ah6i65frBrNl64/u4/qpBRKFIg1eMLJK08s5JgyL3xBMAJuN3DAAaMH2U2ncpwTacHbk/x+eWy2zB/44WeB1pmUs23YSSx3gwV7QsN2vSuHUzkooPGq6NPj5nhtnSc1QqwYAhVuqyc02XznmA5Wyja6PBRLOL2za/y5rPWH+qKJv5AWr+szIvROKoQkV+l0TL4Qzfp+g0msoUBUal5Kmk1QWv3bdmOpsfRLla5aHk2aUl9ns++VxVJ58HMS9gL1Nq5ofL9nUjmachggULxkXM2FuRk50puJWm7jD0ppWhJyCfmWGpIburDNcnuYKoe7DukUFtewlQaCdBG6eBH5d7f3fYcYoYnKc5D/sdbG3kfPQS5WwzDvs/JMvQzGUuNA91DwhLenh9DHS4ZDJv/YhZpwXsEbvbhn9JJozKfxCvppncb4nPjLfMR7MvATMrneqga0O+s+0CErk5hrjr3iCiDvUQ22MELqi8HF1VawKVMq3OrNq9/PW20SgnbVVr9AD1fVN7bX4cJTVzsQ7DDB4cxYZQnPjhiYhkILB57l+JJh3uhHlihCOWubdWZ9OVwmMi6rCIP7ZQKDQsAogMEG32dnX/R7y2vLLSkGSj1xJEXE986VwZpSU2kUZ1iSPWORidEYxOp/dXBkyuexGxPseqpC6jAKnMxeUfbHJ7 rLGUnHQG iBuMtZA4pgQghcd+dXdp1S+G5dudNfFwmJaecocTLUEiVfLGV587PNEZuTda3Su+Gnf6sxvHj0cm6vjWCcILzCJK/0svZRzVzvCt721lEzTMa7gCxCP2CcjEbX/iSpEJ2/7eSWku3MxDd5fGLukiDZ1MclQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Avoid using the maple tree interface directly. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 4a6f42ab3560..00b839cc499e 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -546,10 +546,10 @@ static inline void vma_mas_szero(struct ma_state *mas, unsigned long start, static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma) { - MA_STATE(mas, &mm->mm_mt, 0, 0); + VMA_ITERATOR(vmi, mm, 0); struct address_space *mapping = NULL; - if (mas_preallocate(&mas, vma, GFP_KERNEL)) + if (vma_iter_prealloc(&vmi, vma)) return -ENOMEM; if (vma->vm_file) { @@ -557,7 +557,7 @@ static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma) i_mmap_lock_write(mapping); } - vma_mas_store(vma, &mas); + vma_iter_store(&vmi, vma); if (mapping) { __vma_link_file(vma, mapping); From patchwork Thu Jan 5 19:15:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090320 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9FBADC3DA7A for ; Thu, 5 Jan 2023 19:16:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 42F92900007; Thu, 5 Jan 2023 14:16:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 390CD900004; Thu, 5 Jan 2023 14:16:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 19782900008; Thu, 5 Jan 2023 14:16:03 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 021D3900007 for ; Thu, 5 Jan 2023 14:16:03 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C91BB1C61E7 for ; Thu, 5 Jan 2023 19:16:02 +0000 (UTC) X-FDA: 80321700564.02.275BF1F Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf20.hostedemail.com (Postfix) with ESMTP id 6BDD71C001C for ; Thu, 5 Jan 2023 19:15:59 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=tsGlMJ7P; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ybW2BrbY; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf20.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946159; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=5oddPyVGxo/ITa895tY4016/N2FSt9g06ZqP6l9igmc=; b=t8MDyFxrT1nuALT0IBgTuMpCcPkZ70SRSjYgxhgHzpIO7Uy5Eth8npZniVAe8dPkAXw626 pYSlLjwj42XG6Xn2VCwYW0k/w6J1ulhlWf1DFL6i/l16ApXOBkdpwhl4yKe7rj9WlOMBIn bX4Qb4wqlxo2l1dgI59l6FYj9MwQTxo= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=tsGlMJ7P; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ybW2BrbY; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf20.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946159; a=rsa-sha256; cv=pass; b=3qkX0i/ysZj4rvRaPXHxQakoymTbhY0xTjJMciFQc+zSAN49wjfl1RTm0f+6ocHwD0P8zn wYNOXDJWfPYAwiCYGBJiHYyVJH3UOzsLe5i+SZrftz0AR/B6Yd6wcZsO/dhxALoxgHQd+J B8FwUZgnORvkNS1bbcKu6FKTINpo6GQ= Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IT1N2006652; Thu, 5 Jan 2023 19:15:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=5oddPyVGxo/ITa895tY4016/N2FSt9g06ZqP6l9igmc=; b=tsGlMJ7PgjY3XQH6yAu7/0tpNmBuKOWmlKh9WeB+hVJNxHNs0HXpb6NkM1QQUJy3agpZ cSROAF5iVSDIEEMLgcRcOTp34MVS6WE4teV9KPWRIW/OaCgb636cSD+0i2tptzLFuQfw LUHTBbFtoDiHZKxnZepGMBugQE+tOploYEIFhAEMiCL4aNAfNYi0vLZqjnFArutw4xFX yOPDU9da1cxGv9F0klJeEh+tQokEpXSlS3Ulou+pdUQ+XjkXCrjzzfRdAtlPNVLWX4ot +UwYQrw0EiVJMHDc4tmC2qqKn0jhe9ehr9YPD+ml+hSzkixCdRGRDqeA8C+oItKzgQtk fA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcpt9mpj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:58 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I0WPL023380; Thu, 5 Jan 2023 19:15:57 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6kx6-9 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:15:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eKjUbf94U2s29NcS9nTNjgML2QsysiVvjYdieXnahBhvZCNaxtvyNZR8+9G11huKDdvu+YRQ7vrYS/YGtpW0RBAE636p88KEAaFmaCdBidM81QJruBgI+PrCgIPz8BAguPvvWuRY2t3WY6mZ81FksdGMbprj8SpjBVnZDPRL9RhkE3IfHmAEYg0gKrAmLCXaVRv//MRss6Q23q2+SRfzkg2lWymFIEUvA95V/proDjc7QHQOi4p+OuU6ON+JoQqgAf2HO/qwDSvJa90Hmci/sVhkV/mUpHS5jL7rFg4InDZyNsGyuE7S7zJrIsQt547/sYtB/gbmI6B1/fKMTnoWIQ== 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=5oddPyVGxo/ITa895tY4016/N2FSt9g06ZqP6l9igmc=; b=Ag5YjKXUAUcBnXDg8tql6/pN4FaZr3i4ZMRpu0C+Hohko69itQIDB8Dh375YPRyCy3u0ah5L4bNsWuOvgWBCDNedXn59igW6LqJNBVqzzEPchSPjnIQ2IF2C7BlgTsUNFU2uTr5q7/r5cDUEMG15KW4CwCo3CuL2E7N9izG0zWFUT2iPiYm5hL8RIivp/kLrDMs9zfrLkzulXE3t1qadCvNjedY5e4ZbAE8wTiRpAuhBv/74YnuJCiTySiX0Mbw9VxmEWjRCnCyHV8P7CoLNWU2fs7FEcd78Ec7hvQ+o62IwyZmk5abJY2d+HY6I6Cz0PCE6kXp5kpBsy9VB1f/ddw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5oddPyVGxo/ITa895tY4016/N2FSt9g06ZqP6l9igmc=; b=ybW2BrbYlKzdggG6h9G7s8laTiXeh4SGQMmfPzEQmvJ2CO6hFRIINK35cPvOP3nXwpV+9kkm7xAJ0X7/Ow8lEyU8mpfcWcCtPItxfITKwVzXLSL7yALfMCqOa3nj7k2WWBKq2Vpyxm5B7qOKcXWX/3wnAuQUylbh7pxKCzYUwQM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5231.namprd10.prod.outlook.com (2603:10b6:5:3b1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:56 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:56 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 09/44] mm/mmap: Remove preallocation from do_mas_align_munmap() Thread-Topic: [PATCH v2 09/44] mm/mmap: Remove preallocation from do_mas_align_munmap() Thread-Index: AQHZIToiC4A4L/Ep90ijxDQbmF78WA== Date: Thu, 5 Jan 2023 19:15:55 +0000 Message-ID: <20230105191517.3099082-10-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|DS7PR10MB5231:EE_ x-ms-office365-filtering-correlation-id: c0f0e2e2-ff85-4646-299d-08daef514555 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nT1002kgSu7KGJukdMAwi+6ZEdbGnBe0cJnu/ZqiYP9oVAnUHZAzFlAGuOpyFsuVYZFSsTcKCZK3+ypWam9WgdoeBY6VchJ0lO+yfJThux2Y00EOgvn37f6naQcFrTABsMz0MNNGjfRdk+6L5HVy0dzX9fhmCbRwZM7xcxEL7jyH8hi8eGS63L2hdjgCmBkKiT4ZClAoBFfATcDAQEWQ+fRj8VLGO3WDK9SZgN187hCm0CQ0B/ANzM29TAu5zDL6SHtx/gmmxOl+chbYkdXWfFXK5Qr9X8G98Sp5fdW7RNuUlcRtodVg5wKrZmTgKYMWUlDRvj3wdFEqpPNZ+SQY8af+yEDbWg9N6GIK1Gt+a6Zz+If1c3V5EVqeBps2OC4CMeLzxF8WLHvoUxFZYKJMXcT5D1gAfMgufdolXuPksKMsw3tdlmFUPbkwuyTV8To7TDD3KhmAcjsXTbTavLTGSXwF7T/n+8vymV4zHchf8vmzThATv3fq99CG9yIUa7mjHE66kRwLtb8nnwAeqqQHQrOfKgAOst2+wmlFHRA6tonugMX7MCOT5CrhobI/o8s26J6dklRDhB+s0a6LBh2EpjKh+YRsGnSM6eoqDqD4JUHDKa/pmIFdmKlXVj0gSejHBEb0sn0FGUSiXoB3ix41vzLmI+HPF4IMHO6umj57ZY6WTTLKadZaRSDtLmMWddRxSzzJxu30SckXVxo5raYNog== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(110136005)(316002)(54906003)(6486002)(186003)(26005)(71200400001)(107886003)(91956017)(64756008)(66446008)(2616005)(6506007)(4326008)(66476007)(76116006)(478600001)(41300700001)(44832011)(8936002)(83380400001)(5660300002)(66556008)(66946007)(6512007)(2906002)(8676002)(38100700002)(1076003)(122000001)(38070700005)(86362001)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?/MRM92/yabb/EqSRbik+4wb?= =?iso-8859-1?q?m/HwSzeFZFcMEAfbx0qnD4euMRYxKXDOL6mWgFJGGLlCru7m+9gNunBy1/OF?= =?iso-8859-1?q?4mb6qm0oprOxPIF0OV6Ix/a81L7/K11Es9wr9PZe9+IzyqBl33wWj5/ybQgw?= =?iso-8859-1?q?VEEk9bwrwvTwNJHcwXSS374qSG9IxKMbvUxjvKcZL8P/5tDGhj6cQ5NS9Vo/?= =?iso-8859-1?q?XG1nm/nLuJXyagLgIteWay6GOB0x+7TLslsPHwfsqtEpBh9thviy7IJJqzpa?= =?iso-8859-1?q?L6/r0w3kN5++G/Dt7X7ElT1cPHI4oAPXtr5Dc4lw5rdk54/hKomqTovfwFaB?= =?iso-8859-1?q?vHEdwuO2C2C2wU7wFTd8GNoHI1nEO/NqJvJWIKLA0WwmWxzHetNPYtBC+SrO?= =?iso-8859-1?q?jgwTE9ymfNns4lUR7JcKN7/wuhZuyTadGR1DN4OlTl6QbHRjMIUvs2we7U5e?= =?iso-8859-1?q?4vGID6lVXBD8nBiqfcxw9mu7WS1gtDDNE9keWBhfRafTIUpn0De88jSwdTQj?= =?iso-8859-1?q?zMCpxVgqTTIoLFbVqr3oqQt/ukIJq4eTp4WPz8KzUoo6L6VyveF/SttGpZVq?= =?iso-8859-1?q?C61xXXdeXCrc9huolXXK7jSyZ4Ew1rrWx6y5iQvi+HNEtE8gVfnphXhY91Tv?= =?iso-8859-1?q?bmMhBOXZgyYRNpGO6K84ectZjoVA4I/eg1gVW+KvtjF7KSmRGZl/ez6A5zoI?= =?iso-8859-1?q?7yO9ScZtnsyBFfhsRWI+4DlEoBDNe1C1aMQsAM6x1TveES6sFbWHmFM8R0cj?= =?iso-8859-1?q?DVMWnBDPdQp3ZNruB9bPneGpwhgFH/wOXAMfCB7SeKEx2++8DUiQliJX6ocO?= =?iso-8859-1?q?x08do6keLuD6xPwnONd42FGM7iWtETZwd59bb4X+9ZunCgGNxUnLzB7kVk1w?= =?iso-8859-1?q?tTxy4jJsjb99OluUlfsqHNxD8GbCdi4lmH9IE35tJmZUQd0xLFgnH/RwWwuW?= =?iso-8859-1?q?dJQAy302h0DRST1HPe4p7OsgFQyX6KImkg4bIAB8lXoHqx0vBd41v4nIPd+2?= =?iso-8859-1?q?0qsTX5837fiF50BFepn6b+OJ8Jw6DKmLqpCal3EMXxUL0fQzSlozxvx8hhvE?= =?iso-8859-1?q?FMZnN9asdbylhvorHi5YCZEE+iFKU8RcICLsReGYcGYfcJkI+fYShCY1UYAX?= =?iso-8859-1?q?vTgR9JYSog6WDM9n32FgEp676+1WGz+4yz5djM40FCnMq3SSBAonJsj9InVU?= =?iso-8859-1?q?UBVce9q69eHz+XAVHndNdmRqtg/4U2KK/LrV4EhdT9hbKo8z7umvwMPTv27O?= =?iso-8859-1?q?DB6LDakZbuTCNA6xVX1RLA67FwYsyu2dskOfI4kOd282P8AjvOZlS/UfLp40?= =?iso-8859-1?q?DD+aGiVGuWB9pXiazMFIa0WxC4M5Gz0CW5GixWovc6s05JiyuP0K79pnPW/m?= =?iso-8859-1?q?nV5AsbO6wqyeT2FB5YUyo7qQWzsA76VsXW6TAI1v4I/1z2uH7IWTGiZWk5mW?= =?iso-8859-1?q?/Rnw55RiJ48eicHXgKTZjvrfYaGKa1TvFJCqmX8XhHDyMN0tDVtAdNsBMcvY?= =?iso-8859-1?q?TPO/9T0t7TV+UOv0TBkm6KF4uzIJBCdqEZDuDvMYIFgRBKqv6gCjCQ+CsdJV?= =?iso-8859-1?q?hjHtY5zTi8xL2tQE8oOHm0DhSk0XCQhTWb+BjBsdPMrJ7muWd49dqngB+HZX?= =?iso-8859-1?q?8frs7phRDcnRU6QaLrRkJlXiUUsfuVrPHANwzlg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: G5ea/f10URU45VdsST+cT0vaqMH6vQ5M6uQsrlw01hyuBCWKsjA6W2tG2t4u6CPJ1pHBXkcvRgQtFdRgicuMIEqEe5jisFBpC6IYA1zMJFrCt7JyfKWNdsDXqrs/c/t1qAo9RhHj2M57QE2pd1ph4wV43usgZJPAk5/U/ZO6CfEPCfS7V/zgH3IMlxazZ6AJI2WeYLw01U5SRPD6dkX5ppT+wpUlaIgOtqatDQ2phEw7b5cDq/t768eo4l2/nrIFcjhMX8GM9b8lMdNhGKBTJrZ6y+jOsuix+bgKods9EVCCU2xo8gMN0IJpcOQubGahZ2NgpIQnKvCtRc1X9xKJRVJwoF+T0BsTtgafusZDq4xY5lygokNvMW6rOlhxWywzi+g8rD30MIXWKMrXjzeZ0XLn2Od6uZNbuQLTsOwef09FlobzmE8sn6yb7VH8W8h2w74Er9aFou3SIrdPUXoCM/M2Hm2c6bOk/FriosUSpWxWMJUAZu9cOuQNGtukPqP8WYubON6CY578fUZ4mpjqNTlGtZRsCrk6uu5GcRHT+EaTV9cp/4tmtT1Qc9mSPDRC1wsVJ0W3vLyqiDl8JKrx5o7cZHOrjCegOKID+YoC7kzLEnkqmaTQYmOh0t4Vaa99B8FlQ/Wj07uFXEenDo3Ne+xwGQKquEUJ5Rxlq1gxCQha67MEzEd5mI01RD+ConCeg/rdeR7c0fJp5Ao6TdK6I5snP3A7YrO4G3nJcHJAXJg2oWVhRCZORDVJfrGsDRuDKI119u7LudthSmn98zdSvTrtAgvBvFyCLFIE0vKt0qpj6NTNPlEnX3ETI8sISQ5o1BAIsRa70vj6bdbgbdmW9MbTNmKTGF1Y7+3D3qbnXcSB+y1XTijMxOX+aMq5TKol+PGgiSdWYnvZEkV5ClZGEQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c0f0e2e2-ff85-4646-299d-08daef514555 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:55.1726 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +c0m1YblSfsj507fXDwkJbgUO9Lwjxte7uzG8LLNKIKAvy4X1TgnXRTzh7QvRabtjXHZbm50v2jKTks9ztYKHQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5231 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: W98OwjEx5t78S8lfhLtWEBlte7yydFIE X-Proofpoint-GUID: W98OwjEx5t78S8lfhLtWEBlte7yydFIE X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 6BDD71C001C X-Rspam-User: X-Stat-Signature: rzgzm6x4eqjasyb3k3xgqtutkytmtr6h X-HE-Tag: 1672946159-384750 X-HE-Meta: U2FsdGVkX19eBaB4eG6ndcE8//Eg3vyuN72ysN9gWY9hwRHhlWbI3LVyO3BT+JRevMJ1jF/H40Z857QQNdzR3k92p+ujozfYFvE65BURUGawtsD76iX3JWxT/JIq0DTXXT5AELEG/qR4DSMXkXDTdKbw5v5j6uyZRU1OkNgSa1npM2O/cfWGBO0pL7dPHSGv/6pnAIRVfXnM50Q8ap5HdBUyce4Z18jIQr8/94n+WvoWvaWlrslEmnHU+O/fGur4hZ6kaEw5r49bxd5daGbmYGBdd9KLtygcvyKNcha34j/fIa21ouY3OeiMQAVpwMyI/t1pSj4kEQIk5H5c4BZO6jj43rdPOYZ4JFr+QV9Sc34FoUXC+WJmf7cf1iP+Ndc9a5AIR522bAQzTIzz5Y4MleoNb76sqFVEE7hHquVRT1AqqstbXoOQb9GpL9qQHFE+mrvqBOGMkTBrCmeT6/zF1k7iuVuIOPgvnhUHijOcfbvgOIMJrkP/JsQLvYJHWWanz4/Mjfr/sGF72tMVnp5XsqUYNpAdU5pmRYjrdRKAfHT7eb0oUBhBRiPlAozH8AkPrElYOFArXlwhothVme7auWBTdQmpsWXTa4h7sVMYsLsRZZp55LLX/2eG2xkj7BqYSr6UG7LN21XfVGRyqzzSuDIyWvrKKBllASctxFA9C3RQohrhb2juvYsBCqDwhfiYFJKpd3nG7gmn404VgqQY8JBGEu5Xj3zHsn0rP94ud/z25x3MlMUhNczHup/ELNQgOQE56PYGgbHbdNuxbe2i1S55BxZryskSoYxacqOxIiaRGC0X9NMy41+sB/J0TpSGPuGOMr0mBHighAU9mW6wjkGifMQ7/OuLq5Vpe6cBBHq8FYfwoYPSjQaGoxMkqzBr51dPejFUhaoQtukyPYK+NNp7WCZUgcYxAtPT0hG2lJmUDU2AeheUHoB2CPoWis8aEsKFSPIRFmtg2lqt+6G fss4b+Nf 92rDQmvgpA35TvHf73tIplQU95CbY2ABEQ9DS/j9hIpRwiAOERjYOsJmLncPxWnGLGmmg286rDLlWpoPy2lRATjfNrQ+hT3yr9U43cjiG32jBE7DGeMk8CZfQUxlXxPhOJIdeE5FSIeNSKzghfMxpcjftZg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" In preparation of passing the vma state through split, the pre-allocation that occurs before the split has to be moved to after. Since the preallocation would then live right next to the store, just call store instead of preallocating. This effectively restores the potential error path of splitting and not munmap'ing which pre-dates the maple tree. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 00b839cc499e..238b10ca9f9d 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2384,9 +2384,6 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, mt_init_flags(&mt_detach, MT_FLAGS_LOCK_EXTERN); mt_set_external_lock(&mt_detach, &mm->mmap_lock); - if (mas_preallocate(mas, vma, GFP_KERNEL)) - return -ENOMEM; - mas->last = end - 1; /* * If we need to split any vma, do it now to save pain later. @@ -2477,8 +2474,6 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, goto userfaultfd_error; } - /* Point of no return */ - mas_set_range(mas, start, end - 1); #if defined(CONFIG_DEBUG_VM_MAPLE_TREE) /* Make sure no VMAs are about to be lost. */ { @@ -2486,6 +2481,7 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, struct vm_area_struct *vma_mas, *vma_test; int test_count = 0; + mas_set_range(mas, start, end - 1); rcu_read_lock(); vma_test = mas_find(&test, end - 1); mas_for_each(mas, vma_mas, end - 1) { @@ -2495,10 +2491,13 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, } rcu_read_unlock(); BUG_ON(count != test_count); - mas_set_range(mas, start, end - 1); } #endif - mas_store_prealloc(mas, NULL); + /* Point of no return */ + mas_set_range(mas, start, end - 1); + if (mas_store_gfp(mas, NULL, GFP_KERNEL)) + return -ENOMEM; + mm->map_count -= count; /* * Do not downgrade mmap_lock if we are next to VM_GROWSDOWN or @@ -2530,7 +2529,6 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, __mt_destroy(&mt_detach); start_split_failed: map_count_exceeded: - mas_destroy(mas); return error; } From patchwork Thu Jan 5 19:15:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090322 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1E2E4C3DA7A for ; Thu, 5 Jan 2023 19:16:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C93B1900004; Thu, 5 Jan 2023 14:16:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BF541900009; Thu, 5 Jan 2023 14:16:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 89995900004; Thu, 5 Jan 2023 14:16:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 5ED1D900004 for ; Thu, 5 Jan 2023 14:16:06 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E4CD180268 for ; Thu, 5 Jan 2023 19:16:05 +0000 (UTC) X-FDA: 80321700690.01.6DCD053 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf04.hostedemail.com (Postfix) with ESMTP id 340534000A for ; Thu, 5 Jan 2023 19:16:01 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=qivSy8oo; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CvrxNAWx; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf04.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946162; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=FcupecLEwSLM7aTT/VbMXN4UiLJUyoURHuCIxtP5yW4=; b=onMlKahkrWQeIgHG+pPbDn0Xg4HcLnLGh9cGuRPp5/xlYDNK/Od7eV+UBXdIEdIQilBLNn w7wHUVtdAWHG5uqXPx+RcJ6PzA3aeCtH7LILQuR63AD8EuJLdXPt1aANUk0e6V+ZmhUpQV Ipq30ZlRZn8SNDQNXNNT99vy/ZrlUOA= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=qivSy8oo; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CvrxNAWx; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf04.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946162; a=rsa-sha256; cv=pass; b=qERNzJGnY3o6s/aNiw9La0kBD0n+VR3k99+Lgw8lx30AenXqxO3cmN520hLqSgIfJ8j0fy HQGo7VSRah+0UxjrL9WmQjN+S0SMm9GwiJr0bY7wdKlixrQ2SKR/R61swy5HTwxDfYH+NO wV2ACr9c4MZNWbq9QwpH3Zwiy5lsrow= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITc6K025555; Thu, 5 Jan 2023 19:16:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=FcupecLEwSLM7aTT/VbMXN4UiLJUyoURHuCIxtP5yW4=; b=qivSy8ooQPD2cNSfWlmmC8YTqkIFogZSmaJnx9avGaYiUcxfXd/QRDRJGFUbP7kdgDtt d66/epnbnQ3PuNXuxPY6Eatk/5GVH6KyM310Pimf1CTZJlVIqBTwc3i0OssjL2TI1AQi hiGSEo4YStjNJ6h9gUCx2BcTDMNKP9+31YviSA7/TbTUhFUC+INrCHa1gSRREeF10hL6 jTWeJ3/hW2OTU8Ni8k+NpWIbzKjlSTKuyz0bzcDadT+6vPlS28fAsxfgTrDzzcJmBsqn ORoB+n1CchhDoJZiYaDGxHabax1bKImmyxZVusRt9OyV21eOHLUF4OQvqFPrQm6ZQ3Pn yw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtdmtsku8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:00 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpg023372; Thu, 5 Jan 2023 19:16:00 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lf3daRhX+2HR9cq8xAm3bLNHw2rOTNDzMusejsHsl9JecXmcg8oP6Ado+wpEdI/BaZ+D61Q/aonfm0Eow/4by9x5GrsUI0zABar41bHs4DxY9NpngPX7qMFITFwiAVpo8EZjPVT7yqu2AVscrIui2iAO90Ob6s14fTCHvNnSODAUmdf8lcm+ZD4s+QmNH8RKA25m/fcLVV2hHxnrvNjbJw9BzdsYG42EGA9QkY7c6IFPrTL4aWA5cHkzzDRKSsS0P+KJMI8bpTYhWzKUDCYJAqJ2KH5SiUqGyVvFi/Ewzc241HBwJoPwnTUXWEbT4bTVJhNq6+8IUnJLAaUdVEXagw== 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=FcupecLEwSLM7aTT/VbMXN4UiLJUyoURHuCIxtP5yW4=; b=E8BMsJqpo8KJopy1npjd7ZFVAaW0Vl/rxAxdfhkKQZOSHJbMbKxJps/rMWCj6DAOMh7vFCNPHf9k6JUSdQxc6v9YXbC5fZiIEfSyeal943Pw6sogTRdt4Dz6DFbNBvinymteJaUQqceTlNFWUBKhE3tO4UN6q+TXq6THYj0xJ/fzMoj7dBfzD1Kcf/abCo10I0TidZg4lYMB9Zr/58RuQnY3cWe62v0Dv63RhN0bN0bp3Hh/a7/pHr2up24+d5DJR4Ca52EB6RKG6GOB2oSv9Yu/33jWKmi04pknnanuNNeYQ+iw/PxvOLULFOEns6W0pHuSduxiHffzagcl/abQ4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FcupecLEwSLM7aTT/VbMXN4UiLJUyoURHuCIxtP5yW4=; b=CvrxNAWx7LIZd+f9wX1u2k1BKt6+rKhWMNOuukh9DjcHUmBvDFFSfaFpg4l5FhcdWtqpvIA/ziOmBc3e6vC9NPDPLj13d7IF4sJAST135kEEvGjbgOy1n3E+q7sXhLAJWgM2CTIrBAHMTWMemAw9lll4HSpqnpQzMXYTMPi8hGY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:57 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:56 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 10/44] mmap: Change do_mas_munmap and do_mas_aligned_munmap() to use vma iterator Thread-Topic: [PATCH v2 10/44] mmap: Change do_mas_munmap and do_mas_aligned_munmap() to use vma iterator Thread-Index: AQHZIToisBO9Z9ubPkeL2T+WGrJSTQ== Date: Thu, 5 Jan 2023 19:15:55 +0000 Message-ID: <20230105191517.3099082-11-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 8d1f0bae-1bd1-473c-25ab-08daef514593 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: E0Tre6+b0Mv/zQ7jYPDan0XEJt76iiXXcLyKDa4q9B9R2bdGnRAqIWIakspK6Ug+cN8u/ammhK2GT2vZCH/vHSVZ2u2vaC5huW54/dFMVNQ48aQUzw42UK7HOOlrsPaNA2t8uTcD1356IeLQ15rNG2UNqwBpgZrx4fMYydqCYv5oJinEilQu4/dSjsG9aRn66tWvbJAro2ZPtlSCxZVqlTSyX/ZAH9+AmBjSWeI4XU58UUnSpuR2hylSCsO5H+fDw4ht09fW+QGdlL4WUSX0taBT4MXbApvpdNkkkrZ5rJWCh/+oVxonTC3ddjeGN+3rv9EZwA7CyvZzRaioPVfKKycayKZ5Q9V6JrXtlF7KxDT4ObSkD0IQ3fE9ZeOZq8fCiJ4bMVSs7/YC3cW226jYTfK0RIKaYKIrTqrOPXFZkcvSPxvSlpRLN9KVbunmoB7o4lsij0oBe5rOvlktyHFwNlr8xp3WcYnPpr/rCnJnrdOSRictfYzsT/K/gos/BpeyWfONR9UQn0GyZeb+visD4/76dCXIg9AHjQB67GmK1bBGI8gMh9bqeCufA1KqwD6LKsAhvleyBzkH9Blh8K1i4qV+H5qgE9OcOXCCxwfqqbA/76PESMUCz+Tt/FxKEKWbHe6lbDPmx6B/1nKF/egbhoIijOsQsUf8jm7Rov9BHfbjIYPMEteN3BJoLKQQwKyVz0XhidJtt7zfPR3cj0nn3Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(30864003)(64756008)(1076003)(66446008)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(66899015)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?WoAkZAkBF/IRg3y988YE6sK?= =?iso-8859-1?q?E8PRbliq/ejHG7WPQLChFM/JmTGeXYWUfiqOuUVwan2LM2I8nhqqaAfzXqh/?= =?iso-8859-1?q?N1G6+LAdFXa9keOYneMJyORGvU7YuMIB8M69nzYBFlxXr90fmdklAkzTkEmP?= =?iso-8859-1?q?Hn2PeeJBkd8wR9RFgI/D/0aPaXe2HrRnpnOTrdaGRfCXccxWuvFwccZnvHCS?= =?iso-8859-1?q?IGcgzwMOXpPpta2MLL95kePd/9ajgLEUZmgpWkxHL8dgCH1JGsd7p5KoTnEL?= =?iso-8859-1?q?k7EruxUc8PEggmXpqst/ndeQMhGgh+OytjeE+EkALue3+iMoudKW9VJjgTjv?= =?iso-8859-1?q?HXTq9z88Cfg85O4pAI3vp29mIyARbs+yYZjYAC+uF+rROPqfMNEqUIgBNlwS?= =?iso-8859-1?q?qOCBuCR+/kq77nwbeDclcSZEGvpS4XAlXyc2uM4atrDgRVlVplkbCgDc9y7Y?= =?iso-8859-1?q?cfdB7c4jOdXYzY/pIdWjsl+k6KMUopm7xwEsNywOYJTrh3Coas7i6pwTpxgr?= =?iso-8859-1?q?2ADjMNj/IvW57rwLBD+OII/GnGS5l4S21lGUrFfsKuLCOn+Z1Qc8CMObvWfZ?= =?iso-8859-1?q?xAeeMuWSgNCDCDAUWOBodriYtUUb02E5K8ld2GcuXQQVSqdiF1Wt7n0SucsH?= =?iso-8859-1?q?hz9WLaetfdWVUPiPwKfRHcCrL3OMP5LzjQO2/4GizLQL2PlvJQw3/pR9f+KT?= =?iso-8859-1?q?ivaLtf6jpXLGiklKeutlEC3oSCBzrZy/B19aZUCiiwolW5INSxXmB4PcqJRQ?= =?iso-8859-1?q?8vwwHtvRigbFW/exvEQY02PKQT9klWNFaFBnMb4jFhSZu+0563McJ2+Of7F8?= =?iso-8859-1?q?H8WqbruQtNwSsP7anEqeIMammMyhz0lRU1Zca/Srp3Hy6+FfFVX6k9lFdf5e?= =?iso-8859-1?q?DTgZ0MGalsTFa2LnCVBGKaOPtjl3nby9iKADawZxMx2cF94f4r+FFjyvOV6w?= =?iso-8859-1?q?Jk042WBh4/3zp6ZLXwmX5e64dkm+fro3sCHLUbqzf7NQG9L5FXYkfk4hrZwM?= =?iso-8859-1?q?bGDutFAqtyC91cZi9wbjMAzNllZkxnX40DUarb8+Vidf2pIG26RONiovBhCZ?= =?iso-8859-1?q?4nVVpbbLCi5rHvNkPfrL4xNuEiHM5C+1n69c/VNe+nktlm3DE9ANNOXy8n6g?= =?iso-8859-1?q?o1Lq771cR8Z1tLvwQQC+En/5/z2NXn0AqsKODIcl98NRA8cc02QK6+NgiS5h?= =?iso-8859-1?q?Pe8i8cCUlEMCK3AginT5WTaDxn9PSPkwgaSB3MnmIUctCbDRHAWuishjsz0E?= =?iso-8859-1?q?vqIVC8Dr/8fAk9urI1okFrDhU4SIQQHX61NNBybRcRteqGIcq/b8AV3VSjHO?= =?iso-8859-1?q?a1UngK9eMoo3jR218lce/p2rjGVwHQQxf/thYBvEQ04AOxHrLuqrEtQOtIHn?= =?iso-8859-1?q?x6ncXrdqhpZsgWIe/EcrR1hv4Z6CLrMAcvar3+0hj5Pn8rj92zBA+xepSWSp?= =?iso-8859-1?q?V2Gd8p0i4TS1GuubbAO1YpKi5Dc/7D9hAobuC9yIaX9OGmtZ+UFHtvKJaxk1?= =?iso-8859-1?q?O1aXE+kOwgDqyjkSF0N2F2juHquC+GSOLEhssahYVF6zbo5SpyMUsJiizW2l?= =?iso-8859-1?q?y7ONuxWDqL2mITyG7Bdw4JGwDv3TzIDloxTommZ4+vTl8CV5FxlOPo0FqqDq?= =?iso-8859-1?q?qdO9g/L9OSWobKDWkLu1Ine85ZJVfrrdLoaMDZQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: MgJGf6/+TxN7K7xtcwnYexrJ3AShkIR/vemgkgok5VeKtcmXL+wjYhoQYoo5au3ZVA4VmvdPjNosZwgla4TMK9kq8qOWWg+wWYFKLyVRmp84aIDPL/PoUHtGes6D5HrT08XM2M9b58Op2P3xFEQeK1wLQsXrBJHZvzCJO+7NrcrzVhCkrKecUi2+wo6Erm3cQMceL23oGZwh72JqBhcWER8fKx6yciTn4slE32HlduJgiCL7DWBk9iset28ZO9kNEronfQA693W+07LxD8UKMhQNLE4RtxArjvKzwhngjfr/eMzZLEILWtYr1CtNsR+9N22xSY/Cqy40Gc2r2QIkKi0/JSUL8AUUZ18ik9p+/nk7z5ix1myfR5sQZlKEIVHe07LWkwdxmv9B9uLeomTcs06Dqn2hioKhewM5jw+rgJ0WFFkVoNhZcrFiHVU6rWNEaNBb7NbZchKmzanwvooo+yrRbNplQZZ4rFUfcBg8GxJ1VH/C5HbmfSLhlUqmL6UFOLxQli6ElbsgEtfB/QPR6NP4wnPjSMxTWuYWlQJIjGe2ftDfuREnvYun1aR1qrjNAmIyScIvVUVne4jPTkL2khi9ndT5uJ6ipVJcqXb1hRNSlE/GgS9lU4KL5vRPEilHTbRcFjeBL6IqsNRpo8pu0QgSvbnudAFIdGFEbmOvxx7TOn4OAR7mcp+zK6mf7JDy5GrKxiIdtXpEQ2n8jK1FKa6dP2RYiauP7n9yliGCur/e7wmQlVrTVsaNZ3mFUkhhHZZKeXJ1bNMCUo4FeqdOo39sFZO8PTJ0vmPU/E0+Nczsk0KlKV5GydvKD+cBD4iEE63MYqJ47Yd1PJB4/nn610mQ3/xPWqNyHX+N/eYZUH2ScShRK1TIry2/8zdPfDVnQzMZlybGYYu/g6tOsogZKA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d1f0bae-1bd1-473c-25ab-08daef514593 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:55.4695 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: AUcB0kfawKtuLB5HTGm9ZredU+KoIJCsrWuSCubYBC843GjEHhhTYFvLyUE9611Kh95yy1czm0wgwC8uVLNTwg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: hQam4KnA6P8PvNEpnv-D4b7Bjxpc-wzh X-Proofpoint-ORIG-GUID: hQam4KnA6P8PvNEpnv-D4b7Bjxpc-wzh X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 340534000A X-Stat-Signature: inj97mh5wd6u1aogeqc3t81dscceepnc X-Rspam-User: X-HE-Tag: 1672946161-524220 X-HE-Meta: U2FsdGVkX1+yLuVW1UDOF9r+qpMp8BlaYcs1KNemDWwfP5SwkEUyWPZNLbi5LAzw5i/iG2bQRudpWqVSUIkrsqN0U7OmrypLh2RLNG0rB9+s8pczyg8TCkMQ/9Bm8JCtlw1hpgjbHKaTJyP40629J6Nb96Igf2DPT3aYxJ128jtMXSOZGvYXH56jHQ0WXu4PiL93bt18by0IPangcWFo1Rm74V7wcM7v0mN+vGfg5DvRyY39DOXsgjHHjgP8mqn5OLwvNhuBr6QEzCRSDkPilwXaqAn36KeuTfVInbmutr485DzkSA0P3wa6UsxAg4qs+y/eH4NUyXdfhVZNT6ojJ8/5vSCTJE9uKBBgPu6Nmirb58R9vVVUnJ21Qf1qIYJZlCmbOaanYZUSWKJVtykgIIbwSIlXLxGo/5zTHOYiiw7g8Y8rKR+7jYMBGFNCzzeZ22IfNgro2/8aaj3SSSmcG21O3fQDqg2k99Za0A0JbU3/fnr/suDHyqMzCKMT81xLHHHLg6Zmt4r3jurk9Pe4SAFMaBta6fJHfo9nzDpk4Sz02R9bFKNSxKXzMOVR/acCiPtYjpAZG184BeeSUo35r03myfKZZ+eEokCs6dSIKzMCP8k2bOpjcw+EeDWs3d2NQDGgoc59/Aug7OipVwwobcZL1E2IWHjtWTc0/UdspPwivyLfaTBSDw+YwP2kYbAqWcqNxqhz1jv4EQRcn5T141XTE2m2lpi176Y+qSlGy74nnHR/BLaP0URgR4DKoEmYhonOrtbbKRMA6YW75nC1jwk2VwPzpBmSaPuIJw7Jtg5Guh2MXpo3Glxo6xAFelDdzNRTBiBpT8/8iZcTGro67e4/bsxvS6NuXnSVOlmBLP543cVPZDW8Qe8v137QATSjmUz3cNuiyApq6XlGARbqGCfxONhUhQZ7npOPuKE+NS7f+Iap/GI1y/0RoqhFI2bqbjB/2BfGF9LMC8IDAAr bSSPstQN F9ezVkNUBxjZsVU89JmFOyrHPoXIdbwABWSFXWlxRNVHACA2b8i4U339KFUYCg0LHa7OiwLdwIOaglaiPPGfP7e5u45oELb3Dvs9zrs8hetS+SGdlNkCOe3Xil8MmfgqwCW0jMJR5rLML/uO8Ow9iQoCDxw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Start passing the vma iterator through the mm code. This will allow for reuse of the state and cleaner invalidation if necessary. Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 2 +- mm/mmap.c | 77 +++++++++++++++++++++------------------------- mm/mremap.c | 6 ++-- 3 files changed, 39 insertions(+), 46 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index f4b964f96db1..126f94b6f434 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2896,7 +2896,7 @@ extern unsigned long mmap_region(struct file *file, unsigned long addr, extern unsigned long do_mmap(struct file *file, unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long pgoff, unsigned long *populate, struct list_head *uf); -extern int do_mas_munmap(struct ma_state *mas, struct mm_struct *mm, +extern int do_vmi_munmap(struct vma_iterator *vmi, struct mm_struct *mm, unsigned long start, size_t len, struct list_head *uf, bool downgrade); extern int do_munmap(struct mm_struct *, unsigned long, size_t, diff --git a/mm/mmap.c b/mm/mmap.c index 238b10ca9f9d..41767c585120 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2360,8 +2360,8 @@ static inline int munmap_sidetree(struct vm_area_struct *vma, } /* - * do_mas_align_munmap() - munmap the aligned region from @start to @end. - * @mas: The maple_state, ideally set up to alter the correct tree location. + * do_vmi_align_munmap() - munmap the aligned region from @start to @end. + * @vmi: The vma iterator * @vma: The starting vm_area_struct * @mm: The mm_struct * @start: The aligned start address to munmap. @@ -2372,7 +2372,7 @@ static inline int munmap_sidetree(struct vm_area_struct *vma, * If @downgrade is true, check return code for potential release of the lock. */ static int -do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, +do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, struct mm_struct *mm, unsigned long start, unsigned long end, struct list_head *uf, bool downgrade) { @@ -2384,7 +2384,6 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, mt_init_flags(&mt_detach, MT_FLAGS_LOCK_EXTERN); mt_set_external_lock(&mt_detach, &mm->mmap_lock); - mas->last = end - 1; /* * If we need to split any vma, do it now to save pain later. * @@ -2404,27 +2403,23 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, if (end < vma->vm_end && mm->map_count >= sysctl_max_map_count) goto map_count_exceeded; - /* - * mas_pause() is not needed since mas->index needs to be set - * differently than vma->vm_end anyways. - */ error = __split_vma(mm, vma, start, 0); if (error) goto start_split_failed; - mas_set(mas, start); - vma = mas_walk(mas); + vma_iter_set(vmi, start); + vma = vma_find(vmi, end); } - prev = mas_prev(mas, 0); + prev = vma_prev(vmi); if (unlikely((!prev))) - mas_set(mas, start); + vma_iter_set(vmi, start); /* * Detach a range of VMAs from the mm. Using next as a temp variable as * it is always overwritten. */ - mas_for_each(mas, next, end - 1) { + for_each_vma_range(*vmi, next, end) { /* Does it split the end? */ if (next->vm_end > end) { struct vm_area_struct *split; @@ -2433,8 +2428,8 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, if (error) goto end_split_failed; - mas_set(mas, end); - split = mas_prev(mas, 0); + vma_iter_set(vmi, end); + split = vma_prev(vmi); error = munmap_sidetree(split, &mas_detach); if (error) goto munmap_sidetree_failed; @@ -2456,7 +2451,7 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, } if (!next) - next = mas_next(mas, ULONG_MAX); + next = vma_next(vmi); if (unlikely(uf)) { /* @@ -2481,10 +2476,10 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, struct vm_area_struct *vma_mas, *vma_test; int test_count = 0; - mas_set_range(mas, start, end - 1); + vma_iter_set(vmi, start); rcu_read_lock(); vma_test = mas_find(&test, end - 1); - mas_for_each(mas, vma_mas, end - 1) { + for_each_vma_range(*vmi, vma_mas, end) { BUG_ON(vma_mas != vma_test); test_count++; vma_test = mas_next(&test, end - 1); @@ -2494,8 +2489,8 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, } #endif /* Point of no return */ - mas_set_range(mas, start, end - 1); - if (mas_store_gfp(mas, NULL, GFP_KERNEL)) + vma_iter_set(vmi, start); + if (vma_iter_clear_gfp(vmi, start, end, GFP_KERNEL)) return -ENOMEM; mm->map_count -= count; @@ -2533,8 +2528,8 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, } /* - * do_mas_munmap() - munmap a given range. - * @mas: The maple state + * do_vmi_munmap() - munmap a given range. + * @vmi: The vma iterator * @mm: The mm_struct * @start: The start address to munmap * @len: The length of the range to munmap @@ -2548,7 +2543,7 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, * * Returns: -EINVAL on failure, 1 on success and unlock, 0 otherwise. */ -int do_mas_munmap(struct ma_state *mas, struct mm_struct *mm, +int do_vmi_munmap(struct vma_iterator *vmi, struct mm_struct *mm, unsigned long start, size_t len, struct list_head *uf, bool downgrade) { @@ -2566,11 +2561,11 @@ int do_mas_munmap(struct ma_state *mas, struct mm_struct *mm, arch_unmap(mm, start, end); /* Find the first overlapping VMA */ - vma = mas_find(mas, end - 1); + vma = vma_find(vmi, end); if (!vma) return 0; - return do_mas_align_munmap(mas, vma, mm, start, end, uf, downgrade); + return do_vmi_align_munmap(vmi, vma, mm, start, end, uf, downgrade); } /* do_munmap() - Wrapper function for non-maple tree aware do_munmap() calls. @@ -2582,9 +2577,9 @@ int do_mas_munmap(struct ma_state *mas, struct mm_struct *mm, int do_munmap(struct mm_struct *mm, unsigned long start, size_t len, struct list_head *uf) { - MA_STATE(mas, &mm->mm_mt, start, start); + VMA_ITERATOR(vmi, mm, start); - return do_mas_munmap(&mas, mm, start, len, uf, false); + return do_vmi_munmap(&vmi, mm, start, len, uf, false); } unsigned long mmap_region(struct file *file, unsigned long addr, @@ -2600,7 +2595,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, unsigned long merge_start = addr, merge_end = end; pgoff_t vm_pgoff; int error; - MA_STATE(mas, &mm->mm_mt, addr, end - 1); + VMA_ITERATOR(vmi, mm, addr); /* Check against address space limit. */ if (!may_expand_vm(mm, vm_flags, len >> PAGE_SHIFT)) { @@ -2618,7 +2613,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, } /* Unmap any existing mapping in the area */ - if (do_mas_munmap(&mas, mm, addr, len, uf, false)) + if (do_vmi_munmap(&vmi, mm, addr, len, uf, false)) return -ENOMEM; /* @@ -2631,8 +2626,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr, vm_flags |= VM_ACCOUNT; } - next = mas_next(&mas, ULONG_MAX); - prev = mas_prev(&mas, 0); + next = vma_next(&vmi); + prev = vma_prev(&vmi); if (vm_flags & VM_SPECIAL) goto cannot_expand; @@ -2660,13 +2655,11 @@ unsigned long mmap_region(struct file *file, unsigned long addr, /* Actually expand, if possible */ if (vma && - !vma_expand(&mas, vma, merge_start, merge_end, vm_pgoff, next)) { + !vma_expand(&vmi.mas, vma, merge_start, merge_end, vm_pgoff, next)) { khugepaged_enter_vma(vma, vm_flags); goto expanded; } - mas.index = addr; - mas.last = end - 1; cannot_expand: /* * Determine the object being mapped and call the appropriate @@ -2705,7 +2698,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, error = -EINVAL; goto close_and_free_vma; } - mas_reset(&mas); + vma_iter_set(&vmi, addr); /* * If vm_flags changed after call_mmap(), we should try merge @@ -2751,7 +2744,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, goto free_vma; } - if (mas_preallocate(&mas, vma, GFP_KERNEL)) { + if (vma_iter_prealloc(&vmi, vma)) { error = -ENOMEM; if (file) goto close_and_free_vma; @@ -2764,7 +2757,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, if (vma->vm_file) i_mmap_lock_write(vma->vm_file->f_mapping); - vma_mas_store(vma, &mas); + vma_iter_store(&vmi, vma); mm->map_count++; if (vma->vm_file) { if (vma->vm_flags & VM_SHARED) @@ -2825,7 +2818,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, vma->vm_file = NULL; /* Undo any partial mapping done by a device driver. */ - unmap_region(mm, mas.tree, vma, prev, next, vma->vm_start, vma->vm_end); + unmap_region(mm, &mm->mm_mt, vma, prev, next, vma->vm_start, vma->vm_end); if (file && (vm_flags & VM_SHARED)) mapping_unmap_writable(file->f_mapping); free_vma: @@ -2842,12 +2835,12 @@ static int __vm_munmap(unsigned long start, size_t len, bool downgrade) int ret; struct mm_struct *mm = current->mm; LIST_HEAD(uf); - MA_STATE(mas, &mm->mm_mt, start, start); + VMA_ITERATOR(vmi, mm, start); if (mmap_write_lock_killable(mm)) return -EINTR; - ret = do_mas_munmap(&mas, mm, start, len, &uf, downgrade); + ret = do_vmi_munmap(&vmi, mm, start, len, &uf, downgrade); /* * Returning 1 indicates mmap_lock is downgraded. * But 1 is not legal return value of vm_munmap() and munmap(), reset @@ -2979,7 +2972,7 @@ static int do_brk_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, int ret; arch_unmap(mm, newbrk, oldbrk); - ret = do_mas_align_munmap(&vmi->mas, vma, mm, newbrk, oldbrk, uf, true); + ret = do_vmi_align_munmap(vmi, vma, mm, newbrk, oldbrk, uf, true); validate_mm_mt(mm); return ret; } @@ -3103,7 +3096,7 @@ int vm_brk_flags(unsigned long addr, unsigned long request, unsigned long flags) if (ret) goto limits_failed; - ret = do_mas_munmap(&vmi.mas, mm, addr, len, &uf, 0); + ret = do_vmi_munmap(&vmi, mm, addr, len, &uf, 0); if (ret) goto munmap_failed; diff --git a/mm/mremap.c b/mm/mremap.c index fe587c5d6591..94d2590f0871 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -978,14 +978,14 @@ SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len, /* * Always allow a shrinking remap: that just unmaps * the unnecessary pages.. - * do_mas_munmap does all the needed commit accounting, and + * do_vmi_munmap does all the needed commit accounting, and * downgrades mmap_lock to read if so directed. */ if (old_len >= new_len) { int retval; - MA_STATE(mas, &mm->mm_mt, addr + new_len, addr + new_len); + VMA_ITERATOR(vmi, mm, addr + new_len); - retval = do_mas_munmap(&mas, mm, addr + new_len, + retval = do_vmi_munmap(&vmi, mm, addr + new_len, old_len - new_len, &uf_unmap, true); /* Returning 1 indicates mmap_lock is downgraded to read. */ if (retval == 1) { From patchwork Thu Jan 5 19:15:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090321 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7142EC5479D for ; Thu, 5 Jan 2023 19:16:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 89F3B900008; Thu, 5 Jan 2023 14:16:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7FE8D900009; Thu, 5 Jan 2023 14:16:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4F130900008; Thu, 5 Jan 2023 14:16:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 31EBF900004 for ; Thu, 5 Jan 2023 14:16:06 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 04E3F802CD for ; Thu, 5 Jan 2023 19:16:05 +0000 (UTC) X-FDA: 80321700732.25.67C8B81 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf05.hostedemail.com (Postfix) with ESMTP id A52D6100011 for ; Thu, 5 Jan 2023 19:16:02 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=vSyOzL8t; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=cwdL2033; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf05.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946162; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6qo0x6FwfVqAS5uWsZQ+S2ecMjYQ7dLgAPgm0zpCre0=; b=ID3GYonYmWFy1XOP6a5kS/8pE/FJbTSLkHx8kK+HH8ShHdPQ/nwmB0USjGUvaV4AdB0PCh r8FM+8IXYfwfvr5PfdXxag420L3CHqNZeZwYwkgMEYxLsLLywxsrRi1Y8eWjYcGpwk4bQP r7Vv3LLLzdfv4IFNQ8oVwKZF0m7eUkU= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=vSyOzL8t; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=cwdL2033; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf05.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946162; a=rsa-sha256; cv=pass; b=Mu4fveJ4yYLPhODMuaDE0JL9e508fRVyli/Gk3MevyM173tyFx5TjVUdIzwHhD0K8n4/mB /9cTUc6IfaJdxKHY7p76RGC0hAgrclnSKwbB3UiY6pQNEBoZlxDj7THAzzduKTkoRSuLG6 wS4rPJg5cH20btTVvReWk+MIxOm9wfs= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ISwM6017230; Thu, 5 Jan 2023 19:16:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=6qo0x6FwfVqAS5uWsZQ+S2ecMjYQ7dLgAPgm0zpCre0=; b=vSyOzL8tcAAuY4vJZ6V3Bg15vz/H3+J8aXZGxTSNJP3izxuhzwjTsylRz1LRyj+t+I3h UvClVF6SbRAcxRrhdI68tt/iWZJkbxYK5LnKoitYCRbheEsAjgBXY00MYhO5ULtcEhPN dMS6x9dOuwudtQBVT51L0waDjEsRf1z3pb8fUX8U7GfCrUUayFTKmX2qpzlkmp/zeewB b1kuZC54lIRoWFCIa96z8WANf2R6EVLZw+Ngdbnp9MS4dszFMbmK8LPgS6Wq7vi0FPvw oItseISCclNttPPIXVxt26SNmCUW+WEUxY1xwdrzCpZgqzXtE9M2J3jX/B7z6iSOFidH mQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbv31ns0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:01 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpi023372; Thu, 5 Jan 2023 19:16:00 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e5TW9e6HC+cHo/VcWv2ajOu8dKZ02e4Vclxf5ziV3KxtLKRgDM65/na7F1+lRJ8YFkC/HWxmLlAh2vt+xJgfXsS3NOAe3ReJlRszzDGgbnkTpHz6dGixmGrfpAG5rF0o0/h30rKReQ5yqXAsfXv/YTjHmnT0juvZsogzyI75ra9V1bv2TP3y3hTz0UhAD4aANu/gVG372BmqVT4rcHQPs1UPSIpwyy4XBUIMqRIl6TWQCkt4GkKaCs4cnuoTFZUygWt6zrnoMDf8nGP3TzziujjCoKy2kUoDDaR7lnYYhmAOCBflVAjqMTrX3a+O5CQoY2dMxLEPzDgrJ5Mevbf3bQ== 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=6qo0x6FwfVqAS5uWsZQ+S2ecMjYQ7dLgAPgm0zpCre0=; b=FRaV1OeQlrAxG0yEAeRzzpPB+7vt2BFNBuf1oRs+nh8RXCkSCWYV7nrn1um9NKt6dt88HiOzdfax6uOABhrOa52QedA/whOB3NrCxFkw1YrYioS5VugNobWE5fZmd+LtU3f0S5ALcspDTMkvqH2GhwD0hlaTIIkdx8U/uRX8xBfMAdBr7t+H6BhWa7xoGZze2bLFLJJ7WoX6bq6EDlALeewSXQWS81AUBWxpseaosir3DMfnm5WmCsv5bo1S3g0K1bzY50OWc5kKTAxUHZIIgpY9mqZTYBgamIBQWQWmrLVqlhWwv/3zgEh2zRQ825TbEfxfn0HlPwhBmXitkM+iVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6qo0x6FwfVqAS5uWsZQ+S2ecMjYQ7dLgAPgm0zpCre0=; b=cwdL2033Nwiq5c0znlN4ikzSCj9MJnkVFhn/Cv/NLJOlWpwBv/9vF1fR+gquNYBTrKpHzTxQeNxBtPyiVHSMf7z8PnVjmq/xfgc4HNM+L2JyjKw0bfzOPaCoOdBFiHEyTq36c2QjC21nfou5Uj9quUTIEQBOW9DUJSocCJcHlV8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:58 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:58 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 11/44] mmap: Convert vma_expand() to use vma iterator Thread-Topic: [PATCH v2 11/44] mmap: Convert vma_expand() to use vma iterator Thread-Index: AQHZIToiYnsZgqopq0a1R0DZdr8guQ== Date: Thu, 5 Jan 2023 19:15:55 +0000 Message-ID: <20230105191517.3099082-12-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: d7ac6b0c-cbcd-4fd2-3ed4-08daef514673 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7ARPfkIvkw6pK+B9cEWfh8VVQKBM2BRhZiiuwIcTbHd+t7/LBj4ivwdj6LLxgIv2kBill8RLe6qspXsxn1laYiCzt77RMQY3mJo48WkS7P6A+h52IcsReuhmWIrqNU5mV8tGtGM4zBRb2CLOUzAt3f4y+ROFlE5drr3KFmFoiW1aJAAKjnl7qBE1sG6N/L2lUj5YssR8lwZ0WVkYnpVLkRcyWaq+YIJoSuNwDRpMAbfyH0VxiLCZBIItwynx4c+apXae0kvBXa8VMyuI+YenlHR+wBMglbyelrautiEN8FzjDDcmF5aOV5TcnbI3QBqW3nRY/EOBAWE5wupduYeb4HZ7DRd4XiAMwzMV9L8Z9n+l9FoB6VnnndZiNcs7LJj4fxGqc+HqIGvaY7r33TFGcRUNSQaeZ5q8g00O9VSAPLWjPhRTm4GfF9pImkY7rcwJ/cQuHzYuFt5gL5z6pvRmMThGhI4K01rA+4QuqzaImFMJ8PvT5M7mBbeTAg9sfx79do+AnAvKaXHmj8HgobU5e+IYZLQk6FmtqxBp0c4gzRkvJCn/u7vvvIKzw8h2EdtP3/KV1c5nEmhcK/eMmEq+GRCk4aQS1vDlXAlCTXbMED8TBfpvqL6OF8CVmwP4S4hYu6bkmfmEmfhlCJR4fXO6QxJfvKjylg7z2gdsrR0b4qpdpjSIo26GH8iKTv3EU430SPm6mfvxC4eqkGFd48f23g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?yhSCYklmObhK+WPC7j8nHzP?= =?iso-8859-1?q?fmbUZbzIXoKECVlmKCj4wCX9QMCQ70Xc78i3O/xgv9XW+0SMc50RHFaU2bdL?= =?iso-8859-1?q?OrBWzT+5II8ObUhT1m8CFyj+XEFC8b+uSNSoElsqNLvSkXkCYflTHmtW+jTN?= =?iso-8859-1?q?lJrroQEhRI/RGNzfO8x8zaDhsh+AvMKiDFz4/5o4Vq0lqrPTU3saQIdHHjsN?= =?iso-8859-1?q?VS3/jTpULviMC+jtB1dnK0X3fk58zK39stuClZ5M2Nygz0Mm3niLVBvWDY6D?= =?iso-8859-1?q?CReEHV3RIzAgT907OvkHvFGnBoGHpWOXMM7yH18AICPwWBQk5DJpy+GJddgh?= =?iso-8859-1?q?X1lWUkfQF8ZXbNWrAW7JqbOHnnbnKHrIUN5Kfip9GMUER4fN382K4v0/T+HR?= =?iso-8859-1?q?CwMXh6sC2B4fvd+HYBzP2UNfRum8gWZtbqhamN5hlrXHUTTDR4DfMqHmiwRa?= =?iso-8859-1?q?l+3D3ibLl+kMYG31H4b4A3of1hd4kD5MSWf9tAFiCkjNIMHzCvXDbvej6YTB?= =?iso-8859-1?q?R5BJw8w0OKyUyqehiA048pjnqTT0j+a90YvwqmDldAZlKgTp99W/RqNGaVdX?= =?iso-8859-1?q?JCOD6dbeTBkdUFgyoecggv27/waDlM6CQxs/4cYmXrLUqG7tdRb/A1FLPjAg?= =?iso-8859-1?q?f6AblII8WUXbybgN3/JD8OFod6L+nl2zsr+YUgdhsR5yEKniBjfmDO4vf5X/?= =?iso-8859-1?q?d88YpHi4fRN1GN4662yKfXHfoQcGj1W+3+RGEVKWdebnBBmQquhJ1RAzSfev?= =?iso-8859-1?q?A6/Vk2vgj17vkkXI3+1M/MUeHGYcwMae1Sugl2g8RHDFcbMOdRMk0KsvJzoH?= =?iso-8859-1?q?N5YfBXQMaBpcLx67N1aSPORA+Px1JukeJkQR3TavWjCNn0v5WX34H5UM5XtC?= =?iso-8859-1?q?SXrNkwwWWoBu6Yh3JQaCQMkGosUHmw1ELRIY1k5GlCVkuXdzcobHSvUufFQ0?= =?iso-8859-1?q?jtlN0p/76fRQT1oQXIQL/G+JDysbRf/At6kLyNtLwYHxBbA5GWokNw20h33z?= =?iso-8859-1?q?XbB/HuGClAijUBzj4O0/cHawpeOVBViao5m17AbQPq3Ly/cv24OKyHQt+VLy?= =?iso-8859-1?q?2L2gg2Wyggwy68f/Za+qnJExATCGZvFj+LVIzcO7Vm57ZUh0wwzX7fXzB8dP?= =?iso-8859-1?q?RC3bWKL1422+Hfm1n+krD4XwLHUI9X/h+Jx+eyIprF3itSXEsZZYOiN1bb3A?= =?iso-8859-1?q?044F0a5uBFT0NJL5mbut8JbLRyHVN6UGopTAvPaqq8d0I9Ocqr9Gj81+1CbR?= =?iso-8859-1?q?bI3Y2WnvWL/qpd/++5VnPBDh7PgzRJyZ0CiAY3d/qJQ7YF96x327zP2zcjIl?= =?iso-8859-1?q?CDqrg0PsjkW6fffQ9s5ZmyFdeAKVS0yunY7p55GcVgE0p+68owGJOH5O0yqV?= =?iso-8859-1?q?gtVsXzMC1EN64HuZjvzFu/IRmhUjsbsj8takMJgEkRyw5CUYv9UVtA6EB4Ue?= =?iso-8859-1?q?0kr3waMU2UJFXo1LBLB1s4ppWnzGTeVCkv//LjEVR7qECrmSEtMrIrDrSF4M?= =?iso-8859-1?q?NNqpaRw9MXr8JQ4tj8C7mIJhbQIQTvm1jP7uVR0nhS7SahlhNUCRyhM2InmV?= =?iso-8859-1?q?br/g/a1dRRzm9EEYZfuqpeD2/oI2/p9o7Jefr2CMObUl4xVZmYPJGHCn16Dn?= =?iso-8859-1?q?C1J8G/jzPf3Su+6Oqg+/tSG64G3Kixo4C9XW5ZA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: uVQ+r3NrTCAWOqDartF+NKJMqqIorqWXYiQ/AQ+M4IGmXALPeMm9O8CMMdk1MtSGn6wrv8tqDjXdnbp16aQQPRBqzNQLRUVutrPjNZZcK1H6GxDXfDpmQAqsuAB3t1raiyABtHBmYY99itj9FKtahQ16DjfvLmncqNZsLMmBUTqfgs8L0ZBFddm9wQL968gP7Lq3HFhJ3SDk9UjilwMyOL0jimzYhKj8WwEwlNhJbMoSMcaineYbUAcWAh/sBSRWRhuZtnAb8l/ekovMdswOEcbcYa7j4LQOwxPV1kpd62A2Pb/ZqvnGhNbrxmdrZ2bVVH89+ojOOBPp5TRtXNtVVamy/P7yo3M/BjwqBAloehVHJxR2CkCuiSs8MRS34JklqqRGdOLeoculgchNLmxZrghyuUqEKT1rFuT2HxCFKWTlT0WWM6Jrai2727Ded2rYzqjwwj7ejrcN2D6Ho6tQqlYgnh21mOo6WoyAMSSp2cSBeFfwdZf3B0FOHrHZ6RbVqgyDw21WhmUrd7n7NmcjIKt5CozauNA/VC/SArycnfDUSuaE0dRkhfqCQ/7Ko4cTiCWdaNAjixgKFjrg75j+rwx/th3k8xIXJxg1KQy+vU5lugK7Yn8dyjXg5UnOtsNzpv5UMdrPZROs+3DiMTCCaJWbtvJftEmh26kwQCVIr7rfAsbkWuf/I2BEpMGDf8D3VUL+Kvxe1bMj+PuhC2lvHKo8LkahA+plzJADZQvN0GS0KXLZ4AaA+b6DcibEWq6sZwwTxQEZ5hMEK/NJ+tz5ke0gFmgK2DNBHj2qFManvopm/XsgB2yVgHPGZPlqTX21WcDSVSu4g7qTA6kfiV3zJt7ebx2BMo87rDC/ILaYWgQhf+icBWVmTxrt6KwcJilWusL7Skqhe9fS7r+tVEtJfQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7ac6b0c-cbcd-4fd2-3ed4-08daef514673 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:55.7820 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uzSN7CIpanwPuhWzV6G/GQRmuZz3ZD8xdO7YGSVVWtFnURpPh/0BGfIsNPlmsPExbdmk/AZbtDhWb9vWhF9RFA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: 8TGkMr94QBCc74Yb2m7gklBCAB84hHOG X-Proofpoint-ORIG-GUID: 8TGkMr94QBCc74Yb2m7gklBCAB84hHOG X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: A52D6100011 X-Rspam-User: X-Stat-Signature: ogzfgs4n7sk4x6c9ruy1tupjki78bar7 X-HE-Tag: 1672946162-447391 X-HE-Meta: U2FsdGVkX1+BAdFb+oNIGWOvoIrrGvdkmky6jgZgmWAsx3M4/2jgbwVqjcwkyM3QLNjJ0Z2wyIzOdhHsB/8q7sTrV80CL77VfrqoiOfCIp8JNMvbZuxyOpd+Bw9qdnaV6IbAqTLgOTPHB3OsfTZf/h7SYMgZpvjn1J14Luec9pdWdyTwM1Ex2JYtTdFXRx4vJY144hBnWhaQSMKwqfVyDU0nsd4aqtjdEorsk1vpRqGBF5r8StR5NKBzGfMwU93QJmB3oq4dNEiTDPKDxSTDdOsiYHR1bXrY49ec9lz3lU1YGv0gF/r5Jh3cPsTqG3QLnOIpYC1RIXHKuLaPGDDEwJiWtMJ68qMgYWN/V/KhyKZ6c2Zt0aZVWRxaIlJtCejPMIU9cVMw13/q2yFM5kJ3E8zp4cgqT0bAIEk47mAV/N6In78x2DMY5Myy5CK2cHro8RUeQJPx50AuENtmfs3t0UbPawo/dwENZ4CMYMJsiUlSOq+mFWa+o/BG6gWYqbZvWWTQORQtwkZEvH3NsezAtU/woxfPTLEVuMSMKZCbLf/Jnb0ZOa92roI+UxiOQSMGhIAqr6V74g9DSrcuEfIyCKuRpCqTfL8hqA2CXMlJeP/GhK/b/Ra/MGiTYKSMGbJzn4655hQNZLeUwE9RcYrsJmY33K+/QUtgZwWnYq4cYvjvbh7zRME2rivRoatHl5lp08Iuby73sJy6IzcISJYnyCJrq77peMeivEaurQnwWoUMrs+EBBcb/RagEDu/1kFYr+cJtp7UEgtkr/2wyrBsqhVy3KxOz9V651WVbZsEAlmbvTiG0YVxv17GLu5jP8BtsHP1erPl6CkGXexqmUYnYjE4S9K+LIxnzlp+IGSWsOOlHJR8gfpfMfv5IRIm9H7C2O7NRWnC+S1otfhg3YDu4i64HbiInpI9H1sKf9UIjRjat7mUsI4zgRFFnu2at6Cc7ov52mTo9viCMIlbba0 bybG0rNe na7W3WQtuPLACw31Z1e3BeMASe1QaQDpBjT7XUcwNkt9FyEBjRy5Do9EE5pcXn7J6cuCaxBlayDbBHWSdgjlpMGdgOhAh07q+L+kCHdB3vlrHLj9B6hFTSy+bj32P+WYTFpHZ79GAe0a8JLLqBEmN9tCT+g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator instead of the maple state for type safety and for consistency through the mm code. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 41767c585120..8fd48686f708 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -586,7 +586,7 @@ static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma) * * Returns: 0 on success */ -inline int vma_expand(struct ma_state *mas, struct vm_area_struct *vma, +inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long start, unsigned long end, pgoff_t pgoff, struct vm_area_struct *next) { @@ -615,7 +615,7 @@ inline int vma_expand(struct ma_state *mas, struct vm_area_struct *vma, /* Only handles expanding */ VM_BUG_ON(vma->vm_start < start || vma->vm_end > end); - if (mas_preallocate(mas, vma, GFP_KERNEL)) + if (vma_iter_prealloc(vmi, vma)) goto nomem; vma_adjust_trans_huge(vma, start, end, 0); @@ -640,8 +640,7 @@ inline int vma_expand(struct ma_state *mas, struct vm_area_struct *vma, vma->vm_start = start; vma->vm_end = end; vma->vm_pgoff = pgoff; - /* Note: mas must be pointing to the expanding VMA */ - vma_mas_store(vma, mas); + vma_iter_store(vmi, vma); if (file) { vma_interval_tree_insert(vma, root); @@ -2655,7 +2654,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, /* Actually expand, if possible */ if (vma && - !vma_expand(&vmi.mas, vma, merge_start, merge_end, vm_pgoff, next)) { + !vma_expand(&vmi, vma, merge_start, merge_end, vm_pgoff, next)) { khugepaged_enter_vma(vma, vm_flags); goto expanded; } From patchwork Thu Jan 5 19:15:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090323 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D760FC5479D for ; Thu, 5 Jan 2023 19:16:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 71556940008; Thu, 5 Jan 2023 14:16:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 69F26940007; Thu, 5 Jan 2023 14:16:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B7FD940008; Thu, 5 Jan 2023 14:16:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 24766940007 for ; Thu, 5 Jan 2023 14:16:07 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E82571404B9 for ; Thu, 5 Jan 2023 19:16:06 +0000 (UTC) X-FDA: 80321700732.19.E73D1DA Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf29.hostedemail.com (Postfix) with ESMTP id 62AF6120014 for ; Thu, 5 Jan 2023 19:16:03 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=V1ALkXoN; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=OwS9cJ6X; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf29.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946163; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=so5kYfEUIHFMMJc1aQOfT+gqvy/LsTSX+jpBqfvWQLw=; b=DaA5b4AqHq9e0CfJslFm8eolTeZgfTcYCd2Z35ato4BEpjRCgdW6HbbkUjwHhChI8htAjh YxKOXfGJvlW17mTFDfS3Jhsg7KEvTt09/faPVjsb/JD3cnivPE0F26iaCFr8aGQw6NfW0d d9BLG0q8mNCtC6k4WgZh79gVCyvQToE= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=V1ALkXoN; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=OwS9cJ6X; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf29.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946163; a=rsa-sha256; cv=pass; b=C+zyOZ0jo5E+h0TXESVsXq3BFZITwrR9XHmXMwiSnRDPyrnwme/Vb12kkUbbxiOZfAVmWm 1upKcY/JO50Q1511Z9MtuLznfHMGoqIcRbddolSlTex9RB2XFIeNS0RGPL7FhBf4l/z/vG 1rU3tNd+IDOsxr4gsvQIkZqNA9wa01I= Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IT0uf006625; Thu, 5 Jan 2023 19:16:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=so5kYfEUIHFMMJc1aQOfT+gqvy/LsTSX+jpBqfvWQLw=; b=V1ALkXoNwpuNHDBTRH43e3FCdj2wvI9Deti99depd+z0OT3Peh9/kTRQYyt7FIhvukob hJCI95Qi1XmUjx/O7nWsqZeTDgHngPZsYsnrY8Mg3wSjrFKL1wV3p98+UCptJyF9kOQl pqybfFeJHAdIq5yEND5hSVqa8Y1TeIviENqm0hnQ15hBtTlmhKAhfJIBLkazUeqUCzIH SROqXV4tQNCVIOYPyOGlcGfGPDfQOCT8TzAFEAAiRP80L2cAY1FFWexEYwszz5GKcWBS s1VHn4jdhr3a/JAKohJsRyB5OUGFMsRmzGm5Avwp9FoC1EdWuCFOk+WoZ4lhudS1iQcI TA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcpt9mpq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:02 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpj023372; Thu, 5 Jan 2023 19:16:01 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jYNX84l1sV0UOjqDE9cw2SMrjiEuZgvddGCvmPJyVAqeMZSJtphJzYL1qDwN+WTy/oWcCer5me05LcikCAq6cpD7fHgP1jF1+F0DhxbKc5p9dpt4Nh6a+XnWZpPkhPebxSVPRLL8J1ENEIDXrk8e9dTkhOir6A+nn2E27+2tGb5ZJiLceUzU400oKRlDyVB5NcUwAQipR8nV7e6bQQEEx1PWh4sIZCis004AnmxZLlYW4lxGRdBJ4+ZVqKw5fUodfCe2cv4wQp3dsiIpgQ9PD5MY44k45Wj97VkIXDSoGCMzp+/KfhdfC+f5dhpTilhw7WvVdnCdlo4ATatjdBmLcg== 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=so5kYfEUIHFMMJc1aQOfT+gqvy/LsTSX+jpBqfvWQLw=; b=TTSDivfBWTr30k4N5wTF0SbBhvtm7FFcx2WIqkeWixl842DdOIWSE9HDiT4wdMKAiEHNEXNV+2upUHEd2j9zUJKwPhPKUMvsrjhOBGw3z/rpuQMA6+b8pr/ePPrCTaqYXnNHWGocmVTiO5qvnfCb2s8ouR9AOc7uAfaAwtF3zynZuI63YrpPK+s9oZzrLyKqhTQ3p+Tn0x8RFg2e6inPI3m5qutSXyXNXJDNE07nTPqDGxgrhpyW0ragpQA9j1sTxhNEs7eFVIjS6Ouho1DQLmw9KzmZAUwQgzUtfNF4O5w0ciUCOCTDYKXh4HnHtpy5SMPDAkKR03mJXZ6TT//N4Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=so5kYfEUIHFMMJc1aQOfT+gqvy/LsTSX+jpBqfvWQLw=; b=OwS9cJ6X1kNeZiHrsdzMaEG6+HiRTAUd9oTHij6ZDNotOMAVoDzNfbfq8xBrd3ubUsWqveQ4Qc+9OSHP5WwC2kmi/YMAVnAvx1bP3G+WOnDcQHRCLLDSk4UdkRdfayVzGGVTOshl4n0jvh9lFegEFeZWB9vLvB5xoiR8D8cPzC8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:58 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:58 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 12/44] mm: Add temporary vma iterator versions of vma_merge(), split_vma(), and __split_vma() Thread-Topic: [PATCH v2 12/44] mm: Add temporary vma iterator versions of vma_merge(), split_vma(), and __split_vma() Thread-Index: AQHZIToiYZPyIynTeEK2D7YGgsoDAA== Date: Thu, 5 Jan 2023 19:15:56 +0000 Message-ID: <20230105191517.3099082-13-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: a0ed8703-eea4-47cd-61dc-08daef5146b8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +SwVmSZ2qjP0TdaXZZjCB4ylR9Ly38fGeLMZz38SSrZtna1WtKW9QDSlQvZhnp2jgYSF42PxLVtLgzOEZ7F/3/CETKNg5npXp2Il6MS1cWYpg5sNYnGB2vD1C14VbvhIiqp1c/LeNfo5ig/roXL0rZa9v4MLaGhRwpHDUb7KC03bhTQSJk0EnLnuPRawPD3vGpzU0viq5RYzBs9dqdUpQy2MCAsxrpcs/iJae1AN+0lRjumxex/hIsf/yc6FEPQ1vIkvxDjPT7ytQmkH7jusbhWhm1JhrhaXhDi9nB/VcAFZ7srSaiXzAWj48H1qsBpK1q3EwxZu3qaWYXw0F4AAlLxyyTmyYJp7mstoj04AWkXYNHz9tV7nYtUtYw4zFp55YyLCe3cL2TOQgkPvMln9B/RI9Ret6uN+osSwnSgG3hr6DSovMNFLe73IL+ankjEevPBiDZ1SIZu3HciJ1RfqB+eUjWrqpsoBl7CY1yi/qMAecUcdME91QF7FQG43kfScQQ2L4lHxohR30UL7GE2/fqd71uBBl3l1xTQ/7u8BxwLqmGElM8fohoZm/DViVarrH6Wc7aMiEDQxKsM3/+1KaQGLIFJnraJxMLwr6GWCR01eIwgTwtKo+leKT3ETOxDT4KmqU3SsW1E5uXA1wUrTTqOwFigRpx62Mt3y63lD8RQK9mKCn1s1rertHZvjrx/8evWhQv7mzCE9YaToceTtrQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?s9JWar33ZvmVx4o2zHwnUsI?= =?iso-8859-1?q?IV12rkkbD9rAO6UehQdY1Q7DZakmOUcVAGBxqK5XCvH8qa9VQjRzDVOTWr0w?= =?iso-8859-1?q?XG3/DneFZuiu4smF7ewU6tHAOMZj1Aq2RUQ7JwBBk1WFaAtmx33BQ0s0i047?= =?iso-8859-1?q?evZooWCybCuh7d6n6ZwtAYWzqkZLhbKEsVLr0SoAXNAeZlNTC5kmVMExngOL?= =?iso-8859-1?q?GMYOAnRqLK2sywYf1QPbHIdQC+OkrnqYC0Q5CJzFtPb8EfaAxgqb46+7fgiU?= =?iso-8859-1?q?7JN9R9okTB/uH9T8O0n/8iMWHa2ltk3OPrOrcDk93vPfg3zrBPrDv25RaLNI?= =?iso-8859-1?q?gWviXnzWDUFpHjE1oghncGcmmw+ExxKvli1K1Z7WOQyLRe0SqbmLtzAajIHn?= =?iso-8859-1?q?xnjKknZMIyF22M47Z52NHYRpu9o4a9f5i2ks7QYyOBS9zbGRk1BjFWXdjzja?= =?iso-8859-1?q?CvaTzVpTLaIyCoLPKJjgbZHAYiCxCXhMxrSm6Dk/GDZRG1R9yOwqtLr1rgvp?= =?iso-8859-1?q?lIsUSbQ1DBTQ9WZtYOwScc6UkheebHtZz+kAghC9HAJxMXjI7OQQuSO7YRas?= =?iso-8859-1?q?eiITgO/a0xNBAByfW04HCmje6EA5G03gE7lqZ5dV4KvTyot6r6oCGPbafCcz?= =?iso-8859-1?q?BpPzjqt0GkM+58U/WTT+HLNc65RSR1oDglIcAEdQm15ctL7GaKeliLgAV+ea?= =?iso-8859-1?q?yOJ2k8Hi1drxUjlNpOAY+DdfQgZ/FVspBlG6/GchEbUnx75dpc8b8aS4bwz/?= =?iso-8859-1?q?//0p/Dj/9mZQR7vdC6zK91BJw3SZvAZvbyNzp7TYrv48zZ3+BglzptKKQQHW?= =?iso-8859-1?q?9VC1vaujaC/SyiBbCXF3HbZklSXXzNK2J0FiDJhM4vGhOrAfUaxUNv2eaJOS?= =?iso-8859-1?q?nq7kWBG7QDsNzg02ewPaz5/mZIFDKAiVictIQo4TbfD1iiNdf6bMiNlRofSX?= =?iso-8859-1?q?b5ZKc8dh8Gnyr44/B0bLU7fohMYh8uTZhtn8rx7vZ2plG8pp1W50OPhTZwMa?= =?iso-8859-1?q?XIv/ayDzEFT0D6YaY8cFvsRLciNlKkOVebohqEK2nk9omM5UNsj3sWSSvjYa?= =?iso-8859-1?q?6bpXk3uyqiG6c0zcxDQxAMY7pJG01EZ3bIhCsfBmPuZ6KcvVo/NGdDY87aGQ?= =?iso-8859-1?q?YTHf1Tv5rMfnZzIInVia4191+EnVVjaGuor4iSzQffho7PFkli2sAzXDbVKC?= =?iso-8859-1?q?0UpPfKgL99N270R1FHJtEXc+373sRoIcLMFDNWMb/5WWaHpf7Xbq+86V8Cd2?= =?iso-8859-1?q?TTDKgaFa04Q+4FI5XK0bXqhUK9+mmZr6tDKufr9jhI46qFAfhYOKN6/k0D/b?= =?iso-8859-1?q?toDo/pv5/1vLH95QuX2Z8LtTAVIwTlGuw3+vMOVfMbeK30tTL6ATStnr895C?= =?iso-8859-1?q?vv5HICX+Z4VqApf7jAaKK8Z0DEdskix5nK0Bv5NEglBhEFKNUeBqC5osPYzu?= =?iso-8859-1?q?10eMDrzumjvDcWKTqEfr6uVkt2wFtYxJa/hcpn1CQK7doTl3+uZzLOGFoBJu?= =?iso-8859-1?q?gJxD7wdBt/hpwUW5av4ycMG22Cs34whvoKjJsRsFNFRmjlL3jYT6QzxImyDq?= =?iso-8859-1?q?S08st8m4XqcUdSWqVexEvMAfoAeRPsnDBBdAG19qyz8SroJNISiLVFnJhZJ+?= =?iso-8859-1?q?x2MyyFY0pRCGNgEUmPnYXrfyD+GDCwCdDTXuTog=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: kgPCSVyb/rExMCo7EwEEvwGOIgioY+9jVnZz5sb1uDnrPYKBVFQ8E/ra6QrXmeyP1LEn/bD2feVeLwlh+Q46lM1lYJBIsqbfM75f0z0SlAGiXb3hAZd0fLiXXQLt26e3BrIhMmQMCBu9iJCRFtK1JpGBwZcjkXGFOmitfD/zh23IWtzxOXBpQaSgBE1CXswc9xLxi5jp//5QNuR3S+bE9qKi2W6b9uF394zU5AYtP+1s6mIZ/WBmrpMqxIKL59mjjLEBKrl7D0OOxsMY2GKxlwaIaau6q6zJ0sJ64Y0DlkAjnBTU6LG4FZPlxYKjA/XaLFw/I4mn1SRwYIqLLihGBpaVrmouZZEKvmW+zDaSJnGiCDyoQFE85Pk9dy8iYBj9p9NqrlDezvKbgfFZb9xJdr8qkdSEoqmqENj5oQJqOJFCkJGelv7CR8hgmwvwz4x1Vf4f5viZLjphdEoE9a6+1CcdXHsCkHiEusKBR5P4+7FnWJ09r46pb9RgeYJspWRDAicTyF4NOO45r3TpU+DmwgDm4/qJ7KoIUZjCE9g95h2WOjEkktbWrIfTYh+/zPjLWwUC6i7RxmF6fme1n3esYZ3gJXWOoA/uHxVpeHEHkpbQNeUPnTsNPMCC1MUOCuouU4ma4yEyrwai4DIV+ZFNzW0l1u6Nf+7zGArEOZQDEdCzzDjNWz3QDN84xQJTNHA9xzlUd4/rwjbcz9MlZKIAEp87Xa0tOs6SQu5y9beMxa16xdkO/FJ5yJepPoLTZt1ohDdb4UAUSvstsIQXM3oVDQG6TynOIgCJ0YgflwcoKGIj/nmRMlFx+otl1D1ogmZSxMHnXJVhiAq/D9lXm91nIJulpdCzwa6rHEK+J48RDV4NcT/KgVDDnDKuU7YVub+Rs+Zbohqk2Pias7+RZtIZvA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a0ed8703-eea4-47cd-61dc-08daef5146b8 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:56.0476 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XzAqN+NI49ABIeBoDicdC1U9Yqy9ewQzCAPOigtuFbqfPyAWqIqGgd2AH6ncbg2aC1wLINLsylHcHHZCF9PjSA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: rK7sdBuJeTSq6XEYkAPip3kZmqzOTQae X-Proofpoint-GUID: rK7sdBuJeTSq6XEYkAPip3kZmqzOTQae X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 62AF6120014 X-Stat-Signature: mtksdniqrnrfikye4kyemim15briwjqp X-Rspam-User: X-HE-Tag: 1672946163-725125 X-HE-Meta: U2FsdGVkX18XxesnTaclhsuBo4qaaz9GsHzbyvrfbbBx8mWvlS0akUsdv+OW34uJhJveuoH7Y4HwGq3Yf0xvYNAkYi0ghcsptd8Ot/R6J7rfg7sa3Fsgu8lUymhMxMBVIvQHnmH3VW6TYlpHJdog3s47vK2L2pXFWQU5GJF/gsIDfJAySp330YExY87u13e1eikZzzpY9FiLpED6EUWRrTZegk+QjFSAgR1QMtJwmizRQwL2kdjn0gUb7HJoeqgNa0aMjuZO+79kigNyveaiPqKtVfVhrqCHP74o4R3+BbPNFYXtMDvVu98SyEpeoI4obhStivJ4nLMaPzxioW5kPsZ0spTPBpA3ElhA51mNZr6WKCQGsQ1PfSTFbgX1E8fhxGu2ZfYO+XSNuDGHcwlOm5tMmycSXyc0sNCJ6klgaZv02PThLFqhAg0YPTMSC4qrEhcgYWtloWMOSnKc/V/PfUm1CpfB0k3LfYS+kmX8PErzM54itqp6IhMKG8d3iSXKB/3/hkMazZGF+fJe0zRRMGGazXSV1xR3Zgd2PIBARGqVSCW4rq290vP6nuwYg6ekT12r40zhqbiaKbm6WSoFp3V766S/G5UdAFA3I4u7fsKyilWmnDNmbjtYJfMXZnbnmxDmOhKfTcujgFgbUP2mFsvi6afivzWxOZiyqRwnShrKEXAq+G+4QOogirKd9I6x3dkySbGvlH0DqR2XWeUnV8/ImJ6KJo54dHyIl2yWIFLpoBwzV7PWLcIIAu0grglEETqrPnXoiZl1R/1EXJ0t2M3f0zJFz7+y/0VSNT8bT8z0dTxVXexlKIYhFDGSqZuzI+JglqbqUF+9OYMdIuWj85p+33vNKtPavrHL5MdpzqjVCDshTmyMS6U80oqaHClU4TRpprumqk/tpZlT6IWg1ON4b5wJyPDJhacXKa/MJMRg+Txszjgbap61qVqVdKZehVrri0iRh0jx9lRJRBs z26uXVc3 R9FOFdummDoXjbRuobpzsKvdcc+QOqSU/b8IuHqcAOydy6IqPOvvlUP98aELZjezf6aynRuFKivcYFzMWAXqLE+4YOcQPPnNxMZH7XL4n5tA9a6VgSEOaZLplMV12cO3fajwazg7/59p4ROzjbjmLETZ+2A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" These wrappers are short-lived in this patch set so that each user can be converted on its own. In the end, these functions are renamed in one commit. Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 11 +++++++++-- mm/mmap.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 126f94b6f434..9c790c88f691 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2834,11 +2834,18 @@ extern struct vm_area_struct *vma_merge(struct mm_struct *, struct vm_area_struct *prev, unsigned long addr, unsigned long end, unsigned long vm_flags, struct anon_vma *, struct file *, pgoff_t, struct mempolicy *, struct vm_userfaultfd_ctx, struct anon_vma_name *); +extern struct vm_area_struct *vmi_vma_merge(struct vma_iterator *vmi, + struct mm_struct *, struct vm_area_struct *prev, unsigned long addr, + unsigned long end, unsigned long vm_flags, struct anon_vma *, + struct file *, pgoff_t, struct mempolicy *, struct vm_userfaultfd_ctx, + struct anon_vma_name *); extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *); -extern int __split_vma(struct mm_struct *, struct vm_area_struct *, - unsigned long addr, int new_below); +extern int vmi__split_vma(struct vma_iterator *vmi, struct mm_struct *, + struct vm_area_struct *, unsigned long addr, int new_below); extern int split_vma(struct mm_struct *, struct vm_area_struct *, unsigned long addr, int new_below); +extern int vmi_split_vma(struct vma_iterator *vmi, struct mm_struct *, + struct vm_area_struct *, unsigned long addr, int new_below); extern int insert_vm_struct(struct mm_struct *, struct vm_area_struct *); extern void unlink_file_vma(struct vm_area_struct *); extern struct vm_area_struct *copy_vma(struct vm_area_struct **, diff --git a/mm/mmap.c b/mm/mmap.c index 8fd48686f708..4dd7e48a312f 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1150,6 +1150,25 @@ struct vm_area_struct *vma_merge(struct mm_struct *mm, return res; } +struct vm_area_struct *vmi_vma_merge(struct vma_iterator *vmi, + struct mm_struct *mm, + struct vm_area_struct *prev, unsigned long addr, + unsigned long end, unsigned long vm_flags, + struct anon_vma *anon_vma, struct file *file, + pgoff_t pgoff, struct mempolicy *policy, + struct vm_userfaultfd_ctx vm_userfaultfd_ctx, + struct anon_vma_name *anon_name) +{ + struct vm_area_struct *tmp; + + tmp = vma_merge(mm, prev, addr, end, vm_flags, anon_vma, file, pgoff, + policy, vm_userfaultfd_ctx, anon_name); + if (tmp) + vma_iter_set(vmi, end); + + return tmp; +} + /* * Rough compatibility check to quickly see if it's even worth looking * at sharing an anon_vma. @@ -2331,6 +2350,18 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, validate_mm_mt(mm); return err; } +int vmi__split_vma(struct vma_iterator *vmi, struct mm_struct *mm, + struct vm_area_struct *vma, unsigned long addr, int new_below) +{ + int ret; + unsigned long end = vma->vm_end; + + ret = __split_vma(mm, vma, addr, new_below); + if (!ret) + vma_iter_set(vmi, end); + + return ret; +} /* * Split a vma into two pieces at address 'addr', a new vma is allocated @@ -2345,6 +2376,19 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, return __split_vma(mm, vma, addr, new_below); } +int vmi_split_vma(struct vma_iterator *vmi, struct mm_struct *mm, + struct vm_area_struct *vma, unsigned long addr, int new_below) +{ + int ret; + unsigned long end = vma->vm_end; + + ret = split_vma(mm, vma, addr, new_below); + if (!ret) + vma_iter_set(vmi, end); + + return ret; +} + static inline int munmap_sidetree(struct vm_area_struct *vma, struct ma_state *mas_detach) { From patchwork Thu Jan 5 19:15:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090324 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F41DAC3DA7A for ; Thu, 5 Jan 2023 19:16:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D570F940007; Thu, 5 Jan 2023 14:16:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D07C9940009; Thu, 5 Jan 2023 14:16:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ABB52940007; Thu, 5 Jan 2023 14:16:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 8FF03940009 for ; Thu, 5 Jan 2023 14:16:07 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 4F1A5160338 for ; Thu, 5 Jan 2023 19:16:07 +0000 (UTC) X-FDA: 80321700774.17.4BB7809 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf14.hostedemail.com (Postfix) with ESMTP id A0A8510000C for ; Thu, 5 Jan 2023 19:16:03 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=jutXYSaP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=rIjLiQnC; spf=pass (imf14.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946163; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Cmac1MFdopFe4FQG1oWkYqzoTR0Iob3h5RL8j18i6lM=; b=G4Ixp43kv0sfmFJSs9+1f+fPF1KJJeEHbVbEPThk/xG3mNz5Yk9Y/bq7lkeFIxHho5YxgU NjcqFd/agG6l+5jza2OXqPOmzKnKA59guY+DVqLfqGDJ+M3ZHZGli+qb9rAXsmud/KHdDn /LfJuUFJ05ThISVC69FsgepGJNogoLU= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=jutXYSaP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=rIjLiQnC; spf=pass (imf14.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946163; a=rsa-sha256; cv=pass; b=16M5ZrMhbt5uKUfDxdfqmXfoUD6zUfh1UU9VkqNzKGa8qT+88aqrKv9NRKdI4hKchC0n8S ZdyALDrveAXcBpz4lm9LUVkLHg3qv30FhEMdTOgr2myncdNjpVGbas74GPayaxeDY+esA3 utGV6249KcttBVujfVA20h2aJxg5uog= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IT2sm020908; Thu, 5 Jan 2023 19:16:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=Cmac1MFdopFe4FQG1oWkYqzoTR0Iob3h5RL8j18i6lM=; b=jutXYSaP6PvZ/HkUXAwljBUJIqeX9n4w/SvNp+8xTMhn9frfyae6Wi38U3eQp90a1UxG m4+BsTDoRpiqMfBgb4fzYiXJouoWVcBDVBH6aopMQv8unrVW/HG21Tl3ZPyrfVKg76LC 36iDY3+N9y98EE3GKJNXtUy6882Bt5dlki2aBRrypmzO63H22asA9ywvwBA/tn6CIVkD AkuP24CmW4PUd+8yiaR68M1FHikW+F6PWziKAUOHEz86gqE3xtGPaccjy33pq1hzkX73 pWda1nO39u+hzSbMAExchtIdgC6PDjPbbvXT6Um+IjcodRK+v5+O2sRmvdnxjcAZ3U8M uw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbgqsn8q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:02 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpk023372; Thu, 5 Jan 2023 19:16:01 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gTalMCHFYr20nWXdnPqO2vITToeLrN9lGApdQAysmaBrb9+CVlY1nRAy0+5x3QDb1AiEAX6L/KrAWScpOe5lN8GauHgLyj5tEhKRdTH1zelFVLI7DNfoNrYFNBGs9pLAkdmRI49Q/6RPv94+BM7tO5gMsLn25zOmiWBIsdfBMYg9Efjtvn3fHUE2gW+516EGZfYXwHv7heelBALRQIfavwDoIw5u6RtsdoV8YWjAS3WgYtWxlytU2ItrdCnFe4se8ghOmjM7u3HoauxllJbVlTcuCMTRkfU9TOloyUflPYw1zAJPkaKGm1wcwTiZDPp4r8ic4otBe1QzHs7SsrICHg== 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=Cmac1MFdopFe4FQG1oWkYqzoTR0Iob3h5RL8j18i6lM=; b=ekzVI4JBtrNJrsMm0X+eKkIqLnISfLhrRW8n/gYDxhSlrrYmvBl60t+9Rv2rus2FeTJ11rru5wMDOmJJuDMDsaI0iylckHh3FPNYKLIsCQlNZtgCom3P5avLsaJpOeZInJq9oe5pduspdhNRf8DYrm4gS0FLtitckb06lTLS6gyWWkJWQptSj9mA4BWbiX8mM87wUwX7KNBwe2K3rIxj7srkykjHJirtxr7w8uy6en3PyKEB2rdVnaVbOrAywtuWk/UcjK/VXGCKMLkv7BNnrm+ZIbfgAMQX4SnBQtWgPRDHvQWAw/SPV5DHsRQ1k7I2m0F4djKfAIkS/4mavXgg7Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Cmac1MFdopFe4FQG1oWkYqzoTR0Iob3h5RL8j18i6lM=; b=rIjLiQnC8jUDmYBZ/znwttC1HMkdezUQrgzCL9BCqedghF+wxXgXEkLpJ7Qoloe7HP/fx34NokVHNgrGeiFjWK4+EL0OCkbX2jkuPB+3/hhE6NhNzyVipNJcIYSg5SkI8scyCYySvL6neR/kGKi/tw0oKcpxxKSQCyurzJ6pqZY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:59 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:59 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 13/44] ipc/shm: Use the vma iterator for munmap calls Thread-Topic: [PATCH v2 13/44] ipc/shm: Use the vma iterator for munmap calls Thread-Index: AQHZIToiC89D65XtEE6Fggv5pYerrQ== Date: Thu, 5 Jan 2023 19:15:56 +0000 Message-ID: <20230105191517.3099082-14-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 9ca5c958-4b99-420f-aa10-08daef514723 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Ii132lh8cV0n2blA4A+j59eepoyEPiSy9kj6R/uTEy4JgAsZukjfC8rK4mNwFERWjmbRGZKwopXXVDZe+318SCe8C/pV6mj0TqYrEWMP45YpPm4kwNULDpT6YBk0T9Cc57c0gOajlDA/Do+6FgiC0/pAjQvIP3Z1/05UMwiD2LYwjNcflt1Sq2/1bkH+wpyZ2+4LSXm7a9Qh0Rjsg5x44+Eyfyp4XqapslllvYrOyJJtnS9bEuFZgrGnbt6RpDA/qWH0VKV7HddCYiOU4fmLKbaA0vdLBh+3X9ckMaN9DCEtBoIzqytJ+uKpVUt3GIKoetO1eF5eZ5Z16i0sYsOdpil0Fe1r8hQoJYg1Lmgr1z+G4DSHPlLLAYhI2BhVxa5Smi7U4qWUQPfRd67TsCgc3rC8VfB0264RvrvUL4d/ESoim4KqbjNKmf9Qez9cAJhPHKf9tpA185huNeo+ySxWXaYCoQ6QhEuYiEV8J0fgweeMC0C+IuWKfHdCjOar825nRUsIWwsM6/EhGAsO2OMUsUHvwV//6Cxu92ROp6HtbApEVk30ni+jALCxTDGddufDPedXaQn7hl27Vjw6umDBPVC6Saq1xF3t7N3FE/PeWoLYqqlUlMrlKmVf0PSTIxLnRjy1/vCw+8+0FrdrerRW8+kFjHmlDtbHPIvwarpGyAZAELZIAvLWW568lzqKn9t5qEuHwW3zs//r0QD2yB8FYw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?/vXXz5daDckz7wAmzg1cYqW?= =?iso-8859-1?q?Mtd/nDp+sXoyrRbXCss5Cbd7dxLS+UZEqF3ndV5Ei09Z6nT22Sb98sh+fmex?= =?iso-8859-1?q?KdQNe8JKeVlcKYfNaUuEaJtYlN0CuJYPHWNqADIbOHPH0NLTbOKPRzH/HAZ9?= =?iso-8859-1?q?sJ2iCnC0VP261jhowRBfTi+GHdRQF/9l5kc1HzYYrCL5gLnkePEMLpNHAwkm?= =?iso-8859-1?q?ZIhFQoxYiuxNmqMp22xNcAtOe/0DGLAunjYVZ3KQKEQCSjuCmdpbZHYliiC/?= =?iso-8859-1?q?9NfkV0r8uIbJmSr+YqiY1S3vvp4WHZrnbpo75YLZP1mnhSm+hr3P2iLTIy68?= =?iso-8859-1?q?a58tF6/DuXtHKo8visrSqY8YHEX/ktTph0K5FRLlj6MsVuwgvE8/OlXiJr5s?= =?iso-8859-1?q?CP3BA7ER7GOcSQmJL+5P97/vff6i+WELiC9ObJei+YuC3KswfgSQiNXCyegX?= =?iso-8859-1?q?9AU41m66j7BB8+HBP1e3nsN4h9lezYn3QO7mxA1Q/5iNw0HYjat+0/GfYmU4?= =?iso-8859-1?q?yJwaGzKUkZkNVUNgOKEUiFf5+MV4k9dJJVaOQx33mqR/qx4VQGJt3ajWwETm?= =?iso-8859-1?q?0MC8rXBgw/JtrjQ46Hl9/764mWNIYs9GuIN3oykZr1Mo+urmpEw3vZlmG4n+?= =?iso-8859-1?q?uz45PsbHqPnNlvblPrWHOBc9A1W3QWn1eRcEJr/CWPzESFNfmD7f87DXeXf4?= =?iso-8859-1?q?vfqxX5HA32onSIufZwGWp4qgfc7rydR1Id88pEYFwB57oOTMJyeh4O9/XUXp?= =?iso-8859-1?q?c66AYKImj4eVjpho1nEeaz2KdSzmRe95AgE5qXQMMkkO8DC6ggp27U6u/bL/?= =?iso-8859-1?q?vazNiKYW/5TTzAN6cnXGXYd06qYBD6bZrwzu36SmfLH3/B3XfFBIYWUPDJEf?= =?iso-8859-1?q?Ye2jrlKDS4DA5z4tbMZSbrvc+eldHn3yMh8bZwg57f+eJEYyM0HrNeY5LNby?= =?iso-8859-1?q?NdqkBZ1PBGP1wtRRqRdwnlq+wVISpSBHmZsj6QLX++apxzWr1aW0UuX883/a?= =?iso-8859-1?q?kPzLIBimfBf4RxCLTU7LZb6eDWeT0M+C09HxPaKeIbNMdiuWBdZ9eu5gy3x2?= =?iso-8859-1?q?aDdNsipJDqv15G1c9XtgFH8jM996O3kwxb00sWz8EzhBCAJ2L+cWQykadU8A?= =?iso-8859-1?q?ewzNhIn+RODVw9szq19ZkpRIUHG9P0kEqyx17RlXzIjNUB8EohPskhdfVjxD?= =?iso-8859-1?q?AAbq0sUNjK+IQYZ8rx/QsIrT/JglGSlSYvO+qf9TyF3QnSGsgqfeXK1dvKYD?= =?iso-8859-1?q?raZIdy4w8Ri90k8pvhQJbQmD0LFegdDqKVQgyPsQ7I5DItaRMAVe4i3T2uUj?= =?iso-8859-1?q?+7Yp1i1Bh9x1GvQt3raAJ7+wkCNy4/i/sP4f+/tiyvCfI0/tShDEO38EdLuj?= =?iso-8859-1?q?YW3ftEX/Cg8tVz+ieCuS7YYPhMC7cHoVgSoYMitGfPDul2Qhlv0xac+NS4L5?= =?iso-8859-1?q?A/pBg6gUl8Do1tNS1iHMN5XYqM9J2bVwtpNt5m6J5o3VxjhuPPC6vedA9qDb?= =?iso-8859-1?q?BSoRHFSHImoh3ls9kP3SMWOIiIiFxdsZbgTtENVo7J7fPzbKXeztw2qdFuUh?= =?iso-8859-1?q?tXJggxxBHvake7o3SncqaAsWa5IK7ZWwxJGc6z1gKyFz1Vf43egtE3sALQqM?= =?iso-8859-1?q?+Ji2rAzIOMKIdutdY5zlFL3DRiuKWFSi8NZf7Jg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3kZ+5gScm+6LdqISl8hQr1jU5msQgKSJ5akY9muPvpbNIi+V+gUAgiRmnBYYx2mUUyJ0DEtkZisfjCh1HlvYGTpBkECsRYcHPAE8y7yHWpFv3q56MQL9iSzUj6icHTPdvKBdYf3oTaPFRlsbGJ1h8/sLmZHBTDX/qF7mbDOf6IQrxl74JlF9DcmtTeJgxbH0LBQk09YUHbH4Ypf7PCEEr2eqlPPby1TpR8tJsXODrm18yzoQGxtgdL4VARdQ6NU5lCDPkhPIdTn+DYH3BXl/Izckl/AMjcWTK6gMrhrlAeF4TRJG4H5cT0/jWl9FwP2zjyUbZWItxnnqSGGKI6O4Ic8xyvCna5p1nhiReSx663hCzHjbsbn/MPjeV7PsAQobN156+1Dd6+4Un5W6d+UHfol+1FzWTuSegDGX81NzIyoYPx2wAVebCrNmw2uzHR87AQFcU1Hwc/1Dg47TkyCHgvYqF+PT8nD4d+CZ4eiEnyljPhclaGY9XQD5AHjNoyGWxsWu8OfngwPqTqyKcxYsBLXiZ5MiPdMl/PrHGS2CrUOFmmSfFGWYMsWAg+fAhpMD+5lPEFa5FHkH240VCml4711Nf7uNgzmBwofv9SnBEyXlCkBJgs347jwydafGps+U/VD9Utp4+oNXyVRyDA/unVOidghGITUjAxjeW7vWyCgFaUgk3VtXZnxmPI3nVvdfGGUBa83EFWTE8mwk0yy6DkOGMSZ5v4iZDUu6vTgZWF4FMz3WvJOAFDZrzbpBtUriGGyF/LU15GhP5GSAC+Mr6R4aWmQdzvCChYfJqjykDCEv4mI/qRpFr+ca520VryLlYBZs3p85zK7Ae7pBG9BkXoOrQyUiwDpAra9EBKhgxaLSKSNSAk1iZr99E5GTajPEUzp3tqAA+JAfS/R3eIP3uA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ca5c958-4b99-420f-aa10-08daef514723 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:56.3288 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: o6GlqtbU5Y1MY1Chg2B9wTG5wnupslSsSPpUu6dywm6Epw2iEBV+T0YgA7jbrLFCx1cCkjTWFf07KUOJZMmZ/Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: xUoHY5Pjh4Ejuxl70ssiUGgNwBIjm4n2 X-Proofpoint-ORIG-GUID: xUoHY5Pjh4Ejuxl70ssiUGgNwBIjm4n2 X-Rspamd-Queue-Id: A0A8510000C X-Stat-Signature: kney5ndjime6hdqipy6gcn7zmhstz16w X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1672946163-835236 X-HE-Meta: U2FsdGVkX19pHpNZnJChLtXeR/0lQkif7GyDkQVFXO7nFx28DH7/07DRJeoDrtaOf4jwZOOxmJ/Cp6BeK6mydZAR67xaGHC6PmEy0UGrIBszq/gsLpcY9i7+DsObb04cNXjMvfK1YK5WdXOdpsG48BL2bo+pDH4Vm+Y95vbeGMyL34slJ2iH/CVsg+IRgLQ7cVH9p7EdMPh+Sqk0FzyCuwBiRn+jkRGN/eNqwannLyzpfLMRVPkqB2CQWclfauFx89kajw6BPfBwvtOEUmxYctVvTPCXziKqvfhxpXgKO5FBliW7Pea8ZFrDd4KvJ5WXRdf9EIV60cAOHEDuFKH4tFkSBEknz585sCob2NRnf83m9qHZZbTAkeAp24qHEeeMF6ZkYgGaBNdhb+PGp/kh6zRb9EtRFvWXbl+t8hBU28Y3MxIQh9fhpyYbTNQ0iUtNeLL9QRcAv3nz7LgiARCTBX0zlZ3b0qtgNMNr6/iHXB9xvyGVojgzl7cnXYqOfuEYUz/Q0xp1A6xRN3D/PNXS3Y1IIckVr8BpdnhmVbp9j3Zev3aSp9Xj3y2vHDb/2Lq8C80aVeG5qj/za9O/QICnHEBuM05wE/bwmmaoQHLA09kp/8nb/7rmOJP7X2fYATZguSBO0KuorMrH+Q+oH0xsZ8aerF0Zuw4mZs4fmh3T672HJSvqwsGnpt87YPRkWlKTz+NAR20a14GA5moqI9H5FrwO+qN7P35yOYxbZ1bmdbeuDHrMK5gOTDO0REHpyOtb6qccb4XdhHeFPPOQAegXHfZnjTsGFCt1wJePzzf9SHvXpsNtpVoQRPJt0xzRCIHfQCBYSbk575w3n0MRClAuX7AAFsZDROZ5mE2Ra9TA6abE6/e9xHWiZC6KBR54zTLlyU3dl4ld6Gi03uNzEZM+kslrfK8Kfe/sAkLPwA0kF/VT5m6ofTAfcx8ZCPBcGuB0ww9iaOWNWX9bqgn53ER Uy1BnsSQ OGNd7LH9uXxYzKK7v24102zl/2vhRbFjJGWEpvT4vqUEx8k6HSpst/rj2gx0bj9+hQcb2jqwU1I7XH70JClSWS605MHKSVEQ7zIU1 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Pass through the vma iterator to do_vmi_munmap() to handle the iterator state internally Signed-off-by: Liam R. Howlett --- ipc/shm.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ipc/shm.c b/ipc/shm.c index bd2fcc4d454e..1c6a6b319a49 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -1786,8 +1786,8 @@ long ksys_shmdt(char __user *shmaddr) */ file = vma->vm_file; size = i_size_read(file_inode(vma->vm_file)); - do_munmap(mm, vma->vm_start, vma->vm_end - vma->vm_start, NULL); - mas_pause(&vmi.mas); + do_vmi_munmap(&vmi, mm, vma->vm_start, + vma->vm_end - vma->vm_start, NULL, false); /* * We discovered the size of the shm segment, so * break out of here and fall through to the next @@ -1810,10 +1810,9 @@ long ksys_shmdt(char __user *shmaddr) /* finding a matching vma now does not alter retval */ if ((vma->vm_ops == &shm_vm_ops) && ((vma->vm_start - addr)/PAGE_SIZE == vma->vm_pgoff) && - (vma->vm_file == file)) { - do_munmap(mm, vma->vm_start, vma->vm_end - vma->vm_start, NULL); - mas_pause(&vmi.mas); - } + (vma->vm_file == file)) + do_vmi_munmap(&vmi, mm, vma->vm_start, + vma->vm_end - vma->vm_start, NULL, false); vma = vma_next(&vmi); } From patchwork Thu Jan 5 19:15:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090325 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E5766C4708E for ; Thu, 5 Jan 2023 19:16:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ABF8494000A; Thu, 5 Jan 2023 14:16:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A47F2940009; Thu, 5 Jan 2023 14:16:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7B1E594000A; Thu, 5 Jan 2023 14:16:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 58F3E940009 for ; Thu, 5 Jan 2023 14:16:08 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 0290712014D for ; Thu, 5 Jan 2023 19:16:07 +0000 (UTC) X-FDA: 80321700816.03.6AB9115 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf21.hostedemail.com (Postfix) with ESMTP id 6993B1C000E for ; Thu, 5 Jan 2023 19:16:04 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=PLcADLLO; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=GGohEQpr; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf21.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946164; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=dwXa96mmtavLyIPWSQPEFi0lfaZOBC7s5fNRIY0AmIM=; b=qy6fFSMNvQA7NorBlHw1VgXjzRIPzTjoaGXMOnGy+Zd/TjB84h8CO6xvDWVapkvOexjxoq kigxktO3oRGdigJ/v70bG9gAVQZTdpF9nOMizf01q0DTlDTcx/YnsTw2/uYjYjtkSHuggg iiXA05bpZCTuMePiw7qBaID1sWxk320= ARC-Authentication-Results: i=2; imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=PLcADLLO; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=GGohEQpr; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf21.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946164; a=rsa-sha256; cv=pass; b=baMU0FKWen/mad+2f3u3dRFRokoNUECpZ4WQ71O6S1AJ/LT6/Wi4XNvIAk3f70MQeNs6Nw fJ/vic0Zf0iJRvuXsoM4xjtJhzFLth1Zmi2FDA3DNjJW+7KtxjzV0o93IGGrcfSBGbtS59 BSXvqCSSugD5Tdm5nOsJZCqJtYoiK50= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUR2q002869; Thu, 5 Jan 2023 19:16:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=dwXa96mmtavLyIPWSQPEFi0lfaZOBC7s5fNRIY0AmIM=; b=PLcADLLO0+pyQdtXtFXHL4EsnE3qvx+YyM8bN/POfMUlVHRuecWCQ5Ak+M6NPLTqAMQw 6Zq0yzNCYjw1bJPW1jhuNMcce5WJSPZOoU1P9fuv2NR2VgxWWKVHqIb2GPe0bYLzMbAt 0efGvP16yqQ9SgkOtClkbUGHNl4elf9oq/X33EYiH0JpdpXSlQQ7X3KEhVvFWuHH2aLf AtgxF4YemIn0h/QMFag9soP+w/b1G+zPJtLxeJwWHvqx9BY1YPNjv/V6oDeKoOmGKMSh YeaK+TNSczr+VbtOqLhs+vpJ2oUmv8YhKcarhRiXLnIS8bBCQPu7D1ZOcswV/jWKG7Wo aw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbp11q06-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:03 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpl023372; Thu, 5 Jan 2023 19:16:02 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GPHhQ1e6FZo3t7CH7DEJ1OGARdN+wd13ZjDbjhudfCXEiVRIFo0YYW3dqmIbuTl6sTsj/IRgrwUw//v+wTKFE1rF9qu87AXeBE/78iAhDIxtXKcyMBdx52sYpCA3/m1U6VdWo2VEu8aCG/MOtzSY/S0jyIfQkBwgAuTG/WoSWgyo20IlGvaKkCn1aiVO4bhhMHMws8VyAXPuajYUrYC/e59bnGflPgoCOtqUvZMbKEQIxNDU1Af0JudFuqrgkSspQPIJCSHopn8STdSgtVf2XdK6R/mqUnzz5LJkcU7xXaqMxeDN0nyyWz1ZzNCX/+aICP92z1EnmrVEMOrBZ48BVQ== 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=dwXa96mmtavLyIPWSQPEFi0lfaZOBC7s5fNRIY0AmIM=; b=UfXXUjwF0mM1KR/Hs3HTQVxhSMJa7pmYoMDAt3/yv3psmEp+EO7C+M5+c6oAMNlR8ub+qMcieYNwFQKHHfiO/c4j5SXJrzjJEvzqLerh00Z2AjPPnXr+eYWPk6XCdao6jIFrz8ulRZ5PBxknwjhNEAuLOcJLl7B4vYz9Cn7+B8IKtEf4SMxwyzKVKjWbNkR9aI+SurRyy435SiQkUrhHT0DJGGGEQLk0mOCSag1RMhqGGOTkxPCzV/bu/AVznZRj/V+HLuuZWRSlz4arJMoT2Rjb5z6NpQ2PnU8phZXWd5u3m8UyOzDGZHGNEKUCrijaXoYsLoY43zN1Nx6kX9TebQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dwXa96mmtavLyIPWSQPEFi0lfaZOBC7s5fNRIY0AmIM=; b=GGohEQpruRew4yz3aNgTHFJgz1v3vWovL5Px0BsOWGA+JzOmWhhnaHWtux/rW1ri/QuWun9qqN1NgGk2lwKHz+1gJL62yxy6MEHg7vYph6L/LsTGSWN48SG7V07t/iANsnqBYyyEA+ydVC/PWDxDb8Nl6jf6ng7s5oIhXQrwQ1s= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:15:59 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:15:59 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 14/44] userfaultfd: Use vma iterator Thread-Topic: [PATCH v2 14/44] userfaultfd: Use vma iterator Thread-Index: AQHZIToj7J344xy9ZUKngr7HlXXmkw== Date: Thu, 5 Jan 2023 19:15:56 +0000 Message-ID: <20230105191517.3099082-15-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: a72267b2-f7a6-476d-7cf1-08daef514779 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: V4DFrmGTUV/7q0fI1d4tBZ/LrsqS0vF78YgvHpb//SZkjF2hEgB9sn1+jVaCzjjem39e0ZRDFJU9eN2uxuxAgGhHLbAoJVt1TJQdvqEkrb5GucHT0OmUbVOxTngdZ/bcpvGZwyNVwrRLIV/SMIvam2M3fxbjBsacy4/iZSTnqRplsgnZh1K0UtG94UAJfZ1Br5i10PvaEMVrS4tAWwUOM1DkwOWUkaO3GxW7MMSFyrd78pEb4fthjSJx0TXswRfGgo6YeREmwetfumt06qYeAHXRdF2gQGIWPCxS4IDYfHkY1NUmkqZky4Q5+gGiy4DkIvIKV91e+uyWXrTb/tnXQsPYm6tqpyAiMCp3LBIwL84KKA/QHTcFdMTrygsN4WcTOXOnenQzEeJjEDZj6pdgnjQglrhsqmIpv2X/V4LC5WCxo0KPbpUxI2Z4bl5PEbGBCIQ0+wAJC+/BmCJD7HhQxkkCDPoRa79O7Wt+nFxKxEQqgW4YWoUV3okeyDbcROUz9EWx2xjYh+s2p5mrR17ert4bI2bhdZ+UiF/DmqEhSlgmSSe0WRq7oIfab48FljeFPpPDjY/OE5aby55vJMsHk3J+P/Ecz9UzTe/dJ0+QSb0qHetMyC23gxwn48oETsM9kDtP78JwRGGBZlvhFABP6lMf45q3ZEDEgKdyzSa3r3tYAk1rtOO+8vJKT5SaN3OGSCYROooNc2RsvrQ6hCNFpg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?1CGdb4qv35GxRokIflOpSYd?= =?iso-8859-1?q?MQpcbbCK29ZRk7v1BRTqMiB6N35eorPoXxM/tegktEDVxn5nlsjrlBKzJUkP?= =?iso-8859-1?q?iodI//NTphqGi+Qu1dWAk4jqpuu5trzKoJzuMHcYY31x6fE3t8tmfGpiBtns?= =?iso-8859-1?q?jnHKqstAMlUqkxzZqkJUMOBk0ullukjLVTamDNoaoN6s5mcbbjmPigDSS/ge?= =?iso-8859-1?q?qKNrY0k99r0UfdP1w/S/o5UEOK/aNdJr/f5mjcjGCPzuKHDjLYweV0LGnFhb?= =?iso-8859-1?q?0bNuapnKcMxY8v2PU8pbodEhKusGoK+fS5ni4JjWal1cBor0RLnT2+FsoPcU?= =?iso-8859-1?q?i+2w22sO1jsIFYd/IMfRkIZ0LJkYy1CTyX3Lk18BGGwazF8LXltaOWLBky8B?= =?iso-8859-1?q?NqLipxfpZp70QDzFfLAWHU7MuII1Q7CaXLsZUaff4PbWHgzYv7hICKemJ7DV?= =?iso-8859-1?q?yWYdcX0V/pxrviOxoju2jR4FmNBlpl/JKXoxZUIh+P8qMQpTOslH/oZD7I5h?= =?iso-8859-1?q?k7rsyskGs0tncAmXuS4T9ptWp2bVtD3FgpfdQJZEykxYBJaW5cc6mrhY+aXl?= =?iso-8859-1?q?i/89Y8G2o2wYgnXVRGQ+bJh8TVunGIBb2ol8wG+Dp/yHFaZnI3I5g+lLKX+R?= =?iso-8859-1?q?FnG7st7+8VVkcEu/nmwYTDhE4icCLJbI6+fOMC4IAUiZ38wGR8kNg8facv44?= =?iso-8859-1?q?WztIley7FIPXf0jB1trn0jEYMc+arrRlugv0Nbt6zQeUYGngsNKv3pb1nVOg?= =?iso-8859-1?q?tnzHJg1P/cZLNF8tjK5iW9tYUGGfqKZHNKTYqseWU2SCuHYvkb+xh7jdaUcD?= =?iso-8859-1?q?HFBfX70go2XS0nQi42YBqJRQ69X4AtOF9/edxI6f9bHOnBkXawescSdXcN53?= =?iso-8859-1?q?SQFRblvfRnQveC7Pbma0tzXoCexNFC0U2XRAynS34Hp2EBNA+Vn8S+RAG9MM?= =?iso-8859-1?q?1Ch3CRDLrnFFAX33GYElilDY7m9Ruihrk0TL9NVcx4pVcDx9rPqjwTlPsueB?= =?iso-8859-1?q?vTtrJnozMQXX325wim9zEwNuQJ6jfgnTsquu2o8Ki7aXaqjKqkgnj/UfAOKn?= =?iso-8859-1?q?KEW9xqh8ylEfygvZh+B+FvaNXcf3dHxcaeA5x96lsMhY5CUZdlF2w02gk20+?= =?iso-8859-1?q?woOg05JzgkJDEQXN6FFlZMtisjlQbIR7qJ6dqSa/4lM83yARvYFK5P0EiHsS?= =?iso-8859-1?q?x+839Ke4gljyLqro8YoZuTpMnnTAlSqczt+nvhJlTEEkdW96hO4Fet5seRx4?= =?iso-8859-1?q?3LbovrtSvnqv2izpR76xqYZpUdsjc2/p+ivN1SI2IMb/sf2IdXUPTzQ4wK2J?= =?iso-8859-1?q?UBGYbrqwh4xo/coe3lsHFAoJ/AyOQe5vjJLPB1fmpD1CgiOlJtmlOSORtyND?= =?iso-8859-1?q?kL4zKBDCPzaNVCICOqn3GaDxhm3pAYr3p7OgJtoEN3fxdT1VSTB7JHERePke?= =?iso-8859-1?q?pJdiov5iXe4WdtJLMVA+WQsOC8xTqPGzGzy30GdGzi2bhW4yFIPYYXoNyq/W?= =?iso-8859-1?q?SM4aEkzgi7+WcGg900zAHznVadFRTvgKa63+ucRZTAnzQ+4FikQZKhJ0ata5?= =?iso-8859-1?q?5lZ2emFEv3Cg8rQSinoAHU7HAJyDdKIRMFldWH31oSTAjHfVtaho6a++baTq?= =?iso-8859-1?q?C3fbGkHGXAjv2qMaMyZ51jqgGW2Ic1RUlkEkHqw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Eqne1y3o/cdIdlNVOp8qTpFYn9k9TI3ewcQ0lTKjpEOtJaPSDc/ZiJZwXOk/jN4KirY6wfL+fiea+Xpj+JNKGoz2VSCIX/Fzj57Mgr40AE9X/fuM1I0BW+pO0Ai5GCJZeM0OsSaSse245vZr5Ly7133wHIsczcv2odgkp7TnWmYd/gxo/5O5nKfmafgUujZ2NKbY4Sreqbv94oRdGYbqCK8ySOCBcipKMeBZJ+BiWtTI5NkjIdpFD1I+NuuM7p/o+3y8+zoLDAhBY4qKES1UEPu8bCSF58gCFpyYnvp78Lx1qbvROp+NfHhl2sk3oSESDR1kXOibmlmYdM+9dXdM0Ff87SIHmn6QCeoW2PExj3tkXi/y+9vc5v53CVjEZU6ErX2fa7koLfapMhyCurTSl56qaJpvdJl0cFGQI1MySPA+FWkyKgVPkUwZ7w6bwCgiiEDyAFDvBP87UQo4hloXO8g88E2HQiNSuGTJpxc4tATSYzIhJFfr6i/V26X9JL4KfspW3TLWNcxHYOSDrh3wm7dVw28t2gkOte6RQiDKHKo6waW0t9u8umi22ofwMpNzJkWyJI+Dvf6+7t0heczfoAMpU2Z88cEVMTO5DfVY4euJB+A2Bq+BmyrCPcuU52NwjdIHpXXzyFJhwKc1UQC2Sf5RbtW5WcUP1YWHsQ7bUxphXwqJDvGKoNUYdtRXl0VF5dikaXB7mpHtYhFUjZnLyrcXmHlW8Fo2zLGDqa4Z4PUvUFjIcUpICdaiASJDc4N0gCYKhGXTkXTVaLwVZGEfNoG9wLaNx07MIfQey9BXHQ+u1BaQAEwPF/9UklOfF/WDY+eieG5+16nUxOdZ640Ks3Vh6mfIGk4QvzskrnW3mNaR3iFqtHrO+uStcoO7E/vtyqgPj0iW2RlUGdklSyAN6g== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a72267b2-f7a6-476d-7cf1-08daef514779 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:56.6725 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: B/7AxTu2T1WGR+5sJG5F2/Djr/XxJs/7HmPPxQ2idV7tmWxjNfiG2Wm/I2izm1A7/z+VRsNiCMj6Z3+sNRI6Jg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: Kf5VJVqHXVNvfwtUZuQi_U42x4-pZhiu X-Proofpoint-ORIG-GUID: Kf5VJVqHXVNvfwtUZuQi_U42x4-pZhiu X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 6993B1C000E X-Stat-Signature: banocm4zjd8gdhjscqfdem7jctu38mz6 X-HE-Tag: 1672946164-54419 X-HE-Meta: U2FsdGVkX18TzgDHJzO3sE/Cl9dwQoiJl+h80zgSvXmiE77D7P2mn5IxukHBs6ffevAZcrUABeBHYd2fLgePDu77n0x90s5S6aPpFsYW2F7FZP9TXPqggIAVgNkCqYWdj9SMydkBiZXBWEKondPYIvhUemh4mbcT4PeRnlRUjS37WX1hY2pmGce28tT0hLaWjMRnnw4rqgFuwWsn2o+wPpS31F7vSUFEJQaDGjJkk9f3ZcCba2utyMFwfl4AKu0ikF+Cc4+eNy5KTGMWV2g/IwKv6Yj5o7FfRRtjWrOE/an3AtP/18yGY20QwYanrrn/OV/ebfmiusY/x7xFMUJbtm8dYi5h/1jqywlB06drRpqW6i8ta+UE2qmKY+D82cCmgpcpaekvaNx9BjC3J/iQqSfXRYRSrqF8TWU5sX8NSgCCtKTcH2veB9sWr/rXGx2J7yjl0ohT6LRsqy59QNhsjpDCR0L7b1NuseguUnvAb8bmhcT/DhwEagw5rdfIpfdKzHoQGMAQxSGrIrpWsLHCMRzGHA2txRVkYfvIKs0hC3dfRbYNnVm3GzH1qYWfnzvk5mPeDzli33jmp3Dkaqjf99Lm1hAKXCKPTvl6U83C1S43qXxlKNrN+JwnMIZ2GMYAw/67lDxYCEcKQBlgJblwbWcgU6hlB1bk4rXlpG9F72jwEW8B83ijGCsFGTv5UPdkRkTglteG5EpxSGx+WpVGo1EY6849JXLNLBJ8BbPpvIF+MdFH8utNTpV9qWxKOnwodjwUYbuLIUaLBYggQtUOBvpwmeFMYFNQWz2aQq3Y0ijKWX6HHuf7nnuQSrCS1Yy6A3QcCC8RkZqnu2yeqGXngArjmt1cSJtFLv+d0KQr4y0+f61JKIDvOdRKDPaaAHi3HNlzgYp/PyEHBb83i01saNsSNf8DMWmr6iTqR4evLpPwiroGQf4JWHFPNp1BthMN9WkSl2z+q5mBb3H0Bsm 5vhYabFB Uztdd/2/aTrBJFp9WwyRdaFdap8hQDu4pcEk6TefvRHJD6v+VdhiZ+82CPk9whzk94mawVFz8qQM598UdC80cW1gtDyHkswR3LpN4 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- fs/userfaultfd.c | 88 +++++++++++++++++++----------------------------- 1 file changed, 34 insertions(+), 54 deletions(-) diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c index 98ac37e34e3d..b3249388696a 100644 --- a/fs/userfaultfd.c +++ b/fs/userfaultfd.c @@ -857,7 +857,7 @@ static int userfaultfd_release(struct inode *inode, struct file *file) /* len == 0 means wake all */ struct userfaultfd_wake_range range = { .len = 0, }; unsigned long new_flags; - MA_STATE(mas, &mm->mm_mt, 0, 0); + VMA_ITERATOR(vmi, mm, 0); WRITE_ONCE(ctx->released, true); @@ -874,7 +874,7 @@ static int userfaultfd_release(struct inode *inode, struct file *file) */ mmap_write_lock(mm); prev = NULL; - mas_for_each(&mas, vma, ULONG_MAX) { + for_each_vma(vmi, vma) { cond_resched(); BUG_ON(!!vma->vm_userfaultfd_ctx.ctx ^ !!(vma->vm_flags & __VM_UFFD_FLAGS)); @@ -883,13 +883,12 @@ static int userfaultfd_release(struct inode *inode, struct file *file) continue; } new_flags = vma->vm_flags & ~__VM_UFFD_FLAGS; - prev = vma_merge(mm, prev, vma->vm_start, vma->vm_end, + prev = vmi_vma_merge(&vmi, mm, prev, vma->vm_start, vma->vm_end, new_flags, vma->anon_vma, vma->vm_file, vma->vm_pgoff, vma_policy(vma), NULL_VM_UFFD_CTX, anon_vma_name(vma)); if (prev) { - mas_pause(&mas); vma = prev; } else { prev = vma; @@ -1276,7 +1275,7 @@ static int userfaultfd_register(struct userfaultfd_ctx *ctx, bool found; bool basic_ioctls; unsigned long start, end, vma_end; - MA_STATE(mas, &mm->mm_mt, 0, 0); + struct vma_iterator vmi; user_uffdio_register = (struct uffdio_register __user *) arg; @@ -1318,17 +1317,13 @@ static int userfaultfd_register(struct userfaultfd_ctx *ctx, if (!mmget_not_zero(mm)) goto out; + ret = -EINVAL; mmap_write_lock(mm); - mas_set(&mas, start); - vma = mas_find(&mas, ULONG_MAX); + vma_iter_init(&vmi, mm, start); + vma = vma_find(&vmi, end); if (!vma) goto out_unlock; - /* check that there's at least one vma in the range */ - ret = -EINVAL; - if (vma->vm_start >= end) - goto out_unlock; - /* * If the first vma contains huge pages, make sure start address * is aligned to huge page size. @@ -1345,7 +1340,8 @@ static int userfaultfd_register(struct userfaultfd_ctx *ctx, */ found = false; basic_ioctls = false; - for (cur = vma; cur; cur = mas_next(&mas, end - 1)) { + cur = vma; + do { cond_resched(); BUG_ON(!!cur->vm_userfaultfd_ctx.ctx ^ @@ -1402,16 +1398,14 @@ static int userfaultfd_register(struct userfaultfd_ctx *ctx, basic_ioctls = true; found = true; - } + } for_each_vma_range(vmi, cur, end); BUG_ON(!found); - mas_set(&mas, start); - prev = mas_prev(&mas, 0); - if (prev != vma) - mas_next(&mas, ULONG_MAX); + vma_iter_set(&vmi, start); + prev = vma_prev(&vmi); ret = 0; - do { + for_each_vma_range(vmi, vma, end) { cond_resched(); BUG_ON(!vma_can_userfault(vma, vm_flags)); @@ -1432,30 +1426,25 @@ static int userfaultfd_register(struct userfaultfd_ctx *ctx, vma_end = min(end, vma->vm_end); new_flags = (vma->vm_flags & ~__VM_UFFD_FLAGS) | vm_flags; - prev = vma_merge(mm, prev, start, vma_end, new_flags, + prev = vmi_vma_merge(&vmi, mm, prev, start, vma_end, new_flags, vma->anon_vma, vma->vm_file, vma->vm_pgoff, vma_policy(vma), ((struct vm_userfaultfd_ctx){ ctx }), anon_vma_name(vma)); if (prev) { /* vma_merge() invalidated the mas */ - mas_pause(&mas); vma = prev; goto next; } if (vma->vm_start < start) { - ret = split_vma(mm, vma, start, 1); + ret = vmi_split_vma(&vmi, mm, vma, start, 1); if (ret) break; - /* split_vma() invalidated the mas */ - mas_pause(&mas); } if (vma->vm_end > end) { - ret = split_vma(mm, vma, end, 0); + ret = vmi_split_vma(&vmi, mm, vma, end, 0); if (ret) break; - /* split_vma() invalidated the mas */ - mas_pause(&mas); } next: /* @@ -1472,8 +1461,8 @@ static int userfaultfd_register(struct userfaultfd_ctx *ctx, skip: prev = vma; start = vma->vm_end; - vma = mas_next(&mas, end - 1); - } while (vma); + } + out_unlock: mmap_write_unlock(mm); mmput(mm); @@ -1517,7 +1506,7 @@ static int userfaultfd_unregister(struct userfaultfd_ctx *ctx, bool found; unsigned long start, end, vma_end; const void __user *buf = (void __user *)arg; - MA_STATE(mas, &mm->mm_mt, 0, 0); + struct vma_iterator vmi; ret = -EFAULT; if (copy_from_user(&uffdio_unregister, buf, sizeof(uffdio_unregister))) @@ -1536,14 +1525,10 @@ static int userfaultfd_unregister(struct userfaultfd_ctx *ctx, goto out; mmap_write_lock(mm); - mas_set(&mas, start); - vma = mas_find(&mas, ULONG_MAX); - if (!vma) - goto out_unlock; - - /* check that there's at least one vma in the range */ ret = -EINVAL; - if (vma->vm_start >= end) + vma_iter_init(&vmi, mm, start); + vma = vma_find(&vmi, end); + if (!vma) goto out_unlock; /* @@ -1561,8 +1546,8 @@ static int userfaultfd_unregister(struct userfaultfd_ctx *ctx, * Search for not compatible vmas. */ found = false; - ret = -EINVAL; - for (cur = vma; cur; cur = mas_next(&mas, end - 1)) { + cur = vma; + do { cond_resched(); BUG_ON(!!cur->vm_userfaultfd_ctx.ctx ^ @@ -1579,16 +1564,13 @@ static int userfaultfd_unregister(struct userfaultfd_ctx *ctx, goto out_unlock; found = true; - } + } for_each_vma_range(vmi, cur, end); BUG_ON(!found); - mas_set(&mas, start); - prev = mas_prev(&mas, 0); - if (prev != vma) - mas_next(&mas, ULONG_MAX); - + vma_iter_set(&vmi, start); + prev = vma_prev(&vmi); ret = 0; - do { + for_each_vma_range(vmi, vma, end) { cond_resched(); BUG_ON(!vma_can_userfault(vma, vma->vm_flags)); @@ -1624,26 +1606,24 @@ static int userfaultfd_unregister(struct userfaultfd_ctx *ctx, uffd_wp_range(mm, vma, start, vma_end - start, false); new_flags = vma->vm_flags & ~__VM_UFFD_FLAGS; - prev = vma_merge(mm, prev, start, vma_end, new_flags, + prev = vmi_vma_merge(&vmi, mm, prev, start, vma_end, new_flags, vma->anon_vma, vma->vm_file, vma->vm_pgoff, vma_policy(vma), NULL_VM_UFFD_CTX, anon_vma_name(vma)); if (prev) { vma = prev; - mas_pause(&mas); goto next; } if (vma->vm_start < start) { - ret = split_vma(mm, vma, start, 1); + ret = vmi_split_vma(&vmi, mm, vma, start, 1); if (ret) break; - mas_pause(&mas); } if (vma->vm_end > end) { - ret = split_vma(mm, vma, end, 0); + vma_iter_set(&vmi, vma->vm_end); + ret = vmi_split_vma(&vmi, mm, vma, end, 0); if (ret) break; - mas_pause(&mas); } next: /* @@ -1657,8 +1637,8 @@ static int userfaultfd_unregister(struct userfaultfd_ctx *ctx, skip: prev = vma; start = vma->vm_end; - vma = mas_next(&mas, end - 1); - } while (vma); + } + out_unlock: mmap_write_unlock(mm); mmput(mm); From patchwork Thu Jan 5 19:15:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090326 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0D4EC54EBC for ; Thu, 5 Jan 2023 19:16:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3708D94000B; Thu, 5 Jan 2023 14:16:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 259FD940009; Thu, 5 Jan 2023 14:16:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 00F2E94000B; Thu, 5 Jan 2023 14:16:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id D35B6940009 for ; Thu, 5 Jan 2023 14:16:08 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id A3120AAFF6 for ; Thu, 5 Jan 2023 19:16:08 +0000 (UTC) X-FDA: 80321700816.23.C9B5785 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf02.hostedemail.com (Postfix) with ESMTP id CB17E80020 for ; Thu, 5 Jan 2023 19:16:04 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=mGU+CQJ0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=uj7Ttgxa; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946165; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=D2mcWKAVukebEq7oYYVYGVxNeBUmJn8wuq7aGHCw3pI=; b=z/w9+cKQvxgssEdnEc7VRqs9j1opu7+3K1+gZszxJpAAT7md8ZrQAgjKYd86MlOeqhDKkc g/SsacVvBXkULQUO+E3drkNwo6g+W9Cgw5ay6yRgjh/Z/umCwvhJQHkAQivz1o6NxmBIpn MM3UEKSiRQzxFRE/Ji+dFuMEVYqubnc= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=mGU+CQJ0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=uj7Ttgxa; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946165; a=rsa-sha256; cv=pass; b=MfYpMnPEKdNbX/ADe6C/euREbs5NF34+yZvVpRy08VWhAEG3uTKSEUEK9fgh0XxMUxtOn1 vN4EjiiLurYEkyyedTgxfbu2LRXRObXWecHLc+xbwUbApXpqvjbdAP/fhlVyDBgaPgdctW 0Eok6czrnO5mercGuYkG3imEWh5yB2Y= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUNSa002761; Thu, 5 Jan 2023 19:16:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=D2mcWKAVukebEq7oYYVYGVxNeBUmJn8wuq7aGHCw3pI=; b=mGU+CQJ07YOV/bxCHr0y2oWSAUa+n3yyPTwgazIW0h57DoI5tRpoqXYSECAE6pDRFfl7 E/6ibpHtlj3ED1NoKmuXdGpjqzAny2ECGFyDwjR4RiYhaK7E3Q6jOqm9zdmQAr2wCWGs 9jVYi/SLpj8xgztoAih3fTVXDOnTUzYhUCMgEjONtiKKKK4gkl1YaZY0xPxTFPZW8QaF rfh0lJ/VnOpRUxBAGtoORbzqMOfr+Dk55y5DDXB9BormR7mSbrfZhxCO2PWiKi4l0rDC q7PaRqRHU6+eNWMVwcb/HJkTIcblGGBHfNha8pWYJo3pAeE+60WX3ACGFppMhKUyIFEA Ew== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbp11q09-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:03 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpn023372; Thu, 5 Jan 2023 19:16:02 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-6 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H8s2JG+6z5dlGWKYWxhiNmFEEEo7v/1zcThNJqwELk2GlknaSsGphMjIFGvWvEMuH0LAk6is3ap0d9bTx1Mjnz29Tk6vEf8rHnF/rFrbqQYOOdaja2OmBYtv1V1dW4tYP+2woH0eYMiVVyEs/7Xtb3lPoiifOJULYGGH7VK3ExTHG3plDYzgZkpvO4IbROaVn4Jhls1A3xAToZIklTQay8jCbyS423ok1syJFIyL6rhQlcoRQBOKiQ+42XEtqo4KnTfBuWWn/6UTVX0dYe/UuNadhQZcThb2sKF0aDKYaXFbL4HEIILnNTOIJ6a0M5s86DQL1HKloA1yRJRnL18+JQ== 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=D2mcWKAVukebEq7oYYVYGVxNeBUmJn8wuq7aGHCw3pI=; b=l7bio04bdmEXZ0XPrslx7ijvRs+0IKpvU2d6QUjKvwIDcw5SXAxMOdlcpmd+nfFQRTcBNdTHp1b4xryX9iNvGz1dItVqzX/YB0IwxbH7h0jRzzihBoLIUZjwQu05UyswHhMZYBeRzxKGDbL15w32bquqEmEgpW7W+f7M0DFxQxVtGaPrzjaXeJ3X6ZfhD5sLirj9jwRQrgVPsplk3wF3WIAih5pgweGRbBKhSxkgUidovJWKfyCeN3fUOa8hqcP7A4JxuA3d44/UTvN3QKvGEhQYVeXE9aeZCD6SOs/uWF6j1qSBAJx8eDWzUo0DzNPr7pj7EbLaHf+BxO11HjvYGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D2mcWKAVukebEq7oYYVYGVxNeBUmJn8wuq7aGHCw3pI=; b=uj7TtgxaWEh7d7mp9SSjRJbwMQgobIqi69QXaWFxNV+vdwAMssmD/EDRAMNN2QRdye3X39JPwcKGo5t2VNBXefw1oL0Vg/gWREb8aJAEimMooG72r5YDShRG/h74CNoxuDDFJrfqcGXQPjD8h38iCJuSt4Sih8K/XySCRbtDhSE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:00 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:00 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 15/44] mm: Change mprotect_fixup to vma iterator Thread-Topic: [PATCH v2 15/44] mm: Change mprotect_fixup to vma iterator Thread-Index: AQHZITojC1aO2fk7xUeU8jhHjC9bew== Date: Thu, 5 Jan 2023 19:15:56 +0000 Message-ID: <20230105191517.3099082-16-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: b12dccd9-8e7d-45ac-2932-08daef5147c8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mRZDTnTMviRjm9CzuAesFaPbTZc9LABtcaEb+BsgU92zQQ9aGZyofgBde78ReREap57IOGEamlkdfQ7+jPNpx6j77J5TmAi3I6z5X18CRVGCp9vGQ5uI59CwGOkyWGHOVqdhcXWBszKgQWEm8rh6PHt9f6jX0PuPLW4A/HLbb4XSiQUaBErR76PTHVxmMZ51/mQF5wjgHZQp4vx/zuUAFaUumHB33syPX+oAQ5ZaM99XZTt9y+mtzmjEhl+d6+bbUDx7sHp16mi28bRbHKlbTIQbFXee/HyjMMbr5AuRNI5iNtIHQBSCPSc6Q+dZnLqdybE26+qp5TdKfuafp+GTnMwO1eu508gK/XcAB4MxSNDxRI/jpjBcoY+DWMbfHFXKhKpq7cm50AmWrkwPN7J2IYYfcXq/Cyxq2SpbwyxtNdd56KxBnvN7fg33o6SkM+GSKf28uTm7FWh7i8No+ZmmiPrzROY8cMsSp0VvvITE0Rf53iZETHFVV4GbHIQFPxGMGOSpI6puyI09SGrJHLoRoeqqYdz0XdQQghdA5PIXqoqx7Ww9ct4qJhhYZu5pa/RY/GPHndJ5rlVIPbMBq/6J2AOwppJJr6/DowHAs5RNauto4+fCMLkVHyuMKo1Zdcbcc/VzJVBeO+NsZeP9XdetkaESnPnuKhM4Y6Qsk4+K78IaVd3sO9ApR32I3Q7AGhSW2LaJo6rryOqDlhAafxTcqQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?lpP0K/cloY9UCn6/6mZWFzq?= =?iso-8859-1?q?7h8xxv5BTIK7wKbzmvFnhSM6/FET+2RbJjbH0QG3DjG6A/F53ziH/p5txT0w?= =?iso-8859-1?q?T0IfNIXFXsQUhiQBtSFhVmCCQNZYY5YakKLmZy+ljRuWy/xhpbFBsrVT+oar?= =?iso-8859-1?q?Xj5/pO/p8ReO6TJpcY6yQuJBzeLlKQri8pt0KXl37fL1fPbwNFb9gk3tsGS8?= =?iso-8859-1?q?EtrZggjb/Uj9rXhnzyWnjdzrk2UxscrFGRfO1TbFAvLsMslmugTbKlGBbnAT?= =?iso-8859-1?q?LV285rjHw4M6BDF7mooFC3M1gDhrzhSgy0FkE6wCeWgveRNij5AxvoEzrSxz?= =?iso-8859-1?q?McuX4ykRFex3pwJerg9XqnUj3znnGQ2A1bjjKTXfF0O+otrASf5aFJ1VNNNy?= =?iso-8859-1?q?8qlyu6tYnGsSOzF3VCi2qHgQ0btktBuQOZRfqCFZVTrOVz9oFUU0gpfQ1I5m?= =?iso-8859-1?q?ph3U7jlefmOVSF1QXBhNZ8/1O1Pn4l4ZEkbmAg5veycF2grEtCP5nKFRmw35?= =?iso-8859-1?q?cX5BywjKa1lEctydAT+v3S1dX306WJZADP3B8KO/YbWk/OuxiM9CAm0A1Yfl?= =?iso-8859-1?q?jIa9Hlp8bZkWCjAyj6mnfOI98Eq+pAB+CNi2Fvfbq/sLpV0wRshESRneFY3U?= =?iso-8859-1?q?yBqpCT6PcGi0stEl4DVwAYHc2u1WtWiSccSPS8LFYK6QU7z6/bcytRXyBfKt?= =?iso-8859-1?q?pCEqbMGSlfrznttDcEaZ5Y1JYr3IpJJmWb9oi4xbpR1OQC1o7xorog86dnAZ?= =?iso-8859-1?q?2lrlRhDiwjDzq642t5wG0w19od/Qed5349mFo6Qrl4CfPoxwKMn9o77AXnRf?= =?iso-8859-1?q?pTejvpX03Mybld8u5H9zBKsWLWGUR+QhERgvkTda34dIo4Ab+T9Fa63EtULa?= =?iso-8859-1?q?EID79CglBIyWo+6YyhtauDqikldSOlhem6oNBeVdyipPGIoVKsoM5NWCzXgU?= =?iso-8859-1?q?ipTVyfvskSa/BV7otOwfPTqu678pQqWx4NuGKA+huWokXNfEgArEvboGCNP2?= =?iso-8859-1?q?9QnhkoiSCvCS+t06P0bdK/cmrJxLcszyp09CHQZRA78b+DfLaFPqW/FCYD0o?= =?iso-8859-1?q?JTq1FkCwlK99AmwUsuRuvwSS3CT804i4eMJqW1W7M05S/FxHdJa1EYQs1Dla?= =?iso-8859-1?q?JEoMWHYkd9grv78pnL/+/T/YfnN+g2hWXmCZFKD/iyZ0yFzytxaOeClx0YSq?= =?iso-8859-1?q?8DuCyYRlyqpGDF6TV56qro+WK5rZJFnFsreAc00J0q1VCb/vy+CXa/8KEHYz?= =?iso-8859-1?q?uHLZ/HKsa+aXYoU2bYn/LUiZFVaErEYLO9VJEeRvPVy2FbI9CsRLABVSJHJC?= =?iso-8859-1?q?9oLgXlKGYnICWPs4ggDX0EMoKSHylpMoJ6cF9WssWu98ye00nT+W38GLjaVj?= =?iso-8859-1?q?TByngM/4TmqPp27G5U0v2DHdRLthf4PY0NaW1sYOu2fVMJLfV1tMJ4aTAHW5?= =?iso-8859-1?q?qyCBlUbs5ZOOiM9Fo6Le2q8TCpL0OqXbdhsdeJ+QWI04nuYpnYM1mvUKiOtj?= =?iso-8859-1?q?cpERlj0F2Efamw5kGTTo/Y+UJZcVAA2RbsRMV+wWZxTM4yp5uaReHqDMKmnv?= =?iso-8859-1?q?lXWrgCEW3r0CGyqTABmKxZn8RKHLNrBC0qwhfkj1vpjBZH2rB91IrIBcuOot?= =?iso-8859-1?q?hTWdVZ046GBEd8DbyEbIwh3i0AnLgiqOpxzqNmA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 6bd7hqwChbmwzbfk4GRigRWACnyt6bqvhaNDIQXli5BOYk2bWYe6bubHOIqtDuuD00mBC0ZQy2eoLqAa/BGX0EckJbYMNCrnDft2UIDX0KE91d19eg/U7JMUFDQglj4eWNeyvlfvn53WJXMsEENdGUvVeINE2c+ZpPwytN7IGsdyYsKOOPHCzqc7DbI/Y28yUGUao2P2oFUMXD869sytigniuvbSK1PXu6IVrDljHgP+x4GL8+5rrFHKVgHVTGr5SgqlCZy2bMFtSt9XksClf87Wk1m26Dvhi6oS19XN83yBUOLTkqPDkeoxzw4opfex57QGIuBdWF8HZZf4OQtYEHrVQo/JWYkZyNB7eX33N1bZwPSTZ7QcX/lTn+aLluYV53WkydT5oqcYsi89CAZ/MOEMH9jwdfrwiWUzRuDBd6gmoitXoZnEsz3MHEE47l1CJD1Vu0k6Oezvtl9efDqJEBJj4DJOkdC0OmYOjpGdVQp77JDBPBERAowdACUC8DkYhXLmTgla2G65KEy15Dz4T+5pTVlm/+WCjXGymUrObMMF+W0D5bzZbNqI3uuRK0/2sAyejSGxSKYRUR2yx7C/HTvI539bVLV7+H+ckH/bEZyW/7i+El4S1Dbec0s1/eVIKeOk17Qs3qCMvvv/Hx4ntpHL9DxNcts/6s980bIPU+RgPGlDEGBOT3kEf8kjljk48QclKFb3OnHuQPnTfcaWYzgVoOg/0EvS18FHK1bj7BGIbcewPpHriSoCbRozCzz2fr8dJw5Cf4mGlmoESturLIiYzY6iJX+g/NDToUyxALmI6UN7nPFszvY1HGKr/JAOYvIMPa92yglfw/SrYy9Wh/wqMhsuKZ0ih9NKOoOvswwdhi+P2TxaIJRkbeGdh3QCtSPOd8Px4xhIodlfTHa4hw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b12dccd9-8e7d-45ac-2932-08daef5147c8 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:56.9381 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4sPXSMp4j9M2VwQywQWH1buCcAkjpQ9zJ0Bm8HBpbup8pgpc6+rOEWwuMI4TThIwreYQJ3ykTzDn0CUoGQTpaA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: mGauV3OtX3pt1Yd3qMPMU05B59AftB8h X-Proofpoint-ORIG-GUID: mGauV3OtX3pt1Yd3qMPMU05B59AftB8h X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: CB17E80020 X-Stat-Signature: 8kiaixw5unhdrd8rb5k4twup3qtoujjk X-Rspam-User: X-HE-Tag: 1672946164-283119 X-HE-Meta: U2FsdGVkX1/MWMmeIpoMbtFXCfNeJsivEbqb2mGmxlcOcrhzhrA6EN+1CQyXdAijYQBt42Wz/vvoRYajmoh8PlFsiyqpSA9wNl2zszu+nU+o8/Jm63Lvw/+939DV6YPA3/0P3GFweuurtV2rT4wL4K6blVYvU4mpcYc6bH/cTS7QW5cKZXzjm7dt6g3TjT7W6GIZdWG0kAJP2ny1Ln7mHactBwhIENPuYmyipKZ+481WXhHpviDKZrSc/yL+0xb+2H0b1t7iDfHXL1x/eoibAjXopPfrWTLfexAoqFqxDn3AECkW/vt8KAB67DkqVdLT+xl9Cic8kq0GeU27RYJNygkbKoYzArnRPfDQ85Ad9c36LQvAU3vZFIqT26Ue4vAPwFTsRQvciEaABgjs6oGRQYWjClWNWdkPkwLgCL3tcmi++pUUFZD+Oh9aMICvFZLR4oyGptCKJ3xTy55gJUkgTtgEmbuM7Zid0yLR4Edk0Yk2KeP5Yv+F7ciLGKdiFVOt6K4fkc5Uz1hxpgzdo89HtsL/JM8t1e156aPvLPe5ujp8V+1qUg45+mxk+xWhyuJWrUgoXXT+CSttGDlzFj2yFJkVfFjAIQxf0XM+XJVIhnif5nA4Eg4WRxZQruwI1kMdg7JX5psGCmigQBwx1etwvOKpHpsj4O5V8UF6+xs90HIXOvol8CPsKxhnED7I+1qlnQf8f0LkwN1mzRaYD0N55zyUOm50169YQfvC7tqCDMxVFlNjpjGupsVolAVZ7TiQUE5B+azlmeOo51AVFSF+lDZmpGbnEKRBGPQcJ0Cvf40J3a6kUZcttGbBgHbkvPzGgj4ADrhZyzKDqpLi+X2grjBzRAmVr3dZ3477HNE2aBPOXf0IANgP0qFcbtXfPxhi65O5Q2yIk28BUktqDoGm+UB09ILdB5QQzl6s176DrBoa0LxP+IL3FwjWWnP5M8ZFzfiAcTAusTUM8wcEeOr tBhbhAAY BbFSTPe+BhIJzD3/uauM0Z8QaaY6cWXOCqCIbnAD7uB4ZXsYmTopifdKodjtP758iYNmeMrr2ZeulEV6paFktAi9AXR4TZWpITqbVUB3UP6TurUPlTOJEUleBE0dXPFTpW10gT9H1FRR+1i5U4x58bAzZtA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- fs/exec.c | 5 ++++- include/linux/mm.h | 6 +++--- mm/mprotect.c | 47 ++++++++++++++++++++++------------------------ 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/fs/exec.c b/fs/exec.c index ab913243a367..b98647eeae9f 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -758,6 +758,7 @@ int setup_arg_pages(struct linux_binprm *bprm, unsigned long stack_expand; unsigned long rlim_stack; struct mmu_gather tlb; + struct vma_iterator vmi; #ifdef CONFIG_STACK_GROWSUP /* Limit stack size */ @@ -812,8 +813,10 @@ int setup_arg_pages(struct linux_binprm *bprm, vm_flags |= mm->def_flags; vm_flags |= VM_STACK_INCOMPLETE_SETUP; + vma_iter_init(&vmi, mm, vma->vm_start); + tlb_gather_mmu(&tlb, mm); - ret = mprotect_fixup(&tlb, vma, &prev, vma->vm_start, vma->vm_end, + ret = mprotect_fixup(&vmi, &tlb, vma, &prev, vma->vm_start, vma->vm_end, vm_flags); tlb_finish_mmu(&tlb); diff --git a/include/linux/mm.h b/include/linux/mm.h index 9c790c88f691..98c91a25d257 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2188,9 +2188,9 @@ extern unsigned long change_protection(struct mmu_gather *tlb, struct vm_area_struct *vma, unsigned long start, unsigned long end, pgprot_t newprot, unsigned long cp_flags); -extern int mprotect_fixup(struct mmu_gather *tlb, struct vm_area_struct *vma, - struct vm_area_struct **pprev, unsigned long start, - unsigned long end, unsigned long newflags); +extern int mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, + struct vm_area_struct *vma, struct vm_area_struct **pprev, + unsigned long start, unsigned long end, unsigned long newflags); /* * doesn't attempt to fault and will return short. diff --git a/mm/mprotect.c b/mm/mprotect.c index 908df12caa26..7e6cb2165000 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -548,9 +548,9 @@ static const struct mm_walk_ops prot_none_walk_ops = { }; int -mprotect_fixup(struct mmu_gather *tlb, struct vm_area_struct *vma, - struct vm_area_struct **pprev, unsigned long start, - unsigned long end, unsigned long newflags) +mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, + struct vm_area_struct *vma, struct vm_area_struct **pprev, + unsigned long start, unsigned long end, unsigned long newflags) { struct mm_struct *mm = vma->vm_mm; unsigned long oldflags = vma->vm_flags; @@ -605,7 +605,7 @@ mprotect_fixup(struct mmu_gather *tlb, struct vm_area_struct *vma, * First try to merge with previous and/or next vma. */ pgoff = vma->vm_pgoff + ((start - vma->vm_start) >> PAGE_SHIFT); - *pprev = vma_merge(mm, *pprev, start, end, newflags, + *pprev = vmi_vma_merge(vmi, mm, *pprev, start, end, newflags, vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), vma->vm_userfaultfd_ctx, anon_vma_name(vma)); if (*pprev) { @@ -617,13 +617,13 @@ mprotect_fixup(struct mmu_gather *tlb, struct vm_area_struct *vma, *pprev = vma; if (start != vma->vm_start) { - error = split_vma(mm, vma, start, 1); + error = vmi_split_vma(vmi, mm, vma, start, 1); if (error) goto fail; } if (end != vma->vm_end) { - error = split_vma(mm, vma, end, 0); + error = vmi_split_vma(vmi, mm, vma, end, 0); if (error) goto fail; } @@ -672,7 +672,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, const bool rier = (current->personality & READ_IMPLIES_EXEC) && (prot & PROT_READ); struct mmu_gather tlb; - MA_STATE(mas, ¤t->mm->mm_mt, 0, 0); + struct vma_iterator vmi; start = untagged_addr(start); @@ -704,8 +704,8 @@ static int do_mprotect_pkey(unsigned long start, size_t len, if ((pkey != -1) && !mm_pkey_is_allocated(current->mm, pkey)) goto out; - mas_set(&mas, start); - vma = mas_find(&mas, ULONG_MAX); + vma_iter_init(&vmi, current->mm, start); + vma = vma_find(&vmi, end); error = -ENOMEM; if (!vma) goto out; @@ -728,18 +728,22 @@ static int do_mprotect_pkey(unsigned long start, size_t len, } } + prev = vma_prev(&vmi); if (start > vma->vm_start) prev = vma; - else - prev = mas_prev(&mas, 0); tlb_gather_mmu(&tlb, current->mm); - for (nstart = start ; ; ) { + nstart = start; + tmp = vma->vm_start; + for_each_vma_range(vmi, vma, end) { unsigned long mask_off_old_flags; unsigned long newflags; int new_vma_pkey; - /* Here we know that vma->vm_start <= nstart < vma->vm_end. */ + if (vma->vm_start != tmp) { + error = -ENOMEM; + break; + } /* Does the application expect PROT_READ to imply PROT_EXEC */ if (rier && (vma->vm_flags & VM_MAYEXEC)) @@ -782,25 +786,18 @@ static int do_mprotect_pkey(unsigned long start, size_t len, break; } - error = mprotect_fixup(&tlb, vma, &prev, nstart, tmp, newflags); + error = mprotect_fixup(&vmi, &tlb, vma, &prev, nstart, tmp, newflags); if (error) break; nstart = tmp; - - if (nstart < prev->vm_end) - nstart = prev->vm_end; - if (nstart >= end) - break; - - vma = find_vma(current->mm, prev->vm_end); - if (!vma || vma->vm_start != nstart) { - error = -ENOMEM; - break; - } prot = reqprot; } tlb_finish_mmu(&tlb); + + if (vma_iter_end(&vmi) < end) + error = -ENOMEM; + out: mmap_write_unlock(current->mm); return error; From patchwork Thu Jan 5 19:15:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090446 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98815C3DA7A for ; Thu, 5 Jan 2023 20:43:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D9C28E0003; Thu, 5 Jan 2023 15:43:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 262708E0001; Thu, 5 Jan 2023 15:43:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 066098E0003; Thu, 5 Jan 2023 15:43:37 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E32378E0001 for ; Thu, 5 Jan 2023 15:43:37 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 73FF9C064B for ; Thu, 5 Jan 2023 20:43:36 +0000 (UTC) X-FDA: 80321921232.17.0B2F8E6 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf17.hostedemail.com (Postfix) with ESMTP id D688B40018 for ; Thu, 5 Jan 2023 20:43:32 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=nFGiF70s; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="xh9/F4dV"; spf=pass (imf17.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672951413; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=GOm614tl429iOQ+POVCVrJ+RGa5kuncI+Q8HcO7IgjY=; b=Vx7c8X3aTY0RvwzvN56jNmXBf4N1C6YmA3LiVB0V4fODJ1W2LAMbRbThW4pXGcqs8utLr+ f0r8AcnpQZtSocAUDuH0bnXNFQQij2gRM3c+cflrS0y1QVSZw+BqBDugw+4iT/SzllLmMd ofzMxVhQ8aNoDweXwvDA/fevd2thIhI= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=nFGiF70s; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="xh9/F4dV"; spf=pass (imf17.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672951413; a=rsa-sha256; cv=pass; b=7pcceBe6gcieaam7nDB6p5r6ZxRciFFgeGfgfDzly+81dL3eQm02fhaEbsXkWBpCSGT/Ol JGHAWrPuu2rDXe5ETdvvNjFwYRxYU6KwSrksn+AYt1/odmZzGmc7envxnr3r4uUvwTu5GY DK2wdORpSt/t9xH199zStlxVVPhWT/o= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUJ5d030170; Thu, 5 Jan 2023 19:16:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=GOm614tl429iOQ+POVCVrJ+RGa5kuncI+Q8HcO7IgjY=; b=nFGiF70s8no7lzl5sYvcZYSomF2QqY9d8FoXMayBaOD7GqoyvltksVWqyeKn1tNym9PS SdH1sdwqjqtLjv0GsSWjF+o5m15nxz3FyNBnUaXe/LYKWRkSXvKZtngKnf6aMDIlIQim wdt4RosFNqOQj2qn6WQ9N18WtKr0QHtWburcSABJKVB7F1j8s9OtBOv5asO9sLxeM/kW GyFJZmP6nYTmi7V6fKRbZpl6iCX2SCBC3LQBXSn3bQ9hprOwKc4gzgKCT0oHSdKHK7Hj nEDUYq8zdX32U8FT4cNCCOBw+Nbpn3amxEKvOjQ2LSct7xNp7T+xaKKaGQ0JsNpwSmL6 HA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcya9k9s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:04 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpo023372; Thu, 5 Jan 2023 19:16:03 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ChHyF9oOCmFU6lkr23Hz8la72QALSrSwfqOAUwZX/33Y6eUR8DEOvPwMvLatRXZ/M5p/H+t9zW8p47X0+Od5EeJmcJxyif4oU+ikux5vsz0UE5lRWOkkX89lQfjdnZhGFFakWOoMMj+2GOUka+Ga3HhJSokViZQsBk+Sk3ldtoPS+0pKvU2x7/VpCvp7jwdrtDl5OtsFUUnxhwEOkEPHSsSyOa5SGJFF4f2LmhxEsrlN1W6GYhK+bFig6PNd1X41TcZ4Ag4QuOW0wVnZ2v+6uUjJmPF+gltsVLGlkX7vCMSExaTXjlfpg+7326n9rGqBf7iYA7nf7UFwu+Yay8XALg== 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=GOm614tl429iOQ+POVCVrJ+RGa5kuncI+Q8HcO7IgjY=; b=aWhCf4pvcWuZtAxJpYhJNsdGHRNcx4Xq2GIDgAp+YQEeaPXfXfYm3pfd9gFjduT5F7YS+G83RqsofFDKDdhgODOMDgs9VZlkBUI175q3OuNQsJKztox8EWaYkBL1e9XW4BIDAndGvsd4nNujVrCyrPz1FzFTERbdyOIdYX8hNBdIUJEZFFPuPBMM5f6JrclBj/JNeMvnvjTrlwYWQeO/Qr9JJskHe+VtnVq+REv+CDJWKGLXoj6mH4lpDGL6Swm5Yvb5snhe4cnjtCg/AmnujzYxIklfxesteVPfFsagluwixNkpAy/h1SJTFfq97ZC6mdqjaVpqGEMzROEQcZaZRQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GOm614tl429iOQ+POVCVrJ+RGa5kuncI+Q8HcO7IgjY=; b=xh9/F4dV8Q+6KGLyL2JqiiFElr9E5QDLwqYQYSjhIMwe35K9l/XpM1sAXaoa21tuNNBaYf2E1z4wqHv69qxHWhbbKHZL4mQA3LBgccycyCVjVq7rCAmDmPiUzk3l619NAWFecNmByYnUxF99UTlSf+pn0YSu4xkoxOkYqe/0UKs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:00 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:00 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 16/44] mlock: Convert mlock to vma iterator Thread-Topic: [PATCH v2 16/44] mlock: Convert mlock to vma iterator Thread-Index: AQHZITojRp+rlyDyuU+9GjNxV6YrOA== Date: Thu, 5 Jan 2023 19:15:57 +0000 Message-ID: <20230105191517.3099082-17-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 85dca05d-b3f7-463a-10ca-08daef514812 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MygMY/kj2Nf5rt3LTfgn2mSk78g1w3UvaG5E61XgnX0SW5bUijhlVnKA5icbyDrurwVaozKgZy0BJ2VJJTLQ8w/+y6v+Gik6+lHL3P24921bJWsdJ2ZNbgsZsmIWxZQ1RJWhdMgpFCU7sZh056wGjmSgwzb3MTb4xgzTa95cMafqsTgIUVbS6AAG6XM1dRXOlpjCWcauA0kCYJ48R1XVi1lG1stWckFPSYwngB7sRMXb6K9uj3wG6s9auQ9J2NsN3Rh8zBLpsTZHpW3HQR9PmiylEx8+95gUyZ4Y0vHmG2IsDcTTIPBkmP023myQB3xQ5aS2KdLNPQEdMj65YECoYlno4MARkU50AvOVaIlWhEpSpba27glENNnkjqNEqboXUpsBySeCDFuv7RY/qaP3a5JNmTEnNSiTTBUO83b/Q/2UzyGg5rW/H3oakoHDYIPaOv2kxOdn+OppN0iTVUl+v6UTZkAD2xbz4zTGYhHxY2yoRpKLcHqIJnQm4WnhIYmvYAIHDCg/ocXrAcyIxaVN6tUIabsfpTQKfOJmzRPuuS/oGn34A4yAb0D9ltseu2aF9qrtDn1mlIn1WnhwKnjru4f/KWbrz7fHDBS4+mVf46LZDoE1GdK77kmSsLjiLhlRUO7SE+3YQVPRHTUXvgtQ2aumeh+4bZzYQZOc57nSNDGat5mt2fWQ1MFcicJ8DPe7fPZBCtEPh3UwDG+lgwBfzA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?TK8QCv5iWxa+J24swxMgong?= =?iso-8859-1?q?jgcVnPAc/z3dCdaJPK+85QOCT9aPNiz8bd9Kv6IAPMGri43tYt1+uzWQCtxr?= =?iso-8859-1?q?FIJDr3dqAZDfo6ynUtQpSSj1B6hs0BrH+ljVmrK/QA6fqMdB8sLlGa+5foFM?= =?iso-8859-1?q?HfpBzwvjpCdETzKUjhwvV9Xowjo9UP2qzMbxVp10MJC6MXf8NswKPUR9js3e?= =?iso-8859-1?q?ZLHL24R9Tl2FELU5lfV7piPqKIQHSverS6TxnenJG/cMtz4tSnvkHmNb6Q15?= =?iso-8859-1?q?ZURhk7yaU8tcN+rJZgktyjHCQARVOnLWefHHcIzI6S6hYut+koPP4I+VFLM3?= =?iso-8859-1?q?Kvdrr29Qls2Cxgyjh89eKbzNLWOTxb8vqGpCjLY2esZ/WgSApeX+lwzRLq+C?= =?iso-8859-1?q?QYgIB8J0ay/dFmgjWvVGEigPh+E2C3QLMCaZll9/hamTy1e/GG2ycIgyNET7?= =?iso-8859-1?q?DS5RQed9sYI3j9sPST2f7YK/7uI4J5BetsOfxCUObkCqGmLPzH1HZpXPyV/V?= =?iso-8859-1?q?zgmifXk+2v5gRwJOFYwr15IeHWw7Xox8SecHgE+btaMlqGsNh7dyGpmk2Jwd?= =?iso-8859-1?q?97eY8iJ7J00pnx4YrjazpjRsYzdU26G8OWR0OHz8DFxY6SvKfbHecf/2xOMi?= =?iso-8859-1?q?2+Nf06CSAsq4Kjm+43q3dNbmZVhaa27wgY5lm+aCq+sgAn6sOqwGg1eQkruq?= =?iso-8859-1?q?hZ3SzCYi+iMOwnZMW2HnfIcGa14dq0xbKgdYB/WX9g7SXj9mZAOr5yvmoO2V?= =?iso-8859-1?q?qmyI5S63alrnM9nF2w518peF2sVDTYtmUSG9XIF1EZPBmojj90G/rcgFZREW?= =?iso-8859-1?q?wLFczjkk3fMb4o51i18RcS12gEJEhxwhuNazFMK0kciXRuBYwAVJDHhpx1o5?= =?iso-8859-1?q?nrzmBYFTljuyls5zhKGssMgiOUUShDFhWIirl5KMKFHUO6g9ky+aEc2FwePE?= =?iso-8859-1?q?0B1v8q/4trSya/IcvcInlBnmeiBVmhtpVLB1ZZLhGlC1Si+4jJ+OecXq4jWm?= =?iso-8859-1?q?SaqHHySUn0U0QvPW5CzQrnmNkPrkQa+2e2bRWXgEnUNVUOMXY9W+v1uNOAOu?= =?iso-8859-1?q?l1SpOypJupSgWpn37q9CuYFSIkAjdlY4rSKZxfbu3uIvPWhk2byp7WL0d5Pw?= =?iso-8859-1?q?lY9doSTxP1v2fAC/cmtRCVCZR/m2bckwsr1ZF/pSM9zzCouiRj03K8TteBgT?= =?iso-8859-1?q?eMkQADvSNBu8iZoNknnVHoJpWlD0Xv4rAVfgh5txDQ/GlmXMbaMIDwDIPDFc?= =?iso-8859-1?q?Z4hWrbs5lRuqnNfELgDJZw7UxPVSjt17UhvJC8Vog9HNS98tV0HZbllvEmly?= =?iso-8859-1?q?s7pm1WJDT5/134qnVFx+3tdeu/PpQyrxyEtMtF/PpuvEO4AvffpOKRUhlkE/?= =?iso-8859-1?q?n+vU+w2E0VcPEbIBNm4g0Zq3HxA66t2YUQETN71JQeKTS4hWeKiEu/GwAG0r?= =?iso-8859-1?q?TZRO25+JVKV+pJapctry/8Fb12H5zqcnLW0RlQHZeIq2hWyO8Bl4o7BFIFlu?= =?iso-8859-1?q?wliU4RQ28IxmuAFdIV9Z51lRlWYf4LieqMIYToQIgrmP+vxHR2IWMHak5gN6?= =?iso-8859-1?q?hX/Kfy6I2ReGvpZjmBb5xJDCxb4cSt1T3cJ79X3Lt659EYfjR6xRlisHag9O?= =?iso-8859-1?q?lawukElEi35C4t0qma5RBUmlqvkG+HTlr+o72TQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: EgoUwO6bDm1yd6r6ifB1PFJDmfRDF+RQeKboOr50edALgHdOfxi1qaY4+3uQRsa/NlNZ7hMPL3TNTkD0/WPx2oHDaLUSVSbdzQclOPPW8uhbX8+MOpL7cvqEX+pXHNlHKEcn8S4OHqTRJeVHkFBvBIbg1wbJF31um/lbJ/rO9dcZrPhtMKK4DalGi66gxiitfwLQLurXXhEaY364V3H2tA3wR2zdqMlsBZ7H/slBU+Mwj+i389gAF8f3fmTQbj+kiR5M9x5pLife0L649uf+jfLqcr7ZylyUURM/9zvVYgbYS3JCfWtUCfYM2pWbk9ykGF1r7QXuGzhTelbwpfU10jjix4V6ilIyHCvkKlvzDaSNhQ/V2fQQlTh113J6p83zR1hpUvjQZfYFhP5Zi2GcJLGCQb0u5OU9eMm2NipdVEfDJsePUqJlVP2WCkEyj1Ui67HGDiQ4Nx2JvgA5TFtHJO0qm7ynpBMIWPiXwfZddWOKHR3c3Fj/aIyn6FWTeD/q3fYoRw0uJL6Gyi8PAyYriG/rnKYL0WEcWPGqIdtZbF3JRpvasVcFD3Uuojl60YZ5SmgNZVnHP6OWfE4ertlNUG9b6DGRdiJXvLMMaOVngStvz5Wgki9bDYjEUs+DuZP7GnQ9KpOM0IvSzzl2Rgiicj3ONp+6MmSf4AqJsLLWbL2pEQXzLSP0nVHaFWp5oCbSYmFsF6ksK1Ij0UWFNeqFtmofTBHnfcInC3mLNi2WUxJLY9NHifgAwNdPXOGbawJ/oHI1NeUJ1Lxhf6GByEOC0s8Nvf2LbrhNXFM07/DrrMInvc2GplL08WUx2GbSh7U9mfmOiBM4+9EfmcDtQs6SnIqwbOCmNRGqW5pBNZYcnQvAR5bHyX1GFASC3rgo6w2SmSLRlRhlp5pTG5DOKnABIw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 85dca05d-b3f7-463a-10ca-08daef514812 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:57.3444 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zDfNGMIb2+N+MeQjqFdw2+jwMU7InTBozQDJuOcmv2hMs5mv0a+KMHdtrJGMzKs5nzcnwUuAIPCmExDu0WOZzQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: syyomKtQtid0ioaNdMUt3xTi5XW06ZtO X-Proofpoint-GUID: syyomKtQtid0ioaNdMUt3xTi5XW06ZtO X-Rspamd-Queue-Id: D688B40018 X-Stat-Signature: huotqags3iojrycg79rfe73sccr5tsrt X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1672951412-903888 X-HE-Meta: U2FsdGVkX19BSbLBFb8bA86ow6F5QrBYtnBpXIHMuhG46RgadO8ZYEs2hxpdYHz6KRorVcUjGpf1WPhIqX2kHLLzKal/UP4xQRQ015mFC9XuHRf+khNovg0cue2E5h1tZ0Q1Zs5pX5ZBleXU1KzJ2bu+kMQ0Y+SZWjddA0KdG6s0jsGDDHJP0812TCg5NtErE++Fhwgh9ZhlA3zmzUiQNQpQR8clfXR9pK+zGwKFPXreN26YOkYtDydTW4Dr1tBhQ7YEAfEt77dCvQ5/2/V6CUVY33B18hsE8cQOZO/xVQo9mk8RHLGmGT6OyzyLT6Ma+xsCJsfOMt/SAnpBoC1fnCm6Kl1RRmHcak7+LO35OBTFBTa1whH2OwUwg+fC3sSBYEhe3fmMXk3fF/6gIhiF/ppWlnKe9TjaIMdUW8ZbcoDMs6GImhwubru7J8mIYxNY8bAjXZPqMcOVn+xaK/+dTDa37FieJut/gGHsD3Xi7ewcuRSmIPcul2Aph7NziszaORh0tFfqejrxI3zWnzj13ircprPwktXmqiSXg11rT3HVzNE/tjy+rfbtuLg2WrHRY8u+8dAE0mpjdmyKHiNzxhlISC7no337XW3LTFSvXSIXm4nkHPc9VctzW2Lg7onsI4GffdU8eXu7kkuCiPWaq6sjdsMHvOi0Eg3tQpr1OJhz5TdEBmKAVg6ilFZzUHn5hxEg2BMYsWc49hSK7toMqbn+jym3n9+ZwhXm8VQ2o0hMqyiSsLY80zdMjTjAR30/Sll187P+sQaC2xaqkkT94ENdDEjAfmf9OqbgJyve13ZvfvT4NqA8FqoAXN81WK3nnvOIwivNLx98LBpumJ6lINQ90WxFhYoYVmjmPPyRBLh8tJ9MBhodQUg0iQ99ea5IeDQk8p0uQJKBx0D2rMTDvlkJq/vU6IjOwJrp++J9OysJ67IY2rmZsZonfkxMFaQi289HXgg/lZ7tlNUdxNk Bn3XaY7V t4CeABFHMrtAJNBC02iw97qOCIqoaVXSUywe+zcy02OpjrEpA7IE+/7/+InYhrUsuD1JRZME0PRp6Vd0l4/k3FFZgqw9Q97HOmcLS X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- mm/mlock.c | 57 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/mm/mlock.c b/mm/mlock.c index 7032f6dd0ce1..f06b02b631b5 100644 --- a/mm/mlock.c +++ b/mm/mlock.c @@ -401,8 +401,9 @@ static void mlock_vma_pages_range(struct vm_area_struct *vma, * * For vmas that pass the filters, merge/split as appropriate. */ -static int mlock_fixup(struct vm_area_struct *vma, struct vm_area_struct **prev, - unsigned long start, unsigned long end, vm_flags_t newflags) +static int mlock_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, + struct vm_area_struct **prev, unsigned long start, + unsigned long end, vm_flags_t newflags) { struct mm_struct *mm = vma->vm_mm; pgoff_t pgoff; @@ -417,22 +418,22 @@ static int mlock_fixup(struct vm_area_struct *vma, struct vm_area_struct **prev, goto out; pgoff = vma->vm_pgoff + ((start - vma->vm_start) >> PAGE_SHIFT); - *prev = vma_merge(mm, *prev, start, end, newflags, vma->anon_vma, - vma->vm_file, pgoff, vma_policy(vma), - vma->vm_userfaultfd_ctx, anon_vma_name(vma)); + *prev = vmi_vma_merge(vmi, mm, *prev, start, end, newflags, + vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), + vma->vm_userfaultfd_ctx, anon_vma_name(vma)); if (*prev) { vma = *prev; goto success; } if (start != vma->vm_start) { - ret = split_vma(mm, vma, start, 1); + ret = vmi_split_vma(vmi, mm, vma, start, 1); if (ret) goto out; } if (end != vma->vm_end) { - ret = split_vma(mm, vma, end, 0); + ret = vmi_split_vma(vmi, mm, vma, end, 0); if (ret) goto out; } @@ -471,7 +472,7 @@ static int apply_vma_lock_flags(unsigned long start, size_t len, unsigned long nstart, end, tmp; struct vm_area_struct *vma, *prev; int error; - MA_STATE(mas, ¤t->mm->mm_mt, start, start); + VMA_ITERATOR(vmi, current->mm, start); VM_BUG_ON(offset_in_page(start)); VM_BUG_ON(len != PAGE_ALIGN(len)); @@ -480,39 +481,37 @@ static int apply_vma_lock_flags(unsigned long start, size_t len, return -EINVAL; if (end == start) return 0; - vma = mas_walk(&mas); + vma = vma_find(&vmi, end); if (!vma) return -ENOMEM; + prev = vma_prev(&vmi); if (start > vma->vm_start) prev = vma; - else - prev = mas_prev(&mas, 0); - for (nstart = start ; ; ) { - vm_flags_t newflags = vma->vm_flags & VM_LOCKED_CLEAR_MASK; + nstart = start; + tmp = vma->vm_start; + for_each_vma_range(vmi, vma, end) { + vm_flags_t newflags; - newflags |= flags; + if (vma->vm_start != tmp) + return -ENOMEM; + newflags = vma->vm_flags & VM_LOCKED_CLEAR_MASK; + newflags |= flags; /* Here we know that vma->vm_start <= nstart < vma->vm_end. */ tmp = vma->vm_end; if (tmp > end) tmp = end; - error = mlock_fixup(vma, &prev, nstart, tmp, newflags); + error = mlock_fixup(&vmi, vma, &prev, nstart, tmp, newflags); if (error) break; nstart = tmp; - if (nstart < prev->vm_end) - nstart = prev->vm_end; - if (nstart >= end) - break; - - vma = find_vma(prev->vm_mm, prev->vm_end); - if (!vma || vma->vm_start != nstart) { - error = -ENOMEM; - break; - } } + + if (vma_iter_end(&vmi) < end) + return -ENOMEM; + return error; } @@ -658,7 +657,7 @@ SYSCALL_DEFINE2(munlock, unsigned long, start, size_t, len) */ static int apply_mlockall_flags(int flags) { - MA_STATE(mas, ¤t->mm->mm_mt, 0, 0); + VMA_ITERATOR(vmi, current->mm, 0); struct vm_area_struct *vma, *prev = NULL; vm_flags_t to_add = 0; @@ -679,15 +678,15 @@ static int apply_mlockall_flags(int flags) to_add |= VM_LOCKONFAULT; } - mas_for_each(&mas, vma, ULONG_MAX) { + for_each_vma(vmi, vma) { vm_flags_t newflags; newflags = vma->vm_flags & VM_LOCKED_CLEAR_MASK; newflags |= to_add; /* Ignore errors */ - mlock_fixup(vma, &prev, vma->vm_start, vma->vm_end, newflags); - mas_pause(&mas); + mlock_fixup(&vmi, vma, &prev, vma->vm_start, vma->vm_end, + newflags); cond_resched(); } out: From patchwork Thu Jan 5 19:15:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090464 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 57A22C4708E for ; Thu, 5 Jan 2023 20:49:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C23348E0002; Thu, 5 Jan 2023 15:49:34 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BD39B8E0001; Thu, 5 Jan 2023 15:49:34 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A257E8E0002; Thu, 5 Jan 2023 15:49:34 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 92A3A8E0001 for ; Thu, 5 Jan 2023 15:49:34 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5D945AB08D for ; Thu, 5 Jan 2023 20:49:34 +0000 (UTC) X-FDA: 80321936268.14.149ADF2 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf05.hostedemail.com (Postfix) with ESMTP id BC3C2100007 for ; Thu, 5 Jan 2023 20:49:30 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=pGwAKfNe; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Wa9tUizp; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf05.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672951771; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7jgMvChxkwjpmNBsSLPkBEf800VrOzeU4TR5euk2NpY=; b=mprHAUCCMp+hQ01Hgp0QrCvdV2t6GBgOoP3M8gSzSCZK3GsXVTAGoIWHumXqpbU4WJn7ZX lEdXrGu4fzx+zLkI9oDD1PTq935y+G55ZKX0EOxLzvYqNiUmijyyMzumMr7guGguDyWU3F ZAodXdvrIiZgSBZ0zK3Ou08YiobQ8nY= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=pGwAKfNe; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Wa9tUizp; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf05.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672951771; a=rsa-sha256; cv=pass; b=WVKUpcGE9fI2kmYaqiBUL7HpZKFdvdhaLW7m2dj8wgnmNVX9PMbXsAAzakiduVsRKZwWLu ePZ5pbR2f0D9DDtVELpOvnuKe3hNxigsb4LH39KiI8jeUzTNOm41l4crtsbQgJJCGKzNJh Z64zeTiVxAmPi+Kw7Vh2uWfRrgkbLw4= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUIHk030165; Thu, 5 Jan 2023 19:16:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=7jgMvChxkwjpmNBsSLPkBEf800VrOzeU4TR5euk2NpY=; b=pGwAKfNe8ZUFAmc5AO6HNuUhtlelCvnviSt/xFncZ8D7Lfn1e2V7WvsRSbLQDRGmjjNX riTT9GfIR0unDSzHh7DkIwmomeVSK3Wm9fpiAcboPWQB89xLwHAqvdnJ9V+aaHN/UhSk X0l0gx5Cfq39sFtgGtbEGgTz8qw9LwLU6PTLE2/hIULwNMC/LNdNvL0MC0/cjKRA8mI3 ZhTWnLvaKMUxzVGlJaxn5UFdpvbguN+CFMaGzp/eMgIyng0ukiPmX3gHdTOYe8A3L/F0 aj/uqxEUaJwHe/YrFG3ARruRHtsn1inowHMN9oAzO1CbeJtY7Difb3DnaQb1uidNvEK0 yw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcya9k9t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:04 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpq023372; Thu, 5 Jan 2023 19:16:04 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-8 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C+OTktSWJDapqBpGxtrCu/OREZE72ma/4obSwxnycxlxjtfZWQILaSk9RWjVYdLAgbpmE4VUAxGLVtLfRF2MC5bLNfiokgRzhpvaDfHIVDOfdxEtvL+D+b3EGajBdjlmGWosfnUN3ErLNzu1ki/sqfftLr5Zr89z2M0BX9t7eKHzfb4HuAtlXsVzedIytZ0VIIeM59XIx8kmtmpIA8ID3WyUNjPj0qRrk2Rjglnuv1sqzCFL4zg53nzooTuOeXOt7uh+3yjGGVoPQKX+2dKe/41jSmoJt3EW1zYy+dhdJAx0QY8m3+aKWL/woMLuWCIIS1gXeLguca5ZFfepefhAfQ== 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=7jgMvChxkwjpmNBsSLPkBEf800VrOzeU4TR5euk2NpY=; b=cXjDrF2kajt/sStB/zSd8yZ0LtpuLm20ym6DqteaeAFM3+u7e3eZ8vYlPvGjGVw3mBp/87aQr9rSekKMSQzskPs4Q1U5H6OVdfT6PGeJEv3uCAvpVW/5eJsBHogXh7W3GiBQiExSWDIZj3+qbOeTZt2iX2zwdxiy0pg5AgA0gpwWbEhz0LdRqorjWhnbWiHD6gcjnHNhWVTpKO74BAdWu714PfHYwzI5nSvx7bAcsPb2eHcjPqgSdUaUXeVRnaqZ/rAIzGDViNQdo2ssrqCJOMgLauSdHbyn4IDxQuMXRshZ9ni7AK4epFgnqnQy15Jt+SzGJQGLGgEOUpg2Cylrkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7jgMvChxkwjpmNBsSLPkBEf800VrOzeU4TR5euk2NpY=; b=Wa9tUizpINnKRyuDAK/cnw6muYg9KXR2mghQU6VanAllACD+b/+t+kdXZvxIZKemkGJVr0yXsIF90uobOk6Tr64DxBL0DOF69t50Z4ukdebvse9N77927S+XRtzDdTB5OKGMTWVo+blL6IJRKz/seZVmH3NuNkFBgoORaca3Dqo= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:01 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:01 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 17/44] coredump: Convert to vma iterator Thread-Topic: [PATCH v2 17/44] coredump: Convert to vma iterator Thread-Index: AQHZITojDS5jnae8Q0GVPtLwlCGoAg== Date: Thu, 5 Jan 2023 19:15:57 +0000 Message-ID: <20230105191517.3099082-18-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 3954ead0-7d07-4238-f874-08daef51485b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eR6lp+/Or8jF0+EVfDEmrUqFWBZIAVYs16xPKYl0DipaPiEqfOb1BWPbEZBTvLfvg+UtG/nN02wkRiqIG4JYFval/ii6HGLZTDSkvWYyDWEt8vh/X4EOSEbQplmgUtWy9+ksOiQ45+iKdEEHC+4pD7vuqypQig/4/ao+Ef/ATwBjHP82GTb8iSVR5xa9Y8ZnXkjNp3Tb1awF60F/H+qKZEGDjLuUWqAtv6qX8KvkWbZ2oaZXabq395x+l5Qe5E+YL1PkR/c9EAWFMFV98bM5+UVUANaGzfpu7kds3DhZ98HnZhLiYMRV7N38EipJVVdAYzHHtZRMWQ9fy7sLtonmGHe2KNO9NI091PYadbCZUtrCcHlIMMf2CyXasP57VF9MgbvC1JkESUbYSc+osfCw5n+SReGYv/iJbYTxSuTHvBHYXvCnCj12H0HG14+yLY7+FQzrJys9j/mlEhzLOUBskvVVbAC0TQYiTLzOLA3aiLltwqhmz0myX4yYvzmJwHM1KwAQXo7UE+ISxXg10BsidGFnO9LkqTE5S9y/nvlfQfOLwGXFti9cY6tVgS1G1PhYUxB1KYsCL2NTG/oEBX3YiNaQWGsVUzYmnuIhqqB61tkYDoN6UoD23hc9CktDoou8Hba/nuhsAYIdXyNUZ9t0KReoirgEFUtAIW+UHVdVdJYRdgyrHZsnMw0OCOE6uEvDKmn493OtDNxbpRV1W65/fw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?TJZUuLADYzmWMlqhauk+zGL?= =?iso-8859-1?q?K4ccKCL4pRZiYcPrr2iKS7hKBZmOJVAfNb5L0gFfmqSv1FPAWzqt7GFWnXR/?= =?iso-8859-1?q?FDsQeGCI2iEdH8LFrfNCWvV4GSaxDjWMbSkrWTqo06cPt4wEMlmUhRz76rMr?= =?iso-8859-1?q?hfzz8mPP+WBZg1UMe4gazbrboUIChT+zokB8/zsRwHulary0JPmsegsjuzeB?= =?iso-8859-1?q?6Ml6rkr9bxYE7VJsVQb1TiktYVQTcGskzGf6nPuBb+ijpw/bCTBotwY3v+wA?= =?iso-8859-1?q?WbPgdSGxXRLAkgoPe7X8u7jKqnrJ58w9CQdcDRmIpQpT9NYjGxkAfaFNf+br?= =?iso-8859-1?q?2YoCrDaBSBk58cX7G41DBf17Pr2t9SINVp1szLl96g6feosNCWxzBeY4OF6+?= =?iso-8859-1?q?flcaWmlCxf2lXKnPWTJ5T9Xz2chNjsl2kd/UugI3ueuRVjKYOs41jnYqHQlp?= =?iso-8859-1?q?2U8zwqDr+8l6xvMpGyiALIixQ7j0PjmnPYPONvMak9+Bdc0aSM4ixiwo2681?= =?iso-8859-1?q?YpPa+mp3N2Oz4nsrHs7g/Z+YT6qM93nPjf6KoK+nEGj81tD1Mv6IZDa/m/Hj?= =?iso-8859-1?q?Fb27DwHOx2hOhzApDuCiwChs5bGfTB6rNQxa0P38zr48R54IrL9AqNZHeWvC?= =?iso-8859-1?q?5Kej1WZWHbgFEi/qDoD/5r7LMkFjaKZmMI/6WD6eJe+DgK5Iai3hdhJX4bzG?= =?iso-8859-1?q?q+JkIlBnDw1/2Jn64pbZavkXV+F5ieEaYOs1zaB5idPxvRDCSl/TwOw3MW1x?= =?iso-8859-1?q?VLxxLuD2HUK0Ljm4vtiHc6Lj88SSFWFD8O6epS52xf1M45Y4rKO/1ziiYJOh?= =?iso-8859-1?q?RFimSIYHiZfNNnDrFQHeo9gb4bYQZs5g/gs47b7qng0dfhTIw/8D5tCfpiOb?= =?iso-8859-1?q?sgZReXRLJLqm3glwPqBJoSS2sYEYklc4FuNultBRP3zahf/GgxcpzQNYOVeM?= =?iso-8859-1?q?boQcxmMJAZ40xIdbqoxYd6NodnUgJXy2Z2sOLZrBI2A4cuBQ2iGfi4BlNW/v?= =?iso-8859-1?q?dfndqmc+mPuLwDP9GXqC5If8BCbc7X65lWqDUGJlHnFIHmF/aSoVkFL2DZar?= =?iso-8859-1?q?39uFcl/krqdyVsUUOtfzRYnijaa7vKzmib+QA97Xly7CYN5snTsfOWQ0qI4k?= =?iso-8859-1?q?YkouGJ8dVhZ2buTtNF9s8UASjNYnYMq4sGCxWeQsiztwUhHIwJzvglk9tkXq?= =?iso-8859-1?q?lsNUzszVNFYQn/E9Q1i68TWSQsXblyCZXTtm7PFhsC8F8b/vhka7dW/w7IUy?= =?iso-8859-1?q?RX9HDwHBdZ3hgl/YqLCb8ENMvVf/ho7y9uihWBSETPpKiMdvjdu0LPDR2G68?= =?iso-8859-1?q?eLxN7SLIlIEcd24LPGpNGgK376PwciMnkrZxXLPhRdUuCjHJ+eBQZER38vCW?= =?iso-8859-1?q?2Vsz5b0hH4hUeHldkwOtP65Kz/WxJTd40HgV3pbJDhmmeMLHi95QpThLpOfO?= =?iso-8859-1?q?8TlL9/UMySRxP3mLWJYk3zRSQv99l4YUU2oPfhHfYPlCd/HH+n8dm3d0PLK4?= =?iso-8859-1?q?lZ97tojtG5z303KnPjgdG088lnEIV2ooiAZ2l42JIU+L9VZENWAg362ydnEe?= =?iso-8859-1?q?vYKjuN9P8UkZGPFDX6uSwlPheRjgDM2gS1u1X0FQp84vLZtCy0fPfVVDIZRC?= =?iso-8859-1?q?ioatQHiMKXaEZEi9JM9ArE24A8OtXCB6eM543Sw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ao3lQANr1mxO5/uXIAPWWXZs3xbZorvZv9Bf1FXj1mYev+rKfX6Z8Bk33Zh/98SXYBQhU6CXvVewxjsd1zzLQtOe+6x9Nm7TV0OEZKvwF07wClhGzD5Y1CW1CKQErVRIJYWMAIEPpX+3VsEuJogmDAotmCEjnlWuJpeWvDJljGJHWdLiFCLyn7dLginK0Qdm4W0A0srrO+YnGaAzXv6Obe7XXEJ5enAC5mKzyCHdWl1If+DfoBzXW02WWXhWnzcfBjOvA/6R6x/ayIsLWNCJA/t1u7N6vpp2jJPCCaD2Grl5KrTE/TcrJyPJlwCHHElbel6Pji7fGEXrummfWk0+kCIPKRjf0PbFKpHrQnPcCaqdEn5cedfE9/ScGtmNTssSABpuwoLcbF17wn/RDYvgAkfqu5wA9REQwg9EDwsmDA9jBQloM/6QBvPj7MdWq3i1gOf3hB9tot28LrOfHIYFJx1TqrGl5L7+2XUYZpGRqUvKsvyn6nbZwb/iAuUg++khiYZytFTLu6mETSgJ4uMyjIUxQlUv6qc0nULFxcbo/DourDBtXd+rnwvaEsMeG1WIHpPennLamLyChwB4dblIuivTmD0pDeh/UKED73majxgldnWidUSuZMn2XHimigUPi8vAxjd1B3MSyttKTGpU9w3z63WtDyXGtC5oRgzTkCjOl6s7py7qd+ug1bl5CmJIL2A101omq0dmY7LlLwZWZJ/Z5ZYWV2R/1+tcri48nV7yQlC772S8ayfISN/uQ3BaXJEAfEjDb210gqCvoUTQhJ40NUJ1Sidtbb9Cgqd6J7nW3iwA28ql9d8sgdfuPtbYlhRKI+dfGduOIcozK64u8MaOCC/yKuPZhGyBXP3Jh/QF99qbgUe7tvHbcxBIsQD3tdJlJiQ8kD3dLRkYr+fEQw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3954ead0-7d07-4238-f874-08daef51485b X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:57.6100 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MtgraOol+xxlXLwDr4zmZyFPc3tLGrtXthu74+i06gUhlAGir19xvfX2K/mdgcSgvDEh3U8WVteRxAa9oGGd+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: MUMrhaSss9grnPS3DmuOJSTGbJhSc1c5 X-Proofpoint-GUID: MUMrhaSss9grnPS3DmuOJSTGbJhSc1c5 X-Rspamd-Queue-Id: BC3C2100007 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: 67uimw89k6o5s1g6c6obhph83xb49dn3 X-HE-Tag: 1672951770-472584 X-HE-Meta: U2FsdGVkX1/9hjyDl50xvaZxHHfZ+V62+ffZwZJBpIdpouI4bBM9ljIkkP2CaIvx3c8BgglpHPs2D+/WrV4ZZJ0rBH1hM3a2IBtwdtSqiCfNazijCsWvMGRdpllHev0F+GS7tshennT5khpPu+411gGRWiSCfgBoX1WNw4uV2eF71Dh7YvsWSaCYrqfXUxL+w680z1TgjZNvmT/xRe5dB7O0wPr+BmNwquT9AOesr7P7TGjVsqiJhoEPdA3yS/tt4bWWQiG+6Ge07uoL1ba0KnUe/GNsjxBFKSuaZysphtLgxCQW+7kS5sXOMRCdWZLrDLsx3jlUyynoMUTfpy5BPfEHSnnoPXVAjEQ6sibyBQBwC9XIS2L6G0tr4eLa9AccyN2tcV8jt6u24C2I8UW7IsnrwWjLKzX70NTgQXyunQAlsNLNbp7JAf0gmt1Qv6oVNgutusKvDMW03v8BiRcyCQARnWYMORVcSH4q1qgDUuDgpGIKL0xrG0QRh7NdTurBxFu8YtCt7+dxlouZVwwqMCIL6rw3iS0uopPHO0rQv7lWt4X/CzxwQP8pYQJmD+wGeQDjRLlNeajJOEgJRv06sFy79WCvSPl8V+bDwUH22G7fbeBSN20gdBmOmEzs3Yehu8KvME+mk7Uxi0M5bmQ18gpBOYBi3wQa2gtjv48jsUsRL6oAimPjzdbTckpTiDl9KGwX5pRBhZTOCLxnOmL2KA5usxLIoFg3IoYZqewRko17ZIlgvTe+5ocesOuOTnUc2vSYOP70mUn9xQ13t44m7BViYprxKLqOdBSw9Z+XN4U3fgDN5zU189G1miIOy1wGa4Mb3n0gSyXJqMpqPjZ/cNwzIgl3YJfFZAzWhHCR+wprYvNCllaQiiYmi8k38PpYO6Qdh8i8PWjPEk7ZrrvDExg6bhLHfCLOnNPr/NN67tv7Tr4XZEw8TS0j8HlYr1RtJiPK066NZbh72fsiJA2 x5MQbG7k 31w9862BoKs1grnEEIakxonp2+urkATI6yrlBSgkXDu65j3vldapGsPohM6bdHtUX5fKavuw1LHHo7w7fAXaETXbjXbfswQKo2N+f X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- fs/coredump.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/coredump.c b/fs/coredump.c index de78bde2991b..f27d734f3102 100644 --- a/fs/coredump.c +++ b/fs/coredump.c @@ -1111,14 +1111,14 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma, * Helper function for iterating across a vma list. It ensures that the caller * will visit `gate_vma' prior to terminating the search. */ -static struct vm_area_struct *coredump_next_vma(struct ma_state *mas, +static struct vm_area_struct *coredump_next_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, struct vm_area_struct *gate_vma) { if (gate_vma && (vma == gate_vma)) return NULL; - vma = mas_next(mas, ULONG_MAX); + vma = vma_next(vmi); if (vma) return vma; return gate_vma; @@ -1146,7 +1146,7 @@ static bool dump_vma_snapshot(struct coredump_params *cprm) { struct vm_area_struct *gate_vma, *vma = NULL; struct mm_struct *mm = current->mm; - MA_STATE(mas, &mm->mm_mt, 0, 0); + VMA_ITERATOR(vmi, mm, 0); int i = 0; /* @@ -1167,7 +1167,7 @@ static bool dump_vma_snapshot(struct coredump_params *cprm) return false; } - while ((vma = coredump_next_vma(&mas, vma, gate_vma)) != NULL) { + while ((vma = coredump_next_vma(&vmi, vma, gate_vma)) != NULL) { struct core_vma_metadata *m = cprm->vma_meta + i; m->start = vma->vm_start; From patchwork Thu Jan 5 19:15:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090327 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8508C4708E for ; Thu, 5 Jan 2023 19:16:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9B2438E0005; Thu, 5 Jan 2023 14:16:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 938508E0002; Thu, 5 Jan 2023 14:16:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 69ECA8E0005; Thu, 5 Jan 2023 14:16:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 4B1BD8E0002 for ; Thu, 5 Jan 2023 14:16:10 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 07194C0336 for ; Thu, 5 Jan 2023 19:16:10 +0000 (UTC) X-FDA: 80321700900.07.360B6A0 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf25.hostedemail.com (Postfix) with ESMTP id 732F3A001A for ; Thu, 5 Jan 2023 19:16:06 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=rlvmFaVb; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=rpZx69if; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946166; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ZOLjRMKcGRah0SkriUEnVf9iJfrlXmxLFviwP1H6bf0=; b=OTfcDdkPo/Nbl8E//tYJDsWomOVMLZOTT4UuFMdM2WT2BnVsXVYzN0AAgCWVaZWvU3t3Ml 9kHZQLgulO8tM2251IIFimk9xceIJQHOxx2xHFX85zExbxr2re8s/JzYo5rlGkdHugMVU3 X+n7LnYQuZmrHJKjw0rNMzuiBTiwHDQ= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=rlvmFaVb; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=rpZx69if; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946166; a=rsa-sha256; cv=pass; b=2dwLPcevD/t0BqGBjY7iV86g6ml7vED88B3a18tf0kvSKfgwLdRU1MIAOyZsYfu4aAsfqa ZGzzB1XBffyjRQBhWe9JRS56bpMaLVS/ynH/zkse/zD82abUM8L/h1bwgFrTs+T6cguO47 nGkjLSfBK7Ekhu8oypQwJPaHEgEemKI= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITwdG029112; Thu, 5 Jan 2023 19:16:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=ZOLjRMKcGRah0SkriUEnVf9iJfrlXmxLFviwP1H6bf0=; b=rlvmFaVbzYNK5FO4Uwc/Jy2DGVFcBNbXOhskfyWcL9cUhmBhDcIpNWRWEyxWSpC7GZPK 84yjFFa+SaJeJvBPIJvlgBuFfMgLiLjVnaLjqRh0xk1Afy1GQ+aFSTmijRYrk7OiW1fI 2lmvy80yobC8s0msugZjZlyR6igkA4BYI56Asmn4/nDKk1VcPLa0lpkqdAXOMfudVDgv DXBsJSVy79KtlMTClDhNbP1irDn5Q9QdK5gbmh/7On6oJ3x7TJXU9C4Dx379vHI+Kevo w08OBKNBdkMta/Ur3lRr/yg6EI1wTxyRzAFosPwTGNK6nBPWtu2kbkFYuy2YwYyFyi0G og== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtc0asrkw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:05 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlps023372; Thu, 5 Jan 2023 19:16:04 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-9 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cVRYt308hn4npSzEoswjGhwQY/sGj+N/VXX6XwZBSy14L5A5SogW8B5hfRrBT0u6+OgaGXUje6JJjv+iWcyeeldXh8KdH/Re5ifFMRkew3vBBTRJ8d/qFcum0fCl3K64fijBsatfmKlguxcDZg+/e2WD/+RR5/BXniwWICytGIoAryLCOtnZOwTIUyRJRMBDoV3Mw2adX05aFKt4orptCkbceT5EQTcd8hp4+U6yeqsKjYTzB0GuIGm085ZUiMcKAt+zFyLkwgXtYXYXP1yUPZdnotT3yT9iWFHAr5yfSiV4SWLM9RA9C1ymeLHuziAzb2D2Y1goafUETnP9s7O1Jw== 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=ZOLjRMKcGRah0SkriUEnVf9iJfrlXmxLFviwP1H6bf0=; b=aBlrwJTioH3g3/HntOm2jWk0VJx5mOci9aKtF0lpDzQ310E/LvtNf3Y5Fy3kl79Ah4m+iXHJK6gQmL/7l0S1Kkm76MIt1jTyFvJuYdF2ll3SY316nBoshxoXqht0rAvPEP1Dg088IuZ2SHrJWox0bHZRT4hU66GrGOGU+6SkXt7aUR5vRSD9Vc88bMFhyleJDetvZsrmcD3BQtnsRBQrlAF3NCd4BiuVAa5gjI7PNOkMIfgsXL1Ip1AN4gpLYqBDZ9p7BubKBTcUZodudxY+jrZz/GerhHjPOpU1DOh3BUhFjZ6ap/4kVZHsLlyjyTFrMlQy9PLrRC1zWKO8MP0EhA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZOLjRMKcGRah0SkriUEnVf9iJfrlXmxLFviwP1H6bf0=; b=rpZx69ifClkH9uyz4MwVaArA7Qmsn0VYItX3sY3uXgNCpVemtvy3wTCyaf3ya0oj8vpGt+tCrTCsQ+ojnsCO6G78EdcSkYrRZsP+vT+kjk8M5bGIgGnCozkjn7dzSTtZRokn2oGghnARIihwIyj/dZ32hZEQL3IZ1bgWRDL2OJY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:01 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:01 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 18/44] mempolicy: Convert to vma iterator Thread-Topic: [PATCH v2 18/44] mempolicy: Convert to vma iterator Thread-Index: AQHZITojQR0bNu46JEWQV7nrYFuiYA== Date: Thu, 5 Jan 2023 19:15:57 +0000 Message-ID: <20230105191517.3099082-19-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 33094665-4373-43d5-e008-08daef5148a5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LQ3BCfPEculYXL9RpBB9tv+yVG0BMEraA7V1g+z5nQPsdoeeJtx7VWsOj0hGTjw6kPVAO8SZrYwYSGqSqJmMPR13Og11t58d3I/EJpC14tVGEvjc/uPup4670faaOdsxYumJkzhCxZDuBGoIOw/9r2dFy1HDM5e7dmcGCp3VuEAxwqkFtwmujoBjYiTUbuaUcldQ/Mk96bKpuWGg7Gx7igy+8iTAhLo4P1saAeLT9BtxN6rw9W2rLh6oXAj5hcHzx3g5zu22evdvzxmtF2r3ESFzDUT/yOgbybsnSzoflGR2kGBktAWPSsF3ql5HwPyuKx/vhz2GkdV63aXHixlGaBTXQRZ8SH864B4bVtSoZuvOxQYIeAWX9SHHlveF8y8ny4CHUqE6RoBwnVujBlfAxtegR3ydWJ5ILbXfYQkkAiFXbnD4s73Zb9UgqeSR1jGzJpjLtPAr6wEN+aUuudugRfNGHzqfxu5GkHK4zNmixoWkB7DuVREKLWz7zIo5ebmyDLAQuL4UtUH43aEJfE5vasgb1yssnSrdhKESijR7bqMB1hdQ7Iqx2I2QTClFM03/paTNt9M/LYcNseh66M0xzVZ+pCz4VOgo89XVqVCpH5G4QxZePPJzKy9J9heqPQj3qk1Epz7xxZDqMkbrf+NrrkBWv85CewiwuKmzKanu2kaMsqj7SGNAEDdNGpiyuOcI/1i5nfoIn5dDcNQq4Sksuw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?CUy+QztiyZwJMqNvrEfWyHN?= =?iso-8859-1?q?klTuakB+xU33/vLXV2D2V194UM66K2QvYYH9INWDeZBMTtKxV6dS4ZlF6Tbk?= =?iso-8859-1?q?szyE8xTi+mbNhe3igJaYUIRgUf9zLljP3z/t9zVYDyra+Zamnq0w4A7YXYC1?= =?iso-8859-1?q?4kQ2RZ4K6x8dSqTV4uhYGxC16yhOp0fjmDeO0xPDNALb75IpsErYBLiS/B49?= =?iso-8859-1?q?cQOOxMLUfc4UWVkssaT7mADMpsaFMD3XnPLPnGZzzqEFF2OuDm3x5nCR6G9G?= =?iso-8859-1?q?bxG7bvoHpLH7a36unsGt0JLo8C4UXX4+FSzIPYK6F37tJ4xd8X3Q289FgxJS?= =?iso-8859-1?q?ajR+UDFWXhxFffvH8XQgSEPcN9O3R7wCr+hv6/s1Y8FI+v0tWPaFqMBp3skH?= =?iso-8859-1?q?+iPJxho7c51nNQqftn8iBoVknsWT6NpTdTc5gAQDxwklq5gfPU36mOI+lKCK?= =?iso-8859-1?q?SVx76XlrcTT4RIELbljzSt8GK6YXecbhFH3hqsgUzN/jHZ3FevFLQkBL7hxI?= =?iso-8859-1?q?X4fAGJjzf3nb/MeHu7KUDNG8aG3AS6UVfFjJlR/1zAGxuS+M/ZxlM5NF/bQb?= =?iso-8859-1?q?328gQavdb48NRQYijx2u892gOpJghanl/BkI/jjNUnkbY00NDFUpyyLYCjay?= =?iso-8859-1?q?I4ktXaMg8t8znWwEYsuBQE5zW4XP5D1dZeYJjgJMmrtQaN/dCrTbiw2O5B3L?= =?iso-8859-1?q?WopuA9ge0whgFy4lHJRLciX+sqXtJeQOCyrmLw22S1pF3TvoFADnJ7SMth1N?= =?iso-8859-1?q?wOBcJTkxHWNZfwD68QbFoPC1Ly0rrCpTgvNcRUgXSyWCzSt8djSjwK1qQ0UT?= =?iso-8859-1?q?9aSqgqytvp/80IO7VHmQnDV5zoK2EMDRtr0y1KWXTXReniIlTjx2x/AbKZj7?= =?iso-8859-1?q?ky+QbpVUkBJZzcOr6boy++32we3WtBQ1eq8gmkmBhnA59wK49sB9iL/QxZmk?= =?iso-8859-1?q?/A1RaI0brRpTaLHrAk4UoqF4Eh9OYIbm2sTzzwoTVOe+kIqiWogBS0a29slA?= =?iso-8859-1?q?PBrzH0gh3lSfL9fF3EgIFlBVWfzdEK+y9XNyD11Wlk3eqcZP7Phwaf6kNNVl?= =?iso-8859-1?q?rKW5Gs/9/ERt2X6BtcshEB84tIDa+1M9prXR7nQbVQ25ecGkvmqFb8bDBSXh?= =?iso-8859-1?q?BSobwNMmZsBnP8FuTvjoacBCwFZa9oxBM/Lf5QcieZo/c252y4UV0L7Jlqmx?= =?iso-8859-1?q?d1rjAbnlQE69j3s2c4gjQk7zdlk//lV8EoiYMqoTXNmEJ5g3sLJrRHrh9SgS?= =?iso-8859-1?q?DipihJWTm+01kf9xjqjfbnI9qZLPlM56BD4a5SUebccjJG8L8vYu+UTg3GFz?= =?iso-8859-1?q?7P35vupDkOl2MJBu5LAxau8sl8ByhUm75/rjCDR3DMbW26IGQfreev6+Pj2E?= =?iso-8859-1?q?IvvRYNwWb93QJ+UhF2SLPpLNAaGCB7o/SfVoDBl5NR42oXn84lms7+ZQuhNW?= =?iso-8859-1?q?BdSOGgXe82KNWa+AUdNkqK/2bNY6KTMuPZGW7f0bNdCSks+YouEElHqYBsyR?= =?iso-8859-1?q?eaL/c35eMmmmqNVJblualL9HGCcetRqZoc3lzummESPFm2is1K2Xfi0GQ6XB?= =?iso-8859-1?q?XZ0D/nxvbLj9wFHhK4cmoIJ7scJltzPCmlEXsP3fs+1QhGy1wA0xwPRdB7nn?= =?iso-8859-1?q?y2XUpyzE1piRnh7SKNsZUfiynvGZguDXZNHLUhA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: X/hlp/36PCFPXA36Vs0RgvUaKFqT9/UrbLBbaqrKoxPdm7bRKxEmNlHWl6huuDdleOuCNmpbYsQSodhBl0wtbPuvEuzMyftZ+gGjOISV1cmrCYX4tnfBcj9WM9VTnkes4KEy3d6MlZPweLeKrEuPNIAEOQxOCIojBZXQUNI4+1LXMmP7J8miEa8sieT7cB4rSg3OWv40B2sn2hwrly3Xz88WwSBrYx0HWCrYOv6UKuS+5sRAnl1iX4uAi77ecez8CCfZ2Y6rnoKUm6gr9RCUq37XUW8Njoy19cqjMTAZ5ADdryyPKyr6UrrG0pE/bq1/J0LPRfrtwSY/YY4KTnyoXDiTRUA3Em6Rxo2OEfb/fn2J+rDc04bqIm+8OsmxLUwyy1bcYMqiJ6eufX8qMZqFdbuHRwAEfUbDWLx1Ix8YDqFKDK69NvY5ZN1jer/0gOOsLtclK+OQBfDBouyo/Ue80IiYyPVPunmCzWuFvTEKmpPqRqnEdzjQNdxmJc4yNvIhO/MoNrUzEhIycEw7dREp2mBPUesvpy8NnpxYIl/KU2VWyVBdP5YvjY5U7nrk+WrxcYLv8n6SVLqxlbEu1gwk291+Y8u72Hj9W0SB9AwN4p/2PtnqwfWjI3qD6tEzZ3J7myJuyZvES6st1kewgOg1xNN2fgAJFLmKmBArsC6TdHrH/9QEyPXlfLgZZz4nEryhqNj0pN2TUX06+xbI0qXfdqX0ZPCu8QQkORwKbob51F5zIGWpt39BBo9LaPsmkury8aG9Z6Nv+rfZEwA9vvSjZ2YU7MFQiWcdjlBUzO102rT3EebEBHl6mogdVpB3O5jL59WXa5YGLZJiu4rCCpK1y3uW/TqMXCBCZyQD2XhFh7Ow2WFkV7D2TtL9lwPX7tbKNbHj/QKFr8vheUREmhuqiA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 33094665-4373-43d5-e008-08daef5148a5 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:57.8756 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: CA7cnuFRhyGQ5SaHWink6XGkSJHVzOzPT4ux2xlmyD2G2itaygw6gsmNrU0yecyPjc4k2MW4hiKBbzI3KPMPeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: Y9ZUs5EXdjX9YmwDwncjXe50waS1pZ1D X-Proofpoint-ORIG-GUID: Y9ZUs5EXdjX9YmwDwncjXe50waS1pZ1D X-Stat-Signature: tyen7ke3ynxsipfdnap7yjcn4xqpib74 X-Rspam-User: X-Rspamd-Queue-Id: 732F3A001A X-Rspamd-Server: rspam06 X-HE-Tag: 1672946166-952391 X-HE-Meta: U2FsdGVkX196h/hqmJDs5sBSg2nI9OOr1BuZ8Xklriq4CUxS9FhnCE3SxrVKCIJx1A/byeoExMBDDAVaCA945z56Y3Bv1K1TuUbUVfevD7NCTuYR9PLCwtu+TIURgLkVEnrbum+99WqfAGqnrOaYVHQKvjxOJn5/DI+DgIWJg2RTcIvoN/WSQr1ZEFPLCCoH9f2croH7+Dmxbm2DpA+fvfcoqt6+DkDgH0qhlgJ6BFhckOzF2LInFtIzlw+20hRNWXjbVE6AkwOIkEgXznTCGmP0uPTARGoO5FvuIDY9SyRVGJIFUA1URNhgW8OfIvk2Rj/O34nIP5QmGoFGOstg6dIqTX8ZK1yfnYyvYRG95tIHB8tXr+FQmDID/Q7NUl1ks8iTxSAVoC8NZIFWNkBWTYpj2xWN9QKZD/dPRs0ioAZf8tfagEhM2svofWsFvoszo1jWewLdbeAA5l5sN0Ms9Z96BjGfNJlS1NufFBUWiAID87nkCd9NMHaz538z6Ihue2tTKdpo/XgAAQ4iVKiijBy4rvYX80OaDCOKxxwhotzDBK6gXyXscx7Pkn9bmyPqClSEKGEWvfudlr8qaH1jsvq48qo/E1Jk8FGfDBbF8KBxuH+7qwBHtMg3SSr0H4v4AX3IVFDm5nFF8vjWbdcSBGmkQtnf42Myfo6AgpVatYL9XKXkOY8mmJA1TztcT+7SuRuqH/CN5x1zrZ/4EDhbBQQwChRYZIw9SuLMXpi1ahWzQBMuNSDwhErdC0jl16QzoHwyjRnY3ahgicJtiX7QIiXhAMIdzXzhexA3S3DypyDfe+BGkCaUMgXLtv0vn1dRpYwL68t+x/TIFyx52gVhVm9IktdZKS3zwlxpAangLroW39PvlGnjj+r8CkX7jFlTHWZwmJ3yOYaQUMlG5zNg09vvrVhaE7F6m4XSl4VjovUppgbp5nQwzSQn0W+NXG78/yoGIgE7X6Vpn6iUIXk SkepC1B4 0xnsYzNQN/RXrl3aC4LDn+kaQ2oEGSoNPlutB2Pgye5u/yMUDGXpR5BeozXjDaZMjb5oAISkj20T2vG1FSxC7g0aGyHJc0vnXclim X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- mm/mempolicy.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 02c8a712282f..6f41a30c24d5 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -787,24 +787,21 @@ static int vma_replace_policy(struct vm_area_struct *vma, static int mbind_range(struct mm_struct *mm, unsigned long start, unsigned long end, struct mempolicy *new_pol) { - MA_STATE(mas, &mm->mm_mt, start, start); + VMA_ITERATOR(vmi, mm, start); struct vm_area_struct *prev; struct vm_area_struct *vma; int err = 0; pgoff_t pgoff; - prev = mas_prev(&mas, 0); - if (unlikely(!prev)) - mas_set(&mas, start); - - vma = mas_find(&mas, end - 1); + prev = vma_prev(&vmi); + vma = vma_find(&vmi, end); if (WARN_ON(!vma)) return 0; if (start > vma->vm_start) prev = vma; - for (; vma; vma = mas_next(&mas, end - 1)) { + do { unsigned long vmstart = max(start, vma->vm_start); unsigned long vmend = min(end, vma->vm_end); @@ -813,29 +810,23 @@ static int mbind_range(struct mm_struct *mm, unsigned long start, pgoff = vma->vm_pgoff + ((vmstart - vma->vm_start) >> PAGE_SHIFT); - prev = vma_merge(mm, prev, vmstart, vmend, vma->vm_flags, + prev = vmi_vma_merge(&vmi, mm, prev, vmstart, vmend, vma->vm_flags, vma->anon_vma, vma->vm_file, pgoff, new_pol, vma->vm_userfaultfd_ctx, anon_vma_name(vma)); if (prev) { - /* vma_merge() invalidated the mas */ - mas_pause(&mas); vma = prev; goto replace; } if (vma->vm_start != vmstart) { - err = split_vma(vma->vm_mm, vma, vmstart, 1); + err = vmi_split_vma(&vmi, vma->vm_mm, vma, vmstart, 1); if (err) goto out; - /* split_vma() invalidated the mas */ - mas_pause(&mas); } if (vma->vm_end != vmend) { - err = split_vma(vma->vm_mm, vma, vmend, 0); + err = vmi_split_vma(&vmi, vma->vm_mm, vma, vmend, 0); if (err) goto out; - /* split_vma() invalidated the mas */ - mas_pause(&mas); } replace: err = vma_replace_policy(vma, new_pol); @@ -843,7 +834,7 @@ static int mbind_range(struct mm_struct *mm, unsigned long start, goto out; next: prev = vma; - } + } for_each_vma_range(vmi, vma, end); out: return err; From patchwork Thu Jan 5 19:15:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090405 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 394A5C3DA7A for ; Thu, 5 Jan 2023 19:53:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CEC8A900002; Thu, 5 Jan 2023 14:53:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C9A948E0001; Thu, 5 Jan 2023 14:53:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B3BB6900002; Thu, 5 Jan 2023 14:53:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A632E8E0001 for ; Thu, 5 Jan 2023 14:53:30 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 49331A9086 for ; Thu, 5 Jan 2023 19:53:29 +0000 (UTC) X-FDA: 80321794938.26.F82A0EF Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf06.hostedemail.com (Postfix) with ESMTP id D2F8318000A for ; Thu, 5 Jan 2023 19:53:25 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=WxsN1PEP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Rx86C0jP; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf06.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672948406; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=/oRh42AdWHNusHP8+8qQ2D6ha2f/p4YzaT4dgmlHW2c=; b=0mi+iWBkYZuz+toEDeG4zvB4cG6+TQQgxvM4m5f+nTPUXTRH9/yiAa+eRWLdTzp/Zqte3p KqtVnCUppLHZcxwunUTj1sGtc3diqBXFdYhjf5fGQhcva4XjPKdczlPLVZ4kp92oiUbWq+ iIrNDr5Uv33fgwzHUBscLp5b+m0T+cc= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=WxsN1PEP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Rx86C0jP; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf06.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672948406; a=rsa-sha256; cv=pass; b=p3r8YV8g2PGMOkwfy/RQSmqghZQdVW7ycSjMC1LsdtiUiFskw7Mpgdhp5gGbobxQQO+iMs UI42vnTo26pXzdvuM70uCPjVfXmU0snPlgoDYXZXWoUvM5RdIjcbhMdUsGYuQ8LEltVlaF 8D+sRS0pp2Dsk3CXf1hyYNUhxfUAL+w= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUH21030095; Thu, 5 Jan 2023 19:16:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=/oRh42AdWHNusHP8+8qQ2D6ha2f/p4YzaT4dgmlHW2c=; b=WxsN1PEP6K6nozeLN32CLBcJOy2pLSbNnqWu7EgWa6usLwrummT2CnIm9PZs4/yQ2PzN ImDoZgTMzSqsk6km7P8s2bvw3cSLP9yYsAtE0E9acxmZz50WOgEhAtUxRJCNAbLy8jOo 3nQd6p593kK4FGyZOAwrmdu9WWXjS+zPJWm70lupGoL9xxBneu0hE9i0pMY0U0QVddxz MsbD7JAKn80NJ0EInPkgWwqVCgYPtfZUD+v/C2fmuUa+/h3zF9vfy4kHUXxut4UlBBAV U8cHsnWCNN4yhBr7Uy9BnE650Xv4pt2T7QF2xrq0TA1h+jqRh0FeS1jIx5MbFXkDY1za 0Q== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcya9k9u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:05 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpt023372; Thu, 5 Jan 2023 19:16:05 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-10 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M+wxT1pc7NFfix2BG28tZp7L2Nyweq0hKgKtAoAoHwmay8J7Chmb3jSBj5MplGGv0a1F8py1WbtMT1SYV2AaNa7qu6IIUCsBucf9Br40Au6j2emWeHsvNeNejm8JG8lNLdepoqgjXxPdlYIjCnaxukwDCNyN7EJESKtoGGKzn9T38yzwhWcpJ7IPEkHypBE7y+Oy7aR8PG5KMV3k7rW7l1gRFRTc+ZaNWHcIMAiGgEBrhJK3WgUNJe8975pFQGRop2ZOClWI1hXxtmuQKea4V0ZuVCCMKQFyiZaCR47s4E4euR1lg/EKIk95GGkJaBZ1UwlMAcXiaMWU3aa0RZswFg== 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=/oRh42AdWHNusHP8+8qQ2D6ha2f/p4YzaT4dgmlHW2c=; b=KvbIEkFoEV5iwuXJ+JZaYN7/Vx84ICLfGIBng0KvkIPUUaamMJcToU8Nbf/BSED6iSj0g7i8MxgDUzZyA6vJTyFY1Dyx10r9rJybmJoIhh+ug0qvUEQfINFyA+f6oNSm6ZVURcMFBiMyTMDw8nGLHz2LbRlXvaNBK8ZSYnMbg53s+QD1S8gnUyw3YTsg5z72fpIYGXhAKSZsCvzbf+7+JnCj0AMAQlhwUcMtd9KnVcEcrPD9rqWHBamy1SQlbguD4dKoBEIcU53tpaKrhhivMHyiRoRu2+bsBr4VBQQOtuVUymd2kEFLwwPpQYN06/mJs6IU6FPzzWsgjjVOjC+Tkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/oRh42AdWHNusHP8+8qQ2D6ha2f/p4YzaT4dgmlHW2c=; b=Rx86C0jPjK8bLebvkHX1wf2mqH0zZT42JEC5piKLLz2dcZoJRDHvNgRmbaq8QoA472Z7MqG49gzQaI/MAlXoh/2LSLv0kMNmGR3tBzzauWoXPJ3q93n/tnou/pNUKq6jj89QPZxdsHRc377jstLP7xGahWREQPRAGv7BoqBsxJg= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:02 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:02 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 19/44] task_mmu: Convert to vma iterator Thread-Topic: [PATCH v2 19/44] task_mmu: Convert to vma iterator Thread-Index: AQHZITokFyA1qFls50u+bQy5HlDbRg== Date: Thu, 5 Jan 2023 19:15:58 +0000 Message-ID: <20230105191517.3099082-20-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 2296ceaf-a367-4a69-dc1d-08daef5148e3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9bqxiz3DjXP2EPIOMtfrUxPx7jnbY8cz47huHVs4MVWuPznpB3oDeL38+FKwNEnoluWIWLjbU+8nqqLf/2T/r4T27OJkG84BI4UPJTRt+ctaNSlsCYu+mRZnXQNRD2JbU7a+WJzCdO18M2jHpiyJNVxknkwpv/b0bj4/9KPMWGE61DQTBkr7x/YiL5aSRYRhoQWH4o4C9qCCb6/zT7sqQEkH/3AIAXj01Asrh0q2vKDIBRJvYg2GNZdiywmhO9PygPY6J19vAi2+rVrqLtKfX1HZ6SE+XW3mqZ9SrzfHa8+J90TFAti/XECkFNmmlKskMEVE0KzP+5kSJHmxWI+6mq6SU/zay5XmFLp3l/Uk6/5y1boSflAgukpTYYiW0PsMZAiCDGo485ZlAULpc0ECrraBumQDx1+vLL17GrmVXyNIfH2eLCctMglqgjpITeRz1pueP6zgt7kzxebraFypO6+Fy06h5C/6oLltDsmp2774OYXGoVO+jRqDVR7kdpdSZsyP11IXnR4FwAZjfHDnxTdIba/2tYAMe2fkLfF1cgUxxAahI0Tm9Tze2spLdRpQtqck9Kbh1lqpGjuqKC5KGY0rDC+BJkRH6IvsGi3AJ9+Wi2PmQ/HpLUFUlTnMzaF695f2X3UIz1hoDTR56l13n+FErdf26oWBO7pmv0bZPCEmzQTnZ4m7PYpOT1nAr90ElZP2nEch8u9my+qOTCy/PA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?GvsWhQ67+3waN6rSywUhy4x?= =?iso-8859-1?q?QsmhbArr3y/c4G649WhejCM1/oLQOm8+b71GkZ1L/+mr/g94kT5MLQjyPPR/?= =?iso-8859-1?q?j9K0fRVnq9+XrykqYHwadPvGCiMBCdtIOEJQZDNpxid4qH9QkTBEpbNzjkUJ?= =?iso-8859-1?q?5moFE0k/lyp0ffAW/O4WD+lQdkdKDH1nBixSNssSJ8Ry35dMKl9HMB7yyVYt?= =?iso-8859-1?q?c28OsJlX9ZIB/kkUeh57kRoWWwEECCgCdVRImZ/AVkNkEgFNhtJzhsPuHUpe?= =?iso-8859-1?q?bVGxgPwLopCN29AyeO8FuikDIbNzrMM9Z8iWApGu6988w/zD/9DmoUqHk6f/?= =?iso-8859-1?q?iQMVKoN4209bVP8+IdcwKM84r2oYhntGW184DiYZ+VL2geSPSe5wJa9dQxF1?= =?iso-8859-1?q?YBOVXc2rhC8FLU7E1T7dzR/TdWjlGhWjzgyx6Rq6GYgUNYbeQ9LFaSm20i7V?= =?iso-8859-1?q?YkrIQnAOV4wNcx1+uLpgonX4grsINQKSK0VKuB0hSGE3gd83i2k4fHyBIpoy?= =?iso-8859-1?q?UW7Rsi0ujwTrV/vo02JVJMHqD4EJDUsJqlzXKA5HUy4zPsabjpaY/Bzh9JC8?= =?iso-8859-1?q?sc36+CKsVVyS7KUXeq1gqEWlhjUuhxspR1YikYmbYkND9RrDv1r7+4GEJMGy?= =?iso-8859-1?q?fMoEe/hg/6LDnYuXqKIQPcAwEmnH+A9xJvMQD9jTGCQhaBEvbwUt3qOxRlmf?= =?iso-8859-1?q?CtgFfRcETCF54b/Rn60mL7kEFkxLhWORymHYEk6FGnQZ568esAzcKbpFeKNT?= =?iso-8859-1?q?7VT+Mx4mcaTGv+NX0Hs42Xh1LTgCjbMqTe/By4Lxwctxd3ch5RugonkIvdVz?= =?iso-8859-1?q?wLSsQmsbFeJ9fcit5PAHxysfIuIANR5FME7H8rKMxuZ5gqoFwRcOVrBOoapV?= =?iso-8859-1?q?uL2JFpUP1XC+yuUNN1PGcne+cpklg3oPOSQV97hz4P/alHtHO08ljZwgAH1t?= =?iso-8859-1?q?AJcZull1fNjBEv/djMzxzzgKu0fbRxPi7Qc+aSeEqXzPpmxdCy+R1pKJlFo9?= =?iso-8859-1?q?SmwW7p+Q1WC2Z3Ml7JeTxfENEilfnHkFFXPl33kl8mK/gsA7UdWxAcAwK640?= =?iso-8859-1?q?kEJMRikB+RcKsq2DxR8JLZ3k9mKyC0/h88cIY/MrBMteaY1vufUlzyIfnAYJ?= =?iso-8859-1?q?4M8+Bt/cn3g0I2HIyr7oikXGoHKtJqDfwL2QEelOM1dCOg7+rcdEbOkkuA3e?= =?iso-8859-1?q?18jhlyJdii516c2DLFykAcIgMIR8GYXdE3hKPTXut/CgpDff0JJZ82AgWhbn?= =?iso-8859-1?q?SEH2xH2jo2CsJC8jGKS5ERYtUFFkl9wot3ZbbhBg9VyIb9UuB8wuVdMygWOo?= =?iso-8859-1?q?JON875OFfyS+XLu0qQaLbgfe9WaMIrnfq6R69Q9pyVjcr5/qkVwLc1bK04UG?= =?iso-8859-1?q?BwvesJ8SHPgy8YFySxm/7O7M73DyADK7V9gRbo18t4p5A1VA3AXKyrG6JA3B?= =?iso-8859-1?q?UrBfJea9AQ9vvYaQPG+MmPuO0atrLKkDklQov1csY+d0dzfJ0f3GP+wUdoaU?= =?iso-8859-1?q?M4lk82+Tw0qEp5YzTMNE+cAwAfKv0NSIv3D8+gY+ZIr0B/JmacNtkcCkPHBS?= =?iso-8859-1?q?7OuXJoLzUVQNv58PjJ8+eD7hvgRojDausRB9SFvbOri5xSF0Eo6HmAL6Ob77?= =?iso-8859-1?q?k6SqDXk1wbweCb34Ben6gNXAxUiCj+hmJcUQJOA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Z0bcln0KHvTo9Oev6f1RwKq7jTCfEo3N9L+nDjGZsMpSzhVSN7R2dZYsduwS4TMSZCKPkaplQSBBfc3b+vOZ0Lc9rYUv4N5dEb5hjmLQDhljQAJWNwHmM3A54CjobXYATmn+5DOQ9YNvgZ0ukjceFtmCg8PfzKRGAqQD/E/nvCPUlCHuroB+JvzaaPOZ94oqT2i82w1Buo7w5d7SvGKCWF6jAFS0vvgM6Sbs3qY3lfnSDr7KsnruxF5Raosn5S0HzliGLdzq1CJrfq0MZZ1HF8z3y+jJS7cyxAAZoqpvIzAEdJCIVSz4yoNjEsiYcv+tIXRYnKeFOmgtozyMvwnJ7vUx8Scvu2ef4BQNB6FSgTMv+VwpbwbFY6RGG2P3HPS2eBC/6bQxzWCp2ffJIUq696ZrTEDIEplXLfDpmL4bjuVIl32m1wrZU+KpDt0CQS8XvdGWgpCuLHsC01DbTU/XkUYHU1qtjtEKkyUcBAewm4C946HXmksO0LC9TtO18QzXtOjakmINMF+es63PzraibXqP0v8xjSMQOoeQrjelPPigYjN/1vfDAyb5xNwAAQ5Dx+B0TF0GAblOc0VoptW5p1QJNhoQKbRc9qLQ6RK8gd50aX4ETCbtVw3FF8hwKAq+9hGPaX/s24w48LbCy9p6oFJH3XbU0K5O6I+3N3fLZzyqDvlY19FOKLEQyb5GethwqJj3PAIBLBIj1fA9V+4Dd5jIYuOHccq47pUJ8GQi67+MqkkMdtLXoihTdAesqdoRh1vAbya7z6mvwzgIB8aAZTf9G9tP4SN8/9CtKXQwaRg7fNY8yDlVTZcMDo4tDPHBmkGqxFjtn3owjpuF45ZwQC5OKHwlfgqeMJQh646RQ13BSZvXIjf5N9bRzfPXBAPt4HRadzmn4wBakyaCRSbbjQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2296ceaf-a367-4a69-dc1d-08daef5148e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:58.1724 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FV/xuILMXYkGHsYD5TT8tO25cAgcP7gFhGQ1nOqnMVuQ8QjyahhyKGvyoxYG179PvZhudov0ZUtDI3DCpTCoVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: HgW81NJzLFkjzpdCKXmObHgLjo_aIwFg X-Proofpoint-GUID: HgW81NJzLFkjzpdCKXmObHgLjo_aIwFg X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: D2F8318000A X-Rspam-User: X-Stat-Signature: ymuzb8wyo5hn8i5xdet55igy1uocofem X-HE-Tag: 1672948405-938926 X-HE-Meta: U2FsdGVkX1/tzQ7W+FzpUCMS2CkZmKpAZ+9S+Gav9e3RdzH5WYAirMsENWZi7nzW8WMLMYdIrlpCVUoYu7n1ogaypl8Gx6Nc2zD7rYODh+WMeLisksKfTHqzRl0BReVOIuikpzyK0n5+ACSkhds3KtFwTWwCHmeMiLxaHvmMCS9gvGDpj1WjUY1oGj6uPFSBjJPKTD9xj46Sbw/mDcVTlzrBROObER1pjjkm33clWwJU3T1wRiMiRVILp8PaSYgPzyM6adRVZT4lRZZsb7xLuIBtwE4HrTJovzp1Wv9tw9skubEpogk2RgwJcFTiBmnmq2eirkDzzrIvDmfTk34SlUciKPZdqXoesj5V/LibxmVq1drJYL2/L5mDdXJNKPJA0a91aLkOesUYkiSSfIMvHajx21gzd6RYFk+2Im/69Dr2R/UXu5pu9jzWOiNqnHEupV5jwlbAYN00sgZxFkWeDcq92aKBAP9okNWwhYSrEOR7AIFXDcIxw2J3sVo3OtB/ywUlv6QfaexIfInjlhjxbLBdrQHNZYgMkmvqCDK+O3QtHajpoy1WEUH9yz5xp/EQccJ0gHki/UhuHy88pGnEsnYdkP4tYbyb6LXf1ThWGNJHNPrVV4+VPKmzODSGz6oqENJ4Ip5KJjMfkxxz+/1zfQuIlGyKwGO+1y7ibgw0UkClAvQNptWFqlnohRCKk9pXz0ldmrQR5GPLIfyqFV18+Ae/BULlnyqMpdBTqTfmvED1ek8RWL0oISHM2kXfwCKCz4T/NaSagjGcmIDBh2/U/Fxwoz36shxssQA7Q3syqbGWG0RxPXTMDcbyuFPqTB1zU4q9rNV2vd0YEDf5BFB4/4b2ZJHeir+SOlsTFwokKn9PCX2dEr2z6Swq5KSFKzD2HdWaXOHZeTnSoPkdG9dyrbasP0/T15UeWcJFaiETGO/ln9Zj9jA2PrqJTDSMyLFm4UfsBRVu+UvUUWqkzVl +jOuGxNz FXNfW/dygbG2axYazOXPoJcqAHcVHjuHkmTGHd+eXAxHwiXIrgOhgZOnkIQUq0zkbXN7OnGLN8sTfCttmsxdmnM5SsYvgygZuePrKPqtQ8uxwUo05rUQebEhZ1iCeu3WV3V6rDBnoI4OSQ9AdZXKBIM2Gbw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- fs/proc/task_mmu.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index e35a0398db63..2bae7c80d502 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -892,7 +892,7 @@ static int show_smaps_rollup(struct seq_file *m, void *v) struct vm_area_struct *vma; unsigned long vma_start = 0, last_vma_end = 0; int ret = 0; - MA_STATE(mas, &mm->mm_mt, 0, 0); + VMA_ITERATOR(vmi, mm, 0); priv->task = get_proc_task(priv->inode); if (!priv->task) @@ -910,7 +910,7 @@ static int show_smaps_rollup(struct seq_file *m, void *v) goto out_put_mm; hold_task_mempolicy(priv); - vma = mas_find(&mas, ULONG_MAX); + vma = vma_next(&vmi); if (unlikely(!vma)) goto empty_set; @@ -925,7 +925,7 @@ static int show_smaps_rollup(struct seq_file *m, void *v) * access it for write request. */ if (mmap_lock_is_contended(mm)) { - mas_pause(&mas); + vma_iter_set(&vmi, vma->vm_end); mmap_read_unlock(mm); ret = mmap_read_lock_killable(mm); if (ret) { @@ -969,7 +969,7 @@ static int show_smaps_rollup(struct seq_file *m, void *v) * contains last_vma_end. * Iterate VMA' from last_vma_end. */ - vma = mas_find(&mas, ULONG_MAX); + vma = vma_next(&vmi); /* Case 3 above */ if (!vma) break; @@ -983,7 +983,7 @@ static int show_smaps_rollup(struct seq_file *m, void *v) smap_gather_stats(vma, &mss, last_vma_end); } /* Case 2 above */ - } while ((vma = mas_find(&mas, ULONG_MAX)) != NULL); + } for_each_vma(vmi, vma); empty_set: show_vma_header_prefix(m, vma_start, last_vma_end, 0, 0, 0, 0); @@ -1279,7 +1279,7 @@ static ssize_t clear_refs_write(struct file *file, const char __user *buf, return -ESRCH; mm = get_task_mm(task); if (mm) { - MA_STATE(mas, &mm->mm_mt, 0, 0); + VMA_ITERATOR(vmi, mm, 0); struct mmu_notifier_range range; struct clear_refs_private cp = { .type = type, @@ -1299,7 +1299,7 @@ static ssize_t clear_refs_write(struct file *file, const char __user *buf, } if (type == CLEAR_REFS_SOFT_DIRTY) { - mas_for_each(&mas, vma, ULONG_MAX) { + for_each_vma(vmi, vma) { if (!(vma->vm_flags & VM_SOFTDIRTY)) continue; vma->vm_flags &= ~VM_SOFTDIRTY; From patchwork Thu Jan 5 19:15:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090473 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7FB29C3DA7D for ; Thu, 5 Jan 2023 21:00:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 00D0F8E0002; Thu, 5 Jan 2023 16:00:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id ED8038E0001; Thu, 5 Jan 2023 16:00:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D04498E0002; Thu, 5 Jan 2023 16:00:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id BC5A48E0001 for ; Thu, 5 Jan 2023 16:00:51 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 7B6D21A0293 for ; Thu, 5 Jan 2023 21:00:51 +0000 (UTC) X-FDA: 80321964702.20.49D2752 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf15.hostedemail.com (Postfix) with ESMTP id E562DA0027 for ; Thu, 5 Jan 2023 21:00:47 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=HzfmVbi8; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=IMu9ICEg; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf15.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672952448; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=SJEJ71CHLPVQ9y9IwfIDwgRcUFzrXy+O3J54pk2rrrU=; b=pAvQrDLTyxXaEflJd6VQYX1wqo713GD9MEKeiaAo0/nDJel5tBo7lqIFonj9LtOnchS8lr DzuxLNzgvIt6yW1J98lHb3s/qZB3d3Q6aX6dRVcS6wRjp1TFyf2FTY2Dh1XY1rZyWB6zM/ z7Y7Lgsv6WFB0FfSp0GHOaKfEWZIpb4= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=HzfmVbi8; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=IMu9ICEg; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf15.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672952448; a=rsa-sha256; cv=pass; b=BP7gUHC1VIeeu0WNiOFvJ8bbxQgX8Sd9pPBeTgwmS2FCDde23SIf/iKOIiB9N4Gf0a4b4A 9hb+tJ17tPjnq99vv9OgIQ1qe4EocKXZVyDLLk7Bs8I8C5lF8hFDvKoSEy/R5P1B+uV5nv 4In73prciMQ9+R+jG3c4/+H9PQsIhtU= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IT2Te020912; Thu, 5 Jan 2023 19:16:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=SJEJ71CHLPVQ9y9IwfIDwgRcUFzrXy+O3J54pk2rrrU=; b=HzfmVbi8TE0q3M0xIbZfuzAMDc8cpigX/8pJwUYk9s9Y92IS8Jtwqg2TQsc8Ja3oLbHv WxcFMveJWGBhdlo+kwt62n+xnpSCGS8ZW60dYeK6pTr9PstF9Nr9+o3f/ylhQVc83p/w aGthx1boIrOpFF9McS12GGYpUKSmNleaP91k9zrt1vjT+v0J2P5JcbC1Y2p0Fy+z510J 2dA06D9Ki33JT7wF3St+A+Z+rNP80Yr7Di+Tbjnyz2shnKUol9RkkFbZ83pDfagD2n2w iUiFpGqYPwPkNXq7Q7E+VhT17fOsSCqI0ktV+nIKgvNB9nSR4tAvMB4GCjmFul6sDd1+ 2Q== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbgqsn92-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:06 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpu023372; Thu, 5 Jan 2023 19:16:05 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-11 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eYsmTi9/usQuLyLfkv20tC+hdU57BGO28sdOsFFv8wXjroF2KjVd39AMEBDeD470dW6qEJljUUp3YyowaqsLNkEytrd7x38mwaiuOcP20mBLuEPaZ0vN5kOUvqxbuDHOUexr8oIfkn6HzRSFlakjnhztyWqAw6U6KR4bkz5BAxcMhw17Ur09E7tX0vm8WUL4CZkNniyeVVH85LQGb5axMrwcdxLslqNLhMOpUjPcoyZ56wtXdsfWu9OdEo9Rp4Vx/L1li+NYsfFkNmXf22ExCA8NFrg+qCnk3mCBpngDV5RSUa7WKakNlknWwgDFCWUJ1WFNDke3oDqylx6w+uxRng== 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=SJEJ71CHLPVQ9y9IwfIDwgRcUFzrXy+O3J54pk2rrrU=; b=JkDLMByySEWtcm4zYursBK73iLEYkalDAX7CcR+Kgmw7pjTG/NvMHqT3Af0gLTJnDj1jT8g8wHllwSwBnC51klUD1MSLPARkxl8c6TbTiOlnJ+uhpdPMquI4JaIc4cNETwnvPcaaPgMK4KA3stKOcuZa1QkNcFzJw9hQwn2RZt8OCORoB4faeMK/cbKA9r2Bm19OfqXwyEj+/mDhwhR0HxLEmleHzNnH/xpUYOK6hwYk5GmFsNFZkhS92KxmGozAYJ0uSMfnn+VHObAr/3lH/0z2UUch4cw5RNFdLZ6zwxRJ6NeGQSvjJuLmzFBuMYydXuBMC7vxLW7ohbskDOjkJA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SJEJ71CHLPVQ9y9IwfIDwgRcUFzrXy+O3J54pk2rrrU=; b=IMu9ICEgoZ7kcgFGKsY370/UIIXi6RI7twhKdFuIRaJmIsUItkRlRc4kME/ua+BXoB6gMqMLzG5W1wc/yk67bmTuuOWkDrc/AF3BaRCrqVWYdNDblAkifUcNiszctj8HL0SEr6pygAyKndBh8yGLpwdB0CMEp1QdsI4IoAT8hQ8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:02 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:02 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 20/44] sched: Convert to vma iterator Thread-Topic: [PATCH v2 20/44] sched: Convert to vma iterator Thread-Index: AQHZITok5aEqa5uC1kuYn5v8YRb5DA== Date: Thu, 5 Jan 2023 19:15:58 +0000 Message-ID: <20230105191517.3099082-21-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: a4cfce8d-190d-44fe-ff18-08daef514928 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: aHvh4oi79VZO5K/EOZl35ERMSE9t0kwwBU2FTj4+amA7/6ML+bOsx6z1HmHRq6K3c8ORlbCILqb48QUSMV1KUPVijfGpTU+jv+b/Bi5U4BLtQxZu0rnUO5ICTjnoQLIudJGRe7UzDMM/Cyg6R4qD1iEk4WS8cPmHBAuT6n4DVukRWRGcT9Ub3hDcNqI4DYPyjkEhVQeOSoWKT1OgfEOhWC2WKm8sWaK81+ioFs4P6WoWFhKx9y/s+Gyq5DwWw3AccsFxXVM7Da5oLmt+FgyJsR9SuYx1DSRR+Bz9rN72bM/7xHSAfjpSnBh3IXXavB7fbiZa+uvp7aP62nFaWgJpnenOzj9VmX093ULQNuSnyi3nSaODVFPBvXTZNcLc/LTLK2L6aYy8c6nx5tGsLH43hmnscprpxgCq/EZS8BCzu/tcgbTzH02AVEDYlq9ilvOkc8/e+p8cjvat1MgDcl25skTgD3muR0vdeVzN1XtytvpiQxB/cbdInF0IQ9sZHTEuA515uPJiERpbF35gzl63FlangS3YUCa3K9wh+TC1YjN6Qg2MjJ9um0hKS5fvUk/V1z4RSlbTl/Tp0gRhgXgwM+mtCB9XNccepwhYYxKHv/628NdZEmIQjKk6Yrl7hLWlZfkXrquJ9YXec6nCEdwbc7oncSdGdIn25OC3OpFC4KoBFb5BS+AvjyvMQKHxrX+KzzwjtDhyEUQDx5rnn8Wa5A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?EknVxGuspgqGwaxIcRvU0fC?= =?iso-8859-1?q?Bv6lbyGRMu8ZxHJiGF38D5RzPZBoLAwMiHYAnNI28dgzGMXVcS4AplqMNzUh?= =?iso-8859-1?q?kq7HTRnvUJSlm0ouN4L3SJRjvn1gG2CRVVMYFkTdEOAuMOZbxtMsn6d5R338?= =?iso-8859-1?q?oJeZC0m1xQNpHDniu805lv+3NPkZh6Bb0JZvaiDG4JJKvCFvOYJkeAITpoiB?= =?iso-8859-1?q?5pQrv8Y1aw4taXFU/E/P2TxTIenViRFB5Q6TRo1cn5lTWsdd9yl3dIbqZyCJ?= =?iso-8859-1?q?P8Gltmu9XNbxA5+4gEL3uHpZ/c3GqsVyY7mwB6asPDzsEsq7Yj4gclZmRZFu?= =?iso-8859-1?q?Pnt931LJ1PpmSB/9VIJgSePMp+V/X/sCyw9B4MzCPUw4fieqm+6bNvUbNjVI?= =?iso-8859-1?q?vqtPLfq2yqWTvVSa/O9hXoxYgAfm1+2hN8p++41/5cxPUYg8J3AloMP097+c?= =?iso-8859-1?q?fylv5iMDhc1cCgqaXMrEYA7VQr0oMvLd7fvlDt3BlPlDnqPuh3d3seE+VgBw?= =?iso-8859-1?q?Aabddz008fP8hCxpiLKo597jJ3qMN0B73wYNuTLQjFf95zZelSYUUEtJWcEf?= =?iso-8859-1?q?m8EBJ7qcpA6B6RwEvxeLStl+YpimGDFA+vvV/LhyltwdKi0ZfU8boek/92+N?= =?iso-8859-1?q?MuAOL/0iMMqq1M7VtRxO5nya77EyIkfPSAK2QyWZnhNIv/8D5LtXso+gNFiP?= =?iso-8859-1?q?sKpMpSlO9Gp4B7Nqxlzo8Ywd1z+Ly0GWDpLRE0XQLJAijAKdiqJX4TeqJiWB?= =?iso-8859-1?q?8xY0zpOqWm6GRF0GwUZLDJ79Fq6zt3kv15/h4ZnGDE+vIkXxF9wzHnNd2BuV?= =?iso-8859-1?q?rj5RbNawLhLIX7WR6a86tf/4ujq5nTq4Fm2qCSAZWWihNPWtOfd0fnCkZX57?= =?iso-8859-1?q?crttmSh/xvJE9fgc3doM/oeIAC3BgSqIOc1UGINu073PApkwZRX6pEv69TJ0?= =?iso-8859-1?q?r2RLXa0WHnxP+nRZ34/eb/a194c4zsvg9tVV8FXr9ibZUb3BYYX8+SchJ/3b?= =?iso-8859-1?q?pKRduaRMhcn3G2j5Hx7a7EEMgEjcKnXG/LDJjSdCIhfAYmrSgd9WvHTycltG?= =?iso-8859-1?q?NdMFm9PHJFx6q/0UsJxVmcj4n9ltIJeJigJ/g7GLA1g94miihvJPSXWKtird?= =?iso-8859-1?q?rEWMYU/DxzCwPXf4V2oCtIe8QHiFrQJQQSDmCMhamA6rXzGZbkWGgdATTNPj?= =?iso-8859-1?q?a4R2iGf2Z4KlWuyJi5wCH3uufba9+OdG9jBqLLjwklgBI7YFU6XKjOR6DGAp?= =?iso-8859-1?q?UZ649MMgm24/4GXJX1PhF4vjRdmUoabYVWm2gqM587FaefAlTRrK4bdDsMLK?= =?iso-8859-1?q?YAb+vgJ64XrbR7/IOCnPUSGcymVQSW6Jj6vvKtSAyxhKKRNEbP+FFDQZqf2U?= =?iso-8859-1?q?LqQLbdcRYV4mkuetfNeO9aZx8vheU3VHTwtCV0t1tTlRQwtp7ervI0T1zleq?= =?iso-8859-1?q?9U6seW5zx8fslbwQ27dDVJizP5nhkEbNHda13AxQyVVIqpDlgJmnMhxdK34O?= =?iso-8859-1?q?b7ozeroALab8g5W5aZXF9+RyEpLsKlojfdfKZYG/G6PHnQ8hI7ecsNgoK/AL?= =?iso-8859-1?q?HnU4us1AfiDSWHyPL8ZyLVrARDGuVL/K1CTz+32t0K8iFcyWUNEmXg4pZP+C?= =?iso-8859-1?q?GAnOQ9Zl1Ztebzm58ESDEeLUWDxWo0dhxigo9eg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: kH+vNed8XORxG42MoHHM0EVG968ps2TswFMidgtASx46Km0r6ft9pW6PErooP9sZn8UhnX0CZnpTOQOsa569ORpTNAlGBaBbcWCikqdyOvvlS+L7RIBM9ZXPQDaufPhPMOmZevM9jBHeG4Qe4qGoyBIAYeIE+uEh+P/oj0tn2ULtq++E4oglGo+/Zsy6yms930bAMUcm+uINQvrKP9SH4hCSiW7rDnTmr4pJEG7w0kWBy9RnljD/fjuYsBngnt2CPonuVMeabUMs/y4i9XQSEWZIimqIzhyjT5VCM375d/px9hsUM6R6/oPRqgFRMJhJecJS/lrtvYeJ0BMHBwCNCTaR3CsJwQqbC4MeU1xkHA7HWb+PwP8MMJfEOqTksBGotfnO674VYhE32Sn4BQhZGZtHyg/XjXfEMDxiVKujEWZfY4kSDKAWhXCxhEj+arZlfTmHBl8l6gv6yl8PgiQ/Yx41lcqP7xwLUTvGU7mmdD7chw/OOIFImfCI3duDGzjdY41OIy3/p2A6dT/GaS7CLcSV35Ldp0f8PkPSd76eunDGK4wxcODOlr/u8reNulJy06c+ntycX7zHC+4bKYJjJ4syoroWkCKnGeR2VPujc4aBqgBx3unlzzlL2KhPpE5glgF0xM7gRq7J0jox1dK9ly2l9+H2yjl7ed9OgBMAAXNHx5ZThBO+RbX6Wo6YRTR+l1L+PRFfYsrGoIkCpHvcxbyq/kdSZrmQY0sMTG4hVKD/lbwVk+U8Ch/WPjJMO0+qL+E466UY7Shl/suw9CxREX3I6ttm8EZ5G3zgPdK1sAXGkYWwzmeeo1hBrPtxVoProlw4dh0Z6RLzhW7TZquq255grP5mW9S+lv9pAQa7nQIMbSg89ZRBy6zc20eiQIj36wBlM10lT8PPmqbhcLj+iA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a4cfce8d-190d-44fe-ff18-08daef514928 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:58.4537 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SVHGPHKlR5GbB4iivqLtbuOVkIby2tA6HZfPk2C7ybKg+eVxyFDvHau8++3r944fqV3YgqyfRYc5Doef8KhgqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: UzfT66_nLoDkw6RIvhR1SF_OPtYq2nUj X-Proofpoint-ORIG-GUID: UzfT66_nLoDkw6RIvhR1SF_OPtYq2nUj X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: E562DA0027 X-Rspam-User: X-Stat-Signature: 8js748t934aq88wkgkjpznz5r6w695a5 X-HE-Tag: 1672952447-238925 X-HE-Meta: U2FsdGVkX19y13sK8sbGRsjkYk0Ua5vN18oazYpByItA0MmRvwM6sHR8eOA40/I+nci5xlYhPytOJCSG+DiGl69u3mMeRjNDRrr7JE6mMQ+V6edTNvNkaiHuDbnqx5iWp3+YyhIgWDhKoQX1qy9XH6uT13fCqff0/PphECFQhxYj5fSgmnZbXXO/YjVIweImekRSS1eRa5lD51/LppymezRXTU2lgbbte2vy7wYv987ApghRVYV3kiwbDpKL1Sm/7VqF/I+Uay66j+MnGfL2tYw1KE2strdUDvVF8MFbHO5K42P95r3KcTV/QMRF96OwxlzpwzBOWjLbc9j7olynbWRP5F0hRIdYf6JYd1fdQKKYko40kD0+FDegKXQ9O/59IYNaBsdctpBj2GT1egkk9zRlYcgmGqDxjjxHbS0GFjQEarNL8q6LjKCFJB/WYt5OXb6ywvxJtRsIFnUoB//9Kfj5FkIy6miyEmxLutCtRS224pQYVtLgt3neoY2/BtLlm77/UH7VvOBD32ztuK+BuqMA/3yI6Hkmx8pBgOl402rzvpk81hA22ycWQEe24O1w4d857m0AOfuAJPpO414c2zJm0mkaDd4nDGtPkOrk2L91Dc4VsRbU/myp3jOh4T5eP1lhhe6QK0Oa1oSRXQYiusAUcIGFN2mHIYcD3cnmUZ/vwx1JaI2DgSKY7SIxYiLcTAhL7wtSXXes0vUwrk6BwZcyU/sN3No4hHOBBITObDP4/CE1wNxhJhctvqFsFkwCcWyEqZoA9+01fbtorCmjKzKO+vfg+vptM6dh/c3VMOE5JpjC84mubTb8h1ex0GVi2irJJX/SDjVYCol5EV2yTZWc1qhDH48cgW1QcfsXtcpDn81IrYxYZ3U2l/66TRYS02FkRABexO41nquyzsewRVvTzlpLlkfi1PVoHLQ40jq4HNKL86ql3K9ASpGznmv0DN8w1LAIMNy3vVyiFnU QtCp+LCW Bzxi4m5aNz18ipLAy7LQKO2Kt4PunDGkZKyFWENusiX7gQfgZoGRBxdgSM+zTLqNwK2m00oRtrDSjKRhi3ha2d8bDEqZTk84IKT3s X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- kernel/sched/fair.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index c36aa54ae071..9c9950249d7b 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2938,11 +2938,11 @@ static void task_numa_work(struct callback_head *work) struct task_struct *p = current; struct mm_struct *mm = p->mm; u64 runtime = p->se.sum_exec_runtime; - MA_STATE(mas, &mm->mm_mt, 0, 0); struct vm_area_struct *vma; unsigned long start, end; unsigned long nr_pte_updates = 0; long pages, virtpages; + struct vma_iterator vmi; SCHED_WARN_ON(p != container_of(work, struct task_struct, numa_work)); @@ -2995,16 +2995,16 @@ static void task_numa_work(struct callback_head *work) if (!mmap_read_trylock(mm)) return; - mas_set(&mas, start); - vma = mas_find(&mas, ULONG_MAX); + vma_iter_init(&vmi, mm, start); + vma = vma_next(&vmi); if (!vma) { reset_ptenuma_scan(p); start = 0; - mas_set(&mas, start); - vma = mas_find(&mas, ULONG_MAX); + vma_iter_set(&vmi, start); + vma = vma_next(&vmi); } - for (; vma; vma = mas_find(&mas, ULONG_MAX)) { + do { if (!vma_migratable(vma) || !vma_policy_mof(vma) || is_vm_hugetlb_page(vma) || (vma->vm_flags & VM_MIXEDMAP)) { continue; @@ -3051,7 +3051,7 @@ static void task_numa_work(struct callback_head *work) cond_resched(); } while (end != vma->vm_end); - } + } for_each_vma(vmi, vma); out: /* From patchwork Thu Jan 5 19:15:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090328 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6C70C3DA7A for ; Thu, 5 Jan 2023 19:16:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E673294000C; Thu, 5 Jan 2023 14:16:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DF0A3940009; Thu, 5 Jan 2023 14:16:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C43C694000C; Thu, 5 Jan 2023 14:16:11 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 9C635940009 for ; Thu, 5 Jan 2023 14:16:11 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7D8C4AAFB4 for ; Thu, 5 Jan 2023 19:16:11 +0000 (UTC) X-FDA: 80321700942.27.D4C788A Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf13.hostedemail.com (Postfix) with ESMTP id 162D420020 for ; Thu, 5 Jan 2023 19:16:07 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=A4EIfExx; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KlbWu7jS; spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946168; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fdS754oOP9KvyPGz3fj9korFEn8Y/p6HOE8wad5P+3g=; b=AP0SeDjkgkPG0Z6AC/QkiuRHzV6YuGO/y3zL+XvBom+cV3hUw1it3tv2WNzNP+ilRJZra0 H8uDAtbUhpAWURRFepr9xu8gkNl5rp73sMknEGG9XJDIgKsNlEEQA0TP3FMrs83UxIkGDE /YOe6fGgXyRIGTvzJyuOW8CTXXjojQE= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=A4EIfExx; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KlbWu7jS; spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946168; a=rsa-sha256; cv=pass; b=twvTg7QyGKnUZ/pdST4KLdBDJB817bfKOqWMBqe9l4mYGClV+qfZ0cb1hGmVUoPRGWBHd8 s2LwwMP2zGqB3IOcEhlvFeNFUtUc9YxBpmcUaISKkIs2/fwJ7Go6H19qksyJcTfT5M+qvf XetstYd9Th49E4K3lKk+JIeXI78n6SI= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ISmCZ001344; Thu, 5 Jan 2023 19:16:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=fdS754oOP9KvyPGz3fj9korFEn8Y/p6HOE8wad5P+3g=; b=A4EIfExx3JHwO45BKQLFMD+e/ZK6yFf/Fw01MqlkwgtduiRm3Ey03ZS3LvU51iVnx6ik 1qIc7Hw8yRHZB56HyTgPkY+yVanXp7grWvlX4E+36wO/ktEE56utBNpnZDgwGRLgLTxK WYn6I+Y4fkxqvhTEpQz5MSKC3f7aAkS44as0Nr6yUlBojdFaAAQ6gwXUvNlYHIL4rbSB JJfYN3tc6gvE6F4W4F+bWX5b54EeKZXbmNRXrPDlKbNTv7wTyoton55+W58r2qlyxU4n L9K9Dpnh03QN0WtRYxdGEtY6MpyvXmy+Re107Ja9t/TDDDAs32F8CsRtdFScE8FIIbGv Sg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtd4c9qvu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:07 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305Hvlpv023372; Thu, 5 Jan 2023 19:16:06 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwept6m1t-12 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jh0e5Hrbhr6MD3Zwmr3fmq3vIvEMzC1YA+udUIefyH9vemyWBmNj8qfQdVEliZiFJXRYXAk0eCEG3+2PlZNkNh1xxCxJ38+dIy9nK1JN025jWQ0eoU69U2HLLBaQ6Lj2sBImbFyPCG+TxF3VuDvNwuqfwcwov0N5umFWknlnzFkfTgtmGcW5TeiOIup7V1DGSBhViQGw8dN0vmKI5/VQ/lrU+SqYyyNzIVSe9bfQOsMtwKD6nGN1pjYP0cTrYZRv1M3YmYVi44tbYNwx1QVEAoP/blwuSnhMuXSGBb0/mdskptySam/GUdG7M3VYA2F1XrJxRHflS1wOyVdGAGBj/w== 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=fdS754oOP9KvyPGz3fj9korFEn8Y/p6HOE8wad5P+3g=; b=PLyRX1Ar+UsWa8TQKqYtT7XvxCSiXDSeL6DVURCp7WB42vrXbQdWvrS6H1t21zorCMYoNRqLjAGzZRl9wvwMcAhioCLYpkhe/c7jh7rWN64cWho6hOZxODJTzYb7n8HjaZa2qgxSckxjp+XtBVEEh4SUJRXr6ceVpA2NjKjKLoKsJP66RoDq34IcozJGZCT28Ovvq/b5wh3qxU1GgZDLal1ftTAi/aXQvqA/sCkrayMfFt+5GvMDDYt1eRpCinjZpzZ/58vs2L9Y9zKgATx6zuAZlBXJKJdAzs7nZgVKoc1Gfm1OOzY+qD3OVrnFD0949tBJOQuouvfpb3z9GAUUZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fdS754oOP9KvyPGz3fj9korFEn8Y/p6HOE8wad5P+3g=; b=KlbWu7jS+pLpXNl6VxX9j/pSKKTqBduWZNIGnf0jNXrfP00oL/Tcxu8vHlGC/gXU+KX9MPyO0YBmWjNH2gwyELCQmB1HDRSRTu+9bs7dx6TLWSKJep1eAWm0pGXb7sM5zc1+zJ0VYmcsZvg8Bc13NeF6lWlPHRP4UB5Rt3AoRd0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:03 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:03 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 21/44] madvise: Use vmi iterator for __split_vma() and vma_merge() Thread-Topic: [PATCH v2 21/44] madvise: Use vmi iterator for __split_vma() and vma_merge() Thread-Index: AQHZITokzaZrKFS83Uyh3Nq7XT2mSg== Date: Thu, 5 Jan 2023 19:15:58 +0000 Message-ID: <20230105191517.3099082-22-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 7fab28e7-2289-456e-6fee-08daef51497c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mzoEnhxOj3+ZPwfns/QA+puFI8DwKK6NMRiRNu/lWEHbbM2PIICWLZDb5DC0dRZemX6mo3SkYu+K571beuFlm7Yy0d2BxmoZ0Y2QPYksOUX2YNEPdCQ+Dsy74hNiMFh+gSBlmoQ4TilRlk/qW6mjzuMxUV1uOrZS/1nM8x5DM0sMqydttRudNF23jQRTSEzlA5h/gBMUVXZ7aPNVI6fke5UTkFvvGFs+tKY5Pwa2uodhSxFchYC2k3JL+pY8MmeVGN8cBJwPRgkB+P4egfIOHGadhbGQfYFHDicBeSObIY7kqKYW1DK4uDCKDxpXVgk/oGWx50jGzsOKv5QWyR1HblqdAhsQel02AZWvrPteyVZrJUoglhwgrubAp9mOZ/CknGIXE3zQ1ry34cZU2LIzq9WLZo1gi3WijC457VEUJaGJbLaR42FkPhwVr5zuFK5L4nGdRvKskZEEhVZvBte/TdcBVRuh9HBt2zY7/qKLrIhkd4pRpqqzA2/2vMwnGTso6B2osp/e23oA0P1jlV7m75HpQOmX+3aNQjdtbwf6CgqK55c4FNuauzqh0jUtZcVOzg1Q5LFvlWuUVK1GFoJzu9Iq9AGUtufJ4cryIDzxnWZOAYDcVFvba5nQpYRnj123Z+szCTsLaVcXVdTMYA2YZcCmcujabYCp2HbNd0zWF6XJnYAiBVpTFczeObaQQ0C9WPRhL8y3pz6d5tZNZ+bTrw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?wxNlgEuahGB3yWCWcZx9Rgn?= =?iso-8859-1?q?47byyC3cAjOyKBHigh/3N/+fqvxjM7ocJUN3U85syfJN6XBQkq728tqI8J0q?= =?iso-8859-1?q?JCGj1dWdEVfwqaSERAoxL5dJwGA2k+aPEhP8H8H/rsoIs49Qj5F2H5LhyOl/?= =?iso-8859-1?q?zU+nATLkpyUtx+IJcJTMtQFDes+7BkZ/wxe38yDmitVqBQIdwnpztHBIZJ5T?= =?iso-8859-1?q?jX7efbKh3CqUMMX3Nu/dqEmJyzeGTKDEGTycLzQt1Sy1lXn7qR0NIOix1bai?= =?iso-8859-1?q?RsHoj+Fd7FEH5w56zl68h/awnN2ORUiGUQXBJY6wKqkBzBOju9Rr0cyjQZ3g?= =?iso-8859-1?q?lNaoJZbZce4eaE815JHuZhdP4AOF+M7LEfwUZekwhJ1rPww1VHRrA7G/6ofu?= =?iso-8859-1?q?pZ7ZV/mwjThi/Zs/aaIZwokeA8Ds1OKhJcETy8jaCniJlvmZrx+AH/H6V6fq?= =?iso-8859-1?q?FX8XFNzKLAdv2bjEo9F3GynbffzpmBrsPv0Txo8aQUKNaZ7YE/xROBBRmq1Q?= =?iso-8859-1?q?kOvdI0Fx0CmBtf39Z30iQ2b0MefTJ6gBi4b2nhQiZBPfxEszS1JevkdsXFOc?= =?iso-8859-1?q?HN5vXbpPHp+RFsahPhu3ta94VX8ZoJ9hT3st1S7yiY9Y+Q9LCpxulC5wRIzq?= =?iso-8859-1?q?QlPYMX01zwmF+4C6Ezp2x0zgil2oFELBN2wd790jOF/AKP30m2ML1wmcy98b?= =?iso-8859-1?q?dd/oJEEXyYJbMOP1IhMhk1UagcM/vGCPsW5TiS+oM3hBoxDn1T24hb2I1VHg?= =?iso-8859-1?q?qouTM2+yFOuDrR4iKxqDFwkEQqg65VLw1m7Y31YmDngOdqt6fAA1/8hbOrac?= =?iso-8859-1?q?DSEl1R0Ul3emODWSW+4vB+DLchhYoJejCX/QIzmdl7kW+KDTIxOuENed2ii3?= =?iso-8859-1?q?ZaoysLROmLpsE9Nz6CuHzM2OfD/NF9a9LVoUeQYDmnr5whFg3sC64fUrH8KB?= =?iso-8859-1?q?IbO6tp+yxtSRCt7MB1d+xYEcNVSql1wqjCWVlzMQFppxG2PJwxrGYMJfB5xY?= =?iso-8859-1?q?QrMt+tvs048EQgl6kwrUPEgxQq/AxVdGrtaCNe3Xvtfk0h/0fQyTj+ALeogI?= =?iso-8859-1?q?yAksFMXuSRUNaV7UvwC1JHjsU5JCaEm2ai0z0xQLBj52SkCMo2d0K+11hzWL?= =?iso-8859-1?q?kQN/qSCLAe+BY5XexcRNl/Ap/Bnsa6rwO53FnMAXt0bUSONRZpt78mcBt7un?= =?iso-8859-1?q?17uZ2DaMddsEiHxnGArS7ncfST/IhvQ2VWa0xKn1iVhRxbA7AdKL6FGeuY4S?= =?iso-8859-1?q?Vp1xb6FHa4eJsrlx2gOUrBUDIxqXknslVvhACxWzUzqGQsAQ8kAngqSv/ddc?= =?iso-8859-1?q?JMW/70EkZMC2/GW+rPRmIYBbP5n38W4a1Yf82DWEGqRDz5TL8y5iuoWjEx1i?= =?iso-8859-1?q?Xovu8eQLKuRERqJsMbdA9M0THLKGTEyCYQ9wOZZ9J0loyNr21SSsPio4Bcao?= =?iso-8859-1?q?UAuLOr25cZt0yBCBQS0e13SnWP3317+Bad2uyQbh5ExteprEum+COYnmicA9?= =?iso-8859-1?q?+0IXjUZrTUkuYINjx+Ju/EGafxeBJg3QAkDHSE2U6idTNCaDBfDnQOinCqje?= =?iso-8859-1?q?oHE4x0riNmqtdbKOQguOswT2D/Val6TMHqK9IKHJiZ3+tekbSBUIY/v0i6yW?= =?iso-8859-1?q?7Xlp22Ic6kluxYsHhLnEbCqy4bcR+OJMGmMHO8Q=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: evivAzzOuF9IHq/ltnsG+KyPpWsEa04j8JOj2O+NAU/O/IKAb1CLVfa2u8a08/dgkApcDbMR25CIvampxNWyU7ru7AefE9z8Zl/cQ1yMafrA8SXI/eOjJJzyoinDoKuPKSNe4S338a1aa5i5XvEUu5xqhbGO42DE3HEp4zqetT8dR7jiRrZkh4Wrg1eSjkqy6u8XWjlCk1+l8rmPQEAet01elaLQa0wNwAyUut4RoMz5MZ2omiG4Z0idNEiIxhGklk8xR16RUzAVCPJt5JuW01stnklcKQzOxB1u87VXZqjSpm3Ta7uUaerNrph0G+nvD8CVAfyRMUHR0yqO43zUrvxLDrmq2TYprnxMegJwwF8Z/fIrgr0eQEwDxiU1WOxSAdp4jvIzoPvJTkhMjPXMMiJCbXkE/MzJRSwvpdfAhFFcp/0fIoKAUiMDhbVHzHPBpW5GSGjphy5SkVwyIFPrS836u8+GZVFDGigTI7lKQ1oNl+NEnUMIGZD8wg7MyZBfh8rc6yDjiRi1awFcBaRSczL1/6nGwZrOb0g3Tb9mpvT7S2cf1J2CmZhjfYAobIkPsahh61dUYfjy4r4akBALhhXc9XfD7Yv8ZuRhM37+ukgu8vPQKvdesLAK7zCBZ0+Jw7/h9Pq+7rTumAWjq/Vi5qzLqdY+z8hwGd/jAbTsiH0lo9d+O2vjnqJnTv00+l42TXLZKgCcBS/dVSzi4ZD3eK0II/t8Td2LP1Wj6oIBRhDlZzBNT5gsQClYauWrMs9zCjxtWCh0rx6vTG85v4+gbznaVttNml93nqdtPj1GSDGJJ1qDpFg2zR0mNh8jk5w2kXp8EneuZNwG1MztCnQkxHVTJ0IdDCkcShPesT+KE2yY8AKUb6RjDEBNIRCW90RuKT5U21UIQB+Dv7MN2IE1ww== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7fab28e7-2289-456e-6fee-08daef51497c X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:58.7193 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: c/vqmP2o0+/8L3u6ZAKPtdCHpMaUMu6Ece+y9B331xTyzw15oA7G2BZjwzjq1LbDNQmRj3wHx+6S5eSlU/R7mQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: k6w8BHVENM-PUv65R33K8iO_q-AHn7_o X-Proofpoint-ORIG-GUID: k6w8BHVENM-PUv65R33K8iO_q-AHn7_o X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 162D420020 X-Stat-Signature: fxp7uamkr9ippyxmq584e17hegshh4d4 X-HE-Tag: 1672946167-65389 X-HE-Meta: U2FsdGVkX1/84rsBKS2Zii8xxbSihb00xKWBBCedXrKjnEKHD8XOasibkVFXgUV9/sWQSPtOtKc1iSo6d19Br94bsb5Zm8Jw4AvrHFu0JG0Ob9e45PA6V2TjbcwgONBp0Y3HIAcE4Oh3Oq0Dz7I8SyE099t7vDoTa5uit2/JlNqdLXuc2dgxCkeQCeOloQdpmnyF09pN7fSWD/04ZcPQpLG1qCHTSrqrDO2fpdMns9WbNwmiUmYKX2L+s1h4c2g44JcA5Ct503T3rVcFX/Kgm0awHj0Dsa8YMDjtE6zNKq5Yqcqv2G2JrjJN2V48bsdnomQ3AWv8/DxKWwmzPDmKTLwTxaOgQZsUM2YJUf6QMGicFe+oJ4J4pNIL0buHwTmhoU+VSIvN5HdcsZkRqB6hJ2LWCTSUQJ44XzW/o+CNIxjtmDu1gJ1EiPvhbFET7/3CJMrhyKl0raWlbkrAweSr2EwgKiibav9/CFNlej4lENJFpRg7nMoKOdauHuuIjzMWWIm6o2MkO/pXugoRvYyCWZkUH1HZofsRrlpogy8esySNN0gLxBMrQChlXeNcCv0WewBU0b9LCxrpkbi9UqD6Is1uGgfePDSYTOM0sLvFzlVZjl+MPGSTW/PCzEO5KBnK5O169yfR+V2xH7u5tgKonYyzrRni/SCp2dl15MeMPFiOxEZppIDJ0WPe8Rqwo83ZGT653ygMxtQ/Eddcq99/P6iN2AAN5HrN5NaODbhckSH6hE3F0KNCZHGpD/cUx/M2/+x4fntubzCAb3CqhKJs2nmX88bZuDic7ltrUwfVBohRc5CfFP9RmVWppHAATzCS+bh7yKExN34CYEk01bqs+aLuQbbBXje5T/JkDCMWGmUoa/2Ku1hRBrjTDWDvJuLd0WdncPwjrbiXWYlQ89zKXrSyutmXpRj6ZFagBLM0/tja9Z9sgiBAZ2VeZuYZ+dvkwBbIkeMMk1stDSp7TLg T7+bFlSP dipmhk89AcqisJ9MsfBwd68uPVa6wRC8462MK4y3+RjSRZiiWjVm9YUyuI2JmEUyMggFleJOSTp8p3ANI6AhyoiuuismVeQnKHykzpT6O2s6jeK6RSH4G3dwkxqBglLjeoBmsA823pAm9N3sM2HvdYsBDJA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- mm/madvise.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mm/madvise.c b/mm/madvise.c index a56a6d17e201..4ee85b85806a 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -142,6 +142,7 @@ static int madvise_update_vma(struct vm_area_struct *vma, struct mm_struct *mm = vma->vm_mm; int error; pgoff_t pgoff; + VMA_ITERATOR(vmi, mm, 0); if (new_flags == vma->vm_flags && anon_vma_name_eq(anon_vma_name(vma), anon_name)) { *prev = vma; @@ -149,8 +150,8 @@ static int madvise_update_vma(struct vm_area_struct *vma, } pgoff = vma->vm_pgoff + ((start - vma->vm_start) >> PAGE_SHIFT); - *prev = vma_merge(mm, *prev, start, end, new_flags, vma->anon_vma, - vma->vm_file, pgoff, vma_policy(vma), + *prev = vmi_vma_merge(&vmi, mm, *prev, start, end, new_flags, + vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), vma->vm_userfaultfd_ctx, anon_name); if (*prev) { vma = *prev; @@ -162,7 +163,7 @@ static int madvise_update_vma(struct vm_area_struct *vma, if (start != vma->vm_start) { if (unlikely(mm->map_count >= sysctl_max_map_count)) return -ENOMEM; - error = __split_vma(mm, vma, start, 1); + error = vmi__split_vma(&vmi, mm, vma, start, 1); if (error) return error; } @@ -170,7 +171,7 @@ static int madvise_update_vma(struct vm_area_struct *vma, if (end != vma->vm_end) { if (unlikely(mm->map_count >= sysctl_max_map_count)) return -ENOMEM; - error = __split_vma(mm, vma, end, 0); + error = vmi__split_vma(&vmi, mm, vma, end, 0); if (error) return error; } From patchwork Thu Jan 5 19:15:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090447 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27B9FC3DA7D for ; Thu, 5 Jan 2023 20:44:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BB2A48E0002; Thu, 5 Jan 2023 15:44:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B625C8E0001; Thu, 5 Jan 2023 15:44:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9DC0B8E0002; Thu, 5 Jan 2023 15:44:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 8FFB48E0001 for ; Thu, 5 Jan 2023 15:44:52 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 565BC16012E for ; Thu, 5 Jan 2023 20:44:52 +0000 (UTC) X-FDA: 80321924424.13.E59E300 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf29.hostedemail.com (Postfix) with ESMTP id 01E30120002 for ; Thu, 5 Jan 2023 20:44:48 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=cUqV1TAR; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=A33dSLBI; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf29.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672951489; a=rsa-sha256; cv=pass; b=Y4xpvaCp6rJyPt2oHmxCYODP3OL+R71mte6jqzHJ8fknjjPVxKILuewhyV1WbfX/KYsHaF vHc5KeATbcTDVWziLiYlNIXB10DI0Jl3uDcm1iO1seXI4l728tSQQla8g2YFQYqD01d/dp 5R8aGHV8u3fFVOD3vMJ8H9C1XBmZNJo= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=cUqV1TAR; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=A33dSLBI; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf29.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672951489; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=A8EhhluF1/bHGEprawBT8nXjfiUMfSvpckqA7Wu6mU0=; b=df6cKO2rnbaJew4IcwCf6k3oJxvh84++Tcs1rwq5YTaDgroaVV33YTHrusBGbseA0gXKBC btpTrq3+yMDwROBtX1/P5MR4IT9f8DaHOkrPcI5laHXmLKCddccViiF58EHLDtPVw+ylhw BZvD2CIlJ1DylWd0c9gi8lMCagYEc/s= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ISm9h001342; Thu, 5 Jan 2023 19:16:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=A8EhhluF1/bHGEprawBT8nXjfiUMfSvpckqA7Wu6mU0=; b=cUqV1TARBT8c1JsqB3cgPPO7AuF3Gt1oI0I1il4CekZc8AZqzKcSVSzj1hdh+VCv0ocK g3mlgCHo/WsFqri7DUOt1ch/357kICSdpSJgtvJj3BBn7I3w5ymqRU24I/VynFSA3+Wv W3ZVPGSuaijWXnYvbs3AkhiTpFclhE0iQrIjeTi0Qk9CGsZZlohRKsZGBPRUlSnLeW4R EbhKxQu4Ghs10aen0s62IV7N/OE/NNg0RixWgp7WgdZSiyqnnpDQa3JD1xjyyXkFnkZD jeGnwcXN/uzPbShWQOOkdfRaqirdV1mmnG6xH0XFbWmFfAKypvafdXrZAbbbu0x1vsL7 Uw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtd4c9qw1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:09 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305HgaKW033879; Thu, 5 Jan 2023 19:16:08 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2107.outbound.protection.outlook.com [104.47.55.107]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdtsj1fk-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oaaaSQyQ81LaiazFhwDFNqNEjCTijneMepnO90m0LYTbHbFXHJVGawXALc6jwIJdsSFQ9nruTEnKNBMJxFhG8GNghxRcGDVUUPZVaPWug+DJ8P9rom85R266L8FMYNegyNVFrhUDpAKILAPQY+LFWRrzXc3LBdwU6AY1zS8k/DA0OVISlA2rFbCWKmq35tYj2OcV2uNJjxc8WiwQ7kqAQLKq2xPFORci4JiRVZzjRHPAs6uwIS5EnSibYogJiQccgYMHRgy6/Ewh9QGxqfg6JbcDLk2eYVS5/OpsWeG2FiNh0Ste+Cj/WzduiNW4jXPOKNYfMGkzuTlcZUZILGGhYA== 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=A8EhhluF1/bHGEprawBT8nXjfiUMfSvpckqA7Wu6mU0=; b=bGUykpe0Mp/EDd9WeNg0o29PiRpHkAetAM8dOKdtkxvEEnfklImGRqEienN6RjUe4pcy+VT1LbkTstzeolcuTJBDuK6+dtwaZ2FGDTpIpVBi4dbzupw90eXJyKEVCagl8t4dt4YQbxy4tjdK5a1q5IV15wxHvaW9O0vUy9HbJf2o2OLSbI4E1XN4kBuIqhkQewUeDkzwwcEEkebijIJc7GWOVUKxWjn2G8318CnZWW3c7tuixitmvA2ivX+Zo/dsnbGHVur7PFqL9AQ/c9FcvZYXPJEyIL9G97Fb6WWKDFSN3yuZquTZJzSQtwns//zOfoz9jwjgOrBKHBpLWMG0pA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A8EhhluF1/bHGEprawBT8nXjfiUMfSvpckqA7Wu6mU0=; b=A33dSLBIQtf/JmgT4OxVdsSNl0qjuwEohDs0K0jwCS2zeSv4+74ksSC9KksxC1xsksaY4zlhi4sdbU4EQFk+948QhYmyBE3NJv2Gx/F03qSh3/3iZsMvIIo0fgNl1yjQrKWrh5p32FhXF3Ni1dQxgrCo1LNV0zcpyB9hK9TQRw8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:03 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:03 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 22/44] mmap: Pass through vmi iterator to __split_vma() Thread-Topic: [PATCH v2 22/44] mmap: Pass through vmi iterator to __split_vma() Thread-Index: AQHZIToky9xKc85E+U28OcnfnQqIUA== Date: Thu, 5 Jan 2023 19:15:58 +0000 Message-ID: <20230105191517.3099082-23-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 3acbfce6-4276-47ba-b9ee-08daef5149c8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nga1PpxGD2wIFt0dJDzbqzNAnC3ElcZfbHKaJfOuyhfogzf5rrs3rb8qWt7Yfn2C+8+kIJpjfASPlwpgie55SJw0t744dYlzLCnoEoCVfsoZ6wlT/46x0/vBbIett/RDd7DGZUJVRd9Bz7nn+TMFwMGWVpQCBShNqDKUbpvTkkKfvLkZtJvot2v6ECHjeqgUdflZD2aFnbtgrkHR0uc5e+wnnKV74rOMH/gYzlP3nTFn/xeh6Fm8eqfNy9GBfVZiKejzAotiH98P8rwJrZZIvRhT81Na6e9hWQpxVwXfIEcep8fHdaUVNmOtlum0xprud/V7G5NAnniGdnT1efX5WDaklS0OAtw9Cp2MI1//4NX77xGoEEcWL7zQGDG4lwQ9lN9SgMKxCU5i94xM1/Y9s+XwpwDp9WC4RzCvgU2i2Fml6/CrlfwF5735ZE8/Hw1F1rPt0n/vXpKLiFO+9RbjRAOVppjjXBItjLiodp16gLTUcsyydCYO0uFCRv3NWetb1gpKvryZTj0zSDXIwkHeJhTxTZ9dZmKCU2qYNwBh1nJmq5EJaxpDIl99XAynihmR6qPgXqm5nGqzq0P0x7NkEGqkegQVCTIepSzaUtjLMig+z7w5Fj0Wp0IRFNAgG7E38aK4asYsFr40Xoz1/YU9n5ajiT6noDp7WTLqE93ubFxbMTdl/8y8tw+oqwCxpmKZXCINKiWRGW6m5+V1CvBO1Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(4744005)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?LY5Gva2z0UL/ZrvLpD6fTOc?= =?iso-8859-1?q?drBURcQZbb7xFx2eO5N76Rq3dGaYCNLfj8eC8mN9MUxMv1tNqubZPYDJ1Nk7?= =?iso-8859-1?q?euJn+fx+pt0g79Rbr29ONERqykusuhGGKzn4YTiDY22TNSj40Jjd1ArY1dh1?= =?iso-8859-1?q?wUvt0tFYpaguSFgv0HE0KvZdv0tjY////hhzn5Xvlhvwv5i5CI/j2Vmbka0r?= =?iso-8859-1?q?8TVkPRAba+qoc1NABFqNA/pf7mK+iWT4u+T2g8JmJy4QuqXr46B59ucHE2dD?= =?iso-8859-1?q?7wi9WDII/RnZitYByIJ8U5NfGAL/TmMu+ZHn+xwxchOXX69H2UcG1TIGecA2?= =?iso-8859-1?q?c8deKCaobJ3MyuTmcM49R3nsQJg+p+jHImrC8XEBS8Wwt+bEbYc1HezJa0e4?= =?iso-8859-1?q?0kKUxK3v0w1WjDlTHuomX/ldQIDgpNltq3OtnwWkZfF3bx7rWy5bJJl2lp8h?= =?iso-8859-1?q?Mu4v+RZt/PBLxeYuN8s3PXALYhD3LpEBGk8nfyhJWnP1tFaFT+QDkzE5yA3+?= =?iso-8859-1?q?3ddSns3z4r5kVDzujvkBn84B1HghipgxipyUjBXN4ENPUxW4gvcvrVvyvBun?= =?iso-8859-1?q?5F0nOVm5cNkZoHXVUPg8n7ZP/c0YvlypS7rpRfNuNuxmqJ5jgW3hmQFAXjxa?= =?iso-8859-1?q?crD3N8IeiTh+6ahlHNctMjkH3CE//r+Td9tAdpjgBNxy2hIFTgor2+KqFuCD?= =?iso-8859-1?q?AY61TsQgNh6jtpeYlIseDZO0CqVg5omoZBrChUcrSKRv2u/ZxlDzvIAsdtMu?= =?iso-8859-1?q?6nGieY49wp65Fy8PJanvi0YBsJvTVyspQ5rVYHi7GAvdRXNtJdM4uBNd2W2x?= =?iso-8859-1?q?0HwVKinpXLpOa5XDcIaoNZdCB+lRfRwjZPJLsKjg3/XiFq3e3S6737zeGaOe?= =?iso-8859-1?q?cI+cJozR3vXT0AXMgcsjliyGhb/Pe32K1/6vZWrk1/6xJ3loqJ2/xjQF2hpS?= =?iso-8859-1?q?iEfldYLRinL4Xqx/0ao5VCs/E8YuhZMkfUVjGixrFxTpvqfj4L6bvT6LfwV+?= =?iso-8859-1?q?N0gzUuNhdQczwK0+doiaMT8WYAMtyQfUu/H1izp3+VBbH/lW6O8g8Mrd8XZm?= =?iso-8859-1?q?K+uXSisodyFnvrq0xj+bSQVeZZAx2vUgJGR1uKt78SI3MASnxVRSTsGpiuIe?= =?iso-8859-1?q?yS+1nG6wWaSiHG0S/dARwoo5Uze5GE1yXzi87cqzKoeG1GXYrTCfc4qXlCKZ?= =?iso-8859-1?q?Y/y9chmQVIPPXEpsEUXy4AIh6m83hVCwnEHI8S4cuHuTthnMxSylwBWHuylm?= =?iso-8859-1?q?a0Aw9sOC8REeODsNf79Z+S0QTr+1sSSkwJCOt5bLl+JDR77wsHXvDad1tQLc?= =?iso-8859-1?q?VjsGC4kOVybKWVoIlqsJENwWDclpmEJm9RhDmgIeQEq/3B1A0CA1wARvIGwc?= =?iso-8859-1?q?s6T8KsE5+6pRBf1wRG2xsPG5yFAT+fLCw8pMqahuEFHDqPZFstYKMnK+g4C2?= =?iso-8859-1?q?g9Uo+j2ZxoisLrRmYN35DiDluCPfeFqLX+DJ70uZcpRfSQjuaLNNvlB7Ms5t?= =?iso-8859-1?q?wLw3jd7TZXIYZQQFQVbwM4XCeYEHgtT8v9KyjiUaDRRD9oezgXuLpWUT6dZ+?= =?iso-8859-1?q?Dor+iBwuJ0uCe2I3d2SKh1aT/ovdCA+SISUIflawKoOqKmNTmiRhbMQCO0xs?= =?iso-8859-1?q?/IQJTAk5KbogDN8qKJG+RLODc5jvr8xJFe0ddQA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: x/+bd+Vmatayi3Y3GtDGXO6LBnO30MKRLb2qmrDOu7JuNQYo+K9vq7QTPARwnHczZBK6FervCHjndrhBcmtPfIxTfel3QSq4ARGHJmzst13oHyFgu5zcVGUaGQ5+pAi/sHz5wycOiPnFIXdjVRGvNdZUft25meNnzH8aARX2gcmjEFZzRhM9OVoptzqcBPLI79zVwZHXOwiK8LcSAt2RvWPZuJ6l0R5nUx9DprzMckC5TmVjvBB+5iucZFbS+LkVzr5WXjGVZtjtLlC9RfVU2XCfOXosDATdZLvbjZk0WnRp2Si9bRXO2w/ajVr9UGe7GUet1YeonnqBbKEu5N7lc2aj7f1+YB/njgvv4qf7xOw6D/BibdVnybVgYKO++KCxuh3VGnE2oVEqB0XX9njMDLwt3tiGkc/g/VBPmzJ96axtcpWBALRBDvJyCq9luIxK3j27UbWKZQoR1E98LXwEr4r9nkPDRSP/+rv/H5bXHLFioa/bKSWqCdi9qgdf/78rR7tJrU9cNoXPjUJbHy4j3hFgkm+BG23N717FVLrBD7QzsdL7OySiOQPRY4PmlyOleT5kjyuGIGH5FOEX6WEgFYIM9SKjMwsk1iBAC4bqOktKAWp7/yRlD0KaELcGd7xHSeDfGA9cmlwVKGWpgtgK5psI1d7eZTK3C36LxcYKhUTC3hT2Nbs5iVWPgX80b8tmumM2SgaGe12/LTgNQNkuIZ35JP2jtxHXHB45zNuCqv9O96xEO26/tNefs1ckXbBEDr8BHSNd86lBBPieBx6Sscn8eNCp3E7haqorPnny/CK9SGG3rSEc0Hr3+RlXtb5UZd3KTIW5jNRs3hoRpj9ZwUqE/jZFz/dSKqLhYhWNhWpcMIVXpN8vV4nbYm+P3QuVBiQ28BKRUlLkMVLC8xNXAg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3acbfce6-4276-47ba-b9ee-08daef5149c8 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:58.9693 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uPCYVrUjF/kyqAtu9XGwiQxsSjZWmOIhuDXutorIFomOoQSm5KrBtUcMFEcEsBH1NNph/YRRSLq3ieAXGQwLzw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: 9n8UK822l1bPGrC9hi8N62CgsOQNiiq1 X-Proofpoint-ORIG-GUID: 9n8UK822l1bPGrC9hi8N62CgsOQNiiq1 X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 01E30120002 X-Stat-Signature: tmomo8bhdk55qeejxmnosr38ucrauaou X-HE-Tag: 1672951488-177495 X-HE-Meta: U2FsdGVkX1+fFIKEVxvA9CUf6xOtSK+9ddqrWGbke0H7kaxmrQAL98Om8NsD2/lukvFt7n5c1NXvgkEYOK6gn2avD0f17HmsRvP5eMLTescBe3Nqfk8SSqWEvrlKlZhCq1zh+G3+SQ7Z2HPNDTmGcIJn5qCT9UfNzBVhCAlflPsGvtbYRqWBKQ78+bdqfqYcjUX7tXPgpPbZfJwmkV9FTSOLq6G1xeIMu7Zwp37tBzFJFIWMvWdTGwYJ7Q/qm4xSVCPvNGUiJXAr5PwywWnu5j1Uzr+NxkUn2pJfDk45Y3SaIf3g2cih5sIwoZli5nFpxCiSjTOsCNysRFF4PrCB/y6ymVa0dJf7TzyPHI9YLQGxZeJfevjZJ42iejQWAxO27LyauCGpNQGDG73hr/jZnj+qiY4gKATI2go2MTAJ4r7QEkhn68iWFD+KWa571vWn340dwOg5PkpUmV+HwnIIFrF3Kxd3tVrsA8CffmmwrYkbaHSKAn9N19j58b+uiNM1Yl/UjrW48r9UPU4KYTSiA5bo3bF+nPt+Ivmdiz6N6OixJBDm5xbUy6h7w0lVbq1m2kou0rmdUTcS2gxeQyBa5+wnHjMqFKcRUOLoA3OiLzqNM2YuM7a03UqTtee03LYnsxd0484XFJB1ijd4fy3px2ebqR832KYx2RImB9vvc4GqDk+438gQGjU3uVm6lDWCDRJeWtll+P9W+noFGR8Jg62ydY72JmziPsuZKVpv+oHKOm4nXmjxUt4wunu6KKXkgWoij9tTL49rS2hAzj8ykb9tFaMWwy92J7CaJmn02ZOUU+ta2BFNc35sVmY7cUbhPqBmR4VLxUfMgV/gxOj1RZB0G6j+KhWrgJte3z+IveHiJ7XCLDQzxxRqU0Depodt+Dn1ZGPK/BcDpGqYYUB8bLAsLq2dOjUxeJbnbgC/F019k2nR+5aElVBKRoWZT/G9HaZ1w5laxlVmlXWZDj4 y/nfaSmY Wris+bo6JWokg9fQyB86AptW7JZnTsRafKEs15Ut3cPgjADOBamKGjGXcU3knKa2WZlOoON5OGufPrVxzugbfSff2qLMCrl94hzTpDHODO5PmA7eQKu/7HEHssH/JHzZoi1edRzZvGSP8oNHZ6jFLYRH/iA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 4dd7e48a312f..80f12fcf158c 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2446,7 +2446,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, if (end < vma->vm_end && mm->map_count >= sysctl_max_map_count) goto map_count_exceeded; - error = __split_vma(mm, vma, start, 0); + error = vmi__split_vma(vmi, mm, vma, start, 0); if (error) goto start_split_failed; @@ -2467,7 +2467,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, if (next->vm_end > end) { struct vm_area_struct *split; - error = __split_vma(mm, next, end, 1); + error = vmi__split_vma(vmi, mm, next, end, 1); if (error) goto end_split_failed; From patchwork Thu Jan 5 19:15:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090329 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9FC5AC54EBC for ; Thu, 5 Jan 2023 19:16:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9124E94000D; Thu, 5 Jan 2023 14:16:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 872B2940009; Thu, 5 Jan 2023 14:16:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 628D894000D; Thu, 5 Jan 2023 14:16:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 3FFEE940009 for ; Thu, 5 Jan 2023 14:16:13 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 1EE1816025D for ; Thu, 5 Jan 2023 19:16:13 +0000 (UTC) X-FDA: 80321701026.07.19BFB1E Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf08.hostedemail.com (Postfix) with ESMTP id 7B687160006 for ; Thu, 5 Jan 2023 19:16:09 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=cUPdy8N1; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FbBJvz2I; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf08.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946169; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Zr4FwLzE/b/njzhC63eZIFLKmXoBo0cX3/2jU2egB8I=; b=svBezDoGzmh9uPKML+IuTSQ4Ca9sW6NoRhtMV3HpZjpanpUmJ+o8lXWNO8BkH7omqUoK9U jR1nmaj3MoLHcjPv0AXnY41dos4FS6X8zqmit2cg5yTmK5kBtwy/nTeOi9y4Esx0PvdwZ7 47nS2aWsFzc9MbYA3cgNBFRp22PHHUg= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=cUPdy8N1; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FbBJvz2I; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf08.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946169; a=rsa-sha256; cv=pass; b=et2H56VRstRXWmx2FR4FZAZXLDPRUpBIzAqyV1v5mcjrk2Gwq56P2w2ogbKXpHj5TwCiX4 JOvGQqJ/7JD6nZxxrg4SUy6e425CVRzDyUhK6GU/2h2qZ+MMjN5G0aGSyt1GBqsgD/qp6j ijX2oMCWavbHYM1Rx54rdCLFo9EUK5Q= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ISls5001328; Thu, 5 Jan 2023 19:16:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=Zr4FwLzE/b/njzhC63eZIFLKmXoBo0cX3/2jU2egB8I=; b=cUPdy8N1sRcd6gNNgSwYdyYYICHYFehOMPgoZqD90eryY4DP8ylPtGVKpSPzJDcZ0UHw m57uCdVx+2ql6PSb9Fp2brX7uIOXWNh4vkss6AH0tlJfQwI8TidFbhSo5jzJEbXPCG7k JcKugOGg/xlVzLyaa8zkYnIRc6mJmPzNJK5/3OiIort0wFloxbP1jEiYNlh7F6aUZ8Fh m05wEwbOaQHTMPCeidNNd7K3X+NVsK6LsfELgruG1UgMgADWSX8jyp6Vz6F6CYeFqX5b ZuHB4sZFxPO8hBX0zeY7HsYPJRbGl/FsayHQAAGUzHUwKVld0fuaU+i4aiCkyZoYB+Bd Gw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtd4c9qvx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:08 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305HgaKU033879; Thu, 5 Jan 2023 19:16:07 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2107.outbound.protection.outlook.com [104.47.55.107]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdtsj1fk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DhXuVSzSxFJjI0NsW5ofPk1s3dOVK95P1FdRvGW4u9fTAJ7CRJcIsfOYBcpKx53kQnSC3pwv8qu4VZy4cCJH/eISRb6NL0ns8/+h+vnWAYGPbDmNyNm2nHZGjf2NVUEabK6+WOBfVO/ENv8zQ+nmWYdnJuJbZEyvww2hGieUT4o/LaEMHDzFLLuFPK19chQyDN1Cq9Et5PtaKRKc1wwAzNd4hcYmb6MAswAVTUXV1ZsrZkGUVVPqsmHiqljLsuhwUbLaWc8YmpralPaU4YHoH01S+eX81d3ANV6T7X9flgEEOcJ9pM+rkySd6ZSHOVVP7jOeJRdjfUCX6tuvLU9uBw== 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=Zr4FwLzE/b/njzhC63eZIFLKmXoBo0cX3/2jU2egB8I=; b=UgrnDo2bO67N0Aa1rkrN9RUGEy+0yWZJxn954bgjRxUFLTkG9dazKOua8XgvBLYJ44uKMnoQnjhClQnOb6N+FLsagMExvVEydd8+pEqrGeZRcm0cC5SVB+jWTKQEp1rLDjBDH/C/tgxnHRyECds/4X0YMKBTj7Xqhlr/gD4kxPJMrHt3E2MfVww39Ce64hJuo9jIiQwj05oCfZ4pKaAO4I+21WU0sF7Ib+mrHA/lV0P7/bECny6tBTpeV7KF45k7+3FAIFgius+MToqoWMBJCk/OXehNCiEFyllSLIYiTIbVeuxGKrLnv98SE17FCf6tPgxg92MaQtmhktNDddkgnQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zr4FwLzE/b/njzhC63eZIFLKmXoBo0cX3/2jU2egB8I=; b=FbBJvz2ImfBnqpMUYWrybVWYPUsHAFL27cCtrdbKNBk/Ol0E4x3NDlxnKpP3H9G4vcnFt9oCZZMvpqBsz9bBhtp2y/VX61/kAN7+66LNPXWqdu3VCsLNdWjdm+cpKMkXVkhkMCtrf0q0D6p20a37CsDmaEO2+nN9jcZ/4g7RA1U= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:04 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:04 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 23/44] mmap: Use vmi version of vma_merge() Thread-Topic: [PATCH v2 23/44] mmap: Use vmi version of vma_merge() Thread-Index: AQHZITok3mxn2Z7QHUSRt6A3HkOq/Q== Date: Thu, 5 Jan 2023 19:15:59 +0000 Message-ID: <20230105191517.3099082-24-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 4f431749-87aa-460a-1831-08daef514a09 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rT8d2PYjAc7nQMmGwJ0u/yyUlqUaXth72o40y1+Ix1IWMi9jWc47ReDY+SiRxCBAR9YrfLMIB36RZSv9jisxI3F3HxmasWQS+4dvikwh0fu+9wMfOwmREE8k6Zg38vspbfYJr/Mc0eGAjBcJvFIyY4juJZlPAORb9CJNN89gQZmfPDZUF/EZBpdfH6fXjySzdziovQjskgtV/vYDkY5o7LvYBa1XKQRjZPrpoJtI4Q7I+thphyj3jppKeBiwoD25laPFUcJnbTzxFNXT3NQSoijvm21AgjS2uNq3aCk3OA0vWJ6RsMsqF+Z90SbmY9xqknDXDd7/womC1kYNSWV6pnFXD2jfgZFH64x8HHPEvyRKUOMyU8rN/kau+k1yUiAbFA4LQ4YT5AvQUaWZ7p7JzmR6R2A2kaAmZKx5wyQiv3vK+EJD0Cazy87Duqkm2t46kv2p1sUgRI+UexueA5hY+/iWOmLv9zu3E9WRRAPgvfRVd8DKJk8LfInci2j/qiCmCJjxHiYWNywDK8wR5pEpgOzYvtyNivfX26mnRrTCqxPBxPT/5utHNSajJhanixM+YLGJQtf4nNnK/oTNRA1UuDI4WRDP50b+d9VIIf3Mh3GIaiRhJOfO+tJqtlo2LA31dlwjFhq/PVBRCeBaSpaAPS9wsXuHpbNUdQ5QQ/8l8rYtgFf8njHv3MWUlwUAqhdA8BvqT+n3Z6yMl8qivvIrZg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?ZyA/1qLa6DCQArXpDRypN8/?= =?iso-8859-1?q?f3oNcwTROAkFi7PkPhMz7mDXnlQ4O/KPRbfulP3b/4/31y6F9l/tA4/9R2k2?= =?iso-8859-1?q?4ZUrsyc3RqUNE374Ih2SvFLYAW1y7ST9O1pgOXkp6U3LPJYKj3CZFVH34jMd?= =?iso-8859-1?q?Kd2eV4WzjZ6WbCMB4gjzdzZIOIMAgWLwA/Bhf68jIKpzJJGDvq7XYftmI+q1?= =?iso-8859-1?q?NzM4yxKer1JQJ8XHTUPjAfdbNVAwRvJMtFwy5xEtZnPfxRl+iPrnapAPitfb?= =?iso-8859-1?q?MmxMhMGxARJ7kYYlM9uDUTW9jVcXY0YCg8g6qduilKVbfozCAdd3JowOgdz8?= =?iso-8859-1?q?f6zWdKgKK/aK0LVyxaMFunrQhfCZRlWxkDl3s0HcL9maDuAYWCwtYrtRFfyG?= =?iso-8859-1?q?69M5p/efFtvlAYBeTkGlrkJf6cADNeXz3e4r2IqZKfwlX1Rj/V/+OR6vx8QZ?= =?iso-8859-1?q?PCqE4gDa9l5hHtabqfThJaAvcwMN2rNhNBbt0x68EDkZqneDU+99foy+cn6f?= =?iso-8859-1?q?hM+rfn8rE27EuQuloAcR/rUHTDcmk0f25EDQdzcdBubQzKokJLWpHp+Pb+mU?= =?iso-8859-1?q?CgSLgBQIqiZmIz/4fhDpJsvMTrCmrdNf0WAEomm8uhbcKUfLBPQrFdPcDVi0?= =?iso-8859-1?q?nvYMGVztlSWCw+MPGBj2ZzIhrxXQvLsatNKaX0a7C7qUmzJ+mpx3Ei8EQgDG?= =?iso-8859-1?q?AVNxQUeJU5pW2nMEUO8ldInng5HzMga7YvM5+xwelX1SLlV1T10ZpgUVx50r?= =?iso-8859-1?q?TzSmgyK2ywmd7mUlXzSo6pazhoFzxTSkfOwx639FVK2+ilR0HPG5eaqcQ2AA?= =?iso-8859-1?q?auWTiaOQPKvM+PQAw115xoqk+D4HUeQ6r1oUkCissK1qajNcX9X0vFqoJpZs?= =?iso-8859-1?q?7ryo3YU7xjlKjn39Wpccth6c9J7CWKx9hDwr6IILkdKIisN1PxDjK3auSTzp?= =?iso-8859-1?q?4o3VJ+RwW4KKiGmK3cFGsJrT0vXNFI4JsbRNmNSLO8kpGg+SLQxE90OTy7mI?= =?iso-8859-1?q?odRsw67s1ywo+9AIOtkanMGW1rIn3N/AF4R822Dni7P0rb/idXrRHvxdJJdk?= =?iso-8859-1?q?P4g2juMI1eM8VoC3+a10LnSlKgS7DnYbZRclqW71MSppGZoRJt1L0yXprGuB?= =?iso-8859-1?q?bYBOf14PO4jvbeMVZSiqOlQ2RwtEI30yc5qXdcHv3YdHfgH57tynDu178zVa?= =?iso-8859-1?q?ob4QwGnP1Ey+tFNG5vE9idj3/nn9JFcsqTMcNY7MlfnnkmdrXAqMl3WAMOEP?= =?iso-8859-1?q?Z8OTzsv7kxsh51EajIrZ1f5L+D0RqQ6lgYq1SiUS0MMliOBLGbgRyJyQ+FEz?= =?iso-8859-1?q?ePsjLIm3kbEhHKveuu0ycj55UrX5VI0daTMG3ChVSqZjJmoLhnIZm81+qCzs?= =?iso-8859-1?q?eE5EmOjbKWWVekbwbA1x+hNeegLdTOq1C/wG45zmx6iIHGetOxVJgyTTByUc?= =?iso-8859-1?q?lrwF/IF11BFtxvjJQ26eSZR+aqSu4OhUL7I0GHfClKYU7xWp7/NAfJWVTEWO?= =?iso-8859-1?q?SJCeU3MoEoKmOepsiajURmN/LHnV4F2KLRwhGHRMS6ta8+SgupVqVWXqiNV3?= =?iso-8859-1?q?s21oidJorx9jh0mxRKkuk+pEabjYE481rdxrdix/0FiH5ltt6EF1paUMFDGx?= =?iso-8859-1?q?HRKZERfNd2/9+dJq8zOkMR1lYE/4Y4WuM+FuvgA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: gADY0+U/JfP0KHlXbGYWY4gCLY7L/0GtXJ2M3qQR0Ffmxty077CG3S4UsKkucK2ldXumzA12/+/dS543vJ33A0qGC+l5pkY8fkNpJqJfW/2wCVoNlN/JmhzgO2IkWrVQPirL7TUlrXAhJvOxTWl6VRelFkbiTcoi+SCY4iO4iFhq5qT315hsOR/bE25KEA/ULXe1BJyk7VmFbHm5DzMzq6r1nZ0REyhWW8yLxnBpXSebNJvDoxfhR9vrADjEHY/QVcqIlCafoEFEaUADdb3fxbYGRMoEjKq06fMhpUbG7mo9+G+CsaMTpm+5s4R4e8o2yjhsjBYbqNSMTIKObfqo9uDyczwnl28DgOZreJucZFtMjcTH9kSQCjAL5fRbjk9LWwktHwk6DyXvYuqu2N3Q9gxopkStBGhTkEvsqFkLgEgjk0wrBzwh9jrgJ9XOlpnHbecsfBaKlANAurJXjmVf6es8FfAlOGmEcdbTFSGGGMtORVlgRKF+VJB/F3zg1I/bGdOPVVdKMq/9QEbcSW1G2FWu1MxNuuF0+f12M8TKGSPOFMQq3Ay3ly38qRmG19i6Ebr0hqcd2gAJEKK8RUIdBLWggn9gGbYBQcmHLb6fx94qme8wCx1b38iVw5dUDxEqmU6hDMx4IG+A/NJsXpMevsLbB6HK+46gbPSAZLOsFFVSmwcyC+6upCIbm26F2poKEFV8Wmnxw4eFtJSB8nsgDxY4+df/7cssZTC9erwoDzHY19o5PU43UeDJzAd1/4Y1SZbHE1zsEbLvbHlM1Cr//vTYljHvwkSbLVGUAeK33spgFcbOcc6XucRPzyrwmcaLBVJldavuu948hnAm0N2pXP3ERj05FX+xDjpz3hsAGzMMnaiZ/X17kI3eaLtra/Pjp48TJgZ++vrkiNfw0wXihg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f431749-87aa-460a-1831-08daef514a09 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:59.2661 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: VxluFXGCff52SBg6Y0oA+diM+9UynTMR2SYP4o82IDT2eBJ7xQZcLd9cdj+5rcNB7c9Q7PzeFyhHi0eemqb3+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 mlxlogscore=994 spamscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: oYzx-9wJdQ-c9EJ-9bu70zptPwzFX547 X-Proofpoint-ORIG-GUID: oYzx-9wJdQ-c9EJ-9bu70zptPwzFX547 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 7B687160006 X-Rspam-User: X-Stat-Signature: yw5rhiwmmptj9t68dniy4ce8fdcpowqr X-HE-Tag: 1672946169-659801 X-HE-Meta: U2FsdGVkX1/EoNx718Ro2SQNexw26MRA3o4ddUprvYQ05xhhHGNjLYSGRuWwvrAnryIpC50K/cYG7hX54823j00CZiSZ9t/t8REgh6TLE9u4/6/0rjKCsUUqcXcEQJKtjrPdp+n6MR53lkJ2jrVVMjbSxyv0DDUdF/+4eMps8dzWxF93pcQxGv4gzs7Ph4QEKzwsCVCW5LTiCvgrigR4sVWE4Qal4h+OeTnBwO3CV3BKgHR+Kt+sO7V78275ZaaMh6LPAGQ29bzPsLfaw7vnzFDmCFYpSgiukI71IxZbl947sIYgbtBWnQFbidIDgYfM73MYnnDx1tusx2T+pL5Q3G1heeH4Il8LEOD2clEUh9l6tDSjrxZND8MXVFQoeeXPXvRWCfsX3WnwpCTamqxqiFogc5ZAiKZ1WBzDxRItRQ1yS8qL6a+51RSvf7WL7b9Fu76yRScmclc697pjoBUWn/QmBgLDvjpYUrEqmzss1KTpqPd3vPuIa7KJsm3htA3Ekm3Gjs+3JpubijftaZy85bx7kfXMefEX7LYTFaSdTujoHbffBWpILqcdZqcxsFdNR+fYxRX4ANWpcZuMtImmPuIYcYPKW+yaYkeWEyjVDjrU2w9sf0kjfrb0AS/EFS98VF16awH0ifznlqWKdm8i0vfHpeGwzPGH4HkB52VSW/LnSIhUdk9d+Ujm8Wg9nYcuKa+ebQqGYd2uX5/Z8CoP34cgcqc7XlgN8vzfpJSG7yjG3LzjLP7ktLUqfYJay2Xoi7Y/nPCPpl05+/FSCSqymwVVP+VywFtqvUt6BN2Yptw9nc9ofh/zJcnisSGeQ8/helJ8iyTkC8f4qE9OSI6mxhGHa5nx3KHXANFHvzIV9FThMteOUIrrT0cTpa3iYGUV8U8ZFKXXsGdjKwNA4uv5kd3Bim+JY8mioW0S3Dz4J7vD9nrcc5MgDuYN8wL0a4f7tl0idtioCqDEQlS4avy GY7mH4C+ t7VQUxNSh1qVBKUT7CT58g4jbMYSbQHZeTn4pXo1YkBS08j9NDj7npdR+GSnOVjg1qU4jn06FSS3yClaQdfNUjO2k24yDmWpZeUqmG/bjVQG0+9/Xlu3FVXTk1jUmUzsdyG9AOVgVF1ElohCmxt7Dlic3Xw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 80f12fcf158c..579d586e4e6a 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2748,8 +2748,9 @@ unsigned long mmap_region(struct file *file, unsigned long addr, * vma again as we may succeed this time. */ if (unlikely(vm_flags != vma->vm_flags && prev)) { - merge = vma_merge(mm, prev, vma->vm_start, vma->vm_end, vma->vm_flags, - NULL, vma->vm_file, vma->vm_pgoff, NULL, NULL_VM_UFFD_CTX, NULL); + merge = vmi_vma_merge(&vmi, mm, prev, vma->vm_start, + vma->vm_end, vma->vm_flags, NULL, vma->vm_file, + vma->vm_pgoff, NULL, NULL_VM_UFFD_CTX, NULL); if (merge) { /* * ->mmap() can change vma->vm_file and fput @@ -3280,6 +3281,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, struct mm_struct *mm = vma->vm_mm; struct vm_area_struct *new_vma, *prev; bool faulted_in_anon_vma = true; + VMA_ITERATOR(vmi, mm, addr); validate_mm_mt(mm); /* @@ -3295,7 +3297,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, if (new_vma && new_vma->vm_start < addr + len) return NULL; /* should never get here */ - new_vma = vma_merge(mm, prev, addr, addr + len, vma->vm_flags, + new_vma = vmi_vma_merge(&vmi, mm, prev, addr, addr + len, vma->vm_flags, vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), vma->vm_userfaultfd_ctx, anon_vma_name(vma)); if (new_vma) { From patchwork Thu Jan 5 19:15:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090493 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 43406C54EBC for ; Thu, 5 Jan 2023 21:25:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5C7A28E0002; Thu, 5 Jan 2023 16:25:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 577238E0001; Thu, 5 Jan 2023 16:25:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3C94B8E0002; Thu, 5 Jan 2023 16:25:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 2ED128E0001 for ; Thu, 5 Jan 2023 16:25:38 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E2B4E1A024D for ; Thu, 5 Jan 2023 21:25:37 +0000 (UTC) X-FDA: 80322027114.27.A69501B Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf22.hostedemail.com (Postfix) with ESMTP id 4BC9EC0015 for ; Thu, 5 Jan 2023 21:25:33 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=UHllwHGB; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LHGWNTBV; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672953933; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=22Z6OpYufdBtzxSvf9B3LFJ2NyY1sjKM0+x62TTuiWc=; b=6su6MIzgIH3Cw8Z6F/FEctAtH2CrM3EGXoVSfLx2QJug0zDnBnMgDD2gMW99Vn6J/LnY+m eMDzTgDuDO5zYoIUs8Jl2rmfOJTx+IcXrxtxrLxY8Rq8X6oG8zk28DmFhdE4cjnzU9S/lK Xrou2NfL5okQZCEb1tGro2f65CwEQ/k= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=UHllwHGB; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LHGWNTBV; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672953933; a=rsa-sha256; cv=pass; b=UUpKkbHUu4ZJlSZzPZNbMo9plF3dvCXnhy+6fNSoe44xMNNqcqcQrlBDkY66RJdqUDW8dq 2eceQac4K0VeaIPOT8gKQtmyM1633KetsluJCqSuo3ChPHk95Rx8pB1Q4cXlmEVGOIvHGU M1ifBxvvJzYzjR5X3UWPd9TbFQMPbTU= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUIHl030165; Thu, 5 Jan 2023 19:16:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=22Z6OpYufdBtzxSvf9B3LFJ2NyY1sjKM0+x62TTuiWc=; b=UHllwHGBwCQ+su8LmWECIAESoIoOfC7Yvqq68MG8LTpJTfl+89RncQsiW2LBL6qQtozd gvyBA7sTUTa2+Pypgz5+3SR7UhRK/ZI11zwbo4roFmx9wV994MR/B+HTwn71WKw8Gt8l 17LGe24Cb3dUB1reQ1u0CbjNqL4GTdNJrREPwK2iny/8DsUEF+aCq2AHzuW8jCpy1g4F 3lu6H7LPFSD+MTMOsd54ouoM1A9UKKgelnccS6mx1wgGRbcMsXmrn6seppat8cwF+m3N 6XGbP3Zc9racLgmFZnqhnKzPoKtvhf61fkU2h9QFCBpYd61UyZkfsQ1XYkuNg2dxBCvl nQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcya9k9w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:09 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305HgaKV033879; Thu, 5 Jan 2023 19:16:08 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2107.outbound.protection.outlook.com [104.47.55.107]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdtsj1fk-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OGnGaSW9WJS1HBJN+9jNPXHhuq2cavmfT23kS6TCWQRXnbknMniacJsOYSv7kL1eaumqS5MwGydOqgYQnkz1ChE/EmLpHuJwmmTpfhkreQuHyoQXp9JfBruC1m/ZwJKSC+dEtt68poNbbC2TbI8SkHVl4/FiLvjtl5JVdVv2Y0ZrQ9UZfOCrSW/3sxcAwV98k0eav6WsWDUZZYi5fdQ/ou25Q44CzLWN6CseWdZznXKp4f7MHT14Fsf9bPD4CDzHkzcnu6ygFSCHaqHdeREYL4337oIOPoxaJo+HhPNdjDMtYKST4EZdDNNlJAJW/L5NrSzMnzQ/+XoTKwscEF9nww== 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=22Z6OpYufdBtzxSvf9B3LFJ2NyY1sjKM0+x62TTuiWc=; b=dj0SZTnrMZVvY7rlVUi3cbdFnYXtzjBXxAeHK0MjR2RX+ih+h/jX2E8+Comms7ehUNM9mB1h9XL8eYNJRIFnA+rDE0V3xfaSnBc7XghQh2lKJNak/ytKIHMHPKLkw6F0ReY9/XGVSyyhQYqaag/sQTjAXE/VyF72hcHU+zoxFscCBs5aPegDTohZOzlCeqBuqBQgFTO1WTJO4UMNm8qx6heyekC/2LsVsO5qo1e91KJ183tg3xrBmz3dE43BuqB23wqyWH2jA4MygXYkaUGOObMZYtIXpyPh8OeejqwGbMBjZXsyMJihFX7U9eWVqAjQ6Bp/Am7nWNLieOj86LIfOQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=22Z6OpYufdBtzxSvf9B3LFJ2NyY1sjKM0+x62TTuiWc=; b=LHGWNTBVLLuyUAf1FdW8F6I8S4RM5DHei/9wDurDwysKj8JtCEd892buRUqN1KcLZ19zAd3tLMcSSYBjFOh9sl5u9KOPJ0NNH/27i/z/n8Nz+BJe0Wf+gsdEdpmkmwerJ4cvSwtXrkgjTBqkueqIPyhwAwkBD5iX85pDDd0nae4= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:04 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:04 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 24/44] mm/mremap: Use vmi version of vma_merge() Thread-Topic: [PATCH v2 24/44] mm/mremap: Use vmi version of vma_merge() Thread-Index: AQHZITokYKyF8+fOxUGqtQvwBErbmA== Date: Thu, 5 Jan 2023 19:15:59 +0000 Message-ID: <20230105191517.3099082-25-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 809964ce-616a-4ef2-1066-08daef514a85 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uxudobpIXKnLqcIoxsonSrR/WTmSQP2P01si8p21Eyw3taKauEVi4RiXJRXbQfp9KaM7hTO/sCEO54rkysGo1FAglX5z/SQeCE1SFzu5azXyFfnjaJJiwMPL4Rn39MxNMGjEj43O94C/vlVLbDTU1rZyhiOzC6pscRuHu38RkijWiJhaFloo1nC+Zk8JZaBf0gF2BzzAI2DLXXaGocgujcHW2Lt2lGhDEEm0Q5gNcmDnfWyN7icye7XWA8eKHyJv66BkVMnICvoM6FGul9ARiZUm1f4byKUXO3Ap805m0JGxRDcma4uTZ80AsbyANyUKIGL4k0l+2oRPoOhlU/6LwfooXe0Fi3hrrFGBdgaF2ZnUcP47tOrO/JWLCWYF1ntSs4E45FPJqSprVR7prmUCz+J8+QBummKU7XePD7/Qi5Iqk/FlFiBqn1P149oq1SyL+q+VQcqYyHoC3Jdm36XWGOH6Xe0Knhde0KHnPbzcJEFhl+fV0XQ81SYuNmkDhi5BdBjZmgflRI0HPfO1/uHnz5Jp7e8xfqbUkrvR8Xl1n2lUSyRlWDRupZJGc+/wyH9xGIXvd7LbZv5hzVvP/aWVasDHZiyaRCqb5uiW7rzB/+NoXsNwR9VwHb1ucMbUkecL8dJi5x2pmvI+rRiKElEtX9xgYkyIXrMcGrMtkIAl4PztFx8pl9/RufhdCGQOWkghpe3BjLwT6Qen6+bq1z65Kg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?Oowv80GqnMboYgf/gjq5JUk?= =?iso-8859-1?q?4U0DDCKcEwBUKWPFRiMMShaDY89nAVonSFmC+MpNA5Bhqic86WiIwfCqnuFN?= =?iso-8859-1?q?XCprCAiB7mvBYHpVwMmWoFBKx5gcXzrvVP19Ex76MbaoHm8lZgAV+Sy2Z1R3?= =?iso-8859-1?q?bpGZUUtaZCC7xyPjXHEKanUACn6rguFm2mfNp1wbb7xCqtOfnMw0CexA0U62?= =?iso-8859-1?q?GxpqKhmHUU9gtKXbPnXnro7nUaySzgpYkle1OQ+tCiubpa79a3TL9N4VA6uK?= =?iso-8859-1?q?nDTXwg9VaToe0ZTZuj3bmTDz4PVbQCz5+LcYl3CSGPCyH0Uea11kabGyXEer?= =?iso-8859-1?q?EL2Ohj/AsQt4Hkym6DtTFegBo3e2zQ+yWPsjvWIbql2MOVKJYLLP5a5SWIsT?= =?iso-8859-1?q?iFF20ZkzUvopKpmIBkfkK4BajNIqUyrAWK4jcMZrMFSbWBlTvUwqIsKxOKq+?= =?iso-8859-1?q?iiZgxhUefkrrENh9/jsaLTkb6IK3MZ/qaRio+7/7/f9e6IH2T86rWBdolpYm?= =?iso-8859-1?q?KhVGvwUEKUOIJYmOj+Wp13YLPGa5ee4BRDoe/fD5AyzEZ48y+5Eb/oC4h2ZI?= =?iso-8859-1?q?GuuDKKSJTQVft2VjQ7aNcW+A4tH272Rqf2WTpcg7WJjiYzgpdYKeSei6hUT8?= =?iso-8859-1?q?57EF/nGnmOm8aByHtzzyHzELeL3uIcYYXZS0PPnqpXGw8W1Y1EQkC16iFID7?= =?iso-8859-1?q?p/mw/0wbOPEeHqwyBLSgGaxGC4DFSf9nxArMLnohmUjzFVtSWYCwwDOoxWYr?= =?iso-8859-1?q?bLroBmxxmW+t86mfcr3eBiPEbnYEZsygoJOXBSqzYsuCHppFFznQvPuQsp0V?= =?iso-8859-1?q?u4QBP56JPeoO/tzIcp2PS/nphRnUKzEuvR1Nyr7FOs7CsP38aPtky0X/aN+W?= =?iso-8859-1?q?URcSJa8iaoGPO3aud7FCc29eYuOIDGi1wjV8jbDTA3RsZnjsP8FgGFAph8qY?= =?iso-8859-1?q?EghrpuIg09Xg5xeu/mQ71UTl4ibV97IgZ2nM4rj6OYqRkf39d6/ca+m69kvD?= =?iso-8859-1?q?j21slOLxddl2TaeDV0VmpIUL5CQyuwYhhCECcHnuZA5iZQlQrArRsSt01mrO?= =?iso-8859-1?q?wJVykEVPCwBiLnuxEkFC15UgXZVo2KA4n3KtpZGcmahq0qlwfzkD7ywFSCR7?= =?iso-8859-1?q?As/YvxqepP5pGmvO8EhVTZVho895+yHcq/ExCQnLvwbBr8eAyKqkbXO5I1Aq?= =?iso-8859-1?q?pM55bGWo/Hv3ai9VpMoE/2qF1ouIZqDR0Tik1r1RMFE+rHT0Znw2NSf+oYge?= =?iso-8859-1?q?0PAsxHhKRiC0kak/c2xbmhnZC6KUCqFybxBC7cWM/YaSb+ChGZtYn9EBr1II?= =?iso-8859-1?q?dHT16Zy1l2WVY9HaR2jGJJRCHZY8W4/bVcFRIj54yJ8By5xa2TOBTAMs8K3t?= =?iso-8859-1?q?MI7i9BM4ORTjTT3PmJkiAufpGfgE2Vk4ZBZO1cAsx2CvdvQjcl1yNBpygFY1?= =?iso-8859-1?q?7TT3LbtrG2u3ivUBHks9vf9A9BVoAmX6RyaPch8GeUTcJBQJfTFEev9vkTxw?= =?iso-8859-1?q?3ydq30ndbL1Qm+AjjklWwMj4UIk9tbJkphdbkYae4zB2VzWGY+33Dry0IOoG?= =?iso-8859-1?q?MfkTJOCYqG+Q3Ge44ZkahQk/N6z5Box4YDMYb+HEHXVvnSteeK5qFk/KSfkR?= =?iso-8859-1?q?ZsJCx6xrXuA4qnHXWPbEtBxePzsAj6JCd/1GNWg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: O0w9AOf5wsq8C3nOCVAprFQmJrJKbu8KV258k30JQX5QqhgLEBvkHp4IlUBv6zVTyG0OytheZfu5QyhFbh65oDRI+qhVwlG0W++3Ff5pk880aE5y7MCmqnoZfBFyNPfZnrE3XDibzwYA850kLSrVDAm5qy6fKItk2q+MgwtCH1Lf1z9fiHKJgbnPmMdo4vEbVsc3TGHB82YDKeE2r+EoqskeP+7/ue48U/TR3NIySJZHEANTpIwEN4LmP6+DmTfHfOV41UsfgrfOyuFc4x4j8REOn470B+RQBqIMVPBwa4Q3vgBUtkC4Xn18eMIMBEXxWGh4LZUBfh98kMXcg7+gIkEXvZAp7cGI5gGkF8a6r+stGAZA2pcvOskW9YhpsR1zLgZuUpqFC3JmiJzBT9B0t3njk4e2wNiiM1b0HHP94nYryxAavFjlT6G6+iyQ9IqDd9c6Rd5rVSrc1btBC6SKOzdf/dE6DIgliPombZWWAsiafKTCH4WRdQjlIY6iiJ60AGtQxcPbTngWriYH5eXJ2n1l0T7lVxVEClj0Y1MbBXmAan0VVEgQSYkbDLInB3rBJiow1tf2QEGahCYl84x/f1Tf05WRyS0gGa8nVPWPwta+p4zEAt17l8gpS4zBefSxTRDPjA5wWe2bcS+YQ8qSFztgNr1PKdr7Td4MuaulNFWUO7q1Ms3NUsLRLP2Ahy8DEh5NoGSUPcsgVFp523SZR1UgZmt2AKHsLt1vS6ocI3rV1z7n/V5v11MC9escVSdddTQpNgs2LaIO3IczuUYrS/gITjEr5penJWo+Jc83+wkW0Rl6ZncIat19Rx09jJ4e+UyWSFvxUpze22K1jVPKbH6RwTKri1JgT68je5gHg9SoTtbt7xVQslUgSk0qiyE+bvWS8EjsUhVapzSWSnxuuw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 809964ce-616a-4ef2-1066-08daef514a85 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:59.6098 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Ls3FUOhliOeZcUWQYyhLrvjiDEdvIB2r09+BgbEHdHYLPN8VJt5DhB2z7qe53XTTGcp7s1Y9mCUisyGvoGU0fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: D2pqDMu1FnEKnhcOXtIM3phW9N_hCqTF X-Proofpoint-GUID: D2pqDMu1FnEKnhcOXtIM3phW9N_hCqTF X-Rspamd-Queue-Id: 4BC9EC0015 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: 5f3d6tghow44xz7cg6fp6yiem9p6mqk7 X-HE-Tag: 1672953933-585929 X-HE-Meta: U2FsdGVkX19IWI3c1eaAFjKRHSJw17x3WdWaBhUO6Om0R166sNE56rvu+RGsx49tUaexdi5OHNhjGqF0k951J60xQfSCnzBwACP2QXQSwEx2qa5K0I7SLYDapqKEixBxT/Qi3iVIprGzjL36Ky4uP7CXlRSbKWVgCx/S+1lPWON4SczR4T7m0Wcfcse1s/DwDvZzqAaqa9Cucab67E1VgoHUe/Xoqn4rCdoqQsNcr+F4bJEUONGCT2jzP2S0YepSqW6G+Dfzz5U7sIUa/Lf+1RtytU9wu/W9qJcW870JDgSfd+pOkHy0NzylGZbzWv4/ZxWZeoOBPo5vLOuvGoz0szchFlRKUd9goTLQNW0nF2hzMdkBqgNLeSe+htiIcL8umrXWtP3RRPG0XcMXObAmWzEtnKov0WjtT+d1UVM/+gf3u9C5B/muYqsR4y6KKsnIKDrCD5ysQMTZ+D9XzwoF9o30R0T5nGtvtX0rE5dM+g4IkBP63CGXzWG8+EyHVjpPbYRVnMiP9r0pSgVr1LpDf4Y83qEGaGtCR/hsxm4emQVO8Eu49EHfRTgFb0L/L2dYzuTGTYohzuuwyqjivUdbWotaXwbHBEnFjU/tzCaPGymmlwZLpKrgwTOHkdrbNKrMjPkeB0vroY00kzyvYDT4nSAEzaPXPfmruj9x87rL/pj3UVFUhlfYPY47KMSTdPzWp4TyzOS9c95T7inuyiW7jCFAMhbcOBXK2enxDc+YLiiwevtOxr4HjUHOEDTGBF5H0JwcXhAGDauGLmfusTwvqs8NdxU63V9Uh+cI/TwEvhh+42txuKT5xRKF/f3RSX4sVHJbORzR6v4z+HwdbldZwPwVXpYuavsDIkpNnHhePdOVE4pdM3f+VFmPV8I7IMTLPwTXIE3d59UmcpiLhOoE3HaqzO2wATo6IfdBbTuRPlFVyFCJXYFgf99i7wBjmR3ytuvQv1cLJ7D9h6pvSz3 MqwYkbyH N0pEDHr8RMWs0H++C40ETK9SeH0tf0HIhdtJLPb65NU+2w9i3kEedFZfZkWTIZAa6f/v+lySNE6Pnw8be54tD1EiqN7q19f5RIWaYObwJcc/ps8Uio5AIdGzMqO/4Shhx1ZQM4fOVEIHuYL/InAbOQ1lY+g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator so that the iterator can be invalidated or updated to avoid each caller doing so. Signed-off-by: Liam R. Howlett --- mm/mremap.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mm/mremap.c b/mm/mremap.c index 94d2590f0871..4364daaf0e83 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -1018,6 +1018,7 @@ SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len, unsigned long extension_end = addr + new_len; pgoff_t extension_pgoff = vma->vm_pgoff + ((extension_start - vma->vm_start) >> PAGE_SHIFT); + VMA_ITERATOR(vmi, mm, extension_start); if (vma->vm_flags & VM_ACCOUNT) { if (security_vm_enough_memory_mm(mm, pages)) { @@ -1033,10 +1034,10 @@ SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len, * with the next vma if it becomes adjacent to the expanded vma and * otherwise compatible. */ - vma = vma_merge(mm, vma, extension_start, extension_end, - vma->vm_flags, vma->anon_vma, vma->vm_file, - extension_pgoff, vma_policy(vma), - vma->vm_userfaultfd_ctx, anon_vma_name(vma)); + vma = vmi_vma_merge(&vmi, mm, vma, extension_start, + extension_end, vma->vm_flags, vma->anon_vma, + vma->vm_file, extension_pgoff, vma_policy(vma), + vma->vm_userfaultfd_ctx, anon_vma_name(vma)); if (!vma) { vm_unacct_memory(pages); ret = -ENOMEM; From patchwork Thu Jan 5 19:15:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090330 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 476F2C3DA7A for ; Thu, 5 Jan 2023 19:16:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6EFEC94000E; Thu, 5 Jan 2023 14:16:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 67771940009; Thu, 5 Jan 2023 14:16:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3E1B994000E; Thu, 5 Jan 2023 14:16:16 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1647F940009 for ; Thu, 5 Jan 2023 14:16:16 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B0D9E14013A for ; Thu, 5 Jan 2023 19:16:15 +0000 (UTC) X-FDA: 80321701110.11.E1A4349 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf28.hostedemail.com (Postfix) with ESMTP id 3ED90C0008 for ; Thu, 5 Jan 2023 19:16:11 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b="tyNXV/Im"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ukLlbKbb; spf=pass (imf28.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946172; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=5kGdcRd7sciAlJGxfOjIvnP/V/UXOl2Higa/J0aWF18=; b=l72a22N6Y3CbcnqR+ZLvGiii7FfH8t/V6bNT59YRgr6HINJaclIVIGzqRbFu/esdMfrl3a RJmom6HsRnmjg2ks3EmdGdSnevM8EDzxSHeQutfeqc0tqR7UqNl1EdsrQN3YWVAf6Wb64f pBunthwccLB/ePgoP1WnoAyoIbSDVBU= ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b="tyNXV/Im"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ukLlbKbb; spf=pass (imf28.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946172; a=rsa-sha256; cv=pass; b=loJk/XbHfAQYiMOaxRZCKRXSr2AicwxPl6i25E2wP2hJrPAZlufVBCnIRHn470ULbQ3xxR kih7NiVKo0Zn4Sv0RqgnZoBmbOHybKWnwtQmGOX7PmSgiMsYBCBw2NEmN8dSn8VvwoXtiL ZlvZI9PkEdYkkFBSpLa30oC5r+c1G4w= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITc6M025555; Thu, 5 Jan 2023 19:16:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=5kGdcRd7sciAlJGxfOjIvnP/V/UXOl2Higa/J0aWF18=; b=tyNXV/Im981ZWU0hulPtGy/vYGB7owkEBVWYbDjB1ISY4XtUdz25pkExyrn5MUd4Ejpt dMoFZdq5FOG5tqph7ZPOYk4w2qeTXwzwjqJ9p0kNMX60231CTmJDxoyQ/RNUYuw+qCp5 Wf4krvMIqcmHEQBxfNC4Q8tX/HHa+b5yCBAWxXUohU7zteBLpB37U8/7aiRvv8l2KQOf V/3Mri9z/xapto9hIV6nGQFTuzhmkpq9ckZ0i71pElTNYC6srObrKtvAAevwfdBqAiuy NLI1fQqAtyWH2n4l18vdZ7QVI+aoE4ahCDBU8Tbi8C+xZZDNYdmrptl9ElxSe7Qp0ARv Pw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtdmtskup-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:10 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305HgaKX033879; Thu, 5 Jan 2023 19:16:09 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2107.outbound.protection.outlook.com [104.47.55.107]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdtsj1fk-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A82YLN7LGpERBYbhkN5L4DFZe2qPTWCJ4ljuz94gAAISYLwIDDwBxctcocOzO1Dn4LAKnIMmUXiqE+/a9BANVaatYscEB4NbjASOD23VHpGYHl6PBsjtuSBpMlDSaUxDsEayqFR+fV4vz/meCqxCpRZE0VxPr+ZHYT8hh+ertt4BILaGkcVSZ5EhteiIbnsoZapcxj/ssMrGeSHDtgU0Xe2xhpbtMnLZnEiu41ETGbUUl7Y6U6P7seH7cVMUNeJpgDMTemtBZLjL+HrE6a3M5/cP4fqQhd5ZlN/dJogLVnJ7+6O1yWgSkVVJiWCeFwln2/5ufI6qzOQybliQFdEDDA== 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=5kGdcRd7sciAlJGxfOjIvnP/V/UXOl2Higa/J0aWF18=; b=eWADLKLJyRWAn8iLVxy1h5BRecZ9rn7Jj9Pq78xLuOBS7PWmYt7A2KFyn4FIDAp5S6ulG8G8P87+LLYVng22VurY77iLMTD35UJETOaDHdU9nHk2E2ali3/ZkwtDCYxIMR/prObEgScH7uopt/u6ab0P/Ud8mXQz7b/8HgYvGKVyWnmxPYzbwI4M6I/N7Oux794QBYoax1vHp/bK/c3o0zOU81Y5d5Vzj9znSxnozlJLDqpx8CLX8YjnsDNSVEWddNSPQsRzz/5SQXtPqzNACBckNHjs4Wk0Ki/GJrz3tOzaJ9PSqRKgmGUTSY7Qrk905FOLin09gTHzzeZl+kmlSw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5kGdcRd7sciAlJGxfOjIvnP/V/UXOl2Higa/J0aWF18=; b=ukLlbKbb5oOSb3NRq2NWN44/AQbmEKrKpTvlqZqOT5on9Ygco+mk9T9kqE3GVgidfI0kQ17VQCMh1j+eOB/28doWMWTN6FhHltoqwvhqvN4WOBmDtwE7ndgVwBDDJn9z3UgmKhv63SUnizPfBNujPCkcmPJx/3/c/jh+lz8Mbko= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:05 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:05 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 25/44] mm: Switch vma_merge(), split_vma(), and __split_vma to vma iterator Thread-Topic: [PATCH v2 25/44] mm: Switch vma_merge(), split_vma(), and __split_vma to vma iterator Thread-Index: AQHZITolqDVQ6iqu60KRVDrk/+ixag== Date: Thu, 5 Jan 2023 19:15:59 +0000 Message-ID: <20230105191517.3099082-26-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 012c78bd-1eda-415d-5a4a-08daef514ad1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 960Jqa84OphLC8jG+cCtRRjZ9hXahCvTCKFYOJXszNP6lBihL+kZ3RAodhTDOGqqqJiNPeT/dKdRxxO94KeJnVRlX9g/xEvxEe404cehOuHRwBk759VazozMB3k6I7Vo/jODerhm9hUXblJmwrEbf1AvraF9/DrZKSKnq9qOUbWMkV343Kma46u7zGLIriactw4IQ/IPkfIsfwVwqaeVU3iNefDCuVAf9TP9kxhfU8gyMA2HCxbmCEy1N0sVEhfDw72zNBm74TCefVboZ3I/+5qnmSM75EET53n4rg2ESzlDtj/FEohGCtOoI0O4GfsunbQYI7VpMc+Z256YIMiRhC066Uu3U68KFdVsUVzog8Ybi6h4lNlI4CQOo3PLOt17Dt8NvZXC9W+qyhJuva5JRW/TiQ6naZSdnGflwlBUYF80z6qcR1HBbBzO/R3fqKKmw7DZs1lE52fxcM/0K27kVfabZi1KoF7XGkN86lw44b+kzR805+q7D1FN14fhVG9NNNrFQg8tluTQtyRWSgJWEByKyqVnNduTUBB1c2sGy9f89oeGv0k/mPqkp0dWz7leo9AZosULxTgtOotmsrFONt7tO16PanDx7Wxvc4BTfWpXwl1xof0KQdQsCAQ0mL1tM+alP39x2oBY47VoS5aUCoSQ8Zp2h6l+wH2q1Vr77w3aHgWTPrZBB+l70lCb/kLwMI4rETb14iavVQHsqxTrMA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(30864003)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?L2HJB+zkQCWG3uQObULX0Mr?= =?iso-8859-1?q?J+JJ1YOU2/Ty+fwp3wl0cx1GOkGy9L2U7a7KQCVhA4u4/7UZA7Aq/VbhkUzS?= =?iso-8859-1?q?Z3Iyx8R7xzYji1J7YixR2mZntRJheuzzkjTCe9zdgrAvTV9a+IJLX//eZXwW?= =?iso-8859-1?q?jDZUNZkqPnWe8mXlrBLCFfBcMZdo0s+GOih6KIN2n8H9+R6bWEQa+ZjyEdAI?= =?iso-8859-1?q?bpua0Ea4EdVF9EdvqFXTUpKeTUawPUwmptBZlqh2SqdG021s8ZXSxTVYts7x?= =?iso-8859-1?q?p6Rqck9dhJZWthbwF7zl8mq+7f7mTt+rzgHTaJpa1m9898Kvt9xl6QEv4n/j?= =?iso-8859-1?q?cSQikjMXS/tTO09h+AzolH4TfKVl7g2IPTijFE+eIXO8qdw7J1InhMtHD3FX?= =?iso-8859-1?q?vYGYylZ3opBCrHgjEIF75iNYVmWPXgVpkpNnH4XRSq/UmACVLfWqZwdicdcu?= =?iso-8859-1?q?PWK5azNsYo2H+unzujbGObK6K6ddyN2R9C2bKKj+MRRn+qa1ZATooOG7X3UF?= =?iso-8859-1?q?wkTGkfdEOiy+3HvQH23F/EPGUAlKBFTduZBe7sfEJYbMgg6bAt3/jkrODPvr?= =?iso-8859-1?q?i9MNpYZJLm+fe0bgUbUn0Dd63lUZpgaMDXluRgPoj8oE+P/MH2ah11QU9+kX?= =?iso-8859-1?q?wfkV9/+7J4dmK2tHfTYGLVaQnF6F1Z2B9s6un65+t8rKd7ZEsrPe/P0PTJTj?= =?iso-8859-1?q?AZOm/Qd5wDbGRCTYVlXTGWKBqiSVtnoiIAmpz5DDdbj9I8qGBQlXIr7e9EuI?= =?iso-8859-1?q?QauqN6ac8l2ZjavxCKkJAQGyIlLZ0/F1Azti3726OnywwKyizSpwODP54/jm?= =?iso-8859-1?q?3MZWty91Qnxyq7BmxLjAoLnzmO+8O+s8dskrfXjUT1jeSR+Rj+W+UrzbfXKG?= =?iso-8859-1?q?6fTHD0phwQlQL6TDkWrvLdmjiasiXXh5ieTryGYnmv0JQC+P2o7kW+/S4e8m?= =?iso-8859-1?q?fjKrTMYQLKzXFOwmTC0+d+80VEmXcmOUSJxo8C+4QavzTYRtNxvohJqp6XNA?= =?iso-8859-1?q?PST9BkJhiZvFCln1IUm7x4UcNBzIgz90/kCe3+WfYRhxOF1KoQdDCc7T4OZ+?= =?iso-8859-1?q?kI01OIqc3ZMVnKIJfLb5CDxZ+1V+o/3Epn84AXC8PtGWp4ZlTMkq2HPpOp71?= =?iso-8859-1?q?uiEgEkp1/AT/sNuXzvK8f9BqQQWQhg1pOIZI0q/UYQflJ2uiDl2qTuniP85f?= =?iso-8859-1?q?xsTNV52la/3jow/VKPqclxL9tmTlH9ldEfHMmVnh/UP/51x5SNmCW0C8act8?= =?iso-8859-1?q?LtdKJtg+CRcv0gPxAfAGXozjqwWrQapOiFxc+RswlP9aPROXJQW2h+b00uzP?= =?iso-8859-1?q?q+Ju+p5JAE4Yu+xn7hqFz9dMfIbcWOvHfYhe8R6rc9wia71jWSkd5MN1ISjA?= =?iso-8859-1?q?2anjQtwyHTsZrDNFXI4N6dqsVqEwYQImrS4Q+xSPmliyhkwbVoUiQaDkjwBp?= =?iso-8859-1?q?h61DcY5scoMnUP7fbbbAbbAuJ4f5QF/Y6rKxQmIYMmdZAg73cPz7RLxwVu5I?= =?iso-8859-1?q?bvKDiAKMsxW01//BPCOCnLrsv39ppq6WACC8y/KKuw0p9X4D5a9Kml8z/Coo?= =?iso-8859-1?q?GnQVVFVTrq3Lp5V7pRAFC2bMGKm3E20k1qybsP99LOOknjTuWRcav5GmO/p8?= =?iso-8859-1?q?VADNPPesegnNBqXGCoSP0M5FaAlcAsHAxvDmx2g=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: A0Xr/xaOdou9Pnsa4jDHypS1oLSNllUtI7ErD0xOkuAFFu4l5P2IcYGz5SWTstDf76DJkGw63zljM4ONjX1ZSd/uAN6EMN/aVGuizbCo7zZWrlGWEqlhNFjlVbwMd0fqPaW1R67R/LCBt3TUHiu9f/k3hHlDbPE6yGLyIEcBjPkqPknhIfUry/gmmvHn/ne6heOgUHTbkIOmPQ/rauwiaJeakYoIRbJUMF7letaLOOztZbIsi+eE2gZsmO67jOlMpxo/G2Kz41C9Rk4duPPhe000JsqEKvXOJfCU8M+mw+W2P0EpTRyYWn4Ju2hu87YCk1FBO0JD3QV9MVpsfLmyCtMrE3uaKHNAeS6CrKUdK9gF/HxuTBg+sHDsIA4wutPQYntPb/8uCVKNcI9gl8Os78Qcv3vx+CUcHQVBDTnk21pBHh2jZ9zsda8xPWZjwvaTVOF+lQdUv+5AQeX6EDoZbBu1onlxfSiAnp18yfjAzb4tGYY+DykX6MTren4goouIyodkT2/faaX+CCMprLhx9afM/jjz0DV7uL54D1fSDZMSehwj2HlnL+cHV227N5d/De+5xttvIbvadHuNmtpQNub5Tf7Lxx0CLBOkpZ9UJeWG42SbufqOMDLBx4f4g1xb1RLsBCwl9C0YghRXlSff3gQtx0X4sF//kKRRcNUkXJUJcMpOhig3dxI7SiHpR/F4O2FPRhVRoE/QVm7n1TFyLEZfCCDeREk3rZZ0tuS5T13yxLBfzNgDjvwT+7f7yVqfelwhtXHzdkPRz+Gqx8x6Bb6dfTZSP90ZYTDXi6Ie0xTBWq3G68Q1Mjd49/JbfI2bOxi4GIGnn8Ib1ADRbWFdegMX6FAFE2jmeYZB0lWvWkQtNqV9SNKsUpErU1o4P1NAwG3eDLpE3RFVRx6St73Juw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 012c78bd-1eda-415d-5a4a-08daef514ad1 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:15:59.9536 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Twul6XlGQUEUX8UNS8bx4XXWSA7XjdbiB96kpuNtdfeZ65OYNbcDzXVy9wosjjkCXCNA2xduZnfMUKoOjFQ/iw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: Mdv2uLMEXro04nBYKkNeJdPwMBbLvRfb X-Proofpoint-ORIG-GUID: Mdv2uLMEXro04nBYKkNeJdPwMBbLvRfb X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 3ED90C0008 X-Stat-Signature: 41d4r89i79wa5eoamstxu9afku3bunaj X-HE-Tag: 1672946171-705128 X-HE-Meta: U2FsdGVkX18PYNye8PVJBkBa4rprmDdM3CciDutuNACUA9/VGGo8KZNira6NJ1VhSIte1I9cr42qV3kkU9c6I489HTnKmwmQVjcihuxGqr2V1E3HVpbGD3Gs8fprWWCqxDd6I4UbmQsfPaHQ/Pk93MFFzgy/3wBenLe+hxbZf4SJaH8TbqoqKZA/ZiTWmyPB/JUWFlvKtfOCVguimeeuvcLqdBy3bg6hyKEGx3oUF1MHqYJgD5TzuZ0Fg7b67JaY1UUJnjhg7tDDPZMpLKTnZRUzDBIriS78aanOzj6XVhXCgE3LrD79j+2TSFJIg3SyRff592vWS7Bng3C24JtIqc0EPrDqLNXIz+wMKfibkzyos7doSSml6v8JY2ajBFgkmxvSVuuwkHnbvg/Kbyf/rVMpUpNCsVYUi7tIPwSr0WoJIJxmiRaI6StRy0zNr8m5miAm92KEWtQJPh0ZteNhtArhbdR9DeMulHTZiLvlKTK60qMYO+FpuqXsrmu990bd1ADDlT94fINAriq6NknpP+ZKcawOBkHtJ+mBynmS+q7oO0H6AngCK2p0XcL4DQz/kn2eeRFLgTnB0ldYYv+OQ+vjIL8sSma7L0mgrCOOtGfeemogiUDGGFtLmW408KJrp75i1EttoZH3dwzJuPF4YJnW8jsT0BANxwIe6dqGELQtocUvSiDmsHDEJBb3RSY1JZFNf3UEGrG4V+fzeg5O8Z4tWJ/IXpgn/n8B+Om8Y8lNeYclLyXbWBwhDe9Ap0O+UVa7w3b76hOLyh8qbWDg9ISEJ38Q8pa0C5Qjj2w1bFgf3MaC8TE7K8aZlsghLJtkxCW3feroGXCekZ8UH2s4E4iZClkO7jRb5iJSTEhc6ACL4i955CEagicGAWZ74t7AojySB3pTfcT8ufMvWAftRbzjrATIgnQzYo3510EgUUhcUfpptqH1lWCGhe6ebjU3UJ8EX6RtlVhAAQe0mTX f8Dv+8fK Td1CxB2VOFa/nWKYm92x/Srry0MoyHh2WWyqg1gZf0ALybmCEmtlaWQqNawMNAPIT6WlQWUJ5mdKGIN6qG4SOSmybBNXCIswWIqinhF9p2VQQrP3bfDyjZQA9Cz+A8PUsCGER9TLr10268+i0ZJlsLCLFsQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Drop the vmi_* functions and transition all users to use the vma iterator directly. Signed-off-by: Liam R. Howlett --- fs/userfaultfd.c | 14 ++++---- include/linux/mm.h | 16 +++------- mm/madvise.c | 6 ++-- mm/mempolicy.c | 6 ++-- mm/mlock.c | 6 ++-- mm/mmap.c | 79 +++++++++++++--------------------------------- mm/mprotect.c | 6 ++-- mm/mremap.c | 2 +- 8 files changed, 47 insertions(+), 88 deletions(-) diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c index b3249388696a..e60f86d6b91c 100644 --- a/fs/userfaultfd.c +++ b/fs/userfaultfd.c @@ -883,7 +883,7 @@ static int userfaultfd_release(struct inode *inode, struct file *file) continue; } new_flags = vma->vm_flags & ~__VM_UFFD_FLAGS; - prev = vmi_vma_merge(&vmi, mm, prev, vma->vm_start, vma->vm_end, + prev = vma_merge(&vmi, mm, prev, vma->vm_start, vma->vm_end, new_flags, vma->anon_vma, vma->vm_file, vma->vm_pgoff, vma_policy(vma), @@ -1426,7 +1426,7 @@ static int userfaultfd_register(struct userfaultfd_ctx *ctx, vma_end = min(end, vma->vm_end); new_flags = (vma->vm_flags & ~__VM_UFFD_FLAGS) | vm_flags; - prev = vmi_vma_merge(&vmi, mm, prev, start, vma_end, new_flags, + prev = vma_merge(&vmi, mm, prev, start, vma_end, new_flags, vma->anon_vma, vma->vm_file, vma->vm_pgoff, vma_policy(vma), ((struct vm_userfaultfd_ctx){ ctx }), @@ -1437,12 +1437,12 @@ static int userfaultfd_register(struct userfaultfd_ctx *ctx, goto next; } if (vma->vm_start < start) { - ret = vmi_split_vma(&vmi, mm, vma, start, 1); + ret = split_vma(&vmi, vma, start, 1); if (ret) break; } if (vma->vm_end > end) { - ret = vmi_split_vma(&vmi, mm, vma, end, 0); + ret = split_vma(&vmi, vma, end, 0); if (ret) break; } @@ -1606,7 +1606,7 @@ static int userfaultfd_unregister(struct userfaultfd_ctx *ctx, uffd_wp_range(mm, vma, start, vma_end - start, false); new_flags = vma->vm_flags & ~__VM_UFFD_FLAGS; - prev = vmi_vma_merge(&vmi, mm, prev, start, vma_end, new_flags, + prev = vma_merge(&vmi, mm, prev, start, vma_end, new_flags, vma->anon_vma, vma->vm_file, vma->vm_pgoff, vma_policy(vma), NULL_VM_UFFD_CTX, anon_vma_name(vma)); @@ -1615,13 +1615,13 @@ static int userfaultfd_unregister(struct userfaultfd_ctx *ctx, goto next; } if (vma->vm_start < start) { - ret = vmi_split_vma(&vmi, mm, vma, start, 1); + ret = split_vma(&vmi, vma, start, 1); if (ret) break; } if (vma->vm_end > end) { vma_iter_set(&vmi, vma->vm_end); - ret = vmi_split_vma(&vmi, mm, vma, end, 0); + ret = split_vma(&vmi, vma, end, 0); if (ret) break; } diff --git a/include/linux/mm.h b/include/linux/mm.h index 98c91a25d257..71474615b4ab 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2830,22 +2830,16 @@ static inline int vma_adjust(struct vm_area_struct *vma, unsigned long start, { return __vma_adjust(vma, start, end, pgoff, insert, NULL); } -extern struct vm_area_struct *vma_merge(struct mm_struct *, - struct vm_area_struct *prev, unsigned long addr, unsigned long end, - unsigned long vm_flags, struct anon_vma *, struct file *, pgoff_t, - struct mempolicy *, struct vm_userfaultfd_ctx, struct anon_vma_name *); -extern struct vm_area_struct *vmi_vma_merge(struct vma_iterator *vmi, +extern struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *, struct vm_area_struct *prev, unsigned long addr, unsigned long end, unsigned long vm_flags, struct anon_vma *, struct file *, pgoff_t, struct mempolicy *, struct vm_userfaultfd_ctx, struct anon_vma_name *); extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *); -extern int vmi__split_vma(struct vma_iterator *vmi, struct mm_struct *, - struct vm_area_struct *, unsigned long addr, int new_below); -extern int split_vma(struct mm_struct *, struct vm_area_struct *, - unsigned long addr, int new_below); -extern int vmi_split_vma(struct vma_iterator *vmi, struct mm_struct *, - struct vm_area_struct *, unsigned long addr, int new_below); +extern int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *, + unsigned long addr, int new_below); +extern int split_vma(struct vma_iterator *vmi, struct vm_area_struct *, + unsigned long addr, int new_below); extern int insert_vm_struct(struct mm_struct *, struct vm_area_struct *); extern void unlink_file_vma(struct vm_area_struct *); extern struct vm_area_struct *copy_vma(struct vm_area_struct **, diff --git a/mm/madvise.c b/mm/madvise.c index 4ee85b85806a..4115516f58dd 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -150,7 +150,7 @@ static int madvise_update_vma(struct vm_area_struct *vma, } pgoff = vma->vm_pgoff + ((start - vma->vm_start) >> PAGE_SHIFT); - *prev = vmi_vma_merge(&vmi, mm, *prev, start, end, new_flags, + *prev = vma_merge(&vmi, mm, *prev, start, end, new_flags, vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), vma->vm_userfaultfd_ctx, anon_name); if (*prev) { @@ -163,7 +163,7 @@ static int madvise_update_vma(struct vm_area_struct *vma, if (start != vma->vm_start) { if (unlikely(mm->map_count >= sysctl_max_map_count)) return -ENOMEM; - error = vmi__split_vma(&vmi, mm, vma, start, 1); + error = __split_vma(&vmi, vma, start, 1); if (error) return error; } @@ -171,7 +171,7 @@ static int madvise_update_vma(struct vm_area_struct *vma, if (end != vma->vm_end) { if (unlikely(mm->map_count >= sysctl_max_map_count)) return -ENOMEM; - error = vmi__split_vma(&vmi, mm, vma, end, 0); + error = __split_vma(&vmi, vma, end, 0); if (error) return error; } diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 6f41a30c24d5..171525b0c7a8 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -810,7 +810,7 @@ static int mbind_range(struct mm_struct *mm, unsigned long start, pgoff = vma->vm_pgoff + ((vmstart - vma->vm_start) >> PAGE_SHIFT); - prev = vmi_vma_merge(&vmi, mm, prev, vmstart, vmend, vma->vm_flags, + prev = vma_merge(&vmi, mm, prev, vmstart, vmend, vma->vm_flags, vma->anon_vma, vma->vm_file, pgoff, new_pol, vma->vm_userfaultfd_ctx, anon_vma_name(vma)); @@ -819,12 +819,12 @@ static int mbind_range(struct mm_struct *mm, unsigned long start, goto replace; } if (vma->vm_start != vmstart) { - err = vmi_split_vma(&vmi, vma->vm_mm, vma, vmstart, 1); + err = split_vma(&vmi, vma, vmstart, 1); if (err) goto out; } if (vma->vm_end != vmend) { - err = vmi_split_vma(&vmi, vma->vm_mm, vma, vmend, 0); + err = split_vma(&vmi, vma, vmend, 0); if (err) goto out; } diff --git a/mm/mlock.c b/mm/mlock.c index f06b02b631b5..393cddee2f06 100644 --- a/mm/mlock.c +++ b/mm/mlock.c @@ -418,7 +418,7 @@ static int mlock_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, goto out; pgoff = vma->vm_pgoff + ((start - vma->vm_start) >> PAGE_SHIFT); - *prev = vmi_vma_merge(vmi, mm, *prev, start, end, newflags, + *prev = vma_merge(vmi, mm, *prev, start, end, newflags, vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), vma->vm_userfaultfd_ctx, anon_vma_name(vma)); if (*prev) { @@ -427,13 +427,13 @@ static int mlock_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, } if (start != vma->vm_start) { - ret = vmi_split_vma(vmi, mm, vma, start, 1); + ret = split_vma(vmi, vma, start, 1); if (ret) goto out; } if (end != vma->vm_end) { - ret = vmi_split_vma(vmi, mm, vma, end, 0); + ret = split_vma(vmi, vma, end, 0); if (ret) goto out; } diff --git a/mm/mmap.c b/mm/mmap.c index 579d586e4e6a..8e7f4fc36960 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1072,7 +1072,7 @@ can_vma_merge_after(struct vm_area_struct *vma, unsigned long vm_flags, * parameter) may establish ptes with the wrong permissions of NNNN * instead of the right permissions of XXXX. */ -struct vm_area_struct *vma_merge(struct mm_struct *mm, +struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, struct vm_area_struct *prev, unsigned long addr, unsigned long end, unsigned long vm_flags, struct anon_vma *anon_vma, struct file *file, @@ -1081,7 +1081,7 @@ struct vm_area_struct *vma_merge(struct mm_struct *mm, struct anon_vma_name *anon_name) { pgoff_t pglen = (end - addr) >> PAGE_SHIFT; - struct vm_area_struct *mid, *next, *res; + struct vm_area_struct *mid, *next, *res = NULL; int err = -1; bool merge_prev = false; bool merge_next = false; @@ -1147,26 +1147,11 @@ struct vm_area_struct *vma_merge(struct mm_struct *mm, if (err) return NULL; khugepaged_enter_vma(res, vm_flags); - return res; -} -struct vm_area_struct *vmi_vma_merge(struct vma_iterator *vmi, - struct mm_struct *mm, - struct vm_area_struct *prev, unsigned long addr, - unsigned long end, unsigned long vm_flags, - struct anon_vma *anon_vma, struct file *file, - pgoff_t pgoff, struct mempolicy *policy, - struct vm_userfaultfd_ctx vm_userfaultfd_ctx, - struct anon_vma_name *anon_name) -{ - struct vm_area_struct *tmp; - - tmp = vma_merge(mm, prev, addr, end, vm_flags, anon_vma, file, pgoff, - policy, vm_userfaultfd_ctx, anon_name); - if (tmp) + if (res) vma_iter_set(vmi, end); - return tmp; + return res; } /* @@ -2286,12 +2271,14 @@ static void unmap_region(struct mm_struct *mm, struct maple_tree *mt, * __split_vma() bypasses sysctl_max_map_count checking. We use this where it * has already been checked or doesn't make sense to fail. */ -int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, +int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long addr, int new_below) { struct vm_area_struct *new; int err; - validate_mm_mt(mm); + unsigned long end = vma->vm_end; + + validate_mm_mt(vma->vm_mm); if (vma->vm_ops && vma->vm_ops->may_split) { err = vma->vm_ops->may_split(vma, addr); @@ -2331,8 +2318,10 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); /* Success. */ - if (!err) + if (!err) { + vma_iter_set(vmi, end); return 0; + } /* Avoid vm accounting in close() operation */ new->vm_start = new->vm_end; @@ -2347,46 +2336,21 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, mpol_put(vma_policy(new)); out_free_vma: vm_area_free(new); - validate_mm_mt(mm); + validate_mm_mt(vma->vm_mm); return err; } -int vmi__split_vma(struct vma_iterator *vmi, struct mm_struct *mm, - struct vm_area_struct *vma, unsigned long addr, int new_below) -{ - int ret; - unsigned long end = vma->vm_end; - - ret = __split_vma(mm, vma, addr, new_below); - if (!ret) - vma_iter_set(vmi, end); - - return ret; -} /* * Split a vma into two pieces at address 'addr', a new vma is allocated * either for the first part or the tail. */ -int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, +int split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long addr, int new_below) { - if (mm->map_count >= sysctl_max_map_count) + if (vma->vm_mm->map_count >= sysctl_max_map_count) return -ENOMEM; - return __split_vma(mm, vma, addr, new_below); -} - -int vmi_split_vma(struct vma_iterator *vmi, struct mm_struct *mm, - struct vm_area_struct *vma, unsigned long addr, int new_below) -{ - int ret; - unsigned long end = vma->vm_end; - - ret = split_vma(mm, vma, addr, new_below); - if (!ret) - vma_iter_set(vmi, end); - - return ret; + return __split_vma(vmi, vma, addr, new_below); } static inline int munmap_sidetree(struct vm_area_struct *vma, @@ -2446,7 +2410,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, if (end < vma->vm_end && mm->map_count >= sysctl_max_map_count) goto map_count_exceeded; - error = vmi__split_vma(vmi, mm, vma, start, 0); + error = __split_vma(vmi, vma, start, 0); if (error) goto start_split_failed; @@ -2467,7 +2431,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, if (next->vm_end > end) { struct vm_area_struct *split; - error = vmi__split_vma(vmi, mm, next, end, 1); + error = __split_vma(vmi, next, end, 1); if (error) goto end_split_failed; @@ -2748,9 +2712,10 @@ unsigned long mmap_region(struct file *file, unsigned long addr, * vma again as we may succeed this time. */ if (unlikely(vm_flags != vma->vm_flags && prev)) { - merge = vmi_vma_merge(&vmi, mm, prev, vma->vm_start, - vma->vm_end, vma->vm_flags, NULL, vma->vm_file, - vma->vm_pgoff, NULL, NULL_VM_UFFD_CTX, NULL); + merge = vma_merge(&vmi, mm, prev, vma->vm_start, + vma->vm_end, vma->vm_flags, NULL, + vma->vm_file, vma->vm_pgoff, NULL, + NULL_VM_UFFD_CTX, NULL); if (merge) { /* * ->mmap() can change vma->vm_file and fput @@ -3297,7 +3262,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, if (new_vma && new_vma->vm_start < addr + len) return NULL; /* should never get here */ - new_vma = vmi_vma_merge(&vmi, mm, prev, addr, addr + len, vma->vm_flags, + new_vma = vma_merge(&vmi, mm, prev, addr, addr + len, vma->vm_flags, vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), vma->vm_userfaultfd_ctx, anon_vma_name(vma)); if (new_vma) { diff --git a/mm/mprotect.c b/mm/mprotect.c index 7e6cb2165000..057b7e3e93bb 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -605,7 +605,7 @@ mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, * First try to merge with previous and/or next vma. */ pgoff = vma->vm_pgoff + ((start - vma->vm_start) >> PAGE_SHIFT); - *pprev = vmi_vma_merge(vmi, mm, *pprev, start, end, newflags, + *pprev = vma_merge(vmi, mm, *pprev, start, end, newflags, vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), vma->vm_userfaultfd_ctx, anon_vma_name(vma)); if (*pprev) { @@ -617,13 +617,13 @@ mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, *pprev = vma; if (start != vma->vm_start) { - error = vmi_split_vma(vmi, mm, vma, start, 1); + error = split_vma(vmi, vma, start, 1); if (error) goto fail; } if (end != vma->vm_end) { - error = vmi_split_vma(vmi, mm, vma, end, 0); + error = split_vma(vmi, vma, end, 0); if (error) goto fail; } diff --git a/mm/mremap.c b/mm/mremap.c index 4364daaf0e83..00845aec5441 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -1034,7 +1034,7 @@ SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len, * with the next vma if it becomes adjacent to the expanded vma and * otherwise compatible. */ - vma = vmi_vma_merge(&vmi, mm, vma, extension_start, + vma = vma_merge(&vmi, mm, vma, extension_start, extension_end, vma->vm_flags, vma->anon_vma, vma->vm_file, extension_pgoff, vma_policy(vma), vma->vm_userfaultfd_ctx, anon_vma_name(vma)); From patchwork Thu Jan 5 19:16:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090333 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 137CEC5479D for ; Thu, 5 Jan 2023 19:16:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0ACB8940011; Thu, 5 Jan 2023 14:16:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F04CA94000F; Thu, 5 Jan 2023 14:16:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C6ABC940011; Thu, 5 Jan 2023 14:16:18 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B0D5F94000F for ; Thu, 5 Jan 2023 14:16:18 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 88FAF120662 for ; Thu, 5 Jan 2023 19:16:18 +0000 (UTC) X-FDA: 80321701236.11.946B680 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf08.hostedemail.com (Postfix) with ESMTP id 476D2160008 for ; Thu, 5 Jan 2023 19:16:15 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=0pDXVgG4; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=h0zPWCCz; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf08.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946175; a=rsa-sha256; cv=pass; b=ARab7YPHav9MsHqm/GGKXFOafL3Xhfut9MzL6cspddD54iQwMTCKqOEa4BrxDSOFOudMDO iVXQn7+9f/rJEAWMxJ4TDFC92Dua8eNUko2FPClV1OjvnYIuJs0WmKKrMtrYplG3E9FjGb 2k74Ff4VVnTcSY1S4tkJ2hzGQ2pQVw4= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=0pDXVgG4; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=h0zPWCCz; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf08.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946175; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=vxu9/GSp2gjISoQa/VWxjVS2svQdljAFFuFyxND5ieE=; b=kR7rmPQ+0D5TsUeeJEMUc/BemoU+WEMC7QrUcrXdo9Utp3Z66MyCLndOww1LxZVlX0axhG tBmB96EvSnA7cxn7k/iOHQfecyauXfdM3aHKv8aPf9Q9BxQ9kM90R3mr9hAED5s2Fli2QM RY8eCbP5TxCv3cPWiZUm3qtnDCKOX5w= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ISl8u001322; Thu, 5 Jan 2023 19:16:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=vxu9/GSp2gjISoQa/VWxjVS2svQdljAFFuFyxND5ieE=; b=0pDXVgG4829nnJZB9LgAh2mJ+R1/doBCBKwiCo8ahBqyTee/zA552ae+zFnrjdD2XRsp U+KN3wxzbytUvMrpCbyViki20ALG+H3REIaM91h8I+Rw+PpfDqIWyJ8h0StSrhL0TMIE vn/iGw1YnM5l5YUU7rJL/Rnl1s1lYV51vUYPqxJMh4LBm37UCpNCcmOtuiir97InergY LGRAR4bVjFBRzKl8iHbjPNk42WaIWzF9qP0fssE53ytNDnho9Yg7A4CAP807R896vek5 zn94DU2eCa/Y5eHk9mhOmAgEgkxXmpe6cM32ceImfGS452jAGRbXlP/XBCpFsgm5sOHD 3Q== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtd4c9qw7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:10 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305HgaKZ033879; Thu, 5 Jan 2023 19:16:10 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2107.outbound.protection.outlook.com [104.47.55.107]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdtsj1fk-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WJ/LK75PeU3TLuuLNbSS8Arz1CvxeOfUK6l3FIOoc7G0lD3KAdWX7Hw4/ckyFL0zVWT4/3lO4MWzLXCcwbCWwToDrSZK7GmXtgI2ImM6agyayBw8uiozjMZ+l0L/uCL+5GxJotU8iYeQuR/GhYOXqONAQPw6/phaF50VOc1r2dFs+Vzl+Da8qCWhw4b6l9ffLbb740NuZ3tP8ZTelnKyYZCeoFWdnAUVVyjxlLdRJlkdP+OSopTJkzpQVF//o9oIUiBhP/UE4Zq2Bc8r6Hx4K8Ct+M4lp3DSiiysb+81gQNM8cRHIZJFAl4nJsurEoLDdkPGBXsfJ0trpVlXxLuHZg== 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=vxu9/GSp2gjISoQa/VWxjVS2svQdljAFFuFyxND5ieE=; b=FuuvJLvXKBOta2sN7YfBxqxpf+qR8mr0la0KsCraF+/3PUtle4UR/qpyKvCAPl3Taf0T5f7zC0oT6rVCX0Rrtr596ePfXDRqRIcvWbQ8S0gv9+VfoDcYL+a75oma+5JdrHoZR2pLbsYCjgHQ6+aeEfVtVndkJEDZXAaWRReEVhJ7I+IrWv8olTixxIkF8Gc3vENVCLDoo/sD2/iP73DkkLIaJi4K2I0ir7NUdvZXM0Q/Mkhiix9OT5uFN6EudfkVY1xvOY8twj2jyD5055HuJ5ZfXCR97lDGTT1/cuBKj2tDpUzRD0FdHvplzD/QznEYhKsy+/IqD3sAQNCX5/7V4g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vxu9/GSp2gjISoQa/VWxjVS2svQdljAFFuFyxND5ieE=; b=h0zPWCCzRZHmIX2joAsur3Jfx6T/AuCHMZkhrkav8OKXYj8NbC2dLM/WCoJs+zmfdG+FPhlSEWm6wn/QJSJZBaIy10NWvGFDRQ7liOoPKd+MZhuX/x6kKCheN6vElORAI+s7Dvyx0hfBnNMw8oUgCjZbQux3M49u0fSVT5zlX3o= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:05 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:05 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , SeongJae Park , "damon@lists.linux.dev" , kernel test robot Subject: [PATCH v2 26/44] mm/damon: Stop using vma_mas_store() for maple tree store Thread-Topic: [PATCH v2 26/44] mm/damon: Stop using vma_mas_store() for maple tree store Thread-Index: AQHZITolwyWRLkqcX0iP8U6GnafTZA== Date: Thu, 5 Jan 2023 19:16:00 +0000 Message-ID: <20230105191517.3099082-27-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: a55ed17c-b462-4ad1-df9c-08daef514b18 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: E/xNsrKXRZZV/v0bKBbrZ5W2g9HrFoqqi7GUxTd7ULkKK/OyARmWo7Ww2U9JzM09c9qOElf9CK62WIFCMZl1+Kv7AMIzXea0fGXUMqlKoYJleU0rZZIpXafnUVXZjgvB1gGvldgdSdUzJCtn3yvcMYsjBX2Q7kAEMu7Sycp2RCwOdIoOFH9JlztoPQHkDV67t7cYhTadZAg1Dv055vYdIhwFgaa7DHNd9iSxf/EFk/ObtP40BnaqUzmG2TTPoqApOEo58tAbrkuUlbFlftpf79k5WJw57PTz4050TZuQ4njn+YwHITOqVouqyMfZlBPOAbtxu/EfxqJOiAZ8aOoN09qTNOyxv2auj3FiFYWPZOJAOKBiikzCc0rK2KXiXzgKnPUVEGtHdU1B5n0LtKFdBJlhMq0Rhuj/dSsuSTWAXkWpvsz4lrk5VU5gl3uCNzF3ZztzM2nX7gIGSjwdrvFIhS6MUKa/fQ3TXTt22wqVMjuxdvczpm7Gcjzjl6jizHCu1cfS4dojDEHXxHw+qDB1X1wRhxfgJCfZObJpunHLX6kTUZ2vSDYSgotIkXAoUVMhKYUGvuI/+H5xBiXfYqH5hL5IUOrtn8YcAnW1KdNJPU13fMkrA1YAjNihNBuJoTvz9vKBnJU5xUrhMvFkqFVc5vCFf+o1zJD7GH60crlJ68t0k06N7b6CrdSJXm0TplWTCVYkcRiE06kJhc6gir8F1A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(4744005)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?mau4lxzIiZVEw9i5YIxOv+I?= =?iso-8859-1?q?Uv//rquaxsr3xy9UfEH2u093MQkHKny2Opmt2MRe0RCA3ZOuKmunF9UXKTej?= =?iso-8859-1?q?oJShCEPhzwDPC031ZfeXOHJJdc2nVZw44fiIG2W84y9PzcAM3P3hfzTNjWwA?= =?iso-8859-1?q?g/zmvuWD2s8NLriMlotalMaShvLKw7pZvP9+8tqrVGCSC0PusArEAx1r6GGO?= =?iso-8859-1?q?IqMymVuVG+KX1dzc3TBRrgAKcFv3Fb/GVpxTvJlrZF/izHu2E+mpHm6GTtRV?= =?iso-8859-1?q?/ixbWoz0KOjtRqR5bfM02GjaS6nbPSyBZ/X9wFL+lVK9BiXpyctBY/EHW0XI?= =?iso-8859-1?q?YkWLPu6+o+ciiSJKZfFPoZQ5tRivB0wZhQa9DlkADuAbFf53FBkWoztEkeCB?= =?iso-8859-1?q?Fs3qu0Un2bhhlCcLnsMfzhxPWXQFog491gG8ESpyEKUv5e4r7UTrFXcOHsLK?= =?iso-8859-1?q?S+j+qdmFNHrdxmztQMmj5xIx6mKgwHNLDKxBm2MuQBhFveaeJl4HyEh+M+7v?= =?iso-8859-1?q?F7nRpqmpE/USG5ptymjsIsTdKo1RzxcS8ctiuRLiGsTAkaYuVtsjZ/QMuGhn?= =?iso-8859-1?q?CZH9A8aB1OrBv3f0rvwgIyAZMao466fhxCY/7C+tOQETtEmFaMS0Bkbdmz/b?= =?iso-8859-1?q?mQZygXCnpcUx9L2Fp3Zu+ND4cWSiLsWvfsDvWqL27dgGFSUwL8EDJ8b5kU6V?= =?iso-8859-1?q?r8rQXRxhiaV0D3odUnJNJELODj7tdVy+sWNq7Boo1KOf47vI4ncNWk3X/wch?= =?iso-8859-1?q?zhUuphJVFQd7NkT0cHd3bFNaUxb4QtsHxMMJBoY+4E4YS84Ud3pXoA/+aUxy?= =?iso-8859-1?q?T1/V7iINO+LmfBX0rKQ87F8Bl1MTxuUhJyxY9BBiCV6qNg9i4m85oGtrn1ZR?= =?iso-8859-1?q?Ih8YfEDC54TdlIYF6Sb1Mg5o81Aa158mbzBhcPJrw3mrPlEFFCfY6sS9zAbA?= =?iso-8859-1?q?Q8DQHguErn3KW5D5Ou1pa+XL9Mefx9r+qEZ4BBmEXcfWpqrs4ErbXvgnUv9m?= =?iso-8859-1?q?OY7bslGqoyzVNd3fuN84TdtOMX3CfAR42TLfOvAtS/HdNNQb3saGofg0Qape?= =?iso-8859-1?q?+DuSx0U6r8nVkkpuYwDjFu3yRegd3nHz36VaawayZEsVLSwI92MCVETC/tmF?= =?iso-8859-1?q?4VLuGHvaXJ0BqcolrnK30shuKGssCa7vqV/vlHWy8JAHr8I40jA4klrvykJj?= =?iso-8859-1?q?qmxgYD2LDlwO1S5Q6iAA9NZcNhdbL/+O1lV9Xg+sJSej81EWnKgN3BEEYRp2?= =?iso-8859-1?q?kiSnMsGUmlJIliT1Tc01KZTwX1+iJFwxEXUmEj0c/hJfTjNtEBpBadkD9Acm?= =?iso-8859-1?q?9Kyk9WVgnPxgOECR2JEM34WYGMxlF+9PlJCTAac6jYiVrNXtauwFED8H47F3?= =?iso-8859-1?q?ikzrj/Ujhe/HHRsR69dYKHOqLzEvpOg+MLdz3tHom95SPxGLarbQDbtHe1T/?= =?iso-8859-1?q?k0/8cxoZ2T2iC9yuk9SmsI79wiGaY3SKcXh9ae7yUzPjXnsW5RzhgShvRSBy?= =?iso-8859-1?q?Gn6WpVtxwKqKuqmp5ipWwiMkVTHN6y0LVUd3EvK3otcauIF0RyJQCAzgIzdr?= =?iso-8859-1?q?J3ApwWFP2EGx3QtslzBCpgYWVwyD7jA42mxGO/krRTZ7622oZFqLHwHQY/Ot?= =?iso-8859-1?q?IDFFFHwfPc7icVvGzO+BaYZIpUTxgM7KNPzl3fg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?iso-8859-1?q?DVzOlMjzB0H?= =?iso-8859-1?q?P6c/rqTp0i1D81/k6tgJ1/AZ8YT9IvydiZqtd2kURkHB6psg1V7Ad2/Vx0Re?= =?iso-8859-1?q?xQXi6lZ3lF1RIQQNz5bqpZ8vGhrtDpWJS3/KlT9XzLTcPq9iFLXuY5r3sb5Q?= =?iso-8859-1?q?+Wfe+oRSoFEVG13u/nV3/I8NI6KvHW55qJg3pxbZyuqOHTLhTgFR/+2V9uhf?= =?iso-8859-1?q?POMWwq+WE7PhSj18MVvngE5z/Wj5GmsVhV/N3z/pj/Su+j0OcmntTGyMbPAI?= =?iso-8859-1?q?wUEN/gKLV4c73QUhbxGmUZDLOOh0rJirUfyNOwt/bzCC4yQ3Yi4ihKggqRW3?= =?iso-8859-1?q?nA2cST2MNTmVLYjiBe5VS8+pb9ygJTRubDDxFjNw4KL01JN2dEBciwiT82wY?= =?iso-8859-1?q?RI6METXXQkrjZW6PSOxb5z2pZihfuJPGwgdy40n+Y5LqSBfZh0GYY79k1Xp7?= =?iso-8859-1?q?wGdRl6H1ByFmGHlhq2ynVU4zHEuKT8hcYDCN7f6aFKLFYTF5uxbDGTl9BFDK?= =?iso-8859-1?q?gCid3z2gvwgyolyKTlEQ7lVGesNmGYpW1ZdcgjjeL77fASPStxRm5oNMtN87?= =?iso-8859-1?q?YmKRd2OlVc5mjf67LnR+nxFe1o6H8TrZlt0oY9qovBMWCL9iLO6UcIr8Bn5a?= =?iso-8859-1?q?kMSPu6FuR0ZYZs7u7MsSb7I1Po35f2TiYyVS+MIeBeZRSJy0ltjzXN9fwmOO?= =?iso-8859-1?q?1bVXurSuxKXVvWgTuLkvnpD+YhVdqy2iLt3SVQ+5gWKaSFljTUgh+icMXLjE?= =?iso-8859-1?q?00rD1JbYh6fC72xDradR6YgbaZVK2i058dtut7L4X/H6jjbdUSC7QmcnY3U0?= =?iso-8859-1?q?50coNdC/wMmntZqj4kJgnLzgzvT7VTcD09+n0R8Zgi+Z4jf6tIX2JxIj27W5?= =?iso-8859-1?q?GMh5/urcg9BTcP7GfBbFRN6oOLhg6jD6X1jwQ3AbeEUhFNVjl/w9Gzx6CYRr?= =?iso-8859-1?q?xolZeiDXYXkoHVi0/SjgphFDnbN0By8RqTlbqPrMO6USXx3znuyQ7HqOETOR?= =?iso-8859-1?q?+20czNSVXw0SZOR+28YIxCnQSw5vxGCU=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a55ed17c-b462-4ad1-df9c-08daef514b18 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:00.2817 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: f6sUvcBRIcEj3Z05VWEP/3NpJ/NeAKHVm603Z+f/LFzjs2iNXVsIUazAkNpfS6H8stZHF5dVfNiZHPIAMA6DFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: Fm86oMk_UF-JFlvoRsy7BKLViUowZ0os X-Proofpoint-ORIG-GUID: Fm86oMk_UF-JFlvoRsy7BKLViUowZ0os X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 476D2160008 X-Stat-Signature: uyo7ntppfksam6gscgoy9indijwqb43f X-HE-Tag: 1672946175-510253 X-HE-Meta: U2FsdGVkX19/nqgJeSdB6p9nanqDKPm1o7sBJvyk7Nzshwov9EuD2w6r0PKRnJwV7TkjY4Fb19ap9GxCI6lZNLLQyY3LErz0F+L6kCU/2T3awDFnM8K0aooGRuqh78pmQ5GhRRr8Ey6H97de6FfGgpLh3JCPG2Lcg4w1F7jEOLmi1jUcrhZhzDc6inexnYmJ8vFhIlCYMTUC1qe/woFHLAbxzUD865mNfFthiQNTVg1aoLERJfXNJPeckHrMLsCJ9cotKr2Hk0cvWhC2lHYNFiaEkryFPkHJq3cp+QgQamM1qyhKFORAOQPvW/CzGcs+R9fBQh4C63DzJdqhIc2TUjasobUwrhbSu8Q9lKbX+FKkd8obQMGCrvvYbB2ozPRMCqisP7Nn5fED4H9ErCsLGNNjVYC9v2bmaium1cxLNy3UMcTwdlOHg7JvHn+km/Sngvm8jCy3tyeBhxfzz/4NayLVGWC6shRs+8D2LWU0Hvr55JQKLz49aF4GmAbHSJLv5WKFwKCjBlm4AYlkXbDORxSY8bvVvbPJbEL8LW5eUzTGlTg8fcC6xTBOquv9EAOmpZL5+HjqbRXmS1KuzTrcC4HjhFa0fMuLl+oCKGFf7bdWr0IMhVLPSSe6OpHvO8XrD5lBMDWNdJmv29wA2g+R9HsCrKB5Pjk2lro+/8ITDY9VJZ7sTFN7pQIAuRW+SCaZ1DPYVXu9doG56kRltFClecV/7oD4w1DHulacr6ffjNd0spWtVHxAvuA8LLXuhAP2y1Cg7Up08xuEcbrFZSzWbArbns9uyjZbITBIwAxkSfCMjVhZsYPUV4lJWHrmCteZqY2HFPmuEy2Ak/W6+8ZA8EhaambcACg9VMR7dDjPJlivLP0cBMfhod4CfjxAIQ6qRmAIuDebXsIyNff71TbY6S5P2Lo8nE6HQkIqb9KQ5XqRVeS/pWNQgcFwMmVeDJklmzNSj29R30CFagqTKwT 7MIrrjw+ ADKu2jc2GgmretHIU7M4DvbVNCahoLnEuH46YwADgwgoUTirae0QAqDJgAKoHzAiz3KrHAuEcJDSGfdfz8qEL1z8x3p8NRUn9tK/4gzoJj0YU6JP1Z0hL6Z5j18xZmpM7FEd6Iv8CaCN6OMt6Orb/yKtS5g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Prepare for the removal of the vma_mas_store() function by open coding the maple tree store in this test code. Set the range of the maple state and call the store function directly. Cc: SeongJae Park Cc: damon@lists.linux.dev Reported-by: kernel test robot Signed-off-by: Liam R. Howlett Reviewed-by: SeongJae Park --- mm/damon/vaddr-test.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mm/damon/vaddr-test.h b/mm/damon/vaddr-test.h index bce37c487540..41532f7355d0 100644 --- a/mm/damon/vaddr-test.h +++ b/mm/damon/vaddr-test.h @@ -24,8 +24,10 @@ static void __link_vmas(struct maple_tree *mt, struct vm_area_struct *vmas, return; mas_lock(&mas); - for (i = 0; i < nr_vmas; i++) - vma_mas_store(&vmas[i], &mas); + for (i = 0; i < nr_vmas; i++) { + mas_set_range(&mas, vmas[i].vm_start, vmas[i].vm_end - 1); + mas_store_gfp(&mas, &vmas[i], GFP_KERNEL); + } mas_unlock(&mas); } From patchwork Thu Jan 5 19:16:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090332 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 15E75C3DA7A for ; Thu, 5 Jan 2023 19:16:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 602E9940010; Thu, 5 Jan 2023 14:16:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 58E9194000F; Thu, 5 Jan 2023 14:16:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 368EF940010; Thu, 5 Jan 2023 14:16:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1BCEC94000F for ; Thu, 5 Jan 2023 14:16:17 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id DF89BAAFF6 for ; Thu, 5 Jan 2023 19:16:16 +0000 (UTC) X-FDA: 80321701152.26.3C1BB0B Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf05.hostedemail.com (Postfix) with ESMTP id 5BE5A10001C for ; Thu, 5 Jan 2023 19:16:13 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=k+0NX6ug; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="io1Q/4J7"; spf=pass (imf05.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946173; a=rsa-sha256; cv=pass; b=A8DXz0eaHZR8PmPiNKp6iXKY7lX5Hta4euFaEzOCjCKS6eYy7394SmRwYmpIGbyyP18q1W uygqOSqSHyuO2N7JSvMLwwmOJFKb1p0S+4hrG4HewDc87s6VA5mY0aTEblqC8lpojHF/J2 ZlVP9JlxKVFHLR254+qDelGnyjjQ/Nk= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=k+0NX6ug; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="io1Q/4J7"; spf=pass (imf05.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946173; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AFwaB2DSHd9hyJwJhLeWD9VEJD+3datyV3oyw6c4BwE=; b=JRhyjsG5b6bdKfBAq+gAE5EvPa1bGqJJlaEPXgETdpT607ZZelk5OqtNZD6vlws4rgUfx0 Ev+JI1DxAwGPCCrknW5Xi7qViquE5NfstkvXBl3kAx2iBzCUWnNmOEJyTMlwe9tf2e3d/4 bgx8Te/qNT/kus2jWYOOjtoyrNHwTBc= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUNv6002764; Thu, 5 Jan 2023 19:16:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=AFwaB2DSHd9hyJwJhLeWD9VEJD+3datyV3oyw6c4BwE=; b=k+0NX6ugktCL4uKizfmj9dpaCRXMhm0PMbX/FYEdrZLODpqQCETJqb69CiXqcAVQi77e Ii/r1xEyfNPBKhV4PwGn1AbsKm7Sehv4b0LAteSe+esJePk5G/lJtEPZRovUCLLAy5Ez zpnVqjoMaMIwq7z2lRJbCw6LV0Gs5OJ3x2vwuQbpgmcvpwBg3ObZO34OUM6gtEavdHIi I1wshfPVlB7w9z/T5Fhws7gX/KIFzJ5hol7E8kM8q/PyetHzqaNLzTtAzj2mY9FT2NIH xTeIZJIgUlblzt0V+hj52xhVIQKgzFX0cRQSOaEqWcnPGsic4EQTFICZeGZB830NUa2N Tg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbp11q0g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:12 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305HgaKb033879; Thu, 5 Jan 2023 19:16:10 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2107.outbound.protection.outlook.com [104.47.55.107]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdtsj1fk-6 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IPSdj7faeXZC9NyMSwJVvlqk6MBye3mQoXb7psCcjmYMf/o34wGBuiwgAg/AqOsob791JV0nqBkO9KKd3aPvYh9kuY3iA7meQezy8Y7TBAAMvo/UnpQTrZk32B1mUyhimRXfPWXLXfHxFbx6CZ83xSGqx+eMqpSa9bVWd1mxYmXbHfgCT2CmsB6kRzCPL9+YHMqZnJr7iJzDwNV0OrGtkVilSaZOBvyupP3STLL9RqTc+pqTbe6Jtq8LyUwFGlcjjIEumvpmrNd/bA8UWBAOvkzGdBGGoSVDpWpf2ngrbqDk/iuPRYZ0KDVK/uVv250MIuRjzpigLO8FI2nSvZQNaA== 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=AFwaB2DSHd9hyJwJhLeWD9VEJD+3datyV3oyw6c4BwE=; b=NUObs1RCAJ3RcdUKG2YqoWsmAT8HVLVjsVU0zIy/O+gWOVmfKfyWAfrML1HwpL3VUEPJrLo3DqrwGNNlGuxyXLdpdwALnENcfghApfFmT0Iu/1VNSC1JFzwMFtSJ8KnCX/qxuhWW8nS+muO6H6EdnXqn7vTmvJKWtfDrrbGW87+rOB0gQleyVbe4Toh8EbOKvQtLa5xGOg2ohQIvl961OvVmkq/I/cKSbb95CB40aUkyc1oG1fSMauk/C8CUG8byPwviLkv1vuyLa025UWCiFOnpAbmFY9KEiHQqpo+tBwJ6ReoQF8JAxVpZovg1n0jelF+Bmu6OCJW9DLLgrDvFrg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AFwaB2DSHd9hyJwJhLeWD9VEJD+3datyV3oyw6c4BwE=; b=io1Q/4J7KMpqaFQ9fspn0OEObYTdtr7ujRwBHW26ZGEGDVsj3gt7XLUTFJqJsB43LZqjUwR0PIrNzwtXumbqxS1yQccyL7WmDTZeTre3drHCHuBGnIx7WAqSJMHeUTUUXrdtAnPiAUziAovejgJhN8JX9Sz6AGjE76H28vdHdbY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:06 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:06 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 27/44] mmap: Convert __vma_adjust() to use vma iterator Thread-Topic: [PATCH v2 27/44] mmap: Convert __vma_adjust() to use vma iterator Thread-Index: AQHZITolffX29a8LPka4e9WWOTvLyg== Date: Thu, 5 Jan 2023 19:16:00 +0000 Message-ID: <20230105191517.3099082-28-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: ed52e312-66cb-4257-64e8-08daef514b60 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nOVfiD7n+dFzowCKpXk9mpKTOMSOfQp7VytZg2NRmv46uuxMCbtmjBQ15TyfFaCEHctfKPja1/hXSgKdeiDBdKKzWsRURQDZ7szqcAA7Das4ltHfZ2Ir1UP5R1YE9AUTmJF7WHK+cXULa72jDlkcWfT/SyUvViMtEgziPZg5biOCRdF6O/5TVgCoNokC9kSXAVHltYCLMj5kgtgK0lTST3ivxPnfvYVTMQaWFPhr0VYMa7MWRYDI35F1DthgQdZAp/Ch0KZrYU9IPG9M5nYVgTyic0t2azApD5tr12kGGuEXMSaOi+xLxzzqsV1KuKD01vX0ucHa2yGnL9rLfQZtoDs348zDAxPMYvref0HwOuM4SEw4eGb8lz0c68c0CLoxWz5HL/ggUPN7N7APq0+WVOM8OXfo6cS97NBO8rSHw304gzoTVgsf5iqbB6DR9bz9qgm01uHRjIHukI9iwdvV8L2CW6SzgZQb5wF/b0sG7M5A1Jd95oaX1XVy2ClQSn4aXM1Qjo5OcCIjlv304aaJhdUTJgSP9CAWwGDlM09O/HzewrMBGQDrIpm4+dWhZhkr9w3aHCQVJjY1tyfxHqFLjz24/Mt9QLnGC4hcUSTCCVsO7SfpdYIszq4AyY3hUsTl/NkpUglWSifqhzFBZWYq4EdHFMibpLjhlh8gUaFCZD31gYBgxfHWHeVVnANG+s05YwLeLcvAFSxYq7hKTC1gqw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?68d3yzl9PpQgeC2Z8tLDqrU?= =?iso-8859-1?q?0M2+xFuzSwsc/xwbeBm2h7MHHV/dmtBiAq31olYaYreeAqvCdT3TMZz6bM4Q?= =?iso-8859-1?q?sIXirwYVWDWBBl5zFuvJI2OD8yWXMAt9X5OuSfChPQeIcKBc908KyRlRHLSu?= =?iso-8859-1?q?An3bmwKlyjUv6MVCwr+s5EtcLwaJLXKwntAQMCdfg92UlFDQa2iOUM/X3YWW?= =?iso-8859-1?q?JjIhkpNIEgDGKeR5Ml2SVVuHRN3imjznjYLhDyOA0w0HJ9eiX5JUdEPrlBFX?= =?iso-8859-1?q?+MCdDm4v2YbKQkePffWcpsVSaCTYtyfIEw0E5Z+0Npp6TyByjb5B6uoo35cS?= =?iso-8859-1?q?dRjKjoro8Fge4PcxCUiXt7ObHR9WCIno29F2AeYnxU0MacsHKwcOtW4TYq+M?= =?iso-8859-1?q?CW96GqG2W2IygI2Fw7R0RJ4a6njIQuon6YT9xMkaQi/C+hpJ7lRe2oFLLdSw?= =?iso-8859-1?q?zmsr35Jb4IlKc5h1O05yP5PkY7ZEO/GNKmrz0/9Hmb5pvSTzvC8xDmONd+uR?= =?iso-8859-1?q?T0zzKCla20W+EfTOjqAT7RPz+qB9lCkYLeJ1v8pipXE110V8URPa/Cs7hhAC?= =?iso-8859-1?q?UNCVZg6+5PRi2my0QCulrm5NLOGp7JkM/rywCzToOJLE5wV+/A9avrAl0TMG?= =?iso-8859-1?q?e/0q7WDxiZ7eCqBjdJVSZbsIXRu2s85hWfsvE55/tYQAUc1c1VCsBN11ywvx?= =?iso-8859-1?q?Z29Lon4hMbNoEMzz/F31IXrv7HBXMfvxeoeLpeOHDwNsW51lvF1LBDcCbdyC?= =?iso-8859-1?q?J+/FEK8xmmFCg9ff5nx+EI1W/Av4VWNycE7tgX3VkoTM5xlrzJjXJ5CA0Iog?= =?iso-8859-1?q?QObmhH2aFJXP7GPDX+mtj/sdIpc5mkp06IMTb7ZLT9qVbqbR0hBGdRsvOVtb?= =?iso-8859-1?q?LLX4bj5+PHJSN/hX6NlXal9q1ZwTZEE7Fc2sx8PedWo2hOZXwj6EoNXFoRIW?= =?iso-8859-1?q?6HvnZhZ4BC8S4Li1RH/mmIFOSQmoyI6qJgBXP0boCUOfPkKL0JtXJhLlo6lF?= =?iso-8859-1?q?iDW7Uuk6a5TR8/EYOQ1tCgUHC89fRWH/qABe5f1EnLERMUXyYFqTwdDChmo8?= =?iso-8859-1?q?J3tuiIatSRwWMSJFhi53ZalfyVvo3wZ7RPpmBkXshOz1jVGEr9GSEWUivghj?= =?iso-8859-1?q?5kGtor82qqyb2mTwA+rn4+00Bd7IIjysYMNBaaWqJ9BYslk1RDmN3GkTITzz?= =?iso-8859-1?q?9GQ3lhT2TCt+j2DCyTM5n39spUHkaM+2+cWfvVtScDu4trBb6Vn3VLYSSY/k?= =?iso-8859-1?q?1VnI2ojskludpgQCR5KBuOdIIrYgIkLrfRRkVzvz6rlw4ERnzN3Ut3ULZ59a?= =?iso-8859-1?q?Rb/I2dhVBD82YnC0MFmRwFxtOuDurVKmlaHpqyHK+A3qlircBbjpKeNqe8yx?= =?iso-8859-1?q?zmUMhYVA3yGc+pYCjKgUnyDzBSzNkwbpFmUva+/BLALcNg5tI8LuRxmbJvm8?= =?iso-8859-1?q?z+1tPI+01ECOQvNwg6ldF6v1+NbW5R9NtVAMnH4lr/UeDQh2sKNz59YaW0jk?= =?iso-8859-1?q?ZDw6dCUsn2WL541y6jqJLUf0Zwjn5vni3taz3d1mqVDQ8khBBqN3jnHCZNmG?= =?iso-8859-1?q?SlFguNH7OEQFIMVxaA1C4K7e/FHMpjc1YreOB3YkbGPi+ooLeuZis6xCRnc6?= =?iso-8859-1?q?/cqocoQcBBWS+o3EQ7lQHy3WWLmxwGQ5p9BZe1g=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: L7e6JTEeHlMt8Al6ycnhZgrSimrttCUwnbRvkqqr4+qXiNF0C4IaDdP1kAKjuPSeA0aRqk6nVro8A4scqXS9V6Xh1TqrVQ58JNUD0xgm0D4TKSP4Ez7asaIkYQy0psLVIhZB2+XdLuxzQ90AJ+9dPcwLjZ65Q+eb+wDgl+Y8Bq5ZpjMC7ojTYEjsYz3h3jWhnUHJQdv5XMLdn348MyD4kAEHZUjV+3VMo54JFIRtGkQeswa/mT55PSj0yMOutf9Q3jd5Qu6wdyjLJMo5BSV+ROCxq8BPAcn78vdl/eg6b4sEPTK8iDrryweIqfuw3iI0+UbvRIJsEixvEno3xSX2W8ORuKNubn+Vu1scQJgn8iQ0lX9aftzf62XniWJRNOzuYXpzVb/TQrmioXiK6YChfsZSQ7uWHq+Vrl5M/mQGrjf9Te1BMJ6pxWUojDZ4evN3GzNrDtDeBQMEN5vmq3vElxgq6pZbMhfluI9vbHaoFF81NDmI3wts42kcm/mVV55P39hr0J9gxt6CHFGIdhhZYTsx/rDkcgw/s/vX+F63ksPEVMiRpwyx35GDctOqSSzEhfAddpdO9j7dneNOEKCynpTLKb3BZIYAqnrepJWEQZm/VLUiVJfK1vSMUPl+TL0nwNkP2gSLfwn5Vf6h6b46yXsh4PaJjespaen0p85WFSYOy9JyNHPkc5a8LVQN0WzErp2Qg315hxUg3KmWkms7d3X1WQxg1v2bWABviicG/s7g0C1E263DWA7ZnD8oFDQOahOP32h0DiygTptROrmMFe13exTGUU/s95qw+Gk3KZEGGfvwCBwovq4ZvZ7z5v/k5RhhAiAetcxvmSqPlZdEoAejQTXRmDUcXc+vEnBbSMgJR7AxrqGyCwPSs0S0WivjBZzdlrqSJHSqP8a+FoKTTw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed52e312-66cb-4257-64e8-08daef514b60 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:01.0472 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Oa2JidCMWZIrsDpevGFOOHv7RG605WgbRBvnYaW8juVJ2v4JM+r0y+X5pSln6ixsw9yRj5o5Jj881ZQV4Njw8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: G5dIbouGRn5U-RuP35IOm6lqqCvkakxk X-Proofpoint-ORIG-GUID: G5dIbouGRn5U-RuP35IOm6lqqCvkakxk X-Rspam-User: X-Rspamd-Queue-Id: 5BE5A10001C X-Rspamd-Server: rspam01 X-Stat-Signature: z1xohjp4hscdwaoerrkqd8j8ycizqiuu X-HE-Tag: 1672946173-490396 X-HE-Meta: U2FsdGVkX1+wlFiqAZ7jtzqkeEB1I76jfX0LOP5g3BYObpExeGyXa6DWR+921PoE2MO0RQMNb0Y76PhhkeLZdVAcEv7xPAFg1iDBaqLIEGRV8om2Je/me9LfUu/6COdPQpnpGRsmP1TbEJMA9iEjyFN7ToV5ijUr0ASaUMvaMkdCXP0cXujSuyEVD70QXb8kp9194KvM8+F8QFRGrEcHh8ZieXgdGxtSakbOmIEen+Q6KWkzBqB2lH3i+UvpFejwuKHC7XbW7D9t5UL0ukCPYxp97s2gS38/k5iag0fUi/WB8bHLnC6sNftjZz7BMHKCJfAeL0ORiaM1dKyfRCDc47Yjc30GT2o4jU5ScQ3vwg/TK+F0TUFS/te8KNqEyTmTPZ354gvowSuZBwU9/SKISm+BtQdnpcc7FvURuchUTlSVXDX0Z6IVVgHoV8pgoRQAHfmEPchebj1z8JvURa3+bZFrHO5JUW6DQVB9QYOxfShyrEXZODVrYjKFXzWAsM1vYFYErx93oTmtc4K7ElSSYgyaIwPF3w603uXZa0AS1M9g9XfZtx77Zhq7JDdkl76SwRcvB8hw7+dhi/QGRake51II/ccZNKunPWZn8E7LPEEOlpbpBo91Se9Of97s0IhtmmKzDxvMeT5WOQ5ZiLXUZ2XUUTyJh+AoHjAF4nzYbPmDVhmuNOgUCUhz0x9vvmkT4ghZAxQVP7yCxlV9f6ssvk8Zkn5CPxXg6pJBCX4SYpg8fbbtfkFGVCQoAlWQFpHYagr9IYfvKn8TKy953mLZAwEwz1vl8ip5G2xnThpHuQVi/dwaqJGZ5FGjY3KHRmgNNYuk+AOZtr83iK5+dqXe8xFwJSGLl1EiS/nbXgmpt2HKbypz6YjapsyFCn/wgSNgMt8AO8/bz/SbvyefaJOjlIAP2UQ9UTmXWCebp82NqfP34Q6JZc4FjoitvaVdpcWZyUiJt2FsACGsZWDmlc6 OAcyszir Zea9seYV5MLgtH/lWALN1Z8LTcGOhZfVedYQUJ3KQrBzEyh+xtUs1KJ+wsze7ZqsgPLUs8OpdBk4dOEpTmUkA7ECTwiBPX+cIP3RNADNmFZ2LEgmd7laszIWppjqmZStwTr/LpATXYo6YvkMQx4bkRbbQBw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the vma iterator internally for __vma_adjust(). Avoid using the maple tree interface directly for type safety. Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 3 -- mm/mmap.c | 75 ++++++++-------------------------------------- 2 files changed, 13 insertions(+), 65 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 71474615b4ab..28973a3941a4 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2847,9 +2847,6 @@ extern struct vm_area_struct *copy_vma(struct vm_area_struct **, bool *need_rmap_locks); extern void exit_mmap(struct mm_struct *); -void vma_mas_store(struct vm_area_struct *vma, struct ma_state *mas); -void vma_mas_remove(struct vm_area_struct *vma, struct ma_state *mas); - static inline int check_data_rlimit(unsigned long rlim, unsigned long new, unsigned long start, diff --git a/mm/mmap.c b/mm/mmap.c index 8e7f4fc36960..a898ae2a57d5 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -494,56 +494,6 @@ static void __vma_link_file(struct vm_area_struct *vma, flush_dcache_mmap_unlock(mapping); } -/* - * vma_mas_store() - Store a VMA in the maple tree. - * @vma: The vm_area_struct - * @mas: The maple state - * - * Efficient way to store a VMA in the maple tree when the @mas has already - * walked to the correct location. - * - * Note: the end address is inclusive in the maple tree. - */ -void vma_mas_store(struct vm_area_struct *vma, struct ma_state *mas) -{ - trace_vma_store(mas->tree, vma); - mas_set_range(mas, vma->vm_start, vma->vm_end - 1); - mas_store_prealloc(mas, vma); -} - -/* - * vma_mas_remove() - Remove a VMA from the maple tree. - * @vma: The vm_area_struct - * @mas: The maple state - * - * Efficient way to remove a VMA from the maple tree when the @mas has already - * been established and points to the correct location. - * Note: the end address is inclusive in the maple tree. - */ -void vma_mas_remove(struct vm_area_struct *vma, struct ma_state *mas) -{ - trace_vma_mas_szero(mas->tree, vma->vm_start, vma->vm_end - 1); - mas->index = vma->vm_start; - mas->last = vma->vm_end - 1; - mas_store_prealloc(mas, NULL); -} - -/* - * vma_mas_szero() - Set a given range to zero. Used when modifying a - * vm_area_struct start or end. - * - * @mas: The maple tree ma_state - * @start: The start address to zero - * @end: The end address to zero. - */ -static inline void vma_mas_szero(struct ma_state *mas, unsigned long start, - unsigned long end) -{ - trace_vma_mas_szero(mas->tree, start, end - 1); - mas_set_range(mas, start, end - 1); - mas_store_prealloc(mas, NULL); -} - static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma) { VMA_ITERATOR(vmi, mm, 0); @@ -703,7 +653,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, bool vma_changed = false; long adjust_next = 0; int remove_next = 0; - MA_STATE(mas, &mm->mm_mt, 0, 0); + VMA_ITERATOR(vmi, mm, 0); struct vm_area_struct *exporter = NULL, *importer = NULL; if (next && !insert) { @@ -788,7 +738,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, } } - if (mas_preallocate(&mas, vma, GFP_KERNEL)) + if (vma_iter_prealloc(&vmi, vma)) return -ENOMEM; vma_adjust_trans_huge(orig_vma, start, end, adjust_next); @@ -834,7 +784,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, if (start != vma->vm_start) { if ((vma->vm_start < start) && (!insert || (insert->vm_end != start))) { - vma_mas_szero(&mas, vma->vm_start, start); + vma_iter_clear(&vmi, vma->vm_start, start); VM_WARN_ON(insert && insert->vm_start > vma->vm_start); } else { vma_changed = true; @@ -844,8 +794,8 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, if (end != vma->vm_end) { if (vma->vm_end > end) { if (!insert || (insert->vm_start != end)) { - vma_mas_szero(&mas, end, vma->vm_end); - mas_reset(&mas); + vma_iter_clear(&vmi, end, vma->vm_end); + vma_iter_set(&vmi, vma->vm_end); VM_WARN_ON(insert && insert->vm_end < vma->vm_end); } @@ -856,13 +806,13 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, } if (vma_changed) - vma_mas_store(vma, &mas); + vma_iter_store(&vmi, vma); vma->vm_pgoff = pgoff; if (adjust_next) { next->vm_start += adjust_next; next->vm_pgoff += adjust_next >> PAGE_SHIFT; - vma_mas_store(next, &mas); + vma_iter_store(&vmi, next); } if (file) { @@ -882,8 +832,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, * us to insert it before dropping the locks * (it may either follow vma or precede it). */ - mas_reset(&mas); - vma_mas_store(insert, &mas); + vma_iter_store(&vmi, insert); mm->map_count++; } @@ -929,7 +878,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, if (insert && file) uprobe_mmap(insert); - mas_destroy(&mas); + vma_iter_free(&vmi); validate_mm(mm); return 0; @@ -2057,7 +2006,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) anon_vma_interval_tree_pre_update_vma(vma); vma->vm_end = address; /* Overwrite old entry in mtree. */ - vma_mas_store(vma, &mas); + mas_set_range(&mas, vma->vm_start, address - 1); + mas_store_prealloc(&mas, vma); anon_vma_interval_tree_post_update_vma(vma); spin_unlock(&mm->page_table_lock); @@ -2139,7 +2089,8 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address) vma->vm_start = address; vma->vm_pgoff -= grow; /* Overwrite old entry in mtree. */ - vma_mas_store(vma, &mas); + mas_set_range(&mas, address, vma->vm_end - 1); + mas_store_prealloc(&mas, vma); anon_vma_interval_tree_post_update_vma(vma); spin_unlock(&mm->page_table_lock); From patchwork Thu Jan 5 19:16:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090331 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2B84FC4708E for ; Thu, 5 Jan 2023 19:16:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D8130940009; Thu, 5 Jan 2023 14:16:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D071F94000F; Thu, 5 Jan 2023 14:16:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9FA6B940009; Thu, 5 Jan 2023 14:16:16 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 7695D94000F for ; Thu, 5 Jan 2023 14:16:16 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 40EA71602E5 for ; Thu, 5 Jan 2023 19:16:16 +0000 (UTC) X-FDA: 80321701152.05.4CEFFE6 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf27.hostedemail.com (Postfix) with ESMTP id D3A684001D for ; Thu, 5 Jan 2023 19:16:12 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=3IyfxdvI; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=UNrgVQ5t; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf27.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946172; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=t1VE+uP0jqC3jOm7XpSKuCal+vp1A9FT1kzszqwq+lA=; b=jq2dZkB3qR2AYH89ltjbEL5aSTwLa2pzaBN55ZnKMld5CgD3W372Kw5BP7EnZZhVXNbIt1 wa9WPiVxI2y3q55vJ4Y0mOObi5uG+5bNzQIYXqENMAsdUitodWPs49I5ZYTCVUOiDJ8cbs XyWnrTxz0tegvz7I/tK+Wml4XPEkWN8= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=3IyfxdvI; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=UNrgVQ5t; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf27.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946172; a=rsa-sha256; cv=pass; b=m5lcW4Xl1HkmzKUMWGa6ijACus12pDXXjATe1YF0szDXrkTRcDJnE7WtVKXgjVVGkg96WK uv7Ie0A8v1+7QLniYObPs3bBcq1A/caXQO3wz3Zmg7jtOqFgAA7OfkSsw7k2o8Vf/UxxhO /Em5AKx9/RAW5XJ6irnxQ6yTw3hdSpg= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IT0gm017286; Thu, 5 Jan 2023 19:16:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=t1VE+uP0jqC3jOm7XpSKuCal+vp1A9FT1kzszqwq+lA=; b=3IyfxdvICNGw0MOANOY6drWtKh+zEhc12aSodEu1uE+4OGf3/eVJGIRErgoY3pwyd6Ud JHhva+pHmZxsxe/ORcdBiWeWzGkidAlueZbkHbIvl2YHMW1mZNV+o/c4dgCD2AEMhI8r 2yYXTi8dvkcbqp74ne/fVFk5GIUJ9QuY7qq4OwvdZGl8Z/6GxEZWbkOcnlZFNDXiPYDV hGz08neTKRT49b0SNMcMH9pfarqbCu/HXSUjRPrSPtzJ4hnR3OrcbboE9uTALI6M8rtj EfvdCvWAyRdwvcUKGNPdCiPNkh73R2furGbdMN1rIlM94LhHGDwpMi69BiDZt1E3Ir62 SQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbv31nsp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:11 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305HgaKc033879; Thu, 5 Jan 2023 19:16:11 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2107.outbound.protection.outlook.com [104.47.55.107]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdtsj1fk-7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KPnpavZrNiZzmYaqDOhIzDTSWMqwfRy7Yd95g+zjfpJQch3p4/u8kqatA31xHMhzJrZzuWAetKrD7FckDZCKLwzXr2MuecCUOg4QyaHbFAxpBeIUG1itx/wVCzBvetstmno3uScQy4h9ptPno3wHe/ofng/+l61O/hWovr58Y56m5U70BpUnFMQw1/pPFG2l3srOw/nCIStuGqLjm3mx9GpXhdEmnIgv0tKg6bXFNkjqAwdtbgfyC3NQiGt+zXEJqHcN7bOHhcz3ad22edcNbR6OaZbFs4zb/wH54ykb8DhvGajzVkP0bSqF/vU+huf2yftq1bdNSCKlgs2W1FIocw== 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=t1VE+uP0jqC3jOm7XpSKuCal+vp1A9FT1kzszqwq+lA=; b=NpCaJFKrl1mjNblsy9sfr6wZv7KRpvNuqrniexAdaSESTDDCWrXGuq81eas38utj8z/QJk5Z132nTZFUnQ75hbJWazX+5LnFsLl1WEFBGPRP/eoXAs45ryrp0g0IgGTSWRTHOvnKDjaHgAbcfSgX5Jwu6rLj07jhcJ76vmuAocbqAAI332xY59yL/MyBKBzVPomju9xOKf+8Cc5SCdpELg02l32KjdoN4GRA60V/fIEcurfd6GWWgy0lN4/yOLo4uam1VS9nWCHvL4LklOd3kmsVbXYoI0mXsW5dwmzyutpQY7Mo1RwaIaEr9Apq0v7mOuVEtwhPTlR1vjGK9IGwXw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t1VE+uP0jqC3jOm7XpSKuCal+vp1A9FT1kzszqwq+lA=; b=UNrgVQ5t+xXl5Ot9SUcza+KrDqW1cvGeNI2DZGNNbjCMcSazFhPJptgNSF4FFyNz45S9pF55LI6pfz30aW6NFEkUDEET6aYLSTD/tHP6JaVoBxkMRTKot4e1RMLb4QwjGzpNypDMr1ZjrUrqaPtsmx2qpLgVr+5gTXn8HLSlTKE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:06 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:06 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 28/44] mm: Pass through vma iterator to __vma_adjust() Thread-Topic: [PATCH v2 28/44] mm: Pass through vma iterator to __vma_adjust() Thread-Index: AQHZITolvrlluW5nEEKNn1b7D+IWCQ== Date: Thu, 5 Jan 2023 19:16:01 +0000 Message-ID: <20230105191517.3099082-29-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: 99e0722f-ade7-46c5-fea8-08daef514b9b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OxtACwZf9DxZ0tqzD3OEDvnoMm63kHCA398KLcZcRkAesbG2o9R4Dz4NNuAm/NJYjN993yVHM5fyXY3A0XrBLuYFfF7FfamA8vJt6LO3AMfU0OqeyYTo5Tn1SsGoHhZEHSyeOSe3yXvK32nfWZtP3UtT9YjTYzVC9R+q9Ip7VKKZNxb0R3uMjgH6E9gb/I+dZEDXoITKJHTNdP9oNhgDrBc6ZkZWYfSHVgrKTqjCwRdFFLENadH1JcdfRhkd39xXUfoutWnJw5gCU+2+HGQKzpjyy8oz/RQ0WJ4FV1v7nkZi68pDFOyvw3dTTrQgh62WYhIBV1IB8Ir7Ovl4qmQJebSlFd8wA/OG3Ye3MzZOWP/6JFIXpAmoHvgO+8PWJNtRv5GYzD4Nd/OpbBkijg2GF2KrvwP/Xckk4iflCgSzHhwB0+sZ4DgwC9YIcw5kHEH53i93Z8S+fb/2qj0qIKbsXickKgfWB3DWGiFaTlBVhJ7kpi9mopczy5clcEb6LC48JXmybevPRJ00QXcCv2DewLLHKr3/SQbOreyu6WXRq2HJE5bVbCbl/vrnrK7Bccf3N9p1nS22PdEekoZ4hvDzeE+Y+5zZpic0W+a+mubPkUod9tj5PjD8/7IootIzTq8SKID4dLIdZH27wVsgxaMJ+6eoxp/xkedZcXlkj4xk7TGO9W8V2nF+D/GCOHpVAa76qtWY1xbIs1rxnkxdXBZtPA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?hsFKI+6x3AWw85kCJ3s/qJh?= =?iso-8859-1?q?viJS31gqszTinpvuFJ2xge+tP4Mc10zwoNzdRqOGTYyHbQAIrMBGKGsTWxFw?= =?iso-8859-1?q?jZELHTY/0EaWDmfEsSc2hwHJs6htmIs0lMJgyIfOjg54LM6MXSmjEwlNHZzK?= =?iso-8859-1?q?Nk2FwxoRlp1CmFa06wYX9HMu1YuZF4kL7DJkX4/xO/W8u1AgmrmKsKQTtTHW?= =?iso-8859-1?q?e5Wj/CGKufsqKsqSZqoX18t+jS5YogIrHKUejq5WiBFR/Zj44UvXdL7mS1zs?= =?iso-8859-1?q?GMxNUSUbnTkeHbVI0Z3EZ673uSMbcqUMfzDYqHc9ASjm1ccK6eDx6/o/dg1a?= =?iso-8859-1?q?l4Cf8kxxLS7Ql5/xmI0WKKFf/A1iY7aDDjZpcjrcm2ovD8qKROpuKMYEfMAo?= =?iso-8859-1?q?VX53sbPuZ1CUbKVv9CH0/yPCKEocBkC219OeN+9a1/E1n3cThV/dUnfrw5fw?= =?iso-8859-1?q?GjrRj6bK0EzgUiJkROov5wzsus8Vb3rBMxX6mHClpBeqxXsgLFpPWSEpG9rt?= =?iso-8859-1?q?QD55LW6HMNy6pBe66nKVaSsnZ//4ayqUnLYvDlqFJBpw8iDDM0k9bQSu/ndu?= =?iso-8859-1?q?Qgg7yFlLgonay/wdUwCG8Pvg6A/1ClPNGn6ejc2f1LHEL6apNyJDNK+c9haF?= =?iso-8859-1?q?GVEwY42zqi5A8Lz/HU1SLghumw2oT0cPFjWbAJnnSbD2JEpTOBOrR/3Sid0D?= =?iso-8859-1?q?1lNDAq0z+06XNktyU3asi8zmMdMztvSdPYA3JWbiK0YGP9Bth8HszykkwDvU?= =?iso-8859-1?q?35MN83JMyACexlIX8mKknot0G45D1ACVQeDyEzcDAQQU6/qwY8FJU7bGZtPx?= =?iso-8859-1?q?Dgh5EjS3o9+3H4FCUz+Vb+PkmaVW5fW0hfG2AYCLUzlBuURHXxIUWXSL25u9?= =?iso-8859-1?q?06oD1dXRLF43aTmOHFfoTjbj1/R/3knX1wPfWSmNYV59FPAAw54Gdf0Qt8pM?= =?iso-8859-1?q?8hCFgrgDW+AZcurhddNmn0JLlEJSPfnT+LCKfr6FVtRpK6CP4/NS5cMYFNpk?= =?iso-8859-1?q?8A2sBjs7ZCVP93XbxHmrgT/echD9bxN949L1VqlWmy2Iaomh2UA+RuZOiU8/?= =?iso-8859-1?q?ZTRvZkY5WI3QSw0SZLLTuShSrRr6bPRRrJOGZhsmCWr8uBMrxhqrt+truKHI?= =?iso-8859-1?q?r4wRcCzIU7EdE19JOm/+TCPX+5hRSey59cTZ26ztf/yHFOT4TstQFtihOjsI?= =?iso-8859-1?q?QUjtjkf8GruYcoZOHiBGPhEPyV/L44G7CA1+vJQ+qMqLfozhSUHcfQewV8IP?= =?iso-8859-1?q?ZdEAdAXFR5C18S1ZpybidId00Kg+8l0UXP/5SUsKfY45AC2Kj2b2GNlnhYiL?= =?iso-8859-1?q?PD42Hv2V4U0C7PZ0eikMvetOv7uwnTum2GG0Tm+eifTogPvRvUzk0DfekQAA?= =?iso-8859-1?q?NzYJuAhh4a+86q7izMLJ28/rq3JpYebG+VJYcGbQi2esRjuyulJUzL/WKKp8?= =?iso-8859-1?q?FCvgUme9M+Cd0HowdThJnAFbpLDqpRQh8T/491urQPH2yXWEFEL0VZ4rZ8AJ?= =?iso-8859-1?q?ks6+8LPbmgZaAUYd2irCnUV3gzaAFXVbh6LOLHhFtM6oNml97Uy6RjbCBYFx?= =?iso-8859-1?q?noRvJkkxp2kywZzwnZ13l96oV+Osmxv3Qcibk+Cw72ZqlVLAdhXzfsXR9/yf?= =?iso-8859-1?q?LJe7drwNB8aAjLe+qjvLcx5SaDl4dLnGO7dEjhg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: bhVWzYVXySCAD72upex1tMIOkKeIgpkAIXXAwAeGDAdGn0cl3Ne2ajNUsKG74cv6TJ6GQTALHq2w4kYvFlqIX1k6lTKE5WqA8IpbcBbricAkQyhTvRx7iPkl3Az4mznd6OM6OsCuJEAcyUTTPGIrSsAJbMEESIPnVbT3ib6TiV/e1INkZbvhWiDqYvm3HERfcpCgZjwdQLR+4QHEBXaXT8lN318Yz9k2Ca+a0vrUK7JaeaclGCOGdM4ITa1L6iW+oFHqQ2vHOrHL3lo78Rj+GwZIl3jIrQPGm0BisIOiMRFIyI70cqAfsEV9jPXv7GR01xhhjs6HHW2FxroNMurJTIRJH77MtaHmWR030iso+2hcUhmolgWYd5akQOuLkae3/w9jEwBU1kQ9C5TkdsJzYneKoikQnGNo3bIBTevb4Tx6kneTtJGTRwSTW98jlQREa+dQLEdmO2nW51oyA7pknPB7XKCFvy/vkW7MMu9U2Vvq4mzUGoRtOEA1n1/K5ZIdIIrnVnb7nq6Gp8Sl1EO2XGlOTS2Q4tbeUAZFmUJ3Pj9yQD01HnTH01IHT30p6C3XLbIdAntCfO5taLrLLabRMnVXMNkOVAHJqYbThwQUdJ/4Oh3zHVxJoJeXQNPCyCHrUgB90KpM/zk+hQs+6h7iXe9PBQKcFAuEBYNQF5+Xn4fFoVutb1MEepEs5dZZtQppBWmmPTCbIpzP4w3223cel15jJFYefsJTsciA2ZYZbaFgo4QsS+Usk6z6btSpL63pVwMJ/mOJQVYruF+X1uNWpoqJPA9tzW2Z3orGPxMmqkRHuSS0AkwkuUk5gtbgtE3cCR+LLV9aSEytEZm8PE+WPxJk+4RYp100z3jO0JDZhI3Ly+DwcOu7LDilGqKt+UjJ1PYevQZ3QePfwom+gFOq6Q== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99e0722f-ade7-46c5-fea8-08daef514b9b X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:01.3285 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: IAaU7VSqZdVaqlLOKef0KZlyDpourmWmMhkCDY/Tmqy6M0KKtyO+0JzCNe6EWh01EV1RdkTeX+yIP0y+KIU6bw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: ODxzG7vlXyD87ivXvSY04y1hW1qs06-y X-Proofpoint-ORIG-GUID: ODxzG7vlXyD87ivXvSY04y1hW1qs06-y X-Rspamd-Queue-Id: D3A684001D X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: ppe468hk5as8n34kahmnz1qq41ucewcm X-HE-Tag: 1672946172-251605 X-HE-Meta: U2FsdGVkX19DD+5gLLOUCtX5Rn1oVUA48bv31wvmnWyTjSyD0TGwZP1duLMbgL2PQcH13v/GZVvg4kTyDmjkU7bj/6zLJm4G3czVwWPRSMuwegMtLSB4LRqf3ESSoDjgifu0XXMuETI8ion+P7ZUf4gLp/XWtAdUUn7Bzhb3clDLtVzo9B1WEJt6byXz1RlJjBcLx4FNBrnIob1KqGrhiWZbLrJTCFCb0gp+efayO35V/0q+0psVwV15Qx6PVx8YWrZsAS9bhAVAiZagr1iuAuKIkUef0HrDYaFXGaPS/rKRF/a8rrzOfcwSzUZaiicYrxR6x2JsjvgfwO48y1EXiCOq5BtBokiFj+dgL3R8x4nyGVjCIIukGKNHtKc9tg2HW8FZEzwtXdsK0BVJorFnmuIohxJ4meQ5vYCa1YrnvxmJYObUCLzjqO2ZX/MlrmDMTituYEePshj9hdvo3eKjpaW5HZFqyoYbRw1wXjlsIxmhdBzQe+Od0yY3JREOtwLb+JZ4DLYmWiIZ8o8TSQQipUF5xa8KSGRubyNKMvjsLtER9jQKkf9gncSRIYjsiIQVy+OM2upTs0pZMWZwxo+rGO8nM4xmq+IBSzfer+ckCO4FrMabU69V1LnnnBOHECT0+LtWNIHdgEuKMX5qwf8qXrpshHxerVqLR/nXfzw24ld9TpETUNcthJ/uWHKXZJzKQGszLXUxhFuBkCP9+zQQDryeYqDEm4NRFIlSoqWMxqv3yZEoljQn17ahmRtu4LZABAnSoiJE3r5rKam4cycSmj/DOeWOpfykzz1mnLUT8/ewzCdlEP/6R1bC4zH20UbY2twQnitHj86Bes/quvLYCuw9cPY64dqMENCIaF+Wxt7eb6Y84cJMyWkMKPqoMSmGpqewg/yNZs3y760jdyfd+UdJa0DvBIYgEGfIMU/nZsup3agKRoCXPw8zN/8YKR2gslzAxPfRsQmw4xxZjlZ ESx5P6SE KTakf+qOKUHEBNaGZzGuMiU+RnYKfAsOXTDp50yqHCAJRotOd+Y9a/y79z1W2dOA0hfQBbVqPDAxbnvRYRArsWhepkj8JllTCsfpnJDGuXPu06NR/Gc6pPZl3PBm5gr5vASeDDWiVZnmoSAnFKJR+Ymms2g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Pass the vma iterator through to __vma_adjust() so the state can be updated. Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 6 ++++-- mm/mmap.c | 31 +++++++++++++++---------------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 28973a3941a4..294894969cd9 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2822,13 +2822,15 @@ void anon_vma_interval_tree_verify(struct anon_vma_chain *node); /* mmap.c */ extern int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin); -extern int __vma_adjust(struct vm_area_struct *vma, unsigned long start, +extern int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long start, unsigned long end, pgoff_t pgoff, struct vm_area_struct *insert, struct vm_area_struct *expand); static inline int vma_adjust(struct vm_area_struct *vma, unsigned long start, unsigned long end, pgoff_t pgoff, struct vm_area_struct *insert) { - return __vma_adjust(vma, start, end, pgoff, insert, NULL); + VMA_ITERATOR(vmi, vma->vm_mm, start); + + return __vma_adjust(&vmi, vma, start, end, pgoff, insert, NULL); } extern struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *, struct vm_area_struct *prev, unsigned long addr, diff --git a/mm/mmap.c b/mm/mmap.c index a898ae2a57d5..a4e564163334 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -638,9 +638,9 @@ inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, * are necessary. The "insert" vma (if any) is to be inserted * before we drop the necessary locks. */ -int __vma_adjust(struct vm_area_struct *vma, unsigned long start, - unsigned long end, pgoff_t pgoff, struct vm_area_struct *insert, - struct vm_area_struct *expand) +int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, + unsigned long start, unsigned long end, pgoff_t pgoff, + struct vm_area_struct *insert, struct vm_area_struct *expand) { struct mm_struct *mm = vma->vm_mm; struct vm_area_struct *next_next = NULL; /* uninit var warning */ @@ -653,7 +653,6 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, bool vma_changed = false; long adjust_next = 0; int remove_next = 0; - VMA_ITERATOR(vmi, mm, 0); struct vm_area_struct *exporter = NULL, *importer = NULL; if (next && !insert) { @@ -738,7 +737,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, } } - if (vma_iter_prealloc(&vmi, vma)) + if (vma_iter_prealloc(vmi, vma)) return -ENOMEM; vma_adjust_trans_huge(orig_vma, start, end, adjust_next); @@ -784,7 +783,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, if (start != vma->vm_start) { if ((vma->vm_start < start) && (!insert || (insert->vm_end != start))) { - vma_iter_clear(&vmi, vma->vm_start, start); + vma_iter_clear(vmi, vma->vm_start, start); VM_WARN_ON(insert && insert->vm_start > vma->vm_start); } else { vma_changed = true; @@ -794,8 +793,8 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, if (end != vma->vm_end) { if (vma->vm_end > end) { if (!insert || (insert->vm_start != end)) { - vma_iter_clear(&vmi, end, vma->vm_end); - vma_iter_set(&vmi, vma->vm_end); + vma_iter_clear(vmi, end, vma->vm_end); + vma_iter_set(vmi, vma->vm_end); VM_WARN_ON(insert && insert->vm_end < vma->vm_end); } @@ -806,13 +805,13 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, } if (vma_changed) - vma_iter_store(&vmi, vma); + vma_iter_store(vmi, vma); vma->vm_pgoff = pgoff; if (adjust_next) { next->vm_start += adjust_next; next->vm_pgoff += adjust_next >> PAGE_SHIFT; - vma_iter_store(&vmi, next); + vma_iter_store(vmi, next); } if (file) { @@ -832,7 +831,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, * us to insert it before dropping the locks * (it may either follow vma or precede it). */ - vma_iter_store(&vmi, insert); + vma_iter_store(vmi, insert); mm->map_count++; } @@ -878,7 +877,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, if (insert && file) uprobe_mmap(insert); - vma_iter_free(&vmi); + vma_iter_free(vmi); validate_mm(mm); return 0; @@ -1072,20 +1071,20 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, if (merge_prev && merge_next && is_mergeable_anon_vma(prev->anon_vma, next->anon_vma, NULL)) { /* cases 1, 6 */ - err = __vma_adjust(prev, prev->vm_start, + err = __vma_adjust(vmi, prev, prev->vm_start, next->vm_end, prev->vm_pgoff, NULL, prev); res = prev; } else if (merge_prev) { /* cases 2, 5, 7 */ - err = __vma_adjust(prev, prev->vm_start, + err = __vma_adjust(vmi, prev, prev->vm_start, end, prev->vm_pgoff, NULL, prev); res = prev; } else if (merge_next) { if (prev && addr < prev->vm_end) /* case 4 */ - err = __vma_adjust(prev, prev->vm_start, + err = __vma_adjust(vmi, prev, prev->vm_start, addr, prev->vm_pgoff, NULL, next); else /* cases 3, 8 */ - err = __vma_adjust(mid, addr, next->vm_end, + err = __vma_adjust(vmi, mid, addr, next->vm_end, next->vm_pgoff - pglen, NULL, next); res = next; } From patchwork Thu Jan 5 19:16:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090441 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 191C2C4708E for ; Thu, 5 Jan 2023 20:30:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A365E8E0002; Thu, 5 Jan 2023 15:30:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9E7048E0001; Thu, 5 Jan 2023 15:30:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 838CC8E0002; Thu, 5 Jan 2023 15:30:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 748388E0001 for ; Thu, 5 Jan 2023 15:30:05 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 41B1BC071B for ; Thu, 5 Jan 2023 20:30:05 +0000 (UTC) X-FDA: 80321887170.24.C96420C Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf25.hostedemail.com (Postfix) with ESMTP id E093FA001A for ; Thu, 5 Jan 2023 20:30:01 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=xhRdThz+; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="iHntBl/6"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672950602; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=GDIZnvT3c4nLUKTNTDe4tm/qdLfWeMn6rJBcSK7ia88=; b=I2zVDXmlkqgLqGodT2Z6svRorsoj1cU5R3Tvi3NOqzrlpEZBQJRv42EWu1nFuMs8ZWcRcm 6rALwVSDshRAJznbdgyrGD3S6+z6STd9Yy2ukS/c97IQByUU0oWyY1iOhDJhe3u0ut+cP/ 7qUxdUDoo08mwQGbKG9SSLpNX+FasvY= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=xhRdThz+; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="iHntBl/6"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672950602; a=rsa-sha256; cv=pass; b=cIoFXMFmrqXvIc9VqqI6PYKDNvcqvZ64x3JuPIHK9xb/XOyHgs2gnyQD+DZWBAuCTZNJMl oIcBRitoNFm5TURND1tphrCu3ol3+EkATUBcg8WZvMAdSzyUDlRUPg3amuUGWrBs+8MDPZ 07sH9tb2dwqhexgLzNM5nT5v+/ySnYg= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IT3O4020928; Thu, 5 Jan 2023 19:16:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=GDIZnvT3c4nLUKTNTDe4tm/qdLfWeMn6rJBcSK7ia88=; b=xhRdThz+SIf0yKtCS8UhDwhpxu3azY93ZFTp452RTOacoVgwtba/uJSb3U8Sn5BDhiPW qAXH58CpJD3wpGGOHPSgxYo4z79nJobjuOl38Al/v3xsmZ7ZOxdyDhZrpYOVgUyQQv97 hJSoHdNUHnpaJ9zjPAspANt20UyltYkn/pPFTm4KA6bKjrrGQ45Qt2f4N8ilBATkLJu5 GcIyh9l8ODjPfjxdx67OeTun4dn9ewI9VNTV52qhCfbtuB/eIbRytNks8HfxdhD+cna7 ZrOZuKYE52KYUa6CBwOz9mYWtfxn+OocQ+zsTW7OeIuwdLoofIEpg5Mwb+bBNHZTT5bd 4Q== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbgqsn9h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:14 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I086G033684; Thu, 5 Jan 2023 19:16:13 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2109.outbound.protection.outlook.com [104.47.55.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7tkx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TADdO3DosElFvo+KQ+cLaexMSr5Gc4XCdnKkoHh7hcxa7NIK6GdGE/U09fttkEFS3ARjzwhpNg7IDrBRlz55UWUqVL6qNjttdRvRUuRLjeLQWk5BDcJ1JsQqhOY/YS0y0uO0aVg+Fr8LJoUSZympWM20GPXKja5MrbP5fdr6V75M3gjZ/Y7KRy6088m6KdGvuO8F/f7HCY/+jYVgILB+AFN9D9pyzHxF2hVVGK7yOJIwctbgochAArzSH++Plct0TMascqIKCB+ymTRBu8daiG4m5XwUoYsh3MheyZLeIqUttgO2VKdnizgZK7ySj26K0s+CMXAuQy4yTXK9lHpJ7g== 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=GDIZnvT3c4nLUKTNTDe4tm/qdLfWeMn6rJBcSK7ia88=; b=OJvV40XqsYb3q6x1jtu9NaB9N0idljX4j1ktBeeCgVEVwNxBzDhfqA5L3EaF34CpYeCWHnEnoX9raYL+1lHe5vdXb01Dgr7DNF84UwJBqw1wh930b7c8Cy1a9ON1geOAAtdh+tCavBxGAFDAAAwkZdyQnICqF+cbeyDT12xbvO7DbacXZJCpJUgK1oNtDH0AqKOGDDCnlIjblgkwrxxUmf37fXT9y9sEF/a0Tf8T/2IXmUQ3MAGbtF/9nHMKeKQ9FMCqznsGqgr//fEwIHUeGKi86umPsWPC7RurYeAWf1C3uPQ+Lv+gcmJEA4AAibcDKh5/NMLF/8KLBUw3coQCdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GDIZnvT3c4nLUKTNTDe4tm/qdLfWeMn6rJBcSK7ia88=; b=iHntBl/6e5aVkukz7+gjW0veIcWg3m0PKEEPjnOK0Und8jdPfTwuaAYZPVzITz5wEuCSUYTraGHONBJEq5AapgLb+6ZDe7tCNyTmnO9REleTVuxX3DgfNi3N0gde0aLRrOiFCQNT7YDZGhZ7gojfbo4WWTz6hJYEa7j/ghh9YAU= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by IA1PR10MB6075.namprd10.prod.outlook.com (2603:10b6:208:3ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:07 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:07 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 29/44] madvise: Use split_vma() instead of __split_vma() Thread-Topic: [PATCH v2 29/44] madvise: Use split_vma() instead of __split_vma() Thread-Index: AQHZITomYB/L2halsEKSYLbGEKNNRg== Date: Thu, 5 Jan 2023 19:16:01 +0000 Message-ID: <20230105191517.3099082-30-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|IA1PR10MB6075:EE_ x-ms-office365-filtering-correlation-id: b3fcbd74-24d3-4522-489a-08daef514be8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +1N8l6XtMQFGdoLtz9RavTs5zARoMGaLFAPPf5L2ZtK2PE6/hpL7RBXu8VdEScb3fjJ4Vu0+f/BFdYCF0Wki6vBYPIBvxf/7bwFRn07XDM71EN5dvIH1LkHKiWkEmgMF3C5blPauzWcNVTb/q4y25w9d5yXnTY4tQ/mZZ+0FVZ4XEhT+gbc0fZ1f5Y0CXRQyBAD3hq+TkYwFSDRcCW+EABBRNdRdTILfTS4+XhsrdgQ6l9SREwHWA8+9V1MFksLMWH0d4bZJa8PgpIoYX5D4+gxL8h6+WuRJe/r87veLcT4rnelG8TNj5gq4WyhoAsyvKjySZlpHllT7X9d+npK/tUN90AgcHdOqNuu1YSobW4D+EYhYyrk+ygevumFGZQL71FQv45S0mSP3PiWDgc6GiCEeEpyvHSAR4zN2k5W/yJfAUKG1x9W2vju+Jyg9boCMWKv/w0YqKNtkyFP4KhsUklYY/FSzlVNgOhOXtRIw+erCoFsXumxLbAyJIjyoccbO0IYAB8x6jqcI3Ia+WGcqMgMloWB5BgDYqAz0SzWnmOwktNXH44+NP4Uxj6pSKDxxv2NEw2vtwxs8o9SuL2D4PEMyfZGkDApwVQ8uzGkLHyYW8dBQ8xqdMF0U6JUiM1KGhO1bRlHL29OlAI26aPHzpk3UG/xBS2qfdBTpgMDjBrl23Nr8j55Z6ALsRd+J0yrMZ3kRSdBsaYASmRy0scbxMQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38070700005)(122000001)(91956017)(86362001)(38100700002)(8936002)(4744005)(2906002)(71200400001)(83380400001)(316002)(66946007)(41300700001)(5660300002)(44832011)(64756008)(1076003)(66446008)(6666004)(4326008)(6506007)(107886003)(186003)(2616005)(6512007)(66476007)(478600001)(8676002)(26005)(76116006)(66556008)(110136005)(6486002)(54906003)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?dNKp7y7lc4yORc1MRzXAvsO?= =?iso-8859-1?q?JeXJeEjSWCtd2rnKLvJis+VxeuihnXalpB1gYozpKixf25wjiOsoUoQRm/ZW?= =?iso-8859-1?q?RLV+KdGSkNbbhv1d9mR64G2XhnP1oQ+MHF6Y6GW136Tr2rDyFv3us6jHYCs+?= =?iso-8859-1?q?GvjoiTJ4LobY16S37OJ4ILZL6oBCKjBtPJzyBL6O3eITC9okfIpqjGyK9amc?= =?iso-8859-1?q?JS0zggOYhNJK6BYb1mP4Q366U2Eta41y/cmWQ65Zqoc06wxEMTgiInShO94f?= =?iso-8859-1?q?i/wXTnxOvdu3kMuxI4c7GeuL+qbwqaYjQuIya659lsDTZ7Jr27xfPFJ4LmMe?= =?iso-8859-1?q?BeNZRZZ8uADI3l1PSKsl5pMEpA2KC52YhxVz2q0bniOtkvtyPL0g15FMFNar?= =?iso-8859-1?q?gpoEQuVZ4O3MzQhHxjLDVeJtyKSuxuiR99kHLrdyq1XVX4VDN/G0ZmE+aRFX?= =?iso-8859-1?q?yZ4PFbKPq2rov5Pi7rlFEBU6DLIGvbKLSZKbMEJOnqDIpJBlORqQDHfhhmNc?= =?iso-8859-1?q?HAWUgLrOVWFllEQQxYt9jXrWRo3zfoSWeFzsV6XLGWPMiljl9npnb5qqaGf2?= =?iso-8859-1?q?W1RA+SJU1FJz+hhwTZRm54xo5ulH+tKPfpE8BRChO+e5U/ejNGmTEpWhCuvJ?= =?iso-8859-1?q?yp07gqZw80tsPDIIW+1ZgV8JT4CUmPaFdBdpe2gL/W71Gu0w7n3a75qusUiH?= =?iso-8859-1?q?8TBrEi3Ya9lxn7HOElAc4b+f/dB+tDWE54XD3sQlBXvq77VeqxM1WoAwpRWX?= =?iso-8859-1?q?QmnTTuW+SYjpyzy4uu6TMzOg/hR+AAxn+T6ciXbvCgcw2tGRncSuW7srDDuU?= =?iso-8859-1?q?O4uDaFZqhTDfju/RtPnEWtFmoWu/BEV6qRi7eHfcyknNPnDSkyG5WImh8CyD?= =?iso-8859-1?q?DeJ9TdWK/XKpwZx8X5vHwCBs4f5wK06sFBnqVXceLa/YS3rO261Diq9p9wYf?= =?iso-8859-1?q?9xXkwNutJO6AWD4Y+2xqCgjLbh20zN8iJmFMUgx+taYsxKwLtX0yy35ZOvzQ?= =?iso-8859-1?q?bS76ie894mPqdm47o5Zd++uLq3slAi011L1TJyy//JXQts6lcHoahuoF9otW?= =?iso-8859-1?q?HDOsWewz3t1oltYLnyw4rwz8koDXegs5ljMx4Qj4bXbB8yqSpreWDZSx47+F?= =?iso-8859-1?q?3saCvy6CdfbOVyOStIKX5a+QNklDmieWLeyg+16OWJZzOk8F45UpbCnUbxbF?= =?iso-8859-1?q?qtnp5813idKTDzs0L4bdvfGEL4W+ifSXudg9Xm7gGedVbTx88jLiDUuR2t15?= =?iso-8859-1?q?BUCsxvQEN+Up/7Nh9TEXvCwxTtowPiDSOeRgY0JrLmk5UtOwF3cJDMjXlM1K?= =?iso-8859-1?q?WmwvA1/ltuNf+G7/sfsRT5wjWHNvmk3tXnq9b/61AkYBziqKEMWt30nrG8rP?= =?iso-8859-1?q?caR2QOGLUnyMiBZ28HTdTiNe3+tafvgyQn+aQUtQU8tpYDwLl2x/6W9ZoSxp?= =?iso-8859-1?q?2+4f/Rm923N/TwxxXsW7JbtwJTOjuC9bsug44HzJfdTRjH0UbD3RtS3LlPwZ?= =?iso-8859-1?q?jaUqolzwuj0uDC++wBjC9UugHQWfYHkmoj/jW186BYa6icy2s9Y4dJiWq3wZ?= =?iso-8859-1?q?R4T5eNGWgJaiucIZ6cz5LGvrEWcMQzB2xrCSTbMbXCSe6owGhoSE06cXwaYo?= =?iso-8859-1?q?x3B3PC818PhTx0P3h9ln0ImDc0bgu4zv+0DkSAg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Gh6swMN1h0d6/lTEo085SVZPaL0vgTQw/EucL5fF6vcvcgjd/m7Zy0RWe6T571fEn7Aocv9ynT2/rp3P4fNng4pxYI1dweHH88pjX+DXnd2Gn2fO7AJ1mlKxXunGmmUXYuIw1k2vPRBhkGk+MvqlDmAhumo4N3uVMAl5PvtSv61F/CecQH/QU2tcz8TDxd018Uo/wp3AoUZ8mYu5lOku5fA+drEByKBkpWEM820wSn3nTnx6QMVj1UTfrsPco9PnhXgoKdFqmN1t+ShuVWzknn8DUunYy4avJ3P0A/59DNAfmY2cxx8KCEQqmUMzYxl07Z7yHqgQQQIQn3Ngm6RBWuewyGktqSVvkXZkbn82bbS8fgzVKP5+FP3FFWs+Anwc4wBtS5T8+yy5+vwQRkYZe2rld9ZNmNpZBn7rdphQ+/WAb9yThm+VPZnYZDP3D553S3b4SnACxpBBmnNvVGszNkuAbizYBJr4yd4LJWiz4xsxzN9hDgTwrgAp+JmWfrM9fWrdxAH8jLHRvbGy9e6iPFaEPUcTfFwt/l+I/NRorxd4jvObJCmsMPnqcqUrxXFEdxtyLZE/rKVSHowkQpgWJRAz3gJz6M3KRD9oiGPW7gvrMlzGgLzwEyLf9otEpLnwAR5ZrG60R4Bj50N3PkkXEPgUicn4Zn8TZkQVLcI61vga9C5neHgCvQ/lRBYEwjlPTQFUyFfdRMI/cahUhMtPY4t0oKH7m32d/B7cZQIuKmPAsOjgT7FKAG10dlZuhP9vs7PFh+breB5klW2LzwVK9KgYgk5pE2g9haumjNE798IqBsnQMiQYKdbechbw2cE7gSxoxTPE5xThfJyFyO4JC0wNed3t9jIBxWq7QAAZVSPNNRECzbANGcp3BMzSNA/8G1fh39qYY8lB8VDsJD8tHA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3fcbd74-24d3-4522-489a-08daef514be8 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:01.6722 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hWh8GndPjLwjAYcTRR/okrtD7qejvnkYAxZJmCVymLjtwA6hau4mk8N+jld63AVc23VAjAjpBjhzPRamP0bd5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6075 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: 9M_oPrxFxT5mKSB_E-RuuUwrJ9aNz8p5 X-Proofpoint-ORIG-GUID: 9M_oPrxFxT5mKSB_E-RuuUwrJ9aNz8p5 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: E093FA001A X-Stat-Signature: 4nrc5st3a4g3eu5psbbg4yghmdq3xgtw X-Rspam-User: X-HE-Tag: 1672950601-481686 X-HE-Meta: U2FsdGVkX1/sJFvMVsWh7pNHGaBvP5wRpjsQQisp76A7dQzS6ceRjTwVIJnWZLRPkOPf5lpFRrMzBHUTzs22WMFJRdYoHnWNDhB0SYwzzEYam3VnpfD+DEXmq3ICSLXJ7AjvZzpWRLmxZ/G4yr78JoU+olUkMtbI7yGcbjwe3cNp8b8Q7XRAqDtP2MiCx8o79uJy7Y39ziPddhpvWFiyX5Ah7l65wjoXexE1lvgvAAohF5NnHvhD5ZzAOn588P+2NPN5KVKu+swPji0QRKSPx8P8jImn3LLilGvHnQQv7hvcBaQw3K3Lx39uSsbMjJRB4Tsgokn+Akv+SesPdcQYGpY4/+DlisVwSEuNo6Yf56pETIUCAwAeNCyj+VldWDTD4gahxVtx9CzFaw3N6PM2jFX1mw3QCv7TtNXWjF2eNVBwaHhlh+7sNaRxdPuyb48FPHeJ8Q/+7vGmQJcT5OV6bQSgR59YEbZgkUjJDqOipNTTXhBaAR4qTmgl0Er9LJjZADMojnS5E3zRVsvRHWE6XeHDZygXD71dl0Onlflm9MdWQreoIqUt8QYdRcOGbeGJ+H3w9phs7NprD9aMoRMAJadwBdD8bHkDWaN3f4DPFh85LK7eCdXPYfW7ZacP1ZGOiUMqZgRWtu/O0ypUZQ3O+smpyxydW73m5z5MiiXZQAY8k1OP5hQp3SR1of7Jxsdo1k/ckUFMMPyFLmGCSqQA11JJx7uYQhdDTfRlM99OIDsMST0IbihIty4mj7Ysi3FzSkUi9E7a4AcYLLC2I2WH6yuULmPnZuuBjAJWCqf+apBHnpP0dRxYvv4Sgnrfflz/MTIWdK2Y6Dpstl4VlTFQPijNV2Ar8B4WyydZS0o8i/S/nXqUXqPnBut66GYQPv7pXZOd/HpXsAOGDIGapwHgbR3brDlRvmYemEGTslju+dgBk2zeMK1z0NEQRp9iFwe1Tn9bdKnQEg/vrGeNlky dsI13xw3 nZjGDpE45pxSv/4w5mI9knGxnje2F/Exk7IG8TP7GS6rtldcQfssHePj+KpJPjHl1bgpOQfAF0/XMSmgFtEWbBDfa+ZHnmiFemLVmsrhEuvO4ASjJdbKjwRg9G7eQdkB2IvKIxmagg3/KfisHPk6Rhlj0fg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" The split_vma() wrapper is specifically for this use case, so use it. Signed-off-by: Liam R. Howlett --- mm/madvise.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/mm/madvise.c b/mm/madvise.c index 4115516f58dd..86f9ad95f0fa 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -161,17 +161,13 @@ static int madvise_update_vma(struct vm_area_struct *vma, *prev = vma; if (start != vma->vm_start) { - if (unlikely(mm->map_count >= sysctl_max_map_count)) - return -ENOMEM; - error = __split_vma(&vmi, vma, start, 1); + error = split_vma(&vmi, vma, start, 1); if (error) return error; } if (end != vma->vm_end) { - if (unlikely(mm->map_count >= sysctl_max_map_count)) - return -ENOMEM; - error = __split_vma(&vmi, vma, end, 0); + error = split_vma(&vmi, vma, end, 0); if (error) return error; } From patchwork Thu Jan 5 19:16:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090334 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F3C99C3DA7A for ; Thu, 5 Jan 2023 19:16:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8E8A18E0002; Thu, 5 Jan 2023 14:16:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 898528E0001; Thu, 5 Jan 2023 14:16:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 69D1E8E0002; Thu, 5 Jan 2023 14:16:45 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 527D28E0001 for ; Thu, 5 Jan 2023 14:16:45 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 203DC1405B3 for ; Thu, 5 Jan 2023 19:16:45 +0000 (UTC) X-FDA: 80321702370.26.3AF9DC9 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf27.hostedemail.com (Postfix) with ESMTP id AB88F40008 for ; Thu, 5 Jan 2023 19:16:41 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=ytEmoXTy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=x3CoBsLj; spf=pass (imf27.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946201; a=rsa-sha256; cv=pass; b=0d39Aj+Pe9ekD5vLJrDk883RylYKBnNEVFSfe3YfnVUDpMV31e8DB3cm81U5SdlFrcQ4/c U2FN466rKzK3sPm5BIwR6Hg/a2l/juDTWyZhdXKeyLtSDMNuOuqoPFPw52ouvS+xLsIOqQ rjMYedawPc2/xiK0MMrTEdu1bK6nNik= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=ytEmoXTy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=x3CoBsLj; spf=pass (imf27.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946201; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=38kJ5mbQ6p69SHQMpyl1qGQj4KMnaMdtXVUJDeG9MeE=; b=ejlefAX6bHTXdJnrMRIaeUK54sgYOG+7zfz/tjIRUeMi8n7+T8lNMxT+5ERCGmW3a3e9pe xKjEXW04qFQmk5/JBLcmKGb8BUHuincGxVOfVpQ9/OJmyamxrpBs86lfJAUQN2hkH0nTXS 246YIp+Ae4/LnLdbHjmtSGdoi9JyNZo= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITwjC029109; Thu, 5 Jan 2023 19:16:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=38kJ5mbQ6p69SHQMpyl1qGQj4KMnaMdtXVUJDeG9MeE=; b=ytEmoXTyxICtGOSa1L56yeKLJxOswRg/7aaV3O4QQ5XycwpyG8mEXx3/c42Mr3TfPOi0 ea1dFVrkmq/vCPH0ILeJJWVVLzVonKmXrLbYWoKIX9QbxAqH9psRw1GLj41HaLhcR/Pj 0OUyAzjeDJXez0macE3m5WkUea67xWJ525XONaMho53Kr7KWNKsNjRPP+38tXBG407F6 jd984sYD7lhZYTX7fmytSrUNFW2xKL5zM6VviqVdxitptLy7b2EjHWcl9giPqA8LzDIs mAwoaZBmKkCBxCi6bY245HyqmETPR+U1utRqN654m/umgS23j107E7Cxg00mvK0kRCJ9 SA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtc0asrnm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:40 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPg033688; Thu, 5 Jan 2023 19:16:39 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AoHeAUimNtMYDF0W4owLftjczeMgFKMATtOlHUe3ZUOmtlkSjDMaGsp5SOSo3IzQtona5pA0o+nRTQR4bxRJksT0KRgSskNzYnhcSrfIr1xRtfCXe7NJiDF0/Xy9J8EnvVXEuOWvF2zSOOluHq8FEbz4vQevfcL9hq82h/ag7TDFPhZUX8MU1yv+xcKdWfRJRlbDONvYUFVC6bp2wC2100ZTkOrPNwzRceS5oTFbJuMMc10KQf32HnhP/+QUBCx3luCs1bpP6LMkkGB+pSRJAgXoOq6xpNpfzWFgsXGZyBUq1Wt3QvJk0n73mZkmeBwo7N3V+3kJHIj4QOsUp4LXfw== 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=38kJ5mbQ6p69SHQMpyl1qGQj4KMnaMdtXVUJDeG9MeE=; b=SvIK5047b1NFoSXoTKtClQ3iJIt56PVNBoic3mMgysbQ/x4SyA8/+z0JvsG8xng+k/7YR4PYpO25SLvBXi2a4CegAQe3BOuQkC/eDS04kabmv4J4aqxcmzsWPY4R5uxGfmsH3xTZz2hgErnsctpnU4Lp6xlqCP4SzB/JEJuZDSSyM6YBKB2IqG4d9hcxrlunZE230shkoYmgKsOnvT0dEi3yv918GGQ68doUVC89RTj1vTL+24PEQ+E1LgUM3idsiTeZ1Kmo84I8AfdC38ih30gh64L8SjVPIAeZ6iJAwtIXxcLH1qi2tF6FCekCbKkKoGxppABPSwRr+OPLKRj95g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=38kJ5mbQ6p69SHQMpyl1qGQj4KMnaMdtXVUJDeG9MeE=; b=x3CoBsLjcsizKmloq9TOgUPCP1/C12ZL/6M1jkmZMSXqiBRnMkarV1Aifet/R+t4KyTYN7XTgXBZUdCJeCngQQtTG7dX6Gs9JqRa1+bnGCN02S6GmB/oilfVp0uycTNX5v1O3hiHBoa6Xt6D1+1mj96uo+RxLk/NzKfB8SzuQ/c= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:37 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:37 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 30/44] mm: Remove unnecessary write to vma iterator in __vma_adjust() Thread-Topic: [PATCH v2 30/44] mm: Remove unnecessary write to vma iterator in __vma_adjust() Thread-Index: AQHZITomnDYYbwncpkiHEXdmnxwsTg== Date: Thu, 5 Jan 2023 19:16:01 +0000 Message-ID: <20230105191517.3099082-31-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: de243176-22d9-424c-0d1b-08daef515e1d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AfYfMaGMFL+0ZJXHXfLhv5L2fEr9DhgpcL7HFELRp3Zj1UxfqxmGp7rU5Av/8ZFXOdTllSdJtK3/lEccygiEsACmRqntU+USr7CsXJSkfnMX/KoZodjVF5MFHdhsMiD73otr59fxtgYJrMebJ7wOCu46rSs9Li46DnUoNfaASrSae7Tjx9248DubuaiYW06GR3FZ+q3yWrPu95yRqwiHC+eQOrfg8c42lcjnVywMXQ7PiWhlOD9nhl55w0U2LbD1Gn29Rr2FQCP6DckfoNZG7RdnVTuMld7qD0Ua/cU5AwOD9hnHdamRdylqjFGjmUCSiyWe6hdrOOCSckot+dZIr2npqCnIdkuFN2c8o7itk/niyrpOvoVI1KhlyetBU6tMxQfTavcac/b4A/TKy9llnRVrt8+6n6dg1ZvMch5DbDVWrms/sdMUtEf2IxWcpabSzhx4g/dr/8H3B0slvfP2BO22rAQxMJhTYml9Nmpz7GFBoc/kXWpzbobJWStHDh3IykiT3/Llx7As1Onz5H1AtAKGOx8I4y9L2hQyZgEMKV18pviJ1ReUOjJZk95A7lEsKxPx8fIBClKR6t44PBGRhrNEHH6Vkipga4n/bQhKslLa5f12GRYgsPRU9zy9ykhMfgNLRgB0QTX3fd/aj6my/OKa2FngHBiaq4uKjhf157FcmWs/fi9G0IXWhX+Bs+nOPutK35BAXD4kDBi8/HWj/g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(4744005)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?gBC2aUj2PY0k6EfHBHWEZTe?= =?iso-8859-1?q?fRigtZkzjRVDGcZy92FBv3wHFxV8gUEtFHMej/x2KGlg5hQ0Ywxa+T63thx8?= =?iso-8859-1?q?DX18zqYBKM8ZmYEEzyePlrM9/nvwkmSaHNq/f33vqY7aa5VvpkpEaPS88vN/?= =?iso-8859-1?q?F+G2gtNca8FP/GFJ+fiW/HS6HpuUOChGC2bgQnTgG+wEG2Wkone3JKHj1eCE?= =?iso-8859-1?q?mTDUExw552/+BVaLGhp30RwA/xPkBPHT08GDcU0F9GzU2aJrjfp/P5p0ddnB?= =?iso-8859-1?q?etc4oNI0q679dxoqW2ltyaZRARw1v2SDz5UR+pNmLOo7TNYQ7VSpt+RQVWym?= =?iso-8859-1?q?UAnt0vVECOpJbOEBKMqqoVBoOoW9qStIFhtMhh3TIrV77e4nAQc/O3cFk1a2?= =?iso-8859-1?q?Ji+7+i29r4THLm42OFMPGeia/UHGUf+kuF4cdvseP71vnYKLP3lHIcIKmV7i?= =?iso-8859-1?q?AHSHZYXEevKSU22u/oAfM3DKtH9+g3R7BBhdL9IVNHbruoofP28YTSTYBu3B?= =?iso-8859-1?q?b4xe08W1XgRJLNQjGIaWT3SkBfl5SYvARIui0hDA2ZIYmLCqPx19EgpXDODr?= =?iso-8859-1?q?ByBn5rlFJqGHd6YKZ3vLH+NVdG3Myc9YEITQVrLzCdEz+1z/XaAyEpijG0Te?= =?iso-8859-1?q?8tg6/rpQtNtBF8HaGr7+2dvqYAJeTN2ATFHscZ9YXkbduj4j81axmQwXZlaI?= =?iso-8859-1?q?J+o00ToyILQwymbrWQ2hidyT45sjkHA3gkG1De2KLP/PEzT/FEADbsfrXfvg?= =?iso-8859-1?q?ScAPQcpq16i64wTSRyQo9F5DKJXiTLroRaCc4z7JJW99JmOTp41oud+wpclp?= =?iso-8859-1?q?hTM19SwfI70zd0Ll/8uepQNW18Ca6U6IALOO5ZXJyrCqvERzakqtdr+KdKcq?= =?iso-8859-1?q?kovRIqW95FwoF9uHzpQqkoLEhUXE/1MvZE6SsJjqtMPpVWSpfKb960TVeipS?= =?iso-8859-1?q?guJom+YgrAccXjshv8LiLWLGNYuAKiDlZZ3xFu1D9EEIoNnRob1NZft8cjPP?= =?iso-8859-1?q?QpTncaSeZNDCnvHKuJwRc9ak568YiwdOrLruHAezE1MAXE7v+zafy2eH6hFG?= =?iso-8859-1?q?/GGsJqw/OsslA6EKNuKMgMN+RNMLgNiDfIGyY7Y8bjHlVtEVHJZ3U7CcLqMw?= =?iso-8859-1?q?IH9kJDEspzpN69YEr6x5v0GBImUTc+O1V5ec6Jg2OKkgNzODbdZ1o7X+5n51?= =?iso-8859-1?q?kIN4TUTFuoWmpAsnSrSBY+/z2ry4u97s/uVkC6GrjtINxeKWvOq2P97U27DU?= =?iso-8859-1?q?HbomhcZel1sF14Ve91/7EMk9rmyQxGls+aeqLBc/Ckz1QIkI9ZZ1YYXUbVGs?= =?iso-8859-1?q?3h5HAvVwExenAGV3BUxNBNELgDRYi6ZYpA8UEkjatGcf7XS91zo84scXXETF?= =?iso-8859-1?q?+6joHclXd3wTTJSDtCs6ap3q6YuzSZtDUh4KeU9Cdh7+TGtovkyRhOuRSQuq?= =?iso-8859-1?q?nQmKMUzTdEmlViEe3OTMjIvLGlQ2N0vtSVaoKQs0rYM/GsqJJSqJrEOYzHu3?= =?iso-8859-1?q?fnZGKuEMyKJJ8zcoYljHxws+TNJASYeT1tOLe38+apCBXQKoDcOauj7z0ngP?= =?iso-8859-1?q?K1jCug9IpGAbGrlTIG7PQ5pZ5x48zX8wyE7kGHwv7qbqfXab0BoCWV2asUtO?= =?iso-8859-1?q?re/PF+A5d4rlfzPRnOX6eiRmTSFL2dHXIYa3oKg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: dqGwifHSHWGanigKmYH5S1nIl+j9oiZNDElR1jlqFNPP+w6vLGptOPo9PKbpc4Jjn0oxuIEHg0JmNdT6MW1NwrnZCCUdmTRGbUeZDhzacZjzXDqtO5wgvjeSb/pBMdLMW9Xy02flAbiCibL24ShsDxR4qjXhLtIEoUC8Xd+LesI3p7Oct7HrBc4b2Dd/NwGIvHXtp9wubadTk7H+zvuhoQCLd0Pn4D9DHo/UFg/E5Rupj4VAKCHsiCofgVq/PvukxA3XC7KBXXg5RSq6A2g9teLVDj/BUAUWWNDzYjNRQu8Cq8fLvpbTUA9mkqoAw17K7SeU59QTI1RLDp8ir4tVh2jeWYP3dpjWMSKCvgQhpWm4DcYWzMdGBhAZy7lmsKcM3hUe/3LepBZxkBWWCILc3VA9M4m+u7+NmxO/qiKlJuJ076UXBlDLS0my0ojDb3RkQaSJQj2isfJ8gM2sEYQg6yJkeV8tZKhioQJ8cLQ/YPWDmr2h8w9Pt5dl8o+skaBGiKHDcXGwYytcXb0IlKZHo+r8WFoNoyAsm5Cb7w3uf6smi0FQiwQuFQ7pl0yhmCFWr8BNIXJQjeB5mHM/6lQ9Vu6i+mlEh/ovzotAQAcq/M8QMKr1xwjhfqbp94NT3wHn89I7s8xXyh+No2hU7thhFN+tqk3vS01Q+ScVo5sykCiXWcFRYzRYhqsnChbpaxrQq3NwT39WBg5zFU4HVnljpGZf96UAJRguf/jf5oh7Hd5iAe3vNrUD6QQh8i0Zlg8I74OEVk6lwDqI2jnMisc2PsszUoBvdJIZ2S2MG8NGiFGN5sie2xSvtIqTzPWWTWBTzkur7Zts/AaMOL0NECtpNrSU1kUaXDnf350ExFRdnjOmbFigj6ufVhDazVybcbu1K7/jWgZRs4xU/4uy+0dXVA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: de243176-22d9-424c-0d1b-08daef515e1d X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:01.9378 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yUnU8dSZE9CFJoG5Pq00GSZilbAd/sSqeX/VFt7Ujej+lu60tQ17rKopKlQOQ0FRV2YWeZDx1AtXghoXLnbJ1w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: aBbkC6nehFphq-hBeRXl1F2UTEh5JeiZ X-Proofpoint-ORIG-GUID: aBbkC6nehFphq-hBeRXl1F2UTEh5JeiZ X-Rspam-User: X-Rspamd-Queue-Id: AB88F40008 X-Rspamd-Server: rspam01 X-Stat-Signature: 4ufx35ixmuotaf8ury6rfzf997ngd56s X-HE-Tag: 1672946201-137556 X-HE-Meta: U2FsdGVkX1/8K4iOQpnQ7q9k/+OCwQJgAzGSRdTk75PJ4gwTsPByw7I67ONqHQ8uzfbKeYfkfalljvoPbRnt9fofRCqhG1avE2ey7O6o+qrtieVdixWNhc2RW1BIGsracMgx0q4/pd+xFkoiZvu+oz/QreNwUq4QaBCBb/EIx8A9Rr4K3rgP9fYvt2rSPk5XOPvrSK83J2YtcQJMm75EJVM1+thuFdH4QyrIT3lhVIUiezmU8y0z+T0bqj9xy7RQ08UxupK8EQV6So+tBABSw7U090XcunkupDAPnLFuCtr0L+rW8ZO+clJYz2bP7hMvXls1HSMjVxeTXg0NNLKgVu1kjW7ialtjdMyAB4GwuwVP1eZtwOf3rwt6+IomaiDbd7e/9U6vfK6sBiTDdNkvRoJsXeCQ+S/D22CBMm4fN8+ZScQe3IohvpmJviDxLcBKcelBuARvexH5+1pdjzrAYL6olsoL1PQjwdoHt7SmwlBQiSMGiEhDkcq7fasIE7deCUjU4xYbecylWAZXbToNxIeoehMj/3Fa/ttmATnQDX0Njv31IxCnwT2fqto2VoFPhDWj/A5BWora+KccwtAsmIYCmwDzeIcM8/4a7lyjO33moO9EQdhsRDUeqHZ6FPwPEUI83iAGeJFt4R1JSXS1+bWeDavg9a5dVX0owU4l1v+smuM81AuiYcoSvntJ0Cl9oABCJwW2qNTlbL/9hHY6ZXFoAyM2u5mDt4CDL0jjhgDv8WKNtRyVq7lzSroahMF/POaGNuFgLTyRih8gsGgE80bIQCvyv52sD2YV+MZROveqG8o3UBC8dx4IdUsMQsR26/yLPHV/cd49FIbU563i7KFCoOWemsL83iMPnW+8gUsiQVLQGv1YlxtaM7Vhu9WtH2NwcDboGm+f+H1ap2sfGdglDNPhZwRzjBkml6blylPTK0KsakZmNKkD2p+m+8ISMmc5SQRlJ2kECUYyH8y cjMRDS07 NlrMEoNtDSOEkNSHq8zXGo7qj1ffKYwc5pyGcEjPZtrVPfGGMSyc0A98rHX2rAmErd/Vr1a91uzkSqcB/1dLcTXdEBnPloN5s3miMT8lA54UrNKRzTk2+ynGHfgn0F9vJheJVB6JKV579LDvvgIb8/8QJFw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" If the vma start address is going to change due to an insert, then it is safe to not write the vma to the tree. The write of the insert vma will alter the tree as necessary. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index a4e564163334..174cbf25251f 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -781,10 +781,12 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, } if (start != vma->vm_start) { - if ((vma->vm_start < start) && - (!insert || (insert->vm_end != start))) { - vma_iter_clear(vmi, vma->vm_start, start); - VM_WARN_ON(insert && insert->vm_start > vma->vm_start); + if (vma->vm_start < start) { + if (!insert || (insert->vm_end != start)) { + vma_iter_clear(vmi, vma->vm_start, start); + vma_iter_set(vmi, start); + VM_WARN_ON(insert && insert->vm_start > vma->vm_start); + } } else { vma_changed = true; } From patchwork Thu Jan 5 19:16:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090335 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1C7AAC54EBD for ; Thu, 5 Jan 2023 19:16:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 51C348E0003; Thu, 5 Jan 2023 14:16:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4056B8E0006; Thu, 5 Jan 2023 14:16:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0AB588E0003; Thu, 5 Jan 2023 14:16:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E4C198E0001 for ; Thu, 5 Jan 2023 14:16:45 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B28141A0768 for ; Thu, 5 Jan 2023 19:16:45 +0000 (UTC) X-FDA: 80321702370.20.FC05E9D Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 4C1F9180010 for ; Thu, 5 Jan 2023 19:16:42 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=Y9XGCBBP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=f7YRrRJo; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946202; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=2moO4fYkQsgktnVqqUCvFnFabSTzK46jDsoi7qj27Dw=; b=Ej5V91Hn1/MnWw0DmDtqq/7clHzllUDRNRU4D4WNly3IcmWKLye/yY1gW93E2+8hjpnyAC 9j+pCSfRyDNg8k2CDtR2jyCBbO5GFy59VNMY5xqdE69Hul1mG5RoAW6C2raAhI5w7vBvVA 9pMvUKudcwLORbd2hJ52T06p0oeHspA= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=Y9XGCBBP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=f7YRrRJo; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946202; a=rsa-sha256; cv=pass; b=lmeG3qpgmH46IqGxd7x6xJfe36lmcAqJELnIb3R+fpY9WOWfLh+nVdUVJjTp0/WAZyEznY N5wEeo/dBkCEYljZ1ByYpSIQEkcCiCMI8S+aG2JQiCrIQMGtpsnVKXW6j+VL91878JTBAd AErtWUfLeIjWvPXwB9zFdZ5TYDM/sXs= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ISvEe017189; Thu, 5 Jan 2023 19:16:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=2moO4fYkQsgktnVqqUCvFnFabSTzK46jDsoi7qj27Dw=; b=Y9XGCBBP7wkncrZ4P7KfCvvsmsLUC8xw77MpulQGsIq1Om/9I3PZRQd//lLHMxJRIZgm aO4Grn7ey7OgwmmQLmUWi+r4vMvqTOmHmnrVc3qCzdOfwj+qeSmvcvVkXDDCIpX68p0u SBpXsR50p+HQqAd8OIKhVUM3/tKUf6vvP5Hx7IfLkOfC+QhnvXyZpfcLLrSZWs4/2Nhm oJE2mNNWvsrhUWR0Hon98Mc4vpbmKpcy+tiK8rCeQkvPLjkGFUv4RGdGcHNfmZpu5vm9 ZmOFcmb2ACz4lMDI59l32wXUbjoZlyozGqZBwii5x6KFiGAyxKW17InHrXp8jthtiLa0 yg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbv31nvx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:41 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPh033688; Thu, 5 Jan 2023 19:16:40 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IjjHrM+LcLiClL0j/knoyr/RIInUsNXJ+7Olk1XR+zCYHVNF6nbtpPQth6yDodKXOSGkGdJgQLN+O6ijgHWuE8GXx0wIKnQW0wTNK1OLK9egHmhMSIauvkJLdSxX5X2/1DciYwIa8Rz7K58pxmToDDEKuUIwiiSVPvHenuxVGSV+PDWqQw8vY7abMR/ek4wgY9xYuSRRM2i+R1Vb29LOZ/HH1xckmhd8cjdSUXOyiKux7h5xHayCsHIfOr4S5v/yRqStIHh0EqWseLxrXcce9m7L2B6od/WMILB5KUpnQei7m/6QlPPm/tgdzOJOMZxjbpXk8ULzhwpxH4w9/1YS1w== 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=2moO4fYkQsgktnVqqUCvFnFabSTzK46jDsoi7qj27Dw=; b=hvgcayT8O41c1/ds0q5qYe9HxKpx1ukpnlzls7/l62OWWGbuJW9W7utrC4AyUULKuPNTnkz2EJpRfGtXvKMMWz9PGQu06Ia8uI9yZBykorfVJO2ZJ3Q89DzDxlmZp+9gpp/sKFK/UroDuenWgayNVF8g1NhbtcaN9oihkduUe5FZ0G/8FDMooQMKkG3jY2DmMMlKs1SJGbiGo0aKjgVr5jHtp3vTdGManwPcVb8irc9yGpSx506/fIs7F5WHDCk1xR/Z5wWEsTQX95wi1ug9BvqxIQPomA5ZEPIEMTRptv9YW+tGq8CtVA82d8FX/YMW8wvjSU+If7ON8hjtXKv+PQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2moO4fYkQsgktnVqqUCvFnFabSTzK46jDsoi7qj27Dw=; b=f7YRrRJogqvg3X+pba5BLYtfC+QWFq5aABVZhvn/iUfBpeRVvLX5mGjWBSJLhsFd/JKvwSItnkFYSwsJmAUFSfu9l1oT11X+mKa0KgCQnL1Teay7oLODoVmUFwUdLBilzEXhgRZ8IMdimsLreae+6SpQYG5A2yoj+eT57mucn/c= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:38 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:38 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 31/44] mm: Pass vma iterator through to __vma_adjust() Thread-Topic: [PATCH v2 31/44] mm: Pass vma iterator through to __vma_adjust() Thread-Index: AQHZITomw+hyFh4UYkChdkBUsa/OOg== Date: Thu, 5 Jan 2023 19:16:02 +0000 Message-ID: <20230105191517.3099082-32-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: 8cf57c49-f84f-4ec6-a6ba-08daef515e58 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2kCCzYqxu9FyjfTIxpbCrimdzGB4uKMNkVMeQequEreOEeq+5VCq52iioC4dvgiCV0OnwLd3oP0qssa15y5XOz6hmcImo6Uxr0AOeSG0F+hkXl+/DIFYJ7rG0fip9BURBPl4kB392a/INQHOv/zpfpUB46WZa9T1/GF0dWkx8tivlhTS3bjt7/hXBSu/ylPLGbUJI5P+AcBd5+85corlYWvq9v8/gibV7iDmASbYi/M/sMioG5XlT5PX5b7ucJ+QZ8zictNmWUxO/6nknZbCfS7dcxhALWFXvpp8syILHVvytYulbeopvSDsNxTbXxyWeGkAeZOj9L+o0O39OrOe2Y05MJGKMUA5cm38oO/NKxeQa71KDXVCQxXRGuCaLg+q212lSYiz13Dw2HWGKKv96RBJWThIuDo0rK9sGv6/DsYeWLTXD9BCWh/xQKSFIjcIHST+EZzT/t8Zw+5KHOF1DuZIBcfmqw5OjMIkq/knq64U9iL3JqEkyqEklpbAMl6/dWQU74x7JJ4kVBCcr0/YHwsaoaktMb3pRFlIEw/xtqWuN51ITB/yE1oxXGU+8iUx/tV+cJ3UIU8IbeGwtbDFHuzHSDiRJzpJ4CRBuE9Oo3PH66g9Vj1zpLOFECdZUiamnK4V78TONrTRqNhU1OPFK1iL/CVWiNVIEkYN90Oz5IZj5wkIlaOME9LcGLPbAQ+SBAPmtDf0vFqfelczLCNLxA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?InBa/RSvzkcZKEcSCm42WB4?= =?iso-8859-1?q?+hf/D2aYZamjjHFmL6glVhmfK08Ibo+DDQx1MfltfwfiSp90L9VJ4KynHq7p?= =?iso-8859-1?q?4ZMghnzU09gtDdoZdSraWTfVsq/Jz5M8pBT0er38qCp6Eyya5FMdmJS2UYnK?= =?iso-8859-1?q?bdLnFja+3gAzy6Wu/1NahKaUv8AuZ8zvxFLbCadmUedFcp3uGELdvBkPedBg?= =?iso-8859-1?q?g3w8f7QnSLpfcZccKSMxnw50VWlpL1OYrc/+6gNbUsOh2OFZknY7LFsy2sl+?= =?iso-8859-1?q?Pxt4K1Tt2UJaBpG6shOmdoFnqSAzbdtCcYoibA15e4KAcHz6DDAAfQR5kkb8?= =?iso-8859-1?q?kWcklDH/6iyBWo2z/GLFP5gX0C7g1gYVSZmmqfK6fa1fnJFwOi5ycpvQE4L5?= =?iso-8859-1?q?ovkTPvfQheDJnGC4Bzh32lbHH9GSoD8X/Mo2nxXqe/E4u9IJffOBrR1wSDDB?= =?iso-8859-1?q?62raa37pkrDNMSg2Eh+GqoLokHm9Dk5SDeR53R6Ws7rJVWc4ZnNU5raymXnK?= =?iso-8859-1?q?41gNtqf4MCe3Pyu2skKXh18bJLBbSmgVUlqej52x3o/10t/aA69r4UwnOtEZ?= =?iso-8859-1?q?mlYACGXxdCyer1xTNknlczi1cX+f3PJ3vu0y9rSJbNd+SJDwVRDoeIWWQ0PU?= =?iso-8859-1?q?nr7hzVjQ5DhE29i2VGkEFC6d/5M25mDct1mOFhAdNFa/IrA9/b7/bVUgQeny?= =?iso-8859-1?q?O3ZgTsepGTELXQWiMKt8j0CfwBUx7A4+qeVECtGqlkBseJiNNuKAZHfRjJup?= =?iso-8859-1?q?ZmX9EboM7M+udjMdYbVRw/8f8/4tUDcVE1sIw9YCEMkSj+AkK4zIlqEliNa1?= =?iso-8859-1?q?USmVXHTtu/EH+YpjPTxHhUKvELMRKAMotzambyeTeKr5+ifG831g4B2dvQDq?= =?iso-8859-1?q?Vb4S998swEFU0gt1woaGqSeIBmlUOeGTJA6l5tuZbJsv22HF5FAyt8wtBJaW?= =?iso-8859-1?q?TT4JCBjSVWqK5UtdJsleGmAxKpcSmUIn7D/DUV57E2MlnGEKKIHiEBjwTFC9?= =?iso-8859-1?q?EqJbZ8OfDIOubJLfEhEstOEI53oPCTTJFzmDMlwlhq0VL9mBDsfMHEcwmXZt?= =?iso-8859-1?q?fBLmZI5Lex3zRDt2hCBC3r1WktiAsN4a19SW0VBtQ96zGiuk6uKIpunltGB+?= =?iso-8859-1?q?Q5p8LUwy/AVuX9CtvVGdJRy2s/b0/TWMJVDiWSOgeMJSph52Y+gx4dE8aF/t?= =?iso-8859-1?q?QVaFLrg3fp4q+lYb9BbkHGmAOoxIdW3bHABDiUsCb3cIq5udgW1La6w8PIEv?= =?iso-8859-1?q?TWrAaWmJMDHKVwkHNJtnszSLk3TVnw6FX1eLoqSSaPxmEujgrjVjeqfRTSaL?= =?iso-8859-1?q?N21WJ2LfVbqiabcFVD/GOmk0+shXFqf7T/o7fFYXfKNBUv8xS7E/IduNAb3S?= =?iso-8859-1?q?ow0QMrgmwjP0whBk2+y0Luhd34QVavuA87pY7SOBffqhjAmVJcWMLvRZquxb?= =?iso-8859-1?q?/l2C2IFHZbae2algCN6eEca4YxjeharTA4drGK59TtFnUSa9S6TRo091xj7c?= =?iso-8859-1?q?h9l2MwhFeIYis1oTUjDJ4Ctx0+qZw0giOh5yH62Ymz1ss92rOY4HiKLJ9YK7?= =?iso-8859-1?q?vjNR5PZMTUOtwvlNcB+3+KKTEMir8K9OqhlabzBA2r27/Em239gXDtI5bwbq?= =?iso-8859-1?q?XRjX7lsbgw9zIo6QOg8hquGMV++MfwpfsTldYOw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: xJ2Zzt1GUXdEwFWslhAvzu8EEAxylbiLliPTsi4xo4McO9MKK9DjHxo5o+osG22sCLVL1g+V5fS8EOT3Q2yzN2S3dlEQkmjAbUu3wcFKV2y3bwQpOZdY4yS5O9nXK3spq1uOFPzkz9zMFHBFgB601vroyRtaxpOHHoUbLuUqNNAaDlQXU8cubk2hdwB7URBZ2pKZpF86crBh5q8ldSNbPK5/pKyxS7dYr+HNUXgvSScswaF+tdZNRsqfXeS2XgAQi+SktYEtBxIlDvkdB0oMGkk2UBh46ZTHF6Qnr6ghJv1t7XJ7rlrLLelmjWOJ7Kpv7+LE2XeAkBTUkbWQtNUnA6M3jZjwv2Bxc/4axHeeI40uAmABvn1GS+E9DeaB16ah0M/hND4rDScQqFVYBgjH7glmjOR3IcDtJ+EO0soKBNsGd2sVZVlWQ941iIqoifPNh8dNgjgni4nfrnfjpm3Qk4l3IPalpOjDJauczmhJt8jI5WPCys1CQ7GWSRxt68WbDnYogKJ4mcNsvR9Ws8HTVLHSdRm+1XxrwRrYT+j/7G9bSaPmPPXnU+s7KiF2U7AraGQJ7suKNQwdyni6Fkhrw8/MMwfk+Pa1y80OWRlfyQdg/NEmRSQnZ0OrWCQS0gmdcD/Ba5fNDyHWuD/ISlHUnejChw0Fru1ZfqZk9JJtOZP+FWZoK+Gsc0gAqf22rH5vvLpaEaEkVlHSKNqUZrNPOlbd4ISFujxNAY8CXoKH+cLXYBFV1oCPc8lWomloPg74cUIu2w5U3r7eKzsYFRvz9zKTomviZx5NDx0mqNl2Qr4ycB4daetaIUn0oDbWaJGgcFQ2TbGeljfniMwt+gJsFbFx0vOA8TilrMrrLkrVQmus4zQctXilcEYBbF05fNFvR+6fyC4G0v+Sl5LZY8emPQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8cf57c49-f84f-4ec6-a6ba-08daef515e58 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:02.1565 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uvKVauPTGfZtTfdxgzPiSSZpEweCb+a98htBO62x8rLePRy2ksppNZ321mdNw8N+9b1eJTxYoo7/UvM7TolIYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=982 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: CwtJVHjGccQ23aksTSGNbw1ur9eDkKKd X-Proofpoint-ORIG-GUID: CwtJVHjGccQ23aksTSGNbw1ur9eDkKKd X-Rspamd-Queue-Id: 4C1F9180010 X-Stat-Signature: 15uc9idpcoe9kntsbf3tgb5w83pmat1a X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1672946202-979509 X-HE-Meta: U2FsdGVkX189/tPoL0G8beqwBcwiHUZI3QUuqOIbV28CoaOaRDaxC87Q57x6KnVGQ3WpGHOUpvg3tXqvDNgzEsTYP/MHb6CKn/JIAXiYemmOX541wNn6a2JFomPVtHPceCBi8skbj58N2a902G+IwRII3WnLp/zymt9qK7o5vZuNaZCB8gtU8xzkd6fLkWAwYJU7mss2/C25+WqHq416m05qBg3lyQKMXLNy47XhZ87tnud8bomNIrM0dPdBLb5sUOtQoIWZpJDneYsqMR+xaVYUvZK12kGIoZkVCpACdRnhe+NBwQ3AFf9qLMau0bhqGyv+v5s/510Pw1mgzrfyFSXQIncOscKuvLgp/cNO/z5nnvBWTetimWYYN2tNHmribPjggl5c/QD2YmgHB6OwTdSqUvPH4bE1YBvO+utiQT/HQimaDKQ1APnwimnGjViOMnGAFTxhJLp8mhMnySUtc9+mUqYKfjQLT+bKeKNi5BUowo03tgGQBrzweqPkZDUOZrxFJ2ivahg/fRJ9Fo22F11PM2OdMA4lxcgC4v431iq9dlFBndgCjonqar6jRFQ/7Ycb0ltiyFzH+eK0T+nlVucJNUxYFgaDgYYxKYO8P3DOBjp2v64n89wNeAQMcdZQOCr7j48BR2gh/9tsRiWWf8+Ru/iTELUjEBdSWxXUY7EuPoEVWnrZqGfF4+IN70C+5QhPfXDxNgjzcHYhc5H4/zMdOS0m3mGdBNsJ7aTjEEFj4an/5CBr0jtp+us68LkHy6t1oZrUTxRTI7ndVATRjAhGBrn4oA6AzovN6iQpO6+ptHgtB2ZKHG6phpvJQeSWyB6KSTOgxmyxRNE+34lx9CnQdTNbB2MXRn8AnHgBOtBADR3S8uXf9B/39WksjexZwiVrkGPFeibUcHk1thFLtV6mdVkYpRXfpMXLi9q4Y28VMTvviJuJ77nH9ziiMFfuYu2tTfDH2HDLgU7I32Y KtYf8h4Z h5G5IRAN86438PItRnfwzX66LnXGKDW+S6UvzpMbLb7S3gZsNCwQ8ldm7M2h8Iei4eRBxrLJoDTUysrQrOR8IIVk056ew9ycxGqolBrj/ygKSlrJfqVZtZQgEtKu+pNpmGzWamhepSe2T09/tRJSXwum5Fg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Pass the iterator through to be used in __vma_adjust(). The state of the iterator needs to be correct for the operation that will occur so make the adjustments. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 174cbf25251f..c10ab873b8e4 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -587,6 +587,10 @@ inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, vma_interval_tree_remove(vma, root); } + /* VMA iterator points to previous, so set to start if necessary */ + if (vma_iter_addr(vmi) != start) + vma_iter_set(vmi, start); + vma->vm_start = start; vma->vm_end = end; vma->vm_pgoff = pgoff; @@ -2222,13 +2226,13 @@ static void unmap_region(struct mm_struct *mm, struct maple_tree *mt, /* * __split_vma() bypasses sysctl_max_map_count checking. We use this where it * has already been checked or doesn't make sense to fail. + * VMA Iterator will point to the end VMA. */ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long addr, int new_below) { struct vm_area_struct *new; int err; - unsigned long end = vma->vm_end; validate_mm_mt(vma->vm_mm); @@ -2264,14 +2268,17 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, new->vm_ops->open(new); if (new_below) - err = vma_adjust(vma, addr, vma->vm_end, vma->vm_pgoff + - ((addr - new->vm_start) >> PAGE_SHIFT), new); + err = __vma_adjust(vmi, vma, addr, vma->vm_end, + vma->vm_pgoff + ((addr - new->vm_start) >> PAGE_SHIFT), + new, NULL); else - err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); + err = __vma_adjust(vmi, vma, vma->vm_start, addr, vma->vm_pgoff, + new, NULL); /* Success. */ if (!err) { - vma_iter_set(vmi, end); + if (new_below) + vma_next(vmi); return 0; } @@ -2366,8 +2373,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, if (error) goto start_split_failed; - vma_iter_set(vmi, start); - vma = vma_find(vmi, end); + vma = vma_iter_load(vmi); } prev = vma_prev(vmi); @@ -2387,7 +2393,6 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, if (error) goto end_split_failed; - vma_iter_set(vmi, end); split = vma_prev(vmi); error = munmap_sidetree(split, &mas_detach); if (error) @@ -2631,6 +2636,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, goto unacct_error; } + vma_iter_set(&vmi, addr); vma->vm_start = addr; vma->vm_end = end; vma->vm_flags = vm_flags; From patchwork Thu Jan 5 19:16:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090336 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id AD11FC4708E for ; Thu, 5 Jan 2023 19:16:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7FEE78E0001; Thu, 5 Jan 2023 14:16:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7AE408E0006; Thu, 5 Jan 2023 14:16:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 517D08E0001; Thu, 5 Jan 2023 14:16:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 158688E0001 for ; Thu, 5 Jan 2023 14:16:46 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id EF425A0423 for ; Thu, 5 Jan 2023 19:16:45 +0000 (UTC) X-FDA: 80321702370.20.5740534 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf15.hostedemail.com (Postfix) with ESMTP id 93322A0007 for ; Thu, 5 Jan 2023 19:16:42 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=Y68xLo2c; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Lqw+QsUk; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf15.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946202; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=v7b7Y0VoKjU/443c479HAnuhJa8h7cdUlvoZe/Bl8Hg=; b=V0U+COwfmMYpcDBm253uEplmBhlHtFhKLPFsPy6WRxHRT2ubV3BUc0jG+kWg3QGDaDWJDw u5sHNyAjTnF2K85MUGlcAdykUzeTVLEvEeI+JQ29xSZVoSF1WHzlW+v8Ic9R/2BiNo3mFm CivEI5zWYsjfG1sx1Z729sXNBKXyymA= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=Y68xLo2c; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Lqw+QsUk; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf15.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946202; a=rsa-sha256; cv=pass; b=FtcpgF4q+LOArO8NzeI+ku2xRzYqIxLzAdq/vUcB3jI+r3fiOIGZAryABcusHUQ+5W+qTo noaFT/k8BusKys+QaxCIcpfM/nnjrn/AyOTKgVgRW8XcXZxIhlrZ3Zl8YBS7OJmqD4AARr ztfwn7iHCCIX6wf7oOhB8QZstLem8KY= Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IT0r2006649; Thu, 5 Jan 2023 19:16:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=v7b7Y0VoKjU/443c479HAnuhJa8h7cdUlvoZe/Bl8Hg=; b=Y68xLo2cg20PIR5TQ3HaFtSIFiuCJ74Vv/yhTEdZZhKGzb8MtWWlpf6FbfWJfu/Psi+4 yTs9kHzDXl/iXR3qhtNE9vhlw9d/hRXiY92mG4kCoeBOQUMpV78W6anp33UvnmagfVWx LRkAKZ3na1FVDY9yPyR5V8XRYCy5VJswa7aRtXn13NxQl/FAg322wT/BLKQ4N9Yz002f 9gagkH7UJOeuyAzSKcauNRrTomNkBF/mPIXiqxa80S+QEDqj8yj29zNSbJOeDsfrc9Vn HnOEdhUuhqqbLw+FiTB7TicsBHJdBfjAeGzkif3TO8Pt6CWTe/VMMmHBg4oNzrP2IieR YA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcpt9mth-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:41 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPi033688; Thu, 5 Jan 2023 19:16:40 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Yz/bOPaKG9GImPZ/sBR7Z4mUWYBx4YySmjL4dCEjvBYLT24NLTj5A3f9VivhT6x54fwPJOZVuVVhbt3CGO1l39+XB6HTXbW7wQXrfeel6QJLe6azbP+PkGyQbuFvNLeqb/fRIQXdusyOePM9QjXJTvyy7p+E9Y1y8BR1eS/DTjVFYL7wSout6/x5CbAKdfqDRWURGOuFrGUDDA3BirOLhTquFN76zic0E4brrm8vdMZWENCaMEgg1kkE4hgpv/qPQajweJWLM63JKmIGoH0wZfBEP1kmgxtMXPizV2f98zb3J80U28KzMcHKq2NMK7eG5aZ8CTwG3MMqH5ad6yKLsA== 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=v7b7Y0VoKjU/443c479HAnuhJa8h7cdUlvoZe/Bl8Hg=; b=eNcBQT8YcwLrChCPQBoMHNHYRs3AUvq3LC1tbmBhgQ+NbJ1ABgEo/3GRpv1QmylruLbN+lLPFuL0pap5dEvJCPT4JUKMAg5zEuUiYq6zP7J3i8pV93Q8pGomKJDSXjFOuMdSWtoA051jT+GbikksTXPvWbDTXdGAhIj6lvsMoLP6Xcsy3OGyOlAdH/IBETmejtEi97R8Rp+TpstpK1EZime8LRmQqZHib9nJ4/AG7CltVlZE8+PDXQdhIcdIEaXTUXCqJ8Db3hpB3UfrJQ6yoIOcTAKX+eHsKfRCJcTQ07Uj7RL394r7cfnCXIy6jT5A3CptriMsQI+RB7Xs6yl96w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=v7b7Y0VoKjU/443c479HAnuhJa8h7cdUlvoZe/Bl8Hg=; b=Lqw+QsUklM09aABmH0YH1vZZz9Vhm/Lp5XHS/nvcly7cES3SMsBU4zGaY6oIKXVmenBV8K/BGjrX+qI5igqjWvbYF30JVv+iOII7c/jZSiNegmXIMsnL7xJbWsB0wvr9GlgSg2nJzSnxDeRm/pEKMza5pNqoUfOm2IZ6q6kFdIY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:38 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:38 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 32/44] mm: Add vma iterator to vma_adjust() arguments Thread-Topic: [PATCH v2 32/44] mm: Add vma iterator to vma_adjust() arguments Thread-Index: AQHZITomrGfg1Vg77ES0gv5xU83u9g== Date: Thu, 5 Jan 2023 19:16:02 +0000 Message-ID: <20230105191517.3099082-33-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: e5670280-e373-4eef-198d-08daef515e8d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Rxs4xqN9tCdx5cF3+sDF2vD+F3q1J9/bTAa0yKo92XDByqzn6qRFbBWSDgEXiy8UhFrYb9y/poPUShr5KWJWXSAfuR+gq+SeplqGuHzPzCPJBAlsXiT/UysqMyigStzxemxrsMOd0k2b+oUVDMxw0vc+WN9bxA7VB7+DD+smsq/zNillsFAC+nBiX0lKtpIsF/R2i8UGSNEP7rEnEJGZ9mGPRzXZRz43LLcc/KX6SumHc+aVre3pc1iQ4lPGb9sJ2XuVWV9/gY81TiH4SkEAFw664U7Dr1wqXkuDPUgdkH0TcFV0EViNwiApe9MTvkIfSDacLkjFQU8DpignmF2eJ68lYON90mfCMuTFZNsmfNGyPYQhas2PBoHfgkMCa7SbewJvm9Yw8t+qWmYG+a7qxaL8cDIPpoz+y1cqBrHGW9/fGWuOegXQmJntamo06RCpe+b7jbMuVenBx0VXcRTbuhLKVWsyOIPadogO2Bh67w8Cd37TGsIRwu+rfSHJM7y9o2EFIwVBftMv8965xpg0URaQp2nEk9iegnLrmqc1sdFSJ5J3ktyiOp0Q9LHQBMvC7kvAUPGQboNJSg3o61LtcDlU/pg7gb1KvJM//hOUsL1taDGym9SazCYXe0Qg+vrWvsqYqvOsJLI/H0V8Wf96x0bQlWj2/s6oU7YY2hfBaCk0YfPMQ2civaXRTcoycA6jTTXF7C99g7miWTV3irzn+w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?wp+a78ZNV5+HbI4HXkINuSW?= =?iso-8859-1?q?nOemy/QMXp8u2l0ef4eadEMFAtvq/iEMXoebsy6QQeIjvKnEagSxuuKkc8oC?= =?iso-8859-1?q?ki7SxgKKNlBOYabK8v+Fueu5OLsA746s8KDSuJKEclEAfS8nGwsBYTFaA3oC?= =?iso-8859-1?q?pyphpGo7Mdyef7IkgxLoc0D6SzofmtEBZlYbCS1zrtZVXvVDuHLyBneBHIvR?= =?iso-8859-1?q?aOJ44QWVZtFFE8V2VW9RH4Za7pBcKXgAbtavHnMQpHaNl49mPif/Vf/zcunf?= =?iso-8859-1?q?WEDPPwISCZgE6iL5vdHqRlVSZLzpiLQz+LprySQ2xME4UA8tjhen768Nmnw1?= =?iso-8859-1?q?EYCqU8hxBAMWqYYrl0DOkMHB+ZkJrVUbLMR+Ok0po5Dkn5L8ql5wzWasf3TJ?= =?iso-8859-1?q?5SOK7RFdYiwpjTdOmbwVz7oHJlSgP7gcODhGGg+VxmsLyJ6/hnSyFzUBJceg?= =?iso-8859-1?q?kmMmLr/5do2BPDpJeLd0Ao+9zj+hCNVptt/OLZNNEDPVp6SYleD3OqMlH8Qv?= =?iso-8859-1?q?gsRUjqNsILqsa2EKn4eTXTrB66uGqvvFnV8Zj4Bf4U0xtLaWt7JgXpwVqH4u?= =?iso-8859-1?q?W5FfepNHtglkjH/kF9DJZtEG8wnXLAJ/yOa0mih1cH8l5g4yPllm+BOmf8Ag?= =?iso-8859-1?q?cQDlfbBlt2TqOaLZ5UgOGutPnAR7LJKOfMdLLoengZp8b3MqO4LcMbJmhvM5?= =?iso-8859-1?q?vosJYDlrX34k6AS+JZst2nASugrXNoTAb2cDI/j0dafe3UgoeLlXxtmvibR2?= =?iso-8859-1?q?oit1PTiX7hMsWP4Q4O9TCSk5AhlshPM0wya8ecJ68B7+rckRvwni5ouU+Zbk?= =?iso-8859-1?q?z4QNjA10Vh3AQCpo5U74gLb8oPNcpVTOAoN+KhFx3tmCgqbl6r8VtPprSMcq?= =?iso-8859-1?q?KV3AGqcjsGwmZG5rpDWRoqXgjR0o2kS7tQWg7M68E0lAUUihNEH8JCBap9HA?= =?iso-8859-1?q?/w5paDqk4ZW+xEc7aBZIL/c2BOf75QUfDUMeBrPLYlifZe0lmGsRF7lRYYl6?= =?iso-8859-1?q?w7wAJbIHHTBTxWagYgbvnQjn4qESBd5bi6Ko5vZ5gHNoexW5iDXUle09gaRp?= =?iso-8859-1?q?MnvOp7FnjZujLz561R9z6/udSSFclTn3+iLyBMecXPKSLLllVhEDdgJigIcz?= =?iso-8859-1?q?P2qDyhEZtmLSSJRtkra1F1nq9xXq+e4j9goS2uAKiPNerIIQUc+zi9d2UNRz?= =?iso-8859-1?q?9ltMhezMlAvrMnpGbVEN3/Gyw6KtC6xSh6A+1TpbMG7vzM2DSQQEIoafJe0u?= =?iso-8859-1?q?q+1SbCMBYGBSMJlMA/SRbZcDTxKX8EvkFr1xu5PUXSW0W5IEJp8A3nrjTIrC?= =?iso-8859-1?q?wOcaUFcvsyo9ZuNHlTZbHwgGT/sHFBzvoR54sWnuXWY0oDDUt4f4Zfz+A6Tp?= =?iso-8859-1?q?vHQXOWQOq6dZwMgXY3VVjkVbnKHdHQVEbN4kxtzP4wH69ogEIupeabNDxsF1?= =?iso-8859-1?q?uD2NMZcxD1lgXb6ssE8IS4h5K/JkgBsyjSKUn8uR4GCjhBLMC53Gkw+36OFz?= =?iso-8859-1?q?7RndZ2zYPuXlf+wIa/5aT2jUIGjdZFLpcDRpI5clnEljZWzv5Aphz/0fznaH?= =?iso-8859-1?q?mLl1bud11gcvXRzreSWBi++yYhkVe8CO7PHsvYvmhEsh/DADAUnUnV3Ur/8G?= =?iso-8859-1?q?gvBPPoBtBr5B4a9T/f2s/4zuilf3ytxUipshAvQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: PNuMrITuNc0zKQIMz/tNqxeVnBA3JYevNQ+CzJ1t8A+uTCrj8P3D6gFo5TfBuCeyhBII4sdxOovEVloJZBzaSS8W9NizbqhFjpieYvrp+HcwDSel9FnYT5/LQTV8hubITsZhsM6MguF0fJtHkkvJ+AdgBGDXEXT5XShhmmzX9gWgu9WtUFPyTmsJ40T5XWX4ff4OaPsr+zw7B/GJvXmqdEf4iVNYxsO6pMD+ggPBZO5aOIk2VNwoM7bz6uyFYTdUvcRuNkspLQfg03naqyKR6GhC3NiYkmlODOgguF9RKXyK8rtYFyImGcelmdWxnE72tJYrhRK4Muan1zvv79mqKKFFaOZI2YhJ/7FbyqlvRKCEX/ShvHpBye3z8Iver82Yu2lKF/lQT62Wtq8UqaI08mYdxd1Qwp3t14Mrf+mPUyFf9/atq4nxuTd0CPc1+/fxJ1QUkLz4Q2z4gIT8IbvekvhovwIfa9ygv/UYsyhKdkWWqSVZdToF190m1nAWWrYhV0WopxyXeUKSRTT6L7nU0rch5bH05b4p1k91R7C27VCMz2JsPfFL0f07yIfoKD59HON3H1wrxDHpbTXQwoWatbvrQAhQvuz62HTszRfLtL9rTiVgPe8d0q9Eq/2cwE/fvbq/YnHkzZsVXz7sjZGOXDvjPY2tRqV6SLaAn1iYvpRfVmIlLm6ecn0e4ngnZ+pLbUi7f5GY2+PlbvAO9vM8jOQScjXe5dRTpc2/5ODTQEt8SYvaTE1AO8ZFKFtdSdMnFnA0aBOqXmwmTzNubjQnKk+xY1eClsPu6hcrp0yomFePOCZrEFMMUK+9mM03AFWCV8Bw3CwNC4NlCMiYHAj+UcOElWOxJzCGjd5AWLZyDDFrpz27gPnOQK3rxNTZuUO5mx4Ah6lTUpz5yIrX6xnkqg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e5670280-e373-4eef-198d-08daef515e8d X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:02.4690 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: DuKWcZTrfwVbuobjlTki6Bnz8SBtclYuOgcvuDfL+Q+6LRieL7/rVdfTk6RoWVfLRBJmbnKzyu9WRmESvevQ+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: M_ezwJCLR7JhoE-T98Y8nKceYJqz-p3P X-Proofpoint-GUID: M_ezwJCLR7JhoE-T98Y8nKceYJqz-p3P X-Rspamd-Queue-Id: 93322A0007 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: erfzyrt5e3uk3unogioqup41js8a68ux X-HE-Tag: 1672946202-172056 X-HE-Meta: U2FsdGVkX18lU7gaMeO5L5JmA268WINDZH88xp3X7vbbInvpo9XmXSLxm+ZkkyjjzwydF/eOPctLATBXyV6435E97dX8eJTfhfpdT7otANeU2GkKiu5APoflXMgNvkNcfP21WcY9BDBrXW1n4X4bIEK/cKU8o0qOMQyOsrKhzoHuCaoSt6u9s/26+AzJTMOhVErvwstvAGNETnE4pgQRtuCcB4WmRKFHG/O3TPaJv5y9LVo//dPJyN0t1enok40TqtyDdhhSfOX+5VxQxC4rqSRUq90x4+wpM1S3BCl7jdLhH36RE6hm8HP/c3b0wYrH3eP0ugu2+3odPealxVujEDuqcXBRol7dcabKX6sVvY1IWf/d1ELV1gI6R4FO7Lb6bnqZJmeVNkxwYxY/Sj0ImieZZj38YMVy5Rz+giGxOJn9mcZgYvYV4MxtDICEQCXT1U3OcxJY/uX9aXIASGTIKF5Dzp7pDxjqHTXr4o9axC4NIoqGkx6NDPSRDk0FRijOvebBlSes76nBVAEiedCtSAuzNR3I38ezpZKax69nRnKpqMHVUR0tY8WZqYJGR8J8LaJgTchYsgC/eSuzTh41niQlcqk5EjY0xL/ZTiRM1IZee66ryyp9D2RA5freBkJL8TNcHIc6qbRIbphUsC1zDfbgPIDri8LBw5zTF09o1zBWEygxAneZbHXInx5WiwuPkMwSJWoMfpDpML5esvIhmsSXumkP4pI/D7JBfjPQg9P/B+f3Ht3MZayauBSbqH2/nBPeycPnPAB2r2ZFGrk7TyR7/DusfWxCq4swd5xDl6wtOe9pZCS7y+f2oTX3kr9z2sYRhLf6ZTIM8ngPJQ2+FuPeHtg5f/DRk4bDiFMOGErPvy9kMDWjvzPXJikPzocHLDo5nQmZ9TGcY2n4XL4bYJncbo8unkQda8MMogIi+cUSkBVczUbkvAYWcEimUeiOjWkD7cDHOp8ae/qvzNs 5yEv4nwm skWFzFb8/gCbbZ8JQmH2J/wCpsIJVmV9iIkyUEV/pWleTkybDzEsvFo+mqlErldN+a5811giHIgPc6B22K1MBdqCdJFHnW5q5ppOa/OFn1b63ur9sGSlvxl4h6oj8BziBhfS0LN0nhGV+fxBO3yUWtkRV/w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Change the vma_adjust() function definition to accept the vma iterator and pass it through to __vma_adjust(). Update fs/exec to use the new vma_adjust() function parameters. Revert the __split_vma() calls back from __vma_adjust() to vma_adjust() and pass through the vma iterator. Signed-off-by: Liam R. Howlett --- fs/exec.c | 11 ++++------- include/linux/mm.h | 9 ++++----- mm/mmap.c | 10 +++++----- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/fs/exec.c b/fs/exec.c index b98647eeae9f..76ee62e1d3f1 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -699,7 +699,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) /* * cover the whole range: [new_start, old_end) */ - if (vma_adjust(vma, new_start, old_end, vma->vm_pgoff, NULL)) + if (vma_adjust(&vmi, vma, new_start, old_end, vma->vm_pgoff, NULL)) return -ENOMEM; /* @@ -731,12 +731,9 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) } tlb_finish_mmu(&tlb); - /* - * Shrink the vma to just the new range. Always succeeds. - */ - vma_adjust(vma, new_start, new_end, vma->vm_pgoff, NULL); - - return 0; + vma_prev(&vmi); + /* Shrink the vma to just the new range */ + return vma_adjust(&vmi, vma, new_start, new_end, vma->vm_pgoff, NULL); } /* diff --git a/include/linux/mm.h b/include/linux/mm.h index 294894969cd9..aabfd4183091 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2825,12 +2825,11 @@ extern int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admi extern int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long start, unsigned long end, pgoff_t pgoff, struct vm_area_struct *insert, struct vm_area_struct *expand); -static inline int vma_adjust(struct vm_area_struct *vma, unsigned long start, - unsigned long end, pgoff_t pgoff, struct vm_area_struct *insert) +static inline int vma_adjust(struct vma_iterator *vmi, + struct vm_area_struct *vma, unsigned long start, unsigned long end, + pgoff_t pgoff, struct vm_area_struct *insert) { - VMA_ITERATOR(vmi, vma->vm_mm, start); - - return __vma_adjust(&vmi, vma, start, end, pgoff, insert, NULL); + return __vma_adjust(vmi, vma, start, end, pgoff, insert, NULL); } extern struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *, struct vm_area_struct *prev, unsigned long addr, diff --git a/mm/mmap.c b/mm/mmap.c index c10ab873b8e4..d7530abdd7c0 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2268,12 +2268,12 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, new->vm_ops->open(new); if (new_below) - err = __vma_adjust(vmi, vma, addr, vma->vm_end, - vma->vm_pgoff + ((addr - new->vm_start) >> PAGE_SHIFT), - new, NULL); + err = vma_adjust(vmi, vma, addr, vma->vm_end, + vma->vm_pgoff + ((addr - new->vm_start) >> PAGE_SHIFT), + new); else - err = __vma_adjust(vmi, vma, vma->vm_start, addr, vma->vm_pgoff, - new, NULL); + err = vma_adjust(vmi, vma, vma->vm_start, addr, vma->vm_pgoff, + new); /* Success. */ if (!err) { From patchwork Thu Jan 5 19:16:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090342 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D78C9C4708E for ; Thu, 5 Jan 2023 19:17:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1E616940014; Thu, 5 Jan 2023 14:16:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1702A94000C; Thu, 5 Jan 2023 14:16:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E3D79940015; Thu, 5 Jan 2023 14:16:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id C20F294000C for ; Thu, 5 Jan 2023 14:16:50 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 7E0741605EC for ; Thu, 5 Jan 2023 19:16:50 +0000 (UTC) X-FDA: 80321702580.07.F6C66AD Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf02.hostedemail.com (Postfix) with ESMTP id 24BBF80017 for ; Thu, 5 Jan 2023 19:16:46 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=uUCEuLbe; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=MT6YldWq; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946207; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=eh5UlXV7hjFyyF0mhfN12WYE0aWYs7buLsoJ1xB7wXA=; b=La5nqXqWHfmAFeDEoFQxI6WTeVKPM7VUIuJC6x0nSlAwg+Z6NoQa1PH14zUtkh4A2n88TM QQSTyTxMqAh0+ICJHrYV6ArYWUmt6I5rapCaZr2qhabUu7/mLZqzL5xdU/LRs6ZyAdXWVk Vs92cHOOUNA7zVnkkFiL5lWh3lELN0w= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=uUCEuLbe; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=MT6YldWq; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946207; a=rsa-sha256; cv=pass; b=6QjAYTAUPMcpMh/KoVrf+gOuoZ2Ak+FvD1rTZ0nymBYPdM0VriHlM0wWzIW+PnBn74EloW FY4pmIu8yHTI6dXvMH9h3K9ZoAlcQgA+1WChHfoqyo1KEaBOO8NhVw9bJ9l+Vi4G1wfsPi LikkNBt3uqkAOrXzwGrpIaprtmJm+J8= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ISmZm001337; Thu, 5 Jan 2023 19:16:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=eh5UlXV7hjFyyF0mhfN12WYE0aWYs7buLsoJ1xB7wXA=; b=uUCEuLbeSbXKg+dfr8eNLmhWP8+YvlNo5vsd/G3XpI9A3V1FRWfOTjsL3983tWYfNVI5 a9yzxeoU4Lg053R2GS4q6pY3TFE2j2DcJVAQaDEtgvm5OuGgDuhf9IeEjjgtrkE0i16L z4SYCFkZMArnO0GZ9Lu2S5wbJ/bD4yBDEAIILuVylGWSydIzTv/FEvpblKSqF+/WZfzg n20NAFzyhF5a+a8Vwfh0CqWiCwlknpkup1G143bUeYIzd3fosqc/2DgPiARtkgcpxhXg Iiq1dsIHAsptxsFadLb/YvCECEJokUsPeZWZIOGeXMfnQ+rDc8lvWWc26dIOZbxLtbU7 1g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtd4c9r16-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:42 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPj033688; Thu, 5 Jan 2023 19:16:41 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kb0vNC3+LykOoZzEXVFAahBSpbLbxw9tZY03b0XflX4R6KM6RU3iWTkmQuldqCJ6QBEYxiib0ryiVNhkeqyVWXNCIhoBOXMa3eLsQm66uUBJUT+MpkxOuZAqKv/53HWGxKE5UeGliMQMdtv9fTvMRI1Lna7khcG6Giop1GmsmJ5dOvK3/Nu77gm6dvSwhJoaPNXSZoynC29o2PZ1K5q7IzEigRoJtMZpf7jX20V2/XuSS21IejzNNfk+/XfN5fbWyS/mOXU7wbhdhyODwv2JcOrKUuIlfBm380rtMN24RPHpADpYZ29pQrtyBiZpbSW939Pu+u93HEUobIG9n8MnPA== 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=eh5UlXV7hjFyyF0mhfN12WYE0aWYs7buLsoJ1xB7wXA=; b=nme5qLCfXSFNnXyiE5V09WcBtQ/kHxSGnGRV2uZQY9xAmyrkHB1GF/YpRFnpay6wmf926BUlSk0JiH9Oph9EzmX8asJPsQXgsbeL0QW4MHqoU872DZP+FI9ySadvvPM6A01C2bioo7A4xvr2lm/vtHXyHXME1bN/qImEhlVXvDBhCGskndQVYJrkIJNiWlhwmfswjyBvXVSe0ZnwWjNARsRpSAgJtigQziNev+nb7ykFlV3V052ftVEog69Gd0saxawoNH320MPYq2mCPkMZXIf28Pkji0GrTwgR573LSxfIvhYteWyCp1+vy295GlIoPIWCrVGhG2uUUjQYK9xiiQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eh5UlXV7hjFyyF0mhfN12WYE0aWYs7buLsoJ1xB7wXA=; b=MT6YldWqtpU6qENoHZjaxNkKBMzdRor3P/AEpYZK3eVpz9jZP2WA2/L1n3XOXkv5OArllRMT5AquAh+X/q1CdobVjbcMIYRuO4yJjUMsS0bjYyMYcuY7HerTg9a7QWYgHcp+tDUC+/shNJzwh5PGExMXLJirBSCvHcI0l3kL/JI= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:38 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:38 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Li Zetao , Liam Howlett Subject: [PATCH v2 33/44] mmap: Clean up mmap_region() unrolling Thread-Topic: [PATCH v2 33/44] mmap: Clean up mmap_region() unrolling Thread-Index: AQHZITomyNN/f3iGgESlRavw6FYYgA== Date: Thu, 5 Jan 2023 19:16:02 +0000 Message-ID: <20230105191517.3099082-34-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: cf2def9d-1fc7-4347-0324-08daef515eb8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8PxIy7q1Q2Ez96F1evsZjkzTMePcrSBydHD1rOX5nBhXBOhdmScs7tOFHGmpjXZhySvJ+pfn6+RJKVXpanUzCDx6rd7KRDgZZuY/AVqDEWqP39VUpeEI/Y+T1+GicGbJl/NLjzOUDptiZ9mmG+CCLe7g02JOsHmqa/dkN5kKj2LkzPhediytI8KXvTkWyS27WQNvxsNMdTYyktep2PLEZuYkokx/dgOkXhAFzAsKutpaVFUk7FEOUdwSAoFasjZKr6YmO9mNL81MQNoWP2XnM4zarVSqY+rJI22bwxqsHOTy1hWsh+QA+pw0eMD7wTcWVYrbaQZelDfR0AsqrjCe2HiZwTqK6tM7w3nebkluY7vgiswhjMumtEkGvPRszZQIFtCyEi1cLIs9ZZrTeGUnMKR1PCZyDLQ78rzQUkafB8xOrmt/ZOE2uF7ycsYnNeF6+PxfQHFAmVti+bwUQbeZ2bJWQ5j+MvuZhzQOXmtcdbF8Z8wIvFqIdrsNLAkfKUXSt7LOAtpWw6sVnnGXcbHt1rprZ7k3efnWPkCea/nzrE0/b8n18ANk8AYocs89neXTgmUfS0I1qEkdobbTsTBtJnDcFdlzh7f29UgyzT03/wfFTGh6gBN5UtzfFChW1wCQJO0LqA4BzadZuS3iTbL9KRleaCZj4oahDW9rX0STxj6/pfV0qTLjXxZTXwXQnHGcNT2iEkjE6RL6odKnQGQ/bw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?HU2wUGevViikhwi6FuDjcEy?= =?iso-8859-1?q?F2pqLEOSeIXYBSE0Z/6gxtr2vUrzGgxMngw9fSZMOLVjKZo5NoJ78/cDCaeo?= =?iso-8859-1?q?u+XhKuoGSkEILBo9tj1yCSi9Z1snK6HroogfDhe7HJu4XX3ICFFuKZ9mfzny?= =?iso-8859-1?q?WofipLlcqsNo8AvLRp3ChYh/bRe84VJ+0xBDbWKulSZlvRGwZZrwrg4ICmBT?= =?iso-8859-1?q?dmhra4VsmT4pOkKupcW5gCDy7ydvLzvy+4CbtcHDhr+kGx2O5Dl71Cam7M+N?= =?iso-8859-1?q?pf5FIn79Wc/6BBEVJaCksPSR/VeRdTD0iemHEx/F72WUulk7Faxc/jlpi6DW?= =?iso-8859-1?q?QCXkcqjBDdkdi+A+iYAWaXJn3TiMgfPmei5x/cA4imJgWEVXvjFS61D4D5yW?= =?iso-8859-1?q?lp6M+SQSJONl0AD2UXBMSiYT2gDAjGFsAXNsKs6wYkMxs5frPJYXkFQJDOUV?= =?iso-8859-1?q?u+E6WadKFxsKtrBrRNFd/6D2KodJ93PhO/47SBJ9CcDiKoWjLWfMxaGsCcyC?= =?iso-8859-1?q?IgPuBppukBY2ICANKHz7FSW/eSa5/CuLPG6xMN4Doay9Plxx/U3POUu+H2va?= =?iso-8859-1?q?jUvDREgDytPRWOMAiDOl42n0mxPi6jx/xvJP+dE0OwxI5TQLKI6j3zJDkpJJ?= =?iso-8859-1?q?wkS/Ajm+WY/TP1zzAxKTqcZEhKPEVQCKTw0sGDS5o31K+ZCC3kNenU9kuj9y?= =?iso-8859-1?q?v5IK4B+z+Rg9lcAcinriuYpr4+QONQAvH7bJt0b1DmJ2m8xM+JmSjuOvc1uA?= =?iso-8859-1?q?fdZbOOZcFAsKxLnD6RQN/l52ifoKp7FGgiJE7LkHxpJzJA+y9s5O+HUZ2jCp?= =?iso-8859-1?q?YEgPJtjjuu2smxMRsT0tBg9zUTUCplGnh00PCDn5vBeDNB2INtzhwUH8eL7r?= =?iso-8859-1?q?QcnCfbbcWHVDZwVYxChHnYg9PBBM6cQceNwVTMB4nz27yVR8RXqHWkmGAKxs?= =?iso-8859-1?q?pmWm/gVF/ce6P5Mq3Z9R0QyQ6WUqch4KmwanGMzcXh2K9yx/227HsAH5QjPf?= =?iso-8859-1?q?y78bGiKqhx0JFdb09S8OOHkck1t7GaXMaDE1ADaae7jQmJCH3Yz1Yh+N3ley?= =?iso-8859-1?q?9jkOTr1XpKN1Q6RFtiOczJxvKX1xbZw4QTbB8QZXqEE8R/6Cjhu1pRvHP8bA?= =?iso-8859-1?q?0WR5BNBARBUBjCTKsLNllMcgUt2KadGMo0I5aO9Q+rKvFZ9XDQwfcVdeZo0l?= =?iso-8859-1?q?MTuB4mCT1/QsNmR+ugJ8j+bSltFGAe8PiFU52SnTTQa6cm5kmroTWYwe8SFg?= =?iso-8859-1?q?mRNXkG2Xewe3U+Qg0CiASWsVLcXjOpeamogSHjYuvPyn3GojUwcQ8KXcOtA2?= =?iso-8859-1?q?MbX8mPEdLkpzBNCTCgOiwVJXo/VbOY2mZnzSM638lptu74iZNLtTF/A6L8dP?= =?iso-8859-1?q?cjSAeB58WJeFuDLtA0U4Bkr0KBMHlDTKwnxpdcAN0X+cNSZl46HVBd57QgR0?= =?iso-8859-1?q?CjNcj/alz6jggSEq68uJi5Dpdidy8NY5K9nAuC8CntrHiyvy1+5zE1q/Vdhp?= =?iso-8859-1?q?U/sZ9/XRLZgugHtNICEgSlw+/12pww/i5HTLl01jeh8pwPDf4bSTLose+ojK?= =?iso-8859-1?q?sINnSf/i4KaQYazh+ad67gXx7v1afMHeQ1Bev0iwJ3AbIoolzkLcYucKU8Va?= =?iso-8859-1?q?Hrz5fflZ1VJGZwq1O5pm8TbZsxX7C/Id3ltmJtA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3KsKPOHQJtHimdRZ6VGBFRynGdI42VO5AGNsyGSxLaEoJrOiBxu6ItSZPdU8vPlxJ9YYwfMOWJmrJcsVm2BQZroloetEB1kGhdz9bYUfQo6yXuYIzuglvZ1CNbvnd1CqNxBTdswbHIIox0AA0mm3jX6ICk5Qdh9QeQEhda+vzBMjh3wYzMBb8mO7zKbzqVzlFNK/6K3+qdHK+4qxtOX4s625hLhNBjZquGS7RktMURld7rXVbNpfmgru/gkodOpMTIQmph56GBCwZl/I2P42VhbptjDOEL3Y3mIpZMhXxdaDiA9jx3zOKlVvY80YulYdWV3VN8SJT0tH1msincosks4wSabVUVYe4YPv2d9r97OtJ9TDS7MzikkeS0s/fPiqJyfdhg6BpKESDj9iv+aKPn+NjVoT6ZBwuiPx3BUJvHFG7R4x0KKOig73AM09ZShojucqGEW7lk2agd3nzjJm/UuvEwjWApZALbXFaVNDELA0pwGrbATsfptnM8xfDIyKMSwBR0jtiB7ZhlJFvUvdrZc4T/IBjBL169pvLT/poOFOAv09jLjMYkVOD5kaENUY48JcQ/Kjg9+uKQ5pAgtfOPcR3lw+gPOURExuZDfb3FBeStmEzeDTDiyIxNaZ7/HBvok0a5JQ+hGq7MHD1YqfkVguYK4vcrv4p4Lq4IUfBqzGEZE+lshvYPRVimjKcQfFflwaNnsKsLbF2f1x0RN2kaPEIK0PWtPIUcHz9x4s2q3fAZ1F/oZJxExNZJAUZZOCUIletm63y7x976xXj/z7jyPikSa0KEl647m+63jdstemzQ2n7C/17Wj4iEvm1NFT83zUTxY7ZOLwMD7+mr1InQmu/XjRd2qI7Y3f3Q/xJDq74yuRrdqiWF32udanXq9yWKOpKeVk7vAsYk2F+HnTCP4GPP/ouAWPI98r8LRdGoc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf2def9d-1fc7-4347-0324-08daef515eb8 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:02.7034 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: HidwpkmwvxjJbGwy5LgjxYrvM8O2yW1Y/29rYQ/MofzTJPXuf2q+FeLle9YTuEGgQA0anQIJS2Ii/ET702T/Iw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=759 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: t1EQbkR0zvKz9OWLBy3ya6XhALDsT1im X-Proofpoint-ORIG-GUID: t1EQbkR0zvKz9OWLBy3ya6XhALDsT1im X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 24BBF80017 X-Stat-Signature: xa5a913i5pjpqgbxynmjzk316wr3aeyy X-HE-Tag: 1672946206-906100 X-HE-Meta: U2FsdGVkX1+LmgmKV18vcRydNJbT4nLr81VN/QAG8KeZyyGmJEVuD4jxBHYSx8vAJMSiKDieg5WzgNEhJSII7f59mgeKnll6KjjoO2eKiqAwbHdCzeMZ9UXjDVtSY5DaZsRIPHEfQTVMJpDXyNihzq5f5q+oL6QZDZfaKDaDEol66yTFl4slaLggP7T2EeA7PqsWGjU0kp0jx2+C91mQevmuAGOqM7W9EtJ+4DEHem2REyitKwIWqivUTtmEClWrKpbqW6UT+cppjYw5AdmoZQVnSBIAR/jK86iTL5c0+yd8RjD8ErFaeO9L3EZ2zCAYXYgn7m+4hAl+SG/owd8QnzQV4jtqYcufv36LgKCRYXrQBL0XP14ZZrdcylgfY4+KjuVQQNhgpRSCBBT6x5gj4ldlEAGjT8/z+9bKV57g/8WaoTU/9JHXSLKKxcGh+NyA0LnSojv+JwFTY9VAp7wLBVJFNt0hK/Cq7Z0fe0Qr+efA3gbu0uH2iCWH6coI32oCxafOsWEIIk5St55/MqYhDJaOdKCilBf1qC5fvBcJKdSegKkpu6JetV9IgVGwsu8gPDd7KNOx2LVovPB7lPEWy/0IMatNrEBvCapq7HoYE6dlwSY8yyGPTIysKPDLnTUCJ2HiDaWbor1YRT6BWHTwaEtRR9XHg4DYffU/XZquqZESwbEPLLGfVEoPKT5irvWVR32JouUxZpHPvAeK60TsRIWWm+dT9U/p3zmePMpVzs8sshNqAJYEdjjFMdOEte2Gqzqa/lMU8cqweGfpA1TXclvEGhkTumICxevh1JwEdBNjG8cN35szcAsumHpYPcg5XzlFYYW7q8Dym9IWvnqxTPFeOLIAKjjp6eHWMRlXSVqtOU9JjbQx0/27vu0dnwP2RPHNIQxf4UH7OTW5MyluqNBbgae/lcPEoJDyloypYhiUV7w/xqRUXqZMXj+C4G1yJFynKSwZgUctaViVEQk MVfm8sAA dxRMxRFeW8lmzhrofKTp/oIlRoNroTU9p63ftLr9Jk1h5RjZX2PcbfPHleYwkiYzccqaJsJi+rzvVeE+vb+iZMIxU1X48MABaFDSPKdP9Vaa5YP0E3H2YcUvqybAEAkZIaioQkCY4jwLfnNbWWaDZMU83Eg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Move logic of unrolling to the error path as apposed to duplicating it within the function body. This reduces the potential of missing an update to one path when making changes. Cc: Li Zetao Signed-off-by: Liam R. Howlett --- mm/mmap.c | 45 ++++++++++++++++++--------------------------- 1 file changed, 18 insertions(+), 27 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index d7530abdd7c0..99c94d49640b 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2659,12 +2659,11 @@ unsigned long mmap_region(struct file *file, unsigned long addr, * Expansion is handled above, merging is handled below. * Drivers should not alter the address of the VMA. */ - if (WARN_ON((addr != vma->vm_start))) { - error = -EINVAL; + error = -EINVAL; + if (WARN_ON((addr != vma->vm_start))) goto close_and_free_vma; - } - vma_iter_set(&vmi, addr); + vma_iter_set(&vmi, addr); /* * If vm_flags changed after call_mmap(), we should try merge * vma again as we may succeed this time. @@ -2701,25 +2700,13 @@ unsigned long mmap_region(struct file *file, unsigned long addr, } /* Allow architectures to sanity-check the vm_flags */ - if (!arch_validate_flags(vma->vm_flags)) { - error = -EINVAL; - if (file) - goto close_and_free_vma; - else if (vma->vm_file) - goto unmap_and_free_vma; - else - goto free_vma; - } + error = -EINVAL; + if (!arch_validate_flags(vma->vm_flags)) + goto close_and_free_vma; - if (vma_iter_prealloc(&vmi, vma)) { - error = -ENOMEM; - if (file) - goto close_and_free_vma; - else if (vma->vm_file) - goto unmap_and_free_vma; - else - goto free_vma; - } + error = -ENOMEM; + if (vma_iter_prealloc(&vmi, vma)) + goto close_and_free_vma; if (vma->vm_file) i_mmap_lock_write(vma->vm_file->f_mapping); @@ -2778,14 +2765,18 @@ unsigned long mmap_region(struct file *file, unsigned long addr, return addr; close_and_free_vma: - if (vma->vm_ops && vma->vm_ops->close) + if (file && vma->vm_ops && vma->vm_ops->close) vma->vm_ops->close(vma); + + if (file || vma->vm_file) { unmap_and_free_vma: - fput(vma->vm_file); - vma->vm_file = NULL; + fput(vma->vm_file); + vma->vm_file = NULL; - /* Undo any partial mapping done by a device driver. */ - unmap_region(mm, &mm->mm_mt, vma, prev, next, vma->vm_start, vma->vm_end); + /* Undo any partial mapping done by a device driver. */ + unmap_region(mm, &mm->mm_mt, vma, prev, next, vma->vm_start, + vma->vm_end); + } if (file && (vm_flags & VM_SHARED)) mapping_unmap_writable(file->f_mapping); free_vma: From patchwork Thu Jan 5 19:16:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090337 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C50FCC54EBC for ; Thu, 5 Jan 2023 19:16:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CE2688E0007; Thu, 5 Jan 2023 14:16:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C6ABC900002; Thu, 5 Jan 2023 14:16:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A20D18E0008; Thu, 5 Jan 2023 14:16:47 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 843E78E0006 for ; Thu, 5 Jan 2023 14:16:47 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 584F580421 for ; Thu, 5 Jan 2023 19:16:47 +0000 (UTC) X-FDA: 80321702454.07.49660B5 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf09.hostedemail.com (Postfix) with ESMTP id D0A4A140012 for ; Thu, 5 Jan 2023 19:16:43 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=Xv0oiZ6c; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Nj7YFai0; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf09.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946204; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6hunqgoWf3+7qbnIUEV4yqvkvvDOOGXUrMH8nrK719E=; b=mjPAcP/u7yteTWHJKm3cSRnWlFyEv2BZjfiBOT96Gc4PuKMsj1+ZS7t4t3spv7sCMudayz VrNyg9OxhF65c4/XjpAerG0+j5fWv7inXxX0RypjxLVMHwB1hupqKqaZW9uASbY67Jl+eH w6HG/ynV1MDhSGqNSCH9t15I3RhYzik= ARC-Authentication-Results: i=2; imf09.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=Xv0oiZ6c; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Nj7YFai0; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf09.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946204; a=rsa-sha256; cv=pass; b=gtDaqpgtxPV4UV51rNUXtIoQB7y+LScfaFrAnx4G8+92R2FqukuKIZD9e7qAcmWMofdIJl pcVC3eHPajkYEdeRHMutY6t4tZeQGQQ+5JygYlBp+Bltvi7Au/5B9rx18qccFd6AhH8U4E T1T4NxB3VZDF5HCsVjUBixwEEe+qjng= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IU1Y4029393; Thu, 5 Jan 2023 19:16:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=6hunqgoWf3+7qbnIUEV4yqvkvvDOOGXUrMH8nrK719E=; b=Xv0oiZ6cMLGkMdsfeeKb0z+lIr5ep1l6BAtNJX4r3w5XhCJvr9bLfozC7R3zfShxLKDU QxmayKYRyyUReQYudKsTDh+c7PES6nQhh8Qkw6iEMQucn1lki+LgNHpBrCqAuRsv4e07 g4n31uEbi0cG8S1Bvie8eVfJPIpSfQzV8W1oH2NCbX4t9P098+vFj3bWObSPXkgkc8D+ 87CelgY3I3U0Uf/0RKL1ECkC5S19eJgVO8I4pohqrkscYuvnmghMPVhMFGsvNj4Smno2 cdm5DsYbqJ9xlydFZNcOoKlUjTq9x/eWcbXPNRrDSClr3imhnTJfNdOWnMx5lGQOtMoT 5g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtc0asrnp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:42 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPk033688; Thu, 5 Jan 2023 19:16:41 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mn4HoRLogHK62PI9FwH/ZEVLdYnh9wKjKK4JqQjiMLw9nQG0KU/DcaNP1Tj2d0D7of+57n1uwh/bbsN2TfbRfoyeSlqJXQsexTDgvFRa3rFdXkKUt1eeCWIPefGWFAodbm6syopRiA1u1PKIl24l5SMVKpYJvD4OclNRXDO3KTbaHFJouuAe+4eI/MZtRM5Z7Q2Bm+IWlabD1kYq9h71rYyPxrG73aq2ksuzU5lfPBC5i+YnoUjBCmYgXRj2rZmkyE7s5Y2V3q0U9JJQHN1oI66a5wOpGXhacjUyn0IQmCLa4OfqkuJrBVFrRlXKQKCxJxmTynERe+7j3W0LKzc7uA== 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=6hunqgoWf3+7qbnIUEV4yqvkvvDOOGXUrMH8nrK719E=; b=PSxBYzqjU6CtKLOtd2dXgDwiDD/ZiRU5V4vDvhuHE6Fa2scvT9YZGGnVSJ4MOckQWrXh3z3N6/8orKR1aQSKnaY+BqItxvzeuZp9HYW8c4c2+kBn2Lwpyq+KR80hEgbdiZsbenRisMlGW8L2bGsIBeEKv5I0hvVIOYlJjqU6VReyN8kxWnogfJ1Nlv3FRpo3PcYCcMJqZrRyUFLo77TiJVTicjV+aMp31OV8wMhT584DiTfGQBo3jyCRgZD1owjE8I3GlW2OkidVLwOZ5ZeMSBuUZI4v9VOC8iJXLsx7nYeSpq7+k4ToSAbaUgPM9g65/kjoBYws5KL78ahPeSSJaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6hunqgoWf3+7qbnIUEV4yqvkvvDOOGXUrMH8nrK719E=; b=Nj7YFai0sYyRzvY5JZ7JuGTy+AkuaNHQ7n5sh+Xp0nBhYN9IX1JmxToJGUxZbjLXkA1KrITiKDSUpskvkLN3KTrygqXXz82lDejHlgli+d9q8Dl9KDJgP6hP1z44fc46dnPQ6+BEL5t4aK1yvCjWXBTn64ldSAfQ260VXdniCrc= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:39 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:39 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 34/44] mm: Change munmap splitting order and move_vma() Thread-Topic: [PATCH v2 34/44] mm: Change munmap splitting order and move_vma() Thread-Index: AQHZITomplNj3iLyTEejKFxfL0mibg== Date: Thu, 5 Jan 2023 19:16:02 +0000 Message-ID: <20230105191517.3099082-35-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: 1e31cfa3-eaae-4dd1-d848-08daef515eee x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ANnfsmW1KXWJieY3o6UU+VkhVxiaIqxpcOTzGX6SrIXSBsloNppW4CAkCj3Cz06I1thSvzKHYXdjlgJyUNXu0CQa2WSacsns7tAvPj8qKlCnx/96g3yEMU+ePnH2tnj9KKXUBvYLuZKgr8j3HNYUmc+XZH788C94gHHSNsbS7zOhMDtoUNISlvHKGrAl+ZFpuH6TFaSKXtxu+ZROeeJeS3XwpWVPx0A77mULtP+x92yQQSW1AXn7ylXosEVWSKKX9ov8DLDQRlnLU3CYsSTn4E8Bg1v9Xg0rOGAi2c6JehmRmB4GnGSkcWtRfqEa26tXzarL5rX/53Nc1hCRfdUmBS2hmCLx+7P6Usdpw0DXmfQipQBtGmIDHR1Nh+utsKIIk0JPSbpiOV2cV0MvLnMhDLZGC6WyQCcaWre9zwEBy9wfDoKru2rAHnLjklNJl8wgNX2dcff5UBaLFHoqCDBV2NLCUDyr7uQM7oq57DEAEuMf6GehWzoQmHL41waUI1YOA3cGlprt3TYS/ewQc2N1/fR/VXfpGdyaIIC8GPx4UdydUMHOWk7Klv9sO3lUkZXO6zzVhTAuaQi3hUhEBAH5uFJdv2ds99H+z8vRfj47PwZHG/UPotC8WHqq2uxaubr30TZ6BUsPQyi89mN/D0zNfwi8vkft2/eNGSMoO9O1KHNb4QeWVmI5+sKTR+8lAT3MIVrW5yjN/GPsG4Idt0ZdbQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?mvFtErP5Na8f+EOJ1wdvtzA?= =?iso-8859-1?q?kxbaGdz+c0AmlwmM30c+pMHuXgwA5+3nmdckBS6RN0tm+VvhirKq+YTbqNc2?= =?iso-8859-1?q?V3nXXkntr+1uWD1LLCEqFgJfBqUpkw55EekpRQwQ9J8eBZiCIE4hz9yjyPhL?= =?iso-8859-1?q?2bRf4vbJFil/faISn8yzoVgWbGOCrm8pVjJSc6MCFYPi4tTq7bSRMday7e2+?= =?iso-8859-1?q?Cr5iIiIL7AxA4rwh58/0Dvn56iMu72A4i5VCXk5Rd/zS+r+R4QTnZ9lUOYJv?= =?iso-8859-1?q?khJ/WTrMpt7d/qzdX0bCRohSIGuWpHvR6NdgQ7+Rq4GokAhOhlSHLB5xbigX?= =?iso-8859-1?q?UNlrQDJ7brITOeSCMZiLAypjt4c3zdUj6UgTOAKvf8ta5Usng1vkvcWLaHk2?= =?iso-8859-1?q?UA4WQ0NrCoCclrkFqaY5TYutY4tI9jURTyr6mWDRg2SNNp9fozRqdbaxDL8k?= =?iso-8859-1?q?To2nnFWXQR51TusRktywgtCtVBNe1lL7KXXJt42uIVKZAWyxMKQLl7VekQ3Y?= =?iso-8859-1?q?DkLr/qXkKRLDn8ZxLyg2B4qc2pUlx3c4Mk93JLCpaCUXacq/10JCqbTpmXMf?= =?iso-8859-1?q?peae98zZ6XnusvwOide9e+5A2IVB5KwluMpNZBzpsP/A0MyPD/5upQzhg7C3?= =?iso-8859-1?q?gUkjCZikcRuu6WTP+Qb3qaQI6BBMGIwGE/IxPzmOBeX/kJpQhDX/5NKEY2P0?= =?iso-8859-1?q?1q0ihMJZ5O2WxWEn9FED19FoIo3cq99FywwCgmAC6UeGj0Zfd3IGNAMeCyTU?= =?iso-8859-1?q?PV2UhN9HXPqbh3ylLQsk0wMDU4o5BD75MQKXJjrMg9Nwvs6hMNWta/WtKWNW?= =?iso-8859-1?q?jcIlNOlwDYMtutvFYnYzqdtc266aptJW6X1/2M9Vlo0n6yTPlETbDx6/HRJa?= =?iso-8859-1?q?4uRViiZvu7tltZD/AT4M6Y1BpwXYR5GGu+Jsq/DD8+EYJ4IqlGmnWI8l8psA?= =?iso-8859-1?q?vv2OdOu+EQj/uOTdazUT1U+7CQ5qLktK6TQq4jQeXpbPlD1JlHspy4LP1DXz?= =?iso-8859-1?q?xeRmPel82CV8Wl8BNiE7I5h6wOia6s6IzVYK2ideMfyIKCjJflygp2wr/Xoe?= =?iso-8859-1?q?bhw4L1HwAI9G1gMLskE+/Yz7GWGYRbuWipBwG8Qwj48Uz9VuHKxnBwT8ksIy?= =?iso-8859-1?q?NZN+4rSwsKeVKKLtsPfMVrbde5w+bgOLTU0ti0yIhtHRwS64m6K670A5lcs4?= =?iso-8859-1?q?V2N4Xpai0RbM0dciUCHNmzI+EDITNPELJZ7hEszhvogEuck8Xyz9EBOFUfTe?= =?iso-8859-1?q?Iw0khVCwF302HpKemgQXapXJNZX44jIFFXKYCGTa0RqfNpfhsZ7EVN3qxiL4?= =?iso-8859-1?q?Q3lUGv8ZSVzEsywg9jJEGejEbuJ9ojyjDTjbv+GCEQ54fV8QFGQ4Hl3niDMU?= =?iso-8859-1?q?HKmDgAduV1tvLGhf1dB1xsXNcB1wXtA3G9pN2ZmeSE0I97ycgED9l7zJV7nN?= =?iso-8859-1?q?/R0Ys6llnpUC6E+tHZ8jS1dE/J0J1ruQLHsOPw/fxlvgmeqG49r9A9qNeVIx?= =?iso-8859-1?q?IFRqQaAbt4xtQQZWOeIBbHhbpnzuw9BRFQgDiWql7TxBpx40q23ixX+dQwem?= =?iso-8859-1?q?uJtOvovxsBvBXogHB9s8ZGX30zNZXlOeaLsSwv1liBbToEdjr7NoGwokJzbc?= =?iso-8859-1?q?YrB19VMLEAu0mD0jklUqRVD3DiKfPg/NkRr0k6g=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ehBDhUStFMIDs1zTZHkMuP1nQStL4ELr/e9N3n5vsJMltvMrWFA+n7p+fpLyIhuGMlkEWrslKCmQ020GAoNGl2Y7ADyLyAIB/BswHuLMiubFk8e/pVu4FwWItFiQ7oqay/HmyOcifolnT31JRYizBuTrou8PBLovuZkvv1MwgUjLVFnSwcHw3UiiDsD5Lt+Ew01pXVQwPib31r1xhalbl06+H28JCWfmYNoqDWu0rDVQ5MZnNuhyOpREFV/BFiZ7AseFYo/l+nfm7NvccmBTIrJ0ujrvbCG4mOrp/QrTgFMqHi1ZMe3Kw5Og2g+dXCPmCGaEUltlZy0VXkzpG5U6zbPE2zYzOMKAIHxA8URonLkrk4jCpjOOrCHrQ+3GepbmhasR0KJpWwWsnDt+Ju4vMLR9JkdHNMUZSDmD98vdMN6Fk5pehXNT2oeQ70o1xItm4T0mCaX0ZiBX0hTHZgdcMCQEfUFkXuZ1AQyMveFEpyVHufW9PV2GbSYrVfXIvXsedLR3rmQ9K8nu7Rbm1QDedncd7Uzevaz3EiXV7WrgyWe8DdM5FYJDmjCiBkS/4Gn3iwTaAS4WLuRjpOJSYeJHWWuDYR1QvBbZi7Vtn/JJdzyoLvcdDq7HcgX9bj7S0JpqmRMOxuPhOvBLtMT59wQswlKaxplQWpaFXIeMEJklGX3m54ClxEQKR+PvTbRrXqUzKIpNXpcdqDE3ynYpDTk/9S1zoEyguaNTX035XkB20ImyfLgSxZyE94ITmerA6Bw++T9ay/bk15Z6683X86Bcxu5RSZdwVom+YUX1nrSPPWfJ9kzN/1xFuwuKmztT0ZoaK/wqDvuhMCfRFu5g0kxwfiIpW2u9Kh5CZ03GoK8rSHyrbC9xdunZ90F+abonFM8OoYhCNXC4Rpv9wL/33fHtIg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e31cfa3-eaae-4dd1-d848-08daef515eee X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:02.9846 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: lRBXJg56Aa+f/giUwqUwNXtF5OjUBPObQWKMhQoCoxQpAA8rQvIjAu2DJqUv8fbg1TKk34/ZvBgJteQ0DvxTWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: rBfeTAkRHqV57rChOTjXUv4jWFR-D5WI X-Proofpoint-ORIG-GUID: rBfeTAkRHqV57rChOTjXUv4jWFR-D5WI X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: D0A4A140012 X-Rspam-User: X-Stat-Signature: nz11dao47nwg7a8izoo949brtb6d45jz X-HE-Tag: 1672946203-472060 X-HE-Meta: U2FsdGVkX18CfuJOzMdSl7yJh+apbKh32CN+djeUZqvkXdBlFPPyPiPwBknpYtIfNzzodmqfTgb0TIc49/SYlvV5jFl8m82AVvJB1kPatjZT3ksK0VMyFDa9dR4Qhnp62j0R5OPohEc96U62zC1FhX2p8cIm70VjkZdRHm/cdfKjBfco+bvkSraP/1gmuhQjrhGy/Pa6GwsqhC+tVs8NWH7B5FSsDW3m1PutLkYNQstW7McWMbUs74MduDo702SBaql2wgIc5HNfBZ/rURZ3cXM+9u2AgPcWdaNsNgnR2AgvP/veohOEldme2gKRgMJdcXPeiz26ab8e64zaVqnRy48lEeDCm3WHKuYxYt1xlpW8I5fN/++1af+Sg1RoDqpEtTCnc0XCnpp6+7fmR6sD52ESucW5mbyDn6z4kubsgMb8RedHgy8MXMJ+TtMEfNngncuSLpDVrOnhRZbU6j/dHYW3Qp4/zUqC/erL/PEzAu5jiGR+dgLC50UIbA8WaWz5hNI5aN0jqpxXt1nRQfP8HNM+lSuLeRjgUq7klyKlPwLzj30V3QVPCfrm3tQzoSj5OfUZgVFjYq11RR15EecXHpIQ/Oor6oHJA8fo9jAncno3D4almg0Xx9Vq0P5fmVh3jDFWWOBOmLzBu3i9tGf5ml4zgBtOoYwg6FPzZHL0DqbTeHnbA3JbZMucGOqaFFHXl93oZC7Al/l86k1LAx4ROmpyzPBA9qoAugJCxra/yknmqY1vzgpW8U9KhgeNWHad88pB5t9q/x9jELqsa8MZ49yimnCLrKNHgENCR1Ra5Wc0BT6UYQavU7o4265mKztT8lrHjBNCT+l7VY8s7nXcc9qBvkhxnDHGzEQ5OwGqRxQkzCADanfiSqNhDB5ALe5VI4HVqPv7WjbhzPMKOnS8LveCh5Pjx+pwGqn2bN/aGhc6TsKb0SVgNMZsHYB94BUktGZfrctnpOZ7RQO2Ugb UiiJRQTY RnYheTMmEfOIa+8BIuxotg60QJJfO4o8Iyk/fCot1almTpqq6FDEnmgo/j44OxuCO3ixrRmOzQWcBPIvNLNk6jwo2gxwYKDXhZLMmHtawZSNuYRxyEYoUOiBq7p6diLK//rxiVsyQFm+xjO3C4/pxK8mxVw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Splitting can be more efficient when the order is not of concern. Change do_vmi_align_munmap() to reduce walking of the tree during split operations. move_vma() must also be altered to remove the dependency of keeping the original VMA as the active part of the split. Transition to using vma iterator to look up the prev and/or next vma after munmap. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 18 ++---------------- mm/mremap.c | 27 ++++++++++++++++----------- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 99c94d49640b..c1796f9261e4 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2387,21 +2387,9 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, for_each_vma_range(*vmi, next, end) { /* Does it split the end? */ if (next->vm_end > end) { - struct vm_area_struct *split; - - error = __split_vma(vmi, next, end, 1); + error = __split_vma(vmi, next, end, 0); if (error) goto end_split_failed; - - split = vma_prev(vmi); - error = munmap_sidetree(split, &mas_detach); - if (error) - goto munmap_sidetree_failed; - - count++; - if (vma == next) - vma = split; - break; } error = munmap_sidetree(next, &mas_detach); if (error) @@ -2414,9 +2402,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, #endif } - if (!next) - next = vma_next(vmi); - + next = vma_next(vmi); if (unlikely(uf)) { /* * If userfaultfd_unmap_prep returns an error the vmas diff --git a/mm/mremap.c b/mm/mremap.c index 00845aec5441..98f27d466265 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -580,11 +580,12 @@ static unsigned long move_vma(struct vm_area_struct *vma, unsigned long vm_flags = vma->vm_flags; unsigned long new_pgoff; unsigned long moved_len; - unsigned long excess = 0; + unsigned long account_start = 0; + unsigned long account_end = 0; unsigned long hiwater_vm; - int split = 0; int err = 0; bool need_rmap_locks; + VMA_ITERATOR(vmi, mm, old_addr); /* * We'd prefer to avoid failure later on in do_munmap: @@ -662,10 +663,10 @@ static unsigned long move_vma(struct vm_area_struct *vma, /* Conceal VM_ACCOUNT so old reservation is not undone */ if (vm_flags & VM_ACCOUNT && !(flags & MREMAP_DONTUNMAP)) { vma->vm_flags &= ~VM_ACCOUNT; - excess = vma->vm_end - vma->vm_start - old_len; - if (old_addr > vma->vm_start && - old_addr + old_len < vma->vm_end) - split = 1; + if (vma->vm_start < old_addr) + account_start = vma->vm_start; + if (vma->vm_end > old_addr + old_len) + account_end = vma->vm_end; } /* @@ -700,11 +701,11 @@ static unsigned long move_vma(struct vm_area_struct *vma, return new_addr; } - if (do_munmap(mm, old_addr, old_len, uf_unmap) < 0) { + if (do_vmi_munmap(&vmi, mm, old_addr, old_len, uf_unmap, false) < 0) { /* OOM: unable to split vma, just get accounts right */ if (vm_flags & VM_ACCOUNT && !(flags & MREMAP_DONTUNMAP)) vm_acct_memory(old_len >> PAGE_SHIFT); - excess = 0; + account_start = account_end = 0; } if (vm_flags & VM_LOCKED) { @@ -715,10 +716,14 @@ static unsigned long move_vma(struct vm_area_struct *vma, mm->hiwater_vm = hiwater_vm; /* Restore VM_ACCOUNT if one or two pieces of vma left */ - if (excess) { + if (account_start) { + vma = vma_prev(&vmi); + vma->vm_flags |= VM_ACCOUNT; + } + + if (account_end) { + vma = vma_next(&vmi); vma->vm_flags |= VM_ACCOUNT; - if (split) - find_vma(mm, vma->vm_end)->vm_flags |= VM_ACCOUNT; } return new_addr; From patchwork Thu Jan 5 19:16:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090338 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7CFA7C4708E for ; Thu, 5 Jan 2023 19:16:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 05F698E0006; Thu, 5 Jan 2023 14:16:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F2820900003; Thu, 5 Jan 2023 14:16:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BF5BC8E0006; Thu, 5 Jan 2023 14:16:47 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9E04B8E0007 for ; Thu, 5 Jan 2023 14:16:47 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 8174BAAE2C for ; Thu, 5 Jan 2023 19:16:47 +0000 (UTC) X-FDA: 80321702454.03.5306645 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf01.hostedemail.com (Postfix) with ESMTP id 0B1A940011 for ; Thu, 5 Jan 2023 19:16:43 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=kUTv2DV0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=DVctm0WJ; spf=pass (imf01.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946204; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=243tS/T1F9l6g47RsLtVG7etDV8WRpTgO/rf9piXa7I=; b=zUb718U2k6nde7IhWlfoLUgBwBjx8Xg/Y+TM0PQ0Bl0Gxma+kBrdj8tjvJzvTS7OQ9ibiZ Lv2VHdy+BqW1KbGacYKyUCAzOwDE5fb9qw8WptWN3cuxhYP5cUQKizcZEo1PUjjwKzvTFS KrfnUIDOZZA/CwtqzMW5TBFqwt1PAk8= ARC-Authentication-Results: i=2; imf01.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=kUTv2DV0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=DVctm0WJ; spf=pass (imf01.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946204; a=rsa-sha256; cv=pass; b=xC6fQh+0leKI0knPoYmXW7EDfcwrQ4gygLpzpfyc0a9zoXbK8CdBqelpmwLn2UDQGMt0FE cB2viHSNnPMJ85UkDc4Y8vVDw+k91IK5RsnaAIgE5Gm9K/TimqzI5rfaMeXU/iK/byODes E6e2DEdUgJVJBCYrWRgyvlyi5JhE1ig= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITxhn029133; Thu, 5 Jan 2023 19:16:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=243tS/T1F9l6g47RsLtVG7etDV8WRpTgO/rf9piXa7I=; b=kUTv2DV03TBZ3Tp7/xuZ4Bhflu0MqP68pN7rs2aJ3z1zFJkeNMLc7+miKzUOifWDF8Lm /VzE0mRpW8cr4DZuROj5gGq+n8CF5PKtPpjeZzXeJXYd9TEilcYnqIdRub7KEog3mIwP revppMlKY+Eh3funiEN9XnMC5jFoQAX783X6DFg0NRXKE71WftZV/L56AdOwrox/xrtd ESIjW0i8BgvhHnx8q4iqEzWrlnQRpk0u25tdCaZjeUJaZUSv227NF7m3WmZ7CkBULCng PAmSZjN50/NovpEEb74BmSA5sw4T224StHKC3UieERPtj/OwFbyDQyiE167yyXN6qeJG Yg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtc0asrnq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:42 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPl033688; Thu, 5 Jan 2023 19:16:42 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-6 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aJprloBZ7kEzqBpDVKYAWqdA1hylrszm8EYgjm3IV0+m0owRhSNr6o+ge3RThY3ML5UBGyQTV0KR/E3KQ4eLwUpRz1eqC8i66JXX4JoBrxKm3ch01t3yWOZ2Lg8jf+NOIAm/HmASdBWuGmzfyq3n7yMiJPKkZvDevs5W8Lpfrw6ZZECCllNWGlO5m4UGamf+0Kx9TMTyxJEUANjKcRA/M05qU7K5yZuKeWfgWzFa+/eWJ4OSsrWour2fKyb84B6AI3xnhGuClllEneiZ1ezQXlbZ33RGlYRozc/X4kdLvRfjULCiUd4w4VHyADxUeGtwTqshur/v8fF5n+95XMehyQ== 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=243tS/T1F9l6g47RsLtVG7etDV8WRpTgO/rf9piXa7I=; b=eljM28I1TUoUBhGbxOX5J9c1kRFJUSRU7F2O/rW5V5vY4JwH6GIrPcaXwFZkxHlK9CRBb8OJF5uVjh4zfkZYgYCtzBM3RGEMuvLKTF3yqfs/vnP2/Z1HShVJjZplKgj+k5F36TTrPNts5dKQPu65Oke2rGj7/JvYMyN4RSEFxJDBvhR1cI4GMLLqox3uaQ0CnFb7I6hSOBUwfZzA8QM57LypJOY4EIUV34j1O6SR4Ka/ogaRpFK6wcO0GSLZnXpkW2VFImoZ6m62BZkHTTyYHYhmCPj8N8q/6Ebfiz9iH3Xv/pmReUGJ48KSUYoC9/9p2bgMglSLbcSL3PrPSShArg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=243tS/T1F9l6g47RsLtVG7etDV8WRpTgO/rf9piXa7I=; b=DVctm0WJuBzyVRzN5877nIT9J0PFw/X2akLQmIt76Uk4x3DuYUYPMPxIqW97poyeYr+m1dv2aR1XYK/QIg7z+pDLiP4xBhRSjw0dE7PeXUNgnKoTp0VoALRtTFyk+ipiqC/A96vC2iX/JuNkcobhcBJOXnakdJmZjLBgN6tYmOk= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:39 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:39 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 35/44] mm/mmap: move anon_vma setting in __vma_adjust() Thread-Topic: [PATCH v2 35/44] mm/mmap: move anon_vma setting in __vma_adjust() Thread-Index: AQHZITonxl3AVzZR6EC2H161WYt/yA== Date: Thu, 5 Jan 2023 19:16:03 +0000 Message-ID: <20230105191517.3099082-36-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: 850ad9a0-8fd0-4638-0fb8-08daef515f28 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 71TpEkogUvzUXtK/IphAtECsWQMxuUnnM20qhIJvzhAsKlYMhPDTQULrXwEG4ykRyxlZVHmDb7oK5Vkk/VHp9mVlY+MrO+SXZIBY97YUdeAuXyPgHr1bcOZvf7YJAwebvKCoB9JT4T8Z7lkQkYrARrfiqpR6fxg3yVaEgA9DVr8qi5lWdcwkapoim506tE0YpYyWRoWaqsjZrW1brBWQB+DfI2YC/G8LRuecBEeEU38ZSajM4L7+DlHS/OwXfVwnlnP9MKUoNsvwcwdjzM91wznB3UKH+T5WrCbSCfZKDuw3ZUA8awW66HShrh/9Y2l+fMMAt+Pzo1YIsjV5DStG1tSsujRSai3a/LinCsacz7YUKEJXWS7Ttn1cfZYDx9Rw4XZTg62D3KfizBGkQ8LEUH17/xpEPZBOkoJ1zroClAaCXC87Stv4vjWcIzcOxu+/6fSBzT7d4kPGasyeqq2Yejs4r5axrHdG2ZDHPS8G5fMG5w1MeF9+SCPRM1IzO6hDhenyOiurf3CFmsX6ARGDlol62SCUVs7HVUrP94l78FLSl+xUtJK65HHd3F6XXDDoMTso8ClQ8elrLETUQeDdfpiekgwVmxsxfzj8Rdn3C62nWifGZj3eER0lnI6dLRsPvzc8AaiaEO1ADJmWONKJHJnGlWXO74Mr85wR627ziGQPLHiPHXTfjJ8VTTreXzPEfXbNkvv0SHcAtaAR6Tfx0A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?uEcC+vOVlB0a2LxhiI5zPOu?= =?iso-8859-1?q?+an4InSf5me/FtTpwMEdbCeMB8bQ1bdqumLBzvFsygnmzcGr6K7ZNqDdZUit?= =?iso-8859-1?q?8JPFZJ0rEKo9mJL6u9YQOIJrFUZ+Ush+SKoac9pDQIE136u/kVFaxf4/oqbF?= =?iso-8859-1?q?d5rrEP+Ilgi2/1urMufEUBPIRXPDwsmE73eVi9+wIkd1ufp/4XFYDW3NQi3u?= =?iso-8859-1?q?UzctiiFqAWdwohtrC1Lk2Hx5ZAkS2ZtjV/z0iZN2xgBUgBdA4KsG2LBXcbmB?= =?iso-8859-1?q?vS1f9Vcrgvn7UwJWpI/764eVyp5k1TfxuiJC6VKcm7rKq52C6Z/xWbB6eMFS?= =?iso-8859-1?q?1ESnVOPCazRkDFj9Skxqmm3ZohS2or9503jiP+ly1ZW3GyP7p7mJhV/1kwgl?= =?iso-8859-1?q?hjB9r9cFo4++w0mzD/kSta6/yEQ8ZfgGMA1O+zLgKMaAKR7eDcBKBqpeB5TX?= =?iso-8859-1?q?sQzzIwZH6BBoqpeetmGgRz5nYguOqhFJTBlZi7hjjlQH/xoCtH1Rat6b1i5y?= =?iso-8859-1?q?WROFVrxpQ59hfqklPtkDc8ftrXK8z2p/c5EQXiC+Vq1K41qZNY+/e3dbaDCb?= =?iso-8859-1?q?8gUyVCHV6yD7giyrK4TvMO6ZEM1L5B+ap7EDiYRLEMyzNRn46XLkVhQFO+UK?= =?iso-8859-1?q?ozLyf1waOKi9sujZwZhZ2RRXLUAnY0/NpGSm1SuN+42XQCkzbcRVHDNmfktw?= =?iso-8859-1?q?PCjX5t6vMyLU3toaxMR9kRMlHPrvYhGJqCoMlzFH9ofOOfdD/DXmjzvfAFCg?= =?iso-8859-1?q?W3+5QMPj75TJWRdpzpSlMb+o+vCXNBKkF8Oe4GI7xwFh/Lg25XJBoN+GTnjL?= =?iso-8859-1?q?athUWcFAdBH9yCZZ9v5py4WPENBi4cGL/RzfO6ClQflVjBh500PVWOYS7Ick?= =?iso-8859-1?q?4t8IFp5QkiQ6Evky3vleDBfDNu1TQDl9zIDlYoLPwYjIEA+eULRfLd8rKIU9?= =?iso-8859-1?q?HQMNQdmXhSIFGliN/IVUFzwjdU9PIwkjqQtyJlv6T5+4VWzIU+NgxcVmcX98?= =?iso-8859-1?q?2VelSaXk25qltYoM5yVxdOMVaMwjKFYHke3d3PoH7YcXMdnNPkfYGOfXoSZq?= =?iso-8859-1?q?sfmfxJ68DdTzUvJCiApz3QrKLwTzA7+ODScAs7980zO472bMg3/bI1QO4aIC?= =?iso-8859-1?q?n8gYQPX5jilZVzMQ0dFP9r664kgITGUQ7iTFAD4SvHsyv6cr89FWgY1fXldE?= =?iso-8859-1?q?uSx6OQBxvCFDfoywBCU7yMZmRIFDq0CmDUXSVen8R0FKA9lr0Bs61CUoTdx0?= =?iso-8859-1?q?QsKV8M5rWT2BZ5Q5k8qaKEG0loE8BhSoePNlWDehNL0PAPHCnr+zMMIemnj6?= =?iso-8859-1?q?1GL7Biz8J89mhNtqPn2c58WGjiAQYLqOkOISFu0+IunK11/NQ6ylQt1aBqpf?= =?iso-8859-1?q?zgQ+E6wjKAWdcNUioFp46KxPlUffqikVXbaWKJzNhJmNT5pjy+ZjuZPCghGl?= =?iso-8859-1?q?GhKd9im7kWSo886pEJ2uqdqbLNmUKvX76GepB63CHRZCD6vt0DDOn4g4dB6/?= =?iso-8859-1?q?1GXo2HjbkxqE5qrJJwUa5M+Bxh8lrdABKTRynXrRZYYcU7JzSxySSFTq9Cm7?= =?iso-8859-1?q?PXLElqkI+AhfD3xHLTSLCzi/tH2Vod+/FGgw1sLtkNCjYGsqw6sv91lbuqaJ?= =?iso-8859-1?q?9esf8WStFpXyg9PJzSkrN6u4C/Fh6lHgslqdjTQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: HwTGeRBL/aFng8OKLoavtT00qPixbHe8rBXo4Mn9YPyqt/+3TXo5Emc0XAEsSJsLq5uOEsdZQ/jSNCKOZ5Ca7ru+k35eTPoNlnrxZQcbgWCUZKPnENK6b3CvsaRxlqqx6noDa1xZ9fdFeT7kgGYT9CeXK8xM2CoNPtEAGZLhCRcFdTUKJSGCu3I2+PRdvnZsk4kdcuzhIPz4f/WUq4f5QT/oLpbm3RaFAZOqmyE+6/yomhssCkxxx3XyXxYxu3XZs2Sh0DkPvYNO9XLMOd40V5X1esKWvTiqMfabmxXLt+aGs14kYycVF6dinLZS23OL8kN94UBCoBm5bmbypxEVpOeE6l4mKm4jNAnw1dHGXz5F9/ACk6i2nCmcHr6qhOLcVU3wnRHvLKzIm8wy65MvSISf+jyaoDvqRugrLnmXK2stwpvb7g56HPl4ENuA+PgOkNiMHvuXqA8kHxgeEs+7wlwN4lMrBi2W4+3RNS7PRdW6Bn33XKss4YZXsdHBE0zr3/sVeeW9TwEEw1Mma0PkvfpJ83R8oKtsHfyRpux5J2JmTouL/RFkQmhXJogSP4nakqCCmywNiiKvQ1tOLzVPC9I4TViqJIlTB+qxUNLrWh79eMPtAePodWduBgDoov6E4pVDinIzytxLOnwsRldvQ6M5jNz5W9bcGY3VN6SnxbmIapAscAQZdrL9ptECtt2It6BWGbB6I9xP1eF5dv7fqnaXqFVGhaFmbztfVwXCDn3kZR8/VQVFKvFFLgMJosKv8uCMHz7l0acz8mWDzBInvh3UGxQ+aJzadR9i44xJh1YNnx6FPzEKCvu4lnD8j1r/fR3aBJoKA9IAYxiFFxv3gPpspW7dtYo0pglesZGNEBMDpuR5yCk63t/KJGUQzyVoo9u0ih8DOsHe9E1090ZGRg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 850ad9a0-8fd0-4638-0fb8-08daef515f28 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:03.2190 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D0RZRcqKn1L3XTX+NyBz46yuw8iYvXcry6YUUAq3fDNte28oV6J2HGtsTRxujdmBUKyiiFmpcInVcT9c5lbjug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: Z99v4kz7aAHsKq4szB2k2FXg7VogM_0S X-Proofpoint-ORIG-GUID: Z99v4kz7aAHsKq4szB2k2FXg7VogM_0S X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 0B1A940011 X-Stat-Signature: epjgp3dubzwd6x1tra4k4dj6nidcpnok X-HE-Tag: 1672946203-492806 X-HE-Meta: U2FsdGVkX1/AFHZRjLNHarZmRZo1/WCvZEHqMyRkEmYUgwTuywx3vrS65P1iXIwCugO3vqGJb48SutkQsROlKg9ogxO5v6gJjslI/FMVPXxHAGyCs7n55YSCtxBTcSvkEVtiVsP1g+y8hkef+NNUU2wEr39fg+BCl/ezQBnepHB0k1VXpYqbM9UKZjDAS/OU0qeVKfIRDdnMfa59TFZwAc9st5jW/KT3YC0HsY0QQgAqtrI8nAjV0SW+cNOY3tMRFRDmfcPB7+tltwB0NzpFfZoCqlbw/jwSo8plBBC+Jwb0tVaFqBv5madnA/C7cYvoKJE8aenY8OF9f/pttieyNm3MYZQd0OLUM4fGCY2ykUlRjzUn95pdmrSd41t7hxyCehylabZ9J0Uir+xL6kW8Ef+WbGEyhw3BRmAYwu5O8zU4bP4ZCJ9RIy5xMTNoq115hawlNzEGGnX/NFavuoTBi9Snj62wVKExtchj329gs6x8HQeKRZ9nAbusE6fPLle6bHFHRK+8LGhU0dg4p8/py/z+42oI0VSVOIzDM8YJjswxSAG9RZOezi1XTpO7s23mAL8Dg2Tq+9//3+4CH7Yksqf1XVRTKU3x+OXENNdRi4kWene7txpXZ6tThYEjiIwUEBRLksUkEaUgXwwYyhiOevn4YqR6ihXZ8w26ZsuZjyHpw1JoO7KUGYqtfyJK1T1+MZOOqXsQbQpkNz8boE1u/VfBIY9iahRV9323bEqJ7q++MT7AaI4aXP8t/elau3SkfiPqS+OdkaqUyjezRydBk6eg51l3SifaxLCI1VQP4MvZjqNx8w2SCgeU2WHrCj6Y6X0AvCUIhaJqT/O1qAv4aUSZUJnd9qL1s/qomu1PIqQ9UbFGyr4EidvSteDHyLSPnDfY4hSjgeD6CbPQ/QI5e91sAkJlAnqU7oqHh0BRoDLT3n2QL0CLCe2EUHquU2rS/zfM0IhIN4PvC4f4rX6 N5jojBzt 1vu7DVGeOAEG9ynSLensDN6CozngqFCanGoIpw2wp6P2OFwDqS0cLLoSJlV3C1KR4Xvfd/FG/A96bm5cgktfa+NpQZx+0cW80qcxUTEx60X89E7VoRAlWjdOSftvgDrJLlS/6//l/b71H+bO/QjpbAbRn6w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Move the anon_vma setting & warn_no up the function. This is done to clear up the locking later. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index c1796f9261e4..c15a04bf3518 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -744,6 +744,14 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, if (vma_iter_prealloc(vmi, vma)) return -ENOMEM; + anon_vma = vma->anon_vma; + if (!anon_vma && adjust_next) + anon_vma = next->anon_vma; + + if (anon_vma) + VM_WARN_ON(adjust_next && next->anon_vma && + anon_vma != next->anon_vma); + vma_adjust_trans_huge(orig_vma, start, end, adjust_next); if (file) { mapping = file->f_mapping; @@ -765,12 +773,7 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, } } - anon_vma = vma->anon_vma; - if (!anon_vma && adjust_next) - anon_vma = next->anon_vma; if (anon_vma) { - VM_WARN_ON(adjust_next && next->anon_vma && - anon_vma != next->anon_vma); anon_vma_lock_write(anon_vma); anon_vma_interval_tree_pre_update_vma(vma); if (adjust_next) From patchwork Thu Jan 5 19:16:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090406 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 140D6C4708E for ; Thu, 5 Jan 2023 19:55:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 82EA88E0005; Thu, 5 Jan 2023 14:55:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7DE1A8E0001; Thu, 5 Jan 2023 14:55:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6308D8E0005; Thu, 5 Jan 2023 14:55:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 5000D8E0001 for ; Thu, 5 Jan 2023 14:55:31 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 2188F1A0261 for ; Thu, 5 Jan 2023 19:55:31 +0000 (UTC) X-FDA: 80321800062.19.38C4F7C Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf11.hostedemail.com (Postfix) with ESMTP id AE8C24000E for ; Thu, 5 Jan 2023 19:55:27 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=qJ01Aj81; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=dbGCYIU9; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf11.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672948527; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=9wrLMq2gptGF3Uu0h1TPr93fT4zhbM9qkTOW0TghwWA=; b=yPxQ+mM/EU/X90B4LdqkSlqYrrlAqJFHZYTdDyoC7nVY4szywmWvMkXsk6/whtgsnIcNcQ prL55+MNwyER5xzIztANLgkfa3I8GUe3IKviz+lZlGz9EPP5fR3IWp9l3cmEEc6VdYHDhV 6IUSokFiTfgdzreNtiKmdUdqgKr+Ndw= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=qJ01Aj81; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=dbGCYIU9; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf11.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672948527; a=rsa-sha256; cv=pass; b=ZecgBzOMrGAWrKhRJ730jplyTwk4Id9uwgrBk52rIXInSfId8KjnFu+FHEfOvadxHfTzw7 uuc1UkCXcASEgdGsE6m0f4lD2BIZ/ZWZInY87Ub2eQ73BxNwZsgKQqGYYOtnJayi8iRRmM DzW+AJ3E26evF8NoSxw4jNoAo0IHTm4= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUHKS030049; Thu, 5 Jan 2023 19:16:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=9wrLMq2gptGF3Uu0h1TPr93fT4zhbM9qkTOW0TghwWA=; b=qJ01Aj81zYTyI7q+RXKrSWGKdFpAlwM8PEg6HjcTKTDSX6hrxCCJtZ5N9mqU70UZHRhm F3mqc9Hi58xhzw5xqH/UFWuaU+I5/mBTnbqriQuCPLc29YGGR77jhMUY3ZxmUYzqE33b W9VE+TUaq49BjlZ+MZ1KNuOnLEQ+cX3drXrjULR/yrJnxd6xBvPHwvzzR095POCfQN4t kY7+qoSlftJQwQf9FyIwSI9FmcijEiPqBjG10cx2iraoU0bdqzyj1B5xCA3uBUrLGRfS 2VkJ+IbpCvCcWLuGp2yKyAvwim2ES8yZQl07+/1fqbXvnwa9B7LO/4H5w9K49rGtvA15 pw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcya9kbr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:43 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPm033688; Thu, 5 Jan 2023 19:16:42 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lpKxV7byYKwjjylnf8i5f4e6YvjUiDtsjky3ssdOtvCzep2P7CYK2q5XG6MI3xdFLQ40XnnN9mjderumCuxdlZlS6bAOO+y6oM6QbfuIbp9GXNqRVLQtTMXg8S9JwgW/j89fhHghPnokApKdHNN/+BuOfYOETu1+AlV1FspQCbB7hQAVJi/ZdPviCMJnwTvUXQEC2oE/fX3Z3iSfTTVMerDY+e0CqNVG6mq50eFdvhUjmfNkroW06X+J4dMbPv8lYTCzEp0scB+AH7nDxKA1W8oWPz6alqriaBBjduHfeR3XFSqT7W+ozVc9UA1az282AKkkNm5DW3AQQSgi3+Pdpw== 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=9wrLMq2gptGF3Uu0h1TPr93fT4zhbM9qkTOW0TghwWA=; b=d9pi6XqQb7UhCVBhwO+rA0j5WF0/i5H65jQWP9extm7A5clq/hDvpMGjKma783i3zdieGAVg0COzYYLg1JMMyt/3lDORhG7mCWfwizH2t0GOLEa8MxCkZw0bvig3v61ro/9THBgAkx4sXwPpKEywSdMLSIYMoEI/7ESRzv8SZuT+nPQmOmGn3vvLtJSW7WHT24mF1kYJtx/FniecTDVzlj3mhjEbAiNNI1Zf1wUE7nr491dSbUDfbIpc4kSArvg/mTDQVp661Iwfa+I7MlwHDwFt9vMmj5TPCKEwIR3XyrMoi8QvV0CuMRgD1wVAk6vgndTsUDF7Moa+f7uuNib4rA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9wrLMq2gptGF3Uu0h1TPr93fT4zhbM9qkTOW0TghwWA=; b=dbGCYIU9mx03IbIOTgm712aCpaHp/UyHTJkM5qBwiiyAhAng+PDa/mG77XO4N3+0TlrFQJxq9I/eV02mtPUJTUFMsvHzFDjnOrnpP0pBRPfNx+PgMiHUEHTolTNuw6QfhurXh9tkOpDmGDgowBAp4tyJ4kmK6WmbnsAoKDh1+vk= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:39 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:39 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 36/44] mm/mmap: Refactor locking out of __vma_adjust() Thread-Topic: [PATCH v2 36/44] mm/mmap: Refactor locking out of __vma_adjust() Thread-Index: AQHZITonCFPQfkbt+E2tBznCmY6rRw== Date: Thu, 5 Jan 2023 19:16:03 +0000 Message-ID: <20230105191517.3099082-37-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: bb78fc06-f311-4a3a-e4d7-08daef515f5e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HLEpPFFAKaPP7VLGUU0LLWdWBZ34X6ayTJf77EIDK77rjkj87ad5GH0aBMTujfeQEcHXPS1fhvQZ+zCq4ZVN5KTKSBQ6TGiyzGAjC9kCY++y+6OdqEDc8ExlopbKMBPzhKw+BsRqgsvk3poudXKSuo8/+cawVC9LWmgwJHtGx70jqwOqS60IeSGqpy79BIzpxVIQHSbNNUDxIW+dwPb9Oas7JH4PcZiUHCCCUOrnbzH3IUsYnaZkgQ7r7F/0t8WB7ag5ZR7/nibr4ZxoCMeTyAEeo/MNBdf03HBQhVi1g/frjDAVZ8qwaPyrTYL4QFVZE0TYczDgsg+QH2LE6iDrc5TivstbGwvtY7zM+WynX5ANANeoi9yDE4QpZ+8kUesIvzlDdlSWnLF3+T5oHukSEA4uwwJu6TP02+0WAgBDv+t+Ix+N3VYDPxi6br++/K8nE+xNtHn5+TxGeHGYRokjHxhOu7Mvk7472dNx4Wy3u0SGPu0PTnAmPJGExJr6oQxe2LvFAW3DMHH69jG4YaTxT0qaLbXeg4N3Urd7vlU86dr76+YiWGndUSm4Pq0FgTDh0Ge389UzCItu6bCg4aFMf0hv707S+NDi/KWV3g5jkiMIYGZT8kpewlu1YtYvSdAXnlfs4hlJ4x+FgBBXxus61k7SbON1fJY+gmevp5FFlrP4sxWAU3/OnavmoC4uWaGYgJrEB64ZcyGoExC3gfzM9Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?0pYDpjZozaYk1oo6cAhZj90?= =?iso-8859-1?q?/pzgeq8lOugIzGxzbBTWI7TpCL+A5lFs4ywsT63bOgMPSjVPUfhSKM3z8Eu5?= =?iso-8859-1?q?CY1NqzHdW1eDff5arKLmSBvUJrKrWggkZVPhjFg0xjHKA+8XM4lIacCGAHrR?= =?iso-8859-1?q?hbPZlb2aLnzgFcg7h5Z4gDgEybSExNuOZ/E5H++AXeRCmJjXGPtbV7EA99TJ?= =?iso-8859-1?q?OIMbTNJ+Ud/MTTTi8aECXsrIkLGNR8QV2+MeRSwHlC/np8k/fRKR4W6FtjSe?= =?iso-8859-1?q?vzIs982iXjTqqGjkxy+KXGt7l0GpIyh9mtZptVniThCdtDcKWLf10ByV49On?= =?iso-8859-1?q?6d+8YmqRaD+5GuTp8It2TAdKW+8hD4JC0BkUZ5CdNNH0VReTmcKpOeeDi502?= =?iso-8859-1?q?RCZtmPXMRJtZ2NDlaZPeyXYjGdUTDUrd/5amfOf2jzi4pf4SNijxpJXnMAqe?= =?iso-8859-1?q?v5uKhn2s0frRuxTolgs6LQDYTetcAg6oP5AhNA/UOeYB6QA/GT4ywDWUwyJe?= =?iso-8859-1?q?MpI/J29HqxbuwblzRILLyVd0Cq7N2b+s3TsMxDHEVoMNm/KRQmZiCf24km4l?= =?iso-8859-1?q?qSrJVUxexnRXJcsx8DWXBALDaj9lImQ7TUqJGzAtkmpNOCJ3yFmrPftQ+Ufg?= =?iso-8859-1?q?Ld3ld9znHiWIMhvBlo5nSEa5wYVXWktEg08Fl/RgQGmx+b8DeGyVMObRp7zQ?= =?iso-8859-1?q?xJ+ylh/x69eqVU0gSIoQOKIjFttU8cQDfxrHIaAgAp+7aLrLgSUR7Fw1A8Q/?= =?iso-8859-1?q?ef025Bv2S+oaXVB2iVWyNPrPRfV/I8HbYjWWYoQISi2m3oftkCiuRk2KIOYZ?= =?iso-8859-1?q?gMznZNp5gsw209SvLTHCLpySneUilQn0UgdztX5M0/RSt0QLfYA8EG5Cxw5F?= =?iso-8859-1?q?KkZha650kHOj0qf34prFO5Kf62h7DwcX5qVpJRJVWzYjrjpehkRoGohBAnOu?= =?iso-8859-1?q?53pB/Xbf7Ws2WSkNnnQWE5caaWjNkTM93g6TblG+szSavb4TqbaRL8GMGkMm?= =?iso-8859-1?q?/6AxwXtShXcL2l45C/MJrKczGmL3sKH0klf8qUUx9xs7JRyADQnEMcJz5yun?= =?iso-8859-1?q?LQzaV6Ntz0okBclPD0jUgJQ+NAS8Kxk7YMT/+kO3hFKvXzO/NosTTQoq1ow2?= =?iso-8859-1?q?bGHL3liEbohvhrvu8gd5sG4Rbkl+DI0QDHdSopGrC0Ns6osu6Vi3FIuKSwrP?= =?iso-8859-1?q?BuFPXguG/k7QomSoXzANA/j2mtaKOhviqyd7E3jn3fpcqv+rh6wQlz4KRivE?= =?iso-8859-1?q?HYz4SIB7wH7aEYPLSCN9aQ8a/vjtKkyrVC5TztDJMkYP08uGK13YBvNK3l0B?= =?iso-8859-1?q?G5Rm715WMVS8+ofmCbDl09cUFM+dPdZq92QLoS3uo6tVm/4eMR/5L6aLkHxD?= =?iso-8859-1?q?IueHEiHVbXu36ZxZBMyU5SZc/4UpeQlipste95aXRTESMZJ1Kis0KlrR4UIh?= =?iso-8859-1?q?HEUq7VUe19aYLk9nnyt7fdx6HUlDR/q+Fp9YaylzcYwBtyENsHqEYGRXoI7A?= =?iso-8859-1?q?gfbN9UEttlxiPlpU5PxJQsU6AFZQogexl8KB376Ye8HNcf6/YEGn+gYrLG/6?= =?iso-8859-1?q?W3D80GlN+xJzQw32wQ/sagEeYF4JdWDYva350j30xOyst0DsLq+nLYz72Xmf?= =?iso-8859-1?q?5dKCSD/qxKkFJwlC0j270Vy+z6a3d6DI2k02kaQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5C12oW4giruVFNUBuPQsugdX9HYPRFSOxWkQ9GwLAO/Vn9HInWlK+gIOmn9Rbl2r7W0sXsKKgFBtMUDlvA1vlGjjFmOrjmsGCqmVTWJstgk7T2SFXREim+RnP2QaiKjdqro6ahveyMMm8hLRDsQMrsbejqCTfaCBQVHcHv1USpCPCcC68rOHnTj2mqKBvNNYSL9mcxbNbhMpfeO5eqcBFoT107+vXTVb9CRIYnwrkNz+JqTe5pcD4bhiAdDdeVgPZtSap/Rxp6PBp7pOwAdPueyhvaALuPX2ApJDyySsy0+uwLX/C2vgB2pbB6jUxalPJUvyhE0225IbJxNx0rF88ll2oRwThde2ZdIZs5pcRMlvhwVolchKrLPzlz/da78Hkez1ZaXT2bLUf2GZ50MY/PdBBh8Ps8p8tKGRuZfjoZUbeTMBvo1dzaCKJi2dMWBeYabSHz6aFGW5IhWVmpNnxsTehQf871Ml1aPnoN6LLsEK9Iw4unmaL3z7z0/p8U41w/M0nzTUq79xeJ6ZZ/0C7P+7HZqHSb/i/eRrMb0ttayV25ouGxYmFl6QoUm+0TUDt+MRAxkZvJyglrluI8VkX+/FWhmRBdDlyEqSAW0JeESnQu5wlevwPY8CjjsCrOVsbTKXhPpxL2PLm+BKi/EidEC44NTEfgC3pM9YGf1RBwrM6Pliz98AYYvoumW+knclAiRpTpSHFxTavMPiyjuYFLm1xHBfBau1sHrxWUu3mizcejEYkX6Wppul4tuSLrwZOusipd71BC+z9FAqFGAjyMT2vpajlu345CJ3GjsKphqozU1C2IWI0LFA+MgavGBqtjgdmPScYo9biyTkGGhH2sqhwgFyWOlhmnGJ2MXPxQFcBUUInD6r/l/2LYsWEpYcMuRl9STooZUi7MrLIXM12w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb78fc06-f311-4a3a-e4d7-08daef515f5e X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:03.5783 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: RBgABYAh4jh6CJL3HDVYbtfHHGmvDSZn4aHebZ8bWmEyJ3O3dSOfmR/CGE3o4OjLyaVdX9790XmM2Xb2jrx0Yg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=771 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: tJesb_9O7EsbWqyu0HTUM3sZlI7IatWe X-Proofpoint-GUID: tJesb_9O7EsbWqyu0HTUM3sZlI7IatWe X-Rspamd-Queue-Id: AE8C24000E X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: ig5ag89iqj5rq8if11pxhhjakf339a4u X-HE-Tag: 1672948527-927208 X-HE-Meta: U2FsdGVkX18Dc1GrTVcVLuQtH803RvHn14ZNbmy9I1o7Ev6vDvXfBQIo5KqRVY0tlOm6i5rQgqkebNKuDykFOQOcT1P4zhxjCJEy8HCbLhQSonjuh1PcSKpweJB2y51GFU0eeJBSk/TtG19e20/M3DXyNSaK2p/aGwiG9ASHIP0LSNsqcqDzkozuClpOLGLTFDgt2SglU0EUlJ0Q+ZhdfR6pW9yX3Yu8QuOqajtVD6ZlqKo5GyXTg0DRQDMwgRCbSAvanlUu84yB1YnvHlKlBBpo3SMRI0BmyXT2w9ATq1dw3gN21UEkoBUKViwiW6lAoOfbwGo2+VOY3aNDlnvAteDX4JMfcfwmrMBbgRwQB2a0gIM9sc1hV6z8SLaqtPLh2hSJ0biYLWn0nYDv5BOnuNtYzijZ+0Q5H9ZSDzCxejezb0kl4CPmkLzf+2sXyN5bZ5PT2nuKcYUpgEz0RvKuSRjDOx00HDOZj0Or+Um0p/fcY21ZvjWxzftD2g7m32bVTMwqToo0x9VMjh/oWLGr+DjaG1UREYG5uCrONmj9aSwG8C/h3wd+0lQ4ic6Robh7211bdRSc5RK/8tZhf3eFAg/qVSsQi3xaRlERnE02zz5OPmjYGu4sLErpXNQ0CLwskR/Frxt24Zus1QArXtjHHFvaXa4c8nj733UI4JZvgh+AQI50CvRDtoUETnZzuYR/U5NCecbxR591ctB/u4SXG7GjZmH/OKsOA11mhPlgn8UWVIQhGgaOue1RI7cViJ1xo6dLbqGJ+0lTTAIyBAol/rIbTBBoOayJvi8C5MzazC31ckoVxp3nj2gplN2SLiT5HkdpXReOKG0HMPLYSwIbI4D9RpHdmjvV4AaX/3DLzfL8LS5mtFyUZmPquLS2AQgJyeryAD59p2DPm1khsjuJsMD5SumHTcG/i3FMl+0lhSg5dIE4/A5JIHFwiWVPf+6LvsID4Uqd4k8js/P7DH5 wJ+1PHP3 SSjYpgUZJkf40BO85+DaIOJrzgATXXSQZijWGIpW1YZg/Be9R0kW9Sxm3ja72DpmpgWp0/zGXZANbTWZ/4ZMryX6JUa2rnbMeErCaxbUrtIlf6uCSOw9hUv///SZjQNrSwlg1odgqH0Q9veNaeS5Qu+8duw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Move the locking into vma_prepare() and vma_complete() for use elsewhere Signed-off-by: Liam R. Howlett --- mm/internal.h | 13 +++ mm/mmap.c | 231 +++++++++++++++++++++++++++++--------------------- 2 files changed, 149 insertions(+), 95 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index bcf75a8b032d..0951e6181284 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -848,4 +848,17 @@ static inline bool vma_soft_dirty_enabled(struct vm_area_struct *vma) return !(vma->vm_flags & VM_SOFTDIRTY); } +/* + * VMA lock generalization + */ +struct vma_prepare { + struct vm_area_struct *vma; + struct vm_area_struct *adj_next; + struct file *file; + struct address_space *mapping; + struct anon_vma *anon_vma; + struct vm_area_struct *insert; + struct vm_area_struct *remove; + struct vm_area_struct *remove2; +}; #endif /* __MM_INTERNAL_H */ diff --git a/mm/mmap.c b/mm/mmap.c index c15a04bf3518..3cf08aaee17d 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -635,6 +635,127 @@ inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, return -ENOMEM; } +/* + * vma_prepare() - Helper function for handling locking VMAs prior to altering + * @vp: The initialized vma_prepare struct + */ +static inline void vma_prepare(struct vma_prepare *vp) +{ + if (vp->file) { + uprobe_munmap(vp->vma, vp->vma->vm_start, vp->vma->vm_end); + + if (vp->adj_next) + uprobe_munmap(vp->adj_next, vp->adj_next->vm_start, + vp->adj_next->vm_end); + + i_mmap_lock_write(vp->mapping); + if (vp->insert && vp->insert->vm_file) { + /* + * Put into interval tree now, so instantiated pages + * are visible to arm/parisc __flush_dcache_page + * throughout; but we cannot insert into address + * space until vma start or end is updated. + */ + __vma_link_file(vp->insert, + vp->insert->vm_file->f_mapping); + } + } + + if (vp->anon_vma) { + anon_vma_lock_write(vp->anon_vma); + anon_vma_interval_tree_pre_update_vma(vp->vma); + if (vp->adj_next) + anon_vma_interval_tree_pre_update_vma(vp->adj_next); + } + + if (vp->file) { + flush_dcache_mmap_lock(vp->mapping); + vma_interval_tree_remove(vp->vma, &vp->mapping->i_mmap); + if (vp->adj_next) + vma_interval_tree_remove(vp->adj_next, + &vp->mapping->i_mmap); + } + +} + +/* + * vma_complete- Helper function for handling the unlocking after altering VMAs, + * or for inserting a VMA. + * + * @vp: The vma_prepare struct + * @vmi: The vma iterator + * @mm: The mm_struct + */ +static inline void vma_complete(struct vma_prepare *vp, + struct vma_iterator *vmi, struct mm_struct *mm) +{ + if (vp->file) { + if (vp->adj_next) + vma_interval_tree_insert(vp->adj_next, + &vp->mapping->i_mmap); + vma_interval_tree_insert(vp->vma, &vp->mapping->i_mmap); + flush_dcache_mmap_unlock(vp->mapping); + } + + if (vp->remove && vp->file) { + __remove_shared_vm_struct(vp->remove, vp->file, vp->mapping); + if (vp->remove2) + __remove_shared_vm_struct(vp->remove2, vp->file, + vp->mapping); + } else if (vp->insert) { + /* + * split_vma has split insert from vma, and needs + * us to insert it before dropping the locks + * (it may either follow vma or precede it). + */ + vma_iter_store(vmi, vp->insert); + mm->map_count++; + } + + if (vp->anon_vma) { + anon_vma_interval_tree_post_update_vma(vp->vma); + if (vp->adj_next) + anon_vma_interval_tree_post_update_vma(vp->adj_next); + anon_vma_unlock_write(vp->anon_vma); + } + + if (vp->file) { + i_mmap_unlock_write(vp->mapping); + uprobe_mmap(vp->vma); + + if (vp->adj_next) + uprobe_mmap(vp->adj_next); + } + + if (vp->remove) { +again: + if (vp->file) { + uprobe_munmap(vp->remove, vp->remove->vm_start, + vp->remove->vm_end); + fput(vp->file); + } + if (vp->remove->anon_vma) + anon_vma_merge(vp->vma, vp->remove); + mm->map_count--; + mpol_put(vma_policy(vp->remove)); + if (!vp->remove2) + WARN_ON_ONCE(vp->vma->vm_end < vp->remove->vm_end); + vm_area_free(vp->remove); + + /* + * In mprotect's case 6 (see comments on vma_merge), + * we must remove next_next too. + */ + if (vp->remove2) { + vp->remove = vp->remove2; + vp->remove2 = NULL; + goto again; + } + } + if (vp->insert && vp->file) + uprobe_mmap(vp->insert); +} + /* * We cannot adjust vm_start, vm_end, vm_pgoff fields of a vma that * is already present in an i_mmap tree without adjusting the tree. @@ -650,14 +771,13 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, struct vm_area_struct *next_next = NULL; /* uninit var warning */ struct vm_area_struct *next = find_vma(mm, vma->vm_end); struct vm_area_struct *orig_vma = vma; - struct address_space *mapping = NULL; - struct rb_root_cached *root = NULL; struct anon_vma *anon_vma = NULL; struct file *file = vma->vm_file; bool vma_changed = false; long adjust_next = 0; int remove_next = 0; struct vm_area_struct *exporter = NULL, *importer = NULL; + struct vma_prepare vma_prep; if (next && !insert) { if (end >= next->vm_end) { @@ -753,39 +873,22 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, anon_vma != next->anon_vma); vma_adjust_trans_huge(orig_vma, start, end, adjust_next); - if (file) { - mapping = file->f_mapping; - root = &mapping->i_mmap; - uprobe_munmap(vma, vma->vm_start, vma->vm_end); - - if (adjust_next) - uprobe_munmap(next, next->vm_start, next->vm_end); - - i_mmap_lock_write(mapping); - if (insert && insert->vm_file) { - /* - * Put into interval tree now, so instantiated pages - * are visible to arm/parisc __flush_dcache_page - * throughout; but we cannot insert into address - * space until vma start or end is updated. - */ - __vma_link_file(insert, insert->vm_file->f_mapping); - } - } - if (anon_vma) { - anon_vma_lock_write(anon_vma); - anon_vma_interval_tree_pre_update_vma(vma); - if (adjust_next) - anon_vma_interval_tree_pre_update_vma(next); + memset(&vma_prep, 0, sizeof(vma_prep)); + vma_prep.vma = vma; + vma_prep.anon_vma = anon_vma; + vma_prep.file = file; + if (adjust_next) + vma_prep.adj_next = next; + if (file) + vma_prep.mapping = file->f_mapping; + vma_prep.insert = insert; + if (remove_next) { + vma_prep.remove = next; + vma_prep.remove2 = next_next; } - if (file) { - flush_dcache_mmap_lock(mapping); - vma_interval_tree_remove(vma, root); - if (adjust_next) - vma_interval_tree_remove(next, root); - } + vma_prepare(&vma_prep); if (start != vma->vm_start) { if (vma->vm_start < start) { @@ -823,69 +926,7 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, vma_iter_store(vmi, next); } - if (file) { - if (adjust_next) - vma_interval_tree_insert(next, root); - vma_interval_tree_insert(vma, root); - flush_dcache_mmap_unlock(mapping); - } - - if (remove_next && file) { - __remove_shared_vm_struct(next, file, mapping); - if (remove_next == 2) - __remove_shared_vm_struct(next_next, file, mapping); - } else if (insert) { - /* - * split_vma has split insert from vma, and needs - * us to insert it before dropping the locks - * (it may either follow vma or precede it). - */ - vma_iter_store(vmi, insert); - mm->map_count++; - } - - if (anon_vma) { - anon_vma_interval_tree_post_update_vma(vma); - if (adjust_next) - anon_vma_interval_tree_post_update_vma(next); - anon_vma_unlock_write(anon_vma); - } - - if (file) { - i_mmap_unlock_write(mapping); - uprobe_mmap(vma); - - if (adjust_next) - uprobe_mmap(next); - } - - if (remove_next) { -again: - if (file) { - uprobe_munmap(next, next->vm_start, next->vm_end); - fput(file); - } - if (next->anon_vma) - anon_vma_merge(vma, next); - mm->map_count--; - mpol_put(vma_policy(next)); - if (remove_next != 2) - BUG_ON(vma->vm_end < next->vm_end); - vm_area_free(next); - - /* - * In mprotect's case 6 (see comments on vma_merge), - * we must remove next_next too. - */ - if (remove_next == 2) { - remove_next = 1; - next = next_next; - goto again; - } - } - if (insert && file) - uprobe_mmap(insert); - + vma_complete(&vma_prep, vmi, mm); vma_iter_free(vmi); validate_mm(mm); From patchwork Thu Jan 5 19:16:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090339 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id DEFFDC5479D for ; Thu, 5 Jan 2023 19:16:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 16F8894000F; Thu, 5 Jan 2023 14:16:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0FA7794000C; Thu, 5 Jan 2023 14:16:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D7BB694000F; Thu, 5 Jan 2023 14:16:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id BF87894000C for ; Thu, 5 Jan 2023 14:16:48 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id A3853AAE39 for ; Thu, 5 Jan 2023 19:16:48 +0000 (UTC) X-FDA: 80321702496.21.AC1581A Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 2EF43180016 for ; Thu, 5 Jan 2023 19:16:44 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=wzyrOu3T; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="dXz4K/G2"; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946205; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Zf4dD/GIxBl0AjcjR6WG+8X+eKixuRYpeZDz4C5cHuo=; b=nTifCmwqSHrcfRcvbeT4eSzjHKmDI7j0p4Ep9YQFj4Peao+fP0EUn/clQHRhNr0zbXFlOV 23pQc2oS4HSiqamXPl07URqOKfJUQ1pinvKK74tYacFZqq4eMp8hv29ImSKa4GwCbcC3Rn KgVZ0RZEruP35Y5CUe2aNFMrvqzYVJA= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=wzyrOu3T; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="dXz4K/G2"; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946205; a=rsa-sha256; cv=pass; b=0/TN7mFrqhp6MHP/uwV4d9hAd89rWomXT8aG13Ku+0vQrdZmN7ym5rkBxfNCqpsUhIP1Mx bKwJ0wcR6OUrQAkjGBhinz9pzYwI+7ldgPP1VpT0ITnU7uQtYV4LWjIkcK0EfvchUWsmg3 9zzh/jluEgmmJk6/09R00srh1Lbzv+I= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITcEw025581; Thu, 5 Jan 2023 19:16:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=Zf4dD/GIxBl0AjcjR6WG+8X+eKixuRYpeZDz4C5cHuo=; b=wzyrOu3TvymQC4Ju81t45lovevGkVs7eM3Za3hOZnngACL9DdlZ3QgTIFWTsWuRCTNby 0gCNZ5dz3fSRFs4jAxh72JoNtIS/GA9GtfJTULHBmSWPm4G4+E8J+UExNvtszrnk9JSY Olf/n+mIN4YMllQyWohTt8o2LQyQyP+4FEFA8mMgun3gF6IuOIPLbNZwDLVzNoKvtkU1 Of3oHJnAiAflVZa9k5WRNUORRo/hY9c5sHSSO9LbMFipCn6gVUz9Ds/nLrGArxqeXHma gwpSGR1Ko8EI2mWbcKw0h27pDWvdQ489FCiKeJ0sJbocb/gKKZHzwqtonQWpAsoG2GKQ 8A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtdmtskwe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:43 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPn033688; Thu, 5 Jan 2023 19:16:43 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-8 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fh8POAou9iBg3oJaMaB8nQBDZXRhjNBWs/qZXq5olSEestBhXzf4fUOtvWKGXyKz9f++tajyGI7akY2owljkYRItmtkGYX+otpcN7+SFyFJpdLTBuzUAgOlgKcVIHUE9QUCScuoCIluofzPEO52p+Enb9Kya1Gjd4Hyyv6WDU6BSmgmyCn7e9q4nSk+tHkeIcAYxN2Et8dPainWxmuEje0u7PiK7F3QlUI/9MdZAhYvKtu2d9eC79D4JE+iZXoHamzsAcPtkYuN2l5RQvwyQEFYcca1381lIK1YzdY+mPBUrH+Ht9XipvF8r3jXJM3z9HiYDAwr8mMSsrNiZyeZLCw== 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=Zf4dD/GIxBl0AjcjR6WG+8X+eKixuRYpeZDz4C5cHuo=; b=dIuztHbkyQb99mKm7794VjQHBHU9I7UR8Mv4J+NsEpY6jng6pXZY+quHigT22NSrM0qTaTpdCJmVJzox0HACqV10gJ5h/xpAKnLlkliud4tdaSlGqhXRcUhF21NUKIB6M02ifMYnl3ka1A/k14RK3Hucs3eAGp3+vDcveyuvEJ0nW0j9t3dL3hrIdZmGrimdmDKgwJY/53zhtoTDfJrSv0QR/5KZlXLpmEXGRdYQic3E8gSpkcCrId3zqlBztWERY5dtkIC9882H5+BJXCMrJCduchMWebU43fOhB4FpDbXs705+aJG+q411ll2FabWLorsJae7ljsHQh947eeAwDw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zf4dD/GIxBl0AjcjR6WG+8X+eKixuRYpeZDz4C5cHuo=; b=dXz4K/G2noiMyALULzvQ4MEDMkRXwofEQT+lMKIMTUFMWzwEIRCWGqp/9keZ+7ytKYl95JfoBb60ibFXQ2qiULYdl+2/hy9kyAQYVW/FD4XExEy3y5q3uZsDvQWDkDq4M+KaUIoo/eMSdB8Atho8pg4KM5o/GlrGBzgtvHmYVbI= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:40 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:40 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 37/44] mm/mmap: Use vma_prepare() and vma_complete() in vma_expand() Thread-Topic: [PATCH v2 37/44] mm/mmap: Use vma_prepare() and vma_complete() in vma_expand() Thread-Index: AQHZITonLQpgwctfXES3nm/KnMoahA== Date: Thu, 5 Jan 2023 19:16:03 +0000 Message-ID: <20230105191517.3099082-38-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: 2fc8801d-1167-418a-1c60-08daef515f98 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QH3F3XS2z41HSv3z1+vEXBxGKI76q8tfkY/iujycsNG5Jz+9nknqMQKFIZwF9MbNWR5mYD6ryCiKwGvadgfC5AK/PhPjUf/yJGrtLD2LeFkoVSiCiXDqxTkORE/IvQffoZ7Gf2/SyhOGwDLej+Fqjmqjz6gKCT83yxLpUoZccbbmPBewg/eLMhgfQs8SyLdNv2CQlWf9shd9+Rda00rcKqulqHC1ygArugtPqCLV0mF+gvJoX9Bw27W6sA7nGt3EYOusrVHYalF7cj77dTEG2Xs/IutKAbjvOmTUG743Bjr/E2YPd7sd2lWHUX9J9T7H2B+YzJcfoZZrWvvtgeIGZ4fYDqJbSPE8cOWO6l7z7MwW3+riJrH1jVhKSEIfGzPvczLfrl3qDrprVnljSZOKYBcGWk1ar1dcrz8v4Jlqo68M2yE18J+KOz3E88PNXB6gMBh3GRxFZEnWYVJ8CSbb3/vFUuQ6y/d0m6TdLfuxjdFxZB42tUPmuuKoQEBy24PajjkRuifemgp4cVVVLR7feV+A/fHg8FjReKRPH+LkivAcuys7rJzMMiGpA2cmV5pmhexbMsb6/5UZueO2fQGzncFhuhgyOBQiejK61NYuzG8eRUfu6t4NIhOa6lVex8eOSpRLgqOxH9g+YHkv/Wn1O4nNY7axoi/BMjHrWsmpcQxEoKpQfuhBWrB0g7ITrDU8RIJV+fj970iv33w/kMpXzQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?qxc4Zk/d1z1zlvx2Zx6Eh13?= =?iso-8859-1?q?ejwJ7CpKl1SQIOgm8/9Rc7qb/2UT0Yg+itJNrdnlF0yBZWloUSzTCtRUa5O9?= =?iso-8859-1?q?HcpKMyH+tdNI/ybdt8AftKCT7e5J70Taj1sbw+sxyTFPMK9b5MR7gxO8qWUA?= =?iso-8859-1?q?gbEasBcOUIdUUp1MneShQ+NPxT/vtHRXCFlcN3UEvbI7OE2xr4I0e7q0Ejxj?= =?iso-8859-1?q?1GvRaDjbQOtW8jlwZCB8Q0HmPyWLASjqL4E0QSGlL9REUrQxnNiK5AR7L0DA?= =?iso-8859-1?q?cUd3HXKdRHTEvP1hZjmQnXOmz7k9SBjFnALsVsMpjp1YaWw5wiYfLyFd4VnV?= =?iso-8859-1?q?a5vQpKHzavWBHGkH/xGt35CcfVQ0EE5S2XF2+3sTbDabmNFfW4ZkEWyutj3X?= =?iso-8859-1?q?D7sdwHMW+/hOR5QbfTY9e7wT/pQF/RK4ad69Db6feonY8Uts//hcr1UeVwt4?= =?iso-8859-1?q?pVAKgixu8jPmAsKBYZ7U8hxu2H27X6KiJkRVXRNqUj6v63ZFQFGWRCicDb3n?= =?iso-8859-1?q?UEBcR17h97RmksYJk9rlsd98FG6cGJP97mztYfh6oQ6K8gklAvwJ4cFdWqC/?= =?iso-8859-1?q?Znn41/jiAxVgA+p1UhF8BmcHx3janOyl2ZMjeULdp6fASf1fwA+ns68kITFg?= =?iso-8859-1?q?UfZ7RxldXszPpGojYarwti4Qdq35jdrVV5zKg4E7Qhp5SatEbR2gCsJMrko5?= =?iso-8859-1?q?BkUX3XuMPWgzNWkmkuNhyJVFxYAEIJTgRchSqnQ4SxFt5diMu0rwOqAEwiTb?= =?iso-8859-1?q?ivnTFCgU5rmj+6BHwh0vzZP/7wd/BhPTqRMruW2ILIdXMcAVwrQzXNZlxK3/?= =?iso-8859-1?q?MTE/RnGHwMK4/Xp7NMr86CrED0DRDbbEgeJJXc6670dWnMol+avZjGYHunoh?= =?iso-8859-1?q?eC73RYCq0h/v07KZv6C1aFEz7G+I496Bj2vdc0uTNk/g7i3Elai4VBnFOODQ?= =?iso-8859-1?q?fHOB1sO2n4HmmI3VT3IruA9PqrxV29p9tiY18CbIGjE6tywZ4m/y258M4pW8?= =?iso-8859-1?q?EvEuK+P1bA8xklvRGD88tGItIlwkNwBb60oz4T3DDP63imVrHPtSgtk6yk9B?= =?iso-8859-1?q?bIWQ7wBfJohap8Zq0nRsfqwlxzeL5iBTE/KQy7Uv/gn+nS7oLTW5QTvhx6J6?= =?iso-8859-1?q?dulK4FWls69t3XwDBdpgR1uDp8adTX5zd1yaqRi5TEOTU6UVUc3KHiC1PStH?= =?iso-8859-1?q?52Vq8pdXOFcvjTTq58SGTjdhWjeFwhRYT5+z04RI5M62Hta4tES/jO+U6ugO?= =?iso-8859-1?q?i56IDPzJ8QSAsbXQimjQc+y27+CT2kPbwctbYVM8bObMqSCsdYmPXemk1mbk?= =?iso-8859-1?q?9OAO4C/lS9jreTD2grTOiuPx2rjIowXEFkgS7rYMcYpcCXiVOwDiV5UMkY7+?= =?iso-8859-1?q?cP0Gg4zJyEsgL3vfvfApMGqpAR+d4c3SuU3KxDpEvwM4FChn/hRE7joNXSVQ?= =?iso-8859-1?q?pnQTe0UtILi74Rq1XgJWOspAVZVHDn0y3exeKy/iGhrurdqbIa+hjcMH2/vq?= =?iso-8859-1?q?KbvQ2CBNCYsAfpJOTHYz055nA+RI44wukXJdsoWTEY52FyW5wmpsbeUJBwBo?= =?iso-8859-1?q?e6MkxdzyGBUx/lnLUu/k46VrwbttdwErQZHCBddy6zHV6K8AGTXgk23nRHup?= =?iso-8859-1?q?z8JytSavnW5UlGqMZn7DrcALxBfEpBG/lN78BpA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Kr65AdlNmtZ2gslox8aNIhCEU3CS8EOiSEvxoWDafx4W2sLdi7sbjuIEmPjovKNOmnkjeFqOXrWI/+TEzAFCMK19+LronSE8BYlvf4T3DtnEFqaauvPv4xDVZq3KDItBkYhChU0FrfkgUnltauRz++ADuf9rK3WJZR97h/4I8v/GIXlZiCRBuJWpmi5lXDKTWAVFyAyFlI9Mlq4plP851/stAII8RJNn5/nk1g5KqbmaKP+U4vm9MgGodCLUakLxfTQPS2UEkX3twvVsAV334WvJTUgHNcwHQv2RwGezItHTLI6LSZJE0nJVzZ8HXb67xwbPthV7n849WcdOAxYMyH2F7GY7Nh02IeSBaHvzPwQq+hSuTpO7s31Lg+6X/uoPuzyWKgsbpHtHMuO5XbXBcziHP73repwUWUiaIg5htcEfOVIEbHYPXGvmO4MgLnl1aaHtbyynUFtvZ1TIcfCMZEDOhYT7ea1hseljjebGQlxrIHY9kIOH9iDDQfxRW2cOTLYxfg7K4uKpoHqp1/Ug+47hNL9QW0xOsq8IWQktWQRkB5im7L3pJWYiJZo0V6B76HnP5Q4hSKIB8UKFnAV5bgX4vfwc8bYrzTnrXUEOMhGjBjSNCH/pjbpItPt3DN2AUlXzeGEiHk/miR8/qVFjKmNbjIW9XPGndfkU+8ujopRCrIZgnFauC+VrW8xwst2eOgeT9L+IscSdpiZ1zIPTVbNj8FcKrQ9iBI9uze7b5idIY6m3IbDf2tmKwSaj2BrbUScC3o9oJOzz4kJt8XZ8/i9A5zygYuI4T3crocLgYcQG7ZpU14xLnERR+NrJWE5LEAzhBvO8pW0pcxtBdFUyOLBauze35jvHkF8zIfvm1aPli84My/HFyN1twymwLULbWp+VVG+QsYOL8lVEo2h0JA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2fc8801d-1167-418a-1c60-08daef515f98 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:03.8596 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: DEQUtjx6u6a6nKhIidI2C98lumIEDP5rYaixxnluCYO30XDQqtTupyHftO38Shurw98cdN/GAmO8vAH7KqYkwA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=960 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: tFyoK741CmEyMMLafXrZL__8h0qZJ5Q3 X-Proofpoint-ORIG-GUID: tFyoK741CmEyMMLafXrZL__8h0qZJ5Q3 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 2EF43180016 X-Stat-Signature: po7engnz7zbxpu1umr74ts5jt7brsykj X-HE-Tag: 1672946204-611987 X-HE-Meta: U2FsdGVkX1/K/55qAbOAXslth/g2RDGvjdA3sIRgTOW0e8MAeFHqHpGlSFC3mLvRnI25vPFu+zu0IV2vI3rJmls83nYgTjZRcS6ifHbl5D7ig2PrkWxoJNnBr2ySEa9Z/PFEpAXeCgJ+q4wiu7WaUJctPvAINm04jm6XamEz664xk7TOJArP9LM41S8eKznCOq05y5Tld2OdzlAtn1YWH0Mhsu0kgRMTltipSYQDof2fpDBBN5i6QuSDbC8dElqiN7sLyiNGnZuFRg1HmgFQQTt23LxTFRXzCpqtObrrTMRTQSkRzR8w2fNQSoj31JsUP3Z5B5rKF/GEP/Alfqvwrv5+zpmYb4M0AIB8K26q6j6BdnXecVVxi8aRku05PSRxSqRI9Vja0rP19+2hgrFSUrH6ycnCmXV6wbLR33K8RpGBLrYq1iHJpNapCymhaeaHfQIU84wwgwyQUGvbr6AqoJV9hWMG46hIWIfy38eCNIc9creXvLRbeaqCzG3m/qQeNB89UpTXmUjfxmBxexeppAs7HrDc6UM0KCRwnz0DSAvNXxkSC0ywrhxk+Cu9Xo1gBnkxvvSa1iSeKfkI+Enu53ScTPoKu3qEhUgbuF77xBoLAMLj0ZjcRLoRm5ayNGDOl7OygXVE/C6wuRHYluLbHiHHlPI4MusStAdDT+VyxGv35iub7rMfFZIs8zTQV6VpPuqL1SXNODZ1ZqR3i5jf2aWIDZLh4VIOP8I+XlcFJv2kwZis0EK5tN7GhsG1NmG1dD2xtsGMFVnVepBVgMkEpmI8B8rdBGsUCnR/R+p8Wex3JOeN6fWYNg6mc2rFEMfMlDFnmqQVk2cmwJc92hHZy4lVnETH/E2uM2hnVhVHWRPc4GigkJl1EKHgxuAPVnnawngZSJwjv/NCNb2JfdmUu2ZL5+wWwOuiZiKhjQCgGnZA+A5QRK2gp5Q7blKx6f7kJ5KvBufbb+SsdnTV7Wt IADMFLjW gaaFt5N/4n5qx2vwu69LqU2HnQj7D+4gUr4YM2ZVrTLvpKGpr1t7RHDDWl33j2Skb6w+F8Bxh46/buQsvfCmNmLBnYGj3FS5ZBiMT135rLdzQzHgxFdYmpy38WrZfC/shZqCGONA/rrpwdZIsVzNjgqfGlA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the new locking functions for vma_expand(). This reduces code duplication. At the same time change VM_BUG_ON() to VM_WARN_ON() Signed-off-by: Liam R. Howlett --- mm/mmap.c | 189 +++++++++++++++++++++--------------------------------- 1 file changed, 73 insertions(+), 116 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 3cf08aaee17d..9546d5811ca9 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -519,122 +519,6 @@ static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma) return 0; } -/* - * vma_expand - Expand an existing VMA - * - * @mas: The maple state - * @vma: The vma to expand - * @start: The start of the vma - * @end: The exclusive end of the vma - * @pgoff: The page offset of vma - * @next: The current of next vma. - * - * Expand @vma to @start and @end. Can expand off the start and end. Will - * expand over @next if it's different from @vma and @end == @next->vm_end. - * Checking if the @vma can expand and merge with @next needs to be handled by - * the caller. - * - * Returns: 0 on success - */ -inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, - unsigned long start, unsigned long end, pgoff_t pgoff, - struct vm_area_struct *next) -{ - struct mm_struct *mm = vma->vm_mm; - struct address_space *mapping = NULL; - struct rb_root_cached *root = NULL; - struct anon_vma *anon_vma = vma->anon_vma; - struct file *file = vma->vm_file; - bool remove_next = false; - - if (next && (vma != next) && (end == next->vm_end)) { - remove_next = true; - if (next->anon_vma && !vma->anon_vma) { - int error; - - anon_vma = next->anon_vma; - vma->anon_vma = anon_vma; - error = anon_vma_clone(vma, next); - if (error) - return error; - } - } - - /* Not merging but overwriting any part of next is not handled. */ - VM_BUG_ON(next && !remove_next && next != vma && end > next->vm_start); - /* Only handles expanding */ - VM_BUG_ON(vma->vm_start < start || vma->vm_end > end); - - if (vma_iter_prealloc(vmi, vma)) - goto nomem; - - vma_adjust_trans_huge(vma, start, end, 0); - - if (file) { - mapping = file->f_mapping; - root = &mapping->i_mmap; - uprobe_munmap(vma, vma->vm_start, vma->vm_end); - i_mmap_lock_write(mapping); - } - - if (anon_vma) { - anon_vma_lock_write(anon_vma); - anon_vma_interval_tree_pre_update_vma(vma); - } - - if (file) { - flush_dcache_mmap_lock(mapping); - vma_interval_tree_remove(vma, root); - } - - /* VMA iterator points to previous, so set to start if necessary */ - if (vma_iter_addr(vmi) != start) - vma_iter_set(vmi, start); - - vma->vm_start = start; - vma->vm_end = end; - vma->vm_pgoff = pgoff; - vma_iter_store(vmi, vma); - - if (file) { - vma_interval_tree_insert(vma, root); - flush_dcache_mmap_unlock(mapping); - } - - /* Expanding over the next vma */ - if (remove_next && file) { - __remove_shared_vm_struct(next, file, mapping); - } - - if (anon_vma) { - anon_vma_interval_tree_post_update_vma(vma); - anon_vma_unlock_write(anon_vma); - } - - if (file) { - i_mmap_unlock_write(mapping); - uprobe_mmap(vma); - } - - if (remove_next) { - if (file) { - uprobe_munmap(next, next->vm_start, next->vm_end); - fput(file); - } - if (next->anon_vma) - anon_vma_merge(vma, next); - mm->map_count--; - mpol_put(vma_policy(next)); - vm_area_free(next); - } - - validate_mm(mm); - return 0; - -nomem: - return -ENOMEM; -} - /* * vma_prepare() - Helper function for handling locking VMAs prior to altering * @vp: The initialized vma_prepare struct @@ -756,6 +640,79 @@ static inline void vma_complete(struct vma_prepare *vp, uprobe_mmap(vp->insert); } +/* + * vma_expand - Expand an existing VMA + * + * @vmi: The vma iterator + * @vma: The vma to expand + * @start: The start of the vma + * @end: The exclusive end of the vma + * @pgoff: The page offset of vma + * @next: The current of next vma. + * + * Expand @vma to @start and @end. Can expand off the start and end. Will + * expand over @next if it's different from @vma and @end == @next->vm_end. + * Checking if the @vma can expand and merge with @next needs to be handled by + * the caller. + * + * Returns: 0 on success + */ +inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, + unsigned long start, unsigned long end, pgoff_t pgoff, + struct vm_area_struct *next) + +{ + struct vma_prepare vp; + + memset(&vp, 0, sizeof(vp)); + vp.vma = vma; + vp.anon_vma = vma->anon_vma; + if (next && (vma != next) && (end == next->vm_end)) { + vp.remove = next; + if (next->anon_vma && !vma->anon_vma) { + int error; + + vp.anon_vma = next->anon_vma; + vma->anon_vma = next->anon_vma; + error = anon_vma_clone(vma, next); + if (error) + return error; + } + } + + /* Not merging but overwriting any part of next is not handled. */ + VM_WARN_ON(next && !vp.remove && + next != vma && end > next->vm_start); + /* Only handles expanding */ + VM_WARN_ON(vma->vm_start < start || vma->vm_end > end); + + if (vma_iter_prealloc(vmi, vma)) + goto nomem; + + vma_adjust_trans_huge(vma, start, end, 0); + + vp.file = vma->vm_file; + if (vp.file) + vp.mapping = vp.file->f_mapping; + + /* VMA iterator points to previous, so set to start if necessary */ + if (vma_iter_addr(vmi) != start) + vma_iter_set(vmi, start); + + vma_prepare(&vp); + vma->vm_start = start; + vma->vm_end = end; + vma->vm_pgoff = pgoff; + /* Note: mas must be pointing to the expanding VMA */ + vma_iter_store(vmi, vma); + + vma_complete(&vp, vmi, vma->vm_mm); + validate_mm(vma->vm_mm); + return 0; + +nomem: + return -ENOMEM; +} /* * We cannot adjust vm_start, vm_end, vm_pgoff fields of a vma that * is already present in an i_mmap tree without adjusting the tree. From patchwork Thu Jan 5 19:16:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090340 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6EFAEC4708E for ; Thu, 5 Jan 2023 19:16:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 651CB940012; Thu, 5 Jan 2023 14:16:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5B3B194000C; Thu, 5 Jan 2023 14:16:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 39DF5940013; Thu, 5 Jan 2023 14:16:49 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1FB8D940012 for ; Thu, 5 Jan 2023 14:16:49 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C197FA0262 for ; Thu, 5 Jan 2023 19:16:48 +0000 (UTC) X-FDA: 80321702496.20.4D2BA30 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf11.hostedemail.com (Postfix) with ESMTP id 69C7540011 for ; Thu, 5 Jan 2023 19:16:45 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=sWIkGv9w; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=JuhQdMZG; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf11.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946205; a=rsa-sha256; cv=pass; b=jZJhppAKgnxI7Kfpm+6sUgfyKTCT1PI5B37Sty6ZbwKtwkJta/I2gv5CJq1dIYyx0FBWUM FzqF6JiCCL1wlmRhOHmb7grF0IZgQKGY6NA+iVWr5ToxZsp0JQ9aPQMyqq2bTiwLuDxM24 kQN+R6o5Yca+Q2dgxqOjdZ37MkfwM58= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=sWIkGv9w; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=JuhQdMZG; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf11.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946205; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=KYM+JnnKnoZTopkYfjEHdPmQECZEXb+C9gXcn1YFP5g=; b=jpdHWn0EL3d/fVoUYLF7z1AMb7A1LuwflEAV/LVbtPVYipTxT0/+GOKspmh0RyvSRPhcCA 7wnSBDG3xo8vNAr61dTSlpL812m35gpGU8w2+MAk9oQ53didcmC7NCll3etTXwDDv/LfN4 60Jzw2jcNKEpDyeDW7CFKs58xNRghFI= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ISlMg001327; Thu, 5 Jan 2023 19:16:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=KYM+JnnKnoZTopkYfjEHdPmQECZEXb+C9gXcn1YFP5g=; b=sWIkGv9wXTeYcR8jqAqmZjCre42GlIhrHuo5WyAPyuLrCC+Exefn5xepVRE1X1TtxT0n L+ZZTvgJXklobnTWD9xQd3xV6N8W8SmBVhzUmX8Vemh9TKhH/ujIcJHb+yYatGcrS7WM dzTBPYCeSoMRkh1E9nhhy/tvv/BmC6OwPk5tTSgk+K6sx6ii8LF0hF0+Z4UnE1g3xwyK W+qsNXahfte2RObDtNX1d/lob4erJ1DWvCh1vtBStwBafNrQUATlxV9NQ2H+pBKSrBJb IwewvUtMKdD7uq+6rogtmYEGF9nIWIfVfwt7kK0mi+PH84YAJBTDnja9DMqwCHS8ynxU aQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtd4c9r18-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:44 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPo033688; Thu, 5 Jan 2023 19:16:43 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-9 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HTi4WG8RYOjn5kGPXNBYqrmY4q4QuT525L/vTMflJp7KQqcwK5ZS24k340L3zEXmLTow6u6qdC9bltBqCyZuNvs7THAMvWeA0STpKxlEG5Qhs+APz6dZcPKFZ/ZqMzpbHZc1ZhEwTsH92wtpXGdBLm4zENR4xFj5pWA+2CL4ybEq759pdnmPhOUjgw4Ipewm5gkykWxpK5ubKIf7NLyDsekEJfA40yTQFs21iTg/wQdazT8JBvQd4HtX/fZpkWwvmhmhG+CFUbQmpq6/JSsso+WR+P18M39aYwIq23jT+mM5fQfxO5K+BNfQ9KvfZFFX9B0qLViX5YRnz8eVFXYqhQ== 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=KYM+JnnKnoZTopkYfjEHdPmQECZEXb+C9gXcn1YFP5g=; b=daMRcdZ8yXRDw+8Xk3PiE54WLN6M8GptpJlAXcHQ/51qFTf3CdbCv6Wr+OcYV8WYgLdIvxCjRtzmKlCAX+xLsqnF7ELwBl5lSKDRlp/L2g3JgYfSKpGTlzsNHQIyZA8xaZ9ibOlYioCVqu1R8m3Mn8S+pLlDp6bFGOAf5LtIXsT81+JbSOB1Soj3McKSGuCKCQ5N4u+zTteSHnO1tas7HiSMwuezCVNBQvpFCCfX6dOZmC+ujgkbKytYlgFtpCPwKeyxKq3A3uXf1LnY4yhLO84ZIszQJ3hWGz6lAGarxPknsvGMerzFrqPX6hAGupwvN5g/REerWoq/b+fmlxdbbA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KYM+JnnKnoZTopkYfjEHdPmQECZEXb+C9gXcn1YFP5g=; b=JuhQdMZG0JSBulhtkqXul3OwEKO3WLrv34ZTKlNMqK1h64/pwWAdrfz2FsOQvCZaITpG1yIXbRFDD01HwSgTJD767Kr50jWjqyTAsfj+vWMrKyhMa7nDFISTBahtl+pCoAl7OCvACigCZDza80rPpfGZbDr9Xh8AVvejwQ6arww= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:40 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:40 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 38/44] mm/mmap: Introduce init_vma_prep() and init_multi_vma_prep() Thread-Topic: [PATCH v2 38/44] mm/mmap: Introduce init_vma_prep() and init_multi_vma_prep() Thread-Index: AQHZITon6JBWV6nhzUOpwIF1L6DkuQ== Date: Thu, 5 Jan 2023 19:16:04 +0000 Message-ID: <20230105191517.3099082-39-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: 278457f1-d8ca-49c0-b605-08daef515fd3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: iG/fcdz5RhHkV13tTU7ktJTdyYywf5QLgk0WCB3kZ7mO5PxQiUUlQsv0PVpMOa20Y6vBxFJ7WSXJ2rG92zHTV/0L16fLJlb8i+/6XY59bKJfqXiJU1200x5fRV3y1Zg+XnEzp8vKlLWT+Mw2jZEAr8fAhGgn7MSAvPnwajAkPnh3N/d3C5NTaBilb+nNDKIafn7qB2pELX4KiYKyTfN11FUeSUGip7BLW1i4iUZBq3GB1RyI0XAS2CF3Yxvj5xbIZDH943PiwQ6Upmeu/x+AYhm7HYjJiQlvj/sjPZBSJOpxZlOXF7NdYxYKZSLHhzaMOeWJRyVq1q5UFUjx02NG7bkuynoEs3K5pHePZ2atPzViPfnfasQfQV7x4rJ/LunfpifDyDsX8rqliZNFRhfGuSzyP4RwnM0/jcFq5iytrsIWfVIA2yQGEAK6WmA/PH58iYzOUkn/6UlEcuzaBZm877S5L1MOpGBFhs4awXEXXjSFruh7NrjWREqRLFJukpNqVQ6ghJPIbl9oIf65eY3rLoIqIUz+FgMNaoJVfsDJ2iJyNOaCC4Oz3WZ8VPzNG1owr7+9u6baC0iJEqCSU76UDiR006eFso8vy0wo6uh7cfUDe8nYEcGcXF0M8bvGm+41lga/Jck5U7W+me8FHSXLfKotp8GpGA8OTWtQW56CS7t/g1VZygEmEhRwywy3R+2aaJe22L7KalK4z02AIl/47Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?x3xtsLWq1CFYqihizsZMoXN?= =?iso-8859-1?q?lOiR/eZIkL9vL81cE6JjuOj526T07yADKH0YoC5EouuJT+/I8WdaqGirDaxN?= =?iso-8859-1?q?t6OGUFv0lnFjS2WsfcskZaTlfm/unV9SA3vS/EGFgMSvgH4izrXst1i0kULN?= =?iso-8859-1?q?NDBx486SCers0VV6liu5+EF5cos8GvpQ8UauCROHSKBSmnJIh5V9ftbwyVYb?= =?iso-8859-1?q?tEvynH+TXL+Po7uqqgA2o0d3DjJGMBwtDHZbN62fsa4A7ygFbdo2bt3CDvIt?= =?iso-8859-1?q?v4KLQqdgcfkoGrIP8JH/M4DLOo+1hjHCw8QrrxrFh18+g0vUFL4FPFZfZIJc?= =?iso-8859-1?q?+8ajuS/hIGDU/olx7XsPRCovIbXNyWOKUp52PDTPWDVMGAKCOxYX/PcGeP0R?= =?iso-8859-1?q?CQEJvU8Wqo/xVnC4E0Ri6uq30pUd38gppPbzROrBbsT/NcV9w6a9Ep0XuT8f?= =?iso-8859-1?q?brO1A0ghfvrrpK9C/5lcxfq5eEmzhq6MsuMRtt4VSnhMEj9e/N/IUee2pxoM?= =?iso-8859-1?q?ur+4GcnH0jo/NMVoN3NdkRvTTP1ROYsyO9yU8O0VY4uy27PatNCB//ItA4Lq?= =?iso-8859-1?q?lTzSI4CfTBbsOi/u0/nTtwXaZgeqodXBgsXzQWrErTqmZkBMTq593CccluAD?= =?iso-8859-1?q?QqJc7FzZn+8lV5XPRTxVfwSbI5h39WTMxL3ZDTNsDO1sNm5py90+UXKr7E7c?= =?iso-8859-1?q?/Eg74Lo59zqomc75dUUQFGirrpUAHAXEqEk33XOG9g1RuCx9QmuZxm4cueOb?= =?iso-8859-1?q?zxrA5QbFDlmb22AMnsKMwyFyGxDkA8IBx1NRyWMAPxTgA6qiJ6AiRj6Ijdgu?= =?iso-8859-1?q?I+B+jA7WK4KLugO1VAIpjf0OCKC23rsZ2i7o5Nx7zrIHUiNP+GYBZYoum+sx?= =?iso-8859-1?q?Nrqnpp7CpFfdfc78b7WTi6fcBZBGgVDNL1eGo+pFcdzQEggAAOy8QncSSszw?= =?iso-8859-1?q?pDsbbhiWM0TK4DNmp0l3s1R76mQhJYShYFgTtWOLRKuLkil8AjvnE+sWyWlk?= =?iso-8859-1?q?0hsjtUHFXCRL1+sztJ1plJ1bBqDbvj5KpsdkunLcb24cJA3wZAixs8gN+AN5?= =?iso-8859-1?q?8stT/OCU7ascJsvhsAn7kMR3Gu7+paN+Hc2nU3mO/YUGX0y+HmRiayc6viOL?= =?iso-8859-1?q?rf8dnw63a/A76QncE7V8Q/AVBiDLsB0shKlULY0RBOZqkSdmXQXB+GFQhmlV?= =?iso-8859-1?q?4MdbqNe3LdF6UWilXEne0BE7IFTsbP9CiQt4p5PbUUMoQ+4h01NPFgLbJU8U?= =?iso-8859-1?q?l1DUt+BfWnlfzA1p8IpPoJ8o5cD5B8mWiucAAZIcK4NOavxDKJg5zu5itAj8?= =?iso-8859-1?q?VnU6zU0zxYBi+i9G+C5TjnVHCl9zzW25GXbV/YelQx2hIWWzsvU7yNriFTGk?= =?iso-8859-1?q?WQaHgM9A7xntGDHyEWUL+g9eUg8dD3fixOhlrPielYDyqYC4zZL+nCd+JXM+?= =?iso-8859-1?q?HsJeO89hPRvJACXlhMw7WdLs36kw9W0JgcNTyuhVf1L4T2yyqSwrdFMmonC4?= =?iso-8859-1?q?bNZi7sJ+7FSi+1mYnUwHY3dSekGc/6fjmcVk42DYY0Gt49TXG86sqJzgoIDX?= =?iso-8859-1?q?mK5JbiqnLA5foLfPNK+Tdw4VKaHoJd94WgMZY25IKXL4HV3i2tP0F5NKIhk0?= =?iso-8859-1?q?drnZrN/+EsulOsW9yYLj3RHKMc4kOr4RV7mUsXw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: BRWG51rrYDFUzTkM1E4V6No6urpKqFuahRhIKraW4RvcLiE4bsppJIiUoog1kpTLJSccb5TCrPt6QPexyybtXnUav3r1/oaBQpkizl15jKN/9k69Gl3heCC6WSS62GNYIBzD8IubauUxuYs6gtppELT1YQwArLtH97zbbfRFNzG6igO9vqiaf/rCluaXF22G/tFuPWXaAsYJMW2nApRl+orjk8oNwj3Vx+WUy5EQg8GA3kIzr1xQG2gT4Kt+pjCZKEGHohjTUmPstSvsgS2opk6uo5wMtWKYoCguMYfOJaNHAA/OnpBmVuE9rChyiJxdB/VLckeNow38EydGjc3p6lbs9OuBF8GKeg/gF+kU2yo68da4Q15vzRjWjhcG4eRpf6PVZItpOXvNi3ucFz9VNjP/EtRGZN+9iIIUnn0bvv918F55jFLcFm7RYmUhsmYlWFPJRw1Yk/c2nHmmbzs+UGaCwa7BgXCzAem5Tl7nVoSncqsGjbW7q8aOXwhAzo5AzWbZ3yt3JCb0SnC7x/MAycTV8M35bVt9GHzPgJ4VIiM1oHkhONIxZmuAqRUrGsib4z1PYwJC/f6pT5JZeRirCY/fZhLUn1xueM7HegnSZQM3G1GfB4q6VSIwJPLQx1LgyYBR+gtxORGPii631e+70u7eXkZm3m7/B7A3DnDaPh2awgmw3+BlktiBA50TzO9UrPp1zlOEd14p/uH7z0KNwhbftXIkIfY6S4cnNo6JuhB/nc6bivh2Koy1xFNZTBNWOuy8l+8bz/q+WH9CKX2kxRGiS0FFiU+eAX8bkEmVQPJpyWPDd+cvWNS8tW7X/l4sbY5/z0i1j9gqPcxCOqaud6b2ZRYbbRMybhCeAe0MgWwBrwwGnSeQFP9oRmcLaRnOc4Y9FCJlnvejGLC6nWhj0w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 278457f1-d8ca-49c0-b605-08daef515fd3 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:04.3126 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mU38JVnflZHPNbHVnKB2ZV2+jb6WPOnaXYh7KkQLDzd8lssKfVZm9zy+jPYjq6YrVRwAupvRaWtl/N1fu4qgPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: hmszyapcXyOFRyxNEon7qViFqgqtSRu9 X-Proofpoint-ORIG-GUID: hmszyapcXyOFRyxNEon7qViFqgqtSRu9 X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 69C7540011 X-Stat-Signature: j591ds8j1dzqm4rpuyhbfkmthiy65687 X-HE-Tag: 1672946205-881316 X-HE-Meta: U2FsdGVkX19rgiQdtMSPnVL6kJkfhvpwq6NtwppAB5VeRNuD4gDrGpwb3LBoOUSb/8IWgT6SPGuJeIZJF8aPoNBjbeTkeUNxwN4nEz5Vyq2kD4lnJkQ+Sw7TDoPL/xTJmVa6kcOjusal7ULyJV+LR3RhXE5gIFCustxrreE9WMzou2UR6XT0oVmwi/cBDJxSB9PYC9Y5i/YjqWGd9DIGQIg3b9FyaoNodwo7KK0mnZJeSKVduW9FWkaUpDwjpndChYqobVGvvpeAjIEzYtf8H83k1dNkzxMdvKAUj48cd1o/q1AsPPGZwHbnwerMZQKwCv72t6eVWqejwtPu07HSqPpOMUIPw48XYgkm8a69F5nbRAciHxdnC2aD1PE5PbWLXOOBo7jE5HMiVY3bZs+BWA1O1XkS+aHAE41dAivXbvMmJWalGLzqIdxDhGHUAMWuUUZ86J58NghSw/dTl/ep+Ly6APdEz38wr4h/EiW1V+M8n7Yf6oFL6cmPldrSAce3LvClsPMHe7NH6z6cGLW1fAHf79ctY5Sx2yTPWBeR+pJuTUwpY2Jf/gFjC0f6vOSue7G6h4JNDCkWXLQDfun4YRjEQ9TLvBRrQqV1tERwkA7z/qPS/LhhgtvUCrkOf4KJx0jo8Eck7NDII5JSgLMhMnmYWegoutAEQr0QM9QMOiEm4ubLfG1kBRjDrTlkJ+Mkzc6JipI4AnnVQGpuXV7sxbnYZT89HmFUbBjA9pYoDfzcBza7+RGZHMRY4FIJvVm4knrqjeN7clCh2dYxIWcFXfbY2nhSD9MWTjg2msIEtWayClKjXyaIWbAWIuA//Vj0DvDh4izGreBhN1txH4cXlD7weJljuO/y4G29wJFpthIWYiKI6DYrE7Q+yOAJiOtSghmnM2GB1zVHby+k9lCvJQS+X3dSqhGwWqNOfUYI0ALc3++YjFQ74LhvmkpfDCDthHg74fVkT1olAPoUw8x puXV5bVq xHA1Bcc9Jr+sd8yILbBFRxtc2STWxGrahgUlZHURjA1gKsL5h4PbwX6acZWVeVuAqI9fLCs/3Ppx8VQpw+r+6A5wpMGP7hB/WP0QspjlEUCkccSkpyvsrXDSXf0jqWHtMrnGz85RFWQMSwMVvYqUBq0njpA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Add init_vma_prep() and init_multi_vma_prep() to set up the struct vma_prepare. This is to abstract the locking when adjusting the VMAs. Also change __vma_adjust() variable remove_next int in favour of a pointer to the VMA to remove. Rename next_next to remove2 since this better reflects its use. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 108 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 47 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 9546d5811ca9..431c5ee9ce00 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -519,6 +519,45 @@ static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma) return 0; } +/* + * init_multi_vma_prep() - Initializer for struct vma_prepare + * @vp: The vma_prepare struct + * @vma: The vma that will be altered once locked + * @next: The next vma if it is to be adjusted + * @remove: The first vma to be removed + * @remove2: The second vma to be removed + */ +static inline void init_multi_vma_prep(struct vma_prepare *vp, + struct vm_area_struct *vma, struct vm_area_struct *next, + struct vm_area_struct *remove, struct vm_area_struct *remove2) +{ + memset(vp, 0, sizeof(struct vma_prepare)); + vp->vma = vma; + vp->anon_vma = vma->anon_vma; + vp->remove = remove; + vp->remove2 = remove2; + vp->adj_next = next; + if (!vp->anon_vma && next) + vp->anon_vma = next->anon_vma; + + vp->file = vma->vm_file; + if (vp->file) + vp->mapping = vma->vm_file->f_mapping; + +} + +/* + * init_vma_prep() - Initializer wrapper for vma_prepare struct + * @vp: The vma_prepare struct + * @vma: The vma that will be altered once locked + */ +static inline void init_vma_prep(struct vma_prepare *vp, + struct vm_area_struct *vma) +{ + init_multi_vma_prep(vp, vma, NULL, NULL, NULL); +} + + /* * vma_prepare() - Helper function for handling locking VMAs prior to altering * @vp: The initialized vma_prepare struct @@ -628,7 +667,7 @@ static inline void vma_complete(struct vma_prepare *vp, /* * In mprotect's case 6 (see comments on vma_merge), - * we must remove next_next too. + * we must remove the one after next as well. */ if (vp->remove2) { vp->remove = vp->remove2; @@ -662,17 +701,14 @@ inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, struct vm_area_struct *next) { + bool remove_next = false; struct vma_prepare vp; - memset(&vp, 0, sizeof(vp)); - vp.vma = vma; - vp.anon_vma = vma->anon_vma; if (next && (vma != next) && (end == next->vm_end)) { - vp.remove = next; + remove_next = true; if (next->anon_vma && !vma->anon_vma) { int error; - vp.anon_vma = next->anon_vma; vma->anon_vma = next->anon_vma; error = anon_vma_clone(vma, next); if (error) @@ -680,6 +716,7 @@ inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, } } + init_multi_vma_prep(&vp, vma, NULL, remove_next ? next : NULL, NULL); /* Not merging but overwriting any part of next is not handled. */ VM_WARN_ON(next && !vp.remove && next != vma && end > next->vm_start); @@ -690,11 +727,6 @@ inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, goto nomem; vma_adjust_trans_huge(vma, start, end, 0); - - vp.file = vma->vm_file; - if (vp.file) - vp.mapping = vp.file->f_mapping; - /* VMA iterator points to previous, so set to start if necessary */ if (vma_iter_addr(vmi) != start) vma_iter_set(vmi, start); @@ -725,14 +757,13 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, struct vm_area_struct *insert, struct vm_area_struct *expand) { struct mm_struct *mm = vma->vm_mm; - struct vm_area_struct *next_next = NULL; /* uninit var warning */ + struct vm_area_struct *remove2 = NULL; + struct vm_area_struct *remove = NULL; struct vm_area_struct *next = find_vma(mm, vma->vm_end); struct vm_area_struct *orig_vma = vma; - struct anon_vma *anon_vma = NULL; struct file *file = vma->vm_file; bool vma_changed = false; long adjust_next = 0; - int remove_next = 0; struct vm_area_struct *exporter = NULL, *importer = NULL; struct vma_prepare vma_prep; @@ -751,25 +782,24 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, */ VM_WARN_ON(end != next->vm_end); /* - * remove_next == 3 means we're - * removing "vma" and that to do so we + * we're removing "vma" and that to do so we * swapped "vma" and "next". */ - remove_next = 3; VM_WARN_ON(file != next->vm_file); swap(vma, next); + remove = next; } else { VM_WARN_ON(expand != vma); /* - * case 1, 6, 7, remove_next == 2 is case 6, - * remove_next == 1 is case 1 or 7. + * case 1, 6, 7, remove next. + * case 6 also removes the one beyond next */ - remove_next = 1 + (end > next->vm_end); - if (remove_next == 2) - next_next = find_vma(mm, next->vm_end); + remove = next; + if (end > next->vm_end) + remove2 = find_vma(mm, next->vm_end); - VM_WARN_ON(remove_next == 2 && - end != next_next->vm_end); + VM_WARN_ON(remove2 != NULL && + end != remove2->vm_end); } exporter = next; @@ -779,8 +809,8 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, * If next doesn't have anon_vma, import from vma after * next, if the vma overlaps with it. */ - if (remove_next == 2 && !next->anon_vma) - exporter = next_next; + if (remove2 != NULL && !next->anon_vma) + exporter = remove2; } else if (end > next->vm_start) { /* @@ -821,30 +851,14 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, if (vma_iter_prealloc(vmi, vma)) return -ENOMEM; - anon_vma = vma->anon_vma; - if (!anon_vma && adjust_next) - anon_vma = next->anon_vma; - - if (anon_vma) - VM_WARN_ON(adjust_next && next->anon_vma && - anon_vma != next->anon_vma); - vma_adjust_trans_huge(orig_vma, start, end, adjust_next); - memset(&vma_prep, 0, sizeof(vma_prep)); - vma_prep.vma = vma; - vma_prep.anon_vma = anon_vma; - vma_prep.file = file; - if (adjust_next) - vma_prep.adj_next = next; - if (file) - vma_prep.mapping = file->f_mapping; - vma_prep.insert = insert; - if (remove_next) { - vma_prep.remove = next; - vma_prep.remove2 = next_next; - } + init_multi_vma_prep(&vma_prep, vma, adjust_next ? next : NULL, remove, + remove2); + VM_WARN_ON(vma_prep.anon_vma && adjust_next && next->anon_vma && + vma_prep.anon_vma != next->anon_vma); + vma_prep.insert = insert; vma_prepare(&vma_prep); if (start != vma->vm_start) { From patchwork Thu Jan 5 19:16:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090438 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1AE9EC4708E for ; Thu, 5 Jan 2023 20:19:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A176B8E0001; Thu, 5 Jan 2023 15:19:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9C7E0900002; Thu, 5 Jan 2023 15:19:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 81A6B8E0003; Thu, 5 Jan 2023 15:19:37 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 709AF8E0001 for ; Thu, 5 Jan 2023 15:19:37 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 2B00BA0477 for ; Thu, 5 Jan 2023 20:19:37 +0000 (UTC) X-FDA: 80321860794.21.1EB0793 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf13.hostedemail.com (Postfix) with ESMTP id 9B99220003 for ; Thu, 5 Jan 2023 20:19:33 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=0Ix8+iJA; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=h0LNgUGC; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672949973; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fOI0ThBpRiVc0Uet2n6YUDaHqGgBSIkgC44zMu8JC0I=; b=BSMxRwq7eB61HGoVKJ2DLpJnawLPnP2zrzk2l+sjZlWZD9Rj6qiLsvukrQhp7X2wHXsnEs XSZR9RnkpJzujfnOHbZdlD3TPzQOi851UyFQJKmRLwWUm96cZ2Jk54f9pvI8jvjgoVVAjG R4m0fySqJW+L33L+CFfauEjpK29K5xE= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=0Ix8+iJA; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=h0LNgUGC; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672949973; a=rsa-sha256; cv=pass; b=Yvk5u+1ZZxlDM+WngMc9p+egvAG1PmeAE7q2uj2RiOJyQ0VOJATl+yKuCYP66dGE9pZI2/ /lfgvEZChOu98Ynft8JFI/6WRLG9SqtUeaou7m2UIzvGGOEIFWVAxDA7sEjDfbw+bk83nZ G5BFXWNsSMsslNS9/WgD/VUhhuNPFr8= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUIWp030139; Thu, 5 Jan 2023 19:16:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=fOI0ThBpRiVc0Uet2n6YUDaHqGgBSIkgC44zMu8JC0I=; b=0Ix8+iJA13ZPHvpn2G9kDhF5zZrd4bWsrYa23K7qZ9ipzgKOhUThZPhD6pM7XKWYCMp6 zHBv9M9kPjFBrIomGbClu/oyau1Vj2FU5QtfshcxXpcqTJUJH0BdIG1ISFPHPwbpjtfk 75Ioep9yRqgBMIHjeHUkUfM6fX2py1zQ/3JsMdsx29a5F6EEPsuBBG9iUdDEUT805IC2 LrrCQNiIkLaQjIXN1105W09c/RPW1nxBWAHsMCH1M+5MiKwGeLfaMCk9iAcYl2xok2KH cBixyGLY4WXlChmVo1XQmBmSnAbGvTrzf6r58kEhN0CdapDawBA0pp6mVebaKTXB2qCJ Tg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcya9kbt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:44 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPp033688; Thu, 5 Jan 2023 19:16:44 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-10 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KBwUtPPPO93Ghg2TZ7kA9XeI5ADNg0sQMgSVJ6JUGEAM1tpNSuwpJeqGOPg1nrn524thfdrvMxrXCgBR3cOmrZboaLtiHgjpzloOwwE07WFmpQYjkVK+be906cfyKjbHqwcb/536Po7ylwtsulwA/xCJUxWf2XRheJFC+7K2sWsB0zBZ0H1hlImiRIRBn5U9EmRE2giXy3RGWlc4G81knezijUArY0MLN1l1tJSOQu7q9CVANjYvUk4MDUiTLXJkN9/korR2JYbohLvt/8y8SCNV4voZhb/E00RC9A/tbzNBiAZfEY9vpl20UlvNYj3PYc/FwFp+Bv97XSvvRjy1bg== 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=fOI0ThBpRiVc0Uet2n6YUDaHqGgBSIkgC44zMu8JC0I=; b=mnwLyfCtFyawPQZVSb8K6xIo12AxoRJUjnFMimP9BXiC/jGN1Yn9b8a0HuWpV3qFcenkvjTaIK+Fzv66gCRMxAn/C31qJLVEMzxBTRjeuziDkq2GRwFdRfxwVJe+rMInRvCwWhHtLb57twNv9fvWfoEduJ9N0n9rTCZP5lh0cMrEBmz2QSym8oRS9bMDu/PFwJZ+6ueFCXgdg9NSRmSZt4lfgxrdc71hdzur9krkU/NLUYO388ah5uIZt4hL/tlTHD9G3aPB8lIUSInCp3wMgQ//S5otsg1SAnrBSOUkM7AivAbSIR8ThsHXceVwFJVhOyXucdWXUPiePmTHbmUJBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fOI0ThBpRiVc0Uet2n6YUDaHqGgBSIkgC44zMu8JC0I=; b=h0LNgUGC8wLXyXHDuJVsm3DQoD+P0vIkDQO/ymw2+IsI2sxzTqcy76/Ff6dZSrde3Ta19ipfhzphGjPzrI4y3FApG2WohcMJ5Sv1nYePq6xIOCUvMo2gFeaHvSveP5ewLtfOSyImAFLfMfw5g0QzLAsasymk1r+5hdKtO7Jg1eQ= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:40 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:40 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 39/44] mm: Don't use __vma_adjust() in __split_vma() Thread-Topic: [PATCH v2 39/44] mm: Don't use __vma_adjust() in __split_vma() Thread-Index: AQHZITonjB4NzQAbgkqpv5IwNTKaDw== Date: Thu, 5 Jan 2023 19:16:04 +0000 Message-ID: <20230105191517.3099082-40-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: a0c91420-d413-4827-c694-08daef516005 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8acoK+9lXw//L6eGR2zQWp8vfgmyuIJZqJUeEOwVMKQuP/ByR9I6B0S1eDPRV2E1hZrpfbD5akeujOeIkVtPygvBcFSY7Z36DRfiMqY9TXtJbsAeuhDx9MqJZHDzc96TF94XzwfNXxHIMg0oaCH9geBeMsumeE/l+o2GR2IvZtka1IePjQLc9CUe7TLOxVZ2t9kfAAY10W/aENnPkeKH55/tXNFa2Ixw9ExcNjlXiTSXY6thBuM7uRFN2cY/QyLvGU7GLXzp70Ipp2g0zQAn+Q4cqMJHH2l/+F1j4bnnSG3fH4VWlao2jA80AqgKE0xAYG0ZlLbYkMreHYo/yWBNPXoUGRn5HexjWW8kzgz0CjYrxg7IIs85sVh8b17T8gCE/28OpdNm19aM7Bvpo7zQvKZGIXFurQ3vUC38++8VvMRdRmAaALzWY1ynWMEtnxADlg2EsdD/bo+o5o0laP9DeF+ZeHTWnxYC5o3pSCTF+cgmM57HVO55lEOfWBArLV1LXj+kZvhIjuR5hpVcx8nnD2RCXMxemYCKpCnfwhWmfW2FIrdy7r/Oaw3JHdbbz7hT/HYctiHHQj55NbEMG6b0KOMLnGuhgU+6wwxqjrwhggGTDb/I9xLiglJLFyWiXMsEYjqhSFaG659Va5pK7qrND5GESjij+QYd04+ZSQWmMzosGQ6Qmvp+ktdsrFiLXo/gJ9PwW+84qgohYFWLEZpIxw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?rEbNZj2lDdOTQ9OdzqyJYfE?= =?iso-8859-1?q?cHzX0SM8S4ubrIumjXsdCEpDwyxzsLTS0eiIY6WhyuYyxopJAknJ7MYZZHdZ?= =?iso-8859-1?q?7F/Q9C+77URfPIeilOBb6RynUHjYCnnPiaDy/Frnm46qjgbngz/FHY++3An4?= =?iso-8859-1?q?IlCsq7TCyNRkXcBanXVKK0CsDHQtfsolH+7m8EoaRD6bushHHQtD5TWhEEHH?= =?iso-8859-1?q?/p/EA8Zu7qDLuINzxnewVfrlcLqwaCLX4Ky+iyC0q4VOEHK1o5Hl79PwAdFn?= =?iso-8859-1?q?LkCB16aYuJffdJdkx/oemPYSrwAypf4VkInZKYO5GTXJThdFZ7adj9VEQJAC?= =?iso-8859-1?q?P8YqaiRMTUWLRWkBSOZAmvEsArMmz0yLc46u7jn8PcjP8Q2gv5nb0H0lwT14?= =?iso-8859-1?q?5Cg8QgUfEiJCxJLvlm5cxfcCx1BsZkDLiTefl4Evg7QedllmMcs7PRjRoScz?= =?iso-8859-1?q?EmRoV1/hLxDbK0gt7NsAxMQMT2Ysx8LDNLUHTXCJYe/rvNWvcBItz03wa6jk?= =?iso-8859-1?q?Z2CEq8usLg++hf0hEuYl1DtiMItEnsjqAzZHK9sDgbGuMI7k/pIfCfHSEL0o?= =?iso-8859-1?q?rpgfK6BZiKOghYKHZlx1sXu8Qkn5urnbw7TOLJfXn+QP6UQUADNZqj9V//6M?= =?iso-8859-1?q?Ly5EnKuCHwZTrvGUWIdwuGZotra2vXSpUt9LKS+CtOLFg11mwJZyMRkGzMUJ?= =?iso-8859-1?q?wcktf0+2bh8NrRQxDYtYgIrT+hO8TYP47/19rtkPRe+zV9xi/feKBRRGEQwD?= =?iso-8859-1?q?P4n/kbVrNJrgk1/gv7e0of61DzvFrnbkJnwCB/kUk/CTjt4f6Hcwy4sar302?= =?iso-8859-1?q?MxcxSm2n+vcgI+kiKdGJZPs54KYxC0kJ1mR9ASqL7szyOYm6K9G5tEk9hs7b?= =?iso-8859-1?q?cXy15y+3aS9wQwaAsRbMJVx9nFN9L1GZBqSYS8+HQMozqfXKe8e3RusR2Zmm?= =?iso-8859-1?q?uZy8dy0sGQrwiN5iHtWry+b2IB4BbMgnIvJV0Yl1YVkUFUrbHbNkqWdI8H4F?= =?iso-8859-1?q?35arLvYMPOzDTT+BBIo7srr7iGfwZG2U90FujBFMdrhqEPOZ6Np/JfXZDDBF?= =?iso-8859-1?q?rjjYlvSF9LWj22feFbVxvPCkYpqV0tZHDd6TuISVY2Uq7k+oQEO2jiKtbV05?= =?iso-8859-1?q?UAg26eBl3yrOgpnnI/TKydRXCvviKdzOHM4oraZS+Y5gsBVO6a1nL8s5sNCN?= =?iso-8859-1?q?BUHG47rPRrQeEnfUap9NVkiG09df493krHKV0szKBfA00mD8KHJLPII45n3n?= =?iso-8859-1?q?tdLfdkNqfBm6K0TQ4SsYzk+w9BHTgiIbvzF4F7kbGjP5ZGXLJj8Pnh2wAjbC?= =?iso-8859-1?q?gWyKr0Rt2/yBa40lEAAcKvQglpZ93XTJP+lSF4b3PDR5uYrc3hchI1JWVx3q?= =?iso-8859-1?q?GWGewogAmeQnspyheJaz4eAwKPK5Mv6/dyKv7Q1SzQKsonxJ9mAYX7uNYiGD?= =?iso-8859-1?q?XANu0r+uhZfIg2XUvNMSHaltK5cP0KaAVUbj7eKoejZGHgjr5hR96OORuVf+?= =?iso-8859-1?q?E3COPQFBWUh0H38vBcwyH1M8DDAVzrKEkw/4ZZLFIaqnXfYbLn6d8jrt4pVr?= =?iso-8859-1?q?95R4o6AyPlehguElFLPd+WKBPqWBbCQxljzzc6ZTiH7zKosuuuP/i3dV9/Kc?= =?iso-8859-1?q?K+RXg63Fz3b/5yRWPp/+fO5DqXvKli6ESLvDr9A=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: GjiF6BdoOuxHkPgADDJFNAtoqo4nVILkr//SsihVp0pSTUc0aZcMdsiBzh5TsEb3uremjaIvBXALg2DddyZ+WqQc3AyzjoChpKTZn8Ke6zoC2vFzDFtxJVfhnXfaGuGCsTiUYPJtKbi1EMH5rS9KMORlC8ZPxAdhqYF6WkCFgtJL1xdjjLhNGq8oNs16RLvrxyvqzJj3Ii/aA8CpghgEdT40PZIh8e10rJcs7IUpHfU7sRvHugLQ2jW6Z3Srtqs1cuwR9fLhVgXwHRYrzd67GhLIMAn3ak1RffRYVZabBrok60ZDfNEun8KA2WQyGh0ACqJvjWiqnnnxktOdBC8W6skGgqF3RYhCYZbFHMXuSChyJ4HD472hnsRzL7sDwHKmzsVu0kGlOkFZBFXRdfqh34MaIuQx7G74vyVUqc64Z2H77iv/CwhdlubPkxWzfPSAk1RZhZMjHuUUX4/0MPDusI2XHf6hHI0Z8teMjaSOA8DcPLFobfOVmpL2PpkR42FVCI3inmZzHMncwWpeqEUp5iGbhIp+ws1CEZtNUP+QGPIUYWKHVX86BsxNAkKyPSTRPo9ZoBw+t5mw32ewvq9xl9xjUNg35YbBufuWuZOdqMYAitK0QLL3wsHXq7rjdxtlbZ+gitMdDPEj5obBPzTl7/gwiDRwyYbLmliWx0E0N5q37HfC+4vHaXO5Sg3Fet61E6WCe+vUZfIjIyhFIBdmclpxrZ0IBfQEfzpgf702zduauzuTyGDIX8E4BZ7PPCf3WZ0oVhPIpLCs+SZVnNJ4SGe5ekBE19bENy80hhNqOe9zjdMeNiIJnMEuEx7Lul7MXd32dVlWB5WzSM/+ltUB4MD5TAIGUGAI5V0VrPjIXc9grC9lGsnQIj27Dd6vACE2E0OPUP8JuEecCW9diaQVZw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a0c91420-d413-4827-c694-08daef516005 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:04.6095 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: dCkzWeXZOWeCZGxaMM+o05hr9p5Yjp5OJoVTVJrqmyKYBu5nf5WEd1eErkDT9b5ksaHFkDpnVYO4OxPRnTcjPQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: ETck5X-j_ecBVIvQ0g416VGeNQHeDZ0J X-Proofpoint-GUID: ETck5X-j_ecBVIvQ0g416VGeNQHeDZ0J X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 9B99220003 X-Stat-Signature: n1o7dj8z48kdohdr7t5de16yqqjak1w4 X-Rspam-User: X-HE-Tag: 1672949973-22879 X-HE-Meta: U2FsdGVkX18BwdxN7Qc0INlUNENHgGunqwfqhBCJhJ9xaLiqHHqts8DsJRYFpV7I/XiMv6NU5iFIdFKxWKIdKiXRApYdgMhc0KhdLo9tFJOpa4svWnXd2a35Ktyrnay9hDDiFBZNRDbcELOy5U5J4ihrep4iI7s1iBk0XlndNRO1dUVlJnHBIY2p5vKAweNPgAEn7SxwElJ9OV0c1EygMqxdCwRkJSggTtJbmFM50IYr/KbseZuKT4FvArxRbxsFQu4w16FFUIWlNNcqutV9J7HgJxo6Nv8ZHgLhe6R1TdJSSxEo3BUwgkRKcWqDilpUOgxlikeQqdNmhFJ+IAklbEzsWLZ+mFGHHXbyRyUvt9goonNpdcAt9mtT5pCb6mUbQkQD6s6boReUU1xCY2O+Sw+zbGcCkp4k9FwNt0zXW3Rec68sDTrX5l5aCMwMXwbBjL3bJx3ZYev+iqT5psmGNK9ZzY96n3lnCDS04xoN2yk0ACUJ3oYyhdaFxIiDr7J1fXfm8iWKMvc1HlzsmzC0qs3piheV9j6ZebaAtNDZIL2pTBUuhTy4rPN51d6OEN8WoN9vy7igXkku6XJcq2cL7rXtG+NNNsl/lYhqrXQ/s6peXpaOcQl4ZqNFuRh2uL0rYgn5Gq4ngKFDQts1RQqSHcxxHsxMyRhYnVetd2+298kie8X9jnU5shSYiWWTi+PoSulECfAsYS0f57GDMksSRKKOr/1yhE0JVc/i0PY/9pkIoWy9xL2VkVhaPfzM8v+kYXzBYqA48EWRiwayfQPPFtzSQHxTkod9yQz0OaxvARoAtF5t0Q7z1AE4igkZ/o49lQZ5g9p4rk1kzTU9ycea/UDmkw2mfmgESy6MfpcX6bDtsIhgRDJgDqTzHsNEhgLphE2CN6MQ3+X3v+sIm3KM0s1acsN0cuW8zLLP4rRTmjXK8nVx6NDXTAhVJCvJMH2Qx3tag1IMKClndPGaNvk mADt9V9/ 0SQAcZ6N77cd8zq3kbT9XTAvMmDFsJqKM4isp3K54LciKUWGBJwsbbQvA8UGaL0u6QoIFLOnC7XBvQwDBGkHggDL/JSfWkIV72rLLcx+j2nZuRyBczanN+MniR5IXAUGiA4AwiGUuekmwjQETGd3QSSqgzg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the abstracted locking and maple tree operations. Since __split_vma() is the only user of the __vma_adjust() function to use the insert argument, drop that argument. Remove the NULL passed through from fs/exec's shift_arg_pages() at the same time. Signed-off-by: Liam R. Howlett --- fs/exec.c | 4 +- include/linux/mm.h | 7 ++- mm/mmap.c | 114 ++++++++++++++++++++------------------------- 3 files changed, 56 insertions(+), 69 deletions(-) diff --git a/fs/exec.c b/fs/exec.c index 76ee62e1d3f1..d52fca2dd30b 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -699,7 +699,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) /* * cover the whole range: [new_start, old_end) */ - if (vma_adjust(&vmi, vma, new_start, old_end, vma->vm_pgoff, NULL)) + if (vma_adjust(&vmi, vma, new_start, old_end, vma->vm_pgoff)) return -ENOMEM; /* @@ -733,7 +733,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) vma_prev(&vmi); /* Shrink the vma to just the new range */ - return vma_adjust(&vmi, vma, new_start, new_end, vma->vm_pgoff, NULL); + return vma_adjust(&vmi, vma, new_start, new_end, vma->vm_pgoff); } /* diff --git a/include/linux/mm.h b/include/linux/mm.h index aabfd4183091..a00871cc63cc 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2823,13 +2823,12 @@ void anon_vma_interval_tree_verify(struct anon_vma_chain *node); /* mmap.c */ extern int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin); extern int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long start, - unsigned long end, pgoff_t pgoff, struct vm_area_struct *insert, - struct vm_area_struct *expand); + unsigned long end, pgoff_t pgoff, struct vm_area_struct *expand); static inline int vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long start, unsigned long end, - pgoff_t pgoff, struct vm_area_struct *insert) + pgoff_t pgoff) { - return __vma_adjust(vmi, vma, start, end, pgoff, insert, NULL); + return __vma_adjust(vmi, vma, start, end, pgoff, NULL); } extern struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *, struct vm_area_struct *prev, unsigned long addr, diff --git a/mm/mmap.c b/mm/mmap.c index 431c5ee9ce00..3bca62c11686 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -754,7 +754,7 @@ inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, */ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long start, unsigned long end, pgoff_t pgoff, - struct vm_area_struct *insert, struct vm_area_struct *expand) + struct vm_area_struct *expand) { struct mm_struct *mm = vma->vm_mm; struct vm_area_struct *remove2 = NULL; @@ -767,7 +767,7 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, struct vm_area_struct *exporter = NULL, *importer = NULL; struct vma_prepare vma_prep; - if (next && !insert) { + if (next) { if (end >= next->vm_end) { /* * vma expands, overlapping all the next, and @@ -858,39 +858,25 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, VM_WARN_ON(vma_prep.anon_vma && adjust_next && next->anon_vma && vma_prep.anon_vma != next->anon_vma); - vma_prep.insert = insert; vma_prepare(&vma_prep); - if (start != vma->vm_start) { - if (vma->vm_start < start) { - if (!insert || (insert->vm_end != start)) { - vma_iter_clear(vmi, vma->vm_start, start); - vma_iter_set(vmi, start); - VM_WARN_ON(insert && insert->vm_start > vma->vm_start); - } - } else { - vma_changed = true; - } - vma->vm_start = start; - } - if (end != vma->vm_end) { - if (vma->vm_end > end) { - if (!insert || (insert->vm_start != end)) { - vma_iter_clear(vmi, end, vma->vm_end); - vma_iter_set(vmi, vma->vm_end); - VM_WARN_ON(insert && - insert->vm_end < vma->vm_end); - } - } else { - vma_changed = true; - } - vma->vm_end = end; - } + if (vma->vm_start < start) + vma_iter_clear(vmi, vma->vm_start, start); + else if (start != vma->vm_start) + vma_changed = true; + + if (vma->vm_end > end) + vma_iter_clear(vmi, end, vma->vm_end); + else if (end != vma->vm_end) + vma_changed = true; + + vma->vm_start = start; + vma->vm_end = end; + vma->vm_pgoff = pgoff; if (vma_changed) vma_iter_store(vmi, vma); - vma->vm_pgoff = pgoff; if (adjust_next) { next->vm_start += adjust_next; next->vm_pgoff += adjust_next >> PAGE_SHIFT; @@ -909,9 +895,9 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, * per-vma resources, so we don't attempt to merge those. */ static inline int is_mergeable_vma(struct vm_area_struct *vma, - struct file *file, unsigned long vm_flags, - struct vm_userfaultfd_ctx vm_userfaultfd_ctx, - struct anon_vma_name *anon_name) + struct file *file, unsigned long vm_flags, + struct vm_userfaultfd_ctx vm_userfaultfd_ctx, + struct anon_vma_name *anon_name) { /* * VM_SOFTDIRTY should not prevent from VMA merging, if we @@ -1093,20 +1079,19 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, is_mergeable_anon_vma(prev->anon_vma, next->anon_vma, NULL)) { /* cases 1, 6 */ err = __vma_adjust(vmi, prev, prev->vm_start, - next->vm_end, prev->vm_pgoff, NULL, - prev); + next->vm_end, prev->vm_pgoff, prev); res = prev; } else if (merge_prev) { /* cases 2, 5, 7 */ err = __vma_adjust(vmi, prev, prev->vm_start, - end, prev->vm_pgoff, NULL, prev); + end, prev->vm_pgoff, prev); res = prev; } else if (merge_next) { if (prev && addr < prev->vm_end) /* case 4 */ err = __vma_adjust(vmi, prev, prev->vm_start, - addr, prev->vm_pgoff, NULL, next); + addr, prev->vm_pgoff, next); else /* cases 3, 8 */ err = __vma_adjust(vmi, mid, addr, next->vm_end, - next->vm_pgoff - pglen, NULL, next); + next->vm_pgoff - pglen, next); res = next; } @@ -2246,6 +2231,7 @@ static void unmap_region(struct mm_struct *mm, struct maple_tree *mt, int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long addr, int new_below) { + struct vma_prepare vp; struct vm_area_struct *new; int err; @@ -2261,16 +2247,20 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, if (!new) return -ENOMEM; - if (new_below) + err = -ENOMEM; + if (vma_iter_prealloc(vmi, vma)) + goto out_free_vma; + + if (new_below) { new->vm_end = addr; - else { + } else { new->vm_start = addr; new->vm_pgoff += ((addr - vma->vm_start) >> PAGE_SHIFT); } err = vma_dup_policy(vma, new); if (err) - goto out_free_vma; + goto out_free_vmi; err = anon_vma_clone(new, vma); if (err) @@ -2282,33 +2272,31 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, if (new->vm_ops && new->vm_ops->open) new->vm_ops->open(new); - if (new_below) - err = vma_adjust(vmi, vma, addr, vma->vm_end, - vma->vm_pgoff + ((addr - new->vm_start) >> PAGE_SHIFT), - new); - else - err = vma_adjust(vmi, vma, vma->vm_start, addr, vma->vm_pgoff, - new); + vma_adjust_trans_huge(vma, vma->vm_start, addr, 0); + init_vma_prep(&vp, vma); + vp.insert = new; + vma_prepare(&vp); - /* Success. */ - if (!err) { - if (new_below) - vma_next(vmi); - return 0; + if (new_below) { + vma->vm_start = addr; + vma->vm_pgoff += (addr - new->vm_start) >> PAGE_SHIFT; + } else { + vma->vm_end = addr; } - /* Avoid vm accounting in close() operation */ - new->vm_start = new->vm_end; - new->vm_pgoff = 0; - /* Clean everything up if vma_adjust failed. */ - if (new->vm_ops && new->vm_ops->close) - new->vm_ops->close(new); - if (new->vm_file) - fput(new->vm_file); - unlink_anon_vmas(new); - out_free_mpol: + /* vma_complete stores the new vma */ + vma_complete(&vp, vmi, vma->vm_mm); + + /* Success. */ + if (new_below) + vma_next(vmi); + return 0; + +out_free_mpol: mpol_put(vma_policy(new)); - out_free_vma: +out_free_vmi: + vma_iter_free(vmi); +out_free_vma: vm_area_free(new); validate_mm_mt(vma->vm_mm); return err; From patchwork Thu Jan 5 19:16:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090341 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA901C3DA7A for ; Thu, 5 Jan 2023 19:17:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D7E43940013; Thu, 5 Jan 2023 14:16:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CE1B9940014; Thu, 5 Jan 2023 14:16:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A6DA1940013; Thu, 5 Jan 2023 14:16:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 88EB194000C for ; Thu, 5 Jan 2023 14:16:50 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id D6FA01405C5 for ; Thu, 5 Jan 2023 19:16:49 +0000 (UTC) X-FDA: 80321702538.13.6F62DC0 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf12.hostedemail.com (Postfix) with ESMTP id 586214001A for ; Thu, 5 Jan 2023 19:16:46 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=JEk8YkRn; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=AWYbyuDp; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf12.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946206; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=2xnT8FDEwDbbI1gHr/DU50xezL1IoQwENxQTeCIHSGI=; b=jisIpAr52XlFiDAs5100Xm3blfD6E6dy1bc1Wlgr4VadRSJ2dj/G/AeZov5ytvy/Tz3CSf NY5dkpjpHAIR7w6Z7+5lsGdzDXu4Dfc7v7D2u8tmd+lh5x2d0Cg9HEoSMEvT/TT+cLtYLo sbVB4xtg3qn3In6e3XNsWJgwyK6pPp4= ARC-Authentication-Results: i=2; imf12.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=JEk8YkRn; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=AWYbyuDp; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf12.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946206; a=rsa-sha256; cv=pass; b=w9jQnLN7sRrb9wxYU/ph++GxXYAAwuXRUB0Axvr3Emq999YEbjHnoFatzGSndXC3XPn6S/ wdy6gffv7Wi7S4Cn0ku23ZlLTI2TXVdjui+CzJfV4bXpte7SCG7KE1hTl+iXMLWkbZXGrL lNtYswfL3f9HikteSv/aF5ss9Zwi5Mk= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITcfs025538; Thu, 5 Jan 2023 19:16:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=2xnT8FDEwDbbI1gHr/DU50xezL1IoQwENxQTeCIHSGI=; b=JEk8YkRnS1VSKYYyqtahkSA/3IQ9x9ED5s8fGQRVCecJU55ar4ZmaauwZVD1UIGmULHN gUAdRe+dg3Fc69kOHQ7wAkXKeS3O6M7Gb2k98pixxDjdlV5oYsX1YRdtv7YdynbjCgie ZVpWaapnQOvShV/QXqlSEee+A+KqlEjcyR7lJIArQ17dogofwi+UXfk6qRmmPlQylPvq VE6FL+tgwF3bxSnCG9pFEUxtZ1b/jENXh4Kum1ciPmnPm2THKGtn8OUsehyGfF74fwZU Aj9dumD38elqDz6cHzd42uF224J3L2oWTI0KH9RjXHQZwHWepDDJH+9bCxsPh7o4PbD2 eQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtdmtskwf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:45 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I1EPq033688; Thu, 5 Jan 2023 19:16:44 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3mwxkf7u5p-11 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GhsI0PqF3xAfvg/XVYJOsaoX2+H5fMVP74FyDAGvoT/MxzZvmI7VJilZ0LzbLDiRkHkx2cr7VsfJwkVDAuZ0m5hqsuFOE63zJjmwrYQ90ypddJ3hHVoF3t735DJCriPgiHkF4m/qSCOAbl76CaQgzeSo+T5K+EnFuugXzya7/Zq5h6RPS/3gVDEJDB3KeleJWr0ouaBBmhVfxQlysDlhXyLHAr8jhEOIuH8VvYjk/HnoK1MdhAH8wzAkFMK/JbEEwVorJeY9ugsBC49S85thxLW/hld6hmBTL4Sr7qEIYf1MS7BC8/UmI3+OJnC49sXfSZGP4PjjVz+qScFjXwLMuQ== 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=2xnT8FDEwDbbI1gHr/DU50xezL1IoQwENxQTeCIHSGI=; b=DC/q4ygMyoFAx+8KMKzflezsdrRhgyZdkn+LlFQxQ2OHtaMtneX5oXi0nq+VVSZ+8MVpa5S4B1E5gxBorTOUNHRxQI4AuQurNhtXnQz9jRoCGf8blKV0l5xwBa/27uNbTJUTnsIfXRbqN1/Nbm4TZTNNIvTOcMvNKGjfryFpjo8Gp7k4FyfRrqVENc52/CiONpCcjRZMs7G87YhwyzCLoimlhGRAY0GugHCYLylnkhtLALnrdkkgl3sw/WlzCx2a7DqJoRtiGqYPcpu6sJxtgNgBytXFmzNxlndZ77RW2HvhdPLN/14IVBhSJ1gpQdgal3qbuxcpCWJ1WXFa2eh4hg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2xnT8FDEwDbbI1gHr/DU50xezL1IoQwENxQTeCIHSGI=; b=AWYbyuDp8XB3OIlFBG/kHrHXCpeGAXZT7U6Hierl1G8Kt0hU7OvPG+cmykutIYR2TwczbmRF2J4sSySSQ+qDo+dj/HA/saDoQ5uMaQnAg9G22viBeiQotIf+8xMPgJx06NJxzzVWtejXeRSQuO/sud/v6qI7ZSGfB+UYeMRGsRk= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:41 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:41 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 40/44] mm/mmap: Don't use __vma_adjust() in shift_arg_pages() Thread-Topic: [PATCH v2 40/44] mm/mmap: Don't use __vma_adjust() in shift_arg_pages() Thread-Index: AQHZIToopuk2mk6qoUWd7NiOUa1+Gw== Date: Thu, 5 Jan 2023 19:16:04 +0000 Message-ID: <20230105191517.3099082-41-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: d1e5ce4b-5cf3-4797-4bdd-08daef51604d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: aYIZfNlXES57fibzx5iXmV8rEa7iNPzEQv3Izhg7kWd9BFk7ruePb8+Yh0gaGsFstKMiyuML+MS8uUh2T0z8f/QxIOmCvZbMok0wGJKnpk1b9VYpUzKTAh3nFbfA6X2xoPpAd8iORy3GBLZgDs8Wdt852qshAAQVqdK2fpMQ6d9EeqU8y9hAcdqGeWqf6qqr5fdwE9I3b3zjDl1gJglu+su1C4QDSfs23enJjoTmIJFxMHewBg4WRHpbbT25eB6Vp+14LyrqdNbqWb44ZPx7QXpb26NTn11zIQgEH0Cacu+GtI1kktwZ+xf04ma2dkpAKQ8XnEw3lLBznD3B2eHNKq2XQyhbX2gjqWPqP4epRaw5s6tAtRqJlrpdTEmtw750sZSOV1v68q/Qp9OzLH4/lylOE/hiGegmQM8f3vRhG3I2C5nckGAJKP1UNSJHzaEZL8V69yvecvmu//7TWXlQZf4ZBS1MNss+2qv349wgkuVZvIwupwn0vd3Yvrnf7fgzNVAwg855xxms6imnyYDCXlcypBZoeOjikTnUp6/OJNPlSxCX696en1neP669L5wKFkZf31PX3eT3w9kg8I/4t1XiizN0T+Ndj0S0NiZ14AdV9etwj8kan3vg0vYwbr2uXdS3cLh6paTE0z/RvnjhQbrk2gYeYby9ZPMq7SRS39w6IDgEUmgOvxSufsmiZbDtSd8FJkJ72UO3cwsbUte6Sg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?Wnqs0wyi70J7iggmclCAXKU?= =?iso-8859-1?q?GYikNKUVPxR1e4ugXOgKkdyglCAWuuxaSuuQRCuj+kruxEV57SlRivWDLxZe?= =?iso-8859-1?q?r5zSd5SuSMHl9De5DTjiMQ8atWzePRaaBikSX7XriznlOqT7H1Y+v4MrYxOs?= =?iso-8859-1?q?g/oVyKO+yuGTO6+aUP0jzhyley5KyGVlEio9+uv6JFZe55SQ/FWYW40y4SxF?= =?iso-8859-1?q?GLWFj141+dsdFPc5yY1fytZOgI4+umLYoPgVT3oskMJti60PoB3CI1OlrhYH?= =?iso-8859-1?q?Wk28rH+nwG1+skkuCPizUXJpNF5RzkUULa2+d4Bk1h4cJqHQtQbryd1FkBQP?= =?iso-8859-1?q?isMBz1dm3QS6Z7psn3Xlu0B1RiwFmwOy77WGU/Jej+iSiqgIvjqeD3T5QClv?= =?iso-8859-1?q?O9ujCzpROHtKewllKNZkHlW9cKihvUqmlT2V5tv/K54w77dxNlUbRBnDDCe2?= =?iso-8859-1?q?suIuhgOEmtK7kQwxAycoS4q835eQMVPnXGPUjREi2TKCFyL6f8DhuxIadSIJ?= =?iso-8859-1?q?7yebwHPOFqPGC8GRkWfyEjQiQkpbnHOGTsFyqMbCu64XGiGaQO58Dwiy86/J?= =?iso-8859-1?q?acRnlfTStOBBDm8WUgirBv0R7zvU5qltF2O8HHM+JKUJbKI3tGkL2WH6Nn2e?= =?iso-8859-1?q?g3EszG0Q8XHqAwpHmT20xH2NuhWVXHZahMY5ini5wvBTw2ss0wDhlT2f691L?= =?iso-8859-1?q?s2EJXmubQFoqAxrobL8N8EkW+ltW6tC28CmViUfGeVh/b6bbUqC59XHCXaVp?= =?iso-8859-1?q?TfR4Z4A+TqmStleEYaIWYY7UgJXZ+k1qhr/pR4ksYu30+sloCqmZ+kdrSGAv?= =?iso-8859-1?q?+0EgGQKa+uL/62sPbAH8GPWG66jpXAjnx9YMv1DcT8LHGZeXEc/CQlL5MyUp?= =?iso-8859-1?q?NGCUH/Iakj4ADFZVai5gXAw8Y1F5OdFxjWspOMy4DL3rDXScq6hIO3YhcRhN?= =?iso-8859-1?q?0NrA9pbCfeitm95hci0WB/Dla57b2x6TSgpSGyh3DUvFIwIgkIidkf8Qv4pm?= =?iso-8859-1?q?MC4HaBiNQFJndDGAUJ+VMzQ6o0mGv7yEFSAQ7GgSJWOU0OPpYT+bCtcUooOZ?= =?iso-8859-1?q?vlxzwEBROLQQnHRsYdQreAm2f1TbNqWNb2jDjUg8xIQ7RgWj5XRN5bsgIP2n?= =?iso-8859-1?q?PP5coGp7chyTt8F/wv0kr1K+wnnuLitKJAMv2dnO0EtwDBWl674ShPx8L0n/?= =?iso-8859-1?q?toOUJSGtwI/5h2DAAH4fYtgVEpGJADDKpg1A7Z5hRIo/YA1NbbsZTL789P1b?= =?iso-8859-1?q?EBCmvWqcN+K3kpluunTjGLRNjBm/uGYdoa6o/FxbLM42c8tr5nj5F2LTpB/O?= =?iso-8859-1?q?EJQ/dkpN+8Mhgs0RjYO5XKquneN+zHzoxSB5FFb+zhFS8/rfcBW9sPOeMwz1?= =?iso-8859-1?q?f2JSA30G1e5lITW4g3McV+2cuVHOcHJAQbgad0eCKCMDepi6jCIZOGZxR/2w?= =?iso-8859-1?q?HyoeFq4vgkV2x5Zj2blV7bsAwK56LEjFxnpiopoOt9EpDrpxZ6l5Fs7x3voK?= =?iso-8859-1?q?m4RqZs2rytXYT8QJVZbBqG6IzJLvIETakAMOpfbyexLxTnFyoZITecXrw0w1?= =?iso-8859-1?q?8Hb0Bhqsos2fOE7HMjWekmGSjd1k5DTMuptrqGqTa/uYoU3iPldJ5+3ExUy0?= =?iso-8859-1?q?7qN0eQnvBtv2hJ29iBM7XRTIODq2VmjMTQBhWGQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: UxocfaK7n5LAU65m3m56MUdXNb12ffJbOjz4TpjLN2nzgbgxeXrFHG44Zj4mTeSDw82DxOTTKo7cP8ciFfNV4a0GpAdqqhCbfz8zYZhcXoF3/XvSq4aRngGHfsdwqqbiJqKDr7b38f4+6Yu0NkBwuebVCVA3n9wc3ZhpS5vM30lnSdt+kAKek0+iU7Yt9CvTnoQRdobp2SZDEaDZJeeo8dSORKeVlXk4GEhrypYelBF9Orn+ThMWuvGxg8uouQYp8QcMOjqokaIZ2BvllWp/POqELzRHfgQpcRQ02kqTjBd0qvqXFnqcH3NZnsWMNPO6qnEBgvnwD3Wr6JOYSZfmPh+aMQAPl/IoJfk2HOt40om/JukCteZloiRDXJhyJemS1Yj77UinhhkwkI9X/+T+vijGGd6Ad0jzYEVF2n/CP+g+J/HPLAErsFoRiwNypEg++3S1uSjiIK1saeLnE7Em4zo/BfWPaRCHUFSKLXSUUE6xGo/s+EzRaS6vV+jTNNBvTvkUwZri1T1bIPIum+Fj220S8PWQJqLZKHd5QzV9G+Ms8Hr5DoTnwpNPRD75ECuWlGDz6mhSeiI6FzV2vC0SIfxyQ7HBU8N3mM6UURrxzNCkGr1VDtEXWLSNX+5UltnzuObUPZJSAanB7BYR0CylcmdzETtcnIlW91fMWqm6nNdtA2dT9PW4x4dWF7+D5xMSPJgW/8YRJ1eFYLLmTSLyg1v3FUP1AueXALySwJfdZraoX0DR2n/z5ueRFoOtza8CDwm/mvVH/sFxnKczQTJEVg4uNf/lYf8Q4JHkB0V0K6R73VI1zUhH+1PIlnQttHuKXJUIfPIVud4YQ6m38L69+6Bti7UAEqTXuUb7d3Xj2hUJJECrfbHm6nxdUpuZNYzQwB5TUQbDJRsVnYY1vlbPhg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d1e5ce4b-5cf3-4797-4bdd-08daef51604d X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:04.8907 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sgjWQgwwNcHF3538xNy+ap0e1x+abymr5fnvcTlIQBtKG/JSQ9Rwtk6J2Z3VX5v45LIarvbwdDbf4+IWoSStHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: gwfEMqY_5xVYKdyp9DUmco-nviV0xl_s X-Proofpoint-ORIG-GUID: gwfEMqY_5xVYKdyp9DUmco-nviV0xl_s X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 586214001A X-Stat-Signature: igb41ex6y8chhpn1rrw8fs5qe3u3dxd4 X-Rspam-User: X-HE-Tag: 1672946206-704862 X-HE-Meta: U2FsdGVkX1+LtShe2z+pxdwPaMOp6/HKCjonPflRXuPoUz/k3h14MUbREIY1DdIWoc2iGa+yahq276yM4YYqJULwsONy8MD/dgA317fHzTynMEst/JvQ2EiEsIDigxv3JYCToDJcQ4er39tVY5+aocWwoBUcwdvGhstTYHmATJoai+WAknc53L4/DlSWBzzs1qwDy0jXvJEBZ3FE2e5gS7rUnZ6ezD/s74/FtEvqJk1cXEAdFn8Fshw8KtdOJT8s/QMx8isRD1Z66puYDMMQ2lpi+rtV32czftIadcagiejfTf0c7MzAsh4PiQbOW0MJMHP2LYrW37jdPTd7myMND4b+FxwrDZYpdQpfy0wpn+XSkCYGM0cpt0OXsne9NzWsq8+w6q9ZOmpRsj8kwUGchSiJ/RUizN+yhOOwG7sX7Ww/9QPry+cOeN67BBNh0EIhCoCpKYdt4X9slCPJeFHzmEbCcii80BNzWhH/h14bdbWeSsk/W7W98voKSOPCTuZzUnxRpAYTNwwJQ/POiFz1A+N1879FbDadrRZwPCKQKouhiX7A95TroHfSuTneao8dtjznhTp3lkJjcNNC+T5to8V1hoM/G5OWH4tfGKM17i2NeFicDxLMfajELEh/Z7arXKsFwvNEjOQgL0z724tubZoO/19mfUmHJCT7u8TO1IWmnlHDJMmJwECSIicMDF/wthuQP8MBmc4sP6BLhXCaBT4Ca6w20nCZQ1mBShAC6GU6BxE7DU0oVUl2F2K1CuxQvHxSmBnHLMAhi02jr1RKsVAiv1QT5ELPRiHsFq2GQKuiuTPH2TcQqbKsH0kf6war7ar0C7yPXEqE0EcUWdAP7k9mUsfaYrm9jZUf3+jqTOx68lGmepsAgnaBf8wPPVDaqrJ5C6g3PotmKS/vj8/sOB6twXasjkSqUIi29XA+0dQod1AepAXnlmFVdd4tdSXGHggKsMOoRYJn6yfoZLL qHDHDtyb 413NRS81pmx128VoFWjV66kP4JEL0ebU29P0vC1QCpeqmHlBOR+5kcH5wvvGT8Vc0b2DnN24iA0WwNxMrxPkfvjeDGwZs/MoD1UWw32l3UabRGkEeCvk4GHhJggZ1vRqPCIm4Fi/W3JZtMxs4lAqZFQGO3w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Introduce shrink_vma() which uses the vma_prepare() and vma_complete() functions to reduce the vma coverage. Convert shift_arg_pages() to use expand_vma() and the new shrink_vma() function. Remove support from __vma_adjust() to reduce a vma size since shift_arg_pages() is the only user that shrinks a VMA in this way. Signed-off-by: Liam R. Howlett --- fs/exec.c | 4 ++-- include/linux/mm.h | 13 ++++------ mm/mmap.c | 59 ++++++++++++++++++++++++++++++++++++---------- 3 files changed, 53 insertions(+), 23 deletions(-) diff --git a/fs/exec.c b/fs/exec.c index d52fca2dd30b..c0df813d2b45 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -699,7 +699,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) /* * cover the whole range: [new_start, old_end) */ - if (vma_adjust(&vmi, vma, new_start, old_end, vma->vm_pgoff)) + if (vma_expand(&vmi, vma, new_start, old_end, vma->vm_pgoff, NULL)) return -ENOMEM; /* @@ -733,7 +733,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) vma_prev(&vmi); /* Shrink the vma to just the new range */ - return vma_adjust(&vmi, vma, new_start, new_end, vma->vm_pgoff); + return vma_shrink(&vmi, vma, new_start, new_end, vma->vm_pgoff); } /* diff --git a/include/linux/mm.h b/include/linux/mm.h index a00871cc63cc..0b229ddf43a4 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2822,14 +2822,11 @@ void anon_vma_interval_tree_verify(struct anon_vma_chain *node); /* mmap.c */ extern int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin); -extern int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long start, - unsigned long end, pgoff_t pgoff, struct vm_area_struct *expand); -static inline int vma_adjust(struct vma_iterator *vmi, - struct vm_area_struct *vma, unsigned long start, unsigned long end, - pgoff_t pgoff) -{ - return __vma_adjust(vmi, vma, start, end, pgoff, NULL); -} +extern int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, + unsigned long start, unsigned long end, pgoff_t pgoff, + struct vm_area_struct *next); +extern int vma_shrink(struct vma_iterator *vmi, struct vm_area_struct *vma, + unsigned long start, unsigned long end, pgoff_t pgoff); extern struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *, struct vm_area_struct *prev, unsigned long addr, unsigned long end, unsigned long vm_flags, struct anon_vma *, diff --git a/mm/mmap.c b/mm/mmap.c index 3bca62c11686..dad5c0113380 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -696,10 +696,9 @@ static inline void vma_complete(struct vma_prepare *vp, * * Returns: 0 on success */ -inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, - unsigned long start, unsigned long end, pgoff_t pgoff, - struct vm_area_struct *next) - +int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, + unsigned long start, unsigned long end, pgoff_t pgoff, + struct vm_area_struct *next) { bool remove_next = false; struct vma_prepare vp; @@ -745,6 +744,44 @@ inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, nomem: return -ENOMEM; } + +/* + * vma_shrink() - Reduce an existing VMAs memory area + * @vmi: The vma iterator + * @vma: The VMA to modify + * @start: The new start + * @end: The new end + * + * Returns: 0 on success, -ENOMEM otherwise + */ +int vma_shrink(struct vma_iterator *vmi, struct vm_area_struct *vma, + unsigned long start, unsigned long end, pgoff_t pgoff) +{ + struct vma_prepare vp; + + WARN_ON((vma->vm_start != start) && (vma->vm_end != end)); + + if (vma_iter_prealloc(vmi, vma)) + return -ENOMEM; + + init_vma_prep(&vp, vma); + vma_adjust_trans_huge(vma, start, end, 0); + vma_prepare(&vp); + + if (vma->vm_start < start) + vma_iter_clear(vmi, vma->vm_start, start); + + if (vma->vm_end > end) + vma_iter_clear(vmi, end, vma->vm_end); + + vma->vm_start = start; + vma->vm_end = end; + vma->vm_pgoff = pgoff; + vma_complete(&vp, vmi, vma->vm_mm); + validate_mm(vma->vm_mm); + return 0; +} + /* * We cannot adjust vm_start, vm_end, vm_pgoff fields of a vma that * is already present in an i_mmap tree without adjusting the tree. @@ -860,14 +897,7 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, vma_prepare(&vma_prep); - if (vma->vm_start < start) - vma_iter_clear(vmi, vma->vm_start, start); - else if (start != vma->vm_start) - vma_changed = true; - - if (vma->vm_end > end) - vma_iter_clear(vmi, end, vma->vm_end); - else if (end != vma->vm_end) + if (start < vma->vm_start || end > vma->vm_end) vma_changed = true; vma->vm_start = start; @@ -880,7 +910,10 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, if (adjust_next) { next->vm_start += adjust_next; next->vm_pgoff += adjust_next >> PAGE_SHIFT; - vma_iter_store(vmi, next); + if (adjust_next < 0) { + WARN_ON_ONCE(vma_changed); + vma_iter_store(vmi, next); + } } vma_complete(&vma_prep, vmi, mm); From patchwork Thu Jan 5 19:16:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090345 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD757C4708E for ; Thu, 5 Jan 2023 19:17:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8768C94000C; Thu, 5 Jan 2023 14:16:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7D87F940016; Thu, 5 Jan 2023 14:16:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 47AE394000C; Thu, 5 Jan 2023 14:16:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 23EED940016 for ; Thu, 5 Jan 2023 14:16:54 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E8B601A06E4 for ; Thu, 5 Jan 2023 19:16:53 +0000 (UTC) X-FDA: 80321702706.10.A9C3D02 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf05.hostedemail.com (Postfix) with ESMTP id 7CDA210000D for ; Thu, 5 Jan 2023 19:16:50 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=18kzBsQF; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=m3pUCj8D; spf=pass (imf05.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946210; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Lb5D9dYmkvlyu/H9rhqwjZSUxhGiHpFzlJQ5XE2d2T4=; b=k8v5o9cntdlpVT/HeEMLTUOtK/yrjW+1BnFojEUNCVQCkBEdGwoxS0jppx8c+MWN1gVIJN 7JHSBS03juRCwbtZAi/NJvxMTwR227yPk4M9yLvw84t3AVzaQaRwgTxy8btJF5LzcP9MC6 HTNZ2MYDbuo4+xqJ6wB8soPI3x85iLY= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=18kzBsQF; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=m3pUCj8D; spf=pass (imf05.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946210; a=rsa-sha256; cv=pass; b=tKwrxaj8ohBoQ9UvoLjzCufy5zInizgxQ29oAne4FOCkYq3a8aauuZoi6K0zt15Sh+rsCU 9dpvPdB5OUUmOGg+gw1V7/q8/8Mrd7JqivdsIdKRGQKUySSkA0uE8iuMdjVKde6bAflSU/ bV44QTDsFj0AYK3bpyHYyfyiWvbuD9c= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITchi025540; Thu, 5 Jan 2023 19:16:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=Lb5D9dYmkvlyu/H9rhqwjZSUxhGiHpFzlJQ5XE2d2T4=; b=18kzBsQFINdzi/FKWbbU62S6Cgwal3UKM+e0RQkXydHNBjzxnEbMuv/HbQ6IKwkKEClY L5P9BI4PVnumNwqcwaDIMqZGtfM8qkor0VjDN4oFs2heS07VM+S9a78V/MNOGENxQP0l 0HPfxGTP5nzAHrEWPp3M4pNlatN3ImQSjQwXTxm5jTIY0ZGXmkD0NiQ7Zw7hweYHAiRC Lpdm0CfQW7cegsbSs3KWL1NmTGJFMF/XRB3cU5o9+J/kiz7M5TpGLFjio9F+MbbR/B4j Mei3dsGpBjK6XfpS/IimoaEuJzzpZmM00me1bgFgdQXsCD0Vlt0T6jTSIA9pmYnvDj1q Bw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtdmtskws-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:49 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I9Tnn012151; Thu, 5 Jan 2023 19:16:47 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2043.outbound.protection.outlook.com [104.47.66.43]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdf0u4xq-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ly1wm34HTV+j+cJfjIoZstZu8F3DUS0JdRl/9H0Vw3CVyLDuW/jPVR0Vlrkzmx9RYGI1SYPu/alOUCQY3mHUcvFUmuAMana1uPBErdIH3E1/51DG8ttxLDpya0h8fLSjxR/7BPawGCWwE0b5pCLT9iUSesTNmPlrS4P+SmzLw2H13h/Yk7NS/p37DvayoRydXceOt/fTkKczBLBqmt4zNUtxgg5kibVWxl1Oc95W3hT8PBQe+AhwFJxWXSjKjXkqiDtushSTHELqCKMldHNCF/+0umBqtoaVR8zUAUxrk10BHU2RbcqXcnKiAGP4M3JW9fj7Oda/ti83FPjM0dnfrQ== 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=Lb5D9dYmkvlyu/H9rhqwjZSUxhGiHpFzlJQ5XE2d2T4=; b=fZxGdVBcvI0usOzqzJnZgTatjPDlQZfoz9B6Avvt4IXb0z1UxDxjNPViazUEdALAiuQg0gmfwB1k5yNnluO0Ho9MN4GBxyelLUsEcJm+JA/18NIsrZeJhWFB32S1B5Iq5twZRydYjuNmfmxzysXA43BsCxfxJ0V8V0WxPqTBi/yQaUFse1X+SMR7Vye0od6L/t9gRi5xWx2MbVm2PqdlW09JHhxr60jYlED6neKxS1qwdrjIYJxFTBwfVpZLY+XmI7IZgCcFc6P0lAw7wbNuVrAiQZt5f8Rg2kp2kL3KjNQIkS5DsRiyc3ZpMbIjUckOWjoD4sIt3xeT2ypQmII0lg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Lb5D9dYmkvlyu/H9rhqwjZSUxhGiHpFzlJQ5XE2d2T4=; b=m3pUCj8DuZofBrw5djqddQXXkzZHwzClMe0xSvBsv9j2H2Z1podQi66BmtJukng8Wu2bDFJkKF905fHQHmVAbaDTb+h8skWPDKgtTshKw7O4VfT+dcUnVrmQxBpEdPa0hfwhj0Mrby26IAdKT7QKMrftlnWYbZ+415DHFyMYPsc= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:41 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:41 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 41/44] mm/mmap: Introduce dup_vma_anon() helper Thread-Topic: [PATCH v2 41/44] mm/mmap: Introduce dup_vma_anon() helper Thread-Index: AQHZITooigzqF61MskSaz0KIp/6GDQ== Date: Thu, 5 Jan 2023 19:16:05 +0000 Message-ID: <20230105191517.3099082-42-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: bd052d10-48ef-4b2c-5c5f-08daef51607f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rL2Hk4UIkHYHxOPR1wqtdRYnllMslYymzvpLyu0mAF2dOolfjBmIrefCyG71c+7t0nTwc4eH458S+Wy+E6J0CZQf2+JZdMrfJznI+hag6T0drC8yNg/r4DK49Pwvw6aGmaBIVS0nXJi8GCCpk7G2yLQz2uUAM8NDqwYt+M4LFJ9UmF2ApukvGqaKi++0/qOviXDLv1PMQOdtcox4NZdwqv1LUW5M9VXY76TBq7DIV7DnokpHyvozGIOq/uetzcs1WAHM+77d+4qw+3EZu1aseQ5h2fpx1FFxb4egYwOdwBSAiw8QgtwdD7T6HPPky3nFUe1Rvgbgu2nCr7JZmIu2FjnJPqeHiSE289f06O0pL51SW5HBw+x/YQJZABOvY4xvFkRQ+2g9g42d882LHbk/vIe5cjySwCYIUVS6pdT8R/slEv9leUDkVwhHIZWWWu/D36f3UvwIU5OBJMzWVfDr9edy6QxkAXDkdK36/bpmMx/oaoJ0S72J8w5FSXYLJKgR4CQtb3YpZF5uso7E0cg0h+StCBvzin3Xf4lwergou90TH1W483pJQTLUns+SA7xDDP3GGgN+1+tN2eAWKle3zYSyIlXDxoNep4Si4QQdJWbWXEjJD1uIyPFxRtl66x9pv5QsmjUffkgcWvkthrDIgMzaBLdx2voRGbqQk+JiEdaRhiIvqhda7PfcpMvDkqBBVXxLuz5vYdr/Moefbmz2rw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?hk/QqBVGOZC9/Gy2VqtQIld?= =?iso-8859-1?q?Ot9L4j714Ng0Ob08Lysd9Paq3Um8IRzQ7IU4APtB+QBQ7i4Hlc+zPXWQzeBD?= =?iso-8859-1?q?V9JuwQ0zeycSPqcrZJYzehZyCnaF73sE992IGR8t9OhhWLLpunadDn8s3Ekb?= =?iso-8859-1?q?dmHUUrVtE9Qlc7WAFDiJezJfmCQWqZqxUVwbEfnGumsLNCRO5tTUZpnfVhWD?= =?iso-8859-1?q?p6E/2Xh5i3VSxeXhD66+QItBRjgOmRdd09D8ZISJKSp6fGCmdq7HjEZ08ih7?= =?iso-8859-1?q?UmLqSInc9fYpIl3Y4IqbxcWFfYOvdnMzaTiRSH8GTdZuNwXwE3qLVt++2y58?= =?iso-8859-1?q?/GsJdqTJvJ+lcObZJYs+CpgCoZch9KwoG/hOB/fTfwQzP+dZRZf3as6WbngU?= =?iso-8859-1?q?0cV5vCRExuQEoml7hj/XxoVZrKSWms5hfFvcriFuPkfg1jbXS0CD5TsDGFrt?= =?iso-8859-1?q?2pMipMQ/AGA1tj8f26KHv7uFaCiT+DZ+DrgwQILsJ1b9fBINBrRL2v/brPvr?= =?iso-8859-1?q?La17Lt+hGT+acBSwMl0c0EeSYsgoDZyQyyei0iET4MOEcxZPoeSz35CTBK2W?= =?iso-8859-1?q?/BLthKA9qJjewWdeoEDMa51IBtFUQohUbbMY9usAZoPFkjx4hqL1F0l+sMlA?= =?iso-8859-1?q?6/ifmg251ygfKPpHKIRdE0O0b418dEqb65ej2zNiQU7bqwg3/9kXou9nars2?= =?iso-8859-1?q?02KPS0vdbYdFtex3YQa3+gd0u8+ufufhzTKREDjavop9Ueu4hOJQl6ZiTO5K?= =?iso-8859-1?q?0T4pEOu2UfPllze+20IipBiGYu6VYgsyUqKVJUgX6kEbTCBl/7dsyHpICi6J?= =?iso-8859-1?q?lGiW4mimz4zeSQNNXPYpbaSVYV03TYyqsbizfLQfNBSBZEs034+tnnUeAtlM?= =?iso-8859-1?q?Q/j4E+fsnTnlOwVT3HTSb5gq/YGWw5vNohc5w42kuEPfoaFLDfMP3Pznyzsa?= =?iso-8859-1?q?1gmvhKDhQHzW7wAkxAl3z9NJRX2i9YSizi+NGzZwd7NsCKDSYpGy0gNq3t+l?= =?iso-8859-1?q?DbOTzkCAeaAOjRo4yQikK7lxTbwtnhWw2rCd9F9jvQekT4m5x0gR2Uli1FIS?= =?iso-8859-1?q?0nfFib5bPoQ4HMUa9Gfin7QxZ+TLzf+YjhR54a28ELftxJU9+E+dZ87V0xVT?= =?iso-8859-1?q?Pvl0QWQF0vmRkA0Eh4pq0N3pBOirKhUXo0upAKSXl1DRaOLeuROEWhI4NUSv?= =?iso-8859-1?q?nFU9OT08La/Eba0dLOdxKnzZYIVTIWJrvDMR5CZfJ+O1/B9Mr0rs/BcfQmlx?= =?iso-8859-1?q?d9BqcUl5o+hB2BGmA7fU72TJoz02fSRYKCDBppvnDbP/+ivovXbs/qdQLQVL?= =?iso-8859-1?q?6xzENaoIPSdEjsJPiUlpHadZx4yxqzuSHQdHFsvgyYcKvJB432BgRCSdfb2L?= =?iso-8859-1?q?nV2cz3b6R9iJEQjr57XPQkZh6eKvDQ2KLltsMJof0PKj6M+8FjyMsYaf0cHT?= =?iso-8859-1?q?QUOBsd1KaXoPEdLB0SejeA7ojLQoD2s07FU6zux5V5aWp9M9tS8oGZyUNlTV?= =?iso-8859-1?q?PzQ2nzhMPgu10GrhLQxsZ15Bd7i4bDLDPVq+wZ9sFx6YBWm6mNiZD8e1EIxO?= =?iso-8859-1?q?RiT+sY+0ywF/6P8Z4zUecmFQDg2SpLUCGeybNRbOyCF8gH96tNviARBTL4w+?= =?iso-8859-1?q?huOPGPdOLaFEP5R8EGZOM2e2tENI8RT6tY/ntTw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 1xCnvFcvJ5fWz3v/fE8gDhurzhfDgvaibAS84qHZtcgDUA/vQ9Mx/qgTokLf/iIPpVXtnkYUYGPsh7x3vv7Z017iZX5a7QgCntT0wo3q6bKrUQatj7p0xhkGKum32H6neTUzL03Maa1HCYlYb8BPcnGGk/iR1PoctfhyUEPGC8mn8uqdWKecOvfMcn1/yh9WtMjb+LoWwZjxWgYNrM/lJk2JBsqUuo0wbkBata/MLKlosLZMUOEqtoIFXG8e9A66plGgmiPbxgGZw2JmFMJOAG9xMMkWhvEdDjI+uB3/WEhKZIoMF7vKXo4Ru0QGq9+Oaw+fhIhMn+a0iRr16ytqUL1Su9avYAz6/x5XozNQUSCpfZdxnFPku266i/9umOVdz5wY0wAirFf9DoWHRfQhM58N7abIS7ht78iCPC6su+hfs4qodYhFmly8bz9TxGbfWjDCVF6e5W4/PD4x9qG/rStFxWfenn1yVcOK+oNKcPeralhw6xR5NULIIYHTywYz8pLTOMfAH/D1QkZKD9nfhuURYaqbYX9X1qmufNGylVzPe+gxUy/2mU4a7HNuy/yBQuHDI4l6Al5noR+4K9P4D7k++Kck943hs93WkKPGfnmZ9XF26xV0Ke3jssXdpuuc7uH/L06JUWur0pxoOWNqw5g+woS+xxNGyJhQVMX5+uxB76tO2iWrDYuQLGydxQqQz3XEh8vqL69j1fmA5gIRQVaHC5qQlWE8leTR8W1jOlc+rdOBIFRS++SH4R8zxPYim/QEYA+MrY4yNHVIgenpP1SidiO/DGV3u/zvn4u8DktUYmwld0L77mOIQ8Q+I+MQYwUJZuJQMM++CMVpfCig4a6avW933Qa/04LF9e4090cIpXounUcl0PJSuhz+vQP7P1v2vVbYhx7IK1ccQ/YqRQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd052d10-48ef-4b2c-5c5f-08daef51607f X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:05.1563 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XRH+3Q6gtXTY5zd3YJBL5IAMwwx9ZUClohfORGRI4ZoQfTRypxyLbJBwms3CDMO1Mp+cZyPdweMtRJe6WYhppg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: INjkCY-trUIadTSNtXuIJ2a8zSpL1GWC X-Proofpoint-ORIG-GUID: INjkCY-trUIadTSNtXuIJ2a8zSpL1GWC X-Rspamd-Queue-Id: 7CDA210000D X-Stat-Signature: xhppmx3siusbh7aqy53hjdrpjwan9175 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1672946210-385301 X-HE-Meta: U2FsdGVkX1+ab7KNOwhk40SgAhzS9hjs0r6qvfTaDoY9ZX6/lURYNF4M7Q463X0pBTvDrim56Frymv75jUNMe/401uHB582QK2i845qD9Mx93pF2DP9tCI9xy4qQZnbfxaJFoDxcvXMvRMM0MlPKvV53hLxOdGIqzgieVpRs7QpYYBdnhq5cvkKbX9nHL/WGoJrMsuq88KbP8E+qmI73lQe44aZcHExWkh/WJG8AQCE1CuX+BFPeZM9HGCbJV9o36kcp9nzfKMWm2nUDzNgwckzPg1DaOZdxkYZVqIwzpjKwBTtYtBg1P3CbvnSj/rw1pS52n7h7gnwE++nE1oQj6D7swrmT+qTejFpcltzbdLOm6vPrlENCsSm6vYbT9tAV0qv3zGZxkT0dmfaKyhjYDk+KhbDgGID1aqchQazIrxApLCIPV/+HQGfXwVmLOAECaPhJded1jCsQCp0+rwFiBDZe1p2QWWLMFRub6rOF8EBy0vSC6NU6ppC7fzGsHlfK+D6hlCUAp+5mmvKdyQ432IHNScdq7gkeH2In3wc3Bcgyx+LS0PoPk+PYgmj3dr9H1TCK2/s114OhDxKKFTbN4B83ByqQiOiAe+Axver+MMaLwXaFZbme1q9yBqXhQ9px2b/S+fQOOdZrZXTonLvGwtBCZ9AL6wGoFjFV//Xh+Va0RkGYDXCux/5/5iGrwL4jfVd/jTpCfUEYbmPCzH3NsalsUwm66TUwSNySCZVJ5sXOblu+XwsM3F8XjXdtqPE0omFuYSMaltFidHuMTolFY6hf5kO3O9QFbuT8K95Xf5bESR7C15/50xLcE4FQvSUMJmU3zGNrIapso9+MXL/6N7/f4z7dF7t5JqP3BPB6bbNaTTJJKz3zUdgCPZM5fng4++k4swYFwo2iwgAZd4SWmTmcJXSdYxHI6bQ3K7Xn2oWhok/izR1lxyd8wSIwBRZv3JWQgFnOY5X39w3cZJT losqdYJ6 HuxV3p14gH929Wdi5Hy8LfPmC0WQn+Jv66BLdobxBu6ag+oGRiUwA1D8o3bkqEFbib1LvmSi933m9p18Lo6LzFRKurNCp+EdHtiF/KEVUkiMzQOgiuTqG4uRTyYTAVQ9RPyjnKhmQcRYGNBi89e92vsACgA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Create a helper for duplicating the anon vma when adjusting the vma. This simplifies the logic of __vma_adjust(). Signed-off-by: Liam R. Howlett --- mm/mmap.c | 74 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 34 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index dad5c0113380..1e9b8eb00d45 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -679,6 +679,29 @@ static inline void vma_complete(struct vma_prepare *vp, uprobe_mmap(vp->insert); } +/* + * dup_anon_vma() - Helper function to duplicate anon_vma + * @dst: The destination VMA + * @src: The source VMA + * + * Returns: 0 on success. + */ +static inline int dup_anon_vma(struct vm_area_struct *dst, + struct vm_area_struct *src) +{ + /* + * Easily overlooked: when mprotect shifts the boundary, make sure the + * expanding vma has anon_vma set if the shrinking vma had, to cover any + * anon pages imported. + */ + if (src->anon_vma && !dst->anon_vma) { + dst->anon_vma = src->anon_vma; + return anon_vma_clone(dst, src); + } + + return 0; +} + /* * vma_expand - Expand an existing VMA * @@ -704,15 +727,12 @@ int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, struct vma_prepare vp; if (next && (vma != next) && (end == next->vm_end)) { - remove_next = true; - if (next->anon_vma && !vma->anon_vma) { - int error; + int ret; - vma->anon_vma = next->anon_vma; - error = anon_vma_clone(vma, next); - if (error) - return error; - } + remove_next = true; + ret = dup_anon_vma(vma, next); + if (ret) + return ret; } init_multi_vma_prep(&vp, vma, NULL, remove_next ? next : NULL, NULL); @@ -801,10 +821,11 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, struct file *file = vma->vm_file; bool vma_changed = false; long adjust_next = 0; - struct vm_area_struct *exporter = NULL, *importer = NULL; struct vma_prepare vma_prep; if (next) { + int error = 0; + if (end >= next->vm_end) { /* * vma expands, overlapping all the next, and @@ -839,15 +860,14 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, end != remove2->vm_end); } - exporter = next; - importer = vma; - /* * If next doesn't have anon_vma, import from vma after * next, if the vma overlaps with it. */ - if (remove2 != NULL && !next->anon_vma) - exporter = remove2; + if (remove != NULL && !next->anon_vma) + error = dup_anon_vma(vma, remove2); + else + error = dup_anon_vma(vma, remove); } else if (end > next->vm_start) { /* @@ -855,9 +875,8 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, * mprotect case 5 shifting the boundary up. */ adjust_next = (end - next->vm_start); - exporter = next; - importer = vma; - VM_WARN_ON(expand != importer); + VM_WARN_ON(expand != vma); + error = dup_anon_vma(vma, next); } else if (end < vma->vm_end) { /* * vma shrinks, and !insert tells it's not @@ -865,24 +884,11 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, * mprotect case 4 shifting the boundary down. */ adjust_next = -(vma->vm_end - end); - exporter = vma; - importer = next; - VM_WARN_ON(expand != importer); - } - - /* - * Easily overlooked: when mprotect shifts the boundary, - * make sure the expanding vma has anon_vma set if the - * shrinking vma had, to cover any anon pages imported. - */ - if (exporter && exporter->anon_vma && !importer->anon_vma) { - int error; - - importer->anon_vma = exporter->anon_vma; - error = anon_vma_clone(importer, exporter); - if (error) - return error; + VM_WARN_ON(expand != next); + error = dup_anon_vma(next, vma); } + if (error) + return error; } if (vma_iter_prealloc(vmi, vma)) From patchwork Thu Jan 5 19:16:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090343 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7858C54EBC for ; Thu, 5 Jan 2023 19:17:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F037D94000D; Thu, 5 Jan 2023 14:16:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E412894000C; Thu, 5 Jan 2023 14:16:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C698894000D; Thu, 5 Jan 2023 14:16:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id AD51D94000C for ; Thu, 5 Jan 2023 14:16:52 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 61DCCC029E for ; Thu, 5 Jan 2023 19:16:52 +0000 (UTC) X-FDA: 80321702664.20.84427EA Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf06.hostedemail.com (Postfix) with ESMTP id DB24D180008 for ; Thu, 5 Jan 2023 19:16:48 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=B9xNfZgD; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=cvveWnGO; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf06.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946209; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=5JYDubWmB7EXh60uJz7Pi7ZedtauCJpMP8gKBFFvuxo=; b=LbDaS7QwbWsgnu9+8vyJUU+wd7Blu30EboYOfCNsfVRc+Rq03Uw3iCi7TzNaSCb20m3yVN Svou5puwqW6BFen4Sh8VIyNKkizWt7U0Ie8VabEfR3YI20SY99gBjZ4g8q2SBoi6kaAe48 6mvplJDEY3kJZN6Da8qEHfvIg9dxc3Q= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=B9xNfZgD; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=cvveWnGO; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf06.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946209; a=rsa-sha256; cv=pass; b=Qrxnwx56YuT2wtw8CcK6gqXtFMjfzWyvxBqOuvOp8wirP3mosIfHpiSCCeSk62LngJfACp kJgJ+hBo/BUBoiK11FL2xHkryr7OG/nee4LtNfDsqas1ZbpRxvi2PMJe//M2viiP9pYCKW eAXUZn1GaEmZHHHx76+fcYXaO/Bt2bs= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUR34002869; Thu, 5 Jan 2023 19:16:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=5JYDubWmB7EXh60uJz7Pi7ZedtauCJpMP8gKBFFvuxo=; b=B9xNfZgDVSWykte8mOUqOXoeJgAccjzalsAI+PSTyZitxriEJ21M4Y7ij/Q7DLlXibVF 3quVBgoZJH6hHgXz9OAD2Xi+FhPk0SBZqn6JiPUbojEfBZiKL6j3kPML7NfgSD+S7L08 OiLC8+NmvJ6uwktiqJQ5WqUX54PuePQ6otHZGakteaLdcbtSo8eUEFg/SwdjWGUuocZ5 xb0n77lbJObva8thhHEptBTCIZprbmO5jCNaC/H88ZoX5jd5pjxfw1SSHCZhA8GwxUAU Ma+uXZt3T+LKBlp68pXuRgt3BzJA8Dw5HSqLKHyeK4Hie2mBRkDw6Acc2WU0710kgDfu 5Q== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtbp11q2a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:47 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I9Tnk012151; Thu, 5 Jan 2023 19:16:46 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2043.outbound.protection.outlook.com [104.47.66.43]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdf0u4xq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SOzkADEc9xCBPkVN77rvlj/W80W3afvzOb1Ke5vLqPQDDZ6tyg9n4tcH0mtRVt+5Jh5mbl5hLteV+1Y9NwWDsnvUsg3XqT10NsuXxbHqsXd5aUW+4jtpYjSVEF2T+Tye/ttGpTeqSIw1+E1Wcbdps1VlR9vkiRiS1w8S6EF06rE5XnsfsZpT9pG19yEJMJEbBEzowPUKtEIJtgR0b5UpNM3qILB2jM2TvjMds51MVtdqASdw3DsiDtE/B2hoiM0FC4xa6lRb5tWWRg1TAIGcRGRXYUy03v4x9n+g4t+EuMLB11uY7Xa2sc7+GKVJ746y0Vt2jBR8WdlC4727a/o5wQ== 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=5JYDubWmB7EXh60uJz7Pi7ZedtauCJpMP8gKBFFvuxo=; b=SyNLvTx1RkIgf4F4JWQLi6I/ye+hGfUE3CEndUqg5HKUQ+wDU1JZZtEmLdQcQSJjGacG4uaZzVftrijOVI50rsDWHFSaLsq5PkTwoEapTXv5YZmI3Ko8/lxZb5xVQrJkW6UNFCmX1SPREX6ekHApXY/F1IOswbmcwO1CMRPL294A2jQg2BuaPZ2aFrJlKG2521RIqJm6lQNrNtu0ZnR9LOqEAw/p1DVuWiSQDzsk2XM7nZF70XSM8rpZqKixD5+qX1Iguf+prW9nXnfJ7GKKHKeydJlprmiclAlpfbATNRTiPOjVouZbHCcO9mJ8v01OxcGsUnFUU9Me9h7VXI2eEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5JYDubWmB7EXh60uJz7Pi7ZedtauCJpMP8gKBFFvuxo=; b=cvveWnGO9YUphKPIdi4PZkfiT2VN5+Xwu+tFoyTOxaRcFEpnsfyWVJ/mnVbrUlXccTdQBOFm6JOwHH+yzT92Xy6UNuMpgB6oP+DCj2RD9BTpQn8KnLSrsJt8e48ozgq1zGaQfP/c8Y5D9StvDOKvueutnsWSm7Jt5lAD6O2JXVE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:42 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:42 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 42/44] mm/mmap: Convert do_brk_flags() to use vma_prepare() and vma_complete() Thread-Topic: [PATCH v2 42/44] mm/mmap: Convert do_brk_flags() to use vma_prepare() and vma_complete() Thread-Index: AQHZIToo1jpEoi8x9Uu43vq+N6ajBA== Date: Thu, 5 Jan 2023 19:16:05 +0000 Message-ID: <20230105191517.3099082-43-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: 6a8d069c-abd1-48fe-93cf-08daef5160b8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Z0jnPFzfSEnxPS2CxlgOlwOzged1H+RDcEHTX7o740eI2UCmcioVCFR/VN5cHP41uXK1jEbsDwII3eX246w8wlzLC15uRRi/oSaj4LMzrXEDfshEHmitwnzMiSb4ZtUMvEiWFYleZshbv1cjxuMrX8cvwbCzBxNja4XF3DOUGCzY1jifnFg5LrgwjZQYIFzDCCucfJ9b1+SBzj//I+oi1uZtiRj3y1nVnCt7Lbs43LQQgrTlgusQ+oymxoNuO+ABmMTJvhw5ozYFFVte04S1g2dwNikuM6x7GqjenqPdIXhQwNUNV+FdwR6z8h3m5lGXgP0130N/RwNlezF2A27KCRMm90dnmF9SqUDiWtG4XwY1BE8ribdG4W4yGQfg+z+y1WUWPMik0sU4+pg2NxaYhJ4b70oqfjjI2Oj5/Y6p/O/Jz58D27XufuPxhO7n/21mpjYsZ7HDnKRixeXvavyz/3Wi0Ukx706cIp1/2Zdl99iVteeoiqOU4pMoIiJdiHjyA/KXR/43iuXmzEjsdE+x5NSRIpYEsQUoVeJpPV7S25oukTUbI9KO6apt1blIiiAS7zJeMOM0B+uil3bnSEHf14JrhUp2IJFwQLgQwgzVHubRhzrKIMjSKRvnohIIDiR9JKzWugHLv133sBTeyW5cfGPgEY5qPpUT6RTTtEGB6ItHfsY/hFJ15wH/Ubn7ziNcXrNW4daXfwE20oCgSqpy1g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?CL/cPdwsA42VHkKoyiZ/FHq?= =?iso-8859-1?q?eHxu2f6Lhj7tHGkFbHpIuH1xq+hZLIn/qKTbSyFE7Yj8TvEtobhcWUJwGJZw?= =?iso-8859-1?q?vKlrhcT+dpHab9pmNzSM3WcHtaqOhehK9ZRlnY/oLWkjZXnqXyfMlpWWNipz?= =?iso-8859-1?q?e1am+5UcFxL+8vq8cJUVaRF1xKU5ddjYobjabM3hK+J/gtPMtUGDQG8Ap34y?= =?iso-8859-1?q?8mEoGuTXwMkXvB8nMlp8/799BxM5CFZg/w2zlQlZ/m/0/RN+ZUDAHA1oUlr3?= =?iso-8859-1?q?RuzgEb92xgTxME0NG856NJyfDgIT72mdyNTayUaXobVoyuZWI7vFplXeBCf4?= =?iso-8859-1?q?S+xiw/dPRW9mVb2t9j/27jgOnNNcv3mcrSwK/Y5VwmBpXU3RwmosjyIIKgsp?= =?iso-8859-1?q?fkV4NoH/Ty0Wgb5Pxy0BNA1pAxOd1txOLCLl8d2nkNQHNDU6dXzZTdZCrB0P?= =?iso-8859-1?q?8wlW5Sz0BW6eSCXbQRay9iVCIPk7DSqIxOia7UadNM1GoiR01FtCg7BWzZ7Z?= =?iso-8859-1?q?YgwL40Yxb8aweOMpirjOxy24dudBH1lrO23WBHseDwy3x9nGJfJVCWveLSvZ?= =?iso-8859-1?q?gpJAb1ue5hLwW/sbPMQtrG6O5i2p+q+5HibW3PxCzow2krUip6K0cbfr6Nqr?= =?iso-8859-1?q?Dp//iYt93lmM66qq7ml64trUkN1ESfI+V7SKUW+J77ZnvV2d6Cyoj6qWP1w+?= =?iso-8859-1?q?mopalTcsEwRLaZiudfM3j6svovmdeRFLQPGIfjS6NkaoxfWUdGTKLlXQDgjV?= =?iso-8859-1?q?R8iLt18MXFrEzn0LdYSrFkwPSo+Dsqy/P7orgiodU/dLOgr58A28FaNOQGhq?= =?iso-8859-1?q?djisW6v0kb/BhxOh6jplLIDotIU5Gu2wEAho9+GD+F0ojw+StT2AQYCFYyoP?= =?iso-8859-1?q?lMP7vG9vIG4xYq/2bjvqiwl5GHpymhpeC9mcoBvp67oxQom0AhKSuEa5Udhq?= =?iso-8859-1?q?dN2aY82x3t4U+x3doOnzNFJB7+puvmE97XkNNGjxnWx1pcV0mMPupt7z/8RV?= =?iso-8859-1?q?VdGhvZ/R4D6dP5ehqYXKOsAL/whmD1Oi3LqwuS1oVd+8DDEiPB/hqiyq4Lws?= =?iso-8859-1?q?Y1ucc980SMIslLcFnpcdG3eQsOXaF7xhRLy4TszWcTvbdjRWQTLwodV+G9lP?= =?iso-8859-1?q?xXWFwfV4Lenu+Rv8G2sbFiDX3yJEdMgY+7aV8xgUV0OfQgqp/mmYnt3Gs8/m?= =?iso-8859-1?q?baSunAsVf5Bkq+uzudxkOAIpZabwPoqU69BeSnoX7B+KuAgnTIX+72rXHS8U?= =?iso-8859-1?q?bvuJIbSD+mK4wNfMkmaUU63WRS+wAs5ZUsGV1nExdhnVEQHHkxr0kVmVDWoH?= =?iso-8859-1?q?+jCu/RVQequR9iczeLBcjZ/Uy8TCIk7PTOqo997kgTZR+PTHeYbWw/lWCCaL?= =?iso-8859-1?q?wf2ahisVN+6wOir3NP3n3grlWmPYH103gYpU1B3dMjaUwPdbR2SuM1lgdcKM?= =?iso-8859-1?q?e0GqLJbW536aXMBO1hpWV1KQ84G5NjETce2WJyMLCF/gJStm95GvdOMwQwGZ?= =?iso-8859-1?q?fbTGbqbck5fybiWrwvM7KGKVDmJFPJqobUx+NapmV0vT+borFEONrtyyoGPd?= =?iso-8859-1?q?IPb2NWNSupEbVCJTLX5yLXXNeWrGLV/s1ve1smOc4gcGbIDhw3WbWHHZOZoQ?= =?iso-8859-1?q?vsGlaRNEe7kM1OPxiOLGRZygbzfoaLcWSQ/ouVw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jhUSM9vB+VVrJC3YTsNIO8MBPmeq3vmIMVFEHsV4DmchPlSFKDG7w+BLCZgqtz/fiiYriSWiON8aVm/SqS3V3tgHfWaELf8fv4Ms5fnf6YNsIof/J7NSu5cvbC1c46JTkzU2Zjb/C8rMcH4Vl2VjYuhB/Xs4BI2MBkGR5Q/SikVtoxVVrOQ334xR4ZjNRymrrgkYAThSW4jHEFJDUHDdQfWUDUPEisKyUkmGFmnnUdrefWv1N4c8hPOl+IngC5vBj9GNLlP9g+xMfqASErDj6ao4io1ZFcYfeD/HqW/QdPBZScMkrxUacc6eVkD4dgywi9fI1SG1fU9zp7HQjMSm+u8iUjhKu71jCCiBWMB6PKc1yGBd7ki+vCOPVUKbFtt3NBCg485/+vzKI+vEl5dTIoFGFnpps6/q1BIF6kRn3yFysvFiYixTSujkEkQxwmyn2PNwVOmhGu+WYRmRIu2Y5MvliHAAH1NwrI47ABqtv1y8IBr3L8y1nJVScPsNzH8HyicPNvokiVeVFPmrwUDKbjBJHyU0oDrK0q/tCBjm++PiF1xiENHtglZwFqW9bho6Qlti0Aw1a+UGBx8gktQdp5KuXpXqm6Hr9XG7CdeAjYlzvMiBevTIpDJUFZHOqoZMX38J2UcxQURZOd7uqDOl3TtQJKSdWo82B924NvTXrJ6Y/wzms3EbYrjGqaV9bcSmDLS4Zagn9rZlCalLuQZEugNqaZixcjqtEYfOA+Zor3QrVFHTJFphBF6Fv9G1HBMmg6IxPc2XuIUcHIh6HdprR79PfpnzdeW6XoB1zPU8NH4xdmPkzlwLUw0QKjo+n+bmx+8m+BZ0vQJXxoRMJ/CW2VHjUtS4GYSgXxbAiEvQI7mFSrUf4TnKIeggk82hgafAH/QLL8TbjfVD5V9rix4Y1A== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a8d069c-abd1-48fe-93cf-08daef5160b8 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:05.3751 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jfGaQVHihMRLWnab7rOGr9ePEd2YkrWFh6kmaq93MxMhyWD/ju7pKv6KiTxyw3CWnoXtE0nV55Oypt2yd6tIww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 spamscore=0 mlxlogscore=931 malwarescore=0 phishscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: GkJNdrijSKzPXYb_-nQCClCUYeKvt1jP X-Proofpoint-ORIG-GUID: GkJNdrijSKzPXYb_-nQCClCUYeKvt1jP X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: DB24D180008 X-Stat-Signature: 8y8k99t4knari85kd3ykyw51bbmyfoiw X-HE-Tag: 1672946208-187678 X-HE-Meta: U2FsdGVkX1+lbkOrCnvsvFuSizOQZqnokDdDxBVl1wVn1fXXJw6XaicDbLKCXKzTmybkBwm47VtmWM+ch4PJp297q8USspo+UCNCYQyW6h0Sq2O44XCkJG9h9Yt6oQDZ8qjgZE5YujGuixNQJWzZdcmAbyVupqXzefHGqB3NUWZf2FoycDL8cmzxjxoqSRRzKRB730fE6jxjPbw3OPFBic2UX6glETlP8D0Wh2Sd9CUusZ9RFzDBUjNS8FmsSJEttAKwFW3LAssaPBhWYyGmmTA1O7R8LmhW3A/ezkwecU/JZk50xoTNIszdgC13n3lZQDFFOCQQrM1gtIpayLDys8DD5n7rELFu+puwKJxtV75ntwaZ+GWHJn4eo+pNDpPNvw7gXVlwhgQnpw4Sog69nNubJEVOW2wZxv7CYDfXgQ2v7+c3Dzmh6mas/J6ZVoR6f3tEoOKVurojDNtxat1DI7ZXn5Jz0XfKM0P8d6K/XRB8lnMgQQF8DRgdYCNU6ba+z8WxzI7heG7PygAvpFY6otSLDiyi2ykbtb9C3O8TD7b/nvLO8MUk4v5rdM5Fydeg8ZlhMtX33mtZiKAxzu8E6mSftSvCOhAraeq9C3HzGlqoF08559+nSnkUDipkCEFsas65styKYiWow5R7JzB9c6OLWwEIhV6dfb7xLCuRMAPlbDVOu4BYWng/FNnmvE7JA3zCWlLGjYURyE7IpCYC/5TQfqWNNOdts2GD7JEwAe8n5AFHlrgzARolQqJnNcWcT2S0HhcqUuTt68dZ9Sa00nSXhHNebR+gsxAdZ0n0OkLlqRBT7WPZXh+JzJOufakvKmiX6q5Q9QEnxH6VB2dLsW0pZRJ8+bnhS3bpLgnnBsav6BKipCxRkdzJgcYrCFlYaOZX8H9BUb5dx76AP2rSkhwRE7zWwH22rh/y6J4VjuJPVOe3Z4YwXXVE0/78qUU0Dzp6rL+kpf5Qc9/aEl3 SylIJZci OL164gC8HFK+zbn1yXNBo7xg1SEOLiGUZSMoCNDTj/xJ3vZt1pxXwIFSGcNQzr+ypAxfhiXTckmaubGNC1VqceR3HpJ7/sD+CnthzZOuiY+gFlOhBpeerlL4NOZYMiAkj5G9RfC3K08eJFY0qv6EbND/3tg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the abstracted vma locking for do_brk_flags() Signed-off-by: Liam R. Howlett --- mm/mmap.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 1e9b8eb00d45..6dd34e5ff1f7 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2979,6 +2979,7 @@ static int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long addr, unsigned long len, unsigned long flags) { struct mm_struct *mm = current->mm; + struct vma_prepare vp; validate_mm_mt(mm); /* @@ -3006,18 +3007,13 @@ static int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma, goto unacct_fail; vma_adjust_trans_huge(vma, vma->vm_start, addr + len, 0); - if (vma->anon_vma) { - anon_vma_lock_write(vma->anon_vma); - anon_vma_interval_tree_pre_update_vma(vma); - } + init_vma_prep(&vp, vma); + vma_prepare(&vp); vma->vm_end = addr + len; vma->vm_flags |= VM_SOFTDIRTY; vma_iter_store(vmi, vma); - if (vma->anon_vma) { - anon_vma_interval_tree_post_update_vma(vma); - anon_vma_unlock_write(vma->anon_vma); - } + vma_complete(&vp, vmi, mm); khugepaged_enter_vma(vma, flags); goto out; } From patchwork Thu Jan 5 19:16:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090344 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D5C5BC3DA7A for ; Thu, 5 Jan 2023 19:17:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F0595940015; Thu, 5 Jan 2023 14:16:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E8D5094000C; Thu, 5 Jan 2023 14:16:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BCDA4940015; Thu, 5 Jan 2023 14:16:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 998E494000C for ; Thu, 5 Jan 2023 14:16:53 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 749C6140509 for ; Thu, 5 Jan 2023 19:16:53 +0000 (UTC) X-FDA: 80321702706.15.45A843C Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf10.hostedemail.com (Postfix) with ESMTP id 07C14C000E for ; Thu, 5 Jan 2023 19:16:49 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=iDzsMY7Q; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=cqs5DU6P; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf10.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672946210; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=8X42YIEluPVSvQF5e57VuXQC/2wRI7tsq11bZj4u7qM=; b=Kx0EO6wo3enfYHW3kJOcAFcClofXVWRcybXvNBmKzHd+x74lSauMBo2PCS+/pdy6wr/y6X Xd/FtExT/TdMxSQPFAA166l7eVFoTBYcmg/H8Fbove7fsyOC22hoIlc133I+/5UhS1LbVe W1Ccpnx9SYhurtwp9VSNWMzvJdI1pNk= ARC-Authentication-Results: i=2; imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=iDzsMY7Q; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=cqs5DU6P; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf10.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672946210; a=rsa-sha256; cv=pass; b=mE9K5jB+hM2HKbwYfEW66kjFmIIJ0sjicUCIdZlTqJVNv4TOG+yvsPuDPQeVlqdBtPH5QE dYzQjNio1N+BaODo5vdHUm5x3Yfj34oiyqbynn9MsadtMYqxGrgWLMtPipkZyFeoAnRSFd Bxaj2Aq3QD+sDOPRzmDGorprFab7PeM= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305ITbK9025520; Thu, 5 Jan 2023 19:16:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=8X42YIEluPVSvQF5e57VuXQC/2wRI7tsq11bZj4u7qM=; b=iDzsMY7Q6+80BNR7KP/iuYl8hEnMTzWtGW7Ajkk/6cJ8PAix9lFiIRXMuV036BcXQYD5 fhQjZtmjmHeu+Gs+31Nsu8yRgtdDfZyUufojUb/H7e9XN6Z37BeYcuV0SLUeHQQp3gDE TBL1dod5W+gb+aKycsPPtbTQ0JMVwyUDkA07QyzR055ss7xsp92tOs7AuFx/bPrcfEYZ wiM8XSK9h1sQl20hUsuUf3e7rxmi8VoTLwqev0Em5BS+kQPJE0f+HHSQRTRqWYzOdH/p 7K4gqj/25T9zxcw02gpLrs3kiHd0P2nBzAgZKWNBX3+cB2tDEDBCyukBfAjRFNeGRoxq YA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtdmtskwp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:48 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I9Tnm012151; Thu, 5 Jan 2023 19:16:47 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2043.outbound.protection.outlook.com [104.47.66.43]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdf0u4xq-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q1CiDUApUpaWDaQqjIgTfPS+GyGILO6JTPcv9j+FGY/NP2NqgVlkc41xQZlAvaT+mk2rawjFR6hfSZXT7vvcUHlqzH9v1vRH/8PdWlZgERVd2KarwMx9qyjxo3iENf05BCvM4CZshvV4p1PFoQl2jPj6a4U2DalFHZSVLP4sEgJz8kxiU3C3od+I3L5kEmU+1/xPXT3w42+onFTIFCY5gy58ZIZGE2xrnL2IEOINEwcwFhUqf7jnwEih325m1NLQ5DfsYf19kBV3bBnZs4l6eDuqd8pb5/GPE1ELntjHmNPlreCXByEz9a4vOsJvWjVddYQC1rzqfz72y8xrPPjSFw== 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=8X42YIEluPVSvQF5e57VuXQC/2wRI7tsq11bZj4u7qM=; b=kPKK+A9hE/XHsFQRdKDaYjJDp9DPQAZ1KYxMcq4lSC7sFrB/TUltplLSvIXpjUqPemG0YVxML3DYXlihorkR9X4iuzmuu19KIgOgdJ/M3JQuB1HvTC2piPncNH/CXDXSCylu56xIOjoNtv/JP0ypn/w1Ir5sGl8ma1Zwu3JbNqJ+/aBZ874phuq1pDH4KbaMdPdAgMRbHRDF+nBOy3VGiV+rdKRMYnX0kK8gf2u1BK6OMXoesqBFgRf6riaby8W4ohhXe3qTxmfdxC4JW4HiqrHLFW8Xf36Tz0g1FcMZ7gGEoW8JBEHGXP/iDsOFXngSHhsfaE7k2gdKQCwhLnDLSg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8X42YIEluPVSvQF5e57VuXQC/2wRI7tsq11bZj4u7qM=; b=cqs5DU6PYkOcWJeI2xqtKAv/M4wmZfvWim/RqM1BOC5LzDtoYvv7JY8l1s/Rs5kVnSp9ZMHA8Jx+6jjEqSD/VJp4xIk6/UKLma6ceI1+iDAmDtrl/5i65w0nudwOi+Rxxk7nK0QP5MOrPqBTS8ComkZRb4gOwEyaNS9bQ253dz8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:42 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:42 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 43/44] mm/mmap: Remove __vma_adjust() Thread-Topic: [PATCH v2 43/44] mm/mmap: Remove __vma_adjust() Thread-Index: AQHZITooQKNu+CQr+0yyrT4FApFQNw== Date: Thu, 5 Jan 2023 19:16:05 +0000 Message-ID: <20230105191517.3099082-44-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: 93297b97-5ee3-4d76-cb3e-08daef5160f1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: F7Rv6rHpcbPIwbY71MW3D7BddYjUyJAEbK0jh4NJDoQQuIB67kB28b+V09P0vjnchB2tewoTISWEIuxHaYCD//POk0NAkuIk8rsMqAv7Q4AeaetUzivBvCtsuhC7bWvl5urkwqkC6AYtyPmJu2xvdP2ZUhGCKJFciuK0FchKtYONiSkfGKLS/GdiZCq5oJ9dxnSKjlMzalJZJa8AAWLXj/qHJUIYDKXSJVpQ5fIoyCiliuucsBe1Aan0N3tZK0ryhOkNb/eI7zUzRS/Dip/boofwSbU2g9FoeAQusm4PXe+DrUfeNs/Doxydgj36EU4d/YtoRp/oSlgikkvUFOQ4Q/fGdDjBIQqbLSfkUHImXdI1jOvKoeyDIP0PdIBQa+kso6GReOjhksaS0l0Ltrf3vU0CJ7qg0LWLWcZ0FkSvsc+KVcauzqrOpYZGiWq8cyow1Z9yjk4vWeTVD1MkAl8oAXngZQkNcEg7yS9Qxgfpzq0qDlz06coB1YVkUAj9ix5Fagv7BU04BXi57/u5z/YgyaRp7sA42b5WCUGW5441iUJn+C2diVoYGZcwggTY4slKxsIfVgBFLyE+vevTgufn3KmvIQHPGCCzkKTYaFoq3A/cr0/Ygl6ig1D0ssj3+FDPfwCpc+1rdXtG1o2pLn7Jc146XH0T08oWVOrSK+WirM1Lteo1K0fBPYJyiyy+VNaMHdPpoVsC/y0BW0Tuj8lKww== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(83380400001)(30864003)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?R1R+ujTk5Ydh/QC4tVRKmvb?= =?iso-8859-1?q?W63JXPtpo5/+90bvz/EcvTaR0yvdxuhZp0uGWb6KzlHlq4fQEHUeNHhttBSM?= =?iso-8859-1?q?/pE+/1sQy2VPkNVcE6rZFVo73q5VOnXs9MQN/WK35jFGSvEnWt6J4B4NLzmB?= =?iso-8859-1?q?kabdTOS1tN+DCwvwI2UoZGNcp48JZApAODOn93ehGsWDLVVDkDzaiQuwlBq8?= =?iso-8859-1?q?vEuOUW99XtOOQpKai3XPaY+FFHXsxO6UOK81lU6S6QdmCX8Gm35kCBSgMmLY?= =?iso-8859-1?q?JVhRxUxPjgsJcNHRslqgMHE9CYNkgLzi8cfus1yIqQ4GbrMfCrwsYtMyHx3P?= =?iso-8859-1?q?5YApyvZViojS1sg03URnm0ph5JfJ6QQ2xojUeEpj0kxMs2JB0hOmuAl/Km00?= =?iso-8859-1?q?1x860ip4mi2FxEKXQMEqaxJtxnVH0ZeSRRJj+0GimoHieCLL2EeR9w4DpOXb?= =?iso-8859-1?q?pe9wjJJkvyfW58EaGzb3rLasH/YnFc4WsMII5n+q2sM8yYF3yT1Yk2G6h1L/?= =?iso-8859-1?q?YBKWErqcZd5EgjhJj2MtsCcNj5Nk1jpfPQXbjI0loAy9wM/rIjA8D4jYlVST?= =?iso-8859-1?q?YsKuA4dsIt3F+0foGOqP49FbD2Vk1asB7ktF316ZZpuHqH1boqMuOLJ2UQAg?= =?iso-8859-1?q?zfT3HzbCu/MND7KsrTyzxZY9LnXbDKrFn3HlzxIwr5v8uoyQ0bwsRbCzK65q?= =?iso-8859-1?q?Q0wA/R6U9kRcIjMuyU5Eoco72ehKd34znf/cdKyKIcD9fS6fp7kEUT5lb0Bj?= =?iso-8859-1?q?ATXy1Ojh2akNehNNYNaiFmQrexh7ETtIv/epezF2Zc6ew6LfHEq8x3zFfG05?= =?iso-8859-1?q?z3orIddCijlc28BdI/o9pAmjXPgmQqCd3uyk47PvvoQYfGC95IodmAW2+7vP?= =?iso-8859-1?q?i4gqDgL3MuBM68q+n33dFUtEqPAmGeZ8Qim78rLX6phLV+n42NlkiEHbeH9R?= =?iso-8859-1?q?72yYR405w6bN6bAHi0Qh9TjBp1A0pnN36kH7Wxh5hV0akqtdWR4FVUeVABe5?= =?iso-8859-1?q?tnJbm1ykApklHV7FZkQqRUIOQIuzKiPIilLJKlIQ8pZI72jC/M8bxKf8rrUw?= =?iso-8859-1?q?wt2KuCOFqntk3S5Lt6GVRBwf8SfXgQEgHbPzvky/h2LkoBzg1e6KJqnhAbXM?= =?iso-8859-1?q?Tjlv93B/LBa0QYaMyMQV6jForGpRHXNSGUfHbkOzHWHa2TqGjvXHOKWyFGA+?= =?iso-8859-1?q?nd3V/Kll8WN5QO7C3+7wroEDeo2S3aAZey9sNu3hm5YW8d35HO6SsP8bT/yg?= =?iso-8859-1?q?Qp40NWEF8TcpkNIydyETxU2d5safWKXRiLtVbrZOXY19rX5aIiVNVeERC+6H?= =?iso-8859-1?q?u/NX28y9wIgWqSvMCkTbyIxmenVCdRjkug298XZhKvKKCL847IKAktjLshWf?= =?iso-8859-1?q?q2dZSYFf+BfLOLHU1oegJ8yzO2rcFTf4iv0UqRBYuJIjZbBQUfeba8k63K5c?= =?iso-8859-1?q?J4YBvx6EqgY//Yw+kbD4VcbEcTphiEXrm48th2qBgA19wUqXpQyybXuHm4E+?= =?iso-8859-1?q?GiDVtzubc6cbwOKwQhjg+afB+HiXwPzooNPSt4oxIuHjnHB4isixLBvlnB0s?= =?iso-8859-1?q?iWxjgEp3xglvpZQaJmSK70Ndy+vDFJ6pTET950Vqu+133uIh5wPXxXGvpkOz?= =?iso-8859-1?q?g39J/BN9xc5PXPcUD8tAOpTXetzO86agLWmghcg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: nTBu+4+vhB7Bxnf+tmNUaEGCthsgPpsrWJC0h+Lsn6YWPolGGPgoKSq2q4kaqSAIG8K0R/FGOlwjDvrT1ERpTFGKSo+Jiao+aer28bKDZAwBR4jX7zdJx43vLUxM8UATeK14WL83taTkd34qRDtXK4JUKJPFaS6vEXDTU5w5SbqYy1gAuq8I780GdAZbPM7uTLCe39lGEtZxemn9bKU7iiS1q6JKYRoHix3tbffVaGoo9OPFBIrT4Crv6ePJ7xU+wxvBKW9mBmonBQxHhixrWae8GDtaNydfyb16ZXTthBPI5pH806jTxCWXj3PcpjjhPBUW5l8LkgrM9pkratg+pgIqCdPr1dInwtNkxnD0qQmhRZbDuP2yI6Z0UWLMZwfsIkQPahkyHng5bqdwh77v0C1nBM1weUmEhIBZn1AQMLgI0mg+NPRD//8lLFmga74sPbKtKwR0vZ4JfBuHHVkAb5A2Kc4Gr4e75erE/NBMKgxEKD/iwQWZZmghKGAnKw6tyw8ksFBz7bysGLU3/e760xEOcODAKPAHEa5DcsePkGMIqNMQuIaGxn+BCTsW7/F8uusRraEAuqir+j6lJYhzrjDC8UVIO9/CGUo0Rhl4R0xNYjrKDWRvbj25RBYbAdVw1A5DWdQ02n4eSwUziawaqxwoDRo4MNgPNxlJ7bU8zbZXuvEnuCvQq5eCdel2rpalb04xqRctnk5czjVpwuQ09RoJt0NmYKczAOliKCxnt6OhQHTFNXVjyfXvhD0YPe/0LOp6bSJifqXjbAoPxeFh7Z9X/j2UUn+ilb8030llPuw9i39ZHTckeXSpKH52z2/Fqu6WZorcCrUPb0UNa9q2mXkmXYcMV/3FW+aeUgQUdHDuP6+75zE99zRjJWmuBD4HHpCi/s0sERwjBVoQupaHDg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 93297b97-5ee3-4d76-cb3e-08daef5160f1 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:05.7188 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: KKtwm9F+urO/eao1ou2ze08zfLB2YDKHwrXbP5iD7wXMCQ33JlEEcAaBJQfctPDJLBOGvOy6NHGmKbzHeE5/zg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-GUID: QYbyHldh5EGBo_nHIQnNr384sB1lkxqw X-Proofpoint-ORIG-GUID: QYbyHldh5EGBo_nHIQnNr384sB1lkxqw X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 07C14C000E X-Stat-Signature: 33b9hbm1yybjxpyz9pb86nej5fokzsqh X-HE-Tag: 1672946209-7492 X-HE-Meta: U2FsdGVkX1+oEqEVKAx8Na4f0XnMMBrIRY9flm4q06oUePDg7wjiyXw89lKh8w9ordWZZL9sMDAOPkNXbIS4m4Cm+JGqbM4v7kHi71CoaUZF9LdYJtasLT9uCUvfr7gfkjq3Aw2MRjLbtNwWivt8Ceu0y508U65HbdBbOqIOWn8ODVq5iMWRkdykwqt7bi3AvtyXxMH1Q2WQVLi0kBYVKD4MNWDF0a1R8Sq143SH3U8KKPi0KwNHt2G4X0KfUmva4GfeOBnknIWy02MtmoEUr729d4gqu6ZOC+h60Yj+PdSqykovHf3M2PDHsjQwd8oSEGzXIM7GFtvw21FKTJjx/rUsdt5f4i7h62Aoo5ZdS7uwPW9/OKNensDX98L4Q8vWoIvcG0FeQTa+AFrtcNVd15EgWLRYxYr1NONQpO/YvVvn0D6KB8U5HQihzsR9D6bKCpvv5Wn2zsoTRAZbrgh5SxExk1AjVQu42Oeoulni2CRbfxBkFoQdYAYPOmNzc9PdW5F42hoB3KmT2Wtrl4jAnJD0PPE0OZf6WdF6BN6PyfM58x89hAbYL4nSvL28tz9+lYAdDCP/BImaK450OwyQm/e6UWSY30p/j+lj84I4Ci63C7/jYLjiYhri0oZeJrPX1K5ooV6KbkL0V6oKqaiNivO7GptAlmLWr2LsZilaMZefTgk0cu3B07YkDuXOYk5QwHdYlTr7r+xK5xRcl7HqWOIFb3hUFP3f2KUMbF4seL5n29v64gUk+0e5fiaUqwGHcP+n0IOhgpu/CBi0t821gRKU2vyfQWBNtBdKTf25K5AMrH4lK/sY1Q1yPlh0UYFOrBH7BYaZPjGIIInNDZNd9m/Jhzls7jQGWmL5+TQjmwEGvgsEsfs4cJpkjeK6tpHKqHC1kVqdGH0lPar0Y3HkE27A/JwLZt5LKJt/ye3Q4AfFqsYyAo9nnQuNu0qHpa59ZCVDjAkcBjvjKi00LTF IaN7LzBu IkGOsoU3SAkchW6UJODIJPS8ydufqSHWCZztdd8xLITwFF+1qxMCRsHkOBfu6FzYzHc8yejEc4lIbYYxBEwyiT8Mk/SP9KPKt6bDDQR9cNtIoznLA4I5ndJAKUc/+/Xbl5jl8vB1qQYg+lWrDbSo+52ZLCA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Inline the work of __vma_adjust() into vma_merge(). This reduces code size and has the added benefits of the comments for the cases being located with the code. Change the comments referencing vma_adjust() accordingly. Signed-off-by: Liam R. Howlett --- kernel/events/uprobes.c | 2 +- mm/filemap.c | 2 +- mm/mmap.c | 250 ++++++++++++++++------------------------ mm/rmap.c | 15 +-- 4 files changed, 107 insertions(+), 162 deletions(-) diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index d9e357b7e17c..c5d5848e2c3e 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -1352,7 +1352,7 @@ static int delayed_ref_ctr_inc(struct vm_area_struct *vma) } /* - * Called from mmap_region/vma_adjust with mm->mmap_lock acquired. + * Called from mmap_region/vma_merge with mm->mmap_lock acquired. * * Currently we ignore all errors and always return 0, the callers * can't handle the failure anyway. diff --git a/mm/filemap.c b/mm/filemap.c index c4d4ace9cc70..fe5a4973718f 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -97,7 +97,7 @@ * ->i_pages lock (__sync_single_inode) * * ->i_mmap_rwsem - * ->anon_vma.lock (vma_adjust) + * ->anon_vma.lock (vma_merge) * * ->anon_vma.lock * ->page_table_lock or pte_lock (anon_vma_prepare and various) diff --git a/mm/mmap.c b/mm/mmap.c index 6dd34e5ff1f7..a8dba6b6c34d 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -802,133 +802,6 @@ int vma_shrink(struct vma_iterator *vmi, struct vm_area_struct *vma, return 0; } -/* - * We cannot adjust vm_start, vm_end, vm_pgoff fields of a vma that - * is already present in an i_mmap tree without adjusting the tree. - * The following helper function should be used when such adjustments - * are necessary. The "insert" vma (if any) is to be inserted - * before we drop the necessary locks. - */ -int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma, - unsigned long start, unsigned long end, pgoff_t pgoff, - struct vm_area_struct *expand) -{ - struct mm_struct *mm = vma->vm_mm; - struct vm_area_struct *remove2 = NULL; - struct vm_area_struct *remove = NULL; - struct vm_area_struct *next = find_vma(mm, vma->vm_end); - struct vm_area_struct *orig_vma = vma; - struct file *file = vma->vm_file; - bool vma_changed = false; - long adjust_next = 0; - struct vma_prepare vma_prep; - - if (next) { - int error = 0; - - if (end >= next->vm_end) { - /* - * vma expands, overlapping all the next, and - * perhaps the one after too (mprotect case 6). - * The only other cases that gets here are - * case 1, case 7 and case 8. - */ - if (next == expand) { - /* - * The only case where we don't expand "vma" - * and we expand "next" instead is case 8. - */ - VM_WARN_ON(end != next->vm_end); - /* - * we're removing "vma" and that to do so we - * swapped "vma" and "next". - */ - VM_WARN_ON(file != next->vm_file); - swap(vma, next); - remove = next; - } else { - VM_WARN_ON(expand != vma); - /* - * case 1, 6, 7, remove next. - * case 6 also removes the one beyond next - */ - remove = next; - if (end > next->vm_end) - remove2 = find_vma(mm, next->vm_end); - - VM_WARN_ON(remove2 != NULL && - end != remove2->vm_end); - } - - /* - * If next doesn't have anon_vma, import from vma after - * next, if the vma overlaps with it. - */ - if (remove != NULL && !next->anon_vma) - error = dup_anon_vma(vma, remove2); - else - error = dup_anon_vma(vma, remove); - - } else if (end > next->vm_start) { - /* - * vma expands, overlapping part of the next: - * mprotect case 5 shifting the boundary up. - */ - adjust_next = (end - next->vm_start); - VM_WARN_ON(expand != vma); - error = dup_anon_vma(vma, next); - } else if (end < vma->vm_end) { - /* - * vma shrinks, and !insert tells it's not - * split_vma inserting another: so it must be - * mprotect case 4 shifting the boundary down. - */ - adjust_next = -(vma->vm_end - end); - VM_WARN_ON(expand != next); - error = dup_anon_vma(next, vma); - } - if (error) - return error; - } - - if (vma_iter_prealloc(vmi, vma)) - return -ENOMEM; - - vma_adjust_trans_huge(orig_vma, start, end, adjust_next); - - init_multi_vma_prep(&vma_prep, vma, adjust_next ? next : NULL, remove, - remove2); - VM_WARN_ON(vma_prep.anon_vma && adjust_next && next->anon_vma && - vma_prep.anon_vma != next->anon_vma); - - vma_prepare(&vma_prep); - - if (start < vma->vm_start || end > vma->vm_end) - vma_changed = true; - - vma->vm_start = start; - vma->vm_end = end; - vma->vm_pgoff = pgoff; - - if (vma_changed) - vma_iter_store(vmi, vma); - - if (adjust_next) { - next->vm_start += adjust_next; - next->vm_pgoff += adjust_next >> PAGE_SHIFT; - if (adjust_next < 0) { - WARN_ON_ONCE(vma_changed); - vma_iter_store(vmi, next); - } - } - - vma_complete(&vma_prep, vmi, mm); - vma_iter_free(vmi); - validate_mm(mm); - - return 0; -} - /* * If the vma has a ->close operation then the driver probably needs to release * per-vma resources, so we don't attempt to merge those. @@ -1055,7 +928,7 @@ can_vma_merge_after(struct vm_area_struct *vma, unsigned long vm_flags, * It is important for case 8 that the vma NNNN overlapping the * region AAAA is never going to extended over XXXX. Instead XXXX must * be extended in region AAAA and NNNN must be removed. This way in - * all cases where vma_merge succeeds, the moment vma_adjust drops the + * all cases where vma_merge succeeds, the moment vma_merge drops the * rmap_locks, the properties of the merged vma will be already * correct for the whole merged range. Some of those properties like * vm_page_prot/vm_flags may be accessed by rmap_walks and they must @@ -1065,6 +938,12 @@ can_vma_merge_after(struct vm_area_struct *vma, unsigned long vm_flags, * or other rmap walkers (if working on addresses beyond the "end" * parameter) may establish ptes with the wrong permissions of NNNN * instead of the right permissions of XXXX. + * + * In the code below: + * PPPP is represented by *prev + * NNNN is represented by *mid (and possibly equal to *next) + * XXXX is represented by *next or not represented at all. + * AAAA is not represented - it will be merged or the function will return NULL */ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, struct vm_area_struct *prev, unsigned long addr, @@ -1075,11 +954,19 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, struct anon_vma_name *anon_name) { pgoff_t pglen = (end - addr) >> PAGE_SHIFT; + pgoff_t vma_pgoff; struct vm_area_struct *mid, *next, *res = NULL; + struct vm_area_struct *vma, *adjust, *remove, *remove2; int err = -1; bool merge_prev = false; bool merge_next = false; + bool vma_expanded = false; + struct vma_prepare vp; + unsigned long vma_end = end; + long adj_next = 0; + unsigned long vma_start = addr; + validate_mm(mm); /* * We later require that vma->vm_flags == vm_flags, * so this tests vma->vm_flags & VM_SPECIAL, too. @@ -1097,13 +984,17 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, VM_WARN_ON(mid && end > mid->vm_end); VM_WARN_ON(addr >= end); - /* Can we merge the predecessor? */ - if (prev && prev->vm_end == addr && - mpol_equal(vma_policy(prev), policy) && - can_vma_merge_after(prev, vm_flags, - anon_vma, file, pgoff, - vm_userfaultfd_ctx, anon_name)) { - merge_prev = true; + if (prev) { + res = prev; + vma = prev; + vma_start = prev->vm_start; + vma_pgoff = prev->vm_pgoff; + /* Can we merge the predecessor? */ + if (prev->vm_end == addr && mpol_equal(vma_policy(prev), policy) + && can_vma_merge_after(prev, vm_flags, anon_vma, file, + pgoff, vm_userfaultfd_ctx, anon_name)) { + merge_prev = true; + } } /* Can we merge the successor? */ if (next && end == next->vm_start && @@ -1113,32 +1004,85 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, vm_userfaultfd_ctx, anon_name)) { merge_next = true; } + + remove = remove2 = adjust = NULL; /* Can we merge both the predecessor and the successor? */ if (merge_prev && merge_next && - is_mergeable_anon_vma(prev->anon_vma, - next->anon_vma, NULL)) { /* cases 1, 6 */ - err = __vma_adjust(vmi, prev, prev->vm_start, - next->vm_end, prev->vm_pgoff, prev); - res = prev; - } else if (merge_prev) { /* cases 2, 5, 7 */ - err = __vma_adjust(vmi, prev, prev->vm_start, - end, prev->vm_pgoff, prev); - res = prev; + is_mergeable_anon_vma(prev->anon_vma, next->anon_vma, NULL)) { + remove = mid; /* case 1 */ + vma_end = next->vm_end; + err = dup_anon_vma(res, remove); + if (mid != next) { /* case 6 */ + remove2 = next; + if (!remove->anon_vma) + err = dup_anon_vma(res, remove2); + } + } else if (merge_prev) { + err = 0; /* case 2 */ + if (mid && end > mid->vm_start) { + err = dup_anon_vma(res, mid); + if (end == mid->vm_end) { /* case 7 */ + remove = mid; + } else { /* case 5 */ + adjust = mid; + adj_next = (end - mid->vm_start); + } + } } else if (merge_next) { - if (prev && addr < prev->vm_end) /* case 4 */ - err = __vma_adjust(vmi, prev, prev->vm_start, - addr, prev->vm_pgoff, next); - else /* cases 3, 8 */ - err = __vma_adjust(vmi, mid, addr, next->vm_end, - next->vm_pgoff - pglen, next); res = next; + if (prev && addr < prev->vm_end) { /* case 4 */ + vma_end = addr; + adjust = mid; + adj_next = -(vma->vm_end - addr); + err = dup_anon_vma(res, adjust); + } else { + vma = next; /* case 3 */ + vma_start = addr; + vma_end = next->vm_end; + vma_pgoff = next->vm_pgoff; + err = 0; + if (mid != next) { /* case 8 */ + remove = mid; + err = dup_anon_vma(res, remove); + } + } } - /* - * Cannot merge with predecessor or successor or error in __vma_adjust? - */ + /* Cannot merge or error in anon_vma clone */ if (err) return NULL; + + if (vma_iter_prealloc(vmi, vma)) + return NULL; + + vma_adjust_trans_huge(vma, vma_start, vma_end, adj_next); + init_multi_vma_prep(&vp, vma, adjust, remove, remove2); + VM_WARN_ON(vp.anon_vma && adjust && adjust->anon_vma && + vp.anon_vma != adjust->anon_vma); + + vma_prepare(&vp); + if (vma_start < vma->vm_start || vma_end > vma->vm_end) + vma_expanded = true; + + vma->vm_start = vma_start; + vma->vm_end = vma_end; + vma->vm_pgoff = vma_pgoff; + + if (vma_expanded) + vma_iter_store(vmi, vma); + + if (adj_next) { + adjust->vm_start += adj_next; + adjust->vm_pgoff += adj_next >> PAGE_SHIFT; + if (adj_next < 0) { + WARN_ON(vma_expanded); + vma_iter_store(vmi, next); + } + } + + vma_complete(&vp, vmi, mm); + vma_iter_free(vmi); + validate_mm(mm); khugepaged_enter_vma(res, vm_flags); if (res) diff --git a/mm/rmap.c b/mm/rmap.c index b616870a09be..4ee90f06b05b 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -262,11 +262,12 @@ static inline void unlock_anon_vma_root(struct anon_vma *root) * Attach the anon_vmas from src to dst. * Returns 0 on success, -ENOMEM on failure. * - * anon_vma_clone() is called by __vma_adjust(), __split_vma(), copy_vma() and - * anon_vma_fork(). The first three want an exact copy of src, while the last - * one, anon_vma_fork(), may try to reuse an existing anon_vma to prevent - * endless growth of anon_vma. Since dst->anon_vma is set to NULL before call, - * we can identify this case by checking (!dst->anon_vma && src->anon_vma). + * anon_vma_clone() is called by vma_expand(), vma_merge(), __split_vma(), + * copy_vma() and anon_vma_fork(). The first four want an exact copy of src, + * while the last one, anon_vma_fork(), may try to reuse an existing anon_vma to + * prevent endless growth of anon_vma. Since dst->anon_vma is set to NULL before + * call, we can identify this case by checking (!dst->anon_vma && + * src->anon_vma). * * If (!dst->anon_vma && src->anon_vma) is true, this function tries to find * and reuse existing anon_vma which has no vmas and only one child anon_vma. @@ -1265,7 +1266,7 @@ void page_add_anon_rmap(struct page *page, if (unlikely(PageKsm(page))) unlock_page_memcg(page); - /* address might be in next vma when migration races vma_adjust */ + /* address might be in next vma when migration races vma_merge */ else if (first) __page_set_anon_rmap(page, vma, address, !!(flags & RMAP_EXCLUSIVE)); @@ -2548,7 +2549,7 @@ void hugepage_add_anon_rmap(struct page *page, struct vm_area_struct *vma, BUG_ON(!PageLocked(page)); BUG_ON(!anon_vma); - /* address might be in next vma when migration races vma_adjust */ + /* address might be in next vma when migration races vma_merge */ first = atomic_inc_and_test(compound_mapcount_ptr(page)); VM_BUG_ON_PAGE(!first && (flags & RMAP_EXCLUSIVE), page); VM_BUG_ON_PAGE(!first && PageAnonExclusive(page), page); From patchwork Thu Jan 5 19:16:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13090472 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2DD5C3DA7A for ; Thu, 5 Jan 2023 20:59:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3DE5D8E0002; Thu, 5 Jan 2023 15:59:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 38EAD8E0001; Thu, 5 Jan 2023 15:59:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 20A458E0002; Thu, 5 Jan 2023 15:59:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 1457E8E0001 for ; Thu, 5 Jan 2023 15:59:42 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E0FF814046A for ; Thu, 5 Jan 2023 20:59:41 +0000 (UTC) X-FDA: 80321961762.23.10FA931 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf21.hostedemail.com (Postfix) with ESMTP id 836E01C0014 for ; Thu, 5 Jan 2023 20:59:38 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b="AqnUsF9/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=tb61EsKr; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf21.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672952378; a=rsa-sha256; cv=pass; b=wLV5Yk3EMCw7ci9k/ibBxmxwPdEd9CHVbuWK6oLwgQkJ6dvpW/q19oB5GOAvJd+70mOXlH ImWCxh56MPaNZxq0KTifijIZuzbM8TWSyQ7gwIS17hqFbQLajrcrkhFS87JosDxDh7NbFV y+j9q5Xi2yA1VdAWsVd8wpLL+duuJJ8= ARC-Authentication-Results: i=2; imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b="AqnUsF9/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=tb61EsKr; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf21.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672952378; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HmgkQ28QOz7ZNEWXunztBpLVHZCE4edNWbiYOCDwRN4=; b=aagPoRNc3gMU2WgKsoEqoxoeS8gP3zfEJ4IKZSxIsejpD9vBziwGSX15KSrbCx7/lPCE6k N2vXcBJvpxZJLIq3bF+fQBnzpQygOXkTXBsGYqaWHotObnkJ6Uw693MGNdCaJbV8MoxPqq kodBaybdyMHq/Aek7Ndv7AguP1DjmWI= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 305IUIHr030165; Thu, 5 Jan 2023 19:16:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=HmgkQ28QOz7ZNEWXunztBpLVHZCE4edNWbiYOCDwRN4=; b=AqnUsF9/fDFRO2iJ5zTt9NftNr44FpFh5qvjKPRUH6+7GoE5fhCJAfk9YI/2prpxmQqx +PTjjBSkCJWGqzyIg7QnOj3jGnruSfH98KzX5OIyBO3sCnTP76eEcamO0ABcYKLTkBmP 15uJw3GZsOY0QoscoIBtQTajafbI2xi2hSEjxlwY3siuBm5Z+ekgEmLH0A8vgkpFvjEb 4da1l7oM0fpLVaDgL8/iclD1SeaV3XAKtZhV1O7xq9Rshorr5vr7XJy7WMG2dVYwxMRJ B4L5tMlSp6E+FvRiK2/A6b4L4QgK4zxdsRtQ5xDHgFhkyrZWOKH8TPsTTrEi2HbDilmq /w== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mtcya9kby-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:47 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 305I9Tnl012151; Thu, 5 Jan 2023 19:16:46 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2043.outbound.protection.outlook.com [104.47.66.43]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mwdf0u4xq-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jan 2023 19:16:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MjxZ1cUhPPlmOs139rSLWEnAxVmNBKTQtfDvzB4TjHjGhkdehVx63Q/WfOAS7foCJP09fNYtg8dCQ8NRPzbKKHL939ahf2JFPswWHozIEedj76QXDcJ7st/7rAAvwJNK58cjuY6w6oi3M+SYl00L3d0rp91bnKir9dH0LrjzF7NF4kBTZDpCq+I2EWp3cRrrZVgKbzdj7uvkMpn107iK1jQ2YpfeY1Rxm47VznmKDZ/XuvuYACr70VBckSbqzzFLzGrXcdI88JmZUeTq6kQccfbO73OSQgGNkGPpO1+zlE8y/YmCsKvjFZAWAzMRI68T++c0R1XJgCQlyUtXtAQiEA== 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=HmgkQ28QOz7ZNEWXunztBpLVHZCE4edNWbiYOCDwRN4=; b=Vi3DXD+LSevdTJXjJCAWHJoTD41L+UEd69rlKNR4KXigaSQc2nvM6UnYRZb54M6FDai+IvF+a81IE3lsjZRQ4Zk58G9rc4Q3hlKgE+R84Kd0Lc3NmQY67xmYJEzp3MeIb7ijW7vPRNIhFVHUCQVYJvNrHPGvYx106HFvew5cdFbdBXYQajWqDgUwGCavhAGGSd/32B5rE0LVSAV903t2xKkMrSk562RN8Mdm4ZxJhQrKjOrDT+Sbeew8LrvWNlPR5Z5VxUv+QQFePEBPkVWPWbvpT0F65CqrCfvzvPKiZgC7qRmC5mEhcNIYn3esaKiRfjMwCcJXp0i2FKEwCNa7FQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HmgkQ28QOz7ZNEWXunztBpLVHZCE4edNWbiYOCDwRN4=; b=tb61EsKroFQuZKrmVIPalVwLgY3JbOEGBfqayJQ7Z74y0lGgZ/rjp5mOLN/JZtRBgbDESiMkpRwDihoJLViGa3Rybmup5rMccPL1lcvBPTIhA+OqD4e20mySmPp/thNM2Tg0bLOzfwlimkVXwWyz/UMF+cze0y7L4QUtena4+eE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4791.namprd10.prod.outlook.com (2603:10b6:510:3a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 19:16:42 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 19:16:42 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Liam Howlett , Liam Howlett Subject: [PATCH v2 44/44] vma_merge: Set vma iterator to correct position. Thread-Topic: [PATCH v2 44/44] vma_merge: Set vma iterator to correct position. Thread-Index: AQHZITooJ+5o/wSJjEyVNtF78Sn/nw== Date: Thu, 5 Jan 2023 19:16:05 +0000 Message-ID: <20230105191517.3099082-45-Liam.Howlett@oracle.com> References: <20230105191517.3099082-1-Liam.Howlett@oracle.com> In-Reply-To: <20230105191517.3099082-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|PH0PR10MB4791:EE_ x-ms-office365-filtering-correlation-id: b6b76d5d-a603-4a8a-3e11-08daef516126 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: X/R2plOro2MLTgv/Vp51QKSPAQm3SX4IsaNaW/9PF/Ur9m2xeaNkkWnpRyO7bdG1SW+zqkRwndTZMIKDa12D8NyYNKx/FyqMrZiJl836v7oMjlt4OzZLR5VCknselm++OUYj/17z6e4RkMzpoc4A8O92SEgZPP+RN0LwkyE9TCeyJjolrtzWFXmDB/vk1l8xDPI7usSZH5A+YkShbTitqn2FEKbaR8HkoXFVw8h9oAHTJoeDkLk+u3RurbhZ291kFmHBry1+gtlQJp4AMyaTYFWleXSLRmbCwD1LX0Zz/gedjW7rR2cpp67Dg7MwEiu7YPtki+zF3QBaL7+sEvdNwO4sZ2Smf1geiSxxlmP6jywUzIZeE4qNmzoDmcvsHZzJkF9BAG7KhoaaN5zd/mYcVDJ4d5DJTOhp1Mo95hJ8v7f/sqvaISto2iON4xIStntmowvR/30OdF6u3dS6t6D/pwD9H79WVLPdE7Rh0pZfeE1T0NZYR3TbF0voR+DJaNXSG4Mi9ePSl45AM79ftXm2XpCiqCXeI7wgLRM+ZKfwVSZCk4NBXxwxoT4ainpirREQrNp1xbgcFroz30fiiU1l0dheR3ut1UjrxeDTg7Bp/Xqrxbu9LtRp9eIyrZyST4AiOHzUyEEWJ1My2BL1Hg7zpWx8akXgC6atGg3onQxkXKJt7E97+XaRU937pEL9DhcMp2ZhsJwdY+9krRvRrUszcA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(4744005)(83380400001)(8936002)(5660300002)(38070700005)(44832011)(38100700002)(36756003)(122000001)(478600001)(107886003)(6666004)(6486002)(2906002)(54906003)(110136005)(6512007)(186003)(26005)(71200400001)(66476007)(64756008)(8676002)(4326008)(66946007)(66556008)(6506007)(91956017)(76116006)(2616005)(41300700001)(66446008)(316002)(86362001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?nNh3q6fryNVL+2L9Vi7PLPp?= =?iso-8859-1?q?JjwwpJxOVNCRz3ZjDu4cr3uvk8WA7pmrd64xBNDxtxwAAKqlzsHEVu7tOj/M?= =?iso-8859-1?q?YTzMhV3GGxKpIVYT7jpnRxhPoNR1c54XbeKfZozw1nWYskjXVcoF30Lqix4C?= =?iso-8859-1?q?jqagiWxxpmDwJXAiIjEDpOzbTS2AmhNoghA+wplxJq685uPi3gMdkQ/14Cl7?= =?iso-8859-1?q?RJABWJLBO+vSfdkbbWopBWrNb8v94L+/fWuo2abnmwDQ/7uZ9RFb3Iv4+pCE?= =?iso-8859-1?q?DXB6qthy4mya/BSzh4HUaRavycqmHrlnyswPOCvcf+a0W/564LDeVTIzOpaF?= =?iso-8859-1?q?6UUtU1Opt7r9ICOnaDh0ESXSUz+ehpfHCQkj5Vw9se4ZSYe0U2HBT2RrilWw?= =?iso-8859-1?q?XqH8Bb55iHL+fjdQeCUVyz51jGGkwAcxhsbrrVpIqT4fS3qlSLOpUQHtIi6I?= =?iso-8859-1?q?DYy4WjTvxr7861QOYz6+MsWBqZza8fdSnHn+cWyvaEdviwDA1Ll/xz0tBjgz?= =?iso-8859-1?q?IRoFUCmBA1soRXIxHh7OnUYnNl5YfanTcsEF4673zg7VMGUbCVsHkX5Lhm8w?= =?iso-8859-1?q?OkQbT0WnAbw1GNahgO6DC6SjXrA1HTRrb9xFI4Q8JtRjkxd9X5x7thdQu/vq?= =?iso-8859-1?q?ikLPg3i0ZSRBcg0XK+xKuGxgrtJ0VDXWDHKJd8/sprI94z6XSONalKLEi31K?= =?iso-8859-1?q?yyu9fE9t/gtVlSg9rCoF7uuBfv7q8+lE91LllIw3pTTH9BoxwQQ3HX83wCHf?= =?iso-8859-1?q?Ex1o+kZbrfiKv9hihf3jYUiBoz1aTINJyAPYGMhruolgyXPdeYB33ymZyQ0q?= =?iso-8859-1?q?uBmZxruLICyOy/SxaXjfdkogaelaHu1cDdTAXVNoVSMHR/z3rMwWk4DtkxTb?= =?iso-8859-1?q?1+Nha2H2lh4Jq5Wkg4boEY2ZXVTc3gabpX6aNLpJJ7MQPrSsJxcgLoGb0i1W?= =?iso-8859-1?q?ndSipdT4UCxdsD1yaZGwvTJcX9lYNcil6LQdduOelUwJAp9jdet6/1my1aFh?= =?iso-8859-1?q?MRbsXcjmKK4ZHv5bPogehW0GwkvxmcTuFTadEWNy103YdXz+/hGv5+1JNaJu?= =?iso-8859-1?q?IhRQvMBULYai+Y4VQT4ePhdKLotK9tLUMMf8KkVm+5KzqeiEJzGPr6EbI2QE?= =?iso-8859-1?q?LJfBLc8iJgioavagJOIsgMv5maNP89P12eG8cEdjUupjlRARwNUnxA06zQDq?= =?iso-8859-1?q?s4pClKDS1yn20PPrFaRoEw1hiOPqreCwCvExMdYkX5l62g+SGnLH4EochGiS?= =?iso-8859-1?q?8BFjqQf/4T7N9oUQiRg6xiIdqXWlabV6Qymow164tFbI1wwvhCwf2U67vrsI?= =?iso-8859-1?q?oh3c7awy+SzLnVtD6wrLglaAwdXCqPEZPY9aAXc/sa7UlEejpHhefxO0qXH5?= =?iso-8859-1?q?Z6Esee5NlJ9Y0Pm+Y9uQIMpodh06tn+auBLfBEH/Q/XDMkExqBb4eqTLbgGH?= =?iso-8859-1?q?RgrcjA5qJrcc5tlJIrn5g2QdaPOaugUgB1t+CRXgIiTptKG6YDgDXvjbazzG?= =?iso-8859-1?q?hiYnJAoF32wAbdvyeN8aB2tBiREPa//HsTHlsMgk6WJWa0v00xR+NFnULfXn?= =?iso-8859-1?q?JuNZojvGPLXxOVpLJoQViCbzsS5z9X2DOJB/PHDxlVqgZT0DQgUm5J2O2Esa?= =?iso-8859-1?q?TJf5JGrLWiMcQ14ynhgpEZ8MJXUZVgcBYgQIEdg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: b6jtqnsv1QGs3MLrPde6gXS7gBVSRNOOFd6seaz1xtOahP0kV++rekhtWZ3JnobUV+ka8jEWx/1Lj2rdLG0UBvD1eu8GbqRLjdNETQ36hnHQQRpdL3kACLM5NO3VMGfnDGlVvTsIiOq4zRP60TMK1cgNPILYcoBym9Axhp8Ll5tg8MuSGgQnC+0t44qm9m/0lDsMXfd3nfF5KJAsd+/MS2UJ9mZaSZWQkFaGaJSWr6ZP/1Q2gSaBg2OIWkt6L9ZRMIioIOz+2PCh0+PUUwO9ReyLbzjkH+uZ+vTM+XzblgEeqWxDjdjrIZ6e9n8VzILfsytByfm2xmCBpT33uKDinO8S3fDaVLpFyF5FwEyaMFU4J24xzLXIekw8PN3Y8OhL9nZEWHVdYTJ2kdq0jugLZMBKi/mmQwSrgm21/udHDUyehK08uupd69EkUkS5t2whHyanwXg5w+ceoCWVLFBF10e4gLXK9Mq4qPneDQ+Rp1Anj9Dc1M/FCaUEozFuqli00UwztBsLK1uyAxpU2c+Ak0qhHX4HUYAO1xuhAyuxNJu8rCvLOU/N/lIRaD2Pk2lg9jCAvrhDq32TkGpOTgdyyLGcSrNh531MZ+oynIoZ35xeMm4z8bYRGnq5FoiarLX0PvEWRRtONhjUW4aewDyrhRe1MRTK1JnC0gxfXT5Wyse0aYrOfLuBHAR8q6tXdiDddFB4ZuNay6NRZUXySlvUYSRYk1WA/ezS2EjuBkhsvmJPAYqQUR2vKpfrcr6njiw7mRTdrhvjumcuuO1Ur0wEpwnNNCuKz2IZB0HkaxyeWl9ZkdQvEd+/YaEu5oNebNGDyVmeN8ynjs8o7uAi+vIHtJdLslp6Q9IiEeR2gpRDo55jceCYROlGiH/EzepN5otl0Av34TAFL5jH43lq+aJ2vA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6b76d5d-a603-4a8a-3e11-08daef516126 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2023 19:16:05.9532 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: a3CFjJ29dxSN4AcYdVf4icMEzoWkBtxp8J6j7ryZ3J/SuL6lzPh2OXvQbJhiH5OPgQZgvhAZJ9AHIymQcyNfKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-05_10,2023-01-05_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 spamscore=0 mlxlogscore=977 malwarescore=0 phishscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301050152 X-Proofpoint-ORIG-GUID: CjCJIEYrWf6fG-MX3qT4maONUya5GcQ4 X-Proofpoint-GUID: CjCJIEYrWf6fG-MX3qT4maONUya5GcQ4 X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 836E01C0014 X-Stat-Signature: ntjnja1pcowzphwps365ahzgrsx5k5hg X-HE-Tag: 1672952378-748754 X-HE-Meta: U2FsdGVkX1+rsOu00wRHsoFQ0MslcFlbIx328ngD+WdZ+BjWhdZDzgX0zxyAZbvtSXwXRtAZNTYnQf3pe2/Ix/2g9mvPIuepQA7S5J7TV/ENe+mw2djeUnfRfyeU9F0E8nr0NJGoOOGT7yI9NpveGdiz8P65bCrxH7H0UrxBH3TAyOMBFbiX8tzHr8iWjapBOQlsxVbsd9kSnXE4ZGu+1iOCpoimOgyxEDdWNhsHvaogxrIzXe/djWBdPuNLcap7u6s5+Q990t8eKu1Zcv0F+GaOl5H6Vv8qXSbyOaJNd753qJsAkvPU36KEyx9AoaXk3I2MJO/Rm3poDCnt/HksXqp6nPjQJFS+jo2tJP5jRzumKBy9XAtL0n6QlJ9dyjE95bi/PYUHtsWDH8CxvEOK/Uwt2VOW5H12nRQa6SNHKASBk3eifhBAkK12p1RsBuSeCBPTKJUcp3a1sXco5Lb2RoXz4HhM83uvrnSzoUdk700wlHPD9fis00HVEy4P2EIrrSXBWdN+SJ/cYrFaiBEpQXPedWlVO/sbi9LNZMrZJMnGcZqVnNB5O/NgrsCktfyeE5LjaTeqJaSvHwa3gUtPZi0FhElA/PaIPeyYQdqgQhxwtO6aFxP2/Dv02yQvWbDx+snZ5yUe0RK1maHHyFlUeHGHHoGAg5ipyWCQkqYklhlU6PIOnOzFt3CbxBmy+RoQz7+DwFGwz/KTuA3ScJEaRiiU3SBcRJf2AgVRZWFBji4NdTVsd2TGSzfEfYyzN/fn2Gg5QszL1lvesAa4kh/LIZI2gqvdk6ubQqSKHgYV4YikVEQbDk+mbCIGqoHsSkNjyAPuJSGBypAJXUjVXbOCrOxcN6uRK9Nay3Mvzqz0y1gvYcw9Wf3w9d+3PwVId/C0/0hP5NaEQrwWHUK7rl1AYqED/UtjUPshvIEIda9xp0HOdtUrxO04S9nc/nZIBBEb/ku4BBRB6YC5QOD7a1r t4RE449n qaq3WXd824wZGUbc8HhlCKiJuCKSR/olid4nFTMSk0jH+U3x9yfu+1tOBYMKe2Ek72gyX4u7cHwqkKbjfU1wpEtxbJ32TprY88Lfz7wdibDYZ+y9xjE1Oy9kfeQ/VBT0O3/5HXZG4301mgMd424DCEuX3DQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" When merging the previous value, set the vma iterator to the previous slot. Don't use the vma iterator to get the next/prev so that it is in the correct position for a write. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index a8dba6b6c34d..66e2f1b88c87 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -994,6 +994,7 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, && can_vma_merge_after(prev, vm_flags, anon_vma, file, pgoff, vm_userfaultfd_ctx, anon_name)) { merge_prev = true; + vma_prev(vmi); } } /* Can we merge the successor? */ @@ -1085,9 +1086,6 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, validate_mm(mm); khugepaged_enter_vma(res, vm_flags); - if (res) - vma_iter_set(vmi, end); - return res; }