From patchwork Mon Mar 3 11:08:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Stoakes X-Patchwork-Id: 13998599 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 54670C282CD for ; Mon, 3 Mar 2025 11:09:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DEE10280004; Mon, 3 Mar 2025 06:08:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D77E8280001; Mon, 3 Mar 2025 06:08:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B0715280004; Mon, 3 Mar 2025 06:08:59 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 89FF6280001 for ; Mon, 3 Mar 2025 06:08:59 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0F4A61C6D1E for ; Mon, 3 Mar 2025 11:08:59 +0000 (UTC) X-FDA: 83179967598.21.EB3BFC8 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf19.hostedemail.com (Postfix) with ESMTP id 9872A1A000F for ; Mon, 3 Mar 2025 11:08:55 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=fSYIRZ0T; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=fCyoSMB9; spf=pass (imf19.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741000135; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HV0nA8fVEHBYsnfvmnLWo4AORBJmffnzXGZGvQs9WUw=; b=E2pSL9qJF+OvGP2bcxwv/I0Q6L6jYh4IwnFldkr0TdNflk92uVWJ96SS3Y0clH64AEcRwk BFYGmwTyI1cOQo1padbtWQMUJcdxtiUNz81JPn0SCJof4sOzjoxOmZtAsq9i7XRYs6sG0C NzaDPdn/KPxQEfvWOR3YAw0jXZVyVXo= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=fSYIRZ0T; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=fCyoSMB9; spf=pass (imf19.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1741000135; a=rsa-sha256; cv=pass; b=Od9QRAgT0KCeV2v7kdYi4Oh3REtOcnTQ8mcY38yG/9EZQiu05cWatONHI9KNPovcYVeHs4 SoozDLIUf6GfeYn6s27E0fc0z2fOxr+M29deHilgJn1+xedEs3+0wrvltvUtP0xRuLAcVN 5xbUIxO0+CefFooq2D2TTdvJM+hJVRg= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5237tv4m016064; Mon, 3 Mar 2025 11:08:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=HV0nA8fVEHBYsnfvmnLWo4AORBJmffnzXGZGvQs9WUw=; b= fSYIRZ0T3RIM6ANPjCBIgy70z9BDwUEbCIHz6OLQDGyX5RbgVimNLzQABxYwWBl4 mDPfk2WuRQuFkaIVJOkHrz3QaLpHqQ7xyeuiVyfO6blbrbDNix+srBuYUf7oHGru Tsw8cf0rZPVrXfSHQytcXdbbKOCoWNaxrPfGLNzhiJ9Dax8T/OLF2GXjyJXAUrHQ LibSLMYrOiVzv/TCWquhOgTFFaNIeWZokHSWNNjxvzMoSZIRzTKi3rywbwuMD9Vv fMsXiNcyAdUAGUoJ3Z6XZ6oAolURqomdoVfICj9oAVms3vhQ70pnhgzE1pZhwbyy +/JwjZdOQ/5jqRq1W59zoQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 453uavtcb1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 03 Mar 2025 11:08:52 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 523B8Vn3039757; Mon, 3 Mar 2025 11:08:51 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2049.outbound.protection.outlook.com [104.47.58.49]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 453rp82hk2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 03 Mar 2025 11:08:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CpItDKORp5aiONABgX+TShqtDtEqWJUBIM7pHk4W/cAeId0Byy35AG6fe0helJ61ZwVdyVLbPH+vIMeJhdmm4h0tzVni7MveZFnR66+9cZZZphfE8ViFKBTyxpUe+Ojl/tAj+SFlH+RMXh/u3IcCYcvtJbhSydWuhlZoOswIbBZqs9LzydAblcz0dq0woASntVAONCllpGNri0qNzedJ9hovr1mcNf7BsT7Hz5uitVQ9gZR6JPMuhWFSIsjQQB8avDnUnLsxbOwqEl524fQ+Ptm5Uweulk1Wn8sou1vxqV0ysGCU2YEMVRmjkZ4ThjRdMRSH5tMp/S5xDPmfsElQJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=HV0nA8fVEHBYsnfvmnLWo4AORBJmffnzXGZGvQs9WUw=; b=LOfBKXWWh3pmlca2sDWh2fbImO4v1KggiZ813UVI6iOPQgDk0RaUxNdZ5TmGgFlHCky5AfqzmubZUZOF8v4Yu5PX2JWTju2Cs5iujDV0C3oS3GEuujWF+4MprWfsWCbDTT4EyxT2nb5FM2LCA794uzwXrbWiZY4yInYDbFyzL63omB7bxjEjep2Lgql8phxYB8p9VJssU9Vo6FdQnq4FQsyhy5zyskD1qRDGv1pukB1RkFWKO9QIr2ksBG9PQ1vpzvaJEIstER8rKzUZrSQuIId/KbEloYW7/qTvXxCsvGbcdUtpygSp1r5qm7gRo5iLQ8gP/ThFuM2N8nrFwr/dDA== 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=HV0nA8fVEHBYsnfvmnLWo4AORBJmffnzXGZGvQs9WUw=; b=fCyoSMB97goD21xqdLjpNkBLCU9AqE5H6UcD122r/vvDjGfenhLLfzU+Ikdd23DtxUJxB+muV1g5VeBOsFNQtTccPa66jBP6aB1pOE1ritztIkaHt4IrlvPEGHymQUxgflqn9YkA0mmtYWY4DwC4bVjtP0vKByN1vc8q/fn4qyc= Received: from MN2PR10MB4112.namprd10.prod.outlook.com (2603:10b6:208:11e::33) by DM4PR10MB7427.namprd10.prod.outlook.com (2603:10b6:8:181::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.27; Mon, 3 Mar 2025 11:08:49 +0000 Received: from MN2PR10MB4112.namprd10.prod.outlook.com ([fe80::3256:3c8c:73a9:5b9c]) by MN2PR10MB4112.namprd10.prod.outlook.com ([fe80::3256:3c8c:73a9:5b9c%7]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025 11:08:49 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: "Liam R . Howlett" , Vlastimil Babka , Jann Horn , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/7] mm/mremap: correctly handle partial mremap() of VMA starting at 0 Date: Mon, 3 Mar 2025 11:08:31 +0000 Message-ID: <195c3956c70a142b12465e09b4aa5e33a898b789.1740911247.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: X-ClientProxiedBy: LO2P265CA0504.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:13b::11) To MN2PR10MB4112.namprd10.prod.outlook.com (2603:10b6:208:11e::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB4112:EE_|DM4PR10MB7427:EE_ X-MS-Office365-Filtering-Correlation-Id: f92b301d-c69f-42c6-7d6b-08dd5a43c66d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: T6y5E6EJqmOSlFMiEdXEIfbL8LvCF7hRm5lwAZ70ucvDWLqKAttDBL+h/fCr9uj8qkF3ETuKvxHRrSC8tfxYsHetQxTxQQvopLY1g5z19fPCCRk5rz7Fio4aAAIJqi++EZFPLlGEf6Aq4lO7xUw1AwjYwYMKBgW/DiKEuSU/9QMPpvo9XOaST7KIeYeVST4t7j1OGkEhP02PVj70N8vynUWAHr8mZYjBdGMLSgEa5dPyZpbmhRXAmSNp1+mSEG8B4CXk4zJ7Vcx2EAM/2+B6BsXr37Xfy3CRi7giz4Mq9j+Qgj8+DFKmi43OVeGjKBcE2Vqll3dUH9sQcoBH3Y6cEo0s7Oz/s0zIRw54g1AOmGwO0z6J3D3Vg+X1MTTFEkgiGhYn5gNq+SewpYFp81Q2SIR77NK2z8EdfGoj/cB1fAu8i1AvIQaoTrySMbylmGA1xJkufrB4ZxUo08yO+15xyXMXI0yJSwmv4IHt6XzqKq9abLJjnrhUzv66bQrbLjpgD27Az3Om3uMTNkshWdvRuoj2tXDeo5MS7/e0t0iqkzlMY36RIEXHh/gotSfpZpLI8LqjwKwaM4zdHTXVMA0f2sdJb6RjF5cRi2vkXsmxNbdObsM7log7e/JszrWQ9Wa01dcoMb8Z6GOh39dx3XuZ89SuFGeVYJp5/sI1jOGdyvT8E4DiITr5Z12OemtYG5DU4XeBqp/leA5RUXmlb6RCumCtvRwxb/mmPANJWyKvk2ycg2sQ90ogsRz12cLEwxp8jH1dxPw7Rnu1M/4FVdfvUleND7JqyYt20uXYO/lafrabflXuVtprGR5K+Ea/KlEKKj/UenjEkLv/ki/CYNPehLs67hql+6euJ/OJhCLGWk2m+gFrItrpFgGymi/Af+gRBC9uTKruXtYUTkj1+QOcOlwY3/weKP7lUfjdv5Bzu7aMm/7soGIvHP9nIcsyfrxXFxFDrHLaVYFx49u1dcXBDMW5eLnMayPT5WNuaqxWbryOiuQ5L5fZwnTU8Tn+D8LKjcNRSsNNS+iWiRIEe0tKm3eEsh13AwR6LQhpFqAEnjWKYIHoXIPjhAzmtIYrLCho7keshx2JOgeZPqk+wgq8cAaSJu/BDPvYiw6MzVuqdG4wjj7iYwJ7sngAmEysz/6ZWOlZ19AHKCrHF43r3L+WVh+2AWLfWIT89+uFl3ix+KNaIwCuBQ+tyoby6gXkbWt3aeZS1OkGaWnqH1LNBy/uXWTk4kikFOoJnb7mRPGfvylZ2fpLpuGyFQjita05nM4fkObCIxMN6ePCen8GRs3QdAxIvihPMABzGDt3a90NWEmzVKjjeQa1lqjvxa48iscjKckHR8Y0EuKOfXpheEtsuRuWj3vAoraSebgrzFo/o2EcRR2oqfORjKPRoxh4Ll0U X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR10MB4112.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: hSBHCYHVUEYlmMiYa1gjpFdhR/6W4s7R7TYpTv6gQrDpmqA0x81P+UIrZeeEgsGlBYa/KbbF6mfz45/xt51PAY/2RQL2XafaNMylcNCmIwneW8Qp37/1/XUFLjU12OikzXYlWkOJWUUw6Bx5grG3G3hYZPql8/WfV8JVRO3oDVS/+N0CiA2/VH4EfFUcsQsnBs3Hn+6gD8SmNikRmcXx6WBa5Dni+X/Bo4ouXyIcnwJsh1K9sIFh4cDgSS8i6Lz0w8g5Z3fSY8fOxIA1gnZ6HKwu9E8sWchvy2Rnp04WRHXrr+DWZXnSkEZY3BMg2qIGCiuQRbUJtXW+kqtG+LjHX6wsMuV1QbARD7nE8N0sUg4ZPgKA4vqyex1YSmHCabUbCwgWnSff76yVpNNL7TzZn3uQrNAilNKQ2GGnySdrxnHDwGeveHyWTIhyFE25/1FoJi/tMp2DY8/PzC3EiQYjzTdLEhvw6VnljcjOT0eiMvxh4H3yiVAyeZr1Vx6cs/uxDXyQcIIto7UebV+3pVX3XQO1XgRq+JgDzw023rFVkBj6fBsXjPuU84xWdxDLXTrrVgrR8zyfyIW6YJzXLSZglzfsBjv4lOm1w4PbkZpPweKhrXi0HKlkP9dzFpWCr00XiCzxwikUSI0zPSyrextMGawdByyYtp0fNZnoaXOh9vAekDo5IZvDA65EmA3uUjEGn4/hX8yDCLew6tNLsKdWVq6346g87kMVMlV8xqE2OsIHu5RskkTSZabxjKkX9AEzywijjCi60DLWgdQYUfg8xPOXGHf3zQ4ijB6BmYlLmkzabzyFTwYyWRtMQyvrdyr+phn1TiN7ZHl3Q5X4EpvsmmuUrnUFCXUc+gXC81tVddiBllUmHDBqf7Nho+vHT2X2C7sJgwHuioFOmZtGhhQxquucp8m8bfqjAIfby3svkx4S4JL3LQRyIJGhpZ2Q1FZViox1JoFrQ7Xwlt2g8+/BG7CeoayIKEz4sPPh+F4WXL+i+9K+4BM0yJQRhcIr6v1QGFupZlhMC6ZvIP3S+1PPlgzRauCu8vOxjil2PoF9xEKnJzEHxLPMfTsl3EBuy+IuhvLPuHeLCv7XVM9n5mW2BQQnFJ02uwmy5cO+X1uch5S0LiefDKHAdWGYjECqNNlQTrH1ziSw8J53bXgWWF2LYBHdVAAWFpDcZr2IfZ6c4zYUdbEzeZYcq1vBSWTFdjDfHUccgI7SnbGgUczxNMeMP5QIPU1xHLtFsGziRPDelOo5K90urTYrifaEwodZPJwnIDS1ZBBx+aFByIlv7kfNOLZGPFEw/qrXV+bQiOA5iTpIrDBKm5w+93YHasR8VwhKivms2axf8h7MLqxs6uLnaGl1r6SbZJxMpTmwupC4VDnw1QLVr2sWi0qkyNyWsjGDoFvf8F0l51IBNMfRbZgR8rIHdGxNv+pjlqzrW/mCv8xvE9sL7lKNzqm0y/cI/N7ZSar48magb5mfhH+ygGrn4fvDLt9hbssbUA/icQk5hv4CnDSTVKTmpa2L5JRo39hSuH9p/kh/FmpCCk0c2PUZf+XGOKXic5CBW71rsXglEa0wrGI24bkw/mZ+d0SnAnGNExKaUt9NeXuu0dNG1ZDltA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: TWBlRyQuYgbYvJYXVUYFy9wfgEU1o7ki/yjbEzhc6TB7uM3WClxYSN2zf3VNOCP/gs0f1/ZuLe/gok9PTb5DbA4jcXgCm2PVKPurF061k9EsBPc/gXmuSQYpQJ8qIrdnw7JrMw5X13p1h7cekBw76h6mUBbDrwtDBT+1mwHMzBwI5imG6WjfHYDZWkiyFjN3o35AJ+jEZoqU6kR27EO+bk/jhHQ5wyfQd0H4dGNYIxUcPEwcE7LuOPuTNqNar37Tc7s0XjIMCQB9HKBMw6ycufXpAiX8ucpsJuRP+jByxbg9IT089q2xvTruwUX7ZxBwPMbsjuvpkg968qJRuty+bXqC7dv+K3/3DN/Eq/Tu4S7m23pzdv2vYrWQOp1xAHi9JIbztrceFsXB/VedLYiIyQ3Mph2gH0qe8/Ovm5lyjNC8Q3Zy2X0OuC8aSALcZh8ZdYIMMDU+YhAhQRza37KE2KLnI0afFrtEaJX/KmKJW4v58kKSnFEj8hzO6XdRwS6YzXqy0YYRvTfXDMU427LdSgan7KkJUaqRJ0U7fnF5vypTVKsGDVekNZ2biTl5nm9SIlXPxN/hKk7lYyHzDvuvSR1UoO+eaN6svYB4cU7gsnI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f92b301d-c69f-42c6-7d6b-08dd5a43c66d X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4112.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 11:08:49.6883 (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: Wm+aMh6Sdh+emjnIjAn8XP1KWc6vfSvbfPLPlO/vQUnRkKMPMaRjgxFE62IJzNzgdWUqjmsQqKjqzbfeHpno9vLdA/78C5frbxgG711TcBE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR10MB7427 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-03_04,2025-03-03_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 suspectscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502100000 definitions=main-2503030086 X-Proofpoint-GUID: _WMfokXnu693j8rvK5mCMsElVSLfoKoy X-Proofpoint-ORIG-GUID: _WMfokXnu693j8rvK5mCMsElVSLfoKoy X-Rspam-User: X-Rspamd-Queue-Id: 9872A1A000F X-Rspamd-Server: rspam09 X-Stat-Signature: ps8wbtgjrm4hmu99ason83oxhci98wta X-HE-Tag: 1741000135-97842 X-HE-Meta: U2FsdGVkX1++xa89mV8SuT9dDW9LNqAXNGsSMP857YlwABVezZt//cw99jtYE9uonZ6RNOUzR5WgfeyihE5i55C+kaJNNHog5zEITyxN3TsMUkVn7zjxUVEqfSE7djdkEZQ4byPJLjl2qwnIOqwvGtdQeXMyK4N+Y2xZ0NGF4AWZjdwt3LU+C7sKCw3riQFJoxbgOHV5smj+sbs2OSrLYuM9KgwjUt9XyVC4hVsiKjZx8kMbuoGO917gPnHFcqu4S6t2g2KhJvMgfGIg450q6vYVf5DRa7YKAUOhroWGceB4dLo/40ej4zvLj/DCOEP15xJyRKspuJfAOds02CVLLoEQHQVLdNtlvrYjUuyOyiVgCpoB1ZChmMWsFTDs9WrHh0EaJtvxoj2gQNV7HdwJ7TWOqbq+2TG3+iBdFXK1lhA7WdxjNrOCqc9CXoycgJOurzAKiW7ffmAJPZMFPCRgTgc7xRQAQjXQq7HPk1DFN081cjyrYtEgy9+Ic0MMK+Jh1DTj4v2s33CwBBCX6ktKa94J1dzWFAL8JCALMFcdVu7OlNq/YJFGt1mRMirxe0mqs0ylobb49tG6YspmArD3H+eWvjOm8CPjrvLR/TscGDIVfrOE/XBS9qo2juH4fSxmV+7lTIY0czcwe25taKAnkIUwKpp7vZkkFuCvEFDIKdWMdsu1Fhtz0Y/M66R+goKcw4Ul+SZXBdw5IomCFz0yBOmdSTJ8Ch52o9sY6P7FprhT7Yw1x2E5pMph5q27zZti9Aqf5b84978HVElJlS47N1iJ/b2gtgzpd2AXvVV9eBTb+58Ohq3Cvc1fNMSPE1bFDl7hJwarI3HtflGiQ1JmzKcM69wkgxroxw+QH4iYf227cJhDnys09Zwytg05Q1Ccj1u0Ikmq8ChdizUkVDr/d/w6MxgC9CrUrCOSv5kz957v1D2/+BCOX4LOMYQK5U5cSAH2hWgS6HUVuUHf8QO uH2Ed3bP dBQ1MaWaJ1Fb2QxSAGBIQmzzioNVBc+jKhuKj5Kp/GtYFpcdcC3ogRoIEW6Fc2nhwBPCHgdJQJ2jYLjvzCulqJbGy2yPzC2AvGuqbUQ+BdCxUXp35du+oiRxO4GsnmUWqR2AAnznzwY6mUGeUdwz873HsMipwQZ0ZLrbD3j34x7CDhtfP3Mf1XX0QnUXHMKBfy6TEMtMZS/v2MHcXp4uD+APTMHdMw4r2NIdxPRh0jGEU9SGgXq1UU6kjca9mBLRLrJ0Dv4m6Pzz5hC5IuefpXCs7xp7pgVeupLUJzug9cvkL6Lb/ADNdeTzVDuCBeD8+D5b3tclZNsoy88ryMAe1JQ5UhUX99+sxwBo9z4oWi+RH+PWVljJXubLxwDxn+kVhsI1gc5cD0+18OMCpbLNabxnZ2HW/8u/PIn00faaOpfCeHCCp+e7pzrAkx3IoeZxRfZvyG9f3JaVc2CycyDmICaMUiARGCLwKIyjfa2+FKKi5axIKjot77nJ8iiTh3XU/BDX5nQJIXcG2vUmoZBNbmucjYahe59A601xOPhMjEMOoVnaon0t9nW4uCsh4d6LnXKGW+xE4Ag4cZaJsWww/GofUU/JwuMTRY2YC3SKwsK2tDC2Sp0fS5I+zQw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000076, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Consider the case of a a partial mremap() (that results in a VMA split) of an accountable VMA (i.e. which has the VM_ACCOUNT flag set) whose start address is zero, with the MREMAP_MAYMOVE flag specified and a scenario where a move does in fact occur: addr end | | v v |-------------| | vma | |-------------| 0 This move is affected by unmapping the range [addr, end). In order to prevent an incorrect decrement of accounted memory which has already been determined, the mremap() code in move_vma() clears VM_ACCOUNT from the VMA prior to doing so, before reestablishing it in each of the VMAs post-split: addr end | | v v |---| |---| | A | | B | |---| |---| Commit 6b73cff239e5 ("mm: change munmap splitting order and move_vma()") changed this logic such as to determine whether there is a need to do so by establishing account_start and account_end and, in the instance where such an operation is required, assigning them to vma->vm_start and vma->vm_end. Later the code checks if the operation is required for 'A' referenced above thusly: if (account_start) { ... } However, if the VMA described above has vma->vm_start == 0, which is now assigned to account_start, this branch will not be executed. As a result, the VMA 'A' above will remain stripped of its VM_ACCOUNT flag, incorrectly. The fix is to simply convert these variables to booleans and set them as required. Signed-off-by: Lorenzo Stoakes Fixes: 6b73cff239e5 ("mm: change munmap splitting order and move_vma()") Cc: stable@vger.kernel.org Reviewed-by: Harry Yoo Reviewed-by: Liam R. Howlett --- mm/mremap.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mm/mremap.c b/mm/mremap.c index cff7f552f909..c3e4c86d0b8d 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -705,8 +705,8 @@ 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 account_start = 0; - unsigned long account_end = 0; + bool account_start = false; + bool account_end = false; unsigned long hiwater_vm; int err = 0; bool need_rmap_locks; @@ -790,9 +790,9 @@ static unsigned long move_vma(struct vm_area_struct *vma, if (vm_flags & VM_ACCOUNT && !(flags & MREMAP_DONTUNMAP)) { vm_flags_clear(vma, VM_ACCOUNT); if (vma->vm_start < old_addr) - account_start = vma->vm_start; + account_start = true; if (vma->vm_end > old_addr + old_len) - account_end = vma->vm_end; + account_end = true; } /* @@ -832,7 +832,7 @@ static unsigned long move_vma(struct vm_area_struct *vma, /* OOM: unable to split vma, just get accounts right */ if (vm_flags & VM_ACCOUNT && !(flags & MREMAP_DONTUNMAP)) vm_acct_memory(old_len >> PAGE_SHIFT); - account_start = account_end = 0; + account_start = account_end = false; } if (vm_flags & VM_LOCKED) {