Message ID | 20220504011345.662299-43-Liam.Howlett@oracle.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 463CEC433F5 for <linux-mm@archiver.kernel.org>; Sat, 7 May 2022 10:29:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E5E36B0095; Sat, 7 May 2022 06:29:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 995DF6B0096; Sat, 7 May 2022 06:29:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 80ECE6B0098; Sat, 7 May 2022 06:29:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 6F5406B0095 for <linux-mm@kvack.org>; Sat, 7 May 2022 06:29:43 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 32CD9208AF for <linux-mm@kvack.org>; Sat, 7 May 2022 10:29:43 +0000 (UTC) X-FDA: 79438575846.23.B7FEF59 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf31.hostedemail.com (Postfix) with ESMTP id A45B120052 for <linux-mm@kvack.org>; Sat, 7 May 2022 10:29:24 +0000 (UTC) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 243KnJSG013484; Wed, 4 May 2022 01:14:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=AiQGQQKBHlC4NOoZffg90TrtQ7kvvHftMWgpm46tkKU=; b=dvfmWUZz0pQRxyGn8MIW1Mge6Jt+wE+W8iGe9d+V3lP+fX/hqBs/WMG3wwMB7llps5BE Fqe2jHzgFZ5gCZm9ZzS06pmHNQ40Rci5jV0OyIw8oMEtVh6WmakJ2tTJnAfVwGPMb8be brwVrW/ykLwEuCYdP9g1/pPpQs5arfhhjtdM6Cny+QnxLQ6ge/vfBITPLauO0AY6QWdn 54eDlaOhh+HWJsr4ICjSTqMuujmh+5lsYBQ72zu+G4FDpbOOpladgKeX4QHviL89/X47 qpqno7JoBU9QUcxgrO7FXMpVXydfuFEGOhPOBZN8my0sz4d7zk4JHAFVGRSbt8OOaM1/ Xw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3frvqsf6fh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 May 2022 01:14:43 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 2441BXR2013207; Wed, 4 May 2022 01:14:42 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2049.outbound.protection.outlook.com [104.47.66.49]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fsvbmv41r-7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 May 2022 01:14:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HPaSlJigt2F59Eso2ekSSM6Mwib0LpK071hg1j/qYSun63JRTwLbYqALtJOqlgKja7aVKEEwXukRkCy+mvj20TOqQUik8lakeACtfGnx5mHg2efJT6bVbEA9xPhd4x//3yUbVO6RhkYJVMULwkD+nWPLYjgBrqpencbl5GJZ3Wd6bSq3WAq2vF2DFsvYeIQ03VCXiNL22vIvALnq9MTBuQIvLUmt8JvBcEEg/xdY5883sm+5lS3XIg3cYZFz67zFyTiLXuwt+w56wTVN0fCeTICECgZpHbLI0TN4h7AOBxXODXovJOvPIzjn0rETVYE4IwzDtlQjPm4QEmnOBrQvYA== 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=AiQGQQKBHlC4NOoZffg90TrtQ7kvvHftMWgpm46tkKU=; b=e0Joue0qQUmPtvCo7HbpIdGJMru9KwO7Oq9EJX2gkOjWk6KKidf7OSfwDdMfZMXiGxSR3r4iU+OuCVrGUVNbW1EXeTSiQYqazjTucTjJU8VifoFpIzDw1zOYrPhvgh9RWf7S/GhrbYIt7JlaTqRvkCs/cpj13zt/MA/4W+brPE8UaUxhvwdkBN1uyrU+vy272+zcgUTJht3ECixrsoJfT+tDoXipQ0FBUeNooJLF/RJlXkQJcxE658I1y6EMSExH8y8fo+7x/WHnqi5M6Gm6jTgEdArGAcfmen8BEcTpNb53Sf+vsKCnbFRo501mKmuI+fHrIuzTsLhVuxGvWyYzig== 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=AiQGQQKBHlC4NOoZffg90TrtQ7kvvHftMWgpm46tkKU=; b=s9FKAm6kb7pM8CROk2rpsrnuFdb6lqrK1wzX/hf44/0pyewGvkT2Q3J7NTJDKEQYvcD0QCGeoP195KlM8YLSfSsYCN3CLi+9ekSnr1v3OlKy32gPkcMxrGNPBvaCzKsEyltrZmFJ/icLDY1myYR4Ns9vxs+d+J6Us9kd0CHA3YI= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SN6PR10MB2688.namprd10.prod.outlook.com (2603:10b6:805:4e::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Wed, 4 May 2022 01:14:39 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::318c:d02:2280:c2c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::318c:d02:2280:c2c%7]) with mapi id 15.20.5206.024; Wed, 4 May 2022 01:14:39 +0000 From: Liam Howlett <liam.howlett@oracle.com> To: "maple-tree@lists.infradead.org" <maple-tree@lists.infradead.org>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Andrew Morton <akpm@linux-foundation.org> Subject: [PATCH v9 58/69] mm/mprotect: use maple tree navigation instead of vma linked list Thread-Topic: [PATCH v9 58/69] mm/mprotect: use maple tree navigation instead of vma linked list Thread-Index: AQHYX1Q+0TbYZ4y0a0uy09szJ+SEGg== Date: Wed, 4 May 2022 01:14:04 +0000 Message-ID: <20220504011345.662299-43-Liam.Howlett@oracle.com> References: <20220504002554.654642-1-Liam.Howlett@oracle.com> <20220504011345.662299-1-Liam.Howlett@oracle.com> In-Reply-To: <20220504011345.662299-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-office365-filtering-correlation-id: ac958bcb-e722-4bcc-c83d-08da2d6b763f x-ms-traffictypediagnostic: SN6PR10MB2688:EE_ x-microsoft-antispam-prvs: <SN6PR10MB268889F562DB58D9A817A491FDC39@SN6PR10MB2688.namprd10.prod.outlook.com> x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SXQ90p9er9EkTBJe9i/yelfnxhhj60d38icyE1aJHagD/QNYK1NIDfoVK6vrJoKRHOKuaXIA/hTU2D++HZxJJ4CQvI3MM9rOEILLQr0xHbp4yyjluTfxdeKe7Eab327dRC/y3B6TQknkMrDJsJ/YQMh59mOdFisYnFtswA3rz2PxKGYXQZeCW4U32LUrz8d52t3B1y3/DCJUBghUNLe2jkVQjqH1Vx0QKI/RQNFMeBjylyuX9aFCKzmtwSAK3i2vQp0daQbciYUkqJrtw7mRYYsSqC+7zkEiBuMbQddDC7FZ1Fwy+ZwElsOtalM8j1yQB/FMiq0EN0f67P/ofz6+e6XB61ZCP12J+4C1VX6Dbc/0/piPKsaJdW2FzeMaeRbHhtvnWEG7YQ3ZQj46l7PCvS13dHEShYsqBKK9twR7iZBOX0cooaV3aq6/XEVpD/TeT/cE9+xvyJRlDGcAil+Hg8vZjy41jGZQmNap8bxYH6X+w6M74FKTXONO9wleoT93m1sxM1DsvrLk7gWMprnPS7CELyek6yRRu1GmVauDKw+IJ9xOJk33TWr5XCq4BLvH1slvTDasVF1bKs0+sU60P6goKjT0oIljlFQ8qUruqgYq8tNwrxvMa2hdoApbmxkLRnpmhg+XK2+WOZBEU9FK2Fp5DMA6UEJRkxJNug/tUk097h5b3cJlgCsSy7lVOs7M/XABJ9DfphCQTUB8KKkS2A== 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:(13230001)(366004)(186003)(122000001)(1076003)(2616005)(66476007)(8676002)(66446008)(64756008)(38070700005)(36756003)(316002)(38100700002)(66556008)(66946007)(76116006)(91956017)(110136005)(26005)(6512007)(71200400001)(8936002)(6666004)(6506007)(2906002)(86362001)(5660300002)(6486002)(508600001)(83380400001)(44832011);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?IOFgQmccKZC5JWCYWcok2eS?= =?iso-8859-1?q?I3k+QmP2bMGFoanr6fRZ2rLNUGNdC/I5d+9oV+1slamvnnr9WKzBmZUnldWF?= =?iso-8859-1?q?mb2aVuGTJO4Zo89LJgucB0QOgRHFOAkkKC7UqFHNJ0XFby4G1XQJUwMaYOHU?= =?iso-8859-1?q?//KGsrpamA2hVjj2FRlv3JhH27YCK2nSj2enMpNqd7q2LdCsZfjLA2Z3lFeq?= =?iso-8859-1?q?0rhY2oV9PFgrj/Lk25PnAiWuDniQZ66co9t3za89GEwO3Xhqm9Blbl39QrJP?= =?iso-8859-1?q?BF10840eG36LO2HU0JP3cb523kNVzj09Z0ktFg5ZPcOZZf8E4DvKo/bS7NFP?= =?iso-8859-1?q?775GX5tWAdCynEBmZHtDSAzDU6L6PctoUToed2XQKqZfQah37yM38msVKdjW?= =?iso-8859-1?q?/GxjCOpAmU/sUAqZuAbDpuTtVoXQPHku6gT8o5ZtVOJJeS/pRGzRH+S9lqd7?= =?iso-8859-1?q?gThtEXpI8uQBdFwkGUM0vfqhTc/d/STUSrVNkfYsUltt6DbaIBqL0cxlzsuh?= =?iso-8859-1?q?AgCIyEpJCoCcFZoJWdDLcMQjKopG7eo4NFDSVriZxcJWoXItVu6L+ODb+Aqh?= =?iso-8859-1?q?+DmzcykRh+vqwsvINKTnsM+Zc+FuGO6BZtQWXryCxanFGtvOfSNU0U9DCuVZ?= =?iso-8859-1?q?PCd2EhK0xXx/+wp9sPTxhmBWmLzN5FiiidE9zGNXr0p0ZIbnaqFWgp3+lUNu?= =?iso-8859-1?q?ob1+K62+WL75fhKz4yg58CPGUEfosAuTqIwysl8UXPIzbitlLKTNNj7ICPt5?= =?iso-8859-1?q?GM0fZnsWIwnJQKOsY7tiPqmkRD/OF+lEBBHlXb14pPHbojZn++UmrSSyIxrG?= =?iso-8859-1?q?uKTg567X7hkHXBwvHLkTXHvqjGExuifjodjjv5xQ/OWZ7w5ot7Rf4X7MVOXe?= =?iso-8859-1?q?HH619XOymmI0xk/5dq6T25c6yx4y2QbwqQWVcJRif/fF7ceo1/GNsDWBitkh?= =?iso-8859-1?q?lLPoP0AjdT93jh8ywy4Q4nDa3JpVX7KRsjteff7AOnQW0w2HyjYDU9BFVCs8?= =?iso-8859-1?q?ARC7piNP5sEmMxP9M6YbYeVhL9XJ4qUMOCjGtWDvJ+JCEIjd+EmgBmGUrup3?= =?iso-8859-1?q?qEAxNdAb0SUL8jXgggspDu5inoXcc/4Mv3BqTJW3z4PsMzG+ljLpn8QrlIlL?= =?iso-8859-1?q?TsVkberIxJcyl0g6+Bkjd/F7W+VhzJB7Lt7KAKQcy4NU/Ffzi+w5yYX1wCft?= =?iso-8859-1?q?j4rMmW5P5wYmdLMfQstjb7ULpP4yY11TAtVu7RvmHveJaEzYSv/Q/7kDSDqx?= =?iso-8859-1?q?szwJ6xs2cFi3BuHi1jRMtregVk8wJs4bKJnuRLc5ifaYg+dzFuxy58pf/D6Q?= =?iso-8859-1?q?Bs7HGsnrxSK6wglvAW0Us67m6Qydw4JEMWacjP1K5CFOQxXIZmGLW1SgM7Ps?= =?iso-8859-1?q?W7Qq7ThlCIpUAmNVpkpoKSQjGDdb4hcmWcYBqWXKEnzdlMFpucUZRKO2tds9?= =?iso-8859-1?q?6DtgNUE82deAbFLPOLB0wMV9tSZDA9KjzpwBirSZaeccD6GcgI2AN4dA3aAU?= =?iso-8859-1?q?aQDyhiXGxIJEr1lqYF9OqppVXgApvyAUsp0Pw/u7GvcLk2PPqVVQ2rDxUQZn?= =?iso-8859-1?q?LUkB2CY+ToR9UJ1OZb+wxfuQ1VulGbFj6KT7brtgBkoRdnUxWD7/4vK0U1+1?= =?iso-8859-1?q?Am+W98bCJgEA3UZyUJHzbJyXuQHeWMYNopojf4h3F+IEVzOvdXO2+60Y4Eyq?= =?iso-8859-1?q?Qa1UTxAhjh/yXCvyLSo74chO+drHDGQdQkb/tNBm2j7zcjtHLvoEYQ4g3Go+?= =?iso-8859-1?q?9jUsneYDppLfJ3Mgo4xFp72DalTsAREe6Ey39kubCw6rpIL7BHYsXV1aC/ZX?= =?iso-8859-1?q?r5kHnpM0=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 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: ac958bcb-e722-4bcc-c83d-08da2d6b763f X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2022 01:14:04.4386 (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: CyL1300DZUuoCGSETAV6/wRDWQ+9qXE85uWx27hMOjJN/VmePoI1iZTpKNLSCO/z4sjLGfWU0SkIhXuLRmbgZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR10MB2688 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-03_10:2022-05-02,2022-05-03 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 spamscore=0 malwarescore=0 adultscore=0 suspectscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205040006 X-Proofpoint-GUID: YuohclX5hn5m_gsNyX-bTMbXSeNlKZQr X-Proofpoint-ORIG-GUID: YuohclX5hn5m_gsNyX-bTMbXSeNlKZQr X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: A45B120052 X-Stat-Signature: ajziazyura48j4su66paqai8to9gjykf X-Rspam-User: Authentication-Results: imf31.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=dvfmWUZz; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=s9FKAm6k; spf=none (imf31.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com X-HE-Tag: 1651919364-134228 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000007, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> |
Series |
Prepare for maple tree
|
expand
|
diff --git a/mm/mprotect.c b/mm/mprotect.c index b69ce7a7b2b7..81e5392ab13e 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -539,6 +539,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, const int grows = prot & (PROT_GROWSDOWN|PROT_GROWSUP); const bool rier = (current->personality & READ_IMPLIES_EXEC) && (prot & PROT_READ); + MA_STATE(mas, ¤t->mm->mm_mt, start, start); start = untagged_addr(start); @@ -570,7 +571,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, if ((pkey != -1) && !mm_pkey_is_allocated(current->mm, pkey)) goto out; - vma = find_vma(current->mm, start); + vma = mas_find(&mas, ULONG_MAX); error = -ENOMEM; if (!vma) goto out; @@ -596,7 +597,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, if (start > vma->vm_start) prev = vma; else - prev = vma->vm_prev; + prev = mas_prev(&mas, 0); for (nstart = start ; ; ) { unsigned long mask_off_old_flags; @@ -658,7 +659,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, if (nstart >= end) goto out; - vma = prev->vm_next; + vma = find_vma(current->mm, prev->vm_end); if (!vma || vma->vm_start != nstart) { error = -ENOMEM; goto out;