From nobody Fri Oct 3 00:06:43 2025 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEDA835AABC for ; Tue, 9 Sep 2025 19:11:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445113; cv=fail; b=QePblcNB1e/HCE6G78Ff9YatLffidyqKRKfKV7Gg+uO/gtu+6b+kxh3Kn7sxkitMSwexB3p228uKp0YkcOzjB0IffYxFUWGR2CxBf3URDOpu0vANL2shP+B9U66ykc3hfySi7UMGS6tImV8Tm1s7K9Dxl/hVqyudoljfFtGuf4E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445113; c=relaxed/simple; bh=9TjlScN1BPN6yaJgJ+tqXCFMqTfS8TprDV1ZBkfeitM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=eA5NBwZ1XY+mYM6fcA9nAlJWswr2HxePL/uItkw7rEhcUAsJDONMGV/c6ZPs4jEh022FTQCaHXOyf2JPeya4CTgyge5jsGA6igSYz3GGq3MeOZLvok5HhCFbs8Su0K4Y3VYlUj0TcTocbDWBPlAf5UVnkMyTGPNUPN0KlJwbmZ4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=YjJ5sh50; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=dPw4ocBs; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="YjJ5sh50"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="dPw4ocBs" 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 589FtksV011917; Tue, 9 Sep 2025 19:11:11 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-2025-04-25; bh=AtGBVs46lMshXtmj7R0O38tuhE6HWKvTTQPsMxKSDiE=; b= YjJ5sh50z0Dl4v+64oCJ7xfB1kvdwlTtwMMgg66Eo6egG2gG3qfFPh0mS7lFMsnp MaYVdXDCzRYuN+LpawrOGuEhc1QoNDR7dAUIsMFDpvNCRhl6MFFADOgxjNlWSNS2 2AJ0Ps74mWqf/2WbyeAMalG3KzXaHVmJ9IDPBel17gG/RLzT7G9kvm+I2i3RymUK lEVWi5nWgoCi/eVDuanRlDCKCs3H7HtLoZX/e622cb1isKrfU18dE/Ge81sCv8lc AMbp74rG0TYIlRRqr5AooPmTtyPzK9m1ZhApWgwpb5PepBTSXqiJ/KXj7p9o90zi ylJqTG6J9D9a2TqHfEIXpA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4921peartt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:11:11 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 589I9ell002808; Tue, 9 Sep 2025 19:11:10 GMT Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010049.outbound.protection.outlook.com [52.101.46.49]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 490bdgj32x-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:11:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Zhxl02vn9n9HEMK+d6cplUOZe+fXbd5FsyPSsbkMMMBuQ99UlRlScCHzq0TIpS5HmHE776TzCWToMO7c2mer81yBaXM9P0cYp592PDVRQYwAnioT1XbCoYEA4xMbQoRIPelPlXMRTWW/8ZVZsSqSFXOwD+ynADi9ID2soQ3ILIg52GJwBrFOMsKLrtKTn216dGHsSxAVrqHW5GRZqBuWoDF9jj+cZ0cWetR6aeNw66a5S7NZ5FJzqUBAtBRnq+yE2ZtwPuLZBt5/gnwIbVkvrOeAZHPUtjSHDWRGOI4UjCu8gFyjvDPP0iWVh7nMxZKDch7BaIhSrUJRTW+/Ksm+Zg== 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=AtGBVs46lMshXtmj7R0O38tuhE6HWKvTTQPsMxKSDiE=; b=oTKQBvFS4Anio7ybHg/8LHflxqJO3nMk8ZNMEUGTDp6nDGy8pi/Way0cxD8ihmd7z+9jZLt1f2XottGO7GBLmYwW1uCadBiOn13uze9xhywsLuBUbpglCUdx46rAyV6e8Mdd02ZDaAuCi0MilwRbZBcKeqU71UkrIxn84qaUe0OXfaDwcGSu9Ky6cbLb2kyaKb8QznOwt+CM9Ly7gFgJvXeOXxeHDaeDX/sKihwhRgwmhG3vx792BUKxCybt0MOVUUZ2k2tNjHqJ81FUsEScwe9o5i1ShjYiLFIU60KKOVJYQG19S4CwULWg4UXEq0EXw5qS6QNp0+Xn+49pEDnHBw== 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=AtGBVs46lMshXtmj7R0O38tuhE6HWKvTTQPsMxKSDiE=; b=dPw4ocBsS0Zivd2T9WlbP9TDSFjzKusDhehK+jLyujDDmIMrKZb7ArYB5tGYYsdSAwCYbmcG9a1qCCqG5ax3QQ/iWwfenYKsuvNG+PJQsYRttbVBbpE0SrDSFFjTIE94H6i47DNkCHQXQUzttlj8w+ZG06m+yXHqMPHKkyoqiNM= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by CH3PR10MB6740.namprd10.prod.outlook.com (2603:10b6:610:144::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 19:10:07 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%5]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 19:10:07 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Charan Teja Kalla , shikemeng@huaweicloud.com, kasong@tencent.com, nphamcs@gmail.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH v1 7/9] mm: Introduce unmap_desc struct to reduce function arguments Date: Tue, 9 Sep 2025 15:09:43 -0400 Message-ID: <20250909190945.1030905-8-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250909190945.1030905-1-Liam.Howlett@oracle.com> References: <20250909190945.1030905-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YQZPR01CA0156.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:8c::28) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR10MB5777:EE_|CH3PR10MB6740:EE_ X-MS-Office365-Filtering-Correlation-Id: 80eb0975-5077-4e77-5bfb-08ddefd47d1c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?7h67FmZ4WQjXXhso0fBwOciS9KDHdYm1KZn5FC79JDtUmQapUbhvR1CUhNsM?= =?us-ascii?Q?JqPU/eYKgbi7Z5yum2fQRMezZnbL55FBM2A3k7Y60mUyqKOUlhnAs6rtOXeH?= =?us-ascii?Q?hER5dpOnDwWAEt9v5nbZ0mrYzCYa7NPcYbAaPRVqu474yvSzYdGQjWpkX/1M?= =?us-ascii?Q?rL/6Fsf+gTj3066Obwf6+lTb85WezTxFsw0T4pFZvI+ikxi6JQrx3su5xnBj?= =?us-ascii?Q?zDupZonNhICECIy3tVJpY4uARphqm6Jv3n4GIg0n0zflH8G6lt3P9ORBSFX+?= =?us-ascii?Q?AZyyhKYVsCdlb6q0ZhFINmLROgvPsS8JUSdiOCNmUUFhnpbIGmHHU+v5ZMKR?= =?us-ascii?Q?ps9rooQXsfq4eEgYCNFNh/pTvNnxC/ZdBrClb2X9Hbknbuj7dsqs5OY0eydx?= =?us-ascii?Q?pOIXbDTwN1TSD/r8AcWv1LGojybdhpRag+svXMB7tIWY1+V5syfXoJQuP8s3?= =?us-ascii?Q?v3Eont52ZeP7/ENXs7AdZiBb7gEpBDVLYKGTcTeKXyYwj5AlVNbax0Ju3xZD?= =?us-ascii?Q?b2xUpkXzP+EETlwyLtWUj120kJ5xu90tydggWJfOALWy83LSSOf2I05r2+xf?= =?us-ascii?Q?REKWgXmIh7u7ZEJY4KwGL+U6jfe7VqRqF07dTgxnrgafyoLQcPPepFVNTlJp?= =?us-ascii?Q?j9JjNFtlbl/aQ3BtDIRROOoDwOA7KnkQ8MZ+/9hqgdC1nNjrjXnAPAdavldq?= =?us-ascii?Q?ONt+jbQKipUje7WgSkGK0AQrobPzqm60AZus+Z40XwUwjRFZ2anLJfaFDx8c?= =?us-ascii?Q?nu/mdzSI/8BMeJHcu5oZYS+S8eaQVKRpVGY+ByyUgE0PRYQ/DGSwQXbRLv+h?= =?us-ascii?Q?Jwm+g5ZdAkZblamOBxlMm/rky92pYdDd5TZZup1rGiKKcqpy1ZaktXHoWQVA?= =?us-ascii?Q?bC33eNVan+s8JZd/7aFGdJP2wfSMv6t1S+68dkqNvnahm4jzuiCU33ACona/?= =?us-ascii?Q?MqOlE7cp27KpBsyZKVX40JBDgiCUljlWkqaDvUrFKQVZGVklYXB7W4PIMdEO?= =?us-ascii?Q?CZGo7QWFGF4T2EeoAmooyUykvtx4NUF7xL0KmCbPt7V9hlMWdF9ZINs64CiH?= =?us-ascii?Q?1IYrV1fjTnP59AYwBHQjqR+uUbiXPl2j5JtHpSkSP4B9/3yr9VjsF6wEq+zp?= =?us-ascii?Q?6nHm0q246OKumy3rJPjXJDAE74vTq/szsBT8PSPWyFj1R16cOvzTrzUBVN4i?= =?us-ascii?Q?q0MgCh8eIGW7uKOU1EVc/PKYojaxCb0olf3KZhFtSm7vnpxqACUvdHpaMODf?= =?us-ascii?Q?jQQbVK4zSg1II4Vk3B5eivGtkylxRORWkX2KDT/uIZOTqvczFKPsHuRjHOgp?= =?us-ascii?Q?39HwvdH1ZXLPdDqABO7YL0GzdgqpOEH82mrSR4Lw5CGRTRk6q9KT49SpVOP5?= =?us-ascii?Q?EI2Ca/drTj9frfFXCPBV8BOWUxvSwPtYlbjAhCGzJoxYZFV6Rso9Zf21sDVb?= =?us-ascii?Q?5CTzH0kVE18=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?V/jj+xLAaCCfkkY5am36xQLJuWt9z/s+5bAVBHu3F6RPYVxRGWU2SkReMSWW?= =?us-ascii?Q?1T8bU7Z0iFbgvta+zl54llYsH9TOPmgJgBE7z1xTqJpp64cGx9frCWLpfa0R?= =?us-ascii?Q?LWwE/U06m+AvGVpFmKOkvo53Galfb5iKi76Bry0DJIj3A7G7Vae6kOq7VsYY?= =?us-ascii?Q?MFDSMRl5MEan4vo6AmAruB7dMfCA2INI8GIT4DrIfIeU0wBzO2kWFYZOBoTV?= =?us-ascii?Q?SlAS/c6yk7egXXMh+ACKbaekatnZ0XoG7hbRibgEgWCNVYYQKY7CzwuUorAT?= =?us-ascii?Q?6Cr6OqKWNYT3+e388azWk2c7M1yVMLtEcxoiRyDfzADoz+39PmgzD8HbUatq?= =?us-ascii?Q?N7KTtjRmq8oU8Mi189pObeX6RBy4LY0W6EYyhVW0ZGTiQXLlkJ0VYJCx1tFK?= =?us-ascii?Q?Ihm+oJUcvDew6fpZMGE+P2Imwi/HdnamBM5Lw7iptyi/SrG116L/ukc5X0QX?= =?us-ascii?Q?gZ5d7eDRoXNPnaVYxz4fyXCcdDlDeMVN6I5T/pJjsCHQw2lAghLRFCZ44lbu?= =?us-ascii?Q?VmKVsmpOs2qr8Za5aHD5oiUtxBuk16sjlnPYqh1BUCdRSHxQW6Z0rmuRjpNC?= =?us-ascii?Q?PJ1CfKBFDcbe9l/cFv4KTvLMZh39E4DqKcl8NzYjRn3FGxUhqV3xFFf+O4el?= =?us-ascii?Q?o9wQ/LDSiOvcAuz5F05Gwj6YT5fmp74Ogh3oUkUCivqvMLRt5hZNtwzXoPNO?= =?us-ascii?Q?kmawwcvtZ0NKdLZsLvzOWINUgPNecrF/zhnKaJiQrpWkH9FN/govnNc3YwTd?= =?us-ascii?Q?t2VwY5Yys7bJGiHa6kLriHcIcRz2t3FLAYHfTVUVSclOZVcJQgPir3JiMWQp?= =?us-ascii?Q?ftcsjIJmWzCoHifcVIIB1Hj+2y46r571FCrRSjAZ3AkOiDOlmxnlhsFzBNAj?= =?us-ascii?Q?F//ywcDI1vUCNZDjKSBXyhJtNhNtNwmuLZ7hYjQj7P4gAw5tBxZrjsqLMwWI?= =?us-ascii?Q?gJ3DPHdFKqwhB53HmLxuH067SqV9bpCsONF/2wLs4XNTxA9jyfyA8A2B7Lcp?= =?us-ascii?Q?YiM0chC2es+ZnoYSin8iBZs9jqN3Ggag/fLeV8aYlvcILh+qSOLocZYigVzN?= =?us-ascii?Q?C4ms/P+Ugh87DNQNHjCsWe/cgAPDRw0VD7kwKUSi+X8woWBVmFn0cY4OR5DX?= =?us-ascii?Q?qIPXfJFgDDJISaG7M+Z+S/m3UkfW+pYRV6FkPvpvY4Vt//Lux5FeNe9IuDOz?= =?us-ascii?Q?Imgs9e+Ic47fiU6wHcF2WiVDRJTm1X4uWYpJwJfMkLQdTMhfG+N8nMOPhU2n?= =?us-ascii?Q?tu/aVo11/gDWgfQ5S3iMthNqPqvWZnCRkvKBuCz6Cn8yQwtewYjo0xfLpKEz?= =?us-ascii?Q?waB2+qUQA3MkhAxTBUQ3uRWjQ/8BteJ4xqbMhuYrTDEdvnEQXOyCcRf2PY+s?= =?us-ascii?Q?GnKHl8P9PQnSymZN/QbUwowVEqlClAh4XonVn0I5Uta58D9JOT/8MRoZMU+D?= =?us-ascii?Q?zIHgr6sZt7lfl6ldhZ8NQ8pNnZb0wqk5sxePRLZ68cIufKTCkCGG9drbHYwL?= =?us-ascii?Q?DC0iyXE2/QrojT+uWbx4FK58JnTXwtw/99qCCYfEC1Eo5Qw/Heip9VttKw1n?= =?us-ascii?Q?NegOEvRplb5/rdPUqMKHuQON9i/udlzp+iPDinQWpriEx3JdPr2KB6H8gIQ4?= =?us-ascii?Q?qw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: RseqJjoZQcx2D6UBJsBg73Txi0xtp0odobLLW9Yc/WjR5CM/tbhB1n6iZVPvr/MxYiCE03oC84wE6hzCLfelPhvhquGW4k2Wyd+Ewry0kuCv4vChthIBTYnlY456lw5Dd7SAJ48+gJFPd/FHt6orHY/pTVkhVNmBD3MAOre9yWU+/ONGxQ6ijkTNhOFpafLf6JhSu1AqTnGx5T1kjUe55vvQV3U4r5is5yNOVkhjKsfvR4nd687o720PrgCzrcaw/hODpR3r5KSjF1yUivYyhcOdTUh3r+udYwtXV1jeGUU9O730H9WZxIl74JQW8OZTsRyV5YyKH3pwbK+j3mQLXL43fAz3hmtJa34FNa6qXNGZUoT2aEK+E2ro7LGnnIszHOqyREhb7C+RiPt7aXHQFcIWI+8DVUuQhDYSelRvJXWWdz/AYGmbHGvDEY/CBghApDe5L3iFqbExThh0BjoDVRKdoziEk47Gu/mtOzhTNpB3CHHTQmQKgiCTI6HGz2tzDzUgzIJtvhNk7YHWo7fzFfZ9OoLgVi/fKJPH5qZ7K5V9286mSv4QUrBN6IV466kkVqpDZ2XRP7f+iTG97uNd4P0AtJMlNDW5fIB/yWmezcw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80eb0975-5077-4e77-5bfb-08ddefd47d1c X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 19:10:06.9038 (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: iPV5nRz1WNBC7XQa0JU+FsamVjwa2U79WAfC4NDA5B3Qqi4aFv5YpSys8ecjJal82XGYlHxyWt2XGtWpsLKeLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6740 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_03,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 suspectscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509090188 X-Proofpoint-GUID: 7Kza1zoXkRn-n7QMiZuE4YJxoyto7ipX X-Proofpoint-ORIG-GUID: 7Kza1zoXkRn-n7QMiZuE4YJxoyto7ipX X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDE1MiBTYWx0ZWRfX0Q/aOLL0pjXJ Stfjb3/umFHBKDuQ7bLLSW5gKIwEYCFanzcvegQ08HKxr66ZF6EUFE97p82RdM9tZk1MgzH4R6z 39sW2ZeGUp04Y0+0KvLgqpsk3UBMSZNcQm2qbXKKCbLPtKXJq8dmfKfgIp70ubTkM8fZfXguoN7 4uxbG96brjdtId5HoqkBIXk5oZMasidQBCyNak6xtLsIgyfnP8sru3RtZsF4wHfNGYR0SPLU/nO /I6WiLPmm+aUXO5fg1VROlVs0b6GLJuGae/NEOl/ZTuKcXY2lAL5WhmhEm7dDXZtH2u7lISrqXX qEbgQmardaNaCALeoMvS8HR0mJRqOlukGg7tvxx9JWhpLXdzQ4+PiRxbbFYkdCQIMZoKK56ozPL Z5+wWgAFRZ7HGGa1oFKQ7EsjL9XyyA== X-Authority-Analysis: v=2.4 cv=b9Oy4sGx c=1 sm=1 tr=0 ts=68c07bcf b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=Aa1wpkB7co8p-06An_UA:9 cc=ntf awl=host:12084 Content-Type: text/plain; charset="utf-8" The unmap_region code uses a number of arguments that could use better documentation. With the addition of a descriptor for unmap (called unmap_desc), the arguments can be more self-documenting and increase the descriptions within the declaration. No functional change intended Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes Reviewed-by: Pedro Falcato --- mm/mmap.c | 12 ++++++++---- mm/vma.c | 27 ++++++++++++--------------- mm/vma.h | 35 ++++++++++++++++++++++++++++++++--- 3 files changed, 52 insertions(+), 22 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index aa4770b8d7f1e..5c9bd3f20e53f 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1883,11 +1883,15 @@ __latent_entropy int dup_mmap(struct mm_struct *mm,= struct mm_struct *oldmm) if (max) { vma_iter_set(&vmi, 0); tmp =3D vma_next(&vmi); + UNMAP_REGION(unmap, &vmi, /* first vma =3D */ tmp, + /* min vma addr =3D */ 0, + /* max vma addr =3D */ max, + /* prev =3D */ NULL, /* next =3D */ NULL); + + /* Don't free the pgtables higher than the failure */ + unmap.tree_max =3D max; flush_cache_mm(mm); - unmap_region(&vmi.mas, /* vma =3D */ tmp, - /*vma_min =3D */ 0, /* vma_max =3D */ max, - /* pg_max =3D */ max, /* prev =3D */ NULL, - /* next =3D */ NULL); + unmap_region(&unmap); charge =3D tear_down_vmas(mm, &vmi, tmp, max); vm_unacct_memory(charge); } diff --git a/mm/vma.c b/mm/vma.c index 4c850ffd83a4b..c92384975cbb2 100644 --- a/mm/vma.c +++ b/mm/vma.c @@ -473,22 +473,20 @@ void remove_vma(struct vm_area_struct *vma) * * Called with the mm semaphore held. */ -void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, - unsigned long vma_min, unsigned long vma_max, unsigned long pg_max, - struct vm_area_struct *prev, struct vm_area_struct *next) +void unmap_region(struct unmap_desc *desc) { - struct mm_struct *mm =3D vma->vm_mm; + struct mm_struct *mm =3D desc->first->vm_mm; + struct ma_state *mas =3D desc->mas; struct mmu_gather tlb; =20 tlb_gather_mmu(&tlb, mm); update_hiwater_rss(mm); - unmap_vmas(&tlb, mas, vma, vma_min, vma_max, vma_max, - /* mm_wr_locked =3D */ true); - mas_set(mas, vma->vm_end); - free_pgtables(&tlb, mas, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, - next ? next->vm_start : USER_PGTABLES_CEILING, - pg_max, - /* mm_wr_locked =3D */ true); + unmap_vmas(&tlb, mas, desc->first, desc->vma_min, desc->vma_max, + desc->vma_max, desc->mm_wr_locked); + mas_set(mas, desc->tree_reset); + free_pgtables(&tlb, mas, desc->first, desc->first_pgaddr, + desc->last_pgaddr, desc->tree_max, + desc->mm_wr_locked); tlb_finish_mmu(&tlb); } =20 @@ -2414,15 +2412,14 @@ static int __mmap_new_file_vma(struct mmap_state *m= ap, =20 error =3D mmap_file(vma->vm_file, vma); if (error) { + UNMAP_REGION(unmap, vmi, vma, vma->vm_start, vma->vm_end, + map->prev, map->next); fput(vma->vm_file); vma->vm_file =3D NULL; =20 vma_iter_set(vmi, vma->vm_end); /* Undo any partial mapping done by a device driver. */ - unmap_region(&vmi->mas, vma, vma->vm_start, vma->vm_end, - map->next ? map->next->vm_start : USER_PGTABLES_CEILING, - map->prev, map->next); - + unmap_region(&unmap); return error; } =20 diff --git a/mm/vma.h b/mm/vma.h index b0ebc81d5862e..4edd5d26ffcfc 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -152,6 +152,37 @@ struct vma_merge_struct { =20 }; =20 +struct unmap_desc { + struct ma_state *mas; /* the maple state point to the first vma */ + struct vm_area_struct *first; /* The first vma */ + unsigned long first_pgaddr; /* The first pagetable address to free */ + unsigned long last_pgaddr; /* The last pagetable address to free */ + unsigned long vma_min; /* The min vma address */ + unsigned long vma_max; /* The max vma address */ + unsigned long tree_max; /* Maximum for the vma tree search */ + unsigned long tree_reset; /* Where to reset the vma tree walk */ + bool mm_wr_locked; /* If the mmap write lock is held */ +}; + +#define UNMAP_REGION(name, _vmi, _vma, _vma_min, _vma_max, _prev, _next) = \ + struct unmap_desc name =3D { \ + .mas =3D &(_vmi)->mas, \ + .first =3D _vma, \ + .first_pgaddr =3D _prev ? \ + ((struct vm_area_struct *)_prev)->vm_end : \ + FIRST_USER_ADDRESS, \ + .last_pgaddr =3D _next ? \ + ((struct vm_area_struct *)_next)->vm_start : \ + USER_PGTABLES_CEILING, \ + .vma_min =3D _vma_min, \ + .vma_max =3D _vma_max, \ + .tree_max =3D _next ? \ + ((struct vm_area_struct *)_next)->vm_start : \ + USER_PGTABLES_CEILING, \ + .tree_reset =3D _vma->vm_end, \ + .mm_wr_locked =3D true, \ + } + static inline bool vmg_nomem(struct vma_merge_struct *vmg) { return vmg->state =3D=3D VMA_MERGE_ERROR_NOMEM; @@ -260,9 +291,7 @@ int do_vmi_munmap(struct vma_iterator *vmi, struct mm_s= truct *mm, =20 void remove_vma(struct vm_area_struct *vma); =20 -void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, - unsigned long min, unsigned long max, unsigned long pg_max, - struct vm_area_struct *prev, struct vm_area_struct *next); +void unmap_region(struct unmap_desc *desc); =20 /* We are about to modify the VMA's flags. */ __must_check struct vm_area_struct --=20 2.47.2