From patchwork Wed May 4 01:14:04 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: 12840774 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1B25C433EF for ; Fri, 6 May 2022 09:17:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EB4086B0074; Fri, 6 May 2022 05:17:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E64386B0075; Fri, 6 May 2022 05:17:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CB6986B0078; Fri, 6 May 2022 05:17:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id BD4A36B0074 for ; Fri, 6 May 2022 05:17:52 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 86D0F20C0D for ; Fri, 6 May 2022 09:17:52 +0000 (UTC) X-FDA: 79434765984.19.7CFF3CD Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf29.hostedemail.com (Postfix) with ESMTP id 5F9AA120021 for ; Fri, 6 May 2022 09:17:46 +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 243KjMlL013507; Wed, 4 May 2022 01:14:44 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=Er0yPeVRdxb2gthVYE47IyHEi6JcGaaDNNd7OleHxwc=; b=Ue7sG48bTGMr9AdDT5oOE47k4+QLW2YwNzNMpBPBxsGehVOSMzz1l5wE1TOWoMLfW1cl iWbUALkRUqj0nR8z8ma/jG4LUyg2Qp9svuYwzUxXJQadbk42A/fwOruisK6GWUzY5/hv puN3ii7oR2lcCZfKH/fNjvwwwzrPGHOzg2awbnWXGOBtF3lYzoDnQiw/iSVIcZtK95ME 9eRIFFlw6yPMOOW3uJJiqRnugca1+uyny0AAgo47P5iYmNjak1jUUYElmVLnXp5/0Liq P1VRJdys1rXEw6kKzT3UZbd8+qBKY/lVfS6cEAH+rJxYGljDrXqDLQfW38K/H9S1Nx/i sw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3frvqsf6fk-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 2441BXR3013207; Wed, 4 May 2022 01:14:43 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-8 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 May 2022 01:14:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cp1AbtHr0mZ7CdsKW3tvk7S4nGIZ14bVOZTi3TALkRMR5WK7KydzAy5I1SLKzkzlHDHODaVvm7f2WUUQ4qI6OQU6P4J+tuY/Dd2UasyCAWUnvIb9Tt/4NZTFUwdo0c7KOvlPKhYAqFMez+cFSUUGFKffIrdOrl/uqhJr7BQJfS7PBZ2SoLwKIdtPkNI/xCAVmLKEBIuMp/CNQZ+Uv39M8c1ivH9Ki9Ii/R/zjMaU5P265RAk8r4V6eziz0QWYsCLhazB/pc3D5miE2toJV0gEFYQO8JK6OOdVGO8IJYisRxe8Kek6rwkUtS1DO/Zf1hx2GK7/v5BKTx+kxDWk3avoQ== 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=Er0yPeVRdxb2gthVYE47IyHEi6JcGaaDNNd7OleHxwc=; b=PjCzB2mFOLgA1euVYf0XFRo9YbbvV42kUjHywI0uQhbDWaXVKypJeIdbBoe/HbMolj7mhS09pHONlguwLM2Wz48VRLvA+OYSzArDtDdLZSLlNjUrTF/CPUYylEOIHtmRyy1QB8RDOs1RF78xXw+RpgAUhavHA2B4q9N230FYP9yfqVRD6V7UMcAdXfvD3s87WWtol/IbGsTQyI5Ut2TzLPacnbIg4mvQwL4cC4axz4ly4TUG+hipQxw9ntYgc5c68RFjtDZ5Ci4pVpdl1vlmcIVfdn2pz0m4Bc41B7MM5xFoQByBYKFkG2pQsCwx1EJ4r6gkuA0Ytrx8PsEbMIoHdg== 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=Er0yPeVRdxb2gthVYE47IyHEi6JcGaaDNNd7OleHxwc=; b=bAM4omuwBOQqKCDTO+2Uocp13IOg/+4+q0UgmxxWHqE5D4R6PzJZoTRZaeicKOPudvaZkUx1EgMWdYMkFtZgy+gabib/KucXZN0IgtbNAcO/sG5JIFUMtUeO62y13KOioNVoI5A+iDT7pKZAajFkSdnzU13GUHrEt+H5BcXYjd0= 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 To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton Subject: [PATCH v9 59/69] mm/mremap: use vma_find_intersection() instead of vma linked list Thread-Topic: [PATCH v9 59/69] mm/mremap: use vma_find_intersection() instead of vma linked list Thread-Index: AQHYX1Q/yjQG65dHJUiOH68fc0G8/Q== Date: Wed, 4 May 2022 01:14:04 +0000 Message-ID: <20220504011345.662299-44-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: d54346b5-a234-4cc4-3b17-08da2d6b7674 x-ms-traffictypediagnostic: SN6PR10MB2688:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uO5jcWj9GgfdjZEKcJvh2WIAyPYl7phv9luf4QFXXpS3pMwnPXCv/+JrAdeZXfknpl9xqnwWSzPOVFKrcwaH2ID/iza04OGWmQQokwP4qcojScRR5T3KirSiJGybhvgjOL3kBrUkmKwhva5gSJsuT29LsMQrLgucUB19axP6dCWBhdPdpx4UCqY3CT7gxavET/nSzFXnbyDBUWR3+6y/OcsUYhj4aCZ3ISgooSEq0IDCQqAwr3qwdVEoODWCcZEKxehHzpG2BaIRn8FXN4hHTSkuZXAIbLYPyHpzwNfL2gAjGF42F7we+AZIDVV2ZYWQqno/DGePZjVn3AG6LqdQ2o9wWletW8E78Drmt+kmXU3XCahguBTohg1ovBe8S67+h5vPFk+1BpNztpwhtYxhaNn5OapgXQC/WHIwg4EKHwJHcLxv3zeWRyhoTM9BT8gHTc2XSB3fy66K9e59EhNZpMzfHwN9UvlqEMxuCUztFTpCp84GqljSSAGLnSMblCjFi+3bb26VJ167b4I7H16JCZleARq2bSa6vzoT+p5j9rQB6JrdDGFPCMIaomSYzLzzYCTo5J29VGtRjv/v3Zpp8ozYmwceV9ACZpt4aPXS80tJwQ76VyM9Zv+x7QNix2QCp/vzQrzjuDtgxEDbp11vEpe0CWjxo5S1OWrsz7UnxGVUCN8cwtaN5P8cdCzWdbmOfm+zG821S8GHsoJzJ/ZBxQ== 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?7xArO6/LhJEx47lA5cJhXb9?= =?iso-8859-1?q?0Gb4u3DiuJgqw83x3QcpEW09LiPgk2+50HgVj/CsF0c6ZmRPUDJj3vnAtr7J?= =?iso-8859-1?q?JRxNrUF9nEcD4bXK2pQfga1Pgb2/qlapQXC5BqerKsNHq2tdU1ESOxU/LHfr?= =?iso-8859-1?q?AFOfZ0Ok0p1OjW2l01uu/kpHEoKGozhwR90lE7I+ekJE1APTErisuRI0CPHq?= =?iso-8859-1?q?IlcL7e2C1ZMdgL49XbsrkMSRp19JWzj02nQ2Eh9uZFhUPPA1U0n/ImSOAln7?= =?iso-8859-1?q?XzIHkNnT0mgdkeFSHze4gRtfc/yqht/TZfR7qVm23q05QOOWb4IvXtk9D4wI?= =?iso-8859-1?q?THNgdpnkF3DQ4Y9rdglrKPgSgHleAjjgvRsIIs0gBxbvz8ZibXpV+IDSZ6CW?= =?iso-8859-1?q?yLXvRvoy+L7D4eVYJp63ph30SG65DR3JptTPlzLf9QMz9VGVr5lBw/6UW+Ba?= =?iso-8859-1?q?rHeQ8OdT72xLUuJfIif84FeYwguk1GNKyyzIRh7UtX6HFoMKNZaW9W2umOgg?= =?iso-8859-1?q?0iyw99cMwHLYM0/ASZdhpCiirjqnnYnUKEcYxrcwWc0l6io0JqkPOmHn4Z6d?= =?iso-8859-1?q?Et2TUYyeg2HWrBnYBXWrY/prapr2zrNhn2Va5D1moU+WWvxo/37EN68GAJjn?= =?iso-8859-1?q?gB0lSjgNBpC22WG1BjTnxIU2gxhCMz1hvOY66QYY1ZshHgkoEKtDG3phDLj+?= =?iso-8859-1?q?sAbKNDun8laf9ml+DuREfwUTvsHucXMxOkUBt1OnUr190hvj/Glosd8012Ty?= =?iso-8859-1?q?F+kmxZyex4kmnBiJEDTkwQ4VxfIQZvfbPy9uQ3+BKlDCk8+yWQcj759Xgbzb?= =?iso-8859-1?q?x1QteNOtBGwOwN15BYalYF5mfnWP+kiUX5h3I5WIATEqfFkO6fLafmbTKVUP?= =?iso-8859-1?q?tAIFIoCXP5Egc1qfQfAn3trwj+7zKiSZhm908vLDxVBv7yPryn+JpkND9sZ3?= =?iso-8859-1?q?BRgJsYCwLwDPqFbYidCf2D7a8VF3kXCV+a58bIQlHmwIrQa+nPtupwrEFLkg?= =?iso-8859-1?q?RjoIRYziILtoVzIGS/HhpcV8hmSFM8WUfZB1GtgY8hsTON93LPCHzxECdpJk?= =?iso-8859-1?q?MON7m16Jo5Lf93QcoAAaKURpzDqtbPU0sSZwobp7MPgAeXRBZDjogiJ7wG47?= =?iso-8859-1?q?Jyk+bSazsMqOiLNwtiXLC6ejPP9a5/1WCh3MgJwqWknlL25rYc1yZCjOlnVk?= =?iso-8859-1?q?C0J33PJVWaTh5d8SQl2F+GlUu5oDv7YBIGm/bb8gM1nzxvXu4VNH4b/s00/q?= =?iso-8859-1?q?HR/c9nuO1yaaO+PdvnUJqxFVbztzBw4lPmD+hJpK3tBdKjRZHnvZnZ0lDK+a?= =?iso-8859-1?q?1VAyF7U5uVaP3PgDFIgHWYqLb246ukIDg3maeF0beqUuEnZDYEii3iQr/5Ji?= =?iso-8859-1?q?yOi8WXYXibj8YFZaV2Z4gqyd5prvAMUDQ4qkcLeALfO/3Otj4I4xWZw3NYJN?= =?iso-8859-1?q?7ERjledxjtTM4KxwgWpRSPOdnjuS1oV6J03i9ZX+lNrwOIofKkPgavCASiIA?= =?iso-8859-1?q?1Rp8KrjhChOD2C8EMfUHqc1hDZWfBKTho8wLS7fTEp2pmi5I0q5kWh/zxSrJ?= =?iso-8859-1?q?FqLxr92W1iCKiBz1hXrVe75AbZL0vcINP+gTCgjA2zpiX2q6UfjRQO8DakeJ?= =?iso-8859-1?q?gPgNPegJlp8kV7liA+WY6ysqP1l0QD+n5WF1P9MuYsLgb0qLDsk5NVlbghoW?= =?iso-8859-1?q?qgwzTekbg9DLLVrQkePRHAdh0c3ES3rBned1rMhWGAQOfXunW2W5OZa/oiaX?= =?iso-8859-1?q?p5gf7IJjV7pV6p6vZRTcMkoKfdrN6KRAPszYD+vRbltBPH9DjJWUO4fkfAhz?= =?iso-8859-1?q?AMCqlApU=3D?= 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: d54346b5-a234-4cc4-3b17-08da2d6b7674 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2022 01:14:04.7199 (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: McHUyWCcpn/KcAw5qRrIvwM+fK7B8x8npINkkoHZ37oyij0v5V1AgTrwSC1dHRMB4oRgWoc7za77Fz0CiiOydQ== 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: K7yzf-L_kYBbiJeDjKAjJHInXMm4307U X-Proofpoint-ORIG-GUID: K7yzf-L_kYBbiJeDjKAjJHInXMm4307U X-Stat-Signature: b1m743931897drwg9fxrgxiz3o95wxpf X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 5F9AA120021 Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=Ue7sG48b; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=bAM4omuw; spf=none (imf29.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-Rspam-User: X-HE-Tag: 1651828666-437355 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Signed-off-by: Liam R. Howlett Acked-by: Vlastimil Babka --- mm/mremap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mm/mremap.c b/mm/mremap.c index 4495f69eccbe..c0d32330d435 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -716,7 +716,7 @@ static unsigned long move_vma(struct vm_area_struct *vma, if (excess) { vma->vm_flags |= VM_ACCOUNT; if (split) - vma->vm_next->vm_flags |= VM_ACCOUNT; + find_vma(mm, vma->vm_end)->vm_flags |= VM_ACCOUNT; } return new_addr; @@ -866,9 +866,10 @@ static unsigned long mremap_to(unsigned long addr, unsigned long old_len, static int vma_expandable(struct vm_area_struct *vma, unsigned long delta) { unsigned long end = vma->vm_end + delta; + if (end < vma->vm_end) /* overflow */ return 0; - if (vma->vm_next && vma->vm_next->vm_start < end) /* intersection */ + if (find_vma_intersection(vma->vm_mm, vma->vm_end, end)) return 0; if (get_unmapped_area(NULL, vma->vm_start, end - vma->vm_start, 0, MAP_FIXED) & ~PAGE_MASK)