From patchwork Tue Nov 29 16:44:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27339 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449160wrr; Tue, 29 Nov 2022 08:45:47 -0800 (PST) X-Google-Smtp-Source: AA0mqf7O6x4bIlxRK73xtlPyEAcxYza/zPK7/y8KqYS+Pu5BdFjbEb/Ej4Xe7BNruvt33oX6of3L X-Received: by 2002:a17:906:bce9:b0:7ad:960d:3a4d with SMTP id op9-20020a170906bce900b007ad960d3a4dmr30957866ejb.522.1669740347543; Tue, 29 Nov 2022 08:45:47 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740347; cv=pass; d=google.com; s=arc-20160816; b=wtJ1y2o+UeyEy5rSKAYQjx+f80B1E+mnRlFvK0EeX+G3q65t84DkBbmzWHV566hrlP fEJ6SM+MdRxJ2Ad9kMV/1FAfhltMUDnvntO9ziZww7CMnqEO4BYroYed9tnrnasZy8W/ kWOMc5Qw89jvhYSBTtVGsI7XICG/53//I6Ve0zamOOW5T++/UmbKchnmLPqpgEFsfUKY 4U6Z2FOq5zU3nBH12o9ZQWspOuNUzL9JRIy6YgwzVEQwuRZYMUVL+czyR1Ye+CgGK/Pd rm3L9CfXpcIR6ATvQn6/XYvDPYu4PTRoVC0Law1XCKhuBo96Z8BqHCwZKaidBCesANHL 5flg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=m6Tx7nAJZ+GxOyzn9iiDwdI6oGCO77RYAvxfmdcFqVE=; b=Hg9DXOhWXM0oMqLAsJEEbA28Tv6jR1pVCA2U+ElUO5yN26+9vMULZU3PbjegIvcZrN UHqqD1oViCIUYX36SbZgA1dstZhQ8C6YRdZorJt1jJDTo2QhkTt768xsan2J/27ZO2cW RV9R7khHhtcvvtejLpjZ9mEkLIvbRiAb1tp4gThFI904f92igr9Dj2Njy2Pq2ulmhxBe iMo2Bo0fwziF4eYDLU/k+0CkbHogvfd84Y6DIj5t5Y6o1GcSpGJGJlF8vYyj7Fj1hluo TlMQNidxOPVtEJW3V6gsbPbK/0rjilH7MqUsQL4KQoraVfYdNbc4L+sjjfGpYRrxmFHm u6lw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=aHOdDKav; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sZYACo7u; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q17-20020a056402519100b0046790cd90acsi13032169edd.95.2022.11.29.08.45.23; Tue, 29 Nov 2022 08:45:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=aHOdDKav; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sZYACo7u; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235992AbiK2Qof (ORCPT + 99 others); Tue, 29 Nov 2022 11:44:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232988AbiK2Qob (ORCPT ); Tue, 29 Nov 2022 11:44:31 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B25074218E for ; Tue, 29 Nov 2022 08:44:30 -0800 (PST) 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 2ATGP2cK031397; Tue, 29 Nov 2022 16:44:24 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=aHOdDKavLloGafgH93hTJTglrGPWzuruOY+ChiztX/GHyKgJr94YDF3D3ZGKsZWBOv/d r091ChYYyrI0mGwOFol35+2WGt69z2dc3LFSBrOSBo+Ui2TwZbgVXDKkbZD2VCwIuGq9 ShGrj7y9a6R3Olh+tVqYrVhmet1xeKXWbQEYGnFH+N7GpVP3cFZKtl/d+drxNb07sfDw WnbM12uFuARg/EvrR45qKdQdaYrhvInawwiEowWOhkj1Bx3txGCpM3Q2d7z/vHVk0AD1 o8gkoA8wMoVZa6PeNLMdOeii+woRg42JsMhcLPBkQyuhvqz6kgDq1YWIU8N7zSb5RHAp ew== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xar0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:23 +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 2ATG7rBT030968; Tue, 29 Nov 2022 16:44:23 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398771pv-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D7oyOZ38OnMNuHPSushC5gKhoAbmurjMIEq+LmOKlhwPT55KlsONZxiQLz8LcVetx8/PyOEINjpraQrsZ9EsJmwRqb2moYlFOSJPWabynJmpz5ApvF0na8KmSlCZs2ZoPilTar0z7NQXfqkXWANfWLneQ4Z7tIV3z9WQgOU8WGno6g0U9JL/DmVxrU9jPTPFt6s0gHO5QX3PfaVJiFtFyg8is0R1Dx/Rld0hbqkwg0A6/F/wS+zWRm0GmpyGzoeBcPnsoQo3t1luuG16oV0AJ/PeWLXrRGLQ0MVN/SODIEZh2cZzLcsiu77ncqRSuq5fNa+g/UdlCkv+dGUGuhXJkg== 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=Enh93bhXoXalVoC9OqhBzy/9cDCSD4ha+wPREPqYb9UZIm2Q5OsxtopiP+f0HXF7PmneYivmLx6CgjsUsbDuFWxnLLvF4Ax88BkghOYxic9UDqQ7xkZGFNtLL9eZXCD81uSPeQV5Bn7ScfU9hfVOVllLZ9jN63+u8PElKaCdxn0L8YWcp29r39KLmBsxQPZvu4xTmpsVsjhgB+IaCvmITAdonBJtlK1g5Zqmx2fl5yWjqUwV2wxFzuMCogXB2eWgt99nUO1Bk3P4vOJZcCErAeYn3taQNXhK/I0IcmDectnhsVucXFkTxaSNs6ISj1qOIIxzHCZddAq8GBbZOP8TRg== 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=sZYACo7uue0zYh/NDoB5aPEejPCxNO4kBtwiPw1hmgzOrHZdsqVGex+3dgVBJQLY66M9UJGHTsIXcn4DHLs4VX3o1DECPkjW06L+4k0MuuQVvH703gDRFYWRxDmim2R0Ko4bScL3zkP/n6T1HTxDXxxUre0aggEvpWceSIb0cPA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:20 +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.5857.022; Tue, 29 Nov 2022 16:44:20 +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 01/43] maple_tree: Add mas_init() function Thread-Topic: [PATCH 01/43] maple_tree: Add mas_init() function Thread-Index: AQHZBBHUSiYwaMytbEaQHrYR/QRpdQ== Date: Tue, 29 Nov 2022 16:44:20 +0000 Message-ID: <20221129164352.3374638-2-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: b0d8fc19-8809-40c1-9ac6-08dad228f69b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wihFiZt84xLBQvlx5+8rqmjnnrtaijvMVc4aBp1M0+sPhiukcMyZ6jRyRq2y6A2yODCDSjxqLJ2xrsPewGnBAd2GBWcOqIWOcTnYfNf2IdRGCMfAw2nAZI+z41YOxPH0DcYNym4oTmpCFepdUCpFgr2ChQLteBbCvD/M1qTn869kSPqIrG81WHPol2RwTHmKgyGV2nc6/JRu/dxV7YVgf4drq3qSxh3MMIhrFIh+MQlVqj2OB7krm/CxipeCkAhZGxpiV0lRPmu79uaOsPb7wFszfddH0ezUDgA2Jg+78qxxOAaZjUMY49Fh0Sz7zEPpvXWDgnkiBbF+8RnnwfTPmaMDYbSG0ww3dRysAdHUHRWv24Y2Dtl30LnWOlPbuK7GhL9//Tu4o6KNcO5hvizFhL1GvqyIFoieTN9Uri7kEU0S8+S3gfQ+r6mk20PJe0ggQqMUZr6pYo6IGsfesxZOi7dbIU2oSPUOZPWI7/7JDiftnydLkhlB7S0Lw83fGWuYyJ9erQH+UdkvNjiQJw8BtlvmBArer8b7s2XK8BRObcclKqbPrjCXxS4js4ezWKTI8VlLqQijvPc0xDNNntNiqO/rs2qmNXJQ0xuZ9FOk81unn2lD6fzyTxvY3CGB3YpLesSSb8JlESBuGkgjV1GBtmYF76tw7qTBfYQ3iMS2EXV0jRbOR5BT0pI77DQn8BKfmzg7oGr+0qYNOLxkH0JkPA== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?KVjnEAIweWMz3mOQxk3kaZE?= =?iso-8859-1?q?aUvxxfKhaV6E6PV0l8DEswUoYV9Wop53lpjCpOw0QKYu5gGFMdOc4RzHFfFz?= =?iso-8859-1?q?b8EWg9faE17+FXmmhA0T/crvqlp7BUo+CGCUb44fEjGuLSfzRACmWAZN23t8?= =?iso-8859-1?q?FcwUSNsIxBNqJASpCat3ZocT09DGG9nHMqxNHv4YS60aYwYXDSObyzeXRPFG?= =?iso-8859-1?q?NGrf4z/c68q+Dk5mkHFzte/fe/7JbNo09Ehr/nf9W7oF0IYMTla2smeMFR1M?= =?iso-8859-1?q?V7EAgcel6JIw/X2WcUdnwJwa6cFPiWFAPmIh+m+jSVpWtwfnQ1lreZPp7nay?= =?iso-8859-1?q?B1miW+ruNl1jOJCJ5BzBAE6CGHrn3Gm2Y/l/HHGkr8b27Irh/IfhKSOfaev7?= =?iso-8859-1?q?/4vOTwtFCM8G/5F+OPiDkqcP2ooMJhIIBTDdsAhO00oVpiKmWAycLXSKWin1?= =?iso-8859-1?q?ldIAOrnjfXaR6EGwIQ4UcNmts2sM6Szsu1v2WTOgvzNqy6onsHoAWWszJQfa?= =?iso-8859-1?q?9xGYtSD/v+zgdi1+5SFZ8KOzAS4putGr2FdrWbNfZlgUN70mEulzjGELMnkg?= =?iso-8859-1?q?ertUUwsWXYV89T5LxIjRdP6bXfw261eObuIeNd6fuGSmx5RW8UplHEorB5+V?= =?iso-8859-1?q?LFuVuvcN0UpTuu5lpLq4KWr/sFSdCBOtA5qKDwZxOk7UnczQCByoAaOZfF4X?= =?iso-8859-1?q?3uJzTudwMpGbQu+hbj3tTefNq8D1ecQomLbXLl0FJqN04q68s4yRmy+/Uate?= =?iso-8859-1?q?+3EXhIZYhOAy+BCuGqr1qnqNgYdjSY7n3C825kC1kGznvYJ3zFd8fEHbBpPM?= =?iso-8859-1?q?F/ZrtLc3PxwxOukFFWyetuBupH5sxquln0g6efuvm6J6jieuryjKTHAWs1dl?= =?iso-8859-1?q?P0SNpLKnEflXPpqXOqq2GBb/RqdjBTlEMg09cZ4RESLQPzRizG/qY5MeG/N0?= =?iso-8859-1?q?Lhmabf6+bRasAI1MufyaQsb23bfs0Lioy7UVqyPqq2cScViy4RAZnIVGiFB5?= =?iso-8859-1?q?Af8Fjr8sUGFLWCRv7T7MmDTxOb9ZK1CUflSwdevhNYTMT3gCoz1hHl3GZEEA?= =?iso-8859-1?q?gWqUcRD15MO0SWLFMdFpnR64Pqtq24BbPX7q/drLI9GqWXhm55BrtvsyXH/x?= =?iso-8859-1?q?CgHxyGxFt2oLptIwOhgKCoesi9nxxWCBEubN5muConKJ8540TWmWc4u1APuD?= =?iso-8859-1?q?FwBSsq+THN4+AuUlswO3d9/izYaA3piC5DRvr0RR/NBCXFnp+AtXJs6sy+Ls?= =?iso-8859-1?q?eVWekmNtV4BSclNIB19dQFdAhcKpD9/JWb1KmGCqxOoLRddldqBeG4E4ouOL?= =?iso-8859-1?q?qMPUF9LsmYAb8lVPxzzPaHvy5pAcUaxixZYjGKEwVXosDt0QQ+JfjQLMse5e?= =?iso-8859-1?q?oGJRSsUk9cQ2mZR7rLEWYkG0SHDYMws/KNTvqtt2RzrgiRCtP5eMgPKZoSYP?= =?iso-8859-1?q?0dcuybDWCLlEoPhrDKZCu3mVeGmXY3V0SWP90a0T/a2S/L/qmKeU6L620QZf?= =?iso-8859-1?q?hF6L5YKwFz4pu08yO1+R9VcO5MkFm6lOzwBXyOrZiD+13ZGxCyUuCylHgP3p?= =?iso-8859-1?q?LwoW6uHMlXxRKHaG1YVOLb46EAHvwRpGijyKgf6lFUqC1NAXIm2In6n5/i/Y?= =?iso-8859-1?q?GJZc3VzUN5rq4EYAnRB0FUvHhN7WQq0vFF5GPoQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: NWR1F4xpIIsoaPQ/556naATNDhLi/yRIkwvO1NnUfhDX4GJii2wymsnd5LLXIZFaukR0YzOTiHZwgSG/SiU52NIO7Gz0DUMljZWGb50iGsS5Fa2xTv1aaVNXIo6PwCEdlCzBsAcn4PfXgaoPkMmLsuM2PCtlhW5xpyYMi0lf5gBZGv6zYkUinqY/vAItW8hkTtHN0D4l+iiCOnWpEWzrNMen8RSRG1NEhxFPtCDD5VbgthSSjVKQmuQq1eXpi5ql5SH/4+bB8T8VeN70/kQBpMDlU8JOjhUtv8xRqgfsivh9aKPfx+3CJhy2gvkexyMKvriuIAPggMXp8NkzsaftEI1RASmpCqJfR2ef1mn3Drv+MBnrF8cWuBI/TYHZI1fhCHcOgByuRNlelp0CRdsrnT30dUqwzseScDkHJFFrmkPWXQD81GbcCTDOw3MRTdtvRSi1CnOr/SxgHgGztjcofO2dyphSXSPEAdLHCx2yT0jlRWrlPDWXmEUa06lGlMzzUCgZ9xaOa8D29Bt7DGb7EYCBHhnYF5ngltTDS1iQhhzhqPdBs/uZzcoLfeHVLLPAYZN/NIT9t2rZp4tYpfc/Tc98VEx/ztBcBERtGReckQ1t5goe7LycV7bxZUgijl7QudYYUc3a4Mg4P4GSnkAgUSG5KWf1Er9TCt+ETqTvpnsdFmhWNlrdxAe6+GpStmaC2ASVjwvv3kNiekrTDqZrYL6ci3ZKKn1SHN7P9qkvYx78jkzZlMRhreA7tCb8wnoDbx5GaZSLo9zjRXUrqI5VKbnxdQtpcl0eNZE/HQjUmDo305/W+9tluADUq3LrgLoM9HYgexcIlE+Jp1nLxYj3d0h0TBdyF3YyFfdhwv8/KJE8huNGV1UB1xtk1pn9qkUJhEBHebWaM9x+5tUNpBaasA== 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: b0d8fc19-8809-40c1-9ac6-08dad228f69b X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:20.2389 (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: tZaESyCX9SSLTV6S0wJrOCIXH2XPs1yRjolAGjUFd1oeKx6ZImm9+CcE8eNN6XmVTV4VS2u145FvCr8mlE6y3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=967 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: Qw2IpEuFuFyv9RwtcbiIRYTQxwjR8QlB X-Proofpoint-ORIG-GUID: Qw2IpEuFuFyv9RwtcbiIRYTQxwjR8QlB X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849654728330205?= X-GMAIL-MSGID: =?utf-8?q?1750849654728330205?= 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 Tue Nov 29 16:44:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27356 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450200wrr; Tue, 29 Nov 2022 08:47:56 -0800 (PST) X-Google-Smtp-Source: AA0mqf4wt0BXJ6XXB9EIR3VnjsGJTg106IiQ8H/2Ioa2hYkSlAOHW22rCYP30fFFWQtBg8770RcX X-Received: by 2002:a17:902:8548:b0:186:8398:350 with SMTP id d8-20020a170902854800b0018683980350mr37486434plo.6.1669740476573; Tue, 29 Nov 2022 08:47:56 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740476; cv=pass; d=google.com; s=arc-20160816; b=VnEKVEdoCrAEYEDgm7R4JRdg4Cthe6UPx4rwX2BMqTvNjytk0RzpQNs5+ccB1jjQES BnmuLqGBzHfSQTw1pmiSWt50ICoxwBFMHRb7zPQRtcpANYFRbdX96LyjVXh22DEBVltt nzMTEiO9gaxv/l+WR4+aYQwAviKNKxU+j4DmV1ZtLadiYgk7XzawBP/dT8qOAkB7S72/ /+fNdp6Fsy5QNxfvu5GWsyMcBNRyqUDJxms4vJbK9gNXHFy2Dheobnl6ljKH3nwBvIA9 zLzFwsfOS2xzqmvEKOeSLh3GPyVjgbonCfzzSj4uEEwR8rWj4Wo/U3sC2ysUiThwdReK A6Xw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=5drOmKiaYPt7BOKOWcqRepYh9tBqorodN++B+8Q9gj8=; b=x0bqbcPAkf7tZz8kTcHw+371MLi5TVlLff8s0+Kr50eL3nx9TnCZNyGUvJJXj53jCr lhz6GG7xzUBXKBb8J7jnLTNp78ghl/A+MPil7ZzxjEBLo0knzvoPD6IHdEzh46beC8Ps PAfbwmQwiZmdIFshA7zl8xyQJA5P90BLjXnFBqzlEjFNZZ+3WR+kMYkCqjIIdUmsObVt 1Vm+wkV46ACxdN9HYwDi6el6MZrfIgIctpeb7VaJVkoyO2bUCdGN9RSBvSEglPzB+UXL X2UN9iBtv6qUOr3wStYbPLmnVtJSRXwzjVWw7IbhW1oHXCg3GLJhlD2OjZeeDUfXFeTY hX1Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b="n/cJO0mB"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=w3nfOiAL; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t20-20020a63dd14000000b0047466dc1defsi15515521pgg.293.2022.11.29.08.47.41; Tue, 29 Nov 2022 08:47:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b="n/cJO0mB"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=w3nfOiAL; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236108AbiK2QpJ (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236014AbiK2Qog (ORCPT ); Tue, 29 Nov 2022 11:44:36 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F3FE354B36 for ; Tue, 29 Nov 2022 08:44:35 -0800 (PST) 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 2ATGP27c031378; Tue, 29 Nov 2022 16:44:26 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=5drOmKiaYPt7BOKOWcqRepYh9tBqorodN++B+8Q9gj8=; b=n/cJO0mBHvDna9ubXqyld95BajAkzcX716HYBFtMfXBsPnDM3IVgU+P/opmRbyBVWU3L KNXK9VB6NjHytesS7PZ3zt1S3W2orecXaY/oOTDR6QPWn1PGJsGApTCquKCfn0LL7RHg kZc9qslDP4wptzpmPLeFo1RFK5yomsUmoW742rH0IP60aDYRsuEshZJlKi+HBcE5WaEI uyNnlAWersS8bshV27n2Z3RmE79YBFNfJ+Qb7LXrV6J4RGQKcMo5vWuZiRW/ZbvxBc1G /6QsvNHHZjJ5Egw8nBeds7t/jlJTW9FtDalAvb+HGLraBBxm5oxu/nhWbR277eDYu/7f Jw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xar6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:25 +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 2ATG7rBU030968; Tue, 29 Nov 2022 16:44:23 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398771pv-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RZeMDOP9OEOKEUXxPGwnQ6xRftquvcxneqgxzwUc6noYffCNKspm/c4EDND1UJWcBmgyUg3WvNmWyLk4Huwi7+P6zoh0kq6GNkq2gKzp1qF5+7oXQ83yynn6zCycVRAtbj7GybUD64LYoo6FJ8/6Ak7dpxwQUT9DEAV/WTjwXQBfWkH3nra9P/NsIu5zsXQK9fnM+75oLjNNsqh4DiBOuYc5vMI83R+gewYHaDDAx2MsplLhdesmak3pog2bBKEDVqpfT5DK560UbbIzDH86kh5E5bO9mgIha2P6PP6px0Vo24ZNLm5naNBwObI083F4GUVSEl2EpEdzgY4ptS9cSA== 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=5drOmKiaYPt7BOKOWcqRepYh9tBqorodN++B+8Q9gj8=; b=Xl7bkoNaTcRg/mkA7mSe0VBq1duVMeFGWYC5pCia8tdxgAErimmednc6Wfyzl1XuL7P+yBJncxDrjxN4Z04JyIoIwzQzpeddx90fkD6H5jalJYDMx88GoPrjRaTRJVK9lZcM8IJcMkQ2Hua/LreBULeB5pn0BDm6ISHHzQ2sbhGaY75n01YokqiCKPWS99rGKa/kK5AUhdc5E5eILiQsJ9knV3fEQxfA59OBc27o7goSiG+c7EsrJwIviTsG+zdBD0qq/a0/gKfthhvZNA1nDTCpmclTbXwP49yFxzNdX9LXTnr55SfKxo7aL0UjB7EIEa7rk8Uaff2Qz1AW/g79hw== 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=5drOmKiaYPt7BOKOWcqRepYh9tBqorodN++B+8Q9gj8=; b=w3nfOiALubOj8MKMgU5cv5Hqp8zTwbCnFSyfbt7eifaeQHpj4z46okdS9za6cweglV0pEyBJkBFuGzT2AUtkRSqrYAKhrbjS3/CKqGkZGt3xFFurjiwuvPc2o1ef8w6+xvQZVOMKS+0cXEd30dI06IsDlmJL+AC1TqdRpuQjBVA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:20 +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.5857.022; Tue, 29 Nov 2022 16:44:20 +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 02/43] maple_tree: Fix potential rcu issue Thread-Topic: [PATCH 02/43] maple_tree: Fix potential rcu issue Thread-Index: AQHZBBHUuoW3C1aCOE+ijZTnJhi4Tw== Date: Tue, 29 Nov 2022 16:44:20 +0000 Message-ID: <20221129164352.3374638-3-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: 67a1eba2-9be8-4187-349b-08dad228f6d7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0zny7NNAfveeEjVu495V8JhFKOY6pqss9l5vBV9UDV6reeF+Zwd1hxdHJQrUwABLnbXeShDphXASxXfovm8CgH4rPt6nRYfnsLiguRedUl80FVUmILqNsy5vz0PHQppepjml1DNB/ytFdIidjtAC7pm9jBRIGyTqIHa+fVBfEWP55dzNWB/DzxcNBk0/rk6hnnACub6rvEL4nbh+u+wSXmM/YyQnR2F2PQc9/pn4b5ZXuQo0Lktb4U2jwRFdBxqikJJZfYD0LPMCs+jUkASB22hSx+ImRljRNtPA52fiRwnxkuDXer7Yt5KpTyG/F6n6lg2ihgRGMMk0PDo3KJuDoEgoS6VL9/gEtGFUmfMH5Bkjl1fiYf9pPWQEkWdMYUcwwOT+T8lLry6DK//CX+ZLA2jK9BnN0JbXNwtakQjAwWSbV9Bb0gxTsFCcyamkdIWovwaQlj96YRYJDIwatjNWXZntuEnr4iggT5gj0ta/U7g6DU9VkzxrvYCaoYVsowimTPgPAGV+odaWAmmpYX9jFmGXy53gWkpMeef4rNubIJLcv25S8o7QQqzZPaW1kqtkpaj3KNwFIOyaez38+nvRFDWeUoQFvlozittr1Upx58so4eL7ppb6yqGTO0GUWTBJkmtKy/AOvSUXfkh9gpeCLvfKq3TCkKC6zUyYvlCzIcONcVTQOB06Ikq/gb7netz1WIrVE4fq3130TOxenJUYeg== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(4744005)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?KS/VtXNdSd9dtYQL9ZbXr64?= =?iso-8859-1?q?WC7KeRy2yyA0Kas2w+UhdpSi9+9BxdnZlnogYqhuRL6+7LEh76ZKyQuYqciB?= =?iso-8859-1?q?uyK/ffUH4fKSWs1/aCkBfdSDc0DnF7DZ6brY5PA9BCPDD7hc9jDANl5LH8s1?= =?iso-8859-1?q?awiemNw3HTY8gPtNeOV3uPtbH0cDqLbvlUqZobMLY3q5thBZ5/gQ+oGfn9J7?= =?iso-8859-1?q?RFUlF99jv6Wlci5NaKwgLZIdLn9icPCuXJkoW6ERHUWcVaVU7eEfF6KKA8va?= =?iso-8859-1?q?cCf6Qy9Y/w6mQX2xdnVu40SNqe3n8g9jz/n23mn7xO4c4NmsYSxBj0bovaUq?= =?iso-8859-1?q?XdrBAF7od4OU39cmhubQpMmdJGP0gbXLHVlXWHzKaeT7wmEzoWfJL0hjcMES?= =?iso-8859-1?q?4Q3E4CQ4LQEYfg8gj95GiTrVx7Wj++6CErixYVUDiOvel5gSYKFg5jZuY4du?= =?iso-8859-1?q?3cFUDlCnNBQefYZPB+XPwDw2LqtVrS9mCucgFOPzTB5Uy9nvUHyi5/6nzYy5?= =?iso-8859-1?q?SNSPD93es/jXrjAI5lVhyR329n9yyvkodo6Rhk9L16HRBvAF/qSdUKzTzFAR?= =?iso-8859-1?q?ejTej/K0a+Dd13W0MXRgdUim6xEtIsD23ivGHWgtV4hmptAlQmIdxRhl9578?= =?iso-8859-1?q?csm2guf0ZOozRmgTPny1qK3RGo2+FEDgCCtQfWAcSdi4PHU4oWk6gLYLki7X?= =?iso-8859-1?q?p/1kOozsTPxy9LIA8PxWZAj7p9HvDa5+dF5McuAN8YVyJLgbDkQkUni1olAO?= =?iso-8859-1?q?dkzOpLh7IpMJSvhgr1SjCoaSFiLGR1jczmQb9FOhcWRXCIaflTgM+8423nUB?= =?iso-8859-1?q?EIkEpYm7IkoWDurZa3bDvcdEPFzrfIppBDwBL70o51WpjuUFyJWUmpDaNvKw?= =?iso-8859-1?q?gOrP+uU75hXSrFq0J65z/AYOKVZSsnZYol6NjXN0nVqcIzm69hFPd1YMZgHM?= =?iso-8859-1?q?UrLTLXxxepNym8I0YujMoHiSg6wNJH5lEJuRIUPh1NsrTcw00lXBXuvPS4Ud?= =?iso-8859-1?q?MU5wzFuEc0qXqeMpoLk3HkoQEckZ4nOdFVvN9ETZsUb0sHX29zZedvMzic2p?= =?iso-8859-1?q?t11u5oMpxiEdYcJ/oRxVufJclQdLYWp4qNTL42dv3ZpLSAcWa4a47NzqQQOT?= =?iso-8859-1?q?YkL1v14S/ByUprfPnS6p82DU7pzuJZTs8QYhLlz8otRa1R9C7zuR4B7fGslA?= =?iso-8859-1?q?8xnh9IrF0+hbl5fjltqoPjgNeedO+FmCHIFHqqLlt/IHoDSFHo+MEGCSLndp?= =?iso-8859-1?q?ZZCWpNpLIKz/b5emcDyeylzjfj9dAK2mUYAe4fRJHTjbcZFhpB7IhLKdaurE?= =?iso-8859-1?q?vdVK2Us1sPVbAdM7jhr1SWx/jbQV4pCQJCS3aOldApxMszgJDT5ouPLvVnAL?= =?iso-8859-1?q?74kAlub91VzxFo/0j/lDfmYKdxOGraF4gKvuCdiWiKu4ONzkazdgHhLFpfKd?= =?iso-8859-1?q?d3yOs7TG/aPdGwXVdrhLOs8cdWWZYkgrhCrf5Ly+KCHhPM1RU6WwLMTvncqx?= =?iso-8859-1?q?ZoIt3sfoUeCOPa//qv39ekjc8wiS7GGjcqCJFc753/t7UCAnWpaJvMdq0F7J?= =?iso-8859-1?q?/TL0fj3j7nFcxTL4XbVCYv4IB8EMUO+knfG5e5+MeCMn1gYe/g2MGDtASLJF?= =?iso-8859-1?q?XtEbQbb+SBF7JL1OPofwiLp/MsrG6C8k8MlQGxw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: YYnwPO1GIOIq0wyc9QOzjkbEDVAPYS6uu20Wr3S2ct3IVa3yztUJmRwKQKBGWLu0zbIn5GMWqov1rNIWkfeTRz6jYVIzP20wAq/Oc0xPEQ6XyD26EwEFZYTL9gkJaFTW60p5gkQyEp+UaA5DhbaJiUqI2ezZMtv+srlVYmMosBzhlhxmnxPjB8GHaYZPuqzYmnix64rp+6+NrU0wxEvQ1nAb7l0/UQwoMt0oNzVFk0i9XuPRLmmjjczki5A4esDfJ8Sp+3yHwYvG4DDmaXt8SD3tgFAQQ48KXkZyKYG14RyZyFSumXkBvo0kuwnNeuYNr2I/xVRjNEroGJvhduLuOo+ehPCyQWlweF83CNAzz3wGbUSBgvxevskFeemGisyos+WYC+7wkbNoxqKtnm1U5iTny76Nwk2A5ZVjMzB3n7PGc5AiN2UrGcG9+idAP1vZAOtVYS7UM0krlUZJmY7XLgFrQTzY8MqH9aWPtznmIYCJrLR5JdtmY5MIRe+PXiccvR7uqwTstqacEEI4RWb7eKhyAdSuz2CFoTY14CyYWMONsz23jZfIWM99ShQP61PkYt15OQHevvqtZefE+rGoccDeP4gO8vrgW/W+7p2xz4A3COIgW/fa8LkvrK4xiqd/FWT6YpbuQPLwKg3cd5ReSy6F5i7LDicStRjrPUIqZc9woWsySvtWFOSuSDE0+/M4xTAOuGBIK6ODumikKAI2eCnl6beYHumG70/e+cM7GiMVnK847SFSKB67x5So6O8BEJtdMglzCgpQMfzjKKNp+fYLwKQbuiCxu4svYrCS2f8ZmmSE7dWM4UhPE4AFhZDqXkllUThWkfdRl38DetxnwGaocmc6XmACJowt2l0VNJ6CIk7smicoUQ1VgGXmcrq5ea7xrHK7Di1NFhsMjUJijw== 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: 67a1eba2-9be8-4187-349b-08dad228f6d7 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:20.5514 (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: TL3+mvFXqT3idKfXD8OcsNkMa0Ai+1z9HqJG3paoSgdxOuZ7R9BgDyXmfuHGEztFPuJja+tMd0DVO7HDuYXT4Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: XC9tTgpvHIhWAlw2Xb_T_A9oFmnQ0J7N X-Proofpoint-ORIG-GUID: XC9tTgpvHIhWAlw2Xb_T_A9oFmnQ0J7N X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849789946110849?= X-GMAIL-MSGID: =?utf-8?q?1750849789946110849?= 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 df352f6ccc24..ff28bd6d4745 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4654,13 +4654,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 Tue Nov 29 16:44:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27346 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449525wrr; Tue, 29 Nov 2022 08:46:30 -0800 (PST) X-Google-Smtp-Source: AA0mqf7GmOLBgTxLn/XopaD/50pHHsiiE2QkmBV5B8iVzMrTa2HxzoS3mHNcceIle0hiaJqBPm3f X-Received: by 2002:aa7:cd99:0:b0:462:719:3372 with SMTP id x25-20020aa7cd99000000b0046207193372mr52889047edv.361.1669740390221; Tue, 29 Nov 2022 08:46:30 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740390; cv=pass; d=google.com; s=arc-20160816; b=Hm/EvRY5nZC+YBCaU6FDEW8v2tQ/z92CRyZQ8H6hIvVCrOIdaAJp/tYCbSE61OKrly N9y1JY0CeaQLD71QvgbPyjUWaBhvhvYdZwtMHevBAq1jRJZyWbZFx14B8OrwhP2s9jdn ctUjKCiKKyZwRKOfYuQVsmuYXGgP6BHvwuQiOIbbZBfcZK5OodNwXVxlaCvH9wMeKSxq yJXJi9C5CAiJFlJutXANkCZ0PFFSdvRDmtXNlVQEKEMCjR9qwlzTpCx17QALgQ3EsoGU 9h6R6c63y08hw6jnL6TGKuZF19Ojv+y9CvUOllrCmPWH6c30G5CATOfEe52TO4SQv26/ Lydg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=ZosB8rEVTgf5GQn/ef/szpP3vGboiqP7Fx3j/tGEBYE=; b=A1296uVyoD9hMZiqr8M1ckoveDjCiGOTN3HR0/S40Cp9xcOTGBmuL3J+xyym3apU9R N3AWtdQEeMe6Y4lKxjZVifQ2OGLpRBeRZBE3oDzm4MmXBMDyZwQ86j0cdmhLQE5eNIph sc95bldIfMOr85L1lstxvDZFqekh05cJI+9PH6K1Xy0ostx7k7dfXIEd+TQlivpbASn5 lAeduf1U8CwlIL4Ws8vwwVT3VKrXvSNO3mZCaBHa+JWpGzMcrqoif09IzSh40uRtjDTU hyAEshf6I25GWDy/oX+j+VJf+EW8T1hdTnjwTqugOGort1vndb0tYBNknkUEaUumlI5M +cug== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=OYe+22U4; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=NiRD0gEx; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cs9-20020a170906dc8900b0078db3762061si12932606ejc.439.2022.11.29.08.46.06; Tue, 29 Nov 2022 08:46:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=OYe+22U4; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=NiRD0gEx; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235779AbiK2QpS (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41346 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236015AbiK2Qog (ORCPT ); Tue, 29 Nov 2022 11:44:36 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E4EE421B9 for ; Tue, 29 Nov 2022 08:44:36 -0800 (PST) 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 2ATGP2cO031397; Tue, 29 Nov 2022 16:44:26 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=ZosB8rEVTgf5GQn/ef/szpP3vGboiqP7Fx3j/tGEBYE=; b=OYe+22U4hntdSh+mikxH5IaILWJ05agrVmwO1TU40btdipNDqkQnnpW1aZD68930y2wr vxNuJy4aF8+y+zKBazMRBE6eAl5NtCD+hS6ESH+c94UdssVIH5M/Z5IsUovRmgCJrh4q Y1C3eRmdl2nAbjrOWMQi/MfL8K09l+jUZybFnMGksM6GLsWJOQfUBmnkFgXMISc9Hhdz cSnJ6FGIQfARlG0bIG2SWspvixhGQkkflragOWCv7sB8ne/PRBscoDK/4PC1dzAF2im9 94elTl1T6Tv46QC5Gwws/kiObO7nADSHCTA8RWNYt9Uxxiv5EoYgZSLxL649WQ+SyrQq Ow== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xarb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:25 +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 2ATG7rBV030968; Tue, 29 Nov 2022 16:44:23 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398771pv-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c7seCoa/YRJysx32Ew0uYf2ugwPOJn80iMlTYw6fGkrUlFE5rK3pURFzHBTMiyyHERP/o9o112J2RymyBtIZXQHT2vhe9Bli/ZbGhc7v+aQAfHK2ZWZo66oJytcq6vrYdy0mzE3+5MFNY+dvm2l06hZp2c6tMNX0C5s0s5vg55Ic1LxxxDpLseVsV1DW11LskW2tCHoTFJlCAPNYKG7phVdfoIlXVT2daZIX5UiDkWfec3R0FmESdvo+0Sa9UPLDd1HmAF16TUM8A5GqE33tThqDaM/Uky4Egkhi6dmYlBvEjtqkhWR1qU66ATHQrTdWXMqY8Z5+9D8qE4KoFQLV/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=ZosB8rEVTgf5GQn/ef/szpP3vGboiqP7Fx3j/tGEBYE=; b=cxoD3pT4h2E7Pkay788AD55TYk/Awg7rJUWNWyORmlNiqJd62VyDPOAlkGF1s398B7DtHE0usTBJLhRugYf0t9swq612TNVXSXig+cmu18K50m8QNh877BjXW9Zazi8CfpRveVhFtUx1mJbquM4PeOAralj0t2HZp9LaKlaJtcpjEM7K6vd20Dzx/g0hJVBgT1JsQoWn21fYxOp5E8ys83HIxFQg/Gk/kv5Q+dTx8LiJKoSZg3DW00wkUx3ku/XZp6paniAzdazDIGs7DP/ajpyd3hTYUdDN6xa9z9Ue7A3Zl3yadrZZbIdv9uBZPNVxTiGGEqXjZRhT+swTHVm73Q== 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=ZosB8rEVTgf5GQn/ef/szpP3vGboiqP7Fx3j/tGEBYE=; b=NiRD0gExVv1Tc79sDr5zJv2qkvYSkBjhOUAhHsKZNCVW5mgJ6/r0PjFbX6JEKKhIqaqXpfzqjJumIm39ct7TkOrZ8BHqkjAftglNyNwAnYP8/qDhS5OaVtnTQzwvQUA4P5HXcGd7f80lPViD+DHmFcqfKGyuGvtMG/Ey+qVcwtA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:21 +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.5857.022; Tue, 29 Nov 2022 16:44:21 +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 03/43] maple_tree: Reduce user error potential Thread-Topic: [PATCH 03/43] maple_tree: Reduce user error potential Thread-Index: AQHZBBHUUpiEpUBqt0CsvfaXX6r3tw== Date: Tue, 29 Nov 2022 16:44:20 +0000 Message-ID: <20221129164352.3374638-4-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: 3e1470d8-dabb-4f62-b9d6-08dad228f71e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: d+XgLLe+/pr7/P4kEsZy+u6RqL+3axD6kIqO7xZYQcEYJIiAC4Ik+2SbZQBBG424lAj/R1WrGk6h6IaVbzQq5WJxv2Co29azgGamIykymetYTaSXShcJtB31fydnn2RIlpRIHaeHQoTSU5FL6GW3OcHsbSGGQ9KTyTTzAsp8HJpQvxGmv05vy2WCzz9dKvQVXA7hMBitbWiTa+rnGJgVCIecBZydJG1VMV+Wbc1PLUDFpvwkN7QSOnFZpae/mJGphuS2G/wyCi/5NLk3Sfxyar6Hqouyi3BdjRHLJx72PWl6PqNvfXsiu01QlgWFWlyu2xvyTQFMDRxtyUkf8UrQm0Q3JT1Mx7G2oUyZmw7AJqgSakkckcc/YF1juwvLO0pcEBDELa38MOToKo7o5Ln49+uStTZIr8NyD5AwJxGVF9t8sR3WT0YRpPbp6Y/GtG+DEkzvDKTzKngsQLxJf31Nm3tueKayLvgFHLYTQHI73YN+eMZCaHPkxs3ZYPC9t7DYog2fE5AcMLVsOZGe2fUPkeSOjq4WbJjgWp9B++v8nwEpWnQm9Onq9SZsWdXT5qO7mZVyb8f42iGVRAoJN/Kn5iit6O8bza3D5vlWzZydGNb8EVr2HWdidwL4YoYqZbDbWd1eYSJI4nfClMd212QhsFkF9j+veXL17fzUrG3Ca5qifWbWjZ+ZSU93/uLHEMeWPevGVaGWK4LHBkb8gsUIPQ== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?KqjpCkfcAuzvxAvA8ay6J/6?= =?iso-8859-1?q?Hfh1g7Pp0pxM71gvGfcua1DPW8rFwVEMiztHzd5Qh17on2quqXbTrqxTesYb?= =?iso-8859-1?q?A7kx3TxeE20GDFP7EU2kX7cnar49n0KK3VH0VaeY8Y+CoIElS5S83oafcIg4?= =?iso-8859-1?q?TpKSwcVwkKMsysqjlIkQ/cWhj2MbM4hMjku6vQYTe+s+fnQ1AWPs5eENNvTg?= =?iso-8859-1?q?Np3psCTqgCni7glpXginokHsg39a+L5uDJ4S/ZqDhjs1SQ9hxJ1RtpcmLomT?= =?iso-8859-1?q?oLlbR69gtK/2iiq8bza/sok8brjblRPv4mlfGOz69ldR3XMFpBzFTzIvxGPW?= =?iso-8859-1?q?AFMbuRU8xSZXF2PaIvd4+KQnGkbMxa806jhP8Nh1+/+ZK0v6XGZVvgmKc0ij?= =?iso-8859-1?q?2Z7MMTVUKoEeocoMP3SkD78UU3yq5tlimIeJcByksmhHpxk76/5eU0UzN9RP?= =?iso-8859-1?q?dy2ZRrtrn7aePU5IbhTwlR59+rm4uttTmKlSpuI5BtpFftR7Je0FRWj0FSBB?= =?iso-8859-1?q?ToENSDDKv0qkfRMqz5Uny89a4qz7PrnHv45osAGwc8OWDCzHX6l0YdmAyziH?= =?iso-8859-1?q?xZZjLOykgBI8KyAKgzT2jfz7ANrhTzSa6Thq5tk8IId+d6N0edYw3I7D45O7?= =?iso-8859-1?q?nUalGfc8cbf6Z303I5xItf8cf6vTgkmHLjHoaCc1y3G56ydH/+CTPK0ejcrd?= =?iso-8859-1?q?+c3CtYRP5lj2bc6n7VE4qs+PfHk8A57KB//kPi+hvnAhNXlPsMSC6R6+tuVx?= =?iso-8859-1?q?YHCcetn0rNJ9NCjdkgquYOTTFvaiLknZNdRzpNCdUceHv6sBwXUT6fAmsD0/?= =?iso-8859-1?q?JgbFFbUaujjeMj1JspDc8hF7kvVkKF4EVyzdHmr/r4b4ogIFGCgIMyIrt8wy?= =?iso-8859-1?q?3UD+0ByWZQIwaUXwdqOtaFayMarBgC3uEV3zw+JeElHvlLa3iGFsfX5C6I1j?= =?iso-8859-1?q?jK83oQQAKIpBvBvX7g1w2i9dULH4Kx+zWtLLkd83id9M/QRLIOymySTe0q1/?= =?iso-8859-1?q?66OGKrruX0puJll0niZq+DqcfXpnpBcvbjNHprGDmT53OzBc+7MMCTaeWngQ?= =?iso-8859-1?q?9hSb0p52nxSp9qfJ44KxnEzSYAE6DRsW7l3jRDD9jMGS+I7K27Nnam5wsdge?= =?iso-8859-1?q?dvJxk+3tIenc3XQIK6041AjIWaiFcSLkips1fAp6mgIi8ZfBCYn185F50Gtj?= =?iso-8859-1?q?amLHyJv6kLOiGghAKytl7kUF1yBR1MjCJeTJ9WNiSQd6Oz9zCmkzzOZJOd+W?= =?iso-8859-1?q?HDhKQWS1A/iTi/Fv6ZjY8Q1bcoNX/qbN/QO8hKYtrtjFKMY+ZUOeU2NLvuat?= =?iso-8859-1?q?ZJ7PTvySpvJ0uinAOqasuGzy0oA2ma+4aiwUSbcR6UoU8NPR2NHMzusc9+7D?= =?iso-8859-1?q?dsRIQ5AEG0+zZyY0QdRm/TKfHeSIu2WxJPlW4ajHLMrZfhYF+TLMqDtces71?= =?iso-8859-1?q?M+pS4Ua7Ll6YS0RJvEn14mlaPH1aggNzfZfcBN53G6lR70bwHHlpsGqs0W7h?= =?iso-8859-1?q?JI9Ozbml5fpzF3mg9WKqhGOlKu5iTHdo8fldO5i5+vxmTHdlFYWdzamWhTQy?= =?iso-8859-1?q?SZpkd13Kck1RMuzL4QB2Qs1fMVq09pRa/SO6yF8FNd8y1V1EVRBnrZ9feVUa?= =?iso-8859-1?q?BvQrcZdaAgNS9JILX4YdPk/1o9mz4mKJ42XTB+w=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 1BZtxfGdWEoXdw0jFPbpLKciD3Kk/tbD7qRe4W4ZzEP5ptDbRqjjo/k3FMLOx/rVjOjh6UbaVGMvSQ1LUohtCWVt2rMkWnncdP7tQmUoVNK4B+TuUpxeBErxDV2RIcL+YV+/mXraBbPlhTXPhbYwjp52eslvT4S4qST6am5u8lHyg5j85r4ViBqQxK/6nCVnwxL+O04WbwGdw5TpBhyCTklrV/xe0C9wDpeIzGpmGxinmZF9KlWxmduQoiSPiZTJUF0Fs4MoX2+AFOQpgBVYcZIQgOri7HtiZq3yNuw2tMCczo/9RfGn609hrpuLtU9qdzegP+Cq3fqhyl4/TdEkX7fHpuSwnYGgvwibILBDdkpuVm14WoyyWcpXAjSINQ5YDHgDwJT2zjqUYt3KX5K5BRMGcCkYh/epRPP4S/X8jiPGqgP2vKX5qtC9hOesQ3MrA8giGC5fUUiZq4IG7rJzXD8M+gz/1DMnlkrvhrAzPju+CtcOLnBr75GnpQ9CveYcamfi03dv+20ofHp7dYOPVN7wPIQO+R8wnggXwno3B6A5DqkRF74/fwpAuHROma3V3TAo6te/VFb4GhhE2cfU7C21Nb8G3AEwH+MLSqIct665y1ppYLlAmVcfHFh2YilGzIdfYte242WTYCAT2DabqHaFrW6jw4dob0a/jFMa4mw2w2vyCQXeJnRETToOLZ5VY260aURBCW2FSMoFfY/bQ8BUj5CZLf9qWSFtpXaF+gwXn7u+w6PFaAV4Ps1b33uM1Fut4UGjnBZ0N0GVBLOeI/M58+I8R5qwbxiEnyK+IX5m2BZYbIJOGxOwKiEiunHaQ41itGgdpOHryXH/tBisc5Rsap9YycdBfoIx0/PIRMbHcTyCpdfJXbTcfuY9C2u+Oh6kJIaOamncXTYXeCc6ug== 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: 3e1470d8-dabb-4f62-b9d6-08dad228f71e X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:20.9263 (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: XwapcswNL4uANlnSuMcnYJlnuRUejqzL4fcS8ixwzgUiqAWI39nmze8exGit0nKT/Qxs/bAuw4MlwG5aZo2SFA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: IMMUhTvDqeyzXiiR3VVXyV1SdMbUg21d X-Proofpoint-ORIG-GUID: IMMUhTvDqeyzXiiR3VVXyV1SdMbUg21d X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849699552833578?= X-GMAIL-MSGID: =?utf-8?q?1750849699552833578?= 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 ff28bd6d4745..440539ff0d11 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4735,6 +4735,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; @@ -4841,6 +4846,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 Tue Nov 29 16:44:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27345 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449489wrr; Tue, 29 Nov 2022 08:46:27 -0800 (PST) X-Google-Smtp-Source: AA0mqf6xhhmPiRv/UiUOPtFmlBNhTi4oMp9scDfl0dY3jXAdFCEiI6yGhpUCI6nnNpZKsjdPDVzy X-Received: by 2002:a17:907:a710:b0:7ba:fd1f:524 with SMTP id vw16-20020a170907a71000b007bafd1f0524mr24110046ejc.361.1669740386963; Tue, 29 Nov 2022 08:46:26 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740386; cv=pass; d=google.com; s=arc-20160816; b=yIBP9AmctJsNSuox9BauIhHWhp0XYW773sDyiCjDNaCZYAJ0Te9U/cfzbR9Oo+8OD0 LQdFd2tKScJIrT/azWyERKdx7CKxQtXhuv1+olqnJqu3WOWRrSIMA2XmIkwYg/ICd+Qw psAOlPykUEwD3ow385LGkVeQM0sRtUzaw4TnGyjpZYkCGvHj/TJi20lBkctucY8wNk3+ Flw5cd4K+N3oCc0Lz7Ejtep8wJIMOZVNiaAEH8JoucGpvc+xXs7nzE5iRgtAp5qGyBLo Se2SGwg/xP/WC/yIpadPW3YGJYWBcKoCnRk3wPvp8FRDuVrupMife+FMp2QLO9osI1rT V+Pw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=xhabUoomI33CKrWaeZkUPrrW6+G0JIovywvm2M4c3RA=; b=panas60yPQVmPPgMvBfsFtXpZaHLhGBG9YX2vUzPco/Maswasw3jShu4mW9innGnXY U0T+/dvsursvPWX6i1+D0oA5LCifufL9ri3vopdveaiw7YSfRjcsTRwfsiSO64aLAhMa VN3WyprhoXCBHkaB3TTBAASCro49wIh7f3t9F9hL/ZwXsRM8aJ9pPJVR7tqFjijr9sYq 57p1T5jN4YS/NzGQ9urAyFLIhifkWly18O0u8lOE7z7YkqYgnNTLneAQ+BWj0exHU/Tn /tD1i2IRAXxgASLgpmsH4CnsLGL+zcbsjP2sUI1Zf0CfZAnW+MwQwUpZ54CGvijFmcjP aZ6w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=QKzj2ubK; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qwz5LsO8; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hw9-20020a170907a0c900b00730870cb4b6si13181710ejc.621.2022.11.29.08.46.03; Tue, 29 Nov 2022 08:46:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=QKzj2ubK; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qwz5LsO8; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236112AbiK2QpN (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41376 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232988AbiK2Qog (ORCPT ); Tue, 29 Nov 2022 11:44:36 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E47B391FA for ; Tue, 29 Nov 2022 08:44:36 -0800 (PST) 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 2ATGPo8Z012293; Tue, 29 Nov 2022 16:44:25 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=xhabUoomI33CKrWaeZkUPrrW6+G0JIovywvm2M4c3RA=; b=QKzj2ubKzprgVA2vYEPU0+RBNGy1N2/ug5jdiJqkq4OlyFxCHhVhoBkmOoxVj05W8DPP F7dKqibYUQekpIFimryud3kq+URyh7N0KXTDJpbJx0OfYXX+/pFjZC2uXE345cgeCk7q u3BS83pWXNrCVbwgwDN7KFRG+AT4F0Hp22jpsEI5sxIUozsz59VMKYsPyOSa0RjYkxOI cB0oNbZuzy1vzysCKDl408D7FNs+a1BmbvvNHUhWDADumMKFSNslPooqEDYZGlikjKPm Gd3AF+FWdUR7nkxzjQcWjHFAURBdzbtx3pfnFg60/rU7zKCiv56KM6TWcdasL/d5+mF1 hA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn8a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:25 +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 2ATG7rBW030968; Tue, 29 Nov 2022 16:44:24 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398771pv-6 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ld2Tlc7FSndcAU4kCK8OrTXp8T6N8ZmuQg7miBEzon7fuzGXb+Q68S1e9JH0nH9n4xKFVXfK/78SuFOVT+H35ujM96szzqq0Qtw71C9nJRlpLsMNYltlbA86P7G2HdzjMUEgnCzgRt0YIlPw/vEPAEaIaoPcEHGGHYtui0F7TQjdstlbwVGC4rYnOv6uVzmQnzfxWV6Qj3NtmLz0aN3JqwZShrlooWaUVvmYYvgxEzfAZDqFfIGHRhtg65z3KsLWambX8DarhWwhGbSqApSYe5bVilkC9ROoZDy42QQSOB2sBwW1ID64/IO0Z2ehIAIiNiKxJo2gDBy5i2+A2rGn2Q== 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=xhabUoomI33CKrWaeZkUPrrW6+G0JIovywvm2M4c3RA=; b=iZloEAnUmnBmq96UN0ZRxfAAQjl3qyLW5LhMcbDQuhl8D+h5aWcZ6n9ToUtRTjs5moH/sIGChZz+HbTAq0ZB7MaIAZXRun22oY7KOsA1YCF4ehyT2vbFDelh8uzIi3ZsN2ePbsHRT+n62HcVUt7c8im9xoTN+e5rtB6thMVe73h6IQnB8V847gaA3t45+5vuP0MTl+4OEJls9+GP3OukVlV9cXpL84LssklkIGtUQyvPTUMGXvB3da4zXiDG4G6v4J30oFFq8hfWCOQrkR5syq0dzAef+dN8u2H3pw9Ao0+iSEWgrYqgVQOeI2TRnCijJ3RqFM7k2cQZ2alczL0SgA== 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=xhabUoomI33CKrWaeZkUPrrW6+G0JIovywvm2M4c3RA=; b=qwz5LsO8eIjM9WjnxwkwkB8rsSlb7W4J/GnBcVENf23VKM0GIWHenIB4WJxYbGW/PbT2PvypG7XdNosBWG5S1YShqniJ+VdK8kBROsdTTzdRBdnoVmmUHBXPjyHI+bAckx2aY1r8Ijicon2XQen9438PkNimSJZIJM/v33ztdUE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:21 +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.5857.022; Tue, 29 Nov 2022 16:44:21 +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 04/43] test_maple_tree: Test modifications while iterating Thread-Topic: [PATCH 04/43] test_maple_tree: Test modifications while iterating Thread-Index: AQHZBBHUEYb2GHCqzEqTyyGMfUs5Uw== Date: Tue, 29 Nov 2022 16:44:21 +0000 Message-ID: <20221129164352.3374638-5-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: d8c10260-f7bf-4527-b5e9-08dad228f75c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cmiZibVWkH4595dTDVKbMIocxTQ61D1gDg4z9a3Me7yIrfnJqSlyxE6pLy/5556emO77A7Y5lIMwL/Z4hUxNzP/QUPoIK4AfxdF8wQPQlW0cDYvzaSQ0iMN7OHogcBPGc3gCuy1SlhQNa94BNSjB2M8Pac7NtdwytGffytTEMk5kQg/Lk/9EnMChzXCxPeyZi99b4eB9PlGumKuWpy28G97W77AuWCr9U72M6jAdsasZpPmDo0FK+35KuOCBB5Uw9bN6tdkY/PIZJASzLuuLKHFLFxBAtv1VKxGWA9YcTixzecHuZYxJF33nYjRCuCRV3noYouNGnYVbHRyXHiJEJLTEZ7Ecet2yeUoajaz8MP9ECKY9VOiEAq2b0gkB2hKZ/W4/Zb4lzYe8fWFBvyUFjAcbsUknCReTcklclZY9XvU9NQennWGTDF8HVGo87EWSNiHme4Ig4OfMXIfGbqwmeX60VM22P0B/UNzLulzCpwc+NmHQg/ofgsoFA4akt77v+QteR6a3/h1nByz+P0ipsdRKBKOtCYiJMJMlW11PsvAS1u8r2xuFR4HwfTMlQmui1q1FAdlThh9SBS6ddorkd4Gdk8e/9jADN2TQQ5NFpmrevILQQRyyMAjizsqbo1oqKhIjHmg/If/cuBNsI03Kx6puFWJfdDSJXnwKwAmfIIIg3uWbldu82crVXN4AvoYzsKDE4bG+PKOd69Log7YFCA== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?qyUjUPaKBYSfoX4mlwHt15a?= =?iso-8859-1?q?jYsSALIOAsyzHlrk/vYEINVoGRKbfsL3wwdse+iFw5BtxOIq28jHQoQEiLH6?= =?iso-8859-1?q?JOvcoSBUbZTZ6RbJR1HtKXk/DdAq7Wbz02zVrs+i66tQ2QseVYpRgCHk4aEV?= =?iso-8859-1?q?4aqZvGsGwfykpvjdGnydXiVzj0uU807KQ4FdnvRHJmnqGKJ1qU5ZzpuJQcg6?= =?iso-8859-1?q?VT/ZsuMQSvVElJs5P/6E4flrpcpiMT+vxFhv92glST7YrX/9fvjFQXVoEgbD?= =?iso-8859-1?q?asjc7s64Q282X+KRSYURT6iUCUhB1HaoVSt0WEU5xFc/VtTdt+k/5O/aDTAf?= =?iso-8859-1?q?OSh5Q+XGyX8eBjPavbxzFGiS7RiJ2wd9GfGx16wYMjRTTyl9umSi+5C7QoRx?= =?iso-8859-1?q?BxoDQcWaQZW6r1bduCnuzitaCN1Hexo/8uzGZR/UAfoypDpIlm12+e51R/TX?= =?iso-8859-1?q?ys+2gUJLrXuzvCjUF/GmdyVctKzWkXQFXIFzbGCNTUraSuDGmdLycUKT8Ke4?= =?iso-8859-1?q?xfFD8SgtO7RViA5gLDT/l82xN/i1Mljfg6Fg/DoUndOeVpxzHYzZCjB7wlAA?= =?iso-8859-1?q?iU9+Zf6C4ZovgVNISGNxu6CbaR7GZkxxSm41kXx3SdVAYGvGvHQqMPhpVhUp?= =?iso-8859-1?q?22F3pO53kvBEbv8uoBh2Yu0fUggRBrNIuhXXIIwp8Kl7Vf2VJXeQvU1rzjEx?= =?iso-8859-1?q?opeMnvqa5hZibu1aQ3fev7kutXqrMYD3yPs6M1SWd8ajdNPVQKpzYNDceIqE?= =?iso-8859-1?q?ZC8whu+9IKzcOkwNAZL5B03LXi+RmMTRtWxJVIC1p7fWVedYmtqolsVlBfJF?= =?iso-8859-1?q?snJF1uBBN6QEtQijpJGE+lIbucp23LuMnpmgMDlyXQ30WdahuwGcJKbn2rlM?= =?iso-8859-1?q?xUMg/Bvh45iokUki/8WN3sTr9azB1LsG1fy+S5NFbGqyVx8qpzkNxG0uAaqq?= =?iso-8859-1?q?6Dx2SdinVMQH0lT4bbFUNbf9URs2lCHb9quW25sm6W1BacmOYDX5NK9Rh2YF?= =?iso-8859-1?q?bBbIJC5D5WHqCwG7r4mrlqyC+FCReLQQE6/VWMTLGax3qbWSdZOSCDwfiOvK?= =?iso-8859-1?q?Xbu2rgOOsN5G0Xrh+i5uNbOudwAVV/82OhK56bZRXAIsz7DGl3QlnDd/SVdp?= =?iso-8859-1?q?sgsiEM8aE0tnRLEOYFQpbFDO9Oi98CKqyHDsVZoXhLR/OlIsi5R3f9xzCA9R?= =?iso-8859-1?q?GPxiV5au8CdcICB3LOF9bXoV4X8n4e33m1SDxtn8tO2JXLJ9lTYKgQt0t+fJ?= =?iso-8859-1?q?JmWalo+8FdwjNxuILkwMIqlnd8TNDz/qIAdKrHsXWDTs3laa5oHz5T4tLc7U?= =?iso-8859-1?q?8LlVutWLIdg7PfZon8tQypKgHLu1fY2GQJ5HceQC2buiBFVMlqKIheUZPPui?= =?iso-8859-1?q?0znl9uoMCeNG7dGQYU5Wi7qBcy6NRRwHN6kTYynfDiEhOeT8bERPnvd4hhCq?= =?iso-8859-1?q?gLrmNh/MKLfj5Cdndqdv50xg2x8OnNeOeygPvSVGojb5qkfCsHyDHY6XhX9l?= =?iso-8859-1?q?/GQSJJQTMTxaU2lq+Xkhqd7W+cgoFfBrdHOdBQoj73s0zbRmcRE7HRXvFzBg?= =?iso-8859-1?q?KBSDl7fEKb2dZ6//oxPyzLjRG5ipde/l09IRQdjldDnDKjMVKeWCXW1p794o?= =?iso-8859-1?q?bqOFBcuWsZ/KwJepXhPuOemb1dlkk49rEYxmZFQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: sbUyVG+WqqT1UtMRWBtwmLufnmWd6yoquFGMlbix/hoJ8n6uFLBqlcG3tQsFp4/W8LQ6mZnFfJhXdQg9HZkN3rpFYVGGkLDFAq2JLbu6BdUTJdaKlHk1GDlZ1W+uOJy+PlTcaKiyMDko/0E2s8+DFjY7HbpvfqnrQjJKJ9J5VAT/P968OkxgzTSvOtdWRbXtrgPaWYJaTLxSwtYocc2Bjg5YnkdkcXVQI8JTddFdtcAkWiDZQPEkzt7vwGuX0U3nD7Bf9pDL4o3g09l/UGiWtrFvcnMIEwjKe6Hoaptt3FJfT9muIPZ5jyw65rTqdeHF+vyvqDyy4fNtvB11kH/prH1y5gIwCi2CyA3NDFqc3SF2RIIu1CDOg5/9MhE+FZE7j1diS6f2PcfIBE2h8MgFZjnnvSsxEv6bUo2h22FO+xX4qHJ9C/rTEzd7zEG1MxogbUXZAy7EbL4oEHUgxr9jKoOMX7u7d6vSJgDIGQSLqh5TSTG4zJnf293sMLgpQiqjhuqY1alKZJlolmb6sB2FuziYRoRewRSmk5MlhRyKuZnliI5JQ3yMHv3oXvXa7TwX4wC1Jqwust0VoQ5MI53Oy3HpJbLC7qmiVxLQNfuHYizGAEmgRZdkF9KvEkBNqUynZMqKrz238RsJN3OV81IBquehVfswOF+ujsJ1W/+TlIGXMTOKWc2p4qkmn2LGIZNGInD/Q8RdO5qSlbuMSyItFyxhEm3plCG4JgwD70AiF+j+ElMSvU+UOYS4zcSBGkB5aDKjt4jI//BCaA2FT/WSFysdsZbFSDybtQ4o9G84ponCYJHBQeT501y139URfg1XEn1mTl5KI65/j0hxo49cbZz3pfW41ZmswUx7S49mvc2n0aB0BmbCx23zmL5sxPdZNStnQP74UCa9eirMsTRymw== 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: d8c10260-f7bf-4527-b5e9-08dad228f75c X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:21.2857 (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: jjgYCXDksjshxA8kGfhbU2wS9221DKNLUdzbTdkLg8Pw5swM18jWWBiWw2eJYpgDznBat+ZEC6RxNX/YxVOx3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: Yex7T016ZFWgS6uYas_95cqyAj6q0Sri X-Proofpoint-GUID: Yex7T016ZFWgS6uYas_95cqyAj6q0Sri X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849696359382910?= X-GMAIL-MSGID: =?utf-8?q?1750849696359382910?= 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 f425f169ef08..ff471fea0194 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) { @@ -2555,6 +2623,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 Tue Nov 29 16:44:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27341 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449208wrr; Tue, 29 Nov 2022 08:45:53 -0800 (PST) X-Google-Smtp-Source: AA0mqf4+alrp1vv+XcdPZ95iOAEQnS6oIUUimgvgf8ZPqpR44tSQ0jRtp1NMAMUNWkh1X/HyYYsR X-Received: by 2002:a17:906:190d:b0:7bd:1f71:ee0e with SMTP id a13-20020a170906190d00b007bd1f71ee0emr17563943eje.714.1669740352937; Tue, 29 Nov 2022 08:45:52 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740352; cv=pass; d=google.com; s=arc-20160816; b=evx0itxZHkVqXYmZbBi8io7FJJOpTFSX2b7gWqrdqGX/YTsAy1yPU0o54fbNhb5pub z+r9cneEQANrk6ORHWv7wlBMICJ2FIH+LpD4FsDXxcn0WkF+LoZX3MF5RkCBg5QxB4HF l2YfbrJzIIG1QO5KigBX9CQDNecTjGuNFYniEZPWBt83+dcoTHtMclM2GsD9EcIjjWGp UYJQS6Is44qlLvce29MNGmwPGMgth4HI+JEEEN8AmHDF/fpt9yRz2+/ItTDosXjZM4fT tosvW03LlrdGwq0PstBfF1DqIvLOfqWH3pyYH/vVfXwnHEi+W668o5/2n/WO3SAeLcue AjIg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=9QxF2bsty8tFgN1YU7NieebNj9Kp3YKtX501tgL1yKw=; b=TPdXsqdjT4WIo6ZHDYhqs6U2o3pWAnKxfTZaEkTFeTj7veHNddw8XOxDXqsjipj8yF ZIRoKhdGrttkFOjZw593U/iAtGG1SglucA+Y7Fp8hsJO99P+qrgQhwrYfxtH0aaprpF/ nj0gZ/LcP/9QvyhgWefZId7/YgKJJFpJV+wK5k2HDVYGM3PC6zd1vC3rdkXJf/m/D4pi LdGEwJMxE1aW+1CyCK61Vd6NeUb74D4NQP9uFxEhnnB3O5HMv3HKIkqWeJhjoKVYQn6Q dLE1HlpmIowGGOMyTYc5O2r6mqpPyib9SxiRb4xxwdBVx4bjo9NuDjxVBOZ3I0MTNIf6 fzTQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=fTAyGszw; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=fuQ5w8Fq; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x18-20020a05640226d200b004608c0b9a8asi14510108edd.201.2022.11.29.08.45.29; Tue, 29 Nov 2022 08:45:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=fTAyGszw; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=fuQ5w8Fq; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236038AbiK2Qom (ORCPT + 99 others); Tue, 29 Nov 2022 11:44:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235972AbiK2Qoe (ORCPT ); Tue, 29 Nov 2022 11:44:34 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C20C5475C for ; Tue, 29 Nov 2022 08:44:33 -0800 (PST) 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 2ATGPo8c012293; Tue, 29 Nov 2022 16:44:27 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=9QxF2bsty8tFgN1YU7NieebNj9Kp3YKtX501tgL1yKw=; b=fTAyGszwRZbG0e87btMGW9/C9ZzvAvyusfmTuelLeaq0KdrRvYXowdGOV9oANrZPTNAN Y46CR37rZ8rasq2ogLSROkMY6tgKO58wQeeghAOW6cGQlbfKZ3jJPtl0X+h8UNoPYnVc xxPD6zA1+bN2bnTw8MaWlMliVAwnmOfywUvEugx7dhTgTbB+FWC0VMbn0ZOzKGzmKqAA 1tCaMzNblnyF+GcfGjLZ3hA035N5BJjvxHRWOPIq9FP2tdMskuAfs+i1koeGqaOJdVD2 W4IknqsQllCGVYQx4pb+hiwVGphdMqcIP2q3a1hojmC9eypOUo0RThaSyziphdMkB/LB Lw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn8d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:26 +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 2ATG7rBX030968; Tue, 29 Nov 2022 16:44:24 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398771pv-7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dlI2qbPiFa2ZKtl8mIVDoxqtodB2K3cBe+HguDc2Fjycd5jn3SMtmV3Z5F7qPQg242ELlBvG+OKKQ+yLpJreE/jgb0R38N/UcZJcxZNMeJbAvUBiMns2u3yrwKBMwnHc7R9GqD7xXK3fUVzAecbV9eVK/Qf9j26n8SIY5SClFrkxK6KmV1celgeOPpk/dqoU1d7G1Yv/z3Gz7V2dyGmKC6FAO39bAE5k7FdRpyHrrGj9a7P1zauRafwc68p7pVYbPRkS4bqU+IGuQZ+7T2Y5POIqcgLcYVW4NWhj4BCgiMy4ZiDGUv3mZVedVIa0laFMhjHTcgXno0uMJwFDTCkB7w== 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=9QxF2bsty8tFgN1YU7NieebNj9Kp3YKtX501tgL1yKw=; b=YymQ8/aWQtSi6N553A1YyHo2JFUiaP1cbGPkgq9HyvOpF/c0auhFDb7bL33khaNnJpXSNBeeA9de8VpKfy3n2VP/GXXoutZCb5RH2liUOqJ8/T2C/88/LpJVXgRIpIKMjK29tp/tPKf9TuZT7pWzf3h+nMo9lke6o7LVOVg/BZvhlc9GIqTaeGMRhkBguk5iyk/Opo3q9kBAQqb/FKDudxJKJRDM7qxqJF5cplr/mazaLoJYzcstFaj/jo/aL0pVV09wJPRF4rMPBgzD2Y5oya0xmi08rvgxtMmsd9vBvKbQLdFXywL72T4W3psr7VFzdoqTgWi9P3h2ickuQPC5KQ== 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=9QxF2bsty8tFgN1YU7NieebNj9Kp3YKtX501tgL1yKw=; b=fuQ5w8FqxUZgrgSvePsahewq4oqV63NZYKsjQTR9MvNKrAQ0w8/0owyszTCT7PEUqGomj5yKdSJyIFksRibUGwYnbIjKiwcYixtkWO+WFCP2Z+R6qBbqJJpB7OYqy43XfAoyOvRucqFIDfG0vjUYuqTIhZY5SdTSg1kqoubnrY8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:22 +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.5857.022; Tue, 29 Nov 2022 16:44:22 +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 05/43] mm: Expand vma iterator interface. Thread-Topic: [PATCH 05/43] mm: Expand vma iterator interface. Thread-Index: AQHZBBHU9foHbUxMAEi8caFhrTc+aw== Date: Tue, 29 Nov 2022 16:44:21 +0000 Message-ID: <20221129164352.3374638-6-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: f769a0be-3679-4a21-d8e8-08dad228f7a1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: k3EWTr594Gyp8UUjm9iTLds1R9+7Aok2B9BQgYFRyQwxXZuU0sFg0nsEBstBUUkJWVKf4vrb89NrWPKg3o6BATPFRNsF0BHFywBe+Q0b2sGet8O6zemkhgkVmVC5NyqALSjp0RfDBZeOXERQQBzHtBpVWrEO2Ej70BfnYVOipxVwwLf8llpq5o1VzK1nUMX8JP8xk0oNfxLluckxPDlXHTBhs04WQhcN+i6kNDQuW9/zC+RM/xL336QItFlakGAYb4VwuI5bVWTs/NMSBLzLDiHSf+RQth6qM3QR9b/wb2ajGHAKDOEaEdM8w0u5yW3stXjd0nBfItJULeG/9bQ7gDWNIH992W+VhBaDDKLFv03QH4LKFPD9EZKhTDud5X9Fuq8/fKzRx8F9hD9Zxn/zRX5fdS+Gw+55t2cD1xKLjnNBERURDH20Zj9QlQ8xTq0sKaFKzvXnC1NLE0mmXa0oSFvkhsOrVMeS+ZMDzupIEBT3YkoZX78RuAzARSFjvf+wxx5kIFg5ii3ZIbMV0dirKLI0xYrkO2br6CprXxReYmuUryCNIcLpzr6cH1ksrtlKS3z8jL8TyyoCsRpRoIYJ801amedemA3D9slhICD5n/nU57Rf8GRsn8O/WXIyg4BgICPnzXvBVX7MgvdlOf5guH3PECK8leLDUmPnkbGZ/VGlzzkesX/oLEPQtmYwMidEkVm5qfm/FEh+EFs3hDIH9w== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?eAON6EEcsXo7cXTdJFLoC/p?= =?iso-8859-1?q?dctwIFXbAGWOkwZLBNlut6Uncyh995C9LKN5s6QBGElArN3xYBxnJcl21kz3?= =?iso-8859-1?q?7v1IDMaw55Xju5L4GPe56VgMCWR+jP6lzpPtBWnkN1/OxcQEXMlMC6alQ8M0?= =?iso-8859-1?q?x1TYV8PaU2EOP60SDiP1vgGt16EnFrTeJYT1IbkqPk72zoj87eLB9rfhnfhJ?= =?iso-8859-1?q?6qhj5axM5laurmUgbXLzAHaPo84awIfQ7Lcy9wH4eYdyVvko6gd2HDmladyg?= =?iso-8859-1?q?zrBcBc20r2nX1Tvy7m7uXWFc8ovlexuFMvWyYm1sE9FKukPgVXCi2SG6vm+n?= =?iso-8859-1?q?YnloLuBMfBOaHmmzuv4lXjO4GwsTOZdNaar/SWgD852jzFQ8hE1ztn1TSJLm?= =?iso-8859-1?q?rZvPoCbDaLuOIFFGURAuZJV8qGMPmPj3rqy89yNiP4S9WkKOlNPPAv1q4xrt?= =?iso-8859-1?q?mLGrMbLywDlYkw3+VxsmHKETharZUsL1WffuypcUZw6uf1RtvHF7OS6iRSGu?= =?iso-8859-1?q?bPSyAV/42JDZqN5ER08tp24/MZka8tNm9HLc1GI1SDiCcrL5MR0XkAPOvLjQ?= =?iso-8859-1?q?FXNSEiD6Uphh5H7rVtCPfpSdGd/vpKy7kzW3VuFqg2no7ALxSJEqcgYnPj4d?= =?iso-8859-1?q?blfVxz+jshUZp0iP0M50bvIYm4a4GhIZDnzKpz+Z0TtdNxCWB3z3u9DMIh5l?= =?iso-8859-1?q?XGdJjYYn9dk00ndvG067MvI4jaVvHcFh+aIuwcGu/1DcvH7qKDXvHOsSSwk9?= =?iso-8859-1?q?QlAFMRRXOJeOKRLa72qXUyyLmn9i8OG20QxfjnBsIr9ktdL++Xco5vuXmCit?= =?iso-8859-1?q?2QGSucVPl9XXANs5a+e1ya6ddb1BVxAAM6K/0IkiXGoeNJoehBNxIpa4Y5tH?= =?iso-8859-1?q?OChVVPefa6UCW9awOccG4Klr0hfFE6IWUrm6PdUwqqbi31pxgDES9qO3zQOv?= =?iso-8859-1?q?kEuLv9fyvwkfx/uLQe4dobwqKsG+t4rI/yT/wj5tii9CnsqZq0p51Auwqomm?= =?iso-8859-1?q?30FOURwgXje7rspRTytoitnfFjCtCISDTA0+p4ujfE6RlGfJKGkVpOOCWJuK?= =?iso-8859-1?q?wi88+XIuAX85+TR2gHN1rSoQaDyhv9k7Peql108mpu9QfM5QN/jtlWeMAeas?= =?iso-8859-1?q?60/RatX3T7jkxn5Yx/o4xWYKcputyIqciDsdWK35x+ih0oOQudBnfjot9Bju?= =?iso-8859-1?q?bSsRawdI0/Nhl0xSwGXoVpq0juBUIDl8bYypkmnXuk4aJcfnaTUBStJl13vz?= =?iso-8859-1?q?ZhaK+KgYOGrGmTVCJWGVU1OFvM2Ya6yZZuPlxpsK5pZBZ6zQO2dMU9vX7Nzr?= =?iso-8859-1?q?Fud1tYlAkmWZgfsrt9oKOMbdQPMrNZ2tRW8XvC8QdvDMlbQOv1qGcyItW14m?= =?iso-8859-1?q?qmBYM8zSVXQf6zp9Ldj16ttC8qI5ItwWG/PmQpiYy137GxETGDFzgZfY+T09?= =?iso-8859-1?q?YHSefkLN02sUhnRbhbgMfCKdvpVZD/TJio6EFMgM+GCxaqPG7oPQLW1tbBpv?= =?iso-8859-1?q?yH4H5GA8ihK626rmvRr0A4kjicg5inVwNPyGPwVy5FUSfP1U3OEv7cAIIxZ2?= =?iso-8859-1?q?waQf707BDvXiYjrON/JT84BMk09tEyA/PM00k6AuFx4XT/KDjIMS/3Bu1n2q?= =?iso-8859-1?q?kCvGS54Li6Pslp/qQ93sPrTY2bWA1RDIfl/pCCA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +vnfkPxkPmUhtZdqC80uWNaVGGFVJ6EOYbCWo8EtYjoHBlle7XnTHmwxukbubNzMEhBt+bRhevCR2xd7xXd0+LrvenHdS/1LyrgS5rQC4C98Kof2lXIdCtA6bOXSFq42Xf0XcbUVmgL0LT2ROz0I3ojdl2e2U7DhXYPzwkO240xKtpwQxJual7cva/w4G9tqA4o88YIN9LleuVx7sAqIVC2aiqbvKs5MjVtoqGfvDV5YaU5ju6WG8lkJQmNjj5yuLZyC99L1VK26Ir2Asb89bE3gswpddRaMgnMiomTT6/mRZsRIiAbUtFIozGbGAlHOz7wc9oL8wA3KyA8EigVvfsumbh91BedIo5egSZ9wG+PDdDoXQsYzCRZ4CzMJ4B47J2khSIX2bfk4JrGJBJFk37MR06xTsUc2fUXxpiS8s5eZjEFOP2qd4OOxEIXOhywNzCLYzhZzxdev2qd+mEG+BKsjljoEqC2cynjxXjRkrCLg903dq5L8miyq29/2gEh9E0MqNVF0nRA3XLw8t1YVwTOMdV86srqfaeq/GXIT7vOef3uWNKkf186rVE4yzfYKKHoTNSOs1YQqGJXBep8oC6ZEmmzn2hvb2B/r6XugjUc8JZw9C6RhjYIoB2MyuQlqIYaFZDN12k5v8DTdNBbnZd4HkRmHe86WXjR8vPVTMzEEbF+CQaTHBdBYjPLB980TqPgxsqO4oObzN03noIlQtP6todUZY/Pe1kUrNIWpSg6nK2S4tHooYo61/0Z0n2qk60SRsLGu1KoPwHqq1lV4pYOHQ3QSPDxCmunhKmLn4ZcpDcuQuiVDCREcSd2W18FbNY3ta6uzxY3KAMFCn0y0joI6nraKXE4NtDkgn7lYMQ/BWXHe/K2cF1EvPDalGSazw765X153yjAw54fuK8cMjA== 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: f769a0be-3679-4a21-d8e8-08dad228f7a1 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:21.6763 (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: Ox/3d3yn0B4Ww701y+UceTlOs5LcpcvB25iaF6pkxSEcosoNXdpTq0ECw/8q5inFTYJhHpEJlrnMjbVGNotQXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: o2JD8iLMVvtAMqeXFaX0d501FSwV3e73 X-Proofpoint-GUID: o2JD8iLMVvtAMqeXFaX0d501FSwV3e73 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849660407193558?= X-GMAIL-MSGID: =?utf-8?q?1750849660407193558?= 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 | 74 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 7 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 8bbcccbc5565..2d3a49ba2261 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -664,16 +664,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) @@ -686,12 +686,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 500e536796ca..faff2cc005c9 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -819,9 +819,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 c3c5c1d6103d..8f24021ef5b5 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -144,6 +144,80 @@ 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 (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); + } + + 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 Tue Nov 29 16:44:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27344 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449434wrr; Tue, 29 Nov 2022 08:46:19 -0800 (PST) X-Google-Smtp-Source: AA0mqf5rfmAc/vXKunfZmg8obSdy0vyUDnKOFSIEQankqra8gn19Fqoi2iZJIDOfiWG96PUeLjWQ X-Received: by 2002:a17:906:2599:b0:78d:474c:2a59 with SMTP id m25-20020a170906259900b0078d474c2a59mr49246368ejb.759.1669740379716; Tue, 29 Nov 2022 08:46:19 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740379; cv=pass; d=google.com; s=arc-20160816; b=Zu48JlDzoEAiVk2R2Z1aU2gf/cfjsHEihsG7oaYqwDcSONkZD69AeV1s2rOym2eiQs dZh4e+IKEwtFidpsL5ojY+z5ypNzGe8BwWR7wYomFYTPe8+OUnuhtZbdGwntQq5dmnW2 WziJf7ypBG6xs27x5T2BczhsemvoC3h0hawjJT7kzIF33LDaMaE9lbsnr4oWNotqh8Lm bfn22SdMHRCEuT0W3AplNec2tgHHn0BmH8SW8AV1FDMsSntY251WhUrjWhdFWjpd/iam 9iOjU5+mB3UDxb/3SEAyaZH5i+BVFhoxl8v0w4pZR4w4pjpt0FWYaNYCIN747q3DbETA +BkQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=MeWAgNHkqtDGHNJyVDaXVgFTDWgD+IXgAuiuBpJtiEA=; b=BRb0rRACplFKHsvmGCQWLuNWABwOkpmkViItEwK5/8w5CxcV+lXSEeMz6DFxqWa3pu NXPnRaDHjer9YXvpXAgi4nN4mXds98toFl7QCJYtYA72NCtJDozw4cLhhMLtA0ni6sOI CC0BRnysq2YLKa5OwjZe7A+SpzfQSGaoC5rFcvXdwNrn9hj8qPwU3S2edsftIkAqgRvR PLr+sfVTKLsvD8iYJ4ivLt0k5vICFLQ0W7n6sU+UXCOgjfkPlJ5ruG1cNcE3C0hMS0aw 4fqrasjIf92XoYvLmQPO/Q8uYmhkKcJnhZKDxjGVwjqMjEH+l0yll7fCSz9KtZ2Bs66K XugA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=2crd6MOD; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=bPQ7Xamf; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qo14-20020a170907874e00b007baa6e2273fsi11704776ejc.191.2022.11.29.08.45.52; Tue, 29 Nov 2022 08:46:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=2crd6MOD; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=bPQ7Xamf; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236094AbiK2QpD (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41322 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235987AbiK2Qof (ORCPT ); Tue, 29 Nov 2022 11:44:35 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4E0A854B36 for ; Tue, 29 Nov 2022 08:44:34 -0800 (PST) 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 2ATGPitT017353; Tue, 29 Nov 2022 16:44:26 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=MeWAgNHkqtDGHNJyVDaXVgFTDWgD+IXgAuiuBpJtiEA=; b=2crd6MODmo0wIt7NRa0JXs2csMz5W5gzOHvkbc030KwdUpw+0DsNqvo74GJrhbh5TRNF IOfbHRKIZCaLVIVR6FGoYUzTNZMwsHBXUcWKEfBApwO1HRLVsdK72PzE1kiO1GJaozx7 G68EEPl1GpFAUAQZVdzeLDt75+NiAQagEZQukE6248w4GX3gzjcsgdQeNchLuZ6q1EYj ZdBc6GN+vJAmcuDSqjjzZY4eWig+DL+n1QW7gMvd6Yxhvf1WB+aM8MnAu28AfZa9Loi/ lF4qeox+Pqaa8O/qvCuufotU0nKG8D2Ni2hEozc0fFocA2Jhf0bhpZg3s2IwjD50Uhr9 IQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3xht6hm5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:25 +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 2ATG7rBY030968; Tue, 29 Nov 2022 16:44:25 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398771pv-8 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jhBK03iYD64DzTBDGNiniEqkPXyU0JlGmsG59bFcqmtVmvhImmJyo4TytJ13NDkl7iXzF3Biz9/ve2JVGWbJeXvKoDGT8TVSDIdzTQkJHBkdDS1ztkWaXJYdozBX6uXrTugQMBxFsv3FMGMuknjVs7HQM0O3nk2K9CnnBIqeTGhhbWq/VJjXW3GTEO5fkBuwHcRylzt63Zj4g5Csadqi4gnalY3En2mlmGPou3r/hZKAJaGHjAEpGf3d4l06nae1RczAit6pMsDom5x/2xHJO2urChIYS/ySbJIw94OIJNJOaN5GlOkRuWbVRocVrNJFE1ni81ASxJuKcJBfrMqafw== 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=MeWAgNHkqtDGHNJyVDaXVgFTDWgD+IXgAuiuBpJtiEA=; b=C0VRugfMEvfKTplWtpeJVwa7AyJR9Gg70YxsKWv27I/U2VozQIh2xVshyhx69mraJGnvkAz8j755KvyZzdXjMnHKqmxxtBFa33gHO58PXoN1znI2MnmTiGbXSedAjNNMERR+s+804axO21n+3T2QxvJ09Ac8qOjaN0/kbCZytx+dhdJB111Ri441yBxnuvIa9K09KlodiyXnk3sck0eToQFlR8pPEdTI5rLwrbAMyKgQwl6hFGmiXJEqxiI/ThdUscS0grHPJtnbFlyO1On1/TVHGQoUk3YT+ZoP3LCX8JckEImVc6z0yQEdaId9ellOGq4yRn4jn1bfmoBvIurWeA== 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=MeWAgNHkqtDGHNJyVDaXVgFTDWgD+IXgAuiuBpJtiEA=; b=bPQ7Xamf0A6cS4yN6VeJ/0IfxqnDiCdRxImlC8lL8M+dczTarI3SI5BaK9x6nVv1FCMa5spMk/7J4AlZwqVZdDrqyZfB3g/EORqjeSrm4irRe4tkdagCoOZi9NdevJQRYcLD6cgaSAgPU1EWkU4faIwyCcr1RTW4nt0vjYJyh8E= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:22 +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.5857.022; Tue, 29 Nov 2022 16:44:22 +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 06/43] mm/mmap: convert brk to use vma iterator Thread-Topic: [PATCH 06/43] mm/mmap: convert brk to use vma iterator Thread-Index: AQHZBBHVFu3dWvklbEa+O/yWENlnqg== Date: Tue, 29 Nov 2022 16:44:21 +0000 Message-ID: <20221129164352.3374638-7-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: 6ce2e79b-72c3-4316-230a-08dad228f7ee x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8XURLunfrUz9TAb/p++Ph5h6UoaPIDBO3DZcZd4xloEWu4zMvXcL1ACyqUpNwefqGx4XcCj98bn2s7oah1VpJlkK9LouSoSPqo9snzVlPcklmHgJhk+pFNEh03CYl4q1TNJh1rlIULVQfYzxphgH67OlEzVWhXvZRcKX3dhsxFr1zSaVIs/CVRrgoLsaZjrZT3RNqy+F701e5eNDlXpc0JFTc1sZBwwQMdCBJg/2GkE8zus9seVwVrotHPtGBCC8TCuL9m9GEtqeEV1vnBVt+0rsGgjzIAUNw0znn4T8uZnRaY5zE/u27deu9yQMsFQVkcODdtuI4c2LAd4XgpRNyK3OVzl9F3v/AFRc4I1HqPS7SnrGTQM8A0BWz/eCpSltSpN5ajt9A3iGFIQRbPCvHshbXs1sRQiDDF/kUMfKRu8mBRD9H1G9+ymPCUPolt/Ihv3AP2N0E0j9SSw8yEPMdZR0bfTnnLN2xnlexBFGw9oTedWauwzfZqrUmpYfiy8PvIrqKKDzj+9ivEML0vSeewF0uMqFoM6QJrorgpKNe41M+zYo5W6N5YImXt5WGlLOGTfOVb4etuHlR0z9oVFOmMmsnGODINcHvyaMKgnQzqoDFumqV2xWboZDUZo+aazhwpqrYXIpaxlfEVB4D+Ng+7bMXQYWxRWzGLMh2iJYvJGpPYMNqfmVPrEALf4wWgWSSHY7NM8otgxu22qfowYNrg== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?pCmVH57N45iy43sy8oQOv5u?= =?iso-8859-1?q?csDYOAgihgp9614grIX6RMOyLPKbOXZHpKPy0OFbIxWfuPkj2vaeHsJh7aTY?= =?iso-8859-1?q?Ti/saC68CBfrJyMNZ+JloNR4DbsYlcZHtM2WM4wNKIhzXNxo81Ep65Gg8U7t?= =?iso-8859-1?q?i7BUxDHPAs1+/IvlcudAzvyfarb98JLgwVl8kGv5OeiqsGDjYzSpBMmuDhFK?= =?iso-8859-1?q?oxs5xezNp9a8NpzIZQEnb+yzMay05+lKVaF9f2zwD8AGt+mtHJ86AbYdxutD?= =?iso-8859-1?q?k6qTIiKZhUxD83IsQO0M3gi+7XgPSDbWUCmjFVyUi2ZxEtadvAezj/QbbO9V?= =?iso-8859-1?q?c8Xi0bffvjmiku6l18wQqUqjCYuu+iZtb5maUxOEPdy9TIbD4LyeLbSgtmEK?= =?iso-8859-1?q?NNg3868eWTk9hS1Ws+W5pbT/HCrLb9eQQ6liFivNK5Co09FkSZRK0kch4l2R?= =?iso-8859-1?q?pJu0QPZYQajXUCOeGesBkFpUYGk9XnmGOSKGRCMe9uN2pWY11Z7O/vpnunHg?= =?iso-8859-1?q?FCN7w3hb0Gzec1aBaN7O1hiD3xwLGcaaN5UrVs2qMA3sIgxXJMZ/dbkyurIc?= =?iso-8859-1?q?Y/jUxXqJk2Vy5LMSccIkbw+2QV8dlLQ+Qg+7Fyp5gVB/RkTLK1WjDPC41XSk?= =?iso-8859-1?q?K7bQwy5XtWPpBUfwB6CYYE2oWDWrrcDHywQOuO4GOkDJt4tiHUe6oBMKm/pt?= =?iso-8859-1?q?BeN45wTvN4uCYjHC3X7wZr3Wq3tV8QREC6+CmnP9can7SQc2CisvaxeLJ5u4?= =?iso-8859-1?q?+dAfiMIujscNqPUqE8HFzxX7TeMJ6W7+6QsFteVbaFLFUdSyoWkIOiELUIm/?= =?iso-8859-1?q?W9vJw3smWHmNxAbeBdydHewhJ4VcVtx86KaXUXp77FfhW2AvKTAvFocHTdQo?= =?iso-8859-1?q?BdLNVrROWGQu+tJ7NH6fWcbXnNvL2RAGbgjpz1sWz5aBzSgw5lYSZ0bJgzal?= =?iso-8859-1?q?YB6ATV05pN+1ccxp8W/Nve0Fye5rscIUU17Ui57JfqX7UCAefRFKZ+h0oqx9?= =?iso-8859-1?q?CsJ1rEEBE2cvlLda2BgrlNk6aL3w9tEJmidCsHH+V1LSDa1/EH0NugjURsQ5?= =?iso-8859-1?q?FPPTOfKzzI3NY69uVgQN5+EUdVC6kX1EcN7ekvQ3uD9qrj6r2JsqFI95r8fn?= =?iso-8859-1?q?kT1PmfhnFjetgZXlZADZOQo/uQq8f8uqtzXdBkpFGKYlA0En1XoguQRB2upd?= =?iso-8859-1?q?QV9HwDeZjF8aZ9rk+bBhd3LZwAxUg++ZsEmj2ol5sqv2lUKE5zUgshm6haMA?= =?iso-8859-1?q?8O6/Pxx251FxVZHCSn90bG9Gi3WCHlozM3a9siHWJtkexVcqzzQOTv347SZ7?= =?iso-8859-1?q?ANdkNcIkrFfZCIV2y895O0rqWR59lKny1I1RR1b9+PeTCNXeTzkxtotEC5eT?= =?iso-8859-1?q?x5EEbLa7Xj/V5Eponuz7rYBpjY51bLVtJJRPmfbGbOTNpEhHjj6pNg3AbaRY?= =?iso-8859-1?q?O91m/U9xwQ8Xa6tmjF9AxqBH7PkA00btademnCMn62BJw9vcRwwNLy0H0KNl?= =?iso-8859-1?q?IRKwPbk8WRRiVG1x3LEGEipPt4wd7dI6tNBu8WxDv/sFaKsw0fcM3/KRNs4V?= =?iso-8859-1?q?Ks4Kh7xLupjUvECoG2Nu13sSEGfP/JeQdv+x7Jivb7OFvLZApWHs6Psydc8R?= =?iso-8859-1?q?lpFElL+H6Irq5ARtFA57hiRuZtJgGYbGx3OpzVw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: H4aOooYZd7rgR7GnDGckBxxK8Biw0zi1f8ImB9dU6IkgEFfmJVl4l7R+FiH7wQItKL2cS/3mQMGRw7mCu61ietPEhYx1BXYmsjjXL6gIYFDRoHqdW7CdXKo2c8jyCCxq7f/RK1+R9dC6Ju6unMWyX5V004vJt6Z2/rtwyrIosS2K1ZUwc6i64gkv5WxcxI9icTDlu7xov6LvQoIjSw/EvIwBVSrNRfSxQFs0P4A3WdD2O2RWVixn0uJwmn/rGu/Z/EAJUGx9TcHBUQNqcM3u5VCSb27BpUtGOHiLEW3RcZZcNjG5ZDoN1SZQOO3khDlbzGBnyLdtHj1iU3nWv3FwtlyKj96Ko3/5BAyERGww4bYF+atszE+ktygJpiuUBKfuIQlSMrEwEWAO7+YBfUw0g90F/uO/38MkiBajK919XFiBc2PYbXS6aql+m34fH7e/g8SJrkC9AVbU0h2nb61X9F2mVN7qWhhElU/nDNr1wqA4W4TcSZSVoS//4NUSTxHLBgX5Ci/aLos0J5Lm3t7GzdhwvJmDR7+Qz111o/P3UA8JPfxgKkzUE9A1hM7ARYOtDfsClI2eYQVu0Fq36k5C+Zrn8Zu3wjl4cFD3jApNMvt/gWPZPCqyvOHErh1p/Y2HJU66c6s5wA+TxQ3v99yyyFMJQHW/m4qi9E3/F2DIe3O3THFxY2Ey0rbpJmwYhtlHtOV3fMV7qcptLSxMGV4OBFW9qXoltvyAsXTiHjXgmmK1ABgEVvzjbKJJcOgJV+/9js14bhMYePAEu0cNNC9vxqezulCgBR+PFIEq2wkkUm5QKZ5HdjpwjMfxVB2slbKv8tXHDIgSNYQt2rgYSfzqUqE3uJV6zglMCsWgRGsMk/C+GqoEyJ4OxT0EWsjzZMiFW/SFeNdZMuwTHOw16z1r2A== 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: 6ce2e79b-72c3-4316-230a-08dad228f7ee X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:21.9731 (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: GNpQh3du73d3RKlFEI43Dy2Wi9Z6+//fJ0MfmiaVFl1/JNfeZBbERKW1TGdYTb9/Gr608HohNlowv/AaZVRIvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: ZJOK3fIHbsUjKiuNJxOvZNNUsJC_NrXf X-Proofpoint-ORIG-GUID: ZJOK3fIHbsUjKiuNJxOvZNNUsJC_NrXf X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849688647195231?= X-GMAIL-MSGID: =?utf-8?q?1750849688647195231?= 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 8f24021ef5b5..054dd3e8e1a4 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -236,10 +236,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) { @@ -250,7 +250,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; @@ -298,8 +298,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); BUG_ON(brkvma == NULL); if (brkvma->vm_start >= oldbrk) goto out; /* mapping intersects with an existing non-brk vma. */ @@ -309,7 +309,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; @@ -327,14 +327,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; @@ -2964,7 +2964,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 @@ -2974,7 +2974,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) { @@ -2982,14 +2982,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, @@ -2999,7 +2999,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; @@ -3026,8 +3026,7 @@ static int do_brk_flags(struct ma_state *mas, struct vm_area_struct *vma, if (vma && (!vma->anon_vma || list_is_singular(&vma->anon_vma_chain)) && ((vma->vm_flags & ~VM_SOFTDIRTY) == flags)) { - mas_set_range(mas, vma->vm_start, addr + len - 1); - if (mas_preallocate(mas, vma, GFP_KERNEL)) + if (vma_iter_prealloc(vmi, vma)) return -ENOMEM; vma_adjust_trans_huge(vma, vma->vm_start, addr + len, 0); @@ -3037,7 +3036,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); @@ -3058,8 +3057,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++; @@ -3088,7 +3087,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) @@ -3107,17 +3106,17 @@ 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); + vma = vma_prev(&vmi); 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)) vma = NULL; - ret = do_brk_flags(&mas, vma, addr, len, flags); + 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 Tue Nov 29 16:44:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27342 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449256wrr; Tue, 29 Nov 2022 08:45:58 -0800 (PST) X-Google-Smtp-Source: AA0mqf4dKz4/86y1tK7gOsGsO0zg+rhNasEI20sE6MpXTyeC92xGbrr+pDtMA+vrlOKGIyTZ92rt X-Received: by 2002:a05:6402:538e:b0:468:ea55:ab40 with SMTP id ew14-20020a056402538e00b00468ea55ab40mr21331708edb.323.1669740358131; Tue, 29 Nov 2022 08:45:58 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740358; cv=pass; d=google.com; s=arc-20160816; b=hI5jBNLBKEaZc26hJ1HZNnYy1SkxGIF3YpbzEswBVksF2gHx9wm/PTQm9Dd8axJMRP wD5DDwpNwXWYNyya6Cz9RyX0CcPqmHrk+wv40Psc4IuNzDD2LM6naRbgJ7WwuGxC60qA RT0n289Yb+BVNC0Z6QIn+yBFvQaoVguVN3arGVRWEfrm3idd/ARh3Ogi1x+Z1t8XZCWx EVAUjPhoU1/Dzml1Vt1XF5CF+iXCV8IDnqim6rtP42MOZLZypj30WQ2q/Gci9vFCDapl 2wbz9GkznKSJ+Hs840PKrpL0ZKrPvnv60SsIWXkFge47egKzNHEREAQgkLUJBfIgo5l8 nehQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=npaeva3yIdYG5SBveLvD0fvT3geOkeCIKlC3QjmSuE4=; b=C+AjSLALmciZX0Xaj38ZwLzueylHRf8nvkrGEwGO0vBVzbefAmiAM5eIXfrQ+Qhok8 rCStkKgjl4Xn6lzZGvYoO8BPB1inEhrAkf1MCw1gQ31k7zyB8xO1m07D0lvcvcF2GQRw yIMcnSu+9bKV1dmpW8QQiXpluPG/2jDST908yVm7yRFQVnL/PX5zGqNT4zMVubq4u3hj mv1myudfrAWwOxChjAerajwtW5sQwqShk+EpwuoEjwW7wWrq2qOM1Bk1OZckWVGGkUYx pe5JO1eUXdJ+hmphaXxj6nkkm4inXmkHnEnX9pVj2ZXS1Gkx2tjds/SkQ89dpziGiiB9 CwDw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=aKtGEhtT; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=lJVIUlB8; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qo14-20020a170907874e00b0078849a014e9si10425697ejc.196.2022.11.29.08.45.34; Tue, 29 Nov 2022 08:45:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=aKtGEhtT; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=lJVIUlB8; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236056AbiK2Qon (ORCPT + 99 others); Tue, 29 Nov 2022 11:44:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235927AbiK2Qod (ORCPT ); Tue, 29 Nov 2022 11:44:33 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 225284218E for ; Tue, 29 Nov 2022 08:44:33 -0800 (PST) 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 2ATGPpWJ012335; Tue, 29 Nov 2022 16:44:27 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=npaeva3yIdYG5SBveLvD0fvT3geOkeCIKlC3QjmSuE4=; b=aKtGEhtT1ioD0mPD1sj++CojNHLIZpi7nVjpXVORcc196ehkMEbIiIj/koI1/zf5IvS2 n2Tt/C+3afToTqfFu+J1r1D/bsqcJLimktVWjp9CJqli+6R1Ug34frcQrG9MYJNGZlsX N+MPIvhtdf+FVkjrH8sHocyj6WD0pOwtL3KIBTwZ3dMpriGQMzwSezHg6NVLBGoJLJR+ b6GX4HgviTvxZPAKprw+lNk46oK6na6KnU/qRCKpVuIlr+6YrNgygWFvXJLQShk9EXAg xPkvYsmpZrtEmyqqIm+N44lszTH0e7PNWXabdPVrWJbtgJGwx9u8eFQcN7CDL1ugTFuP xw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn8k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:26 +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 2ATG7rBZ030968; Tue, 29 Nov 2022 16:44:25 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398771pv-9 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DL5w1iLytWiHuRPQNSXGAtW3ANgFzXC2hD2jYQBskU26kwjjOOJwp2ZcfIB2pRCSG5G8plgvxqy6KmwyP6WufS8Z16k7ixuooA6HXGAximmWa2s513OTxMU1Ketg6GOUOiKbkLH/4jL/FHRegruUA6BYxD5ACvoc1u1YRVWKKFlOAQwK2DMwhtI8fXu0Z+1ASHbmK1CsKL+7EB2RXJgoIVwirE4wPOc49rrg3Mx23O+4rr969d4ZDcLYn50EPjZLFyv8a/TZryJr0b0h6hhoYGwgFJPIRKIZA8ffXNJyX9A9vfWoZGTxlG+2LebevDjwpuzAZD7gZWUJO4/k6HplHA== 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=npaeva3yIdYG5SBveLvD0fvT3geOkeCIKlC3QjmSuE4=; b=S/7VXbx9VdrOp6OXho50J3hkNoEKQ2tlN1MF49GXnCvNY7JPz6Ting3CyQOFoi7CTRkTmZMg30vepSaZhpKqsWNGWKKxCrg5X9655E6HZprfHHD9Oomk1irNg1mN9/NcgbQmu5VZJdDGJSL8Laim/9rArP4cgW2VQvJalj/GRM8IY+aOOQhlhvOqjxYL/HBJqyeZ7Cr2V9/uIjGAYNO3c20C5Xut6sd8XC4ZtMpgvZV2PCFCer0fEcFvwkw2ZhIYMkU8QycBWcGNkcNXVOqLuuQvgTeDXuGloZtcWhOiMAATi1nMKx7AkMLbYDVsmEzxQExZonzmtOBEuJCRE/o3EA== 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=npaeva3yIdYG5SBveLvD0fvT3geOkeCIKlC3QjmSuE4=; b=lJVIUlB8v2EAZ2O/rWbOjYdvTeo3OeO8VRXg9czMQdCBgXLxUW0qB2dGbDB9Yx5Ck5v5DOtiGt2lb03IOh3TmG6MIsj/abmnDSZR0uSFJK+ohSVtnJJIT9X6kVPEVob+WIxDwi6HX0spV2bPWLoUtAUxQxLAMgnoQtWSKFH1zvs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:23 +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.5857.022; Tue, 29 Nov 2022 16:44:23 +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 07/43] kernel/fork: Convert forking to using the vmi iterator Thread-Topic: [PATCH 07/43] kernel/fork: Convert forking to using the vmi iterator Thread-Index: AQHZBBHV/4X7tCg9AUalJ/KmEgTD2Q== Date: Tue, 29 Nov 2022 16:44:22 +0000 Message-ID: <20221129164352.3374638-8-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: d96387f9-b395-459a-584d-08dad228f846 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Oost/JN1CJPON6IWkTC5EZiXTyCaHR4+QmAsk1wNpqLRPnj6qwtnN7ix0N5xjNY4uBvyUiiygfT8DJUBfdWb30y8YDcw1/D59SLGOunLJ7hSI43wUWNuHowdhHfATyvAnBSTbSOuSnty2v6FTKGWykfWc4ye5xUcMu9lpfwkfSgvcIPqQcdDdK/5KacRPiB+uWvQlRaldmXYWeUThFmxX0Rw+HZrnYCsu2nan6sRjZJHjtnK9B+QVC2Av++RpYUHQBGxcMu7KBnF0VSXVT6iwP2gEtMwT+HlVGKde5lOlwbEigxMshnvx151i+NV8F+JEK/SDbUcNOKeubS6yYr0VXM3EPh/fyd2CgdyFfxrcj+mPZWE4k+o2+6WBRW61I8BCKPWHWEGVVZ7zOMXrVWxY40jDRF1A8HaUdTwsDi2Szb9ESnidj+9lOYTTbPzhhTJqftwuQpw18P707y9xi75BgsyiXJ2P33oNTKLFjyG2aWmWHKqpNWmHZYfFfrikH57+MZF6RpNmDl2mWx+t+0GLSm1Q/TNGrm4hyU1eDqYcI/6+kyONMbIST4Q+rXjR2n1HUhVc6bnEUBr3NgdoAph+7aA+rOz6FRGIQAub4YDL+EV0rwjb5XmNSM041mG9sfNYDuOBHCEbunEItgbicU+ehY0WKOJzNObcZG1QJOHv7FFKOIztaaS1YHp1tFdb+L5tremeNnjVfyzo6qXXBEPaw== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?UQqTbqFU7kBz7JhGRgPxmJd?= =?iso-8859-1?q?0GKtfaGOQ/Jjn+meKWpLdT7g9KWIvhtPMV+NgihQ2BCcIPD2X7n8UICDY6NF?= =?iso-8859-1?q?QGV9XtiGgMcZHpE5xcuyiwRDqWpeMuH4fOneDb0wCyO/OFh93JqLToTPatmh?= =?iso-8859-1?q?Yd7M8l202iiabHlZjAFL5n2ICU7ozOjdc4v9cbjInlaL1YMPQ0UHoASPCeRz?= =?iso-8859-1?q?EcKGa2vVPJWosLsnzGgcUrusyBF+CJeaxChbt70ut5iqMY7ZixbRkc7MAH3C?= =?iso-8859-1?q?S8OJJ4UEz0GzW4wFVjtxBut+7luRKrKhmr4T/uJpt6AWYasbr31WDNBrMJsu?= =?iso-8859-1?q?Msq5ZK7w8TyGrwYQmDpbJW1NINTjwAeGAixiqO5QRdKB2XOIrkbmJCfVMeJx?= =?iso-8859-1?q?UUQIXgr6+ECi+btLohTTjDJuvCdC5n1OmxkmJrfMLJTJ2WE9Ed1xDzu06JBq?= =?iso-8859-1?q?gUE6UXrgbI2BgeB66SvuHEm+2uC773mWcHYBMK03wFZIChg7Pb05h6ONMTz/?= =?iso-8859-1?q?rPX2L5PVxg2/XKpUqmmvpSNK0JCiVZKXDUETaqvwZ3LqU1hc/gymZ6shbrQB?= =?iso-8859-1?q?C++7q1V+z94eF5RbMU+4C/15LQ/RbqxwSsAkvvDJ8bJUcSD8haaqYjCRaSBB?= =?iso-8859-1?q?ZTeUxyhLtXAjoPNILADS4ha1TZzLbvbx9iNdGMQ+xPlkkZ9mGZ4TleQbVekv?= =?iso-8859-1?q?fstzzwkHD4WJSWsI1PDSaaDgLr7UHZJFksOR6oonwDxLFbVG6crsU8Mm6AkR?= =?iso-8859-1?q?sj67Ar2lyorYhaaxD50rp1rrayUvtWRPUFj26Txklf41DMfLsA7kfW7B5ATq?= =?iso-8859-1?q?xIQIZ4/QTNd1ydMLNbGNTbbB/CjRK/GOkznAGKAsYGbhdGHPKNmW0RP+yHoA?= =?iso-8859-1?q?GOyhQlPzNUezN5dYrojH+O09zTG2ALczB0RcyV1X1Wf9KgG8XYQzQl/GSiFs?= =?iso-8859-1?q?UixiUiRhfYZ5SKTl3SCEIyfTh5hFN0/4SJk2QHN7JubADMIR7l7ZPRmjAaLD?= =?iso-8859-1?q?Vk9MvtxP5gMYdRgJReirb3/H/YpjugBLFr4tG+oEV3bThI4l4PFNcSVymEsb?= =?iso-8859-1?q?BMuUB+avbAK0ifdC7ocRxr/bITMPTtIYFVU8x37y8sUrR2ue6bd+DcOK6fm8?= =?iso-8859-1?q?9y74dizyLQdp8kipMqgbEJwmiFcbuTd63YUEY+jxCr1cJVfQm01LI7taP3BQ?= =?iso-8859-1?q?Qt73DwzTenSp9YWUtOavCEBo84RmdUrl8Jg2MqO8fKW6RjrVsBMF9nSbrqQJ?= =?iso-8859-1?q?HVRO2xfZMAN/zbkMxqDd7eEGYmcj+TOUDUzLgGLSOHUD/TDAl1SYDxKsO1Pb?= =?iso-8859-1?q?0NVuVoS82joUVXfF7YJDhC9W22jVOOC+Y4K7t0QbDkcNXHqmVsZAK/tyi7WG?= =?iso-8859-1?q?uMClDhnvwIRlgka1DmoXdVIaAX9ssFZ3Du/yVctyKUK33uKX9Kg1jAfFwcki?= =?iso-8859-1?q?Mb0/jfxxBu2VsKC1WiSwTF3rjskG5w9/lZfKr2PKhESSpvwhCddPTlINjKHn?= =?iso-8859-1?q?j+1z7N/5CPtZuJplUzeV3+mzDPiwGRwYbE3T9AoGTZZ4JoCr9r4hQWkiC7Et?= =?iso-8859-1?q?7jQh9Mr25vMISoZAbqA/kqS9o/wT9kdG5Nl3C63CPJxbzDwAIf5hmGXq5XT7?= =?iso-8859-1?q?c/0QtSLqjBUK53zQu6buIq9jMOY0CUIsHqAb+2Q=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: oceUuwWq/2lYvphwiaJve5qCGLubNC94pW37IkxocFeAoRLzDL7RyfRjS23n85nOQB024/f7L/6ORy7t+2Q+gSANEJcFok6iIra0l45jwKfhP3BDNpWfqmWZbJbGuKwTXtmhyAMg9GuInNA1EQcTH32J7e2Mv2g/A6bTX6bb6IT4rxukC/HgDycKkpLce4tYfWnjnhzmEjCXIl9mwBVsDB1q9l/kqXMd0LRg5rPt72GcfI5GffAww+brGtIU8dQQzPzd/90G6CwvDl0vR8bp/8lcub881BcLnmDBz1SinuLc6J+wDUf/oQ5CwM1SNNcJeKq8POqqZUyMt1rUioCYcbhiTzAhmKkzRpbxOzhc20nPoyWpuXPwC3m95KYBD+AP6RR83wwte0TFJkkTXpzsrKvtX9HumrzaTjg4y2zW1NszaOgYY5mI4KQZR2paCRIo863dyVIKMIyAHnP2HrzDM4kRHCEz73wo608ZWgR4sjS2/E+nev0vIobrNhnTpGu4G+jpavt/To0/KtJYXKjVbm21I0s1R9dvNs7WqIhHJpeFafJxeE4FNJb8V9DcQkx3MGm7Hlf7y7T2/Yw6DCOAX10FR6WD2IEZONd+w4tjgo4ipyMqNyPRrWupeUia9SGQinC2QQy5S+Zv6qAGG8TGIyth1nsanZnu3f0SC6hdsbLHJxcZ/xy84qPrgDvV0EJGqxqdUdmMPrI4Drr5rAkj4aKi3whEFsMSxbGammawVErAzfx0xBe7yGQmcyHkcdtO2nk/tuBMIQUe5QmyTaYWOtn9lmEV30ijBiSDvXlVXyhL2Ae3v4v6D5hyQLCeAW1InSzpaMMtXgTOkAt7l+HYLSjTNyaBQmsBKOgYvqlspQ8X76BuiK+tEpVKElYNHVCts5FdN2m5VG26QeOyuex7gw== 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: d96387f9-b395-459a-584d-08dad228f846 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:22.2700 (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: YeMczfJzM9w0IfwVYBAAy9CkAwSro4c2HKMpgRAkc1ZUxfrAckGIJBGOUHcY5rTD4x0ZUm0ME6lg5o77a04Snw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: YRiXdIcGMduUsBiMt76TWNkvxZkf0l_g X-Proofpoint-GUID: YRiXdIcGMduUsBiMt76TWNkvxZkf0l_g X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849665319389928?= X-GMAIL-MSGID: =?utf-8?q?1750849665319389928?= 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 08969f5aa38d..12f59021ff5d 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -582,8 +582,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)) { @@ -610,11 +610,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) { @@ -680,11 +680,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)) @@ -699,7 +696,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); @@ -709,7 +706,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 Tue Nov 29 16:44:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27343 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449320wrr; Tue, 29 Nov 2022 08:46:06 -0800 (PST) X-Google-Smtp-Source: AA0mqf4jZNMHLARFcjwCo0TIQdPAdBXWaxXkbAuqpzFLUlMwrRZA4mE3c2UQbRGRFxOf5L8CS4s5 X-Received: by 2002:a17:906:ad8a:b0:7bc:e5ac:c96f with SMTP id la10-20020a170906ad8a00b007bce5acc96fmr18393846ejb.433.1669740366800; Tue, 29 Nov 2022 08:46:06 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740366; cv=pass; d=google.com; s=arc-20160816; b=J9NdRI9sc7L8zw9DKxwGT4cQ//ApWV+p8JxGNyVq3s8gRP+AEdn1HyuTgNjtyUbQkm hawaNogkQ3MRYuNXyvJcpNf264MeR6Yx/6FaK2BQvJ1t5YObWOSehf8d72rkR3gWq/Yy +1mnUH25J/4wGRIO3ai96z29S2GJBZAD7+aQ4F+kxfvxzoerNMelHw7gJKOS0xyWo+Sw nnvBuOCGU1oq3bfW7iwgGPWjspLzCHG81iwgO9jfyAEgwy1aQ/zwtR8z+qpC5tBdEJoV 84hR9ZqCre0SJYpvKrftfWnEqNH5Yzr9x5R1ceq3JKNdN2D1BTYxstbgwdlni4QlBXcb xZ/A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=5xSt577sJrGE35wg57zTEbehUeim3s8boc/TbUBInTU=; b=V0TAq0RAkjHRhrwuvsGnCLPraH4mQXeBNuVDZZCu4HsF/CuCzEWHgP7Zw07W0kyMdg YBoOxS44YDLGpPnIDFX7vbojMsR+iTbaAR0peKV0w922zjMnzHkVhWOgLyscjEX3Or68 9sWP4Jxcx4ctVuEzM1ZvKtq2wBVbuX1Ir8MmrHKzVlOn39DdXgBbA47tSBBUCFScKH+x S7WXvTQ0mSWJ0/7TwENST02B5RcQbHNUubKrqE6SjIsATKUXjNhDLrRmkdhjV1WHI/mR c6ysifiqtQaCoS8Czk70EN84p7WwRF9YmXZtaEF5R+W+81x2tk1zU03MM+TKvpn7GAf/ qUnw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b="l/dpp3ad"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="KIa9Efp/"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id rh16-20020a17090720f000b0073beb58e98dsi9434283ejb.276.2022.11.29.08.45.43; Tue, 29 Nov 2022 08:46:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b="l/dpp3ad"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="KIa9Efp/"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236088AbiK2Qo4 (ORCPT + 99 others); Tue, 29 Nov 2022 11:44:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41320 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235986AbiK2Qof (ORCPT ); Tue, 29 Nov 2022 11:44:35 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 998065A6CD for ; Tue, 29 Nov 2022 08:44:34 -0800 (PST) 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 2ATGQ1w6012682; Tue, 29 Nov 2022 16:44:27 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=5xSt577sJrGE35wg57zTEbehUeim3s8boc/TbUBInTU=; b=l/dpp3adRAn24Tci609cemCa3rVO5zVaNXhxo9sv1AtY6LGWf9shvvm3F9B3WiCFhLgt HBTYueXbM+624Qs0MfbS03Ax+4rQoBvJQeq5wK5o1diStvktebglMkrlhHNICg+e9CNI PHC7XPeooX7RN43rObGGmu65g9wV2gQhXqQsWxZovQODxpHMU8jpvO3LWjBrbiCwUCTC 7OEVjlXdRI1shOTzsoiWjUjQ22VFtFrrUpl35ghWB9C6acSrK/x4I3EjTFzPnPgW8HNb cpSUyS9ZKoMGEx6Xcz8+l8MVuJMw05f4DOCbIRe78BkM7ZbzOSxT1zhf/kscWuNmNWRm 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 3m4aemdn8n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:27 +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 2ATG7rBa030968; Tue, 29 Nov 2022 16:44:25 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398771pv-10 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eFyoSXUz6njhhXl/+QJ/ZISu81pXvh7GyYFnlerrJTqwyFGFbdGF1hqt/83p+Zl2MFiycAimx5O+PZJlsngHlceBUo/FyR0/LqO6Dg5lSKuohqalpKIJxRqT5e7+H/yjwHpfyfC0xPjxr1LBeq9bR9S+gbnYMqrrlbxo7LLuXhXD0QI3kell2Q+D2vGXPudgWeh2q7JZ7/qJQfvgR1ygKTX1pww2dnfsNEPKCtmKLCgb6LLlrR7luRy7b+fzOcvVsyVS5yJ9oBFls7oOTdPrHumevYbsa9oE52yM2slulurfj2ggQSWmEXgcQU1qfL+aC3e3yf87PC98ebNUcb27LQ== 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=5xSt577sJrGE35wg57zTEbehUeim3s8boc/TbUBInTU=; b=QwOslEeb4w8GA1TnUzi7zmt+hQzzL1hfOdbJD5UAeJHRWSDkBwl5tvTZRmbD5XyMpGF0mqxod+lOIHFtRiAS+Xck3BwVG6GQDdbNAn3/aqxm8gdzvcTvDRLXg9J/4SnVbWzLt0XYeENqaYSyKKaEpgCK0ps1Pe/yfFGA6j9zfQ8Jsm4YmKfAo1fp0fDK2xeeCbQUrzqPBCFjX6x7hI8FmMHDoFN7ePk1i13AOpp4rgUOIQTsjNcNQxxF7c+XreZdCfE6cjpFVEOEXO/Zu7n0+pgMd4gLzPInEMUrykXGk765kin1dm0H3O5UP2HWxn/Xg2mUGxe13+wtocOAV7LtOg== 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=5xSt577sJrGE35wg57zTEbehUeim3s8boc/TbUBInTU=; b=KIa9Efp/O+ccKs/OzhY32rTxZYpxxLNcBUqybkCgv+fIoK6EjO53tfs9o/6Cyv1Btzrg6pS0Z9dj4IzmzLbZktYjtZd1ee2TIyY6jdna5RDNRtIOolNCp6TuwREML1nsHF4iwrLOb34G9zwMFwtGHk3ceevsFIdIJQwN0yhXnZM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:24 +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.5857.022; Tue, 29 Nov 2022 16:44:24 +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 08/43] mmap: Convert vma_link() vma iterator Thread-Topic: [PATCH 08/43] mmap: Convert vma_link() vma iterator Thread-Index: AQHZBBHV/qxb8hfaW0mrYzN1uC2/SQ== Date: Tue, 29 Nov 2022 16:44:22 +0000 Message-ID: <20221129164352.3374638-9-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: 0b226934-9448-4338-5f0c-08dad228f913 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zdheizxuji+WFp9c94Pag54ZcZWAeia/J7+j2BERFnNGuZ2efw5cizY4XD36YlUqiJ7xVgYyPC0x4UaGpUIgoPcetk5858zXB943u4tnzPg4KtPKmCHT4nBkTWiJLbVxXUF/90qWFjsxc3iBB7BKbGWpFgPESsGU9SUo2YstVsGNCrOKq0QwcJUtYvVXdgwRAUNDWOnlUdBxMbkt1ePk3HjBCDZEJuIwiFf0R7q/BbamANlcI91uL2GhPMOYGEtHWqosMoK1l35KFGHNEOsKjAqcrelP/3pZeGyiMGeuM1ZUg4/yyGDeFGyyEDuaFNWb1L+TqPpVlcqZveYqzCyNgcj7n9u4gMu/AyOYP1to7Rcmk9Vgghu4QzhAjPkGayDgjEnxGRpkln4nRb7Fl3XHOwLKIqZNhuNkvGdUI1OIfnyQojf4KFmTGh6CACRsJNF7zdRbrFvcelHI2owmS4MslL9fUSLO2qzZgdNKzsIWAv0Y4sgnGeM35BFAPb4ghGF+oQQXboVuzFszm7HjQBBGCyhFBHNF+GVF3htBnT7zG+aR38PdxoQotLzxHvbEfi34XmT3nXgstm9va3KUiN8RfM6HTpuKu7UfJkcX9L00WUSLNrPghExw7qVho3jYLC2ef6V5YR3oQWWCLhj+JXMzrxav7GbXM45aKHl931rv0EtuUskPmK5ZS61RYofhXdT5eP4phpjIrahX9hW1Y/OxAQ== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(4744005)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?+0m6aSLuRWweLJ95mThtfJZ?= =?iso-8859-1?q?VwpV2NxzaBvMgTQE+eu4/k8rnBlOIbqM7tSujnuJ6YOLq3V+wBNpbNuNJF2I?= =?iso-8859-1?q?+966h2FFBpiJlfEnImLmwUEbKbeP8aUXh7zSTdf5OhPny4ZHrMmKU3SsZQBl?= =?iso-8859-1?q?r6vAstqHrWQQOpksOHAE8j+rkLwgHlx08gU1MtY/EH3lmqEq/vL21lOmj9AP?= =?iso-8859-1?q?C7uwkcEft0cP/LXqfolke3Inz4FEedhliWVo/+HqTs/NRaKLi43pMuEnC9wb?= =?iso-8859-1?q?hlDL3CipFOg+uXoGBXxsl+ZpHnuX8WxoD7JYt0yqT3qoGFDNJqjfyn6vV1+j?= =?iso-8859-1?q?6xDifdMwl3ROVBQFJwRHpU3zeRWrU6ZoLvV0xmrYuh2mVYYnphylM28A451r?= =?iso-8859-1?q?RTjoaYA1e1HUWkTbFSADAkNSRvirvynt32Qk/IbLXxbT+ITj1oIMdFmQxkKd?= =?iso-8859-1?q?FmoNIdDxDFNamPHgME2dD+mn6UGgyI47TrPzBhtkM/zLqh5hMpUmsRNQjLRh?= =?iso-8859-1?q?heOftVJkuOSc4+HvCV5tuRRLY6DuVRQozXKGlREUh6Ox9vhIfsH8LxElogO8?= =?iso-8859-1?q?2UsVYFmXMR22uUYNu1Z5Pgjw7JvA7y5Pbbx/sz8cDYsrjG5F3mxzR6T3UVpF?= =?iso-8859-1?q?bGeBI9SBRkvowSVlERTLxJO0J1Q2O0kdj/WjBfUWt4zAT6lF9xmWkLXtCXr+?= =?iso-8859-1?q?dNvBFGw5wmIdHbsJeyCJ8PLUHra8+0WvAnrvudlEGeWVDkpuhoY3PvDHzdwp?= =?iso-8859-1?q?yGH9v0uxTGiAdStTbrmiXk6b87a238vnyDHqaaUWOp1ibzVyHAk8Haudlebm?= =?iso-8859-1?q?UYEyVOIoFCGN9d/tpqyNJzHzraTz3gMLTw3qOZ8CdqMBMGiH5XtvbzBH4YET?= =?iso-8859-1?q?hcMvn5jz7oP8LnH+L+kdwpxgz7E22khy3UjiKVFxGdGHCoo+bMUJBGi/hEKR?= =?iso-8859-1?q?XhRTyi926UzOM1iwXDt1Ru7Tw3zEXxeMiTroH5OaRRHuQd+cCXZMB7j+ZS9r?= =?iso-8859-1?q?BavYyh4SsBlXTeYl7eflG4yigs7lFMDcnqR7hKTMpPsxx/viwT8aJtFNONbD?= =?iso-8859-1?q?SK2CRNhWyqKDYhNY9DhanaviKfB71w1ji3qWxOqojBUQgwXJhS5k78YOlAOK?= =?iso-8859-1?q?eyQQNv7fCu9DCKO5BxxkMvG4yy5E7pBIdqwra0HV7yQzemi+dHxTLHVLmiyU?= =?iso-8859-1?q?uTOORi186EH36sc0qXD9BBaVRe3lgpFgcKrgS/p8L7QfY94IG5UCJy0wcKmy?= =?iso-8859-1?q?c7J4bXNMLlhnRml+7P++0yExuKNdNnuZFC/tn3ai5e8DNKvIjshNyvIj+CO4?= =?iso-8859-1?q?Zf+5oUSM3DkeqM57tyfPyL8JDo/SVu4l1yBbHCVRTVeovw560Rn9VtsC4MTy?= =?iso-8859-1?q?xBGG39dBD012UiW2PC3Thw8sYdAznD6+4bHFhBOHc/HidTrDxTmO5ZJT4SKA?= =?iso-8859-1?q?Lz69NfGfrurWUmluD4gB1CKXRiwz9rVZ4xP39aqQgEceCbOcgehqrp2vDFhd?= =?iso-8859-1?q?T1/9RCfONd0Jbl44a/DV4UEayQk+KSl1Ntjcunp+lNEoRgtQFvztpC575YRw?= =?iso-8859-1?q?2NjdJBVo8Soj8eBi0lp6i7mkXUkHBHmXiUNUT2DO+iWUEV1N2K7tOfQvQcbZ?= =?iso-8859-1?q?fs3NHEdtN5VS4yOcs8VU9X5s3F5pzjTatISDSXw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: o44Kz5LXSGMRP7vSHHRMM7cUEvCFcN5MY0Iw5TZnO14zqTZwD7zpFYdDT6LJGkv8FvGVutZir5KrxyABRj/KwM6tA4Qsi4b7lSXq+5KP2I5mdRgKCRv5v0D+82XNJoOnKU/tmOD5Zm7utCww71t9TFSwDQuZ5AidmeudLJdLDfzCT6JojUjNApbRV+KwwK5ByoL/lqnRnD0YLOBw0JXWuQ69wAMqJw59TeZhYrhdoX168AKRV6W5xyeRC7RZZ0gRNY3ex9tWG2LBoqGH9EeZjF5zSiKnYC8VquwiK8r89NApcgePnBTh6As59nRlahBvK91a8C5x3Xk6onKuv97ItXYBK9I2cu626LixNPKHaPBjUdR1HiV4hvirAf2iLz9epbLl+PUBj3jiHArsguvCN5IhQ9H9hF738bCWyOX1JdJ+L7fQTSuivIZXCNCzOM+dqL+MPanvRFxnZM7upZK6KkuKHsUmo8kUI840VB2Z2gfU/tu3fUdRUPPSS/VIkDfJbWMSio7Iw7A/6MKn+EXF2TC1Y6bEjFEShf3yHgP8WKN6/cu5rYeIdT7T63pTr+tx9cpQnEZptAgcw5PK/4i1MZFaVSIub4a22xNDwRkcY1nhPDP/Cgfuhjl1CkfdUWIS4zKEVTjb97ZElK6h4TGBmv+02OSG7g/CXKRUVPOV7TNKjcNuaRpa66hySaib4WhthmgLWwaXEwJb2+zuL/OCfnfVmuvh73qufPPBPBbPvIAjOYOg8Muqj9Lq/Gr7IKhlTU7fOlNQSQ8RxTR1gVYWwhxW2ibNf3yRViEPyQT+v70Zx7jBMTEhESpW0D0n0bTGI/1oqxeBzgeTjVSYR6yLrIHYolFycrxMEg1ewO/c6jTQ4tDeKxIxq2ofD+MdMtDeBEQuRZ39DKAQbUR/5Ai7mA== 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: 0b226934-9448-4338-5f0c-08dad228f913 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:22.7231 (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: jl/X0OtJaNV8+GsNB/ylK/8GDHpbTJhFYt499QpdlLLnmSAdiaiCgkjAbYJXUZ7d36afu9h5ePxFOJp0exZBpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: RYnL5ElEcVukgYrzWcFWq1T9vOPa7Wsf X-Proofpoint-GUID: RYnL5ElEcVukgYrzWcFWq1T9vOPa7Wsf X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849674600775854?= X-GMAIL-MSGID: =?utf-8?q?1750849674600775854?= 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 054dd3e8e1a4..f4568a25d2dd 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -544,10 +544,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) { @@ -555,7 +555,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 Tue Nov 29 16:44:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27340 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449172wrr; Tue, 29 Nov 2022 08:45:49 -0800 (PST) X-Google-Smtp-Source: AA0mqf6422mVIWNVqhd0zv3apys7Wcui2P72h3Sq64vHXwkZenOxjUryEsTuLDKoE+vVmn2t1LZZ X-Received: by 2002:a17:906:b012:b0:7c0:9060:1580 with SMTP id v18-20020a170906b01200b007c090601580mr1942328ejy.655.1669740349134; Tue, 29 Nov 2022 08:45:49 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740349; cv=pass; d=google.com; s=arc-20160816; b=NWGMC8wz2q6S26/nTxYwia1Yhw+htG/pZ+cSXMJuqove6tDmGNSLm+nSjts/wqVOef B/yKOYzOApHT4up6yPhsMJ0hXzh9cjSt5+09MJdshPRaXvMbC/QpXbH/iZUJ7FkfnjG2 ZMEmrcRguwgC7fhGO+2h9/O8GR0QMhYn/X8kv5ydd+3izgFUf+8rTxqsQTUHViHX7Dng fGxnZmBanxpmDQh/gmbvtK3346azmC0clTnPdkxqdoFfF5r/WyPRuTbnyiHE94gN7xzr Q64SB0O5ZfPcg5SzRQYxn4k9ABP9ExddPTUh6sjDgTtqkZErf8x0oYhmdLg9SvDKs+ad Fq3w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=Y3yTzYobRiVKkYcwPyE7QTfd9+fEiEP874Vs7vrGzKc=; b=tR0i0MTEsqd3UMBvHzyP2V5bjJozaEQzwNr93c1q2nSovcg0qjfZ3Aq2RP/LaVAdRW hWr+vYXcrr2YFGTwS4NmFxxm99dD75QIH6rG18QHE6v+M9MylHO/VpWPUHRvN3Z49OGx /uFT2YVw5NoNGsCQZg8aIgYUdIxZ1UMKR1RYzuAin6BLSu7iYREJLchNz1vcebSqGDtj 9cm8iRqEEYiEWnep/P+DGTaXbq2A4Wz+UVdRRuTDIJyjdiwTzPChVa/MTkzH9ds4A52v ODxq2kebiHx7Av29d+HWAmnB3SI8mMRapcPKwyDci07nFaLkbTl5cfQb8o75YGM8xOnh jr2Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=l8fzbzGK; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WlFCCRDl; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qk12-20020a1709077f8c00b0078200f886bbsi13184661ejc.361.2022.11.29.08.45.24; Tue, 29 Nov 2022 08:45:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=l8fzbzGK; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WlFCCRDl; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236024AbiK2Qoh (ORCPT + 99 others); Tue, 29 Nov 2022 11:44:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41278 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234899AbiK2Qoc (ORCPT ); Tue, 29 Nov 2022 11:44:32 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 75135421B9 for ; Tue, 29 Nov 2022 08:44:31 -0800 (PST) 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 2ATGP2cP031397; Tue, 29 Nov 2022 16:44:27 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=Y3yTzYobRiVKkYcwPyE7QTfd9+fEiEP874Vs7vrGzKc=; b=l8fzbzGKA9VeP807+HR0w3syK7SuKXZG0hK+52OzEel/88wPFgQF7mBYxK1Er6DWM5Am DPZEFTzyIMONqGFZzPLhOgIjkI2nsWqRjp8ni0V7yK2o+TqSKTSWoqKyGIu15jwc/TlX yZT4C1jlO50qgta84qJLDKijLlT731dN3SxB9T7cSqQxv4fNY1NsCUf2lC4dr2fiUa0N Pyezt8gs0W7D+ojuwrvxIMYjUDdfuBd9HrEOdzF7WL3D0mCF/MHxImZVpf+lhvVIXkYe eCyYEGTIK/tvR3xR1+kyyK6VeJ88BkGXYg7xCgl8xzjKeLcQthDvUKbx9WPQySpP0Fag AA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xarj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:27 +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 2ATG7rBb030968; Tue, 29 Nov 2022 16:44:26 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398771pv-11 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hDIIe/q1C9mzI1ONVbllfaBuf871C5cbcmWoe2ow8zx4kE8IwBtrnMJ2XwL1b3Sc03jx1balWj44B1+Fi361ozmUaEjRKkyu+eORuWAVxYxR9FpKub95ObH67QKlkoMmrmuJS5wkzXJnpqkmKP/WwAdyaqcDsRx/pHjGyjgssk6sCt9wZNAOXNmPeAbNMABT0rgw//qfXEQRKjRfdqhPmQSQ6yk14Olv50rmIuvQow0lyGLcXsCBbter6zRBb5pqkbd+ZxTZF3HznNQZoZLTd3kj4HKTrhcoI4YWqnTCiwQx8mxeXSg2g0wXutnsBmtSyc/aU8ktP2+aUdOco0Vd9w== 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=Y3yTzYobRiVKkYcwPyE7QTfd9+fEiEP874Vs7vrGzKc=; b=RSObpKpiIPpVr7GxwQXyPgzqNbo0bLqe9UI4sc08FUQklfZqJRDsnwVi0NqqNM2cOHODlL11ru3UNP4mRNdLD37pFWyDqJDBq6Vpmmop8aaSphW8L3eXRChbjoY0scgpbHWViwXpG9HFJCXHWIcCgiQoFiAfOUN3EZ69tRgDhyMsryI7vF5MIgrubZS9bQOg7MNeNr8xSqHlY4YRpq0CyyNqdHjuuVvLN1uL3fdLmReqIL/R3IAuAkS48D8WyVrdLo7v/LEmquIGyzJP1DRH8+9ELItYYTV2ZzEMcLMECEIK2bTbYEKo9/EwAPnto/Aw9re/LLpJmZL2A45db8WmYw== 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=Y3yTzYobRiVKkYcwPyE7QTfd9+fEiEP874Vs7vrGzKc=; b=WlFCCRDlehRGT4X1OhCKdNdngCKEfcH0WPyw5P8gW+ZHIaxCbZzwukHNrWX5qo18ZSwBHiGWczwkjPHWQvMYh8szVLe8L+MITOH6x41NMqkKTuySq/Sz1W/JjEhx4gUnGG9TJWQc2K8d7Y0IYOB6APhV6VvC9+9s85b4tbn+mS8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:25 +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.5857.022; Tue, 29 Nov 2022 16:44:25 +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 09/43] mm/mmap: Remove preallocation from do_mas_align_munmap() Thread-Topic: [PATCH 09/43] mm/mmap: Remove preallocation from do_mas_align_munmap() Thread-Index: AQHZBBHVxPIDFGM5WEet77BCeDVVHA== Date: Tue, 29 Nov 2022 16:44:23 +0000 Message-ID: <20221129164352.3374638-10-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: 45ce288b-7e37-4b77-9470-08dad228f96b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6WsBY74hgrIgLgMC22L3w/g/8CR8zCrNL0tWy2470ynowJkZP9vAVWq133YKZVgHgBKem1t3tcAXocAP4+TzbAdQqbZyPtXyuPjQeaRTsMxFiqaNIzBwjmUBWbV0loznVc1byKNumAQVVdTs8H5iv57zuRIG2NK8BbOtcPgw87ugbft7yHk1RzIq9R985suU7C45TrHC+Tj/lM1aIyBjhwzjusnUam75S7+kLTpneqTcNSWAiflJ0c0FZ3q4WKyLO0JvPYJNz3av5q13PX1A8D+59ynGM/babVcg5+dLsK24J1ZEuxSogldLqyjXFZqaSnmnYfZPz0tgjNM3VkHtPzMo+ZtR4iGe6GH0YBH/gDjxPkIuaB7DMC5UkPtDiiGfgQSA0UgiNxON+nizC/VDC9CwUQ4VPHmJA90Ctdg8sNksmacwQmGLXgBo2wcCtvylGfgWb/bzJauwb3YkTNaa/XrOmW5FuBjq3MG8VbHJ4vWvr8KlBNjbOU220cjptiJjirC+u/oDq0ggS2vXvh2FtvJJRssQRR53yCvTQ0tO+klHjRYgekH6/Rb5hL0fV8/z12lJ5pGuHctbM+OjtH5mmvXZPn4wg/og5vi5Zq5JVocCR2YAHZSz+SjZCL6aRl8dzHLrGCtuPUk1UtnaZOe491wEeDqP5PnkGhLwEV1wSM63nKlXQO9l2xk/2y7oqo0jN0dAZSM9lsYoiNMImCeuRg== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?byJRqC1P4vz429QosKeOAT7?= =?iso-8859-1?q?BL4YADTmRKj4DSIiPvIH4Q9OVaYw7IJzsGInOFb4Tmb7O8JUKBadzh9fa18r?= =?iso-8859-1?q?DK1Qcyb783TDT/LvdtkQGY6GqxFdBTKkwjuEWAi+L00TE5xNT19udwym7TMR?= =?iso-8859-1?q?SyKazQfewRAh05H9tiz54InrZ1/y8odviWmj2TE94NliJUvle3wLOHPPbGnj?= =?iso-8859-1?q?US060CpDH6ajpGQfrL7oLLx7oF6x1WUpunDfV13dSTBT8xFRCSnFuHCrob/n?= =?iso-8859-1?q?NkVFoJTG3ZDfa76tDoGXtvsp6GvpKEoNAnDjVI49E6ZlSlugyOoG6FQCExrs?= =?iso-8859-1?q?UobBYNhe7ACLfrVNfi8SILAukd4b83VHIu73kJXVB9a9Tizk/leuVVmNqZyY?= =?iso-8859-1?q?eIJG0NQz2h96MUFYJ8OG//YQmbnZuPnnygVXK5PVB/Ggjw07Kpd9Z3FujV8G?= =?iso-8859-1?q?iGR0y63BfwdmIL/Haxfr/6u98NgfQjbe18jlPTCsM+3w7VHtmfgWzvJ4i7yj?= =?iso-8859-1?q?h4kDR0svDNXy7GMhvYBPsBx3wum1qoZghPC7VsssU/5kO7BFR3g4x9crTSRP?= =?iso-8859-1?q?2bOQTznA/wDCM+ETv6juO7ERyu/KCRT1KbmWKrQbvSETAnrwAM6rIXh5SBW2?= =?iso-8859-1?q?wPQ7O+YedShHgxqVUFQp9vzHM/fLWlFvCtY/YZWenak+x4BY8jH6XxWMr6RT?= =?iso-8859-1?q?CLQzzBhkldBQ8w8yX8uEM2Kmv8ZFLFt6jSatuule7S3vugAEAYJjfA4MA++I?= =?iso-8859-1?q?EtOgGa5NaZg/yk8iw7SXNQwh51lpy9ZmtJluyk/T3zKpJUYiRnFtbcO7yQ1h?= =?iso-8859-1?q?gHURdrJ5Zk5Xa9cklzWU/qmOrZYpU9/xu7ZU++KnHnYG3kBpuTMAh+yyfH1J?= =?iso-8859-1?q?ffXuBnflfOlCxdUqi9At+u/30QOqZFSwggv7wchMhtwMm65ocGpsbV7XF1yl?= =?iso-8859-1?q?1sNIVE/yPCFbCEhlfZJ0vBMBeKC9+jLW3PtO1ng3lwy+IEolbXeVgD1Pvib2?= =?iso-8859-1?q?+2/NNVJy+1lX/QFZrfY/KAHJyqFoA3mP7da+6EWsVCKOkdTQsK6q88VcnkwY?= =?iso-8859-1?q?91+hXZIjipBa9PTmI21qGtEVXL6SabfN8s+pNI1ahiRSfXgS2l8Vrzg57bWf?= =?iso-8859-1?q?3hS/c9RPBn2WH49NjTqaO5FBkgKHI4ZAFl0mxAMDQZ6iy5K/38FK46W1mHzA?= =?iso-8859-1?q?dMo0etuVD143we/D+PEtLwL+S5YsqT37fKc0WJhrcTU8uBshcM+WBZ0/ASaL?= =?iso-8859-1?q?xinGikcSiKMFbMZo74OCAzY85naWst/LnQoRZF3I1xaH5WgaILZRvlhaxea6?= =?iso-8859-1?q?5gn/n7+Bo+Z682eeoKFnMRXXtPCc7OVwmS6qF387Xw1HIOCw3VV9xjGtCQby?= =?iso-8859-1?q?etVxppWzaWowuBOtdUePIf+QNhXGl6DP2U6p01HjcQmgBhu7OZ3Gt30DcGYT?= =?iso-8859-1?q?Tq/ycutAsHCKa9sH/meHSZ3bxFKcTSIQRnVQvXSnouQIWfkG1zijjHxQa6s4?= =?iso-8859-1?q?S42ApCUuLsFAhKtsN2ViGczQTH3yHs+k6Ief5HAik7LBjZxEbQqkz3Sh7Li/?= =?iso-8859-1?q?NO6eoZ8xn+W9+y4TCgzsyuj3lzTuxmXLFegiIlGdx+qLcEkD+orVHcqb3Vvw?= =?iso-8859-1?q?hErJi1mYdOE+L3fYHQ+a2H+6+vIHf98wWOAjYtA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: sfKGwvk/SfuCzlKise/d9mOgj7MnYWV0qdr+MYFm/4NK+tSTCQNfhFeYX1yIfhE0iI9Kc16i/VgwyRelKQ/+nLDTyTSc30rZ2vmYqaaywYeGv+F2BhcFE2K6St9kffZYvJ/ueFIo2CIyFk8jTGEbUDNFxQ6Pd/HYbuxKJSGTB3DPdmEFSNl85CBn+7TwHt64+YObu6/CfCznMWUV7sjlK4SasWVEVyZU+oKdNUM4HIm0JA0R7E1dAzQdO1uqSXvHOk9VK0+rZrCs5cTIbO5s2C1cFmGYV4WixDVkj+HY51CxonmuCiFSMAT14uaJjRAZAYjm2zoojCT4MzEH6n1OmDPaCMTWhrPhTcuMn7jQHqQHWVtCdMeQCX+osGCPr0sRMKUJrQ2jzmmnu1W9BGnoTV2KGCsFO+cbkV+UDjgVmz7lI+2ODkk54CdPb7mDMzMqvPY2ZcggYBb0C1vhvL7Vwd16KP9dAOUgRC111b4qFYxCgXcVrs46RU25lSEEUwsCDHAMNdyd1CehjsOmhFN6AFK6CNLLUT2WL18vv61NOI0XCYmcPqWhNKgssMUGWGBUOs/0Ia+SFypMIF41FmFrSloJDRRWsJv2p1UncD1s8SutpbIlPd5v19vukBCpuxsnffP2hn4jUshyoh3v6ygb0TXdRw6kPQPlS2aMS+JfHOlGQgoJ5XJjbN2lK/0BmSWM9V4aK7BgAtwd/08xcfmIBJ0YUKW/xqjBQSmRDpoDDY20JEOKLskL4IigL+b+8KFs501V3IVTnGS6vViVmYW80YqJribWhoF7N6OTux2s8fvyItbVSiXv8g/ZmgdntBTB+riYhYhNE1opXjxpu9uZlhpNWmNDz7x2JogG9WrbRPirCy9ebYEx0e1ZsS3Vp3Gbk4ZqE8Tgp56M94be/M7nPQ== 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: 45ce288b-7e37-4b77-9470-08dad228f96b X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:23.2230 (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: thrNU89uUsNtN+gb0Oar8qYmEcB/AYlXxy1vStvvX+Eb6SMbwEAEMOgjocCEAFn0dJPPkIBc141AQ5q1qL+PBg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: EuuLLvHrdjlbx6L0PBVookTm8wLaa6f2 X-Proofpoint-ORIG-GUID: EuuLLvHrdjlbx6L0PBVookTm8wLaa6f2 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849656400872085?= X-GMAIL-MSGID: =?utf-8?q?1750849656400872085?= 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 f4568a25d2dd..f601f7b7dce3 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2385,9 +2385,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. @@ -2478,8 +2475,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. */ { @@ -2487,6 +2482,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) { @@ -2496,10 +2492,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 @@ -2531,7 +2530,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 Tue Nov 29 16:44:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27348 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449651wrr; Tue, 29 Nov 2022 08:46:48 -0800 (PST) X-Google-Smtp-Source: AA0mqf6XNmlf9FpD4Kqv0pvFqUcxQ7a/lqL62nok9Rw/Ir5RYsfmJoWrE03GkVOIlrRrLscyGMdc X-Received: by 2002:a05:6402:4008:b0:458:dd63:e339 with SMTP id d8-20020a056402400800b00458dd63e339mr33983546eda.81.1669740407933; Tue, 29 Nov 2022 08:46:47 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740407; cv=pass; d=google.com; s=arc-20160816; b=tkEzELgh3Qk0TlOCn9NzY6wmW8UbiMTgDwOQEt+WaMU7aNftPyXPfiHhBWHK8ToU4d 8JTYdahTWVPie5c8CM/vBZSfM+wpuCDOlRNU9dUbrBPigCuOyzMZGBpJvT1w5fAPc0RB 4Y5gsfXD8r9IhFQyJnzfxvObCUlNHYmH8PApLm2h+0JONchxoaiS1Gm8NdY9GyocXMiz qbTCiHRqu6sJ7hQrMGFnja1g6Je8FNUu8hWNQTqv84L12dutpz32AENysNcKa/3nCsgt Qak94JI8sM6CU7ivl4XjDjj9T/g506mSh9gxMYy1vy1PnJxQN7N52YCdGS14SY27qz9S Z53Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=0ERewij8MCkLYisOrcVP4c3U2WBiodItLscmFtT0JNo=; b=r3k+GnKGlhtuUwE5wTcJn9V/DGeCnyqd1WA93t3yL1R7XUsIHN20S6BeJqk6/tyYIQ Zu5t3rfahuNwzNlC7woeN2KqE241a7DbPubNK6JGYvBz+NSXiVlIMjF1ZrxJWQQ6Tfdq UQl3WCm2gd2+lXsfblP8cwC9J3UYyBWSc2abLkBihX1CV5x1uYX1DgezpvfT4rlPo2++ IBHI9TNHJfxC5EUIXL8nsMIR35MpgyJQaLPxWXiYmt6pJl2QFgARkPJ5c4k0+tvlbO9L KfXJksfQC8pEttndoA0jBUDw+T6H4tNOOKC4wDrZIRCytQAIlaq9cqicK19K+M5MNbpP HFeQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=CA6qm2mu; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Y9wlVlHN; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hz3-20020a1709072ce300b007ae72fcabb3si14789801ejc.838.2022.11.29.08.46.22; Tue, 29 Nov 2022 08:46:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=CA6qm2mu; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Y9wlVlHN; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236163AbiK2Qpf (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41476 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236045AbiK2Qom (ORCPT ); Tue, 29 Nov 2022 11:44:42 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8C9F55DB94 for ; Tue, 29 Nov 2022 08:44:39 -0800 (PST) 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 2ATGP2cU031397; Tue, 29 Nov 2022 16:44:32 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=0ERewij8MCkLYisOrcVP4c3U2WBiodItLscmFtT0JNo=; b=CA6qm2mud76GQoPMbo+puxeCerO6ouEMfpWsnjTYX7IsizPa9EJ3hS2iRT5Bpjz+N5JU u6yXPInkAGDyUhtGMXzyHXuEaSNBYUt8TP31xttv4Ns6uAyzjIJyIcasZo7l8ruYlx1n uVdBFNhnzObjNpchbjYHPDF4yIre/+Ced1w9shu0dJEsvbE2XWHPAMPtnobOa/6qzUh9 XyuCradjQnbPV7n9PgKdLKmjc177RlGo9k9auf92iUn2ReHdjm8HpgR/O4AXshpIEDUE MwzC/JsE0WVejXQIVPw42MKZ3k6I79rluBWGssEk7xF4oDj3lpqujMeMRb4W8USF5kPn NQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xart-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:30 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFQMIZ027905; Tue, 29 Nov 2022 16:44:28 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2105.outbound.protection.outlook.com [104.47.58.105]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2a8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mRIJQnnOkbpyg3rVmEPLSzA+cU7PBdmYIDEEejH4oeJuQ9ijN5hkIx1zhZEdRrw11e0XMmeFxluzugmdS5TzB6dtqujykqZ2rGzClnQMont/FhG740V3RUnVsGfEM7xmEHQ+ABflQGszB8HOjgMSGYZID6JMLFs018NtYbEw4beA+z+PCyyqEayLHWkVyvQS8MtSU6WaXOPuuOnEpcAta+THVBGOZ7b4k9O29Sx3QGzWmZ82kpEdJi6sSMQux6wOUWApVvice3r3bcsk/7+CjLrW0PKMtsQxB4RAkX37LXofmZKPa7HJ1HwFhKEeAdMoXI2ZSDkdctaltHL+IcTUjg== 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=0ERewij8MCkLYisOrcVP4c3U2WBiodItLscmFtT0JNo=; b=FfD0gTLuVj/fQnqG6LOKf55S7sOO8h8PoMZEaXOEqXiK/Kpf5LQkcChIB1r1KOSo4u0ND2cxTsFXP+WCu9tiko1DMksCKmS2/Jlf5JTd/wZWWJBNWOHPgNvqMqi5jOx8fFVYvUCvIROc3FrxRVvonhIUpYqdKMVHlWlg7GIGgdpl115vCx472jL2elhQr9/XlQtR58IWJigdQwq/3ugqJSJ9+JNmotm+AqDppE/iMbf2Bic3mxNbzL5VLzUudP/niqA76tFJ+vEcZBh6MxU6FvCcc/C7vdSrhcoXh5aLMWain463EFFBU/OrIFIkJLwK+K7HSSWtswwRn+Aev4WBMw== 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=0ERewij8MCkLYisOrcVP4c3U2WBiodItLscmFtT0JNo=; b=Y9wlVlHNq0639J3sY7QiIdDEPbv2JWyjTD855wCz4tS//HUoyMep9qZaGgTa9Z/wQ2R1B96NplInEVnHR6PWDj/RndDwWrjEfqbOx7dRh5dNlC2meMrw576nSsyBIauDV5UddALEWDvnbArNp3pO19ts6YjlcnNK/t9I88ETvjU= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:25 +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.5857.022; Tue, 29 Nov 2022 16:44:25 +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 10/43] mmap: Change do_mas_munmap and do_mas_aligned_munmap() to use vma iterator Thread-Topic: [PATCH 10/43] mmap: Change do_mas_munmap and do_mas_aligned_munmap() to use vma iterator Thread-Index: AQHZBBHWApe0F7SRwkeNx9Ww7aOieg== Date: Tue, 29 Nov 2022 16:44:24 +0000 Message-ID: <20221129164352.3374638-11-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: ac972d83-5e08-4b55-f2d0-08dad228f9ab x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EMgDYpcvdaQbvS9OJ6GmnURwEFs2a2MCwrK2hyqqrKzRZThykyQMIOMQqQ69511KE+L2mD+ExSmKmKJ4DNjgpbMfPD4bdfQ7sWTvOLJzFaIVxrg7+T+qrwQb9h5bTEGcVvkoGs2aEtjqvXNKKyv/5hfOgu7K2uqD/kelU5/rWhS5xpg0jQAwUzmObuDjmzewuTSe2ehS/Rs9erN80KWbaWpVfbsbFwOvgAKKGKs+FtLoirQMANQI9B/5lvByeDju+sbAaiHm82UhZAHRLQQ/7T1Nj60WuugO/b8NGRGJE2S7C817Qr5YoOJ0Ux9cpfsAS826EL6lrXrYhGWrMWQML6yaUucx+469F0rUI9K5yw7rPfJyP5hW9G+Bdw1k17nQTRNqBM38q22n6XSWX745OWYOnUbonwX9IlHhdZ7C1VDVGbJxGuJRuaeGSKoO3sHTaoa7XYPB996RIphZpHgj+SfwF43JLSwjQlCTPRLCryUuFDN5KxoedpsC8zOCZcLab0pOm1HchErt87zAbmN9flp6C8xeSyOmdP2g9t3eR5hAyh4i55VjH6Z/QyRsOh4dE8w1upE8BBfm0sZ+nFl0hQQef5eNtSYaZUlEibY99d35cv54FOQDYP7dgat7e3IwbL9YIeN1BkmXaAncWyGElo/+TOYWvpfXeMjTSsCbP7nhdDtfMgfBEcrNp5dWbV0spCZMxsMM4sM2vRndeZaNNQ== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(66899015)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(30864003)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?ocOJZJc1dzsyttUBXg0N8T2?= =?iso-8859-1?q?8XFSJn7i3Ujqw3ListcvUR5BZNybzDV1Z7gFH03votvFkCDeTcrInV3hFdyU?= =?iso-8859-1?q?puf7UWa1j+0iaSpKuQ/BYBpWt0hLGupkJwhm6ZpTegdX6bxU6eVHOABUBpvl?= =?iso-8859-1?q?2nxF7WE/8ljZn7y8qvNzTFRwA4KYqTXXccfMLnsyGLf2nOvK3tBGppLZ8K3B?= =?iso-8859-1?q?5nTM2508MT7v/DiC/iFe9hsJVw80uVUkBIo0J8Kb1v1ZLpbKH8z4m7vw/kgH?= =?iso-8859-1?q?sLQJcHAUBxUcJYgch4xjOaiuCXpeo+BbXt7YqYk3PKmMuza8NS/4h1zZRGJN?= =?iso-8859-1?q?gadjaJmeYuWBi7a8wg0Dm64Ie2aYwSpZpq1I5zx7zLvpZxmr4odQtEoS2mSX?= =?iso-8859-1?q?vmwhFDS1O+eoJxkbC/4m4X5aGTOIN7/hFwmsqkcuPugHL4a7HTaM0H/kCG4Z?= =?iso-8859-1?q?I/fM13xW/ukGJiGJrBxUXF3yw0lew2xD+9hYtnKWOZ1lepe+VScz0TUG+Eo/?= =?iso-8859-1?q?dBEMOMSIbw3K5H1KRTAtou9FaPfJXjLCrk8HusF0CtxmVsj6qoLh3uiDLU+D?= =?iso-8859-1?q?k2YFaFY0l/M80VqYHl21LVAcoYLiniwQ7SOTKrEEorhrOckWrqFelcN4UL5J?= =?iso-8859-1?q?JJfZCndSl2YqWQQlT0LAPXrqKjZ3anDAJWo/mGsGfhdb/frECFN3HdlczcfZ?= =?iso-8859-1?q?bhhBB1Y3BTXu+hLzWdHFQUGesCFX4UKlY0E9N8hXIBTmg9ifamhU+Wk+m88y?= =?iso-8859-1?q?L1lv2C8MBx1+9hgKv5fK8tdH6dcWGYJtKpQ9k7XWdxMlxogz6Bmg147IxYek?= =?iso-8859-1?q?iAx0RydxwE5nXc2QD+4mVjrKf5aCYijFlNLpJ9GEBNznC4SmS9ox2i7z4ZNd?= =?iso-8859-1?q?JLu9g8xxw/brGgwSFcR7Ob4j5Z2z0XaI3u2KsgOjx+EQXFav+aLeQotzEbVq?= =?iso-8859-1?q?fA6sGHsVRFv/fdyQtGHa9gpLTjqpLdhrTiScOSsWGxFBdhQdtmvJC40hfIao?= =?iso-8859-1?q?6eYLMl8Ap2r9S3YS7AijhHpsiF613MgdGD3qNfZy2De2+eXCtsg58jkNRZFD?= =?iso-8859-1?q?yZJUHIzECWRlOrgcIkPBgcfaYaVxcZ/5DkW1Y60Bf2GEsHWETYjk4J/f+68I?= =?iso-8859-1?q?Nf/A1G4ejsfkZvcGexhdgdxIPSh0bSsVr7D+KPFysmoj170WcGnndRyI5oW9?= =?iso-8859-1?q?xBuoi69ThCLPpT8pYa48/r2nYS094iGCuw73fjYFWJDzSSE7riFhB9RKcIrD?= =?iso-8859-1?q?xFuhFBVDqLQ7qooWZHFn03mGMpLwyROTM/wKPIUxPYTPctajAOE/MUIc9b0k?= =?iso-8859-1?q?HYaWmp9zS3Xig5coMAiOqdegkWb3UygtsxhKvj7P0rFUlAffgDXJqz62ObGf?= =?iso-8859-1?q?ivVSxxxrkdHXEmnqBg7HqdyPtC8rzsH04bpUzK2KqQVKzj2JQYv30evnUc4w?= =?iso-8859-1?q?iy5mY8bFNBEQaQZRyKVTWXY0NjdKuzweWrKd49U4hvx+BOR5aY14jNux8rlC?= =?iso-8859-1?q?cz82/W4YlumYnNd8CUS47hbcZhSiZO2qITDws5ByyZEibPa26DoyZXjU7kX8?= =?iso-8859-1?q?5of5PUb0/buarLXsMwdLQDUJR+S8s4x9OyhlLctGJuY0l2CMSadew4T9PnNP?= =?iso-8859-1?q?d7W/OzDZBRyPSCktjKQatzvGPGvwuuY1V+Zg9lg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: PhHmf6K6GeQexdqY0CzfQO/6aouMWCqXYP7P0tkk+Q+o5AVm/q2GDiw4CDaHMzi5D9L8bXxwhY660gZUWmqWJ9Czk4CoIEERgS/VZlbYFMJD50bu5Z3WFPiyYimM+ibRnZjdVeIcXwwJLj7hJpXnf42ut+dyeQyMlnJPjBoZsSYeQup2d0xRMZrewsJJPWcY7FugUUlKOSw/QwQSN7A8VtQZSzvfgsveOA1HhSz2uQVE9+tqXgsBZ/xBpJm7xfpxpqLZSo+gvJ2TaKFqcF4Nv3ZftFpWbkHul81dGGEjpC2VjShBndO8t1suEjP+RDpay8gIZf7DSrqfkDUf1jwJSvv6OVEhxn4OJTrGGkKov5hQ/54THhWCGqqdngGnzyJW0PUXQ4/uPEf6jHh+PuZQL/okb9KU9jaLzNNtE9Qat8mF/Rl2Ji0jeg7Oop8Z19VlzqhixxPG6mlRLEF/nklgAPdvGf6VJiw2ARBBGr2Wi0LiB7nJDA+4/FeiNSIeXrQJTK30DEggu86Iv6lmU1mE5P9/2VHw94z46wruk+96kX6WN8WmaNr4NHccYtiI71TpJktHL4iQUeqG9BV3XYkHRcDZL2hN4HI/1jTk/rBNcpXEtj6UG9MJhQGWH6K0EtOD+/78IvBSVTgTuJPik0nmBfW2t4FLnmm5CqQ2ea5pZt1+N95i6FX2PhT+j5R0JEXDkFyZtnTWwWtkDFaX6HosL/AciZknNlCOyNadMJVCmmuA/MFtntK8TOh0S0EBUqqnyy4izt+RJpxFMnqD6k6eSPD7ZniFaZ2BCOVJaZdPvQMe2W6Trlizo9M2t5PLGhctViucgKj7kCRQZ7PFpSdx3hvE7++wsycj0JgOZWX/tTZRGE0J80Pe225X6Muf1FE+cXXpZA5xlbf5S/7zOROsmQ== 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: ac972d83-5e08-4b55-f2d0-08dad228f9ab X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:24.5667 (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: SiA/vFBVfSsvumMxsmQkDx7OgOpUGULwTbqrrJmce/vgz1vcU8JSlOTEkZ9OZHOgIO+d4PJRPr9iLgsxRCEPIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: VNj3kUAKQeoI1dwY4j8Qp_EMfr-UeXFF X-Proofpoint-ORIG-GUID: VNj3kUAKQeoI1dwY4j8Qp_EMfr-UeXFF X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849718318368936?= X-GMAIL-MSGID: =?utf-8?q?1750849718318368936?= 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 | 75 +++++++++++++++++++++------------------------- mm/mremap.c | 6 ++-- 3 files changed, 38 insertions(+), 45 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 2d3a49ba2261..c347509c5f9b 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2766,7 +2766,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 f601f7b7dce3..e2701bc92c1e 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2361,7 +2361,7 @@ static inline int munmap_sidetree(struct vm_area_struct *vma, } /* - * do_mas_align_munmap() - munmap the aligned region from @start to @end. + * do_vmi_align_munmap() - munmap the aligned region from @start to @end. * @mas: The maple_state, ideally set up to alter the correct tree location. * @vma: The starting vm_area_struct * @mm: The mm_struct @@ -2373,7 +2373,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) { @@ -2385,7 +2385,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. * @@ -2405,27 +2404,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; @@ -2434,8 +2429,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; @@ -2457,7 +2452,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)) { /* @@ -2482,10 +2477,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); @@ -2495,8 +2490,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; @@ -2534,8 +2529,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 @@ -2549,7 +2544,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) { @@ -2567,11 +2562,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. @@ -2583,9 +2578,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, @@ -2601,7 +2596,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)) { @@ -2619,7 +2614,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; /* @@ -2632,8 +2627,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; @@ -2661,13 +2656,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 @@ -2706,7 +2699,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 @@ -2752,7 +2745,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; @@ -2765,7 +2758,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) @@ -2826,7 +2819,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: @@ -2843,12 +2836,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 @@ -2980,7 +2973,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; } @@ -3104,7 +3097,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 e465ffe279bb..841fcc70e017 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 Tue Nov 29 16:44:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27350 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449816wrr; Tue, 29 Nov 2022 08:47:04 -0800 (PST) X-Google-Smtp-Source: AA0mqf7fN/ldzwkwl970XEApNkoBna7yvH9C4xm8DZVh1d6eXEKwe4dkgdbWKY6SZmJynShBD5ay X-Received: by 2002:a17:906:3a14:b0:7ad:79c0:4662 with SMTP id z20-20020a1709063a1400b007ad79c04662mr49129324eje.400.1669740424320; Tue, 29 Nov 2022 08:47:04 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740424; cv=pass; d=google.com; s=arc-20160816; b=aX+BstlnUgqXpwuJFvYpGEK1gKN9j2ITx2DyryoixwnJyJ/riXWsnyI9Vm342DBFYN ZGjEY7xesVa+wbFCuBECZtElIjFAbzjTK/Z9hYk0wdKZBrzzrL3IOM4FP6phTjzyzL45 j59bhfcLEf46vIiFgpNv0NpWCAzLnOrg0fZF7EZFifK1Pd3mInA2wptE57+iJmcn4+b/ z1GMmL+oRdNQOsDP1/TJTtNBDAvQrqnOSDgpN1dRT7Z2zWyupmXgbgRPdxa5OVeczniV JQt04h8XGYwJDd+By1yRMWcyksh/n/2VLJU/4t679CRQOAmwtQbvRaX5J4WIPyN7fRBd eVDg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=iMSiY2Kgt8u88AkVi87ujqKYWqsXBtY0fjn9cNqk3nE=; b=zNrVkB3lUPGewFZ1QPuwaW4DPOHAyTVL8hXp0lgDnFqyn1Rzc5Qo+Ma/niRpFTRDQ0 +qbR8s8ycO30YPe3v7C89+nsP10CDA0GmvuDnF9/eqqT/D0o335eS1aBEK6IurHKp39j /JrdmKY/5a1oFtJwV2VTWXi/n0Skn+Cn6fjmwnWk+W5KML7jr/VpLKrtwhKZAkP+6CcE ii0zkMO0fO9EiW+oMgAlc73a0orxeSpBmdbt2R/owvlA68CbS5VQ5U4DH9FzAG8j+MZN s8r8a+/bKRsJlILnJisEbJUh+7oMe+QVHd6uO5411aDkagL4y3iXhNTvxHZBOVHjFohH O25Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=gtgG+h2s; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=lCFNIz9X; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l15-20020a170906794f00b00780488c11bbsi13020620ejo.388.2022.11.29.08.46.38; Tue, 29 Nov 2022 08:47:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=gtgG+h2s; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=lCFNIz9X; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236177AbiK2Qpq (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41470 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236051AbiK2Qom (ORCPT ); Tue, 29 Nov 2022 11:44:42 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E6B47450BC for ; Tue, 29 Nov 2022 08:44:38 -0800 (PST) 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 2ATGP2cV031397; Tue, 29 Nov 2022 16:44:32 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=iMSiY2Kgt8u88AkVi87ujqKYWqsXBtY0fjn9cNqk3nE=; b=gtgG+h2s0TvsEG2IADsyWl6XMHWU2iXBb9OR7xbT/l1JeNSPihto/0N2a6P/AM8/iWzX zuXLmu9nuyrZcbiVoBy2OYVMQGr4qKRz/C9zAqtj4OZN5PmAq2N8U9yNQieja6/A1Nw+ bchpLHltiFUMPnv6DgRiMN5Bh1ydk/yl5Ydj8s0GSsnwscrkhOPCXVVpjTJwK2PcsYXm BCO6qnbSr5fiST+4QPSHNQZkuTNj+nBXGjFvftvcDjB7Jjn+EP0C/UaboJv1u67hoAqU YwfQWX8fZGXUbxE+gfYpd/rDTxhh9nxjiJu5hMhLzyHDrttrdCvx223hCg0LKkd054Cb lQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xaru-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:32 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFQMIa027905; Tue, 29 Nov 2022 16:44:28 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2105.outbound.protection.outlook.com [104.47.58.105]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2a8-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nt/R1xSwJk3ZTgG5E5cK9pRjMniIbkp2pvhjVCghQHzjx+yThYmD+SQ+q9JrbS+oAY1/TATONJQ8tI9XHzMYLxnHc9jQVl6tuHaJYffjrsS4QdR6h1E+toFsLsbJ9o69O4xqha3mF1OpN+5VKM6fe6L1Okpmh6+UcYUQUFzGAMzAT+jco/JGGj/7MZ3ZgD0vLQCC7+kyQbKvD1KRSTFU75s7IxgRG3vNjRvco1+fjdRLrB4nWgSZG+Yn9ZNdOZ8SsMouYMlhfVEwMdbs4oCSAA0MaTUz9rD8tv298HEiJawPKCpw/Cq3o9SD4KHiCaceKDahLen7WNHv/EjzazUiAg== 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=iMSiY2Kgt8u88AkVi87ujqKYWqsXBtY0fjn9cNqk3nE=; b=cRzjf4W/fGovPmE17I9+PcHTjXtrAYB3cjTqXM1yXexJA6dpeQk2jOAHXxuVkTjAaDmI1W33nHEXtDpyk5VxmXcnviGcQePCkg2lkHfv4FZBAvdYp6lm7mX3i+hYEkVu1SLGfQcEIfIdLa6wcGFnD+agnPP+7SVpUT9LzpnwF0UkyEvnjI9gvViVX80AKFnQUmGG+OTtTNekVp11ANN86+XJhv2WPIzIlZKaNe+yBqFVWOycnDhlJliyJum7CMQlFE099Xn4HQcQUqVJQB6Xuczo2/iLnsvut3CfkhZ/LtkdeOPaAW5DD0HpJacSM86UuBY8q5iVU5GN6I3KqmXarw== 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=iMSiY2Kgt8u88AkVi87ujqKYWqsXBtY0fjn9cNqk3nE=; b=lCFNIz9XmnYmBB6tbdBU33IY0J88sa1dxT88VhCkakWQJK8W3mYHcdlArVUd4mJiJgMa0I4TQoqwszvzMELM7R/FRUcnNlVcGprUUmaMEbwN3KBVSpQhWUyEHyRLi6JavfbRFgg6+A6OWLZtkAK3Ovm1mMCOP/V+F/mMnB7vpbQ= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:26 +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.5857.022; Tue, 29 Nov 2022 16:44:26 +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 11/43] mmap: Convert vma_expand() to use vma iterator Thread-Topic: [PATCH 11/43] mmap: Convert vma_expand() to use vma iterator Thread-Index: AQHZBBHWGrAasNG0ZE2gooJ8S2qJig== Date: Tue, 29 Nov 2022 16:44:24 +0000 Message-ID: <20221129164352.3374638-12-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: 5ba2bd15-f94b-48ed-7839-08dad228f9f3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 24/7pc8ix3rNoeEcLgFExK53zcpyD5mfWjttXCqL3XGZOqoirwGDkQbGAv0NDmUWaLS0en5+cKj2x4zsr9nYtfVEaQELmqeIzQsP43avRtkk9jvINBxTfHKOSAFKu4EmpAMgbAONlMye4K8ikl2CyMik3KDbc/Jqqd9B359k4lhE5mT2JZEcG/hQ98rx1fmKj4J7Yfoiv5zLaAxA/zEXt6ZSYl3v/fHRrpmxqiCjdkxNXp8MLtuvaM2HNE/adf5IsMQxJSluXJAc1LGADM3wM4P6GTALgKm2BscRYiQDrufODkoWPkMQo6iIzuUENLsCpFyvfhWGnUJz/lM60DD2rYn99wPtR+y173kvuqW0rRhbtakNyOdYcIgUPFKHfbLLj62nTjgBb5S7rDPlwhQNgfFkaoAT7YJBkEXE5op0wUV+BE9K97gTpvx35rApC3MOrQCrYuSWNqAOR0Pz2OhnWIMWmvbjB+adm0A0Fqo1A0+cdUE6G47Djx4ZZ5OZesI9XDQ0gk7vmpMr0zJzQ+hAIZAlNYWGAKSpApALrd8lJ/ugBjpsiJ7hUhP/3YIY/NtvkCPwzNFeo10nnO1bh8vEG6PJ4Tn01YtQTPcoCMVHaPf7j0NOm8ExyCVYffcwzXzQVL4HWJsv4oYNjerZE3mTkVPB+r1AAIfWVVC9aA/ZfXDIbgeJ8ZV4ubvOArK7New+7U+XFanUeohryw2s+wQHsg== 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)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?U4DhNDUqhg2ItnJO9mkE2Zl?= =?iso-8859-1?q?HFJ+TcG7k3ZExKOVH9v4lpbhTiBZo4ZCnmw64v4283Lk7PSXLxseiUHY+6eS?= =?iso-8859-1?q?dBiU9ksWs0YxkI54hlxOXvwYPbqip+Iqto38b1E9ET9Fy2MMQT6yGzCn4SP5?= =?iso-8859-1?q?DVpZipCTaTCVpdcdVmZxJC+p7NYmSdsgpQKm02GO5Nr78fSGI8jUBGFtYbhS?= =?iso-8859-1?q?kSO8DB2vVlOLkSsh+QDYJ9SLxNdLdwA3oMDrAfKMxPGWe1hlPa/KXmI2UHEq?= =?iso-8859-1?q?eM2dZIFqGbElSXZ4Ac0Wg9MLdgKBVbRGjJfOeffg9vULN+3BdFXn22x+3Trw?= =?iso-8859-1?q?Iy3iuloNEAnkok/mYLOKBlchyNPOlZrtnnMew9auq1xeS9AXapgrtAJrCuxL?= =?iso-8859-1?q?G7M4uFTFvv3U8TgZ8yHYY60jvvQ0jjnAonDa1cYpztmBJX/VOLLS+pRw6z/2?= =?iso-8859-1?q?L3JXVhdxq5zqrgrhf8+6JghVhDb+uqeb7abOnQKd46UlgSWR5JJzHJdWZx7q?= =?iso-8859-1?q?8FKG6PHA8Azq8mHLQoO0Cn4poI2C5KLdJ7Rn5BcN6hrYjxqpSY4QtaEPlyGf?= =?iso-8859-1?q?Ak36BSFygi3dOZtRSDr9l4Y23QyUeOgNKR7QmiAnktW/T1MXODr4zvsBcP9e?= =?iso-8859-1?q?mghvFFBVqvDMsMLrZf8lWERUJ9vcxx1IL+6F+s4Mphjaz9u1/gyDx8ty4htO?= =?iso-8859-1?q?qfKUQLcCQ8IKP9x8RnwqblziZ7PibKxOZWfrLz6knJV0OBovAJ6j5/bWxrR5?= =?iso-8859-1?q?+iD2Xz/Fev8auXMVRBW7UpVlsfkdpj36ANc9yr2oaOKHvjPQdEURIMiCTZ8H?= =?iso-8859-1?q?Q1NWBEfPS5ifu8FY7YY4VYIw/yMraAQD11Rb/t+7snFZ0kxnABEt6e1doXxF?= =?iso-8859-1?q?5SEIfqhhXg7Ao1N+OrXC4imjg27r/O95IlMykyyN7a4j4fl27LiDx1uwdBUB?= =?iso-8859-1?q?yS7NcDaNMZdfkWtN5ELgr11dBWtSXtWkEp3SnQu96r9nYMpQWR95lLfgtjcs?= =?iso-8859-1?q?41XoSQpHVHxxxH+1unv9fPS3eViww9JmwMvbtTKZFUvPpIl2GQmqx4ByakpT?= =?iso-8859-1?q?qKHGpUuRHJqyzLbZarPAXEZ8p7gnTQluJEdv0GWV2zqPUJyxauP93TZo3l6v?= =?iso-8859-1?q?Xfu8E2SEi+EFaODqk+uaGNYdRgtCSTBVxMeHMGztGvBj3wFlGig3NgJsAPSl?= =?iso-8859-1?q?VM07pw1etznj8ROADHiLeSbjGUIGc6E4HzrxRDgPKq0Qzj0oOzxeM9JY7E/x?= =?iso-8859-1?q?cqYAmHZWrajDrhalQ/nJ8zumqT82Sb/gYhqgqAVgwORTMtEd/9hDkuQiQsZv?= =?iso-8859-1?q?qpgCKOajzd2IUb1bJxMV8rucrEY2mszyguBbI7vRSyE7IuK/XioJTpTbwG5/?= =?iso-8859-1?q?tJYQxxbz58M1uEsM7SguB1biLDb/MRixOS426tjsr1gp5JfiTCUZT3uEj4V6?= =?iso-8859-1?q?OCbqi88UNP9KW6VsotP1YLmgJE23rTy/VQGgcT6rcBi8olN3I9ac4W3IqMU3?= =?iso-8859-1?q?bEPYejI+a3/cZTpE+ns8oIwuktsLcbSscPUPHjPNkRDYoju4Ajo7Wh09zU6P?= =?iso-8859-1?q?Rp3T15QsAEqqcs0SIfqHkvrRB1lVcjLZqCdAwoSVzuWOHWRDWe1ep+IQOGF0?= =?iso-8859-1?q?SjAyrTeZ9Qm7x0SOvJRBcbsi+r+f8ZRP14DlBsA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: m6czUX7qhtE9yBZp+4J2C9Y9dxdo2oNdNHSJ+vj39T/4cW6lg2XGlXgj1IVex/cxXc3nqRIgyalgkfcDWIC6e/c7ZGB5oJQdwJZTXf3oEcedAXwrCMqPix1sCpjB540qIYOfhGItcQ1a6edWdWZ+a6ohUfFz/ahlPGJmP89xNPgD5zttVK27AS1ZRf0mjv6DJUvdq5WQfLvng1eesSDppYY7z/O19T6eozD8P27dXHDQZhIkkNaL348DYjtgW+JDf2Ytx+mH/cuVm3cU0f4pf2Ee7rcnSTj3lqHL132mBqayCYQUxrBqOJ98AkWUvHF6dmA+cL7tZXE8PEdeJHEKRJTOD5u0Ia5Onx/mNqrDuhfUp6Y2t7F6unu6+Mf2KA2s/sIJ9N/AJ6j9q4M6V4beCiIfhPXPfl6KCz3C+TSzgM60FKVf0iSIP/GG5AdT3cxXh/okW71i05SbZR3BF8jkRl5CHbwc43OvayVDaYqkeGSWylKKTbt+pZUPc/zJnDM3Gp5xQmcCtYtB3frBFIISegOIIGPaIwPek/6z5bkhudnVccdB0EuIC+V9gN01PxdFWIPEYnes1YjAxwo7hso+nJix3winEnuBN8MYIZ1wyMSGWlGPM+mfA0YCNSwWi4MPxy9fTx9DTa+v+KG1R4zkT20FAOsvDJ++7j4ch7RwMVSWCrHLBtHTDRobCRoSirFPrMVAOzelkwJooYUAQA9EbFd4JOS0q8GsAL6Y+PpXjCnbxikWL1G4sVpIn9KbKEI9Gg880+Ib/EE5XVPWJRUIKkj4HB9HKGKwAq12fDqJNlwz6mVJwhh6xCgzTdSAfkvkOKFppFtuhHIpbkb51Xwd2Oys/KvyHNdxdNPFwvcGaVw5yArfcxWPqfM5n6BXOqpkVzyTXndtBRf4T4Bl7ShRMg== 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: 5ba2bd15-f94b-48ed-7839-08dad228f9f3 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:24.9261 (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: Tctl5q6tNbypH3Lrg/0gOAU20EYD9qXVCSI7wKGCUlTX3QBYibea+CZWoOWgtpRrI+5rcTE/31nNnPdLdnC4YA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: 7yXvXFOj9-zYp5TS_2Y3lyCsTI1fuw15 X-Proofpoint-ORIG-GUID: 7yXvXFOj9-zYp5TS_2Y3lyCsTI1fuw15 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849735537581377?= X-GMAIL-MSGID: =?utf-8?q?1750849735537581377?= 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 e2701bc92c1e..fb9dd634b1ba 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -584,7 +584,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) { @@ -613,7 +613,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); @@ -638,8 +638,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); @@ -2656,7 +2655,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 Tue Nov 29 16:44:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27357 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450213wrr; Tue, 29 Nov 2022 08:47:59 -0800 (PST) X-Google-Smtp-Source: AA0mqf5xXXQSRiRuK0djLr3SgKjs2X2d+39V+sn4N4c6Q9loYsFqJ4fTv+t3DZLxFJ/GH62qvhZU X-Received: by 2002:a63:1f21:0:b0:46b:2bd4:f298 with SMTP id f33-20020a631f21000000b0046b2bd4f298mr35392140pgf.135.1669740479563; Tue, 29 Nov 2022 08:47:59 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740479; cv=pass; d=google.com; s=arc-20160816; b=i68IaE21YEJIUkIwo+53tKjBIm+iJB6r7I9XonWKqytmZhgQlq7gwMElleRnZDK+oG LM4D+KMS78U3UVVA2Umqx9VNEAGPjrAMpwAdlQsZjYo1xUERp/rmwAS/uyOW+NXZj79d cYodkdxDtLJndZC8XEdGagVaxQXLmO5YR0oVu69RlSbR8oFOPQWYzPr7KeFBls2zJPoP rer5jJoNxHwJjpJdCP5W+YjjnebVG3ACNvflkvAN9G8BRjrudrHgEJ7E684a20a5CD47 j27UGdROJV4ps39tSQsd7DRSi+ZWJZehTNPIezZ46/j+XdGghc00sSLAlpRt4lMyIy+p 2Zgg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=4KYrszjLtjYGDVaIj/ev9/wJZ/P7KwJvYJzh70J2uRk=; b=dMA/4XC9S0yrggxmcKG6aLPjHqQ/6EV7houcRQ78qROUy58MyHa++REZ0IhzQYWlbs YQhg/SPypDnx+Am6l6gCEpH9+3ie+GZl9X+A8v+HUEPIK8JC5jqrWOIYeetlmSZAMg1U vEVFrxDYKlTgd8cr0Jp7VexnGBLVCYY5eHqiQy94mJcgl+UqoVnXsnTf4bN4iIBP7efq dPQosxylnh2lL44nNLThS3BmQGLPeKlGr9G+czLxnYNUtmL7kjOTSll5UoOxSDk0ABda oiNylH6m6EDP7mFl7xgtQi51MGeqlKp6/E8ZqnFU0B6EqtyTxa4BVIWn39OIXn4MkmSZ RLFg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=0v4ydw57; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ar7mQGmG; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b16-20020a170902d51000b00188d892999esi16306440plg.521.2022.11.29.08.47.44; Tue, 29 Nov 2022 08:47:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=0v4ydw57; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ar7mQGmG; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236218AbiK2QqN (ORCPT + 99 others); Tue, 29 Nov 2022 11:46:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236096AbiK2QpD (ORCPT ); Tue, 29 Nov 2022 11:45:03 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3CA636456C for ; Tue, 29 Nov 2022 08:44:44 -0800 (PST) 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 2ATGPpWO012335; Tue, 29 Nov 2022 16:44:37 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=4KYrszjLtjYGDVaIj/ev9/wJZ/P7KwJvYJzh70J2uRk=; b=0v4ydw57MAZXT4eIpHhzpKdtdytFQBGR6Y8trjR931xG3jzEnI+SqA/Xsa0MaORYIjR6 CflGOUC7PZ3Rdc/NwNg74MyHGt87WH/UrkiAFtSja6FekPDKx72ilJQJhaSBAx8glLsE N9NZu2aIbZXCfyOs427KOquM3lSFZCH2M/E+pGx2g4KtGHuPgUP3fgyxdAEc0gwSsq5R sfTa+8U1WKiZZCi0tGl5GXPSouyYsls1ZfwIJ3LWdZ7/Io/v9yQGl7MO3EYAAdxC9AyY zcgflBeBbfWWZ8i4AQqBdt+bWYfR4TklZ7It+bpAwTjwOIHl7KoSp40xADZRgmmJvGvM Hg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn8y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:29 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPa027963; Tue, 29 Nov 2022 16:44:28 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OFMCwxt2eoTQiPjPQ2bEX88FKDvEzBbyRRTpRO4tfp6uytdzl9BgfuELV3y5eAb5s63Yjb1Rm+7dtq/RFpU4pKhzxPOdIVnxjGzG40ElGNi8Sav1mjdYj9OOCRXOx7yzvEjRKtadqtYw9kEDufP0jDA9F4cIjMeS3LWK6rE8KUj/Jdi6lDGtJu7rN+EVwHidgVVuUCeTW048S+sKXOfp8fBraCRaUDjg3PNAXZCnQO5LBeChkZ40NIAo4XzD4wBMEOEtmgppG5k94y7EJFzIUes49B6laXgwiT3+toDKGngeNK5jakMMUaNRahV3/XkwbroXH+AMwqgwp0KU2L52Ew== 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=4KYrszjLtjYGDVaIj/ev9/wJZ/P7KwJvYJzh70J2uRk=; b=TwNGcoOUMle3Jce+kSBwiRmCN3jo/9usqw0UZSVqjYvjTgv0jo1J9FErhP8Gsja+WTlW53BoLQTu1aVmo9HdVvqpvo56NtzIKO8y2UyIJbdxb/7jRRCc4H9jt0fLcWH3lg3O3Y7HYQ/2iki973y/Dj0BvFeiZQWU/pYKkF5wX/ukDM5Q8NB/ZcRDeFrc3Q3++7Xr5ji1p23E2EL3AVNyO0RJU8HNeE7S+3TLZy3Nl6Hc/HtjgI4EfdKpW1LqensyIXQf76vasGPBKkEs0dMpgVoRI6a7WqW1+I1/U/OQvstJBkwX2AcBrvRZBbt4+KWMc2xjdIW1lYPUvcuJat3x2g== 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=4KYrszjLtjYGDVaIj/ev9/wJZ/P7KwJvYJzh70J2uRk=; b=ar7mQGmGWGGnOe8GE7xPkrDysNDrM+BoAQUPkJWDHI2Anb4M11gBZywAftifhPZAobsGXeKyYqv7ea2dxbX8xF3LH0BYh1QWte2v0kBvkFnJSB9rvD3He0NA4WuJa4z41GNaCQ8M0xV3SdLQp3sdWnkdbdoPIytZ7diMfHiRy9Y= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:26 +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.5857.022; Tue, 29 Nov 2022 16:44:26 +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 12/43] mm: Add temporary vma iterator versions of vma_merge(), split_vma(), and __split_vma() Thread-Topic: [PATCH 12/43] mm: Add temporary vma iterator versions of vma_merge(), split_vma(), and __split_vma() Thread-Index: AQHZBBHXlbmXtJJ19E6sVmDSed5CUw== Date: Tue, 29 Nov 2022 16:44:25 +0000 Message-ID: <20221129164352.3374638-13-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 3541ee93-2d73-4ce6-2471-08dad228fa42 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9i9SSudI0is5pQymK+2o0wIKBVrPROQo/t9AxNR4Iakq9S2vI8v0gMa//G4XPpY/PttlKkjtEOkYlyyQF2WRVNBN68eNYLFqGA6ZoSxiffOwmibrbtF0Avi1N92V3jUUFzFOPbudOhXBtJ+tyAOGU8YtejuRUK1IBvQzOUzDbUlcmhzPDtDj8z6qs57EyZAvsCe1ay+0kLKyzv8Deqr99LUbOzIqQKnARcZt5cmCsuYKvNIymu+3GXPv30ctghzBIwt/eZwpNA1EN2TDFKGh7pDgSIpm1w93g1nXJrE2T45vRYFiaA8xcmjbauRyOYNharQd3apDhJa9XWbmEA3pISFhIMIQA/EURTnZCNdGOfKWE9Dw1XfiN5s4iDjFK1+lRLOcXxrsHB0DtAyjMt43ixqweoSl4ETAd+Pzn2eIQ2khO+3kYoUizMODbkDOP8eO1Yj8U50E/W/g7/U5MFXEAz8kLfh4K+JpCsQ3bDyq+HQn41uSM1LKpsl+2Mw50HnmZ0mgJ/wV5cpl/nt4RMH2lmamgm3pg6Y9dEQDC9/1Kzjtk08gR+RMThpiC6Ra13H7pmutDpMH5NU/ZL0TVyorGy7rNC6jIinvdMIgqVJIRDquTUPKq8rbL8eg+bFzYEjxu9ydYB/T5zZfaH5cN1DO3T/7w5KPmE+XGVhCumHTUy16qxbHLB/YBFkgvFWLpDILEhihmzX9cPSu27x7EnETCw== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?SS6WM3k0nmV7wiQGTBGzTew?= =?iso-8859-1?q?dRjYOB5dT+lBZ33zp2Jkj6Jd7rzzeZqs5MRCqqZJk559M0rOM6oojiNRqBsk?= =?iso-8859-1?q?ODsd2bd+v/uSow/Us0yYPPJF60RoUCkX4IUvY07I1HnTS3bYDSPSoweJDnlC?= =?iso-8859-1?q?l/gJrg5UWjcUqMkj4Mxt45slDgyd/F/TtKZVkl4KjlKR0Knju2bgEh6DpjTQ?= =?iso-8859-1?q?qjSfg4H0EI5l36LJc+5VZxv3IAsoG4/cVUreRV259cHSFpd4Nh6rT0CyfSZP?= =?iso-8859-1?q?nDQUuyHJkUn/91Ab4srG+HbHKKigK2RUoHCg86XmkSq05iwfh8HnybkdmsXF?= =?iso-8859-1?q?yf0BY172+J4RT3mNwB1Y6c3o+DZD1lXGGskG3lkLiB3s15cJTkXzjOLmbpuj?= =?iso-8859-1?q?qpVVdVsQfCmTTdd4vMjmGsFEwSzjviRJaxyowpStrP3w//9ExJ++8d4OzU2w?= =?iso-8859-1?q?jBDcbDKBBwilg5gfiaJ+9ezRcjfA9xHSPBPrMEmBxLLj74XcoN4MoyVTB8GU?= =?iso-8859-1?q?EpCxmuKbBqbnS4uKxFrpD4tW8y769WnBuYDE0C6umvLP2xK8sfrSEFJwLS3F?= =?iso-8859-1?q?aJ8hZ+NSOI+KfTceiDl2MUXpYpWUkMGNtlJKcl0xSYTOGlo8OP8wnudOxSMs?= =?iso-8859-1?q?6edXYEP7ZJHW/851iZARm94EIRSdU0PKqIFAeEqhvKgHk7eKqPkHP6qWm0mg?= =?iso-8859-1?q?ccfqp0cqlrJhI6jqUi0gypnRlxDfw5wF1ptX0Q82oMvkTp3abDsB/Dln7KN8?= =?iso-8859-1?q?KjFvzfNiY9B4QEZbaKhRKA1lYegSuZaTpAnps4tte++7T3EXuSDBPV9RgWtX?= =?iso-8859-1?q?HqkI5bVoSANjhzam1YYLYk3K1nZSqrg0VuHV7xMTqt+9lH35XjG7VT4x2b1b?= =?iso-8859-1?q?hkqPzYMSsu1CTf7B0M8C0fhGURHhIysOxI2PTT/5BshVxcJQFRG3pdhW2DKW?= =?iso-8859-1?q?MM1aUtNMPsTC8rtj4cVCtdP4yapVtNe32andNjBZrUZXanEbfx/pI7MEDff8?= =?iso-8859-1?q?h3ghE3IIP0Z3kx3IVaW2bkBHPT5gyOUSLZgx1KVLHxbYJ71sZzTBSvwWF94W?= =?iso-8859-1?q?ti5zJC2ywIpD8ZQl0QLZf36SEzNOH12fyPirGBsRIYdF8KMQDdJmcHi7qybP?= =?iso-8859-1?q?nvP5/dA2tviXr/Api6QrOhoIn6mjeRVC1NQRXZzpFgICSeEBi+jDiog1wqX/?= =?iso-8859-1?q?UkrFMTu+m2PhMy9ullcOckP0YkY695Pvk/pPkvvJobyVi793FmMEj3p0fSKr?= =?iso-8859-1?q?rok9XZOJKGD/yKfM80vzIPCMjpl+DjDR5IfLU9ZkzsQAschrDvqB2DxsbXyD?= =?iso-8859-1?q?UNQanws+SxHN2QB+GWE+p+lPsuEhk3L7u0tBPpdTnXTEqcNGADpsI9jyPwBj?= =?iso-8859-1?q?qJoGecEeRMZPmwkCKNkfn9la77AKG+8bz3jkuvz4IzuUFzJAFFQWqsu6AP3o?= =?iso-8859-1?q?55Hw+zqhr0cE/JcEkQwzVdzH14WT57nb8iV0ZtEEvi3dArVULhWJo33Unjgz?= =?iso-8859-1?q?91eKAy3K2trjs5W/3OqLMmi9Tu53TNuAxR7GebJK+frOBdo4hRW1H3zrBlET?= =?iso-8859-1?q?gvkjjjhvlE1UAJnS+xtvvK0ieN0tbt9zb/4Qc0VGv4rVHTt/fRljgh4gTU9r?= =?iso-8859-1?q?3MqAMzpMDol7xrmz0rDDol8CruB4WZd+qoBI2tA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: C1aLVgFRkGult9xXeJdeRijiQcFp0tj0vZSlrbhp7yFRtmHfwpe3Jl8BYmW7pDCT+6VGdjliVFP4CjbjGdjJGqqOI33u7Ix6kYZAUG0z/DluYpH7eS+nzGmGbtdmEKwTrGJlEHw3vFcXVMuaI5mszM7swpUf9PfqflFvjxp/bHmBOrU5CPtsJKgUtXFN1F5nks8qEFtQgjYzdwQCsTkeUR4sgXXnKGuNjnUbyrfTb8/9fYuLcm9WvVLZ/7U5G05QHEfq3vYyeGLLfNQYZhx0JRDri/cW4pOPrHn4OdrTzTYvxediZOUSLU6dL9/22Nj3KwnCrbL0ha4aTFLTngWMrFRzwJVUR4tBzJ76Xv4nLhpko+YWG81JTlGQOIUbjBR7wmt4DwmqEfaEpfsm8aukSzPTb8Gjls5yD51O7F/xzyAJvQyQacuADnMWg6gTy1CKjDroT/uML1VkUQqF2Tek7d2/Tfp46PiTOdxM0XtQiJna8o8J5Fmvy3WKWSxJWDkILEnKgx487U6oGUgftM0ozHq9vHKrlXkrDSpWtZeVi9A809WCBAM4/Td2qi5vlipeC/nkDYa0Axm1tPUxgxPfLHPeDm+wZLgBAXgkkOrPveIkm/Ceee0UqWGuOJBJ6kKN7VuAzoG+clqBczRqAmCdElnUL7evIi8/Dq8aX+oNK8DigbgpMzEzKPk6kPpQDuNwmfDM43vRqFMUnXOfYv9/AlRHtp+T5tUTKA4I3nBut0fR710xA2gKoCjyjGgBNeBq6T5MX8+yAi5FAS6aMbqYj9RtU6pI6TnowbtD7Uvb9ch5sR1V1IpIVmPNndJP914hUh8e+C19AWrUY39MfYvE/WqU1Ftuj8v3JjskhxtyXhh+7IU+N8e/sLFv17oVng6TaizNC+xjteSFcmWc7e7rvg== 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: 3541ee93-2d73-4ce6-2471-08dad228fa42 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:25.3167 (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: 75vRUM8rmkQcN5JcPSihe6ofV9YJL2Gp9H+mcDt7haWwJCZrKO2G00JyiHevnIq2IFSriHSlsVIhPjtGSHRNRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: owIuw2BqaySaaUwO1CeCbZoHTq2FIfX1 X-Proofpoint-GUID: owIuw2BqaySaaUwO1CeCbZoHTq2FIfX1 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849793495314074?= X-GMAIL-MSGID: =?utf-8?q?1750849793495314074?= 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 c347509c5f9b..b9a6599f98b9 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2704,11 +2704,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 fb9dd634b1ba..4102cb0c2793 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1148,6 +1148,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. @@ -2332,6 +2351,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 @@ -2346,6 +2377,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 Tue Nov 29 16:44:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27362 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450335wrr; Tue, 29 Nov 2022 08:48:14 -0800 (PST) X-Google-Smtp-Source: AA0mqf5mD/iJg5wXYRmPrY4t9srQmtrsxRUpV3CRcCJ3F2uqWRusE1eTO9AZwL9R3/z3rKnxxp0j X-Received: by 2002:a63:4b24:0:b0:476:e640:d016 with SMTP id y36-20020a634b24000000b00476e640d016mr50433761pga.205.1669740493829; Tue, 29 Nov 2022 08:48:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740493; cv=pass; d=google.com; s=arc-20160816; b=ZNCV31ncXbnzXKj6TYQ6GLo0t9EQ1I8hzQYcOvuzo/HZdl1CLOqmU2W7NsB9QIwIZS ePpCLniyuQ6N8quph9ACKNYlMJiv3Pk3Cc+4llCWF60QPG9MHdFxgPNiItzAdB7D1x2p KHZ/4ZXEsCaJwA7F08DZPrbhhfnm5ffWF4w9bj/dkQ5T6T8kDYvkBiT/0ywHj/Tk+QAz UELw3bibu3uLy1snPqOTv7QDGsyMKqQeXb51kfzRbb1Elk5tA0zn1foIHtdjxmUMq3Q2 mw5C5LCK0fOvrtzkY4qwgByJbOcwjywnlDsj4GTEWPE+umZ3y6ctISAGReX4M8JHBmJ3 WS6w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=Ufnemc5E8l7su13CiARu4CuypqBYWD/DnCBOjfPQad0=; b=Y5qVhjjb9JZyAVmrtgUMqtZ1EDfZ5gUkOGZuggbOrO+hs6wXeAoa5/Df32cRUqrl4Z QX1tYc/vqGMZB4vDty8/nes8nbC3CriP4P2cdcZX5ptDa0gHhkxIonAhxb6Yp4fDohzD 6DoCq+PsnQIIBbmytcjWlad9uBFYQrlTVa3H6ajrDVxZspQZfCj3ZP8+p6VL93KfiREA CUtsGVUqEpwak9/hIXo/P6mgU9Q3wu4nc6Puo9HyQleUzxSaW7nSwkTkYH0uRnhibLXF 0l4H7SMFx+ZFVewlPYCj8SrShnzvklF/lWmZ0sqqImsAPsETqD+qDSfW/rHtvFhq3x+J Mtfg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=pWDX0u0G; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=xhuZ3HEi; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j19-20020a170902f25300b00188f6c3af1bsi13487359plc.413.2022.11.29.08.48.00; Tue, 29 Nov 2022 08:48:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=pWDX0u0G; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=xhuZ3HEi; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236040AbiK2Qp0 (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236037AbiK2Qol (ORCPT ); Tue, 29 Nov 2022 11:44:41 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D850E5FB83 for ; Tue, 29 Nov 2022 08:44:36 -0800 (PST) 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 2ATGPi3V017345; Tue, 29 Nov 2022 16:44:30 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=Ufnemc5E8l7su13CiARu4CuypqBYWD/DnCBOjfPQad0=; b=pWDX0u0G37VVN0JAoEcpb6q99moeUBzKU9bypuK7vlfRRWTp8X1ekyIgQeFAo2hInO/b iT0GeZpzEF2HWRk5qsqoxqYtozgwlAEuDE5seHlsPChrfLoPtSKSWUMH87TXRnnI664f njOE/J280GViOGuLIBxmV32GAtGr1xSEBL2Kql6/gYGffjgnzyoBJX16ymlV8wPzKkFK 4JesEp0WV5ICzrgxri8HD3JTdACRcmmJ/o6vVhqSro7ePYgrDITA0UR2pGvfxeHqi26N QjGF/HnMIfYUbiQvkIhFLq42xc1hbl8Wdkxc8FWOlQ6K5ejNVPT4qBIoSdR+x7UdjYzb aQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3xht6hmk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:30 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPd027963; Tue, 29 Nov 2022 16:44:29 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nULxEEnSGeMNS40XL+NEMXEK6RtRW25mv8UconbZ1tSh0YYD71vgu+Yi2WbKmQ0GAATCo2Ms/KpsYrKvfrRwavWJpdv4twCXNWOxnisGBY7Ba31v78T/aegsg649HMizD8BZjaDPelFQ4OQ5fBUP2w6h3t6YywR61TUpppHeYvUMFBZkmO9HU+ymDG495B9/aYcX4DRgS3UhCFB3xF9fXBxkfQziSHADNnHtpVkHgl+ZH9Q4Ji5I27YblWb5ydfBfJf4JzRH1hpTLS7cXplIomS6Dq3bCdmZi95q9TVn2GfE1DWdwwhqOHygOVyx1HS3wqbY5NFu/QuKcm8NgXESxA== 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=Ufnemc5E8l7su13CiARu4CuypqBYWD/DnCBOjfPQad0=; b=lCXjg4jBDanCLibEZu5I55AwIM7Dy8txKxZW3N/JFpw6ab1R0aTqg3N3THQUyFRQUlbPHerJU81mwzmcCWJX350a/uOhfoFddeAC0CoJIuuh/dYO1cAYAgXqVk+qILnyzsqmHDYREEVd40eJatPDA3D88AYYnF5ogrg+xfIoo9fe17G3caFMuOpFVgfwbTatKerqTpZxdOjsF9cBO8hR3brpB/vKPDMRwnavyYBU/sWBvikGnHweRlzLVyCL0ZflaZv+22607SKrwyNcJnqu13JBV0003Xxmt5sFpl+JgOTsXq8A1oY+8+3O8Cubc7pE8ooTYdvZBG9FQvGxJ55ICA== 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=Ufnemc5E8l7su13CiARu4CuypqBYWD/DnCBOjfPQad0=; b=xhuZ3HEiJnFlXTSUStNktkK/Hp1V46Jpf1oXHTNxH70Bmuv3cSRXjbD4ZNtK5w9a3BgnpAWDVQd2Sx2koLHCFWy5lb1W+J50IMguVf470m8EA7kw7ClV9BTJ77eGP3ZS74/tjmAYkkb2TcpwGfLXzbmJNgws76RmNVJA/L2ALYc= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:27 +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.5857.022; Tue, 29 Nov 2022 16:44:27 +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 13/43] ipc/shm: Use the vma iterator for munmap calls Thread-Topic: [PATCH 13/43] ipc/shm: Use the vma iterator for munmap calls Thread-Index: AQHZBBHXQ2dH3de69kOOD2y6QD9gPw== Date: Tue, 29 Nov 2022 16:44:25 +0000 Message-ID: <20221129164352.3374638-14-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 5967641a-894e-4cc2-80d7-08dad228faa1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Tot/ScNto2RuoVR0KwYAhqU1E05AqwYPitBsG8OrbeY3dxQ+/1uIHaamdveHAOsr5fQynIEACCo+DZ96T5HpKL34fi+YRFQ2otb2JcofWxAelPFrhucPipAlkpTGk4luzeJKh3V14vFGRPRuXMVJAUTwl0XG/fVyNKpcA8RhsxSs4Qd9xFfnb/Xnt9qkgVDPe0j9OgbOSUFSuPgeIbAln0OAAB3xuEI9OUgHWvlx2DxYRKYUQXkVQrr+GUcrCS43Rw8s72zaM7rNPvRGVTqHwXA19e1cd3AXfmLRpQxIevR7YkEF2u4H9pTgdfvpzI6KqfutS9e4J85EeFhsJQkm8Pdb81G6hhxqqc5F67LCf3nDAiSbCBhU3cDksGAh5UPDyBc8+FvPE08LShUzBIyCe62FzddEPl9fE2heMsWaHmCK8MA/he+rZJznP3jEWa0JEYcTGOFKb1hkXdW37idQ6nEkKrOUkDYqL+oGbOYw0CmXjuwLm73Yt1Xw5JRj/o3l5VURFzVPhYoC4ZjPzkPxlpQXV+PehEFFIvBCjVycSdYznuJaHdwvNNcYRN/da07mhM4B+DjqFttpeiaxn5MPepH9ZDD8TXOrpdSvwe2YLBvHbi1vwEFue3mS6H3USlL/rbbNjtF8ge/oQZ9ZO1g5W3c8wiyyNGeHbX52jbjNurpxf0K3lJERayxJBImlsnHfWbqP5l/OLlUxs2+e8/IxYw== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?ZFWJvYYL4G5RhTO+KvydPzv?= =?iso-8859-1?q?vIx+xipRRo5gp3N2fYPXaQSSHaN3827WNSLK8CNw6BYAZxIFEiTM2R7CaBgS?= =?iso-8859-1?q?Wa+UIpVyzsTr85ooocazrn1N6m58qcSbiqJ3JysdcNXYsZ1GmniP6BgAm6N2?= =?iso-8859-1?q?tnfw5VzaLEk478i0hxYCmaPo6yxsHpnIS2YtLhwV5BCTmkxwhhNiYTpqpqGT?= =?iso-8859-1?q?i8gjeHuaMfiXCyJF0isN77tq9pf3xMEinfJ9reSfyx07v6GutJpb2Xj7zTAs?= =?iso-8859-1?q?GuuvsIwOP1Hf6XgUYdQe1f3AaE9L4OewFGwkzd+lGGjvv4wWTcbwxOixL02f?= =?iso-8859-1?q?gYm0LUVmHokACWgkrxtPkAKcOFQ/EGswC+hJTuMIfTXWhCGwxFh09HLiPHed?= =?iso-8859-1?q?E7mgF2UfvS+4L3Xp/8Bdcx0FLdkJ2bWTp2W5SkPdk6F7zSfvMb25bHSEqnjU?= =?iso-8859-1?q?kmR1WThehRzxDcKWk8KMfk8MzTCOaKwJ99Z7xf0T6UlqnOEh6Ug/WRfb0xth?= =?iso-8859-1?q?nMYUyZYGPT5WrDz4D9ffL8uEKa0RVIhj3kZOJ13zAepHPVkrko2J/cPTBQ0h?= =?iso-8859-1?q?CsQPxfnsRN10rVucNfFFkC8k0jqweyN/5YnAVGfEojrvcGg+w3zccgcxyR/5?= =?iso-8859-1?q?z4fh2h/9IdUU0PRB3gxNNFMdPGKXZh/7GyVHFjsmAsfnD5pU5YdGbKntxoUf?= =?iso-8859-1?q?nH8+IYpNrhvknVUBf2Xy0pYf5UI9nmvoDrCD2QzvejQdQU2foYrpOgVwUZhc?= =?iso-8859-1?q?U50d3ouDNrhxL2N9rSYEWgMWIIXV11ynYrISdZr/2I0k8F3zmeqh2BT8PUSl?= =?iso-8859-1?q?rQfYIqvTiJ+k3Phard4nRb0i94J6QuEY/zjEToEo/LNI1B399AGNhler6ldp?= =?iso-8859-1?q?Of7/o46oXmD0lfUoSUkYOM9hnjYWqAn11owk8UADVpNQ1fKAslAWEQFuvdYL?= =?iso-8859-1?q?og6ADEGm74wV0CETGKiFT6TCHoxPndpKVW+KnnQDS2qFC135GMGXWuCZ+jyZ?= =?iso-8859-1?q?/Qm6VypM99RW1IZRWCg3itX4J8rNRF7iHI8UBK0YDDdQM4xNGKR2mzbUwrQ0?= =?iso-8859-1?q?Mh8sIqx/Y7UUybrozD0szA8auyLsuEHiK0sy84kvGHRTZzdV2TrlN64em4Ge?= =?iso-8859-1?q?VgCyv/LR4MLUhHGaQGS/zXhfByhv5XR3cnpo1QYUATObmYQTzTov/M8GedsC?= =?iso-8859-1?q?bAfES5ZX5jt3BjKaMmrDQA/5MdtcR7MF74Cy8cRCulb6N68T2HsAbM8ynLHB?= =?iso-8859-1?q?DueRH5x8OaDP6aryYEJv3SeGqME940h8XFcQRqFBV+/HAGDPyP14VtP0M/o3?= =?iso-8859-1?q?kqxXEDZTAchRPjkes467luhKtfj/ofm5we88odZGPwc1vxJswHsFMbfkX4TO?= =?iso-8859-1?q?k2SzsbxOKLmsTYhMOAbmSj2tSiijFaynz7Uq4QaRQVzL15+Q42KUbnckoS2H?= =?iso-8859-1?q?8rXTcg9LZsyc9ab3Ytnmsdx+9OLf+NSIfQEDf9JQDo8iXMjZlA0o1qTcGpza?= =?iso-8859-1?q?sD8Wh5j7FyKQHKlm61gVpw28LvDfMpz/G4kuvOH+rP+dh4P69AhCvr5J4SQs?= =?iso-8859-1?q?0gPIKR731NYsTAxubAyveUazaH4B1jhOBAdakMaqqjBfFn0c+wM/BfGOUMVr?= =?iso-8859-1?q?z/9Awc90DOVcEKX00cGlEnpYkkf50j5+bM4zxJA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: iRdC+b17qSHaNRViSWpk03u1eB2Xa32CEYGHLSG+IDCI+lgV7DUl3EiNxHRZrPdph31N8h2kkbU3a3NP6sQtgPsdSHzJ3oYzq8c47ST1dJ09jWH9Sv06x9C1BASRXntocmDbhWfeIrfZ5CVW8hJ8+jPgaLAgZ3PZsA2KUCMt95lbqQK0m84lEmnYo9st5/M4wi3yySLbDG7QyjcamZf2U3kzDXc6x274PvVZQzPb/c5CXa9X/42rzFeXWdMHeEfsZoGv1sf/c+ZUSKMtIGfWxGntfzS2r8eGcYp+NFO+G1pHhaEm6IWDmW5cYE0Dccg4VNUWBcO0CdqcsFjoI+uDPXWzd4mGHktt8IfuIhtt5LA8qKYmGfZ+skRgUqs850JcTuagx0o/lna6+b62tWVPsCB+kn6Dw8/KFPvzCvIckRE8VN5OaRcBKYzvzRV0xle7JqFX9ZDeczkOzxmtVYGfMh+JbKsGaEPWePM+wlUwYp5hPBqkkll9p+h5qcfLW+ooBq3Qch1sLrEAnKGfFIfEYuX+TNINNVdJvNuPGGygrhTKere72dCvJrPp5m+idz8P1qS4qC7S3ZF8U3Ft+Q3KPKPozfow9BmmKyK9kqD1kgF0nhPzrcbKvOycr3SRF9c2r1K8q3HCavd1JUo3sLICU5+fr5xzLf7q0Cec0IK3TBykCUD7boFGUCelBkrHyNqfBfF0E17wb9hGuSp0k57JTHEH/ozAvimYB9FLk8NkM9cfblX6g/m4aaixGk5Rs9PxqsyKkEEpXbFGz+/IcrD6FSAmyT9onKVFQXLo57eyqF+VHe3DZZzFybJfitFV0lFi7CsvMV9PoeeBqh08gQBWi1iamsukcCOEfK091whPvFR9ygkOWIRYlJ/G1jVA/ANevwPJrzj56k+AF9NNem/azw== 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: 5967641a-894e-4cc2-80d7-08dad228faa1 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:25.9260 (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: nvE+VmwZnqupaEdbCCvIKLK1U2IJmplM3SB/sgotp7Ro7afLwgYrV8UbNZZE17FsoFd5qUJSMxiHcXM+cDzrtg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: EeGPAVROID8zDfWFbmAM5eutt2hLEJ14 X-Proofpoint-ORIG-GUID: EeGPAVROID8zDfWFbmAM5eutt2hLEJ14 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849808027596521?= X-GMAIL-MSGID: =?utf-8?q?1750849808027596521?= 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 7d86f058fb86..b866a5ea2e78 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -1770,8 +1770,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 @@ -1794,10 +1794,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 Tue Nov 29 16:44:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27347 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449569wrr; Tue, 29 Nov 2022 08:46:37 -0800 (PST) X-Google-Smtp-Source: AA0mqf4N4tm8duwXCDFM68Y50zegPn7DEFE/kKKQHkgJqFjh0/ZpquNmJtsmDlRdeNoJC8EgqBVJ X-Received: by 2002:a05:6402:3ce:b0:469:40c:ecfb with SMTP id t14-20020a05640203ce00b00469040cecfbmr49259041edw.164.1669740396953; Tue, 29 Nov 2022 08:46:36 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740396; cv=pass; d=google.com; s=arc-20160816; b=as+1Bk8u0D7gy6kov0X2pVflXZfNmlciyaFFPeJ2nvdhjhw18126WmWyO1jn2CXFvJ RNcm9wK5Bw93CpouQ6fP36YevU5YR45sQKeZ6T0OZFLJopet2fl61AX5sW8bwwQckIqK TmCBHzQfDT0e0SQaePbS+4j4cUsDDIDZoEyah9s5BgZ2VsrMfVAhGd+IjftR+uTQDUQk J8td++JbJKs3nRLFEBusCs3OyDNbWGtnp8q8A8YIu7yBJEe8iappGAmNufmcdWYgbZOD lyoY64vQ/UgTgnXwIG5VxpdM9w7RIh4dIV/K6W686Ks0YKHUWJg0hG8HuU0cc9Uqcvv5 y3sw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=dwXa96mmtavLyIPWSQPEFi0lfaZOBC7s5fNRIY0AmIM=; b=DzWFnWj4kJ7oHoIesPoebbtChLUvbroISedQNvUowHR3UYOOae1e0TAhF+Jdb1XvG+ GsG5It9uzSqc2jEwT2VHt9tIB++CN2S79jWJ2BtXcuGzYRNQDA4rFDWddq/2IyHtn9VR NkjnQ6hXanE6MeoNOpuFmXUv7YSkwhh63W9VCdmESabMycvte+OJxwdbPPVue1AEJyYU H7OvmtfD/DIk6f+uDo3oT8OGwai/jybRTju6HsqQxPNMnaw1loA7eeJL+2Ul+7P/be8X j5am+4kLpgqvy5xDGEmo9osenPy2KaAjRWRL65d6jLYzCIy79nVBNsrrJnm67IPYl6q7 jhRA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=qZC6ABVp; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="Fz09D0/c"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h15-20020a50ed8f000000b0045d4b7ad0e4si10950288edr.400.2022.11.29.08.46.11; Tue, 29 Nov 2022 08:46:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=qZC6ABVp; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="Fz09D0/c"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236129AbiK2QpW (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236041AbiK2Qom (ORCPT ); Tue, 29 Nov 2022 11:44:42 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35A3A45A21 for ; Tue, 29 Nov 2022 08:44:39 -0800 (PST) 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 2ATGQ1w9012682; Tue, 29 Nov 2022 16:44:32 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=qZC6ABVp6NVmfAQMQf/baXeaBywWla98HK1pfviHMFEses52yc7czsDWRFgEgSuodjsq jwpWi30bIwmDh9xfLG3x/y45tUCphLrpCeztXgCarQLtyy7pgzEUTEPKNb2J+3oOfqXd x8NNaGECcOuDKJPVe+Vf9fB2yWntIHD/zCRuNbYf/RESXxiE7PnjxKAIjD+zA+dFnivh rPUjzf4f0KkCxV/mlOnvytI6HY8ndMdjPLRYJai62udW32NepAnuOM6+PgqQc6PA03o+ 3PKL5IX8h06YeNt4z95Pe12+4Pon1dvnWeKRcSEDngWsHjsm4V7w8DizhgXAxZUMiuxS bg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn97-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:31 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPf027963; Tue, 29 Nov 2022 16:44:30 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xz0Bks5vH/8wveBZR4UwZooch1nzjvALHnSL9At8AIkabXhh1canu3Coqh7j1ytxtCwtqnjf6hJAXgqEAa7BPhnCSrBzDvCOzvDjtZYfAhPV5Fr38/0MeO/QjEoh6LHOR69+NVtW6eTv7IadhNFsZX9cLbYBj+EDUvAN5YrKX1zPVqdmNUG4mQio09c00Vw6ZUwU4PcxlPyaCgP7nyYYIEOk+sbaMoOKGz9u8xsrGzLb6332qY8lKQdV9goyYdgI0Rce7H2bTRHBhp1Y7bGb+a0wIMWELqc+g5+ZW7bj4RWCerlTNlOmP1whQEUrQacloYYiPPYf7p/iTbOJRPPhYQ== 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=LxvFIi/SFUzpxSLQPtZvn9o79DxXsWY9reu80h6iw6lpJlPv3g2Me0PxTLI/OYgDLHRDJudN7sVTqEbEf3JBfvDkDAQYJ70sTYTust1rK/zwq/TFTDgqm0Y5+mrCn8YmB7+X6VqT1o148+1ZNmSejLaL9Z+/WmtkDtCNiyGgN2bqAIT0+f3s3bQ2v3oCPsVwqnXORAKmWH1/oyuV4ZRajE4ey8YF7M8nO7xh6ve9hDtoH4fUFHGXr3kb63w+xroEAyBe2OZORSA/KYPF3vpsEfi5+kxC0ID2vJA4jQqUJfRQuOPKBhjf/X6kg1p43C+mz21h+SE5vUmfM86QMqT6HA== 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=Fz09D0/cF0l8YUUgKZmRYAoVRGsuD4f+vU39Xle4l9deSeKrGw26iWiQ7Ec17UZhrkZ9XWl3cUBavEA2j2JC03iSqAuqLcqexcnbYUSeHW4WWogazQrU2U9QtlIyh+TWEb6BUu7No6MFa7obFV6YMe2sAziKVVQ3qmjtBxrBQ5s= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:27 +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.5857.022; Tue, 29 Nov 2022 16:44:27 +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 14/43] userfaultfd: Use vma iterator Thread-Topic: [PATCH 14/43] userfaultfd: Use vma iterator Thread-Index: AQHZBBHX3uY+RWqtqka1JFNycfUzzA== Date: Tue, 29 Nov 2022 16:44:26 +0000 Message-ID: <20221129164352.3374638-15-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 991585be-742d-4a35-2d03-08dad228faf0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: o5srJ630F4/Ry+rF8MYYHv6GQvl+44cb10PGIFkLhG126FPnlf3pKH7dQv3XG/OGjeKclitDD3iSYtIkMczcwj1WLTtGV/BOEN9OYvESN9klia9dCaNWNGWkE+mhD93pqTXJZn32LjQjXNyLZmNo6J4iM6v/T3MVOt0aks7xBbLIEWolk8do30YteGvLOBnfy+AWTcub3Clm1A62Lbd4/ChGNIhMG6nhCLJvnUDkoBpqogmCauFwWXPTaPL2zWNNiahBHdatz/2WHEx8R/WLtspDUMgCSttjVQR4GRdcibYr/HXmxosyZ7vDeIXSFt3LYIg3zPGVYGJMYkVtbcmIGJ5voqohoh0zTKDG2IuNJe/YdYcaaU7waza7/L9pBHSVnqYGfMfAzCIIJV8YRD8VhfPKVL0vf3L2FcXo7Dk5Kc+xtM5FfqgmdzRPw4bFC9C9UcHYt5FgcMgMq656KZaupFIPbVyzBYsugfXBdk5+3EwRAr+1n/HYZ46mME83GJOf60SvM2LpudGdbdES3xXKWgNvkxfZBxN46v9xkUX9/lbNurMZp8qiU1CZCFdUE11oWwP78YYoT+Vv3JZSnBHgJtzNMp8bhSFIY7O8L7njQekLYXRwtczd0AjVpRSDjisXUWhhtZThjq5DF0OmDp5+A4AqENhOS4tuUTMsrdbeBfedB7FtU/pRL1hbcjUy8/7dg7h/MCEQrZjHag67vM46ZQ== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?TRkzgKfP9OK1bxSRvYpHDin?= =?iso-8859-1?q?ZdiJBVWChSmpMRY4QxF2LKN/0XIbvYFNqI0xoe60iJETDHhESNkZ42ix7s2f?= =?iso-8859-1?q?as4Pf3Dz9oS47MlWZAYMKNi1jnvcTn03fbuzt6RtE4BmpTSz0o85GxN1IsRX?= =?iso-8859-1?q?NJFlP6c4NkwM/rNuG7eARhs1MbhcvGGx4weYW8e8xHc029D4Y45H5Ww2Y/J4?= =?iso-8859-1?q?y+kaU9r+2GBGPG4Xml6ddJfex+z9juMBDngkNOSRNRBkB4UJtpTF4v4Gx/Da?= =?iso-8859-1?q?iUhkUxlmciueGHw+EYDQWmt+nOSVOMCmikButGFSphDdnfp7P9ZlKLAqrchE?= =?iso-8859-1?q?ERU5ROLDQQd82scdaaFYT+3XeE78/8kGCEncFdhi1CRcFZevGl0MMMRWIDD3?= =?iso-8859-1?q?mSiG0TP0jie1o+EtJliYIdsn6czASHVR1HvXHxZHyDkgY3EgN/9bkNs6i8jO?= =?iso-8859-1?q?GNk2L3cqwDJkhO6lTW4NRTraaBUfBQcZXRUHcEvJW+N2PndcPX8wG6U67yUy?= =?iso-8859-1?q?paVTk2BIw8zZvYTMPLb+iQvQPTmFtu8FmadFJruKVQ3GP9SMOvdU/Dmqomr3?= =?iso-8859-1?q?ZHTiAA3LJhLhZodcC2b7SapxLcERav/ZjJFQf95qTaiPRniIF7MnLNNKmFoA?= =?iso-8859-1?q?Os4Cfa+f1wVTvAFSJtxjmBD3q2P/klPsHn/C5fO4sBKOekZ9l+5LZnr+ZBqR?= =?iso-8859-1?q?HD1vsUr3veL89hWXHrdfyY4BsJkXtP68FbPVGofyUQhpE9U+VBMsievrNoFr?= =?iso-8859-1?q?iONSTTycXadKn0omVOj5XLsCV154P2VpCYAOr1CrLTpnSufR9jct01rWd52/?= =?iso-8859-1?q?cY1WWwIw3ZowXiFr/ZG7p2ZMgfPuQgQO8zXumAkPa4/ekG8v2lWSpasLqBoF?= =?iso-8859-1?q?UdSL03yCkCfVUWqPBQUmf5EoP78vvXWNFml5bS+wxwkwW5gQ4DcTQMZBwCzq?= =?iso-8859-1?q?t47QgLTAOQpPtwO1i/KxJqzbFq14hnxxDfP2faXNlIUpSCT2S3ryM05MqqEy?= =?iso-8859-1?q?mF9f3uP28+8JVREmPlqWK64shIAZOLf0BDw1oEHfSFqllAX1hhiXXNimNoX1?= =?iso-8859-1?q?CDcMVOK6QT7a0nfWK8H0tiLLHe1cngt3vehVcOFLbUUKAoxzOAyjY7BKgKUX?= =?iso-8859-1?q?1tvr1BDju/h3cunlfiDC0tzWZGeiibbrMk3JpHf+KzLAQCA3QL6j+hzGkbyl?= =?iso-8859-1?q?ClmPyRJLFpO140CmNDFrAmVUlbRzn9MQcAK9px3OpL44haxCTHYyRxhdY+0L?= =?iso-8859-1?q?acwvwYb30zqWyavgkQSIAhwoZqU09MecgU1K7zj/UsOf9oBed7eY60+PDjqt?= =?iso-8859-1?q?XqHI8Bxz4fdzZPGd2SMOUMIoP38Nc05rrJdByc+hiSLSbP4IiyghrYyEPFcR?= =?iso-8859-1?q?alGU9vCZFdXGnQE808828vBQRguupJrt/czpde/Smq0xS/0rTaB5GIjbcJKO?= =?iso-8859-1?q?ngEo3+iTseAHtKKIMUDUQvMuBkPzTrl+UM7mA/FE3uuQbUxv275RNoiIh8hM?= =?iso-8859-1?q?+i9GtejeUVzzfEbg7U76d+wvC3I1/69aQY52SLQ+HrOgiE1yKfsxBRpr4vyy?= =?iso-8859-1?q?57e9SJpudwauqqTyDrVrf85joZrM59t7wdqvUBhWeAOtRe08TvAvjhqoLZGo?= =?iso-8859-1?q?r1bZX9b7FL0+hOrQpZY14LIEbAL5gmwDufVPpVg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: FYPs9CNaVHZ307CUZTFI10AvihGHqRdHJCHqu9E4C4C4SRUnVJHS7z/JgjNNhYW7jaCB8kLsEijKV9idMB2IW9vY0N0lhfKVcjUi7hEPfGIm0wKKIX8eVkutDa36KO22+MB6gTCstGj7ZXxiEVVITgWFRdmldJ4nl2d9XlZSmwOe/1nPEP7QF/R6TgZ85bMueVoM9cdh4eRBxaP0UDwDsl6rUCbzEvGXRRCPbwDnw8mt51e1YNfxQfZ6u6guiWP7gMwrGz4dM3FPw3mp6kCbfXr6CPl0laJLyqTdE+AqvEWLf0vFYH1qnAAyul4HIyNB0A22V/F7rsuCUwogSKW7Ss5jttN9G+6qCYT+UUFcYO2il/kmwtbH5l0UlHUpql0g2OgzeuKlUN8OmZfsrQqoU2ap+XKNt/LRXuNEN9ng2BRkcnLhV382d8C3XphL/4jPN238sNYAW5X8ewFRoIVI/FEfTLeS3W8962YpRwdDY0rvP3LOX78G8tIv66JiSqLUk467xtQ51ZQi4bkIk7nEYoLPVNiMRfkv4BykMm/k/zKrQ+hFn88329hi4drMCKygHPooQHmcq/6pR6G7yo8vNJ+3HFoXcUm4FEJFZnCn13k5H3s1KzsPFeii5xOIxY3S8NLhMvFsBxCPAUOWzY67E+YM7n/vPhXiWBTtqkvLhBX6VXW0uDeBMgzzVVtsTR8zldjfkVhenqnGayh+fVZfpdqWHAuO0VhNIcHoHtqoVOB0ZvJQG1SefZkESeqit5iEA1uqqapV77TalsucG6bGD+QMkch11h3vHuaIwmUTb7dofSnEwFDKLU31di1GV7syES0e+Ahdz7BmjK2e9GzoWMUdmfiydiZmIKLYxccKfFOnqB2d1Fh8645I+SLO5ClrivBfjo6Bat+zLe/aOMa5Rw== 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: 991585be-742d-4a35-2d03-08dad228faf0 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:26.3791 (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: 10EMOJUE3mEAJCI9txv82yd0Wrt5xOP3I0ojDBLM+jBCZ1vLH6BL99qqmxVgJp0GaESVwREc+nIuz9HYInkFhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: gJIjFeg_44BfRx2EX6AxeBTR5ezgQXsq X-Proofpoint-GUID: gJIjFeg_44BfRx2EX6AxeBTR5ezgQXsq X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849706480792386?= X-GMAIL-MSGID: =?utf-8?q?1750849706480792386?= 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 Tue Nov 29 16:44:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27361 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450332wrr; Tue, 29 Nov 2022 08:48:13 -0800 (PST) X-Google-Smtp-Source: AA0mqf76NcG4PFpVU+TY94VVLqEEdruvVxAciqDMIgtW6AO0LXHowRo7nczpe1E5zx3uWruKNsDR X-Received: by 2002:a17:90a:7885:b0:20a:d81d:a8 with SMTP id x5-20020a17090a788500b0020ad81d00a8mr65696708pjk.177.1669740493308; Tue, 29 Nov 2022 08:48:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740493; cv=pass; d=google.com; s=arc-20160816; b=wGBxZpulaJVbkLRoADfz4tOw6w0BjIgiXCIXimUHOtcf5r8YzjUSJmUjw0RNGnO1uj 2mrNFVEIb81fKyXbBDUGnYiYNuHaUtSAR6rbfW0ZJj0WZBOllAOa3xRgnGlMmarWqT9n 5eMmP/QhqW5B+/PIBvqStk2hI7SnJpOwY97jRs5PuYEXWWArATJGX7KYvf8ryt/7Ylpt KoUkvKlkdYMDddMMa3A4Jh66fvhTTkGwVE/OQtvCvcofs68QniOIb+1keBMPit2jzJM4 xKreUN4G8VofHCL6memM8JZjAMxfwKD+FHq6QviaXj9volG/LyE95gIDb+VS6mocFMjf D9zg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=ybgEjmcxyXzn6SLbjDkyF2beeUDZYojyrkcHjBc8Iu8=; b=q4fMXgn3qsZHFY64h8mIlil8Rgoo7H+fkwpSMdOv+u+c7xrkcN/MwJocmfluFpsU1m XmXtg3P+MHllOulaeLGIQ2hl9jen5UXyi/iAKAIHhIh8o9VYDI4i1jFe5TiRxu42c3sc sWNfsZo6gybDILqVb/fZFLlIbMT+pcHG9N5DrYT09Vq2nZnKbSdCS+15nNOxasxEbX8B 7z4qqfM+l/v0KHVOf0V5Sb6edj4lB0P7PR3BCbIuj750dn17EeYMHq/RmnaQeCRXpUP3 iTB+ygRNsvbUi6DdcnHdOzZH7nbvH40NZ3NkBP4IS9mke/yZYYxq0GK7sUl/y17Ii1wJ tYQA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=OEWLMLbf; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=fyRMBgAz; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v2-20020a1709028d8200b00189928a1202si3907291plo.119.2022.11.29.08.48.00; Tue, 29 Nov 2022 08:48:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=OEWLMLbf; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=fyRMBgAz; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236158AbiK2Qpb (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41478 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236042AbiK2Qom (ORCPT ); Tue, 29 Nov 2022 11:44:42 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 165A65DBA1 for ; Tue, 29 Nov 2022 08:44:40 -0800 (PST) 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 2ATGPitX017353; Tue, 29 Nov 2022 16:44:33 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=ybgEjmcxyXzn6SLbjDkyF2beeUDZYojyrkcHjBc8Iu8=; b=OEWLMLbffHslJ/18Awg0yEguRcbo8lLg/dSWzbvLaNtsva0VU4aDiTM1RrVHRD0x88tj g5xgn9RPqQULJk1tNz4uuhefqZb9ud/GaIsu7xtXJgJHrWW1KkifilIoM/GVU6hKcdeu nc/2saK2pcL033QvI4i5bQHtIbutQytAobF1Zfo1s/nseqy+iVIgGYP5Bg4ZAnKoj9oa JL2ip7jK5QnFtbcv0Aoq2N3La4806l5TZamj8+8Q37dUsqu5HSZ7EHlQosl1nIbFDEoE 7cpV/x1DmUvPccmjt6DD43LU5uuelbU3QQzQSYw7KYw+orSdhY3wln3CtDvPFwp3Gj8z cg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3xht6hmt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:31 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPg027963; Tue, 29 Nov 2022 16:44:31 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U4Akz1FZz6jA+McFm5JBGtYqorh1BhVYiYUwLfwBZjGD9zZXWhz/YykpYmrWFFAosji93kjUtNo2R6/GXvnE0+PYXuSBPiqSwsa6VcZeE2Quy4eI+/b8PDq2XN+2V92yCMe5FyUKb/roLh7LEo8a4c3yB0yZx7vNQm7YWH9aCQPmi3zBvJJbpoKLuMsNLkx3UEsbkwZOF+GcM0X+XLrwfnLctCV5L3aZ3cfyohArouzW8//hv78yEtriPf/v3BU2LgDq6be//df5yl7tEmwLLryzJrixYHlHWV430tdJ/Hqf2ba7G4potFxs5R4PriwPsJSrfcauZrUzxOXwjzb6NQ== 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=ybgEjmcxyXzn6SLbjDkyF2beeUDZYojyrkcHjBc8Iu8=; b=JNg+JsuugaTMXV/Mnb9/VK3sLuoEa44oFFxPn5feOFPX1q3MfSHfqzY4+2KSQWPPf/MbQ8dzJnOfdtFyawf33FV+yA12UYsqEeRB6zNKgkkCptpPcYsKT1XMJ3Vww9XIgOPn44IX0XeXGzGbNUKmt13p9q33or5NE4WzkEuPsV439lGx8aev40sV13swWnbn5q63PdTwFW30ycBnYwS6m8Ml8l0Oe5p+w0cgP5nJ0RGobmJAP8SBMFwrzzZZvJRpLCcfFws997uVrgp5FFfnVFcb8rVM+2MtuLRayjRhLnuh4Qa7gDYoaJVvAHkA2A0B4fuGfIQ7ZFh/w+j4jxtghg== 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=ybgEjmcxyXzn6SLbjDkyF2beeUDZYojyrkcHjBc8Iu8=; b=fyRMBgAzrhMmL5hUyslvImeTLw/aH2XQ3hsKoTiAZvbEGh3KfhuODjexI0Rg66c9QSTZdJz2Uz5kHG2mx14atRVDkYcxhSLeJgLjbBIGWGx6ovuHu+6urEIw9G5DqG5oHsOSdwxm5cOA94f4DlzEh4bGTG4vyuEFzL/gTmx/VNs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:28 +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.5857.022; Tue, 29 Nov 2022 16:44:28 +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 15/43] mm: Change mprotect_fixup to vma iterator Thread-Topic: [PATCH 15/43] mm: Change mprotect_fixup to vma iterator Thread-Index: AQHZBBHYq25QsAsFGkuJY4+12x9qFA== Date: Tue, 29 Nov 2022 16:44:26 +0000 Message-ID: <20221129164352.3374638-16-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: a81fd741-1559-4f0b-14a4-08dad228fb3a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AhP29fq4oiWkcLtZfK2FfBDQN8hLrBJybBQEp3AWHEYTfQeNwX8FkGZ2wavL7Tw3QpDXfJ3zCDB/eBoLrdYxTOAvifJpYzdgbf1mHZpjpUy/36OD0KtIRWtS6TqR18Rc7I1PGtOe66Z5z4SBfF6AVeVioRQh58jvRHSu7tUhLQZqyzNxOe3RPXtH76E9WstdJNup8nIdX3qOzZXXeuftgS7lufiJsNtPjkv30mDHT+K6M4YQj2dbwa02bGP/FjzQsyfWZL23UafTG97H63NaR7DApVD6NcBMJ3e3lA1yqm99buVeAGRyH8Xcay/mlXrKPUVc37uOGgHnbngg3vKwfw6CecYKthzaFuDnB8XXbvNXgC20uB7oLA3XdKgRr1/sT8ugS2zsOdzx1CRLIzdrgnzijdfI+ilmyRIito92FnSD5rC9Tr9UhT9cSInqXy/vumeOEHnlfzSjhNi+xFKkxUE4mGKdAUwGiokQ8AkLCrve17Hssx7mpguPDasXuzrft59M8MOsNK13aU3tr6AhjhqTg6iQ5WyGbdWi7nAW7Vcbw7ktP4SSttQZVQwpNa8kSunATywNQ5lUMtLPiLkC4f4mcqWHF8g1zlxa9urd65PB+mbHHsAhcMpvq7k4QjAGXjRQSZJDHNzEfZMztS/qY9qVVRaM4cpS+wo4sPov3qA9LsZU4J/mbhSuvYFLza4Ct3q6nIvY53BrfZO2tIslJA== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?mpTdzyUUghgHK8x5tmaAbRK?= =?iso-8859-1?q?MIBV8y/w8dPze5xLingkBzwMEoKIphPDM+FYaRy7hdzPBr7zT06k8uFXUCH8?= =?iso-8859-1?q?6CiNLAg0WP5TabsR+3nF1Px2NYjsRNv+/ZXP2Gd5sedF6jRNvPVDSAT+poCp?= =?iso-8859-1?q?9dKFL4N+7+LXSTdsuQ6NN80JeoIuQqpkTTJi8Pv9joLOi4P4kXstzdfYfvYs?= =?iso-8859-1?q?rWBNE6VRd0xk7Tf3jNEr+CkU/Q6LzklYbOeKgjP1q0bTd8fSXV5J6OHwbRnz?= =?iso-8859-1?q?UBbJg+jLJoAspWyy1u5P/XCo1wMKnZDqP95AtDihcMMOw2W67668UbgCkT3G?= =?iso-8859-1?q?C75DCtx4qP3J7a/9sv40AdrGIz/ABZLSDTaquQl7Ek98hfYgQGGZsax+sVOB?= =?iso-8859-1?q?CmXAhFMryg4rBgdBYi1N/WAagmFrMywzPjQPAaBzC/H+joGc/EtjdExRx2EX?= =?iso-8859-1?q?09vyVmZ6b+w+A4UDgKuKHA4GUQ/fsvgJKeNFrxAebEOwKL2FydW8hwidkMXy?= =?iso-8859-1?q?3WmiAO6rZHJV+SgIxF9VdvQ8XOhrsyz/oFwiGHgSS2iSoWwPFbAzRAJJgZtQ?= =?iso-8859-1?q?PfrAfHqKv9WhWSF5xvWhibJB23rq60Kh30AsyBhMcY0xjTnm78UVw5Q+kpoW?= =?iso-8859-1?q?od4LR5GTnex1Ct4iz7G9yHiw6An+0xejKpzrbLq/P2aE7PG+n/cZbMwxMbjd?= =?iso-8859-1?q?lWlebw1z7a6eZwT/L5b2QT21yyYLS/UzyxGA4oAmQ4KWhkIuN5Ng5xZCzFE5?= =?iso-8859-1?q?SoY+68aXAr7bVPmBjRYqHdZpR3vXkHJmIP1aRGCaHBlANQmd8eCtP6HK8M9J?= =?iso-8859-1?q?5Z8ufbQPlP+KZqBUjsnwN2ryB6jwFoFuIO4stKwVQcEXMXCIBICXDi9EJ1Jp?= =?iso-8859-1?q?uh6djiqvkRbI+J9HKkxlUMkGlza7f/cVzbjN93WyZCJnX/Lc7/LSCNzYyLad?= =?iso-8859-1?q?jVwZBOgVAU0SNAQslT2WoY1g1jnS7xwdmIdfmK5EyFb2lR66eNGg0/ljzQVD?= =?iso-8859-1?q?6KzQycxUx1aY3dKEyH6fpP54hHXjGW1/zW4EqhjKI8IEpX20XDRSZmtDTdMA?= =?iso-8859-1?q?gajDRXklH0aEuY1ttQlaaATotHatYxiABMkXD9I1BCav+ZqWm2HfFbypL7G6?= =?iso-8859-1?q?U+KfKqEvNeegGCg7Sg1FNYzxwaDqaRrzUC+1cEu7yKlPgWNRzU8IQ73n2PuP?= =?iso-8859-1?q?swQGGyfQW5tvMvPQV45g4UuBvq1BpLP7ZvsS8I9aOB7t6cC+E/aY3wPTaGO0?= =?iso-8859-1?q?o5v4vkW9XTviCAuC1M3Tuk8zAlxsnr9uT+FG23tFD5mcZzt0U3MEVvZDtvaP?= =?iso-8859-1?q?7AYSzOacjG8bY6SWiSS20/xKaCnSgihDrsabfwA06Qx9Ctg+6fs2HFvC2acL?= =?iso-8859-1?q?LEy9Iaws3W5EBSE4S4aNheNwE27LOkQvn8QDSISpSRWYqiPNP+gFpucQ9Eeb?= =?iso-8859-1?q?2x30f3Bj80cemVw4AgVeWuO5+Gx8DgnCkoiQZNxAaGzwcVKPlYp5d42Wl5O/?= =?iso-8859-1?q?kR2/O5SzXMi+FVk28CeboROwoTLhVrl8m5RyAPSGdLFGRN/JKgw/5g4TN6VB?= =?iso-8859-1?q?ZFWSSXrnFr7zyakXSIs1WlrsvQ/37dAzXhrqMd2S4NukHU+INVH80QDbSOhw?= =?iso-8859-1?q?dHBSIYpQPc9JBTj4hApClfHStZHHhhPAW4Bs4TA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +/Yk90iMIPqAYKwZCH6m7PaVxzeJRXEazq1iN1/cnwy4t+SDrB8BeOuS08q1PFJ44hIEl5maolm+Cmc61GYDS6QfCET1xlVjunJdQo6Pesss17uCGKC9zgUR6TGUsXwpMCTXIFQVlV+DrAQoMt0RbY3OZs+609FRyXUJcKGtAQj3jvp775xl4zNPxgScdfZ72Jq3htPUOVIaQtfIXqQXs9ZkeExhRUp/vyjG4b6dzxxgjuKpIwnQpqu76/xfInoZfd4VyFfNwKerCUnfE0bVi3c4Yszy5U8tFLuwVYWEL9fk4Q7JAuR5CWqRMfpsLbgsvpx7bY1JlHMdqjYWiZeiHuSTDjPZ/rrByRGjN2wsgPvnTBR3YtcjlWo8Ibyou01CBvbtKzGlTMwiH1MMBFHvRJvzULPs1LTjK4NJrk6Txz1S52Oe8a2HhxRMwt+eEmFLS9d4/F6BAEQLXMOyVRjuclVWXzpFXCDCw2wE8jCR9HRmP2fwOJDOGimPW5+2Xqw1pUWY/Qn6zB+BPy6FaMl9/UHJF2BO1Ka7lZvJph4rJkeqV35I3BR4JU6JPRYBgi70XbCoeJsdaH1tuaM1mhjBLhlKBOc+U0XNCVnLFbaq4LVqKASxBW5GDyaPd+6q2E/AGexTrPxM4QZYl3JkY1qNWGKCTdrFemjVe4clSv9cmJCX+AHswnCVGYDgQ8uI5j7ByocTbPVsZTccmOXdBSCt4HxWvOtgF2uhlme3ZKLj2hl8KETXbu8GjDouqqAMGlqP52DwMmT/86Q5+3kXEKVj4OU+BSE0VvZ4ACnS/vsM89Umy12GiB46uAN60KS3IzRz1st8Q4NI54WShYB84UO9nTfw61uzVm5nh0zHblumySY8Do1SdGCX4f0TcBLohoi7tkPqxfVjxKHJUWP2ESsbXQ== 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: a81fd741-1559-4f0b-14a4-08dad228fb3a X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:26.9884 (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: 4gwJkyMRyt4Nyrs4r/j2weEKx3xWZlARv32Z8swXSNqVx037+jR0rq54XoZCKUmapeFF14BGnrlRwZ0rawemZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: sX_l3AvoDQGt89o4MDAYimroHTiCh36M X-Proofpoint-ORIG-GUID: sX_l3AvoDQGt89o4MDAYimroHTiCh36M X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849807057120305?= X-GMAIL-MSGID: =?utf-8?q?1750849807057120305?= 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 a0b1f0337a62..de9eaf5926bc 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -757,6 +757,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 */ @@ -811,8 +812,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 b9a6599f98b9..17623a774e02 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2046,9 +2046,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 668bfaa6ed2a..994e8d991e78 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -545,9 +545,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; @@ -602,7 +602,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) { @@ -614,13 +614,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; } @@ -678,7 +678,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); @@ -710,8 +710,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; @@ -734,18 +734,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)) @@ -789,25 +793,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 Tue Nov 29 16:44:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27354 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450077wrr; Tue, 29 Nov 2022 08:47:40 -0800 (PST) X-Google-Smtp-Source: AA0mqf5qbIcZDa+OuIRO8KLRfqme8kM1Dl019Un51SWQT3/dcRV+JQnoAnXAm05+pyjZcZCguLvD X-Received: by 2002:a05:6402:48e:b0:463:ab06:f338 with SMTP id k14-20020a056402048e00b00463ab06f338mr52623051edv.371.1669740460438; Tue, 29 Nov 2022 08:47:40 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740460; cv=pass; d=google.com; s=arc-20160816; b=cpfTmzFqvhORPm+NKMiz+s4pb+SarD2ISFm+ULV2GojzBGfhuXvaooLkl/RdPydQMi 9WqAiUGXahKZRar0s+Ll8T5ntvn37VKRq5BYhwXQDGn0wB8dVECu6NfnJKWvFFlIV5Aw WW/FsU+EE1bClLqo1uszhTyfGo12T8MKcEZF29LmJgY4UkHhAL3/aI+VvqIwLFkAEEEK SbaSgrjCl/nC6582qyCVnCMxPHZTbY05peS33/rDhXEVQUbtWv7gbizoQEWkAPHrZ8hA cWjUMn0+QdEAa/LkdMLh5Uwa1w746x0MD7TqeAscKERejNCSGkj/JDZPmEETtcsTR5t8 X1XQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=GOm614tl429iOQ+POVCVrJ+RGa5kuncI+Q8HcO7IgjY=; b=QXtzNaGn67ZQQ4Ttorm5I+AIzlBmpQbo2OrXMqYLtyxkpgb5NS3ZwWDzAvOv3y8JrY 7Ckm+dNyYb/XCco17RSshq2/NNqh1pdDQMWu70S0cTdsjFZtbSCJB1B94VcWGrYQEGXr rXxB3AwvIYV1icJsRUcJn+e6pEiGNY7QtJngrumK4O+4Plm4IYg+4dTaap/xI1pYmGr8 emojQMzaxLSHPELhhXA5O7nHGSnjPh6S7zaRNh2OuhO/tcM7PO0vwTOXi69RJukkc4Mb Y+9yT9L92EIym5vYhoh0tDGiuhZohs4M8+slW28VTlhUmQ5uojXL+M5gK9jg/Vtnti0O Lpww== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=uzyUfyuw; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=rYtSisGY; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dm8-20020a170907948800b0078da99ecbdbsi13623871ejc.673.2022.11.29.08.47.16; Tue, 29 Nov 2022 08:47:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=uzyUfyuw; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=rYtSisGY; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236208AbiK2QqG (ORCPT + 99 others); Tue, 29 Nov 2022 11:46:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41726 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236077AbiK2Qow (ORCPT ); Tue, 29 Nov 2022 11:44:52 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C2C75EFB3 for ; Tue, 29 Nov 2022 08:44:42 -0800 (PST) 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 2ATGPitZ017353; Tue, 29 Nov 2022 16:44:35 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=uzyUfyuwtkna79XCAvBNwagjfUlIOKEzMVWB4Sle/eEi3U6WiUBZ2u0fQhlM3LBXcryH L1k3zbQ4i7GXQqNZppeUdJfHTPtKMwKAXTGM1Pr+1ySZgtE5bCWmQNmXza0aZx7wGrGo SFTOZC57yx+SzX02QqAdCmA7fZdG9wbi4vGmRScDON11AdjokZbjOKw9wC/wF7otyIrp RAdaSh15aZcJx+57ntbM1iF+La4S5bk3tS0WGWWhnjwcpaXbB3quHI9E9RgE1GiNAwoa X42gM8WiZFFzvK7a6yZP7LSRVQgjHrDeboFFn3PHog58vK3/pP9ddUORUdCFZCyo6ge+ Gw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3xht6hmx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:33 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPh027963; Tue, 29 Nov 2022 16:44:31 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m9s4Sc5Lqcate3hz88HHjTyiPMD02qZwZEDi1Ym8IyaM5PWz3UK0+8tsvz/eFOh487F5Yygtk8XwKFibhFW1ExNcm17MkwY/W4fB3zNggj/tEsBF5aNex38mKNNHx2Z8pwDi9ERes7zWtiqZHg2us3NotxIlsmFunDGYswVw+Lu9Wc1EP63/GbNCurQK3O/72vB3eBrTjbe2V3j3UZBfwjpkpYeyX8YZVp3LBXCg0FaLzp2RCbzLChmGInwQ/x+XarTTbcnoLeA8+G33nvL9q6UNf1NRO6BQHGJx/xA8mxq8zzQ9CytJTjaZN52euqa3fINS6mzHRw9qkC2iN2fCMw== 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=Hwf/CbmXWUu9WTbR5HUV2v+vEnv3/igRdfwUi+XKwYgK61nb8qhMb0wf5cwaQFypfMfZspM0/l13YSVfykw37pn5teccixa9L5DYPPTarNnksynKmrrH4lRFd0WcCXQgW+1jS6WbYx1+NdtXT4jnW/SquBBUvRzlCrW3ern4MCM8RnF95V771xmXHy9BbfmTevSrBRtxLt87ru2gmVOb2PNGZjjoO+DG3H6x91aWgW3+xIiwSKmUrz1cXRAdqLw2+vyqMCBsFvnGWfQEu1nnylRzc/p1iNtpbGpOAUs68haC1xZ42/MUaM62BbFIrD3FYGvI9Naow6lBUmmBq91Agg== 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=rYtSisGYkvsRW1M9TN7zJpTpDgZQYuAInq5Kn13J4YbC8u4YDkt1hGW3IvIk2VZyVmrYzcBphnbbBNqLm/Z+gHld/NppmEb9ti/ONogawHz+SHr4l8slOzIOFjbDNPViXDerOqZVzDKU0fCPQBi3NtmPy9tneSCAnHzjGll4mYk= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:28 +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.5857.022; Tue, 29 Nov 2022 16:44:28 +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 16/43] mlock: Convert mlock to vma iterator Thread-Topic: [PATCH 16/43] mlock: Convert mlock to vma iterator Thread-Index: AQHZBBHYWjp8mhR86UCgc/OVUkasHg== Date: Tue, 29 Nov 2022 16:44:27 +0000 Message-ID: <20221129164352.3374638-17-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 4cbd0d5a-97d0-4cd3-e7e2-08dad228fb8f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: U7dwCBQkN7lv1l6lUM3yN8ENuknFr1J5PKkpTr7I/dse1mAt0/8GiUgF02peZy4+E2woHeAKIjT0xj3bQ0NOVzwF6RhgLEAU6KjXdYYbZBf27p3r7lxoEuAO0+Xullmyln7ALfsSDhEMPwrLPSZzoLZaYRis7qSgeJXAMelE520J/T22JiyNTefRuPXZjX29vTWmhuwALPqomUdJQTzJciB+4O+y/rVgdRZqwoXONd/cF/hsMgoBVD9ffENuY0R/P1upi+N8pOOiPV/sBx1MNnwUXgMb7/IW4Lu2cEK8t7vqHAihcM5E20XDi++JDxj81j1O7sYI1Le8woOhMnsi8iub9H9lO18jIzCs6bxBadU84YQk6Y9Q2k66nmeU5h/ev+kXwXjANKVIoxP/u7G5vZUceStdhHkV1sEnzB8UvQmNhfndN7pC2gVyNuVtuqhROYVY9BaPKR/os0c/+F7tPcRf0a9bGiT50slQYObPtJrh8vc0J3Yb1pUB3qWyjFNaHSFcpW6jBlSEE1kkdBYyYZyzU6VERVaFRxivlVvj06zq0ZwngPHXi3kVn4kScPPSHNrCNqTdFvDqZsQCNBmM3H5rlo1MFPScZVyToQIfumUet7BTOISY9pN0RxDBZ9I/1n1tUbWBJ6V6kE22ZMc98bOfGUv6urw8fmZgZiZjmmYQNg4IUGv9ZfvQp1Eht/gv60MTPzxT0vilTgIfSMCuig== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?PodY0m6F3HoV8S0FyJyWrqO?= =?iso-8859-1?q?bHVS12bS+7fYmflISGbaN6zsruPvXF/EnC4fTsc1FOJy3Rn+pm9VRVzrHwus?= =?iso-8859-1?q?7gLMjO/7B5xr3OLjsI9DbA2acpKwrfRt4jBPyyeqR1yz57T8ubBbHIb0WHv3?= =?iso-8859-1?q?ydl5lShPHwPLjRKMCWwbY17GehT1NkkGi8OLrlMRtuPpkUh2gAg181KBKh2o?= =?iso-8859-1?q?DcQ3PESg2QYTuoisZyYS/k6gkEUXi+W+1lF1jXBSqF78DmKHseu/i5QQZ2r+?= =?iso-8859-1?q?7shFDuUXBwM+tHqWcA0U3dW+UNYJKKGCA/DzoPbKTQhMGSg7/gCLLR6S9zug?= =?iso-8859-1?q?GZaEVOMz0rAClCbJv0IXuXWB2yj4ipJtcA2jURw3ugf9FWBKBgLP+FItzlm8?= =?iso-8859-1?q?hwndJdGxEvYcxZND6priJLsaI49/EdAR4PGfU0j5X94Aj9p787PvUtaR70DB?= =?iso-8859-1?q?XTypJBhri0CoZptU2vUpOjlEyR4gvNbTd85PyrW+Q4CogS08yywf8j9Hbv42?= =?iso-8859-1?q?a4qwrYhvAeZyh8XUOXHd8dFKGe46uuo+p2UrUTHqldTa2A1RjzA4jF1TrpB9?= =?iso-8859-1?q?WnQ9FyRq+d4yIN+A6L9V4fmNMBtYKEGLbuwB9TXNVnJwDRHDOjDRbmy3UdW2?= =?iso-8859-1?q?ee1eUUNxfCRufv9MxeuTqrxLaHpHGjCYOSAPjsjq/qP1RcScv6J5qSsf/sWm?= =?iso-8859-1?q?aCxQoCceXcqfxlAb6WdzxmhNKfwQBVu5Upw49RK7G1SUdfwpqdpDpIS9LVBg?= =?iso-8859-1?q?Ifotuy2P5gAYWoXIbrxhh4O7VsH2Ur7xrn80clTyzNjNcNE4dCu4FAPHAruA?= =?iso-8859-1?q?XhVxssvrw2obCdsWaB+O3z7aGE3JcmgBmOFwmjYkRgk7Ipoys9tuJw8JW5/S?= =?iso-8859-1?q?fZwiJqno2/7vV2sXFuUKQAjPcFYBAe3ULewjEGINc5phLHRF0o1m3jcVm/3u?= =?iso-8859-1?q?L4ncWq4yravFDKKoIM6HACb2yXLFeB6zk3E7JF7xDzNRPs9QpdoxVEfBEkxX?= =?iso-8859-1?q?1cZkP3gT4+wjtYnQaVs1q24d4JAz0rkxMwXm2j8dtG9w8tqfYL4THXmezzlQ?= =?iso-8859-1?q?KiGXbt0oUor0BQfeazLPck3jRszJbZyxKh5fGOqPV66kbIo3fQ/ZYKew5Mu6?= =?iso-8859-1?q?Xf5VcSF1kII5JQonzL99KUkgY7tD7UVC/JMkfIHvwazG34rJ1pqyDVgCdQTc?= =?iso-8859-1?q?e3YEeVrsLjyy6hWKPFuOY6GQsfNpykVbtcFWAlkAVv/I2ZalJCMgwgyw6hAt?= =?iso-8859-1?q?5ATyq9gI+LEp1DNBorpin0lWS+0fScrZeA4ft05uLtEZm9yL4C/3CB+mgfjP?= =?iso-8859-1?q?aWXnFuh0pA2vi6PRhdTOHVmNiLH1IBaY3LXPRLtqAAUAFsrK9YPef9AGrqPS?= =?iso-8859-1?q?9phU0V6BXnX41mGFwz0RoGz4rLw1lse4Zk2t42SJeWCBFMhFL+1Kwa/m3JvX?= =?iso-8859-1?q?N6dIUkQHLDovSqb3CZLUrJO48shS788+skT+p/c5gYvW4Q24Xnl9Ai/9zpk5?= =?iso-8859-1?q?DV/uZxcvc2StjsQAHDHkdD79KI1PZkOnCgMTPRkW7y70BDAs9pIiy1sejbcF?= =?iso-8859-1?q?1q6sgciEZG5JT3YoLv3ktzORHmAJOWMl7RffRmeLESNDK0TuGj5CWOHiLkft?= =?iso-8859-1?q?UvM1oFtAdsUcWWLucAOtZpEEpRK/EbOo0tdd9Vg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: rqruLL/KQCF8ZV9Vl52B0cBDvAGCWEtT7y8TtTkRBlaJZ1DRDVlkF8gpq/8t4nVZcOh7rfLGzbKzy2xzQxsLR7TwqhdYF3YKOTiLcxPeMUzpS2al+vrEM+ASAw9SqoeiejiivpB87qqywRomgWY1c9JRC7SywxFEjROqUIH33m1HvtBxaZkbJJpC1PhO97Tw9xPGKjLRLSWORTfOQOti2fn8znk4RQZriB/oRc2ElzJydCSEQc+/mHFxMx8n9UztdwmfXH0KAVsTPz/a9mRXpRLz7NnK7nialkSekpSTRISb2Rt+eL9fCedmp1MvHrQ/ytaiX/9K4U1yhILcvvH11eMhFpmkA6dfdADpbESYPvIiTUX/1+QVwbgP6erq25Z/Vwm32ZlR5DVszptkFtWsmw2vGsehXOnkR/fstQRjYbBRriLZ7r/9r5+mg2Y69ltlulwYqoGUwJTRuOW2xKWFYQRIB8Z/a96iUgsg+HphiPuWUec1Fc6+Ifhix4vRsfvSuEM/1VaJ4fC9mjrFuH4kHq4594yQGCIVlfWbxIgHRL2l6SfY9+EXQ9kOZXQhXhxx3NuZsF23Bfhsa+mJSrMpNe0DUlKtcrG9rAUSC6dEDu8izpaIU/JMFWuL1pNQe5jksFpMgYJBPCegV/W7IDxKiCeLLTNIbEXh3DZa0obemc8siP0gtecxAOCCs3wTc5hw+WVwW2FbkPRRF787PXctJFY1wnY+wGPjBYhqmZZvcWaVYSzepk+/VtCaJm+Re1WE+1vPnmXb1jYzHN1taVFm0Sy1OLZmBil7LkiGFB2fwlFXi1HCYuA62hEykEDB9PPT36eHhnC0aL8RKbactlNQN/IpNOvn0BE1HOrNFvfeN3ndQrrclPpcpOIeSki4YUvm2MbPLs2LjBafNze3RK+C0w== 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: 4cbd0d5a-97d0-4cd3-e7e2-08dad228fb8f X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:27.4415 (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: TQAOXTXMNTyabjriOYiFNVmeXxmrVPTUa5tFqQ1qJC88y4zh9ibHaLbY2l8Hu84A40ph2g1N3C7crH9QMf3lAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: MZ-jChB0kaPxvTw4NiPOTae775zkNI59 X-Proofpoint-ORIG-GUID: MZ-jChB0kaPxvTw4NiPOTae775zkNI59 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849772870385443?= X-GMAIL-MSGID: =?utf-8?q?1750849772870385443?= 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 Tue Nov 29 16:44:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27359 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450317wrr; Tue, 29 Nov 2022 08:48:12 -0800 (PST) X-Google-Smtp-Source: AA0mqf4HrYP/xM7ABGGz1ho3N9RjyZBI59s270qYGRWstQzUSJQ8TAOtfGRyy7RdAuyj5Qdpb50g X-Received: by 2002:a17:906:d85:b0:7ae:3a88:9487 with SMTP id m5-20020a1709060d8500b007ae3a889487mr48146042eji.193.1669740492420; Tue, 29 Nov 2022 08:48:12 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740492; cv=pass; d=google.com; s=arc-20160816; b=ouVK0plh487WBiumyp8Ay6xwgj9edW9Ft4hBIEd4/zztGmEJyTCMmRH9WEEpSXsau8 h7h3pyzIsc68PKaUHsIYUaDL0UwJnASvK9Yv4bEGvDG/Zr8/xiEPoO6rf0cYGJo6Jfd2 5SgW78S/Kx2UUEEdjWzyppgrxjN+u+iCULVI5emACf14ESVA7lqu2lOEsBT78OZxspy0 p4dAGatnAjIJLq8TgXa9LWM2qWxkOi6SSADqmG6h87V+1K4rrKEa1JfTmWK6pysVRvq8 Ub+/47M+w+IiR2gKrbIpboLevXZ5/tO/VtbkKKAIuMW1wHw93rqoQC0xjhJlRW7lwaoT 2pOg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=fQ91Lje7tYkNzBw0bSrk3E2yqJ1Cv76dP0pNqKsHZ5Y=; b=LyslX6IjldvPwGlVwbu44zJGHP6XThpgZfuvIFBlp4aouA5kHB3pCEh6JDmQkcAy5I 251NA8RdfrEXBTZWWKJ1lKcxKuii7gtPlhwVYcIyzBm34BsPbMNPHd/6S4mxyRmnPowT zVCtIEDkjYkSLV6fG/jGcVKr3Cwo+IwMMaGlVWfeCU2zXyqZW7853TZMZFKGddbXi6Wg Wqi3NnvGkgb80YhxiBJ3Sm8mfy3/ASw5iTjMUoFk8xRv1wsTVbAhMcDbEnnitdj8O55x rYyNQd4tLkj6Zj/EW82zfLWqVgk0uP14KssYd5GQ7EHZiPnevlDVfY2xfJz111XXTvqE Hj7Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=LfScxEWO; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ChDZWGl+; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sd37-20020a1709076e2500b0078a802cce5dsi13677922ejc.592.2022.11.29.08.47.47; Tue, 29 Nov 2022 08:48:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=LfScxEWO; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ChDZWGl+; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236228AbiK2QqR (ORCPT + 99 others); Tue, 29 Nov 2022 11:46:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236126AbiK2QpV (ORCPT ); Tue, 29 Nov 2022 11:45:21 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 962776457F for ; Tue, 29 Nov 2022 08:44:44 -0800 (PST) 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 2ATGQ1wE012682; Tue, 29 Nov 2022 16:44:38 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=fQ91Lje7tYkNzBw0bSrk3E2yqJ1Cv76dP0pNqKsHZ5Y=; b=LfScxEWOx259Bh9VC6YS1yiA+FDNpbwUKCtDEuCdjwyHljNHMqN1l+/f24Lts1QPOZfJ F5oPSHo/gSesnQA3et9hzWRt/2Qct/cHvHIdHqzTQhkgzu3QO5Bs8m07K++/ngZJgNUr aaMa2KFaQYQxDnV3VKtZ31TUIzSR9wviw6UTAjwsXiCb93nbr3ItUA6O1DGEQYL4ZOBN E8Yr5kzT1eFS2LexNGi8ltBkb+JuiY27eOix1At2G9enjoilwdOYkgsrYRhs+UTH1F6t 3Xwq7nPiYk95Lk0f2e6bqKuMgDU52QZxNDIdbzPFoovBEUAfWXxp15L/AqPHFDwmP+Bh NA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn9d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:34 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPj027963; Tue, 29 Nov 2022 16:44:32 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-6 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VS7ixbCLEKqnRafSFZ8m3HbQ5kvzkema9NPUn4oJsBASK/mMtMiePUe4AfQ500Zg/vF5PcEl/5a+hliKvP12VP1LQCHXmgiiCk1CofSRvTsKSLTsTv8SmSnHmRY4CNf7YETo78JUHP4xrDYr/mA7vlPzxugNQU3W4u9MB7ZHiQLkcjNKVpANj9W3b1dsxvVvNowIVhvN2DwIq+LPXtrjh/DOtIaPiUefwtNxEqDiwTyzSAECXREzHeuUq0wiIWane+0M8pDBPeuJKMGhrWl/P3JN9cpw4cGYnp86NN7MLpxssrmbYocm+C1OtiZJZBsAhVIihwUcc+yTzCbGOdmVvQ== 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=fQ91Lje7tYkNzBw0bSrk3E2yqJ1Cv76dP0pNqKsHZ5Y=; b=UaH2ffDOxi3Htz6O4tyGifIPL6/PnJvi0YGTl26dn8vEnxjxIFXtOaIo07MzvU/G35iTs9GVZBkuVVBk0L1cy66K2shlYsLcFEPydL7BHv7qvjZDlMwmDzbS2TdOy2ruE1wxd3es7oN/75wvbHt+ZhYJdHxMsKItfltmkbgiz7Gw/h0QEfTpcS0JxuJ1oBOWdXfqZ1B40YzALQ/VTX9KzvPwGBqd61U12I7ly2imaxMpUR1aZwZDbagXF0fjwkTQStos7YQuDB9I6JCrP3hAsOOhl9HK5TxG2RN8B1vr4dhJ7ncu6gncAF2j7dbxyaPU7KaCDy7PFU6iSQGn3W5dlg== 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=fQ91Lje7tYkNzBw0bSrk3E2yqJ1Cv76dP0pNqKsHZ5Y=; b=ChDZWGl+oGQjXSlJIk6tADLrFOppjhr2OiSvOpu2H71qQj3R+CPqG/jNT7BDvqkmSyTZ4LOLunxFxHEEJQQQ11Eqaz0pLjiAJFEmVXTl5yPWTll+09HSpu4oM/aL/IZcD0fa7cSvUc3gfoluvYnQ6X7AYbkVapO/gJMqnu8ivG0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:29 +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.5857.022; Tue, 29 Nov 2022 16:44:29 +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 17/43] coredump: Convert to vma iterator Thread-Topic: [PATCH 17/43] coredump: Convert to vma iterator Thread-Index: AQHZBBHYMBt6S0euQ0KP7f6cIcv6Wg== Date: Tue, 29 Nov 2022 16:44:27 +0000 Message-ID: <20221129164352.3374638-18-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 75895d58-484c-470e-1d3f-08dad228fbe8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NNTS8ToaY9McGF3CWJjDYny6BhCT/rRgAfdhK1/TPGXgeOpf2kUSSPOzQB+YpXcIyP134vPT+AQEqmQAhxD2CISnmq53kY0yOkL3INp254/wPYFho7m6aA6uhBdfYQ+srWcBZyNtVqTb5eaWkYxM7U5syPgJ3s3ARs4JBsSTE0rQJsGPdsgGlPeMNgFZmKj9ianZ/khztNQ1EbYyAa2mvJkr8JNzLBNdPH92M6RhY2I+OUbIPILvuzJA3hwGDwORr8VPjMuQRNmyu1fL2fkdg2hyunEdvZh8rPqXxLR9b9cOLkEvmIYKoYZkizdL1I4af1OobRUzB27TBWLY1VD4COBB6VYL1rbiLWao5MliIS4SK6/rvvNnnOlBdNpJKj4/nL7g7q5GAXvIHRhfd+7f8BpZvXguCD8hyyrD3agnpohnxOtoAp7LeyNaNijrYBcsj7zIYk1MnUo56QxU4a8bXtSmTV8G4jx7+fODGdoiGo819QP6rGRcg+5khnrZR5/F9JwvQXuUKm24LqTPRawYtwC6pQTHMaVxkOfteL+bjf5QFwbTHjlqlB5zRGUTZB+DGOaprA43RDe7XVEcY5bl+1lbdpS4zB7nxSJk9x+B1eIVvIAwTuHEPH3rSsYUflRmMB1aOn6oZ1wJKtu1Apy3wnHZ2zLFYi6J7cK7Ml7OsZ2TZjFZ0LbyW9tdxwFHEDTFSpI1tLYfwBp9kgrcX3BX5g== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?nVQXdseHe4XZXDb15qUpM3k?= =?iso-8859-1?q?crBsSk/ssHYKOStNYoKkjkuBir0FmITqSedAVru3+ux3f6jMABP/EaUTof1O?= =?iso-8859-1?q?8FH49TnWWkJHT5jxw+26WqT97uQEHTQ0Z+xvWHYGPZa1i8G1jhJ+S/JMjlpR?= =?iso-8859-1?q?7EazWw6cBuL8sRFidVpQTD6+lHftzixavCSwrxUlbT83SFCZQbs6KYrFL8LC?= =?iso-8859-1?q?waVFMco6lf3C2qW8pcuYUiQ96E2bvL1caGwkEdjuY/7OQHoQHmBvm7IEToHX?= =?iso-8859-1?q?ArNDtfXlgGhrAk7htdSUU+HgDXloYYno+0/fJkqqDK7/1BioszPntB8oI7DX?= =?iso-8859-1?q?wixqt4WUpWI9NzKFO+54tHddnYf9JFtSWcIDuAwjxNalnddj3qnry/3/9k+E?= =?iso-8859-1?q?/fImCjlnm2rBXkrxlq5AxgddlBZhoSr7gQgqSc52B7gyFn3dsH1P6G4gyo+2?= =?iso-8859-1?q?FlCUfv5euBzdImPBggwjeCP1XSpptwFll+hzku3UTlLIkUAye3GRxjQQzxlB?= =?iso-8859-1?q?ol4qO9cOoBYfxEoVL859s0z39ucdTi4ZclBBJOavGsewHSfwx5pbbFTRZIKJ?= =?iso-8859-1?q?ruMfU01JOihwWEc25Zw5OU7VfUzG9todFiIGsfygnkgSoCewo9TrPmKcjz+s?= =?iso-8859-1?q?lcSy2IdPf+LVqP9sz3VR41t/lvJfFApdMsmHxRorR5WOvdcmbxPm39NOWiMT?= =?iso-8859-1?q?1r4JsYZ1PkA/4gbDEHiGN3adIeaX/Z0NUBaZi1xAk5cT5jvBp/f+507CGs7O?= =?iso-8859-1?q?5kKlAwGyE8WOap/d+OvkG2s23UztfSefmjU5j0BH5HgR/zROvusEN8P2gPLR?= =?iso-8859-1?q?i55VCmNbDFe1QDzrarGMPb81eb7/3DkMbnhhOAaaU+8/II5wzXwG13loOyj5?= =?iso-8859-1?q?kVLnUwMoe77snRQluw7oZYNMDKfFCUKJtLs+vVgMmuYN/Bvw6zHs1gN5Vh7Q?= =?iso-8859-1?q?qC/Ok1pFW0j/yMCLyfeE4hRh86W9XuilFK6WEM6B4YbqR2MGD8IA3Jm9cX5N?= =?iso-8859-1?q?4SVxyS9t+rJ564fct4Cf249uZggvYRde2RNSOvkPbosA9e+y2T2JA6qFuNT/?= =?iso-8859-1?q?jU7xfvPx094soNjyLfOG97EDgNdz3umoaiE+k9wy5YcBsxTqDrCYMPoPVwo0?= =?iso-8859-1?q?Xgw1j8N+k3klnV7A7N2ECpEPtwOwvxhwD5w67yr1Y9GTGuQ2LDZ2FBD4qVfa?= =?iso-8859-1?q?UiqG5EqPjn2gjKxfRUiQNGGbUv89AbFa/OaouHQy8hyDg4RazaiwyDf/obi6?= =?iso-8859-1?q?8ySzruBrmZYsa4+CCWbewbxBBxUlqpHp3Wb71h8jqZ54NkQmyqJgGlE+nIxP?= =?iso-8859-1?q?qAjTSLQFUzmf8B7z0tj/xlUljrhp42yq2izpjfZ/VkjaE1kSfWju4H6g0c8Q?= =?iso-8859-1?q?O9aBgbO7IBN9PD4eFmudArCXYaN5uw+LKfiVS3p/oQ3BJ+47TL0cgTq1hkXa?= =?iso-8859-1?q?QmrcA+LiRYqan85L5d8PNcXNxsT+JuMqiMlaDibBkY2x+YSONAgpWp4Zz0O1?= =?iso-8859-1?q?zZf2ZzxhWZnRyRpV4MK4QJ79X5fM0kHIS3ENO571LfpYn2A3qNbILOb/NG9t?= =?iso-8859-1?q?e4PdPxbxgEdny53o1sHqAXaiaczbwjFFaKH1avoBaiCb7zEcgnedaytcajmR?= =?iso-8859-1?q?bbs1/GqQZbkSIwmVUeRvgFMpN++LYiWpit5hLlA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 2XeViv4Rs4PzDzeSxCZzTXNAEgSwm9/HAbHUTgURh7fJPBR+wGjXh8+oa0Tz3XKxFR2re9x5Dlis6XKkudT1Wdgf+rMElg2rVormuNHTm6xaJP/m1PuVgBYJOlqpJg3/MyloIkBbaPW5Ms+nEPz1vNoMbsatZVuCmZjPesumLtf/T/ZvswI7JNpFYh5PT5UpmfexxZ3HNHA42AlvT/GLzGMwrXL68w1wOuaysTLl5IgucxF4qmH7z6+pxfEtty1O0CiTrH582mFuy5tvXNMq8DSDKOeNt74xP+utEo2GF06aKInYaRsNZLW9FXyMjIP604dfXsaOFovkH+e5BFi5l2dIimOpao6ZlfCQfWWJteR82VoZf5T7UA3Nq4yQdZR4Tf8f1wKO5Auvln+gAxQBLNRsCc434KYmhx9MkYPKb4XtJWkfVAN9TKQBMnE3VlOzarEkvuuk8562V07wm6KmAA47N2epxMRi23W/A991EkncW3Hu2XGvWVnmHwTXwhEwtfBcJEWRm8AxhP7uLAQu95XK0tGxtvz56TkwIngOM3RqDuyEaf0wqUmAOVzlypRb0jvmYSeD6Ten0MXz+hSly92cdd1iUN1bIc50SPWwhdsjm3XeASRoN9qB7t/xIJodtk3YG8H106ZpgT5d2oenggcnppAd2wnfe36bbJE+bL+kDEiDQUQ+AE7uSpUQnP/SMVNUs8FjBphCLCUHek9DB5O+1hTACWuqsSR/p6DjOru6uF7WHqQVMcMdO+NPO+Qshc+iavWTQsqIMhH4gwF/RPV0H1cCTrV3n8CqHc/lszFCw+QZoKofoIjd9Va66d6aYa7jQWHbyfIrAwWE1oRgCvBhwqEKeH4MuyZtnapAav6YvFh6dAzIhZsJL3NQZptsF3fBnBgtz5pMnqCxoWrvng== 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: 75895d58-484c-470e-1d3f-08dad228fbe8 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:27.8634 (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: mcCeykb8hXfpaFq+ezHvGvCby5g5gKn6CfDocbL9TXS0XNwYjlC8ponvJBRS1rzxAX3rCtujj8O6pqAAHt5YNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: 1wd7gPArU9FACsIbvHlYtqVI30DI88h8 X-Proofpoint-GUID: 1wd7gPArU9FACsIbvHlYtqVI30DI88h8 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849806970836110?= X-GMAIL-MSGID: =?utf-8?q?1750849806970836110?= 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 7bad7785e8e6..bb1afce78f45 100644 --- a/fs/coredump.c +++ b/fs/coredump.c @@ -1104,14 +1104,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; @@ -1139,7 +1139,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; /* @@ -1160,7 +1160,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 Tue Nov 29 16:44:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27367 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450484wrr; Tue, 29 Nov 2022 08:48:33 -0800 (PST) X-Google-Smtp-Source: AA0mqf4yXpHVZHucvHTxM7Pvmtn8E//Ww4orfRSjRt5ABOqyzime24k3gn4x6PA44NUjJSdxf1+G X-Received: by 2002:a17:90a:4307:b0:213:9df5:43b2 with SMTP id q7-20020a17090a430700b002139df543b2mr65768933pjg.86.1669740513467; Tue, 29 Nov 2022 08:48:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740513; cv=pass; d=google.com; s=arc-20160816; b=bUMGfctsR2paDlBTu+VZM6C2Lw0YRL8UfpefH8esH//jmIss4YTu5ro3iO4Jfaerqc cUYyhZA4BhwRTWxCfR/sTP7JcetnJeA6vmS/MSWS+KPo91YlprpUyiGZq3Cd/clkTqiK wWogGqntfNtqzhv9oHQhm/LA+P/UDEw9tL5EtM1AahYyHSwtmRto0hCP2dox3HPzuQbq vNrSSFUN+yUPLKXlfVEzFODWrv9T4LAnBQTpc6ynuDxs/T/u+tUPB/CzBeGNVYRYrOn3 DgMnFLfISACy65GIO6sN874uPe4LJloiBbOHFa+ARfw65Z7wC5UURA0EAPfSOFrM6Afd KIVg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=WCzbFNCHID8ATnEHut/rkD+7xDHl0WXUtnEUwL54p4Q=; b=O47qlG4Wmg5i0IZ00l/NdjX1NZtrLMtBY3J4aoy3YVjOG6Wc63grg0keY1f+fVPP0F INNKh7QTpKaF1iAy5fTFhgp+d/BFRpebP/yAIQU60OteN5OIzhqkI69jcuWnsUjBiuaF 9w/jDIOex0BmDJ1jntaoJvspN3Ho8TNV32nG87QSOJfe6sF314FXK9n7yh/+lEZGzvX2 uGQ1fR5jk47f4Zw+l0RSHvvrM+8npaB62cxBGeoZh0Ct+vP/BHcSxWsj8xzLC4KwnGJh lWHbG1CqQKTlVielKxGPjpnrXY2Nm5Mj3m/eaNEgwJYK12tcJ9roKJq3THBuBR0osgBA tcEg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=gnR4DEkO; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=aar0dvFu; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i1-20020a631301000000b00476a21877f2si13708761pgl.117.2022.11.29.08.48.20; Tue, 29 Nov 2022 08:48:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=gnR4DEkO; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=aar0dvFu; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236191AbiK2QrO (ORCPT + 99 others); Tue, 29 Nov 2022 11:47:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43728 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236222AbiK2QqQ (ORCPT ); Tue, 29 Nov 2022 11:46:16 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 62E9669DE9 for ; Tue, 29 Nov 2022 08:44:56 -0800 (PST) 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 2ATGQ1wH012682; Tue, 29 Nov 2022 16:44: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=WCzbFNCHID8ATnEHut/rkD+7xDHl0WXUtnEUwL54p4Q=; b=gnR4DEkOViVvRmVTphbHHbDjMq4fMT7/K0GwaARYY98h3gIXz+g0+guKJ0WosP9+AELD 5vnngfM1xicGNkDqAl71SLquxFyBhdMH7IGV0axbYNfzteIXYgGGhbwPn6vDjrDyp7BW 7uUQRiBZzNmIh7NLPOZ/6IY9Lm3gKW9BKV5pccOagerY/DTZj5haWRHIOV7OEMg4bU0m rtKOp0L7UABjG4N5tGlRKtbXKNQPBhV3UmYUME9F3Dygmj8NeveP0l5t9FLUWDNqQ5xW V+f4ZZ618d5Z6F+lOqRBE5pR5St5T9W0MP/7SvWl7AoQ5koAj3/LolhZJ2u5a48u1N4e oA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn9j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:35 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPk027963; Tue, 29 Nov 2022 16:44:32 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mAIFJYsLrdlen2e7/dsLtAdvA/rL0lfi46lNS9myGqlKRGHaB9bPt3w2uAqwcU03yvD+o1rn5N4leXHv06pDqKsmvE2/uc/CsLZIavyWhsgXYEwIwiFj2i61h8JkN2AEPDBx4HqUaVLSPpV6drefQbP5t54n4Vs7IhALPjkVcS2K2YVYmWmssp2wrrlzcMK571eeb0IzyeS9UtCY0kenPakEDqUHyAGniGsqpKRP3KX67ucWeupk9woyWb0JUD9FwJ400ae713/v1yF34APwLG2TvWV1GAftcKW0EzQZ9G31IdLp+GqdNIxs6vEQFA6F67uZGPEtwSr6VvUn23X+YA== 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=WCzbFNCHID8ATnEHut/rkD+7xDHl0WXUtnEUwL54p4Q=; b=Giagn3aosE+2xAxDe0oij2fvm/i5jTGfrlkUsVld7BXbQSwNzmjNZYkEa0NjZUaAH6iPsRo2eU0/xhgjaFfQ1uWKiOcfVLLgo+i1DZjsOq4TUyKgEsDrp/82eF3H4C/I0W22smAM3i/o7Nz7/GLOQ5fO2G7xLtUIILN/wpAui7NuZyQheC62ph2Y3+TJL/XsnIxULjoHu+wuN668ohztzQpYx8CEP5zIJ2rxkP/VcE3fJll2zfZVOJQL/V9iB9wxmS6YZf5wnLa1ikxWX7jjW9yfrwLjAd2UKczJdXLYAanR4jaVFHTJ+HXUJX/hmUrkLEa/05clXd7ILm0br1a+yA== 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=WCzbFNCHID8ATnEHut/rkD+7xDHl0WXUtnEUwL54p4Q=; b=aar0dvFu1N9sg0rPoFYK8VWgJgCkRCWwLHrjhdj1D4njvbVc+tWQSoFHkatkCoumM9AbTuZjY51HzLNzRJuYtB4Unbs/i/9Us7UTJjzax3mdy8KZwDFId3Le5vI3IZTfoPjeWNBkEBVBU7tUihTE28DoyAIAfv08oA+yzF3s5Do= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:29 +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.5857.022; Tue, 29 Nov 2022 16:44:29 +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 18/43] mempolicy: Convert to vma iterator Thread-Topic: [PATCH 18/43] mempolicy: Convert to vma iterator Thread-Index: AQHZBBHYqhL1Jdjebk6SmrW+9ULbHg== Date: Tue, 29 Nov 2022 16:44:28 +0000 Message-ID: <20221129164352.3374638-19-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 6e3c80d7-7e3e-45fb-2be7-08dad228fc39 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MBPmFXwVYx7Vbf4yKoqzhORYG3YDioMInSZRRR7gb4RExHGH+haNyudDj/Q+aKK1/bUtG17AeP5eVpmoZjC2fQZUHCzzyDiA4aLKM5aA3DA+Q2hhG2xdboQukurgMFc00wkdIjX06FQxJDsmQU6eS4ELbV4Qv3HybbCe4+iPs0M+lPEmMDSQoo2JcKfbRrS7wROqmRX9mqWf4Fbl9FKq8jbBaJ+/vlpwfvVY8vMC2R2BGFvHc0ZOHMrKuChzrt+PLbwWfjCaYA4S+FEURSO7XvXXAvcMtafSYM4xlcSeYcOLo0GbdhtKP1nlzyfYM+pwAxBe5gXbqPSdXf72TxZH2WPb+jNaT4h42OGwmm5Aa4nMQVUNyx4+Xp+U2jRSN7aRJjJjSq778DRVAKMLl4zg4It3jox8QgAJg8M098sccCev41G4XVAc+yGzcDQTIjKbmvI9mpihftqrEsYJYEv+/Pcp9dMv/CPjKM3bEhmLgUyV6MJ5g5qivReuD4KLQbhCVuFMhoJ+agAKD/yhx+nw5R8+39sE3amJ06/jVMjUh2Bt3NMXQsWPiC/4/IUR8pp0ItMnDwj/bsDoCN0ar/6/fC5lKwF9QuUHAQw2jJ6s2NAMU8IlzCNRau/X8jjyurogqcnnuA2EdUJpZETwCmMV+szBqm4J8QfuwmAA0cVpK7TihlJor6Be7rUzKH5ZiQqwoqvLFE1mMDl1FG4fkZwZyQ== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?NosAFbsXebxQpAfHo+9NkwB?= =?iso-8859-1?q?OzAzpUQjOjUtJ4dXPjDFFIC5eYI6qLLb3hOA5BrOCivwoyjmKASnq0IvYVkU?= =?iso-8859-1?q?zmaEKvgijNYVd6visYVm2uT8cGR8gqzgcwijUXm1fPo4CcjuzR/im4H1yxtU?= =?iso-8859-1?q?5vl6dqbZqIQFwSN5E5olIFgbpFlpl7UtAxLMdZM/MSN6IW8C4y+lOdC/6oat?= =?iso-8859-1?q?yT+DCk6O1k5ZzCcAH0RrVDoRksw+t/nR/nuCqiJFrXLoKH7IDkz2SPRNElH0?= =?iso-8859-1?q?EJXoHYVY1gS9pLrB9hoCBVH5PwaY0BiZ8rnScZURTVd0A09K34/87g4o86Nn?= =?iso-8859-1?q?AMFULNt6k8sOT7nJdGHNRDSqKFsUfywUb7YNk/SKTvLE0r3JZ6IPzflshs5J?= =?iso-8859-1?q?z4X1znts6cyRkuw5pCJT3n0kJMD1UifNJAhUZQcNX9EHJyfwheA3RbfluBLa?= =?iso-8859-1?q?jKrg0Hd+rfGoV+EKee1vsnSZjKRs8TgqgiVpCiSiktW2HNss98zFPVSzzW0t?= =?iso-8859-1?q?6CR96EzkpmpyphVRSZy3n78e/3cd0pboAS4XKkaz9xZ5j9FhVQyz99/EP9Ny?= =?iso-8859-1?q?PmOuV7i9LvqZQH4ZiaIw0d9coHA8nTsZQ0wA9FrF7PJzYxPMQVotNpcftSjS?= =?iso-8859-1?q?aLy4GJsffZQ7jwqJ9pO++ZUiPeHSaoIqPJZjR5Qs5M5wBPVKtXN1ShtfEgX3?= =?iso-8859-1?q?JWjEI6zg7tB3X0o94iqtlVNt082UmInyqZMoUOqHQdKflP5SjxHwn6517VX6?= =?iso-8859-1?q?zcDKAN3QbXQWldYcDBNMkgrjTwb21Xybhjqywv0RdITfgmO/Sq3J2iaGOlVg?= =?iso-8859-1?q?vmXYdMV6HfPU/r1w4hx5gfTNMwdMTCOYqWaljKbzNlp5vqcdGPggNLSvlGrn?= =?iso-8859-1?q?/lcb6cHYd1+46PERPD61pOzqFGi18VJu8IFVTiud/sRd3vmHSxsRGKCjqVdJ?= =?iso-8859-1?q?VR542Fp9rkmDNlGjUYjKsr9UHXyMuoJV+/n/RfiP2AF9QefC2Rr5jvWoA/Lh?= =?iso-8859-1?q?q2+QfrTsWnyoEs3z5W/za5RiYE4/apCbwj1FZfeCyxrdEgsioYC/0HpO7S70?= =?iso-8859-1?q?lX8XMSqGE7ybRoMwF2EDc+eB1mfO0Aw1qr8A1uRTCQw1T+ss4taQnDE+qesI?= =?iso-8859-1?q?U9Aep8GJgHPVpW7bkoG67c28LOTwYBkQZpVl3yQ/k9lwBrgXWf8I5hdLKB9V?= =?iso-8859-1?q?bEYKNeGD9935223xcZAuoDom2SauqmnvuTFSsVX6j94xPH1n2eskpdL25zAi?= =?iso-8859-1?q?YlfpG0NOOYNQhVWu3zdpZrcON402nMg+bpZAe5dIjILHoWaVt5qOCVk7FdrM?= =?iso-8859-1?q?LBn/+RxewkK7BNiq2zazW0okTGMyUUBJKZkhUptRCeWZh7X1nXNS/Lkc+Cxw?= =?iso-8859-1?q?uNGz27bbfGKlRvRvP+6GmAXqNpHDDDi9X3UpiV7E5ZPf6Sg7qVUfz07DyxPh?= =?iso-8859-1?q?xaFonyTPeYeIOS4bQyrmafIuk72Qkws6kBOtGWQwBdreNjQ3OQL877M5V2ap?= =?iso-8859-1?q?e4RUya2sTN+z4tE86gx48KvVnXFVpe38ZagPHpOJ2vvPDkjk01DBIrrV7ltZ?= =?iso-8859-1?q?RHxHfSPkPw/NhFx0V8lrNMxcYROgV3qspy/mGflekneYpj/XPFawEltKNICl?= =?iso-8859-1?q?/OF3a59q1IAoTVRhPuBpFOkvrCnbcE2epq1gEKA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: tlxWaVcESzRclb00N1pt4SDiBbGENZEzZ01uXihj+PwNPtkz3EIxwt95xkKmHoxp78eS/CHG55WiF1Rt51gkzPPcAANmhiyPMe4A5/h7DxoCNnmWTe9aq3pRhz9MKoHdd0nRXetyyTdZzeiSw3ecEyNnzzzfDUrlfPCF9I1L9l9QEunXuSq1ju4DmU6Qho5uP6lB2uhpX7OJ0ffTlFEcaYqofFDPsDQKdUWu6f/I0lGwYUX9DocpItCvPZ7FK56gUmXo3jiTLV6VJf/vZ7khFGocbObD9mQXmK5wFTqvcWJGgsuimpyWvDmor7vFUxC0ETWssRZYaeJgKofPVZ4u+TMgQLIygv51xJLmqbQYuvdmXkbKsgsDPl8zd5mfquI+MVyyR3hbsR8PJNNJkdpTAbH4f64Mj2DUuEqW9r/roC2VgyTphgchiF2futT4SvnTsOnALQu711sVk0AEqQTDJbW7FkdsfOgl8Z3V7uwTgDLbO5tX0KLmLVcH4NN0Pf3y5YPLAkI6NsJKK8RtD9IoIBYZ9bJPcsAzDXKobDYxJ69+8yEdJgwn+E5urR1B5eNkePNmBNcn5D/3T75D4aqMfH5SrizqyxUPI1yA6F5+tv4rvInMt09VYCcIfCYWdyNgncns3EbkFbp+QXPbEufjYxj4VC8ANg11XtBz/Ni3eUqMCsFBPHhPVDMDOjr35v6SEcWLnaN/R2CmladTRRM69/l1V0keDDhBdFPY85Sle2DAycbGkYHZRhmqNHmvQ3SCd62AhzekLn5+Uiq4QxqtPxhS2Racqn8fn1+8vxPFoc0h1Fs9f/XZ8GO4B950FjFEB2CPzBuZj80jUxS5p/7ZOQsjiZjtoIm1y+lA1G/vmT7p6wjM6YhX6oneTGRPjTYwD/jqQBYCohZdFEgJfzZgVg== 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: 6e3c80d7-7e3e-45fb-2be7-08dad228fc39 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:28.3946 (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: Vxh/4eh71xwEJfzyh4nBlbiH8SvvviCtzDNbtPh36ULBNSbGQX+DcwkPt1pVW4glFs8RxyImXygZwNhuoF2etA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: 7iY1iCxjeEVUtGBrIfrmAjfd4R6gbxK0 X-Proofpoint-GUID: 7iY1iCxjeEVUtGBrIfrmAjfd4R6gbxK0 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849828726530189?= X-GMAIL-MSGID: =?utf-8?q?1750849828726530189?= 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 61aa9aedb728..5bf4ab8eee49 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 Tue Nov 29 16:44:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27353 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450061wrr; Tue, 29 Nov 2022 08:47:38 -0800 (PST) X-Google-Smtp-Source: AA0mqf4rl++1yDTiCtT0y6j5u0RWsyMh8mpxESEuw7Y2LpKX/1NnXKT2h4sVdIhh+g+2lWFvl5lU X-Received: by 2002:a17:906:4e04:b0:78d:9b4f:44ee with SMTP id z4-20020a1709064e0400b0078d9b4f44eemr32298306eju.679.1669740457864; Tue, 29 Nov 2022 08:47:37 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740457; cv=pass; d=google.com; s=arc-20160816; b=St9UasKabfBSNlwb3e3+c63O2snd6rR2iNWA5tVAjwMRZ5UcgBax8noFhGk3gM5xs2 UyRXqh2FqeR40CfiP2bci7GgnEvI4FdnJfqhOct76UGWO0Wca/3QdAp77GIDJSBPdyrQ DkQ00leZdE4KcAUxFbX85v+AQf26GHS3Tm520EDkaSudo6Y1nV17jYlSGy8vciYoT1Gp ZoHBxQFtjZr2PMuhvJiWkuPaXIofBRvtebgVZnDy3h3hfOnWZuEKDMOyGv0fecPfgr7J kzA9xk1uPb1oXW7gdEI7IjV/lKg+jBWRz93j8aumEo+Sto52fVyhxIfeAZqKYyyCR/tV /zXw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=cLs1VNDaoPWQ/GhtH9G+nOGR/B2yLNx8FYL80Ieaoh8=; b=O01kXPuoT4LczYXRty/av3jDGf8vFNlv//lU1lJCAmc251CiFLqDpHFasEsAaofC7N FOs8kMZVpfPEHOUqLZZ0i7DUqC6Qv80HxqZAB8+2UIs6Wtj7hym/81wPW3KOV3o1Qk5K iilxmbbpRhhS+PmSHE/sVDecdeqRIMtL8gv1zjbpZ43A/iWLrCIsW8qg3vQYCRbNZnta 5thf51n8D8NSRR/ZtTERAO50nrzFFsQ60KayuhdXUiOQKDpCN9NWjG6kbTb4g5mqC8JB ge7s0c3Y0z71uevnUjQVC7KM11BtM1UTzgZDMlsxd7YDyo8mqg7d1+tFOtMz9IJjoZTH T21A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=sbv4Ezvm; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=JexFFvk3; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cr21-20020a170906d55500b0078db79317bbsi1960076ejc.689.2022.11.29.08.47.13; Tue, 29 Nov 2022 08:47:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=sbv4Ezvm; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=JexFFvk3; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236203AbiK2QqC (ORCPT + 99 others); Tue, 29 Nov 2022 11:46:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41472 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236075AbiK2Qov (ORCPT ); Tue, 29 Nov 2022 11:44:51 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2E9DC391FA for ; Tue, 29 Nov 2022 08:44:42 -0800 (PST) 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 2ATGPita017353; Tue, 29 Nov 2022 16:44:35 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=cLs1VNDaoPWQ/GhtH9G+nOGR/B2yLNx8FYL80Ieaoh8=; b=sbv4EzvmFZHNIHt+VHYCQd2BMOdQ2aXarD95EI5VXtsJx5dzbp4o5LxdJak4ow9pN16v S69t1mOQTmhVwXbA0MLrp5Ny93+WI6kLOFlWf/iVz/dv9UtmbQfZTyyLWiIXFBek6Cy5 FL9fDiizrk0Dq81v2tpLmDjdwYajHOQFzqDCQxdqmOPFVaILubeJf81uFhIdx4OWSLjz c0s6dtRxsJv6ozpvS1jc6+7akTK2om4/kaPmZqowdkUSLGgN1F76gsAx7ZJWgeFsuknu 40f0yv43wpwIi68XH+4DgK2WjbkHRWweRALRPsrb+MZ+8zQEVMzDuRhY3RYGJVPE46pv wA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3xht6hn3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:34 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPl027963; Tue, 29 Nov 2022 16:44:33 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-8 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YtIfTITP3ckwsP26mZhxH+KXp60Y+DEpWl1Uz3E//gHBnfVuUFFdonHgJbuT/SSxwPovw6WTPsHjG3MZTwo8nuM8OhJaLG7H0EGToAfWwzOyfwV7s1vt+Krz4DCU8f1+QzOkBwEEPlkdmj5HEUVTPZSj3g+5rBEQPImCj2XYVPQcIpr8wtkWhGQl5uKOGNTNUjNejHV2fyiOfEmPOsboMXbunHjm714qDYRM8ST5CtmQqPu9CTMTRxr5WJtDZfo/N6ZgoIemhoyZqAK87+UH9WqN85Qxcq6PU9zFDdg1icyn92P56AuUvChNEVPB5A8hmek8gHZFV0aXcPIva89B5Q== 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=cLs1VNDaoPWQ/GhtH9G+nOGR/B2yLNx8FYL80Ieaoh8=; b=Ec2w7HOpzzL6GlwKuBClifAXjEe3lD0qiP0sIztAx/Exz0HJ4CS9bN1qj1DwZ5MoItJ6hfBPbcuYhRZoeGL8nmsf5BxWO6pQwz+C6V7OptyNt7V7v1Tfcygl/j4zErBpQsZzjufI6NIoqD0qlFyh8QkR4wdrPVhOIuI5tApkOATF132Xf7tHRJl0bhwmst9gl703vGW/xCiLN3HQmyrTc1T0Q8hk/RmOPHs1oI2WEkrAGBWKl21na+S6sxFytLqk4zQ5TXL5Mk7PC1AKd16s8A6/cjmdQbdjlMtnzIPMdfcn40R1Fmk6zgCs/TX6zz5DE5hpnZ7rqF2tA/BG2mIDyA== 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=cLs1VNDaoPWQ/GhtH9G+nOGR/B2yLNx8FYL80Ieaoh8=; b=JexFFvk3gCW8d5E971kT7c4M4HP1v4G5WSh5r/202tpQ1Dhqp1KtgX39pShCqjR6uXQ1WBgRQxQnXx9yx7/HgrhpCBNSaDvQtQOl7b3hBewzrz8zAmLdi7765RxYvUD5HdBIAK4IibLtfX5YNL914lKCwvbUHUxxlkCQO+3XxyM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:30 +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.5857.022; Tue, 29 Nov 2022 16:44:30 +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 19/43] task_mmu: Convert to vma iterator Thread-Topic: [PATCH 19/43] task_mmu: Convert to vma iterator Thread-Index: AQHZBBHZM8nz3i4/xkm06pBVRDx9JA== Date: Tue, 29 Nov 2022 16:44:28 +0000 Message-ID: <20221129164352.3374638-20-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 53cf5ac2-fd47-49e5-d808-08dad228fc87 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZxZJ38mQEMVq7KW/cJIlZopYsceNJN1wXpD02Y/Pk77yZFUump8lYN9mCVOP/B8teIcCRFRclLYil25kZG/Fxg6wEvK/OuE5xn6t+TtnHeS6VWuZpRH87kyWLL3ZJx92TMk1KGU4NqN/K+mWsyV2zoi3zjSvgc+udqDHGu4kAX+bEkltilzzFVzypzx0m9kN25SovzdyuE3mZmZKIS8DHOjSyoe7Z5AVhsXFlXZraSFxq2u0JSeREjrKm3ZovYe3b+rq/xrDUbP6tWFtnZJiQRrQ0gommp7jVHKLVwEkG5Boeo5fsxcjzERCoeHVGAIv0OaiPG9K0J7i2WM/o4OVvAnIgRHzMK+UMVjE4lJ+EwStteNVd11hNhpEeVhbSgnk5k3nTPwPKW0M2c4K1Mz18w19X4wXa7SLSTPpBGmhmMMgzEomW2V2kfEmbSfcSSA0oR49aJg2kNGDL6PHbPTOeYC4jUNEYWAZP/DkcoD1TbE46rR9apOx4TGi3pDLEAGW0YJtP4dp75DAQwLmgr5cIpapiCZsH25BW73iTFLVMV3YJCf6PLm6Lx+O1wdscW/uvUoi5Nrz8/vb8aFd1uoiIEdTD9DxikCpe+Oj8j5Hp+tMpz5p8HEqJTEmsx4SGtoXVevvOvFz2GG/zOUl+XhXdL/4nG2lt0uml5h4uMrrECWnvJFvNcCRPkxFHbRk+jAgReY8sHGL6r7Q2FJaaiAong== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?X+lvYfF8tD3kZYHRM2ns96n?= =?iso-8859-1?q?8wc5vnUyyDWXU5PNQRcxTpz0K3V1JGdvZwVeBAfksOmnAX0x2AEp+xF4V3JX?= =?iso-8859-1?q?O6WJc5f6raqUPRKyt+zlso0eDrkDwdpoz49zk/QouASPEa0MVJXTILP/Byql?= =?iso-8859-1?q?0WJ6nZcbUl7Z6vs9UM3NHoEojHXQNOySAyBuCtamt+Z4CQYW0o0SqRnt8J/x?= =?iso-8859-1?q?I/H8X9lNIDtZXhdmcI17FTaHU0JUqiW5mpJ7xpsMJDrWRpxqAO2nwbaz+ki3?= =?iso-8859-1?q?HwaNjXZYZ4s/wGp8Jpd9XR/VVIGCYcCdgUtzy2fj4rn0zwvl7IXnzHRUzW35?= =?iso-8859-1?q?p0ztRIxfiCOSki4dX4nbwfqxOmTYTWEyEMbxe+mjGMFHcjG9QYoteX7XhBom?= =?iso-8859-1?q?PafXODcurMq9XBLufp9dBReCkRumqZ+hHE+SOjqUqV9LmojEw/Z64WkD5wrS?= =?iso-8859-1?q?GcSPb0Ell1pfWDCwfx5wX9k8TMQKNTQ/ZWjWbKqv57Y4+roo8euaJINhBTG0?= =?iso-8859-1?q?+8w0SKpotbIDwQhLfTRLetzoRe4/plrf3EXtWGbkBr++mlVRs1qBmHx2gjUA?= =?iso-8859-1?q?B5jHZQH4UwEAbm+J7BwfNJaOPDdRfgWFQagQm1qUMuCrcSDtGXxxW4JQViFx?= =?iso-8859-1?q?BciGRTNJWVR9EyqvSK0sBwYV8r1QV2vLG6H1kaatD8s9eB6TSa6bnAswYmNb?= =?iso-8859-1?q?y9wjoWHkAaogcvoRStvvaARtvnVKjqPvj252uqHTsunGSjjYr/DXK09XVvOz?= =?iso-8859-1?q?6fdvmAXyzSyk1kj9MuBZPGk4/FSLDOt97ELuPz8lQUYr+E9lIvpT+RUr1jOQ?= =?iso-8859-1?q?PM9O4Z1TLGCAHp6YBOgf52ZXhm7l7fd16B5SzKt8CFSYfUA0pFMRiX6rTQPw?= =?iso-8859-1?q?ZUwkgCsIAFbKZ1Iq+ZlQEGyippqzEdKDJXIAFpsVFr8i02p00lESGAhw6jvI?= =?iso-8859-1?q?Vnc7u3g5Hu3ir/RWjSB1IjIkWNe4Ry3EkA6ERhyQqJ8WUDVWnVsE2hFdDC2Y?= =?iso-8859-1?q?qAYp/70XX6HPW3VpsyPuPl2iFERpWNk2tpIIwIbs3BaF7fmzhuGdbOYP6jp/?= =?iso-8859-1?q?GXuOgJQJj0oyfazJ4hsnEjzwOINMIhq1BkG8K8OossYrlLSMGeEaATHwKWEI?= =?iso-8859-1?q?YSuWuzHHj/BOKnk8RSAvZPug8ob+77Gc7B2j4QmQQYR65ZVLqXdrXMFQKqHI?= =?iso-8859-1?q?zsCD5RXZne3/3qLy3O5nY7GDMHFHG4aApoxqLJj9/tMs6AmZ1/la0nXq837e?= =?iso-8859-1?q?1oi239MMv88F8TNuNZ9QDHZbJaBIAWpdgBPilD5PAnU0sLoEFtAI7c+wX/N4?= =?iso-8859-1?q?17bHzERDUPZT7uUtnxDblRIR53Z7Xx2ivKF5FAok8cCIIsODI0nLXxcnYGVf?= =?iso-8859-1?q?PDVNAwaWvKSouS3ZQ9vPmPaCKT79iXP4ta+wmUz1udKgTrGgikIddtQgwE7I?= =?iso-8859-1?q?bcwOADjRMqT8VOQUEbvd4QSaixZH85CpufYREwgxpmHEWLplRPQRt6tGlakS?= =?iso-8859-1?q?lZ4Q8zZ6xIaRP4FXv+SaQEefV2cejGCR8imFTIQtyljLg9y1RbqXy6fsywiu?= =?iso-8859-1?q?CS54s/ZKVn5iBO3p+V6xiSm0KOyEVt2GR4cJGZb3o2N5GcVuEKjj9oaI0EEr?= =?iso-8859-1?q?FeWYiAyJ0g6vZ4f6pFhQI5BVL6pHZbpiHLGJd7w=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: KBJVBtVD1vTmqO7auxmihpy+KiP0SZymOv96btyBY/GoITfHYPhfheYcr7MQ0pyp5oohAg/quPPMg+o7c90wxtRJFSqVa2GWJW+MJLbKO2DeMJ1EEgws1LSwxtsqdXnauZ+lwIGkSMjGxzoRtFsLDqv6UH8Af3b3GxWs3qjaN53zsZuS15of/ix/7HU6vSlWgPuerqo9xer4kx/fotw2RxpevXyEg77yEWxbxv+m8t7b/wPTCpmAOFCj9YN0XIhiKgeu4/uz0jPi85PZrJTfiPg80D8sJFpF3et+rvbI8a3UMS9hYpHqTxLlkEHqhfmCVXaNodU72XUJCP5wiQ5ewXMHz7UcKinSAbDWocCHMLF66imDm7iMe/aptXlZAlthtqAdxoyI1Z9Bov9c8gJKkCNOidLCSswTZoSfZPKJuUXBhQwTQOnwA8oUNC3hT9svYfUKtnQXYBdFHj8+l40VZVbT/0KSfI6qb4jwKy/xWg7/Z9f+0j09Rfmm/KpIR8jpcnPk0rVGrMYTH7mzl+QNJh9nydfvaoB0xQuvaaYYMlbA/w3R/ITtAnGVxraafjL2AGLcGR1F2EkiDWVKxOM0re9mnGyXnBuqK3spIRSWGCp+KLBZQY+nXPQw4lsOtX66pNMAKBq5SVKIwKj1XvzBOc+vOMDAwRDDLB6MX5P9DIaJmjWP7rSERPKK1RXOkeNFLllKnNrB/ROJtjMckVrj8L78yRCATI01Tha3CQ/RislKx0NkHoNNhcGJPnR8nNhYpjgMl+mHs7VQuNvNSJHM304TqhUx6mbS6FzHdRLjreUHok8gLA8feVZcNisC9bsyO2byqFThjyN8H/8zxI/X+KRFjwnB8RP8Do/e/s/VyEGrUQHtCEMn7N6FQLsWyawAB9dR81KCxgbo2YVDSfrLAg== 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: 53cf5ac2-fd47-49e5-d808-08dad228fc87 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:28.8633 (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: emR0zjespX73xJZalf7A8XAE2cylVSiz/kl7DJvpNWcPj71JZ1POiruP3jEFXkbRXNboAbqQWsZVfVcBbxFRWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: ztbK3Wv2XE-kgSXBPWxf1EKkwIm3ROj9 X-Proofpoint-ORIG-GUID: ztbK3Wv2XE-kgSXBPWxf1EKkwIm3ROj9 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849770430968704?= X-GMAIL-MSGID: =?utf-8?q?1750849770430968704?= 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 8a74cdcc9af0..1b0bb36c51b4 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -884,7 +884,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) @@ -902,7 +902,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; @@ -917,7 +917,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) { @@ -961,7 +961,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; @@ -975,7 +975,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); @@ -1271,7 +1271,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, @@ -1291,7 +1291,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 Tue Nov 29 16:44:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27351 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449843wrr; Tue, 29 Nov 2022 08:47:07 -0800 (PST) X-Google-Smtp-Source: AA0mqf698fcPh/gRYXIjNtQH7gfxuWQw34mLndVxshuaCoI63NUu9wXqHQPakvvgRyIkKOIQR6m7 X-Received: by 2002:a17:906:6149:b0:78d:a154:ae with SMTP id p9-20020a170906614900b0078da15400aemr33318057ejl.259.1669740427596; Tue, 29 Nov 2022 08:47:07 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740427; cv=pass; d=google.com; s=arc-20160816; b=uLQD6P7iDDR+egrwfOvNMfS16zJbBjnyh32q7RYGiRq+9ZE9x1KGJARAeRewYttu9I HJHsvV6hucu/kz+bQzMOLcdcwnRn04W1Wf6LMmB5NH5ryBVv93H70y2s8bek236iye0V HLRoQQPZe0AtlJLrO7U5630rQ/D09SCZvsRC9CTC+rZ/UtLTPajsx3fkjo7rb4R3XNbi kqivi4udzm8m017dW6pqsNrvGKY1HM2KrqoiGHc5r/sYpsW3t5kOfTHbBuvehzjIMHyG HFjF4OZ25tbYj5LQ29Qzu4YPb1RgFQEHGVqTn2rLOIlPIg5QLmqVxW1IWkl5zSd83IvZ I23Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=uSweNQ5DK3Nmh4aAYiVtOYJ5qY4vzSTfB3J5vg25+g4=; b=nhiQGgI9DuEuPHhxb0ka3B2yUxdsJNJ146ZwQEKTd//xc4TdA7gYkwvfi4uN4jtpd/ JNpp3Kzhz8SlUOSrAbmionCNVPVXBqN0P6SWp/d1+C1QVEVcGaDKLDU4xqYR5TGBV8th GJO+68vgMBQLE2pXEukU2NfNfCzUewoQsigOm/sqb3dEduWEQYEv/LYZld3Q8Sx9hpKh EqIXmx4ShifNkSftCMQV1MdGKbl5VRYcm5n1xw2BRWD64TM+k8hSD84u+gvdaxNW+mJp psFvyLbcbdP96F3oRgEtDeTvOikNy1+NJu0J6rPeSBA7pfRD2KelZRXQBt7Il/lqCPGi T4jw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=ojHYmhnd; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="v+yj5/Hj"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id go30-20020a1709070d9e00b007891fd9179bsi15124117ejc.150.2022.11.29.08.46.42; Tue, 29 Nov 2022 08:47:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=ojHYmhnd; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="v+yj5/Hj"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236102AbiK2Qpv (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41484 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236016AbiK2Qom (ORCPT ); Tue, 29 Nov 2022 11:44:42 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C2E35E3C6 for ; Tue, 29 Nov 2022 08:44:40 -0800 (PST) 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 2ATGP14g031318; Tue, 29 Nov 2022 16:44:34 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=uSweNQ5DK3Nmh4aAYiVtOYJ5qY4vzSTfB3J5vg25+g4=; b=ojHYmhnd9IFUv7lsVT0cDNd00i4yvcvE/BANR2F+zcBZSMYpzpacCoPejo96wZHBgzWU ZD4tlPo+sNg3W+o7nEgip62HKyAZb8z8LoF1YEGxXYgb5bn2wTZc7d2Uwdt/jtRrQJsn K0ScTCIYJgkJUaTL0/evsso7qw4nUTJkEqxXOLa65CvoOC8UBNxzU57igMJ1NUIyeIru ewBTjxx2vtx65NQVFKCnxg3158nR2DKtVQAl5Vq7Tsq9b9lUEy/whvpuirKBN1FCNy1k Pn1HRnYZTjyufanovVx9BPyzz7/WIMYLbe45hb5t/nvCzyiKSp9oo0PYGX/mK8q+agi2 Aw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xas9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:34 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPm027963; Tue, 29 Nov 2022 16:44:33 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-9 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mdflu/4rGFC+s0A64AnGxr6obk2krdfNluYcTkdvJI/wphIDWIO+i9yQcDzyKteh7Z5gZd4fRwqCw21yJSVsLy/T9mhLGcnrcQaiRRsX5D3UtS0IFNaLYtWFXL3oKn7aLrutPH6bqTC79T+rKkyUdELmwEGV0BihOfM8/IYO0sA/jHf9diGkqNuSGZUjBXqvKw0lL90AO2VVgrKjZJel5LCqRk8S80Nm95U59oSxO0+XvJXdxF+zlp+AErvGVBii0vgYb3A35D0Eph43UESYvUnOpsnGtRqdvGMfFxn7Yc8ER5rSQ4A1b7PjQwTLF7llgYyfLsKkAD6H2YtzeNtsIw== 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=uSweNQ5DK3Nmh4aAYiVtOYJ5qY4vzSTfB3J5vg25+g4=; b=B3cBaJ36Mz3nH4JEkuP141K+KzKGXJgfkrKAGJQyoVe7FbC+c+5gUg8PH6tdtStQhf//JBsRPeVburRg2mqkYHmjDWwfxOTAbXNzHbrHfP3BRb7GLiO0pVhQgCLCf1BRCTaBsaURcJ1I3Xj/DWuI71vDtZ4x9L6mWknCWjmEt3etEbRUfKAUbY9JuJOKNGKVCjpBf4aHaaIFrNW8a8nfLlkO5aidvahFU60Ldtt6mgeJiC3AzJe6CeQTiUCOTdV4GMb9jVzdwgHAEvuJXIiPguzUlSPkWXauaMsSr75t54pUW5ZaW5fdJnYomwvjatpP5YEBS8Z/ZTPC8iPeRsTikw== 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=uSweNQ5DK3Nmh4aAYiVtOYJ5qY4vzSTfB3J5vg25+g4=; b=v+yj5/Hj2R344ukP/hpKQZI4Ie3fXBXrqL+R1Klbi1elbEZwo4HFPyqcWHdeez3PGmrnU03gxcAaynPNnHWOc67i96jktCubi3RmFEmJ8H1zvkxWrT4P0WKzVmA9+t5QPXh53CwpM72/hKmSVxuYQIRP7EGbBa4Pz9YxnwRBQwE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:30 +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.5857.022; Tue, 29 Nov 2022 16:44:30 +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 20/43] sched: Convert to vma iterator Thread-Topic: [PATCH 20/43] sched: Convert to vma iterator Thread-Index: AQHZBBHZQOLofThL1EGav6weVWb08w== Date: Tue, 29 Nov 2022 16:44:29 +0000 Message-ID: <20221129164352.3374638-21-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: c94f2fcb-cfa2-4db9-5d5c-08dad228fccf x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OCvbzgBdXCeMU8UW3naQ3ydokMkknvLgqlkmjQGmOmLriSj5v6DmXVF2gXw/3l+pjMM3BoFb0bHgIphHHlM5vdJomEMIQZesMkvalgNDWP8afsKVg3YmkOiIsXqvoe30XPoqOGvn6IlkA7tTMppZ2CWEpflUadIonNX1ENSojJ5uFRv6Qyb4BJqW6/ZzMAxFV3sajP03QIthMYJUpTOhwQWxJks6kek/yz5ste6vLmdPKo0MA6qm3v8aVe9M6UpVCCz1zhQWeAIgLq3uBs2k+8w+HrBdWNFRRAkv8LIe3/jJsBr1fdBBtAyigOTwTVAOxY/adsXjlNsnACscYLz2rBErRg0RJsvXX5S/X1mhq6EZk7hwr1oMxV+dIHQ+nPcTJg8H0nbeFelUdfRD49U3hBZTJJrZ+UQgjqkHPWHH/Mxj7t6pd6hrsM9g14CtiQK3kNed5D4u0HSM39MZNTLZjeteUCwslVLKCazMiSWnrphgJZkoDwe1nREuOeggoEPUF4oCaraiT4DJ0gqOv7jXuK9cSM0JU8MpWIm3rI/ubAnEfCM2beh8uNvMwmtZPmc51LDRY5d6ykGoOsLJzXELWN+rAASgCa6jLe+FkWI3WY+BHlpINWejKzAAEWaUFVoeHFax3iIzlxLz89RHW4T0EenHy3JlNVLZz8eba9ddTQsMz7MctMChM1V9xQS1ZgG6hkb5kaExSYYkkhqq25i2LQ== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?eqd3QRAUNxZPTTLF8RBPhY7?= =?iso-8859-1?q?iOLLfd27kXPM9eTBpoMeCHIEBRLyUc7AbLEemaDHoDXY+/xLWaRthgbRdZlI?= =?iso-8859-1?q?S44RnfnSOf+x4skrB9QFuXSsCoEOA25F+8BS109CFtgzfno3dCZgHYCzlewB?= =?iso-8859-1?q?qTYokxNeuy/GrHucYpLoiw9s7MyecjEDFyDSITRMN5x1lhnKPa4TTQz2gSSz?= =?iso-8859-1?q?txQ5Q4L4VQQ7y9azRnhuu0Wbxy7cCyI1ON00fYSJB++AL6u6TVKY2NaC+PFF?= =?iso-8859-1?q?gwaWCGKcD/2RNL93cDmUQVOoC9BCsjJW3G8xl1sfzzQVKZmLxvOeqRIy7qdv?= =?iso-8859-1?q?VHRztRiD3V/er54HIub95xLW6n5Bu21jNmuDUvF5nujvXwHoqu6BJ4seILq2?= =?iso-8859-1?q?chzq5mz3lY1aX/63OeOwMn1ruEA4XPgdCgt/nx8HGZNUuPo/s4ciZKze6kGz?= =?iso-8859-1?q?F2gShaL6+JvTOYaxM1K0bTB7O8lKYh/rdY9l2Ohh4dO38oR4r7AJWJLXuDiA?= =?iso-8859-1?q?LTl6svyUQTDunJahDqax94Gc0RLfLbYXd2c3xTK/s0Q+gusV77lnST2xo69N?= =?iso-8859-1?q?LZ5+Xwf/1YSqwoV7Sxc9dkQ8NVGIoUV+w3tLxFZKjRBWIua3tmZrUsxoMewe?= =?iso-8859-1?q?hrlD7uIf4BF5/NDRjIYP0fPEX1CiGYC6v+tMgkUabBh8NIVq3DP+j/TVRaSk?= =?iso-8859-1?q?26Iz9ytaECv61R7ieP11fa/AGAPTWCbbaBJzAXxQIUsYcDVYViyZra/dnFOE?= =?iso-8859-1?q?I0o4lqCDOIPUS6exy7J/6Aq01/BcSVHp0DpftCURlWE3Jbvh4ilBa6bpNw88?= =?iso-8859-1?q?gWe03z+pmWNiXRqIE0i8WsfLdXgE6TT0RXOIvvFhTykWIdEuc0YaaXT4+/mZ?= =?iso-8859-1?q?lrMFD7fC7Ui5YJYzUyxDsPpVdbt75Qwr/cSq952svlYg4EuPbOJieWCnVN/W?= =?iso-8859-1?q?MaI1VG8fyY/t9UaDihOCUegycai8MP/8pkYyZO22llN3fKYbUmCfQScSDHDg?= =?iso-8859-1?q?yrpyZjQuleLe0cCMlRtH4HMTsaM2tEN/uhKUP8veGKD0jpp196Ozk9xY9Q0e?= =?iso-8859-1?q?ObEIS3F09DNHTrO4tPWGvWBEm+ww7kZjPDjtGtBJsOci6BgHvJGfhp3xprRF?= =?iso-8859-1?q?05sOeAJoNlJqjYx/hxvRTI3RRdwbY/gJjsGRMEU4ej16MYEWWDwvTkWUWvJP?= =?iso-8859-1?q?/GAiZjbf15g1y/oKY+IkPzZg+RenxeWgExhHRgAlOF5c0Mx8jmOVhfZcxXrz?= =?iso-8859-1?q?RAYaTl+ar6UC124dAsaW+VztaXo5DTKBD/qu4XohkqBtg1g9dlyXWAxindDD?= =?iso-8859-1?q?nER4C1wWjZlUwLSnzHKY1TmPSmlFS0yQ57zC7awzaCOjYn7GI5PVNo/Nl7+q?= =?iso-8859-1?q?1Jw/nn4MDb+ZRlasGmkQrfA/GmC+QsGIY7YDofiazyBc5teXStiG/zZJcTRc?= =?iso-8859-1?q?+iioWPw1/m9oNGzxJmdoquO8WWNbDGuGTZYZ3y8BaJP8qzz+9ulNNbxzk28+?= =?iso-8859-1?q?bLE6k6O1ENZLj7SlOiy8yc7izO6vLAzVfh0uE7YKRfe8uzipSHRjHlGwp4Fi?= =?iso-8859-1?q?OpyhhV8EtYD+W6ACzMKX4pk25CJBQmciDdCkTpZYKB9UbP8mTy1UuB0IKr0Q?= =?iso-8859-1?q?LNk5JwFhiTiUToC7igmquWCqEZ1lCrvkmiWjkIw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: HK78EchnmH/CnLR5dBmjF1jt1KRHIVQngxOhexR7dVXE++ERdjKfFeV1S1igc8YOps688g8l72iSytMeRY5GL+b5i3HoPaotkvmjwHL4BM4ILmJwtvSzBjtGLmTaupweKTG4WCiKVE1sm4rkMTCOjcbFnR0Tz55e42Pawh08uY854yGaGcovXNj/687WCySLMjKC5zKJEcnj0bvmeug/zUruieDdg8jyy2KLWyYENkvnwbu0ijbq0PvN7L0gZcrb35uKf4yBHAPRAVv4BHo4FUbxpDzgwLVH3CKFI009NCle/x/pF5VdhGK8L0Aja44e5MlJ0/LoThZCr5o0tQ/mxlhPWEenLidpbsSzF4boEUZPzzfvhTZE+giu9SA/ANEEnPI4OTnVvu8B75PQIuQdWj3nV2PABSkA2/S430jt4AaHyF9YJhZLYEsVOc+KYLvLtoRN5F/t0n+KJTsTH4EOvxmLIAJwRz08FlnEZeoba4T2mpelIVL1sC8skCLZyEkR2iJlsYaDBsYN/lNauAwSQCF5Y3ARTowZ0Yy/T9fDkE6fd0RsTBaY5qxO0tx2fF4uIGlhrV+MZbix5zmzEC5PSqnokZDd2CBI0Su1xKAOlSmU+ulohTlojGwgjglW5s/QYdM/v+5ZzEbUTqYr+di8uToinHWsX4iAQhdprU0ALdGDp5JFsGgokeIozIuG0Ujh9eaoDGEAKzuV/giopCLUg3llJFHe9RRwcYu42CM6gYbnfNHuNMoYZO9eYRSi1cN2/k4GZlafhmk5Hy6eGuEw8qyCgIPMsxcZ5Z2igpsWUIeTzoWwmDIFGd1gWP3wIIQWBH9BYsmkFsi9evtXb3NPHf8BU3HK7z/QY0rjeZV5LTbeqQ69sL73NxRlnDFeY+DqYWXAFy1Of4qXaF9DJCgyxQ== 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: c94f2fcb-cfa2-4db9-5d5c-08dad228fccf X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:29.2539 (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: SNlNWL2/A4TSYqnMy+1NEjAbeVgf2A3ks0aNc0f2hfhMj27fPYKN8BNaU66qbLIpJ53NRUYHUHlLGTxFSgKTSQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: wIIPLfQDvp6TiXoTrAZRW6FRwSD0XcWJ X-Proofpoint-ORIG-GUID: wIIPLfQDvp6TiXoTrAZRW6FRwSD0XcWJ X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849738438513142?= X-GMAIL-MSGID: =?utf-8?q?1750849738438513142?= 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 e4a0b8bd941c..aa780a00bf4e 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2926,11 +2926,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)); @@ -2983,16 +2983,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; @@ -3039,7 +3039,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 Tue Nov 29 16:44:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27349 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449790wrr; Tue, 29 Nov 2022 08:47:02 -0800 (PST) X-Google-Smtp-Source: AA0mqf5fCr/M6JEu2EY4UQQK5UPw3P1wzbj6bpgCGb89/VKFwKESrayWOaVwaQsVjizUUaQPZY2X X-Received: by 2002:a17:907:a04c:b0:7c0:98e5:f886 with SMTP id gz12-20020a170907a04c00b007c098e5f886mr468611ejc.516.1669740422082; Tue, 29 Nov 2022 08:47:02 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740422; cv=pass; d=google.com; s=arc-20160816; b=Zbpaq83OW+8EL5gKrtFDLPjGDb1wcMO4h6NkmP3lbZGLEDxJ7vtwVabtLGjARwP/eE Rb5Z2X+agy85QM6wpyqLeOcATtlory3zjui5W8EG4kcmWkAx8EiQvILoXVTlEwRmYMpX 54hyDjdehZKfCDpF0Jq30G1aYPNjd1z7yUgNyJjn92tgFKVc60juF/VaDzzYF4IAKaSH N/hT9vFibsYaKN+NuNy80ZLC1fRnUJCI50cnDC00fvH2z1rt93+eOdVeiolTOPnCrhsZ 9f0Lb85kJG0TH657SX3kSXVw6l4JDSTEvtgTEiiEFVj+K87OqbZFC07EAuAZ4EU/V1B4 Z1gA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=um0K/4aaOxbF/SqNaTj48KVzfpV6UppqtVeLVAtEHos=; b=ld2kYwFEbn+ZoD/i0jxLYVJqHFssLw8S6a5xnf3uo4SMSG/Z/x3ujw5JpPuqt/Bvxi +82qIIKeIJBYb4aiiqqsJwmoAycxrVrpSx50Vo6ZD+qfhclEuzNH0aV9dAbuoEm7+8EZ dt9rkSxPPl2zGTHcuVhFc64ICPWfNquqv8mzANOxXqlRKFdPzXpi9diGDHBWgKPfVim3 4WwJ+mrTPD/hq6ygcymhyEs5Lynf0LkYNk4IzOiaUdQoOzY3PmWdfNh80Bci4WA9Qon8 FecH+71Xb0zkiXagldTnhy/CzDebyUOQA8oFFc5SGh2Dn7O4Kknh0YkXcY7QNee7KVY2 BZdg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=J0nsP2n+; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=lnLxcaLx; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id du15-20020a17090772cf00b0078db5170767si12297798ejc.18.2022.11.29.08.46.35; Tue, 29 Nov 2022 08:47:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=J0nsP2n+; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=lnLxcaLx; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236174AbiK2Qpk (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41486 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236054AbiK2Qom (ORCPT ); Tue, 29 Nov 2022 11:44:42 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C48FF61775 for ; Tue, 29 Nov 2022 08:44:40 -0800 (PST) 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 2ATGP3uu031406; Tue, 29 Nov 2022 16:44:35 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=um0K/4aaOxbF/SqNaTj48KVzfpV6UppqtVeLVAtEHos=; b=J0nsP2n+SYOD86ihthP4l5RRAsFslPj5vX+4xnxUzcSxNV/G++n/y7z32VkJPc2IAsVc n5Ruz7Rb8fhY7DBnFYn3rvBAfnnmvy5dXUTb1fSOuQ44JlwOvVc8rktY/gprWg4g0djY OTiU+eo6OHuxvN+Zjy2RCslziWdfqKSE8lgECj21H9MAjA1OGKJG0YFUVAsm4uDWMCs1 8O7rRBKAYIc/WHMW+xQwOcIZ0ia5GcVihC/PGAPfqFpqg4nTRaqD/jt6cgEnzQ2haIeY SibTBFp6wxOimD3ZHm2sKyLE0MLg4BSwpci16BTiKW+1o8E771Wh49C7WfvVtYK34uL6 Aw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xase-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:34 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPn027963; Tue, 29 Nov 2022 16:44:33 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-10 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HpB3QMcWQY93lrEZu628YMS4LwufrLnqJeo8S/PjlFCF1olco7gQ6PCCQQCjbzFpbIxjyMisIrR5bEO6vnZcU0Xy+ffIAO5Z1vPyRDs6vlpOVErqfmg9TNDmfIRfnw+QdyZqWDZ8GS13QMoNgRmBq/ZQsL9DRkHRhHeHMvwOL4KRdDTYS6vDtlNdN7RVxl/ZDQvpNox/a3Rk2PGsW1zDLA+oP7h7CQIrwdXKF5UrkTgCVPvkOtY0OvmcuDsqWlqZTHPpzx+bNoWflHVTyVrpy1g9+2Z9+NKcNwrEgZX8ZiiM/68MmrBytcVWs4h08drh/52BsiiMQjFrhOkvX4CIyg== 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=um0K/4aaOxbF/SqNaTj48KVzfpV6UppqtVeLVAtEHos=; b=JIde+0EmiSiAYKWrNGfc1r+2SEMJi8lB0RKUhHJnorcoWj5YH33+yumnc69wn2TagTVrOxoTywZYwp5FC5zNB40BhG8Hw4ug9dv07s8r5SuRFYRYAhea16NFT/Xt2RW6oAmaYSf8ZxHVlOm71O2OXdxDVQI0lNhiZCHJjZsXWrZaDOB/DVoJybJNN1AByovB8JkbYHvl0uqiCy6spN6OWHev4hftj7Ev5VIJGh7tZGwjixnLZOTbFSwICEj/YxNjaAq/eASE08Px3xnyBOSkJ7taH4GmwZNZ67VWyLBqkLlt20io7M+COonz6tR0zCEIPFYFrP+8emg1RNkTLVPZfw== 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=um0K/4aaOxbF/SqNaTj48KVzfpV6UppqtVeLVAtEHos=; b=lnLxcaLxA8bbvyfG8Lj34+qlVAg4Rs9XQUktLPeFgweaTdu77YsZ65yUw5WnTmjGHP3jWyh6MxsH1K9jInddeXYhWJso3XvgQWihuWHMrj9gANVAkK+OLaq9LV2yfCw+hhluPuLcCW8UWhmwb+7h3l3oqzcYI1QqFplgpg6qrVU= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:31 +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.5857.022; Tue, 29 Nov 2022 16:44:31 +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 21/43] madvise: Use vmi iterator for __split_vma() and vma_merge() Thread-Topic: [PATCH 21/43] madvise: Use vmi iterator for __split_vma() and vma_merge() Thread-Index: AQHZBBHZSYPQ4LsJL06xeWf0o94ubw== Date: Tue, 29 Nov 2022 16:44:29 +0000 Message-ID: <20221129164352.3374638-22-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 9b68fcc5-1363-45ce-308c-08dad228fd25 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4UqCoxoAmAN4xudM/aEjnYP4iZD6qsOfK+EblQWNj/NnxFdC9qMNSRMaiTlI7okqxLnOErs/Y7p1LwOJCAx4iETpnlCeHt+OlukDQ3SQdfB5706MqFMWg9zUJrgHDP6o3nW+UzMzVXAMgyQK+mHznGrCSPy3uOWl/Y6KqmC6jofz4+o+FeLzkf2OUTKmnitdvRJKmaylbjvE53YElFm92lxArsTKnMyuqXuyjy/CA/BaniBgEEDnHYUlOV/SeVmUpcQ3nLmsd1OaX2WJNBLhqnCwSjtgTvYG2Pl+FUTqR0yTvoqDZ7TPisZ3Q1216PpVxGXs39Q9V1352eH3RsUZpcooR89WWSr5pgyCPatMdKrdNf88kuAfH2NHVekq2XZJlOmC3p42uWo4Ei9OyiqKe34i3kXMBE5eswOtOJbm0Tss/+Ayk4SxEQ8k4gToNR0jf518wOMm/0bWtG034xJ4HiwLQbSC62bP3bGRiN2k/mCvFdSOkRW0n0EDYmvHjCccXHjs/QLfQ89kKkmOUvsC9ZDVps05RybNaQNYiNDXkp5PHrG3y5tafPx5MnP1pMFpUkJ2XLe0b+jZzZ6gzlhixZJpTwCyvc3xOUl2W17ca291vfswa0Ycrikirms/xSICv9DrJ14hL05EdmPeZe6x73Kf8sd9o5ahwpH4Zol0LdT3B6RKlpjBMZFwR6dsK04Qa3R5o2KkQhRKiqsjHq8vAg== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?uMdMSwamWspRIP9VDzhkuaU?= =?iso-8859-1?q?qj2c12FYNGf4GywUBBDXnLOww6uXqZ8vQhgYxAqBaT5AFUHt4DO0VlH3+V30?= =?iso-8859-1?q?hB418EoaWmZPitHLjAW+/ztDgWcVwk1h67GY5lbEYHnOMDvll2XaI4u9AhTb?= =?iso-8859-1?q?g1xF0Zyx5f5bk+CWNEtkhiC26PxhTuRu8oJ6jc2BUUJ1nSA4n6nV/ZSBYbHe?= =?iso-8859-1?q?jSy5erZ9U/PEqYbluHSKKo992GNbIHLiuz9ECQLetby5Tl+KCLRBXr/QTqH/?= =?iso-8859-1?q?awqWP31zHpIjUo1nlQ72vae0dE/fTrYrYvlbRWhDAfdr/yGXynddorhCFdhP?= =?iso-8859-1?q?WfUeRTCK2iVhI8CEsnrBL2JMgewICJmV4W+3HPpc9TFzq5BkXyUCOjMwxIVF?= =?iso-8859-1?q?tPrDg4ALRaNoATDN4bfXZCgnJXHjjgmK/y5H5L0ADL//Q28xR0Ghql2PoGt/?= =?iso-8859-1?q?hnxFbSNEA7FNn8fHnOYsIOfHOF0AbzXbhALaAMazd+HBMPgL6xCxZOTzdy6V?= =?iso-8859-1?q?8ionqqLSFKd7+8D5Xwkr+BUsskjsSEAsO8+epNJ9YkHU64+gwnI6fyZLWvQJ?= =?iso-8859-1?q?Ke0eidHPBNyCgFusv0U+B7eyk1+TmFXMSZQ3EJEl7UsL2684CJLg1KcL+U82?= =?iso-8859-1?q?Cm1bYAVwddIYeSTU80VUPf6tCOch9PPUS2eLmR3GKAAGaPH5wSqL1w4rKkQa?= =?iso-8859-1?q?+v3pUjANoy2aHyBwikWjtn92xRD08PEzwlKbqDHMpUG1jNGk2GedHYpKm3Mu?= =?iso-8859-1?q?5Tc4rLbFwcNdBIDM2dGexBRX+7F2ztAa2ek9IwHTnSAp1viLZk+VT7lGRc5f?= =?iso-8859-1?q?Qz70m3uO9PZRfjUSVJRYcSxwyjYoZASuXNFiIJf3qwn0FyJT2DZB1NsuuZNn?= =?iso-8859-1?q?jNDKNuFfwpcfHj24WGGBp9lVBowopZ9RyL1JlRNsB5z+NPTNx3TIc+U2Lgsk?= =?iso-8859-1?q?SgwYfMJz0MUYdye8Hc1V3P9MRc1Vv4Vc24RznEdiUKAlwobMIYnFTCx/36d2?= =?iso-8859-1?q?rKDGr1f8I0u4i9OKpr35N8Lh128qxGIG6Xkba+XpTbNzO6PM8oyz5zhtkN27?= =?iso-8859-1?q?VRXq5Pu4c7zBLZh2gWSFSfkALpceEHevYQIYKv+HVSYLztGn9YTrvIZtNJpJ?= =?iso-8859-1?q?OFzfmTnFFBkSYRIZOtXVIUOfqHlpIHFwTCKCWgOCtAI4be+LBumzQKs79S+i?= =?iso-8859-1?q?DjSqX7LT3CxoF+PgRo7vPfhpM7wEccL9UeTyQDOuR3d0cRJf3phrrDAPSOhA?= =?iso-8859-1?q?L+KLxWtE9dQ6hMSsJHWMxLM0pqrwkZ07hL+PtfZBb0QaShhPw4AwlsY801Ma?= =?iso-8859-1?q?8LEmiVVQ9jCv8pRnhJEAiJisqgvczSw436S2DtRUKKol8ZcRX4MUpLsB4XGf?= =?iso-8859-1?q?tuu02dTDP1NOfwrpjxUshH7mZViGXO2gbMeqXrDjEHrx7ANRp0UTPpQvm5sa?= =?iso-8859-1?q?J0SjJqsM1VWN8Ez3hbKuMq3tv1rgtpCvhbinYZhBSepB14KYbHIj1jgF+FVA?= =?iso-8859-1?q?UgrI24VtV0sxB132QbTdBtjJhuoTOWjy3ggpdXJLUT53g0I5xFssmghdBR/4?= =?iso-8859-1?q?PcUEdEc+kfZCUWwqP0SlNn2AkQp4GM90CoY9lLgdWIUKoLsSNN0qf7muUCVA?= =?iso-8859-1?q?34b+DFhleneNj2AFCqc8IJa5RADjev+7T2kxAeQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: rVcFXItgIFMhpugIOq2Ci6Di/dE2fNEDysGAOq7+BWo2Ck4inHXSupKs+tFbdd46AqL3s0khiPO3KZ8vairYkCACQUCvsHqOxBgau+5qmsCouxeKLUR9TkpYMAtRwQ+NaaTLDfDINOLOU7QH2KUY3knN3cVStYLnZiI9SRFAa996CJp3W+/2RDFOwOZwWrqA2lucxOqjp9WD3qvq2QhShZb0Mr9OgEtxooIb/RcpPf3mD6KhbzAgER911UiXkHX0qeIfIZpKlOYXVxnsCH6XspzXo8XYYfH1Bc0lEAEfoj7IK4pcWWXEtA/ewyV+80u6jX/rtohWPd7bMiI/+w1cHkNXmxRV/WOVlBMh71NG/kRQR1419lgFX0sdRE3Z4WtzMewnihsDjO8UROkmgYLdVKpGVgD6KIhqQkB+s/cwPAFOwfRbHJTZwrjRdb0Q1CenHbWrfai5YLQ0gA5MqpJ3xpaCu0GHk543nDX6EtIffp2NRQTKtREz9AhFnprzUBahRPSaLtv+FtY+/Bwht9+U7ERWaoAftKThOQWxY2k5kX4XokD6pl6wLbXJPWCPy9aZ8dveFK9ORSWHBDAXtktfO5uqbA3dGz+LYtF9hS2a4H8tRnemIq2aTKsia7e5sjzVmpSN2X15E/30TiybEuE/cGXXJfdOTZjsROlg7IQV0tmpD53mT9Xb68+Zz9PEQYrk0NewCJZrDkpjgHn2NcHi49cDX1fl+SHuemBuhsi8Hf5NsY+wr09kuRJWdSKv8rq+JhwpjSBIbLmuOlHSVL2PjMU6b/b1p8ezryVobDywuZZfxG2J05pPwZ5UKIrtbBq2A+VZXUQck+zFiSr1Goa6YDVBJulZjpgTkv0f1DZotwWbaHBBcb5sPEd5kWYGOBwqsfZNMMSP/aybUXykqnA62A== 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: 9b68fcc5-1363-45ce-308c-08dad228fd25 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:29.7851 (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: dJNyjahXswfDRrYEfXOFmdEbxrbmK9QCWindq5RoOfSTCtQ9QZgVvtUIy8zQJSbcfxPmpOcyvtyy4UAG1bRUWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: D2zpaJRvJGQw5IsUoZJ-Zpfs7zF-poF_ X-Proofpoint-ORIG-GUID: D2zpaJRvJGQw5IsUoZJ-Zpfs7zF-poF_ X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849732421900004?= X-GMAIL-MSGID: =?utf-8?q?1750849732421900004?= 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 c7105ec6d08c..2beced2d5eee 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -145,6 +145,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; @@ -152,8 +153,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; @@ -165,7 +166,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; } @@ -173,7 +174,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 Tue Nov 29 16:44:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27352 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449874wrr; Tue, 29 Nov 2022 08:47:12 -0800 (PST) X-Google-Smtp-Source: AA0mqf4zwNd0bvzZziQ1i7E/SRnMHFdmhQHnD42hHt0zczIWwP/tcyDdKDKBpBqQMOeu9xSyPGF0 X-Received: by 2002:a17:906:6bd8:b0:78b:a8d:e76a with SMTP id t24-20020a1709066bd800b0078b0a8de76amr50123012ejs.725.1669740432190; Tue, 29 Nov 2022 08:47:12 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740432; cv=pass; d=google.com; s=arc-20160816; b=tH58dKw4PwO3Ts9ptZCdrsppfMRclkXUuSZCte4OU4bF5dL62lKKWOgzaS/iHmJe9B xbv1uhikqL5xDz2aGqRgwDUOLSi0kUvRAiiul+mLMDlGrVDJ68f+rsoUZkPhNiRGWyLE 4Pt6TRhp/wz0a1nJPllBa8E6/VkD0xAMynS6V7c1EsbSIx4dPlCsLKl/y47EufIa6MLq /e7A6lrCIjYHxIY6tWeLQ6Bpe+BOSINTh4OcsSUFe5NIlLrZJsx6L+SawDCVtp9+z8/L +LE1IKY8hgoUxXeA87YG2v2XGJGoNd4AeL1zMMHdZFKZ2D8MI7xAuMSmXKxIYcnPnYvx El5g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=n+BdMqSBEKRAz23d5y9YNpH7yoNXn0z9m0ocO3Wp8wQ=; b=hJGe4KQiHUKBoMJci4vWlB4q6rKViCrekhz3ALHlaq7PZZjST7d8hUvZO5n3U/91Ct wgQDapubIzwyhWGHSg6Tgz7+qL7r82Fj2VtwO24maGbEQPtI8VVYV76o+S1mkWGIlJue MWsHwt77llArUy6Fepe5Px/+9JJkwWxCbVB9twfEe7LNSM7JaAploLTfNz5Bbhm/uNTK N/6ijKK9vvAQCoJWEQyj3Vv6e0j/w7RY6l0WdAi2DJz8/QpVAt1F4NWeifm87HKJ94gk Dnh0gvv7l1efDbJizw34n3MVWPS5V9TcxTCSNZDDtgD8ljeMu/HITELZzqoHE2Iru3kF 0zWg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=y3w+7L1x; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=N45GlAcc; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r5-20020a170906a20500b007be3aa82544si6324125ejy.937.2022.11.29.08.46.47; Tue, 29 Nov 2022 08:47:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=y3w+7L1x; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=N45GlAcc; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236193AbiK2Qp4 (ORCPT + 99 others); Tue, 29 Nov 2022 11:45:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41452 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236064AbiK2Qou (ORCPT ); Tue, 29 Nov 2022 11:44:50 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 00763627C2 for ; Tue, 29 Nov 2022 08:44:40 -0800 (PST) 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 2ATGP27k031378; Tue, 29 Nov 2022 16:44:35 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=n+BdMqSBEKRAz23d5y9YNpH7yoNXn0z9m0ocO3Wp8wQ=; b=y3w+7L1xrYIfHzCxGhlZHlGxgacLvK325DQZCQZrw9smi+EmAjHjqBc6IiT71/ehKKCy aZD/OQSvbiH1TPl/XHyrpe7yOK4KfLZpNaY5uUCCYD28Nu6XLH1bbBHoszqxSAmFizWw fMRy1BgvF4AIwlo36pvgSIXtm/oGM2GYa/sa9qAaKLLuKzFdZa2A+2up9pV1HjZsPjf3 eqwlrWQJQIDwS4a3XWQz3iSf3I9Ya6ikMF5K0Zrv0MpwP+nSmGaQTSiOlFgzE6rjpVMJ q8FWv+zHFc+GKJ2tXWU/bg3ZtUxLOE8IsGhqKHo/DVDVo5hlh7ZraGbAyGx4t0SJcua2 ww== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xasf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:34 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPo027963; Tue, 29 Nov 2022 16:44:34 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-11 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sse000ct5mtm9psaeQRP7q1Ih+Pdub8BBoKyYLYRpwwfjdpgMDa/uQ2gZYWyWgcYLK54+EMLVgsBqY1o2bKiB/cFPmJHBlpDrezy7+8i3iquZ1kCQ3za6m+D7Rv++fHxAcFjME2q5EyMamJ8GeAjZcRa2sAaloLcSCorSR/SiOLYRSrifQBatUo3s/IXJmAJEnG9yYFNKJ38Ep2CA/EUUfkVbk9Qot3KapuZJVDoYbZ6i2jBUp6AHz3LIHCXUQxsrPUPTfACILGn0HK6eC+hmecpRYIHPdpHEAnq7hGo8bPQKRQLEfdttGIUu9s2Due0h1F6WZ0GllHOjGL+sB/NTg== 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=n+BdMqSBEKRAz23d5y9YNpH7yoNXn0z9m0ocO3Wp8wQ=; b=VPKf8+lnqO1+cuXd5S3cRU/dkUcBAL8pyBBN9lgIJ1/JRleLVHztuBm9jfwO9D3ry/KQsfCjef23a1tSqozdLvzlTih3Y6CZH9IyPqCI3NWAdeRPpBdxKzNUO9Ytg7mNUi8ceeV1BJW7g/3OR2reFmyrcLUwAAzK89qjIq9Vj4J3upXP1mYQ4jeP7ll8hCs6JtjLCyFS6q8Bq1HSdCg5JjV08rQrkm7bKyvgLoqptr7eOO2MV8TRpQHzEtqe867Jok9bUrqiA1fvJ8Mx8U/hlO1k/FWhHEzxDTQcP0v0fgeDAatBseSw+Bm7op0fVn36G1DT+b2DF4ACg+nwjP7GVw== 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=n+BdMqSBEKRAz23d5y9YNpH7yoNXn0z9m0ocO3Wp8wQ=; b=N45GlAccv8v5qfHJgto0w54FzhzAYZhf1cH5fdKlHnqDPFa9zdH0sDrbTw2qAq13FAfktpoIL5FnHsosNpx0w61cmkjLPg4yF3PJ6R/NXaGbme0Jsqi+LOS7H9Kw2fao4j9zK/d8+4twIG5jmcuWvpNY7QBNsQKkxF9+uj/5rms= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:32 +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.5857.022; Tue, 29 Nov 2022 16:44:31 +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 22/43] mmap: Pass through vmi iterator to __split_vma() Thread-Topic: [PATCH 22/43] mmap: Pass through vmi iterator to __split_vma() Thread-Index: AQHZBBHZhKiCxadJgUC/0Bmp0ZJXfQ== Date: Tue, 29 Nov 2022 16:44:30 +0000 Message-ID: <20221129164352.3374638-23-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: f89932f7-8d28-497f-7a75-08dad228fd71 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8k8uiVm5a4yyoDv2n/lTneC/dTNWtK3wTRVxMeGEfTe3ujbtQvUev57lpKoW2pKVGfMFYrImSqFmclfVK+N1VFJZe+XK/fHHT6dFfUECV7cvBo/A8WOQvZ1hRp0F64X7wPJllFAky4kh73nTrtKnuBOtnvy0JRgrAj2NGdJHCCBoYqZNchT9O8xrFfOS07fqzoUO+Fp6mxGa6k049NTJ+WHJtV4m/2mJ/AszC8ECDdyYJyW5zKA+X0vcEKLoBbvVr+Auxdt8NWsP1SwF7RYmqvbJCu3xjsJajnrSSpKuXhsoRpsVv5M8Bt1U2J9XtRDWRIf3ehgNgtaprFoEr/HX/EVRuJ84rIgbK4CJhfeTPJ4VHnyepM2X8B6OVsIOlFERMZXXVZY4ELxwUPPmIZmsouaET3WrKsiVaGngpvbw/eM/MFY8kteCTK5zP9hDdmK5/kX9c8WUMyT2QQD6NvX4skILTeO7QvYsPTaLffo3OfuW1WD8ha6bmzagpsumUAWhpW1JcYdb+8tkxWBCUY2BVSmWV1ceA+IU/QoGZEsIKy8atA10+MKO4w5URB8WxpcMyllUtzh5Ieu7a6uSVpElSxCoAQ99B8EfJQd1GtquCuq0vLBc0gGhIJxj4gwymeZ6NUDsxVOibgscuz8W08S7kWyQeh5+b1xXZOqFd7kIFdZdq4luBh2MNZ48L3pHlBJK1CqxJBU7A1an4ff/ZZI6Fw== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(4744005)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?+KdS8zFz36eQD5U8rQRIBdM?= =?iso-8859-1?q?CDxWxSDOch+L1LlyJiae8brWT5nCGhW102efbmh300NMZ8ewpnpdzJLHXap6?= =?iso-8859-1?q?erGDNna6HAwIAEB/n4I+DcYUoAnRMaLfNzraq470sAvulMCdT6jGMEeF/bBL?= =?iso-8859-1?q?fCUxy88zn/w12G3tth5dl4CSKRis4sy7xF/31LsuVGM+cEwIBijcN0gdp7Xv?= =?iso-8859-1?q?e9vusrxcoKoo0CNFKy5+KHb1LDMDWlS1TrBXHG0IwW7vxI12R4DFRQ6+VSNk?= =?iso-8859-1?q?U4FH4197OVNiCp/XalDRfTDD9SfhD65CLvaro6IF+VYcm2UvXFmr/JjqN6gg?= =?iso-8859-1?q?0wrJl6ep+SsI4IF9wW2wKynXWkDFAOtcF7f0Jp0DN3YPxlV4OGal/H07i4vc?= =?iso-8859-1?q?rBDXZo5yVNSiwLXWiY7tM5b+VXeNHjzOwbsHqM9uT5WsVcSOFFX/b/Dim/7Q?= =?iso-8859-1?q?UcmogZMicaGCg7Yp5IfYLcuRUyYq6gfgURhFVynr5PF1wzF3XUiH6XQlCjCd?= =?iso-8859-1?q?VUUJCrtmJVheXS2/AwffVxXDHRhuw1wS5E2ukpBDP65ikdriehiPJAUiOiL2?= =?iso-8859-1?q?i/5IFrHPD/eRgH4ytY9okQ+5JmJWhHlY0ZKFOQhcJWqDAVNHLyy7EH+BJyrb?= =?iso-8859-1?q?Nwamc6pyZEj5G52uD0l5eF92+9Oa7ym++hHmFJufXMfzEA2CJNRqXSaogeib?= =?iso-8859-1?q?ax2vweyVaEsukwpmNgltVTBFAP1Kst0zQRmHpdBKwUsmb4+247o2SyWn3FHq?= =?iso-8859-1?q?NST67Yn2LuxImuHh+QulLVuP+SA3MkB87DohHjDn6TFlEaJsmNE2nH8huVJ0?= =?iso-8859-1?q?gY5wPjvu6qy9zNOGRqUqEGn6N4IRZnscaTfWsK/GWU2B3f2TSnc/XeLIF43j?= =?iso-8859-1?q?hZb79UTCR68dA24ep8/Ram9T5sI7juZ9QPXWINhLs4pHn2MpAcUV/kmIs6mN?= =?iso-8859-1?q?2QqhaNi+ge3c26wDo1Y/gUlMHJA/wcXrcirdEAGlkWmaHiEFUGufOrVY4IiO?= =?iso-8859-1?q?UG4Uwr4eOkfdHo1Grh3ajGgQLJAh844Aw0XfdZbORfXIwkohdPA1jU2Vn+7y?= =?iso-8859-1?q?R6hJdCmlBc6Qygtdb+bWaF8LD5DOb+R/1/mkXuv/wQ87AaSDe/SKOZ97QOZS?= =?iso-8859-1?q?jDCc4OkDAXi8BY8Id3bm65bWd7DH2/FvCXPQBDCBsHhX2K2YcrA2IKBWCJI/?= =?iso-8859-1?q?O55s9j1CO3e3NQAT4tOSBqoxaWioZnUITOcmg8vfrvMH0mBchU/pwFFLinrc?= =?iso-8859-1?q?XRufHuu3sBNNwD0Ca3fAqO1ecIfiI3keNk5FnKqpBJbNHB+oPiZCIwFNntFi?= =?iso-8859-1?q?E+fFYRE0DaOCeY/JbibMSlwpOFTs1rHzgFCErIvedzLaa5GzH4NZIGJgkf8r?= =?iso-8859-1?q?qP8mmm4nSLgLOHdCSqGQUDQM8Zlb3yfMbI+D3bIwEkWo1SN6AU1CPy8fmaLk?= =?iso-8859-1?q?o0u3TkwSkEfQz3+1Z73g3ojcyDx1dvLtxgisU6A5odl61lTUb5sFv7efjBtS?= =?iso-8859-1?q?ptP7lrseVlrtA57piLVFrc3SZjNlkAgW2UKOonm2cTzP5sAtn55EzqbUH2aA?= =?iso-8859-1?q?Lm6zMwhpNEQxdMQVLX/g5I63wg18TiAdY3QtAbz8q/mc+UnH/L1xoTb5j3tX?= =?iso-8859-1?q?8AxYO7YlJzfBzSTHwoE/gpO269zEeliTQsCUh4g=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: JmXvnmIIptMEvWSJEmvt3WBxQjnwCz+0cciPMUVVV7LMjvS8xwXcarBQrZxMZxe0CcGb1JXD5pALbfxhoenevrJzEfrDtkALcsKk0Ni3uoG/ONfk0OaUm7p13tcgLVAya7Ga6W+qgYCeX8cq3pz64oj4rzmTDnCFm3KP70/qU3FTnK4xGbDXsJ0lsL9mrOSE/Ne+O78DMylE6m4bokahl3Dy4g4AXN13Y5ncSpN7sbaOAURGVFtuGannP1r3ubk1KpHmLcEDYxr+iSA7b6iUMbULxuXN/zafaw+269tuN97w8XVcSn/mcQzImiYDQz/sgN9MbJGABUKKnAgSrAKzzlL9hdhECjHtnaBDPvH8WPj08aDi3MAVztm2cuEBYHuZYhpbKcnZcE5mso6WG4FR7pRuhradff8aS7bEKKybOoQJdga8gndIKkfHNe0aenSnNu0PU0lOStmo9pA2hITsx5dBqTarRceK3d4wDq10tspuNLuFOm0WvDWxq+rC2DDDFsLCFnpsmqib1JZudf2vV/uBLLWnZC1EwqSkXO/rBPYBghdNYEg8JEzpIY5FYjXYsO3m33WTft4Kc3rzqN1Dj6JFLCCAHDPGtB4/UquyQ/HlQfTtF+pjFBV+4JpFmbKuqsCIVDtGwDnirFGmZ2Yj0h31tyC2wv3HPaKIFhE1Aw7PNR2EwOPUvKgHmVKDspV7PIfWebm8IuG/f6Do/WFFRS7S9uO/AXrw4WW0chxsgNKNIRPszQTab70f80UBguUlPpeKkRmU1HgfbMZNUUg7TEBu9HYSbkrHqYiJTRF/CKEu/ZY57tMK6qoC1Uu/lq3M7RuwQE3iueer2JVM3yi00qWt09v8PPor6Q/HIIHH4auDNk1j9s3S46Tl58anOt2rY1b99z4KbtwDBkR9DyJe9w== 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: f89932f7-8d28-497f-7a75-08dad228fd71 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:30.1132 (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: bcN+xLgENNx/paSFdePwUC6nCr7Pwc04oGexfOAwB98OFTzCVzUvLYILCh6eSKuHTWV+ez8suxMOuG2sarijKg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: FbAJ6ILbhI8RTpXuBbCAXdDJ7lNZ48PU X-Proofpoint-ORIG-GUID: FbAJ6ILbhI8RTpXuBbCAXdDJ7lNZ48PU X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849743505595174?= X-GMAIL-MSGID: =?utf-8?q?1750849743505595174?= 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 4102cb0c2793..4dda84378831 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2447,7 +2447,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; @@ -2468,7 +2468,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 Tue Nov 29 16:44:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27355 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450199wrr; Tue, 29 Nov 2022 08:47:56 -0800 (PST) X-Google-Smtp-Source: AA0mqf6AmjTCYZ0DYBYoL3Z6BLQFb4/HfJ/tZgPBb8VCpIIGyuxnZgO8ZsdS6tPKcAmW0rQ1cDUW X-Received: by 2002:a17:90b:3c04:b0:218:4b47:9c29 with SMTP id pb4-20020a17090b3c0400b002184b479c29mr59005723pjb.54.1669740476570; Tue, 29 Nov 2022 08:47:56 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740476; cv=pass; d=google.com; s=arc-20160816; b=To4MjgLuElgJhSs3QFzN+JyORVgUL8aXmu937i9ifrVm4H98qODHRpqvS5QUHdxGm7 UtBTLIvjb5/ZujZN8YwjnHqoiECJNqDnw52wRN+JyOcSL5paJSf0gF7B8HnODlulTS3B /MToFJ4gdRR2IxxlIbn8PknemmvRGcQjS7nFZYQtQY58QmyWcjoxhmeQ1ZzXSUnwXu4i VrYvrJi876DvfkiM/znbOOjaagVl0jvQdXjBdHJu7j3SceNSsUXmBvzml8RyDKGLfUlU bzu6MUa2aJoCZtKzXTMqYoWYxZ9aolVVY/pb0H8PJKSyEu+JbVSoi/LNElQ05pKLU998 wOVQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=8rfJBQyWGishCBgNUAzGadHqOqccStyZdhQtcGI4EgI=; b=UKAY3NH3fwgUla6N18cPlde7Zj1h9q1x93/BaFjUfbmUGHQiujBpS/AFXbsyn1EXOG Yg6PsBUrx7jRGW7MEyVjCkRdv2Nr+GY0dZOQcwCf/Z1+ESsuHci4Pl+KnRr1hV9dTGX+ FvPyk+gaDfgTGiro1vrJo842E+8C65/yvYNudjfjNDlhFgQQI6soElbStXUX9I5rpdxw S4De76BKeqjl0OfIFknXbApywTSNb3zUHHdFu6ZawxqVgXA+Ija72DvNqI+sEdVg9fBw vgKWgOKjlWkXr4QS10KVUOHTIaWCRrhcktss+2c7Ibifmkb1ThxMcu2/lRNFgVl5na0z +dYQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=168I1k9q; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=xYjQ4ndd; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s5-20020a656445000000b004783689927esi3813963pgv.168.2022.11.29.08.47.41; Tue, 29 Nov 2022 08:47:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=168I1k9q; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=xYjQ4ndd; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236213AbiK2QqJ (ORCPT + 99 others); Tue, 29 Nov 2022 11:46:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41484 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236080AbiK2Qow (ORCPT ); Tue, 29 Nov 2022 11:44:52 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B35425F873 for ; Tue, 29 Nov 2022 08:44:42 -0800 (PST) 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 2ATGPo8i012293; Tue, 29 Nov 2022 16:44:36 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=8rfJBQyWGishCBgNUAzGadHqOqccStyZdhQtcGI4EgI=; b=168I1k9qhlj2TGTWBjkOhnKQZC8pxZ6t0+fW/BFB9OCEX51KRFgXsTVgZm6s5dWBftYL /CkThtiPVdAJTWA0WipHwzKlhiZJNRqhOtVWoyMzROCvYyh6IHm/oa+a5ywqb23wmAl9 FKXNS3yfOEHrkDES3GXQY4OBg8pV1GL40g6cTEn/vZKewcLjThnfRLWdbIrOoVIsHFyt JEAi9wK3Lq5l6Oym0ytUCi6uonTl+f9nTXFwOouLLtB1mGugGQMj9pGh7ZyaCGCpOqKG AuuLBHSS6cSQkhezvDUQhT+tgVfnigYbmV9/QkFmQSE0Pr9yYxO8Tb+e9ckbSTc37B+h PQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn9q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:35 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPp027963; Tue, 29 Nov 2022 16:44:34 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-12 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QljeSUWWuU6bhCEO1NlY2Owte7DNmqDVo2r0BmEIfu5rNoYJeKBFaWhONK8LbUCOQ0NB067/ORyVNcJX6bhbiCzsfd6UJYsZQDxTqMkWsmYK2C7bJJWCeUdUnaAzBPiP8do4+mHsfxSJl8mf7KsyYwBmmxdUTmSmPiaz0CbDrJ+gjd8jHQUi67pYmZnOE6y+tznkYJzpNEoyek397nuly/lz5bVqQd81BCuwdXQ9a0fs9hgo+2r1VdSs0BCR+Nor6AEbBzv0Jbt9pEGGxJibfim8tC1O8+FdL1Lszc+0nWBhPB2u+6T7LkOQoNBnjarCE4LDyPIh76Ta/Y/yPui+qQ== 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=8rfJBQyWGishCBgNUAzGadHqOqccStyZdhQtcGI4EgI=; b=O2YbvVZEolQfbQUgG5jpUhTTDR/jV+1Q5LyzIZxqryjLHPip6X4OJggk4z5omHdDqctKG98fvklYi4qJQTuSP26sgkucFpKAJ/F7KhktShlp0ULI7g6AA9liJK6zveEPLp9eViX50Xc2AnHA+rtRrxkDNL8Gn9+f8qcYN6ZLLUSvsK0ca5Dx2QdEiLyyR3Roy02zw4I5+ydYzJd8vvjpykW7/X7mx4OO1SQCv1F3lcqDEt6J1U86TJEaNIQ2DWRRoQ6Z6iNgLJXT5Ckms0xMqLNTAxpL8YoNLfc4bAVegCWb15nOCRRAD+a2W0eTI826c/mzSOQcNmDV3J471sOu9g== 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=8rfJBQyWGishCBgNUAzGadHqOqccStyZdhQtcGI4EgI=; b=xYjQ4nddrOp0XoVm+S4fIUs6udAi2v/81Iu2IgzArpFE2Nxsi6wLn5KfkYFzFtXUkq8G6pr6sCx8aZsvU7agyx2LXWkayUawAuOZsaT2Rw6h0NhfsffaWcbSfZcbsZDFgdiOzCFhcp8IVrhjmmn+jO82K3nXHW4n8gAhEBxqdig= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:32 +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.5857.022; Tue, 29 Nov 2022 16:44:32 +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 23/43] mmap: Use vmi version of vma_merge() Thread-Topic: [PATCH 23/43] mmap: Use vmi version of vma_merge() Thread-Index: AQHZBBHa3+JEZlfYfECeuY8p8LE2tQ== Date: Tue, 29 Nov 2022 16:44:30 +0000 Message-ID: <20221129164352.3374638-24-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: b4be7cf6-054b-4b0e-373b-08dad228fdf2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VAB2flg8xFRKsmc7BS/Z1uxVWviux5IwgDIsqBJ6u7Rp/3ydZHNW1cSSO9KUaSE1uxV9COD5m4V6bkdWHoSM8SBIGTxge0+GSm63PmYrQItI5tkcjp1abjJ4Dr5/7B0KmOEBuq6eZz51iHm9x/UMiRmgXFhpqYjRXMQAfuagqeVnlZGfx+wJehGkGQL9Vn1xfC5CCjlvKVXBfRv7iBEge+MMVmYVuQJjp0hA6sLwpQJoN1rkfmMvDZjAQYrORJxeLbXvV3LWhEXcmy1BdTFJmueJGr8ZeaIaJlQkX4+Yf3UkQCuAOVomy9OTsE3BLY3D1tn2Wmj3SqKEHDWoQlUY0mdSDq/SnOpAeMRmh5WAouDU+zht3Z4EUV468Iwd55QMxNxmU5COGxlGPvKufVx0LCyuy/R3jHRuyBGouZ0+H4mSWI6+NIrmX/K1L6AzHKlLtklEDqdbFkJe76Rg4sL/URXdmUaXTHqdtl8x9gkWlF9t6doWyWg/xP0Spp2Gr8WvYjWiEbZPwcpa0xnGkU+AGJKtbLGJ5PaTIs+Dsf7g/Wg0VCvMqMFSzF4aEuxbP6cRAZ9YzXWv5ZhWzMcNi0zCIG/nax3WMhaDozh4UgxRaZgtH1tVa4QX7MBvMwwJ8ayw4LfWrFYlKKDciJrR5RVUtfS7cMwbNBc8PrOkz0Qv58DSwCQm8Mje+tRVnP6znoen+nwewW01AriSkWDzQZCFrw== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?PEjri0PESC2LXGVbe2D1sZM?= =?iso-8859-1?q?wIMqJAbXLzLkgnYFiqdHCrwApaPn4/IjRPFW9qfQAvWD6BGX8/tOP8tPh8x4?= =?iso-8859-1?q?8HcF5ITwr5rrCHPtfwxjMGRdu285e6M9AUKIfoF8fTL5uXpHcmFJ7X+zysBY?= =?iso-8859-1?q?6ZQ5ihFuFI5fKYkH5wVommcSafBuJaK4jhCmJqksjG3K55K4g4YyL710Nbdc?= =?iso-8859-1?q?cFxEDId75oEwYKHzamXAZGpc2qZivMI75JfqBEXd9INTNZXI/V8IKKiy8p6q?= =?iso-8859-1?q?Oi1ZvPHPaOGRd1orgcC5rhUqK3V/ABhsjJeP822f1TQ1Fp1ICCY36mcozTSl?= =?iso-8859-1?q?RAwmYq5D/EjdI+CxGdf94+dDbVpZEgPW7gwg/oJ+SYwC953WEY9To5TSblhQ?= =?iso-8859-1?q?8o3KgDtJppWiZkG6yvuI/IWcBr78Oe91dAy3D8wVP96yf31JJkjatlDkB7P5?= =?iso-8859-1?q?z2p8pMQttWq5KaxkRVu1nvN/TKsa8e2qX8rT3K6eIN5K7vLPQtX2f5jzEAYk?= =?iso-8859-1?q?w0D7AAPxIyepRrIo8clrhgyQVyG47MPhy8mv+ISAygN19vcU/kPnCIFz/UEC?= =?iso-8859-1?q?HfH+ktR0cz6YccC7HXnuH3RWShKwzNZwf8UYm3Utt28IlX89/c/0Ca+YvYrA?= =?iso-8859-1?q?9HjgU8QuHKiKHOFmf5Zla985ogMnwgpvvWSgjl9I7mUg2GTRGvoKxeQC3KU6?= =?iso-8859-1?q?/a15vABZV4POQL3yQMd1crHs0WlRwcH5wrq2PITUzcnMGNpH3fra7GBZeq34?= =?iso-8859-1?q?e9kfeiOQO1vihP9nX+v2nSM4UaGr+isvgBo9QAPhCEyro5nxGnDTPbEDfjoG?= =?iso-8859-1?q?aeg/ZspfqGLH3Muadm/Q1VgcwUe9sypz0efwUyIfSfiZPgaqPpTtfMSo52Lv?= =?iso-8859-1?q?97zub+HkPVxD4cAeefw9RIFU1PRJ1eDD7rixTzq2EIjMHSG0AloaO76bHo0G?= =?iso-8859-1?q?2SflLABvszvkyQWdwHVZ08acT9QWKvGBt2aeJfCapHQcqzkKa0udvmeZGRya?= =?iso-8859-1?q?imhxbyfacFC0vRHex36682lMnashcoAx8zHEr0Q9BAcRD4OoXkve5xQzWqMI?= =?iso-8859-1?q?pfUTitGV2ziMuj7EeUJR/Ue1yDOZmO2avLOTpnMrWWJWnDQjJbSi6Hcg0OUw?= =?iso-8859-1?q?pjWksxqvJkfMCndRh4T5U5AIgQaUSujU8ebiLy8/dDsMBuwr7oKqC0wAIx8l?= =?iso-8859-1?q?8mJDiP5LAExUWHdVrQzjcKzxsNnpJaUHJtLQldHo9zDCVoqS4cS+3zJjRWLI?= =?iso-8859-1?q?tR/Cb8+wHCCXZc0f0jJQcSH9awDRjqYCGR83Qbz/yeoOD04kAD5Dh+4AyT3P?= =?iso-8859-1?q?Xw5+evRzw2FOQccrmSigtOtO7iCCabb3HOgD8qfzFbXXEin1nEMLl9XbqZn9?= =?iso-8859-1?q?q4LiX7d610+Amla6b+7MPyudB2nds7yZx8BQgQ1078cUcS/XodzFBsZTj8tX?= =?iso-8859-1?q?40JQqskOU8cbnyXoLJtftIJRtCV+aOKOdT2Khxjbd/7ytExZ+0Uc+wG4z18t?= =?iso-8859-1?q?7NG3k2FJOhCXlVyI/SgViPVOStvFdNFW8FQ6Og3hVBcBdokCl8Yn7ZGiWalk?= =?iso-8859-1?q?5zUcA+KGQ2RyR1WlD7NaaSKLF8LrMmKuUIO7W5/GfAi/GCfIJTm9Zv/UBXH0?= =?iso-8859-1?q?R9A6a21k+Jt7p4oEJoyefn4GBMY9mmYn0pbF/mQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: YzYp28jmwZpOcRSUorI4gDoSpHZhpucG8MgdhFjuhD/MQCeAqupy034rmfVmi2UANrGDEHOheQTxMK+mtakaVyDQ4qK8MNnx3A/xqry9nvUGQbsnmLaGZ5aieAarul2i1MBfjwtWAdghjJkejk7gy7uB/q6mWZIXyBhlz89F1/qnX5+2CngBka56aP2YA5tgrAjfuA+je8zGYVGZmjFL1yYCRBGRzSTVHFd4UxbVaF9YfMq9C2q74OKs+YdZb40nENVQ0VU8m+prmdFt9tmMFz4eYG9AnB7Lyo/gQZm0XUu97HYlvVRe+NaJHS3hOOLkye8xbkLtVgSHyjlN9HhmhbMhCJWtBlQpyOS2skLQxzzp5pXgmNaTUaVXWJTqp/eQGJ9J1ZRTwqD/Dlbg2SOJ3q7q0bjXX/d9nk7ZcjVClz7xTJ++LJuRYMQs5D6IPBPs/Vx3VNz/Rtc6icPASfjMK+i59QAcq3QRTvN8KCdWywWXy4inMkD8lCYQWk8CG3foFlKvD1hK78u7wgTIdwnCw7jUMtOsDuCXyTkCAbpdV70Rj2Gi6354hEJOs/Bha3nZebBhL67tyMNTCMrfZuoudXmMvd5A3azcqQUCgVab16qnuiPDMB94bOC6zTJAQLctUxEpO7d7Vt7F/Tax/7bJ0TSR+Js7PqhD4+lD6iARaTm8S/XDY8XkIfrryZCCmhkEavxibEgvYFe0hEE1/OfFH5IcTdEBRLaIHI0brmfb2otuKJPKn6KHuEgPnV5b8df+BQHDGwcCp9yTyxbqu5P7vfDxVHJct2aydr8SRGU1CpKBuGtjlDBY+dZuZUHFyBpfKrtux/WTz8YQfGg7WYq/p5Q8c5+Hks3CnH90CK38BQ8ucc/6/ln3J9XhS3fuGRyUE2KbCn/svgjvUkE6S30qCg== 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: b4be7cf6-054b-4b0e-373b-08dad228fdf2 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:30.5663 (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: OrWBXcGQ7b/roZvWNmuWBF75+u4LqUwvBfANn560YeKz2GzI7hqoi9RbeEZmC4L5FTYWnPltpdT+YiR1e0CVMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=995 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: HA6i7Z3dqcJR5AxHevvEpwoCFG6Qxt14 X-Proofpoint-GUID: HA6i7Z3dqcJR5AxHevvEpwoCFG6Qxt14 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849789862703139?= X-GMAIL-MSGID: =?utf-8?q?1750849789862703139?= 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 4dda84378831..c22365727ab4 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2749,8 +2749,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 @@ -3286,6 +3287,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); /* @@ -3301,7 +3303,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 Tue Nov 29 16:44:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27363 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450343wrr; Tue, 29 Nov 2022 08:48:14 -0800 (PST) X-Google-Smtp-Source: AA0mqf5iaNahfSCaNqsVDVR0zQs26Z2088ibm37fx24DkI0d2h8rTpkMfP2iSXkJpuuG5cOs/ang X-Received: by 2002:a17:90a:930f:b0:218:9107:381b with SMTP id p15-20020a17090a930f00b002189107381bmr54223461pjo.75.1669740494342; Tue, 29 Nov 2022 08:48:14 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740494; cv=pass; d=google.com; s=arc-20160816; b=GyPIBvsY7WTtDNJUiACpRPDj1zlIKUSMD4NjscBwkkCoJyP/4mm0aboanm/w6EElza nwLbmqLn+YZ0phQ9slQRLqmJ5iAPNIvHJ9+fBdq4bpKEtpqEUFOFpRwTpvcK/0KFGI+8 RHyUT1UiKlm3QV45P/CnsFQxa1KL5clVqgRfj78gihPTAwXYjo8QHA1SPe3t/yI+SqbN f1jkLAa2KylZn0mPc7op0M6Rpfeqlqgt7xnqMhv51Nb3b2QjC9uvF7FJuUX7YoZ+A2m6 9Uy36Rf19cdtaTkUTLpb89kf+8+ZDwx3KwDGo6EZDjzxi/NByzHTpesZ76wap1Cixnxe uGcA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=XK+SWl8VPkKYLUcRoYE4/SOdllcXeYEOwMDiLDbC6Vo=; b=d5A2ttfV3xqic4rLssL12VpPC6AuV9iFQxVP1Lg2Cpjh16rIhUrAQvW7seWRFqgE3T zcz/c8MjknxdMf1/wlKKBZqTKL1QShi6rgdvCPhiSwW5q0SLxeh3axE7KT4Z7eKPJ6dS 7nBOD7uz6SF8A3psT2XdSsswIwf535tTWv5kidpoj12LXC0pTeRP2iBXlyyoiKpt5Ic3 Wt2R/dGMuo66t5x7Pm+3F5OGTijT0P17gpEHemQkjRiM/IxGatCEiThWkjFW2UH21+Pe lmqDodZ6Bnv+XX5inCUInyDWAQgjxFtLXwkmTlL4T2iRpGy1yGJRzZA4HdlbkCudmBQh A6vA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=kSH0wy1z; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=0ECCfO6O; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r32-20020a632060000000b00476e79c854fsi15113050pgm.26.2022.11.29.08.48.01; Tue, 29 Nov 2022 08:48:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=kSH0wy1z; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=0ECCfO6O; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233607AbiK2Qqh (ORCPT + 99 others); Tue, 29 Nov 2022 11:46:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236143AbiK2QpX (ORCPT ); Tue, 29 Nov 2022 11:45:23 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 469FD54B36 for ; Tue, 29 Nov 2022 08:44:46 -0800 (PST) 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 2ATGPitf017353; Tue, 29 Nov 2022 16:44:39 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=XK+SWl8VPkKYLUcRoYE4/SOdllcXeYEOwMDiLDbC6Vo=; b=kSH0wy1zjn8Sjb7VzTyTtQTAQ9n6c1swSGpu0fBN6SJwT8nkzlc0uZr+RfDInYmuLo5q 2ZHyYNjyAM1njdLG7LC1QCGB3l/SOcCKZHkJ3be6owb5SmrugypM948Zrx6cJ7gXAl58 eUyphsg37zuXP4e1vETWiTK6GcRwwOVAcPUFDMei14jrNFacIzMNGAJiNQgs6QnlfSeM cflG1VlZmdnoIhaARp/4wrjrCzNUxirk8cT4+RfeWrN5qCut/L1mp6b/rUsyVmnofHpf DM84uda6VOdleoPBdsYa/fK3AwsGrYUmIDn9JXt/mdguOVUKeYuULct9PGhGDkdrRVpy 5g== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3xht6hn8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:39 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPq027963; Tue, 29 Nov 2022 16:44:35 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-13 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MskjC76/FdKRwxLhUo/Ix0wivLhN3FrVLQVZwUdpe4WFIM82cuAnI+Eq84Mqqe5L7VEfHQDvrtua6H45wOnAMM791Av3lAF6orwiIc3gZi4+8KQ5YpAwPGkC1lKKJGIVUv1T4fyjpMOfPAXVi0WoS7mL7K5QNWCVZJjBc78sDe9nnolp+c3iWRfe6QZQTy+U5E8afs8gIAKDDwYDEDvD8QsVjYLgA17Zq/5URWsgbiQuH9mJTc2B4zvwsA2k+X3IgU589wNr4LdSdDhsNjUsA/i8ULSpOqOerhXEDhUGpU2mAi5aDZkp7GpzfL1gLxn7KFm2UwsECqHzbq0kQItwvg== 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=XK+SWl8VPkKYLUcRoYE4/SOdllcXeYEOwMDiLDbC6Vo=; b=WjvWFDPq4UX7o58QJvAirU30ZFKrJP9EoReVdmlXB+6DACa/E5NuSX/1A97Gc6ejK/lmKoXyYrRfDL4v7XdMV8KhXgiJ2Wp8s6ZiG1PkjEjOC6FImTgSvOSQsB45TOYYJfVWdPgPOzt/ikumMJY7iFsISC1k48FxXd8kFMSDwdmF5isNbGIlh3CXSVIjmjXSEedmE+9mmOznTjh2sv9yzwaKKZKmPq3uvFldkOJsHKGTBD0qvocXgwo3FLXLt0ED8pglNl/Dk5lnbN4IvbwuWUPoUF4fnOpSeFWoi/KMNCb/y4gS6BJKDqMsXbFC/doKM19ab1EbxLaWyI9RBNuDiQ== 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=XK+SWl8VPkKYLUcRoYE4/SOdllcXeYEOwMDiLDbC6Vo=; b=0ECCfO6OZUhZL2gQ2zT8BdzbqNzqQrPb98z2mmY5xeDQvwd3lt0tZYYrFdiNMH38AoImyufy6IWoYQ5aTgVKs3sbizfxQF8IMAVYk4tjDRTj2OmnOmUxWlYm3o7KsXRzRf2VOOKGzgacQ/MnwWNp/S52BUR0+aPSCZWNYQe6ErY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:33 +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.5857.022; Tue, 29 Nov 2022 16:44:33 +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 24/43] mm/mremap: Use vmi version of vma_merge() Thread-Topic: [PATCH 24/43] mm/mremap: Use vmi version of vma_merge() Thread-Index: AQHZBBHa+cUerEdvF0eS+Eo2Wg1pFw== Date: Tue, 29 Nov 2022 16:44:31 +0000 Message-ID: <20221129164352.3374638-25-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 97c1cff8-5325-4a2a-f7de-08dad228fe34 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ST/c4dhHWrkZDhf/xEq1emPIoektgK/k7qHR4dsFupNG/OE7ON4feMwXQyahHKCojbX9AIQ5IIdbcLlp+wRDqndJCGzMxrsxcMFLoGhKdpK9uMf6oDMybIE/J0mrD6MPwpUw+oEPJHTMppWwwsr/zEI7HLKE6c8Pgkdms9RsOf49Yvf/r1qcUGn+cwP2IYfkKARAga8QatDuG0IEOdCwjlwi5kNXMwjvG8W4i0zbHDrwPKAE4sLp0AMrt386kpU2OKio5a7zBgWwaqTTAVfEI6WiASHRfWHSZQLRq6ZEw6StnCo5DgcMK0oFGb0yYz/4UxJakUV3Gjk7Er6eNoiGKwunR7pL+jU2WZzaeVXFH4EPtzWBamBMZ+ejEKHxFZ8LXIgswfw08sOm/Ke5JiKOYxVYlHxxBplGaN4ZhRMigdsHCxM/Yk60Mgv+XJZRhArLG0UNlku8KFC5UMQfS3qfOp0D24JxnIJeExAckRbudXWf4Leu3OTAvxPNypuQb6AG8r0OiJdGEMmVM0c+zLa2Qes2PX/Oo2CyFlOw8pRd8gH0enxfWg250QUi3GaXXgjXTPIt/yHwEAwA81q2BhAbfPPjIBNpWGQAIXqK6Y6rjFSnrTqNnJ270K1VoY2pCUwQacLiNz70TTZBi0sKwe7QcV9N3st0s2i0nNx6MTceuXVflFpcqWSOv5Dg+VY9QTTdKb+v9nBxbrZaHg4zUsdCzg== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?CRRAHvKofV9VnTGwQed+vr3?= =?iso-8859-1?q?F/Gw1lkdV/mt3EmtMOr/0TLaEGZIFX9e53BLH9XuQ4Z7Wryuu/tZV9OH1XFr?= =?iso-8859-1?q?p0yeGkg+wbI1ytwRX8ojAmRzQju2SKok+vb7s+OEl5icUhk5ruCLaWhISN+J?= =?iso-8859-1?q?dVDB4psOdLMfbKRfzW7N0Mgkg0ZIWwhf0uX9aIiGhkpjFZqub4haMlzVVovp?= =?iso-8859-1?q?qOutzboMrZEyCd1stFBbEGq2HCAiONFRju07cVKSOBxbyv7WZO2EiuptGaHv?= =?iso-8859-1?q?FWd8woGQ1BulnaZghWacf/nMGKBI+LFwLUVpmZ3PxBkfNcGtuRItBCAmnf4O?= =?iso-8859-1?q?ymBxo4GkPjqGEOKeemT13f/3ltVFT6LlAd3HCcfnUo5zxv1NXtB7pE7zFg/H?= =?iso-8859-1?q?qyv+VVr4nNrE+mJEZUpjxr7X6u/8LU3SSuCnL8pPBEPeHctImKYW21R1KnRe?= =?iso-8859-1?q?hMaldM12mac0MCG7XHuE9+5o621HL0RlriP1Z8tuvtmKg3sebfEgQhsYQwmK?= =?iso-8859-1?q?r5nGWF4sTzTNvaky/k5k8rWS/ltQqtCerEGfathYRfjgBBESUQfv63zu4zJ3?= =?iso-8859-1?q?yTV490rUD7B2Eyx5J0FG3ko5t/MxB8joWHIaVFyofdPXO1cMF6FZmDDuNMUJ?= =?iso-8859-1?q?eyJPACotQp8f/ysuwvmsatEZeNLfcj+FmHy2owduQeezDL/ibIlLHf7+Bjpv?= =?iso-8859-1?q?7dJSOKwgTJ9K7egoQcITg2Mg+COy5O1mc5k6GkQkF/f1NKLhUQ3V9GX7DnYk?= =?iso-8859-1?q?DiGGnzZXxzUZfE2zh03YghfPkiVAIQj9ZH2eV7AXuqon/AgYkxUzn5cU3h3t?= =?iso-8859-1?q?sjAG78kiTCLj7FwhFyLmXmmKgVkx2JhWNmtFwkO/5xMD/iLdy3X6cpaDlS8/?= =?iso-8859-1?q?YT2J1KPZgoM2A3IPNhwrlGtS58ux3OF5JI5WIZYtgEnxuvrCa9KOrRxhx4bR?= =?iso-8859-1?q?qtr0MDl4liWxn6YSJrUqdOkFeiajNjon1ekc1XVofPoHfbHKb2SD8LUGcR5A?= =?iso-8859-1?q?iu5u6JuKSaPSwwyt5pts5Ss5tVJe/gudGhdZXucR38ukNcjA4p9zDm+Ox0LI?= =?iso-8859-1?q?0gdVWEsWyD1sWnQJ3ZSeEE4gCVQBgHPo9wxCN0KcGf4QM+RA2i4z+VzmrJix?= =?iso-8859-1?q?xd1PTeMywdBO7QrmyE4hrTeJKrHfytsT79aq5z6+764yERXvfkdr3yuL+gcT?= =?iso-8859-1?q?DWoT21kKsPwVjRZNQxMsutAGWaFv30pjCDbJYsDxM2TfA6oRzplIw5U4RL5d?= =?iso-8859-1?q?sY8b354NTiEjdi8jiojvBkX0PjxlJS6XAQeyyfRO+7V1uTXmV+x/FpHbzoQr?= =?iso-8859-1?q?rIb4yF4Lg0G30KZUT/3eMSxusRUT43ZF8Kk+XS8nCO5fAez9g7m6EoauFhuN?= =?iso-8859-1?q?ADtrk2TWAT2sbBwSh0IgW9uEFJPOibJMGlk/cyWPHv34duxXqFKcR5kVQUho?= =?iso-8859-1?q?UJO3UT0k5t9EIqQ8VYb7UlPiAkLY4BtvjaiPEeKznc8Rj8jDFp1sds/Z1UOM?= =?iso-8859-1?q?KuOsTXGebm+N/DhX+wNb6V3HNzrL8NDcD2GCXI3OIr/yek85tr4clT/RFAXI?= =?iso-8859-1?q?swzW+rgQvXzRhNzbxEyKQZ5+AoaFt/f9vXNLHcZwDFjub+c5GcLi/tgWc3Ul?= =?iso-8859-1?q?wEo8mLU1khqKCYbXATGxZikv6hXuKI32tAdYm2w=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9MrnhmS7q/Fn896j14ypTK4HnlwYFshJijaAQCkYJncDaV4IMtQXkk8WMQ0iw66pW+heG4EDPVkb/hqFeJ+hfqkl30d6xNRue4vGLmhE79nycph8wVskQVa5ON+ic4XSbCJxxjQfPET133Z7x7oqMU2OdBz8Qcw+rmUcQUN5LKhSZjRF2pgIpwjGYGTDOZOCVHmFEtqAc7mi0vrYYntJl8LWe99S7I01E3026jaIH+yEu/E+4+XN9OBsGgBH7E9IM75QDnDsommnPD6Ltx3eWau2iVxbv5MHbWeUoNXgxZYnUev1nCzSnVs0E7JRnQpGy4VS+YfxocQC9Y8pBHk7qbeEVhCRN1HHo5lGn+mSHRJuWEuOqDhq+cfY/5G0bLNC+bbvo0J66FVs5o+/NUZNkvByLxN44g75pTXc3sa4/A9L1kMd9wQKjthCCvuoFjjDmJIN9bJXGtoTfAKXRE+/gZ5kpKySdvOg/5mF+wzb7W/+ypVIm2aIuk0DUVBq+Dg1D6aIz3UEwJqZVGehFtzVnMzFV331mCY1VE6xolneRbEUgvnnFRxkK5HibhQx83pbaIw41YdFfKMY3yOpqMpueitNDCeIqyVYNA2LqNwy6+LsRqnzaZd23EkxX1b/JNpTlRdPncsPdRjxhEcnIipsoULuS1f1e+NUHOPoLQuyBHz7x317+dqQRV2exfYaxHVg54CGYOD3WXE1NWUTfotscOq1Xn9Ahkh2stgWq0LydS1lUhYWNgkOMrIh8SvR3n1t0jMVKm/I1ghaXnLRfFaTeHoOCpPnUguUp858kHZrVAQybsZjjnoT/Iy3XBdI889Yc4olF5RBmPcKtOTWQPokoYAMKnXevM4WQmtN6VGfDuYc7P09bONPWAmj467vM9QwAFoNU7Y40GuRjTKOK6d8vw== 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: 97c1cff8-5325-4a2a-f7de-08dad228fe34 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:31.0663 (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: hMdEL/Rl7D8Tb6zEVGAYzN8TEZhPwi3adYdyHFPzgXFJPmmXy8ygesj8qL/TNHzsY61+6a2G0GsB6e2cN5Mobw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: wFcge61FZHgMrvavmI-aZWitDGfNwN2U X-Proofpoint-ORIG-GUID: wFcge61FZHgMrvavmI-aZWitDGfNwN2U X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849808311457985?= X-GMAIL-MSGID: =?utf-8?q?1750849808311457985?= 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 841fcc70e017..7302a71058ce 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -1017,6 +1017,7 @@ SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len, unsigned long extension_start = addr + old_len; unsigned long extension_end = addr + new_len; pgoff_t extension_pgoff = vma->vm_pgoff + (old_len >> PAGE_SHIFT); + VMA_ITERATOR(vmi, mm, extension_start); if (vma->vm_flags & VM_ACCOUNT) { if (security_vm_enough_memory_mm(mm, pages)) { @@ -1032,10 +1033,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 Tue Nov 29 16:44:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27366 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450471wrr; Tue, 29 Nov 2022 08:48:31 -0800 (PST) X-Google-Smtp-Source: AA0mqf6GAivwfKynV4Dq8+Hd+aXMx3oy4kK03a/sqM5qUKbSlhda1l3y7TKphFQZ6MxipIQsB8bL X-Received: by 2002:a17:90a:a381:b0:218:6dc3:55b8 with SMTP id x1-20020a17090aa38100b002186dc355b8mr60559941pjp.189.1669740510777; Tue, 29 Nov 2022 08:48:30 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740510; cv=pass; d=google.com; s=arc-20160816; b=GRyuTP5eDj9+aXtRDpdGWy1yYxV43pEfg+GckVoDgxWaaefs++xT0TvNwrjTdRl8fE LNehCanejuH+5LGqGhwPsmm/PhEY8/uJojsmmGe3cwzgnmyispJejbgD8V0RbvUSlQzk mn9NmWKcdHNIyP0GnPKWqH999ZmFLR2N7ynNoT1d1Rgpg2ydAR7cxeGxLK2sKEry8nJI 3+PQKAlvvh2oTPSjyHcs9bt0CQXJ5MRN0URsBEQnPke+3K6YdJMi8FOPWtoRA12jLvR9 lxrVo0eTh1khxecrQ7LEmy5i9V3Rgt+avbslqXfDtHPcuPhebrCaqm3OP6HqncweDwNB LXLg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=5UFSEk5NWMUwkRVcsWr/X+7G5H1qm5MKYxeSEUpdMZ0=; b=qaq2dkpokLGe1UTn/4E/r3r4n/mmLJTGId3mzmqc40fasDAuj13nuDzkLwh6C0XJIh VbUdg9zB0xmHmgv1Nn8wsnNq+mgo3Ild9wS+0klnmcPWpn2lgzmYh+4/w+Q45v1DjKps 3F+ftmqG9IizqAOXlwRSlZMskdm2RTKUi8JWWbBKRISe4cVhCST/c/inF/gfstxymW5S X5o0qJNzMQUM5yyDaYVK+UMWCkhMI/M4pPUeX4t+Stw47d81dXTs+QF+dKfPlshwQxzR 1twrBhHsdJZma+Wmkp0roXwtBXslBskGD9LoKEOhyQvVhKavldIIQZCXVY3MngDPvpMq vTHg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=vb49Lzj1; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Hqok8PXS; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g1-20020a17090ace8100b002192566b3e3si1952942pju.146.2022.11.29.08.48.18; Tue, 29 Nov 2022 08:48:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=vb49Lzj1; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Hqok8PXS; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236134AbiK2QrL (ORCPT + 99 others); Tue, 29 Nov 2022 11:47:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236181AbiK2Qpv (ORCPT ); Tue, 29 Nov 2022 11:45:51 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6CB5945A21 for ; Tue, 29 Nov 2022 08:44:52 -0800 (PST) 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 2ATGPi3n017345; Tue, 29 Nov 2022 16:44: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=5UFSEk5NWMUwkRVcsWr/X+7G5H1qm5MKYxeSEUpdMZ0=; b=vb49Lzj15yk9NOXHVPpWxxE7MOI++OqsBaRUielxdcrKXmPvGiX1UcaxhMH9xvTu1nFD Y2O5CQ1p2OyEpkB7OQ8uRFUoSxMJcQxsClFc1oR6dERHA97jBsiEcefR9Ouwi+3YPJOg ydI7PpP7LffJMLrrujQORFDud89Y/o90P4XZNTgJNyzasboltyj+37idVqlkZT6J9f+p +Y3gHA34MVWCLl31Wbx1uuwM+3/+H7ImL5WdQIdiV7GtAESL/LUUxocwyP6YKYbUsQ1a 6BorrAm52uLqC85FZBVBztWXnqXc6qaAe10ELrAFE1BUAAi6k5yWrc8MOBNUs9QWMBXo Ww== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3xht6hn9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:37 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPs027963; Tue, 29 Nov 2022 16:44:35 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-14 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HluYyemgF6OTvUcG9RmXZ6SYAjyLTkt6bUxkkfGU9jSsW7HMD5u6U0eXwmehzfX8KYEQlVeTh+I55hWXWFScT5Qd4IU45XsnJVHLJNgaoEZKfuwUPB24QSN2b3dnwd6z7E1yDZf/grwwc7zDeJ69hRcBTs+CPWJmz3X61nX+QU56zjdPB/1zN2dgbXhagOeOvELK3WXQifxPUqNCtFUgIxW1wsP3a3SqRAxLwRld867r7sdGEReiHAT9nr/+FupmY7EsauPpfhZOBl+aNPZbM9jKch3vRWokVjQGLw4cOWq+Sve4j3l5FA/Z6o31iZpx9odL6SToV5D/AURBhmDAnw== 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=5UFSEk5NWMUwkRVcsWr/X+7G5H1qm5MKYxeSEUpdMZ0=; b=YW2zG049/OTRPC29+x2FpFrah0kLbyBpL7xC1DjAbLUDYQcQZopWMz7KVOMF8EtBSptnW9jYUABrYcUgUJMumQI3ySB0j3A6VBRzrTsRoftNyJZoNniLCRjTJLbt8kXmMutCfZWMs5N7vnFp49imGIOR7t6Ic3m55gdg686B0+ycJoRyKJSpte388OWJgRCu2QGRY2ycN8AKXoeU0eKTRcRL5ZChd0iCbTT0u8LrNtqcM6C/e0qMZ1oh8WxaPpxFUdlL2Xm2Xtoj0gda0Mmi8xwkhknF9hC1DPEx3wcR+SKfkBNT2qIxsVtT/qGSZgfrRurSjikJsJGKOOspVmhZ3w== 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=5UFSEk5NWMUwkRVcsWr/X+7G5H1qm5MKYxeSEUpdMZ0=; b=Hqok8PXSLv0y+96GC+oTexZboVElzIPWZr7oLGMvROCs9aDYiGM5HL0NVJ+QSA1UgmJ+gp7K8HEEIIekz/cce336HP5yRtGSqXgzRyjaxiEPWFsHKQjXiV8sxpdEa1AXyKOsEqHqeUeoyYtgnqwxswvd9nI4yvlpb3NFQjO7DMo= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:33 +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.5857.022; Tue, 29 Nov 2022 16:44:33 +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 25/43] mm: Switch vma_merge(), split_vma(), and __split_vma to vma iterator Thread-Topic: [PATCH 25/43] mm: Switch vma_merge(), split_vma(), and __split_vma to vma iterator Thread-Index: AQHZBBHaPR/BZRzVsUaIyw8MJ+G3Gg== Date: Tue, 29 Nov 2022 16:44:31 +0000 Message-ID: <20221129164352.3374638-26-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 12e7a744-1940-4ae3-2d5c-08dad228fe8d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IvnxrKiz3yi9L2JYAQVNUL5TbOW22YinFEy3/YcCqyY5HTmub14CJxMasGCxn9U/tRclfvXO6vlBbVFmeidJehBrNHJviffWwpb1GhAJdpx0/x5+aaAswRZRu0tX3/SMSJh702lFHAlyyIUm3dRfC01Z2DGuXyTsMjb/ULVnVjOor+cUyqfiNFTml0O1aRCRGpyRbezcMD6JSwjJOdfKIO3XGl+UetDAz1uNE6wVOUxWtQfHjKc7mKQL+GiIt3Z4WaVuA1XXe9bEYxUozKRWqQmpiJibBPRLyTnsF2dR3t/LC0VllM7mcYPQGNHsVJBgD5ntHaZt+410EQpqbt2TU655GkAkbA9/l2P5Bl7AkJImBC0cBPvNvc5bgt1nQANF2dINyX+BUhui7sVBD9dfnbAHIimizmUSgKNJMOThaOv43UD4D5nxX5m9j86HQ4RrOl4B4cpkVQVG6AIvm+ExFGSyn29SQcr7o5sC7XetDyZTQzuYzC92f/FBOPsZh8iGBZdIBSf2vn0HIBdkCnCV1ebEQuntweAmiGlTwvyoMVz914QhXNfinZ9TkSTQB5INvBB9pTrqGoEDHvLJwDQsGG19NcB5kSfeAdmwhT2VWWsOeXqHIEWWEh3Rk5hcz7aUhC/fWys6uL1R3rzZrmt2aRPH+npwE+5J7gCqnEcu8PX9V+KmJLh79SLnoR6IoiilpWQGKfsLIL5Ezc1D0RvnVQ== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(30864003)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?GKzrrHH9I1CJ5/tz4CXtX7f?= =?iso-8859-1?q?xDEKWKulCtmUzebrJW2aK9+Yhg9HTLFIAuVEJZ6Cy8YoRLYAWWaXG4XNCUOS?= =?iso-8859-1?q?VHVb4chu6UJaYxayLS7FDH6pJJewmz4aJpSKzcoCGMATRldHnmldlki/Q+z8?= =?iso-8859-1?q?T8+ciCeLGxwzHvnxzpzmol2xA/NstjufnCn39cWrnCGBt0gFRk6Bq+Dkkk0w?= =?iso-8859-1?q?X/2g48uF8FWuNW8nT/BXSA2lXjwbzlOdrOZ4n7HwYsiZsENQyZHLTLHWrgwY?= =?iso-8859-1?q?RKGC2YBSdp33KmFT0H6BlYBorr11WzNc7a1W2TdraX61g+9xwpXlCnuerG6u?= =?iso-8859-1?q?ZeReEOC/JNa/Bxj4IlN75pEe5LQFPzP4rXchLtBmys1Nu/4a1EM+F9+VgZGl?= =?iso-8859-1?q?N25zwZh1Wui6BdLYJN7oAReT1QR1USHfcWJ7kXExE6ybjJZPHhTtchOGLAkY?= =?iso-8859-1?q?OFIXrnNh8D03NcanHAMB3ubSzDRPG6VC/C5Rw2qafxTA952HSExr4jA6qvMs?= =?iso-8859-1?q?4T4FJDaGVNgz41Ap9ZvJ4bHdMw7v8+8owRCQX+0C9Oj+Y753JUTw8FMG3Vpm?= =?iso-8859-1?q?nSfw5g0Qlv9yPhHChMGR8t3E49itXu2TqpnZOSvOqAd3mKiOQWIBLb5uuLCe?= =?iso-8859-1?q?ufkphe6qf0zW1iVapmf6otxNgMMWGHHu7169hqElesBM7N9saekrs4DTA2uS?= =?iso-8859-1?q?PCo8kc1TV8Lsxpb0P5ydZcFpJRhX18sJQPGZSxNsvZxY/YOjLh4VcDogUBjI?= =?iso-8859-1?q?Z2QIusWaStfDrk62HY7uYAUJlBX7wdfDj/4WnLJq84AuFFbDB81Bj0Hl9eyQ?= =?iso-8859-1?q?c72kOP6+8bApqDQKtFoUgTMc5GTwo7dg2CJEhuk5gBh9rsXbIriZZuTUpiAR?= =?iso-8859-1?q?bQQffWTqL8XElXudX5KrwNlPjQYFPIPbYhN5RF1/QaYPgvW9tUO6ABINpR8P?= =?iso-8859-1?q?0lpl/+n5O8n3EcGpTdns0tm2G1HHewu0ST/tsJWqsgBwpqcbqLbEnNDK+uyn?= =?iso-8859-1?q?9nSnjPTAz0jiYyGjS0+ePD0iivIxxLp+XDx0nOXCon7sLoGIvU0MWN1YJo/W?= =?iso-8859-1?q?aZO52YlVNFBXHGXh7wDxJ+3SeWtTEnSJIjX0Bqv788fQeSvkb2uwaUVZETJu?= =?iso-8859-1?q?2eUDtISVUcmi2hDe3XaQFMoNB+gnh2Y9FyrVY2HDzLcJVc4ybMuZUZKvztTE?= =?iso-8859-1?q?yITqHJgCISWpz2r2vQ1j+Gq4hH9I1rmXsb9D1HGBHy30wFOwYrWlcyEmXRCl?= =?iso-8859-1?q?TreNdXlqceTnOu0EfCGdMVz9EKVuSb54F+pEmPTGSUAT/dsnBU0rGojVNiM1?= =?iso-8859-1?q?woA9miOTtMsUm00MPyT3wtf/upEOf9K5PviG22KPLIaY+0/RiFCXEejZ3zep?= =?iso-8859-1?q?ynQekfzx9Co87AyELjyyMzQ4GHVXSFedUm9QxmAZkx7mwhZsKz9m6z1FFJ2P?= =?iso-8859-1?q?Bp8rjKYcvzeQobu7XCDkMjxEV3UuRfhSuXej99G2XpOaagbIqvC6EUfdEOpE?= =?iso-8859-1?q?pA0GWP1hA3CBikF5hbrx8IIGg1dfAbzbFDAbwk4ieRUARMQZhDoFseJ3Y9UX?= =?iso-8859-1?q?CuYUA5o2ro0QTORv1jjUZSTf2p0+DYGA96rgM2UDs1Qv1F1l4Bpj9u7X4lne?= =?iso-8859-1?q?KVwcmZpBpA8hdJK9r1Ja33NDQ2EiwGAE8MnMjCQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Vu+v8nw/o98vt/kZP8aRWECIas99ApoTzb9PtVrPnJHPJu0KoOkdubuIPnyIWtEBfH+QLQ/exftHOHw1k0jGs9TrQ8JOJ8kqU7tv5RzuzzT+aqayQuKyvxovcxz4JmiZgzIiMo8348YYpvrpHbaAxumffTEY5UUHP6fY6R7Lv8VPOaWuXrzMP2x9W1AbeFM+uVuIX8STpazAo5SDV5pQnS37KBxOcs+TLBjKhD/sP5N4jEHh/LhqT1ydT9nWkyzRTz++786Pq1Ar2llFc5lfulPFCFfb221wkfk7naMNs09RvSnbtEFYyU52rOvxWsr4FFr5R+H+HSjj9rppYS7VewzQHYmE4ZUAW4TaAmf/W3E4TMtX2F+q9wgSYH2dzMBB/UqnKfJK7kN5s2gsMTy3dh0r+Oi/EL+ElbZRwqk2zGVhwgn1S3plb7S1sSEf1iwtxpA41XsVzHUTZ3Em5gtdzLOyBcGw40esyPza76pLbmIpTuYuqBhc1Bvm85HZpBsg+nhp2S94bI5KoIFz1qoavuuWwvMXqvPDmCpQlTC8GoE/sSflwRIXph0KPlJPqPGS62kS0juk72b/U+F/KzACPBQi94pYiMWBWdw+r24uqHuaxhbgqrevK8KxaNKqnIJjCRj+qLMabKuru47UI+1Aa26UkASdVISQLDbUk4vuIqevb54yv518Q1FCfzJo9XidCntAClAEiywfdEGP3fdG22Yk7gNJrAR2vGFd6ighZboEFrONg6/LfQhM1ncd8ABXGDZLMNHtXSqPAkUBBzZPIZYxbmXHttru1yXctaAQQbUmMHFMHsbfo4dlSXRTDCnUg44OEBVhlrFLrC5VgC+MCjtou7esrARnBdlFW97+ODVe/fatlbo+9GGNF/M/r38Me3FKuN378SzeaavQfWBG7w== 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: 12e7a744-1940-4ae3-2d5c-08dad228fe8d X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:31.5662 (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: QXNhFbQTWHyk6wWyRr20MTLNmkUxL2saLXAr63Zi6riso8F0q9sNEHPiTU2tsJhQjgst2P7SvUxxAUhqaCpUBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: rKJImQPsKAfFWb9N5HwWw4g7x5vJ5MJ1 X-Proofpoint-ORIG-GUID: rKJImQPsKAfFWb9N5HwWw4g7x5vJ5MJ1 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849826006018693?= X-GMAIL-MSGID: =?utf-8?q?1750849826006018693?= 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 17623a774e02..2fa8aae4c4f2 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2700,22 +2700,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 2beced2d5eee..bf23d64515e1 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -153,7 +153,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) { @@ -166,7 +166,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; } @@ -174,7 +174,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 5bf4ab8eee49..ee9751323c59 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 c22365727ab4..0c194a2a568d 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1070,7 +1070,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, @@ -1079,7 +1079,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; @@ -1145,26 +1145,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; } /* @@ -2287,12 +2272,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); @@ -2332,8 +2319,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; @@ -2348,46 +2337,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, @@ -2447,7 +2411,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; @@ -2468,7 +2432,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; @@ -2749,9 +2713,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 @@ -3303,7 +3268,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 994e8d991e78..bd5c04974bbc 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -602,7 +602,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) { @@ -614,13 +614,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 7302a71058ce..cbafea7fe895 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -1033,7 +1033,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 Tue Nov 29 16:44:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27360 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450320wrr; Tue, 29 Nov 2022 08:48:12 -0800 (PST) X-Google-Smtp-Source: AA0mqf6Oy8zGzyhP8mtI7dxEuAvxAAIkrE4UMJYBQiGptFt0iPclU9NgnEGk9mSrYEZ0vzqGktwG X-Received: by 2002:a63:f1d:0:b0:475:a06:50ae with SMTP id e29-20020a630f1d000000b004750a0650aemr37758959pgl.67.1669740492461; Tue, 29 Nov 2022 08:48:12 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740492; cv=pass; d=google.com; s=arc-20160816; b=dR0+d/h3/uAIM1tgEiTiECeOCdGRp6uLWKtEaTUVOnHcsmVO0jfUJhsLrECw3ZhRIz e3mtJiS4UzhenDAGYbZiNvxrAPn/OaJazGJJazvUj7NZx6kyhPu2XjdfCKXnw6ooqqkB JsnClQmnrYD27wyRWzIjVLgMsAVaL7vLI7XfonGu0lF9vmdpYO1HCwbJhtLAFFEO9CjL oL9A01wWyt9c7tfWgte8o9gOq8Q+zgyH2uRdtExFo9hcDRHt4aABdFGP/Bm+4BII9nB7 ngMBtqZEyktIvSjrvPiX0nSfDmF9Kigt/2VEg/kUqhyi0xMe4LNRrBKu0FCze5pYgkhA Pr2Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=iX98eDd1yhxIyFEsnty6d6K/n9n4hTMHagteSF399+w=; b=kpX/wG426nP+1Hmr6lvWrGCoEYHZLXLzph65yJDCRxlyEeXTh9UiRf7B+N6QjmKZYv Vsrw6jXrQEVnGCZhPYNhfkU7gT2eMu96Y59iM1dl8DT1+B295Ac6/ImjAJK1finLBzqc 9H23NNXvLYD5QjwkMEf3AJQqqDmSznX8LTU25yayHgFd3l/T96GhTUGjnNUzx8eEupkl 8RRng/qxGGXAlCOfaySYYNQ3rgYaoOeY/K6gecdxqRhXjiA4Qn63ObtCSwZvQHX09RH0 XNbryzbW+khPAiGJsVjdUydUE0bdWq0c23xZZru48cOX4aYShXnAciBvFegoPGJCL+D4 nAzQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=EamjOWs0; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hsVZ5lTQ; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j185-20020a638bc2000000b004774bf80b05si13609277pge.506.2022.11.29.08.47.59; Tue, 29 Nov 2022 08:48:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=EamjOWs0; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hsVZ5lTQ; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236248AbiK2Qqe (ORCPT + 99 others); Tue, 29 Nov 2022 11:46:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42238 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236140AbiK2QpW (ORCPT ); Tue, 29 Nov 2022 11:45:22 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 336FE4A07D for ; Tue, 29 Nov 2022 08:44:45 -0800 (PST) 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 2ATGPo8k012293; Tue, 29 Nov 2022 16:44:37 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=iX98eDd1yhxIyFEsnty6d6K/n9n4hTMHagteSF399+w=; b=EamjOWs0oFlHrO8kFZp3ZVCG7byhMc+ElsvlDDCtqJeh5OM9s18Eyy/JuryxCdcFmykh Mr1Mv/C20psMRnTbo7gV0wtDx6qjVEy4X4IQpvlBawlWm5W9dHMhX3xvNINxN9nE4ReT agXt2R4ksMeNi9BozRC89k29UENWRlXq7qHfrVYIr4aIZT9NreN2FKPYoNfP3cQaYNbq cYWLQJwvCp8Jk3qTG9pOd0tgmdDclINYyVbprPxs3vEcaMQe9D9YsxEBATVpuhVdc1ne czr5D0XY+PVUD+Uu3itijopp8HMrqr0el9d9Q+Vy++zQtejxosAKPXYcE/TMaqPI4tlt +w== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn9s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:36 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFhsPt027963; Tue, 29 Nov 2022 16:44:36 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f2au-15 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lY7dvvPehCg4JkfibMaK5DUi+Wb/XkUl3487wQ15WFw4zKHi8FFCMrTQKUhu/V3l+CvAd2u3GG6iGfqg2v4OvpiVy/f9wN6G3PgZVveLDzlOC9DdeeTMqkE1/lRaMGz7ivhXFj9AImtZbbrYa1McUPd//aIBrUwtm306HkNb5tNUVZ6Hs39UKfTt5b5Q9d8LKT3Fpd/o8OAfC1e3AZGQ07XWdDGrZcIPShBBikrvh4NOWGlmjZk6XnBc8C36t4foCpvOs35Fs5a54mfUQNK+jxIKlZJwlyqT+b3JKubAAK0culVa3jrsIJBJmlyzM2Z8BUtcyrcmGL0IF2T6sCQBFQ== 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=iX98eDd1yhxIyFEsnty6d6K/n9n4hTMHagteSF399+w=; b=LyAhYKUT3FB/fmslCRfmM8EMGkJr7pFeFGhBh/7x3B3jDstjOpRjbGOmLowRrEJrj4WvllxizxkYKkRPxSsEcvyKLHF4qt3mJh7bFoTZ6iKY+jm+X6UIzBYUOoB0OwaXwbzGqDDKfKwpWddlHLdlbqxy5mbetkljlui4FrlmgimGBJYC4g4k9O1xEdCsAH4JTK7o1vfrFWnV4s+0fsmUp/uvro/VGO+MmjPgygDuGpEfdFgapTGpL4USx3sQxlWUGXax/yf5GDDhlVGqbDcEyAofUDrpu/YrPdbRGr9Rs6MAyomE6SqJymmG/Rd260JxzxrOSXLM65EYqTCiof4Yyw== 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=iX98eDd1yhxIyFEsnty6d6K/n9n4hTMHagteSF399+w=; b=hsVZ5lTQTf/QG2Ix0232AqM/AnPvoi4XHMm/8G2bTOuS4LoYo23WkeH1p3ne8sUXxVDMy7FhN3bAM5kxMyOhs/xWCDOzpdSErCV+mPA//X0374gQcbS5dSrt+LdLIRg7MkH3zauAsFPZS2uredh/yUCRX/kqzLpeg3yC+S86Xlk= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:34 +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.5857.022; Tue, 29 Nov 2022 16:44:34 +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 26/43] mmap: Convert __vma_adjust() to use vma iterator Thread-Topic: [PATCH 26/43] mmap: Convert __vma_adjust() to use vma iterator Thread-Index: AQHZBBHbBu3yBS2EGEWq7dlxvaSQLQ== Date: Tue, 29 Nov 2022 16:44:32 +0000 Message-ID: <20221129164352.3374638-27-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 2cce1989-d201-4721-62d9-08dad228fee5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ipPkMT8BSeOt9n36wP45j8aUWlWU0bIliXgSxHttznuhL0QcEEifMczT7fwska0/byoFODizbXqKOLeKHI1KlCodqoGaQfnJOdprsLlQo0UuHeDZzU8N7BIAUWDFecmP7wsPce7pNub13KdEHCNjypdG/n+SxfcJ+rfalLRRYgrGosg26RzWlNRZ62Sd8d8bfTY9V8ggrU4DWW+JeTEbO6UkoAzcw8WJhDBU15akDDkvcy1wUZ+RsbIjrHU4jzcdKKNT3Nm/ZphmNbabb3Nw3va8QKwpBGdu0+UyMnbToFE1k40i5OS/DaRoEMM4b4Taiuq89sD506+ABcE+LzJzGe44OpZmRRNev5XLLS/CVmXDK5nlGstu+fvlNxKH3D2jm6bpf8h6+VFtlVNq/Gjp46S060a8nNEbUIgbdNOIz/32/2nYkkLdFebrRhoJzKkYDffdx7cC+q35IqccecAcCC0r2oRtOxU32Gy4+1NeN+EgJCEti/BBdxZeP+pwFT2JGOAcF4T5BEfqaTpmEyAS9nsu2sDx2yakS+wwadErE0ush+EtSNjrL+FTFmIX/iaEST4ICKkhEZ4tigjHTd9dM85W1h19aejSD5T8739aoYg+LzrfLwa5sjZ/8TzaCuc4Wtsi2SFDSZs/U+h+h/mgS0ViEEgH4iRJUdBsKoyq6VBbibTf2TtTJNSN1cCtjBB6/EU12WEcO+2HjlWkEF+72w== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?C/RmGgX+0gsESoKiRIrvCBq?= =?iso-8859-1?q?OO15Jy13TX12wSdHTBhR+Kx4XLa8Oanc7DtnrzG+KCU7gMdemF8I0qpO5Ve5?= =?iso-8859-1?q?sjqeXIIBuAUfU19U9ZLwkv88KO7BrqTPnX3hdT4U47OaK6gyyTeBHbSWPOl7?= =?iso-8859-1?q?yviLrgC2Pmm8dqW3sKVOQrizD9U7t5aWhN28i60TUyLTBJTj/cYPd2aXVuhr?= =?iso-8859-1?q?jP8yKa5cfifTo4WtUM2uw2sK+z8g8En+klg4CC+G4UOt43dbNvUA8XrgRrbh?= =?iso-8859-1?q?+16S1x0liwEvjm9IOINdcVZgmwagGNXP+3ZdPPsxjCCR5Gu6DRcl3WeIL+P2?= =?iso-8859-1?q?FoV+Q6BlBusA6pg/U2hUT1HkTiqqFoN6HhIKBWAC9a7mP+yZEkkrgYsQlQ+x?= =?iso-8859-1?q?jd5lFwNyVVITxfjYomtQkq+Xew6ea5427nBATBdHRLu8pz8OofM9XOicDZr+?= =?iso-8859-1?q?EURijGuAsMSphXYd1dAebVCIZdRC1SECE+cN8fwJ+gBJupN20D2scacvPbMp?= =?iso-8859-1?q?WYA2dvluXu0NZ+cWvYLLiGaSz1x/cUu26ECNJIeGdF2NNNHiSNNCIkdTQfrB?= =?iso-8859-1?q?CbOtL/7UwbvukQ4I0QglHvv5dvuOIMUbXkSS4H7qyQNyOOEnJhlTpx+fecBW?= =?iso-8859-1?q?bZzY7isFBIzj2QHJB4Kw6xZcVjN+AndNkb9dEg6j+OsGrtct384sZigfxWUI?= =?iso-8859-1?q?Oz9UyrCkCaD6quiHvW98S/WZSoBTUs9buQ9xu4Z2wXl6wuf7QlOyBKP369uQ?= =?iso-8859-1?q?NXjJn6JS5tlMwd8IRKhqs/ke9UJAd513VN8w8yx4KrdQdzz6tJQ3e+tctgmz?= =?iso-8859-1?q?bGpsO6x0TMgu3Y1JTYZJwi/iTSrWmr9441vJkk3alt8oRutspsbrXKOPKTOk?= =?iso-8859-1?q?QVhvYz9e2E2sEaX9cIj+mhbmiNp/XfK16ZuuRBR8orWIs9G+rKKM7ofGWMl+?= =?iso-8859-1?q?09SEir9I6RJf5BfpaC6uarSRwNZKtAIwqHmTZQcWwARxhHCGT43i50Hx83So?= =?iso-8859-1?q?Z9dwiM5m9QEFS3f33Fmmd2R7xwQYRq/nCptKRkqZdAuPeYk81SMv8z4udzTt?= =?iso-8859-1?q?Uyu7LL8dt7pPdR3cq27lq2U4ZuwOPsJi2tn1XCPECYwN8vPCdBD/Sp58TWZ4?= =?iso-8859-1?q?OSc+qj8/BZWD43nbUaApsJgfRJQzmfF4Y6ANiiov2Ck4xHAFS1PrW3LP9ZuK?= =?iso-8859-1?q?WnS8RwLIn3XpKDeej7VGuIlXWfyIZOETWoz0gpjsOck9kxmuQqgzXQN95Mwh?= =?iso-8859-1?q?KLyo/MmLblp0MkmShgAHTs9jVRODUk2hcbd4srkN93dJY6A9jHgkysM6bdJ3?= =?iso-8859-1?q?SDV/MEa0imJUhWHFcLsFAs7SqKVe10i6eux78yP54rd0X/ztSCP4p3++IV3I?= =?iso-8859-1?q?5z1V6hedmAaOAfJXBxAm/SJUKJvxlHdQIg17OZecLgjJOHCmjSxXgsStVN6C?= =?iso-8859-1?q?9PN1lKKZahPqHbYuYpKDmfVjzLP9dyqWH+rz1kpx83znoc9hI2O+6/VmHXTu?= =?iso-8859-1?q?3V4PBEm5HAsdxCoVjzHgqjlE96kEVXIH8rJG9ymSBXz/EwnxiMmrnYhWSYwH?= =?iso-8859-1?q?kX5ZEcXymjmvl0ztqR6Dog6q0ttEeQaupS5+lS1lRd3Ca901MVr4fnqAUsVJ?= =?iso-8859-1?q?hCjqn7IpxaIQIUg3LBUTUXeyB1s6xQ3PMALHIjw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: j2De7VhoLEUG7nB7lWVEz7CeTgB/YHV4kw1c6naY5EFOWkVC/93CxUaFhB56o/Ar2QMue665Ua+eNo3YSZFJISKzxEcGPCivAGiyH0ASlPPDONbmdnUI4S6gwHb18D/IQOGBcZGNV0jq6737HHPVcLqz+PBEIlN+dKvM7vg70RkqwIQc65pP81PAoLeSn1KP32ZqXmx0Jb+lSaMqKefIjXJX2cL5p2as651RRhjahocbASNLyY1tMfKTPHn9bcDoX9Q3t/Lh6jlQ4dP24N3fuI2WHWHzaq6dvAP4wA6Sdip+yXRul259IvUcZ1fnR4opodE7aoIo83D/fTOBxDdhQ6XAq6Y4Q1c0xmZ0zUqfazhB0EToT7svKI7xl+6QIyLUMax//wshWaVF2xoNGSYtuhMKrrh0jDihSGA/NBliOAUFMH8L3XRflYGftzi06B14IRKW5XlsS8srVQtQ+Qtp3G8ph9T0GyTyuOrJu5T2WUWoPUBetdKWrnNnfCThi5J+Imcj8CRAs+oIksgSD6qX5Z4e82CsZ40cfO02m+9irotZl8YyO2J1s6G5ghHJDr6zwyWXsl3dz4vBdHqKm4sXTLwMMi+5K8ETFcxHIcoxNFuBU38gFpCjT0rp0M/WnMY+S2gm6MHmYr2n9ymjb5q1GHhq8M0iWHNyXoDVhyfSaEgS5IrmkiafayVpXm5rywDF4Ap5deIy7Yc5YO4r7RBuGqnrtOsceZwQwdHul4Mr3faLjc3QvjX3NgQvMgz9FIo6ejBaTt4TCo7R4ghk/irtfk8/tQ0d9EYee56RtNmOwRypfe+kCiSifLwz+mnJhki8xrktMsjjZuu/bQ3AdRkCos9+6TakfVDk1ywnHCMonjpDDpNy+w7xABW3fCdfAvzMszRDtYq1ADy7ZCwhY4eBow== 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: 2cce1989-d201-4721-62d9-08dad228fee5 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:32.0350 (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: I5CNUUWS1UxmdYqP4JzW49WZ7v92iaxbJD+Fxr5NJmPaCjCJ9KRlNSPxMgMf7N2O3N2X8nkfOZlXUHjSYpcC4Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: x-Ff6NPBMnOx2aj5y4LmrWcA7Er89BtQ X-Proofpoint-GUID: x-Ff6NPBMnOx2aj5y4LmrWcA7Er89BtQ X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849806730357048?= X-GMAIL-MSGID: =?utf-8?q?1750849806730357048?= 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 2fa8aae4c4f2..3649acb9b0fb 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2717,9 +2717,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 0c194a2a568d..71e8e9cfd704 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -492,56 +492,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. - * - * @mm: The struct_mm - * @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); @@ -701,7 +651,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) { @@ -786,7 +736,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); @@ -832,7 +782,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; @@ -842,8 +792,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); } @@ -854,13 +804,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) { @@ -880,8 +830,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++; } @@ -927,7 +876,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; @@ -2058,7 +2007,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); @@ -2140,7 +2090,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 Tue Nov 29 16:44:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27365 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450419wrr; Tue, 29 Nov 2022 08:48:24 -0800 (PST) X-Google-Smtp-Source: AA0mqf5JjOvav/CzqDVc0s4yUFJgPxDBJDHnbOw/6crJvB+TnAKcUDCcgulidSOgB8aM0sfq1lPU X-Received: by 2002:a17:902:d58d:b0:188:ff21:e76b with SMTP id k13-20020a170902d58d00b00188ff21e76bmr2404347plh.60.1669740504257; Tue, 29 Nov 2022 08:48:24 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740504; cv=pass; d=google.com; s=arc-20160816; b=XuKM/na06dk0Q9pTWmD4CzEdl8TNW0e/VyHYt3cPVjqDPhRkVucJk7QAERVFT5nTjA FG87IJkLswKT0pm8Wav1hDzvK57a/fCas4Ir9G3x4WH7QF9RXbHXvYjWnrM0p+VLAjN2 l69BkPx5nfRbUR9WJkLsBLzY5ZCs2yYwNbT2m57Uud6MkAyJkAWsyb3yG6ZrzK3Vz/AL jN+69/ajdugB37ZUcyP3b8Pt24CVWb4oG7aRBRwRxwFhaKohvTQ/bPyqyTHQzNsX5JjB ZozxsKypq6282skWTdsmuNcSWv/9NqWloKVziADhzDtSWCsiCxKsJsuBojeFIQNcNJb7 mKXA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=NRieCVJGLiJr8Cxv3p04LvXsdygC2aLULrDvNR7t6dY=; b=RgvgnuymwsDEYiKTvlB+5sJmsar4XynbLv9QOjaOuI3SAFqmmubY50503CGjBLuqLn 2cC+y/faSZQfVYS8sRNrSpZoRJgfo5yA8Ixc0Iz88cbUODCiqrI7jerTEzd3gLNWXeZC kh411TUxuwp7mq/fu9U15ygJhiZ/e/rTIAa9AJugipWItzbyOvJqR1b3ggw2S9DxRfF2 GaAM1EoAyvG8qZ1JIbcNt38d2e+tOkD7V+gjh/CRPMXXtce+IztNsmwZtqeeSOshir8s Vsb211j8RstFYUP8J23V9XbGC4jN6kB+ztr/RCAp3+Via0VY3labwIvkcIJ95cu08/Kn u7JA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=izbdvQhb; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=oJ6uDbas; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t9-20020a17090340c900b00188f4d824a2si14910797pld.241.2022.11.29.08.48.10; Tue, 29 Nov 2022 08:48:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=izbdvQhb; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=oJ6uDbas; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236279AbiK2Qqn (ORCPT + 99 others); Tue, 29 Nov 2022 11:46:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42270 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236150AbiK2QpX (ORCPT ); Tue, 29 Nov 2022 11:45:23 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E0D5C62EA9 for ; Tue, 29 Nov 2022 08:44:46 -0800 (PST) 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 2ATGP14n031318; Tue, 29 Nov 2022 16:44: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=NRieCVJGLiJr8Cxv3p04LvXsdygC2aLULrDvNR7t6dY=; b=izbdvQhb/BJyzXX5IWlyl4bJ9YMAsrJuDjxyyYEHjy4KbcclEN3VJ1ePtLquBRTkc6YB TeI/NUetZYSQwJU4R1XsNQqTfjiyxeaFoNlHJAh4/RLvm0T9xYKryDrO5DA2EU5kJ+Ir dz1hRP1qMXekO9DonVbWrHqhxpKVKyAsMOv3z15zOI/pGydu7xAN0EkWGgZyC3BSMD/6 YHjpyxmIZQ1MGE2E2wP2zstecuQUOXJPrQC69Dc8g+bjJ4JeAZ22XeMiGVgvdbI6FsO1 NYKCwCcxEOv+WwKhEzUOjNkbUvHkHhs7Bq6cAjbjkmNgArvnnVMmr/ewVXv4VA46Y4up 4A== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xat2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:39 +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 2ATGbKZS019412; Tue, 29 Nov 2022 16:44:38 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2177.outbound.protection.outlook.com [104.47.56.177]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m398dr60s-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bqHFUPuuPVVWVznN0KLBfLtsv51sOQAzsUZsVkLzXWAtQvszckBdyxrTiN/iaAxYxmLf5E+KIE36o2uiJ/xkZ0+S9cjc59eYbCXalTYhBq3hha7wiUtSixUztduMQsbeQn9VKlNtT53OU1P0Z2WFWmdzL8TgNm97wm8f1eKW9SnNOSx4d07Gf0snPdVBkgncJsjARY9HfJN1XgxdtutUqg8Dut7AobLRRRQAvIjaX6Q4xZ4+RKtR8k+HOY3kqmA/lGWwl/HP2PWooiygtfqll02EqzfGRWdbs9bn25Pte4AfHb6wmtMdfrAKBDRE4+BA6zEpLCWiC6s8tq1NIM8obA== 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=NRieCVJGLiJr8Cxv3p04LvXsdygC2aLULrDvNR7t6dY=; b=LyI2Jt9QcUoQRaQaL8Avp4Jd4a+HeqnZ/ppD/1I7z5E8owYbaebfvpPhwTQSsmK3QMsiDBWis5llMqkHgt4DI7Ai5keetbZnTvLKAjEzKuxVoQ+sJgiODJGoSEzLgqSZtsL6KY81WM05i+SbE0vc6rLAOyhxytHGpRT4gWKTM1jF+NS8OAnek89ZecYy0eCbXcCeD/39bjPGMML+NhXRPLFB787aoWVGNVUlHkO8LqllkOKwgSrw4I30vAUOgnKS+aMW+vxgyG0f0KenVChH6ololEkoqYVcI+CYx4tBz00Du5/gixdHuFExs8Zs4W6kO9doY4qNRQ7leErfQed3IQ== 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=NRieCVJGLiJr8Cxv3p04LvXsdygC2aLULrDvNR7t6dY=; b=oJ6uDbaspD2alI88uNMNjdBH3bmHwthzZFaocPzXCS+pQBCEqSq36Vw1JASSAKz5tdUrVPJncKPckyRVTgQvRlDkzpVvJU+Xom8BIK5s2TPeBpzbEs5eLlZCpocAgrEHBRefK/u4OIEWgwhHOsP2awd4LBH8AV8IxVykUKgDlJk= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:34 +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.5857.022; Tue, 29 Nov 2022 16:44:34 +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 27/43] mm: Pass through vma iterator to __vma_adjust() Thread-Topic: [PATCH 27/43] mm: Pass through vma iterator to __vma_adjust() Thread-Index: AQHZBBHb715FSo7juE2ZW4C4HlLCLQ== Date: Tue, 29 Nov 2022 16:44:32 +0000 Message-ID: <20221129164352.3374638-28-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: 82ea0d23-f84d-4a59-4a70-08dad228ff2f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9lVVEqhLGquMlw0LAmnIBpMODRwDT58HD7kQAXYS8Jb3z5jB6k+CslxHxansbYfkRzdl7UFFsMcWVI0UkM3hzOD0Aq2nfvyyBVFc0pAOOXtHRPpus2RYoe5ACurEM7VwoRyxo7CWwppBwXHAf01yPkharZTHzQvOd5Lx/pfVawNRMpDTtooyEU25QyDB3S6Byj3/1Wnf/Bb+I3DmF93OZ1ywVFEYVvNCoOcm1pzn/1KFpcOl1xUf3z6Se8Ts0kYoICp3S+I/pxXwkpytPhM/U1+f1G1WHbyvqcXFLyIB9HpMB8khox/214yqA2Zb0RK8QfGao8bT24NeHtH/Y4Zb2hFQTfo++k3RbTtOADfwOW4i/YSLOOJ1yCWglPCdmzb88PWnXV4LKt4FgP8a09vOZXslgTjlG7Lr1dtt5NGAuI3HjDkHoq1C4LCWyO3nPX0UZYEqXfSHT3qIc46E/ByCKSgcKdIH2apRwr/ZAFIIGApLKvNLMCfOvM9EfOkfP9hfBKpCHq0gcbnkRe7i3TD7/rp0Temd4asS1BXIvh+mZNjlztNy4f5Plc9D18xlC33R8SDcVtQxjvtYYNbXO2eYvZ+AUOvGADa9RyOyA9eIMSVindx18QoATNxFacN91fm9xZWDM4YFftbCWTz3/TyEoLX4i0guzJORMdev+1fqrBOUBUMzifJhFK3NBuiH8gtR3HXfkRquAMGb1Xjeh2BsoA== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?HFTEWYBqRDOHD7s4tRDkVtn?= =?iso-8859-1?q?rZ9xvwfevNaS73PA66Q2WG+TwUNeXImIvqZHhYE7U1cHT62A1ZUNL6Epv8W4?= =?iso-8859-1?q?QPla12zJCcw5hXGDfhFsHSX5zIZC6VeGPC7vnTnkztNN68sXamOn5/24epcs?= =?iso-8859-1?q?TuXuwCXKUohrvlCcOaVpIjv1hZpNCYSTlDJCYYFTyCd2ZMRToD1vF8zs3oOH?= =?iso-8859-1?q?rfCcS9Od+V3ev7FR99FNJhsLDYAY6no0x0IF2skaUgLGm02DizNPDnrD34JK?= =?iso-8859-1?q?mgNKdf9mLQbKxboNmWp4JySACbwRKTvMaczyoZZdowKPFCm9sqWKmyy41jt5?= =?iso-8859-1?q?uobMngGCOULG6CVv7ulw2aAv9yvcr5Nrm3b1JL0w1mflywjORkXoELps1FvR?= =?iso-8859-1?q?erk93l5mam4EbbUhpVXYeBVtMGdSs+aL4knC836d14eMKbsdaC3rMH/WFEJO?= =?iso-8859-1?q?x18UsvCD4xWJ1ENrYBOaboSfT3PCHVJ1QWMJeKkZIOibJBSpAmWGJgJqJnY4?= =?iso-8859-1?q?U/gMAlYRtIlRAHi/9mNOwiJ9K9toedZGwmfm8PHO7+G+JfRkVkmhvz0gHNnu?= =?iso-8859-1?q?X/mDYYY29zRNLl+8QZpo+fbkBNfiYZTLpNthOeiTGUQPrLB7hS8n191RK7Q9?= =?iso-8859-1?q?c+U5AhpjeUezaG/g2Ij64lPjKtn2cvFM1Y+L6hhY0GzrkRva9D5d3YjnwPWs?= =?iso-8859-1?q?6FsWxtF7yl8ENAeFzuQ4VRPL0z15Q558SQ5XPa7sm9xHq9qwO19r3rgHLTSt?= =?iso-8859-1?q?t1TL7F9vn+vRZXSY0Z1L3D3BK4ZnYfkZ6K/M8tbbH7FvXgn0qGKqiW77L8R1?= =?iso-8859-1?q?1cJ3MZdZg2Y76Ui64JMEbXJ9koF+sgMZyRvTWMZn4029DsAEjRhD7MUWEhwP?= =?iso-8859-1?q?MKQboBJF8iwE6BUtgqNJQ9yc6p27aKQl9nvNWTNCEY0xHuOwOC9yChrIYx7B?= =?iso-8859-1?q?+IjZ1vBERD61oXoYkUcWxVinUOCFALq0LuZC3ine4f77rbiEwfilzSj+Y2X3?= =?iso-8859-1?q?PKSacvIRby0Ax9yUMkjZZb+rwUb/BoFfVb9AUMexd3MNrWxhWk2sV2scYP94?= =?iso-8859-1?q?btmG8PxIrpLqIxrH/Sln3JJHQYOW5y/PMdZoicQ5MQsmz9ry3s7O88E+bmo3?= =?iso-8859-1?q?JJ/eSd446HW/I9Yzz9IGgno9x1rg2KGLuk3yQXkaHr9mpBGqKoYkI52TTyQh?= =?iso-8859-1?q?/jkJhj+Y6Tvc57AUGRyUHUj9QarOFBhO4xBAPGIQGSmvsWzsHH6pAf9Ri4hn?= =?iso-8859-1?q?dVJxNbwEvgmThOamHhlFmjQbf0Dk1p7OuB94a8WVgM4Lk7NRcfpuDFbRwinW?= =?iso-8859-1?q?hs4lkAWrykYpYh4pOZCRHsLVjP+XcjiXp1CqomfcjBjq29jZPuzYtwOgXF/N?= =?iso-8859-1?q?KVcuz/aEUdROwz2r9RfERl/LplvvICbE0k+ucPSAaiqZ7R9JzaIFdc+0svue?= =?iso-8859-1?q?HV2L0w+zSK25GrJZwC4r5rJtmZ9J0y2eJdPsURRNgc9BgMmu3NdSvMo5IFe3?= =?iso-8859-1?q?s2hvT/WzFekXiFaZWPhkfVFffOEtvUvL/aW4mXiJpnpELltsjEYTt1xMJgcU?= =?iso-8859-1?q?sNrdi0/aFPGtmb0PM7P5u5QGVM1JdqmEXnj1hy72n+bMleNyGvp5MgR2QePj?= =?iso-8859-1?q?RDmW50BzrEvdzSNXlra3+XUJVefMItC3UQ0M4CA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5ABPVsaa1vAYaIbhf+n2EQdVx4N8Xzvmstx5pp34RCJgj226boVRmHumo0aESZKHs74Wpmin8UCUDKBk1fFr67yCeHWhJOpjHFCVL4SSA1Xw8/Yc+NHSNBQd3mwyi0pEsAPWOGZl7JYxI4mnHP/whtiwGnrdD8S5QBhEMiM5tvFyyXtyf0xYlB9pIvABBoQjTteBu3nFnTe0s9IPuAgANw95GUzjmcqm4RJiOUklUyfDqSK9sYmVIiuRuO+asuC7XUApAjaaYCMhiz+g4pe/6BP7gXC26BuH06+8AdRMGCH0EUG2Eul4Xva5a9rJ92dggUbNxZhasgKJh6LCY8YRp/Ar8CQn9KehTK+pdhj7kdzZ+QqR53U0qrJzb/SJEZxekk+koXGe2ZkBHchNSxxqYIpuogUdVv7mZ4CQ+zBcD4VVwTJoKGcGlReH86gj3twFbSHNzhps5b9NsMZIguE2mAJ3V8bhtNkihoAuklzRStABeC/A+DThjxWvnrTceHJ5cPwiiKYRbiGKF3aKYUyHWA1dCcujI/3TIntvLPMP3sPe0Av7V5l8xv6DTQyrgx6QPuEKTIWUL56oZfW5V5NAajHxZJD0FtvdDZE99GRKJ+7NNSoXlGMUpTj3JUh+OKKM6zIyg0X7iByF86zIUpGMkJdn0YTHo5xf1m7LhSy7YdGrJQrcGo+ZOwJXAMCSb+kcuYb2/LVQwY5Y+QvA0pLss5yNzK7M33MN22FlfE7jb2nTvbztslze4BEbuwAG2Qk6PHes36qgO9XhTC844T5hrlc+e5HNsX7ppLZAYTgKNQn7HUbDALYg4FDjwzT6j3XFnFX7lv/dOtc1IbovwcuV47kmizoY3duurw1C7wlu5Q0+D0BQNRl7tGVQDxpibsZFRFHzq6s7WuxMW1zMrGeUrQ== 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: 82ea0d23-f84d-4a59-4a70-08dad228ff2f X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:32.5037 (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: D3/25NIuw5chmnPL4reisQoKWik4+4vtqZuuwX7OffHDuZ4OnruX2TR6DgNQ/t7SMywjSH1eaX1T+vZEXABqdQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: izlFNsYdgq_YVIkU8LFI0omdEAfJT23Y X-Proofpoint-ORIG-GUID: izlFNsYdgq_YVIkU8LFI0omdEAfJT23Y X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849819084909769?= X-GMAIL-MSGID: =?utf-8?q?1750849819084909769?= 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 3649acb9b0fb..ed6495c66703 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2692,13 +2692,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 71e8e9cfd704..8db711622d50 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -636,9 +636,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 */ @@ -651,7 +651,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) { @@ -736,7 +735,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); @@ -782,7 +781,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; @@ -792,8 +791,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); } @@ -804,13 +803,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) { @@ -830,7 +829,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++; } @@ -876,7 +875,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; @@ -1070,20 +1069,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 Tue Nov 29 16:44:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27358 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450283wrr; Tue, 29 Nov 2022 08:48:11 -0800 (PST) X-Google-Smtp-Source: AA0mqf60hdU8jbeopPoj3EgoFXd8xmzC3HI3pTzepHw+MrefKC+rLFkoDXORRMnh5lECVMB0Dwyj X-Received: by 2002:a17:90b:3c0d:b0:20d:478a:9d75 with SMTP id pb13-20020a17090b3c0d00b0020d478a9d75mr66692670pjb.149.1669740490752; Tue, 29 Nov 2022 08:48:10 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740490; cv=pass; d=google.com; s=arc-20160816; b=u8bnAtV1JvkSke3haO1Ze/LbnpfyhhX4iyL16ITHerb08CbJi986oxsHJblqIwkUVP IXaBNyj7lwHGA5TvLtjAFFqwTdmjRQKs5iVG0i/e5WbrtgZeR+5ef9h1RBKOKDOYyj3z abq8Tedv5nyGvkmTHYMv/aj0gVd1Ih4e95GM9fdsd+cx355r2Imzd6UEC85z0BrpjkYS Q430C/RkloWRyox3nPqoiJeIn8t5FIYOGbwvn5f4iQ7MYo/1eVtk8j4K16OF70a47X0P YObtLds5PnRoesb7CCMUYaJh/HXkKUsVc5iR9v7FD81oCI1OHRDF0WX8m51YJUOj31BS ZkMw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=CU1PjIzJaxLqRHPRO7lWY5yWv2ZbpypHxHV5zOV9gkg=; b=kgbcLE69Kxe+pmt/RDuSsOO/Io0okbJS4Jn2IBuzIA2Yf8u75x6vtQMt3ODX7wLsJn B2QW5bXw82Kz2cttkS/LPXiOpjUne4EqJ2sp/w3gEpNb3eVT0b8ln3Dv2IyDAG02y8TN 7/IppWENMxKo6NILoGJDMnusFbiYo8VPjvhKje1H8RYt3nEiI3hmY1LyCa+O62u8C76L ptmPXfTl8aM47W0f00b2fa5xxCa64ImYBHQxBF011ShMYwsGUocctYJpb9x5bpgi2WCR aM/a4TJ0tzRWCqNC9wxWAQqtbM1JaewlsolZs2A1KDbhhMfCcAD1osqFzCU06eYNXak6 bi9A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=ocAEzzVF; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=iC2pqSXk; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j38-20020a632326000000b004704b5453cbsi14963017pgj.557.2022.11.29.08.47.56; Tue, 29 Nov 2022 08:48:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=ocAEzzVF; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=iC2pqSXk; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236232AbiK2QqV (ORCPT + 99 others); Tue, 29 Nov 2022 11:46:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41470 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236139AbiK2QpW (ORCPT ); Tue, 29 Nov 2022 11:45:22 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8FFAF627C3 for ; Tue, 29 Nov 2022 08:44:45 -0800 (PST) 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 2ATGPo8q012293; Tue, 29 Nov 2022 16:44: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=CU1PjIzJaxLqRHPRO7lWY5yWv2ZbpypHxHV5zOV9gkg=; b=ocAEzzVFfyX78R9BJHHUzupR3tbSB7wp6M1kzY9CC/NNfdhEtUHpAlDNJ0zaTL8DoXq0 cycoAQewSo507gw8oTEYGMoWK90hzjiRYstBAKk94SUX7A90J97+7xjqZt5xaGX/TEym 8wmg3Io6btc5DsqRUHnJiengNDaP+VbAjkN5XhGcg80qJfeOt/qucDoPl7Jk5+phk4ox ftpRVeUarKKuvqA9DW65GaDJ3fYRwmuqgSaPNfJIr6+wpJ4q39IJEDmr7Nf6GcCYhDbZ 6phvrFxGRNJgu2UP9iU4/LhC2KESLJrUqyaSiEUrqqFJcBooXxG7kMYdDW39U6M5sS9I 6A== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn9x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:40 +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 2ATGbKZR019412; Tue, 29 Nov 2022 16:44:37 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2177.outbound.protection.outlook.com [104.47.56.177]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m398dr60s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F4yxCw67AqdpeyvwhRcsB7F+nhj3WyFQuNmQtQhvDz8xCA21yO2DzG2VyEc8eB3N9ZvTocnyJVoWa1vocPWasKZP6k0iCDwUq57eizdHfJRPCPoQRblUq8hFoSLCfSaE/b2bx197/jmxR2bFh+7TnsFyAi7FD/9cksQuG+oHPrnC/1QV0hsXWQruYZKgaOKMuhgg8tgcg5sD3ta23O8yUa3BljQMwVEtYiM5OZ/7DNtniKEwuhqD2YifiF4Z7hwWoE3pDFuzdDNTXsJYRVVZ4elPE6BsYL2fCv53K76ABcWkPnIhXqjAg5EfKS3Cvhm+h/9Kwgr4RfK78Crmk6dpnA== 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=CU1PjIzJaxLqRHPRO7lWY5yWv2ZbpypHxHV5zOV9gkg=; b=X30NivgkPcmvVqZ+uIjsF2LbZULHUbzzZ3wu7MZ4fumZNJ48YeKO5ld9DftpufsN+abdt6Da6o0uCR2i3hjA42yraBjHP2uNhUMncnVPUnqYxUMjBmBTq3Zjb11cLQM/zl3eASxj58xfW48SHuEd/yXRiQumB8Hx7JOjGOWrb7NiuMY/TeK02eYrDd1VdiMU9C+fmm3OoLxPPxSD2MvY/yq7BGz2+J8xt1qmJ0HpA+HQRU1nVvPjATENXMLzMJHoUNw2waZr4VrqfSMHkHC3UZROmqJoyrvr5AFRg/Zi32FnNI1cVzaynwIz7qMqM970b8rHrJSVDckbWwt2Z93EIg== 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=CU1PjIzJaxLqRHPRO7lWY5yWv2ZbpypHxHV5zOV9gkg=; b=iC2pqSXk9bS7EZC09hYXgBYl9ovCVcdAteuV0PPxikhLhSKzGnRiTHw5dmpnRCC+UxPpM1OIM1sriuRDQVfv1OpJmuqSRlhBrSeDZpUHdTv0NkMZgxVCOihzRx5Oi1gb/lNZ4XF6LTlKNPC6bvXwyWyliac1ybRXiYZQk4T8Da8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:35 +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.5857.022; Tue, 29 Nov 2022 16:44:35 +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 28/43] madvise: Use split_vma() instead of __split_vma() Thread-Topic: [PATCH 28/43] madvise: Use split_vma() instead of __split_vma() Thread-Index: AQHZBBHbxBCbVR3dvEWVodnZgq9HJg== Date: Tue, 29 Nov 2022 16:44:33 +0000 Message-ID: <20221129164352.3374638-29-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: f94cdee4-ed2e-4712-6d67-08dad228ff74 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gy9nn4bSqbd+EDPH4ajV2OVWlXczBcmE514wU9ME3zSc92S3wq2PAyGsXlRnUuQIkhuZaD6t32iQ68JKbytoVELN4aGwUWx2fn6V0WKd1ONPR/XmOOwj18ceC4dbd1r5nORdgzna75XcoRk0zR3PrjgqsgZF+asngw8q79v6Q+T2VfRy1HTYsuX/I5D60NMiVO1GGA1MSYAcdQjRNqWuEpR6pwqemG5Z0ETpuIAIxQUnPVn4fVB5nscdanWfVGMPrDdSBLudCcWyQMWSa6/jvk31env41rNp5f2lGaVLyqXB9ou7taYNfjzS6aGl9Ecy+MuY+eb9tiRq1JCat4/4iqSxsSZIbdPRXxfY9CgIMnqCcSsFYQJCDucpEDDfoqxPflFdx5Gz4hXZYMJud231xxCDp7/OFSoHqaNHZdxexZiScWBtOZE8urMIAGA4UhubjUrInLenzZQ/sLL6ryHXgeAiiX4bQs2CYkqLHsDjTswEDUiR5XintyB41ot/Bhd4LtxhdHZdUI+cqBgDbjefjgVI7iVJQyG59scoD1Lsw/KSX9CiINps22nr5L6UouJF80LqcQ9/H8Khmp1Z376+UM0xM2ZRqHwEw7iP/Q6B17hjHUJlvvSfY3B4gq2qVbIdyBOD6ovDhJn/oKn0/pRNUM1baiI/aTXekNYgdtPqqZ7ExVWyEmpIeq3K+dmVXCDjgzRT48opSM2ZjeMpC4JUfQ== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(4744005)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?0DWkz9Uy49pxelDlW6OFAbp?= =?iso-8859-1?q?9mTjOmjHYpKOXYeCj1w+B4cz1LLf0s8bqQduOOfC0zsqXcLRce4URdX5LuVc?= =?iso-8859-1?q?/8Q68fDYOBFZ9IMHmncaF5Quw2mY/Sv9F5BgZ9XJFVGhKNB9SBi7qHa2ZcXv?= =?iso-8859-1?q?dH/WOg6f/pgrK3G1yuA0PXuknVZJZDh0Qp+NP6musr1Fp+KZu1ae+cdia6Cv?= =?iso-8859-1?q?g5SFEF/fVyGNqktMqUP3rEBu28odq+nvn2xRQTah5Id2+UAOkNTux2v/Vstm?= =?iso-8859-1?q?+rC7KRPDFKZtVUgPlwYiQMI/xf6LvMGOjjkeb4G1kjnQOwJkZfDleBTMjBEQ?= =?iso-8859-1?q?bNGk6eKRbYAsMAJ9VmMaNRDy/wgwLML8euggKZvNtJDy6gRY/GcksNBpu3ep?= =?iso-8859-1?q?sy0BSduMdv6tls67FRgkJRBq7w/9zTPo9gp/xOBHd7sVC2ee4H7CK6g+8zCc?= =?iso-8859-1?q?P7ZCMpTycFCV62ARN15cvqzvEzpNe2nynT+ZdpeV5KpRl+7L7HYGg+sio/do?= =?iso-8859-1?q?zx3QIsVuwRrV+XlC58RjW/w9G2xR/rjAhkK/Jof4XEqrtJszSxAch1bIhF1w?= =?iso-8859-1?q?LsElFcEDzvULGjfVfVUVteGDXGiyBD2KaR9CgAYGgxbFN0G4S+nAA20gv97w?= =?iso-8859-1?q?xINduIrOzDcpiC8YoD8aFlE6bxec0yQizN0TABe72bVLj29EMLLgK8ruUpxo?= =?iso-8859-1?q?+L4dZ004NbtVfXbc09h2Puo3KxulcS1sS0tJ+JnzLCZbj1Tievfv/GkcShMQ?= =?iso-8859-1?q?1QxUcbe6tpWiNaLeY39/S41qjmBucgFwA1ToAdOwx4okjHSq0Q5rZ15qp4NS?= =?iso-8859-1?q?CPYUqziqrDdQSsHFyQLqYd5w1mTMx9N5EPd3zl0x3ELlKDXYw/1SVIbOFZ8f?= =?iso-8859-1?q?goPaVmoov7BD+7DopzL+Cum08HgFY25ICcQcrqdFB1/HxkMOwCiBUiug+2Kc?= =?iso-8859-1?q?9pkbe3senKohUj5TrSbC09GdRcyL/LPrdHjsP211oK5isGx4Cwrcf15UGx8w?= =?iso-8859-1?q?73wxVRltAx+N/MgdXLE8sait/5/1EUfIFeNhSiloIuOCNY/osKqi0lsA4pui?= =?iso-8859-1?q?6wtz2T/desMU+R9WsCw213sU69JTUBpbDBT9GKZrjgpiVxbVRug/bqnLqg3E?= =?iso-8859-1?q?9Ae5A6uZQeVCIIgjI+lM4kAhyPpWBzCFlaRpbpD2XNg5LvJJTKUpjNHsksOA?= =?iso-8859-1?q?A6ISnGpQF9yoOifIUscERrzNs5E8vqvMNDuIBAndhHyWD5cGZNC8VjhofjJ7?= =?iso-8859-1?q?9e54cPTcJomInuz4cheGw9S57ppyYyPk0qCFTosxkxQPncHrpNawMmxd5Czi?= =?iso-8859-1?q?hcMY1pHyiBTccA0d5+xn0lp0pL8VUioxJSXi50Z6s4eMBTYmkHTHhJM6VP7E?= =?iso-8859-1?q?XdP//Jzjo8T9nYumaMgWrgtP0ma6CA518ZQHo7Q0hOMrsOqahzpSosOEvXL/?= =?iso-8859-1?q?kmQV7AyB8x6OeKcxO+MbAFcjiEFBfi040JjXjOIBToUKaUPJ/gi/qdAfxfD8?= =?iso-8859-1?q?UXPqNT3PJ7CVLhK4ssxrdVXp44Wh9mso8Xi97r12cnbvRhETwzuUAteHeBBg?= =?iso-8859-1?q?1d8O6dnUVj9/T1Kyem/KPeCS13LnaRinBL1ZaY6Rv4X8AJnUflnAS0cYRHCX?= =?iso-8859-1?q?Z1Q7KcufUQvXplBu7LQ5PltfpLbjVoWZEEFP+oA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3PPk8UND+TJ+OjrjjPLmGU2gLMohOD838CPE2tzuZyDcez46YPF9P6QHWz1T903Sy3C2hw7JjTVY/cy93KyCM6RT1iD9DwGBzAumJ5n/c5+REYoT3j2eBmDYbLk4qcIuVavEv8Ex2GZHn3YvWMPXTmPO/QZMmy2eIgqLgpFuG/i4zBog5NE0ZVtTNpvWVvizDkdOXZZLwqaobutANAZv7rz1RmnVOnPNaXVa5t+UcvwGOrVva72WLa+JIL3fyVD2Fh+XJ0RdBp2l7/n01dkSWokLdX/UW255VCBSCU4uyHHNFavfQVL0ctOhF2QlEONvOBjUHll3YO/pSLgXM+3Jv4Z52fPMCsNatfeqXzL+o6VSB8v4Ii9kF4hEPQeiRX9aVtSwU9yrpnfdiSAwiJiUw1GKEoHhKW7c3nm5W5qvVc8OmixJcWZK1p5JTBWN2/oZMZcZL/ZOOWPlW2ru4EqVb4Sp4GaKL3L37tAchnjd+IurSeG4GL2gZrxrtZ81lxNxZjDVEIyvLADFmClZWuFxv1T+kJS3u4vcZrfBNzkNlUEkgLH0/8nVa4oKwMpZmfj1C6b/V5P/kJnSAlrdbFrF/MFWXNNfakoc3yeIe3RTzzCA6WEqbDEqCpVaGupW1M4vabqiknp1PCrBbanEoNaPIrW7ByolScFYyGV6+OLdgmwlgo0XACT7t12PzEpxQlGvfncZWZBJE4CtkvoLdzwT/KKb3TRObvVhp/KmpDlrwxZZ2M7dS29cxmEsEM0VeSP2xGDt+RJ4W/5tYFUm2XFRDyBGsubauYRir2rWVAnm+uTZPeqLNZtZrYvAakWxqE+8TD2jdsGI6BBAwLUTdlj6OsUC42h9uy8lZrIgv69UNkkBerAhNrWIwapeUMcfNTtPCuFuOm+RkqtH+1yZIn4gMw== 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: f94cdee4-ed2e-4712-6d67-08dad228ff74 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:33.0036 (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: tu69SA4wqRD7e7CjsGK2l0VjNTKCqNE/hyMKPD0BousOCPJMJQ/74tsQ76vjldlWLgnymOdoLi2LhvA0gBlQOw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: SjHmrr-ovh08z_vnxoPw3wWPythRmVYb X-Proofpoint-GUID: SjHmrr-ovh08z_vnxoPw3wWPythRmVYb X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849804783837783?= X-GMAIL-MSGID: =?utf-8?q?1750849804783837783?= 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 bf23d64515e1..f29bfff3af1a 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -164,17 +164,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 Tue Nov 29 16:44:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27364 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450402wrr; Tue, 29 Nov 2022 08:48:21 -0800 (PST) X-Google-Smtp-Source: AA0mqf7im0j8FcDFDDuhU4FkfjbYbpO9ep+jrfqfydxiudOzxLyWw5Mbbjbrc+WtjmAuPbBzNMr/ X-Received: by 2002:a17:90a:8d13:b0:213:c15:6f08 with SMTP id c19-20020a17090a8d1300b002130c156f08mr59538961pjo.134.1669740501163; Tue, 29 Nov 2022 08:48:21 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740501; cv=pass; d=google.com; s=arc-20160816; b=gmv07sOcNL4hbCY4lBObaxPQFO0NAD7YrDzP62xGnMcC6ioQa+PiM19/sudA2lpkYm SKlaw0cFBroPm8QUTsN/LVTTsV5EkJnNc6rJGfcqure4X/HDxd33zYX4K676JsKa8Y2H aBT1TPnZRTWfhc3G5zjkDvPKl/4zVKmZ2aqRa+6L1YnQ/ZtiEFyYyjl6iXgaZ9Vs/+EY lEQ1zZtTYb9LILyt3OkV1RMWafwUF36Ogwvg/s0FeT5EqO4GLxO0seIeynMPqypQ5dYG 0Z/WPQUuaH3tWV51jix9LKiSOJLI7w2yfk1lmLqbIdNuw6cC3YMM2HrcGKhfInKPNfbs tgvw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=bhltz9kTcsgGhTlVX5M8hR0m0heTmi+4drVsBC/8924=; b=PXbRYNLn0GCZMgDxhsaqqDN+thRb38Ik6jrepxz8LKhVzzU6ANe7k3+aAH8HCswApl k+Y07HFbSf79PSYCBGRspPBhjFXHswDO8eG2H4XJqw4nRcdOoLPRxrdgUmNwMxQP6ezS nro9H+Fdz3erFO4QUaGCPaJhh6u7w/LdUWeAmDeRqr//5bu8YitIW4EOW/aeWl8nLfJe D6U7Yf7tTDULyL3EzC07fy3PQVsHzVTnJPfn1YlCI0XZYKH+fjnYOUuRQb0DBwoK6Vo1 o0dQVHqIN0CaZgOBluB4Nw/zExoewzL93AoI9oWAN1De1TTIPEcdzT3nliikHLNXUhDW 5ScQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=L0rVtcw7; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=GgDU8bKZ; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r7-20020a17090aa08700b0021903cece58si1928323pjp.48.2022.11.29.08.48.08; Tue, 29 Nov 2022 08:48:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=L0rVtcw7; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=GgDU8bKZ; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236171AbiK2Qqk (ORCPT + 99 others); Tue, 29 Nov 2022 11:46:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236151AbiK2QpX (ORCPT ); Tue, 29 Nov 2022 11:45:23 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2492A64561 for ; Tue, 29 Nov 2022 08:44:47 -0800 (PST) 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 2ATGPqQV012398; Tue, 29 Nov 2022 16:44: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=bhltz9kTcsgGhTlVX5M8hR0m0heTmi+4drVsBC/8924=; b=L0rVtcw7FQ9pG6Dj6sEUGT/HBuOo6grxYB4U/2owUdMNCzxlWdE8a0/tdGC88gkT/PO+ kWt732wh9AvrmV2pSQYPg3o40qJB62DMhIQkYf76tyoIYXQKnzN211M88BvI5QA/FL8o Hh8G7dp4u79XHigeYhifCeUtuOt3G7Onced2LG/AfaQNpxgQfxyT1vYr05t9p1VWyHWV Fd34UAIRU+0kwuUCM9WNN9UqR3XVKidXMZUunMw5y34IaGrbFAxxDMBkfepC6lvVY2ga 1xtYt+EQsezcTQTIBqVTiAUE5q/q31g6YVd8AQkIxol+04Hz61iTsYjMNFiuPtWfMSiF Mg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdna4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:41 +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 2ATGbKZT019412; Tue, 29 Nov 2022 16:44:38 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2177.outbound.protection.outlook.com [104.47.56.177]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m398dr60s-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P7roZT3tNN15whU0b/CwSGVSBvHaj7+omC5kjh1uPWQLoIUIUYJGIwkPm/YRgK3/NIanJ71qXVH6GqkkP43bdO5quvxVFDZDRReuCVt4WxIAfJJd1nQTq5j8iC+TKL+tcRhoATvBEVQvu2mcYzunKSQBRjHar8jHyqt7KPs+P0nxFi+zLZSAgO2cwzafgPEsTwY9kv8E5z4iq6HdDDXctLXBh5pCGl0YHuWONYoirfMngZ0PrxTQOjabPbn8aWFEtSaut+gxJy4PXKwOwXYlNC2idf1lnL/+nvoX1ahY8L8x3UxoP2T+I24UtgucU37XkBimytYRdLUtMlUOPiV+zw== 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=bhltz9kTcsgGhTlVX5M8hR0m0heTmi+4drVsBC/8924=; b=jOS6MrCHofguXkXQXBKSk/v0trdj7LxZjeDQnAqIMeXiKV2c1Yvyud1K9+gfSuQyIusE3hRnc/iXXPaYEeVtDgosD/0M7qNHslzHv6gJLppf91IaCu1M/IpN7NUQUm4Li27nFmv6W+s2HeDIsdFibhfkm0013YvUqv1Q9PfuvHpzH55zMoILVqwtk9ANwaogeMOEXCv2fB7UZwzsob+N0cYCiwDSR1sfmljhqsFQ7R3zcyRk5yamAmZw/zTK6jFPBOeSvmLt3zFFml+i9wxnAJfNtT7s6MpR97k7kgTzfckqDAI0UxhPPO40wTOYrs/jRXmNTlHp7Bh94TAf28GoMA== 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=bhltz9kTcsgGhTlVX5M8hR0m0heTmi+4drVsBC/8924=; b=GgDU8bKZRc8AFFW/m+y2waOQLqsRj2vxV4OVHqo2TZprpWZLnbLWVVoukvIDr60war7T2YpN9PmkslXC0uFRiAiazF7I0tWwWJX8tn6Tan5LMZs7b53W1ZIxB7Dw1YOswcqBSDjYpeN/Xo2whdwSiaEBSBYDdvubFRUzknmg5gY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5788.namprd10.prod.outlook.com (2603:10b6:a03:3df::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Tue, 29 Nov 2022 16:44:35 +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.5857.022; Tue, 29 Nov 2022 16:44:35 +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 29/43] mm: Remove unnecessary write to vma iterator in __vma_adjust() Thread-Topic: [PATCH 29/43] mm: Remove unnecessary write to vma iterator in __vma_adjust() Thread-Index: AQHZBBHb+o3SiDFJbU+aPJDX4tvC5g== Date: Tue, 29 Nov 2022 16:44:33 +0000 Message-ID: <20221129164352.3374638-30-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|SJ0PR10MB5788:EE_ x-ms-office365-filtering-correlation-id: de2a8555-e114-424c-b762-08dad228ffc0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +XKaJdd1TtMo7ljwURqsQWs+WRY60Hg/X1dWFuZTVqrBV5KxrDvoRVLh6uz2Or+QO4nfyBfXNoAuGlnbyKKj6pb6e4+saU2OdOKVCqkonSUJRtqhlUqqhpx7kkMcTYoNOEbH7jFXRAtXbG4aAAna/ImgLcawl+xztyM5sEww/aZQZDsF1osWzSSIC2QncNfBvD566Kjqq/S0XcfzMCRXZJnnCie+bBsBCdqskc3cJbj3qq8cy7bxxTrGD2IclQcjaFOm3+Tuxpxns2ZinsS2bzrwqz2e5ISRZ28poGYl6nuKPd9RwzWtjPnObGgeYs9Vj348pqajZxg+zKmsr/4w5+ZcvtPEP1Z0jJAIvqPEYZKg8DHgqX1BKDC2uJx/D5mxssa3cMA36IyCPXAW3tmQ7bidXO2n9aJ5tOGhAZdOMq46i39bR2wekAnh/KJtf0TSi7icvCISt36V7OIMx8EOB6ktP1wqPvumk3aSghPB4kL7De3dCG5y810QMoFspNl855LNjwNaH/ikDVyIoHOJtVmDHE2jxcSwr7OGO3IPlggTr7r54hUp5rIzfCF285Xkqu01ijUjzQhV1YHno9qqEXyvv5e7ciPvhkQubS/QCkambR1o4BpoYbdrPw0oF5otPNaLyl5BEl6Ee5WVrR0SrmMMwIAiQ4I7Jd49d4RkIGd9Dh77nb4g92x+UdsvGpenGR5kIYo+2ZYPnoTrnYuNxg== 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)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(2906002)(4744005)(44832011)(41300700001)(76116006)(5660300002)(36756003)(54906003)(316002)(66446008)(110136005)(6486002)(91956017)(66946007)(71200400001)(4326008)(64756008)(8676002)(66556008)(8936002)(66476007)(6512007)(6506007)(26005)(2616005)(107886003)(186003)(1076003)(478600001)(38100700002)(83380400001)(38070700005)(122000001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?QH2gc1aTVICVcxneq7Ss4UX?= =?iso-8859-1?q?9JOLaen01AMdC0cx8YRcaoPjOaqdU0WjcSY8phe4IjXT6T0uwXNXkoUwCdxi?= =?iso-8859-1?q?DdkgX3G6qsCRzcMtQc6FPXe/Ojb6tSON4d2ftFbcMCOhxM+QjrqrxPR0IyX+?= =?iso-8859-1?q?CfOeYccNU4HeGKySGLc1AMt0m8/nQdAIUf2y+GwkourNgKRAky6yv8OigMgV?= =?iso-8859-1?q?n/UyVk4Vdpf/LhPYwiXw1IfajmwxAPdyltyzx7m/3z4Kmt7aQvzttwD8UVXC?= =?iso-8859-1?q?/86tfC62gGJtUASp6nYbNkFOAzS+ErSHQQj6Sub2+gjo0cCl3wH8IBI/EymZ?= =?iso-8859-1?q?1spLO77TDjRCUVLfSlz7d0OmXUzDSR9TU660o8AEoqutYaRW4ak4a5VNBaPL?= =?iso-8859-1?q?6ZKHYRh5+zcHd7g0nJhe5Chve0Ddvg0KA//153FnTAbGJNTSWtsHDN9LZmC/?= =?iso-8859-1?q?MFcFaBZwJ/+uqe4ZQBSa1WaLcprIImVdqwUQ9rqNDKOPkag9vxvxjjkuwS22?= =?iso-8859-1?q?L8+lkDkWU5vDHiI1aNTz/XSBXyjuDUHgYi9k+E1m8lYDsjDG3x+8W25AKrkZ?= =?iso-8859-1?q?AslYg9cDu3fHySd7CcZvIIi4ZMoVelj3xhYfDizMwksXrDpjD9+Z7YHelJzu?= =?iso-8859-1?q?5GcOlCchOdI0oquxp6cs77EZnAjePfFaktgHwaQevZGLXYaUZ07W5+6BU7QN?= =?iso-8859-1?q?mIhcqw+bwTMWYGfYZKJOOQl1pop85U51gn7Ar6+ICIgx0g7nCTI6e6kePD2Q?= =?iso-8859-1?q?q9fnhInbsoE6E9w4mV3YszFQx+nCW68x8ikueVUCIU/V7XDV/LKcDOq6dDrO?= =?iso-8859-1?q?jh7am1eUlQ/vUVA8byE6Ywv0OmltTN3H6Xo28yhg5MkrT+r6BJ6cXz/5jeUd?= =?iso-8859-1?q?jA0sImBdvdsxAYLQeNcBe+3JuTnr4+8iWYNDWlZlAnlsAHq4HaHCfeNVSrKY?= =?iso-8859-1?q?hMx7hHpr4Sv5HoPQtHQr6ao3Y1/A63Tak9USq4Fjy2RtoLtLatYvrxbvFKPT?= =?iso-8859-1?q?qWFIeoAjWVslApvbgpg78ot6PWvPVAHPLolj+O7cMXozNdFh5TUCxlPu6LeZ?= =?iso-8859-1?q?D8DmbDzOaqvEmU7n74qOQrxHbTE+BL2J/ezibfLda31ytgU5tkYKicJ/tG8n?= =?iso-8859-1?q?mZO2BlHpxWMWaP4paFA0+lX1ind7QJ0OrE0/pdGeWlvPiRu2nlGTiPG3+8+t?= =?iso-8859-1?q?jn+3CF09wd1zVU2Yz1jYyO9l9b7u6tFMdASmunaqdf1fo+VlyoVowFlmZ7mK?= =?iso-8859-1?q?lGhK4WHnqpNUKwB4Bt6v0e9oDPKWxTqVfIyN+INY9AkT/MPeMhFc2oebY1l5?= =?iso-8859-1?q?lB/c9JAW8PKCsE3jQWaOB700CCrq/r6dghNRFyR29tQhSfyDH+/cejugYIag?= =?iso-8859-1?q?BwgBJhMbqXjZnGLM/QDJ+iHXbd+g000Hd2yTlnEY/Py9BzwBHBrjCFp/I6bR?= =?iso-8859-1?q?pbnNFos+et379PqDaz6JJBjWWANMauM/5icmVT1ad+kSvwZA55K6ZhWxypga?= =?iso-8859-1?q?1y5w8315sMyH+qq1o984FA90yR9cCkkkFMS5UWJDJm3/XaBq4Bcp63hELj6X?= =?iso-8859-1?q?YwYhgB9LhmD6oznEPqhFl40cW5uxU7cmSiqTFN4bPjO932wojZGMMrWOXOCb?= =?iso-8859-1?q?47yuA9FC7kWOwHL2zFzxfL5jWl0a+Yn3MOuKtqA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: B4m/uV8kqBfddYKnPwXP1rmtiTbIKTe1og7vghOaYr8TwNKB9r5/v6DKcoUBs7f6mQCrm8sdBbvP1m7QZnyTGpeuTA8LOsg8UYFe9V+jtA+NS2ubXJFT21YcBEHniieIueIamOSHH3cPTwMvdQY3LSRuPHxPfEVNRgFc9nKFXM9MC2kjTg5yN/OOl+f5NWL0Hz+ThY9m6J1WhT/qntQLLUlmQQ7i/fxGvvy6pqpScW6+1KP1Vx8Om5DP9W4/GECpAYPHKT7Vz3d3urXeygYSEO+x9cM5ooFaBKJ+FUGTLYtejBTL7rxlM1fPIkDN6JmI8pIbwJKrUnB/07mm5vfe6MjH6UWloQOWNt5QoQcvH9GxetHwIyZm0jR9sYww/mkc3zR5gNdwVWqSQwMRAuy8kdWGzw1vPPxtc9VKpENPpv5a64hxlmikQYrHbheREr+fl19ov7ysMbgfABy2OnrVvHjoWSJrTqIspBOcoey/DvwTSyB2hAJH/gerupiRGlkA7WzW4JT+bPHpx3yVBp6xIaIWjb9dpZp11q9fEknYi1IpxhZNLUo3WzXnP6KxUwXUBLVbRmjj3/dCjKjbHBnBFZKn9l6/JMIzST2SxSHvRCLsO09itow0HvO8280x0lhs3q/tvQ38NTo2SJFpRt80ZfR5woC4VOpbVr1sYPqKB5lg8AmwZ98+ZXhKfBd3wlksPMFsuNgHmt3eESlyduPtALkoWHLNkw86hj79XnBwYjNk8QqlXsOqxXx4oI7RJ99qtEkbc6I4lIqaqIhwYUCg5eDO02S3Y6L3g7Po4hb499lKU3xKVe4/pGF9WVDrJSDsxOpFXGgJXcQOqnjf2gmllKplnLRLjHfHlORURXK4vNsauQ5FITkTzEJVDFg4ok+aAAivWMQCnBNdE49tp1yJOQ== 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: de2a8555-e114-424c-b762-08dad228ffc0 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:33.3317 (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: QexvhctHGo00n3XbgYxxkZa0biERfsALcPXsZb7l3hz7nX6FooLOdYUu20tEavw3meP0e1XgojcBTlLxov3OHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: ouldFDfmyGmNOa9hh_v3IOiltlz00MPO X-Proofpoint-GUID: ouldFDfmyGmNOa9hh_v3IOiltlz00MPO X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849815642397778?= X-GMAIL-MSGID: =?utf-8?q?1750849815642397778?= 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 8db711622d50..f37a6b5a40d6 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -779,10 +779,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 Tue Nov 29 16:44:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27369 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450584wrr; Tue, 29 Nov 2022 08:48:45 -0800 (PST) X-Google-Smtp-Source: AA0mqf6sTTuZRrTOyvMeKBviXUFt7mqiNVAW1H7j7YMoZsHPDPefOxw1e+kOWg8wZdINxM3hqujI X-Received: by 2002:a17:902:d893:b0:188:542a:68d8 with SMTP id b19-20020a170902d89300b00188542a68d8mr39836959plz.126.1669740524750; Tue, 29 Nov 2022 08:48:44 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740524; cv=pass; d=google.com; s=arc-20160816; b=XRZaTf4ABpiRi/QkR2EJHTgj/3D0PX2njVqN+HNqkHCng3CEXsbGdWeIvZlX03LaKp fPfErduPB9NQQWxD1mWbJ+jxA/VHfefhOt0Ll30bnCJ/UUcHRAikAkT0V+vQ894q3XFB +LWtaOV0RnH4BpEo9YpKHvomIZ8Y/RtKKqP1eCo8NclmHbPZITJ8QwASwICY1j/cYjyh qe2w1xR5RPI1h3U+tWp4H4BrZBh632kWkZtmkzTWFB8efToShpgC1TMwzglgrQoR4dly f4VoRJSuiQwJUSCnrZhpanUgg+pN5feouvRw8qbJWezaPC6nz7QpgFj1V6g4cuUH0nvN Prng== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=RHghaLX6pv2sfyk/b5fhnEpZNLjyUuZzYJY4y227BYk=; b=B+QvA7KcVjmTF1Jx+fS/gjBIeI6Vasy8BYErlSuU8GxCvL2NjP/qf9GiAmOu7cJiXK vtqMivBvcbuIxGzJYB27o5MjOlG5e9HXf6nRDLnKxRijap/3zEmLUBUXyAJUaJvisAV4 YwLoMnkDHZPDPVbfEMpkbtOETVBpHZgqmmscGWFGS3CbMAv/ayDBe66/icfaavq2XBX3 c69Cipv808YvQneJHG7TROKI/ZFIcOkKqRcbtAwLT9CGuhOl1ZSXwcJ2E4wGqKl87JVv s7foL5w3c8LhzJzVDrOtPRKOYXexvMJ9NifwNKUwlHeEimly8z2ebTw6lZF3jpnkyVYc mCJA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b="SVmuSpq/"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=L3AloWIG; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c14-20020a17090abf0e00b002088ad6d93fsi1921533pjs.49.2022.11.29.08.48.32; Tue, 29 Nov 2022 08:48:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b="SVmuSpq/"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=L3AloWIG; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236236AbiK2Qro (ORCPT + 99 others); Tue, 29 Nov 2022 11:47:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236314AbiK2QrH (ORCPT ); Tue, 29 Nov 2022 11:47:07 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C4766C727 for ; Tue, 29 Nov 2022 08:45:16 -0800 (PST) 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 2ATGNtDk022642; Tue, 29 Nov 2022 16:45: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=RHghaLX6pv2sfyk/b5fhnEpZNLjyUuZzYJY4y227BYk=; b=SVmuSpq/t54Bw1wtsarDlx/VAN1fmhhNANx4g9uUHHX0OHiLAz/VzKCOtuBvYFjISsMU skMmdXc3Tehbqv7XHg2HtNIZSMYhw4mxLK5f5B7i/fM+ctq2XtzX25mvUNAb2kyh+oJ7 IyJV4XxR4OOdmgcB8j4RLfwPiikK7cOpXelzqH9rAqdZFaZGK4iq0NtSLXSFpvUrR/4U yt4dfbRIl3mHbZSV5QSgQh47RB665J3+s+2VRkcgv+MbB1rSMYhcx4pAoWCP1yBj5jvL XGR/26hHEWpiabNOtdcUoQpPSIlua6CKdhZcyq3IOadv6SWdSltMoyQ/D62IQMz9snSx gw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m397ffc6c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:09 +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 2ATFkaTu026698; Tue, 29 Nov 2022 16:45:08 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m3c1vkkp0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BVTC+gE6iKqNDocXxG/R7AyHY3WIpxiY8s89gvB3kW5+nTQ308xMYhTLfpqHX/EgrTkXNQsKJZPgMb02j1XXHkWB5VaJhn6uaYIPIX1EIJtE7QYPOXxclfe2/GPqYmqJpCUgJKoBl96e5dKWfR6lAgMgwSpuMVkG+25Q8eumNrnumprDFl1G5GbRKajwJlX5Ba63v10rouML4T8JI0DjMaD1+jwIuCIMPtqwNDEaY5ayvnkRx9XpOS6/F1mNP/fNw1btgSS5Rhm6qoJNpczFtIQMJxeraegh8nPNRsC5Fv8jWdecax7kzcV6zmmlgLZGJ0KywX4+t/elc1SkXNvhOQ== 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=RHghaLX6pv2sfyk/b5fhnEpZNLjyUuZzYJY4y227BYk=; b=eCpHw5tHhGkQhbPpmUoyx0h1sK9mu7qunSyhuXISuaduSKOJ3hORbH+30FKIG2XR3pWDs1TA+q4tDqbqNL669nZGi828msgJ6eP1P29oBS0ye0owGGbF0zmLXEbqMii07/DyTninNMuFW1HwaGitrU1Ow5kaU3JYhAS9i0n4ULnBrPGdDO12R19v0dWkrADOPVoArKzxdM1SIXdWnWKNbRCjy+RxPAQ9umYYRmx4e902dot7GrG1O88tur1QQVMaNCMixVeV6ibdbUr8dckvdGvd8Q9SqrzMVnnfa9xYxfsc1GduDtkGELTx1/2s7c5XHzF+mWA91JuIyP2TMGuHow== 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=RHghaLX6pv2sfyk/b5fhnEpZNLjyUuZzYJY4y227BYk=; b=L3AloWIGdZUSyGnhylQu0ilm33cHaMxjOG+M6wib/mfmRWZhgEvGqkjYGGV9+vXiJkJ6Q9GxZyI5lDsKwEX974RwIokIq5A3ZhchgqVnKQ+28tL0btxb2vXHPZ6LyTXiuJrZ7bchLyKzEUiHtg8uDafXl1THMfc/s5fpVy+7+Nw= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4792.namprd10.prod.outlook.com (2603:10b6:510:3d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:45: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.5857.022; Tue, 29 Nov 2022 16:45: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 30/43] mm: Pass vma iterator through to __vma_adjust() Thread-Topic: [PATCH 30/43] mm: Pass vma iterator through to __vma_adjust() Thread-Index: AQHZBBHcOZh/mBGarEuk1bDv/0GJYA== Date: Tue, 29 Nov 2022 16:44:33 +0000 Message-ID: <20221129164352.3374638-31-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|PH0PR10MB4792:EE_ x-ms-office365-filtering-correlation-id: 5c35bcdb-709a-4d1a-f27e-08dad22911eb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FQQydSipldy5iJDm/vz4nlhgBIaLjkyvIlZli2YZBM6bSw8s18BimX00ok7OWHyKoMwvBaITFICB5KA3XlOPC2ynI2faMRYVcl+HQZojY3rMEnFc8cDLs8u8I9Cwmo/jwarSPZ6CMmICD8DPxP5GmMO0XeRkp8P8ek57JvXX3Xzz8WPt03+YsFSot/sQ0TStMqqklOVVCwuKlGlwt0eMG8Z8PZn3sa6FSC6xD6Q7WeyFfaQ/XweYc2pw4FYs2r7Lz7i0w6rGz7N2mbujym7HK8e2t7Z+3fka025BrbW2JLg16kSEBkppxgiexyRQe1y+zBUIRICayonCKWnzmCwBAioeaDK0ZLBOnNWYqEFiFmxZG0smuWXonVb0ky8T/Y3tWiCCaD7mflFtIg9Y6ObN3QYv0osFdSWKZxICsnR6Trv7Xf4D6o/VIGzWdh9E2OeEu4/+EUaTyctF9Pbh1V3Up2FBgdkTzvdjDv0QrwiTcDEg1BCqGFDMAUROMN14m6U6rNpO6NfFhElZj+3GdDIHNev3DSwjcNT9OaGbc9os/uTzW0jWV3/PTGprDVkp66JHm3Nzs0Mr4k9MDcOQPr79dx4YAzZOdsP9pJEqFGC/db0G/x2zgBuIiTV0LtYuNihchZQt5y+DEEMouHb4jaN+x9C1TyyDiEWwFqzGG7GtgkfsNeqm9nVJrN1HR7kbMr5xA65Gq8HZr4N2eFzKWsu31w== 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)(136003)(366004)(346002)(376002)(39860400002)(451199015)(38070700005)(2906002)(36756003)(86362001)(6666004)(6486002)(71200400001)(107886003)(478600001)(44832011)(41300700001)(316002)(76116006)(66556008)(66946007)(91956017)(5660300002)(66476007)(26005)(110136005)(66446008)(4326008)(54906003)(8936002)(8676002)(64756008)(6506007)(6512007)(186003)(122000001)(2616005)(38100700002)(1076003)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?D+kXn9MZFlybRfRrQ9QQtW3?= =?iso-8859-1?q?9yi/H/sl1rsfnDSvwbDCyotmb6FtQ8YzMRLFzy0MVbfD28jGMsazYEefGRa4?= =?iso-8859-1?q?zk1qFc9DzQEQt5i3gCtmr4Bkun80YFqVzEY4Jbibt1g3IAlJ0bIsZa8b8wm4?= =?iso-8859-1?q?CwcpojuvK6eNbUDDhGFAab/A8xQ1REbyFL7gss3plT2udVYI2x7DyiwoKH3a?= =?iso-8859-1?q?n2dlP97vnfrnLfLTEq6y2KgPxIAsPDiddqNsdM3rFw5nJ9Y2K4JJZCOs1My5?= =?iso-8859-1?q?bEiujusqpeNdqukt5auJSV+dD4hc+FGTgt6HRV2nCNECtBL4AYsxFnAXWbt3?= =?iso-8859-1?q?IarsBAVAMEbLmyPhOlbpf4QrrYWTkIjqM9V/w/Q3iQ86IPwQdkuYBA7dfqiy?= =?iso-8859-1?q?A1XISrDc5uOlAs6Z8R59nIO7OHg2h6EohrBobOl1HoZjgS2iHHq3SGEgpNDH?= =?iso-8859-1?q?AUGWGNg7cP957CCiiDg2THDCn8eBKEKv93PfFqNiHZTldc1dK3Vag/IUp6Mc?= =?iso-8859-1?q?p+7ZBcrmLclIDvvYyuot6DQPAEpkFh2bGpQQhE3nYBiA+kMXGPXtfRKwB4cU?= =?iso-8859-1?q?bLlyX+36SA0ZHxIZO/7iAfXsI2aW2SBvmIuYXPRrj67ejGQ3QAvDoQDMp6ZU?= =?iso-8859-1?q?URFVNn/kmtMy5yOi5NDMOTOznEsqD01qeBDf2intufBs602SJchsp+g490ds?= =?iso-8859-1?q?6Yg1WI5dtJX+eAsCGSGThhPvHicVR3UKyYBW0njWQUWfAGG0JWofx9uvXQTs?= =?iso-8859-1?q?KnUJcFks0WLKTSiKVqrMr6z46gAOgs5oJKTFul/IQ3EqVtvA9q64fiV4Xzw4?= =?iso-8859-1?q?LEofi0LLR2I5wAzFNVe0TbxSGboC3La+hOmDJiW3tPKJCRv61l1kBrjmbbm5?= =?iso-8859-1?q?A+2+6yE29cyUeqFTrT89AF4XTG7/Hhh9Gjkfi30LB9FGAg5Oucevxiz9y1YQ?= =?iso-8859-1?q?qiH/LqkktUEYko2FTUczkdlTf/BIo2VMEnhvro1mIz9WNXAhPRhro2Jui9pW?= =?iso-8859-1?q?RUL+Iv2qny5EcndIuu+Owi76a71nCAor2ilwpGV0K3oIHZ86kicwSjCXrCO5?= =?iso-8859-1?q?ijSw7vfV6zqgx6fDJqU9dVSu2KInT/o6zp3hSJl8rCZgGtC3vGSxtcIRsVKf?= =?iso-8859-1?q?ksPMYaVP1/wCZNt7wCz0vbwyG010jpxY41Kf/Po7eurDCH1n69B0LyzTagCA?= =?iso-8859-1?q?hEFAhXav1cTs3vUT+EnoFl11pvEe/mH++8VIf0fCDDG/BIDPUv3lMYM/nObU?= =?iso-8859-1?q?5LkV6Kg2y1kygJcDlX1U6b3imzrkMjshUb+zvM2TnAPK3m87bAMkBZZcc/Hn?= =?iso-8859-1?q?iM1qp95q67IW98q6zeq7z3Yd8jBa1RtbBYqsZ1NX/1UMSmxYt0qv+Y0BCTol?= =?iso-8859-1?q?O4k6Dax02l7/MSvpHqtzlpgD9K6+CC6/9m/EuKBG7StP0W0B5DiLkzdI47K5?= =?iso-8859-1?q?G2Dps8bdD5nuuUUbrKVmYJryvQBt5j+Z3SP0UyTJGTJ/f5QFTsQ6YlmMmK+6?= =?iso-8859-1?q?2tl+egyj2FwcnBaAZOs3u2TUsg/iDCSWH07B20W9HpRlp6ReMoZSiTjH++SF?= =?iso-8859-1?q?G9L9sGpPDJBovmG/XcaSMJok4t0q1M4R/Fsp48c5ov0/tVf2iWtwhsfKixZE?= =?iso-8859-1?q?J7lOY3BbOFGQIGUnmvhtVbAiDfKZ5oCr4hAEhLw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: sBwMmRy87ExDwzgKNm2M+h5PQ4q7s9hU0KLuVdSHA6ZGb+PR0+s++/k61Tfo5hikWiVt/8DCRKT1k0skPsuPUm2H0vt+YB0VmdWn53UfgfOCzKhqFbNncEe5ZVCQgAuifPpb98QScM8+egTH9lQOo46/b8SsaS6VWIFyJDenE1hBUUeV8sgQF++k9aXDGgas/sV7L/9IPlvCmv0BpJDE8kNBvDBHWnfhFSUVfyfFqjW+sFm7yzFr93YllwhKZqwlHwMOoLAI0U11DcU+2X5Dm64RZ+1hKSlFcY3msoKGPAuto2YvObNcaqq1AE7dRr6G9LvoYX8VLr1vK6L9xHyDqJcRckdCrqSt9eKGenS5kD+tKUEk3icEZdFjy36W2AxJcCr3rab4/616shOPKzw9/BAxBawpcEBbNJMBFGRmegCcq2H/fESDpFS2ay4bfuL5EttoqZhlMtTTq383FN9iOjn9Qtyqrjmf5GQ3ja9RRiLw7YC8mcuddrOpYv5376VXxQ1EZus6ZSxWnwiRbF2rDtoqjaOHO0oN9ctW6GSudrYsDS1TgQwBq5yVqXcft6KlfFNyelVn06HPKQwhFUYJnPqKQKAA57LpNXXfINKPYuALvkA+Zwkqz/5OmH8IP3zBtA5EeGMo0T5EpG1ikdtijGHFs5kW/jcmFXVgvnyO7pRqNVztWtzsMvcjmzrJh4QLhUXD9L/jRnYvgIuEJ9GSNcC4VBYLBRkC62LhlB1RI3hiinM6V8X8XGReFvxv9sJJWLZt9YHg82YUEAe7toBAQF/IZXi+N7zJZGnhWAx4PbsY+iUdX5TEW8k1wGZm/R4KILSrgRulDUsjtqJxfZ67gCY50IJMl1VACXCUam8fYzNAHANQJ9FdfDjtX49KfBVMsbm2vQJY/eJzo7gTiVwCWw== 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: 5c35bcdb-709a-4d1a-f27e-08dad22911eb X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:33.8161 (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: MgMyw8mTRG6aOvGiihGQ09pDdb1oZpx7kL0KTmjW6yF+s9O/ijnUgE2O8PUZevIUXV7ConVPfMrY6o1aiYBE+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4792 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: TqjeCmm0Wy-MdAZ9wTHyZIeWZ2XVieKz X-Proofpoint-GUID: TqjeCmm0Wy-MdAZ9wTHyZIeWZ2XVieKz X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849840766350228?= X-GMAIL-MSGID: =?utf-8?q?1750849840766350228?= 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 f37a6b5a40d6..b1d17eb5fe59 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -585,6 +585,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; @@ -2223,13 +2227,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); @@ -2265,14 +2269,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; } @@ -2367,8 +2374,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); @@ -2388,7 +2394,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) @@ -2632,6 +2637,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 Tue Nov 29 16:44:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27368 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450553wrr; Tue, 29 Nov 2022 08:48:42 -0800 (PST) X-Google-Smtp-Source: AA0mqf4sTf0wHpDDik65ksy+XEfJOAxTUqfGzywkhUAJ4be/KshL3PkLfw8MpZXvMQgaiOKeMI8q X-Received: by 2002:a17:902:f68a:b0:188:dd56:1eea with SMTP id l10-20020a170902f68a00b00188dd561eeamr38180055plg.80.1669740521831; Tue, 29 Nov 2022 08:48:41 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740521; cv=pass; d=google.com; s=arc-20160816; b=i0347Usd2hl1DlEBxMW9pjWZscbOs/YRcu7MDUCCZZYAsASTZoplKCITHlqdyZuR+o Ne3c3wM/tmPzH4JtrhCW7ApisNBowVPk9uth2+YUYRM6Qwa63Yw7yUHYX62XWHNGXDB3 //hH0FFTkaiSVCSbBhfyysi8I6muKv1Oe94jhdHFNbY6yqcnrETJ+lcqsWLJ91ycsD7U 5m8KfUQqs8BwAkox7wAbvagR2c5xklNwR5I0XrItNQ7jYvxp+ULGVzFaYMgmikKM1Cd8 /J0EqBgDZw05LW4GWi17g7vmsKhNXiipcfVmR6kPVbZm5zlqbGYwyuiQ6yrJFGgmb+2A 0wqQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=RE1qYzJUPweAud9X48iXoGzgLX1BMCeUn+fFRSfSGME=; b=lxDhs249v2AvwjJ0Wh+a3RHeHcjwEAZ09WGepnNWnukIVXBT02TcTSH2tYD3p2ZBvQ vKDQ4y09bzvlWukz/TDDI07A0rsozVGwKQkUu0MD1CGfeTCg0mVxkdBqLQeVP+iFuhsN +2vnzhlDr9UdT1WvhtZvNVW+dE4mTvEjH5Dle7mjHwpmn0EQTj+am32mwxZZV+/Jqkg1 9yFcsXWKIq3KGkr+0R9JXPmTgy5BLyqKgQr0J0SxLmg0gIWSubNa9CzoV/VXPUzun2SZ OT6QvsHwmMThI+9906nbQeN5BlC9G2ux9EQGCpNwJpnDnp3N7ZI4aoKGGAl0Ip5GWL9U 0P+g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=vsJNQXcX; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=dIIwS+8k; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 21-20020a621915000000b005383ec972b3si14243655pfz.72.2022.11.29.08.48.28; Tue, 29 Nov 2022 08:48:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=vsJNQXcX; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=dIIwS+8k; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236287AbiK2Qrk (ORCPT + 99 others); Tue, 29 Nov 2022 11:47:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236312AbiK2QrH (ORCPT ); Tue, 29 Nov 2022 11:47:07 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1EC9F6C713 for ; Tue, 29 Nov 2022 08:45:14 -0800 (PST) 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 2ATGOtVm013826; Tue, 29 Nov 2022 16:45: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=RE1qYzJUPweAud9X48iXoGzgLX1BMCeUn+fFRSfSGME=; b=vsJNQXcXshc4kIs6hXlvFKXp+WPWKjPWRMuyzE6rfLVPa7mC0MEKla/pxkMBuVBl9/mN SHyQna2xLnekjlEDYyigK16YD8UhMr5+rVKGxQJbbvZRSBPcDq2JuOs26JCLAUgKMzGl v7nXgWlh9vODEuSvMsEPS9aVegvShlJhL7UI8BHsodN76zFFwOu7Y5Lmb+wyH5c55Ett ukYX7FHQMuIDwR9UVTh7MDchlBC/DLHAjFwAoLGMgsF9t9nsI4pNF3f4J/zPAFFrzTMx kx04LkQpBMk5raNqR/13mbWM7atUlOrvKNJ4Cv7w+EyM1qS3ZGgXRJNyJjs+7qF4vBge EA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3adt7e55-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:09 +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 2ATFkaTw026698; Tue, 29 Nov 2022 16:45:09 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m3c1vkkp0-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PwAvL7e4iOtX/bTxrJJqMXudKpwb66HbZ+MkEqp8CwNuCN+1iTOZpVkO5SgvTWn8rOX4lh1KFkwd9hQMd1EsIS5z0S1IDfzMMmyqzcxrENuYNZYghqIldTAh1iOXmbMOIBKMulg9amETPQae4560H+uNJzmYtqNMEsjD5aH6KWc7UiPokJqiFtNpSBNt7xrZDmMcuPBJlLwPZwpG6iXmkBNozI7mJsHPH/JvWr0Z69892gmn7RXXQuW5vvJJKm8eRYRHtEtVbD2FVtAYFT5jixWS80KMCRpXN01z62kd3OfPWkBAJo/agLdWrm+nFJwY7HM3rQ44YYKIuh1WZDJY1Q== 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=RE1qYzJUPweAud9X48iXoGzgLX1BMCeUn+fFRSfSGME=; b=jsIApXeZEYxRd0LA4OF3KQ9YyW059k9N2SHM7YEao/svxAKRAGuSJNEYaXOrTW76KsGEqKzLVbh0VzG7G9T8Rxg5KyjV0ZRh+x0LxIcdAoNxk361kqTkJiaF9Y3vzm7pgAJ0aF7sxXedXe0A7pAzWODNGzE5PZcW1vch1dzc5Zprn9nxuOzP9uuJzbW4HK7N2PkhIkptTX/InGs/pIjXYZsWKywSKWiueqi+hLPSAzb3nJwtH2ZaYInNwf2UCm5oztht5FeNkAieT9Tj5bZe2R3bH4kGR8rCgTfEB7J8OU33pwSRf2VlaxXWI0jdpKJx5gjXWcdrdpC8crT+9EJF8Q== 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=RE1qYzJUPweAud9X48iXoGzgLX1BMCeUn+fFRSfSGME=; b=dIIwS+8kRDHf62pIP+XwNIP5zWKK+3U+0oZ0reE/vPJWzH+cTWslwefH1EkKZqAsz0aCEhrgyTl8eGgFFP3VBsF2Qp1iUxyMwan6DBkq4Pe9TPl4tjP8mdaZdM8oJKfdqC30nSYc2Znrsno8anPNZbtVxCgvgvWDAUo2v0d58tg= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4792.namprd10.prod.outlook.com (2603:10b6:510:3d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:45: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.5857.022; Tue, 29 Nov 2022 16:45: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 31/43] mm: Add vma iterator to vma_adjust() arguments Thread-Topic: [PATCH 31/43] mm: Add vma iterator to vma_adjust() arguments Thread-Index: AQHZBBHcINIegAxAhESGSaQNm2bhHQ== Date: Tue, 29 Nov 2022 16:44:34 +0000 Message-ID: <20221129164352.3374638-32-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|PH0PR10MB4792:EE_ x-ms-office365-filtering-correlation-id: 32faf6a8-b307-4b2a-15a1-08dad2291231 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Z25Bfn/THauRl6lcmK8NPoZvOS47U5WTpV46ejdyxTKx71jopfRJXv38TRNm2dVT4tGS+hxqw2pU9NtrcvF/dmZmVaSWGzBye0CtxORQzbbDKyYiY8upDfkbjRqZOrE0ab+oMX1eRaH7PEGpasVcorWeQysaS3+VEZNUwgdDkq2IwKDndG9yAI7yCEOQTb7qaYNsOhMgwPdf6WfGUl1rzwj9DOWIzlU/tkIC5+PJDYs/qsq0WGEKvT00SG3kVIWZ0q59aVPV9OcdKc7ni0vAZa2kGVP2FshRd609QpnmPPWcwl1zfG9gJH4zjhuCejsyJu4IMRjokLF8aKzyFIO8QFfW5ZS7eTfqamCONnLBdfiNLTHpZfzSRtzVGsUv7XIg7M5lJh92zfxxcT+3gRDjxNvDr4U+RZVjcESK2SB0vs4HuTeek1fOdCwhsnyPYcqdf/fYaHA47sCBwWYtpOq/kZ92pRY4i6NNL9fVh66rOJqKZo0J2gDMZMekBDkq4/sjIlEQ2x3SYzMMl3IyhJoqpfAdvbQ0SN1cWyGjZZZXQipHFq4kbmer2wmvmKbbj5sOb/122wiF/D4NHOqlKvroiTPb2vFmPR5Kr58ml9Q6sQTZSoV+eUdGKR2yzEMT6uwK+2mrTWn8ZC6qYU1hJzqclk4CAPTpko38q4KLxN/iyFTsV0pSwnJtVPoc5Wbwo0aKMWpurCW35VF0ETIeXD3CmQ== 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)(136003)(366004)(346002)(376002)(39860400002)(451199015)(38070700005)(2906002)(36756003)(86362001)(6666004)(6486002)(71200400001)(107886003)(478600001)(44832011)(41300700001)(316002)(76116006)(66556008)(66946007)(91956017)(5660300002)(66476007)(26005)(110136005)(66446008)(4326008)(54906003)(8936002)(8676002)(64756008)(6506007)(6512007)(186003)(122000001)(2616005)(38100700002)(1076003)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?GUeccbMUr+w/5GgxjWxDF7L?= =?iso-8859-1?q?oul3sCxsinZPKWg6zXBpv1VmvgX6eNWzBmgC6Q3phOw+C8qMWBTdXGkBAb+X?= =?iso-8859-1?q?Z8E+5C8BPL+ovGvzVTggxpYP0h7T4O0sxtkAKn8euUbZBbH/P4xOnUpygIbV?= =?iso-8859-1?q?qo9Aur7cS2eV8uG2fU6CJDoJD4yBP11+0W1brcreAau8OdJBhOYp1Hln7v0V?= =?iso-8859-1?q?5305E8VdlzoYd6AWD6Yhtup0Rom0FYwdDFyOFg6Gzc4TkbGwbDW2IdO0TStF?= =?iso-8859-1?q?ge9+PE9uJmGMKrmC7UTlNpB7oO4kLsYYQMA7jP8rw2PmeVmxEMT1IqBb5RXU?= =?iso-8859-1?q?TYCiz16wcWZeG26uMhwQQuKkW6cGf+TdOecshj4flBrGeeORZQk+0PS7JZ7x?= =?iso-8859-1?q?l81Ui02F94Jo3UCnuud0wWB+5sQjOAt+bskcOYcwevGc8rlw19dtg/1kMQAn?= =?iso-8859-1?q?LGhxu+t4UzF1GOAKOgTLdw1nVK95y6R43tlKsSOTETa6vZRnFWYqggbydC0q?= =?iso-8859-1?q?63jq22vzVNrGWzo4HjQ/pKacuNPRH+lLbV3V7r6f8MqoGFcVxyRTDTa7/0lU?= =?iso-8859-1?q?14d4u4qkermxFr01axlCwrC69q+SRA0b9bBrAks2G+tla3CBw18dXLKFSDTm?= =?iso-8859-1?q?hfIfoSG1BcPH6qqiEGuWM8h5SJWvNJyjcAM7etgRcsWU7oCYVop88/Dktue2?= =?iso-8859-1?q?ZEMoUDrpBJxdQ14QZio7fGPgSCSs1uBFktHs6ktxipfCPapQzhsJHiF4zC3M?= =?iso-8859-1?q?0K7N0Kxo7c7lxqMDLAzT4mKMkqIXx1h9dnC1XZkAh9i3VTLmBLkKFRoADxSx?= =?iso-8859-1?q?CWJerJl4m1M1fIU8KVLQ34g6jJpSHi8RGgCBWjhRQ7eylz+VrsvJz+ZzLa/k?= =?iso-8859-1?q?3jFRv9YopJntQvIrJU4Lx9fPMy+Q3kkOmiYbrWeMGq3Dt7qp5/fjCnpHtMK9?= =?iso-8859-1?q?5JlKmzGviBzDpEq6PTQFnTO1+BXOhSvtbK/06cgwM/zQT+VcZUI493cSq6v0?= =?iso-8859-1?q?A61hXKhlyR8gt5Ra4yyO/u4Zl5g/CTr7Dr61/dEBZWYZGYfUq4N0ZfQje4f2?= =?iso-8859-1?q?1EUkjuBgKna8uA5nQXsgA4pML/WGwN7/tj9eStOAbRhO8AN26fUTk36h2SWe?= =?iso-8859-1?q?0j3BltV3xPl954m3F3yvEJvXTHV4qyE8cy9SmXcE+vpze1Hs+b96ItlolOuO?= =?iso-8859-1?q?l5DmgW4yuKpphLSDV/Va4uN7MfhXT5zno11Dz6ViPTDfbB+SePEApOqvwcT7?= =?iso-8859-1?q?LPKYqPH7XV1mQptJfIwQz8Y3PqMfXmzDUY/iH54Ai6yHesso7sy26X9Loora?= =?iso-8859-1?q?IcMTlBFtrD/qseO04mEaRIgjDfLx5PKzI6LuhKN669BYXkMq/JmXK4eN/lTr?= =?iso-8859-1?q?qVknNN4nkG28/TQQFDNxm2Pb9+N6mDPhr6Une5/bCuEKFlBZ5+pdnK73W3po?= =?iso-8859-1?q?oM1HDhlW1HUUDryVLlHnMaGn1A+UBzsWjMQSgWwkrhEBjooT5FljFwE0b0/M?= =?iso-8859-1?q?zi0QkMXlvii5Yc8e5FNMe/wYjFX5jmWNI8UGrBZgQzvrUEwRbsbuEkIEIaIq?= =?iso-8859-1?q?GTI0+DpnVWGdpxo4w7GQ7a0dtxFpdNv/nr+g7k4QwKcG3AAhbnyDpMll9ado?= =?iso-8859-1?q?P5c7aDaEEIiMaRfp7efrXETqQVmHD+gWXvgDz0w=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: u75OXopxrQcXe1eTs5ucJLmeQILjsbGOVAxCxrly21UXfXBDXYxORNODckhF+XYKmlOv9usLLXlpVAExhiBZzLbqtubpsI4A0CiLy1itvXbCqdIlVSEhR7rqFaS1KQwp5q3K2fuRgixWU9g3fT9UsmO/KJFNT8BccgWTizTItCMJ/qI8N2ej7rqkmkk2X+ZHTd0po+FtS7iixPpxT28l+XZ7l5S5qmwt7qQv/54NwWJFd2kKpymhN6hwmaPWlxHT53fyBQNogogbdxQZ75A1qcrt/eL2L6ZHJVFIrF2yK1B9g6ILiRAGtuMjPBFVroG9oNCPaOHEkdtFCLWsl5oP0EAdfVbxv4E1uiJp5SK42MCiybdJPv1sczxV+Zzze3w/f57dYen5U35XaBsXu4kGswYSzwJ2w92VeujxDS/Xzh7Z+TwSDEVepzuPcaQ43peKcK/LmYqLSD6T+a64oX0I8lp/bCoHC6ZwG3AEFCHlHTbrXPkeeUvAt0bGxEhJ9oNoUs77rXtY+TXKsp4V73YxMOW7Nx3OdMllVMKLGqft15mtUIJGwZul901QWlasA9lvdBqFE3dZSMB0wIcnW55B9BbC62P4OH4W7bShrrl5MiO7hgVMsu1yAnX85WW3IktTRQfwzlHT91NqeJGL1pMlhmocazPmB3o+8SrUeNR6No4MR7vi7F5YDrkaeAUEnyTU/5lSb0FLK4F2Ie8d4RPsaycl1zfe813GSvA1BlrJMGmlVmfGWKr3EOcla5JXOG5N8IAIyRa36NUS8FIbOX2cYtmBt9VQKoR4Mbqq+CDdfJD6o1u2DAhLVzKl6HSfDY5qqiu5JJ/jgIeqcei6xzcIIvUuGr4hEeKUQHxqa76psxtQWKr1dlWIIzgZRSJSD1V99oTxIksdO8ALX3d9UeS6Fw== 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: 32faf6a8-b307-4b2a-15a1-08dad2291231 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:34.1598 (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: wtbCV/stATfztdrnSgMhBuGYsHo2lkAy8FLDVNEFqTA7dFxuLVvE04Z8HRpgFmPO9jv4vb2/rXH1rnHeUFVW+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4792 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: WwNS8ncFWX6SLSR66VvwuzOfMC3IKYPF X-Proofpoint-GUID: WwNS8ncFWX6SLSR66VvwuzOfMC3IKYPF X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849837236116506?= X-GMAIL-MSGID: =?utf-8?q?1750849837236116506?= 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 de9eaf5926bc..8d2b47e436b0 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -698,7 +698,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; /* @@ -730,12 +730,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 ed6495c66703..b5cdb9d9e987 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2695,12 +2695,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 b1d17eb5fe59..6b05e1dbf705 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2269,12 +2269,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 Tue Nov 29 16:44:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27373 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp453799wrr; Tue, 29 Nov 2022 08:56:28 -0800 (PST) X-Google-Smtp-Source: AA0mqf4KtugckGgV+96nsG/B//dcAMRvz9mwtAWIFrGFKrU1H9rLaCrY6qmAENaaovOs9QFZkSuv X-Received: by 2002:a17:906:810:b0:7ad:d7f9:1f96 with SMTP id e16-20020a170906081000b007add7f91f96mr32712832ejd.384.1669740987841; Tue, 29 Nov 2022 08:56:27 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740987; cv=pass; d=google.com; s=arc-20160816; b=JDS11AsZx8YHiued9vctKwMStwNew6bFGXXVSVyzbBlMO1blS0juKpLcEtyouLDss4 cmy3md9UtqscYl5qikaUEzgLr324lkO4epKqFulA4EGJiA28gHgXoj0naeDqpW+zdzzN JKgCyKVWKfM4IVpAB2wDEomu611sFUIoDxmkg5Y0A8o8bVIjFlQG0KuodsKLOopQalBS eN4m4NpmcXh50DTUHty41l55ppBIH46A+K+/KtQt9JaHqcpivrLUTwvqhA5YSgBiCvXf hZrb6g3ccgyIF2SSXXEOHRlU0DBbW6loPt2uihvIy9x2amqra/V51+pllxPebqe0t6nR Kgzw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=XGmyq3cB/rLlWYlRNysOM7VIOIrvlGoPMWL5Np8VGjE=; b=fSs3D/GBH/VodXvHUu/nr54PED4cHaQ3v5CkjacD3g9oKJELLOl7kjkSvlmvtbjF7J UDc0YjbaTv8DwPg7uQWX7QMOQo2Gw/xxSc8rrnL/WoiB8cE2pp3x7UWCaXtOf6lNQq9b IpkKMgMMS0/y9sZkqsblpmv1+PY7tyqpKwFAgIRAh183MIQHgFORLsO7JjQP079rb8yP KexnjobdP1SgXXWXLtfyI4xIisUEg2WNI+nHd6U07MLCPZ7dL8auNcCTRl0VnC3OtZsh iIYD8wqO3JcHl9maJlQ9CQCz4f36pqv9uj4C8IRew7Z7zpdBSOHnJLtYaDGv503sCadC t4YA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=Uv3z7awa; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=pGJo9oRU; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ne3-20020a1709077b8300b007ad6a0afbc6si13013684ejc.7.2022.11.29.08.56.04; Tue, 29 Nov 2022 08:56:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=Uv3z7awa; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=pGJo9oRU; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236361AbiK2QsS (ORCPT + 99 others); Tue, 29 Nov 2022 11:48:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42238 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236226AbiK2QrW (ORCPT ); Tue, 29 Nov 2022 11:47:22 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EBDF26C73C for ; Tue, 29 Nov 2022 08:45:22 -0800 (PST) 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 2ATGOeuf005604; Tue, 29 Nov 2022 16:45: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=XGmyq3cB/rLlWYlRNysOM7VIOIrvlGoPMWL5Np8VGjE=; b=Uv3z7awaUEQv+2NTZXNcxjDOyrbi6zwI8HgOjJNOkn0wCJM0SxlZqmg3L7uFMFS1KPTQ AHb6hiPKU5sNBK7TrviQ+ee1uuX6YD2bTMcBFMtUHJldMsElUY5TvVilpa9iR4bIm6eZ 2wKi+KNdjIVeUM39AlLbgvgDqv3bTF6L0fFBCjQkCYGa2H2zYq130fLkmxXL5jTj7Bd1 FBSDoeRKKTl4N2i0Bed3uh6pGQK1QJRhgY90UwJwsCfalhq5MYjAYr86V5q084Hy5i0p pEScVsIDGsqf9xuUS/yyBlPWaTwhRyAAYvIeVNjyGqvNf1FtdqcD519Iv4UK/fKo6eJe RQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m39k2qfcn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:10 +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 2ATFkaTx026698; Tue, 29 Nov 2022 16:45:10 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m3c1vkkp0-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iuXQLIbWupqVyaR/7Q4EFgXnqleQ/a+tQDraGp3FkagldRaFBD2DraRIXfDJXUz2NbpJp47DHKDd5q/EOw//vORh7aii8dMjIizkCiVZjQoxOabZL4qkcGe6cWOIgfm0x9bgNiYSd1icE+kwurNokDrJHfua3jSZ4AHV5YVDS+PmprhX9eOoyGSdTz3eUehYaEgpxGLP+6F+rvrH1lnOliTIu4rK4r9h7T+0ZYNjCCQjWhcUGKeTBDNRVbAljhq0TnNMHcaI5YNwL093osk2eU8sAmUTpAkaH7YfLOdiY/EgfJxNnvQg5aDympMElxbEj0wFJYW/rwJMPFoQF+YUzA== 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=XGmyq3cB/rLlWYlRNysOM7VIOIrvlGoPMWL5Np8VGjE=; b=mRXxIsCORvOcAyJKYRf08lYwqS8+aKAw/phezbcwzPJvtrgI55KY5Eoo9Vr97qicsG3B9ofB7/gQtOies1avOuIQVVxh829LWebVRAxnUEcQnkJ/GS5H0w/Ml9yr9IWTMtBH6q7cw5J1oYL5nHSJ2SIAdLBXe517gQGR/j4hNa0dW2k4ZaNN2ApLS9T8CxXjOPMWoJhgdYgDuHcwKXeal5ifbD4ghzzt/xaNkNTxQKr75lZNOk2cV+OAVZHUGkhDDMwvcqqo1IA/DjCkKdsFRvuZpEXd5yza3vabfa7M8vBIIfyDhoyTSJGrV65qQcCGtxmX8uKljl3zBQx/3XRkag== 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=XGmyq3cB/rLlWYlRNysOM7VIOIrvlGoPMWL5Np8VGjE=; b=pGJo9oRUzKkvZSWQMpKr8fZ/WTHi39mONblzEo6UiecSrVc1ghBDz1hJ9mk1MGPWn2wT4UGxpj5F9QLVMTpm+MzAsNt2riPdVEYZQEmkrRPXDE+9ynnPcKJR0o5P8mW+KZkUpasfyNFt1bxy/EI0k2/xWLJ0uw6ayJcPolOTySI= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4792.namprd10.prod.outlook.com (2603:10b6:510:3d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:45:08 +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.5857.022; Tue, 29 Nov 2022 16:45:08 +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 32/43] mmap: Clean up mmap_region() unrolling Thread-Topic: [PATCH 32/43] mmap: Clean up mmap_region() unrolling Thread-Index: AQHZBBHcwoih5czY/UCS4h9Cleh56w== Date: Tue, 29 Nov 2022 16:44:34 +0000 Message-ID: <20221129164352.3374638-33-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|PH0PR10MB4792:EE_ x-ms-office365-filtering-correlation-id: 64dabe37-894d-42f4-cc5a-08dad229130e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9JXqyakU7fFFabESP1BhDPfaP9L0GMFERNbKdCvKieR5VWFmILpQ7ZtjQW+4jN7Lf4PugjqSxLP3OmYNzBOtioEXT66/5PYnJpd0RZUWVmu3pekWuwwfIyeAGGdbZ4n59D5DOQXwWuvu1opqQ51LRlYPNXNzySi4nH1jCEHL+Yx+5La0V9WPiu2LqQ4Ny6uWAi6xoBpWdx+w1K5GK74edSNNu3Iw3anFugnvyJ1yLGWZDwayDL/d49jBDnoN8o6BeSDlZl5UkQDb7pjpCgAyBBbblk9LTq7n9ZK6c2h1jgNWOEKtNBnE7MPYjWyCkBS8gzZAPiifAjsxvlwu9WF4CZa5QGGgcZvlmE91nRyrH6kGrSejAiYskXOb/JZ6yNzzfYQvn2Xg5uQYN7ovrPbJLJBFTdNVqzNss/089u3GII+mfmqmJfH1ZEaGOPfvyvqupE19uHKO8y0lOFJnfWN66E7kG4oC0mhzUruyZA9vUhYAZDLMJEmq52SK0tnFIplTXmssDI6GiLmaYzsL/2AeuOuOkyYJynJ6tBrYBhe6kFrm3gDkLN4tZ4wkaigX+3uEEHz7HXYvjh6Z51rR5g8C3PskUksf2+gfbuh7lsyqMKOGrwQLfd2Y6e53e31P3v44ZjT0BW7FCXx5JCmT4BGu/npdyKlhqIq7i5OrKxfC4EK7jPuc+HV2I8qJbeLOBU7CwQamcBy7KwaJajqHRt//7g== 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)(136003)(366004)(346002)(376002)(39860400002)(451199015)(38070700005)(2906002)(36756003)(86362001)(6666004)(6486002)(71200400001)(107886003)(478600001)(44832011)(41300700001)(316002)(76116006)(66556008)(66946007)(91956017)(5660300002)(66476007)(26005)(110136005)(66446008)(4326008)(54906003)(8936002)(8676002)(64756008)(6506007)(6512007)(186003)(122000001)(2616005)(38100700002)(1076003)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?usnnlj476qc2QXoxVGATX1h?= =?iso-8859-1?q?ipZgOtAQrzZqqeQIEW5K3fiVefYrgGbQ4gQ/rAQCmp/gcRVYJ4oE0jAPIysI?= =?iso-8859-1?q?mxvnF2LcS1y3/m7/t4ZnIInKBEY5VkQbTqMC/vaTxZ6wvoZIpdDPg8uN1Sd9?= =?iso-8859-1?q?hFTwPHxV0JS43VYPJ0aRHep4b1HN/P+xrmEZz8NXjkPkvfWrSI1cc7jOhax5?= =?iso-8859-1?q?oh8p0kbQb6JarQ2sWSR51fmc6U6g1arWLaOeBt6DOyjN3HROR+NEy5hUp/R4?= =?iso-8859-1?q?etGM3h+uHjjoe7N7jteRHkPxbAaAnqODAUb39i8KjVuV8Jl94HUsfiUhkwQo?= =?iso-8859-1?q?XmXIubu+yGZgN0DhMIqFIFDd2G3yhjkMKGSDWOAvLXMvrBNVOdmAiesGKWrn?= =?iso-8859-1?q?WlXeIMY++ihB0m6NCGekAJnV9oQ4O1DJG39pVvwHMuWUJtdVFERjucZHo5CF?= =?iso-8859-1?q?AVsPW1VeHQYDa4XFYwsuwhscX8XnwPj78M3vfM3kLgOsDyKNrKjT3UDBWjeN?= =?iso-8859-1?q?B4IypYAiExcFrrZUXBvlFNvR8GkerXHpZfujej4hZnOjjjZ7cYLJkOW5iarN?= =?iso-8859-1?q?Xos5rhBJXii8u3IY4R9ddAtMJ9rZvlQt/hV4X1cbgMdSLKRvcgV1ZIV7L8/X?= =?iso-8859-1?q?RIANHtK7F+bvYnZ9VHuMabA8rDTW2zyLyPg6Ugk03koyFEk6H1mZmlt3yK7L?= =?iso-8859-1?q?RO3EqaIprLGOS9N8+kZB05XinwSLqDiPIYy3FWFV9P3VEZGe+1DO+fWqcQWQ?= =?iso-8859-1?q?UgE0XuYv3CtpV5nQNMFhqikYYroiH3KtF5SDw6NB/RVvVQNuE5QFGth8Gx0y?= =?iso-8859-1?q?fZLqzydokQCixVXXoEHUhn0JHIQMrWRmjOQQYDCwRppMw1B3XLbhXMMfg+BV?= =?iso-8859-1?q?lWYQvNIqCrKrkuF0uGOd6aQshJvJtc4k86AfbsHnSiFgi8U4F9RFSAW7I6TJ?= =?iso-8859-1?q?8EsFeiwuMBlbelICxsp1TnJQveI20cD0nM/GzzbbXMwd+rBJJQgPOZi3Dz+E?= =?iso-8859-1?q?fwhXwsQX/eroH1BBkbdzko+89dfLpYz8HCpd1JvDOvDyQMT9jVPgcgOlTSGN?= =?iso-8859-1?q?9271vFLM2G8ILpOrb31moEvDkj3/024nadIjD46vhJmhQbuRAqPVmcn7nXTg?= =?iso-8859-1?q?1GcjGn29pB4WH79iPLCtU8NlFyoe766bPZSudJd+W2RaeICOyaCoDn+JAgz8?= =?iso-8859-1?q?/Xm92mMpFfCFs+FpYQnVCUj1IUsHd/CeOGtF2G5fkkq5p5MiO0193cacx02a?= =?iso-8859-1?q?KpX6Ek8J+CvIsHXLasWW46RYcU0/1nh59aYYP/wklsR2Xn7mruvqvpEfWLVF?= =?iso-8859-1?q?hHn8jlqxDwrmL/QFzD82O+f2P999HMqgCiXeIT7OOgIn9erLc1FSTTsML+t7?= =?iso-8859-1?q?QmSf1aW06cVFCOQAo9+hVK88lNBslGr8EGGu/dXXMd/wKgNJ1BN9Gcz16cIS?= =?iso-8859-1?q?1mfcHMQytQiOW3/16qjZi5dsvjUkyEdIGtZCr1MTZtFOYKFJd+7adokE6dEp?= =?iso-8859-1?q?MMQvsnboejHtOmh7L44SPg2qddZxd9kBB9xMfD1Kd056hk2Ya6nPPwjOI6/x?= =?iso-8859-1?q?mHXZofgKLp4Fy9EN/l2vyXTfjKKiF0m5OM2DCf4Bz7+GATx4IH5RtUC98+cT?= =?iso-8859-1?q?OnXVoqSTyCLH6KtwnLJaTOKak2zLgKOiCuHwdBw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: kUUiTvEheQ3j7M0bbE5edT4AYGkVUQAjDXHLgexS74igO0WAh9cbtxHacssXpoynGgoADCY62WbeEXe5CLQIOOaacTlxtY5hZcUIDbqXB6vzCqm3q6o2AjEVLUfd4nG4RcA+vtbfmjFLaXAWb0rWc8hoKcTYN4UcDoS3y90KvfYLK+5X0+ZJ8jl7WAzfjBmk9mtped7JjTolMrOYLSenXvAqUN++goesnNhVIt7X5ME9nzhfuNQQhokl2oZaIWLK7o5k6OnpkiezI75VzHKSRuw1CBeLHrbhc5yalNsT4ofA6DhxCd+Pa5gilxpOu7zcAG9A2WJ8b+YljQHqY9uk9kF6XlM9+wojELRISTugXmBsxB/eBfuuyqasBhPBTAwLwodH+qOO54T83ukL+4qPhvE8W32ABTL1hPWSLnvqxy6nbztjjhDQvkzeMl4iA/8+KQsoV5tWnJSLrsBCguVeB3UarwkGdL5STzbd0QEapF7MvLIM6/mnHfQJqGHK6B2oHogH76t4IK7Q1BuuTD9Lb2FKDkJNW0ZL9aCfpBB3EnU/L4GflKtle6DMjF2yz0LzzKjKOpXJwKy2ITC0ENsIvRgg9pYk7Qo3E71KLHo5NWS+01nDhvACUKzJVKjnxmfKyiApENaXlH1wQjPwEQHCuneZpofWUvLbNIdfBNfCYDFGoFUITVLZZfbzfHx75heRKlZfaifw6WMWeA4xb+KPxv8GIY/wCe3DUb8g5FEFvdCvnfnamv4497K3noZYDICwQawI1UPgATfDxAMWKowsd9SfAEbnn/tTl48gNKCnu37sFQa/PHYkK2rBuDP0YrJLf9nfw+aB0SIe3E7bi2ywShitsgOqZITnmmbwg/dpxnnYBojGws6RENHkMpUIxxymtSPMqkKFKAsheqhIpu3omXLhdTEAf3LMKWq6bDPoewg= 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: 64dabe37-894d-42f4-cc5a-08dad229130e X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:34.4723 (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: utYxDYz+mrsR0Iu7HR464uAQNN79l+gA4/a8y6xjO1QldmtE7tBKpccR6YX5YvPTNXZyhv3wUC3ssivYaL35Og== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4792 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 mlxlogscore=781 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: 12fzLJIFI-E5w8L4VZimEcp_HIreA-Hm X-Proofpoint-ORIG-GUID: 12fzLJIFI-E5w8L4VZimEcp_HIreA-Hm X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750850325894281872?= X-GMAIL-MSGID: =?utf-8?q?1750850325894281872?= 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 6b05e1dbf705..af611f805776 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2660,12 +2660,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. @@ -2702,25 +2701,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); @@ -2779,14 +2766,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 Tue Nov 29 16:44:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27371 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450856wrr; Tue, 29 Nov 2022 08:49:21 -0800 (PST) X-Google-Smtp-Source: AA0mqf6GozBqDC4/+jDCqW1xuA794GJYH1m4Kz2xQezI+pOVCfCf/UdMxWdS/wWpPujIsYB9NjGU X-Received: by 2002:aa7:8802:0:b0:574:fab7:446e with SMTP id c2-20020aa78802000000b00574fab7446emr15800623pfo.34.1669740561258; Tue, 29 Nov 2022 08:49:21 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740561; cv=pass; d=google.com; s=arc-20160816; b=ZLpcszU0D1zDJeUTGhXw96vj3YDQQg2hkNeUaJ7w5dqtN3AjdaPYT1VR2q1BcI5FiY 3BVg9nfSb9P3PGY6gKpxasbzWkmCygglShRTmtosIR7JJ/jWXcnEOM24VhPSA3tIybqC JvlN7dEqka/LvrLf9r9IY+RnvFJPUjxKvymukOOkNRhRfmgbvVc4GGhg8jeS6h4eM7B1 ftvpRprHbVv4m5K6YHO2McQgU5kOTW74sSEb4fnLqFU6GCVp0zsj6nlciRrjxOdQKdrM bPN0nxNHipKYbVuqPq8Y/c/e0hmLoz3wn3dDzQ7ERy6kyxve+gMIRrzYEleO9WE867ME 31yw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=0EzQlHTr4IVoG9FN3tDYFD5FcrsBLTtgf060eSOj39A=; b=dvim/o/1t8VzNUdOxSeIEOFii+i0bVmnGPGkFoKNyX1Cw/x9zL52mWdQ393yBGlFfa ouCmycIhD/xm7vuw1MSJoG4H8AvO8G5VrsQzGzX6zyOwg4t7n7Ix994msQVQ5aqaLzHI s+S7rIpVIvmFRmo/XZ9gh9vtQDPZ3/vWnPGv6/M5ns3n3cjTnSE7JdjLVP8NP743OfbU OgR6njrXw77tLk/WWPDQfa6ylfRVsQ8nuANxeQ3PVROWzcri/4ScY9zfQ6rhWCWAulMD QY2rNEwtLy874rUw4ox+1RyvScw777c9lGidku5goDBJjvPInLwNLcq21QfCLojVcTdu Y3FA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=STMKwKtu; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=f3kLLOUW; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a15-20020a621a0f000000b00560bdd654ffsi14015230pfa.314.2022.11.29.08.49.08; Tue, 29 Nov 2022 08:49:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=STMKwKtu; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=f3kLLOUW; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236297AbiK2Qry (ORCPT + 99 others); Tue, 29 Nov 2022 11:47:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42226 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236317AbiK2QrI (ORCPT ); Tue, 29 Nov 2022 11:47:08 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F25B55FB99 for ; Tue, 29 Nov 2022 08:45:16 -0800 (PST) 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 2ATGOgx9005680; Tue, 29 Nov 2022 16:45: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=0EzQlHTr4IVoG9FN3tDYFD5FcrsBLTtgf060eSOj39A=; b=STMKwKtuRH257NBD78u2yhCjTs9/lVTJ5ntVCxaSbdhJVOPh4osoWp0lmT7LTWej737X 2FdgTR2sQvTdX9fqGAT6htb23YDZ48+4bhqPv2N2oGCxGd7N9yOhOuNjNdISpaHwC/Lj Co7hjH7S7CFbC/b8EM7ntf9hhcAJKpEZWkT84eVbLBQnV1WInIQx8Lm/JX0JlMOaookH dypfPK8V3Cxwy2619fiQDqqQqyN0p4YJ2rbmOXAdbg6YeW+huUYGT4mMnWpIWUR+8VKo 8GYfNjyFL6JqSPXdzQFkd/RaohIYsXYi6NbSpBIfV0MWvC2Q9Sd9upQGySPjFsr1LjG9 gw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m39k2qfcp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:11 +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 2ATFkaU1026698; Tue, 29 Nov 2022 16:45:10 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m3c1vkkp0-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G5pqdQjsbCF7KV6tXuTM82FH63Oqfrf3l6p4c/HHSEeLnEFbz9MY9GGKdunSePRcqWTAUseW3KgA7iNRYZW3Nh+m4eZQbamU2Nd8wXmmclp+FCEeKwx37BikFIGde37lM285Rr36A36rdUAdNbSzc3MfWwbSFjirS76MLu67C/DsnWl/bz0hzTmmJ/tmdQ8ANT/fAzc3NZsBGIuc5UJ7H+MICs5aq1rffEfBPKGkSruiEFJKsVeKMV//tG6pTNyX3rCC4pcY1G3SZbCp8LCspifeRtquLHmDDONdaGlYMw3iyr9i6izNxB8tTJ9Vr6x7w54l837wQrvVdE68e8UQmA== 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=0EzQlHTr4IVoG9FN3tDYFD5FcrsBLTtgf060eSOj39A=; b=Er9ReCfsyYeDhO6wpOgNCCDgqJdgTpG9XVgR1fjgmaKpLca2nEDpzxIYeF1OgHqNqVeTe83ZJkmUGneUOneqMCirSQLBN/uJwl9i9EKqDF6s0PIt3ajk6AfFnQ6NBCFBsRToKogQpq4qLjyvKKwv6kceC8ml7cpYLj33FxHaMMJjNHqSJQyZ75yx5KqkJQNUUD/2dOmih9p7RPPhQDScwXiroYVgaua6ZjfA6q+58eGm//zO5gXDUiqLNurofi41LzN8ja8XC9MVi23j4ckB9mKweaIEAKkvuG3mlOg+BEUwDY6Su7xCb+BAZfnsLHjSaipowZbhSE3dhR1PxYzllA== 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=0EzQlHTr4IVoG9FN3tDYFD5FcrsBLTtgf060eSOj39A=; b=f3kLLOUWtK0tY9WfKHCCu9kquplUI8+7hS0the2hYaDWUJR5NyCKBMDoYe9Tyc57iRrbc0PVvRqBuoG9abRSv7Ik+57eI6NWWiwKaLajqXynAT6oq2377sPZxIPJ1EE6dMbZvPGxDq6x2jVYv7aw99NvpLi+90Db7S/DZ+wjPKk= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4792.namprd10.prod.outlook.com (2603:10b6:510:3d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:45:08 +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.5857.022; Tue, 29 Nov 2022 16:45:08 +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 33/43] mm: Change munmap splitting order and move_vma() Thread-Topic: [PATCH 33/43] mm: Change munmap splitting order and move_vma() Thread-Index: AQHZBBHcNhY9kx7Ry0WMjLLG086Hbw== Date: Tue, 29 Nov 2022 16:44:34 +0000 Message-ID: <20221129164352.3374638-34-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|PH0PR10MB4792:EE_ x-ms-office365-filtering-correlation-id: 83479740-3aef-4673-6632-08dad229134a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HVWO03LlJUbpkqzs48cBh78qtqxsXjkbjdSiI00jds/QJsV6FQBFnTfW2MDQcSS2daWlnypsgXBydN7jw6NXDpN3NRECV1H+5iXe55dY8xTcOfRKAPPlmRqu4lpDNZjnxNS29bWHzK9FpWfKU7naeucseqEvQdCnApd/tiUGDkTg4gvnFUC6ov9fnPAUB7rf5HwPICf1BGXE+wC3r8BM3Icc07SIbFc57p2EUoWUCRwJwtK/BTNXoW5oAVHD1S3ymKL/0cUkFCpnY/dIPGkxdLMMwPwop6CnI55kPA9dElx1gSoN032a/QeFPRch9JyKOlULrc1lKXNr8dxBUh0zAhC4C4n4L+JzHDewm/b4sECaggjfAxQ/v55ow7gg2xRuS7TnniY47ytXtbOcXHC20lqhAhy6i9Zu+RCvN2Ymja7vEjDa36RU62+VhAL2l1E1NMbphRVD4S9QUlRAaaofPud6tt936RDU6rIgeeGj6HakiskT/24CoUC7GD7tdABdgw41rHzZ75edHhVt7LI9tIoks3qdqC/up+8G23J0oq7ihltHcrVfh5Rwtq3syk2tgmij4PEF3Rwgswt1iZcl/6HpQO3s3FXmBEoIfS5cjnq2yyOV79y4Cscb8DXMHgXDMkQX/AvyRWmIjgQnX6tvUn1OSSQYUaAGmqZojb54vdj/bQhLATajB1mMmh0sHhUYP6adPRh0vs79oyHsEo5feA== 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)(136003)(366004)(346002)(376002)(39860400002)(451199015)(38070700005)(2906002)(36756003)(86362001)(6666004)(6486002)(71200400001)(107886003)(478600001)(44832011)(41300700001)(316002)(76116006)(66556008)(66946007)(91956017)(5660300002)(66476007)(26005)(110136005)(66446008)(4326008)(54906003)(8936002)(8676002)(64756008)(6506007)(6512007)(186003)(122000001)(2616005)(38100700002)(1076003)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?d7R/pU62y1cc2PkoPDkyO3O?= =?iso-8859-1?q?EphiDNV+TGf7c3w8LvC3UMbyiQdyj5hAxWuiEvsnicbILFrlYgqsNUq3QGz6?= =?iso-8859-1?q?d7e4Q2JhrbR1DIlyiyS1tICkMBzs6nUkDw7dLUh5Dd7aMRg0TV8teDiV+KI3?= =?iso-8859-1?q?/FEYdOxLMZMIHd+sNxggtKVPBsgTmmEguw7DFGUlcq44NKqCYCYddboHVWBO?= =?iso-8859-1?q?87fne/teuk9OwasnAbxVJh/VOapzqC9boXKLeAukIsnzgKuvjHKP/2jHlibz?= =?iso-8859-1?q?egQUgILZ/h7VJlAzooj6ci3t/GlAxygM8rfQT5cKdybSuv3fuwzd25vzXHr5?= =?iso-8859-1?q?AvtGwfOemAUnQNH+SmSd0HdsJlhWmcjWOQ6VSu+cBesp45BFMbLiIueDLyWd?= =?iso-8859-1?q?qkRg+VqfL/AfziBxwH4RMhYN7vZbn0yofiP1b2w2SQ4L5R6oaVqB8fa9hUJQ?= =?iso-8859-1?q?rK+jh+1TavwqPHH1zMwAQH6LhP+5ukX24G9pz21rkX8sT8wTusDZnFVqeuon?= =?iso-8859-1?q?RT05++mdoM1Rydq755GvJGhNbWmt+uISKbYZNiMUqVWt29/NAHjwT2S1fVdd?= =?iso-8859-1?q?OxyDcIpEiKpZsfWZ4a3x4Mehak8CbuO5iMRbHY3SNfYxHsrf/2H5ZLyAxCU/?= =?iso-8859-1?q?D7jw8BIjo1G+vTzXAcYyqPRb766fkfKbm2WgBrlGZvQWShQ8Cyo2njpRIEDG?= =?iso-8859-1?q?O+RcgK1nIbD1QlhC781wxS0rq5zJQwBRQzSiJd2m3qb+906/WeGI91SuZ4oC?= =?iso-8859-1?q?7mfa/rNisabbmabU077FEzaF/PbVDiZS/FnnjMWSHo2oIXIwi3P2r0HFi7sI?= =?iso-8859-1?q?33qady99LMutPejAqawHU+oylM8tRyCQG9kiItqmcNP6cbGVRxMEmt8swOju?= =?iso-8859-1?q?1D/lcy0RkxcqyRa+CTVUQW58/RSETFsYtRo4bkSRJJc4RPE9nu9CHil3tRX1?= =?iso-8859-1?q?AHTLV6dc3kWGhFVuHMC3NWgtXbsvHA1MUQK+DHKt0SrSSTfpMKRoQz8HL58r?= =?iso-8859-1?q?HzmpkMepl4T/aUC0DkRmAM/hgONL01UmyCRbkQjsLfsbfk1fvUbodS4krsWt?= =?iso-8859-1?q?SweudIJPHF5IIugBtNTOULDgEPhbIonidMpLkCNICo8/DBlgG8q+f8txFsB/?= =?iso-8859-1?q?GDHiXudC3w0HbqwWmd/YRbUDDPYjWlpxD2X3mgZIcXsfZCltIzHwf48eHIte?= =?iso-8859-1?q?mVwkcohhwut1X+hbcYOGZnmD+bW1M9kApvh1r0lfE6yebXbWJ0pO3VwKAcFE?= =?iso-8859-1?q?iPCWellsbiVflxE/MDCKFsKPZlRM1jAkP0NAXwF9x4J13flEI+F1lZUDKDvJ?= =?iso-8859-1?q?z50dwUa1aqiiBN9PZ4HtsO3VzAx5bN7gH3osdr8PbqlRgIvjMvDT/8LYQroE?= =?iso-8859-1?q?dpsDEdMH2HmrQ8sSwblpRUJrYWhcUzZ4cXbOvTAm9v6yIncBix2ZwnDoQl8a?= =?iso-8859-1?q?YTGbewqJSjfbDZMU9UBshInaAErLLwYqUQz5BLS6oCFzK3q8HtbxMduuvhFl?= =?iso-8859-1?q?4zAKY/keSnPQTxfMvy1hnF2Y6BWylmQhj3U0JPnb01RuaELnsBArLnt1BWWw?= =?iso-8859-1?q?4KF9iLPFvmAiwhEQvq7rqqoSkbKp/prBcOsGRdwhki3zWE/pqvBeN7xNbpBf?= =?iso-8859-1?q?SpQ5DfaRJW7p5L/MmTmAICnEngEYeF0z7shJZmw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: CgpK486Dy3tDEr03oHgot1TW2GUfT+/4ec72Ik1dYTjHS5Zh4hw5MbdQehtrDi2j1WvNKdtJEV6uQdQNwBb2+zvV5kCujjVvTjKc59QtOLMu9etzx3+IB88jOGVwU10dwvTw5Gwhz9Mn6Oy9b6gjUzKyVD99+/d7CsDPema1CGfLHeiOEBQ1p8ds4aG6exDT0Lk9ap8XcevVQhiJe65BCA7vIXBWoRLm7nhcKkOFpS+3dj2j3V0y1AibcK26vbvGp9pZOMExF2t8wOYKqqXX1H9gc/yzx/uCx5/60HClCVhpear3DZ4XR5vtwkpy6VE2zGEJdWpgFhDNvplrqOiufnNH1HdOjfuqNIAAFNVq4Sxa3mC8Ll7CA1EUb3au2UsvWIpEyl4vOEqg9jUNsV8bgHQDn5TUlAJ5wz/TTRKaodZpf8AujcwmhDYmaN/HZa85KQWyw0k5/n23GGA/FZlFlr3DPr0w+Ij7waZkEZdn5+idxd6pka8cCip1wzqYA/kq7NuJRALwP30epDWx5FffGpwgXeawO9RB4LPXljI5SAvpsmtbJQfXizfsjtt73uJQ3wq52VyHud77ZnhrCuqQbTrmPeVhsW4BvhCV5YVPlAqqUYGomDfGL8h6nklHm8QcVBlOvofc0OEV2EsrTI5SAG/TnIrGpF3HfRNqPSV/OUkVsfmsso4QljVCyTtUS5H08jeEQoVtfVgskSNNKlKFuPfUH8ud2UOpotZZjHC/xM+E2B45+H4hRDszZ/la4Xj3jc9x9SQINs3m2iJ58iBCxoTbnAt7BxZE48ZkZ068uZPB+CFI3lrsDK/Zkg7NUqD8UcirUK9bVhMSkFMRcIK/Dh0UR/JxTm7u34TN4QtMnnAILIRViIGFrN1J9KemLGWcFIV4V82XC0zJ6jAh+QmD9Q== 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: 83479740-3aef-4673-6632-08dad229134a X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:34.8785 (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: AqD5syVGoyKXgfGufGTCEOq9x1RP9M9r7dSXkHegKbslfRXvnAFBuHbBjl5tv0d7euWAd8QskQSXfsyPtfXDFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4792 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: pBGL-FocDHj82SLMwfFUzZYszK3FKNDH X-Proofpoint-ORIG-GUID: pBGL-FocDHj82SLMwfFUzZYszK3FKNDH X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849878650627239?= X-GMAIL-MSGID: =?utf-8?q?1750849878650627239?= 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 af611f805776..e0e70b9bc391 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2388,21 +2388,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) @@ -2415,9 +2403,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 cbafea7fe895..00b39f0121bc 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 Tue Nov 29 16:44:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27370 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp450800wrr; Tue, 29 Nov 2022 08:49:13 -0800 (PST) X-Google-Smtp-Source: AA0mqf4MsAciFjDZLXHCw8kDlqPhhoM3TOoyNfggFz9RuC0nq1MAsH6jbDmFxXOuJ+J3QstTErVE X-Received: by 2002:a63:2144:0:b0:470:8a45:32a8 with SMTP id s4-20020a632144000000b004708a4532a8mr49997519pgm.543.1669740553440; Tue, 29 Nov 2022 08:49:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740553; cv=pass; d=google.com; s=arc-20160816; b=zugeP+S8niBxxq/MBIzI5H0fxz9rXVyIPOVY19+lpEW6YUuGUJIbOi3mG51NUCSFHT WuLSKu5+fS0Rj0Ay2boJDnDwn1uhWH/USgCl2T61lxq0wwK1PHDxqhWUwCv/KStdCKdS 9RB9DrJ4boh/ba5sDSyvSvh5PgAU70s7qx0S5QoTbTIWzSo/11Zhj2VpmqeiT0uQRtRB C6k9SfMw2dPMt2ysnY7OQTGjSlKCzIitoxg1Hvpcgbp6XJv5srPVrTFfvNmdgIvz+WYO aaBGVnQ2XPksOYJCXzGjpW8L/enBUuaX1A6Zia/3qoQICuf6QVy3EJR0ruoRZN8J2/ql 17Kw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=6+stm1aUBeIdjSmqEZqbrP2RxWcWKKZx6ArgspYqK/U=; b=LCYXBgYCWA0sITwnEI9tXICiwVOIYV5YaWDp2S9DF4vOB0cdNeFOU2nqd+cH3xd9CL qRpMJFPKaVLWe5FkkN5h2gUGL12P4Lo1zjj/N3vYyotP8cSoU0KeZqWdPE16E08esZae V8/XtlVYiXCUGHnoGX6y+Ev+fAJJI64yxM3rwt66gp0xP4Me0s6ijfcwxoKKTGxClpJc 639HWIuQfffWfSoybs2FoQBphCDniY2u2mkqJa0H62r0voggR6fJSNaSVJbdBAVr7Oip dGU2RKmk+ya1f8QHsCcj/CIvpNLenx0SVvsjYApQVvPbyWcxlGrnsiXpQrX5nJfg23z0 xA6g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=BTaN4uum; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=bMFB2Vca; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id oo5-20020a17090b1c8500b0020d5dfb9d69si2190032pjb.187.2022.11.29.08.49.00; Tue, 29 Nov 2022 08:49:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=BTaN4uum; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=bMFB2Vca; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236332AbiK2Qrq (ORCPT + 99 others); Tue, 29 Nov 2022 11:47:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44898 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236315AbiK2QrH (ORCPT ); Tue, 29 Nov 2022 11:47:07 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BCF616C72A for ; Tue, 29 Nov 2022 08:45:16 -0800 (PST) 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 2ATGOf8w005619; Tue, 29 Nov 2022 16:45: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=6+stm1aUBeIdjSmqEZqbrP2RxWcWKKZx6ArgspYqK/U=; b=BTaN4uumeQNWIEGiv7s9O+FMCydW/a4mykUWmUrr+mbMF//goYHfU0D91gE2cz/Mn2DX eOuuN7l25t1xwoEXUD60o25APz8rJedg04BL/GD1H2/NqMgF1zOv7kZl3+U+4SZs9Go7 jjBgy8IARjSGDQ8BTC21SHV3UDPCfUf3ZIP6nLEd6iWmCpeaBkcrUgfDQ5a8jvS6dNwB kdwv/Bwp4g0YY18VBIAXprzKeWqlp4RKTWt1e5L+Q1yvQGh/tabC5c0a8t6n0OLTwZoZ NhSk/sIPZl2HRY11YvZcN5CbuAsW77oJQknKY5Z/j7twGRsCqHVKdMTNN3loDZB7DGcW cw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m39k2qfcq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:11 +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 2ATFkaU2026698; Tue, 29 Nov 2022 16:45:11 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m3c1vkkp0-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TJXD7HWtJCSW3qvey5mDdi55dJERLrmjSqtVNcsdJN45ZU3sTcLR21B+kl60Vh0ezZfD8f/+dVOMYLMKjNIuviLhOKYdJUqfvRm7FyOOFmILpB2XSltghMhduaPLGDsGFWM7aaNi6dxVjOzPGtY6bRSWfyJqNjJ2XkwW1NJkVLkp+Xk0Wk0j7iJ/W6c+iVBq79WxqIcH8hNdq0wqvViDfF86Yh5PQFs6Exp5jp4bgMcMcncre+px+p4+jTyVBHbX74KwrFAEWk3POvPpvzBmQd9ZOcCFbUzxze/EKp1jYU0LvuRdyaO4V9SfcxC5DFoDImQFyl/168EXQKWjiv5Lnw== 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=6+stm1aUBeIdjSmqEZqbrP2RxWcWKKZx6ArgspYqK/U=; b=C5Fjc52cyH+OJPhiYEBc89QFwGdt5HKXADGwKfWshcrQTtdrEIOv28L+ZkY0kUO3uaMyvm+cCSxVukMOgX+SYmW7cDaH2oZe7VoKhe4R50Jzx4IRFazby/QAVT+q/cdow7DS0ML1W4LUZG199u/wZb3+wQnuAmTT5ybQA17VhdPLwluPxi/8IZF7CDZAOJi3W9E1dq8sIm3lkjMLbR09363NllaoRUkP9ONxw/9LQU+GUdH+ja6rkl9MJ1Po4Ep83JSxHRfpPWbU91r8g64/jnzcBTQsZIVARQfFEsXXm+LAjfNo2s+ktuBgNq0g0q9Poku5+oG1UdV02xGe6X6QdA== 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=6+stm1aUBeIdjSmqEZqbrP2RxWcWKKZx6ArgspYqK/U=; b=bMFB2VcaupwFcPFhNkW+ng3gu2Dy1G1irkeZaAAgdlOMxf/8XwLTcP6VYeUBvMSvDVFiVfz6xXad0DGm1o9hzFbp7EMLRIKs13CEiN53hDkes0lVtRrM+9lLAcPiEqDe7Vcwr7cUarDonBmx2kOva+9FpqknqOPzUvYmmfYyvrs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4792.namprd10.prod.outlook.com (2603:10b6:510:3d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:45:09 +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.5857.022; Tue, 29 Nov 2022 16:45:08 +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 34/43] mm/mmap: move anon_vma setting in __vma_adjust() Thread-Topic: [PATCH 34/43] mm/mmap: move anon_vma setting in __vma_adjust() Thread-Index: AQHZBBHcT7O6YMI3JEK/tAVcMet8vA== Date: Tue, 29 Nov 2022 16:44:35 +0000 Message-ID: <20221129164352.3374638-35-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|PH0PR10MB4792:EE_ x-ms-office365-filtering-correlation-id: 73cc6c0e-4104-4622-9d91-08dad2291383 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6G1+ohNU+VLrTNxlg71pwhSofUGpsAsT9cRheA7ck0bcBaFc+fCaF0z1SczrmzVY5wzFwVcFmoQC3JHb+jm0oH6+2AdEcn4aFpNKxvB93dQVLrNJaxyUHRro7qJS7Q1H0/kqz6sNpCquHN05Zx5xBXnC41jtNRBxsTzw6arHBqRouHKozzBKfWm4DwiRq4/iUUViI5jmUFHVDLDByOQaBRF4X5dkDxKJhes2kjMMjnUt2TXinZlip5cAysWq4ME5LwhfZLsXXJ5lA//Y2mPt2ancz93T8UN2zhzvJUWGvMIC1NLloG8YJ/o9kpkOHfR+xf+7uVulgHNf7RlNAtmtwpMLtzbA1orzgCe/UaXop4E/ImgOCkHzkT+Rt/lqcMWA7csDv2y9HaaUGmuasIj18Dj1rTywpCEVR4JYwLrHnzGpZiscqslyJh6QkU5y31QfpF8bqfsKMXPg+znxfrwwal/xSC4+GjhoCe29FpI+YVtd8+EQ/t5qZv8OWCF1QcZqL4XcgN6ZsXs7EKa1a4v7TdpsPgJ3eeMbgG17SXcpuO5I8ZSEj4om/Iqvm4Sy1UJwlS9a5BfmRhA3ASneu6fCGhGg6CZztuvo2UaiHIVDThCfo34NPB8TRg9hnHKv2ICsrhWWGPRkVl6k4MSUDy4wMcUvJsF4SMyCmlob0mfTZ0rRBFFtJT8wSwNWGLMjKVSC7DlKzfQ8sWZb2hjjyax80Q== 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)(136003)(366004)(346002)(376002)(39860400002)(451199015)(38070700005)(2906002)(36756003)(86362001)(6666004)(6486002)(71200400001)(107886003)(478600001)(44832011)(41300700001)(316002)(76116006)(66556008)(66946007)(91956017)(5660300002)(66476007)(26005)(110136005)(66446008)(4326008)(54906003)(8936002)(8676002)(64756008)(6506007)(6512007)(186003)(122000001)(2616005)(38100700002)(1076003)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?5WCOpbUQ8g1RwMyT7lBbaY6?= =?iso-8859-1?q?bABu9AOzchGNc/l7+Gx/RCKqPqMRnhwFFX4L4TnX7mEw5m0KUPTYW4mp5AdO?= =?iso-8859-1?q?dnRfD/pv34yB0pE1MQevmxb+CDGWJ9btGliJopo14ZMuu47dB3gqBtsraD4l?= =?iso-8859-1?q?iKCY3tuzZPiJUatzL5jyPWiwY9qpFGxisl/L+fQmctHmbNTsSM1EnHjpUHTN?= =?iso-8859-1?q?twCpP6+jvpLz3LGk2LEIgr0UcalGBdgnWjm0gDiNmpPUUKVaBH4GJkmRt9L8?= =?iso-8859-1?q?F8+ScaCmOWTKsjPiwVV4XbSZXT37vzTqLWGoC9IncOnD19bQPcmwkfCNyKAK?= =?iso-8859-1?q?iovxSCwjRPZy98Wd4B+uW/pBa0IgHfY91xhLN9vtSIefrwazFw0fj2sgePct?= =?iso-8859-1?q?A1wI0eSVwPvhpLRyQmT0YinwaBDiVPCt+DQzCSXn8vxGlv87WWnXgVaYcEKe?= =?iso-8859-1?q?LtYZyUkedkzd3ALPEHdYNikX/WTtBQdrwiaHOgwd5sO8k8pmKR2kxRxxTbot?= =?iso-8859-1?q?GzFzm/+R0vIXTrIXPKYsdo3Yc4D9LQlGr3SeLpQNHXHaC10QVWTah+Y/MDUL?= =?iso-8859-1?q?ADDYALJaZ4lEy7ScZQq3b0+04rTAo2rPj9t0C194RMRXfAOMJBc1Mpx2z9Es?= =?iso-8859-1?q?V9jgias4VCVMOnYtiflmxs7zrCt3VZsq2cmjhRoyyjzk1/p7AgJ/SFuxvcTl?= =?iso-8859-1?q?nUsMspbOWV8bq8uz7FTvC0py91+pk5prL3e0ysIFgwlkGZ603KfArIf0WdtR?= =?iso-8859-1?q?r+E8JLEZ00fpw6mbc5ZKvO4K4jfz3azZVcWdPtKZj/QEFIZAiFGKcnzeGTug?= =?iso-8859-1?q?5HHHB8MPyR1jdOORdBDrh9+4m9QT1O0+S4cVYqfyZdUsShw5cZjcKm14anEf?= =?iso-8859-1?q?dKGf5/TbaVdvgPXiSv1bM0MhCCzdq5AfGjaL6FepYtdPlaPSNCK+0nzWcqCu?= =?iso-8859-1?q?pwb7H8+RvKnWK9AZTOddUbUmPFKcahYS6doM0mM6TgmllYshtinZ+yvUOxSI?= =?iso-8859-1?q?3XTCSyoGzu3cqPgG1v/QUVsT4nMZPe4R7QbmFhbqZ+uMobnOpreTyRqaPSe1?= =?iso-8859-1?q?QYodyG92ivl5KAee8eIVON83kDHPsYL/3hu0oQKIaCaP/YSbGQjuDLmAp41k?= =?iso-8859-1?q?vsibnHKOZLgpADkN7rkV4byrPBBYojl7Y58aXLM/lF9j5dmyfKaOWvtYEVV5?= =?iso-8859-1?q?9DBubY0thGJiTY1A9FFNz7QPzK9oqryvciapIMnNGXLex5e28IFJBczrf+Q1?= =?iso-8859-1?q?4yuThq7C45aoQyJNvFE8wHc7aG+gdQY+/mV5GPxKesX3nsjs/Yyj/zpBWtOt?= =?iso-8859-1?q?fwKte1P+MqsL6xIbX1hYGoLCeKTXEUJa3LDbvutlZymdCn3oVISFtNtG6eXY?= =?iso-8859-1?q?Ww5ayBdEHkS5P3o3PogOqVBzFBfcJL3lOuoX2+QIQfaDnkcPXMVdO/m+XOlL?= =?iso-8859-1?q?2EErhNIyUrnA2hQS9dsbikA3qDUNgOmrqNlZs+JQoJytC4t7h0WCqxWtl6kk?= =?iso-8859-1?q?hdx+X9KZcUBObEoAl5EjTNtgT51zzDrlHB5jGTwNHfjOXmHXVCWHGVoeDWgj?= =?iso-8859-1?q?8Evqo38ir/A4jgYo5+nSuA0cXxQ4Q0JvIbDOxrF2mBhoKAmRPdz3EkuegE3v?= =?iso-8859-1?q?XZETnb5Y0Oce6zu+WJXemv2zpWFqjEiLCES59zA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: nM5zw/jO3d11l+ojECGrO5rWUQvxXsG03UGaLjUn9ta/X9yRFY6RLMLq0Z58TLBOk4FYqEd3l81FEgC6KJIR7TqF9oDpQkfOTD/KKx4Jw62uERLBRRDeB1/EXjmUD8vw76nFkZiKXzQe/QjelAfatxDJ831QGDCxkvtQixjnxwBrAB4RPujHk0rCEfAEXeqZx0vo4Hilu9T8qsn2nvTqh5TEzDbgIMIg9F6j8eAhsT325DOTvyT5/+w3X5uCaSzx+GGUX4NrohC4B0bzXxequaM/mcQZ53O/UhcFm8jUevAJKS8T26wNHETsmWHEIjdS89VxfszxQsJA6boQ3XFtltbfYmXD8K/XELTX4MM+iu6oKT5QIBfC2GHYR6c14HTCaFmUeiugYO6Qzk1FC3a5gSofh2Q2uQSf7DWCUt3vnyKhk4vxZ0Dx27ZsvH/E+cffrmmZR/0He0BkURh1+DvEXPc3wANEwnBNy/Ra1u4OKouoLOF93udINJerQ3QNmCm/7dFxNlYrfRPqbb4YqzeBpedYJF0hCjhc0ik9fUMnlc1eTSNmaHJmg1ucAsMRsSKCiLrbh+nLqIjvH9ClPQT5f2cXmBrd7nLbx+hYKUDJY4LfEae1+S8hV8IDVX4OarutNWHhpqcX/TUYPMO/CA0i8tT8ewwj3A6irnS5JKW5aKi/ky74wpAqyl98W6EsQWj/YkVTayxHetqeeHwsxZpR+tah6c/CWA5xol5Vboy8JkjM58RED/J7QQvcAFBL4bcS87piEGXaIapDsvuFacK4PEeA315f5o9T9xRbmvIH8oBDPyIudS82fSGcGzKmVRieVf28I1JbuJJvXWquOa5yCfVrw/sZFfFNf0QYVXE2F7KqNhbL8GZfDiy5fbvXYCs5j1SDtZoqgRgmuVv+KxXkzg== 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: 73cc6c0e-4104-4622-9d91-08dad2291383 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:35.1441 (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: zNQkodUNGT9js6E9rY+aXOBIWCPVN7bMzuD42K7oeQ07k/IdiMGwFLvQlZ4i4OOZnZJ3y/AY9W1U7y7cnV0REw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4792 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: zqcZMA4-gAMR9rgLwanJlpLlgQWTNSSG X-Proofpoint-ORIG-GUID: zqcZMA4-gAMR9rgLwanJlpLlgQWTNSSG X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849870619256784?= X-GMAIL-MSGID: =?utf-8?q?1750849870619256784?= 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 e0e70b9bc391..5b5d5d856152 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -742,6 +742,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; @@ -763,12 +771,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 Tue Nov 29 16:44:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27374 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp454157wrr; Tue, 29 Nov 2022 08:57:17 -0800 (PST) X-Google-Smtp-Source: AA0mqf7Jzdq80CS1UgYBcVF/hieOzrUSuGIE6ekYZecUvwMa0WQuS0B9WeNQ6lCNvOwmdbaPaCv+ X-Received: by 2002:aa7:c1d0:0:b0:46b:431f:f2d4 with SMTP id d16-20020aa7c1d0000000b0046b431ff2d4mr8841164edp.198.1669741037734; Tue, 29 Nov 2022 08:57:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669741037; cv=pass; d=google.com; s=arc-20160816; b=pBgCFd3fy84sNSLQZS8TioR6JMM8IZqUJjRPr13aw9VTVWwC3BXz7G/zoS0ETFA7GA jV0HiPZafDz7dpYutGcodeydg/nqzvlUyXVo+QQQhTvPTSlkQFnuIYMhfkp2cgj+wf2C iZ2XyI1O+u7/QsJ6ubYLhQTwaKUDUlwABR8KXZB8knyHK0RShywrVd+jf+IKGTJO7IOU IiUoiOh1DFH3w/lKcY/dlZTB+iqoIdrYFHyvBhsIoCc8kOx7svtn7BBNnUGSwHqNRUpi 7rtrly5GyxCklUBo0c2GC1g8HHvyAwrSa/gkbs5ql2o3n9cXlOHsQKZDTg+jm/Liu7K3 f1Ag== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=H5O2qrKfVCu4WvkzldgsjO8M5umNjWJsGJwucEotnVU=; b=Jers1LnOxuko3rLCDSUlgOlbZILj9FihY72H4NUUW6LyZrb15x2jzxrWqaH2VI9Get y57Q3eSGBcz81fVgBS0XsgrbikRqDXjYkfSJJlYPqZGgFkxmsxESFhrJ+rvCwkBV8pov DwyMXo+XaiWh8VWKCgjnV/L23trr4SiG9d5LX1oCmJc/CnNZZUxlaLgalSltHnQeT1Bi by4Yuo0TbyrxsIgk8pHXGCbnhcSg7Lp3TjeBhSi6T0yZi06+PXTPRxhBtO0F+GjXfIqG 7KvtkD0FL6VzAoImSwKuBNvfrdwG6fmfSAmg8S4GxYopXWzfsWWMW9o3nUcgKIdsRy/L L1rw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=zuo2KyGA; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WR8zHfI7; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qf39-20020a1709077f2700b007aa6ce58d9asi14461549ejc.712.2022.11.29.08.56.53; Tue, 29 Nov 2022 08:57:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=zuo2KyGA; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WR8zHfI7; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236341AbiK2Qr6 (ORCPT + 99 others); Tue, 29 Nov 2022 11:47:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44910 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236321AbiK2QrI (ORCPT ); Tue, 29 Nov 2022 11:47:08 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D79A86C72C for ; Tue, 29 Nov 2022 08:45:17 -0800 (PST) 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 2ATGOtVo013826; Tue, 29 Nov 2022 16:45: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=H5O2qrKfVCu4WvkzldgsjO8M5umNjWJsGJwucEotnVU=; b=zuo2KyGALaQGjha/1bB3jxKBkhQMr4htKK1cPBy4aWg2CitOkk+brEKjX2kzoz19kb6x aQ5+aNzXsV5/r5FG3ire178ywR3NHTQOB7uJhF0q/1+GGNQtB0lYz7apC/ARmvjJeRah eLG3I4LneEINUdvsHc+K1z/SmEw0eH01l8cvOdsoXB6eL9G6Blwpxgjobl7fd2cJdGpD DamwxnxnFCh65uY27AB6l4H4yfqCGfc+I2f/W0gyEphni50I5gqQz0VI1So8XGwkdpkR piUfPonPCu+CvipeHhed7Tzizd55NaxG+jWKxeDyHaBgDqxGUmya6LqiseqcQZeRMhvs 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 3m3adt7e5a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:12 +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 2ATFkaU3026698; Tue, 29 Nov 2022 16:45:11 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m3c1vkkp0-6 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LldYVL8toIezzLSYS1IHG+cY+6yrWRn5ogIRHGoDen8SB3vRg4RQq0qRaeKuGhge4mL4oKl6cCuE89MHHBTqp9v8BzC5k+0u2EBUDqyskoImQRsFoXvc5wYFH0sb3Fake3WxazOtF+4tnepNdpLtlFZOCSu2qZ72LL/VlMt1S00gPbBhpQklMb1XoMQ7+7Mmg9tNna0b4uGunTkZyIcwkWOt7MWkWRSZJry2Ez9ddefCcBk7fehGYhsQUEc73qZwdY5KdnjHeiEljO7hJubyZ3AEREqdC7mNa5fLQ5EDEJJ+mKQUr6y2F4FrlXuVW7IRWy9pPQo/DW/J1jUQHvCc9g== 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=H5O2qrKfVCu4WvkzldgsjO8M5umNjWJsGJwucEotnVU=; b=PgDF6ZFh0o7fumk53ntFwrJZrP+ZXpn+Lre0u+4pE/GRYNnviGnor4/LiqF6kUgbe5PHb6kQul125WgbPa6TbcCpkNW++HuTbgpLJePW/PfAc9URC1e1KN8tGhh7qMVYI+WeY1iI/DBf7BCFrcVIuFJ7gaPNpqFAzGL5Yu1DOMP3zCmPtcX1Gqxq52A0eanc3XkhY8wyl4M3K1KOVzsAsCm5r25yvtGoKWHKzdUIAKXRLChqdIfruhpCXoM7sdgpdRcPkwaM4oataZRCcygPQQUCKGqFuAkJ/oaGPJIxMEZDLxamByQNENoxG5cLnNEVZ8qhrqsk1lXmU9w+9oJ2qg== 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=H5O2qrKfVCu4WvkzldgsjO8M5umNjWJsGJwucEotnVU=; b=WR8zHfI7LufY5SjR491A/z5kkyH72Lrw96oPuGYuQ5PMwTvXSFBGzS5BMOsxi6XYkfFNhLal84JV3e7DjEhYZxsp7hHQn++ZfmMKDBNN9AJEfQL6zeY30DDclH0DD4uiMJnwhj1R/rbk45FxIy2Sdzzz9+l9JSEXoj7vtxdggVo= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4792.namprd10.prod.outlook.com (2603:10b6:510:3d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:45:09 +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.5857.022; Tue, 29 Nov 2022 16:45:09 +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 35/43] mm/mmap: Refactor locking out of __vma_adjust() Thread-Topic: [PATCH 35/43] mm/mmap: Refactor locking out of __vma_adjust() Thread-Index: AQHZBBHd2j6SeN81mEmcl3JrUDIEzA== Date: Tue, 29 Nov 2022 16:44:35 +0000 Message-ID: <20221129164352.3374638-36-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|PH0PR10MB4792:EE_ x-ms-office365-filtering-correlation-id: 15186eb2-4563-48c8-fbfa-08dad22913c3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Ra7HO3ofmphVm6yJxBp7tned6DW8VjPbrf3Km8KAn86o5m686Yy87FHV9Fgz/IdsSjIwPlw57lltbZdfojhLgJS6V3Osc+eG84n/wyXvDWeD7hz3vqV5eDPGx5kbt5l0BaubesxtOEFkdFDfoRlZKdE5BdkmC+/U0eGrqRNplUyHDV6AIhRWcqUy0cFLQ/4urW8jAhfmPrIgg//YcY8tzR7p4BbwAwH9ep6zH1dCvyWJVlUZAHKu58SPZgHNmQjyR/xAmmclw18Dp7pta+RScoqohlW9Ht7MXpD9f1CgVJY/HuQiISD3m1CMe9AkIp1uD+3FKFR8E9DtBAo26k9zwvjYdM58SizXl3EvP5QLwVBZ51J7ugncgDM6YI2qFd1YUx2Z2NpSEgfsC5+22X1FBFFkGZ+TNaNWhXYmMJoBd8kcNCvJ1yEWO6+4wM/2wnbD154dNN2p9LqLFiLMTNfZoAYpfSM8O2NbyLix5+ScHI4XR16ybDznYgnu/QTdqpQe6HwDjN0jPAupU3Qwl33ucCD+Z4UsDkoL53SwnkDs1nMKtUjTrXRsQ/EjGShL/cI2Wn0OqScJJ7WqAMBONgrERVedIsMLKiEvHfOdttJz+y9PRLfKTz9/HqcHtMTN6TtVZnaCF6bTzWPeWZ4ZQB1Q93S1ZbPo8QJu9DwXoMFd1nzyW1k7KuGV+i1Y1hn7AtCMYGMVMFkB7ZxzfLFIa3W5lQ== 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)(136003)(366004)(346002)(376002)(39860400002)(451199015)(38070700005)(2906002)(36756003)(86362001)(6666004)(6486002)(71200400001)(107886003)(478600001)(44832011)(41300700001)(316002)(76116006)(66556008)(66946007)(91956017)(5660300002)(66476007)(26005)(110136005)(66446008)(4326008)(54906003)(8936002)(8676002)(64756008)(6506007)(6512007)(186003)(122000001)(2616005)(38100700002)(1076003)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?z8zDYfAEQt1D+9NMzeiKitB?= =?iso-8859-1?q?Q2F3KS1uRnzQLSGAJbsxYicS8+E1k7uMHiPNjOa4OJBaKdVpB6lDLKgYVmfx?= =?iso-8859-1?q?ZWwjQSHGoON4mlpowYo5Q+8gD/K4IG0bK2m7PjZC1jpkqqpGHslwx7GYgu28?= =?iso-8859-1?q?MCSoKZIPgN7HQkBrE5bnYyofnOHZ80LmqxTG5n8E3gPT6gGwORYgUDHKd4Xo?= =?iso-8859-1?q?7dbZK/zrp8HpAsNd/CktZHKMixufybfXzbgWAyzoeRu5CAJW8nfN3M6H45Xs?= =?iso-8859-1?q?aB3kT/WV7HYMsc11ewPkbfJrahgq9vQJdHzskJhFWwHN25NqyS9IVY4Wyh3j?= =?iso-8859-1?q?jMXdTxkJSghiev7sk/+KdShFsy5pg2OFN+Mc/TRSvcmA9bS2r+/vLU/U/gmz?= =?iso-8859-1?q?pP+unHTOqtCap5E85vMtjVZ8lyC9KV/pH4lpuXmsW2phU1FtMothh2SsVio7?= =?iso-8859-1?q?EtUvllXjapGhKIIe8gb25uQx31aA9E6YITw/674nvVfcNJx4LKo7nLsRweP5?= =?iso-8859-1?q?ExqjWKTU4RYb+dJ5w9wavhOXn+ozvnLzFCnHsTE1oZBWT6YoY7GKgR5yiS33?= =?iso-8859-1?q?ausAWGfz176d8EI7Uw4MF/rLsNt15p7SppPX40WhkNX1RYZJNltFLw8+xwJu?= =?iso-8859-1?q?plr+YnJuvCOgqMvCwAS1WFCnCgz4i3fGxSEqXs0PCq1kKdhn9T3MZ9jyr6+l?= =?iso-8859-1?q?JV6WrjMM6MjY4YvS/+EavT6VKamcXUVdMXjnlV90WX0QdQPKJdHrdkFD2PJb?= =?iso-8859-1?q?Fp+NbAJPJvofNE1XPrzFsZfeJ3em1qWBt2uf82iTGk9xdcWRIh1t4kfqXMCb?= =?iso-8859-1?q?VzjamwbVn5Vt1UWab2uRsOIChWaxp5dT4Nu/YlqaFja214lacqSAhT8oeFgt?= =?iso-8859-1?q?UaWV57LMs2mqDbAqi0946hYFWXhO8WAhVknwsjC7IJWyYjmkxsbJCoUt3KWo?= =?iso-8859-1?q?u4DcbfD9fF5L9cK76xpv42OHp5dBthY7u9cw0nG9waSWzx+Z44nPa2f8Ue+v?= =?iso-8859-1?q?Fa5nxsfOOzpBSjZ9CJ+Qo0T7r5MlBgfPu+hmUdO7RCjZ+farfyt+dOjrQTd3?= =?iso-8859-1?q?HMd7tSEPohpsG/xWMUJsu6dVDTvn1kiR2JPKiYXdthbGSd8L3K8hjaLqlb0i?= =?iso-8859-1?q?sIgDWM+UHBa//tWgeSRi0IUQ8ASHJFXojoMgxrUW8MAYJvDS4giYG3IQhSzF?= =?iso-8859-1?q?T4UQjw8RrO5w9LbxR5vxIrBaGrk1LlVmLI6w5+82fwm9VonYNS636/wikTJc?= =?iso-8859-1?q?VU+30Zo0Tzj+B9Btfh54AMcP3C0vW71xJgHSBwfvbv1Fcwn5BBOmH5rl1nPX?= =?iso-8859-1?q?+1p4uW/zgoso4w0npvru4PjEPhV5z4ab4QHT/hTD5gj9j/6OMbdsk2Ekq1dU?= =?iso-8859-1?q?o1kjd2215JPrB9dBkI1e98vrjUR9h7Q3jmotQQpQ3AUvwORvxADyisZmnO1y?= =?iso-8859-1?q?0WUjxgPPTh3GmVoQ3rYjNGPGPvYJ0Fw2M5isbG7czoKr8Z9wMTPpkBDnR0lB?= =?iso-8859-1?q?hFfUyVu4F4LVDuXQ+FTOKIGXWgokTgsQ4V/pEUrDT6YlvjKLvoC+8H3W3aHD?= =?iso-8859-1?q?tM/lY6ofmJE7l3qTzDCSrkCPQDTqBSO7gvHrOI3i4lBl/fzytuIRTRQmdnF/?= =?iso-8859-1?q?Q/CmorFTS1owjWCFxU1Kc7eFCOeIEiYLEOeeFIw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: uL9UtS9sYHVlciYW2jPxcMPmH9grfYilo+A+VmLf04oOXDyI1HcHwgId4UGL5rG2Nw0+/5eSbS5oJMW0FQmgvlAtLIa2marI77tSOzhnJRdc+FrKcbs9ZbcVS7/PHwp9CuvXFKQZUp6usNoQ8TkjgrdVMZwFReAIJ0TlUvRg1HkRfri4aOla1K51Z+/M+3cEXwmbsFeBPyMhHxCpyzwiVwCaV9GLV4aPeXtoxhzVh21FUBNNzDpl6CCtTZEO2QBiIjXzZ04xKDDsqqlH4+QZz0I0Dn5fh1xqCjex7VtjdN5sOM1EA45qEnRODKoMNl/rzahyF/ZLry5595gryYxGR0P8ClXvLKmBh0eumo3umHnrvETKA+MKMfzLgOfKufFuDuLm52f0NxgdCTUToTUI0SxhBjFcP5ME7mBj6OoH58Jj8bKqQKpb6v0uAp4ZlVWh2WrF4bQSvDBFtjN9SptVdis6tOnBdPcUfserEIEq+5XcY1gbRR9AUS26kocZLCEbRoreBYWFNEwmM75Q5bdm93hzfFxrKaciMjST2amrjBwE/QIQyQR9aBF+z7yv1rjQ7VNMEVIwLASpvGZxjTNa4Fnyg/gNt9rW7vU6KnFGUagS8PpMdPJcejAQq/YztVTC3HfGzptgUXYprlUj/6OoEPTULtjCW8tE+rYMaRB/jhzEci46w89NHtEnrrSQW05RTSQ6rSjtLK2lZVJdn78gTCltUVnCfk2+wYMD95JHE/8plxAnZOyVmI1BSxjAl4Z9qDBJERTxiSKgf0t3UMty01mIic+iQ8qWz85uDro7JM3ylyqbs0BSTvXj1hHzHSjtl6fsIc/PlQGY+fyJTxmxbm4NUwW0sTXf3NmhA9R+MMD4kARbqCKOMbvFDuuB9R/t6x/Tl4I7cupMwSy5LY2Xmg== 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: 15186eb2-4563-48c8-fbfa-08dad22913c3 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:35.5035 (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: i9Stvd48BqmWOBRBiVn4O2jkLDja4uXg7L3lvT3Fz5/vceys2zVZjRJgEfH3UqRdJDSnydvyiVAAtu+6yIA2fQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4792 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 mlxlogscore=799 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: JznB5SdMNQLOnWg0qGAvF7VAPLRSnqoE X-Proofpoint-GUID: JznB5SdMNQLOnWg0qGAvF7VAPLRSnqoE X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750850378464646656?= X-GMAIL-MSGID: =?utf-8?q?1750850378464646656?= 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 6b7ef495b56d..4dab33c2f3ed 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -856,4 +856,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 5b5d5d856152..c990a151e45c 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -633,6 +633,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. @@ -648,14 +769,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) { @@ -751,39 +871,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) { @@ -821,69 +924,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 Tue Nov 29 16:44:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27380 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp462353wrr; Tue, 29 Nov 2022 09:09:16 -0800 (PST) X-Google-Smtp-Source: AA0mqf54dxAGtT33uaxO3zJNNf10NF+rspnmSn+H9RXoNm2m8cikBsYS+zrE/eztsll/VyNgiFDT X-Received: by 2002:a17:90a:fb84:b0:219:19c1:1ae7 with SMTP id cp4-20020a17090afb8400b0021919c11ae7mr18353884pjb.13.1669741755861; Tue, 29 Nov 2022 09:09:15 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669741755; cv=pass; d=google.com; s=arc-20160816; b=IseHHtjgf3Yc94/YCXpUlS53nXILC580PyYwUomBBaix+x/eH1DghznkR4YLEcKvzr /MffTFZkHPlCRhQjBUqs4RhTUI/Gq1YP0vy2cwajlF2k7bw7LsuKLi+zbwINizNsFnv7 htF0xqfJZFJKKdPq0MsaOiVgXTTS8N7hYODu2QuskKJQGuroDM55DRZxTslTcZ8ZS7oG p9NRXPvcxZlAGly82G6cGj6QB0dZjB/orrnr+lW2KK6jaPXInoY8T4J74hNiMCwmnlA7 sfPGg71doIjD0QjgbEvTMNO212LtY15yuCNmtZ2alotKVI5KfwpoEbmLQDSZhS+zaofP e7JA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=D7AHktccuhtvwQg420kJai5Cpf4bMzSkAcFe7bPajYM=; b=08n9c/YLqhSQSIcw3IMFNW/ltStemI2wHmgVAfNosIdaNuo4m5j9KXqroolRgn+3Sn Byx7gLe363/lA41UdkAUUH5jDDbe74G8V9T26LFv5y19uk4J/WhnG76TaoG/1rL89nir 9uVU4uNxSCqkhgsS6FSH07aQZUb/h6zaD0SyfIzrbDGZu+fJiS2OB/lD0bLBTxI7gH/2 TbjpQVh/epLIK2njrHGgYVYrMZZ3djB6nnuYmvCI7l6MgqlYOZm9XhB/4OzGdaD7pNlD Hyo37kuPp5RNyFoBGNhzFujBPw1j9yutmhY7CZkDOeh4ClutqoXagJDObDLEPm8fewpn LkHA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=Xjj+NfV1; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wqlHsjRV; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w18-20020a170902a71200b001899e936c2csi1554256plq.531.2022.11.29.09.08.56; Tue, 29 Nov 2022 09:09:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=Xjj+NfV1; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wqlHsjRV; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236346AbiK2QsB (ORCPT + 99 others); Tue, 29 Nov 2022 11:48:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236323AbiK2QrI (ORCPT ); Tue, 29 Nov 2022 11:47:08 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5A91D6C71C for ; Tue, 29 Nov 2022 08:45:18 -0800 (PST) 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 2ATGOgxA005680; Tue, 29 Nov 2022 16:45:13 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=D7AHktccuhtvwQg420kJai5Cpf4bMzSkAcFe7bPajYM=; b=Xjj+NfV16kYdx6Ho5KsfEj5aRJMbm9HMlrmEqHXMg511c2ckfXzlHtumJsTQa5LIUx1d iFuTE/TEzvOLDea8RcXhPYh7dCL9OfwYLVlZO7YVsQXVRkXoEZufBmTFmTYRG+rTG2rt C3yqtrhkdKQ9WZOslZxQ4yZY5nnpi+vxas5QV/xIS2JZGmbseB/w8ibUzBuIW1vtzzM5 SlA65zMur28tEjqY2DyTOTNkzR1rECVnUE3mAW4UTdaCb1d25qlJfsjPsY/QldKL3RQM /Vk3+f5ErhKMKm9dczQlVSMiLmKx1R6QfFhTSbKVahRxPK1gmzBC6fo+kadrzowhZVWP FQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m39k2qfct-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:12 +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 2ATFkaU5026698; Tue, 29 Nov 2022 16:45:12 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m3c1vkkp0-7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Booidj0CTtoAkZSfaZkqAjbAiBTpAVfuwTHujB/N06ZU5PO7n7RXvk9r/tzWNZFjuS6v6fgoIOh3lF0NqrqRzugZeOp6pj9vKzobklzFuGfMxkeyOrBv7w1lMyeIdoRrNzyhIsnTmC/Izg3tKQamXny1AgeMbk4ZGIh0Rzwa8B0Pydm/HrkWiJVOyzNE/ct/XCu6a5b7mJOinQ89D0ijfBCwuEOQ5twMpGVjw5sQm41TS9cWIE5gP6Y3IloMdvVYyM2gZOfBZAYSiTNaL2JECl73ZQbwGhNEJIs4lSQo9jjmlaE/yGWm3s+iT5W5QEK82G/y2Ne27zHF7dWnIu/w8w== 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=D7AHktccuhtvwQg420kJai5Cpf4bMzSkAcFe7bPajYM=; b=cF0XJAHk5NStOUN5fcCqpbJ9kuDPzR/Kc9MpZJVYY2oukrvu7dcDri47p/b23lB86teq0fBqtugUFaA6aULKA4fuH1OuEyYpDlNDdhs5bjAUV0ZZTGNkb/dTKa+v5pGdvX9Y/jCee/oBKoI9WLcDQv3psP1+Pqy+vwHW4Jr+JYubDvJAFZQIG7s5jukCT2SmaQ1aroTivZp76JKXVkxQU0Vp3jPnYIwLty0lL5jFhsbUw0B0nNsZuCtigfc1D0qDEr37utRnr/k8hTnAb9+rUlLb7g5C/Rn+ozhLnt0ARPg+vopv0S63AbH+N/hXtvvCRQbvryoUGipUC/akgKkg7A== 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=D7AHktccuhtvwQg420kJai5Cpf4bMzSkAcFe7bPajYM=; b=wqlHsjRVpqIWu+vhrBRlrcpqDWPPfAeb1DClxPhcEohc05DtU/eJyNyUy/XW+r2xQHXie23MSTe+fMTSK+S2T1axr4g6mapjXAdMOaKuselsnu3YXQ20q2aAl2QDyFAyXthyDqhcAbThyuskjKBhjNdprL5DQqg8efi3FzbiLx0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4792.namprd10.prod.outlook.com (2603:10b6:510:3d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:45:09 +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.5857.022; Tue, 29 Nov 2022 16:45:09 +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 36/43] mm/mmap: Use vma_prepare() and vma_complete() in vma_expand() Thread-Topic: [PATCH 36/43] mm/mmap: Use vma_prepare() and vma_complete() in vma_expand() Thread-Index: AQHZBBHdAbYbG5CjqEiHO5lqEGIrpg== Date: Tue, 29 Nov 2022 16:44:35 +0000 Message-ID: <20221129164352.3374638-37-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|PH0PR10MB4792:EE_ x-ms-office365-filtering-correlation-id: e54be76b-688f-4b03-95bf-08dad22913ff x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xEEYWcVQ50h5AwwwvTKFAIU7t1FXIl1+assAZdxLL8zMLGYSQ0r+K/BG+Hnbgu0lRqIBLgv9A1OnO4oQGc8iZjp/tZ8e++xSEqPaTYy0N7V40DuRJb9IUs3yKtMVTWB7VuL+j8Q4hTp6H2tAtcOvSF9/lu+GUK2qu+AJ5BefM5NAffnAUWX8S7HtSkljj2oQWUjbTC4nyJSCmO+ktrJLZSsKHdSfdRtN3gecSNU63uf9YnszqnLXMFOPPmV1v2zsqzNqGwlAzbYv7qQ1CmVQXeDoyosVljeBlKBPkXRoLP3wWOiac0Y62d3kJP6wgN99xCR7Lak3uqZd3WJhRazQ12SYvJVuwTCZ7+OE7uEHIMUQtmb5AwRv8lDB38x00f8Nz2VxyfJG7AZ3P1mSsSbYKbamxkrj5gYAzV8aEbfzvxenv3yJ7vxe/wzgrcDYG1b8N5UPdm/a4BpBdaoLVsgE1YRUe6lMd8BZoU095YP/9pY8cI+R1uTecnRcMGp6KoG1EBL/8vGd+Jevs8iDMK85V1/DNt2ls72oSGxpy811fOJNmO/XCZA3GBuEzgBCwP+KHUf9SHg11lZWPrZ4BlNN/09OWYNJm1cWRgpN7h2Zm62rZjRP3SxoruSd8ugDozKTs1xYBaC9F1xV3xoW21xzwXeMQ1PE76nDy94ritvhdyfcNx4QfUC+bjs4Lxq0ykvQwGy51EdMpC1WRriMLo2Zkw== 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)(136003)(366004)(346002)(376002)(39860400002)(451199015)(38070700005)(2906002)(36756003)(86362001)(6666004)(6486002)(71200400001)(107886003)(478600001)(44832011)(41300700001)(316002)(76116006)(66556008)(66946007)(91956017)(5660300002)(66476007)(26005)(110136005)(66446008)(4326008)(54906003)(8936002)(8676002)(64756008)(6506007)(6512007)(186003)(122000001)(2616005)(38100700002)(1076003)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?vLcR6gPegKI66JmW64S/YTp?= =?iso-8859-1?q?ZLNcZ93gvEt3MuTsEQ5nqvjJhiEvB5UqHjQwaCHGZ1yDGqHdAoXZ5KJAbTkn?= =?iso-8859-1?q?NSgB4WFuJTmU0eDSWMkTYMvFdkfQdFvs6w1y4cykk1F+RqJd46Ee2Z3CPaa3?= =?iso-8859-1?q?m6qjOqpmzyVxXsZLIeeuaonOktnyE1wnmYa3cBK83f2ETRS6gcVDfldr/DQm?= =?iso-8859-1?q?ERgmJuMb1l1P5Y0Z/PqT3Ol/MkmFwanc96Gj7kT4N0C4ChNKEgIcUiRMN+0g?= =?iso-8859-1?q?6ynDQNzZ/YoZlrnx1/qspBFk4HaK9LAc2dLT0KETpok98/xdmNHOTj8R2l87?= =?iso-8859-1?q?BUQL5+Y5pIkoVKX6E7m/VDTgl4+p+zwBX9iL7UjJ1Bfb/mZBZjTUkdrlXB1i?= =?iso-8859-1?q?NHkqrPt19tLFZHVOiTmzmaR+KFuipnUGLPum3BZdW3/SrIr6QuotRWlBQdI9?= =?iso-8859-1?q?NoZc1sX6VtsdQGQ7iR5ZqtSAUOqWB6Yaq94THUwaEWgNjgrJGBpn3V6Yw/ZQ?= =?iso-8859-1?q?1HHjFKuZuLgqVznA+jRGJEutl0Jlm62OLdDN9ampshwVH7mKSJiHu/ZgJvkf?= =?iso-8859-1?q?EZ50o5MkDUta0zhbHvMeWtWD9u7bslMlYSMRnowsHvOppd9pBYthJsqBYDOo?= =?iso-8859-1?q?TRw6kK5BsT/NdwhDTW0PO78QgMPHQaL1o7B3ioWi2pae+I7O5RQ9uDQjzRPm?= =?iso-8859-1?q?VI5R+ZlAoTXT4073kiBO1JARHrBhFqMlLJKCBa2dXUmAuDgzwfidGyBB7nBv?= =?iso-8859-1?q?CmTcgqwgp8YW4oOhxDKyy8hJ2pJnm6axGobn4ZzFIob0IQJ9F17Im2xixDqV?= =?iso-8859-1?q?JEEOeOkDSVmFrJVDlokF8noQDf67DJjhkkcsT6a4vUkNACit8i62zbmxDQxe?= =?iso-8859-1?q?DCS++qkDnuj4BFvthCPnDi4oj0O84jw0rYXqz3h8JOp3qh0W9ZjLLdR4SUA4?= =?iso-8859-1?q?rxMxO1lvAHDlkt1rIE37hGNKj5zySMlpIWzSSpGJPHQ7z6ef2lWcXglUzbT/?= =?iso-8859-1?q?0RdbGgS5te+Be0RRYqomOqTfQCxWeI7TLzx7x9l8XvMgQGdL8+baWVmX94Yv?= =?iso-8859-1?q?Ok8Wxb84teBZyGtErocIGuQN5G//EPPGN8PfXaLdg+ivMTo1zvTAd3olxtei?= =?iso-8859-1?q?MHvvDGcP+4V4ToSUmi/TGhv3Ts8WNeJ4PWV9du5joy6hfKfgYCxcczXUslqy?= =?iso-8859-1?q?hyQLzOBOPEazQZKHIToBS/taU44UyNqNU7c5zhiPbdeeI9CamytJQ03QmjDS?= =?iso-8859-1?q?e1ady3BziZ7W6E8eiIYNfvf/qZF8vitHYOnJDdU0eubxJa5z5ZAfXFPcsd5s?= =?iso-8859-1?q?zYtQm6GtKcN2lMVj0pPY+QN5Rs+UuebUN75bkT+/9DsLr9ZVhefN5VeUbXZ+?= =?iso-8859-1?q?xOoTzJidaVfbrUbVW95WgfGFWadwbGwa93xfSh6VTCV/sy7fiYzUVIWYNZlW?= =?iso-8859-1?q?C2jnHmuyjfJ46moNtxubRqbOtnpvrTwHcWsgIB16FJIN6WSWqRYNTD0MoTzR?= =?iso-8859-1?q?6bUF/OK0v3XkEHOCCj7YVq4HiEw5+xn+k/Frmi5WWaaYCAhLJHtWTxuSlKfU?= =?iso-8859-1?q?NGHge81EnQb+3kI03GUgpp3h0Lz8ryI2LL4pq2DieDYPuVUVSrJ06zybTVU5?= =?iso-8859-1?q?VoKaZojp28kBYA17rkfCYSRSZGP4FLrQPgW8ljw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: rtZ2XogGioKfHeKgOLKe6iZ8+T8G5Wkm7lt6zr+10iIesWFI5BRevFhS8KaRoMXbAawAHPRdgBkGwAlkhIpqAwByfXKFxhMxENfjQoGcPuN0ZHQQpw+4BMVfsWCtBlGGzcyCTUaAi/hr7CVSo5KPTLOmyogiE1wPVJ52R7wtfGwMlc8NNHxrPKARVFFXlqSJLMsEefQx7Gf68SAUt5XY3SObHQZ1FOVnks4sUSKhKPzgQV4eE537Uaq2fE0Rrhf2aAok4teRKXFXtSnqINoTwpyjmzLFPzJfNI7fvxU7YGCzQVCjTD3FgideGHqDG+EmH9Z52O/vPCHF3xu12WRx1mhRr0Gde9TPYuKpQZ5lAGkQJOVSZ6zJvJsSaUE0+RvnxNNZHu7l2fKBtHzIopAYvaKvUFAweVvvRlnR9mpn7wO6if2dIvLEA6hTwPC4AWSALlqHWq08aU7dDvagdyO5YkbL5NktYGYDdRugpyTm8dDiHqUNOn7XCi63N2E9XKsIVNCo30ox5mT88neQj3uPaNCjRP9PWys/r3Su/wnqefW4cUWY/McGYb3WqOPXcwXqlqSqlJAZyqjodopPC71y1TbDIfJv9JKno2NnA2qAelhSr0qakWMrOXEw2BDG5ze8TDjthtFkCPi3/2n7DOKC+BurPxal5cx5v5YrbkA925kIBUpTvYHSxx4FqbX5QXkLS1BBwhspKywULHR8z9vjtjeax4uv5yWVT+EE5zHG4YPpaQpiHBMUcBlv7ylJ8Pg/riMOaoZUfhiaIIWsbj0avpmuVLQY2r1oUmr93wsjD+KP/UXMsWmLZdCiiSrnWejj4r+7alYG8rCnKlihhEtH0Abash02YUXfcR7r6ZLqjZxg3pxDBKXIffV4XkwJfA+mcVpStQajeVLF2ktZ8bTfBg== 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: e54be76b-688f-4b03-95bf-08dad22913ff X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:35.8472 (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: UpvfAeYsEjOBpG/Z0iScVhN9NRtYz66JQS/J0scdyN+Ykdg0vvRWkd+gFn13YYKxoe7tjzA2P8x6AfcWE5ezhg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4792 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 mlxlogscore=974 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: bD2cRgwrY-Edg-Gts5sw88HA1K_oQdZ- X-Proofpoint-ORIG-GUID: bD2cRgwrY-Edg-Gts5sw88HA1K_oQdZ- X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750851131300803221?= X-GMAIL-MSGID: =?utf-8?q?1750851131300803221?= 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 c990a151e45c..39555335f145 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -517,122 +517,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 @@ -754,6 +638,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 Tue Nov 29 16:44:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27379 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp459129wrr; Tue, 29 Nov 2022 09:04:50 -0800 (PST) X-Google-Smtp-Source: AA0mqf5ba1jlC21wvo2iEFxQJEM1e/ACFhIhIPVFaY93PnxkNyDLPseaxX5jT62SdUeTtloqiCIq X-Received: by 2002:a17:906:f896:b0:7bb:cdd8:94e7 with SMTP id lg22-20020a170906f89600b007bbcdd894e7mr21334195ejb.369.1669741490355; Tue, 29 Nov 2022 09:04:50 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669741490; cv=pass; d=google.com; s=arc-20160816; b=ymLRHQRcWlQfUm46YHyxiC9FhnnzVzMAI6RgczLTk+g+raThiudOCQGPoi+21oYuds 4k1OszdlGcteuUZ2sy/+eCmMfN+W1Kme1DC2yBNAFMI8RQjiqXWjsmKQTYPTAdo8Ybfs 1B0JTHSArWyrn3FJ0M9g5bzaiVkq5Kic+7nlOEjlGCkrYQI7UWM9kFmIPpzjxBQ3WGhi lP2/v4cfs6HnyzRc41DGXzwxxtDf66uNpIhoq96FBR/o78nb2WXpCuwv/jtguRaPxVx0 I5RHt/Xw7TVX2SdGhVaWzK+N+nPslV2+bPSooIkSYC+STi1GmidFTKtAh+QxxVnWm+Y+ LgLA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=QJbNDToPPBGmnKbH0hoXaHKCrKKZJy8f2tBnF9/nnTc=; b=sq/PhJ0l7jxG5XAECMm7jSvag0a4NFJpzIOdwFRGUqIrff/kQxcOoNFAcNK+WjY9RM 2D4J2TMPOE53MiW9rTPb1zgBlhkmZcJkIgiKupk/TBvF5cpG50VmSerkyTJ2XRqNzWdW J1MgiXbWz3KRF93fznWWEfkF1opsyAs44AlCuqxNTEV489Mox8HKfopM9FvEXt246dR9 5V4vQXlpZ5RoijsLL21P9n5U+MiX9va+2HA2nT9hSVaqSpzTGs3Sw8dCZ+CmROU1AZOK 7sCKf7R9JDsa+1GGCQXm7KxGIa9HjeFM9/J8Vjz2BU/RquAW4dvq5xPIxoIYW8s2uIn6 Zo7w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=fYXSppRl; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wHRBRj2R; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id xf9-20020a17090731c900b007b28c65347esi12964423ejb.695.2022.11.29.09.04.26; Tue, 29 Nov 2022 09:04:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=fYXSppRl; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wHRBRj2R; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236356AbiK2QsL (ORCPT + 99 others); Tue, 29 Nov 2022 11:48:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43760 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236222AbiK2QrU (ORCPT ); Tue, 29 Nov 2022 11:47:20 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9FEC76C739 for ; Tue, 29 Nov 2022 08:45:21 -0800 (PST) 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 2ATGP3vI031406; Tue, 29 Nov 2022 16:45:18 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=QJbNDToPPBGmnKbH0hoXaHKCrKKZJy8f2tBnF9/nnTc=; b=fYXSppRl7bG/BgE3BxV1zWcGMG6BAK2EErFnDHamJUgQGVafPgPg5R6XFJJhQsSGbX8Z L2ZIcs5781tmEf0PMZ5bvGwTuRulMmcCOjef5M8oeoTnux0coCLJxU/8LI9K3/5Sfhg0 Olp4q5mNayhK+5xZsGYUYB4g4HBohPAjhb94tF2tqj2k33rgW8wpJXnWckRoSJ1ckUFA bSq/m3/MzgY8ICqTWcXe0kLvwStdo3nXB9BYAmpZMGyCmVTNJI7WomVGXgVvdsXfWivW 1Mkzv7tOZwq4QzDfhF5iNFtxK5Eqj0mEYvGKk3Eg7hc6876WK9CKZiUPu6eADvOmpYNk hA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xavd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:18 +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 2ATFm8O7031000; Tue, 29 Nov 2022 16:45:17 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398773b1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ft62VwvxdR44wbmqgLTR0fdgZ2pHWyu2h0YCVFfsMYXrg4uJ3dpBzRzx6YBZhaSkd81Zp9ilLvLqtyxLcjvg5wAY1ExZEa4jQpXm2vL7TwFZToiCL0HxGzZXj3wcYOdVkzYxdDoPy1VhQWkjS4HfNVOKP1hue0dWSjrTGbCJqY0y+OzmVXNFnxjooKk4C5lisHNp33ATsOf53pgPCIDecpl2eYdue+uiasHXB64rqNmE2iielSjGgtbRZLU4lTJ5SaXnl/kpSRNAO3W8MdmF4dM07Yr4jNPrI3JO92AL/pw8Cu0xQM7JZwZOX4visC150JdgYBGrkMLwrBCLLg6e+A== 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=QJbNDToPPBGmnKbH0hoXaHKCrKKZJy8f2tBnF9/nnTc=; b=aIGuzbzWFUp+7xzhRCMC79nOwlFPMlElwlCL39La0n9exn4gBqOTE0ufDU6Q+/AkUrvbSu9Xju4794T8l5oMC8CiLr+yzhb0Zur3fPzHY+E+Zba3BOYycvXXPCenKD+mRwitsCcCv3+DoKftUVP3qGCmoQX9/PUkf2wrF+nonXYjX6WK/QyOFrsgB+Qq3+5zwNLwEqVMLakOudAOUIPVSEPbL69xhX3yLS5G7b+5ZSgvQQmAUL8mwx97vpRK0XKkA+KhNSYOdq/s6pJNPyS+OZXiknj8aPvkyLAUZcjf1qstAaUiw/rRVjybRdvJfWq6cljtWMZuzSg01GzgsBmmCQ== 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=QJbNDToPPBGmnKbH0hoXaHKCrKKZJy8f2tBnF9/nnTc=; b=wHRBRj2RJ2KQ6nxpC9nSf6GCjiliZH1mnYA5yvsVJ4n72SLKBDZQtrsepQwmBWKK2kdB4A2UTC1FthPZ6fRuhkSn5gBAbF6mkk9KiGyR+78Ohycw+TgY479S2MoB4XEqmbJ+5zZB4xGARTei9I3L2odcJ5FU12yBy4QcGQlAnQ0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB5937.namprd10.prod.outlook.com (2603:10b6:930:2e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.18; Tue, 29 Nov 2022 16:45:10 +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.5857.022; Tue, 29 Nov 2022 16:45:10 +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 37/43] mm/mmap: Introduce init_vma_prep() and init_multi_vma_prep() Thread-Topic: [PATCH 37/43] mm/mmap: Introduce init_vma_prep() and init_multi_vma_prep() Thread-Index: AQHZBBHdzOqYp4THJkycaA0LAPe/qQ== Date: Tue, 29 Nov 2022 16:44:36 +0000 Message-ID: <20221129164352.3374638-38-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CY5PR10MB5937:EE_ x-ms-office365-filtering-correlation-id: bececc11-5593-4af7-7d59-08dad2291449 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: M4vCxOA2DNX/zNiQuWQlMzKiwhTZhn3OAXf03GicBijy3SmILadHLXmF03cu7SnFEvOi5Hrf/ODOKV4rMT/Q5C4OyrtxCr3JaNkberv74w9Cr36pvdJTeuBLeHVISjXkZd8d1vsylUj0qhGconJSWEJcYK2axYeZ5z8KLXk6JifWhY3q+heJhy9EfTZo7vA1VflJfN5SywNDPHRJ/PhzHud8bqyfJfnDe7HVGhDoICz8Kkq0GK13HPJsmYIWUdPOoKFcZnTRKEf1hDUFtBHIkglYsbJB3ipO9zvkWS417cGcd5WdZq9RI+tWFV71okGsfEZSH22bJZESJPYa+VtC0N3DOQIlp9DqDwedDxRYByRkGQy45phCP/MrMvhI58BRIwZjkVXNsMBdMnFgYjWTWnyxH0zIognukkR/6l26oLBIFwca7pxGLeSFRUCiy7XOAl4Sk8LrvDr+8fJ3FRAi+zh2tApxaBeNibaPYY4xyYlCL0XIcjfGnU9+5Lhof25FoVq1KiSxnx9ivlbDZg2YKtnNgxwqHSX+V75ueWQAA6/xVKUnA1LyJKFt5f8OLVALPHbOv0e59zkH7FV5ZGrb7M6nMOXwW8Jkudpp0sATNp2uNLTBZLh/XDBTD26Xz0xKoWeGO1IF3In6Hih0wbbJbfltCPQTxeNO3+6MNx/rJDocvb+fWeOjKvJ/0PuvIaASpmj3wXeAuFWJMKZ9t1MzAQ== 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)(346002)(39860400002)(396003)(366004)(136003)(451199015)(8676002)(66446008)(66946007)(86362001)(66556008)(66476007)(4326008)(64756008)(91956017)(2906002)(76116006)(110136005)(54906003)(41300700001)(38100700002)(122000001)(6512007)(83380400001)(186003)(8936002)(1076003)(36756003)(2616005)(316002)(5660300002)(107886003)(26005)(44832011)(6666004)(6486002)(71200400001)(478600001)(6506007)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?WZlKoGGJdfcdelhwfGlEd+R?= =?iso-8859-1?q?HHJC7JVBXBfTo2uiTex7lBA6O2qGFBcQesHc/mcJTTmWMr72gvvLv7odvc39?= =?iso-8859-1?q?gq/gZ0EHCHjX9/7nRZvgXNrEA/kfyoy7C2K81Z5CVVqQwZ5CaM+ITAWkMWy/?= =?iso-8859-1?q?A8Q+BO/RRKAwia2sCdOQGES0QyqMW9EaDOQQFwRoccWufLrZvKCqROWe+aTs?= =?iso-8859-1?q?GnaM3Gvy7ugbT2vMfl1XNLrWnCAp83ai82gdUHJR45L5BXX/w2CJlN86ftIx?= =?iso-8859-1?q?Bu5p7Pxlf1KA8ZTAuw3hCZ1/pcZupqjF1rRvYXaPVckwJDybEO90yb3lbnfX?= =?iso-8859-1?q?kcS9HmSyJiKSvlrhpeuKffz8nf/wM6QkhjknQLYAO5tKwERM9C1ynZjUejhx?= =?iso-8859-1?q?hBnu5OxCZhyE029o1Cp2BT5j7GhDnUtRFIq0T68EcP9iUeyiE2O8G4YywljZ?= =?iso-8859-1?q?mwSb/hcG+WMV0oaBC3tpwltkIugF7lVmmWYbu4iKoZtP5x52XcyZhWCpX84g?= =?iso-8859-1?q?u8nyJOnCSrVJlcFTFIoftOIvObOqIDOQeT2m45KgqIQhP5Uqi7kk5VK3IHY4?= =?iso-8859-1?q?YkYupw8xLs2/l2+yMqEdOMNCccbw/mzy0pEigFU+V/Kr7cNQrbI4XXeKC2Z7?= =?iso-8859-1?q?ywcuAhjxyaDhz2PkdmhpFK14a9At4rQSgw2vzMrraoPqSfqL+Mjgqm6cMuPf?= =?iso-8859-1?q?gkdTnLNVZ+XSryMYpMTsnr/7fWbHqVYW29q/IA6G0Ue7JhQiu+ZvvCdkR0ds?= =?iso-8859-1?q?l5q40cDDHa7KwqoQeaiWB4pjsrOw1dors7l0+q2cbtCrXQjvWDL3V0PMtoP4?= =?iso-8859-1?q?KQaJzij53g32bQ/vmaEU1f4jUiUc5XyZDfJ+YsOD1M6d3jqcmXbIsBxPgxeY?= =?iso-8859-1?q?G11aNTLwHmNK71BGM2G1tUHhpc7ANypBskopJGDn+PYhV+I5LGtoavpuq8XI?= =?iso-8859-1?q?/Qj6jJ1Ox+1HwWRqp47qnDik5jo01hIApio4NpK9ZbhfVQ6oB8br4gKDKWbg?= =?iso-8859-1?q?4DAax6wk30YxmRG9d/aitQvwHdm8PHfEkYHfHBzam3BcOsHxU56cUz62VqT3?= =?iso-8859-1?q?VHeKhj11i5CtWD+mX56oPkdtXEli+d02sVuiRmj+jvYxI6MoBVCs7iS2yNVH?= =?iso-8859-1?q?VRYzXvssZPDQQrH2/O2Kp+jJu5MGGgs9aVU/tz6ySyGi84IN4PVu8f27+2ni?= =?iso-8859-1?q?5f3dG2Ldfjw/64A93Xrq75JMBmt35kLnxrllT8Ws8IYLHgpsKvCCtvwsAA79?= =?iso-8859-1?q?6R2YHr7hXsUAfBvlWGqPP/5mQjiG0l+2N018AFeAISMJk2csgdCcmXYPGsnM?= =?iso-8859-1?q?ukOLFR8Ag3KPtT0pQgAKTa7hFwKEWx6caqkEkMDYjYceTpLl8tKQyaJ2Khtv?= =?iso-8859-1?q?h5Kctrx6UkjHnuItTEhv0+1pgqiCoyJ5X5ipRXEn7S+kLz1F1LARA3vTVTqv?= =?iso-8859-1?q?F4SYY9P7pg0wiPECMiCCSbfY2wmcGtMejNU0cDSP7AoPJhEDIeoFK3+jYwcN?= =?iso-8859-1?q?HUqsk8di3UtpUzK7q5dASuPh3f7Q/Lcty4dpWmN5o31qAysXhCLWBYlxKgrm?= =?iso-8859-1?q?CiuzhCNSToSn5ML5/vhNN/HAEruL9XWbKGN4sRgMj9du87UXLIM7tJnYhgwT?= =?iso-8859-1?q?3VXlwzRcxvob08Z498393t/wbbyIXsEBdgZlxig=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: rcAlTzmD3J3eObcKNiBwG0ul+hSQotCjrhQ+lMFgnxELGQrWQqypZ9BXNsaLjFFl0HMklMZX3TxYxYP7sC4G2zY3s4wsHlU+oBuq7qtSi0xo6POwdsgTG/Hjga248wnO8hY+yVgkLCPCh5j69BbyhKjtMJJ4Ql5mZBScdZdGLtrFUWo634n5NCfIdZuhWS2ARSaZC+RKgCpdounIphjJnGHlhXqJry2Dx55vHzfBG1LstytutSR8NTi/VGQOYcIhfMHR4WYR+K4U3Zk/STwgjfYHEaVKWFx88OjwwJ3dBiYGI6/CR9UssjPLYNOxTSWtEzKcZaYwUHSy1bjCSSJcSyU0Oon0tcIEJwc/doeVQwac1tZEzGwC9PwG9wnjOkAbHuSEz+blOrzAB8+2CXHp2CJTTIIQ+d7L+rkGTll246ktnKCqQPWhT9TihFgdomo4oJlq8ebyqiZCBcEMraaNt3jZZR6Fo5NFJSpUrxaESzXUH3lTTuZIIPCDoa5CpPfE1ZwUkFvm5YL0Rn+YEcGavBZlJqZ1KFugIs2eAJGua1zeu3kslL0j9grt6CgmBeBkb4pz4NK+afwLj+Ww0BQMOC/POd5fQi/nmRg4vSmiu7h4u7y63BGq2rAHmCicTctNjSkkhIfnMRfAR9/M0ZvqaLXnAw86HQbxRhmy/1NyFASvf23D4IgL2wgpX6KTI69ytQH/yjKMKdNdoAM2cziemb7sdy7hVLigx07qVlkPEPy9nSszGAGbJYKJphUBwdfehzY62OuY6cMe0KDnPheb73iK31yX45JyDWsA3vNl3uPbuiWUwtTpFwfxjGKyp23Hs2FgC45khnebBI+v+exxYH6NbsBDnsMaME1SO8pgQXi04Qa7OTcjb3DH8PaiXs98kOhEoqRZKWsr7EucLNhVIA== 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: bececc11-5593-4af7-7d59-08dad2291449 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:36.1440 (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: jGvYTMJ8OQpHj6bNNZs/3icboNIw85qbWCtlOL9ONMAXmqcC6gB7wQHTHVamwRtharQ4Gr/SGBKjUwWSp929Vg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5937 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: uryKGuMcLhkgRhDbUHGYqoSKn7fzIDg2 X-Proofpoint-ORIG-GUID: uryKGuMcLhkgRhDbUHGYqoSKn7fzIDg2 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750850853067338866?= X-GMAIL-MSGID: =?utf-8?q?1750850853067338866?= 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 39555335f145..258113e13a88 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -517,6 +517,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 @@ -626,7 +665,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; @@ -660,17 +699,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) @@ -678,6 +714,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); @@ -688,11 +725,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); @@ -723,14 +755,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; @@ -749,25 +780,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; @@ -777,8 +807,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) { /* @@ -819,30 +849,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 Tue Nov 29 16:44:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27376 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp454691wrr; Tue, 29 Nov 2022 08:58:27 -0800 (PST) X-Google-Smtp-Source: AA0mqf6DDx0VVZel4381yZK6he8e+F5emV4j/r+1Maj2Z751LmnQS32lKYgUmVoTqQrxIey6gvBH X-Received: by 2002:a17:90a:ca16:b0:219:d71:5acf with SMTP id x22-20020a17090aca1600b002190d715acfmr22972405pjt.52.1669741107427; Tue, 29 Nov 2022 08:58:27 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669741107; cv=pass; d=google.com; s=arc-20160816; b=iBSB43kcjtO9R9BUGiDtZiV4BeLdBhV1pSY9hPDpXvT6nERU3VhY8a+7ItU2DLVHc2 Je+18neovU4SYKDOnKGcm/W87ZhTnYd+Ix0SXAwHOVm2bekdbpkoSk4hwsdrOFk2PQFI 0uY33qL8B808G+jnlo4OPO4Xr7bzlAvYMjSMfW4alGHxuimrWq1exNoQKEKgK0BeO/lE iftIi3ZmEFUnHKQL/aaqF9zll3yTNC7boXnMUjCGi61YRontkmAhyP0nTHh8Xn5OGqVR N+gG31mf1rSTMV02MwQizyVLb+YPyPfWEVji6J9pEAddPIEDEJnSc14pyMzVB8bqoWZ9 3OAQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=x55XavSBAi4yOVyvkovD+p8FY0W8H7n0eGu3byOi1+4=; b=bh+b2Uz43f8uaIjUufon/oV9Rt6tJzIWslfwpDtaue4vqKdQBsYlBafOOUfDd6Jls6 ls/L9NIuw4EG6oZo4tnCcHHl4el0jI72KYgGydi8VfTJVlQmN93nJQkDvM9bGLT1M1ts CFhE1PccmM8t6Y6LGKAIMxCHvaWFfO95dyhTU/9lnYHkqmOiXyS4I9dfaqSdpZisNiqF +zNidhNQulTJq8WbJX7GgqsakdTE1OopFu5LG1cHFpb5Rva8AuoLeym9Xg9QhpqRHpHJ NOoIJQb+yxjEOeD720BC8PW7kq901jijBKU3z2DLFTEb4oBl9d5usHOaE9qL8eZtynRm KIvg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=XT6pwjhs; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=jN4zU5Om; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id rj2-20020a17090b3e8200b0020a695678e5si2166167pjb.146.2022.11.29.08.58.14; Tue, 29 Nov 2022 08:58:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=XT6pwjhs; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=jN4zU5Om; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236351AbiK2QsI (ORCPT + 99 others); Tue, 29 Nov 2022 11:48:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43728 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236095AbiK2QrJ (ORCPT ); Tue, 29 Nov 2022 11:47:09 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DA6086C728 for ; Tue, 29 Nov 2022 08:45:20 -0800 (PST) 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 2ATGOoMi013723; Tue, 29 Nov 2022 16:45:16 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=x55XavSBAi4yOVyvkovD+p8FY0W8H7n0eGu3byOi1+4=; b=XT6pwjhs9Gmi7qrWbS+KJfdXEymNFHTgt0ZLM2jJ/2EJuhArdpLGeXchW/HGG3WCicw1 c+bB1bbn3DHUgd+Yi1mtn24CSN4QFfSs2FOHygmdLHE2YsVBeNvR7tpAG+kBKeuFGyY1 C9Eo7VzqP3HNNZDqhkZDVccZEr8SQOsMpgJdd44miPYXso+AIBdAS4VgFsBb2xrABtCt yugzgqLg7jLjtt9DN57gDt9WGMZPYb1JtN6vN7bddGDYtMCd9sXg3lIvrU17aOrzmZFx Fkoa/LUY1PoU5rj+jUxFeAS24WORebm/DOES2la3sHw82tF7OmD5poh69acV0tXW7CTJ WA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3adt7e5r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:16 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFgHOR011450; Tue, 29 Nov 2022 16:45:15 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2040.outbound.protection.outlook.com [104.47.57.40]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m398drgfk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dKpJLAI0eLc1P3y1xiPDwIrdvafsvjJM/++utN4dN7QE1Ny0CChNyYuqD6+knduMVYy56rZwKYGXL8gnyXtzI6JiSsu/rVgAKe9FZfIkSBj+m3yD8CgRcojoJGY1pvROvqG06TKHIGIy35A+f9tF0mYclQoALrHN8W+9Lggk7EkHI5gxqZg8c5PEFrMsspquphY5x7A4brxKN7MhbRHWrKp/y4F6v2JBNtHEK4Mpwz0gD2OL3aYU1m3rA6nZ4S6cwYp8wHxuudRG0F/s2wFPUnXUgyCIECLVMgyjkpv+8U5REpvNo1hBq08Yt8S6OQJdMhQLvsfQZBp1KkVVgdn3VQ== 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=x55XavSBAi4yOVyvkovD+p8FY0W8H7n0eGu3byOi1+4=; b=WiPmqyJAVyz5uwNK5RjXogiQTNpd/FmJNVkaVD4N8uwIp7BEEEGPqvkX2/zNoPUe76Q4y7xGUHw1MmobKWN8zsgqEiMfuQ9LkKXpK8LMi/U74Ufc9N1kGNPDDapwAVA0qdvznsif6vTgQHYJMXhcEzJTI7rEJW1TNWTZjTB+jvC5BUhFT+0x6L4eemM0WJWY8nQwJb8TbC8km+1rzjUaA9BxNwbcgSzii5/wn2AYHDyRaAHArFeZXxXLk6VLxdqePuon6QPNb9tpugAzoPUWtGdDfQx8TYngMJF9SqLN0ORN9MDOoVcQeuCRXwGizCiNhlSMTLu+FiV8PjQcSxmKdg== 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=x55XavSBAi4yOVyvkovD+p8FY0W8H7n0eGu3byOi1+4=; b=jN4zU5Oml5XNOeAd8hCKph3rwPBo9XpmZwTyK62vy30NTsZuCrbDFH/tr8XfqsMlAv+lKIQaR21UUYbhQ1CuMKbo+ODU7K9qIB72IeVuZi3LynbwUjdT6AN63YY5tSlooeduzwai3Y37qrQbBd8RII4fYPLs+mfJMzjdh0RaXRE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB5937.namprd10.prod.outlook.com (2603:10b6:930:2e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.18; Tue, 29 Nov 2022 16:45:10 +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.5857.022; Tue, 29 Nov 2022 16:45:10 +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 38/43] mm: Don't use __vma_adjust() in __split_vma() Thread-Topic: [PATCH 38/43] mm: Don't use __vma_adjust() in __split_vma() Thread-Index: AQHZBBHdg31AmCq0YkitidwPIgqU0Q== Date: Tue, 29 Nov 2022 16:44:36 +0000 Message-ID: <20221129164352.3374638-39-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CY5PR10MB5937:EE_ x-ms-office365-filtering-correlation-id: 3eb6ae5e-08ce-4027-dbc3-08dad2291489 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2e58AWSw677I65ukj3bLVL31BX6t5qnxQKBHmGACHa674UHrFJcdIvOvej8jFwKY7ibLqdOjJpyC4wlgm2e0lvqQ1ddH0K/uhMlzzBEYmuiXSmHKmMS9fKUf74pxerQNnnxyZAufDrOZia78GBTPGDsqku0TtjsrIyvXu7ZlWohU1GVSMnXGw0IpF/RP0vDLPbz9xEUqnaQZY6AARuXPpoPMRlAd0B2ENHKwwdE2ptR9GXEtJFMRb0/rK3ou6hMvWPUCW2A0QARRei8Sk2zgOp/UMH+4xpcfpn3L+EA7hAP20nBORcxNf11lNXTBTY3p7mW7/1NAeSn32fO37KLuMxGr/N5VOFM/CIhz90TOMzuwqxUiyMMlHaCAEjc/aJv/lov3wZdudCMylEuT1iCe/nTTw2jTunUhqxyQxcOGVq1DIJ8W5QBp2tjgGCpDpTgJfRkjUtxEi9bfMfPMsdRU8+jKcF5w6SR6NfPymIxiIdlibGGyhSFwJK7San4jw3AxpSHyN2n9J2iASZAfqkvJb2NWRceBtjufDiukhNHXIpfeUYZhFFCnvESkqE8eKnT4i10OODpaRSSKUWdXpGH+12so7Bnwb3w9g65Z/DERUugO1+PDylbbeE2m9er/CezWPvC7ieQFz4cAt21A1LsgBYrVjenfza+15EAcSc0y0Oi6casBzLiwGX4gxG4NnaccOXrvyXAdXcECffDRa+s9sg== 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)(346002)(39860400002)(396003)(366004)(136003)(451199015)(8676002)(66446008)(66946007)(86362001)(66556008)(66476007)(4326008)(64756008)(91956017)(2906002)(76116006)(110136005)(54906003)(41300700001)(38100700002)(122000001)(6512007)(83380400001)(186003)(8936002)(1076003)(36756003)(2616005)(316002)(5660300002)(107886003)(26005)(44832011)(6666004)(6486002)(71200400001)(478600001)(6506007)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?mXU4B6iVJAqTajioUAHRVL0?= =?iso-8859-1?q?+H5hMwQHmd12Ry/AApMvh779BS2D4Nz/v9bQdflOxbxW3hOAGixiTayUVcH3?= =?iso-8859-1?q?DPwEOi/P/56feRlEOE/4IVMkEdByy/eQeV3bhoUyMAas+TSg/k3QYJcxdGxT?= =?iso-8859-1?q?oEoUoqI0Z4bnIPeVSxGa1yDEdfOwPMQytJ1ibrC0f1okCgzO5i0x4GrqNauu?= =?iso-8859-1?q?ycmsGvETXnSGhf+q3d/5xxMeg9KgEpm3xwhc24gWxWoqKXBSYcucTVSjmIUn?= =?iso-8859-1?q?T+Fadlkdp0XN5s4tHvxWo5F6vRWYPc9acDt91dL62pi797W7ggizYbEfA9gA?= =?iso-8859-1?q?8AOjvZs/LATP04j5HdUBPG20FBuCZpihQvQq0USZ+1f7tKZsWy23dhNEp5qJ?= =?iso-8859-1?q?CunM0ehfq3GbNSCsZX1kutEh9SReMx8o8hs2dp51baS4raTU6WWF/lrd+/ST?= =?iso-8859-1?q?y2UcYnfwMVO4+uj1N2IOVH48sX7j6wgOhflMOYEWVB21HYoOUwU+5MHzvr9q?= =?iso-8859-1?q?GoKDs8TA/U/0jZ6/hrxNDo1gugPkTI53FmglEN+iUplq9OGYYETu2gd5jZlV?= =?iso-8859-1?q?aCHibWIarmdICnbrhmqh/9vqcDUWYF10rUogL9ZTSU9qOpKI4Kj0PX/v6e08?= =?iso-8859-1?q?luYpYmLucfZnXjh1Whl6nluVspt6GLglcGD8u9ccxW0rny9aFZNRuCOySxsc?= =?iso-8859-1?q?w8upRP29286WLRPV7ht0P60o5mr3/BoJBYKTY+msNH7Bq39OlQCzCL+xakOa?= =?iso-8859-1?q?qbEC8Cy3ujPopQKcS81YkO0O7d8Qa8LX7sdP5dXpy3pLFjUb6kuW+8tALuXp?= =?iso-8859-1?q?RAINKroWjvE+KtgAaJsjIxPB80Z4BZJVSZMGd2u5eyMzapJPm5Q4vifBk8uu?= =?iso-8859-1?q?b9LmEYd7y0lbuchgffUZQEOEYfIqrVRbaUuIINBwq9vAwjbNAvjCSKhLqsmg?= =?iso-8859-1?q?U+xQxSBdhe9DHALQ1q2Q7tq0d9N2PgxrthecKW/DLo80B5va89NloajfT3aW?= =?iso-8859-1?q?YiQt5H/5NiSo5BNm4XFh0lja3GAYbB2Un9nbHL4AnLZMV+4b2KeYDpIXnFYE?= =?iso-8859-1?q?CeJI+77TIwGP7+/ZgFzAcVhMOJcIkm/8LiErbVP1Ya1MdFv2mAWIpEoi7kHH?= =?iso-8859-1?q?pS5hu9Dchk2oRZvWx4F73cJ+HnaRkNP/ZwazM194g2d2wSbt999dgGCfHtSp?= =?iso-8859-1?q?P2nvnYIqFtnRRypXsAwc5FMoAvmHwHKBiyWFslR83bdwDtkpdL23bch9XUhM?= =?iso-8859-1?q?/BaG/NDGdt6/gMAEVBuKFQjJ9I2apYKx21SeozCQdvKPMS7vaSq6LNsXjRTy?= =?iso-8859-1?q?Bi2ZL2z7DCMYdz5FW6ThYsFPnVdjuoTt3ZTikUqMWLXhGKUvevYpUV6jeb4n?= =?iso-8859-1?q?lO5RC548/ZIVZf3rxpOeMsdS8+HhIL7TC8bN89uQJIXKJEt7SyM9ZL+bkzVV?= =?iso-8859-1?q?tKhYJjb3HfZFuRz6TLbyFFO6zOHUAwFq9XDcwL2ZKZVIdI64asFFt6pe/36h?= =?iso-8859-1?q?SnTV/2ah8Qa7KkFmn8nqVYzDtxB51v6AlsCfHyi8uISIp4yBWgyxV/nXXmui?= =?iso-8859-1?q?vhVx94lZkBUxywZcJvUqRRSmxz/41lrJzhdesrIP/dUl909d3Lc4TGHXMCQ4?= =?iso-8859-1?q?/eDXdCPLrOZOUXw3b9HbIUaEwtegbzzi/6b2lig=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: stp2Il4TfE9NAm69dQ+qdLyfLOv+rhhkQaG91Cn94UMVcMGJxqSzmoZ7kPoFk3m3JTRsbx6XEcnbHXjGWw52X6t/eYRvGxiedS/bZORPy9kgYZUa2fKoXPGT2aWsmzKha43lqtdHS/zn7MViVRk5kOc+9YSnqh0vrKND8axIm3WNKPEptrpn2W676TpFnUILU1OSOygWlNYK6EguUnli82RqNNhKQohWh4hLOMr7AR7KjO+6Jp2OU5cE4ctKCNycGt4wWmd8zs/Xd0x7YcrlT2KpJZwq+X4RUMNXDhT/Vplq1ElRuVL07ivcaGvRwYn42uOi9Dh7wO6QwkUO1jDaoCC0zH2Uh0NLgBu3qzpbOIYBICZMAg5W6k7S4wDFsKAhnQgC4rkxu4dfGkuK6hSjfYLZgIBKrErFloEl9olClD92xhnqlP4jsZAD4vpY06WN4cFvbvv/39tTcwN/J2QL2PT5sDmlIiw3Cp7y+jD5Byg9CVfApPiBL7ZGuHbpN6VLGzwuvZbH/vVDUHpTfbfGo/rugk9NPyIxAD8juE3yngiCEodFwcYGSzjqS7mvU7w4IiTRe/B6Gx4L0zWggENTbftlf2LYpDS98e6SyCO++LIcMiOmjyE5SWq317MXCBJ7koNC9ZdLPOtDU/GupeNq9I8WVEtgTC2vXqVjOnmCwIoEa+KtJuu3kSAlE68LLfZiE0sJAHc1lgsJWLCIuNgs/RapN8KMdvnU4BrR8zFcDyfrJyXr3a2MSAdzzNxoSxBWCvTqDtkccMyEecJuwT/WrcuyOw00TS9zVe1t6VZTSz5X8HIMTx8IEzVb0adhZPuMO2JXBaRa0y2/qxl9XqRVzsTFTqQk8DEtbV1VxMOZgkXP31OIOGCkfK1o55mPxTnEoGHZU4dOpGSKyIkFq3Idvg== 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: 3eb6ae5e-08ce-4027-dbc3-08dad2291489 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:36.5503 (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: DIDEwF3Iam3Mp7+owI9v7PhX3WdmpqzYB0mlfpfqtopq1TIVXKLZpFKdpAchlkP5KK3U9cI3H+ZojQvOm0ZwEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5937 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 phishscore=0 suspectscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: zeE5lkwbYNEy7SMIoxGn5hWodzKgoufS X-Proofpoint-GUID: zeE5lkwbYNEy7SMIoxGn5hWodzKgoufS X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750850451366350406?= X-GMAIL-MSGID: =?utf-8?q?1750850451366350406?= 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 8d2b47e436b0..b3fa6dd2d0e8 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -698,7 +698,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; /* @@ -732,7 +732,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 b5cdb9d9e987..13abf070e911 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2693,13 +2693,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 258113e13a88..061e92dab623 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -752,7 +752,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; @@ -765,7 +765,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 @@ -856,39 +856,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; @@ -907,9 +893,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 @@ -1091,20 +1077,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; } @@ -2247,6 +2232,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; @@ -2262,16 +2248,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) @@ -2283,33 +2273,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 Tue Nov 29 16:44:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27375 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp454378wrr; Tue, 29 Nov 2022 08:57:50 -0800 (PST) X-Google-Smtp-Source: AA0mqf5TbDGpofrDMUX1TgonieG69M8njBbe5umVrLR/iNDuPjTs7VuTj/n3cbvV1Dwqk4HhWgrf X-Received: by 2002:a17:906:2c49:b0:7bf:9978:4c16 with SMTP id f9-20020a1709062c4900b007bf99784c16mr10214785ejh.553.1669741070722; Tue, 29 Nov 2022 08:57:50 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669741070; cv=pass; d=google.com; s=arc-20160816; b=JUSNEcWunvgR5gqMi26V2PQPrOv7Vgj9M3q2w4a7OR4oUO5wN2JyF+iBf32ndtWilJ 3GyvhyOBM0da/jQbVBTYarvUwpopK/QoOtio35y2GY2GOG7qKza5jOcK1R5tNV0Ik/D9 1KcsUvpDb7aevHceLjehSL6rFSX8s8QWyaMQhgsZnQ9z11PI5roHZ+Sow2rslCq8LGVR o0oSr0XBo4jvrqun4zIj3ihwN85yehULFt6qpkHlHuQS5ga/cOwR0RLzhwcpZDrTwX0h Ex8MGiqWT+oVEbuRx4dvCRRxaPICO5Q0jpGA/1WYJryFpZoyasMpCpAl1w196mc9NyFi YH8g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=HZkGh/AK9aEBEeDLAsuHbDy6lfrlPVkrwWemk1krQcw=; b=eU1hPUvADZyatRxaBdjSDcoF+FlWgVaYCfUVinukfTosZxmasqGLOabgd5F3o2XG4r 0NQjncWWCvwMWJwmN8cL6KEhtmG//KywvK3OeyrQKvIDpP5U62niJOAfTxNn73GVRMVJ /9QQsOWxhpNGJ+oLrUsAJfBVUbJYNh06CBCv8mThxPP2McWY+xx9s5RHZqEMVuvC55Xs WA2416oBW8zNkBtkI0Ef/z3wBIKg65rF+XXF9xZDT7WajAz5WFUABKcUDeIzmfWPJjKe 7mOaylNfyCzBWUsk2nZI15YTLJSMeWR1pvesRxVN0HgtA+Tfl6WWa2jiQyjrL1FSa3h/ 68hg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=HE0GIU5C; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qJ3f+KHH; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cf26-20020a0564020b9a00b0046b51067317si3529341edb.301.2022.11.29.08.57.27; Tue, 29 Nov 2022 08:57:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=HE0GIU5C; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qJ3f+KHH; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236249AbiK2QsX (ORCPT + 99 others); Tue, 29 Nov 2022 11:48:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44136 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236139AbiK2QrV (ORCPT ); Tue, 29 Nov 2022 11:47:21 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AE5ED6C73A for ; Tue, 29 Nov 2022 08:45:21 -0800 (PST) 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 2ATGOeuj005604; Tue, 29 Nov 2022 16:45:17 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=HZkGh/AK9aEBEeDLAsuHbDy6lfrlPVkrwWemk1krQcw=; b=HE0GIU5Ch9Zmrms719OjHQWhGOeRYe0pHG/TVKWUIuTA9GaA9BttcUcclii+NEE6S928 xSZBl+3xPgqEzNpE8K1QRPwrbxxbw0okRvf8HAmwSUqPkc+FTBHD8UncD5e8t0YpPO7V URJbK17vypb0JPnbE3Psb9g1M/yoS+vODeFZLJ062h8i6/b3apMi3ZU2wfyKKIU3bBL4 ERYGYS+RX2EV4ueSh7kTLiXJqu4n8P40GYLTM3ITnL90Y9Z1MjtcFCfTbm39MhdARW/5 De2kgl2LclRKgVOy1yVITu1KHujgDvpYtLETNhQzU+3Ca4IkbkjK6zCZ4hHBvNe706NI Bg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m39k2qfd7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:16 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFgHOT011450; Tue, 29 Nov 2022 16:45:16 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2040.outbound.protection.outlook.com [104.47.57.40]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m398drgfk-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nkWj40sf8QTumMZ8rOFJFEqtAOHFG1b91xjaXEVwa8286iurBPJwDo12fueR6l+12qHucGAXI5+y/9tLK1tMaScNSWbbSuF7egfzXk1rmbUIomBmm/YRTHtjyyq53/QI3XTSwO2hXPtXviHjpT9JhsEfmc6OR7hBwZeB4/XKyDkskW7D/oLTKoPy8pGPpwdnYoW6JXb+GHqYG7RCjs+vdr7F0uk8QsZE4r3ciLyGw43xs/XRb9uoxMFPUm3VYAixx+uWXglu4v/7W3MKu+eY+8QxCtzzA5HpbcVdDKpNp8RkchFjc1DUrXHkHIY3iuRXAfcMtwc5tToCISNc0jXI/A== 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=HZkGh/AK9aEBEeDLAsuHbDy6lfrlPVkrwWemk1krQcw=; b=bn9AJWLtNdQge3mEiIviaAXUNuKsDhtUYntWLGiAlYZnTOb74109ffod7NE1CFkCPwd9DU703XjRuQpwy0yZ1uNWK1y5Ti/wH3d7r0vjfX38hPHjhF9jLAKAnrwXpUKXLAFC7KpRFepriIWdwOj4oGt751HQgGYnmBw2uCPejW7/avWgkYDQwAugMsSm0Kep/droilHCDLE2mR/sKPT7g69JbnMSxuGxnze1jX3LgNyp2r6VMsbXCHgchnjDImpHKD6W4pBJeNmGG1LF5A58ueKqSsNP73xUCpgMscZm2ZYQTsBykzZUI2UwyIv9WZxzGbJVEAyANX2vxr9CYUszqQ== 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=HZkGh/AK9aEBEeDLAsuHbDy6lfrlPVkrwWemk1krQcw=; b=qJ3f+KHHYj01bKBhj6DVY/YoL0B0QtLLrSzZCcmXzr+MusYzhB42W+sgrbmZ/t9NOhCnuKqxM6w1tX3FbeqNep3vbL0PQ0ikNulnVyJ4AjnluVQbgeMLcy7tNQV0xeWCPuDKkr+9TtaX8z3Fe1HFlL1b0gB3JFrO+VMWHkg8ncM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB5937.namprd10.prod.outlook.com (2603:10b6:930:2e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.18; Tue, 29 Nov 2022 16:45:11 +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.5857.022; Tue, 29 Nov 2022 16:45:11 +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 39/43] mm/mmap: Don't use __vma_adjust() in shift_arg_pages() Thread-Topic: [PATCH 39/43] mm/mmap: Don't use __vma_adjust() in shift_arg_pages() Thread-Index: AQHZBBHdtymiOJM5JESSvlvJ/6HVqQ== Date: Tue, 29 Nov 2022 16:44:36 +0000 Message-ID: <20221129164352.3374638-40-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CY5PR10MB5937:EE_ x-ms-office365-filtering-correlation-id: 099106b9-a1d3-4d03-d7bc-08dad22914c7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8PaOBWpLprrqCnNOoqoq/nNjwk8UIMWXNSICKcoJoxLXW9GLDRSEbP8o2NZEVGdrT2pz/q23KRXam/e/MKTctzCWPV30DcY8/q/M2szluVX2yXk9zK/iSX7N+gqDGcWS0uYWqGNCMUFRELvNgp7UGzatz9uF9UAIKtj8Nf4/MInhUcYK53JW2qnqaO68CphkU5jC2kwOVoomhEZO1wcUGN2VpVuFc8XFBhKiD4Bp8yhGeiGqf76ciVXsLyZWx8p60NYqa7FhpvGXOvHci0C4JAGdwwpd04EyBPlazhP6ajfG/9Ok/+wgf4wtJInnQUmT1GoVRu5Ku0c/S2Nt7NbdBTeDIZ419z4OLSPpMaMX7tT5W/RfY1o+6b8ahGoSz4xPGBK+JN1U2NJxzR2lqycjBEuRS6Ldmuvb392r/atZ10ARSTtSkP2IM+1R53x/zMWJKT3EQANVVBJdzGy90ntRR3R4wGs5RqSa6+o+cy6djmFYwJjnwbIII8r3dOsmm/1VL1uTBqS0oKG1DH26ozL+TgxWUqKq06MqIXU5pD8XHzR/tRUWjF9fo/vSOPaEz2Q46ib3xihI27nOJxSTvYOWLmJ3RTKQFKOQVzUW+VbS/q5gAqNsNyenagTIqCSkmThCZbdbXWkYQgGJni1pMBFIf7kd/08Z9pOnvt9GX0ja8FDhB5Tiw/IpSUeoc4kfI1m45+V4OuJ1Y/V3ch4DKfeQUQ== 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)(346002)(39860400002)(396003)(366004)(136003)(451199015)(8676002)(66446008)(66946007)(86362001)(66556008)(66476007)(4326008)(64756008)(91956017)(2906002)(76116006)(110136005)(54906003)(41300700001)(38100700002)(122000001)(6512007)(83380400001)(186003)(8936002)(1076003)(36756003)(2616005)(316002)(5660300002)(107886003)(26005)(44832011)(6666004)(6486002)(71200400001)(478600001)(6506007)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?jjZ4qh+vX9BzLCQ8toCltBV?= =?iso-8859-1?q?xzfc+NYkU/CF3rUYLWx8gMXf1a23yjZVWqmQfcmIzpwuduP4NVB15PT26SSz?= =?iso-8859-1?q?7jHE4YexIbKuZrjSZ94u7M3j1nPbq65VZzpCobo/p+9jDxzSi30GoPVDyANo?= =?iso-8859-1?q?sk+M+mCAa4qsnlfAHE9hGQ/tbbHwXmIJ3DFEIHSDP878L+l2a6VVSLeKu72J?= =?iso-8859-1?q?Nhm6+Y2V53DGAKos/u+IolkS8ytr2YcSQ9rt8LsXIyHerRwNHiNrNRHE5efc?= =?iso-8859-1?q?ajST38mohsyHJMJnhVOwu3HIWDWSooJ+taVmVHq6uIogBXNjbpdJWL7O0ddP?= =?iso-8859-1?q?+Pu+zisV8TjEqh384Rq2xCMIXSLvhv980CEoH07DKZhONqbHsogDv/6dOmWO?= =?iso-8859-1?q?swEBvKuwfGGSGl8Jpg9PbjvjDGb0wNj9ekgQcRAzxiaxqZg0+UJ9SqovHJWx?= =?iso-8859-1?q?Gb7lWN1TeQMIgmk0QdYdeNPvPo0PQsc9Ad6idtjC3HNiOswn++s6lt0ZkEUl?= =?iso-8859-1?q?yKFS4dGFRGpDgRZ4dvSACfjbyhywb+TZlJ2hdmWqn9yHXQzX09X6D0jN4bjZ?= =?iso-8859-1?q?x4myTjHFLXh7XYdXO9ELhjzsKVQb3yCUjoNbgeGsoXsCKiV4/zp2CAs+BU/W?= =?iso-8859-1?q?JkILazlxQB3LtWyqlBq/2Nvn4yua7nTZryg6kYcGCrMytT0GegnkMw8okRi7?= =?iso-8859-1?q?3ve/ENQELtWzwnMTtbXG9CpzUuV1VnWE5eB+wxwcihVnH4amF3zFaJFV0WMN?= =?iso-8859-1?q?6411AylVklPZrgvAgpMLuTld3AxF8ADg39cOkOHqMFCTkGJ4mEDeVmdgUday?= =?iso-8859-1?q?IwV59Uq+vzIIZ6Cl2iC3krdMKjCX1HqUPlE/14Tedwq1sQUHQvAY7DMA2P2r?= =?iso-8859-1?q?PC/hC5GaaUAmGlDOIFZRq3cKZbPQA3w/S0qSuW4/e+YSiTy1FRR2NBBaZ/MG?= =?iso-8859-1?q?1N98/oAcM25gAp3IlCdRwcHuJez5MkdZrRz3tK4iJCWQ6LMpq8SZnoI5c9ZT?= =?iso-8859-1?q?k/N5htHDQ7g0GxV9/Buf9HpQl2Qp7BkVmTn63c9QU4axPY/0o6lmKnSzvCYS?= =?iso-8859-1?q?j5z+GXxPFMHKf/IWCUikAmiCNDngwD1lMbLNwxa6JHaa5fuCnJlw82fiy1ZR?= =?iso-8859-1?q?o4ZyaRMNIB9k1fO8+7Ctsi66z26JTAgY03sKPyNKGUHKxYnCJpxF95EX7zod?= =?iso-8859-1?q?ocpO3ikmvJJDG2oWSFD7v194/zMepbqWmnQyM1u9qtz70LrZN3bl5B3tS8S4?= =?iso-8859-1?q?TO4R+qw+wNuByYOyX/P6izTMDNwuahYCjNvUO85SOqfrC0VAkuLvqvAcw7cW?= =?iso-8859-1?q?4EtGtjKXO6iPCIA+y8sKXOu/0WqplYWIChp3EFVE0QMyPA76r5mvxRF82Qb8?= =?iso-8859-1?q?wzC8+HOPw/FpWIUHtwRAWctT8Bb0P/T7lDOHpBW7w8cSQFhBhsII4mLsrhZS?= =?iso-8859-1?q?xDMWxXjlDghbWqPa6nCGL1668eYkBQQR47+2rn3Yc7IuRbRXA7wBF6FXXBMM?= =?iso-8859-1?q?la8gqUtiwOJDYxqg6GBrPMaqM4juISLeP/udcyGqJE+wsxIQIe/e/EFPdeMm?= =?iso-8859-1?q?Y+pZlJcS57/ryfaAP4/ZRk7uJw0xKiu/Y3BcECwEtdCwS5mF66qQiCx29GuV?= =?iso-8859-1?q?bNiLvxvsLxrt7ss+tEatOngj5oPV+9uJWT3cYGg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 4fTG7kniYP3IAvmujRcBNBxCq5+lQ9nvHUYILtCXK4Mq7FEJD61KspQSevPdFV+bsahWDiHJRgtQ6F8MA+BSlqpkFEuI/4zeTdLlNhN1eo6uf8oXDyRKxbvhks7xR15LhuWbwt00ZznrmNJ9Z3PMh6R+DK8HVsErKsxjz0MmrwtZtSi1dPI8FfH1thavehEwZouNL/rk18eA3eFCgyjkSf12EF1rgKK8fgDL73MtcKGV8L0cM/oGSCqnd8272UKO39IeP7UafQtGMmrVqyTccddg01RHyOdOyPwT+0vFBR2JNL2LeDIoWGR3hMwpT6fZI9pzdyJxwByI38PZCfZYF2AhHsLeMc0eXluohjhSuTLrMyTfuu3KTkYIOZAgCW3VBFI5ThnpxkGxAkqM0b/FWEBpPEPK2q4amX8nQ1k9dABCnQacSQXebQpC2NieV6Wykg+GbrYE1vglSbbUGZoOw/Zu7ixvxjcKUibejMMCuuhSAMclKY5Vj/TpF9H7X/BICHfH1RXZRmp6lTBQiJfymEH9cpBGeX6A2XYZJIWz4POXtZrRb/k5mqu23LYTCQdIsGYvYXyofef2ZBJJTODHXBlMjRt/YW8KeysGZ26Ca/zR8nHkYbtTj2zXKqOj7RJ7Tu1wKOc2hd4WtNfb9ygBltHdFXDRwQodRex6uB14gmJ0Txhfn1dJtN3bQGdDFrFnb7aK1cXzkHjjFwgg5vkz28Cq5NcEGcU5tNr+jJiEVWdtI8+SAgfxna9ACtSsQbgFYegreLOFmUdYQONdBCxOkpDrgYkp6fWAu8RFgMlE/mYZdgihGlL0XGitdeusVifjKjNbmBo6iKlr/dcWSDdnBYUhs+qlEl6YjhF/VOwcO+VHXHt+kOUhfFJ6Y2QcP+q7gJahzSv5h+h6mqJJS2u4Ow== 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: 099106b9-a1d3-4d03-d7bc-08dad22914c7 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:36.8784 (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: wB79a5iKT3lgu+8Z2eE/nodhDYHTUl6Uv5J4fTtQc+DlHU3pWvOEhgCvq96oYWc1dfKydaiPTmvwXMAP6FlNXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5937 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 phishscore=0 suspectscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: lpH78jnbJwmdhg6R-WxqA0MnTUuHne5D X-Proofpoint-ORIG-GUID: lpH78jnbJwmdhg6R-WxqA0MnTUuHne5D X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750850412977110354?= X-GMAIL-MSGID: =?utf-8?q?1750850412977110354?= 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 b3fa6dd2d0e8..8903351e101b 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -698,7 +698,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; /* @@ -732,7 +732,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 13abf070e911..5483041ef7d8 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2692,14 +2692,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 061e92dab623..519cdff9d135 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -694,10 +694,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; @@ -743,6 +742,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 + * @mas: The maple state + * @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. @@ -858,14 +895,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; @@ -878,7 +908,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 Tue Nov 29 16:44:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27377 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp456851wrr; Tue, 29 Nov 2022 09:02:04 -0800 (PST) X-Google-Smtp-Source: AA0mqf5jdy0I7mfPAH06tyxU3m2bVRC8PRwWs5e34TZ131u3l7RdAqyuuXQJVyG4Js01baTIveUj X-Received: by 2002:a17:902:a3c9:b0:179:f580:bca5 with SMTP id q9-20020a170902a3c900b00179f580bca5mr43723386plb.139.1669741323555; Tue, 29 Nov 2022 09:02:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669741323; cv=pass; d=google.com; s=arc-20160816; b=v561NrUZpqkZ/BSaszrUVCSchG7PK99ikhNvSdbhhOFX+adn2CwEaMRRp6zMrVLxbH CyEZtT0xtrVTeunia0Tg4G3GHb7SNp8FIAdfYoze3JUbjoFbeR7oAslq6mOHFjYermgE ZRGjuU3/8gn/WifYipVZz7LFY/X8AcFErFADK97dl1JT+SMhC1IzJPAR9FCCPEsOE9Sc i6XBDdWCtdCoic5K/x2SvQcRRlJCw60TnXhS/zr/Hha3t9cWWpdzNLla8CpU7wW5tUY8 tQ6g33Bi+/CjwWocboDi/+zrveU5e+ZQ6cJQh+xNk4k+5xldFcPEPtwz5tvhCEg3aYqY aSkg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=bibIZw68jKM6/uSNMDgXMSuiC65j2yL2vL8bwK3qLaA=; b=ZqHo5ITe7Gy98/rxOU4Fy2Oey8AVin8zWEsA2acjdiBIw9edN9zV6J32vHtvDezDlj 4h/aYygDbaMDO6V0NtmPm+aZEjiLKqP30Xl+LriRO6zXSAGG5d7bk5WuFBHWAPvlaxBW d6rG4JxrSwxGRv1dvq0nkSxV84pbfqrF1iAGJYejqczVG1vM1HmdYza+beqmPBLONacR azgSEvBOlHpapsYLCEBWOAu40nFg0xOlkYXYrAFFYMa0vSvrIWpk9oe+W228GXv2vbuY LLut539ndDeCerG6dgktwja6vMfyze7CWq/HQB9pSMS0b78vBmg46PvWZ0Fnfh2Ra558 jPjg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=mitwURNq; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=u9DXT5d3; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d10-20020a056a00244a00b0056bc1d790ebsi12304886pfj.57.2022.11.29.09.01.42; Tue, 29 Nov 2022 09:02:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=mitwURNq; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=u9DXT5d3; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236371AbiK2Qs2 (ORCPT + 99 others); Tue, 29 Nov 2022 11:48:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44144 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236235AbiK2QrW (ORCPT ); Tue, 29 Nov 2022 11:47:22 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EBE746C73D for ; Tue, 29 Nov 2022 08:45:22 -0800 (PST) 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 2ATGNtDq022642; Tue, 29 Nov 2022 16:45:18 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=bibIZw68jKM6/uSNMDgXMSuiC65j2yL2vL8bwK3qLaA=; b=mitwURNqfD3H6fZoQqVUYL++dihePF16FpYmgeYuFRD/TSiVe/16i/Tu8zcCy6SuExCy dl+akCMdG4DaCcvHqdkjjbotqrI/2C5gIvqY7aDH2PfcnabbajerHThX36/NMCMPnNyx c6k6geCB1gkKSqpTU7Zy1oav7sI+44dffNA7uNWdeiT2WVsZ47Sw/8ndScyB+4h3YkHR rluwB6DAAcWd8rVfY3DixvHmfpfvOw8sNnoY8ubam886MBvOXEWdbI4ZGhJ9Gh296wwP 79mVmpZ/pjIC4hbvvS6o1d8onxpuwGJF4tFIRaLiLB+m26wji3fSExwczwbKd7mHTMx0 Ug== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m397ffc72-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:17 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFgHOU011450; Tue, 29 Nov 2022 16:45:16 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2040.outbound.protection.outlook.com [104.47.57.40]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m398drgfk-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WqAyUsjlX8bJeOMhsX1yVpnO7U2SaFyH0ndHGr4IaaOKHzzfMxXFZ+umrKFXHLJyP1EE+7VP/heEH+FD/TqTZRET5j5JFxzCyCxWidp9vpDXLr7x31KFsLLIkCRmOXjChKfa/t441aLUVCkGdZWrF1e0uOhZJisPz/m4R/uZKN/ux8rX5cB3/qL8OsbcUeft1NR3lfjIgtOM3FWxsIbe9kkI9cOK/j/OSFk4cYKtvGlFXwiWg1EKTJkU5uuwmjv0UTZE0Jk/DW5pe6FF0ppRl68Q8vkZwy+PnOP15i/20+AqjHEiXGU211uForSu4WE5IXa7Bi6pNUB/n2yIJmX5ng== 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=bibIZw68jKM6/uSNMDgXMSuiC65j2yL2vL8bwK3qLaA=; b=S5B3AJ7M81uRsCmh0MxmrIxKXIeIhx4rkB4PhbHrLqqsEik5HK0cCYSnqQagA+xOOGiylLi0AjUiw0ptdp3Bm/K+xpDW56xuAs8anvQ6ZSi6rDT0eDvbppbM7pdVSA3ZJ6Togaklb+ysYpWpFAmso57gopCanxFQ1eJ5q8E7+gHJWAyTosZJEhOXGghzdqTLpAGeNXBrfd6n0OlJ7UXhGXH+GmfGGcJZny6PE2d3dMRtebIONR9kmWO5OSMG+0sL/mW96itzeaSybbsjUpy7tIEdVQCjPREsUq1XDzDngvzYrp042lxvdY2NbObKx8eGREQsudn04r2gVoH0N0Kb0Q== 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=bibIZw68jKM6/uSNMDgXMSuiC65j2yL2vL8bwK3qLaA=; b=u9DXT5d3h1efm4BHmBUmAfitBSkp2k+GZ3cFZBuwKZ3esroaoNXwLNXYK9YlSeW2KbkhmcVkfswNvSGKyPK1cOYC8IJXR0B8l4th7ZH+a+YSCXQzHx2rQ/oilJ+kV7649BZrPsc2d7jNr+mnOKuJHjPfQKAm9xnoUFXcuVMACUs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB5937.namprd10.prod.outlook.com (2603:10b6:930:2e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.18; Tue, 29 Nov 2022 16:45:11 +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.5857.022; Tue, 29 Nov 2022 16:45:11 +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 40/43] mm/mmap: Introduce dup_vma_anon() helper Thread-Topic: [PATCH 40/43] mm/mmap: Introduce dup_vma_anon() helper Thread-Index: AQHZBBHeo+xNPyC1gUmxR1c2o4ECWQ== Date: Tue, 29 Nov 2022 16:44:37 +0000 Message-ID: <20221129164352.3374638-41-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CY5PR10MB5937:EE_ x-ms-office365-filtering-correlation-id: c819ed59-c4b3-4876-d3db-08dad2291505 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: V+dhywVXrp6p1aZHb9yJwqnDjsmBhumLXkkF4hHRhrBlh56sqs6pp1spYanz/vcC0cb/adZOl57tHdwVDAKXctn3sM5kM8Rc3t9TvL6FSvQddHRfs9lLah89C+v81HCZToWZj0u+CvyYSjCSkM9ddXXysaczx6asgD5O82Vpqx8ACseL4BL5BBst/uNF+Xi4R5vr4RvvTZRxNRqMUqs98MIQlVZWIOGphN16roWuw3PODGv4rcYBMTz+s0ux5pmBNgdPrJFQ6sLm4gUwrrLEpb8iuHF8W1tMOb712oTgSjGZIc9Q5VMH5UhlAurvz2ik9PSYBzNi8dIvMD0EOdqxD7TRW0kKYGvOtGmXoW+8hDHi7qxkEjt4ZFU3cJNnHCey6pSQdCLcie4RKtfzSVmj5uzIQEz5qEDY++svVPbGw6NtYk/yYlouWkW99WPp4fy6smsZh68n5nyvfmp59gzvjxtJ39eqXXOd0uxpgLgrFTQ4vlGb4SSWoROLdO0BsHi4HY1iUBnAAgVsMe3LpnPoAMEP60KjZiVJvu8d0YyVR+TTnXQffSDY6DNo/WAFcHt5o6F7p1UPCLo9WUrtKoVCK2sCGcJkRB/Hfe9dZNvr2SUJm5WNqx5qMpoxQRH1Y7ekbpt3eSWDqCAOzi0X1Lt0kNBWnaYaZSBTHuWCCf9mMKQu/wCxwBR03yRxCxCbIzvp4D5oKZC14fByf/VKVaS95g== 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)(346002)(39860400002)(396003)(366004)(136003)(451199015)(8676002)(66446008)(66946007)(86362001)(66556008)(66476007)(4326008)(64756008)(91956017)(2906002)(76116006)(110136005)(54906003)(41300700001)(38100700002)(122000001)(6512007)(83380400001)(186003)(8936002)(1076003)(36756003)(2616005)(316002)(5660300002)(107886003)(26005)(44832011)(6666004)(6486002)(71200400001)(478600001)(6506007)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?hdnSDxQ3isBWOLl41VSkLii?= =?iso-8859-1?q?RIOUVNjoos4tvvHXigv0a9QbgqIVp124UTHPu6/MCLyGPBqo1+tn63ym0AqJ?= =?iso-8859-1?q?KXWyKkoswTDLCmgq8UXoswXxImTOBogAhe8Q7TsPTzl0j6rZpyBCvfnOMGbF?= =?iso-8859-1?q?gOQLgPL8sVBSpiUD2fBpIO8oaUzGPgM4aoVuuWSjqMOiSwS3G1rUWGH9WW+u?= =?iso-8859-1?q?TtFdPm6tbuN9bjznQ6KPxPFX0EMq+gGJiuU6p6AfQT2AidyMsYBdg/mmmDyK?= =?iso-8859-1?q?CwstQhgmueOYLNxDK7SPKLI7reraULezOjd2xL5mnuR8MyqSz6XgSGo0kW+o?= =?iso-8859-1?q?1z7tAlPswkP8vF5OvKvOlne8/jiASwFUKaHZ2632oaZvBRR3Pq3KG4a00u3F?= =?iso-8859-1?q?J2Duc/Lw4m6Ak+MmhSHZrYvLJ37DGacW0267auavygW5LLk6XRz8hDrX+Wk3?= =?iso-8859-1?q?G79vVVDVaJPibxE1Xyx4itaa3iR7pNt0klz4EZn7IJgNU5dMswJynMsYAjr2?= =?iso-8859-1?q?oGLaa1cGbr7QTnEojAHIF8u4TsBfhBy43ALQ3PzDCg+UfIK+1cLATXPuvaVc?= =?iso-8859-1?q?/G9n9AcXakblhfA0y6hqe9bv8Y4kfCAGTNLOhzzW4J3NIjnn/fIm9T/LOYpM?= =?iso-8859-1?q?JLYq7+9lhhrDEPl05MzoHGZ4ntra10gRHRmwndd/QEq5CSAkpzI5N/ymF9OX?= =?iso-8859-1?q?74aBEHQBAkIZfj1V4die8QptPXkbN7OuCveYY6nr/9wHoyHE1QvtKWD/v1aH?= =?iso-8859-1?q?XMSS35bTiB5FOqYJmAWQ8gFpdcwvr12hhWjJCH2+ZAUpp4QFqziPf6eppZRj?= =?iso-8859-1?q?/UnLszY8gnmj3GPZLfgaW0MSJkbJnz0n/83jw/s4mEB+oM1RGuHT9bPhX1z4?= =?iso-8859-1?q?jO0QU0o1fCHZ24a34W5BoUAsNBu9ae3yn+l0A2/SBNTjh1Cxkb6pBGHRh0lj?= =?iso-8859-1?q?IpDCJj2QmQQTn+enM+HiawaDYN0P/sNxX6t15bpx0kmN30bUIXtsBV0FrYwG?= =?iso-8859-1?q?zmCPsexSazVsEEghLzPKkRbyT3++XrJcrR+0F+qLlXwq5Ej5xJkEIJvT5gMr?= =?iso-8859-1?q?HKZJ33m+adRHnXMzRjePPwKT6vCn0aD7Z/nNdBNb/L0/N53G8VyNd62dMLP0?= =?iso-8859-1?q?FQrcQmG6abhebJqqtYWCW2aSHG5fjJhF+pG03LBEjYK5Bl7duWdLcjEfr2oH?= =?iso-8859-1?q?pfGwnWXQt3MPVqq3JV8tU8oeo6kw7VyBC26ccWSDB42FVg5FfRe/S7AzO9UV?= =?iso-8859-1?q?lwyFyuhM+DOCs8YJW5AFUDrpRd5LC8/HSI6clNMShLmN89cIspf0wgsW3hgy?= =?iso-8859-1?q?az0R2wpkU8XW2bk9F6fkjctX9k0oA+Q3gwEGek2wLYPbYJ+5thR9C/spuA/f?= =?iso-8859-1?q?EUOnNqX7Tq4g7t4kR/QHXxm/SnmqiXoY4Of6ZcnqoD4JVB4ySfXbae4Asmov?= =?iso-8859-1?q?SKA2/BZl+5GKKAmeTOfO0vB12jUlREhVe+14c2VfKULQy+g+LZHFwBhRm5D+?= =?iso-8859-1?q?tjwwa+4hPfys3TQx0WGeIEKhK82dhu10YS8Dp+4IfdAroJKfreEzisqjWGcH?= =?iso-8859-1?q?/uXjrHojYpcuspiiqL/cdycNrE1tNcEClV9/cpeIfWui/q7GHsDW9w1xk/Qv?= =?iso-8859-1?q?GdGUiUUpQ5XEt1x4OhX8waEHtToy4h+qNM8tqWw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 456lEmjrR4A3NuJvXTchDBzo1NFVFVc6DJbZjYv2ZFMkxCB2IjkXp/oY6wkzeAz6wTxpEXTLnEfIKxrXUyfTt0a4EwfebauoidqUYMJg57enA6ULGQg1E0Re/pxu3dYkA2EkGc09KkgsxgxDrzfdnCkLmS8ckI/Szs7LCcDXgSCAcmJ7vz6FAucDGhMGYuu7huo8BTrSn9b5vsxUK2hLduapElzJq7pKzALguWL7pAOkmgHFZSXc5khprN4j2QfhjCbecp30DdPdkgza4aFds9yoTv7KT1UV7VfNuKVEFkKRNLRkCTlCEXtpPLYYEs5BAhatKtpNXY11m6KKrE8rTDVsRlHbsFz1dpXQ9Wx+yXXgYkSQrYjOuE3ZSKmKwA6WIqt09Fr0zFGhR1DV+US9xbsyeX9Tu2CzuxhUV5LLsb64+EDf7A1XbX3tdW0IS7t2PqqfPXxz59RZuMidWD71GcEmxG7wgMpGNf/bgEAR3me7kmUaFNE4PwdJIaUpfOuDHxyfvmKZljBE4wtDvsYluJtH7vRV3F6CJXmbs/cW25PCIFco6uB97UPcQRjshW0diHGeQAMdCUYhb5PbDeC9bj62uMAqVPmrxC5fCvw8csanCrZO3EvavMcBA9ObuVW1SqPYWLDsRvKSxxPwze8JvBQv2VIB88AuM2I6dfmdfIwowCt/L8caiJjDN5ns86Fo/o7Z5apDifPNr+K1ZBimvxoVRS0rfsSqsqBlb5eaXhGDGiNzAClr5uDrMi3bhapj+2ETCzJvy6fQQJCQ0w3YZiZnIxdMLD0Zx1oo7mV4HWp98EQ5tPHqpiAGsVGfa0dzr0zzd8APHnnoRJOJKpF5nlA85v+0V56sImeCXF9bemQ7CfWsE/pBQyrN2pGK450ehptBKjzaWbtE5U0DWWfvAw== 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: c819ed59-c4b3-4876-d3db-08dad2291505 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:37.1752 (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: eFRm/xgTBzQo6t2Mc1Q1eDTV8b0j/gRE5TbNYHCVNaLMiz4r9zrfurbIW+yaOz+mRpB23ZQCXR/PDUzIOMQ4Ag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5937 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 phishscore=0 suspectscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: ooy_Be-8Z6HOcvNnCbqO1_88IpW67NR7 X-Proofpoint-GUID: ooy_Be-8Z6HOcvNnCbqO1_88IpW67NR7 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750850677834631308?= X-GMAIL-MSGID: =?utf-8?q?1750850677834631308?= 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 519cdff9d135..2b41e7882639 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -677,6 +677,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 * @@ -702,15 +725,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); @@ -799,10 +819,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 @@ -837,15 +858,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) { /* @@ -853,9 +873,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 @@ -863,24 +882,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 Tue Nov 29 16:44:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27378 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp458797wrr; Tue, 29 Nov 2022 09:04:24 -0800 (PST) X-Google-Smtp-Source: AA0mqf5lsX29YXqeeEFN4YBCzsgcK4iGyKqxbtYwT71wL/qBJ8E15AZJE5LnJ1FFrIoI6tp9iATg X-Received: by 2002:a17:907:1750:b0:7be:9d66:a4bc with SMTP id lf16-20020a170907175000b007be9d66a4bcmr12226353ejc.617.1669741464262; Tue, 29 Nov 2022 09:04:24 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669741464; cv=pass; d=google.com; s=arc-20160816; b=QaXeG7LL3ZPyaMo9VMEJxQQ9Ep9QySDEFmRuvL4IQ6OAKUawh3mCPc5al8tJprIROC LiGcjx5OCxNHHCxzZgQ2OxJTs/3Q5HFRbgbZKW2jrV1Z1vHh0/B4bWd8XMJw22/01ZOw BGLb9tEqe8CWYpArT5kWmvR+QYHcGoJiFD/2kvHWfV1rsxDXjsDUwmtcRYjfNqmYerl7 9Zr99FbY0qXxP06ol6gW2yD65Fd59FB4vGGu/zgjQD59qxBZR22CFFbdjGs6Vvy0PAV8 kFOdBmwZ/nlvrhGOwqIRj5zx9i4fTKCZFWwqaga7pf8QsNxfAJxkfYjx/Hie7as3Hn3s 5tyA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=GKlTMQFbAnnigcLyW4Swh+pYK3cP9w2B6Tyc6cEN7o4=; b=SFcmuLDt9wtr7qdfW1ZVufLXe87qJCGaLIJvO+01iEt8znyJJT5ST/mOZ2PA70k+O3 c4QDHnW+OfoSzlYAChA2XtaTN9/KipUprT4BJgp9xnXarOoUVvzEpMSjY38xWEHGF2EI br8t/AG41upQeklCnQmbTJa0/ZQMy5q3y1vlZYelNq1mSBynZiQknOE9oHoFzljKZJpu YcNQ8JaoRoAQ6jH4vK/mBi+Y2RZNZC9zdLXl2fv6ylp52HgqpeeEqSC+w99Vm35ss4e8 MsmFYvOH/5tG3x2OoXb+R1027ZNbsewuV2cDXgmJ2ezsHwR0BZhLDmqUjYkMAZDA17Ru om5A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=v7VFOf6z; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="jcY/lbEV"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 9-20020a508749000000b0046b6615703esi3231061edv.181.2022.11.29.09.03.53; Tue, 29 Nov 2022 09:04:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=v7VFOf6z; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="jcY/lbEV"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236254AbiK2QtA (ORCPT + 99 others); Tue, 29 Nov 2022 11:49:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44312 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236272AbiK2Qrb (ORCPT ); Tue, 29 Nov 2022 11:47:31 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DF7896CA38 for ; Tue, 29 Nov 2022 08:45:32 -0800 (PST) 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 2ATGP28A031378; Tue, 29 Nov 2022 16:45:29 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=GKlTMQFbAnnigcLyW4Swh+pYK3cP9w2B6Tyc6cEN7o4=; b=v7VFOf6zk0IAGwvkK1voiEwmcZvG+kivh1Tlqe8RZWuIP94YU6d/FDhOtluv5tKbKJan ozdD8EqzAL9oQtawjuMgLf84068gdmunErvZZod+Ej9CRM0/v+i46tyJ2tGa6QMNmM5c 6I2gX6ivg8fhXl7mauOO5rckMId/AzQUti3l5L/2kTMHO9yovvLNgtBHK7wyyZaUzjB1 eJlOqzH2JSp3XS/85E0mJsjv5f15VwKljP5EHgKxWkfBSS5Ug3PaNf8IAkbYJnrMh6y7 kKDGVae8CTF6vSf+tr4C5QkigOhEunpbaadLgR9rcFl1gDapGFNbChagObmHSxHixjlA tw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3xavf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:20 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFn6v3028010; Tue, 29 Nov 2022 16:45:19 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2041.outbound.protection.outlook.com [104.47.57.41]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f3xj-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lTG9QGYPZx3I/9bt1sotgYiH+RBYbQ8dlgdVQ3QXNgTKEF6s/Q8egRTBkYSh26+Cy4nU+2ZwnMiA37WNmVmwWT1uuk7Pgq1wY/CDl6yPriMcLdS0/M2S9O7NBjD+f2A5caxMqE5udGRBMtblIMlIXVbGif2h1x6UjFfpVOKkPkxro62k15FdwcmM2PDzxafOTMS1OyALm4rU53gFHo2bGMlvYYB7Nn/2q4DqjBhY+hTox4LXupai8uqHZdi+ZlK4jkiNCbmejVNzJKe1cjr6rnFxIO/VsJwLfgDkBZutGBssnBNy8tUxndLSxtAvl1CBHV0YOsjuQVm5H10gDL0DZQ== 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=GKlTMQFbAnnigcLyW4Swh+pYK3cP9w2B6Tyc6cEN7o4=; b=fV1tbfMgznnIkQGbiRuBy96RDy4rjZwGCFobb8K4Knj6pXa/yUP0dzBUEayK5eI2w5XcSJWF6pa1aPyEMysRsLpAaAV7+yegMe5eDdskoJjDW3oRMueftsuMciLTlR5KbUY4k8PHU8kzTF7iNgOZvv+AURYI7ogTVSsi68RsYlmIwszHWAHmzZ3kV93ZW2oTwPn4C1yHZyB5ENhChSq4k5iinsnOAbIPrDdFC3Q3jGEH3/i7AQj0xk5qBCHTTD1kpXL1iLg2BZZfeDLohj/NVdHLrvQ58yZBQgErkrgQUEV53Xz+uPypwwUO2VrwjQ1kumA3+YpWzCTxExQkk4IM+w== 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=GKlTMQFbAnnigcLyW4Swh+pYK3cP9w2B6Tyc6cEN7o4=; b=jcY/lbEVohLgGiDzVW1Jy3iQuVtifYR/RaC9i8ZT/BO0OE4Dzm3mSjv/DqmqbX8qJA35uvekyEy1LNTIPy5UNkOo3Fj/xuPHTUcKu7R/iHMbr5+6H0uY3eYAosYXGhNTkqU8nDdG0/3TK0dJT7ZZ8FNMZ14w/IwEtshf7A13bEs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB5937.namprd10.prod.outlook.com (2603:10b6:930:2e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.18; Tue, 29 Nov 2022 16:45:12 +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.5857.022; Tue, 29 Nov 2022 16:45:12 +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 41/43] mm/mmap: Convert do_brk_flags() to use vma_prepare() and vma_complete() Thread-Topic: [PATCH 41/43] mm/mmap: Convert do_brk_flags() to use vma_prepare() and vma_complete() Thread-Index: AQHZBBHeAgMA4FrXDUujUVAxTJu42A== Date: Tue, 29 Nov 2022 16:44:37 +0000 Message-ID: <20221129164352.3374638-42-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CY5PR10MB5937:EE_ x-ms-office365-filtering-correlation-id: d8876939-662c-480d-7c35-08dad2291592 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rxrR3UF3ZRNsm1Jxeu4OnlPVDSsctej9ickXtjH9VEWZxnd+HfpUbTcHTWK3OdwWvDHLeBh0fweInoy88ATVVkHH1LkUsxIUyTLcur71h1IHQ/xXO7b0XAVvA8Wm+CVqWfmft7nKQ/bw7sDr5E4tdbhSGuSh3nLNyTCHhzBShxOe59nSwnoQ2m773/VMl01PxLj7ER0RzCoiMLeFBr2jLZqLZi1AoeXk8RlDhuvGzfEXh0DbkAl6Ma+3GCDiS+opd4/9cfzQz/WsDhN/PP6S0mcUcCVd9M8R6+gsTsTO3k7iqd3lexQHqEYDRgIykxv8ll0UgLFRqtJPjz9dRKLgRsg+0S6aFqeK/CbAcyubJXw0DOCqWhWWDb4qh0NF2Sph8XKm1b4APC3t8Y3L9h74yUeALr3rvPRdhz/nRbjShk3M9YE3Bl3m7oN1ZXIzVDzm0wpBrY45xsXSo61bkJO6Je+5IC/LMpVtW3+ohwdRP5kTkmAmlJYZhGN3NQhefTVjziobx1Kgy7EDiLtH2FhDY7v47YIwWt3mQI/Xh6zejSci/zXK8/jFNqkArqm87n8m6EnDrMfhpiU/kQPXLXcvHMc7yRrSLIlI5BF6ibHgGjP+DMwMS4lPrNkPQpUOTy7F/ccpYlFOX8umiHd9ReP/UG5Ln/dc2M0BFbaBcSHNotV5g/PY7SYDgQQitygv1ZFIXpGQNGWbLU+e0fINWDD2pg== 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)(346002)(39860400002)(396003)(366004)(136003)(451199015)(8676002)(66446008)(66946007)(86362001)(66556008)(66476007)(4326008)(64756008)(91956017)(2906002)(76116006)(110136005)(54906003)(41300700001)(38100700002)(122000001)(6512007)(83380400001)(186003)(8936002)(1076003)(36756003)(2616005)(316002)(5660300002)(107886003)(26005)(44832011)(6666004)(6486002)(71200400001)(478600001)(6506007)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?0yu43F6twGVghZAV5T7xdDp?= =?iso-8859-1?q?tNglKVPF6koGPP058H9d8xPTW5wjZm6qXE4jTnfCeqtTYbkS8d10UUDxLZuk?= =?iso-8859-1?q?ULRH8m2E+topmxN581rvSOb0mCnBL2WpJvwL21G6LODVFOoCYwqFlf8efccV?= =?iso-8859-1?q?C6qm7ksPxbHdiEmpBW2klNpYM9m9Dhxvi6VH8lviXPDOyBjmaUuFRTrjHLOu?= =?iso-8859-1?q?tAYd3HcOwjJcO3IQVq4ArZKYPAJFp7Taxkypd/CkHj5J4d6NMWrEqFWrL5Yy?= =?iso-8859-1?q?Ur+g94LXrY3ejUS1j4gnKOMjzxy4v8kq6zo1PgxSXOGqu0yFdvwwPl9spCfN?= =?iso-8859-1?q?GXwihbyIZ03Xf/w0yqKu84yRYWopuzKmJ7rXLmgcSH2Cmymx1QPZFWFgBS/c?= =?iso-8859-1?q?Pzexvro9cQ+PJZBpIlAbr8T4QQNkv6MXhJJ9Mn6MeH9CIAgP2EvetKdGlzaD?= =?iso-8859-1?q?MJFG9KUtkiRn+V23VeWZPM2VancQrB32rE4fFTzAdHWmopZGLBpcBSY8dnwe?= =?iso-8859-1?q?I07w1xEltPGoXCZiWnVJnlJzqG5JNGfTBI/V0rmaZxC7FJ3vUCdhqMnDXip/?= =?iso-8859-1?q?Df19Ztw8t/rZh7MV2tyWQmaD/AjQSQEPU+yk79DoKMXSYImYv6AEMkU1tNAM?= =?iso-8859-1?q?aQAZ+7u/h8uC+9Bh3LTmQZtV34IpN0aD0owxSiUnFFNpNXjbT3Xtx9rCZU8u?= =?iso-8859-1?q?yMydNFNWyTxPjW7agF8vz9fJhBkqIXWvoLHMEYKjglG4P293o8JPStPwbWOG?= =?iso-8859-1?q?6BR8FRvOcfScogNCyUFLNzhoUFbucLJeVtrWodWLxaEMiyjAQu+xGg+ZzRLB?= =?iso-8859-1?q?jAdxYXGShIFrugAkkRdRey+qypDmmmKjyXJSLX9DOz15jrJzrcT1Q42p+RKO?= =?iso-8859-1?q?dpHYVdDg/p76hv9qce2OHjh02bCCoYBLMHewdPlHg2BuZ15IRlaC0azWkH5Q?= =?iso-8859-1?q?HZVpGdtmqCWJCELktlwM17RTPdRagt8xQTJHdmoIpFh23RqoNzRGErzvUqJE?= =?iso-8859-1?q?mImAy6Vm1cOKUu62EcFonDkE6uelLZlJ2v83lk0dDxCHTTVWiKrGcM8Q+m+O?= =?iso-8859-1?q?jEIwhZSziRVPOsCMr6NjpZy6Ip+i5iVoPr75TrlSQlrthVW4jlxz4Oqs4x4C?= =?iso-8859-1?q?wLitUlD1HPAuq/S+rIW0v8BSRYYASQdRvinrplQr4hFQKXbYaH0Ux9o2+VpD?= =?iso-8859-1?q?UB2VRAgC4M2x5H15wpZFnI+nFxlkDAFuYb3lu5Eq86E/TMGmyknOmgoX0h6m?= =?iso-8859-1?q?Y/sEwoxOQ+YUwVwA90TyeWmM8jDgSFNPkwQCQevoaDLLha9Aqh5YgonV0eXr?= =?iso-8859-1?q?mmTXcaLwSzn3Rsqo0R+S5mOrVYfQ/QmyMauM/tj8hcW4a9gjpaqCHsk7gATu?= =?iso-8859-1?q?fLTPlayDDY9GGjpG/Lkmu3MIy/lWO/UEX19LkWACdfp8ksuCE+ZIXw5L+c9u?= =?iso-8859-1?q?POSbe+Rewy0s2/YOqigRU1pHiu8AT+dZjqwjqUiwf8Ih6MIUBycp2O0Lxb/c?= =?iso-8859-1?q?+PBj05VGJRvZjgDd3lsmLcZ3mwCx7EQkQaaxV/tQdUGFQqQFqqMWE2ZKfgjz?= =?iso-8859-1?q?MXkVkG1arSrpXRSr8zgUmXJm3j/3f4+h9+nCNlXbxcxqNZYmm+IgvCB50qhB?= =?iso-8859-1?q?3gPKErmjgANFQigC1w70HmqCiqEhiC0dy2jbI3A=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: JjMzIMGZLLN9nRj6J7PBp0N4gBtQ1LOUzpEkqJfeVVBp9IJWdPfy/ojjzX7/37xXk/Fu/TcZdDSvrKAmQgT0XVFNIIwvv+BN2rgj6D4jUAI84Cyqc0akfLWmoE2I45q4Mv9oeCBMgep9zFGs0QM2HJc8vY9m0SGh+NL0Baf7gRPIgu+lJLmNBI3+8j+BQLEyPGjzIHCJnm6jD1k4OgjCU3ItZRVgfGiq9OvO3fUsJzFX6rnuSCwRgPRXPzwn/yFx1AQ22sAh/U1lxIAEU2NsNppEjDMT1WqFqs0S7q54sSz/mEWShi6E7obSugoucNZglxXShU7vOfI4p3D3zbyyNRFZg5eSJjYWOO+QiA9U6e6HKjAG6fHS5IcDidCu7Rd3/abXuJdEb+ByPqpMvcKIl751G5ToVRqEdrSxk8wvl/ZqFhhTfVqEdxCBeNQ1qqxWoUi5uBasx5cEeoakbuMolrWmVkjskyYUHEtdBrnW3xQhS7bmmYounypYRrm5MWmbmqwEV9lp8jFQGcY4q24kT5g/OeQf6LtUiCaGdEVULcq11iONrwGw+aERQEeEv17lHVNvdbYiSUT6z5fBHvldUBGmfyxsZpFFsqht6Wi79E6rBrPLv7oC33ycGM2CvWVZvGPFnnUmzbqz3h17E1qJ0iOL5ifuA79mpMLZ+00lID8L5K/YPkk1LKykvJTRIjim9OCCBa56Ih0qBx97rX3WRAv9Gu13WZ/jXsBfdmBrvvXvsjRroIgxRYVmN3dTr2DfizzR+E+cXOKqhhkoHIzrWK/BO6rZaKsAm8u5Ii39+MGV+qmolB+qWft5v7uMmeBAAQMPv/iSyG8QIfWQ2jwybXM7cFs3Sv2/SGllf1Ll+nFFV+pMyjCNzAnSXit1T4bow6McZ2MTtcZMWZL/y1r9rg== 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: d8876939-662c-480d-7c35-08dad2291592 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:37.4877 (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: n9ne4OlIvCDc9NlWxAjuaa2ieKcTty/1PdMY5NCk8UMf6jmzkCStSqiGtq8sP0cCeUm90kiToezcq+lbqEqduA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5937 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: YqSWFchRogM7BMP83eNVdSTVsfhgsX1J X-Proofpoint-ORIG-GUID: YqSWFchRogM7BMP83eNVdSTVsfhgsX1J X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750850825689073055?= X-GMAIL-MSGID: =?utf-8?q?1750850825689073055?= 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 2b41e7882639..8ca40efb82f9 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2980,6 +2980,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); /* @@ -3007,18 +3008,13 @@ static int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma, return -ENOMEM; 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 Tue Nov 29 16:44:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27372 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp453298wrr; Tue, 29 Nov 2022 08:55:15 -0800 (PST) X-Google-Smtp-Source: AA0mqf7RIKrG88B6qGo0e/+/vv2BMbV4ApNYUfmz4rQY/DIEwNxNHq9GqWxm5LisFKKh6mj3KxrR X-Received: by 2002:a17:906:144c:b0:7ad:cda3:93c7 with SMTP id q12-20020a170906144c00b007adcda393c7mr49624506ejc.500.1669740915339; Tue, 29 Nov 2022 08:55:15 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740915; cv=pass; d=google.com; s=arc-20160816; b=dLXnULsv+JNbWMBBa1Z/kxlm272Vg/IhLCU4btBSrhoLJZ/VD4fG8M8fLxTziaOI5n 9AGBAp5mqO7ck6SjxaUl9mtBESBEiUOqapU4Z1NdS4bY/sHvqWAoeyCHX+OTzDHcsKQ+ bqrLPvtt+RQ6YT922QyK7ymLvqxt7cuK3yQzDmUezfMyO6gbm9+FVsQ9y5fLZT/BUFZP s/UDFUK8IJ+EYTQOdYNnqvFLwfMIPzQZpYke0yW4ABkOy7GZ74N6qHEOPUJrc6+RIdfQ M3Rc8Ct3ZoOdR5+nHPRt/LwUg9ONwBugXBPk9IiSFPXh0DFxy/GcMNtOG+J16H0Hx7uT B7cw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=JW6+9UwXWDgFrVRJ2ctqJ0TYYaXuE5oGeSURV6qoIDc=; b=mU4mNS7fl8CcDDuGLgaa8Qujo3W2YDWbXJU5QHvaomCvbUZBYDVd3r+TEIZ6wOQEz5 Qm8zKifWN6Ycq1w+Vg6RfZkP0PUcMzpslfixPaZ/3Kal8ridgiqYO6K6OJ3c0+V8W9yx hc5QCSdVCJ+ROX0kyd8AnvxjWogpSt+WATkYXRilLHX3lqzFKIZgxHc/C0Vgk6gu6dwp uBGJK9R3rmNV+cjA7mpmpSX9hYdCD8gWkPb5+fF9c7rfu2OS+aZ/Pqm2A2XeUlhzvskd utCoeYUGMICKX6muWQljNJ2+3Epg7c2XEvjWEaXXUwGfNTpm7CGEQXgr0ymn9dMNvoVy NS6w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=hEVX0NuN; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=VFmtwPYs; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g14-20020a056402090e00b0046a222caa96si13957878edz.516.2022.11.29.08.54.46; Tue, 29 Nov 2022 08:55:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=hEVX0NuN; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=VFmtwPYs; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236376AbiK2Qsc (ORCPT + 99 others); Tue, 29 Nov 2022 11:48:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236244AbiK2QrZ (ORCPT ); Tue, 29 Nov 2022 11:47:25 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AFE476CA1C for ; Tue, 29 Nov 2022 08:45:26 -0800 (PST) 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 2ATGNtE0022642; Tue, 29 Nov 2022 16:45:21 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=JW6+9UwXWDgFrVRJ2ctqJ0TYYaXuE5oGeSURV6qoIDc=; b=hEVX0NuNJT2MTasPCWsYQCZ5SjQ6jZ0SpzuWgdlT84y6Wp92kTnrkksyY7AKzZT7+CNR d+MMJMbHszOmxwheev39P7F9jq1BcF8y2IqW58GJ/wMPLwsPX2rz20eUvVP0cFWutkHS N3lFmqoQ5q36OSjww3jTbX1uHgUwtrLCbaApGzK5F54UzUVGc5S6qF3vQd6KXcH9Okmv 8OviGxdA5KHBcYzZM85GUPWPOYYXKlNpC523Ba8payiOzp7JJkcZVTaXlXcQ4HRQld4C 9YU4mk3SlQNZDJJpVTLKy6HfF/b0W+NzKC5yYOlQDGOd196tMTzkWFhRGbtEhTXOO24m Fg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m397ffc7j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:21 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFn6v4028010; Tue, 29 Nov 2022 16:45:20 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2041.outbound.protection.outlook.com [104.47.57.41]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f3xj-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zh2YaYyERgXtikjVOybGhmSEvPsgfHL7V3ivf+cXMa8WTTiuECjLSW5Y9GAMk9fmRvE0F28MUFjtidSd+/omWXgp7ysERgV9QgZKFB0s5d96cgXbPpQ5U+wDDwKmNXt22reNJE1DPgXCbfC/WCqUKu2E/eWYJ3//qniOkyI9r2UZct/lRDbGYKsXoPxcAo9iAfxH+y7cWrB8qVbkfiIkCRvzt3HpW/Tst+awnZZyHJGxrGuWeZsXzz8Y5uJXhNxgvf2WmXNtpi92oSl2Y+xl+LmDHrMqoIoK/nt0TYIQ9B1wkNjZHfFK0uLnAcDkojUfz9ArDVxV1Do7iWVzrvO6kg== 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=JW6+9UwXWDgFrVRJ2ctqJ0TYYaXuE5oGeSURV6qoIDc=; b=BXquxgiYEbA5wL23+9V3NZmpmCupgN7aiej0xoLcclPg3vXTBPd3fuvuSl5EXKO49BkagUoFqzWJxnMTu7yLyq1dlDIn5QRDM9vjg9JkirFMNbWhQKKsWbc5zipBlJzU3kXlYy1C/mh+WJYJrfKYSlZqV6j9+jLWK+eO/rwuA+Bc3AT4vO9AW2SBz94wMjW0UDYi49g+6sIL1nU26PVvkDYedQ9sfl8iF5haueed4kyKekTZsV2jxxg2LLVHZeyaispN1OQEd6IIKtnHojm/j69qIwTbLHgVclCm63hE7NWtYhOIE5ueAKNSnZpzYmyoCg3Z8Uqm/SGtH6QMr70+zA== 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=JW6+9UwXWDgFrVRJ2ctqJ0TYYaXuE5oGeSURV6qoIDc=; b=VFmtwPYsRgBTS+IaH1OhRYqJb0tHJv6N49lZ127sxGFHWMGm2nt/12WVvMjjnSag2jj5gAj+Lg56vHzqXAfCZWvAmeqGguaNnSN2cXo43x3ANMHAadtmVsG9L2j2r6mYq3Z6E2E3kIm2+LM4iKURJlTka1/UYu4xkfgEDT3c+yI= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB5937.namprd10.prod.outlook.com (2603:10b6:930:2e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.18; Tue, 29 Nov 2022 16:45:12 +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.5857.022; Tue, 29 Nov 2022 16:45:12 +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 42/43] mm/mmap: Remove __vma_adjust() Thread-Topic: [PATCH 42/43] mm/mmap: Remove __vma_adjust() Thread-Index: AQHZBBHezj+OnykxmUqqUb+jwvJ8PQ== Date: Tue, 29 Nov 2022 16:44:37 +0000 Message-ID: <20221129164352.3374638-43-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CY5PR10MB5937:EE_ x-ms-office365-filtering-correlation-id: a9eedd6a-f0e7-4345-da82-08dad22915d2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Sf/h7U6IYxuPEKHZJKfMSg/NjbSxP7DZ1QitCNfZxS74JznTmP6jpSZ4ZVLsPve/e2fCgfOR22W36aRH+xVUVd0356Gk8Ip1eu6hGA3yKpL1ODMiD9rOveZa2bDybxLwhzI0QWBRTral6w/dPCzod496FsfCfhdn8BREMbyBxUWI//sDhA8ilB6aO1tvlJrgoClyMbsliYY2TY9A7OIG+7FDNKYp9Dnnm2W3P0J/bu+CLFe6DPp4SsWlLeVl6KQDe+yEYWsJZpBdTGS7ArFVr2b4CpWcXBiQW/IdNaGQPRQKU540S4XfPtzllrn+Qk2qoPC+wMZB00f+5Yyuhk5Rg6SyncxBTf1S4GhzpNoXpO+MFRQ5QIWubS/W2TTMFXVX4E1wWM1xt5cHtaxaBU4ik98AQVCkWVK5ukV+bbN+d2Zape7ceo1QjNSrG8UwMfwSvOEnKHBSQQ7RqL7rDHL/oJedTWkto/6lmGet1+oGL6bUwohSgJrRddVu4Tanb9L5WtCjL+x7aaxfjbmH1kcrbBE82wH9O0CJNQJtFGOcbHr7xyY6RMOFaYI+NLjwQTjIYhvRPEvFwHXGtS3bvNRmzYfEfmlTzvO8Ts+ittf3yxqUBY5rDZwK8Q++1WeYpdp6VpQtFDjiT4YXn+ZwHUeVV8ApZU8CZpayoPSvY4OXuV7rz2Hfom2O3tKLDAFt+zGt7G+re55x/NovEZTFxRW8EA== 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)(346002)(39860400002)(396003)(366004)(136003)(451199015)(8676002)(66446008)(66946007)(86362001)(66556008)(66476007)(4326008)(64756008)(91956017)(2906002)(76116006)(110136005)(54906003)(41300700001)(38100700002)(122000001)(6512007)(83380400001)(30864003)(186003)(8936002)(1076003)(36756003)(2616005)(316002)(5660300002)(107886003)(26005)(44832011)(6666004)(6486002)(71200400001)(478600001)(6506007)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?FZpkfbhUBNcd1FYDjYJ1PTT?= =?iso-8859-1?q?SXfHnpn0CugpcP8wLkpaMdnVB0L85xxyaTP5gz+7AMT6BeEQLCxN/Y/+ilMw?= =?iso-8859-1?q?pnI/R3XS3ld1kvHeMWi/xujkBOH+jfRUbAVHl0nEnlWOV6ckj6HQSaH8wTe7?= =?iso-8859-1?q?R/rR+vFhec0JBqB5kVqsiy4T2oYIl2RI8HdaSPD+0XphyNQgNRV8FGL3i1G3?= =?iso-8859-1?q?SN/S/Swa0hoGicA7YclSdu5pKArfW7gwHJk4iPAUaUe50Psdylu+H/etNQU8?= =?iso-8859-1?q?A6IUiYObm/r8udABj78nBRtg1arKO9whAKh6Edz0ovXuj6UxB9gvc+OWzhEz?= =?iso-8859-1?q?hL8W+pSCZTIDcM4ew2rbqfPibpARC5bOXxzJMr3Sdu57iCyrsJ4DBS6WcgYj?= =?iso-8859-1?q?aLO0mUInE2D6re1u1uh6EQp6GVa1XK6aTsECGOohOoqlDAsT3K5+yZWNTdKL?= =?iso-8859-1?q?iC2J3QyTBbSeRjJTCSln2SjguTiy6WnXK2LNzr9aoqZgyGHB1RUM6o/NAd2S?= =?iso-8859-1?q?nXLY/hoMvEFsLJG3r8RRKnk9Qo1NE2AVT9Ec2RkSuVzOc1JcdMVWkhOB6PJh?= =?iso-8859-1?q?VTAo8YQ6J8elO0V0B22zT43H1q7lrO+rGEkTeZv6d/vUi6t2wbVE+i7+dEgp?= =?iso-8859-1?q?opoibRoU26sqmuj7JM3r4CLpqfQe9ldhrS8+KipBayWkDkR5iBbJEWIdYaBs?= =?iso-8859-1?q?tj3oed+00nJzKbk/5hQuER64KwlwxnCgzfEpF6L4Buv0LhnX70xLAz/rWtz5?= =?iso-8859-1?q?X0w76QKY7CvLt/IAjiJ95hYe5vQiPjrl9b4Wkpe/McS7YST8bjP4NSfmzcf3?= =?iso-8859-1?q?PGQUHiMOpxxjWc14OCW/NstjReKqPfB11SBNV69Tt/JPeSFztE7VID249YKO?= =?iso-8859-1?q?RXWR97KDIzs+BW64EJ75i30ENUFlK7zH445pwu/MGUeDu8r8xZk9htJ9qVzw?= =?iso-8859-1?q?kikN9xmww6xrm+ovNTUHq2dsFkTI1bBnaUne/2n0IuuMW8VinI11RaBM8g6W?= =?iso-8859-1?q?LGFpK+PKLzDTV1/0HePJf2VeIlvn9CvEjwQYKrCSRUP9voxg9ly+D/0ztghV?= =?iso-8859-1?q?NcfbA/SYQ+QK/aCDnn1s8g6sK1Mx+UBtPM2GFMI7R/alwtzXyb3o2p7AqnWH?= =?iso-8859-1?q?YX+8Gh9wdXzzjXF9Kt7W3NaUat1YNe62IFAKVZ/w+n67i7MLADSpiRcwQ0/j?= =?iso-8859-1?q?MKtgkZqJuGxLog0HE2lRA458Qwsj9JKuV3eagWSFC2G8ISaZhgQ5S5XGPnWD?= =?iso-8859-1?q?w7tQVBD6y00bYV4mZvJeidiqp5gBodUVR6UjrQyF/P9VFRy1ozHwTBHw2I+f?= =?iso-8859-1?q?4rHg1F/v8y1IwZgVK9u22AC2DIcZVX7Nv8uvZu374Hzl7vJbZ/NmDqkeSJyw?= =?iso-8859-1?q?IpFc1Iq2HAZo+7cfjf4fGszIcHZfwKCFMyoQGHFQiFCnkM3nCdyGwTHiPnt6?= =?iso-8859-1?q?dMaCdvtkeI/V2gDPvDoPjRVngHXIt1QGBbZ9Oc/VlNr5mQ7GBdsNWVy9Dy1j?= =?iso-8859-1?q?Lh+11iTol4+cYdatxfjcz300iWdxy1rtPLeyON06o3qmRB3gj7j0JupTDVTQ?= =?iso-8859-1?q?sxqsJ9DSJ8PMLFuHsltCLe0XELYctsbD0k13zKUHgwK9AQLUyYXH3CI+J1K5?= =?iso-8859-1?q?x6rrHSPrzY8iOh/V4z8smEDKy/EHgwTIR3v7izA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 4GA0TEz38UmreIP4VkX89p01OBIiU2N2hQxV1km3zOrEIfA3HH+rJB7BMZmhLGnzQ31exgz/ImEcjIgxGU8QvGRCfPACl7kmLDu1cu3w0EJGKMGhm2IJ4+izOdQTcQyI3kYEbTluTsunBy7Wz+pz2feh7+TzEEGxbfu4xr6zJv1lrvkfCodWu4Vg1DSIhI0fohqDhIryRngsFlCwSA8SNzkyezkuJcLhM+VyJa7va2Gd7l5uot0oJOgOKrsLhb5wo1ZQYbxukPN3FZp4oxxQsXpCYDF/ceyOpfW/aV/U2f/d6vovQ9/3SGSS4l0cd2scmwN0piwkFEewuJ9Vqb2NbQhljiD4067UXnVEdXUrJa/Yf6AAMWPo7JXVirDCba+9urDL8OtxoO2eDxmc8n8H7t/iFJVkUB0aklaGeG3hAECK64Lkh3omqj4izwawKxXEl7k1FgWH5k4ZuQ+xtgy96ACzHRgFLUfmywmfYhSROpSntTgV8BLAm1mZ5kRAfxQR7HRcB/f5zXgA9O2DZNiwyHzEOnAei4zXEXnmjbPtSMXOG+iBxye2L8lxjALQ6Zkz3A97UuzDCWuxqBmB7jpA4ZLwFLI2vnKERzj2Gtbl2MY7GhCzQ9qEk2dF+PVCRj7nY1ci/9zZfW0OU3I1S5qKU6FElswNkXCEiKsEj56oMaf2ZbeZKPNg7C7eny/xagUYcHizwn2qaovnDf+mXragvn4rq0abnmi3fYLrkf5zodlQLlULpDUyg5ryu4sNlU3MD7fAJwbBsfqbM6k4Ltc35IVUkSpH2S2p1P7E5XzmKl0fwMzzEROp0rzlsLMWtF6Q4kRIPl6b75fxaNCgKr73L07AhVR7F4rlO40WposHglIncaxty2PAtfXNyvRzqVnG2rJ+J4PPeHOh5Grl5ejaAw== 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: a9eedd6a-f0e7-4345-da82-08dad22915d2 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:37.8314 (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: Veb6m7DiT+PSCx7TZ9nVmNTnm5cPZjREtp0bAb163ZxUqFTWT7ExJbUuQatAFXd7iNsPwVtZopSWJWNxltxx1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5937 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: 95AGOufnystP_fTVVyiQKyre-jYcUdi- X-Proofpoint-GUID: 95AGOufnystP_fTVVyiQKyre-jYcUdi- X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750850250309485489?= X-GMAIL-MSGID: =?utf-8?q?1750850250309485489?= 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. Signed-off-by: Liam R. Howlett --- kernel/events/uprobes.c | 2 +- mm/filemap.c | 2 +- mm/mmap.c | 250 ++++++++++++++++------------------------ mm/rmap.c | 4 +- 4 files changed, 101 insertions(+), 157 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 08341616ae7a..e28fb229f6b4 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 8ca40efb82f9..be01ffb96ecf 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -800,133 +800,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. @@ -1053,7 +926,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 @@ -1063,6 +936,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, @@ -1073,11 +952,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. @@ -1095,13 +982,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 && @@ -1111,32 +1002,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 2ec925e5fa6a..3685390c36a7 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -1230,7 +1230,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)); @@ -2556,7 +2556,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 Tue Nov 29 16:44:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 27381 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp462421wrr; Tue, 29 Nov 2022 09:09:22 -0800 (PST) X-Google-Smtp-Source: AA0mqf5P1KLVts3UL14wyhav3bA75sX+hXbdbqFVEtdjPfq5MbvbpwDFXYetCjFe12XlMIwFu2Cs X-Received: by 2002:a05:6402:2213:b0:46b:1d60:f60a with SMTP id cq19-20020a056402221300b0046b1d60f60amr11086192edb.193.1669741762593; Tue, 29 Nov 2022 09:09:22 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669741762; cv=pass; d=google.com; s=arc-20160816; b=GxWkkXYTgthzpcd5d4uKdx7GTtiTGyuyiz2V49oAa9axvdlyrHtCP7uxsp9/nIxgNx daggAXCM66WTukGf7d1SqtPN4S9hjQsaiGbykjx4683TzqcNR4S9YbYgfS5C+adME0C3 bWxBTew8waynzrcuyhBXDWT0WquxpxhlQXJ7e3Hp/uNckt7LT4uvqs3XXqDg3Lvr78KT 0kJdm5c5pk7qUl/Xmyj0/O9Pm0QAcY0pEb1H9WFRET1kxAgyCi4iOqnvmoD05jRzxC4P x2ZoPRkyb+hWhyZBEKiAYaaaDD1+pUZddHo2pvdw0DQRS+FDK+LgmaPgB9W+nF2iqBS3 3F/g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=7KHVMi1t+M3SCAsyGgOyuruydr2QaleFx1gZsEpJNpY=; b=fARN6oIMzPTRc1wVUPnRn8Qr5I4NcXQHyrCYGnM+RrNez81ZHZNtGxwA5fzp4teLKy UR8IRW1PWsujko0YEJaJfJrqhdhWYNikaENnjmRF9BffwTcu8eoy4FvvwUq6DkBmeXuj T3uHKq933Xs1itlL3PVi1UWXigrYQGxRbnWvFgshQHEa83JB5MnUP7UweBaTcZOnFf4E 7xnSt3+yiGx3tK34IXj/o1JwnuUGpE0gxyB132BFk/pyIj+pl+xaND5ZeELNgDyW8gYY rpE3Ng++yRhdJppaOAcVabjafFnXzG3XGSxDgjE/p7F+cHlGr52PsafzRR8WdGZYhaR9 i0eQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=O5Y7pIAY; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=lALT1rvu; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v5-20020a509545000000b004599fc7f310si11840861eda.140.2022.11.29.09.08.54; Tue, 29 Nov 2022 09:09:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=O5Y7pIAY; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=lALT1rvu; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236262AbiK2QtI (ORCPT + 99 others); Tue, 29 Nov 2022 11:49:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41734 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236267AbiK2Qra (ORCPT ); Tue, 29 Nov 2022 11:47:30 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B09F66CA2A for ; Tue, 29 Nov 2022 08:45:31 -0800 (PST) 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 2ATGPi84017341; Tue, 29 Nov 2022 16:45:24 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=7KHVMi1t+M3SCAsyGgOyuruydr2QaleFx1gZsEpJNpY=; b=O5Y7pIAYS/VK+9fDEn6fugDmhzSB3qJtiWH0a8XwfmddG0DiFDk1Rnvz6QmR4ty2E8rV R8H8O8r7FBhAGpqR7NXJ4RR54k55eWUhl54eczKn5jfrVuRkAsoXDVSin9+BifrUKiYO g902Zg3v8nTjgI7O6SxeKOvNioa1AS+C4xu0c4QepuvpLiN/tFErGf852Oxc4d6/tTGu yuzaCYJ6K22mzrMqYRxQF34BmZLahqYEO9LTGjJb+vy0cGKmIui+k/y7rQ9Ec1bjwCn7 SEkuf/xLVB1knNtDuU62Z3fLByf2KRkGdUE2TG+b9mOyrOT/HPlcvDXRvhsxGdqtp/gK lg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3xht6hr1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:19 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATFn6v1028010; Tue, 29 Nov 2022 16:45:19 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2041.outbound.protection.outlook.com [104.47.57.41]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m3987f3xj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:45:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hfvpnB1pPwKlWlAbYzCESaQguddpmlZu1ND8ZgHMCiE+WxwJ+SC3aZ0TYmxkre6ESYL69yIOe3Z/EPVYjHL3jcRuSJWbgyr8+x2/1T7UpRAlr5XcKKi364QCZkua6x8yNKpc7qYkEn8it/gouux2QqkJwdRbHSTH1eDqONtQ7zh+5hgQL4UFOFo0hpuU8WX9YHpszw6d7teR7FuJ+rOjyo+XFI5I62bMC2PpMipOjP+UDREbYQQ2US4zk5Tx/oJqnLcMLPZQXWYXZNbBjxSQlDTTbuF7ncTdwCF6D1KVeW4beJKJnQcbil7Frg2pY/Jv0UOE9W0211T3k9Q/Jh/BVw== 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=7KHVMi1t+M3SCAsyGgOyuruydr2QaleFx1gZsEpJNpY=; b=SoPj1+MhXjJ8QxWJ8mlZh3gorn56Ivc2D3DwxMN6aRX728DiQRaWQhXAyt7o9rFJbzY4vSPwBGHjUdofVTRX/IDVs1cYQSmGarkpCXmLuqtc4JA7LaObmr7TKK1TLEryACd55Oh+plZ53vFz5/jqPEoqGaFOs9BJjyA6iSyW549EHsj0qI4KZ3M4c053EqjhJdhWU7clUnJC1iNryNaYx7Uzt6DdeVBnExRIKCKFrbquThnZow5KRs2pEuFKXJ7P8OypnKHKgR0AGgVUenoNOgpptaCjVeUEAjY/pH+s40IEnBu/nsBGXaqZUoOciL7uYCNQrD1/t7J0Iqw705pNjw== 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=7KHVMi1t+M3SCAsyGgOyuruydr2QaleFx1gZsEpJNpY=; b=lALT1rvu5A4xr551AX6DZFNkHSII7GcKE8EsTqV4ObXwczAjshb5xzJ9UDdYkrx5aYcZb+L8l5NRNEUv0qKqA/of+Y0nC2IFa5XEu734TH21vk1GwnvWuxmvLLRLCVhXr+HwkpR4uR9iFAn3LE/wqS26LcWifcdoq8Im5FNHrmI= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB5937.namprd10.prod.outlook.com (2603:10b6:930:2e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.18; Tue, 29 Nov 2022 16:45:13 +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.5857.022; Tue, 29 Nov 2022 16:45:13 +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 43/43] vma_merge: Set vma iterator to correct position. Thread-Topic: [PATCH 43/43] vma_merge: Set vma iterator to correct position. Thread-Index: AQHZBBHeQRDugZrqUUmfQ8gAkkJUNA== Date: Tue, 29 Nov 2022 16:44:38 +0000 Message-ID: <20221129164352.3374638-44-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-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_|CY5PR10MB5937:EE_ x-ms-office365-filtering-correlation-id: 353669cf-5ce1-4559-246a-08dad229161f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Rfg48Ud/P7IIfUP5URbfkOCNGIn8ySDCVYQI/OSB1DvXzUp+80rH9PkO+V93DTFs7EKCye88Dt4Z5xrSuCCnc9x46odaLuQbVxUY/7b+YJ62AE9PuZdF5PTmH42+UnpQ2RCuBFjzBpDgKoL3FF3ZnaNQV7iYS2/l7bKylaaDyqzC/xMnuiKfvKtT10IfDR/bzJKI8UAXpWHDrmwQpmyugespET56xUwk6PzJQIqEIGsoW/sPQCpiVPpX5p2wVHAh0bbjxvwZAXqfgnzH4FtBk5fgJAFshVzMddidHxEk5pGsMESteGfxbLpCeA5O6ShzcrmN5Cs3iWK6dNdg1afxhdNr2ezVINzxxMmnIUTKBxOkjMx/vSBXVc3pnvyh0zrFLAeJtiVduVwPycunIYgU8vvmtk+bA71jpzjPG+gBMsMihdc1us+V2t0EQuCfZsB04/cd2+L7cgSMFEXpvuijg9fQYsxwMSB8tm+Gkoz8lDJvAfFA4qLrvZ2vhdMLGtZaY5LSqcrCP+n4ih+CHlw3NPp7E4r2Hc38TteB5H4SsyW8aSrgDCyFWLqGGbmpg1EfoBI3WDaWeFNxm83LtJcfbRsgf4JF5X5y08R7qaujWVPzac2qdoQMf9o9Wi5nKeQzFSDoRNEQYn3cEykXjdtOHZyVaRW2qoyapRXqEuTd9BltKSHfr5q6Dm00prilKS4n/ZP0sxatRYWeoZVfH4KIYQ== 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)(346002)(39860400002)(396003)(366004)(136003)(451199015)(8676002)(66446008)(66946007)(86362001)(66556008)(66476007)(4326008)(64756008)(91956017)(2906002)(76116006)(110136005)(54906003)(41300700001)(38100700002)(122000001)(6512007)(83380400001)(186003)(8936002)(1076003)(36756003)(4744005)(2616005)(316002)(5660300002)(107886003)(26005)(44832011)(6666004)(6486002)(71200400001)(478600001)(6506007)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?WkISHko2jHxQp5ZPsLiNjYq?= =?iso-8859-1?q?6iMxO0DQXjfnHX6i34cXBTfaCjcf360CF1i4QoDemPGqfsSB2F66H8QnVlTB?= =?iso-8859-1?q?gvve/m1z8QfbV/FMX8RMx3eOBMhrq1aH/3ks72jZ+agMzn0INaE2my59g44o?= =?iso-8859-1?q?Gyd8I1kZuY5oHehirSoZTO+0ezRGJ8bJ+5HE1w2faCO7AoSClKBJoES+kuST?= =?iso-8859-1?q?RoQ28BkIFqxhfpnFcE1kgiK6Zw0n0UHuZ6sd2aJoL31awqxghXyOjcfm4Vez?= =?iso-8859-1?q?SxVJ+XMmQe2LO+oRMjhBYLyAHoYxDGXEKzH9XMO2aRhVpadhWNBxwRrlsDq1?= =?iso-8859-1?q?eaojz57TobBcR1BRTOqkZvSRYHAjZQjumnjhkUtTm4Zx2s9r0+CH3yIMIog4?= =?iso-8859-1?q?Q0FmHUdK5LR3/iYMQtv/oNsjMxHLOjlHzDOfx2UKITjX3fTBCMkApaY2/KDP?= =?iso-8859-1?q?lRJHsgf6301L32hXPHzXJ8WrpC/B+FXizhuhuSET3h4zgiF4RBA89vQUZs1x?= =?iso-8859-1?q?GI1seNJIhe4zY7eeLNyxnYPGsavRhDZGV9OPE++CQBGOl7IstfGWy3YHBon5?= =?iso-8859-1?q?qsaIp4meTLb5HCiWsAdS0Nbs656DOxrk2m/yihCBe6v1BuXo1DxKAa5JMrqH?= =?iso-8859-1?q?+sUZthbro8HLqSDgIGQ5mTUhr3yW+NMzsWTc0KDh4DCAQF1TxL/8BJCrewQe?= =?iso-8859-1?q?0Zgeg+cE4Nlrqq9ieqF/tvT4KFwVUPHTfT9C3j3YAm5qxrUmq/ZKlZ5E/Fhl?= =?iso-8859-1?q?I53IKj3i9CWRspETtFPGmB0bZZWQxgtlDGGSqkWYIsLYpM30W3DHYhjTjvbM?= =?iso-8859-1?q?PsD6bx3S2C5H42Ed4L7KByRTHppOPSXSBT5uTDWokSD/vmagOL5sBW6Lgje4?= =?iso-8859-1?q?BGW9DsAm999c+qpZKEJ3bZHawX8dqHcp/TG7mXaJoKwa2DbS9pd/CJC53YvW?= =?iso-8859-1?q?i9Pubn2cnIGI0XemEKuL6XT2bHEEuMrhQwn1J1YqMwxzOI/+FKCTsYk1ex5A?= =?iso-8859-1?q?Y9Ecvbg7ZsUZWJP+RTL3an9+SFIQyo9R3OlyOciFQ3NaFVpyjYkP+n7X0W7s?= =?iso-8859-1?q?oUacm6myy5DO5uDMl6Y3m7QBe/7h01DA0TJ3ZR4u4hUSzDLko/ZXqI6Eil+9?= =?iso-8859-1?q?j/h5+jTFjajXl6GrnRzGKL3+ry/fwzUw+zcTSQm+QynoJ7lYizk41g85TQz5?= =?iso-8859-1?q?sDpyEXpUOG60VpQE59xvzaOLGfQ4zDvt1aYFC7BcBE+xqjuv7YT6UJZGb1/9?= =?iso-8859-1?q?QHPUHmPuQlDvNkAfFhYvQuwPwYbxDpALAHgnDU0E1srY38FK9S2OGJigH6/r?= =?iso-8859-1?q?g0iFM+ifJZ8NPIyZVJk9lxJyV/IojWDmG3d+0c/ETGfnuj8aFijMMtasra89?= =?iso-8859-1?q?hSEof/Sniy8hVond06a3sKZaRtHWLWKhqGkcrE02BxSE42RAbUET1MjFmr3V?= =?iso-8859-1?q?wXZWUMA0WH9sGF6IEhWPqxChPjjVjguOaXNjRUL2sH2bu+34ljobmAIuNfya?= =?iso-8859-1?q?3vTcMDZ0vdPNuLSUO/UEcT2hfCrCo24aLbrvBG24JD+m/exhryFu2VJPQnWb?= =?iso-8859-1?q?w2SVKjcBp+IcQXZ8kgqa9w6QUKwIKh2X/PAd2kTsOlqEv4NEaa5mh68iDSIW?= =?iso-8859-1?q?EEwQ2xrn6jA9u/9wkWJc8Qm6ClnHZRgg2XP9JNA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: odlxoAfQSPbOcV1Xk2Ro3WuX8WiK7giz01Ck7zP59uN1m1dOZZV6Wq/ZCi6vlqTLNC5cYuvapOQtZkzJ1AiVFiIheL19E4X9vNXoQSyayUAU/cI/bFMJ+Jh9+09yVrCaBrU7BADWRd/VAMb6k81FOn8zd0elc6nR2yXegebyLvCKXTGQvzrP58v2dQdfmJs8qDafoKFcEsfcTmieFe5K/wx+sVlTRafjvenENLafmkONf7QDnPCRaocCy5lyVJPP7l2RfRY+h8wpHR3vqiNgYUJA7W9lciTrRzGQU1o6lC19x2S66cKx1DgFGl/tmrVaNle/X7EMm015ZcV1EB6zpwIYQTyUEZGjzjreQyMI7JNu+twYhCd6e0R3R9wWk2N1ViMewQgtDUH2l6fuS1+cUTtoUBrx/NpSEWZno04FN7wi+1/FqUQO2GgN2LsxwICG3qCdbHB2MBMsD8YbtRr3MkifWsw2PVju8KjIYikw0XD1W9Jo6K658TUwPV1xJXFIqyUe674nL1GYS5mTumdFj55+0qNVnoCXMjPDnXhJaYpfJvaPhO7Upj4CNtMeWC2SfoZK89t4bK3Ci0MRjNZvJdYSTImYWPv06zylXzdf4XZ1+6bx420UKwNUnn0gMrPiFrX1ZJ1iuhZCkQgir5BMLIRC5ShKbuEkpQ92ySarWv9pzAWmZ4D333JEwvY2w9m/QaLuTZA4MDx7wsJbOQ6JbN0xED83vUw430NrTAsU+FhvSJJO/PerRRdObwtVZLUP9/kCO+G9ayjZc5NN9+9LfpLstFpxZ0Y0/K4xJ6yM6XTLau8D4oTu2rwF/ER3ZYDoPeAMpIkgWavPgSCaJKlqQ8kxfmNxXk+35iPB1PNxlFpvL+OR50bl9KrO4t0bWsu7RNrw2L+jG7Jna3PzUzeQjQ== 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: 353669cf-5ce1-4559-246a-08dad229161f X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:38.1439 (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: wNSC3ACBQYKEV3dkq3uyTmt/X0lflFx92t/6gJyDj/naoXyUXvW0dOGhx4QLikfshtmnyYrMMa9RHxcwKV33kg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5937 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=984 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-GUID: 6MYWNRrWKV0Zx7-heKHFeRCtPkqJcHrY X-Proofpoint-ORIG-GUID: 6MYWNRrWKV0Zx7-heKHFeRCtPkqJcHrY X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750851138493129830?= X-GMAIL-MSGID: =?utf-8?q?1750851138493129830?= 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 be01ffb96ecf..e14d8bc9c59f 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -992,6 +992,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? */ @@ -1083,9 +1084,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; }