From patchwork Tue Jan 17 02:34:14 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: 13104079 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 E42B2C678D4 for ; Tue, 17 Jan 2023 02:34:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D18376B0088; Mon, 16 Jan 2023 21:34:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B90496B008C; Mon, 16 Jan 2023 21:34:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9E4AC6B0088; Mon, 16 Jan 2023 21:34:24 -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 8680C6B0088 for ; Mon, 16 Jan 2023 21:34:24 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 4AD6EC0ABB for ; Tue, 17 Jan 2023 02:34:24 +0000 (UTC) X-FDA: 80362722048.17.06EDA73 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf23.hostedemail.com (Postfix) with ESMTP id 0A4DE14000A for ; Tue, 17 Jan 2023 02:34:20 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=aku2XUUU; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=uHgMn3M9; spf=pass (imf23.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=1673922861; 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=kcVR8wcRzd7rqAneXAQMl2ph2Vw50Ksh3FmZ1KTj5NA=; b=LAsbyW7eLbmcNWfQPdvWBp++Qk2XxFrbpCmQADwvh0PDsI7VLtAKDjOnQZLiMyHTiYE+1k yiujJwUhZJL1p/hkRAEyErzkzHzncZA9wsg0pHBKNrH5xuEiY7g9jg1hgvOlKEVLksI3My dTbeZ/zkfSDKeMuyad06e0Nx/2KzWYU= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=aku2XUUU; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=uHgMn3M9; spf=pass (imf23.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=1673922861; a=rsa-sha256; cv=pass; b=XGRP2XSQRf9Ywq1q6awnvsR9FEZOyEP8zJ6lM92sD3Q1Hg9lr2wdnk6O4LiBI7EvvIlY4X WVQxxeQwOIxQo4fd89uL8VAwDseONdgNGnaY3r3djD/MS1Ry2rHX8fkZcQUyyEy/L72Xb4 L6XtDfQ/pPq8WwotxJ7MtAyGXGNStjc= 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 30H090kU000925; Tue, 17 Jan 2023 02:34:20 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=kcVR8wcRzd7rqAneXAQMl2ph2Vw50Ksh3FmZ1KTj5NA=; b=aku2XUUUD6fhwcMPP6BIC0asx7PnvnssdKwHmMt9jIR2Gb23n1od4csYoZEfhi+58Goa mtoXtbFZuq2xSE58cCiG+TfHzuESdRR+ju3vTEu+xTupEFhkxEmF+iUA2wZQ1ZbRMsTa Pd5PzDIcaRcZhdjqL23VN8OYwxNy6by8gzob6e0I8OgclHpFmetKkRO6W1B/K463PJoc 08yKc8cUVpytOu6Gwtv+Lqu6/7QRaxXNDXf6Sns/zPic8tDkJZuDZv0zjOTKYNhHXccN uS634JE5oMFD62RX/kKnOUwB7AuCL8WagYKVErLVxfBg3hJpaKpUk0g52cBCGqwLoS23 +g== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n3medbqbd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Jan 2023 02:34:20 +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 30GNXAUR020577; Tue, 17 Jan 2023 02:34:19 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2176.outbound.protection.outlook.com [104.47.56.176]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3n4rq37hat-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Jan 2023 02:34:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ilDY53721N0oAJ+8kRM+rQ8daJJOkKtKvtxtkCIILzDVKm3fpP1+hC+D/bJr6ADRI5c37VOx14OHMSStsYoLCdYMecCM88K9UgaSADQ8t7LCqf1qouf5HdplCCs1E7kB7bSM1RmwxjaovcJLDEgfpOghbe6yGPrBaq9FaaudV0SdxyRsT2pRXjOL1+dY7+ceA2fe/postVb74BbEWF7RUpv3+EyODGzKKfPBqSQfV2Oz3k9wFlbhw3HhYWEXvdvGva4WE2ZeCGk4Ahv7fpNMjcOFZnIb59raSEUEegy98jvtGX4o4joYZtruQAnMwf3A+wvLDPzB9Jk7afH2cC7ccg== 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=kcVR8wcRzd7rqAneXAQMl2ph2Vw50Ksh3FmZ1KTj5NA=; b=TQpEERqjMB4JubTWGiMXmr12XKHLk9+5zxcu5EejopCGyAcRDRNlauxjewKgT1tQjeXK/AOdZdYWEmPrVaciKwujwlHVzJJb/Xe1Pxs7fToMaTIPD2bMsrsT/NH0/I1VdUuJ5I1s/7pw7HdMw7L1qVqdbQo5K+NTVvJYVEThctOcmB8ne5YJrHwDsvKuEJO3566VjNzxx9EId7belFJUd5ZAlbS1uSd9cIbgVR6C3mY3D+FlN63i9OCvz6MMUmPQQW1ZPDCGAkkjgjftaTffS/Hn+4L9x9es86kRQYQLHUCAlLYoSJ5MN8TF/AAn4zQmXLYbpuu51WmqdtE7abJDow== 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=kcVR8wcRzd7rqAneXAQMl2ph2Vw50Ksh3FmZ1KTj5NA=; b=uHgMn3M9t29HyZO59H8KA1dberR7SJWo+UZqgpBh1+029eDgChARuFrfePzXgzCgj3vYTjbaON1AiXol33MoitAT+wxuF5LC7lkYElWATvEA9aEIJ/skbPUlhN1CpSv0WYXfMKuTJXTl3166WBcwVNwVzcLcF+Q8LBDZJrcgXSc= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5356.namprd10.prod.outlook.com (2603:10b6:610:c3::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Tue, 17 Jan 2023 02:34:15 +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.6002.012; Tue, 17 Jan 2023 02:34:15 +0000 From: Liam Howlett To: "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton , "maple-tree@lists.infradead.org" CC: Liam Howlett , Liam Howlett Subject: [PATCH v3 14/48] mm: Add temporary vma iterator versions of vma_merge(), split_vma(), and __split_vma() Thread-Topic: [PATCH v3 14/48] mm: Add temporary vma iterator versions of vma_merge(), split_vma(), and __split_vma() Thread-Index: AQHZKhwwxX9ewtOVqUOnMhRjb4uIEA== Date: Tue, 17 Jan 2023 02:34:14 +0000 Message-ID: <20230117023335.1690727-15-Liam.Howlett@oracle.com> References: <20230117023335.1690727-1-Liam.Howlett@oracle.com> In-Reply-To: <20230117023335.1690727-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_|CH0PR10MB5356:EE_ x-ms-office365-filtering-correlation-id: 0a2c0c48-2842-4dc0-abc0-08daf83353bf x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EBrJCP69SsxX5CJ0YeZJG/Knu+w7fQzJtOtFCB4D2LBmFTYwTGnD7oG8NfJisYbz5ZlZ6EHKaBqlqpPw4Fqeze9CCUq5lJgHthSdaitF31OL4/h/LMbAndCDP7ZztBEL0V28vrntLawFgM0oLiiepsmNMVi1vGkEADiOTdTS1k4tYsOKfYwqmmjgDSEeECsmY7NiynnVzCxrpc/FTzUZkKs3LTIqk1RuVyk/jiJ0IrTkD1TOKpbLGBFFt/XtOFB/z9KMiny5Y2+TTQjl6Tcwh2MQFKtnur/IANhObQE4XPwSiVDx/mICg6KZcIRY4VlW2PTsFZ8SNRb60r+SlCVYet3JmeAbq5rGptRIbyUsiT3Wnw53f5Eke1XNRSHOhfdAgyher3+cDxvOhJxKEgKiN2wnmR/oCI27u/T+fBzNiKCFVIT8eBnxcWrw1OuMO74E5MpN8cEmPC6MnhDNCCUvE3ZGFKzLh2Q33bPWCC1hp34yclBmIAs+aZGCrLHInPTcGdo4uwhN5LmtwPfarOUOk4zpjAnTRfe7b8icOYSwI7ov3fDe0KkTREeq+IGb5Ur8CJsdgHm2pJAFfc/yuHcLLVZua3xUuGBNcYX3sc4CPFMJcvkxl+tre6qMniqxSb6l18Aab7xv7xVTBr3jFQT3EicyHfplhKKSMg9cLGJimrp6R2E8fbrLqk0k5zsLE3sD3j2khLUuNEVwmoikFfqrHQ== 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)(376002)(346002)(39860400002)(136003)(451199015)(36756003)(38070700005)(5660300002)(8676002)(44832011)(8936002)(4326008)(76116006)(66946007)(64756008)(66556008)(66476007)(66446008)(2906002)(83380400001)(38100700002)(122000001)(478600001)(54906003)(71200400001)(316002)(107886003)(110136005)(6486002)(86362001)(1076003)(41300700001)(91956017)(2616005)(6512007)(186003)(26005)(6506007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?Pmo77gmQlUQGomf5q4+Ht3I?= =?iso-8859-1?q?Ebl1nidTcK7x8+L2xBUULbV2VKWEjWjsRxDmFcGKYu93oXIfQe0BbyLV71oK?= =?iso-8859-1?q?Jwj7RD62138Y47BhO7kpZkuq2hRq2mgFhm6+BJtSLrFjZDC3fIUU1cXHrUnX?= =?iso-8859-1?q?vD3M7nH700/SBz7ygtdR5PUe0NgjLDQE5/KEVAk4qz7uGEs3kgyJ4C1NVDf0?= =?iso-8859-1?q?k/1qvGuZccVr4UE2prWMNzjgu+f+fUyDiGJ27eJpvBRTPqFrg5y+vaDptMuR?= =?iso-8859-1?q?vFZWpgHzMzRrrBW4jWIxDWX/cj1qGb8AgKDVz+4UEJEaBFVy0JqL6RDIh0pa?= =?iso-8859-1?q?ZSpVXrdWA+JJeH9hEXyZ8mKVNUa1vW+yOar6Ff18YqVrtQ+hlISbGPkD7i8j?= =?iso-8859-1?q?emIt7KXd6Xe5Ov9oLvKJugpEyymJ1/cEqu5jc7O1jzgGL76DDMDQzNlbsFPj?= =?iso-8859-1?q?FyDuIQa2D/SIFSJm1qI6zWQzVUhK0B0ebvS8Co1OgGpFy6+9VmRDuexKNiXx?= =?iso-8859-1?q?XA7QIWITKK31LnrOzACY8ZPq+68FO1e6KQtdMtlrx7ioJlAq2XYHedI/IkhA?= =?iso-8859-1?q?GBRqeXTePVLNyOh2Nti9Z5UJOc2zj81i+nSa1abFuTel5adQU84of0UtTAm4?= =?iso-8859-1?q?8oLwWyvQKnAu1EWzfbQJkJeEqZNK+kCv6T9y09XULJrZe/PE/y/g9KExclLh?= =?iso-8859-1?q?P/xBYJ7VkTkQ1k7Mh2pPuz6UipVL7wfeFGJQWvhl298IJIzPgDlR32ADyaaJ?= =?iso-8859-1?q?85Uh0x3Vhuxi+LC+iwpV0iH+xfHTM0BPoWHgPZtfhfGDZt1W9puRgIN68/yZ?= =?iso-8859-1?q?5gTZf/Eg6UkmAutVxHs0vPZ3K/MAMk+pB2p3RCggzyO20qanT4E+PXvnfkOw?= =?iso-8859-1?q?LxYctdvJ8UV2qtP7tOX0AGMzNlVw75G/rkOh+CZjEoUJ5qTevzM0GKSRu3eL?= =?iso-8859-1?q?LWoiEOYP1+6Y8DMoSJ5A0+pLJImpC39w0Kz+p6kuZxB+xUihfPHb73ZG/sV6?= =?iso-8859-1?q?UM6zuf/OBXoqx0z5DebSueBArIR0PC6pyQGtDmS86DIovlNsGJalhL04wldh?= =?iso-8859-1?q?Jt9CDY8fFnXxEclClFCZGVBuViRrda/y7IJ3M62GZt03B7j4aEixhdd2Fct1?= =?iso-8859-1?q?ksBkwm4bl+Jpwz13X6cBf+9nmp2zOrorHtZVrOyrPrAi9eF32ZdZhd3/D4Hf?= =?iso-8859-1?q?0xveQ5POvvESF/dkyf4b1nk0k+kaNL9f+nt15PC9csHNahIF6BMGKDZgbuCw?= =?iso-8859-1?q?uFXDlDe2KloEzspNWmWKbT24x0dOP7cGUkS5VU9wjZJYBnfgj9NjKvO7ccHP?= =?iso-8859-1?q?6zlh9TPXsfcaNYgcxFRIHGR27msp1egc5zu6vDvjPFh4UfjHkDOvmeEvrZLn?= =?iso-8859-1?q?CNNLQelshB5RDJmxsQKo5uSJgQDLVhSeAFEjKQpzEzDYLfgzjXV2zZ8nb5rC?= =?iso-8859-1?q?r7G/y/zs6CKJlmGPP1qOOEuCjns6c6FPm2ENS+ae86OwwTA+pno9IgWfx+uu?= =?iso-8859-1?q?Mu5D9f8kZblljxmbRmfji6Oy3nv/lo0aLmoiHWAn80tL/J5r1KYNS838ulwD?= =?iso-8859-1?q?ICgdkzPHLloWXKvaNdB8AU8uplVJL8JFZVdGZY1Q2YA7MrEmg5+48Cp1K177?= =?iso-8859-1?q?bn2pBrHfS8w/m2EZ5QCtA9IGjLLegaRA6KXle+A=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: fiBQz+JRTKoedRtZ5v/nEpH1X+bUCM+uiBi4bMn1YXxiRL46yvvDOf2Log4MVDlyipFHcmCEIq4qJUom0N/XG2r0fDfxAFlR7bdxOQ1NFIJJ3/SOtKwyXFKfN9E0TnpChAFdL3iVCxkEgtJEB85RrOPTvSt183YpbCRxiRzDTAPHgipP48ODHCMSLJL9MTpIks/h/ekmrtQQngt5RLmVojQf1ze9P0MkhcFJ98yzjLTRsNUGUG3sdvfq7xfjwCnAHuBJrW/ZVHe4rRDSmUrDBJwaMNV2pvIjs6ckXSSVqRXBq3wWtS8v6gSAQ+ikmG0uUd+HSGf654JasLcCfElhCBaHWsS5tmtNG6Jn8v1tIhszHMWuhwW/GLfHVIwvnUSFRLy+UO4j203Ap5MrJIOYVQb9445F9Si5BXMZyNSnSjDJkdGFzYS7dRTpVKoB7yHtxWe50RwyQlEfEsYZPAxyN0AH67z8VwxePyyhrOE9+awYKRN67Dvm4gZoEJTui0v0s3071sJ77e7UFdiO2QH72otHQ/T1DTjfNatt6GTaBW8aGTEPkO50mhekvpWzJ94FPnWXzMwmTawaUd4+UuPHI7XGvia3yqD6QSszZAKVMAXn0BdOML/bKxnfvUumFLju30wTA8IC7m6i5a37deKpi4NjyAIcXb6FlFLu2pWzbFUgBI0aF0LOQux4lRve5C7OJwvetywiZie+j5eB1q/pIBJ9Fd5jrWbjTBZUlfbtCY2T/fOM6kaK5IAHYdmtsjJzAhFVbCQ2pMU/1udEz1kmlhANK4wiAkGvXIbqye0EvfLy46PW0NgAbs8UCRfjsJhcPdUpLQyfAM6wc1D2FbdZgtuLpQfJTSkE9mLa5wgpVBhUG1vGAWKvc3/PiLQftg6eVo8+dBr0+f8eUQi6whXRpA== 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: 0a2c0c48-2842-4dc0-abc0-08daf83353bf X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2023 02:34:14.6250 (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: GQmoyQKrsrnMoBbB2odNQUOr37IaHb5z14UTF4R5HzNfUFcvZx4k7rBfqHb4uPUdQgH9n3z5hFtQh0G7pfqTEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5356 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.923,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-16_18,2023-01-13_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 adultscore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301170017 X-Proofpoint-ORIG-GUID: dabg_I2fGpyz46I0xwjlc9-vZPsr1YET X-Proofpoint-GUID: dabg_I2fGpyz46I0xwjlc9-vZPsr1YET X-Rspamd-Queue-Id: 0A4DE14000A X-Stat-Signature: d3kafentzgkcernwmow5minzpoqazseb X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1673922860-880742 X-HE-Meta: U2FsdGVkX1++JGRipf6CE3VL3kV4/yyQd4JPknpiPSMn3BaVXP+ihqji46HQBRF6v2Y5tkUSmn5oMT536rw8IWSe5yPQsO7ShIr/O4P4kjTJmO6WKZx56WCpMnZddOA5NurdSMRxtwzkEQKJRGlOsZwiCaKG1ogtmyXPw+5Q9lMutDKpxd7xsj0B7XHux9XSwAb8ukWjbYDjEV6STZUjYHFW3fpYt7bGlGKh5tZfgAhEWBZwWnySeCV7H50/SJGClBn7m35PdSzESd/VrRyRED2WhiYxTtnipfv7ZYWX0nh/wHGaBOdNlRqKEaxaLEwufx3+bnuw5113X0hGXa3cEo8ZgJiUWRPzvYNCbNdmC2EN7D+sTNEtZ1b86XxmhYRwyyCLG4JVNQy425V/CQ9+KVF2sa5oItYlSzWj1VAakubeYSNFgMmD2kRrV7dX4g1Ak0OxFfKlPY8HRUQ1IQN/4y8fz6/bPvjJNzubKo1aHpL2PRZcddLjuCSHfz04qWJ/eVQfHXVTKPyfIpkj7y/pnXJuUReGMHFYDRIjqge3s8V/BoIRSeAZk3cnfJwFUqblz2mHT10KjQormHL7H1tnvq775qybQpLwe6VEm/fN/xvRRw9QfU1iwLNhu5554WOdhaKaWfMSeCNuMUeobTyzVjeY75tuh/SakzxILzIdJk32Je9REa7e2EF3KWWUQYahC+CYGaTjBfpv3LXG7FPCPu70wWb3moBpwX1DMwPheCh/i44+75OEZE1YnVbkcLqqfPJQFBhGEPSsVeFyaM7GXegva7b975JAUtYIAg8LJqORGCvi9biQzL0KJGe3orWr7d4PlpW2DJ1yhgDuZyc5FgwGHqYNA12cQHLI3oi9Y/ah2gQzL9o+U8SercoAPx1UafKTA14i8O5Y7tU7poKTqYBvwrD+5dt3Kf9IUVLWlUT9DFQE6xSqvsH0Q8FezWyWP7ys+IFO7XglWzjMmJy lvtOSiP9 mmFmCKL15Ko6P/H2U3bJ2/Rmy3lw4kSeIXmIkNn2OXtG7hIZwS/ZEUEgUdQ2ztFJ/U4TjhxumI3djVKqoxIL9WUVxYCd7lKdBM3uMV5vxTouHdRwXjuG37Cxe1aj3qOfp82jCAqfDHdWZCfb2FgeZxD5F6Q== 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, 54 insertions(+), 1 deletion(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 126f94b6f434..14e3698fcbe7 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2834,11 +2834,20 @@ 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); + 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 02083b2cacfa..1fd6962f440a 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1091,6 +1091,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. @@ -2272,6 +2291,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 @@ -2286,6 +2317,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) {