From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88F99C36010 for ; Tue, 1 Apr 2025 12:36:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 253AF280004; Tue, 1 Apr 2025 08:36:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1FFE2280001; Tue, 1 Apr 2025 08:36:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3851D280004; Tue, 1 Apr 2025 08:36:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B4496280001 for ; Tue, 1 Apr 2025 08:36:15 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D921DBB577 for ; Tue, 1 Apr 2025 12:36:15 +0000 (UTC) X-FDA: 83285422710.15.8B20BDF Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf17.hostedemail.com (Postfix) with ESMTP id 4943B40002 for ; Tue, 1 Apr 2025 12:36:09 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=PZROdkIQ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=O3wtBJAe; spf=pass (imf17.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.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=1743510969; 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=M9wRrls77/y+al98rdZ7YidvW74zK8RE5uBrjjPiBsY=; b=dwRcc+UjRWBWhqLDb+sKfrpTzAQXuWkJJkTgvBV8lLVb0ZynPYiBa8Zl9luJEA/htWdRwf 7yvYNkE9Es6pVivn3FmakDA2NXjz3o+8IlCZeZc9J/L9M1CYdFh0JdKLsGrb9sV2CZC8/Y aVjAMQmDxWb4DNk2jMsqGOw4Z35I0Jw= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=PZROdkIQ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=O3wtBJAe; spf=pass (imf17.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.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=1743510969; a=rsa-sha256; cv=pass; b=sMZ/SJ2JyQ+VNGbfVsT7b6qKG2N7Q3WrVzsyRtOUir6ysdnjvoDQdjPRj4vmf4ph/vVahy RF+jdiE24WQ4BL7v2FAw321dFeyhcrbXPM9OLHA7Uz9YcpRlKAEp0r0K9MoHkU28XGtzrn A1dPMwJ9BnguRnsJHaxcGxGXVQEj6qo= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 531CQuCl015217; Tue, 1 Apr 2025 12:36:01 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=M9wRrls77/y+al98rdZ7YidvW74zK8RE5uBrjjPiBsY=; b= PZROdkIQCEjyR7JG+UFI8bsVagy+Q24Xe/kIzM5ZXNJmU5lTtUXB7lI+oa3r5vln dyK9yqCSzBY4XR9+NcKDO3H7a76etrWq+jYk2s3cNqAavk3j5To3WO0sSXuzd6Mj J00AtWvm+4gfPnMZ8+Ba2ysDpPt4kt/1kebHVv/eh+5txAVWZWf3nPTHpy+JDDpa RqWiLaI1eesorgUSgNpt/y26KpEFVEMy6315L2UvW/XfmGmQ9IOiU1G2QOP6PjoF b/ggsguI2x0djgCSR6q3Aro2w5iZcaKClBri1fR/0jfsV5j3+Y1MmHcQnWUSaQz5 ORb7toG0ksWyVXpuKxI5sw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45p7n285d0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Apr 2025 12:35:50 +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 531C9Mbp010768; Tue, 1 Apr 2025 12:35:49 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2048.outbound.protection.outlook.com [104.47.66.48]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45p7afc3et-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Apr 2025 12:35:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=v5x2cRHi0DG/IHGuXSk/cl0CmhWijGAtmvuZmKKxzwdgVv1V52pKRoELmk9qt/WjZUjsUMgRl3Efaejg80VubKbiiAxe8dcMoePqGn5PE72B9+nbB56VG+YLL707O0xTxnz/dupgVa+Qc5ag65FVZ3fSwoz+l/O3DrbxURkE8cCvcNSUUbxH+lJdq4JuqM4rtDzL2qvvJGRRPne07GoX3iVOVySP/BZe7mBoIFOAw+Qj7J0hWZ/Yzka0gzt/2JVrJ6zy3vgOkzohWJxF+EWiL7VxLXkYaq7fBRsyIj6o5N4v2VN5Vx/LZLr3dXv81YhCSw6kEz8gqYTLlLJzj18bzw== 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=M9wRrls77/y+al98rdZ7YidvW74zK8RE5uBrjjPiBsY=; b=KG0YTn5qL+Nnrvlj7BTQpKgilfTe5vGcZ+NLsKBvBHTBWrCXZQzyE7fEzAQxpVIEjq5/vK6rHDv3oe1BGPC9mL78bIaj+eM5o6aIiC6r1ybe6+5tBbKQ5wirRTBq+gfQfkUrCcg6kvH6QqU8E/aZTtsdulmsJbajCFEbLWIqy2joOi6nkkvGN9A+CbZJMLJXAhtL/PStxgf1BBfIM9geosXGsm8s3k+LVqrEYcI5E49vxxHRPLg6YwDzxe/wi37zjYzEZPXRqbMUu7TG3N/8jwjIcaUqQfAV7KVANix/HOeAGbjzgLpc5cnGadbnrMVNAq8H4m+ENgeoPZ+qcdpMJQ== 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=M9wRrls77/y+al98rdZ7YidvW74zK8RE5uBrjjPiBsY=; b=O3wtBJAeZCd+iitdD6QktAP9n9v0x9Keydal6Ssisihjnj2l5QBI9mPsmqHqHV2tlT9X+BTgSkkNTXo7C5gBh1225SSKTX/wlXodTjzX8Ls3Tx3DFVXrFubm34xLosIUHA6CijK7TTX7x1/u5232s5oZrxlFtdnDKa7Yq5Z19fA= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by SJ0PR10MB5768.namprd10.prod.outlook.com (2603:10b6:a03:421::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.36; Tue, 1 Apr 2025 12:35:30 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%7]) with mapi id 15.20.8583.038; Tue, 1 Apr 2025 12:35:30 +0000 Date: Tue, 1 Apr 2025 13:35:25 +0100 From: Lorenzo Stoakes To: "Matthew Wilcox (Oracle)" Cc: Andrew Morton , "Liam R . Howlett" , Vlastimil Babka , Jann Horn , linux-mm@kvack.org Subject: Re: [PATCH] mm: Rename vm_area_struct to mm_area Message-ID: <1370de8b-65d6-4f7b-b89f-4229b94a6090@lucifer.local> References: <20250401122602.1738511-1-willy@infradead.org> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20250401122602.1738511-1-willy@infradead.org> X-ClientProxiedBy: LO2P265CA0147.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9::15) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|SJ0PR10MB5768:EE_ X-MS-Office365-Filtering-Correlation-Id: 3830ce5a-009a-4eb0-12aa-08dd7119af4b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dnErRU5zUG16WUFzeGpmY0J2dHR3ajdBQnJyaUNKSktEUnNLdWFKcHlPUmNs?= =?utf-8?B?VjdrTEExclR6UDNBeXdkWGNobkF4aGVISitTN2JMU1hHM2ZoTzUxY0xQL0t1?= =?utf-8?B?dDNvcm5kQW12Wm5YZW9Yb2hXY3pDYjN4UXI4LzlsQnFvbzdlWTB2eHN2Vm5V?= =?utf-8?B?SXJjMnhJZnIzQVVLbkxHMENwbUJTMW9UTGJUY3EvWnB2WjdSc1JuYVpNNldL?= =?utf-8?B?RWpodlhmY1lNaHRrYWhKQ1JjVkt0ZUNEd2hKV0hjTmk4R09FRXpLT083RzVm?= =?utf-8?B?Qk1SbkRkQXRDTXo3QWVVYjU3cXdiU2xteXltUjUzQ2NTV2JhYnZ5bHZoMHIw?= =?utf-8?B?cWhpQzVtR2lwdXRMbThCRkhMdkc1Mk5iQUM1S3RqdjduTlpLSllReTBZQnk5?= =?utf-8?B?ZUY5R1hoZWpLT0ZEeVEvenI3dDlzSS9zazFVdGdQbWZPdDhvNjFGWGVFdnp3?= =?utf-8?B?azhlTkJ1bFVNOWNGdmJTck04eEdSSWluUmFZUVczcUpqbTZSQTU0dUxaZWhn?= =?utf-8?B?Y0NzaWtvbTBmY2FYdDFIYWdvU3ozNGc2S2hDRlQ2Y0RxenBFTUovckxReXJT?= =?utf-8?B?QnV5VEV2UEcyZEtRQUFTbXdCTlF5VEVtM29Zc1NTajd6QzhEdVlFZlhwYlVZ?= =?utf-8?B?MVZsZGt2RDIxd005OHpUYk5ZeWprRHRlL3pJTnVockxsTXRzbW5xN0lCa1hx?= =?utf-8?B?UHdHZnJOeXNOakZncTl0NWZhdFZuelErL3VrR0dRbkxPMzNjZVpldEluM0tv?= =?utf-8?B?cElxUzQyeGk5a1B4SklUa3Z3QWxtcG5BT1llWlNOaWUwcjVYWDB6bTZnYlJ1?= =?utf-8?B?VllYWkF5WGhDZGRvdjJUdnJpRGUwNGt2NGZRRHFxQVJlcTJGUVk2RjFHdmVq?= =?utf-8?B?MVp2SXdCaHFHeUtoUW9lSVJMRVlWU2xqOU5UTXMxTitoMm0zZHMyN0tpNUJz?= =?utf-8?B?TzVNaTZFeHozSW1mZ0FBVEVob2ZwZ29RWFBDTHEwMG5NWUJIVkdJWXowNEpm?= =?utf-8?B?dlRFVVNuZTVIWVVBMVdybkVibkRibkNyaE1RMVZia3ZEVE5hSkpFclN5MUwv?= =?utf-8?B?aWtPVHRtNVUxYUtlS3BqYkVmYWpZQXJnK0JjWGl2STJ2dVVCOEtZVTVGRm16?= =?utf-8?B?NElldnhTYkxsR1lLMXlUTXpQTnZXVXFNWnBLekxPYnlXWVRlelVVYkhDN01E?= =?utf-8?B?ZFM3eDQrbXBXOE1rRnEwZFRPN1hBVHpKVGhTTDZSVkptMERwWGtxSmhacmlj?= =?utf-8?B?STMrUHZndmhndEZUamFZYkZEV2x6UU1oQXJjdERJdXl6NWZVU2cxL0ZpUWYv?= =?utf-8?B?TGNRb0JaYnhONnJaazFMbzVXanJtMEJQVGpZUENqS0VRWkw3ZkphOVZrbTlI?= =?utf-8?B?R09KU25ub3V4a1pwdSt6blI2NTZiTEhJL0pmRFNwbGZQdFE1b3dtVXlleVVV?= =?utf-8?B?MTArNk9GTTh1Y1l0MFJhbVFJa2wybE55aDZiSUZCTmxHN3BONmNiVllvbjhN?= =?utf-8?B?K1RUamJyZ2FBbUJ5TmltT0xJbmxEbUJ3T25JaklOZ3ZNMjdkbElMaEI1eVA5?= =?utf-8?B?eUEzZzFzSUVKRkkwMXMwak0zaTEvL3hsclFNd2tnL0Y3Y0ZZWEpqRmx2TWZK?= =?utf-8?B?OWx3TTZTNnhIaVpjMWQ0WlJQMmwxdXV0S0dEdEwrZ0p0eWNBSm1Zam84dndT?= =?utf-8?B?WFZQa2FQWnUzcDdmSTJLQ2tZRE0zWkx2YUVNUFJFZGhFUEtaNDgrWnl4R0Zi?= =?utf-8?B?WDZFcWxIMVlRQ21RWEwrOE9GODA4dmFRNUFmaXRubzBxNzdNY3pHTGp6NTBP?= =?utf-8?B?UGlDdnVoRWJnU3pVUEhidFNPTlpJbXJNSTF6K3Z3TS9senkxaUNjOFEzTU5h?= =?utf-8?Q?BnXqLKdELHFE8?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OEh4S3FyTVJXanpxYkxLK2lXTjNVWEt5ZHFFbURmYnZTcFFHMXhZcVNDOFZD?= =?utf-8?B?TXZGN3pGTVY4SWtSNmx6RlJWUHNPd2M5NEpyM3A5VlZZMnhRTXZ6LzlJY3E1?= =?utf-8?B?eVVYUVhPL3g5MlplV1NlMkJXSnh0bm1odVpJaUoxZEVVNWMyRDcyT0F3RmlE?= =?utf-8?B?QUM2ZzFRZG9aUDZWQnQ0UFBUN1J5YkU0S0o1SkZKa0VYbHVwY3pLdHpYeXBN?= =?utf-8?B?OHc0OWhuYjJmeVZjcFJwN3I2SlM2bVkwR3duTVVJRUdJVzIzbnF0NUd3S29B?= =?utf-8?B?OFV1d3RCZmJMZ2xSYkFWVWtiY2dkaVhwSGloRkRTWm9PWFpxTFU2TVQ0cFBp?= =?utf-8?B?VXVaWjFVMDNpV3pXcmhGdlBNZUVyQlhyWjFjeitYUHYxTnpPdVdKMStKTTV6?= =?utf-8?B?dmRjZEJWRzltOXkrVWVXQU1mSHVOazMrSGhHSnRqOFgxMkFuS1lwT1FjZURQ?= =?utf-8?B?a2pIWkF1Vy8reS9PRkIwM1ZtZFZkaVhSYS8yd0N5SkhrRHVuWTNuMHMzc3cw?= =?utf-8?B?TXZWVDMxWU1MbnNvVHRkY1BnOWRKbllhN0JQNnFtSkpLbE12Z0wwK1R6UGJs?= =?utf-8?B?NnVmREYvekxzTlV1c0R6UDU4SXY1cHUxS0lyMG9yUVplK3RiY2RXNlFweDFn?= =?utf-8?B?SUVwTVlzWHBETzNrenAvWjI0c0ptOE5vTVV5ditZN2FuTjIyUVl1RDJjVTVv?= =?utf-8?B?RkFIcDFPM3FGQzNPbzNBckhZZENXNHZTbm1jaGV5Z1h2bHVBMW10bmFmZ2ZN?= =?utf-8?B?ZVp2L0lTb0RYRm1QeXNSRFVnVWNkYmZUMEJPRWxGUnpmOGt0UDdoT0gyTXdl?= =?utf-8?B?ejFjbmRCNTBGdi9CT2YzSTgzRm9KdGFFUlUvbS9KMFUzN2hkbEJzU254ck1T?= =?utf-8?B?dDMzWWtUVWRVY1krc2R0amllcUxoZnBTaDdBMzhPNmRHTFU1SGFHM0xKYUU2?= =?utf-8?B?UHFrT3lLTWc0c0dMRDZIRGhRdm9vUnZEQjFqQkFrdUNuektYWnluMVBicnp3?= =?utf-8?B?K2c4bStZTUloaGI1M1J1ZzUzcWVYZXZXZ3BCT3QvMFRiRDB1UlBWWWsyYzRK?= =?utf-8?B?L1k1RVFCenROSzVzWHJRTngwdnhMZlVqUWx4Q2twaE1YWFNSd082TGVRL0Fo?= =?utf-8?B?c3FvQ25zcXpVNXlObW5DMzIzL0F0RWZyS1dSTmtPeEJVbHpsaGRnazZYZkhM?= =?utf-8?B?cjcxU1dSdzd1UlpZSVhGMFpFckFpd2pLbEV0S1VldUdsbVI5aU9Ua1JoNTVR?= =?utf-8?B?NnAzRWl2dFZKUGwwNzlZNTBUaklaYTY4akVrV1h2TEQ1R1dRcXA5UXExRHZo?= =?utf-8?B?clVuR0RYQWpkSU03dWtPQVJOSDltV2VtT05DbXFFeDhOenFKdHBYeTFmWTBx?= =?utf-8?B?S2Z1eXV0aTQ1VkVQcUdwZUdGa3FnYWhwc2trWmNoaGd2SGRWZGRPY3FHLy9m?= =?utf-8?B?WUhIMVJmMjh6U3U0UW9VMTZXVDVuNUJKZ1JtemkrZ1JESUNXUHUrZmJLaTJI?= =?utf-8?B?TjY2WndIQXFVdHMyVEc1NXc4R3ZJREhkbkhZYkozWjAwbXlxTkU1T2dSM2Ju?= =?utf-8?B?b2trdlFCUmxFZW5pVVZLTkRtblVndG1UTndMemFTRjBMODhHOWExYlF2MG8v?= =?utf-8?B?QzhFYy8wam1zdjIwYVpWelNRNDBRWVFCS29MUFlnanc3ek9ZS0dzYzh6MlRN?= =?utf-8?B?cEdNMzlyYTJQOTdVZlVsRnpNZjVhaTgxb3NaTndTaHAvM2RncElCcEJDb2FC?= =?utf-8?B?eEw3UEZqYjBkNWhrbVZnNjEybDhxMU05MHdOS0J5azh5LzN4bWFvU29hZW1Q?= =?utf-8?B?SXBnQjdCSkkvY1hma3hDK3hQbU9TTktISmlYek9BSDlncTdyZGhCVDVhUXJl?= =?utf-8?B?Rk45K3pKNlhHOGRNTklETS9IT29Ja3NsR3VJUUs0dUxmVk5oSU5Kd0MzSWIy?= =?utf-8?B?S1dKTzJnS2VONHF0eUdqL1ovbnZ5MS8wS00rU1VCL0RNanZsRTZPeWNucldw?= =?utf-8?B?SjF4TGNaUU92bDBubVhDOUJuWjVZbVQwckJzeVJ1b2xJOE16eTBYdUh2a25n?= =?utf-8?B?bDRvTDR3cDR6d09mbnFNb3R4VTQ1N1lTUHNvTTkzencvVk9BNUhQb1pEMHY4?= =?utf-8?B?d3NJcW9qaURpZVhQWXhCWFdxbk1VUHIrbEpyMXQ2QnNjeGlNa3kwakVSMmc3?= =?utf-8?B?dEE9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: hLo1ZDqliO2r6NZ10MQXS+23Dy8BNcJ7GgFOSaH9Grkiet5DQwUbee6LESquQ6DpdOr1EOIGgRwisy1bSTHmeqsWa4W3kup3MldlUvypOtTd73a3ckqSLzf93bTgQ6AHpRJV48X5iBTXJDcOnQyxrSY7byxQg9v8M0oGiJTe5JCIxvq9PjJWvxQpj6ddTJxelR7DyV8SV5a3Thug//O75hk1fB/p0/uQRCUBDUL5OhpZj592n5lUmLb4fZw61fIWx7jsISWJSOYpUC6yhAgad7fGSrWZ+VpyJVJrb8/XgognsasiKP51AwWRp8+n40jafrZmhzKKy0TOEglWQA3puvLp1GKTlK2McJQI+gdLLyMRcX1qoids4sQ/gOutco/EbHvru8+V0rOzKCD3tKTa0t+sMTzs8SWzbXIwVkZcrkmqoqFFZ92RhjhY0Ezwz7kojpxJu62+ugKWglFWHe7E+/x2+C3FW7VX2MjIM1u3olZV6X3yeJZasJdJ5dosjnSbXl6Q8rWofM3o0hmKNnH8A8Jx4qtnTIxycGOjQan5+lJCxxNp7tcTE3+HbEJcZ+TMexOb2vcsiZQknshT8UHXM89CsEJbMXHjcOkvVEpvukY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3830ce5a-009a-4eb0-12aa-08dd7119af4b X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2025 12:35:30.6612 (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: kHXeu9wzyunDjlGbUgZGXWFkdmgpWdnYVB+vrl8esCgy+Kg3FwRnObwVhXXUgqLm0GPpEIPIdMcakFf2d39J6yugrZ1ILgsBHeMOG/mXOTg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5768 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-01_05,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 suspectscore=0 adultscore=0 malwarescore=0 spamscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504010077 X-Proofpoint-ORIG-GUID: irVZ-u9zlmWoNOD5Fz7OArxMXb9Y4RkV X-Proofpoint-GUID: irVZ-u9zlmWoNOD5Fz7OArxMXb9Y4RkV X-Rspamd-Queue-Id: 4943B40002 X-Rspam-User: X-Rspamd-Server: rspam02 X-Spam-Status: No, score=-3.64 X-Stat-Signature: i844o4yoh3dpzyoa3mq5rtdf9qib9cu9 X-HE-Tag: 1743510969-685616 X-HE-Meta: U2FsdGVkX1+I+13t/UZ/GsLpTlP4LyL4WKt53n3Yj6bZpzJs/0JNR+FiCFUCYP1sSMD+03DnkdGEy7N51XOlNm9nZ/HAwN9oQoaQtqBpWAdNf5VXK/KnDxvE5w6FtapDVErhWeT5OD+XdCRn86JBCUyoQjLZsqIGZw481WFT+wFA0x4IDb2kDbk09XVJXKeoArYMRnslcrbr/PahMAJZIQyX7ByfT20nrjZQG1Q8LO4LzsMrO/+m7RDRf6F+o6TzzeN2FgzP7cUuE18sA65JoNgh8W3uVo/xvl1scOVihMFu42htHr0IG51FIy++xspS1Dd0zKukgK6q6UxFxDl4KGZB6p8aAvsihDJhad3aCa9ml4mhwG2uGmGXafRvsDpT3z1+Xzu/t1pd+wrgxPerA1tNZTW8NqJI4T5zRY0x2EWgCVhdjM3DhG2iCMuVMiML2re2z4t8bgW4/xzAUA9by6GfaiE8rtcEYHxqidgQ6aBEUfai7lEQ+vBs2lhVHVUD8yrqwvRzwqxk23GV5Bh4L3P+afU8uiDtfXND/eaDTepfqgFGKejDXyPKF+AnSdJ+5MfF3Y8euktyyhT3RRZW1uopAGfRGTKwisUHKFSxD6ZKllqKLJ/IsYIHVHYfSEh+YTqVEmBE6dxEgj+cNJrFGeMJMZP2l1tvbGrzdWwZiLSr359a35yYmEtNzLPyB3NlGdKiQPa2kL158dLrh2vX+SC4/5m0DemCZ9Geajw384W/U+R6uDVTA5/ypPXaREqcZCJtpkHHlckTW7S+LTCN0xUJpe3/XBcoABkttxwnI7zru+ij4K5Sf45HjAbzDhlh1YitKVTqZI0vtzfKIW7gGCKi8AJ23NQM8WbiWWVLXxk50zLIgUGZk+zcyxtxH1EaWuTEuuZDpZA5gDp0iB4pI10FeWBDKqY4uIpUVb+JgECNulolPZoHXLsYfyFlbR3uWafFnt8JgaUMq8QLoKe FgGTrQ8q PpOdufd3bbEcZ/VyjYN0J+BTbW9zEp7Jeo3nN4riSCxD9HQCST91ePi9zCkI55ZpY3mftG7ISCNLBbwPAlglxzBJIMKgX32kkkgyh8kibqsJZSIiJ2rR7KF9JHYgOmT4HbP3afXdrQvPFqhHx6lsf5bwXObSjt8MTJtfDUNyCj9cnAcwn1ySb9FjaZHEvbFqaFaK6EVTMCQgZlUD+N7uurGXZVwT4u1oZmXB84k4SFQ4ilGGTFAEeZ62YAHqUpGtND/rsQ6rwe7K7APW2QcLUpC54qus8jH70yKy66Y0RpNA9CzodAxOEyIQh5xnmhA78r7XBAUJAYPCCnSgqgA9yBRU35c+1SMg1BlF64yp6exq1AZKD0Ko7vvFihBnt3aBZR8QZrH8mVhKokTEXqR5brab9kKVEh81eHeZQUzmqhcEr5dkMSKSvS1YG1QBD/+5TG5pbPP7na93bpqj7IBU/G/u4UEocEoX3uvhySzYcadfJbSISaryJy3M0+lN3q750c5kSEWLC9s1dsfmO2rWrhkd8zLiNUp0ApKl2kjVdfE8wxma5SlGOE2QS5Oh7nc4sGcpDVyR1Lzp17sXHZHdtOOOxbdyQCLDz7RjFw4EknGsTsvDSZJVP/NapQwWSralEa+M3tSI79J+tFwB4RVge+vJxfjjIVWAe9GddVS7C9ekuRvBpJg3O+EEtatrLQnaSqWCf1AQDpl/oNXaJaxgfVm7kIQlQjP67lyamucDN5bn8JC+LCZe7eznOuGXyHpmvArM2mseoteejEhYHTl8wq9IfBwyIMG5viCfc2ayYQ2RYpaAjA7ywRPe9xLMpSItAsPbFtUdg3/bz0Yho4wGqVD3oNA== 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: List-Subscribe: List-Unsubscribe: On Tue, Apr 01, 2025 at 01:25:51PM +0100, Matthew Wilcox (Oracle) wrote: > We don't need to put "_struct" on the end of the name. It's obviously > a struct. Just look at the word "struct" before the name. The acronym > "vm" tends to mean "virtual machine" rather than "virtual memory" these > days, so use "mm_area" instead of "vm_area". I decided not to rename > the variables (typically "vma") of type "struct mm_area *" as that would > be a fair bit more disruptive. > > Signed-off-by: Matthew Wilcox (Oracle) Hmm, while this is a quick and small patch (which I appreciate by the way, thanks!), I must say I'm not sure why we are missing the opportunity here to bring a little taste into the kernel. Why 'mm_area' when it can be 'mmmmmm_area' [only because of course we can't put a comma there, thanks to the C programming langugaes grr]? Or perhaps... mmmmmm_tasty? Regardless: Rebabkaed-by: Lorenzimil Stoakeska > --- > Generated against next-20250401. > > Documentation/bpf/prog_lsm.rst | 6 +- > Documentation/core-api/cachetlb.rst | 18 +- > Documentation/core-api/dma-api.rst | 4 +- > Documentation/driver-api/uio-howto.rst | 2 +- > Documentation/driver-api/vfio.rst | 2 +- > Documentation/filesystems/locking.rst | 12 +- > Documentation/filesystems/proc.rst | 2 +- > Documentation/filesystems/vfs.rst | 2 +- > Documentation/gpu/drm-mm.rst | 4 +- > Documentation/mm/hmm.rst | 2 +- > Documentation/mm/hugetlbfs_reserv.rst | 12 +- > Documentation/mm/process_addrs.rst | 6 +- > .../translations/zh_CN/core-api/cachetlb.rst | 18 +- > Documentation/translations/zh_CN/mm/hmm.rst | 2 +- > .../zh_CN/mm/hugetlbfs_reserv.rst | 12 +- > .../userspace-api/media/conf_nitpick.py | 2 +- > arch/alpha/include/asm/cacheflush.h | 6 +- > arch/alpha/include/asm/machvec.h | 2 +- > arch/alpha/include/asm/pci.h | 2 +- > arch/alpha/include/asm/pgtable.h | 6 +- > arch/alpha/include/asm/tlbflush.h | 10 +- > arch/alpha/kernel/pci-sysfs.c | 16 +- > arch/alpha/kernel/smp.c | 8 +- > arch/alpha/mm/fault.c | 2 +- > arch/arc/include/asm/hugepage.h | 4 +- > arch/arc/include/asm/page.h | 4 +- > arch/arc/include/asm/pgtable-bits-arcv2.h | 2 +- > arch/arc/include/asm/tlbflush.h | 12 +- > arch/arc/kernel/arc_hostlink.c | 2 +- > arch/arc/kernel/troubleshoot.c | 2 +- > arch/arc/mm/cache.c | 2 +- > arch/arc/mm/fault.c | 2 +- > arch/arc/mm/mmap.c | 2 +- > arch/arc/mm/tlb.c | 20 +- > arch/arm/include/asm/cacheflush.h | 14 +- > arch/arm/include/asm/page.h | 20 +- > arch/arm/include/asm/tlbflush.h | 28 +- > arch/arm/kernel/asm-offsets.c | 4 +- > arch/arm/kernel/process.c | 10 +- > arch/arm/kernel/smp_tlb.c | 6 +- > arch/arm/kernel/vdso.c | 4 +- > arch/arm/mach-rpc/ecard.c | 2 +- > arch/arm/mm/cache-v6.S | 2 +- > arch/arm/mm/cache-v7.S | 2 +- > arch/arm/mm/cache-v7m.S | 2 +- > arch/arm/mm/copypage-fa.c | 2 +- > arch/arm/mm/copypage-feroceon.c | 2 +- > arch/arm/mm/copypage-v4mc.c | 2 +- > arch/arm/mm/copypage-v4wb.c | 2 +- > arch/arm/mm/copypage-v4wt.c | 2 +- > arch/arm/mm/copypage-v6.c | 4 +- > arch/arm/mm/copypage-xsc3.c | 2 +- > arch/arm/mm/copypage-xscale.c | 2 +- > arch/arm/mm/dma-mapping.c | 2 +- > arch/arm/mm/fault-armv.c | 10 +- > arch/arm/mm/fault.c | 2 +- > arch/arm/mm/flush.c | 14 +- > arch/arm/mm/mmap.c | 4 +- > arch/arm/mm/nommu.c | 2 +- > arch/arm/mm/tlb-v6.S | 2 +- > arch/arm/mm/tlb-v7.S | 2 +- > arch/arm/mm/tlb.c | 12 +- > arch/arm/xen/enlighten.c | 2 +- > arch/arm64/include/asm/cacheflush.h | 2 +- > arch/arm64/include/asm/hugetlb.h | 10 +- > arch/arm64/include/asm/mmu_context.h | 2 +- > arch/arm64/include/asm/page.h | 6 +- > arch/arm64/include/asm/pgtable.h | 38 +-- > arch/arm64/include/asm/pkeys.h | 4 +- > arch/arm64/include/asm/tlb.h | 2 +- > arch/arm64/include/asm/tlbflush.h | 8 +- > arch/arm64/kernel/mte.c | 2 +- > arch/arm64/kernel/vdso.c | 4 +- > arch/arm64/kvm/mmu.c | 10 +- > arch/arm64/mm/contpte.c | 10 +- > arch/arm64/mm/copypage.c | 2 +- > arch/arm64/mm/fault.c | 10 +- > arch/arm64/mm/flush.c | 4 +- > arch/arm64/mm/hugetlbpage.c | 14 +- > arch/arm64/mm/mmu.c | 4 +- > arch/csky/abiv1/cacheflush.c | 4 +- > arch/csky/abiv1/inc/abi/cacheflush.h | 4 +- > arch/csky/abiv1/mmap.c | 2 +- > arch/csky/abiv2/cacheflush.c | 2 +- > arch/csky/include/asm/page.h | 2 +- > arch/csky/include/asm/pgtable.h | 2 +- > arch/csky/include/asm/tlbflush.h | 4 +- > arch/csky/kernel/vdso.c | 2 +- > arch/csky/mm/fault.c | 4 +- > arch/csky/mm/tlb.c | 4 +- > arch/hexagon/include/asm/cacheflush.h | 4 +- > arch/hexagon/include/asm/tlbflush.h | 4 +- > arch/hexagon/kernel/vdso.c | 4 +- > arch/hexagon/mm/cache.c | 2 +- > arch/hexagon/mm/vm_fault.c | 2 +- > arch/hexagon/mm/vm_tlb.c | 4 +- > arch/loongarch/include/asm/hugetlb.h | 4 +- > arch/loongarch/include/asm/page.h | 4 +- > arch/loongarch/include/asm/pgtable.h | 8 +- > arch/loongarch/include/asm/tlb.h | 2 +- > arch/loongarch/include/asm/tlbflush.h | 8 +- > arch/loongarch/kernel/smp.c | 6 +- > arch/loongarch/kernel/vdso.c | 4 +- > arch/loongarch/mm/fault.c | 2 +- > arch/loongarch/mm/hugetlbpage.c | 2 +- > arch/loongarch/mm/init.c | 2 +- > arch/loongarch/mm/mmap.c | 2 +- > arch/loongarch/mm/tlb.c | 8 +- > arch/m68k/include/asm/cacheflush_mm.h | 10 +- > arch/m68k/include/asm/pgtable_mm.h | 2 +- > arch/m68k/include/asm/tlbflush.h | 12 +- > arch/m68k/kernel/sys_m68k.c | 2 +- > arch/m68k/mm/cache.c | 2 +- > arch/m68k/mm/fault.c | 2 +- > arch/microblaze/include/asm/cacheflush.h | 2 +- > arch/microblaze/include/asm/pgtable.h | 4 +- > arch/microblaze/include/asm/tlbflush.h | 4 +- > arch/microblaze/mm/fault.c | 2 +- > arch/mips/alchemy/common/setup.c | 2 +- > arch/mips/include/asm/cacheflush.h | 10 +- > arch/mips/include/asm/hugetlb.h | 4 +- > arch/mips/include/asm/page.h | 4 +- > arch/mips/include/asm/pgtable.h | 14 +- > arch/mips/include/asm/tlbflush.h | 8 +- > arch/mips/kernel/smp.c | 6 +- > arch/mips/kernel/vdso.c | 2 +- > arch/mips/mm/c-octeon.c | 6 +- > arch/mips/mm/c-r3k.c | 4 +- > arch/mips/mm/c-r4k.c | 10 +- > arch/mips/mm/cache.c | 4 +- > arch/mips/mm/fault.c | 2 +- > arch/mips/mm/hugetlbpage.c | 2 +- > arch/mips/mm/init.c | 6 +- > arch/mips/mm/mmap.c | 2 +- > arch/mips/mm/tlb-r3k.c | 6 +- > arch/mips/mm/tlb-r4k.c | 8 +- > arch/mips/vdso/genvdso.c | 2 +- > arch/nios2/include/asm/cacheflush.h | 10 +- > arch/nios2/include/asm/pgtable.h | 2 +- > arch/nios2/include/asm/tlbflush.h | 6 +- > arch/nios2/kernel/sys_nios2.c | 2 +- > arch/nios2/mm/cacheflush.c | 14 +- > arch/nios2/mm/fault.c | 2 +- > arch/nios2/mm/init.c | 4 +- > arch/nios2/mm/tlb.c | 4 +- > arch/openrisc/include/asm/pgtable.h | 8 +- > arch/openrisc/include/asm/tlbflush.h | 8 +- > arch/openrisc/kernel/smp.c | 4 +- > arch/openrisc/mm/cache.c | 2 +- > arch/openrisc/mm/fault.c | 2 +- > arch/openrisc/mm/tlb.c | 4 +- > arch/parisc/include/asm/cacheflush.h | 12 +- > arch/parisc/include/asm/hugetlb.h | 4 +- > arch/parisc/include/asm/page.h | 4 +- > arch/parisc/include/asm/pgtable.h | 6 +- > arch/parisc/include/asm/tlbflush.h | 2 +- > arch/parisc/kernel/cache.c | 30 +- > arch/parisc/kernel/sys_parisc.c | 2 +- > arch/parisc/kernel/traps.c | 2 +- > arch/parisc/kernel/vdso.c | 4 +- > arch/parisc/mm/fault.c | 6 +- > arch/parisc/mm/hugetlbpage.c | 4 +- > arch/powerpc/include/asm/book3s/32/pgtable.h | 2 +- > arch/powerpc/include/asm/book3s/32/tlbflush.h | 8 +- > arch/powerpc/include/asm/book3s/64/hash-4k.h | 2 +- > arch/powerpc/include/asm/book3s/64/hash-64k.h | 6 +- > arch/powerpc/include/asm/book3s/64/hugetlb.h | 14 +- > .../include/asm/book3s/64/pgtable-64k.h | 2 +- > arch/powerpc/include/asm/book3s/64/pgtable.h | 30 +- > arch/powerpc/include/asm/book3s/64/radix.h | 6 +- > .../include/asm/book3s/64/tlbflush-radix.h | 14 +- > arch/powerpc/include/asm/book3s/64/tlbflush.h | 14 +- > arch/powerpc/include/asm/cacheflush.h | 2 +- > arch/powerpc/include/asm/hugetlb.h | 6 +- > arch/powerpc/include/asm/mmu_context.h | 4 +- > .../include/asm/nohash/32/hugetlb-8xx.h | 2 +- > arch/powerpc/include/asm/nohash/32/pte-8xx.h | 2 +- > .../powerpc/include/asm/nohash/hugetlb-e500.h | 2 +- > arch/powerpc/include/asm/nohash/pgtable.h | 4 +- > arch/powerpc/include/asm/nohash/tlbflush.h | 10 +- > arch/powerpc/include/asm/page.h | 2 +- > arch/powerpc/include/asm/pci.h | 4 +- > arch/powerpc/include/asm/pgtable.h | 6 +- > arch/powerpc/include/asm/pkeys.h | 6 +- > arch/powerpc/include/asm/vas.h | 2 +- > arch/powerpc/kernel/pci-common.c | 4 +- > arch/powerpc/kernel/proc_powerpc.c | 2 +- > arch/powerpc/kernel/vdso.c | 10 +- > arch/powerpc/kvm/book3s_64_vio.c | 2 +- > arch/powerpc/kvm/book3s_hv.c | 2 +- > arch/powerpc/kvm/book3s_hv_uvmem.c | 16 +- > arch/powerpc/kvm/book3s_xive_native.c | 6 +- > arch/powerpc/mm/book3s32/mmu.c | 2 +- > arch/powerpc/mm/book3s32/tlb.c | 4 +- > arch/powerpc/mm/book3s64/hash_pgtable.c | 2 +- > arch/powerpc/mm/book3s64/hash_utils.c | 2 +- > arch/powerpc/mm/book3s64/hugetlbpage.c | 4 +- > arch/powerpc/mm/book3s64/iommu_api.c | 2 +- > arch/powerpc/mm/book3s64/pgtable.c | 22 +- > arch/powerpc/mm/book3s64/pkeys.c | 6 +- > arch/powerpc/mm/book3s64/radix_hugetlbpage.c | 8 +- > arch/powerpc/mm/book3s64/radix_pgtable.c | 6 +- > arch/powerpc/mm/book3s64/radix_tlb.c | 10 +- > arch/powerpc/mm/book3s64/slice.c | 4 +- > arch/powerpc/mm/book3s64/subpage_prot.c | 4 +- > arch/powerpc/mm/cacheflush.c | 2 +- > arch/powerpc/mm/copro_fault.c | 2 +- > arch/powerpc/mm/fault.c | 12 +- > arch/powerpc/mm/hugetlbpage.c | 2 +- > arch/powerpc/mm/nohash/e500_hugetlbpage.c | 6 +- > arch/powerpc/mm/nohash/tlb.c | 6 +- > arch/powerpc/mm/pgtable.c | 6 +- > arch/powerpc/platforms/book3s/vas-api.c | 6 +- > arch/powerpc/platforms/cell/spufs/file.c | 18 +- > arch/powerpc/platforms/powernv/memtrace.c | 2 +- > arch/powerpc/platforms/powernv/opal-prd.c | 2 +- > arch/powerpc/platforms/pseries/vas.c | 2 +- > arch/riscv/include/asm/hugetlb.h | 4 +- > arch/riscv/include/asm/pgtable.h | 18 +- > arch/riscv/include/asm/tlbflush.h | 6 +- > arch/riscv/kernel/vdso.c | 2 +- > arch/riscv/kvm/mmu.c | 4 +- > arch/riscv/mm/fault.c | 4 +- > arch/riscv/mm/hugetlbpage.c | 10 +- > arch/riscv/mm/pgtable.c | 6 +- > arch/riscv/mm/tlbflush.c | 6 +- > arch/s390/include/asm/hugetlb.h | 4 +- > arch/s390/include/asm/pgtable.h | 28 +- > arch/s390/include/asm/tlbflush.h | 2 +- > arch/s390/kernel/crash_dump.c | 6 +- > arch/s390/kernel/uv.c | 2 +- > arch/s390/kernel/vdso.c | 4 +- > arch/s390/mm/fault.c | 4 +- > arch/s390/mm/gmap.c | 10 +- > arch/s390/mm/hugetlbpage.c | 2 +- > arch/s390/mm/mmap.c | 4 +- > arch/s390/mm/pgtable.c | 12 +- > arch/s390/pci/pci_mmio.c | 4 +- > arch/sh/include/asm/cacheflush.h | 14 +- > arch/sh/include/asm/hugetlb.h | 2 +- > arch/sh/include/asm/page.h | 4 +- > arch/sh/include/asm/pgtable.h | 8 +- > arch/sh/include/asm/tlb.h | 4 +- > arch/sh/include/asm/tlbflush.h | 8 +- > arch/sh/kernel/smp.c | 6 +- > arch/sh/kernel/sys_sh.c | 2 +- > arch/sh/kernel/vsyscall/vsyscall.c | 4 +- > arch/sh/mm/cache-sh4.c | 4 +- > arch/sh/mm/cache.c | 14 +- > arch/sh/mm/fault.c | 4 +- > arch/sh/mm/hugetlbpage.c | 2 +- > arch/sh/mm/mmap.c | 4 +- > arch/sh/mm/nommu.c | 6 +- > arch/sh/mm/tlb-pteaex.c | 2 +- > arch/sh/mm/tlb-sh3.c | 2 +- > arch/sh/mm/tlb-sh4.c | 2 +- > arch/sh/mm/tlb-urb.c | 2 +- > arch/sh/mm/tlbflush_32.c | 4 +- > arch/sparc/include/asm/cacheflush_64.h | 2 +- > arch/sparc/include/asm/cachetlb_32.h | 10 +- > arch/sparc/include/asm/hugetlb.h | 4 +- > arch/sparc/include/asm/leon.h | 4 +- > arch/sparc/include/asm/page_64.h | 4 +- > arch/sparc/include/asm/pgtable_32.h | 6 +- > arch/sparc/include/asm/pgtable_64.h | 20 +- > arch/sparc/include/asm/tlbflush_64.h | 4 +- > arch/sparc/kernel/adi_64.c | 8 +- > arch/sparc/kernel/asm-offsets.c | 2 +- > arch/sparc/kernel/pci.c | 2 +- > arch/sparc/kernel/ptrace_64.c | 2 +- > arch/sparc/kernel/sys_sparc_64.c | 4 +- > arch/sparc/mm/fault_32.c | 4 +- > arch/sparc/mm/fault_64.c | 2 +- > arch/sparc/mm/hugetlbpage.c | 2 +- > arch/sparc/mm/init_64.c | 6 +- > arch/sparc/mm/leon_mm.c | 10 +- > arch/sparc/mm/srmmu.c | 54 +-- > arch/sparc/mm/tlb.c | 4 +- > arch/sparc/vdso/vma.c | 2 +- > arch/um/drivers/mmapper_kern.c | 2 +- > arch/um/include/asm/tlbflush.h | 4 +- > arch/um/kernel/tlb.c | 2 +- > arch/um/kernel/trap.c | 2 +- > arch/x86/entry/vdso/vma.c | 12 +- > arch/x86/entry/vsyscall/vsyscall_64.c | 8 +- > arch/x86/include/asm/mmu_context.h | 2 +- > arch/x86/include/asm/paravirt.h | 4 +- > arch/x86/include/asm/paravirt_types.h | 6 +- > arch/x86/include/asm/pgtable-3level.h | 2 +- > arch/x86/include/asm/pgtable.h | 46 +-- > arch/x86/include/asm/pgtable_32.h | 2 +- > arch/x86/include/asm/pkeys.h | 6 +- > arch/x86/include/asm/tlbflush.h | 2 +- > arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 4 +- > arch/x86/kernel/cpu/sgx/driver.c | 2 +- > arch/x86/kernel/cpu/sgx/encl.c | 14 +- > arch/x86/kernel/cpu/sgx/encl.h | 4 +- > arch/x86/kernel/cpu/sgx/ioctl.c | 2 +- > arch/x86/kernel/cpu/sgx/virt.c | 6 +- > arch/x86/kernel/shstk.c | 2 +- > arch/x86/kernel/sys_x86_64.c | 4 +- > arch/x86/mm/fault.c | 10 +- > arch/x86/mm/pat/memtype.c | 18 +- > arch/x86/mm/pgtable.c | 30 +- > arch/x86/mm/pkeys.c | 4 +- > arch/x86/um/mem_32.c | 6 +- > arch/x86/um/mem_64.c | 2 +- > arch/x86/um/vdso/vma.c | 2 +- > arch/x86/xen/mmu.c | 2 +- > arch/x86/xen/mmu_pv.c | 6 +- > arch/xtensa/include/asm/cacheflush.h | 12 +- > arch/xtensa/include/asm/page.h | 4 +- > arch/xtensa/include/asm/pgtable.h | 8 +- > arch/xtensa/include/asm/tlbflush.h | 8 +- > arch/xtensa/kernel/pci.c | 2 +- > arch/xtensa/kernel/smp.c | 10 +- > arch/xtensa/kernel/syscall.c | 2 +- > arch/xtensa/mm/cache.c | 12 +- > arch/xtensa/mm/fault.c | 2 +- > arch/xtensa/mm/tlb.c | 6 +- > block/fops.c | 2 +- > drivers/accel/amdxdna/amdxdna_gem.c | 6 +- > .../accel/habanalabs/common/command_buffer.c | 2 +- > drivers/accel/habanalabs/common/device.c | 6 +- > drivers/accel/habanalabs/common/habanalabs.h | 14 +- > drivers/accel/habanalabs/common/memory.c | 8 +- > drivers/accel/habanalabs/common/memory_mgr.c | 4 +- > drivers/accel/habanalabs/gaudi/gaudi.c | 4 +- > drivers/accel/habanalabs/gaudi2/gaudi2.c | 4 +- > drivers/accel/habanalabs/goya/goya.c | 4 +- > drivers/accel/qaic/qaic_data.c | 2 +- > drivers/acpi/pfr_telemetry.c | 2 +- > drivers/android/binder.c | 6 +- > drivers/android/binder_alloc.c | 6 +- > drivers/android/binder_alloc.h | 2 +- > drivers/auxdisplay/cfag12864bfb.c | 2 +- > drivers/auxdisplay/ht16k33.c | 2 +- > drivers/block/ublk_drv.c | 2 +- > drivers/cdx/cdx.c | 4 +- > drivers/char/bsr.c | 2 +- > drivers/char/hpet.c | 4 +- > drivers/char/mem.c | 8 +- > drivers/char/uv_mmtimer.c | 4 +- > drivers/comedi/comedi_fops.c | 8 +- > drivers/crypto/hisilicon/qm.c | 2 +- > drivers/dax/device.c | 8 +- > drivers/dma-buf/dma-buf.c | 6 +- > drivers/dma-buf/heaps/cma_heap.c | 4 +- > drivers/dma-buf/heaps/system_heap.c | 2 +- > drivers/dma-buf/udmabuf.c | 4 +- > drivers/dma/idxd/cdev.c | 4 +- > drivers/firewire/core-cdev.c | 2 +- > drivers/fpga/dfl-afu-main.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +- > drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 6 +- > drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c | 2 +- > drivers/gpu/drm/amd/amdkfd/kfd_events.c | 2 +- > drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 12 +- > drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 8 +- > drivers/gpu/drm/amd/amdkfd/kfd_process.c | 2 +- > drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 10 +- > drivers/gpu/drm/armada/armada_gem.c | 2 +- > drivers/gpu/drm/drm_fbdev_dma.c | 2 +- > drivers/gpu/drm/drm_fbdev_shmem.c | 2 +- > drivers/gpu/drm/drm_gem.c | 8 +- > drivers/gpu/drm/drm_gem_dma_helper.c | 2 +- > drivers/gpu/drm/drm_gem_shmem_helper.c | 8 +- > drivers/gpu/drm/drm_gem_ttm_helper.c | 2 +- > drivers/gpu/drm/drm_gpusvm.c | 10 +- > drivers/gpu/drm/drm_prime.c | 4 +- > drivers/gpu/drm/etnaviv/etnaviv_gem.c | 8 +- > drivers/gpu/drm/etnaviv/etnaviv_gem.h | 2 +- > drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c | 2 +- > drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 2 +- > drivers/gpu/drm/exynos/exynos_drm_gem.c | 6 +- > drivers/gpu/drm/gma500/fbdev.c | 4 +- > drivers/gpu/drm/gma500/gem.c | 2 +- > drivers/gpu/drm/i915/display/intel_bo.c | 2 +- > drivers/gpu/drm/i915/display/intel_bo.h | 4 +- > drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +- > drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 2 +- > drivers/gpu/drm/i915/gem/i915_gem_mman.c | 22 +- > drivers/gpu/drm/i915/gem/i915_gem_mman.h | 4 +- > drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 8 +- > drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 2 +- > .../drm/i915/gem/selftests/i915_gem_mman.c | 8 +- > .../gpu/drm/i915/gem/selftests/mock_dmabuf.c | 2 +- > drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +- > drivers/gpu/drm/i915/i915_mm.c | 4 +- > drivers/gpu/drm/i915/i915_mm.h | 8 +- > drivers/gpu/drm/imagination/pvr_gem.c | 2 +- > drivers/gpu/drm/lima/lima_gem.c | 2 +- > drivers/gpu/drm/lima/lima_gem.h | 2 +- > drivers/gpu/drm/loongson/lsdc_gem.c | 2 +- > drivers/gpu/drm/mediatek/mtk_gem.c | 4 +- > drivers/gpu/drm/msm/msm_fbdev.c | 2 +- > drivers/gpu/drm/msm/msm_gem.c | 4 +- > drivers/gpu/drm/nouveau/nouveau_dmem.c | 2 +- > drivers/gpu/drm/nouveau/nouveau_dmem.h | 2 +- > drivers/gpu/drm/nouveau/nouveau_gem.c | 2 +- > drivers/gpu/drm/nouveau/nouveau_svm.c | 2 +- > drivers/gpu/drm/omapdrm/omap_fbdev.c | 2 +- > drivers/gpu/drm/omapdrm/omap_gem.c | 8 +- > drivers/gpu/drm/omapdrm/omap_gem.h | 2 +- > drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 2 +- > drivers/gpu/drm/panthor/panthor_device.c | 4 +- > drivers/gpu/drm/panthor/panthor_device.h | 2 +- > drivers/gpu/drm/panthor/panthor_drv.c | 2 +- > drivers/gpu/drm/panthor/panthor_gem.c | 2 +- > drivers/gpu/drm/radeon/radeon_gem.c | 2 +- > drivers/gpu/drm/radeon/radeon_ttm.c | 2 +- > drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 6 +- > drivers/gpu/drm/tegra/fbdev.c | 2 +- > drivers/gpu/drm/tegra/gem.c | 8 +- > drivers/gpu/drm/tegra/gem.h | 4 +- > drivers/gpu/drm/ttm/ttm_bo_vm.c | 14 +- > drivers/gpu/drm/vc4/vc4_bo.c | 4 +- > drivers/gpu/drm/virtio/virtgpu_vram.c | 2 +- > drivers/gpu/drm/vmwgfx/vmwgfx_gem.c | 2 +- > drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c | 4 +- > drivers/gpu/drm/xe/display/intel_bo.c | 2 +- > drivers/gpu/drm/xe/xe_bo.c | 2 +- > drivers/gpu/drm/xe/xe_device.c | 10 +- > drivers/gpu/drm/xe/xe_oa.c | 2 +- > drivers/gpu/drm/xen/xen_drm_front_gem.c | 2 +- > drivers/hsi/clients/cmt_speech.c | 2 +- > drivers/hv/mshv_root_main.c | 6 +- > drivers/hwtracing/intel_th/msu.c | 6 +- > drivers/hwtracing/stm/core.c | 6 +- > drivers/infiniband/core/core_priv.h | 4 +- > drivers/infiniband/core/ib_core_uverbs.c | 6 +- > drivers/infiniband/core/uverbs_main.c | 8 +- > drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 +- > drivers/infiniband/hw/bnxt_re/ib_verbs.h | 2 +- > drivers/infiniband/hw/cxgb4/provider.c | 2 +- > drivers/infiniband/hw/efa/efa.h | 2 +- > drivers/infiniband/hw/efa/efa_verbs.c | 4 +- > drivers/infiniband/hw/erdma/erdma_verbs.c | 2 +- > drivers/infiniband/hw/erdma/erdma_verbs.h | 2 +- > drivers/infiniband/hw/hfi1/file_ops.c | 6 +- > drivers/infiniband/hw/hns/hns_roce_main.c | 2 +- > drivers/infiniband/hw/irdma/verbs.c | 4 +- > drivers/infiniband/hw/mana/main.c | 2 +- > drivers/infiniband/hw/mana/mana_ib.h | 2 +- > drivers/infiniband/hw/mlx4/main.c | 2 +- > drivers/infiniband/hw/mlx4/mr.c | 2 +- > drivers/infiniband/hw/mlx5/main.c | 10 +- > drivers/infiniband/hw/mthca/mthca_provider.c | 2 +- > drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +- > drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 2 +- > drivers/infiniband/hw/qedr/verbs.c | 2 +- > drivers/infiniband/hw/qedr/verbs.h | 2 +- > drivers/infiniband/hw/qib/qib_file_ops.c | 14 +- > drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 2 +- > drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 2 +- > .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 2 +- > .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +- > drivers/infiniband/sw/rdmavt/mmap.c | 6 +- > drivers/infiniband/sw/rdmavt/mmap.h | 2 +- > drivers/infiniband/sw/rxe/rxe_loc.h | 2 +- > drivers/infiniband/sw/rxe/rxe_mmap.c | 6 +- > drivers/infiniband/sw/siw/siw_verbs.c | 2 +- > drivers/infiniband/sw/siw/siw_verbs.h | 2 +- > drivers/iommu/dma-iommu.c | 4 +- > drivers/iommu/iommu-sva.c | 2 +- > .../media/common/videobuf2/videobuf2-core.c | 2 +- > .../common/videobuf2/videobuf2-dma-contig.c | 4 +- > .../media/common/videobuf2/videobuf2-dma-sg.c | 4 +- > .../media/common/videobuf2/videobuf2-memops.c | 4 +- > .../media/common/videobuf2/videobuf2-v4l2.c | 2 +- > .../common/videobuf2/videobuf2-vmalloc.c | 4 +- > drivers/media/dvb-core/dmxdev.c | 4 +- > drivers/media/dvb-core/dvb_vb2.c | 2 +- > drivers/media/pci/cx18/cx18-fileops.h | 2 +- > drivers/media/pci/intel/ipu6/ipu6-dma.c | 2 +- > drivers/media/pci/intel/ipu6/ipu6-dma.h | 2 +- > .../platform/samsung/exynos-gsc/gsc-m2m.c | 2 +- > .../samsung/s3c-camif/camif-capture.c | 2 +- > .../media/platform/samsung/s5p-mfc/s5p_mfc.c | 2 +- > drivers/media/platform/ti/omap3isp/ispvideo.c | 2 +- > drivers/media/usb/uvc/uvc_queue.c | 2 +- > drivers/media/usb/uvc/uvc_v4l2.c | 2 +- > drivers/media/usb/uvc/uvcvideo.h | 2 +- > drivers/media/v4l2-core/v4l2-dev.c | 2 +- > drivers/media/v4l2-core/v4l2-mem2mem.c | 4 +- > drivers/misc/bcm-vk/bcm_vk_dev.c | 2 +- > drivers/misc/fastrpc.c | 4 +- > drivers/misc/genwqe/card_dev.c | 6 +- > drivers/misc/ocxl/context.c | 12 +- > drivers/misc/ocxl/file.c | 2 +- > drivers/misc/ocxl/ocxl_internal.h | 2 +- > drivers/misc/ocxl/sysfs.c | 4 +- > drivers/misc/open-dice.c | 2 +- > drivers/misc/sgi-gru/grufault.c | 14 +- > drivers/misc/sgi-gru/grufile.c | 6 +- > drivers/misc/sgi-gru/grumain.c | 10 +- > drivers/misc/sgi-gru/grutables.h | 12 +- > drivers/misc/uacce/uacce.c | 4 +- > drivers/mtd/mtdchar.c | 2 +- > drivers/pci/mmap.c | 4 +- > drivers/pci/p2pdma.c | 2 +- > drivers/pci/pci-sysfs.c | 16 +- > drivers/pci/pci.h | 2 +- > drivers/pci/proc.c | 2 +- > drivers/platform/x86/intel/pmt/class.c | 2 +- > drivers/ptp/ptp_vmclock.c | 2 +- > drivers/rapidio/devices/rio_mport_cdev.c | 6 +- > drivers/sbus/char/flash.c | 2 +- > drivers/sbus/char/oradax.c | 4 +- > drivers/scsi/sg.c | 4 +- > drivers/soc/aspeed/aspeed-lpc-ctrl.c | 2 +- > drivers/soc/aspeed/aspeed-p2a-ctrl.c | 2 +- > drivers/soc/qcom/rmtfs_mem.c | 2 +- > .../staging/media/atomisp/include/hmm/hmm.h | 2 +- > .../media/atomisp/include/hmm/hmm_bo.h | 2 +- > drivers/staging/media/atomisp/pci/hmm/hmm.c | 2 +- > .../staging/media/atomisp/pci/hmm/hmm_bo.c | 6 +- > drivers/staging/vme_user/vme.c | 2 +- > drivers/staging/vme_user/vme.h | 2 +- > drivers/staging/vme_user/vme_user.c | 8 +- > drivers/target/target_core_user.c | 8 +- > drivers/tee/optee/call.c | 2 +- > drivers/tee/tee_shm.c | 2 +- > drivers/uio/uio.c | 10 +- > drivers/uio/uio_hv_generic.c | 2 +- > drivers/usb/core/devio.c | 6 +- > drivers/usb/gadget/function/uvc_queue.c | 2 +- > drivers/usb/gadget/function/uvc_queue.h | 2 +- > drivers/usb/gadget/function/uvc_v4l2.c | 2 +- > drivers/usb/mon/mon_bin.c | 6 +- > drivers/vdpa/vdpa_user/iova_domain.c | 2 +- > drivers/vfio/cdx/main.c | 4 +- > drivers/vfio/fsl-mc/vfio_fsl_mc.c | 4 +- > .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c | 2 +- > drivers/vfio/pci/nvgrace-gpu/main.c | 2 +- > drivers/vfio/pci/vfio_pci_core.c | 6 +- > drivers/vfio/platform/vfio_platform_common.c | 4 +- > drivers/vfio/platform/vfio_platform_private.h | 2 +- > drivers/vfio/vfio_iommu_type1.c | 4 +- > drivers/vfio/vfio_main.c | 2 +- > drivers/vhost/vdpa.c | 6 +- > drivers/video/fbdev/68328fb.c | 4 +- > drivers/video/fbdev/atafb.c | 2 +- > drivers/video/fbdev/aty/atyfb_base.c | 4 +- > drivers/video/fbdev/au1100fb.c | 2 +- > drivers/video/fbdev/au1200fb.c | 2 +- > drivers/video/fbdev/bw2.c | 4 +- > drivers/video/fbdev/cg14.c | 4 +- > drivers/video/fbdev/cg3.c | 4 +- > drivers/video/fbdev/cg6.c | 4 +- > drivers/video/fbdev/controlfb.c | 2 +- > drivers/video/fbdev/core/fb_chrdev.c | 2 +- > drivers/video/fbdev/core/fb_defio.c | 2 +- > drivers/video/fbdev/core/fb_io_fops.c | 2 +- > drivers/video/fbdev/ep93xx-fb.c | 2 +- > drivers/video/fbdev/ffb.c | 4 +- > drivers/video/fbdev/gbefb.c | 2 +- > drivers/video/fbdev/leo.c | 4 +- > drivers/video/fbdev/omap/omapfb.h | 2 +- > drivers/video/fbdev/omap/omapfb_main.c | 2 +- > .../video/fbdev/omap2/omapfb/omapfb-main.c | 6 +- > drivers/video/fbdev/p9100.c | 4 +- > drivers/video/fbdev/ps3fb.c | 2 +- > drivers/video/fbdev/pxa3xx-gcu.c | 2 +- > drivers/video/fbdev/sa1100fb.c | 2 +- > drivers/video/fbdev/sbuslib.c | 2 +- > drivers/video/fbdev/sbuslib.h | 4 +- > drivers/video/fbdev/sh_mobile_lcdcfb.c | 4 +- > drivers/video/fbdev/smscufx.c | 2 +- > drivers/video/fbdev/tcx.c | 4 +- > drivers/video/fbdev/udlfb.c | 2 +- > drivers/video/fbdev/vfb.c | 4 +- > drivers/virt/acrn/mm.c | 2 +- > drivers/xen/gntalloc.c | 6 +- > drivers/xen/gntdev.c | 10 +- > drivers/xen/privcmd-buf.c | 6 +- > drivers/xen/privcmd.c | 26 +- > drivers/xen/xenbus/xenbus_dev_backend.c | 2 +- > drivers/xen/xenfs/xenstored.c | 2 +- > drivers/xen/xlate_mmu.c | 8 +- > fs/9p/vfs_file.c | 4 +- > fs/afs/file.c | 12 +- > fs/aio.c | 4 +- > fs/backing-file.c | 2 +- > fs/bcachefs/fs.c | 2 +- > fs/binfmt_elf.c | 2 +- > fs/btrfs/file.c | 2 +- > fs/buffer.c | 2 +- > fs/ceph/addr.c | 6 +- > fs/ceph/super.h | 2 +- > fs/coda/file.c | 6 +- > fs/coredump.c | 12 +- > fs/cramfs/inode.c | 4 +- > fs/dax.c | 8 +- > fs/ecryptfs/file.c | 2 +- > fs/erofs/data.c | 2 +- > fs/exec.c | 12 +- > fs/exfat/file.c | 4 +- > fs/ext2/file.c | 2 +- > fs/ext4/file.c | 2 +- > fs/ext4/inode.c | 2 +- > fs/f2fs/file.c | 2 +- > fs/fuse/dax.c | 2 +- > fs/fuse/file.c | 4 +- > fs/fuse/fuse_i.h | 4 +- > fs/fuse/passthrough.c | 2 +- > fs/gfs2/file.c | 2 +- > fs/hugetlbfs/inode.c | 14 +- > fs/kernfs/file.c | 6 +- > fs/nfs/file.c | 2 +- > fs/nfs/internal.h | 2 +- > fs/nilfs2/file.c | 4 +- > fs/ntfs3/file.c | 2 +- > fs/ocfs2/mmap.c | 4 +- > fs/ocfs2/mmap.h | 2 +- > fs/orangefs/file.c | 2 +- > fs/overlayfs/file.c | 2 +- > fs/proc/base.c | 6 +- > fs/proc/inode.c | 4 +- > fs/proc/task_mmu.c | 88 ++--- > fs/proc/task_nommu.c | 12 +- > fs/proc/vmcore.c | 14 +- > fs/ramfs/file-nommu.c | 4 +- > fs/romfs/mmap-nommu.c | 2 +- > fs/smb/client/cifsfs.h | 4 +- > fs/smb/client/file.c | 4 +- > fs/sysfs/file.c | 2 +- > fs/ubifs/file.c | 2 +- > fs/udf/file.c | 4 +- > fs/userfaultfd.c | 20 +- > fs/vboxsf/file.c | 4 +- > fs/xfs/xfs_file.c | 2 +- > fs/zonefs/file.c | 2 +- > include/asm-generic/cacheflush.h | 8 +- > include/asm-generic/hugetlb.h | 4 +- > include/asm-generic/mm_hooks.h | 2 +- > include/asm-generic/tlb.h | 12 +- > include/drm/drm_gem.h | 10 +- > include/drm/drm_gem_dma_helper.h | 4 +- > include/drm/drm_gem_shmem_helper.h | 4 +- > include/drm/drm_gem_ttm_helper.h | 2 +- > include/drm/drm_gem_vram_helper.h | 2 +- > include/drm/drm_prime.h | 4 +- > include/drm/ttm/ttm_bo.h | 8 +- > include/linux/backing-file.h | 2 +- > include/linux/binfmts.h | 2 +- > include/linux/bpf.h | 2 +- > include/linux/btf_ids.h | 2 +- > include/linux/buffer_head.h | 2 +- > include/linux/buildid.h | 6 +- > include/linux/cacheflush.h | 2 +- > include/linux/configfs.h | 2 +- > include/linux/crash_dump.h | 2 +- > include/linux/dax.h | 4 +- > include/linux/dma-buf.h | 4 +- > include/linux/dma-map-ops.h | 10 +- > include/linux/dma-mapping.h | 12 +- > include/linux/fb.h | 8 +- > include/linux/fs.h | 14 +- > include/linux/gfp.h | 8 +- > include/linux/highmem.h | 10 +- > include/linux/huge_mm.h | 92 +++--- > include/linux/hugetlb.h | 132 ++++---- > include/linux/hugetlb_inline.h | 4 +- > include/linux/io-mapping.h | 2 +- > include/linux/iomap.h | 2 +- > include/linux/iommu-dma.h | 4 +- > include/linux/kernfs.h | 4 +- > include/linux/khugepaged.h | 4 +- > include/linux/ksm.h | 12 +- > include/linux/kvm_host.h | 2 +- > include/linux/lsm_hook_defs.h | 2 +- > include/linux/mempolicy.h | 20 +- > include/linux/migrate.h | 6 +- > include/linux/mm.h | 308 +++++++++--------- > include/linux/mm_inline.h | 18 +- > include/linux/mm_types.h | 14 +- > include/linux/mmdebug.h | 4 +- > include/linux/mmu_notifier.h | 8 +- > include/linux/net.h | 4 +- > include/linux/pagemap.h | 2 +- > include/linux/pagewalk.h | 10 +- > include/linux/pci.h | 4 +- > include/linux/perf_event.h | 4 +- > include/linux/pgtable.h | 100 +++--- > include/linux/pkeys.h | 2 +- > include/linux/proc_fs.h | 2 +- > include/linux/ring_buffer.h | 2 +- > include/linux/rmap.h | 92 +++--- > include/linux/secretmem.h | 4 +- > include/linux/security.h | 4 +- > include/linux/shmem_fs.h | 12 +- > include/linux/swap.h | 2 +- > include/linux/swapops.h | 4 +- > include/linux/sysfs.h | 4 +- > include/linux/time_namespace.h | 6 +- > include/linux/uacce.h | 2 +- > include/linux/uio_driver.h | 2 +- > include/linux/uprobes.h | 10 +- > include/linux/userfaultfd_k.h | 86 ++--- > include/linux/vdso_datastore.h | 2 +- > include/linux/vfio.h | 2 +- > include/linux/vfio_pci_core.h | 4 +- > include/linux/vmalloc.h | 6 +- > include/media/dvb_vb2.h | 4 +- > include/media/v4l2-dev.h | 2 +- > include/media/v4l2-mem2mem.h | 6 +- > include/media/videobuf2-core.h | 6 +- > include/media/videobuf2-v4l2.h | 2 +- > include/net/sock.h | 2 +- > include/net/tcp.h | 2 +- > include/rdma/ib_verbs.h | 6 +- > include/rdma/rdma_vt.h | 2 +- > include/sound/compress_driver.h | 2 +- > include/sound/hwdep.h | 2 +- > include/sound/info.h | 2 +- > include/sound/memalloc.h | 4 +- > include/sound/pcm.h | 8 +- > include/sound/soc-component.h | 6 +- > include/trace/events/mmap.h | 4 +- > include/trace/events/sched.h | 2 +- > include/uapi/linux/bpf.h | 2 +- > include/xen/xen-ops.h | 24 +- > io_uring/memmap.c | 6 +- > io_uring/memmap.h | 2 +- > ipc/shm.c | 22 +- > kernel/acct.c | 2 +- > kernel/bpf/arena.c | 10 +- > kernel/bpf/arraymap.c | 2 +- > kernel/bpf/ringbuf.c | 4 +- > kernel/bpf/stackmap.c | 4 +- > kernel/bpf/syscall.c | 6 +- > kernel/bpf/task_iter.c | 16 +- > kernel/bpf/verifier.c | 2 +- > kernel/dma/coherent.c | 6 +- > kernel/dma/direct.c | 2 +- > kernel/dma/direct.h | 2 +- > kernel/dma/dummy.c | 2 +- > kernel/dma/mapping.c | 8 +- > kernel/dma/ops_helpers.c | 2 +- > kernel/events/core.c | 24 +- > kernel/events/uprobes.c | 48 +-- > kernel/fork.c | 26 +- > kernel/kcov.c | 2 +- > kernel/relay.c | 6 +- > kernel/sched/fair.c | 4 +- > kernel/signal.c | 2 +- > kernel/sys.c | 2 +- > kernel/time/namespace.c | 2 +- > kernel/trace/ring_buffer.c | 6 +- > kernel/trace/trace.c | 4 +- > kernel/trace/trace_output.c | 2 +- > lib/buildid.c | 6 +- > lib/test_hmm.c | 6 +- > lib/vdso/datastore.c | 6 +- > mm/damon/ops-common.c | 4 +- > mm/damon/ops-common.h | 4 +- > mm/damon/paddr.c | 4 +- > mm/damon/tests/vaddr-kunit.h | 16 +- > mm/damon/vaddr.c | 4 +- > mm/debug.c | 2 +- > mm/debug_vm_pgtable.c | 2 +- > mm/filemap.c | 12 +- > mm/gup.c | 56 ++-- > mm/hmm.c | 6 +- > mm/huge_memory.c | 104 +++--- > mm/hugetlb.c | 158 ++++----- > mm/internal.h | 46 +-- > mm/interval_tree.c | 16 +- > mm/io-mapping.c | 2 +- > mm/khugepaged.c | 34 +- > mm/ksm.c | 48 +-- > mm/madvise.c | 78 ++--- > mm/memory-failure.c | 16 +- > mm/memory.c | 244 +++++++------- > mm/mempolicy.c | 42 +-- > mm/migrate.c | 10 +- > mm/migrate_device.c | 4 +- > mm/mincore.c | 8 +- > mm/mlock.c | 16 +- > mm/mmap.c | 70 ++-- > mm/mmu_gather.c | 4 +- > mm/mprotect.c | 22 +- > mm/mremap.c | 46 +-- > mm/mseal.c | 14 +- > mm/msync.c | 2 +- > mm/nommu.c | 66 ++-- > mm/oom_kill.c | 2 +- > mm/page_idle.c | 2 +- > mm/page_vma_mapped.c | 4 +- > mm/pagewalk.c | 20 +- > mm/pgtable-generic.c | 20 +- > mm/rmap.c | 74 ++--- > mm/secretmem.c | 4 +- > mm/shmem.c | 34 +- > mm/swap.c | 2 +- > mm/swap.h | 6 +- > mm/swap_state.c | 6 +- > mm/swapfile.c | 14 +- > mm/userfaultfd.c | 116 +++---- > mm/util.c | 4 +- > mm/vma.c | 196 +++++------ > mm/vma.h | 126 +++---- > mm/vmalloc.c | 4 +- > mm/vmscan.c | 12 +- > net/core/sock.c | 2 +- > net/ipv4/tcp.c | 12 +- > net/packet/af_packet.c | 6 +- > net/socket.c | 4 +- > net/xdp/xsk.c | 2 +- > samples/ftrace/ftrace-direct-too.c | 4 +- > samples/vfio-mdev/mbochs.c | 8 +- > samples/vfio-mdev/mdpy.c | 2 +- > scripts/coccinelle/api/vma_pages.cocci | 6 +- > security/apparmor/lsm.c | 2 +- > security/integrity/ima/ima_main.c | 4 +- > security/ipe/hooks.c | 2 +- > security/ipe/hooks.h | 2 +- > security/security.c | 2 +- > security/selinux/hooks.c | 2 +- > security/selinux/selinuxfs.c | 4 +- > sound/core/compress_offload.c | 2 +- > sound/core/hwdep.c | 2 +- > sound/core/info.c | 2 +- > sound/core/init.c | 2 +- > sound/core/memalloc.c | 22 +- > sound/core/oss/pcm_oss.c | 2 +- > sound/core/pcm_native.c | 20 +- > sound/soc/fsl/fsl_asrc_m2m.c | 2 +- > sound/soc/intel/avs/pcm.c | 2 +- > sound/soc/loongson/loongson_dma.c | 2 +- > sound/soc/pxa/mmp-sspa.c | 2 +- > sound/soc/qcom/lpass-platform.c | 4 +- > sound/soc/qcom/qdsp6/q6apm-dai.c | 2 +- > sound/soc/qcom/qdsp6/q6asm-dai.c | 2 +- > sound/soc/samsung/idma.c | 2 +- > sound/soc/soc-component.c | 2 +- > sound/soc/uniphier/aio-dma.c | 2 +- > sound/usb/usx2y/us122l.c | 2 +- > sound/usb/usx2y/usX2Yhwdep.c | 2 +- > sound/usb/usx2y/usx2yhwdeppcm.c | 6 +- > tools/include/linux/btf_ids.h | 2 +- > tools/include/uapi/linux/bpf.h | 2 +- > .../testing/selftests/bpf/bpf_experimental.h | 2 +- > .../selftests/bpf/progs/bpf_iter_task_vmas.c | 2 +- > .../selftests/bpf/progs/bpf_iter_vma_offset.c | 2 +- > tools/testing/selftests/bpf/progs/find_vma.c | 2 +- > .../selftests/bpf/progs/find_vma_fail1.c | 2 +- > .../selftests/bpf/progs/find_vma_fail2.c | 2 +- > .../selftests/bpf/progs/iters_css_task.c | 2 +- > .../selftests/bpf/progs/iters_task_vma.c | 2 +- > .../selftests/bpf/progs/iters_testmod.c | 4 +- > tools/testing/selftests/bpf/progs/lsm.c | 2 +- > .../selftests/bpf/progs/test_bpf_cookie.c | 2 +- > .../bpf/progs/verifier_iterating_callbacks.c | 4 +- > .../selftests/bpf/test_kmods/bpf_testmod.c | 2 +- > .../bpf/test_kmods/bpf_testmod_kfunc.h | 2 +- > tools/testing/vma/vma.c | 70 ++-- > tools/testing/vma/vma_internal.h | 156 ++++----- > virt/kvm/kvm_main.c | 12 +- > 861 files changed, 3494 insertions(+), 3494 deletions(-) > > diff --git a/Documentation/bpf/prog_lsm.rst b/Documentation/bpf/prog_lsm.rst > index ad2be02f30c2..f2b254b5a6ce 100644 > --- a/Documentation/bpf/prog_lsm.rst > +++ b/Documentation/bpf/prog_lsm.rst > @@ -15,7 +15,7 @@ Structure > The example shows an eBPF program that can be attached to the ``file_mprotect`` > LSM hook: > > -.. c:function:: int file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, unsigned long prot); > +.. c:function:: int file_mprotect(struct mm_area *vma, unsigned long reqprot, unsigned long prot); > > Other LSM hooks which can be instrumented can be found in > ``security/security.c``. > @@ -31,7 +31,7 @@ the fields that need to be accessed. > unsigned long start_brk, brk, start_stack; > } __attribute__((preserve_access_index)); > > - struct vm_area_struct { > + struct mm_area { > unsigned long start_brk, brk, start_stack; > unsigned long vm_start, vm_end; > struct mm_struct *vm_mm; > @@ -65,7 +65,7 @@ example: > .. code-block:: c > > SEC("lsm/file_mprotect") > - int BPF_PROG(mprotect_audit, struct vm_area_struct *vma, > + int BPF_PROG(mprotect_audit, struct mm_area *vma, > unsigned long reqprot, unsigned long prot, int ret) > { > /* ret is the return value from the previous BPF program > diff --git a/Documentation/core-api/cachetlb.rst b/Documentation/core-api/cachetlb.rst > index 889fc84ccd1b..597eb9760dea 100644 > --- a/Documentation/core-api/cachetlb.rst > +++ b/Documentation/core-api/cachetlb.rst > @@ -50,7 +50,7 @@ changes occur: > page table operations such as what happens during > fork, and exec. > > -3) ``void flush_tlb_range(struct vm_area_struct *vma, > +3) ``void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end)`` > > Here we are flushing a specific range of (user) virtual > @@ -70,7 +70,7 @@ changes occur: > call flush_tlb_page (see below) for each entry which may be > modified. > > -4) ``void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr)`` > +4) ``void flush_tlb_page(struct mm_area *vma, unsigned long addr)`` > > This time we need to remove the PAGE_SIZE sized translation > from the TLB. The 'vma' is the backing structure used by > @@ -89,7 +89,7 @@ changes occur: > This is used primarily during fault processing. > > 5) ``void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long address, pte_t *ptep, > + struct mm_area *vma, unsigned long address, pte_t *ptep, > unsigned int nr)`` > > At the end of every page fault, this routine is invoked to tell > @@ -159,7 +159,7 @@ Here are the routines, one by one: > This option is separate from flush_cache_mm to allow some > optimizations for VIPT caches. > > -3) ``void flush_cache_range(struct vm_area_struct *vma, > +3) ``void flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end)`` > > Here we are flushing a specific range of (user) virtual > @@ -176,7 +176,7 @@ Here are the routines, one by one: > call flush_cache_page (see below) for each entry which may be > modified. > > -4) ``void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn)`` > +4) ``void flush_cache_page(struct mm_area *vma, unsigned long addr, unsigned long pfn)`` > > This time we need to remove a PAGE_SIZE sized range > from the cache. The 'vma' is the backing structure used by > @@ -331,9 +331,9 @@ maps this page at its virtual address. > dirty. Again, see sparc64 for examples of how > to deal with this. > > - ``void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > + ``void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, void *dst, void *src, int len)`` > - ``void copy_from_user_page(struct vm_area_struct *vma, struct page *page, > + ``void copy_from_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, void *dst, void *src, int len)`` > > When the kernel needs to copy arbitrary data in and out > @@ -346,7 +346,7 @@ maps this page at its virtual address. > likely that you will need to flush the instruction cache > for copy_to_user_page(). > > - ``void flush_anon_page(struct vm_area_struct *vma, struct page *page, > + ``void flush_anon_page(struct mm_area *vma, struct page *page, > unsigned long vmaddr)`` > > When the kernel needs to access the contents of an anonymous > @@ -365,7 +365,7 @@ maps this page at its virtual address. > If the icache does not snoop stores then this routine will need > to flush it. > > - ``void flush_icache_page(struct vm_area_struct *vma, struct page *page)`` > + ``void flush_icache_page(struct mm_area *vma, struct page *page)`` > > All the functionality of flush_icache_page can be implemented in > flush_dcache_folio and update_mmu_cache_range. In the future, the hope > diff --git a/Documentation/core-api/dma-api.rst b/Documentation/core-api/dma-api.rst > index 8e3cce3d0a23..ca0b3e0ef596 100644 > --- a/Documentation/core-api/dma-api.rst > +++ b/Documentation/core-api/dma-api.rst > @@ -581,7 +581,7 @@ dma_alloc_pages(). page must be the pointer returned by dma_alloc_pages(). > :: > > int > - dma_mmap_pages(struct device *dev, struct vm_area_struct *vma, > + dma_mmap_pages(struct device *dev, struct mm_area *vma, > size_t size, struct page *page) > > Map an allocation returned from dma_alloc_pages() into a user address space. > @@ -679,7 +679,7 @@ returned by dma_vmap_noncontiguous(). > :: > > int > - dma_mmap_noncontiguous(struct device *dev, struct vm_area_struct *vma, > + dma_mmap_noncontiguous(struct device *dev, struct mm_area *vma, > size_t size, struct sg_table *sgt) > > Map an allocation returned from dma_alloc_noncontiguous() into a user address > diff --git a/Documentation/driver-api/uio-howto.rst b/Documentation/driver-api/uio-howto.rst > index 907ffa3b38f5..9e68c745b295 100644 > --- a/Documentation/driver-api/uio-howto.rst > +++ b/Documentation/driver-api/uio-howto.rst > @@ -246,7 +246,7 @@ the members are required, others are optional. > hardware interrupt number. The flags given here will be used in the > call to :c:func:`request_irq()`. > > -- ``int (*mmap)(struct uio_info *info, struct vm_area_struct *vma)``: > +- ``int (*mmap)(struct uio_info *info, struct mm_area *vma)``: > Optional. If you need a special :c:func:`mmap()` > function, you can set it here. If this pointer is not NULL, your > :c:func:`mmap()` will be called instead of the built-in one. > diff --git a/Documentation/driver-api/vfio.rst b/Documentation/driver-api/vfio.rst > index 2a21a42c9386..056e27a40f3d 100644 > --- a/Documentation/driver-api/vfio.rst > +++ b/Documentation/driver-api/vfio.rst > @@ -419,7 +419,7 @@ similar to a file operations structure:: > size_t count, loff_t *size); > long (*ioctl)(struct vfio_device *vdev, unsigned int cmd, > unsigned long arg); > - int (*mmap)(struct vfio_device *vdev, struct vm_area_struct *vma); > + int (*mmap)(struct vfio_device *vdev, struct mm_area *vma); > void (*request)(struct vfio_device *vdev, unsigned int count); > int (*match)(struct vfio_device *vdev, char *buf); > void (*dma_unmap)(struct vfio_device *vdev, u64 iova, u64 length); > diff --git a/Documentation/filesystems/locking.rst b/Documentation/filesystems/locking.rst > index 0ec0bb6eb0fb..9c83c1262882 100644 > --- a/Documentation/filesystems/locking.rst > +++ b/Documentation/filesystems/locking.rst > @@ -530,7 +530,7 @@ prototypes:: > __poll_t (*poll) (struct file *, struct poll_table_struct *); > long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); > long (*compat_ioctl) (struct file *, unsigned int, unsigned long); > - int (*mmap) (struct file *, struct vm_area_struct *); > + int (*mmap) (struct file *, struct mm_area *); > int (*open) (struct inode *, struct file *); > int (*flush) (struct file *); > int (*release) (struct inode *, struct file *); > @@ -643,14 +643,14 @@ vm_operations_struct > > prototypes:: > > - void (*open)(struct vm_area_struct *); > - void (*close)(struct vm_area_struct *); > + void (*open)(struct mm_area *); > + void (*close)(struct mm_area *); > vm_fault_t (*fault)(struct vm_fault *); > vm_fault_t (*huge_fault)(struct vm_fault *, unsigned int order); > vm_fault_t (*map_pages)(struct vm_fault *, pgoff_t start, pgoff_t end); > - vm_fault_t (*page_mkwrite)(struct vm_area_struct *, struct vm_fault *); > - vm_fault_t (*pfn_mkwrite)(struct vm_area_struct *, struct vm_fault *); > - int (*access)(struct vm_area_struct *, unsigned long, void*, int, int); > + vm_fault_t (*page_mkwrite)(struct mm_area *, struct vm_fault *); > + vm_fault_t (*pfn_mkwrite)(struct mm_area *, struct vm_fault *); > + int (*access)(struct mm_area *, unsigned long, void*, int, int); > > locking rules: > > diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst > index 2a17865dfe39..2935efeceaa9 100644 > --- a/Documentation/filesystems/proc.rst > +++ b/Documentation/filesystems/proc.rst > @@ -2175,7 +2175,7 @@ the process is maintaining. Example output:: > | lr-------- 1 root root 64 Jan 27 11:24 400000-41a000 -> /usr/bin/ls > > The name of a link represents the virtual memory bounds of a mapping, i.e. > -vm_area_struct::vm_start-vm_area_struct::vm_end. > +mm_area::vm_start-mm_area::vm_end. > > The main purpose of the map_files is to retrieve a set of memory mapped > files in a fast way instead of parsing /proc//maps or > diff --git a/Documentation/filesystems/vfs.rst b/Documentation/filesystems/vfs.rst > index ae79c30b6c0c..866485f271b0 100644 > --- a/Documentation/filesystems/vfs.rst > +++ b/Documentation/filesystems/vfs.rst > @@ -1102,7 +1102,7 @@ This describes how the VFS can manipulate an open file. As of kernel > __poll_t (*poll) (struct file *, struct poll_table_struct *); > long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); > long (*compat_ioctl) (struct file *, unsigned int, unsigned long); > - int (*mmap) (struct file *, struct vm_area_struct *); > + int (*mmap) (struct file *, struct mm_area *); > int (*open) (struct inode *, struct file *); > int (*flush) (struct file *, fl_owner_t id); > int (*release) (struct inode *, struct file *); > diff --git a/Documentation/gpu/drm-mm.rst b/Documentation/gpu/drm-mm.rst > index d55751cad67c..aac2545c4a54 100644 > --- a/Documentation/gpu/drm-mm.rst > +++ b/Documentation/gpu/drm-mm.rst > @@ -280,8 +280,8 @@ made up of several fields, the more interesting ones being: > .. code-block:: c > > struct vm_operations_struct { > - void (*open)(struct vm_area_struct * area); > - void (*close)(struct vm_area_struct * area); > + void (*open)(struct mm_area * area); > + void (*close)(struct mm_area * area); > vm_fault_t (*fault)(struct vm_fault *vmf); > }; > > diff --git a/Documentation/mm/hmm.rst b/Documentation/mm/hmm.rst > index 7d61b7a8b65b..63fbba00dc3d 100644 > --- a/Documentation/mm/hmm.rst > +++ b/Documentation/mm/hmm.rst > @@ -298,7 +298,7 @@ between device driver specific code and shared common code: > > 1. ``mmap_read_lock()`` > > - The device driver has to pass a ``struct vm_area_struct`` to > + The device driver has to pass a ``struct mm_area`` to > migrate_vma_setup() so the mmap_read_lock() or mmap_write_lock() needs to > be held for the duration of the migration. > > diff --git a/Documentation/mm/hugetlbfs_reserv.rst b/Documentation/mm/hugetlbfs_reserv.rst > index 4914fbf07966..afb86d44c57e 100644 > --- a/Documentation/mm/hugetlbfs_reserv.rst > +++ b/Documentation/mm/hugetlbfs_reserv.rst > @@ -104,7 +104,7 @@ These operations result in a call to the routine hugetlb_reserve_pages():: > > int hugetlb_reserve_pages(struct inode *inode, > long from, long to, > - struct vm_area_struct *vma, > + struct mm_area *vma, > vm_flags_t vm_flags) > > The first thing hugetlb_reserve_pages() does is check if the NORESERVE > @@ -181,7 +181,7 @@ Reservations are consumed when huge pages associated with the reservations > are allocated and instantiated in the corresponding mapping. The allocation > is performed within the routine alloc_hugetlb_folio():: > > - struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, > + struct folio *alloc_hugetlb_folio(struct mm_area *vma, > unsigned long addr, int avoid_reserve) > > alloc_hugetlb_folio is passed a VMA pointer and a virtual address, so it can > @@ -464,14 +464,14 @@ account the 'opposite' meaning of reservation map entries for private and > shared mappings and hide this detail from the caller:: > > long vma_needs_reservation(struct hstate *h, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > > This routine calls region_chg() for the specified page. If no reservation > exists, 1 is returned. If a reservation exists, 0 is returned:: > > long vma_commit_reservation(struct hstate *h, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > > This calls region_add() for the specified page. As in the case of region_chg > @@ -483,7 +483,7 @@ vma_needs_reservation. An unexpected difference indicates the reservation > map was modified between calls:: > > void vma_end_reservation(struct hstate *h, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > > This calls region_abort() for the specified page. As in the case of region_chg > @@ -492,7 +492,7 @@ vma_needs_reservation. It will abort/end the in progress reservation add > operation:: > > long vma_add_reservation(struct hstate *h, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > > This is a special wrapper routine to help facilitate reservation cleanup > diff --git a/Documentation/mm/process_addrs.rst b/Documentation/mm/process_addrs.rst > index e6756e78b476..674c30658f90 100644 > --- a/Documentation/mm/process_addrs.rst > +++ b/Documentation/mm/process_addrs.rst > @@ -9,10 +9,10 @@ Process Addresses > > > Userland memory ranges are tracked by the kernel via Virtual Memory Areas or > -'VMA's of type :c:struct:`!struct vm_area_struct`. > +'VMA's of type :c:struct:`!struct mm_area`. > > Each VMA describes a virtually contiguous memory range with identical > -attributes, each described by a :c:struct:`!struct vm_area_struct` > +attributes, each described by a :c:struct:`!struct mm_area` > object. Userland access outside of VMAs is invalid except in the case where an > adjacent stack VMA could be extended to contain the accessed address. > > @@ -142,7 +142,7 @@ obtain either a read or a write lock for each of these. > VMA fields > ^^^^^^^^^^ > > -We can subdivide :c:struct:`!struct vm_area_struct` fields by their purpose, which makes it > +We can subdivide :c:struct:`!struct mm_area` fields by their purpose, which makes it > easier to explore their locking characteristics: > > .. note:: We exclude VMA lock-specific fields here to avoid confusion, as these > diff --git a/Documentation/translations/zh_CN/core-api/cachetlb.rst b/Documentation/translations/zh_CN/core-api/cachetlb.rst > index 64295c61d1c1..96eefda0262e 100644 > --- a/Documentation/translations/zh_CN/core-api/cachetlb.rst > +++ b/Documentation/translations/zh_CN/core-api/cachetlb.rst > @@ -51,7 +51,7 @@ cpu上对这个地址空间进行刷新。 > 这个接口被用来处理整个地址空间的页表操作,比如在fork和exec过程 > 中发生的事情。 > > -3) ``void flush_tlb_range(struct vm_area_struct *vma, > +3) ``void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end)`` > > 这里我们要从TLB中刷新一个特定范围的(用户)虚拟地址转换。在运行后, > @@ -65,7 +65,7 @@ cpu上对这个地址空间进行刷新。 > 个页面大小的转换,而不是让内核为每个可能被修改的页表项调用 > flush_tlb_page(见下文)。 > > -4) ``void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr)`` > +4) ``void flush_tlb_page(struct mm_area *vma, unsigned long addr)`` > > 这一次我们需要从TLB中删除PAGE_SIZE大小的转换。‘vma’是Linux用来跟 > 踪进程的mmap区域的支持结构体,地址空间可以通过vma->vm_mm获得。另 > @@ -78,7 +78,7 @@ cpu上对这个地址空间进行刷新。 > > 这主要是在故障处理时使用。 > > -5) ``void update_mmu_cache(struct vm_area_struct *vma, > +5) ``void update_mmu_cache(struct mm_area *vma, > unsigned long address, pte_t *ptep)`` > > 在每个缺页异常结束时,这个程序被调用,以告诉体系结构特定的代码,在 > @@ -134,7 +134,7 @@ HyperSparc cpu就是这样一个具有这种属性的cpu。 > > 这个选项与flush_cache_mm分开,以允许对VIPT缓存进行一些优化。 > > -3) ``void flush_cache_range(struct vm_area_struct *vma, > +3) ``void flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end)`` > > 在这里,我们要从缓存中刷新一个特定范围的(用户)虚拟地址。运行 > @@ -147,7 +147,7 @@ HyperSparc cpu就是这样一个具有这种属性的cpu。 > 除多个页面大小的区域, 而不是让内核为每个可能被修改的页表项调 > 用 flush_cache_page (见下文)。 > > -4) ``void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn)`` > +4) ``void flush_cache_page(struct mm_area *vma, unsigned long addr, unsigned long pfn)`` > > 这一次我们需要从缓存中删除一个PAGE_SIZE大小的区域。“vma”是 > Linux用来跟踪进程的mmap区域的支持结构体,地址空间可以通过 > @@ -284,9 +284,9 @@ HyperSparc cpu就是这样一个具有这种属性的cpu。 > 该函数的调用情形与flush_dcache_page()相同。它允许架构针对刷新整个 > folio页面进行优化,而不是一次刷新一页。 > > - ``void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > + ``void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, void *dst, void *src, int len)`` > - ``void copy_from_user_page(struct vm_area_struct *vma, struct page *page, > + ``void copy_from_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, void *dst, void *src, int len)`` > > 当内核需要复制任意的数据进出任意的用户页时(比如ptrace()),它将使 > @@ -296,7 +296,7 @@ HyperSparc cpu就是这样一个具有这种属性的cpu。 > 处理器的指令缓存没有对cpu存储进行窥探,那么你很可能需要为 > copy_to_user_page()刷新指令缓存。 > > - ``void flush_anon_page(struct vm_area_struct *vma, struct page *page, > + ``void flush_anon_page(struct mm_area *vma, struct page *page, > unsigned long vmaddr)`` > > 当内核需要访问一个匿名页的内容时,它会调用这个函数(目前只有 > @@ -310,7 +310,7 @@ HyperSparc cpu就是这样一个具有这种属性的cpu。 > > 如果icache不对存储进行窥探,那么这个程序将需要对其进行刷新。 > > - ``void flush_icache_page(struct vm_area_struct *vma, struct page *page)`` > + ``void flush_icache_page(struct mm_area *vma, struct page *page)`` > > flush_icache_page的所有功能都可以在flush_dcache_page和update_mmu_cache > 中实现。在未来,我们希望能够完全删除这个接口。 > diff --git a/Documentation/translations/zh_CN/mm/hmm.rst b/Documentation/translations/zh_CN/mm/hmm.rst > index 22c210f4e94f..ad4e2847b119 100644 > --- a/Documentation/translations/zh_CN/mm/hmm.rst > +++ b/Documentation/translations/zh_CN/mm/hmm.rst > @@ -247,7 +247,7 @@ devm_memunmap_pages() 和 devm_release_mem_region() 当资源可以绑定到 ``s > > 1. ``mmap_read_lock()`` > > - 设备驱动程序必须将 ``struct vm_area_struct`` 传递给migrate_vma_setup(), > + 设备驱动程序必须将 ``struct mm_area`` 传递给migrate_vma_setup(), > 因此需要在迁移期间保留 mmap_read_lock() 或 mmap_write_lock()。 > > 2. ``migrate_vma_setup(struct migrate_vma *args)`` > diff --git a/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst b/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst > index 20947f8bd065..b85b68f3afd4 100644 > --- a/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst > +++ b/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst > @@ -95,7 +95,7 @@ Page Flags > > int hugetlb_reserve_pages(struct inode *inode, > long from, long to, > - struct vm_area_struct *vma, > + struct mm_area *vma, > vm_flags_t vm_flags) > > hugetlb_reserve_pages()做的第一件事是检查在调用shmget()或mmap()时是否指定了NORESERVE > @@ -146,7 +146,7 @@ HPAGE_RESV_OWNER标志被设置,以表明该VMA拥有预留。 > 当与预留相关的巨页在相应的映射中被分配和实例化时,预留就被消耗了。该分配是在函数alloc_hugetlb_folio() > 中进行的:: > > - struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, > + struct folio *alloc_hugetlb_folio(struct mm_area *vma, > unsigned long addr, int avoid_reserve) > > alloc_hugetlb_folio被传递给一个VMA指针和一个虚拟地址,因此它可以查阅预留映射以确定是否存在预留。 > @@ -342,13 +342,13 @@ region_count()在解除私有巨页映射时被调用。在私有映射中,预 > 它们确实考虑到了私有和共享映射的预留映射条目的 “相反” 含义,并向调用者隐藏了这个细节:: > > long vma_needs_reservation(struct hstate *h, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > > 该函数为指定的页面调用 region_chg()。如果不存在预留,则返回1。如果存在预留,则返回0:: > > long vma_commit_reservation(struct hstate *h, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > > 这将调用 region_add(),用于指定的页面。与region_chg和region_add的情况一样,该函数应在 > @@ -357,14 +357,14 @@ region_count()在解除私有巨页映射时被调用。在私有映射中,预 > 现意外的差异,说明在两次调用之间修改了预留映射:: > > void vma_end_reservation(struct hstate *h, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > > 这将调用指定页面的 region_abort()。与region_chg和region_abort的情况一样,该函数应在 > 先前调用的vma_needs_reservation后被调用。它将中止/结束正在进行的预留添加操作:: > > long vma_add_reservation(struct hstate *h, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > > 这是一个特殊的包装函数,有助于在错误路径上清理预留。它只从repare_reserve_on_error()函数 > diff --git a/Documentation/userspace-api/media/conf_nitpick.py b/Documentation/userspace-api/media/conf_nitpick.py > index 0a8e236d07ab..3704eb6e4e3b 100644 > --- a/Documentation/userspace-api/media/conf_nitpick.py > +++ b/Documentation/userspace-api/media/conf_nitpick.py > @@ -103,7 +103,7 @@ nitpick_ignore = [ > ("c:type", "usb_interface"), > ("c:type", "v4l2_std_id"), > ("c:type", "video_system_t"), > - ("c:type", "vm_area_struct"), > + ("c:type", "mm_area"), > > # Opaque structures > > diff --git a/arch/alpha/include/asm/cacheflush.h b/arch/alpha/include/asm/cacheflush.h > index 36a7e924c3b9..6a9f035ab3c9 100644 > --- a/arch/alpha/include/asm/cacheflush.h > +++ b/arch/alpha/include/asm/cacheflush.h > @@ -35,7 +35,7 @@ extern void smp_imb(void); > > extern void __load_new_mm_context(struct mm_struct *); > static inline void > -flush_icache_user_page(struct vm_area_struct *vma, struct page *page, > +flush_icache_user_page(struct mm_area *vma, struct page *page, > unsigned long addr, int len) > { > if (vma->vm_flags & VM_EXEC) { > @@ -48,7 +48,7 @@ flush_icache_user_page(struct vm_area_struct *vma, struct page *page, > } > #define flush_icache_user_page flush_icache_user_page > #else /* CONFIG_SMP */ > -extern void flush_icache_user_page(struct vm_area_struct *vma, > +extern void flush_icache_user_page(struct mm_area *vma, > struct page *page, unsigned long addr, int len); > #define flush_icache_user_page flush_icache_user_page > #endif /* CONFIG_SMP */ > @@ -57,7 +57,7 @@ extern void flush_icache_user_page(struct vm_area_struct *vma, > * Both implementations of flush_icache_user_page flush the entire > * address space, so one call, no matter how many pages. > */ > -static inline void flush_icache_pages(struct vm_area_struct *vma, > +static inline void flush_icache_pages(struct mm_area *vma, > struct page *page, unsigned int nr) > { > flush_icache_user_page(vma, page, 0, 0); > diff --git a/arch/alpha/include/asm/machvec.h b/arch/alpha/include/asm/machvec.h > index 490fc880bb3f..964ae4fe2dd3 100644 > --- a/arch/alpha/include/asm/machvec.h > +++ b/arch/alpha/include/asm/machvec.h > @@ -16,7 +16,7 @@ > > struct task_struct; > struct mm_struct; > -struct vm_area_struct; > +struct mm_area; > struct linux_hose_info; > struct pci_dev; > struct pci_ops; > diff --git a/arch/alpha/include/asm/pci.h b/arch/alpha/include/asm/pci.h > index 6c04fcbdc8ed..d402ba6d7a00 100644 > --- a/arch/alpha/include/asm/pci.h > +++ b/arch/alpha/include/asm/pci.h > @@ -82,7 +82,7 @@ extern int pci_legacy_read(struct pci_bus *bus, loff_t port, u32 *val, > extern int pci_legacy_write(struct pci_bus *bus, loff_t port, u32 val, > size_t count); > extern int pci_mmap_legacy_page_range(struct pci_bus *bus, > - struct vm_area_struct *vma, > + struct mm_area *vma, > enum pci_mmap_state mmap_state); > extern void pci_adjust_legacy_attr(struct pci_bus *bus, > enum pci_mmap_state mmap_type); > diff --git a/arch/alpha/include/asm/pgtable.h b/arch/alpha/include/asm/pgtable.h > index 02e8817a8921..fdb7f661c52a 100644 > --- a/arch/alpha/include/asm/pgtable.h > +++ b/arch/alpha/include/asm/pgtable.h > @@ -19,7 +19,7 @@ > #include > > struct mm_struct; > -struct vm_area_struct; > +struct mm_area; > > /* Certain architectures need to do special things when PTEs > * within a page table are directly modified. Thus, the following > @@ -298,13 +298,13 @@ extern pgd_t swapper_pg_dir[1024]; > * The Alpha doesn't have any external MMU info: the kernel page > * tables contain all the necessary information. > */ > -extern inline void update_mmu_cache(struct vm_area_struct * vma, > +extern inline void update_mmu_cache(struct mm_area * vma, > unsigned long address, pte_t *ptep) > { > } > > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > pte_t *ptep, unsigned int nr) > { > } > diff --git a/arch/alpha/include/asm/tlbflush.h b/arch/alpha/include/asm/tlbflush.h > index ba4b359d6c39..76232c200987 100644 > --- a/arch/alpha/include/asm/tlbflush.h > +++ b/arch/alpha/include/asm/tlbflush.h > @@ -26,7 +26,7 @@ ev5_flush_tlb_current(struct mm_struct *mm) > > __EXTERN_INLINE void > ev5_flush_tlb_current_page(struct mm_struct * mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > { > if (vma->vm_flags & VM_EXEC) > @@ -81,7 +81,7 @@ flush_tlb_mm(struct mm_struct *mm) > > /* Page-granular tlb flush. */ > static inline void > -flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > +flush_tlb_page(struct mm_area *vma, unsigned long addr) > { > struct mm_struct *mm = vma->vm_mm; > > @@ -94,7 +94,7 @@ flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > /* Flush a specified range of user mapping. On the Alpha we flush > the whole user tlb. */ > static inline void > -flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > flush_tlb_mm(vma->vm_mm); > @@ -104,8 +104,8 @@ flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *); > -extern void flush_tlb_page(struct vm_area_struct *, unsigned long); > -extern void flush_tlb_range(struct vm_area_struct *, unsigned long, > +extern void flush_tlb_page(struct mm_area *, unsigned long); > +extern void flush_tlb_range(struct mm_area *, unsigned long, > unsigned long); > > #endif /* CONFIG_SMP */ > diff --git a/arch/alpha/kernel/pci-sysfs.c b/arch/alpha/kernel/pci-sysfs.c > index 3048758304b5..ec66bae1cfae 100644 > --- a/arch/alpha/kernel/pci-sysfs.c > +++ b/arch/alpha/kernel/pci-sysfs.c > @@ -16,7 +16,7 @@ > #include > > static int hose_mmap_page_range(struct pci_controller *hose, > - struct vm_area_struct *vma, > + struct mm_area *vma, > enum pci_mmap_state mmap_type, int sparse) > { > unsigned long base; > @@ -34,7 +34,7 @@ static int hose_mmap_page_range(struct pci_controller *hose, > } > > static int __pci_mmap_fits(struct pci_dev *pdev, int num, > - struct vm_area_struct *vma, int sparse) > + struct mm_area *vma, int sparse) > { > unsigned long nr, start, size; > int shift = sparse ? 5 : 0; > @@ -56,7 +56,7 @@ static int __pci_mmap_fits(struct pci_dev *pdev, int num, > * pci_mmap_resource - map a PCI resource into user memory space > * @kobj: kobject for mapping > * @attr: struct bin_attribute for the file being mapped > - * @vma: struct vm_area_struct passed into the mmap > + * @vma: struct mm_area passed into the mmap > * @sparse: address space type > * > * Use the bus mapping routines to map a PCI resource into userspace. > @@ -65,7 +65,7 @@ static int __pci_mmap_fits(struct pci_dev *pdev, int num, > */ > static int pci_mmap_resource(struct kobject *kobj, > const struct bin_attribute *attr, > - struct vm_area_struct *vma, int sparse) > + struct mm_area *vma, int sparse) > { > struct pci_dev *pdev = to_pci_dev(kobj_to_dev(kobj)); > struct resource *res = attr->private; > @@ -94,14 +94,14 @@ static int pci_mmap_resource(struct kobject *kobj, > > static int pci_mmap_resource_sparse(struct file *filp, struct kobject *kobj, > const struct bin_attribute *attr, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return pci_mmap_resource(kobj, attr, vma, 1); > } > > static int pci_mmap_resource_dense(struct file *filp, struct kobject *kobj, > const struct bin_attribute *attr, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return pci_mmap_resource(kobj, attr, vma, 0); > } > @@ -254,7 +254,7 @@ int pci_create_resource_files(struct pci_dev *pdev) > /* Legacy I/O bus mapping stuff. */ > > static int __legacy_mmap_fits(struct pci_controller *hose, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long res_size, int sparse) > { > unsigned long nr, start, size; > @@ -283,7 +283,7 @@ static inline int has_sparse(struct pci_controller *hose, > return base != 0; > } > > -int pci_mmap_legacy_page_range(struct pci_bus *bus, struct vm_area_struct *vma, > +int pci_mmap_legacy_page_range(struct pci_bus *bus, struct mm_area *vma, > enum pci_mmap_state mmap_type) > { > struct pci_controller *hose = bus->sysdata; > diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c > index ed06367ece57..1f71a076196b 100644 > --- a/arch/alpha/kernel/smp.c > +++ b/arch/alpha/kernel/smp.c > @@ -658,7 +658,7 @@ flush_tlb_mm(struct mm_struct *mm) > EXPORT_SYMBOL(flush_tlb_mm); > > struct flush_tlb_page_struct { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm; > unsigned long addr; > }; > @@ -676,7 +676,7 @@ ipi_flush_tlb_page(void *x) > } > > void > -flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > +flush_tlb_page(struct mm_area *vma, unsigned long addr) > { > struct flush_tlb_page_struct data; > struct mm_struct *mm = vma->vm_mm; > @@ -709,7 +709,7 @@ flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > EXPORT_SYMBOL(flush_tlb_page); > > void > -flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end) > { > /* On the Alpha we always flush the whole user tlb. */ > flush_tlb_mm(vma->vm_mm); > @@ -727,7 +727,7 @@ ipi_flush_icache_page(void *x) > } > > void > -flush_icache_user_page(struct vm_area_struct *vma, struct page *page, > +flush_icache_user_page(struct mm_area *vma, struct page *page, > unsigned long addr, int len) > { > struct mm_struct *mm = vma->vm_mm; > diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c > index a9816bbc9f34..a65198563de8 100644 > --- a/arch/alpha/mm/fault.c > +++ b/arch/alpha/mm/fault.c > @@ -85,7 +85,7 @@ asmlinkage void > do_page_fault(unsigned long address, unsigned long mmcsr, > long cause, struct pt_regs *regs) > { > - struct vm_area_struct * vma; > + struct mm_area * vma; > struct mm_struct *mm = current->mm; > const struct exception_table_entry *fixup; > int si_code = SEGV_MAPERR; > diff --git a/arch/arc/include/asm/hugepage.h b/arch/arc/include/asm/hugepage.h > index 8a2441670a8f..3f3e305802f6 100644 > --- a/arch/arc/include/asm/hugepage.h > +++ b/arch/arc/include/asm/hugepage.h > @@ -61,11 +61,11 @@ static inline void set_pmd_at(struct mm_struct *mm, unsigned long addr, > *pmdp = pmd; > } > > -extern void update_mmu_cache_pmd(struct vm_area_struct *vma, unsigned long addr, > +extern void update_mmu_cache_pmd(struct mm_area *vma, unsigned long addr, > pmd_t *pmd); > > #define __HAVE_ARCH_FLUSH_PMD_TLB_RANGE > -extern void flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start, > +extern void flush_pmd_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > > /* We don't have hardware dirty/accessed bits, generic_pmdp_establish is fine.*/ > diff --git a/arch/arc/include/asm/page.h b/arch/arc/include/asm/page.h > index def0dfb95b43..bb03a8165e36 100644 > --- a/arch/arc/include/asm/page.h > +++ b/arch/arc/include/asm/page.h > @@ -25,13 +25,13 @@ > #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) > #define copy_page(to, from) memcpy((to), (from), PAGE_SIZE) > > -struct vm_area_struct; > +struct mm_area; > struct page; > > #define __HAVE_ARCH_COPY_USER_HIGHPAGE > > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long u_vaddr, struct vm_area_struct *vma); > + unsigned long u_vaddr, struct mm_area *vma); > void clear_user_page(void *to, unsigned long u_vaddr, struct page *page); > > typedef struct { > diff --git a/arch/arc/include/asm/pgtable-bits-arcv2.h b/arch/arc/include/asm/pgtable-bits-arcv2.h > index 8ebec1b21d24..80c4759894fc 100644 > --- a/arch/arc/include/asm/pgtable-bits-arcv2.h > +++ b/arch/arc/include/asm/pgtable-bits-arcv2.h > @@ -101,7 +101,7 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) > } > > struct vm_fault; > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long address, pte_t *ptep, unsigned int nr); > > #define update_mmu_cache(vma, addr, ptep) \ > diff --git a/arch/arc/include/asm/tlbflush.h b/arch/arc/include/asm/tlbflush.h > index 992a2837a53f..e442c338f36a 100644 > --- a/arch/arc/include/asm/tlbflush.h > +++ b/arch/arc/include/asm/tlbflush.h > @@ -10,12 +10,12 @@ > > void local_flush_tlb_all(void); > void local_flush_tlb_mm(struct mm_struct *mm); > -void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page); > +void local_flush_tlb_page(struct mm_area *vma, unsigned long page); > void local_flush_tlb_kernel_range(unsigned long start, unsigned long end); > -void local_flush_tlb_range(struct vm_area_struct *vma, > +void local_flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end); > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -void local_flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void local_flush_pmd_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > #endif > > @@ -29,14 +29,14 @@ void local_flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start, > #define flush_pmd_tlb_range(vma, s, e) local_flush_pmd_tlb_range(vma, s, e) > #endif > #else > -extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +extern void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > -extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page); > +extern void flush_tlb_page(struct mm_area *vma, unsigned long page); > extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *mm); > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -extern void flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); > +extern void flush_pmd_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end); > #endif > #endif /* CONFIG_SMP */ > #endif > diff --git a/arch/arc/kernel/arc_hostlink.c b/arch/arc/kernel/arc_hostlink.c > index 08c5196efe0a..ca695259edde 100644 > --- a/arch/arc/kernel/arc_hostlink.c > +++ b/arch/arc/kernel/arc_hostlink.c > @@ -15,7 +15,7 @@ > > static unsigned char __HOSTLINK__[4 * PAGE_SIZE] __aligned(PAGE_SIZE); > > -static int arc_hl_mmap(struct file *fp, struct vm_area_struct *vma) > +static int arc_hl_mmap(struct file *fp, struct mm_area *vma) > { > vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); > > diff --git a/arch/arc/kernel/troubleshoot.c b/arch/arc/kernel/troubleshoot.c > index c380d8c30704..0e54ebd71f6c 100644 > --- a/arch/arc/kernel/troubleshoot.c > +++ b/arch/arc/kernel/troubleshoot.c > @@ -76,7 +76,7 @@ static void print_task_path_n_nm(struct task_struct *tsk) > > static void show_faulting_vma(unsigned long address) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *active_mm = current->active_mm; > > /* can't use print_vma_addr() yet as it doesn't check for > diff --git a/arch/arc/mm/cache.c b/arch/arc/mm/cache.c > index 9106ceac323c..29f282d3b006 100644 > --- a/arch/arc/mm/cache.c > +++ b/arch/arc/mm/cache.c > @@ -880,7 +880,7 @@ noinline void flush_cache_all(void) > } > > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long u_vaddr, struct vm_area_struct *vma) > + unsigned long u_vaddr, struct mm_area *vma) > { > struct folio *src = page_folio(from); > struct folio *dst = page_folio(to); > diff --git a/arch/arc/mm/fault.c b/arch/arc/mm/fault.c > index 95119a5e7761..a757e4c1aeca 100644 > --- a/arch/arc/mm/fault.c > +++ b/arch/arc/mm/fault.c > @@ -72,7 +72,7 @@ noinline static int handle_kernel_vaddr_fault(unsigned long address) > > void do_page_fault(unsigned long address, struct pt_regs *regs) > { > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > struct task_struct *tsk = current; > struct mm_struct *mm = tsk->mm; > int sig, si_code = SEGV_MAPERR; > diff --git a/arch/arc/mm/mmap.c b/arch/arc/mm/mmap.c > index 2185afe8d59f..d43d7ab91d3d 100644 > --- a/arch/arc/mm/mmap.c > +++ b/arch/arc/mm/mmap.c > @@ -27,7 +27,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, > unsigned long flags, vm_flags_t vm_flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct vm_unmapped_area_info info = {}; > > /* > diff --git a/arch/arc/mm/tlb.c b/arch/arc/mm/tlb.c > index cae4a7aae0ed..94da2ce6b491 100644 > --- a/arch/arc/mm/tlb.c > +++ b/arch/arc/mm/tlb.c > @@ -205,7 +205,7 @@ noinline void local_flush_tlb_mm(struct mm_struct *mm) > * without doing any explicit Shootdown > * -In case of kernel Flush, entry has to be shot down explicitly > */ > -void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void local_flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > const unsigned int cpu = smp_processor_id(); > @@ -275,7 +275,7 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) > * NOTE One TLB entry contains translation for single PAGE > */ > > -void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void local_flush_tlb_page(struct mm_area *vma, unsigned long page) > { > const unsigned int cpu = smp_processor_id(); > unsigned long flags; > @@ -295,7 +295,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > #ifdef CONFIG_SMP > > struct tlb_args { > - struct vm_area_struct *ta_vma; > + struct mm_area *ta_vma; > unsigned long ta_start; > unsigned long ta_end; > }; > @@ -341,7 +341,7 @@ void flush_tlb_mm(struct mm_struct *mm) > mm, 1); > } > > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) > +void flush_tlb_page(struct mm_area *vma, unsigned long uaddr) > { > struct tlb_args ta = { > .ta_vma = vma, > @@ -351,7 +351,7 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) > on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_tlb_page, &ta, 1); > } > > -void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > struct tlb_args ta = { > @@ -364,7 +364,7 @@ void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > } > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -void flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void flush_pmd_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > struct tlb_args ta = { > @@ -391,7 +391,7 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end) > /* > * Routine to create a TLB entry > */ > -static void create_tlb(struct vm_area_struct *vma, unsigned long vaddr, pte_t *ptep) > +static void create_tlb(struct mm_area *vma, unsigned long vaddr, pte_t *ptep) > { > unsigned long flags; > unsigned int asid_or_sasid, rwx; > @@ -469,7 +469,7 @@ static void create_tlb(struct vm_area_struct *vma, unsigned long vaddr, pte_t *p > * Note that flush (when done) involves both WBACK - so physical page is > * in sync as well as INV - so any non-congruent aliases don't remain > */ > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long vaddr_unaligned, pte_t *ptep, unsigned int nr) > { > unsigned long vaddr = vaddr_unaligned & PAGE_MASK; > @@ -527,14 +527,14 @@ void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > * Thus THP PMD accessors are implemented in terms of PTE (just like sparc) > */ > > -void update_mmu_cache_pmd(struct vm_area_struct *vma, unsigned long addr, > +void update_mmu_cache_pmd(struct mm_area *vma, unsigned long addr, > pmd_t *pmd) > { > pte_t pte = __pte(pmd_val(*pmd)); > update_mmu_cache_range(NULL, vma, addr, &pte, HPAGE_PMD_NR); > } > > -void local_flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void local_flush_pmd_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > unsigned int cpu; > diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h > index 8ed8b9a24efe..ad88660a95c4 100644 > --- a/arch/arm/include/asm/cacheflush.h > +++ b/arch/arm/include/asm/cacheflush.h > @@ -165,7 +165,7 @@ extern void dmac_flush_range(const void *, const void *); > * processes address space. Really, we want to allow our "user > * space" model to handle this. > */ > -extern void copy_to_user_page(struct vm_area_struct *, struct page *, > +extern void copy_to_user_page(struct mm_area *, struct page *, > unsigned long, void *, const void *, unsigned long); > #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ > do { \ > @@ -222,7 +222,7 @@ static inline void vivt_flush_cache_mm(struct mm_struct *mm) > } > > static inline void > -vivt_flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +vivt_flush_cache_range(struct mm_area *vma, unsigned long start, unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > > @@ -231,7 +231,7 @@ vivt_flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned > vma->vm_flags); > } > > -static inline void vivt_flush_cache_pages(struct vm_area_struct *vma, > +static inline void vivt_flush_cache_pages(struct mm_area *vma, > unsigned long user_addr, unsigned long pfn, unsigned int nr) > { > struct mm_struct *mm = vma->vm_mm; > @@ -252,8 +252,8 @@ static inline void vivt_flush_cache_pages(struct vm_area_struct *vma, > vivt_flush_cache_pages(vma, addr, pfn, nr) > #else > void flush_cache_mm(struct mm_struct *mm); > -void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); > -void flush_cache_pages(struct vm_area_struct *vma, unsigned long user_addr, > +void flush_cache_range(struct mm_area *vma, unsigned long start, unsigned long end); > +void flush_cache_pages(struct mm_area *vma, unsigned long user_addr, > unsigned long pfn, unsigned int nr); > #endif > > @@ -309,10 +309,10 @@ static inline void invalidate_kernel_vmap_range(void *addr, int size) > } > > #define ARCH_HAS_FLUSH_ANON_PAGE > -static inline void flush_anon_page(struct vm_area_struct *vma, > +static inline void flush_anon_page(struct mm_area *vma, > struct page *page, unsigned long vmaddr) > { > - extern void __flush_anon_page(struct vm_area_struct *vma, > + extern void __flush_anon_page(struct mm_area *vma, > struct page *, unsigned long); > if (PageAnon(page)) > __flush_anon_page(vma, page, vmaddr); > diff --git a/arch/arm/include/asm/page.h b/arch/arm/include/asm/page.h > index ef11b721230e..ba8262198322 100644 > --- a/arch/arm/include/asm/page.h > +++ b/arch/arm/include/asm/page.h > @@ -102,34 +102,34 @@ > #endif > > struct page; > -struct vm_area_struct; > +struct mm_area; > > struct cpu_user_fns { > void (*cpu_clear_user_highpage)(struct page *page, unsigned long vaddr); > void (*cpu_copy_user_highpage)(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > }; > > void fa_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > void fa_clear_user_highpage(struct page *page, unsigned long vaddr); > void feroceon_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > void feroceon_clear_user_highpage(struct page *page, unsigned long vaddr); > void v4_mc_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > void v4_mc_clear_user_highpage(struct page *page, unsigned long vaddr); > void v4wb_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > void v4wb_clear_user_highpage(struct page *page, unsigned long vaddr); > void v4wt_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > void v4wt_clear_user_highpage(struct page *page, unsigned long vaddr); > void xsc3_mc_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > void xsc3_mc_clear_user_highpage(struct page *page, unsigned long vaddr); > void xscale_mc_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > void xscale_mc_clear_user_highpage(struct page *page, unsigned long vaddr); > > #ifdef MULTI_USER > @@ -145,7 +145,7 @@ extern struct cpu_user_fns cpu_user; > > extern void __cpu_clear_user_highpage(struct page *page, unsigned long vaddr); > extern void __cpu_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > #endif > > #define clear_user_highpage(page,vaddr) \ > diff --git a/arch/arm/include/asm/tlbflush.h b/arch/arm/include/asm/tlbflush.h > index 38c6e4a2a0b6..401ec430d0fd 100644 > --- a/arch/arm/include/asm/tlbflush.h > +++ b/arch/arm/include/asm/tlbflush.h > @@ -205,7 +205,7 @@ > #include > > struct cpu_tlb_fns { > - void (*flush_user_range)(unsigned long, unsigned long, struct vm_area_struct *); > + void (*flush_user_range)(unsigned long, unsigned long, struct mm_area *); > void (*flush_kern_range)(unsigned long, unsigned long); > unsigned long tlb_flags; > }; > @@ -223,7 +223,7 @@ struct cpu_tlb_fns { > #define __cpu_flush_user_tlb_range __glue(_TLB,_flush_user_tlb_range) > #define __cpu_flush_kern_tlb_range __glue(_TLB,_flush_kern_tlb_range) > > -extern void __cpu_flush_user_tlb_range(unsigned long, unsigned long, struct vm_area_struct *); > +extern void __cpu_flush_user_tlb_range(unsigned long, unsigned long, struct mm_area *); > extern void __cpu_flush_kern_tlb_range(unsigned long, unsigned long); > > #endif > @@ -264,7 +264,7 @@ extern struct cpu_tlb_fns cpu_tlb; > * flush_tlb_page(vma, uaddr) > * > * Invalidate the specified page in the specified address range. > - * - vma - vm_area_struct describing address range > + * - vma - mm_area describing address range > * - vaddr - virtual address (may not be aligned) > */ > > @@ -410,7 +410,7 @@ static inline void __flush_tlb_mm(struct mm_struct *mm) > } > > static inline void > -__local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) > +__local_flush_tlb_page(struct mm_area *vma, unsigned long uaddr) > { > const int zero = 0; > const unsigned int __tlb_flag = __cpu_tlb_flags; > @@ -432,7 +432,7 @@ __local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) > } > > static inline void > -local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) > +local_flush_tlb_page(struct mm_area *vma, unsigned long uaddr) > { > const unsigned int __tlb_flag = __cpu_tlb_flags; > > @@ -449,7 +449,7 @@ local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) > } > > static inline void > -__flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) > +__flush_tlb_page(struct mm_area *vma, unsigned long uaddr) > { > const unsigned int __tlb_flag = __cpu_tlb_flags; > > @@ -608,9 +608,9 @@ static inline void clean_pmd_entry(void *pmd) > #else > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *mm); > -extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr); > +extern void flush_tlb_page(struct mm_area *vma, unsigned long uaddr); > extern void flush_tlb_kernel_page(unsigned long kaddr); > -extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); > +extern void flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end); > extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); > extern void flush_bp_all(void); > #endif > @@ -622,11 +622,11 @@ extern void flush_bp_all(void); > * the set_ptes() function. > */ > #if __LINUX_ARM_ARCH__ < 6 > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long addr, pte_t *ptep, unsigned int nr); > #else > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, > + struct mm_area *vma, unsigned long addr, pte_t *ptep, > unsigned int nr) > { > } > @@ -644,17 +644,17 @@ static inline void update_mmu_cache_range(struct vm_fault *vmf, > #ifndef __ASSEMBLY__ > static inline void local_flush_tlb_all(void) { } > static inline void local_flush_tlb_mm(struct mm_struct *mm) { } > -static inline void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) { } > +static inline void local_flush_tlb_page(struct mm_area *vma, unsigned long uaddr) { } > static inline void local_flush_tlb_kernel_page(unsigned long kaddr) { } > -static inline void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) { } > +static inline void local_flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end) { } > static inline void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) { } > static inline void local_flush_bp_all(void) { } > > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *mm); > -extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr); > +extern void flush_tlb_page(struct mm_area *vma, unsigned long uaddr); > extern void flush_tlb_kernel_page(unsigned long kaddr); > -extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); > +extern void flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end); > extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); > extern void flush_bp_all(void); > #endif /* __ASSEMBLY__ */ > diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c > index 123f4a8ef446..026d60dfd19e 100644 > --- a/arch/arm/kernel/asm-offsets.c > +++ b/arch/arm/kernel/asm-offsets.c > @@ -106,8 +106,8 @@ int main(void) > DEFINE(MM_CONTEXT_ID, offsetof(struct mm_struct, context.id.counter)); > BLANK(); > #endif > - DEFINE(VMA_VM_MM, offsetof(struct vm_area_struct, vm_mm)); > - DEFINE(VMA_VM_FLAGS, offsetof(struct vm_area_struct, vm_flags)); > + DEFINE(VMA_VM_MM, offsetof(struct mm_area, vm_mm)); > + DEFINE(VMA_VM_FLAGS, offsetof(struct mm_area, vm_flags)); > BLANK(); > DEFINE(VM_EXEC, VM_EXEC); > BLANK(); > diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c > index e16ed102960c..d35d4687e6a8 100644 > --- a/arch/arm/kernel/process.c > +++ b/arch/arm/kernel/process.c > @@ -306,7 +306,7 @@ unsigned long __get_wchan(struct task_struct *p) > * atomic helpers. Insert it into the gate_vma so that it is visible > * through ptrace and /proc//mem. > */ > -static struct vm_area_struct gate_vma; > +static struct mm_area gate_vma; > > static int __init gate_vma_init(void) > { > @@ -319,7 +319,7 @@ static int __init gate_vma_init(void) > } > arch_initcall(gate_vma_init); > > -struct vm_area_struct *get_gate_vma(struct mm_struct *mm) > +struct mm_area *get_gate_vma(struct mm_struct *mm) > { > return &gate_vma; > } > @@ -338,7 +338,7 @@ int in_gate_area_no_mm(unsigned long addr) > #define is_gate_vma(vma) 0 > #endif > > -const char *arch_vma_name(struct vm_area_struct *vma) > +const char *arch_vma_name(struct mm_area *vma) > { > return is_gate_vma(vma) ? "[vectors]" : NULL; > } > @@ -380,7 +380,7 @@ static struct page *signal_page; > extern struct page *get_signal_page(void); > > static int sigpage_mremap(const struct vm_special_mapping *sm, > - struct vm_area_struct *new_vma) > + struct mm_area *new_vma) > { > current->mm->context.sigpage = new_vma->vm_start; > return 0; > @@ -395,7 +395,7 @@ static const struct vm_special_mapping sigpage_mapping = { > int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long npages; > unsigned long addr; > unsigned long hint; > diff --git a/arch/arm/kernel/smp_tlb.c b/arch/arm/kernel/smp_tlb.c > index d4908b3736d8..d827500c7538 100644 > --- a/arch/arm/kernel/smp_tlb.c > +++ b/arch/arm/kernel/smp_tlb.c > @@ -18,7 +18,7 @@ > * TLB operations > */ > struct tlb_args { > - struct vm_area_struct *ta_vma; > + struct mm_area *ta_vma; > unsigned long ta_start; > unsigned long ta_end; > }; > @@ -193,7 +193,7 @@ void flush_tlb_mm(struct mm_struct *mm) > broadcast_tlb_mm_a15_erratum(mm); > } > > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) > +void flush_tlb_page(struct mm_area *vma, unsigned long uaddr) > { > if (tlb_ops_need_broadcast()) { > struct tlb_args ta; > @@ -217,7 +217,7 @@ void flush_tlb_kernel_page(unsigned long kaddr) > broadcast_tlb_a15_erratum(); > } > > -void flush_tlb_range(struct vm_area_struct *vma, > +void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > if (tlb_ops_need_broadcast()) { > diff --git a/arch/arm/kernel/vdso.c b/arch/arm/kernel/vdso.c > index 325448ffbba0..97b28ef9742a 100644 > --- a/arch/arm/kernel/vdso.c > +++ b/arch/arm/kernel/vdso.c > @@ -35,7 +35,7 @@ extern char vdso_start[], vdso_end[]; > unsigned int vdso_total_pages __ro_after_init; > > static int vdso_mremap(const struct vm_special_mapping *sm, > - struct vm_area_struct *new_vma) > + struct mm_area *new_vma) > { > current->mm->context.vdso = new_vma->vm_start; > > @@ -210,7 +210,7 @@ static_assert(__VDSO_PAGES == VDSO_NR_PAGES); > /* assumes mmap_lock is write-locked */ > void arm_install_vdso(struct mm_struct *mm, unsigned long addr) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long len; > > mm->context.vdso = 0; > diff --git a/arch/arm/mach-rpc/ecard.c b/arch/arm/mach-rpc/ecard.c > index 2cde4c83b7f9..08d17ee66891 100644 > --- a/arch/arm/mach-rpc/ecard.c > +++ b/arch/arm/mach-rpc/ecard.c > @@ -213,7 +213,7 @@ static DEFINE_MUTEX(ecard_mutex); > */ > static void ecard_init_pgtables(struct mm_struct *mm) > { > - struct vm_area_struct vma = TLB_FLUSH_VMA(mm, VM_EXEC); > + struct mm_area vma = TLB_FLUSH_VMA(mm, VM_EXEC); > > /* We want to set up the page tables for the following mapping: > * Virtual Physical > diff --git a/arch/arm/mm/cache-v6.S b/arch/arm/mm/cache-v6.S > index 9f415476e218..560bf185d275 100644 > --- a/arch/arm/mm/cache-v6.S > +++ b/arch/arm/mm/cache-v6.S > @@ -94,7 +94,7 @@ SYM_FUNC_END(v6_flush_user_cache_all) > * > * - start - start address (may not be aligned) > * - end - end address (exclusive, may not be aligned) > - * - flags - vm_area_struct flags describing address space > + * - flags - mm_area flags describing address space > * > * It is assumed that: > * - we have a VIPT cache. > diff --git a/arch/arm/mm/cache-v7.S b/arch/arm/mm/cache-v7.S > index 201ca05436fa..c3d5c874c895 100644 > --- a/arch/arm/mm/cache-v7.S > +++ b/arch/arm/mm/cache-v7.S > @@ -238,7 +238,7 @@ SYM_FUNC_END(v7_flush_user_cache_all) > * > * - start - start address (may not be aligned) > * - end - end address (exclusive, may not be aligned) > - * - flags - vm_area_struct flags describing address space > + * - flags - mm_area flags describing address space > * > * It is assumed that: > * - we have a VIPT cache. > diff --git a/arch/arm/mm/cache-v7m.S b/arch/arm/mm/cache-v7m.S > index 14d719eba729..611e0c7c4875 100644 > --- a/arch/arm/mm/cache-v7m.S > +++ b/arch/arm/mm/cache-v7m.S > @@ -263,7 +263,7 @@ SYM_FUNC_END(v7m_flush_user_cache_all) > * > * - start - start address (may not be aligned) > * - end - end address (exclusive, may not be aligned) > - * - flags - vm_area_struct flags describing address space > + * - flags - mm_area flags describing address space > * > * It is assumed that: > * - we have a VIPT cache. > diff --git a/arch/arm/mm/copypage-fa.c b/arch/arm/mm/copypage-fa.c > index 7e28c26f5aa4..6620d7e4ef45 100644 > --- a/arch/arm/mm/copypage-fa.c > +++ b/arch/arm/mm/copypage-fa.c > @@ -36,7 +36,7 @@ static void fa_copy_user_page(void *kto, const void *kfrom) > } > > void fa_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > void *kto, *kfrom; > > diff --git a/arch/arm/mm/copypage-feroceon.c b/arch/arm/mm/copypage-feroceon.c > index 5fc8ef1e665f..c2b763bb8b94 100644 > --- a/arch/arm/mm/copypage-feroceon.c > +++ b/arch/arm/mm/copypage-feroceon.c > @@ -64,7 +64,7 @@ static void feroceon_copy_user_page(void *kto, const void *kfrom) > } > > void feroceon_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > void *kto, *kfrom; > > diff --git a/arch/arm/mm/copypage-v4mc.c b/arch/arm/mm/copypage-v4mc.c > index 7ddd82b9fe8b..c151e91373b7 100644 > --- a/arch/arm/mm/copypage-v4mc.c > +++ b/arch/arm/mm/copypage-v4mc.c > @@ -62,7 +62,7 @@ static void mc_copy_user_page(void *from, void *to) > } > > void v4_mc_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > struct folio *src = page_folio(from); > void *kto = kmap_atomic(to); > diff --git a/arch/arm/mm/copypage-v4wb.c b/arch/arm/mm/copypage-v4wb.c > index c3581b226459..04541e74d6a6 100644 > --- a/arch/arm/mm/copypage-v4wb.c > +++ b/arch/arm/mm/copypage-v4wb.c > @@ -45,7 +45,7 @@ static void v4wb_copy_user_page(void *kto, const void *kfrom) > } > > void v4wb_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > void *kto, *kfrom; > > diff --git a/arch/arm/mm/copypage-v4wt.c b/arch/arm/mm/copypage-v4wt.c > index 1fb10733305a..68cafffaeba6 100644 > --- a/arch/arm/mm/copypage-v4wt.c > +++ b/arch/arm/mm/copypage-v4wt.c > @@ -41,7 +41,7 @@ static void v4wt_copy_user_page(void *kto, const void *kfrom) > } > > void v4wt_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > void *kto, *kfrom; > > diff --git a/arch/arm/mm/copypage-v6.c b/arch/arm/mm/copypage-v6.c > index a1a71f36d850..dff1dd0f9e98 100644 > --- a/arch/arm/mm/copypage-v6.c > +++ b/arch/arm/mm/copypage-v6.c > @@ -28,7 +28,7 @@ static DEFINE_RAW_SPINLOCK(v6_lock); > * attack the kernel's existing mapping of these pages. > */ > static void v6_copy_user_highpage_nonaliasing(struct page *to, > - struct page *from, unsigned long vaddr, struct vm_area_struct *vma) > + struct page *from, unsigned long vaddr, struct mm_area *vma) > { > void *kto, *kfrom; > > @@ -67,7 +67,7 @@ static void discard_old_kernel_data(void *kto) > * Copy the page, taking account of the cache colour. > */ > static void v6_copy_user_highpage_aliasing(struct page *to, > - struct page *from, unsigned long vaddr, struct vm_area_struct *vma) > + struct page *from, unsigned long vaddr, struct mm_area *vma) > { > struct folio *src = page_folio(from); > unsigned int offset = CACHE_COLOUR(vaddr); > diff --git a/arch/arm/mm/copypage-xsc3.c b/arch/arm/mm/copypage-xsc3.c > index c86e79677ff9..4f866b2aba21 100644 > --- a/arch/arm/mm/copypage-xsc3.c > +++ b/arch/arm/mm/copypage-xsc3.c > @@ -62,7 +62,7 @@ static void xsc3_mc_copy_user_page(void *kto, const void *kfrom) > } > > void xsc3_mc_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > void *kto, *kfrom; > > diff --git a/arch/arm/mm/copypage-xscale.c b/arch/arm/mm/copypage-xscale.c > index f1e29d3e8193..dcc5b53e7d8a 100644 > --- a/arch/arm/mm/copypage-xscale.c > +++ b/arch/arm/mm/copypage-xscale.c > @@ -82,7 +82,7 @@ static void mc_copy_user_page(void *from, void *to) > } > > void xscale_mc_copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > struct folio *src = page_folio(from); > void *kto = kmap_atomic(to); > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c > index 88c2d68a69c9..88ec2665d5d9 100644 > --- a/arch/arm/mm/dma-mapping.c > +++ b/arch/arm/mm/dma-mapping.c > @@ -1112,7 +1112,7 @@ static void *arm_iommu_alloc_attrs(struct device *dev, size_t size, > return NULL; > } > > -static int arm_iommu_mmap_attrs(struct device *dev, struct vm_area_struct *vma, > +static int arm_iommu_mmap_attrs(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs) > { > diff --git a/arch/arm/mm/fault-armv.c b/arch/arm/mm/fault-armv.c > index 39fd5df73317..4717aa3256bb 100644 > --- a/arch/arm/mm/fault-armv.c > +++ b/arch/arm/mm/fault-armv.c > @@ -33,7 +33,7 @@ static pteval_t shared_pte_mask = L_PTE_MT_BUFFERABLE; > * Therefore those configurations which might call adjust_pte (those > * without CONFIG_CPU_CACHE_VIPT) cannot support split page_table_lock. > */ > -static int do_adjust_pte(struct vm_area_struct *vma, unsigned long address, > +static int do_adjust_pte(struct mm_area *vma, unsigned long address, > unsigned long pfn, pte_t *ptep) > { > pte_t entry = *ptep; > @@ -61,7 +61,7 @@ static int do_adjust_pte(struct vm_area_struct *vma, unsigned long address, > return ret; > } > > -static int adjust_pte(struct vm_area_struct *vma, unsigned long address, > +static int adjust_pte(struct mm_area *vma, unsigned long address, > unsigned long pfn, bool need_lock) > { > spinlock_t *ptl; > @@ -121,13 +121,13 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address, > } > > static void > -make_coherent(struct address_space *mapping, struct vm_area_struct *vma, > +make_coherent(struct address_space *mapping, struct mm_area *vma, > unsigned long addr, pte_t *ptep, unsigned long pfn) > { > const unsigned long pmd_start_addr = ALIGN_DOWN(addr, PMD_SIZE); > const unsigned long pmd_end_addr = pmd_start_addr + PMD_SIZE; > struct mm_struct *mm = vma->vm_mm; > - struct vm_area_struct *mpnt; > + struct mm_area *mpnt; > unsigned long offset; > pgoff_t pgoff; > int aliases = 0; > @@ -184,7 +184,7 @@ make_coherent(struct address_space *mapping, struct vm_area_struct *vma, > * > * Note that the pte lock will be held. > */ > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long addr, pte_t *ptep, unsigned int nr) > { > unsigned long pfn = pte_pfn(*ptep); > diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c > index ab01b51de559..b89935868510 100644 > --- a/arch/arm/mm/fault.c > +++ b/arch/arm/mm/fault.c > @@ -264,7 +264,7 @@ static int __kprobes > do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int sig, code; > vm_fault_t fault; > unsigned int flags = FAULT_FLAG_DEFAULT; > diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c > index 0749cf8a6637..8b674a426eae 100644 > --- a/arch/arm/mm/flush.c > +++ b/arch/arm/mm/flush.c > @@ -76,7 +76,7 @@ void flush_cache_mm(struct mm_struct *mm) > } > } > > -void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +void flush_cache_range(struct mm_area *vma, unsigned long start, unsigned long end) > { > if (cache_is_vivt()) { > vivt_flush_cache_range(vma, start, end); > @@ -95,7 +95,7 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned > __flush_icache_all(); > } > > -void flush_cache_pages(struct vm_area_struct *vma, unsigned long user_addr, unsigned long pfn, unsigned int nr) > +void flush_cache_pages(struct mm_area *vma, unsigned long user_addr, unsigned long pfn, unsigned int nr) > { > if (cache_is_vivt()) { > vivt_flush_cache_pages(vma, user_addr, pfn, nr); > @@ -156,7 +156,7 @@ void __flush_ptrace_access(struct page *page, unsigned long uaddr, void *kaddr, > } > > static > -void flush_ptrace_access(struct vm_area_struct *vma, struct page *page, > +void flush_ptrace_access(struct mm_area *vma, struct page *page, > unsigned long uaddr, void *kaddr, unsigned long len) > { > unsigned int flags = 0; > @@ -182,7 +182,7 @@ void flush_uprobe_xol_access(struct page *page, unsigned long uaddr, > * > * Note that this code needs to run on the current CPU. > */ > -void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long uaddr, void *dst, const void *src, > unsigned long len) > { > @@ -238,7 +238,7 @@ void __flush_dcache_folio(struct address_space *mapping, struct folio *folio) > static void __flush_dcache_aliases(struct address_space *mapping, struct folio *folio) > { > struct mm_struct *mm = current->active_mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > pgoff_t pgoff, pgoff_end; > > /* > @@ -378,8 +378,8 @@ EXPORT_SYMBOL(flush_dcache_page); > * memcpy() to/from page > * if written to page, flush_dcache_page() > */ > -void __flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned long vmaddr); > -void __flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned long vmaddr) > +void __flush_anon_page(struct mm_area *vma, struct page *page, unsigned long vmaddr); > +void __flush_anon_page(struct mm_area *vma, struct page *page, unsigned long vmaddr) > { > unsigned long pfn; > > diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c > index 3dbb383c26d5..4077f5184814 100644 > --- a/arch/arm/mm/mmap.c > +++ b/arch/arm/mm/mmap.c > @@ -32,7 +32,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, > unsigned long flags, vm_flags_t vm_flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int do_align = 0; > int aliasing = cache_is_vipt_aliasing(); > struct vm_unmapped_area_info info = {}; > @@ -82,7 +82,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, > const unsigned long len, const unsigned long pgoff, > const unsigned long flags, vm_flags_t vm_flags) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > unsigned long addr = addr0; > int do_align = 0; > diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c > index d638cc87807e..57b8172a4830 100644 > --- a/arch/arm/mm/nommu.c > +++ b/arch/arm/mm/nommu.c > @@ -189,7 +189,7 @@ void flush_dcache_page(struct page *page) > } > EXPORT_SYMBOL(flush_dcache_page); > > -void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long uaddr, void *dst, const void *src, > unsigned long len) > { > diff --git a/arch/arm/mm/tlb-v6.S b/arch/arm/mm/tlb-v6.S > index 8256a67ac654..d4481f9f0757 100644 > --- a/arch/arm/mm/tlb-v6.S > +++ b/arch/arm/mm/tlb-v6.S > @@ -27,7 +27,7 @@ > * > * - start - start address (may not be aligned) > * - end - end address (exclusive, may not be aligned) > - * - vma - vm_area_struct describing address range > + * - vma - mm_area describing address range > * > * It is assumed that: > * - the "Invalidate single entry" instruction will invalidate > diff --git a/arch/arm/mm/tlb-v7.S b/arch/arm/mm/tlb-v7.S > index f1aa0764a2cc..28490bba1cf0 100644 > --- a/arch/arm/mm/tlb-v7.S > +++ b/arch/arm/mm/tlb-v7.S > @@ -26,7 +26,7 @@ > * > * - start - start address (may not be aligned) > * - end - end address (exclusive, may not be aligned) > - * - vma - vm_area_struct describing address range > + * - vma - mm_area describing address range > * > * It is assumed that: > * - the "Invalidate single entry" instruction will invalidate > diff --git a/arch/arm/mm/tlb.c b/arch/arm/mm/tlb.c > index 42359793120b..57a2184da8ae 100644 > --- a/arch/arm/mm/tlb.c > +++ b/arch/arm/mm/tlb.c > @@ -6,7 +6,7 @@ > #include > > #ifdef CONFIG_CPU_TLB_V4WT > -void v4_flush_user_tlb_range(unsigned long, unsigned long, struct vm_area_struct *); > +void v4_flush_user_tlb_range(unsigned long, unsigned long, struct mm_area *); > void v4_flush_kern_tlb_range(unsigned long, unsigned long); > > struct cpu_tlb_fns v4_tlb_fns __initconst = { > @@ -17,7 +17,7 @@ struct cpu_tlb_fns v4_tlb_fns __initconst = { > #endif > > #ifdef CONFIG_CPU_TLB_V4WB > -void v4wb_flush_user_tlb_range(unsigned long, unsigned long, struct vm_area_struct *); > +void v4wb_flush_user_tlb_range(unsigned long, unsigned long, struct mm_area *); > void v4wb_flush_kern_tlb_range(unsigned long, unsigned long); > > struct cpu_tlb_fns v4wb_tlb_fns __initconst = { > @@ -28,7 +28,7 @@ struct cpu_tlb_fns v4wb_tlb_fns __initconst = { > #endif > > #if defined(CONFIG_CPU_TLB_V4WBI) || defined(CONFIG_CPU_TLB_FEROCEON) > -void v4wbi_flush_user_tlb_range(unsigned long, unsigned long, struct vm_area_struct *); > +void v4wbi_flush_user_tlb_range(unsigned long, unsigned long, struct mm_area *); > void v4wbi_flush_kern_tlb_range(unsigned long, unsigned long); > > struct cpu_tlb_fns v4wbi_tlb_fns __initconst = { > @@ -39,7 +39,7 @@ struct cpu_tlb_fns v4wbi_tlb_fns __initconst = { > #endif > > #ifdef CONFIG_CPU_TLB_V6 > -void v6wbi_flush_user_tlb_range(unsigned long, unsigned long, struct vm_area_struct *); > +void v6wbi_flush_user_tlb_range(unsigned long, unsigned long, struct mm_area *); > void v6wbi_flush_kern_tlb_range(unsigned long, unsigned long); > > struct cpu_tlb_fns v6wbi_tlb_fns __initconst = { > @@ -50,7 +50,7 @@ struct cpu_tlb_fns v6wbi_tlb_fns __initconst = { > #endif > > #ifdef CONFIG_CPU_TLB_V7 > -void v7wbi_flush_user_tlb_range(unsigned long, unsigned long, struct vm_area_struct *); > +void v7wbi_flush_user_tlb_range(unsigned long, unsigned long, struct mm_area *); > void v7wbi_flush_kern_tlb_range(unsigned long, unsigned long); > > struct cpu_tlb_fns v7wbi_tlb_fns __initconst = { > @@ -73,7 +73,7 @@ asm(" .pushsection \".alt.smp.init\", \"a\" \n" \ > #endif > > #ifdef CONFIG_CPU_TLB_FA > -void fa_flush_user_tlb_range(unsigned long, unsigned long, struct vm_area_struct *); > +void fa_flush_user_tlb_range(unsigned long, unsigned long, struct mm_area *); > void fa_flush_kern_tlb_range(unsigned long, unsigned long); > > struct cpu_tlb_fns fa_tlb_fns __initconst = { > diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c > index a395b6c0aae2..11029e2a5413 100644 > --- a/arch/arm/xen/enlighten.c > +++ b/arch/arm/xen/enlighten.c > @@ -68,7 +68,7 @@ static __read_mostly phys_addr_t xen_grant_frames; > uint32_t xen_start_flags; > EXPORT_SYMBOL(xen_start_flags); > > -int xen_unmap_domain_gfn_range(struct vm_area_struct *vma, > +int xen_unmap_domain_gfn_range(struct mm_area *vma, > int nr, struct page **pages) > { > return xen_xlate_unmap_gfn_range(vma, nr, pages); > diff --git a/arch/arm64/include/asm/cacheflush.h b/arch/arm64/include/asm/cacheflush.h > index 28ab96e808ef..aaf770ee6d2f 100644 > --- a/arch/arm64/include/asm/cacheflush.h > +++ b/arch/arm64/include/asm/cacheflush.h > @@ -109,7 +109,7 @@ static inline void flush_icache_range(unsigned long start, unsigned long end) > * processes address space. Really, we want to allow our "user > * space" model to handle this. > */ > -extern void copy_to_user_page(struct vm_area_struct *, struct page *, > +extern void copy_to_user_page(struct mm_area *, struct page *, > unsigned long, void *, const void *, unsigned long); > #define copy_to_user_page copy_to_user_page > > diff --git a/arch/arm64/include/asm/hugetlb.h b/arch/arm64/include/asm/hugetlb.h > index 07fbf5bf85a7..0b84bfffd34e 100644 > --- a/arch/arm64/include/asm/hugetlb.h > +++ b/arch/arm64/include/asm/hugetlb.h > @@ -38,7 +38,7 @@ pte_t arch_make_huge_pte(pte_t entry, unsigned int shift, vm_flags_t flags); > extern void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, > pte_t *ptep, pte_t pte, unsigned long sz); > #define __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS > -extern int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +extern int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, int dirty); > #define __HAVE_ARCH_HUGE_PTEP_GET_AND_CLEAR > @@ -48,7 +48,7 @@ extern pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, > extern void huge_ptep_set_wrprotect(struct mm_struct *mm, > unsigned long addr, pte_t *ptep); > #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH > -extern pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +extern pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep); > #define __HAVE_ARCH_HUGE_PTE_CLEAR > extern void huge_pte_clear(struct mm_struct *mm, unsigned long addr, > @@ -59,18 +59,18 @@ extern pte_t huge_ptep_get(struct mm_struct *mm, unsigned long addr, pte_t *ptep > void __init arm64_hugetlb_cma_reserve(void); > > #define huge_ptep_modify_prot_start huge_ptep_modify_prot_start > -extern pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma, > +extern pte_t huge_ptep_modify_prot_start(struct mm_area *vma, > unsigned long addr, pte_t *ptep); > > #define huge_ptep_modify_prot_commit huge_ptep_modify_prot_commit > -extern void huge_ptep_modify_prot_commit(struct vm_area_struct *vma, > +extern void huge_ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t old_pte, pte_t new_pte); > > #include > > #define __HAVE_ARCH_FLUSH_HUGETLB_TLB_RANGE > -static inline void flush_hugetlb_tlb_range(struct vm_area_struct *vma, > +static inline void flush_hugetlb_tlb_range(struct mm_area *vma, > unsigned long start, > unsigned long end) > { > diff --git a/arch/arm64/include/asm/mmu_context.h b/arch/arm64/include/asm/mmu_context.h > index 0dbe3b29049b..f0f70fb6934e 100644 > --- a/arch/arm64/include/asm/mmu_context.h > +++ b/arch/arm64/include/asm/mmu_context.h > @@ -307,7 +307,7 @@ static inline unsigned long mm_untag_mask(struct mm_struct *mm) > * Only enforce protection keys on the current process, because there is no > * user context to access POR_EL0 for another address space. > */ > -static inline bool arch_vma_access_permitted(struct vm_area_struct *vma, > +static inline bool arch_vma_access_permitted(struct mm_area *vma, > bool write, bool execute, bool foreign) > { > if (!system_supports_poe()) > diff --git a/arch/arm64/include/asm/page.h b/arch/arm64/include/asm/page.h > index 2312e6ee595f..d2258e036fae 100644 > --- a/arch/arm64/include/asm/page.h > +++ b/arch/arm64/include/asm/page.h > @@ -17,19 +17,19 @@ > #include > > struct page; > -struct vm_area_struct; > +struct mm_area; > > extern void copy_page(void *to, const void *from); > extern void clear_page(void *to); > > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > #define __HAVE_ARCH_COPY_USER_HIGHPAGE > > void copy_highpage(struct page *to, struct page *from); > #define __HAVE_ARCH_COPY_HIGHPAGE > > -struct folio *vma_alloc_zeroed_movable_folio(struct vm_area_struct *vma, > +struct folio *vma_alloc_zeroed_movable_folio(struct mm_area *vma, > unsigned long vaddr); > #define vma_alloc_zeroed_movable_folio vma_alloc_zeroed_movable_folio > > diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h > index d3b538be1500..914caa15c4c8 100644 > --- a/arch/arm64/include/asm/pgtable.h > +++ b/arch/arm64/include/asm/pgtable.h > @@ -1207,13 +1207,13 @@ static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) > return pte_pmd(pte_modify(pmd_pte(pmd), newprot)); > } > > -extern int __ptep_set_access_flags(struct vm_area_struct *vma, > +extern int __ptep_set_access_flags(struct mm_area *vma, > unsigned long address, pte_t *ptep, > pte_t entry, int dirty); > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > #define __HAVE_ARCH_PMDP_SET_ACCESS_FLAGS > -static inline int pmdp_set_access_flags(struct vm_area_struct *vma, > +static inline int pmdp_set_access_flags(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, > pmd_t entry, int dirty) > { > @@ -1252,7 +1252,7 @@ static inline bool pud_user_accessible_page(pud_t pud) > /* > * Atomic pte/pmd modifications. > */ > -static inline int __ptep_test_and_clear_young(struct vm_area_struct *vma, > +static inline int __ptep_test_and_clear_young(struct mm_area *vma, > unsigned long address, > pte_t *ptep) > { > @@ -1269,7 +1269,7 @@ static inline int __ptep_test_and_clear_young(struct vm_area_struct *vma, > return pte_young(pte); > } > > -static inline int __ptep_clear_flush_young(struct vm_area_struct *vma, > +static inline int __ptep_clear_flush_young(struct mm_area *vma, > unsigned long address, pte_t *ptep) > { > int young = __ptep_test_and_clear_young(vma, address, ptep); > @@ -1291,7 +1291,7 @@ static inline int __ptep_clear_flush_young(struct vm_area_struct *vma, > > #if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG) > #define __HAVE_ARCH_PMDP_TEST_AND_CLEAR_YOUNG > -static inline int pmdp_test_and_clear_young(struct vm_area_struct *vma, > +static inline int pmdp_test_and_clear_young(struct mm_area *vma, > unsigned long address, > pmd_t *pmdp) > { > @@ -1388,7 +1388,7 @@ static inline void __wrprotect_ptes(struct mm_struct *mm, unsigned long address, > __ptep_set_wrprotect(mm, address, ptep); > } > > -static inline void __clear_young_dirty_pte(struct vm_area_struct *vma, > +static inline void __clear_young_dirty_pte(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, cydp_t flags) > { > @@ -1407,7 +1407,7 @@ static inline void __clear_young_dirty_pte(struct vm_area_struct *vma, > } while (pte_val(pte) != pte_val(old_pte)); > } > > -static inline void __clear_young_dirty_ptes(struct vm_area_struct *vma, > +static inline void __clear_young_dirty_ptes(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > unsigned int nr, cydp_t flags) > { > @@ -1437,7 +1437,7 @@ static inline void pmdp_set_wrprotect(struct mm_struct *mm, > } > > #define pmdp_establish pmdp_establish > -static inline pmd_t pmdp_establish(struct vm_area_struct *vma, > +static inline pmd_t pmdp_establish(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, pmd_t pmd) > { > page_table_check_pmd_set(vma->vm_mm, pmdp, pmd); > @@ -1506,7 +1506,7 @@ extern void arch_swap_restore(swp_entry_t entry, struct folio *folio); > * On AArch64, the cache coherency is handled via the __set_ptes() function. > */ > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, > + struct mm_area *vma, unsigned long addr, pte_t *ptep, > unsigned int nr) > { > /* > @@ -1552,11 +1552,11 @@ static inline bool pud_sect_supported(void) > > #define __HAVE_ARCH_PTEP_MODIFY_PROT_TRANSACTION > #define ptep_modify_prot_start ptep_modify_prot_start > -extern pte_t ptep_modify_prot_start(struct vm_area_struct *vma, > +extern pte_t ptep_modify_prot_start(struct mm_area *vma, > unsigned long addr, pte_t *ptep); > > #define ptep_modify_prot_commit ptep_modify_prot_commit > -extern void ptep_modify_prot_commit(struct vm_area_struct *vma, > +extern void ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t old_pte, pte_t new_pte); > > @@ -1580,16 +1580,16 @@ extern void contpte_clear_full_ptes(struct mm_struct *mm, unsigned long addr, > extern pte_t contpte_get_and_clear_full_ptes(struct mm_struct *mm, > unsigned long addr, pte_t *ptep, > unsigned int nr, int full); > -extern int contpte_ptep_test_and_clear_young(struct vm_area_struct *vma, > +extern int contpte_ptep_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pte_t *ptep); > -extern int contpte_ptep_clear_flush_young(struct vm_area_struct *vma, > +extern int contpte_ptep_clear_flush_young(struct mm_area *vma, > unsigned long addr, pte_t *ptep); > extern void contpte_wrprotect_ptes(struct mm_struct *mm, unsigned long addr, > pte_t *ptep, unsigned int nr); > -extern int contpte_ptep_set_access_flags(struct vm_area_struct *vma, > +extern int contpte_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t entry, int dirty); > -extern void contpte_clear_young_dirty_ptes(struct vm_area_struct *vma, > +extern void contpte_clear_young_dirty_ptes(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > unsigned int nr, cydp_t flags); > > @@ -1747,7 +1747,7 @@ static inline pte_t ptep_get_and_clear(struct mm_struct *mm, > } > > #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG > -static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, > +static inline int ptep_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > pte_t orig_pte = __ptep_get(ptep); > @@ -1759,7 +1759,7 @@ static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, > } > > #define __HAVE_ARCH_PTEP_CLEAR_YOUNG_FLUSH > -static inline int ptep_clear_flush_young(struct vm_area_struct *vma, > +static inline int ptep_clear_flush_young(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > pte_t orig_pte = __ptep_get(ptep); > @@ -1802,7 +1802,7 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, > } > > #define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS > -static inline int ptep_set_access_flags(struct vm_area_struct *vma, > +static inline int ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t entry, int dirty) > { > @@ -1817,7 +1817,7 @@ static inline int ptep_set_access_flags(struct vm_area_struct *vma, > } > > #define clear_young_dirty_ptes clear_young_dirty_ptes > -static inline void clear_young_dirty_ptes(struct vm_area_struct *vma, > +static inline void clear_young_dirty_ptes(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > unsigned int nr, cydp_t flags) > { > diff --git a/arch/arm64/include/asm/pkeys.h b/arch/arm64/include/asm/pkeys.h > index 0ca5f83ce148..14b1d4bfc8c0 100644 > --- a/arch/arm64/include/asm/pkeys.h > +++ b/arch/arm64/include/asm/pkeys.h > @@ -20,12 +20,12 @@ static inline bool arch_pkeys_enabled(void) > return system_supports_poe(); > } > > -static inline int vma_pkey(struct vm_area_struct *vma) > +static inline int vma_pkey(struct mm_area *vma) > { > return (vma->vm_flags & ARCH_VM_PKEY_FLAGS) >> VM_PKEY_SHIFT; > } > > -static inline int arch_override_mprotect_pkey(struct vm_area_struct *vma, > +static inline int arch_override_mprotect_pkey(struct mm_area *vma, > int prot, int pkey) > { > if (pkey != -1) > diff --git a/arch/arm64/include/asm/tlb.h b/arch/arm64/include/asm/tlb.h > index 8d762607285c..31aac313a4b8 100644 > --- a/arch/arm64/include/asm/tlb.h > +++ b/arch/arm64/include/asm/tlb.h > @@ -52,7 +52,7 @@ static inline int tlb_get_level(struct mmu_gather *tlb) > > static inline void tlb_flush(struct mmu_gather *tlb) > { > - struct vm_area_struct vma = TLB_FLUSH_VMA(tlb->mm, 0); > + struct mm_area vma = TLB_FLUSH_VMA(tlb->mm, 0); > bool last_level = !tlb->freed_tables; > unsigned long stride = tlb_get_unmap_size(tlb); > int tlb_level = tlb_get_level(tlb); > diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h > index eba1a98657f1..bfed61ba7b05 100644 > --- a/arch/arm64/include/asm/tlbflush.h > +++ b/arch/arm64/include/asm/tlbflush.h > @@ -295,13 +295,13 @@ static inline void __flush_tlb_page_nosync(struct mm_struct *mm, > (uaddr & PAGE_MASK) + PAGE_SIZE); > } > > -static inline void flush_tlb_page_nosync(struct vm_area_struct *vma, > +static inline void flush_tlb_page_nosync(struct mm_area *vma, > unsigned long uaddr) > { > return __flush_tlb_page_nosync(vma->vm_mm, uaddr); > } > > -static inline void flush_tlb_page(struct vm_area_struct *vma, > +static inline void flush_tlb_page(struct mm_area *vma, > unsigned long uaddr) > { > flush_tlb_page_nosync(vma, uaddr); > @@ -472,7 +472,7 @@ static inline void __flush_tlb_range_nosync(struct mm_struct *mm, > mmu_notifier_arch_invalidate_secondary_tlbs(mm, start, end); > } > > -static inline void __flush_tlb_range(struct vm_area_struct *vma, > +static inline void __flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end, > unsigned long stride, bool last_level, > int tlb_level) > @@ -482,7 +482,7 @@ static inline void __flush_tlb_range(struct vm_area_struct *vma, > dsb(ish); > } > > -static inline void flush_tlb_range(struct vm_area_struct *vma, > +static inline void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > /* > diff --git a/arch/arm64/kernel/mte.c b/arch/arm64/kernel/mte.c > index 2fbfd27ff5f2..cc561fb4203d 100644 > --- a/arch/arm64/kernel/mte.c > +++ b/arch/arm64/kernel/mte.c > @@ -422,7 +422,7 @@ static int __access_remote_tags(struct mm_struct *mm, unsigned long addr, > return -EIO; > > while (len) { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long tags, offset; > void *maddr; > struct page *page = get_user_page_vma_remote(mm, addr, > diff --git a/arch/arm64/kernel/vdso.c b/arch/arm64/kernel/vdso.c > index 78ddf6bdecad..5e3564b842a4 100644 > --- a/arch/arm64/kernel/vdso.c > +++ b/arch/arm64/kernel/vdso.c > @@ -58,7 +58,7 @@ static struct vdso_abi_info vdso_info[] __ro_after_init = { > }; > > static int vdso_mremap(const struct vm_special_mapping *sm, > - struct vm_area_struct *new_vma) > + struct mm_area *new_vma) > { > current->mm->context.vdso = (void *)new_vma->vm_start; > > @@ -157,7 +157,7 @@ static struct page *aarch32_vectors_page __ro_after_init; > static struct page *aarch32_sig_page __ro_after_init; > > static int aarch32_sigpage_mremap(const struct vm_special_mapping *sm, > - struct vm_area_struct *new_vma) > + struct mm_area *new_vma) > { > current->mm->context.sigpage = (void *)new_vma->vm_start; > > diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c > index 2feb6c6b63af..54ca059f6a02 100644 > --- a/arch/arm64/kvm/mmu.c > +++ b/arch/arm64/kvm/mmu.c > @@ -1017,7 +1017,7 @@ static void stage2_unmap_memslot(struct kvm *kvm, > * +--------------------------------------------+ > */ > do { > - struct vm_area_struct *vma; > + struct mm_area *vma; > hva_t vm_start, vm_end; > > vma = find_vma_intersection(current->mm, hva, reg_end); > @@ -1393,7 +1393,7 @@ transparent_hugepage_adjust(struct kvm *kvm, struct kvm_memory_slot *memslot, > return PAGE_SIZE; > } > > -static int get_vma_page_shift(struct vm_area_struct *vma, unsigned long hva) > +static int get_vma_page_shift(struct mm_area *vma, unsigned long hva) > { > unsigned long pa; > > @@ -1461,7 +1461,7 @@ static void sanitise_mte_tags(struct kvm *kvm, kvm_pfn_t pfn, > } > } > > -static bool kvm_vma_mte_allowed(struct vm_area_struct *vma) > +static bool kvm_vma_mte_allowed(struct mm_area *vma) > { > return vma->vm_flags & VM_MTE_ALLOWED; > } > @@ -1478,7 +1478,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, > unsigned long mmu_seq; > phys_addr_t ipa = fault_ipa; > struct kvm *kvm = vcpu->kvm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > short vma_shift; > void *memcache; > gfn_t gfn; > @@ -2190,7 +2190,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm, > * +--------------------------------------------+ > */ > do { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > vma = find_vma_intersection(current->mm, hva, reg_end); > if (!vma) > diff --git a/arch/arm64/mm/contpte.c b/arch/arm64/mm/contpte.c > index bcac4f55f9c1..8bec9a656558 100644 > --- a/arch/arm64/mm/contpte.c > +++ b/arch/arm64/mm/contpte.c > @@ -49,7 +49,7 @@ static void contpte_try_unfold_partial(struct mm_struct *mm, unsigned long addr, > static void contpte_convert(struct mm_struct *mm, unsigned long addr, > pte_t *ptep, pte_t pte) > { > - struct vm_area_struct vma = TLB_FLUSH_VMA(mm, 0); > + struct mm_area vma = TLB_FLUSH_VMA(mm, 0); > unsigned long start_addr; > pte_t *start_ptep; > int i; > @@ -297,7 +297,7 @@ pte_t contpte_get_and_clear_full_ptes(struct mm_struct *mm, > } > EXPORT_SYMBOL_GPL(contpte_get_and_clear_full_ptes); > > -int contpte_ptep_test_and_clear_young(struct vm_area_struct *vma, > +int contpte_ptep_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > /* > @@ -322,7 +322,7 @@ int contpte_ptep_test_and_clear_young(struct vm_area_struct *vma, > } > EXPORT_SYMBOL_GPL(contpte_ptep_test_and_clear_young); > > -int contpte_ptep_clear_flush_young(struct vm_area_struct *vma, > +int contpte_ptep_clear_flush_young(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > int young; > @@ -361,7 +361,7 @@ void contpte_wrprotect_ptes(struct mm_struct *mm, unsigned long addr, > } > EXPORT_SYMBOL_GPL(contpte_wrprotect_ptes); > > -void contpte_clear_young_dirty_ptes(struct vm_area_struct *vma, > +void contpte_clear_young_dirty_ptes(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > unsigned int nr, cydp_t flags) > { > @@ -390,7 +390,7 @@ void contpte_clear_young_dirty_ptes(struct vm_area_struct *vma, > } > EXPORT_SYMBOL_GPL(contpte_clear_young_dirty_ptes); > > -int contpte_ptep_set_access_flags(struct vm_area_struct *vma, > +int contpte_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t entry, int dirty) > { > diff --git a/arch/arm64/mm/copypage.c b/arch/arm64/mm/copypage.c > index a86c897017df..8bb8e592eab4 100644 > --- a/arch/arm64/mm/copypage.c > +++ b/arch/arm64/mm/copypage.c > @@ -61,7 +61,7 @@ void copy_highpage(struct page *to, struct page *from) > EXPORT_SYMBOL(copy_highpage); > > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > copy_highpage(to, from); > flush_dcache_page(to); > diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c > index ec0a337891dd..340ac8c5bc25 100644 > --- a/arch/arm64/mm/fault.c > +++ b/arch/arm64/mm/fault.c > @@ -210,7 +210,7 @@ static void show_pte(unsigned long addr) > * > * Returns whether or not the PTE actually changed. > */ > -int __ptep_set_access_flags(struct vm_area_struct *vma, > +int __ptep_set_access_flags(struct mm_area *vma, > unsigned long address, pte_t *ptep, > pte_t entry, int dirty) > { > @@ -487,7 +487,7 @@ static void do_bad_area(unsigned long far, unsigned long esr, > } > } > > -static bool fault_from_pkey(unsigned long esr, struct vm_area_struct *vma, > +static bool fault_from_pkey(unsigned long esr, struct mm_area *vma, > unsigned int mm_flags) > { > unsigned long iss2 = ESR_ELx_ISS2(esr); > @@ -526,7 +526,7 @@ static bool is_write_abort(unsigned long esr) > return (esr & ESR_ELx_WNR) && !(esr & ESR_ELx_CM); > } > > -static bool is_invalid_gcs_access(struct vm_area_struct *vma, u64 esr) > +static bool is_invalid_gcs_access(struct mm_area *vma, u64 esr) > { > if (!system_supports_gcs()) > return false; > @@ -552,7 +552,7 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr, > unsigned long vm_flags; > unsigned int mm_flags = FAULT_FLAG_DEFAULT; > unsigned long addr = untagged_addr(far); > - struct vm_area_struct *vma; > + struct mm_area *vma; > int si_code; > int pkey = -1; > > @@ -1010,7 +1010,7 @@ NOKPROBE_SYMBOL(do_debug_exception); > /* > * Used during anonymous page fault handling. > */ > -struct folio *vma_alloc_zeroed_movable_folio(struct vm_area_struct *vma, > +struct folio *vma_alloc_zeroed_movable_folio(struct mm_area *vma, > unsigned long vaddr) > { > gfp_t flags = GFP_HIGHUSER_MOVABLE | __GFP_ZERO; > diff --git a/arch/arm64/mm/flush.c b/arch/arm64/mm/flush.c > index 013eead9b695..4931bb9d9937 100644 > --- a/arch/arm64/mm/flush.c > +++ b/arch/arm64/mm/flush.c > @@ -29,7 +29,7 @@ void sync_icache_aliases(unsigned long start, unsigned long end) > } > } > > -static void flush_ptrace_access(struct vm_area_struct *vma, unsigned long start, > +static void flush_ptrace_access(struct mm_area *vma, unsigned long start, > unsigned long end) > { > if (vma->vm_flags & VM_EXEC) > @@ -41,7 +41,7 @@ static void flush_ptrace_access(struct vm_area_struct *vma, unsigned long start, > * address space. Really, we want to allow our "user space" model to handle > * this. > */ > -void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long uaddr, void *dst, const void *src, > unsigned long len) > { > diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c > index cfe8cb8ba1cc..55246c6e60d0 100644 > --- a/arch/arm64/mm/hugetlbpage.c > +++ b/arch/arm64/mm/hugetlbpage.c > @@ -182,7 +182,7 @@ static pte_t get_clear_contig_flush(struct mm_struct *mm, > unsigned long ncontig) > { > pte_t orig_pte = get_clear_contig(mm, addr, ptep, pgsize, ncontig); > - struct vm_area_struct vma = TLB_FLUSH_VMA(mm, 0); > + struct mm_area vma = TLB_FLUSH_VMA(mm, 0); > > flush_tlb_range(&vma, addr, addr + (pgsize * ncontig)); > return orig_pte; > @@ -203,7 +203,7 @@ static void clear_flush(struct mm_struct *mm, > unsigned long pgsize, > unsigned long ncontig) > { > - struct vm_area_struct vma = TLB_FLUSH_VMA(mm, 0); > + struct mm_area vma = TLB_FLUSH_VMA(mm, 0); > unsigned long i, saddr = addr; > > for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) > @@ -244,7 +244,7 @@ void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, > __set_ptes(mm, addr, ptep, pfn_pte(pfn, hugeprot), 1); > } > > -pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pte_alloc(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, unsigned long sz) > { > pgd_t *pgdp; > @@ -427,7 +427,7 @@ static int __cont_access_flags_changed(pte_t *ptep, pte_t pte, int ncontig) > return 0; > } > > -int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, int dirty) > { > @@ -490,7 +490,7 @@ void huge_ptep_set_wrprotect(struct mm_struct *mm, > __set_ptes(mm, addr, ptep, pfn_pte(pfn, hugeprot), 1); > } > > -pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > struct mm_struct *mm = vma->vm_mm; > @@ -534,7 +534,7 @@ bool __init arch_hugetlb_valid_size(unsigned long size) > return __hugetlb_valid_size(size); > } > > -pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) > +pte_t huge_ptep_modify_prot_start(struct mm_area *vma, unsigned long addr, pte_t *ptep) > { > unsigned long psize = huge_page_size(hstate_vma(vma)); > > @@ -550,7 +550,7 @@ pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr > return huge_ptep_get_and_clear(vma->vm_mm, addr, ptep, psize); > } > > -void huge_ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, > +void huge_ptep_modify_prot_commit(struct mm_area *vma, unsigned long addr, pte_t *ptep, > pte_t old_pte, pte_t pte) > { > unsigned long psize = huge_page_size(hstate_vma(vma)); > diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c > index ea6695d53fb9..4945b810f03c 100644 > --- a/arch/arm64/mm/mmu.c > +++ b/arch/arm64/mm/mmu.c > @@ -1504,7 +1504,7 @@ static int __init prevent_bootmem_remove_init(void) > early_initcall(prevent_bootmem_remove_init); > #endif > > -pte_t ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) > +pte_t ptep_modify_prot_start(struct mm_area *vma, unsigned long addr, pte_t *ptep) > { > if (alternative_has_cap_unlikely(ARM64_WORKAROUND_2645198)) { > /* > @@ -1518,7 +1518,7 @@ pte_t ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte > return ptep_get_and_clear(vma->vm_mm, addr, ptep); > } > > -void ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, > +void ptep_modify_prot_commit(struct mm_area *vma, unsigned long addr, pte_t *ptep, > pte_t old_pte, pte_t pte) > { > set_pte_at(vma->vm_mm, addr, ptep, pte); > diff --git a/arch/csky/abiv1/cacheflush.c b/arch/csky/abiv1/cacheflush.c > index 171e8fb32285..9253db16358c 100644 > --- a/arch/csky/abiv1/cacheflush.c > +++ b/arch/csky/abiv1/cacheflush.c > @@ -41,7 +41,7 @@ void flush_dcache_page(struct page *page) > } > EXPORT_SYMBOL(flush_dcache_page); > > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long addr, pte_t *ptep, unsigned int nr) > { > unsigned long pfn = pte_pfn(*ptep); > @@ -65,7 +65,7 @@ void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > } > } > > -void flush_cache_range(struct vm_area_struct *vma, unsigned long start, > +void flush_cache_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > dcache_wbinv_all(); > diff --git a/arch/csky/abiv1/inc/abi/cacheflush.h b/arch/csky/abiv1/inc/abi/cacheflush.h > index d011a81575d2..be382265c4dc 100644 > --- a/arch/csky/abiv1/inc/abi/cacheflush.h > +++ b/arch/csky/abiv1/inc/abi/cacheflush.h > @@ -30,7 +30,7 @@ static inline void invalidate_kernel_vmap_range(void *addr, int size) > } > > #define ARCH_HAS_FLUSH_ANON_PAGE > -static inline void flush_anon_page(struct vm_area_struct *vma, > +static inline void flush_anon_page(struct mm_area *vma, > struct page *page, unsigned long vmaddr) > { > if (PageAnon(page)) > @@ -41,7 +41,7 @@ static inline void flush_anon_page(struct vm_area_struct *vma, > * if (current_mm != vma->mm) cache_wbinv_range(start, end) will be broken. > * Use cache_wbinv_all() here and need to be improved in future. > */ > -extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); > +extern void flush_cache_range(struct mm_area *vma, unsigned long start, unsigned long end); > #define flush_cache_vmap(start, end) cache_wbinv_all() > #define flush_cache_vmap_early(start, end) do { } while (0) > #define flush_cache_vunmap(start, end) cache_wbinv_all() > diff --git a/arch/csky/abiv1/mmap.c b/arch/csky/abiv1/mmap.c > index 1047865e82a9..587ea707e56a 100644 > --- a/arch/csky/abiv1/mmap.c > +++ b/arch/csky/abiv1/mmap.c > @@ -27,7 +27,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, > unsigned long flags, vm_flags_t vm_flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int do_align = 0; > struct vm_unmapped_area_info info = { > .length = len, > diff --git a/arch/csky/abiv2/cacheflush.c b/arch/csky/abiv2/cacheflush.c > index 876028b1083f..9001fc55ca76 100644 > --- a/arch/csky/abiv2/cacheflush.c > +++ b/arch/csky/abiv2/cacheflush.c > @@ -7,7 +7,7 @@ > #include > #include > > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long address, pte_t *pte, unsigned int nr) > { > unsigned long pfn = pte_pfn(*pte); > diff --git a/arch/csky/include/asm/page.h b/arch/csky/include/asm/page.h > index 4911d0892b71..bd643891e28a 100644 > --- a/arch/csky/include/asm/page.h > +++ b/arch/csky/include/asm/page.h > @@ -43,7 +43,7 @@ struct page; > > #include > > -struct vm_area_struct; > +struct mm_area; > > typedef struct { unsigned long pte_low; } pte_t; > #define pte_val(x) ((x).pte_low) > diff --git a/arch/csky/include/asm/pgtable.h b/arch/csky/include/asm/pgtable.h > index a397e1718ab6..17de85d6cae5 100644 > --- a/arch/csky/include/asm/pgtable.h > +++ b/arch/csky/include/asm/pgtable.h > @@ -263,7 +263,7 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) > extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; > extern void paging_init(void); > > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long address, pte_t *pte, unsigned int nr); > #define update_mmu_cache(vma, addr, ptep) \ > update_mmu_cache_range(NULL, vma, addr, ptep, 1) > diff --git a/arch/csky/include/asm/tlbflush.h b/arch/csky/include/asm/tlbflush.h > index 407160b4fde7..1bb6e57ee7a5 100644 > --- a/arch/csky/include/asm/tlbflush.h > +++ b/arch/csky/include/asm/tlbflush.h > @@ -14,8 +14,8 @@ > */ > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *mm); > -extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page); > -extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +extern void flush_tlb_page(struct mm_area *vma, unsigned long page); > +extern void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); > > diff --git a/arch/csky/kernel/vdso.c b/arch/csky/kernel/vdso.c > index c54d019d66bc..cb26b07cc994 100644 > --- a/arch/csky/kernel/vdso.c > +++ b/arch/csky/kernel/vdso.c > @@ -40,7 +40,7 @@ arch_initcall(vdso_init); > int arch_setup_additional_pages(struct linux_binprm *bprm, > int uses_interp) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > unsigned long vdso_base, vdso_len; > int ret; > diff --git a/arch/csky/mm/fault.c b/arch/csky/mm/fault.c > index 5226bc08c336..f64991717a1a 100644 > --- a/arch/csky/mm/fault.c > +++ b/arch/csky/mm/fault.c > @@ -168,7 +168,7 @@ static inline void vmalloc_fault(struct pt_regs *regs, int code, unsigned long a > flush_tlb_one(addr); > } > > -static inline bool access_error(struct pt_regs *regs, struct vm_area_struct *vma) > +static inline bool access_error(struct pt_regs *regs, struct mm_area *vma) > { > if (is_write(regs)) { > if (!(vma->vm_flags & VM_WRITE)) > @@ -187,7 +187,7 @@ static inline bool access_error(struct pt_regs *regs, struct vm_area_struct *vma > asmlinkage void do_page_fault(struct pt_regs *regs) > { > struct task_struct *tsk; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm; > unsigned long addr = read_mmu_entryhi() & PAGE_MASK; > unsigned int flags = FAULT_FLAG_DEFAULT; > diff --git a/arch/csky/mm/tlb.c b/arch/csky/mm/tlb.c > index 9234c5e5ceaf..ad8e9be1a714 100644 > --- a/arch/csky/mm/tlb.c > +++ b/arch/csky/mm/tlb.c > @@ -49,7 +49,7 @@ do { \ > } while (0) > #endif > > -void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > unsigned long newpid = cpu_asid(vma->vm_mm); > @@ -132,7 +132,7 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end) > #endif > } > > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > +void flush_tlb_page(struct mm_area *vma, unsigned long addr) > { > int newpid = cpu_asid(vma->vm_mm); > > diff --git a/arch/hexagon/include/asm/cacheflush.h b/arch/hexagon/include/asm/cacheflush.h > index bfff514a81c8..29c492c45995 100644 > --- a/arch/hexagon/include/asm/cacheflush.h > +++ b/arch/hexagon/include/asm/cacheflush.h > @@ -59,7 +59,7 @@ extern void flush_cache_all_hexagon(void); > * > */ > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > pte_t *ptep, unsigned int nr) > { > /* generic_ptrace_pokedata doesn't wind up here, does it? */ > @@ -68,7 +68,7 @@ static inline void update_mmu_cache_range(struct vm_fault *vmf, > #define update_mmu_cache(vma, addr, ptep) \ > update_mmu_cache_range(NULL, vma, addr, ptep, 1) > > -void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long vaddr, void *dst, void *src, int len); > #define copy_to_user_page copy_to_user_page > > diff --git a/arch/hexagon/include/asm/tlbflush.h b/arch/hexagon/include/asm/tlbflush.h > index a7c9ab398cab..e79e62a0e132 100644 > --- a/arch/hexagon/include/asm/tlbflush.h > +++ b/arch/hexagon/include/asm/tlbflush.h > @@ -23,8 +23,8 @@ > */ > extern void tlb_flush_all(void); > extern void flush_tlb_mm(struct mm_struct *mm); > -extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr); > -extern void flush_tlb_range(struct vm_area_struct *vma, > +extern void flush_tlb_page(struct mm_area *vma, unsigned long addr); > +extern void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end); > extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); > extern void flush_tlb_one(unsigned long); > diff --git a/arch/hexagon/kernel/vdso.c b/arch/hexagon/kernel/vdso.c > index 8119084dc519..c4728b6e7b05 100644 > --- a/arch/hexagon/kernel/vdso.c > +++ b/arch/hexagon/kernel/vdso.c > @@ -51,7 +51,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) > { > int ret; > unsigned long vdso_base; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > static struct vm_special_mapping vdso_mapping = { > .name = "[vdso]", > @@ -87,7 +87,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) > return ret; > } > > -const char *arch_vma_name(struct vm_area_struct *vma) > +const char *arch_vma_name(struct mm_area *vma) > { > if (vma->vm_mm && vma->vm_start == (long)vma->vm_mm->context.vdso) > return "[vdso]"; > diff --git a/arch/hexagon/mm/cache.c b/arch/hexagon/mm/cache.c > index 7e46f40c8b54..c16d16954a28 100644 > --- a/arch/hexagon/mm/cache.c > +++ b/arch/hexagon/mm/cache.c > @@ -115,7 +115,7 @@ void flush_cache_all_hexagon(void) > mb(); > } > > -void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long vaddr, void *dst, void *src, int len) > { > memcpy(dst, src, len); > diff --git a/arch/hexagon/mm/vm_fault.c b/arch/hexagon/mm/vm_fault.c > index 3771fb453898..5eef0342fcaa 100644 > --- a/arch/hexagon/mm/vm_fault.c > +++ b/arch/hexagon/mm/vm_fault.c > @@ -36,7 +36,7 @@ > */ > static void do_page_fault(unsigned long address, long cause, struct pt_regs *regs) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > int si_signo; > int si_code = SEGV_MAPERR; > diff --git a/arch/hexagon/mm/vm_tlb.c b/arch/hexagon/mm/vm_tlb.c > index 8b6405e2234b..fee2184306a4 100644 > --- a/arch/hexagon/mm/vm_tlb.c > +++ b/arch/hexagon/mm/vm_tlb.c > @@ -23,7 +23,7 @@ > * processors must be induced to flush the copies in their local TLBs, > * but Hexagon thread-based virtual processors share the same MMU. > */ > -void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > @@ -64,7 +64,7 @@ void flush_tlb_mm(struct mm_struct *mm) > /* > * Flush TLB state associated with a page of a vma. > */ > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long vaddr) > +void flush_tlb_page(struct mm_area *vma, unsigned long vaddr) > { > struct mm_struct *mm = vma->vm_mm; > > diff --git a/arch/loongarch/include/asm/hugetlb.h b/arch/loongarch/include/asm/hugetlb.h > index 4dc4b3e04225..6b92e8c42e37 100644 > --- a/arch/loongarch/include/asm/hugetlb.h > +++ b/arch/loongarch/include/asm/hugetlb.h > @@ -48,7 +48,7 @@ static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > } > > #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH > -static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +static inline pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > pte_t pte; > @@ -67,7 +67,7 @@ static inline int huge_pte_none(pte_t pte) > } > > #define __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS > -static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +static inline int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, > pte_t *ptep, pte_t pte, > int dirty) > diff --git a/arch/loongarch/include/asm/page.h b/arch/loongarch/include/asm/page.h > index 7368f12b7cb1..d58207b68c4b 100644 > --- a/arch/loongarch/include/asm/page.h > +++ b/arch/loongarch/include/asm/page.h > @@ -36,9 +36,9 @@ extern void copy_page(void *to, void *from); > extern unsigned long shm_align_mask; > > struct page; > -struct vm_area_struct; > +struct mm_area; > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > > #define __HAVE_ARCH_COPY_USER_HIGHPAGE > > diff --git a/arch/loongarch/include/asm/pgtable.h b/arch/loongarch/include/asm/pgtable.h > index da346733a1da..8f8764731345 100644 > --- a/arch/loongarch/include/asm/pgtable.h > +++ b/arch/loongarch/include/asm/pgtable.h > @@ -63,7 +63,7 @@ > #include > > struct mm_struct; > -struct vm_area_struct; > +struct mm_area; > > /* > * ZERO_PAGE is a global shared page that is always zero; used > @@ -438,11 +438,11 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) > (pgprot_val(newprot) & ~_PAGE_CHG_MASK)); > } > > -extern void __update_tlb(struct vm_area_struct *vma, > +extern void __update_tlb(struct mm_area *vma, > unsigned long address, pte_t *ptep); > > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > pte_t *ptep, unsigned int nr) > { > for (;;) { > @@ -459,7 +459,7 @@ static inline void update_mmu_cache_range(struct vm_fault *vmf, > #define update_mmu_tlb_range(vma, addr, ptep, nr) \ > update_mmu_cache_range(NULL, vma, addr, ptep, nr) > > -static inline void update_mmu_cache_pmd(struct vm_area_struct *vma, > +static inline void update_mmu_cache_pmd(struct mm_area *vma, > unsigned long address, pmd_t *pmdp) > { > __update_tlb(vma, address, (pte_t *)pmdp); > diff --git a/arch/loongarch/include/asm/tlb.h b/arch/loongarch/include/asm/tlb.h > index e071f5e9e858..38a860530433 100644 > --- a/arch/loongarch/include/asm/tlb.h > +++ b/arch/loongarch/include/asm/tlb.h > @@ -139,7 +139,7 @@ static void tlb_flush(struct mmu_gather *tlb); > > static inline void tlb_flush(struct mmu_gather *tlb) > { > - struct vm_area_struct vma; > + struct mm_area vma; > > vma.vm_mm = tlb->mm; > vm_flags_init(&vma, 0); > diff --git a/arch/loongarch/include/asm/tlbflush.h b/arch/loongarch/include/asm/tlbflush.h > index a0785e590681..3cab349279d8 100644 > --- a/arch/loongarch/include/asm/tlbflush.h > +++ b/arch/loongarch/include/asm/tlbflush.h > @@ -20,18 +20,18 @@ extern void local_flush_tlb_all(void); > extern void local_flush_tlb_user(void); > extern void local_flush_tlb_kernel(void); > extern void local_flush_tlb_mm(struct mm_struct *mm); > -extern void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); > +extern void local_flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end); > extern void local_flush_tlb_kernel_range(unsigned long start, unsigned long end); > -extern void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page); > +extern void local_flush_tlb_page(struct mm_area *vma, unsigned long page); > extern void local_flush_tlb_one(unsigned long vaddr); > > #ifdef CONFIG_SMP > > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *); > -extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long, unsigned long); > +extern void flush_tlb_range(struct mm_area *vma, unsigned long, unsigned long); > extern void flush_tlb_kernel_range(unsigned long, unsigned long); > -extern void flush_tlb_page(struct vm_area_struct *, unsigned long); > +extern void flush_tlb_page(struct mm_area *, unsigned long); > extern void flush_tlb_one(unsigned long vaddr); > > #else /* CONFIG_SMP */ > diff --git a/arch/loongarch/kernel/smp.c b/arch/loongarch/kernel/smp.c > index 4b24589c0b56..f3cf1633dcc4 100644 > --- a/arch/loongarch/kernel/smp.c > +++ b/arch/loongarch/kernel/smp.c > @@ -703,7 +703,7 @@ void flush_tlb_mm(struct mm_struct *mm) > } > > struct flush_tlb_data { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr1; > unsigned long addr2; > }; > @@ -715,7 +715,7 @@ static void flush_tlb_range_ipi(void *info) > local_flush_tlb_range(fd->vma, fd->addr1, fd->addr2); > } > > -void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +void flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > > @@ -764,7 +764,7 @@ static void flush_tlb_page_ipi(void *info) > local_flush_tlb_page(fd->vma, fd->addr1); > } > > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void flush_tlb_page(struct mm_area *vma, unsigned long page) > { > preempt_disable(); > if ((atomic_read(&vma->vm_mm->mm_users) != 1) || (current->mm != vma->vm_mm)) { > diff --git a/arch/loongarch/kernel/vdso.c b/arch/loongarch/kernel/vdso.c > index 10cf1608c7b3..a33039241859 100644 > --- a/arch/loongarch/kernel/vdso.c > +++ b/arch/loongarch/kernel/vdso.c > @@ -25,7 +25,7 @@ > > extern char vdso_start[], vdso_end[]; > > -static int vdso_mremap(const struct vm_special_mapping *sm, struct vm_area_struct *new_vma) > +static int vdso_mremap(const struct vm_special_mapping *sm, struct mm_area *new_vma) > { > current->mm->context.vdso = (void *)(new_vma->vm_start); > > @@ -79,7 +79,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) > int ret; > unsigned long size, data_addr, vdso_addr; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct loongarch_vdso_info *info = current->thread.vdso; > > if (mmap_write_lock_killable(mm)) > diff --git a/arch/loongarch/mm/fault.c b/arch/loongarch/mm/fault.c > index deefd9617d00..b61c282fe87b 100644 > --- a/arch/loongarch/mm/fault.c > +++ b/arch/loongarch/mm/fault.c > @@ -179,7 +179,7 @@ static void __kprobes __do_page_fault(struct pt_regs *regs, > unsigned int flags = FAULT_FLAG_DEFAULT; > struct task_struct *tsk = current; > struct mm_struct *mm = tsk->mm; > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > vm_fault_t fault; > > if (kprobe_page_fault(regs, current->thread.trap_nr)) > diff --git a/arch/loongarch/mm/hugetlbpage.c b/arch/loongarch/mm/hugetlbpage.c > index e4068906143b..44d9969da492 100644 > --- a/arch/loongarch/mm/hugetlbpage.c > +++ b/arch/loongarch/mm/hugetlbpage.c > @@ -13,7 +13,7 @@ > #include > #include > > -pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pte_alloc(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, unsigned long sz) > { > pgd_t *pgd; > diff --git a/arch/loongarch/mm/init.c b/arch/loongarch/mm/init.c > index fdb7f73ad160..f238502ebed5 100644 > --- a/arch/loongarch/mm/init.c > +++ b/arch/loongarch/mm/init.c > @@ -40,7 +40,7 @@ unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)] __page_aligned_ > EXPORT_SYMBOL(empty_zero_page); > > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > void *vfrom, *vto; > > diff --git a/arch/loongarch/mm/mmap.c b/arch/loongarch/mm/mmap.c > index 1df9e99582cc..438f85199a7b 100644 > --- a/arch/loongarch/mm/mmap.c > +++ b/arch/loongarch/mm/mmap.c > @@ -23,7 +23,7 @@ static unsigned long arch_get_unmapped_area_common(struct file *filp, > unsigned long flags, enum mmap_allocation_direction dir) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr = addr0; > int do_color_align; > struct vm_unmapped_area_info info = {}; > diff --git a/arch/loongarch/mm/tlb.c b/arch/loongarch/mm/tlb.c > index 3b427b319db2..ec386b53110b 100644 > --- a/arch/loongarch/mm/tlb.c > +++ b/arch/loongarch/mm/tlb.c > @@ -54,7 +54,7 @@ void local_flush_tlb_mm(struct mm_struct *mm) > preempt_enable(); > } > > -void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void local_flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > @@ -110,7 +110,7 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) > local_irq_restore(flags); > } > > -void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void local_flush_tlb_page(struct mm_area *vma, unsigned long page) > { > int cpu = smp_processor_id(); > > @@ -135,7 +135,7 @@ void local_flush_tlb_one(unsigned long page) > invtlb_addr(INVTLB_ADDR_GTRUE_OR_ASID, 0, page); > } > > -static void __update_hugetlb(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) > +static void __update_hugetlb(struct mm_area *vma, unsigned long address, pte_t *ptep) > { > #ifdef CONFIG_HUGETLB_PAGE > int idx; > @@ -163,7 +163,7 @@ static void __update_hugetlb(struct vm_area_struct *vma, unsigned long address, > #endif > } > > -void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) > +void __update_tlb(struct mm_area *vma, unsigned long address, pte_t *ptep) > { > int idx; > unsigned long flags; > diff --git a/arch/m68k/include/asm/cacheflush_mm.h b/arch/m68k/include/asm/cacheflush_mm.h > index 9a71b0148461..edf5f643578d 100644 > --- a/arch/m68k/include/asm/cacheflush_mm.h > +++ b/arch/m68k/include/asm/cacheflush_mm.h > @@ -204,7 +204,7 @@ static inline void flush_cache_mm(struct mm_struct *mm) > > /* flush_cache_range/flush_cache_page must be macros to avoid > a dependency on linux/mm.h, which includes this file... */ > -static inline void flush_cache_range(struct vm_area_struct *vma, > +static inline void flush_cache_range(struct mm_area *vma, > unsigned long start, > unsigned long end) > { > @@ -212,7 +212,7 @@ static inline void flush_cache_range(struct vm_area_struct *vma, > __flush_cache_030(); > } > > -static inline void flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long pfn) > +static inline void flush_cache_page(struct mm_area *vma, unsigned long vmaddr, unsigned long pfn) > { > if (vma->vm_mm == current->mm) > __flush_cache_030(); > @@ -263,13 +263,13 @@ static inline void __flush_pages_to_ram(void *vaddr, unsigned int nr) > #define flush_icache_pages(vma, page, nr) \ > __flush_pages_to_ram(page_address(page), nr) > > -extern void flush_icache_user_page(struct vm_area_struct *vma, struct page *page, > +extern void flush_icache_user_page(struct mm_area *vma, struct page *page, > unsigned long addr, int len); > extern void flush_icache_range(unsigned long address, unsigned long endaddr); > extern void flush_icache_user_range(unsigned long address, > unsigned long endaddr); > > -static inline void copy_to_user_page(struct vm_area_struct *vma, > +static inline void copy_to_user_page(struct mm_area *vma, > struct page *page, unsigned long vaddr, > void *dst, void *src, int len) > { > @@ -277,7 +277,7 @@ static inline void copy_to_user_page(struct vm_area_struct *vma, > memcpy(dst, src, len); > flush_icache_user_page(vma, page, vaddr, len); > } > -static inline void copy_from_user_page(struct vm_area_struct *vma, > +static inline void copy_from_user_page(struct mm_area *vma, > struct page *page, unsigned long vaddr, > void *dst, void *src, int len) > { > diff --git a/arch/m68k/include/asm/pgtable_mm.h b/arch/m68k/include/asm/pgtable_mm.h > index dbdf1c2b2f66..fadc4c0e77cc 100644 > --- a/arch/m68k/include/asm/pgtable_mm.h > +++ b/arch/m68k/include/asm/pgtable_mm.h > @@ -137,7 +137,7 @@ extern void kernel_set_cachemode(void *addr, unsigned long size, int cmode); > * they are updated on demand. > */ > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > pte_t *ptep, unsigned int nr) > { > } > diff --git a/arch/m68k/include/asm/tlbflush.h b/arch/m68k/include/asm/tlbflush.h > index 6d42e2906887..925c19068569 100644 > --- a/arch/m68k/include/asm/tlbflush.h > +++ b/arch/m68k/include/asm/tlbflush.h > @@ -81,13 +81,13 @@ static inline void flush_tlb_mm(struct mm_struct *mm) > __flush_tlb(); > } > > -static inline void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > +static inline void flush_tlb_page(struct mm_area *vma, unsigned long addr) > { > if (vma->vm_mm == current->active_mm) > __flush_tlb_one(addr); > } > > -static inline void flush_tlb_range(struct vm_area_struct *vma, > +static inline void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > if (vma->vm_mm == current->active_mm) > @@ -161,7 +161,7 @@ static inline void flush_tlb_mm (struct mm_struct *mm) > > /* Flush a single TLB page. In this case, we're limited to flushing a > single PMEG */ > -static inline void flush_tlb_page (struct vm_area_struct *vma, > +static inline void flush_tlb_page (struct mm_area *vma, > unsigned long addr) > { > unsigned char oldctx; > @@ -182,7 +182,7 @@ static inline void flush_tlb_page (struct vm_area_struct *vma, > } > /* Flush a range of pages from TLB. */ > > -static inline void flush_tlb_range (struct vm_area_struct *vma, > +static inline void flush_tlb_range (struct mm_area *vma, > unsigned long start, unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > @@ -252,12 +252,12 @@ static inline void flush_tlb_mm(struct mm_struct *mm) > BUG(); > } > > -static inline void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > +static inline void flush_tlb_page(struct mm_area *vma, unsigned long addr) > { > BUG(); > } > > -static inline void flush_tlb_range(struct vm_area_struct *vma, > +static inline void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > BUG(); > diff --git a/arch/m68k/kernel/sys_m68k.c b/arch/m68k/kernel/sys_m68k.c > index 1af5e6082467..cc534ec40930 100644 > --- a/arch/m68k/kernel/sys_m68k.c > +++ b/arch/m68k/kernel/sys_m68k.c > @@ -391,7 +391,7 @@ sys_cacheflush (unsigned long addr, int scope, int cache, unsigned long len) > > mmap_read_lock(current->mm); > } else { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > /* Check for overflow. */ > if (addr + len < addr) > diff --git a/arch/m68k/mm/cache.c b/arch/m68k/mm/cache.c > index dde978e66f14..2858f1113768 100644 > --- a/arch/m68k/mm/cache.c > +++ b/arch/m68k/mm/cache.c > @@ -96,7 +96,7 @@ void flush_icache_range(unsigned long address, unsigned long endaddr) > } > EXPORT_SYMBOL(flush_icache_range); > > -void flush_icache_user_page(struct vm_area_struct *vma, struct page *page, > +void flush_icache_user_page(struct mm_area *vma, struct page *page, > unsigned long addr, int len) > { > if (CPU_IS_COLDFIRE) { > diff --git a/arch/m68k/mm/fault.c b/arch/m68k/mm/fault.c > index fa3c5f38d989..af2e500427fd 100644 > --- a/arch/m68k/mm/fault.c > +++ b/arch/m68k/mm/fault.c > @@ -71,7 +71,7 @@ int do_page_fault(struct pt_regs *regs, unsigned long address, > unsigned long error_code) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct * vma; > + struct mm_area * vma; > vm_fault_t fault; > unsigned int flags = FAULT_FLAG_DEFAULT; > > diff --git a/arch/microblaze/include/asm/cacheflush.h b/arch/microblaze/include/asm/cacheflush.h > index ffa2cf3893e4..c509ae39fec5 100644 > --- a/arch/microblaze/include/asm/cacheflush.h > +++ b/arch/microblaze/include/asm/cacheflush.h > @@ -85,7 +85,7 @@ static inline void flush_dcache_folio(struct folio *folio) > #define flush_cache_page(vma, vmaddr, pfn) \ > flush_dcache_range(pfn << PAGE_SHIFT, (pfn << PAGE_SHIFT) + PAGE_SIZE); > > -static inline void copy_to_user_page(struct vm_area_struct *vma, > +static inline void copy_to_user_page(struct mm_area *vma, > struct page *page, unsigned long vaddr, > void *dst, void *src, int len) > { > diff --git a/arch/microblaze/include/asm/pgtable.h b/arch/microblaze/include/asm/pgtable.h > index e4ea2ec3642f..659f30da0029 100644 > --- a/arch/microblaze/include/asm/pgtable.h > +++ b/arch/microblaze/include/asm/pgtable.h > @@ -336,8 +336,8 @@ static inline void set_pte(pte_t *ptep, pte_t pte) > } > > #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG > -struct vm_area_struct; > -static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, > +struct mm_area; > +static inline int ptep_test_and_clear_young(struct mm_area *vma, > unsigned long address, pte_t *ptep) > { > return (pte_update(ptep, _PAGE_ACCESSED, 0) & _PAGE_ACCESSED) != 0; > diff --git a/arch/microblaze/include/asm/tlbflush.h b/arch/microblaze/include/asm/tlbflush.h > index a31ae9d44083..88e958108295 100644 > --- a/arch/microblaze/include/asm/tlbflush.h > +++ b/arch/microblaze/include/asm/tlbflush.h > @@ -24,10 +24,10 @@ static inline void local_flush_tlb_all(void) > { __tlbia(); } > static inline void local_flush_tlb_mm(struct mm_struct *mm) > { __tlbia(); } > -static inline void local_flush_tlb_page(struct vm_area_struct *vma, > +static inline void local_flush_tlb_page(struct mm_area *vma, > unsigned long vmaddr) > { __tlbie(vmaddr); } > -static inline void local_flush_tlb_range(struct vm_area_struct *vma, > +static inline void local_flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { __tlbia(); } > > diff --git a/arch/microblaze/mm/fault.c b/arch/microblaze/mm/fault.c > index d3c3c33b73a6..3a0d2463eb4a 100644 > --- a/arch/microblaze/mm/fault.c > +++ b/arch/microblaze/mm/fault.c > @@ -86,7 +86,7 @@ void bad_page_fault(struct pt_regs *regs, unsigned long address, int sig) > void do_page_fault(struct pt_regs *regs, unsigned long address, > unsigned long error_code) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > int code = SEGV_MAPERR; > int is_write = error_code & ESR_S; > diff --git a/arch/mips/alchemy/common/setup.c b/arch/mips/alchemy/common/setup.c > index a7a6d31a7a41..b10a34b4a2ce 100644 > --- a/arch/mips/alchemy/common/setup.c > +++ b/arch/mips/alchemy/common/setup.c > @@ -94,7 +94,7 @@ phys_addr_t fixup_bigphys_addr(phys_addr_t phys_addr, phys_addr_t size) > return phys_addr; > } > > -int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long vaddr, > +int io_remap_pfn_range(struct mm_area *vma, unsigned long vaddr, > unsigned long pfn, unsigned long size, pgprot_t prot) > { > phys_addr_t phys_addr = fixup_bigphys_addr(pfn << PAGE_SHIFT, size); > diff --git a/arch/mips/include/asm/cacheflush.h b/arch/mips/include/asm/cacheflush.h > index 1f14132b3fc9..6a10565c2726 100644 > --- a/arch/mips/include/asm/cacheflush.h > +++ b/arch/mips/include/asm/cacheflush.h > @@ -47,9 +47,9 @@ extern void (*flush_cache_all)(void); > extern void (*__flush_cache_all)(void); > extern void (*flush_cache_mm)(struct mm_struct *mm); > #define flush_cache_dup_mm(mm) do { (void) (mm); } while (0) > -extern void (*flush_cache_range)(struct vm_area_struct *vma, > +extern void (*flush_cache_range)(struct mm_area *vma, > unsigned long start, unsigned long end); > -extern void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page, unsigned long pfn); > +extern void (*flush_cache_page)(struct mm_area *vma, unsigned long page, unsigned long pfn); > extern void __flush_dcache_pages(struct page *page, unsigned int nr); > > #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1 > @@ -75,7 +75,7 @@ static inline void flush_dcache_page(struct page *page) > > #define ARCH_HAS_FLUSH_ANON_PAGE > extern void __flush_anon_page(struct page *, unsigned long); > -static inline void flush_anon_page(struct vm_area_struct *vma, > +static inline void flush_anon_page(struct mm_area *vma, > struct page *page, unsigned long vmaddr) > { > if (cpu_has_dc_aliases && PageAnon(page)) > @@ -107,11 +107,11 @@ static inline void flush_cache_vunmap(unsigned long start, unsigned long end) > __flush_cache_vunmap(); > } > > -extern void copy_to_user_page(struct vm_area_struct *vma, > +extern void copy_to_user_page(struct mm_area *vma, > struct page *page, unsigned long vaddr, void *dst, const void *src, > unsigned long len); > > -extern void copy_from_user_page(struct vm_area_struct *vma, > +extern void copy_from_user_page(struct mm_area *vma, > struct page *page, unsigned long vaddr, void *dst, const void *src, > unsigned long len); > > diff --git a/arch/mips/include/asm/hugetlb.h b/arch/mips/include/asm/hugetlb.h > index fbc71ddcf0f6..abe7683fc4c4 100644 > --- a/arch/mips/include/asm/hugetlb.h > +++ b/arch/mips/include/asm/hugetlb.h > @@ -39,7 +39,7 @@ static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > } > > #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH > -static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +static inline pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > pte_t pte; > @@ -63,7 +63,7 @@ static inline int huge_pte_none(pte_t pte) > } > > #define __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS > -static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +static inline int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, > pte_t *ptep, pte_t pte, > int dirty) > diff --git a/arch/mips/include/asm/page.h b/arch/mips/include/asm/page.h > index bc3e3484c1bf..5be4423baee8 100644 > --- a/arch/mips/include/asm/page.h > +++ b/arch/mips/include/asm/page.h > @@ -91,9 +91,9 @@ static inline void clear_user_page(void *addr, unsigned long vaddr, > flush_data_cache_page((unsigned long)addr); > } > > -struct vm_area_struct; > +struct mm_area; > extern void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > > #define __HAVE_ARCH_COPY_USER_HIGHPAGE > > diff --git a/arch/mips/include/asm/pgtable.h b/arch/mips/include/asm/pgtable.h > index c29a551eb0ca..ab28b3855dfc 100644 > --- a/arch/mips/include/asm/pgtable.h > +++ b/arch/mips/include/asm/pgtable.h > @@ -23,7 +23,7 @@ > #include > > struct mm_struct; > -struct vm_area_struct; > +struct mm_area; > > #define PAGE_SHARED vm_get_page_prot(VM_READ|VM_WRITE|VM_SHARED) > > @@ -478,7 +478,7 @@ static inline pgprot_t pgprot_writecombine(pgprot_t _prot) > return __pgprot(prot); > } > > -static inline void flush_tlb_fix_spurious_fault(struct vm_area_struct *vma, > +static inline void flush_tlb_fix_spurious_fault(struct mm_area *vma, > unsigned long address, > pte_t *ptep) > { > @@ -491,7 +491,7 @@ static inline int pte_same(pte_t pte_a, pte_t pte_b) > } > > #define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS > -static inline int ptep_set_access_flags(struct vm_area_struct *vma, > +static inline int ptep_set_access_flags(struct mm_area *vma, > unsigned long address, pte_t *ptep, > pte_t entry, int dirty) > { > @@ -575,11 +575,11 @@ static inline pte_t pte_swp_clear_exclusive(pte_t pte) > } > #endif > > -extern void __update_tlb(struct vm_area_struct *vma, unsigned long address, > +extern void __update_tlb(struct mm_area *vma, unsigned long address, > pte_t pte); > > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > pte_t *ptep, unsigned int nr) > { > for (;;) { > @@ -597,7 +597,7 @@ static inline void update_mmu_cache_range(struct vm_fault *vmf, > #define update_mmu_tlb_range(vma, address, ptep, nr) \ > update_mmu_cache_range(NULL, vma, address, ptep, nr) > > -static inline void update_mmu_cache_pmd(struct vm_area_struct *vma, > +static inline void update_mmu_cache_pmd(struct mm_area *vma, > unsigned long address, pmd_t *pmdp) > { > pte_t pte = *(pte_t *)pmdp; > @@ -610,7 +610,7 @@ static inline void update_mmu_cache_pmd(struct vm_area_struct *vma, > */ > #ifdef CONFIG_MIPS_FIXUP_BIGPHYS_ADDR > phys_addr_t fixup_bigphys_addr(phys_addr_t addr, phys_addr_t size); > -int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long vaddr, > +int io_remap_pfn_range(struct mm_area *vma, unsigned long vaddr, > unsigned long pfn, unsigned long size, pgprot_t prot); > #define io_remap_pfn_range io_remap_pfn_range > #else > diff --git a/arch/mips/include/asm/tlbflush.h b/arch/mips/include/asm/tlbflush.h > index 9789e7a32def..26d11d18b2b4 100644 > --- a/arch/mips/include/asm/tlbflush.h > +++ b/arch/mips/include/asm/tlbflush.h > @@ -14,11 +14,11 @@ > * - flush_tlb_kernel_range(start, end) flushes a range of kernel pages > */ > extern void local_flush_tlb_all(void); > -extern void local_flush_tlb_range(struct vm_area_struct *vma, > +extern void local_flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end); > extern void local_flush_tlb_kernel_range(unsigned long start, > unsigned long end); > -extern void local_flush_tlb_page(struct vm_area_struct *vma, > +extern void local_flush_tlb_page(struct mm_area *vma, > unsigned long page); > extern void local_flush_tlb_one(unsigned long vaddr); > > @@ -28,10 +28,10 @@ extern void local_flush_tlb_one(unsigned long vaddr); > > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *); > -extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long, > +extern void flush_tlb_range(struct mm_area *vma, unsigned long, > unsigned long); > extern void flush_tlb_kernel_range(unsigned long, unsigned long); > -extern void flush_tlb_page(struct vm_area_struct *, unsigned long); > +extern void flush_tlb_page(struct mm_area *, unsigned long); > extern void flush_tlb_one(unsigned long vaddr); > > #else /* CONFIG_SMP */ > diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c > index 39e193cad2b9..6f006e89d2f3 100644 > --- a/arch/mips/kernel/smp.c > +++ b/arch/mips/kernel/smp.c > @@ -566,7 +566,7 @@ void flush_tlb_mm(struct mm_struct *mm) > } > > struct flush_tlb_data { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr1; > unsigned long addr2; > }; > @@ -578,7 +578,7 @@ static void flush_tlb_range_ipi(void *info) > local_flush_tlb_range(fd->vma, fd->addr1, fd->addr2); > } > > -void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +void flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > unsigned long addr; > @@ -652,7 +652,7 @@ static void flush_tlb_page_ipi(void *info) > local_flush_tlb_page(fd->vma, fd->addr1); > } > > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void flush_tlb_page(struct mm_area *vma, unsigned long page) > { > u32 old_mmid; > > diff --git a/arch/mips/kernel/vdso.c b/arch/mips/kernel/vdso.c > index de096777172f..4ab46161d876 100644 > --- a/arch/mips/kernel/vdso.c > +++ b/arch/mips/kernel/vdso.c > @@ -79,7 +79,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) > struct mips_vdso_image *image = current->thread.abi->vdso; > struct mm_struct *mm = current->mm; > unsigned long gic_size, size, base, data_addr, vdso_addr, gic_pfn, gic_base; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int ret; > > if (mmap_write_lock_killable(mm)) > diff --git a/arch/mips/mm/c-octeon.c b/arch/mips/mm/c-octeon.c > index b7393b61cfa7..ba064d76dd1b 100644 > --- a/arch/mips/mm/c-octeon.c > +++ b/arch/mips/mm/c-octeon.c > @@ -60,7 +60,7 @@ static void local_octeon_flush_icache_range(unsigned long start, > * > * @vma: VMA to flush or NULL to flush all icaches. > */ > -static void octeon_flush_icache_all_cores(struct vm_area_struct *vma) > +static void octeon_flush_icache_all_cores(struct mm_area *vma) > { > extern void octeon_send_ipi_single(int cpu, unsigned int action); > #ifdef CONFIG_SMP > @@ -136,7 +136,7 @@ static void octeon_flush_icache_range(unsigned long start, unsigned long end) > * @start: beginning address for flush > * @end: ending address for flush > */ > -static void octeon_flush_cache_range(struct vm_area_struct *vma, > +static void octeon_flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > if (vma->vm_flags & VM_EXEC) > @@ -151,7 +151,7 @@ static void octeon_flush_cache_range(struct vm_area_struct *vma, > * @page: Page to flush > * @pfn: Page frame number > */ > -static void octeon_flush_cache_page(struct vm_area_struct *vma, > +static void octeon_flush_cache_page(struct mm_area *vma, > unsigned long page, unsigned long pfn) > { > if (vma->vm_flags & VM_EXEC) > diff --git a/arch/mips/mm/c-r3k.c b/arch/mips/mm/c-r3k.c > index 5869df848fab..c97e789bb9cb 100644 > --- a/arch/mips/mm/c-r3k.c > +++ b/arch/mips/mm/c-r3k.c > @@ -228,12 +228,12 @@ static void r3k_flush_cache_mm(struct mm_struct *mm) > { > } > > -static void r3k_flush_cache_range(struct vm_area_struct *vma, > +static void r3k_flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > } > > -static void r3k_flush_cache_page(struct vm_area_struct *vma, > +static void r3k_flush_cache_page(struct mm_area *vma, > unsigned long addr, unsigned long pfn) > { > unsigned long kaddr = KSEG0ADDR(pfn << PAGE_SHIFT); > diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c > index 10413b6f6662..d2e65e6548e4 100644 > --- a/arch/mips/mm/c-r4k.c > +++ b/arch/mips/mm/c-r4k.c > @@ -469,7 +469,7 @@ static void r4k__flush_cache_vunmap(void) > */ > static inline void local_r4k_flush_cache_range(void * args) > { > - struct vm_area_struct *vma = args; > + struct mm_area *vma = args; > int exec = vma->vm_flags & VM_EXEC; > > if (!has_valid_asid(vma->vm_mm, R4K_INDEX)) > @@ -487,7 +487,7 @@ static inline void local_r4k_flush_cache_range(void * args) > r4k_blast_icache(); > } > > -static void r4k_flush_cache_range(struct vm_area_struct *vma, > +static void r4k_flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > int exec = vma->vm_flags & VM_EXEC; > @@ -529,7 +529,7 @@ static void r4k_flush_cache_mm(struct mm_struct *mm) > } > > struct flush_cache_page_args { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr; > unsigned long pfn; > }; > @@ -537,7 +537,7 @@ struct flush_cache_page_args { > static inline void local_r4k_flush_cache_page(void *args) > { > struct flush_cache_page_args *fcp_args = args; > - struct vm_area_struct *vma = fcp_args->vma; > + struct mm_area *vma = fcp_args->vma; > unsigned long addr = fcp_args->addr; > struct page *page = pfn_to_page(fcp_args->pfn); > int exec = vma->vm_flags & VM_EXEC; > @@ -605,7 +605,7 @@ static inline void local_r4k_flush_cache_page(void *args) > } > } > > -static void r4k_flush_cache_page(struct vm_area_struct *vma, > +static void r4k_flush_cache_page(struct mm_area *vma, > unsigned long addr, unsigned long pfn) > { > struct flush_cache_page_args args; > diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c > index bf9a37c60e9f..10eba2a62402 100644 > --- a/arch/mips/mm/cache.c > +++ b/arch/mips/mm/cache.c > @@ -30,9 +30,9 @@ void (*flush_cache_all)(void); > void (*__flush_cache_all)(void); > EXPORT_SYMBOL_GPL(__flush_cache_all); > void (*flush_cache_mm)(struct mm_struct *mm); > -void (*flush_cache_range)(struct vm_area_struct *vma, unsigned long start, > +void (*flush_cache_range)(struct mm_area *vma, unsigned long start, > unsigned long end); > -void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page, > +void (*flush_cache_page)(struct mm_area *vma, unsigned long page, > unsigned long pfn); > void (*flush_icache_range)(unsigned long start, unsigned long end); > EXPORT_SYMBOL_GPL(flush_icache_range); > diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c > index 37fedeaca2e9..a18c0a590a1e 100644 > --- a/arch/mips/mm/fault.c > +++ b/arch/mips/mm/fault.c > @@ -39,7 +39,7 @@ int show_unhandled_signals = 1; > static void __do_page_fault(struct pt_regs *regs, unsigned long write, > unsigned long address) > { > - struct vm_area_struct * vma = NULL; > + struct mm_area * vma = NULL; > struct task_struct *tsk = current; > struct mm_struct *mm = tsk->mm; > const int field = sizeof(unsigned long) * 2; > diff --git a/arch/mips/mm/hugetlbpage.c b/arch/mips/mm/hugetlbpage.c > index 0b9e15555b59..a1b62b2ce516 100644 > --- a/arch/mips/mm/hugetlbpage.c > +++ b/arch/mips/mm/hugetlbpage.c > @@ -21,7 +21,7 @@ > #include > #include > > -pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pte_alloc(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, unsigned long sz) > { > pgd_t *pgd; > diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c > index a673d3d68254..69ae87f80ad8 100644 > --- a/arch/mips/mm/init.c > +++ b/arch/mips/mm/init.c > @@ -161,7 +161,7 @@ void kunmap_coherent(void) > } > > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > struct folio *src = page_folio(from); > void *vfrom, *vto; > @@ -185,7 +185,7 @@ void copy_user_highpage(struct page *to, struct page *from, > smp_wmb(); > } > > -void copy_to_user_page(struct vm_area_struct *vma, > +void copy_to_user_page(struct mm_area *vma, > struct page *page, unsigned long vaddr, void *dst, const void *src, > unsigned long len) > { > @@ -205,7 +205,7 @@ void copy_to_user_page(struct vm_area_struct *vma, > flush_cache_page(vma, vaddr, page_to_pfn(page)); > } > > -void copy_from_user_page(struct vm_area_struct *vma, > +void copy_from_user_page(struct mm_area *vma, > struct page *page, unsigned long vaddr, void *dst, const void *src, > unsigned long len) > { > diff --git a/arch/mips/mm/mmap.c b/arch/mips/mm/mmap.c > index 5d2a1225785b..5451673f26d2 100644 > --- a/arch/mips/mm/mmap.c > +++ b/arch/mips/mm/mmap.c > @@ -31,7 +31,7 @@ static unsigned long arch_get_unmapped_area_common(struct file *filp, > unsigned long flags, enum mmap_allocation_direction dir) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr = addr0; > int do_color_align; > struct vm_unmapped_area_info info = {}; > diff --git a/arch/mips/mm/tlb-r3k.c b/arch/mips/mm/tlb-r3k.c > index 173f7b36033b..b43ba28e3a6a 100644 > --- a/arch/mips/mm/tlb-r3k.c > +++ b/arch/mips/mm/tlb-r3k.c > @@ -64,7 +64,7 @@ void local_flush_tlb_all(void) > local_irq_restore(flags); > } > > -void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void local_flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > unsigned long asid_mask = cpu_asid_mask(¤t_cpu_data); > @@ -144,7 +144,7 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) > local_irq_restore(flags); > } > > -void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void local_flush_tlb_page(struct mm_area *vma, unsigned long page) > { > unsigned long asid_mask = cpu_asid_mask(¤t_cpu_data); > int cpu = smp_processor_id(); > @@ -176,7 +176,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > } > } > > -void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) > +void __update_tlb(struct mm_area *vma, unsigned long address, pte_t pte) > { > unsigned long asid_mask = cpu_asid_mask(¤t_cpu_data); > unsigned long flags; > diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c > index 76f3b9c0a9f0..391bc8414146 100644 > --- a/arch/mips/mm/tlb-r4k.c > +++ b/arch/mips/mm/tlb-r4k.c > @@ -45,7 +45,7 @@ static inline void flush_micro_tlb(void) > } > } > > -static inline void flush_micro_tlb_vm(struct vm_area_struct *vma) > +static inline void flush_micro_tlb_vm(struct mm_area *vma) > { > if (vma->vm_flags & VM_EXEC) > flush_micro_tlb(); > @@ -103,7 +103,7 @@ void local_flush_tlb_all(void) > } > EXPORT_SYMBOL(local_flush_tlb_all); > > -void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void local_flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > @@ -208,7 +208,7 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) > local_irq_restore(flags); > } > > -void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void local_flush_tlb_page(struct mm_area *vma, unsigned long page) > { > int cpu = smp_processor_id(); > > @@ -290,7 +290,7 @@ void local_flush_tlb_one(unsigned long page) > * updates the TLB with the new pte(s), and another which also checks > * for the R4k "end of page" hardware bug and does the needy. > */ > -void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte) > +void __update_tlb(struct mm_area * vma, unsigned long address, pte_t pte) > { > unsigned long flags; > pgd_t *pgdp; > diff --git a/arch/mips/vdso/genvdso.c b/arch/mips/vdso/genvdso.c > index d47412ea6e67..4fdccdfe055d 100644 > --- a/arch/mips/vdso/genvdso.c > +++ b/arch/mips/vdso/genvdso.c > @@ -261,7 +261,7 @@ int main(int argc, char **argv) > fprintf(out_file, "#include \n"); > fprintf(out_file, "static int vdso_mremap(\n"); > fprintf(out_file, " const struct vm_special_mapping *sm,\n"); > - fprintf(out_file, " struct vm_area_struct *new_vma)\n"); > + fprintf(out_file, " struct mm_area *new_vma)\n"); > fprintf(out_file, "{\n"); > fprintf(out_file, " current->mm->context.vdso =\n"); > fprintf(out_file, " (void *)(new_vma->vm_start);\n"); > diff --git a/arch/nios2/include/asm/cacheflush.h b/arch/nios2/include/asm/cacheflush.h > index 81484a776b33..c87da07c790b 100644 > --- a/arch/nios2/include/asm/cacheflush.h > +++ b/arch/nios2/include/asm/cacheflush.h > @@ -23,9 +23,9 @@ struct mm_struct; > extern void flush_cache_all(void); > extern void flush_cache_mm(struct mm_struct *mm); > extern void flush_cache_dup_mm(struct mm_struct *mm); > -extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start, > +extern void flush_cache_range(struct mm_area *vma, unsigned long start, > unsigned long end); > -extern void flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, > +extern void flush_cache_page(struct mm_area *vma, unsigned long vmaddr, > unsigned long pfn); > #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1 > void flush_dcache_page(struct page *page); > @@ -33,7 +33,7 @@ void flush_dcache_folio(struct folio *folio); > #define flush_dcache_folio flush_dcache_folio > > extern void flush_icache_range(unsigned long start, unsigned long end); > -void flush_icache_pages(struct vm_area_struct *vma, struct page *page, > +void flush_icache_pages(struct mm_area *vma, struct page *page, > unsigned int nr); > #define flush_icache_pages flush_icache_pages > > @@ -41,10 +41,10 @@ void flush_icache_pages(struct vm_area_struct *vma, struct page *page, > #define flush_cache_vmap_early(start, end) do { } while (0) > #define flush_cache_vunmap(start, end) flush_dcache_range(start, end) > > -extern void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +extern void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, > void *dst, void *src, int len); > -extern void copy_from_user_page(struct vm_area_struct *vma, struct page *page, > +extern void copy_from_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, > void *dst, void *src, int len); > > diff --git a/arch/nios2/include/asm/pgtable.h b/arch/nios2/include/asm/pgtable.h > index eab87c6beacb..558eda85615e 100644 > --- a/arch/nios2/include/asm/pgtable.h > +++ b/arch/nios2/include/asm/pgtable.h > @@ -285,7 +285,7 @@ static inline pte_t pte_swp_clear_exclusive(pte_t pte) > extern void __init paging_init(void); > extern void __init mmu_init(void); > > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long address, pte_t *ptep, unsigned int nr); > > #define update_mmu_cache(vma, addr, ptep) \ > diff --git a/arch/nios2/include/asm/tlbflush.h b/arch/nios2/include/asm/tlbflush.h > index 362d6da09d02..913f409d9777 100644 > --- a/arch/nios2/include/asm/tlbflush.h > +++ b/arch/nios2/include/asm/tlbflush.h > @@ -23,11 +23,11 @@ struct mm_struct; > */ > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *mm); > -extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +extern void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); > > -static inline void flush_tlb_page(struct vm_area_struct *vma, > +static inline void flush_tlb_page(struct mm_area *vma, > unsigned long address) > { > flush_tlb_range(vma, address, address + PAGE_SIZE); > @@ -38,7 +38,7 @@ static inline void flush_tlb_kernel_page(unsigned long address) > flush_tlb_kernel_range(address, address + PAGE_SIZE); > } > > -extern void reload_tlb_page(struct vm_area_struct *vma, unsigned long addr, > +extern void reload_tlb_page(struct mm_area *vma, unsigned long addr, > pte_t pte); > > #endif /* _ASM_NIOS2_TLBFLUSH_H */ > diff --git a/arch/nios2/kernel/sys_nios2.c b/arch/nios2/kernel/sys_nios2.c > index b1ca85699952..7c275dff5822 100644 > --- a/arch/nios2/kernel/sys_nios2.c > +++ b/arch/nios2/kernel/sys_nios2.c > @@ -21,7 +21,7 @@ > asmlinkage int sys_cacheflush(unsigned long addr, unsigned long len, > unsigned int op) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > > if (len == 0) > diff --git a/arch/nios2/mm/cacheflush.c b/arch/nios2/mm/cacheflush.c > index 0ee9c5f02e08..357ea747ea3d 100644 > --- a/arch/nios2/mm/cacheflush.c > +++ b/arch/nios2/mm/cacheflush.c > @@ -74,7 +74,7 @@ static void __flush_icache(unsigned long start, unsigned long end) > static void flush_aliases(struct address_space *mapping, struct folio *folio) > { > struct mm_struct *mm = current->active_mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long flags; > pgoff_t pgoff; > unsigned long nr = folio_nr_pages(folio); > @@ -131,7 +131,7 @@ void invalidate_dcache_range(unsigned long start, unsigned long end) > } > EXPORT_SYMBOL(invalidate_dcache_range); > > -void flush_cache_range(struct vm_area_struct *vma, unsigned long start, > +void flush_cache_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > __flush_dcache(start, end); > @@ -139,7 +139,7 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start, > __flush_icache(start, end); > } > > -void flush_icache_pages(struct vm_area_struct *vma, struct page *page, > +void flush_icache_pages(struct mm_area *vma, struct page *page, > unsigned int nr) > { > unsigned long start = (unsigned long) page_address(page); > @@ -149,7 +149,7 @@ void flush_icache_pages(struct vm_area_struct *vma, struct page *page, > __flush_icache(start, end); > } > > -void flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, > +void flush_cache_page(struct mm_area *vma, unsigned long vmaddr, > unsigned long pfn) > { > unsigned long start = vmaddr; > @@ -206,7 +206,7 @@ void flush_dcache_page(struct page *page) > } > EXPORT_SYMBOL(flush_dcache_page); > > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long address, pte_t *ptep, unsigned int nr) > { > pte_t pte = *ptep; > @@ -258,7 +258,7 @@ void clear_user_page(void *addr, unsigned long vaddr, struct page *page) > __flush_icache((unsigned long)addr, (unsigned long)addr + PAGE_SIZE); > } > > -void copy_from_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_from_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, > void *dst, void *src, int len) > { > @@ -269,7 +269,7 @@ void copy_from_user_page(struct vm_area_struct *vma, struct page *page, > __flush_icache((unsigned long)src, (unsigned long)src + len); > } > > -void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, > void *dst, void *src, int len) > { > diff --git a/arch/nios2/mm/fault.c b/arch/nios2/mm/fault.c > index e3fa9c15181d..7901f945202e 100644 > --- a/arch/nios2/mm/fault.c > +++ b/arch/nios2/mm/fault.c > @@ -43,7 +43,7 @@ > asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long cause, > unsigned long address) > { > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > struct task_struct *tsk = current; > struct mm_struct *mm = tsk->mm; > int code = SEGV_MAPERR; > diff --git a/arch/nios2/mm/init.c b/arch/nios2/mm/init.c > index 94efa3de3933..8f5a08ff465d 100644 > --- a/arch/nios2/mm/init.c > +++ b/arch/nios2/mm/init.c > @@ -96,7 +96,7 @@ arch_initcall(alloc_kuser_page); > int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_write_lock(mm); > > @@ -110,7 +110,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) > return IS_ERR(vma) ? PTR_ERR(vma) : 0; > } > > -const char *arch_vma_name(struct vm_area_struct *vma) > +const char *arch_vma_name(struct mm_area *vma) > { > return (vma->vm_start == KUSER_BASE) ? "[kuser]" : NULL; > } > diff --git a/arch/nios2/mm/tlb.c b/arch/nios2/mm/tlb.c > index f90ac35f05f3..749b4fd052cf 100644 > --- a/arch/nios2/mm/tlb.c > +++ b/arch/nios2/mm/tlb.c > @@ -99,7 +99,7 @@ static void reload_tlb_one_pid(unsigned long addr, unsigned long mmu_pid, pte_t > replace_tlb_one_pid(addr, mmu_pid, pte_val(pte)); > } > > -void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > unsigned long mmu_pid = get_pid_from_context(&vma->vm_mm->context); > @@ -110,7 +110,7 @@ void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > } > } > > -void reload_tlb_page(struct vm_area_struct *vma, unsigned long addr, pte_t pte) > +void reload_tlb_page(struct mm_area *vma, unsigned long addr, pte_t pte) > { > unsigned long mmu_pid = get_pid_from_context(&vma->vm_mm->context); > > diff --git a/arch/openrisc/include/asm/pgtable.h b/arch/openrisc/include/asm/pgtable.h > index 60c6ce7ff2dc..0acc625d0607 100644 > --- a/arch/openrisc/include/asm/pgtable.h > +++ b/arch/openrisc/include/asm/pgtable.h > @@ -370,18 +370,18 @@ static inline unsigned long pmd_page_vaddr(pmd_t pmd) > > extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; /* defined in head.S */ > > -struct vm_area_struct; > +struct mm_area; > > -static inline void update_tlb(struct vm_area_struct *vma, > +static inline void update_tlb(struct mm_area *vma, > unsigned long address, pte_t *pte) > { > } > > -extern void update_cache(struct vm_area_struct *vma, > +extern void update_cache(struct mm_area *vma, > unsigned long address, pte_t *pte); > > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > pte_t *ptep, unsigned int nr) > { > update_tlb(vma, address, ptep); > diff --git a/arch/openrisc/include/asm/tlbflush.h b/arch/openrisc/include/asm/tlbflush.h > index dbf030365ab4..4773da3c2d29 100644 > --- a/arch/openrisc/include/asm/tlbflush.h > +++ b/arch/openrisc/include/asm/tlbflush.h > @@ -29,9 +29,9 @@ > */ > extern void local_flush_tlb_all(void); > extern void local_flush_tlb_mm(struct mm_struct *mm); > -extern void local_flush_tlb_page(struct vm_area_struct *vma, > +extern void local_flush_tlb_page(struct mm_area *vma, > unsigned long addr); > -extern void local_flush_tlb_range(struct vm_area_struct *vma, > +extern void local_flush_tlb_range(struct mm_area *vma, > unsigned long start, > unsigned long end); > > @@ -43,8 +43,8 @@ extern void local_flush_tlb_range(struct vm_area_struct *vma, > #else > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *mm); > -extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr); > -extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +extern void flush_tlb_page(struct mm_area *vma, unsigned long addr); > +extern void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > #endif > > diff --git a/arch/openrisc/kernel/smp.c b/arch/openrisc/kernel/smp.c > index 86da4bc5ee0b..1eb34b914609 100644 > --- a/arch/openrisc/kernel/smp.c > +++ b/arch/openrisc/kernel/smp.c > @@ -300,12 +300,12 @@ void flush_tlb_mm(struct mm_struct *mm) > smp_flush_tlb_mm(mm_cpumask(mm), mm); > } > > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) > +void flush_tlb_page(struct mm_area *vma, unsigned long uaddr) > { > smp_flush_tlb_range(mm_cpumask(vma->vm_mm), uaddr, uaddr + PAGE_SIZE); > } > > -void flush_tlb_range(struct vm_area_struct *vma, > +void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > const struct cpumask *cmask = vma ? mm_cpumask(vma->vm_mm) > diff --git a/arch/openrisc/mm/cache.c b/arch/openrisc/mm/cache.c > index 7bdd07cfca60..64649f65f943 100644 > --- a/arch/openrisc/mm/cache.c > +++ b/arch/openrisc/mm/cache.c > @@ -78,7 +78,7 @@ void local_icache_range_inv(unsigned long start, unsigned long end) > cache_loop(start, end, SPR_ICBIR, SPR_UPR_ICP); > } > > -void update_cache(struct vm_area_struct *vma, unsigned long address, > +void update_cache(struct mm_area *vma, unsigned long address, > pte_t *pte) > { > unsigned long pfn = pte_val(*pte) >> PAGE_SHIFT; > diff --git a/arch/openrisc/mm/fault.c b/arch/openrisc/mm/fault.c > index 29e232d78d82..800bceca3bcd 100644 > --- a/arch/openrisc/mm/fault.c > +++ b/arch/openrisc/mm/fault.c > @@ -48,7 +48,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long address, > { > struct task_struct *tsk; > struct mm_struct *mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int si_code; > vm_fault_t fault; > unsigned int flags = FAULT_FLAG_DEFAULT; > diff --git a/arch/openrisc/mm/tlb.c b/arch/openrisc/mm/tlb.c > index 3115f2e4f864..594a5adb8646 100644 > --- a/arch/openrisc/mm/tlb.c > +++ b/arch/openrisc/mm/tlb.c > @@ -80,7 +80,7 @@ void local_flush_tlb_all(void) > #define flush_itlb_page_no_eir(addr) \ > mtspr_off(SPR_ITLBMR_BASE(0), ITLB_OFFSET(addr), 0); > > -void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > +void local_flush_tlb_page(struct mm_area *vma, unsigned long addr) > { > if (have_dtlbeir) > flush_dtlb_page_eir(addr); > @@ -93,7 +93,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > flush_itlb_page_no_eir(addr); > } > > -void local_flush_tlb_range(struct vm_area_struct *vma, > +void local_flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > int addr; > diff --git a/arch/parisc/include/asm/cacheflush.h b/arch/parisc/include/asm/cacheflush.h > index 8394718870e1..fe13de0d9a12 100644 > --- a/arch/parisc/include/asm/cacheflush.h > +++ b/arch/parisc/include/asm/cacheflush.h > @@ -58,7 +58,7 @@ static inline void flush_dcache_page(struct page *page) > #define flush_dcache_mmap_unlock_irqrestore(mapping, flags) \ > xa_unlock_irqrestore(&mapping->i_pages, flags) > > -void flush_icache_pages(struct vm_area_struct *vma, struct page *page, > +void flush_icache_pages(struct mm_area *vma, struct page *page, > unsigned int nr); > #define flush_icache_pages flush_icache_pages > > @@ -67,17 +67,17 @@ void flush_icache_pages(struct vm_area_struct *vma, struct page *page, > flush_kernel_icache_range_asm(s,e); \ > } while (0) > > -void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, void *dst, void *src, int len); > -void copy_from_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_from_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, void *dst, void *src, int len); > -void flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, > +void flush_cache_page(struct mm_area *vma, unsigned long vmaddr, > unsigned long pfn); > -void flush_cache_range(struct vm_area_struct *vma, > +void flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end); > > #define ARCH_HAS_FLUSH_ANON_PAGE > -void flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned long vmaddr); > +void flush_anon_page(struct mm_area *vma, struct page *page, unsigned long vmaddr); > > #define ARCH_HAS_FLUSH_ON_KUNMAP > void kunmap_flush_on_unmap(const void *addr); > diff --git a/arch/parisc/include/asm/hugetlb.h b/arch/parisc/include/asm/hugetlb.h > index 21e9ace17739..f19c029f612b 100644 > --- a/arch/parisc/include/asm/hugetlb.h > +++ b/arch/parisc/include/asm/hugetlb.h > @@ -13,7 +13,7 @@ pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, > pte_t *ptep, unsigned long sz); > > #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH > -static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +static inline pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > return *ptep; > @@ -24,7 +24,7 @@ void huge_ptep_set_wrprotect(struct mm_struct *mm, > unsigned long addr, pte_t *ptep); > > #define __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS > -int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, int dirty); > > diff --git a/arch/parisc/include/asm/page.h b/arch/parisc/include/asm/page.h > index 7fd447092630..427bf90b3f98 100644 > --- a/arch/parisc/include/asm/page.h > +++ b/arch/parisc/include/asm/page.h > @@ -17,13 +17,13 @@ > #define copy_page(to, from) copy_page_asm((void *)(to), (void *)(from)) > > struct page; > -struct vm_area_struct; > +struct mm_area; > > void clear_page_asm(void *page); > void copy_page_asm(void *to, void *from); > #define clear_user_page(vto, vaddr, page) clear_page_asm(vto) > void copy_user_highpage(struct page *to, struct page *from, unsigned long vaddr, > - struct vm_area_struct *vma); > + struct mm_area *vma); > #define __HAVE_ARCH_COPY_USER_HIGHPAGE > > /* > diff --git a/arch/parisc/include/asm/pgtable.h b/arch/parisc/include/asm/pgtable.h > index babf65751e81..4b59b5fbd85c 100644 > --- a/arch/parisc/include/asm/pgtable.h > +++ b/arch/parisc/include/asm/pgtable.h > @@ -454,7 +454,7 @@ static inline pte_t ptep_get(pte_t *ptep) > } > #define ptep_get ptep_get > > -static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) > +static inline int ptep_test_and_clear_young(struct mm_area *vma, unsigned long addr, pte_t *ptep) > { > pte_t pte; > > @@ -466,8 +466,8 @@ static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned > return 1; > } > > -int ptep_clear_flush_young(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep); > -pte_t ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep); > +int ptep_clear_flush_young(struct mm_area *vma, unsigned long addr, pte_t *ptep); > +pte_t ptep_clear_flush(struct mm_area *vma, unsigned long addr, pte_t *ptep); > > struct mm_struct; > static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) > diff --git a/arch/parisc/include/asm/tlbflush.h b/arch/parisc/include/asm/tlbflush.h > index 5ffd7c17f593..3683645fd41d 100644 > --- a/arch/parisc/include/asm/tlbflush.h > +++ b/arch/parisc/include/asm/tlbflush.h > @@ -61,7 +61,7 @@ static inline void flush_tlb_mm(struct mm_struct *mm) > #endif > } > > -static inline void flush_tlb_page(struct vm_area_struct *vma, > +static inline void flush_tlb_page(struct mm_area *vma, > unsigned long addr) > { > purge_tlb_entries(vma->vm_mm, addr); > diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c > index db531e58d70e..752562b78d90 100644 > --- a/arch/parisc/kernel/cache.c > +++ b/arch/parisc/kernel/cache.c > @@ -328,7 +328,7 @@ void disable_sr_hashing(void) > } > > static inline void > -__flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, > +__flush_cache_page(struct mm_area *vma, unsigned long vmaddr, > unsigned long physaddr) > { > if (!static_branch_likely(&parisc_has_cache)) > @@ -390,7 +390,7 @@ void kunmap_flush_on_unmap(const void *addr) > } > EXPORT_SYMBOL(kunmap_flush_on_unmap); > > -void flush_icache_pages(struct vm_area_struct *vma, struct page *page, > +void flush_icache_pages(struct mm_area *vma, struct page *page, > unsigned int nr) > { > void *kaddr = page_address(page); > @@ -473,7 +473,7 @@ static inline unsigned long get_upa(struct mm_struct *mm, unsigned long addr) > void flush_dcache_folio(struct folio *folio) > { > struct address_space *mapping = folio_flush_mapping(folio); > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr, old_addr = 0; > void *kaddr; > unsigned long count = 0; > @@ -620,7 +620,7 @@ extern void purge_kernel_dcache_page_asm(unsigned long); > extern void clear_user_page_asm(void *, unsigned long); > extern void copy_user_page_asm(void *, void *, unsigned long); > > -static void flush_cache_page_if_present(struct vm_area_struct *vma, > +static void flush_cache_page_if_present(struct mm_area *vma, > unsigned long vmaddr) > { > #if CONFIG_FLUSH_PAGE_ACCESSED > @@ -645,7 +645,7 @@ static void flush_cache_page_if_present(struct vm_area_struct *vma, > } > > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > void *kto, *kfrom; > > @@ -657,7 +657,7 @@ void copy_user_highpage(struct page *to, struct page *from, > kunmap_local(kfrom); > } > > -void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, void *dst, void *src, int len) > { > __flush_cache_page(vma, user_vaddr, PFN_PHYS(page_to_pfn(page))); > @@ -665,7 +665,7 @@ void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > flush_kernel_dcache_page_addr(PTR_PAGE_ALIGN_DOWN(dst)); > } > > -void copy_from_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_from_user_page(struct mm_area *vma, struct page *page, > unsigned long user_vaddr, void *dst, void *src, int len) > { > __flush_cache_page(vma, user_vaddr, PFN_PHYS(page_to_pfn(page))); > @@ -702,7 +702,7 @@ int __flush_tlb_range(unsigned long sid, unsigned long start, > return 0; > } > > -static void flush_cache_pages(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +static void flush_cache_pages(struct mm_area *vma, unsigned long start, unsigned long end) > { > unsigned long addr; > > @@ -712,7 +712,7 @@ static void flush_cache_pages(struct vm_area_struct *vma, unsigned long start, u > > static inline unsigned long mm_total_size(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long usize = 0; > VMA_ITERATOR(vmi, mm, 0); > > @@ -726,7 +726,7 @@ static inline unsigned long mm_total_size(struct mm_struct *mm) > > void flush_cache_mm(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, 0); > > /* > @@ -751,7 +751,7 @@ void flush_cache_mm(struct mm_struct *mm) > flush_cache_pages(vma, vma->vm_start, vma->vm_end); > } > > -void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +void flush_cache_range(struct mm_area *vma, unsigned long start, unsigned long end) > { > if (!parisc_requires_coherency() > || end - start >= parisc_cache_flush_threshold) { > @@ -768,12 +768,12 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned > flush_cache_pages(vma, start & PAGE_MASK, end); > } > > -void flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long pfn) > +void flush_cache_page(struct mm_area *vma, unsigned long vmaddr, unsigned long pfn) > { > __flush_cache_page(vma, vmaddr, PFN_PHYS(pfn)); > } > > -void flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned long vmaddr) > +void flush_anon_page(struct mm_area *vma, struct page *page, unsigned long vmaddr) > { > if (!PageAnon(page)) > return; > @@ -781,7 +781,7 @@ void flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned lon > __flush_cache_page(vma, vmaddr, PFN_PHYS(page_to_pfn(page))); > } > > -int ptep_clear_flush_young(struct vm_area_struct *vma, unsigned long addr, > +int ptep_clear_flush_young(struct mm_area *vma, unsigned long addr, > pte_t *ptep) > { > pte_t pte = ptep_get(ptep); > @@ -801,7 +801,7 @@ int ptep_clear_flush_young(struct vm_area_struct *vma, unsigned long addr, > * can cause random cache corruption. Thus, we must flush the cache > * as well as the TLB when clearing a PTE that's valid. > */ > -pte_t ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr, > +pte_t ptep_clear_flush(struct mm_area *vma, unsigned long addr, > pte_t *ptep) > { > struct mm_struct *mm = (vma)->vm_mm; > diff --git a/arch/parisc/kernel/sys_parisc.c b/arch/parisc/kernel/sys_parisc.c > index f852fe274abe..15fd6e8979d7 100644 > --- a/arch/parisc/kernel/sys_parisc.c > +++ b/arch/parisc/kernel/sys_parisc.c > @@ -101,7 +101,7 @@ static unsigned long arch_get_unmapped_area_common(struct file *filp, > unsigned long flags, enum mmap_allocation_direction dir) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > unsigned long filp_pgoff; > int do_color_align; > struct vm_unmapped_area_info info = { > diff --git a/arch/parisc/kernel/traps.c b/arch/parisc/kernel/traps.c > index b9b3d527bc90..6c26d9c5d7f9 100644 > --- a/arch/parisc/kernel/traps.c > +++ b/arch/parisc/kernel/traps.c > @@ -711,7 +711,7 @@ void notrace handle_interruption(int code, struct pt_regs *regs) > */ > > if (user_mode(regs)) { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_read_lock(current->mm); > vma = find_vma(current->mm,regs->iaoq[0]); > diff --git a/arch/parisc/kernel/vdso.c b/arch/parisc/kernel/vdso.c > index c5cbfce7a84c..f7075a8b3bd1 100644 > --- a/arch/parisc/kernel/vdso.c > +++ b/arch/parisc/kernel/vdso.c > @@ -27,7 +27,7 @@ extern char vdso32_start, vdso32_end; > extern char vdso64_start, vdso64_end; > > static int vdso_mremap(const struct vm_special_mapping *sm, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > current->mm->context.vdso_base = vma->vm_start; > return 0; > @@ -56,7 +56,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, > unsigned long vdso_text_start, vdso_text_len, map_base; > struct vm_special_mapping *vdso_mapping; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int rc; > > if (mmap_write_lock_killable(mm)) > diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c > index c39de84e98b0..c1fbc50fc840 100644 > --- a/arch/parisc/mm/fault.c > +++ b/arch/parisc/mm/fault.c > @@ -241,7 +241,7 @@ const char *trap_name(unsigned long code) > static inline void > show_signal_msg(struct pt_regs *regs, unsigned long code, > unsigned long address, struct task_struct *tsk, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > if (!unhandled_signal(tsk, SIGSEGV)) > return; > @@ -267,7 +267,7 @@ show_signal_msg(struct pt_regs *regs, unsigned long code, > void do_page_fault(struct pt_regs *regs, unsigned long code, > unsigned long address) > { > - struct vm_area_struct *vma, *prev_vma; > + struct mm_area *vma, *prev_vma; > struct task_struct *tsk; > struct mm_struct *mm; > unsigned long acc_type; > @@ -454,7 +454,7 @@ handle_nadtlb_fault(struct pt_regs *regs) > { > unsigned long insn = regs->iir; > int breg, treg, xreg, val = 0; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct task_struct *tsk; > struct mm_struct *mm; > unsigned long address; > diff --git a/arch/parisc/mm/hugetlbpage.c b/arch/parisc/mm/hugetlbpage.c > index a94fe546d434..31fa175e4b67 100644 > --- a/arch/parisc/mm/hugetlbpage.c > +++ b/arch/parisc/mm/hugetlbpage.c > @@ -23,7 +23,7 @@ > > > > -pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pte_alloc(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, unsigned long sz) > { > pgd_t *pgd; > @@ -146,7 +146,7 @@ void huge_ptep_set_wrprotect(struct mm_struct *mm, > __set_huge_pte_at(mm, addr, ptep, pte_wrprotect(old_pte)); > } > > -int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, int dirty) > { > diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h b/arch/powerpc/include/asm/book3s/32/pgtable.h > index 42c3af90d1f0..87c6abe37935 100644 > --- a/arch/powerpc/include/asm/book3s/32/pgtable.h > +++ b/arch/powerpc/include/asm/book3s/32/pgtable.h > @@ -325,7 +325,7 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, > pte_update(mm, addr, ptep, _PAGE_WRITE, 0, 0); > } > > -static inline void __ptep_set_access_flags(struct vm_area_struct *vma, > +static inline void __ptep_set_access_flags(struct mm_area *vma, > pte_t *ptep, pte_t entry, > unsigned long address, > int psize) > diff --git a/arch/powerpc/include/asm/book3s/32/tlbflush.h b/arch/powerpc/include/asm/book3s/32/tlbflush.h > index e43534da5207..dd7630bfcab8 100644 > --- a/arch/powerpc/include/asm/book3s/32/tlbflush.h > +++ b/arch/powerpc/include/asm/book3s/32/tlbflush.h > @@ -9,7 +9,7 @@ > * TLB flushing for "classic" hash-MMU 32-bit CPUs, 6xx, 7xx, 7xxx > */ > void hash__flush_tlb_mm(struct mm_struct *mm); > -void hash__flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr); > +void hash__flush_tlb_page(struct mm_area *vma, unsigned long vmaddr); > void hash__flush_range(struct mm_struct *mm, unsigned long start, unsigned long end); > > #ifdef CONFIG_SMP > @@ -52,7 +52,7 @@ static inline void flush_tlb_mm(struct mm_struct *mm) > _tlbia(); > } > > -static inline void flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > +static inline void flush_tlb_page(struct mm_area *vma, unsigned long vmaddr) > { > if (mmu_has_feature(MMU_FTR_HPTE_TABLE)) > hash__flush_tlb_page(vma, vmaddr); > @@ -61,7 +61,7 @@ static inline void flush_tlb_page(struct vm_area_struct *vma, unsigned long vmad > } > > static inline void > -flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end) > { > flush_range(vma->vm_mm, start, end); > } > @@ -71,7 +71,7 @@ static inline void flush_tlb_kernel_range(unsigned long start, unsigned long end > flush_range(&init_mm, start, end); > } > > -static inline void local_flush_tlb_page(struct vm_area_struct *vma, > +static inline void local_flush_tlb_page(struct mm_area *vma, > unsigned long vmaddr) > { > flush_tlb_page(vma, vmaddr); > diff --git a/arch/powerpc/include/asm/book3s/64/hash-4k.h b/arch/powerpc/include/asm/book3s/64/hash-4k.h > index aa90a048f319..47b4b0ee9aff 100644 > --- a/arch/powerpc/include/asm/book3s/64/hash-4k.h > +++ b/arch/powerpc/include/asm/book3s/64/hash-4k.h > @@ -158,7 +158,7 @@ static inline pmd_t hash__pmd_mkhuge(pmd_t pmd) > extern unsigned long hash__pmd_hugepage_update(struct mm_struct *mm, > unsigned long addr, pmd_t *pmdp, > unsigned long clr, unsigned long set); > -extern pmd_t hash__pmdp_collapse_flush(struct vm_area_struct *vma, > +extern pmd_t hash__pmdp_collapse_flush(struct mm_area *vma, > unsigned long address, pmd_t *pmdp); > extern void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, > pgtable_t pgtable); > diff --git a/arch/powerpc/include/asm/book3s/64/hash-64k.h b/arch/powerpc/include/asm/book3s/64/hash-64k.h > index 0bf6fd0bf42a..5d42aee48d90 100644 > --- a/arch/powerpc/include/asm/book3s/64/hash-64k.h > +++ b/arch/powerpc/include/asm/book3s/64/hash-64k.h > @@ -170,9 +170,9 @@ extern bool __rpte_sub_valid(real_pte_t rpte, unsigned long index); > #define pte_pagesize_index(mm, addr, pte) \ > (((pte) & H_PAGE_COMBO)? MMU_PAGE_4K: MMU_PAGE_64K) > > -extern int remap_pfn_range(struct vm_area_struct *, unsigned long addr, > +extern int remap_pfn_range(struct mm_area *, unsigned long addr, > unsigned long pfn, unsigned long size, pgprot_t); > -static inline int hash__remap_4k_pfn(struct vm_area_struct *vma, unsigned long addr, > +static inline int hash__remap_4k_pfn(struct mm_area *vma, unsigned long addr, > unsigned long pfn, pgprot_t prot) > { > if (pfn > (PTE_RPN_MASK >> PAGE_SHIFT)) { > @@ -271,7 +271,7 @@ static inline pmd_t hash__pmd_mkhuge(pmd_t pmd) > extern unsigned long hash__pmd_hugepage_update(struct mm_struct *mm, > unsigned long addr, pmd_t *pmdp, > unsigned long clr, unsigned long set); > -extern pmd_t hash__pmdp_collapse_flush(struct vm_area_struct *vma, > +extern pmd_t hash__pmdp_collapse_flush(struct mm_area *vma, > unsigned long address, pmd_t *pmdp); > extern void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, > pgtable_t pgtable); > diff --git a/arch/powerpc/include/asm/book3s/64/hugetlb.h b/arch/powerpc/include/asm/book3s/64/hugetlb.h > index bb786694dd26..212cdb6c7e1f 100644 > --- a/arch/powerpc/include/asm/book3s/64/hugetlb.h > +++ b/arch/powerpc/include/asm/book3s/64/hugetlb.h > @@ -9,10 +9,10 @@ > * both hash and radix to be enabled together we need to workaround the > * limitations. > */ > -void radix__flush_hugetlb_page(struct vm_area_struct *vma, unsigned long vmaddr); > -void radix__local_flush_hugetlb_page(struct vm_area_struct *vma, unsigned long vmaddr); > +void radix__flush_hugetlb_page(struct mm_area *vma, unsigned long vmaddr); > +void radix__local_flush_hugetlb_page(struct mm_area *vma, unsigned long vmaddr); > > -extern void radix__huge_ptep_modify_prot_commit(struct vm_area_struct *vma, > +extern void radix__huge_ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t old_pte, pte_t pte); > > @@ -50,22 +50,22 @@ static inline bool gigantic_page_runtime_supported(void) > } > > #define huge_ptep_modify_prot_start huge_ptep_modify_prot_start > -extern pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma, > +extern pte_t huge_ptep_modify_prot_start(struct mm_area *vma, > unsigned long addr, pte_t *ptep); > > #define huge_ptep_modify_prot_commit huge_ptep_modify_prot_commit > -extern void huge_ptep_modify_prot_commit(struct vm_area_struct *vma, > +extern void huge_ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t old_pte, pte_t new_pte); > > -static inline void flush_hugetlb_page(struct vm_area_struct *vma, > +static inline void flush_hugetlb_page(struct mm_area *vma, > unsigned long vmaddr) > { > if (radix_enabled()) > return radix__flush_hugetlb_page(vma, vmaddr); > } > > -void flush_hugetlb_page(struct vm_area_struct *vma, unsigned long vmaddr); > +void flush_hugetlb_page(struct mm_area *vma, unsigned long vmaddr); > > static inline int check_and_get_huge_psize(int shift) > { > diff --git a/arch/powerpc/include/asm/book3s/64/pgtable-64k.h b/arch/powerpc/include/asm/book3s/64/pgtable-64k.h > index 4d8d7b4ea16b..430ded76ad49 100644 > --- a/arch/powerpc/include/asm/book3s/64/pgtable-64k.h > +++ b/arch/powerpc/include/asm/book3s/64/pgtable-64k.h > @@ -7,7 +7,7 @@ > > #endif /* CONFIG_HUGETLB_PAGE */ > > -static inline int remap_4k_pfn(struct vm_area_struct *vma, unsigned long addr, > +static inline int remap_4k_pfn(struct mm_area *vma, unsigned long addr, > unsigned long pfn, pgprot_t prot) > { > if (radix_enabled()) > diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/include/asm/book3s/64/pgtable.h > index 6d98e6f08d4d..18222f1eab2e 100644 > --- a/arch/powerpc/include/asm/book3s/64/pgtable.h > +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h > @@ -722,7 +722,7 @@ static inline bool check_pte_access(unsigned long access, unsigned long ptev) > * Generic functions with hash/radix callbacks > */ > > -static inline void __ptep_set_access_flags(struct vm_area_struct *vma, > +static inline void __ptep_set_access_flags(struct mm_area *vma, > pte_t *ptep, pte_t entry, > unsigned long address, > int psize) > @@ -1104,12 +1104,12 @@ extern void set_pmd_at(struct mm_struct *mm, unsigned long addr, > extern void set_pud_at(struct mm_struct *mm, unsigned long addr, > pud_t *pudp, pud_t pud); > > -static inline void update_mmu_cache_pmd(struct vm_area_struct *vma, > +static inline void update_mmu_cache_pmd(struct mm_area *vma, > unsigned long addr, pmd_t *pmd) > { > } > > -static inline void update_mmu_cache_pud(struct vm_area_struct *vma, > +static inline void update_mmu_cache_pud(struct mm_area *vma, > unsigned long addr, pud_t *pud) > { > } > @@ -1284,19 +1284,19 @@ static inline pud_t pud_mkhuge(pud_t pud) > > > #define __HAVE_ARCH_PMDP_SET_ACCESS_FLAGS > -extern int pmdp_set_access_flags(struct vm_area_struct *vma, > +extern int pmdp_set_access_flags(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, > pmd_t entry, int dirty); > #define __HAVE_ARCH_PUDP_SET_ACCESS_FLAGS > -extern int pudp_set_access_flags(struct vm_area_struct *vma, > +extern int pudp_set_access_flags(struct mm_area *vma, > unsigned long address, pud_t *pudp, > pud_t entry, int dirty); > > #define __HAVE_ARCH_PMDP_TEST_AND_CLEAR_YOUNG > -extern int pmdp_test_and_clear_young(struct vm_area_struct *vma, > +extern int pmdp_test_and_clear_young(struct mm_area *vma, > unsigned long address, pmd_t *pmdp); > #define __HAVE_ARCH_PUDP_TEST_AND_CLEAR_YOUNG > -extern int pudp_test_and_clear_young(struct vm_area_struct *vma, > +extern int pudp_test_and_clear_young(struct mm_area *vma, > unsigned long address, pud_t *pudp); > > > @@ -1319,7 +1319,7 @@ static inline pud_t pudp_huge_get_and_clear(struct mm_struct *mm, > return *pudp; > } > > -static inline pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > +static inline pmd_t pmdp_collapse_flush(struct mm_area *vma, > unsigned long address, pmd_t *pmdp) > { > if (radix_enabled()) > @@ -1329,12 +1329,12 @@ static inline pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > #define pmdp_collapse_flush pmdp_collapse_flush > > #define __HAVE_ARCH_PMDP_HUGE_GET_AND_CLEAR_FULL > -pmd_t pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, > +pmd_t pmdp_huge_get_and_clear_full(struct mm_area *vma, > unsigned long addr, > pmd_t *pmdp, int full); > > #define __HAVE_ARCH_PUDP_HUGE_GET_AND_CLEAR_FULL > -pud_t pudp_huge_get_and_clear_full(struct vm_area_struct *vma, > +pud_t pudp_huge_get_and_clear_full(struct mm_area *vma, > unsigned long addr, > pud_t *pudp, int full); > > @@ -1357,16 +1357,16 @@ static inline pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, > } > > #define __HAVE_ARCH_PMDP_INVALIDATE > -extern pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, > +extern pmd_t pmdp_invalidate(struct mm_area *vma, unsigned long address, > pmd_t *pmdp); > -extern pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address, > +extern pud_t pudp_invalidate(struct mm_area *vma, unsigned long address, > pud_t *pudp); > > #define pmd_move_must_withdraw pmd_move_must_withdraw > struct spinlock; > extern int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl, > struct spinlock *old_pmd_ptl, > - struct vm_area_struct *vma); > + struct mm_area *vma); > /* > * Hash translation mode use the deposited table to store hash pte > * slot information. > @@ -1413,8 +1413,8 @@ static inline int pgd_devmap(pgd_t pgd) > #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ > > #define __HAVE_ARCH_PTEP_MODIFY_PROT_TRANSACTION > -pte_t ptep_modify_prot_start(struct vm_area_struct *, unsigned long, pte_t *); > -void ptep_modify_prot_commit(struct vm_area_struct *, unsigned long, > +pte_t ptep_modify_prot_start(struct mm_area *, unsigned long, pte_t *); > +void ptep_modify_prot_commit(struct mm_area *, unsigned long, > pte_t *, pte_t, pte_t); > > /* > diff --git a/arch/powerpc/include/asm/book3s/64/radix.h b/arch/powerpc/include/asm/book3s/64/radix.h > index 8f55ff74bb68..ffbeb52f4beb 100644 > --- a/arch/powerpc/include/asm/book3s/64/radix.h > +++ b/arch/powerpc/include/asm/book3s/64/radix.h > @@ -143,11 +143,11 @@ extern void radix__mark_rodata_ro(void); > extern void radix__mark_initmem_nx(void); > #endif > > -extern void radix__ptep_set_access_flags(struct vm_area_struct *vma, pte_t *ptep, > +extern void radix__ptep_set_access_flags(struct mm_area *vma, pte_t *ptep, > pte_t entry, unsigned long address, > int psize); > > -extern void radix__ptep_modify_prot_commit(struct vm_area_struct *vma, > +extern void radix__ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t old_pte, pte_t pte); > > @@ -288,7 +288,7 @@ extern unsigned long radix__pmd_hugepage_update(struct mm_struct *mm, unsigned l > extern unsigned long radix__pud_hugepage_update(struct mm_struct *mm, unsigned long addr, > pud_t *pudp, unsigned long clr, > unsigned long set); > -extern pmd_t radix__pmdp_collapse_flush(struct vm_area_struct *vma, > +extern pmd_t radix__pmdp_collapse_flush(struct mm_area *vma, > unsigned long address, pmd_t *pmdp); > extern void radix__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, > pgtable_t pgtable); > diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h b/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h > index a38542259fab..369f7d20a25a 100644 > --- a/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h > +++ b/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h > @@ -8,7 +8,7 @@ > #define RIC_FLUSH_PWC 1 > #define RIC_FLUSH_ALL 2 > > -struct vm_area_struct; > +struct mm_area; > struct mm_struct; > struct mmu_gather; > > @@ -60,30 +60,30 @@ static inline void radix__flush_all_lpid_guest(unsigned int lpid) > } > #endif > > -extern void radix__flush_hugetlb_tlb_range(struct vm_area_struct *vma, > +extern void radix__flush_hugetlb_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end); > extern void radix__flush_tlb_range_psize(struct mm_struct *mm, unsigned long start, > unsigned long end, int psize); > void radix__flush_tlb_pwc_range_psize(struct mm_struct *mm, unsigned long start, > unsigned long end, int psize); > -extern void radix__flush_pmd_tlb_range(struct vm_area_struct *vma, > +extern void radix__flush_pmd_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end); > -extern void radix__flush_pud_tlb_range(struct vm_area_struct *vma, > +extern void radix__flush_pud_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end); > -extern void radix__flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +extern void radix__flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > extern void radix__flush_tlb_kernel_range(unsigned long start, unsigned long end); > > extern void radix__local_flush_tlb_mm(struct mm_struct *mm); > extern void radix__local_flush_all_mm(struct mm_struct *mm); > -extern void radix__local_flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr); > +extern void radix__local_flush_tlb_page(struct mm_area *vma, unsigned long vmaddr); > extern void radix__local_flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, > int psize); > extern void radix__tlb_flush(struct mmu_gather *tlb); > #ifdef CONFIG_SMP > extern void radix__flush_tlb_mm(struct mm_struct *mm); > extern void radix__flush_all_mm(struct mm_struct *mm); > -extern void radix__flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr); > +extern void radix__flush_tlb_page(struct mm_area *vma, unsigned long vmaddr); > extern void radix__flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, > int psize); > #else > diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush.h b/arch/powerpc/include/asm/book3s/64/tlbflush.h > index fd642b729775..73cc7feff758 100644 > --- a/arch/powerpc/include/asm/book3s/64/tlbflush.h > +++ b/arch/powerpc/include/asm/book3s/64/tlbflush.h > @@ -44,7 +44,7 @@ static inline void tlbiel_all_lpid(bool radix) > > > #define __HAVE_ARCH_FLUSH_PMD_TLB_RANGE > -static inline void flush_pmd_tlb_range(struct vm_area_struct *vma, > +static inline void flush_pmd_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > if (radix_enabled()) > @@ -52,7 +52,7 @@ static inline void flush_pmd_tlb_range(struct vm_area_struct *vma, > } > > #define __HAVE_ARCH_FLUSH_PUD_TLB_RANGE > -static inline void flush_pud_tlb_range(struct vm_area_struct *vma, > +static inline void flush_pud_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > if (radix_enabled()) > @@ -60,7 +60,7 @@ static inline void flush_pud_tlb_range(struct vm_area_struct *vma, > } > > #define __HAVE_ARCH_FLUSH_HUGETLB_TLB_RANGE > -static inline void flush_hugetlb_tlb_range(struct vm_area_struct *vma, > +static inline void flush_hugetlb_tlb_range(struct mm_area *vma, > unsigned long start, > unsigned long end) > { > @@ -68,7 +68,7 @@ static inline void flush_hugetlb_tlb_range(struct vm_area_struct *vma, > radix__flush_hugetlb_tlb_range(vma, start, end); > } > > -static inline void flush_tlb_range(struct vm_area_struct *vma, > +static inline void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > if (radix_enabled()) > @@ -88,7 +88,7 @@ static inline void local_flush_tlb_mm(struct mm_struct *mm) > radix__local_flush_tlb_mm(mm); > } > > -static inline void local_flush_tlb_page(struct vm_area_struct *vma, > +static inline void local_flush_tlb_page(struct mm_area *vma, > unsigned long vmaddr) > { > if (radix_enabled()) > @@ -117,7 +117,7 @@ static inline void flush_tlb_mm(struct mm_struct *mm) > radix__flush_tlb_mm(mm); > } > > -static inline void flush_tlb_page(struct vm_area_struct *vma, > +static inline void flush_tlb_page(struct mm_area *vma, > unsigned long vmaddr) > { > if (radix_enabled()) > @@ -129,7 +129,7 @@ static inline void flush_tlb_page(struct vm_area_struct *vma, > #endif /* CONFIG_SMP */ > > #define flush_tlb_fix_spurious_fault flush_tlb_fix_spurious_fault > -static inline void flush_tlb_fix_spurious_fault(struct vm_area_struct *vma, > +static inline void flush_tlb_fix_spurious_fault(struct mm_area *vma, > unsigned long address, > pte_t *ptep) > { > diff --git a/arch/powerpc/include/asm/cacheflush.h b/arch/powerpc/include/asm/cacheflush.h > index f2656774aaa9..a7be13f896ca 100644 > --- a/arch/powerpc/include/asm/cacheflush.h > +++ b/arch/powerpc/include/asm/cacheflush.h > @@ -53,7 +53,7 @@ static inline void flush_dcache_page(struct page *page) > void flush_icache_range(unsigned long start, unsigned long stop); > #define flush_icache_range flush_icache_range > > -void flush_icache_user_page(struct vm_area_struct *vma, struct page *page, > +void flush_icache_user_page(struct mm_area *vma, struct page *page, > unsigned long addr, int len); > #define flush_icache_user_page flush_icache_user_page > > diff --git a/arch/powerpc/include/asm/hugetlb.h b/arch/powerpc/include/asm/hugetlb.h > index 86326587e58d..84540436e22c 100644 > --- a/arch/powerpc/include/asm/hugetlb.h > +++ b/arch/powerpc/include/asm/hugetlb.h > @@ -52,7 +52,7 @@ static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > } > > #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH > -static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +static inline pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > pte_t pte; > @@ -64,7 +64,7 @@ static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > } > > #define __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS > -int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, int dirty); > > @@ -72,7 +72,7 @@ void gigantic_hugetlb_cma_reserve(void) __init; > #include > > #else /* ! CONFIG_HUGETLB_PAGE */ > -static inline void flush_hugetlb_page(struct vm_area_struct *vma, > +static inline void flush_hugetlb_page(struct mm_area *vma, > unsigned long vmaddr) > { > } > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > index a157ab513347..9677c3775f7a 100644 > --- a/arch/powerpc/include/asm/mmu_context.h > +++ b/arch/powerpc/include/asm/mmu_context.h > @@ -258,11 +258,11 @@ static inline void enter_lazy_tlb(struct mm_struct *mm, > extern void arch_exit_mmap(struct mm_struct *mm); > > #ifdef CONFIG_PPC_MEM_KEYS > -bool arch_vma_access_permitted(struct vm_area_struct *vma, bool write, > +bool arch_vma_access_permitted(struct mm_area *vma, bool write, > bool execute, bool foreign); > void arch_dup_pkeys(struct mm_struct *oldmm, struct mm_struct *mm); > #else /* CONFIG_PPC_MEM_KEYS */ > -static inline bool arch_vma_access_permitted(struct vm_area_struct *vma, > +static inline bool arch_vma_access_permitted(struct mm_area *vma, > bool write, bool execute, bool foreign) > { > /* by default, allow everything */ > diff --git a/arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h b/arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h > index 014799557f60..5f9e81383526 100644 > --- a/arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h > +++ b/arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h > @@ -4,7 +4,7 @@ > > #define PAGE_SHIFT_8M 23 > > -static inline void flush_hugetlb_page(struct vm_area_struct *vma, > +static inline void flush_hugetlb_page(struct mm_area *vma, > unsigned long vmaddr) > { > flush_tlb_page(vma, vmaddr); > diff --git a/arch/powerpc/include/asm/nohash/32/pte-8xx.h b/arch/powerpc/include/asm/nohash/32/pte-8xx.h > index 54ebb91dbdcf..ac6c02a4c26e 100644 > --- a/arch/powerpc/include/asm/nohash/32/pte-8xx.h > +++ b/arch/powerpc/include/asm/nohash/32/pte-8xx.h > @@ -128,7 +128,7 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, > } > #define ptep_set_wrprotect ptep_set_wrprotect > > -static inline void __ptep_set_access_flags(struct vm_area_struct *vma, pte_t *ptep, > +static inline void __ptep_set_access_flags(struct mm_area *vma, pte_t *ptep, > pte_t entry, unsigned long address, int psize) > { > unsigned long set = pte_val(entry) & (_PAGE_DIRTY | _PAGE_ACCESSED | _PAGE_EXEC); > diff --git a/arch/powerpc/include/asm/nohash/hugetlb-e500.h b/arch/powerpc/include/asm/nohash/hugetlb-e500.h > index cab0e1f1eea0..788c610b8dff 100644 > --- a/arch/powerpc/include/asm/nohash/hugetlb-e500.h > +++ b/arch/powerpc/include/asm/nohash/hugetlb-e500.h > @@ -2,7 +2,7 @@ > #ifndef _ASM_POWERPC_NOHASH_HUGETLB_E500_H > #define _ASM_POWERPC_NOHASH_HUGETLB_E500_H > > -void flush_hugetlb_page(struct vm_area_struct *vma, unsigned long vmaddr); > +void flush_hugetlb_page(struct mm_area *vma, unsigned long vmaddr); > > static inline int check_and_get_huge_psize(int shift) > { > diff --git a/arch/powerpc/include/asm/nohash/pgtable.h b/arch/powerpc/include/asm/nohash/pgtable.h > index 8d1f0b7062eb..0aad651197ef 100644 > --- a/arch/powerpc/include/asm/nohash/pgtable.h > +++ b/arch/powerpc/include/asm/nohash/pgtable.h > @@ -99,7 +99,7 @@ static inline pte_basic_t pte_update(struct mm_struct *mm, unsigned long addr, p > } > #endif > > -static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, > +static inline int ptep_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > unsigned long old; > @@ -133,7 +133,7 @@ static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *pt > > /* Set the dirty and/or accessed bits atomically in a linux PTE */ > #ifndef __ptep_set_access_flags > -static inline void __ptep_set_access_flags(struct vm_area_struct *vma, > +static inline void __ptep_set_access_flags(struct mm_area *vma, > pte_t *ptep, pte_t entry, > unsigned long address, > int psize) > diff --git a/arch/powerpc/include/asm/nohash/tlbflush.h b/arch/powerpc/include/asm/nohash/tlbflush.h > index 9a2cf83ea4f1..8f013d3b3e17 100644 > --- a/arch/powerpc/include/asm/nohash/tlbflush.h > +++ b/arch/powerpc/include/asm/nohash/tlbflush.h > @@ -23,12 +23,12 @@ > * specific tlbie's > */ > > -struct vm_area_struct; > +struct mm_area; > struct mm_struct; > > #define MMU_NO_CONTEXT ((unsigned int)-1) > > -extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +extern void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > > #ifdef CONFIG_PPC_8xx > @@ -40,7 +40,7 @@ static inline void local_flush_tlb_mm(struct mm_struct *mm) > asm volatile ("sync; tlbia; isync" : : : "memory"); > } > > -static inline void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > +static inline void local_flush_tlb_page(struct mm_area *vma, unsigned long vmaddr) > { > asm volatile ("tlbie %0; sync" : : "r" (vmaddr) : "memory"); > } > @@ -63,7 +63,7 @@ static inline void flush_tlb_kernel_range(unsigned long start, unsigned long end > #else > extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); > extern void local_flush_tlb_mm(struct mm_struct *mm); > -extern void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr); > +extern void local_flush_tlb_page(struct mm_area *vma, unsigned long vmaddr); > void local_flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, int psize); > > extern void __local_flush_tlb_page(struct mm_struct *mm, unsigned long vmaddr, > @@ -72,7 +72,7 @@ extern void __local_flush_tlb_page(struct mm_struct *mm, unsigned long vmaddr, > > #ifdef CONFIG_SMP > extern void flush_tlb_mm(struct mm_struct *mm); > -extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr); > +extern void flush_tlb_page(struct mm_area *vma, unsigned long vmaddr); > extern void __flush_tlb_page(struct mm_struct *mm, unsigned long vmaddr, > int tsize, int ind); > #else > diff --git a/arch/powerpc/include/asm/page.h b/arch/powerpc/include/asm/page.h > index af9a2628d1df..c5d6d4087e3c 100644 > --- a/arch/powerpc/include/asm/page.h > +++ b/arch/powerpc/include/asm/page.h > @@ -280,7 +280,7 @@ void arch_free_page(struct page *page, int order); > #define HAVE_ARCH_FREE_PAGE > #endif > > -struct vm_area_struct; > +struct mm_area; > > extern unsigned long kernstart_virt_addr; > > diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h > index 46a9c4491ed0..1fa9e34182b4 100644 > --- a/arch/powerpc/include/asm/pci.h > +++ b/arch/powerpc/include/asm/pci.h > @@ -67,7 +67,7 @@ extern int pci_domain_nr(struct pci_bus *bus); > /* Decide whether to display the domain number in /proc */ > extern int pci_proc_domain(struct pci_bus *bus); > > -struct vm_area_struct; > +struct mm_area; > > /* Tell PCI code what kind of PCI resource mappings we support */ > #define HAVE_PCI_MMAP 1 > @@ -80,7 +80,7 @@ extern int pci_legacy_read(struct pci_bus *bus, loff_t port, u32 *val, > extern int pci_legacy_write(struct pci_bus *bus, loff_t port, u32 val, > size_t count); > extern int pci_mmap_legacy_page_range(struct pci_bus *bus, > - struct vm_area_struct *vma, > + struct mm_area *vma, > enum pci_mmap_state mmap_state); > extern void pci_adjust_legacy_attr(struct pci_bus *bus, > enum pci_mmap_state mmap_type); > diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h > index 2f72ad885332..d375c25ff925 100644 > --- a/arch/powerpc/include/asm/pgtable.h > +++ b/arch/powerpc/include/asm/pgtable.h > @@ -119,7 +119,7 @@ static inline void mark_initmem_nx(void) { } > #endif > > #define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS > -int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long address, > +int ptep_set_access_flags(struct mm_area *vma, unsigned long address, > pte_t *ptep, pte_t entry, int dirty); > > pgprot_t __phys_mem_access_prot(unsigned long pfn, unsigned long size, > @@ -133,7 +133,7 @@ static inline pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn > } > #define __HAVE_PHYS_MEM_ACCESS_PROT > > -void __update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t *ptep); > +void __update_mmu_cache(struct mm_area *vma, unsigned long address, pte_t *ptep); > > /* > * This gets called at the end of handling a page fault, when > @@ -145,7 +145,7 @@ void __update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t > * waiting for the inevitable extra hash-table miss exception. > */ > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > pte_t *ptep, unsigned int nr) > { > if ((mmu_has_feature(MMU_FTR_HPTE_TABLE) && !radix_enabled()) || > diff --git a/arch/powerpc/include/asm/pkeys.h b/arch/powerpc/include/asm/pkeys.h > index 59a2c7dbc78f..b36ac2edf846 100644 > --- a/arch/powerpc/include/asm/pkeys.h > +++ b/arch/powerpc/include/asm/pkeys.h > @@ -35,7 +35,7 @@ static inline u64 pkey_to_vmflag_bits(u16 pkey) > return (((u64)pkey << VM_PKEY_SHIFT) & ARCH_VM_PKEY_FLAGS); > } > > -static inline int vma_pkey(struct vm_area_struct *vma) > +static inline int vma_pkey(struct mm_area *vma) > { > if (!mmu_has_feature(MMU_FTR_PKEY)) > return 0; > @@ -125,9 +125,9 @@ static inline int mm_pkey_free(struct mm_struct *mm, int pkey) > * execute-only protection key. > */ > extern int execute_only_pkey(struct mm_struct *mm); > -extern int __arch_override_mprotect_pkey(struct vm_area_struct *vma, > +extern int __arch_override_mprotect_pkey(struct mm_area *vma, > int prot, int pkey); > -static inline int arch_override_mprotect_pkey(struct vm_area_struct *vma, > +static inline int arch_override_mprotect_pkey(struct mm_area *vma, > int prot, int pkey) > { > if (!mmu_has_feature(MMU_FTR_PKEY)) > diff --git a/arch/powerpc/include/asm/vas.h b/arch/powerpc/include/asm/vas.h > index c36f71e01c0f..086d494bd3d9 100644 > --- a/arch/powerpc/include/asm/vas.h > +++ b/arch/powerpc/include/asm/vas.h > @@ -71,7 +71,7 @@ struct vas_user_win_ref { > struct mm_struct *mm; /* Linux process mm_struct */ > struct mutex mmap_mutex; /* protects paste address mmap() */ > /* with DLPAR close/open windows */ > - struct vm_area_struct *vma; /* Save VMA and used in DLPAR ops */ > + struct mm_area *vma; /* Save VMA and used in DLPAR ops */ > }; > > /* > diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c > index eac84d687b53..ce9a82d8120f 100644 > --- a/arch/powerpc/kernel/pci-common.c > +++ b/arch/powerpc/kernel/pci-common.c > @@ -501,7 +501,7 @@ static int pci_read_irq_line(struct pci_dev *pci_dev) > * Platform support for /proc/bus/pci/X/Y mmap()s. > * -- paulus. > */ > -int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma) > +int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct mm_area *vma) > { > struct pci_controller *hose = pci_bus_to_host(pdev->bus); > resource_size_t ioaddr = pci_resource_start(pdev, bar); > @@ -651,7 +651,7 @@ int pci_legacy_write(struct pci_bus *bus, loff_t port, u32 val, size_t size) > > /* This provides legacy IO or memory mmap access on a bus */ > int pci_mmap_legacy_page_range(struct pci_bus *bus, > - struct vm_area_struct *vma, > + struct mm_area *vma, > enum pci_mmap_state mmap_state) > { > struct pci_controller *hose = pci_bus_to_host(bus); > diff --git a/arch/powerpc/kernel/proc_powerpc.c b/arch/powerpc/kernel/proc_powerpc.c > index 3816a2bf2b84..c80bc0cb32db 100644 > --- a/arch/powerpc/kernel/proc_powerpc.c > +++ b/arch/powerpc/kernel/proc_powerpc.c > @@ -30,7 +30,7 @@ static ssize_t page_map_read( struct file *file, char __user *buf, size_t nbytes > pde_data(file_inode(file)), PAGE_SIZE); > } > > -static int page_map_mmap( struct file *file, struct vm_area_struct *vma ) > +static int page_map_mmap( struct file *file, struct mm_area *vma ) > { > if ((vma->vm_end - vma->vm_start) > PAGE_SIZE) > return -EINVAL; > diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c > index 219d67bcf747..f6a853ae5dc7 100644 > --- a/arch/powerpc/kernel/vdso.c > +++ b/arch/powerpc/kernel/vdso.c > @@ -42,7 +42,7 @@ extern char vdso64_start, vdso64_end; > > long sys_ni_syscall(void); > > -static int vdso_mremap(const struct vm_special_mapping *sm, struct vm_area_struct *new_vma, > +static int vdso_mremap(const struct vm_special_mapping *sm, struct mm_area *new_vma, > unsigned long text_size) > { > unsigned long new_size = new_vma->vm_end - new_vma->vm_start; > @@ -55,17 +55,17 @@ static int vdso_mremap(const struct vm_special_mapping *sm, struct vm_area_struc > return 0; > } > > -static int vdso32_mremap(const struct vm_special_mapping *sm, struct vm_area_struct *new_vma) > +static int vdso32_mremap(const struct vm_special_mapping *sm, struct mm_area *new_vma) > { > return vdso_mremap(sm, new_vma, &vdso32_end - &vdso32_start); > } > > -static int vdso64_mremap(const struct vm_special_mapping *sm, struct vm_area_struct *new_vma) > +static int vdso64_mremap(const struct vm_special_mapping *sm, struct mm_area *new_vma) > { > return vdso_mremap(sm, new_vma, &vdso64_end - &vdso64_start); > } > > -static void vdso_close(const struct vm_special_mapping *sm, struct vm_area_struct *vma) > +static void vdso_close(const struct vm_special_mapping *sm, struct mm_area *vma) > { > struct mm_struct *mm = vma->vm_mm; > > @@ -102,7 +102,7 @@ static int __arch_setup_additional_pages(struct linux_binprm *bprm, int uses_int > struct vm_special_mapping *vdso_spec; > unsigned long vvar_size = VDSO_NR_PAGES * PAGE_SIZE; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > if (is_32bit_task()) { > vdso_spec = &vdso32_spec; > diff --git a/arch/powerpc/kvm/book3s_64_vio.c b/arch/powerpc/kvm/book3s_64_vio.c > index 742aa58a7c7e..236d3f95c4dd 100644 > --- a/arch/powerpc/kvm/book3s_64_vio.c > +++ b/arch/powerpc/kvm/book3s_64_vio.c > @@ -247,7 +247,7 @@ static const struct vm_operations_struct kvm_spapr_tce_vm_ops = { > .fault = kvm_spapr_tce_fault, > }; > > -static int kvm_spapr_tce_mmap(struct file *file, struct vm_area_struct *vma) > +static int kvm_spapr_tce_mmap(struct file *file, struct mm_area *vma) > { > vma->vm_ops = &kvm_spapr_tce_vm_ops; > return 0; > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > index 86bff159c51e..62de957ec6da 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -5473,7 +5473,7 @@ static int kvmppc_hv_setup_htab_rma(struct kvm_vcpu *vcpu) > struct kvm *kvm = vcpu->kvm; > unsigned long hva; > struct kvm_memory_slot *memslot; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long lpcr = 0, senc; > unsigned long psize, porder; > int srcu_idx; > diff --git a/arch/powerpc/kvm/book3s_hv_uvmem.c b/arch/powerpc/kvm/book3s_hv_uvmem.c > index 3a6592a31a10..16a49d4b5e47 100644 > --- a/arch/powerpc/kvm/book3s_hv_uvmem.c > +++ b/arch/powerpc/kvm/book3s_hv_uvmem.c > @@ -395,7 +395,7 @@ static int kvmppc_memslot_page_merge(struct kvm *kvm, > unsigned long end, start = gfn_to_hva(kvm, gfn); > unsigned long vm_flags; > int ret = 0; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int merge_flag = (merge) ? MADV_MERGEABLE : MADV_UNMERGEABLE; > > if (kvm_is_error_hva(start)) > @@ -510,7 +510,7 @@ unsigned long kvmppc_h_svm_init_start(struct kvm *kvm) > * from secure memory using UV_PAGE_OUT uvcall. > * Caller must held kvm->arch.uvmem_lock. > */ > -static int __kvmppc_svm_page_out(struct vm_area_struct *vma, > +static int __kvmppc_svm_page_out(struct mm_area *vma, > unsigned long start, > unsigned long end, unsigned long page_shift, > struct kvm *kvm, unsigned long gpa, struct page *fault_page) > @@ -583,7 +583,7 @@ static int __kvmppc_svm_page_out(struct vm_area_struct *vma, > return ret; > } > > -static inline int kvmppc_svm_page_out(struct vm_area_struct *vma, > +static inline int kvmppc_svm_page_out(struct mm_area *vma, > unsigned long start, unsigned long end, > unsigned long page_shift, > struct kvm *kvm, unsigned long gpa, > @@ -613,7 +613,7 @@ void kvmppc_uvmem_drop_pages(const struct kvm_memory_slot *slot, > int i; > struct kvmppc_uvmem_page_pvt *pvt; > struct page *uvmem_page; > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > unsigned long uvmem_pfn, gfn; > unsigned long addr; > > @@ -737,7 +737,7 @@ static struct page *kvmppc_uvmem_get_page(unsigned long gpa, struct kvm *kvm) > * Alloc a PFN from private device memory pool. If @pagein is true, > * copy page from normal memory to secure memory using UV_PAGE_IN uvcall. > */ > -static int kvmppc_svm_page_in(struct vm_area_struct *vma, > +static int kvmppc_svm_page_in(struct mm_area *vma, > unsigned long start, > unsigned long end, unsigned long gpa, struct kvm *kvm, > unsigned long page_shift, > @@ -795,7 +795,7 @@ static int kvmppc_uv_migrate_mem_slot(struct kvm *kvm, > const struct kvm_memory_slot *memslot) > { > unsigned long gfn = memslot->base_gfn; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long start, end; > int ret = 0; > > @@ -937,7 +937,7 @@ unsigned long kvmppc_h_svm_page_in(struct kvm *kvm, unsigned long gpa, > unsigned long page_shift) > { > unsigned long start, end; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int srcu_idx; > unsigned long gfn = gpa >> page_shift; > int ret; > @@ -1047,7 +1047,7 @@ kvmppc_h_svm_page_out(struct kvm *kvm, unsigned long gpa, > { > unsigned long gfn = gpa >> page_shift; > unsigned long start, end; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int srcu_idx; > int ret; > > diff --git a/arch/powerpc/kvm/book3s_xive_native.c b/arch/powerpc/kvm/book3s_xive_native.c > index d9bf1bc3ff61..90ff2d0ed2a7 100644 > --- a/arch/powerpc/kvm/book3s_xive_native.c > +++ b/arch/powerpc/kvm/book3s_xive_native.c > @@ -227,7 +227,7 @@ static struct kvmppc_xive_ops kvmppc_xive_native_ops = { > > static vm_fault_t xive_native_esb_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct kvm_device *dev = vma->vm_file->private_data; > struct kvmppc_xive *xive = dev->private; > struct kvmppc_xive_src_block *sb; > @@ -287,7 +287,7 @@ static const struct vm_operations_struct xive_native_esb_vmops = { > > static vm_fault_t xive_native_tima_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > > switch (vmf->pgoff - vma->vm_pgoff) { > case 0: /* HW - forbid access */ > @@ -307,7 +307,7 @@ static const struct vm_operations_struct xive_native_tima_vmops = { > }; > > static int kvmppc_xive_native_mmap(struct kvm_device *dev, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct kvmppc_xive *xive = dev->private; > > diff --git a/arch/powerpc/mm/book3s32/mmu.c b/arch/powerpc/mm/book3s32/mmu.c > index be9c4106e22f..438af9822627 100644 > --- a/arch/powerpc/mm/book3s32/mmu.c > +++ b/arch/powerpc/mm/book3s32/mmu.c > @@ -319,7 +319,7 @@ static void hash_preload(struct mm_struct *mm, unsigned long ea) > * > * This must always be called with the pte lock held. > */ > -void __update_mmu_cache(struct vm_area_struct *vma, unsigned long address, > +void __update_mmu_cache(struct mm_area *vma, unsigned long address, > pte_t *ptep) > { > /* > diff --git a/arch/powerpc/mm/book3s32/tlb.c b/arch/powerpc/mm/book3s32/tlb.c > index 9ad6b56bfec9..badcf34a99b4 100644 > --- a/arch/powerpc/mm/book3s32/tlb.c > +++ b/arch/powerpc/mm/book3s32/tlb.c > @@ -80,7 +80,7 @@ EXPORT_SYMBOL(hash__flush_range); > */ > void hash__flush_tlb_mm(struct mm_struct *mm) > { > - struct vm_area_struct *mp; > + struct mm_area *mp; > VMA_ITERATOR(vmi, mm, 0); > > /* > @@ -94,7 +94,7 @@ void hash__flush_tlb_mm(struct mm_struct *mm) > } > EXPORT_SYMBOL(hash__flush_tlb_mm); > > -void hash__flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > +void hash__flush_tlb_page(struct mm_area *vma, unsigned long vmaddr) > { > struct mm_struct *mm; > pmd_t *pmd; > diff --git a/arch/powerpc/mm/book3s64/hash_pgtable.c b/arch/powerpc/mm/book3s64/hash_pgtable.c > index 988948d69bc1..444a148f54f8 100644 > --- a/arch/powerpc/mm/book3s64/hash_pgtable.c > +++ b/arch/powerpc/mm/book3s64/hash_pgtable.c > @@ -220,7 +220,7 @@ unsigned long hash__pmd_hugepage_update(struct mm_struct *mm, unsigned long addr > return old; > } > > -pmd_t hash__pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, > +pmd_t hash__pmdp_collapse_flush(struct mm_area *vma, unsigned long address, > pmd_t *pmdp) > { > pmd_t pmd; > diff --git a/arch/powerpc/mm/book3s64/hash_utils.c b/arch/powerpc/mm/book3s64/hash_utils.c > index 5158aefe4873..8a135a261f2e 100644 > --- a/arch/powerpc/mm/book3s64/hash_utils.c > +++ b/arch/powerpc/mm/book3s64/hash_utils.c > @@ -2099,7 +2099,7 @@ static void hash_preload(struct mm_struct *mm, pte_t *ptep, unsigned long ea, > * > * This must always be called with the pte lock held. > */ > -void __update_mmu_cache(struct vm_area_struct *vma, unsigned long address, > +void __update_mmu_cache(struct mm_area *vma, unsigned long address, > pte_t *ptep) > { > /* > diff --git a/arch/powerpc/mm/book3s64/hugetlbpage.c b/arch/powerpc/mm/book3s64/hugetlbpage.c > index 83c3361b358b..a26f928dbf56 100644 > --- a/arch/powerpc/mm/book3s64/hugetlbpage.c > +++ b/arch/powerpc/mm/book3s64/hugetlbpage.c > @@ -135,7 +135,7 @@ int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, > } > #endif > > -pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma, > +pte_t huge_ptep_modify_prot_start(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > unsigned long pte_val; > @@ -150,7 +150,7 @@ pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma, > return __pte(pte_val); > } > > -void huge_ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, > +void huge_ptep_modify_prot_commit(struct mm_area *vma, unsigned long addr, > pte_t *ptep, pte_t old_pte, pte_t pte) > { > unsigned long psize; > diff --git a/arch/powerpc/mm/book3s64/iommu_api.c b/arch/powerpc/mm/book3s64/iommu_api.c > index c0e8d597e4cb..fbf8a7ae297a 100644 > --- a/arch/powerpc/mm/book3s64/iommu_api.c > +++ b/arch/powerpc/mm/book3s64/iommu_api.c > @@ -98,7 +98,7 @@ static long mm_iommu_do_alloc(struct mm_struct *mm, unsigned long ua, > > mmap_read_lock(mm); > chunk = (1UL << (PAGE_SHIFT + MAX_PAGE_ORDER)) / > - sizeof(struct vm_area_struct *); > + sizeof(struct mm_area *); > chunk = min(chunk, entries); > for (entry = 0; entry < entries; entry += chunk) { > unsigned long n = min(entries - entry, chunk); > diff --git a/arch/powerpc/mm/book3s64/pgtable.c b/arch/powerpc/mm/book3s64/pgtable.c > index 8f7d41ce2ca1..58f7938e9872 100644 > --- a/arch/powerpc/mm/book3s64/pgtable.c > +++ b/arch/powerpc/mm/book3s64/pgtable.c > @@ -57,7 +57,7 @@ early_param("kfence.sample_interval", parse_kfence_early_init); > * handled those two for us, we additionally deal with missing execute > * permission here on some processors > */ > -int pmdp_set_access_flags(struct vm_area_struct *vma, unsigned long address, > +int pmdp_set_access_flags(struct mm_area *vma, unsigned long address, > pmd_t *pmdp, pmd_t entry, int dirty) > { > int changed; > @@ -77,7 +77,7 @@ int pmdp_set_access_flags(struct vm_area_struct *vma, unsigned long address, > return changed; > } > > -int pudp_set_access_flags(struct vm_area_struct *vma, unsigned long address, > +int pudp_set_access_flags(struct mm_area *vma, unsigned long address, > pud_t *pudp, pud_t entry, int dirty) > { > int changed; > @@ -98,13 +98,13 @@ int pudp_set_access_flags(struct vm_area_struct *vma, unsigned long address, > } > > > -int pmdp_test_and_clear_young(struct vm_area_struct *vma, > +int pmdp_test_and_clear_young(struct mm_area *vma, > unsigned long address, pmd_t *pmdp) > { > return __pmdp_test_and_clear_young(vma->vm_mm, address, pmdp); > } > > -int pudp_test_and_clear_young(struct vm_area_struct *vma, > +int pudp_test_and_clear_young(struct mm_area *vma, > unsigned long address, pud_t *pudp) > { > return __pudp_test_and_clear_young(vma->vm_mm, address, pudp); > @@ -177,7 +177,7 @@ void serialize_against_pte_lookup(struct mm_struct *mm) > * We use this to invalidate a pmdp entry before switching from a > * hugepte to regular pmd entry. > */ > -pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, > +pmd_t pmdp_invalidate(struct mm_area *vma, unsigned long address, > pmd_t *pmdp) > { > unsigned long old_pmd; > @@ -188,7 +188,7 @@ pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, > return __pmd(old_pmd); > } > > -pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address, > +pud_t pudp_invalidate(struct mm_area *vma, unsigned long address, > pud_t *pudp) > { > unsigned long old_pud; > @@ -199,7 +199,7 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address, > return __pud(old_pud); > } > > -pmd_t pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, > +pmd_t pmdp_huge_get_and_clear_full(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp, int full) > { > pmd_t pmd; > @@ -217,7 +217,7 @@ pmd_t pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, > return pmd; > } > > -pud_t pudp_huge_get_and_clear_full(struct vm_area_struct *vma, > +pud_t pudp_huge_get_and_clear_full(struct mm_area *vma, > unsigned long addr, pud_t *pudp, int full) > { > pud_t pud; > @@ -534,7 +534,7 @@ void arch_report_meminfo(struct seq_file *m) > } > #endif /* CONFIG_PROC_FS */ > > -pte_t ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, > +pte_t ptep_modify_prot_start(struct mm_area *vma, unsigned long addr, > pte_t *ptep) > { > unsigned long pte_val; > @@ -550,7 +550,7 @@ pte_t ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, > > } > > -void ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, > +void ptep_modify_prot_commit(struct mm_area *vma, unsigned long addr, > pte_t *ptep, pte_t old_pte, pte_t pte) > { > if (radix_enabled()) > @@ -574,7 +574,7 @@ void ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, > */ > int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl, > struct spinlock *old_pmd_ptl, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > if (radix_enabled()) > return (new_pmd_ptl != old_pmd_ptl) && vma_is_anonymous(vma); > diff --git a/arch/powerpc/mm/book3s64/pkeys.c b/arch/powerpc/mm/book3s64/pkeys.c > index a974baf8f327..3bdeb406fa0f 100644 > --- a/arch/powerpc/mm/book3s64/pkeys.c > +++ b/arch/powerpc/mm/book3s64/pkeys.c > @@ -376,7 +376,7 @@ int execute_only_pkey(struct mm_struct *mm) > return mm->context.execute_only_pkey; > } > > -static inline bool vma_is_pkey_exec_only(struct vm_area_struct *vma) > +static inline bool vma_is_pkey_exec_only(struct mm_area *vma) > { > /* Do this check first since the vm_flags should be hot */ > if ((vma->vm_flags & VM_ACCESS_FLAGS) != VM_EXEC) > @@ -388,7 +388,7 @@ static inline bool vma_is_pkey_exec_only(struct vm_area_struct *vma) > /* > * This should only be called for *plain* mprotect calls. > */ > -int __arch_override_mprotect_pkey(struct vm_area_struct *vma, int prot, > +int __arch_override_mprotect_pkey(struct mm_area *vma, int prot, > int pkey) > { > /* > @@ -444,7 +444,7 @@ bool arch_pte_access_permitted(u64 pte, bool write, bool execute) > * So do not enforce things if the VMA is not from the current mm, or if we are > * in a kernel thread. > */ > -bool arch_vma_access_permitted(struct vm_area_struct *vma, bool write, > +bool arch_vma_access_permitted(struct mm_area *vma, bool write, > bool execute, bool foreign) > { > if (!mmu_has_feature(MMU_FTR_PKEY)) > diff --git a/arch/powerpc/mm/book3s64/radix_hugetlbpage.c b/arch/powerpc/mm/book3s64/radix_hugetlbpage.c > index 35fd2a95be24..81569a2ec474 100644 > --- a/arch/powerpc/mm/book3s64/radix_hugetlbpage.c > +++ b/arch/powerpc/mm/book3s64/radix_hugetlbpage.c > @@ -7,7 +7,7 @@ > #include > #include > > -void radix__flush_hugetlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > +void radix__flush_hugetlb_page(struct mm_area *vma, unsigned long vmaddr) > { > int psize; > struct hstate *hstate = hstate_file(vma->vm_file); > @@ -16,7 +16,7 @@ void radix__flush_hugetlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > radix__flush_tlb_page_psize(vma->vm_mm, vmaddr, psize); > } > > -void radix__local_flush_hugetlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > +void radix__local_flush_hugetlb_page(struct mm_area *vma, unsigned long vmaddr) > { > int psize; > struct hstate *hstate = hstate_file(vma->vm_file); > @@ -25,7 +25,7 @@ void radix__local_flush_hugetlb_page(struct vm_area_struct *vma, unsigned long v > radix__local_flush_tlb_page_psize(vma->vm_mm, vmaddr, psize); > } > > -void radix__flush_hugetlb_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void radix__flush_hugetlb_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > int psize; > @@ -42,7 +42,7 @@ void radix__flush_hugetlb_tlb_range(struct vm_area_struct *vma, unsigned long st > mmu_notifier_arch_invalidate_secondary_tlbs(vma->vm_mm, start, end); > } > > -void radix__huge_ptep_modify_prot_commit(struct vm_area_struct *vma, > +void radix__huge_ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t old_pte, pte_t pte) > { > diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c > index 311e2112d782..abb8ee24f4ec 100644 > --- a/arch/powerpc/mm/book3s64/radix_pgtable.c > +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c > @@ -1439,7 +1439,7 @@ unsigned long radix__pud_hugepage_update(struct mm_struct *mm, unsigned long add > return old; > } > > -pmd_t radix__pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, > +pmd_t radix__pmdp_collapse_flush(struct mm_area *vma, unsigned long address, > pmd_t *pmdp) > > { > @@ -1528,7 +1528,7 @@ pud_t radix__pudp_huge_get_and_clear(struct mm_struct *mm, > > #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ > > -void radix__ptep_set_access_flags(struct vm_area_struct *vma, pte_t *ptep, > +void radix__ptep_set_access_flags(struct mm_area *vma, pte_t *ptep, > pte_t entry, unsigned long address, int psize) > { > struct mm_struct *mm = vma->vm_mm; > @@ -1570,7 +1570,7 @@ void radix__ptep_set_access_flags(struct vm_area_struct *vma, pte_t *ptep, > /* See ptesync comment in radix__set_pte_at */ > } > > -void radix__ptep_modify_prot_commit(struct vm_area_struct *vma, > +void radix__ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t old_pte, pte_t pte) > { > diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c > index 9e1f6558d026..522515490a77 100644 > --- a/arch/powerpc/mm/book3s64/radix_tlb.c > +++ b/arch/powerpc/mm/book3s64/radix_tlb.c > @@ -625,7 +625,7 @@ void radix__local_flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmadd > preempt_enable(); > } > > -void radix__local_flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > +void radix__local_flush_tlb_page(struct mm_area *vma, unsigned long vmaddr) > { > #ifdef CONFIG_HUGETLB_PAGE > /* need the return fix for nohash.c */ > @@ -947,7 +947,7 @@ void radix__flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, > preempt_enable(); > } > > -void radix__flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > +void radix__flush_tlb_page(struct mm_area *vma, unsigned long vmaddr) > { > #ifdef CONFIG_HUGETLB_PAGE > if (is_vm_hugetlb_page(vma)) > @@ -1114,7 +1114,7 @@ static inline void __radix__flush_tlb_range(struct mm_struct *mm, > mmu_notifier_arch_invalidate_secondary_tlbs(mm, start, end); > } > > -void radix__flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void radix__flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > > { > @@ -1360,14 +1360,14 @@ void radix__flush_tlb_collapsed_pmd(struct mm_struct *mm, unsigned long addr) > } > #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ > > -void radix__flush_pmd_tlb_range(struct vm_area_struct *vma, > +void radix__flush_pmd_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > radix__flush_tlb_range_psize(vma->vm_mm, start, end, MMU_PAGE_2M); > } > EXPORT_SYMBOL(radix__flush_pmd_tlb_range); > > -void radix__flush_pud_tlb_range(struct vm_area_struct *vma, > +void radix__flush_pud_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > radix__flush_tlb_range_psize(vma->vm_mm, start, end, MMU_PAGE_1G); > diff --git a/arch/powerpc/mm/book3s64/slice.c b/arch/powerpc/mm/book3s64/slice.c > index 28bec5bc7879..7ea8f4a1046b 100644 > --- a/arch/powerpc/mm/book3s64/slice.c > +++ b/arch/powerpc/mm/book3s64/slice.c > @@ -86,7 +86,7 @@ static void slice_range_to_mask(unsigned long start, unsigned long len, > static int slice_area_is_free(struct mm_struct *mm, unsigned long addr, > unsigned long len) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > if ((mm_ctx_slb_addr_limit(&mm->context) - len) < addr) > return 0; > @@ -808,7 +808,7 @@ int slice_is_hugepage_only_range(struct mm_struct *mm, unsigned long addr, > return !slice_check_range_fits(mm, maskp, addr, len); > } > > -unsigned long vma_mmu_pagesize(struct vm_area_struct *vma) > +unsigned long vma_mmu_pagesize(struct mm_area *vma) > { > /* With radix we don't use slice, so derive it from vma*/ > if (radix_enabled()) > diff --git a/arch/powerpc/mm/book3s64/subpage_prot.c b/arch/powerpc/mm/book3s64/subpage_prot.c > index ec98e526167e..574aa22bb238 100644 > --- a/arch/powerpc/mm/book3s64/subpage_prot.c > +++ b/arch/powerpc/mm/book3s64/subpage_prot.c > @@ -138,7 +138,7 @@ static void subpage_prot_clear(unsigned long addr, unsigned long len) > static int subpage_walk_pmd_entry(pmd_t *pmd, unsigned long addr, > unsigned long end, struct mm_walk *walk) > { > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > split_huge_pmd(vma, pmd, addr); > return 0; > } > @@ -151,7 +151,7 @@ static const struct mm_walk_ops subpage_walk_ops = { > static void subpage_mark_vma_nohuge(struct mm_struct *mm, unsigned long addr, > unsigned long len) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, addr); > > /* > diff --git a/arch/powerpc/mm/cacheflush.c b/arch/powerpc/mm/cacheflush.c > index 7186516eca52..75547ebd112c 100644 > --- a/arch/powerpc/mm/cacheflush.c > +++ b/arch/powerpc/mm/cacheflush.c > @@ -210,7 +210,7 @@ void copy_user_page(void *vto, void *vfrom, unsigned long vaddr, > flush_dcache_page(pg); > } > > -void flush_icache_user_page(struct vm_area_struct *vma, struct page *page, > +void flush_icache_user_page(struct mm_area *vma, struct page *page, > unsigned long addr, int len) > { > void *maddr; > diff --git a/arch/powerpc/mm/copro_fault.c b/arch/powerpc/mm/copro_fault.c > index f5f8692e2c69..b6196e004f19 100644 > --- a/arch/powerpc/mm/copro_fault.c > +++ b/arch/powerpc/mm/copro_fault.c > @@ -21,7 +21,7 @@ > int copro_handle_mm_fault(struct mm_struct *mm, unsigned long ea, > unsigned long dsisr, vm_fault_t *flt) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long is_write; > int ret; > > diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c > index c156fe0d53c3..45b8039647f6 100644 > --- a/arch/powerpc/mm/fault.c > +++ b/arch/powerpc/mm/fault.c > @@ -72,7 +72,7 @@ static noinline int bad_area_nosemaphore(struct pt_regs *regs, unsigned long add > } > > static int __bad_area(struct pt_regs *regs, unsigned long address, int si_code, > - struct mm_struct *mm, struct vm_area_struct *vma) > + struct mm_struct *mm, struct mm_area *vma) > { > > /* > @@ -89,7 +89,7 @@ static int __bad_area(struct pt_regs *regs, unsigned long address, int si_code, > > static noinline int bad_access_pkey(struct pt_regs *regs, unsigned long address, > struct mm_struct *mm, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > int pkey; > > @@ -131,7 +131,7 @@ static noinline int bad_access_pkey(struct pt_regs *regs, unsigned long address, > } > > static noinline int bad_access(struct pt_regs *regs, unsigned long address, > - struct mm_struct *mm, struct vm_area_struct *vma) > + struct mm_struct *mm, struct mm_area *vma) > { > return __bad_area(regs, address, SEGV_ACCERR, mm, vma); > } > @@ -235,7 +235,7 @@ static bool bad_kernel_fault(struct pt_regs *regs, unsigned long error_code, > } > > static bool access_pkey_error(bool is_write, bool is_exec, bool is_pkey, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > /* > * Make sure to check the VMA so that we do not perform > @@ -248,7 +248,7 @@ static bool access_pkey_error(bool is_write, bool is_exec, bool is_pkey, > return false; > } > > -static bool access_error(bool is_write, bool is_exec, struct vm_area_struct *vma) > +static bool access_error(bool is_write, bool is_exec, struct mm_area *vma) > { > /* > * Allow execution from readable areas if the MMU does not > @@ -413,7 +413,7 @@ static int page_fault_is_bad(unsigned long err) > static int ___do_page_fault(struct pt_regs *regs, unsigned long address, > unsigned long error_code) > { > - struct vm_area_struct * vma; > + struct mm_area * vma; > struct mm_struct *mm = current->mm; > unsigned int flags = FAULT_FLAG_DEFAULT; > int is_exec = TRAP(regs) == INTERRUPT_INST_STORAGE; > diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c > index d3c1b749dcfc..290850810f27 100644 > --- a/arch/powerpc/mm/hugetlbpage.c > +++ b/arch/powerpc/mm/hugetlbpage.c > @@ -40,7 +40,7 @@ pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr, unsigned long s > return __find_linux_pte(mm->pgd, addr, NULL, NULL); > } > > -pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pte_alloc(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, unsigned long sz) > { > p4d_t *p4d; > diff --git a/arch/powerpc/mm/nohash/e500_hugetlbpage.c b/arch/powerpc/mm/nohash/e500_hugetlbpage.c > index a134d28a0e4d..1117ec25cafc 100644 > --- a/arch/powerpc/mm/nohash/e500_hugetlbpage.c > +++ b/arch/powerpc/mm/nohash/e500_hugetlbpage.c > @@ -116,7 +116,7 @@ static inline int book3e_tlb_exists(unsigned long ea, unsigned long pid) > } > > static void > -book3e_hugetlb_preload(struct vm_area_struct *vma, unsigned long ea, pte_t pte) > +book3e_hugetlb_preload(struct mm_area *vma, unsigned long ea, pte_t pte) > { > unsigned long mas1, mas2; > u64 mas7_3; > @@ -178,13 +178,13 @@ book3e_hugetlb_preload(struct vm_area_struct *vma, unsigned long ea, pte_t pte) > * > * This must always be called with the pte lock held. > */ > -void __update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) > +void __update_mmu_cache(struct mm_area *vma, unsigned long address, pte_t *ptep) > { > if (is_vm_hugetlb_page(vma)) > book3e_hugetlb_preload(vma, address, *ptep); > } > > -void flush_hugetlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > +void flush_hugetlb_page(struct mm_area *vma, unsigned long vmaddr) > { > struct hstate *hstate = hstate_file(vma->vm_file); > unsigned long tsize = huge_page_shift(hstate) - 10; > diff --git a/arch/powerpc/mm/nohash/tlb.c b/arch/powerpc/mm/nohash/tlb.c > index 0a650742f3a0..cd62f02ed016 100644 > --- a/arch/powerpc/mm/nohash/tlb.c > +++ b/arch/powerpc/mm/nohash/tlb.c > @@ -149,7 +149,7 @@ void __local_flush_tlb_page(struct mm_struct *mm, unsigned long vmaddr, > preempt_enable(); > } > > -void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > +void local_flush_tlb_page(struct mm_area *vma, unsigned long vmaddr) > { > __local_flush_tlb_page(vma ? vma->vm_mm : NULL, vmaddr, > mmu_get_tsize(mmu_virtual_psize), 0); > @@ -275,7 +275,7 @@ void __flush_tlb_page(struct mm_struct *mm, unsigned long vmaddr, > preempt_enable(); > } > > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr) > +void flush_tlb_page(struct mm_area *vma, unsigned long vmaddr) > { > #ifdef CONFIG_HUGETLB_PAGE > if (vma && is_vm_hugetlb_page(vma)) > @@ -313,7 +313,7 @@ EXPORT_SYMBOL(flush_tlb_kernel_range); > * some implementation can stack multiple tlbivax before a tlbsync but > * for now, we keep it that way > */ > -void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > > { > diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c > index 61df5aed7989..425f2f8a2d95 100644 > --- a/arch/powerpc/mm/pgtable.c > +++ b/arch/powerpc/mm/pgtable.c > @@ -141,7 +141,7 @@ static inline pte_t set_pte_filter(pte_t pte, unsigned long addr) > return pte_exprotect(pte); > } > > -static pte_t set_access_flags_filter(pte_t pte, struct vm_area_struct *vma, > +static pte_t set_access_flags_filter(pte_t pte, struct mm_area *vma, > int dirty) > { > struct folio *folio; > @@ -240,7 +240,7 @@ void unmap_kernel_page(unsigned long va) > * handled those two for us, we additionally deal with missing execute > * permission here on some processors > */ > -int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long address, > +int ptep_set_access_flags(struct mm_area *vma, unsigned long address, > pte_t *ptep, pte_t entry, int dirty) > { > int changed; > @@ -255,7 +255,7 @@ int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long address, > } > > #ifdef CONFIG_HUGETLB_PAGE > -int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, int dirty) > { > diff --git a/arch/powerpc/platforms/book3s/vas-api.c b/arch/powerpc/platforms/book3s/vas-api.c > index 0b6365d85d11..ee6e08d98377 100644 > --- a/arch/powerpc/platforms/book3s/vas-api.c > +++ b/arch/powerpc/platforms/book3s/vas-api.c > @@ -394,7 +394,7 @@ static int do_fail_paste(void) > */ > static vm_fault_t vas_mmap_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct file *fp = vma->vm_file; > struct coproc_instance *cp_inst = fp->private_data; > struct vas_window *txwin; > @@ -472,7 +472,7 @@ static vm_fault_t vas_mmap_fault(struct vm_fault *vmf) > * be invalid. Set VAS window VMA to NULL in this function which > * is called before VMA free. > */ > -static void vas_mmap_close(struct vm_area_struct *vma) > +static void vas_mmap_close(struct mm_area *vma) > { > struct file *fp = vma->vm_file; > struct coproc_instance *cp_inst = fp->private_data; > @@ -504,7 +504,7 @@ static const struct vm_operations_struct vas_vm_ops = { > .fault = vas_mmap_fault, > }; > > -static int coproc_mmap(struct file *fp, struct vm_area_struct *vma) > +static int coproc_mmap(struct file *fp, struct mm_area *vma) > { > struct coproc_instance *cp_inst = fp->private_data; > struct vas_window *txwin; > diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c > index d5a2c77bc908..a7ec9abc6d00 100644 > --- a/arch/powerpc/platforms/cell/spufs/file.c > +++ b/arch/powerpc/platforms/cell/spufs/file.c > @@ -229,7 +229,7 @@ spufs_mem_write(struct file *file, const char __user *buffer, > static vm_fault_t > spufs_mem_mmap_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct spu_context *ctx = vma->vm_file->private_data; > unsigned long pfn, offset; > vm_fault_t ret; > @@ -258,7 +258,7 @@ spufs_mem_mmap_fault(struct vm_fault *vmf) > return ret; > } > > -static int spufs_mem_mmap_access(struct vm_area_struct *vma, > +static int spufs_mem_mmap_access(struct mm_area *vma, > unsigned long address, > void *buf, int len, int write) > { > @@ -286,7 +286,7 @@ static const struct vm_operations_struct spufs_mem_mmap_vmops = { > .access = spufs_mem_mmap_access, > }; > > -static int spufs_mem_mmap(struct file *file, struct vm_area_struct *vma) > +static int spufs_mem_mmap(struct file *file, struct mm_area *vma) > { > if (!(vma->vm_flags & VM_SHARED)) > return -EINVAL; > @@ -376,7 +376,7 @@ static const struct vm_operations_struct spufs_cntl_mmap_vmops = { > /* > * mmap support for problem state control area [0x4000 - 0x4fff]. > */ > -static int spufs_cntl_mmap(struct file *file, struct vm_area_struct *vma) > +static int spufs_cntl_mmap(struct file *file, struct mm_area *vma) > { > if (!(vma->vm_flags & VM_SHARED)) > return -EINVAL; > @@ -1031,7 +1031,7 @@ static const struct vm_operations_struct spufs_signal1_mmap_vmops = { > .fault = spufs_signal1_mmap_fault, > }; > > -static int spufs_signal1_mmap(struct file *file, struct vm_area_struct *vma) > +static int spufs_signal1_mmap(struct file *file, struct mm_area *vma) > { > if (!(vma->vm_flags & VM_SHARED)) > return -EINVAL; > @@ -1165,7 +1165,7 @@ static const struct vm_operations_struct spufs_signal2_mmap_vmops = { > .fault = spufs_signal2_mmap_fault, > }; > > -static int spufs_signal2_mmap(struct file *file, struct vm_area_struct *vma) > +static int spufs_signal2_mmap(struct file *file, struct mm_area *vma) > { > if (!(vma->vm_flags & VM_SHARED)) > return -EINVAL; > @@ -1286,7 +1286,7 @@ static const struct vm_operations_struct spufs_mss_mmap_vmops = { > /* > * mmap support for problem state MFC DMA area [0x0000 - 0x0fff]. > */ > -static int spufs_mss_mmap(struct file *file, struct vm_area_struct *vma) > +static int spufs_mss_mmap(struct file *file, struct mm_area *vma) > { > if (!(vma->vm_flags & VM_SHARED)) > return -EINVAL; > @@ -1347,7 +1347,7 @@ static const struct vm_operations_struct spufs_psmap_mmap_vmops = { > /* > * mmap support for full problem state area [0x00000 - 0x1ffff]. > */ > -static int spufs_psmap_mmap(struct file *file, struct vm_area_struct *vma) > +static int spufs_psmap_mmap(struct file *file, struct mm_area *vma) > { > if (!(vma->vm_flags & VM_SHARED)) > return -EINVAL; > @@ -1406,7 +1406,7 @@ static const struct vm_operations_struct spufs_mfc_mmap_vmops = { > /* > * mmap support for problem state MFC DMA area [0x0000 - 0x0fff]. > */ > -static int spufs_mfc_mmap(struct file *file, struct vm_area_struct *vma) > +static int spufs_mfc_mmap(struct file *file, struct mm_area *vma) > { > if (!(vma->vm_flags & VM_SHARED)) > return -EINVAL; > diff --git a/arch/powerpc/platforms/powernv/memtrace.c b/arch/powerpc/platforms/powernv/memtrace.c > index 4ac9808e55a4..1fd35cc9716e 100644 > --- a/arch/powerpc/platforms/powernv/memtrace.c > +++ b/arch/powerpc/platforms/powernv/memtrace.c > @@ -45,7 +45,7 @@ static ssize_t memtrace_read(struct file *filp, char __user *ubuf, > return simple_read_from_buffer(ubuf, count, ppos, ent->mem, ent->size); > } > > -static int memtrace_mmap(struct file *filp, struct vm_area_struct *vma) > +static int memtrace_mmap(struct file *filp, struct mm_area *vma) > { > struct memtrace_entry *ent = filp->private_data; > > diff --git a/arch/powerpc/platforms/powernv/opal-prd.c b/arch/powerpc/platforms/powernv/opal-prd.c > index dc246ed4b7b4..5a922ddd9b62 100644 > --- a/arch/powerpc/platforms/powernv/opal-prd.c > +++ b/arch/powerpc/platforms/powernv/opal-prd.c > @@ -110,7 +110,7 @@ static int opal_prd_open(struct inode *inode, struct file *file) > * @vma: VMA to map the registers into > */ > > -static int opal_prd_mmap(struct file *file, struct vm_area_struct *vma) > +static int opal_prd_mmap(struct file *file, struct mm_area *vma) > { > size_t addr, size; > pgprot_t page_prot; > diff --git a/arch/powerpc/platforms/pseries/vas.c b/arch/powerpc/platforms/pseries/vas.c > index c25eb1a38185..a47633bd7586 100644 > --- a/arch/powerpc/platforms/pseries/vas.c > +++ b/arch/powerpc/platforms/pseries/vas.c > @@ -763,7 +763,7 @@ static int reconfig_close_windows(struct vas_caps *vcap, int excess_creds, > { > struct pseries_vas_window *win, *tmp; > struct vas_user_win_ref *task_ref; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int rc = 0, flag; > > if (migrate) > diff --git a/arch/riscv/include/asm/hugetlb.h b/arch/riscv/include/asm/hugetlb.h > index 446126497768..1a0ebd9019eb 100644 > --- a/arch/riscv/include/asm/hugetlb.h > +++ b/arch/riscv/include/asm/hugetlb.h > @@ -32,7 +32,7 @@ pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > unsigned long sz); > > #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH > -pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep); > > #define __HAVE_ARCH_HUGE_PTEP_SET_WRPROTECT > @@ -40,7 +40,7 @@ void huge_ptep_set_wrprotect(struct mm_struct *mm, > unsigned long addr, pte_t *ptep); > > #define __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS > -int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, int dirty); > > diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h > index 428e48e5f57d..2fa52e4eae6a 100644 > --- a/arch/riscv/include/asm/pgtable.h > +++ b/arch/riscv/include/asm/pgtable.h > @@ -506,7 +506,7 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) > > /* Commit new configuration to MMU hardware */ > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > pte_t *ptep, unsigned int nr) > { > asm goto(ALTERNATIVE("nop", "j %l[svvptc]", 0, RISCV_ISA_EXT_SVVPTC, 1) > @@ -535,7 +535,7 @@ svvptc:; > #define update_mmu_tlb_range(vma, addr, ptep, nr) \ > update_mmu_cache_range(NULL, vma, addr, ptep, nr) > > -static inline void update_mmu_cache_pmd(struct vm_area_struct *vma, > +static inline void update_mmu_cache_pmd(struct mm_area *vma, > unsigned long address, pmd_t *pmdp) > { > pte_t *ptep = (pte_t *)pmdp; > @@ -593,10 +593,10 @@ static inline void pte_clear(struct mm_struct *mm, > } > > #define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS /* defined in mm/pgtable.c */ > -extern int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long address, > +extern int ptep_set_access_flags(struct mm_area *vma, unsigned long address, > pte_t *ptep, pte_t entry, int dirty); > #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG /* defined in mm/pgtable.c */ > -extern int ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned long address, > +extern int ptep_test_and_clear_young(struct mm_area *vma, unsigned long address, > pte_t *ptep); > > #define __HAVE_ARCH_PTEP_GET_AND_CLEAR > @@ -618,7 +618,7 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, > } > > #define __HAVE_ARCH_PTEP_CLEAR_YOUNG_FLUSH > -static inline int ptep_clear_flush_young(struct vm_area_struct *vma, > +static inline int ptep_clear_flush_young(struct mm_area *vma, > unsigned long address, pte_t *ptep) > { > /* > @@ -859,7 +859,7 @@ static inline int pmd_trans_huge(pmd_t pmd) > } > > #define __HAVE_ARCH_PMDP_SET_ACCESS_FLAGS > -static inline int pmdp_set_access_flags(struct vm_area_struct *vma, > +static inline int pmdp_set_access_flags(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, > pmd_t entry, int dirty) > { > @@ -867,7 +867,7 @@ static inline int pmdp_set_access_flags(struct vm_area_struct *vma, > } > > #define __HAVE_ARCH_PMDP_TEST_AND_CLEAR_YOUNG > -static inline int pmdp_test_and_clear_young(struct vm_area_struct *vma, > +static inline int pmdp_test_and_clear_young(struct mm_area *vma, > unsigned long address, pmd_t *pmdp) > { > return ptep_test_and_clear_young(vma, address, (pte_t *)pmdp); > @@ -892,7 +892,7 @@ static inline void pmdp_set_wrprotect(struct mm_struct *mm, > } > > #define pmdp_establish pmdp_establish > -static inline pmd_t pmdp_establish(struct vm_area_struct *vma, > +static inline pmd_t pmdp_establish(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, pmd_t pmd) > { > page_table_check_pmd_set(vma->vm_mm, pmdp, pmd); > @@ -900,7 +900,7 @@ static inline pmd_t pmdp_establish(struct vm_area_struct *vma, > } > > #define pmdp_collapse_flush pmdp_collapse_flush > -extern pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > +extern pmd_t pmdp_collapse_flush(struct mm_area *vma, > unsigned long address, pmd_t *pmdp); > #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ > > diff --git a/arch/riscv/include/asm/tlbflush.h b/arch/riscv/include/asm/tlbflush.h > index ce0dd0fed764..18dbd9b692b9 100644 > --- a/arch/riscv/include/asm/tlbflush.h > +++ b/arch/riscv/include/asm/tlbflush.h > @@ -47,14 +47,14 @@ void flush_tlb_all(void); > void flush_tlb_mm(struct mm_struct *mm); > void flush_tlb_mm_range(struct mm_struct *mm, unsigned long start, > unsigned long end, unsigned int page_size); > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr); > -void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void flush_tlb_page(struct mm_area *vma, unsigned long addr); > +void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > void flush_tlb_kernel_range(unsigned long start, unsigned long end); > void local_flush_tlb_kernel_range(unsigned long start, unsigned long end); > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > #define __HAVE_ARCH_FLUSH_PMD_TLB_RANGE > -void flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void flush_pmd_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > #endif > > diff --git a/arch/riscv/kernel/vdso.c b/arch/riscv/kernel/vdso.c > index cc2895d1fbc2..0aada37e5b12 100644 > --- a/arch/riscv/kernel/vdso.c > +++ b/arch/riscv/kernel/vdso.c > @@ -34,7 +34,7 @@ static struct __vdso_info compat_vdso_info; > #endif > > static int vdso_mremap(const struct vm_special_mapping *sm, > - struct vm_area_struct *new_vma) > + struct mm_area *new_vma) > { > current->mm->context.vdso = (void *)new_vma->vm_start; > > diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c > index 1087ea74567b..afd478082547 100644 > --- a/arch/riscv/kvm/mmu.c > +++ b/arch/riscv/kvm/mmu.c > @@ -487,7 +487,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm, > * +--------------------------------------------+ > */ > do { > - struct vm_area_struct *vma = find_vma(current->mm, hva); > + struct mm_area *vma = find_vma(current->mm, hva); > hva_t vm_start, vm_end; > > if (!vma || vma->vm_start >= reg_end) > @@ -595,7 +595,7 @@ int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu, > bool writable; > short vma_pageshift; > gfn_t gfn = gpa >> PAGE_SHIFT; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct kvm *kvm = vcpu->kvm; > struct kvm_mmu_memory_cache *pcache = &vcpu->arch.mmu_page_cache; > bool logging = (memslot->dirty_bitmap && > diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c > index 0194324a0c50..75986abf7b4e 100644 > --- a/arch/riscv/mm/fault.c > +++ b/arch/riscv/mm/fault.c > @@ -243,7 +243,7 @@ static inline void vmalloc_fault(struct pt_regs *regs, int code, unsigned long a > local_flush_tlb_page(addr); > } > > -static inline bool access_error(unsigned long cause, struct vm_area_struct *vma) > +static inline bool access_error(unsigned long cause, struct mm_area *vma) > { > switch (cause) { > case EXC_INST_PAGE_FAULT: > @@ -275,7 +275,7 @@ static inline bool access_error(unsigned long cause, struct vm_area_struct *vma) > void handle_page_fault(struct pt_regs *regs) > { > struct task_struct *tsk; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm; > unsigned long addr, cause; > unsigned int flags = FAULT_FLAG_DEFAULT; > diff --git a/arch/riscv/mm/hugetlbpage.c b/arch/riscv/mm/hugetlbpage.c > index b4a78a4b35cf..f9ef0699f193 100644 > --- a/arch/riscv/mm/hugetlbpage.c > +++ b/arch/riscv/mm/hugetlbpage.c > @@ -28,7 +28,7 @@ pte_t huge_ptep_get(struct mm_struct *mm, unsigned long addr, pte_t *ptep) > } > > pte_t *huge_pte_alloc(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, > unsigned long sz) > { > @@ -172,7 +172,7 @@ static pte_t get_clear_contig_flush(struct mm_struct *mm, > unsigned long pte_num) > { > pte_t orig_pte = get_clear_contig(mm, addr, ptep, pte_num); > - struct vm_area_struct vma = TLB_FLUSH_VMA(mm, 0); > + struct mm_area vma = TLB_FLUSH_VMA(mm, 0); > bool valid = !pte_none(orig_pte); > > if (valid) > @@ -203,7 +203,7 @@ static void clear_flush(struct mm_struct *mm, > unsigned long pgsize, > unsigned long ncontig) > { > - struct vm_area_struct vma = TLB_FLUSH_VMA(mm, 0); > + struct mm_area vma = TLB_FLUSH_VMA(mm, 0); > unsigned long i, saddr = addr; > > for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) > @@ -260,7 +260,7 @@ void set_huge_pte_at(struct mm_struct *mm, > set_pte_at(mm, addr, ptep, pte); > } > > -int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, > pte_t *ptep, > pte_t pte, > @@ -331,7 +331,7 @@ void huge_ptep_set_wrprotect(struct mm_struct *mm, > set_pte_at(mm, addr, ptep, orig_pte); > } > > -pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, > pte_t *ptep) > { > diff --git a/arch/riscv/mm/pgtable.c b/arch/riscv/mm/pgtable.c > index 4ae67324f992..f81997996346 100644 > --- a/arch/riscv/mm/pgtable.c > +++ b/arch/riscv/mm/pgtable.c > @@ -5,7 +5,7 @@ > #include > #include > > -int ptep_set_access_flags(struct vm_area_struct *vma, > +int ptep_set_access_flags(struct mm_area *vma, > unsigned long address, pte_t *ptep, > pte_t entry, int dirty) > { > @@ -31,7 +31,7 @@ int ptep_set_access_flags(struct vm_area_struct *vma, > return false; > } > > -int ptep_test_and_clear_young(struct vm_area_struct *vma, > +int ptep_test_and_clear_young(struct mm_area *vma, > unsigned long address, > pte_t *ptep) > { > @@ -136,7 +136,7 @@ int pmd_free_pte_page(pmd_t *pmd, unsigned long addr) > > #endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */ > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > +pmd_t pmdp_collapse_flush(struct mm_area *vma, > unsigned long address, pmd_t *pmdp) > { > pmd_t pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); > diff --git a/arch/riscv/mm/tlbflush.c b/arch/riscv/mm/tlbflush.c > index c25a40aa2fe0..1ae019b7e60b 100644 > --- a/arch/riscv/mm/tlbflush.c > +++ b/arch/riscv/mm/tlbflush.c > @@ -130,13 +130,13 @@ void flush_tlb_mm_range(struct mm_struct *mm, > __flush_tlb_range(mm, mm_cpumask(mm), start, end - start, page_size); > } > > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > +void flush_tlb_page(struct mm_area *vma, unsigned long addr) > { > __flush_tlb_range(vma->vm_mm, mm_cpumask(vma->vm_mm), > addr, PAGE_SIZE, PAGE_SIZE); > } > > -void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > unsigned long stride_size; > @@ -176,7 +176,7 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end) > } > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -void flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void flush_pmd_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > __flush_tlb_range(vma->vm_mm, mm_cpumask(vma->vm_mm), > diff --git a/arch/s390/include/asm/hugetlb.h b/arch/s390/include/asm/hugetlb.h > index 931fcc413598..ad92be48a9e4 100644 > --- a/arch/s390/include/asm/hugetlb.h > +++ b/arch/s390/include/asm/hugetlb.h > @@ -54,14 +54,14 @@ static inline void huge_pte_clear(struct mm_struct *mm, unsigned long addr, > } > > #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH > -static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +static inline pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long address, pte_t *ptep) > { > return __huge_ptep_get_and_clear(vma->vm_mm, address, ptep); > } > > #define __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS > -static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +static inline int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, int dirty) > { > diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h > index f8a6b54986ec..6bc573582112 100644 > --- a/arch/s390/include/asm/pgtable.h > +++ b/arch/s390/include/asm/pgtable.h > @@ -1215,7 +1215,7 @@ pte_t ptep_xchg_direct(struct mm_struct *, unsigned long, pte_t *, pte_t); > pte_t ptep_xchg_lazy(struct mm_struct *, unsigned long, pte_t *, pte_t); > > #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG > -static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, > +static inline int ptep_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > pte_t pte = *ptep; > @@ -1225,7 +1225,7 @@ static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, > } > > #define __HAVE_ARCH_PTEP_CLEAR_YOUNG_FLUSH > -static inline int ptep_clear_flush_young(struct vm_area_struct *vma, > +static inline int ptep_clear_flush_young(struct mm_area *vma, > unsigned long address, pte_t *ptep) > { > return ptep_test_and_clear_young(vma, address, ptep); > @@ -1245,12 +1245,12 @@ static inline pte_t ptep_get_and_clear(struct mm_struct *mm, > } > > #define __HAVE_ARCH_PTEP_MODIFY_PROT_TRANSACTION > -pte_t ptep_modify_prot_start(struct vm_area_struct *, unsigned long, pte_t *); > -void ptep_modify_prot_commit(struct vm_area_struct *, unsigned long, > +pte_t ptep_modify_prot_start(struct mm_area *, unsigned long, pte_t *); > +void ptep_modify_prot_commit(struct mm_area *, unsigned long, > pte_t *, pte_t, pte_t); > > #define __HAVE_ARCH_PTEP_CLEAR_FLUSH > -static inline pte_t ptep_clear_flush(struct vm_area_struct *vma, > +static inline pte_t ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > pte_t res; > @@ -1327,7 +1327,7 @@ static inline int pte_allow_rdp(pte_t old, pte_t new) > return (pte_val(old) & _PAGE_RDP_MASK) == (pte_val(new) & _PAGE_RDP_MASK); > } > > -static inline void flush_tlb_fix_spurious_fault(struct vm_area_struct *vma, > +static inline void flush_tlb_fix_spurious_fault(struct mm_area *vma, > unsigned long address, > pte_t *ptep) > { > @@ -1350,7 +1350,7 @@ void ptep_reset_dat_prot(struct mm_struct *mm, unsigned long addr, pte_t *ptep, > pte_t new); > > #define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS > -static inline int ptep_set_access_flags(struct vm_area_struct *vma, > +static inline int ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t entry, int dirty) > { > @@ -1776,7 +1776,7 @@ void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, > pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp); > > #define __HAVE_ARCH_PMDP_SET_ACCESS_FLAGS > -static inline int pmdp_set_access_flags(struct vm_area_struct *vma, > +static inline int pmdp_set_access_flags(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp, > pmd_t entry, int dirty) > { > @@ -1792,7 +1792,7 @@ static inline int pmdp_set_access_flags(struct vm_area_struct *vma, > } > > #define __HAVE_ARCH_PMDP_TEST_AND_CLEAR_YOUNG > -static inline int pmdp_test_and_clear_young(struct vm_area_struct *vma, > +static inline int pmdp_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp) > { > pmd_t pmd = *pmdp; > @@ -1802,7 +1802,7 @@ static inline int pmdp_test_and_clear_young(struct vm_area_struct *vma, > } > > #define __HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH > -static inline int pmdp_clear_flush_young(struct vm_area_struct *vma, > +static inline int pmdp_clear_flush_young(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp) > { > VM_BUG_ON(addr & ~HPAGE_MASK); > @@ -1830,7 +1830,7 @@ static inline pmd_t pmdp_huge_get_and_clear(struct mm_struct *mm, > } > > #define __HAVE_ARCH_PMDP_HUGE_GET_AND_CLEAR_FULL > -static inline pmd_t pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, > +static inline pmd_t pmdp_huge_get_and_clear_full(struct mm_area *vma, > unsigned long addr, > pmd_t *pmdp, int full) > { > @@ -1843,14 +1843,14 @@ static inline pmd_t pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, > } > > #define __HAVE_ARCH_PMDP_HUGE_CLEAR_FLUSH > -static inline pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, > +static inline pmd_t pmdp_huge_clear_flush(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp) > { > return pmdp_huge_get_and_clear(vma->vm_mm, addr, pmdp); > } > > #define __HAVE_ARCH_PMDP_INVALIDATE > -static inline pmd_t pmdp_invalidate(struct vm_area_struct *vma, > +static inline pmd_t pmdp_invalidate(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp) > { > pmd_t pmd; > @@ -1870,7 +1870,7 @@ static inline void pmdp_set_wrprotect(struct mm_struct *mm, > pmd = pmdp_xchg_lazy(mm, addr, pmdp, pmd_wrprotect(pmd)); > } > > -static inline pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > +static inline pmd_t pmdp_collapse_flush(struct mm_area *vma, > unsigned long address, > pmd_t *pmdp) > { > diff --git a/arch/s390/include/asm/tlbflush.h b/arch/s390/include/asm/tlbflush.h > index 75491baa2197..8eab59435a2c 100644 > --- a/arch/s390/include/asm/tlbflush.h > +++ b/arch/s390/include/asm/tlbflush.h > @@ -111,7 +111,7 @@ static inline void flush_tlb_mm(struct mm_struct *mm) > __tlb_flush_mm_lazy(mm); > } > > -static inline void flush_tlb_range(struct vm_area_struct *vma, > +static inline void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > __tlb_flush_mm_lazy(vma->vm_mm); > diff --git a/arch/s390/kernel/crash_dump.c b/arch/s390/kernel/crash_dump.c > index 4a981266b483..cff27a7da9bc 100644 > --- a/arch/s390/kernel/crash_dump.c > +++ b/arch/s390/kernel/crash_dump.c > @@ -176,7 +176,7 @@ ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn, size_t csize, > * For the kdump reserved memory this functions performs a swap operation: > * [0 - OLDMEM_SIZE] is mapped to [OLDMEM_BASE - OLDMEM_BASE + OLDMEM_SIZE] > */ > -static int remap_oldmem_pfn_range_kdump(struct vm_area_struct *vma, > +static int remap_oldmem_pfn_range_kdump(struct mm_area *vma, > unsigned long from, unsigned long pfn, > unsigned long size, pgprot_t prot) > { > @@ -203,7 +203,7 @@ static int remap_oldmem_pfn_range_kdump(struct vm_area_struct *vma, > * We only map available memory above HSA size. Memory below HSA size > * is read on demand using the copy_oldmem_page() function. > */ > -static int remap_oldmem_pfn_range_zfcpdump(struct vm_area_struct *vma, > +static int remap_oldmem_pfn_range_zfcpdump(struct mm_area *vma, > unsigned long from, > unsigned long pfn, > unsigned long size, pgprot_t prot) > @@ -225,7 +225,7 @@ static int remap_oldmem_pfn_range_zfcpdump(struct vm_area_struct *vma, > /* > * Remap "oldmem" for kdump or zfcp/nvme dump > */ > -int remap_oldmem_pfn_range(struct vm_area_struct *vma, unsigned long from, > +int remap_oldmem_pfn_range(struct mm_area *vma, unsigned long from, > unsigned long pfn, unsigned long size, pgprot_t prot) > { > if (oldmem_data.start) > diff --git a/arch/s390/kernel/uv.c b/arch/s390/kernel/uv.c > index 9a5d5be8acf4..a41b180a29bc 100644 > --- a/arch/s390/kernel/uv.c > +++ b/arch/s390/kernel/uv.c > @@ -356,7 +356,7 @@ static int s390_wiggle_split_folio(struct mm_struct *mm, struct folio *folio, bo > > int make_hva_secure(struct mm_struct *mm, unsigned long hva, struct uv_cb_header *uvcb) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct folio_walk fw; > struct folio *folio; > int rc; > diff --git a/arch/s390/kernel/vdso.c b/arch/s390/kernel/vdso.c > index 430feb1a5013..f660415e46c0 100644 > --- a/arch/s390/kernel/vdso.c > +++ b/arch/s390/kernel/vdso.c > @@ -27,7 +27,7 @@ extern char vdso64_start[], vdso64_end[]; > extern char vdso32_start[], vdso32_end[]; > > static int vdso_mremap(const struct vm_special_mapping *sm, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > current->mm->context.vdso_base = vma->vm_start; > return 0; > @@ -55,7 +55,7 @@ static int map_vdso(unsigned long addr, unsigned long vdso_mapping_len) > unsigned long vvar_start, vdso_text_start, vdso_text_len; > struct vm_special_mapping *vdso_mapping; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int rc; > > BUILD_BUG_ON(VDSO_NR_PAGES != __VDSO_PAGES); > diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c > index da84ff6770de..119a4c17873b 100644 > --- a/arch/s390/mm/fault.c > +++ b/arch/s390/mm/fault.c > @@ -258,7 +258,7 @@ static void do_sigbus(struct pt_regs *regs) > */ > static void do_exception(struct pt_regs *regs, int access) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long address; > struct mm_struct *mm; > unsigned int flags; > @@ -405,7 +405,7 @@ void do_secure_storage_access(struct pt_regs *regs) > { > union teid teid = { .val = regs->int_parm_long }; > unsigned long addr = get_fault_address(regs); > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct folio_walk fw; > struct mm_struct *mm; > struct folio *folio; > diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c > index a94bd4870c65..8c6a886f71d1 100644 > --- a/arch/s390/mm/gmap.c > +++ b/arch/s390/mm/gmap.c > @@ -620,7 +620,7 @@ EXPORT_SYMBOL(__gmap_link); > */ > void __gmap_zap(struct gmap *gmap, unsigned long gaddr) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long vmaddr; > spinlock_t *ptl; > pte_t *ptep; > @@ -648,7 +648,7 @@ EXPORT_SYMBOL_GPL(__gmap_zap); > void gmap_discard(struct gmap *gmap, unsigned long from, unsigned long to) > { > unsigned long gaddr, vmaddr, size; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_read_lock(gmap->mm); > for (gaddr = from; gaddr < to; > @@ -2222,7 +2222,7 @@ EXPORT_SYMBOL_GPL(gmap_sync_dirty_log_pmd); > static int thp_split_walk_pmd_entry(pmd_t *pmd, unsigned long addr, > unsigned long end, struct mm_walk *walk) > { > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > > split_huge_pmd(vma, pmd, addr); > return 0; > @@ -2235,7 +2235,7 @@ static const struct mm_walk_ops thp_split_walk_ops = { > > static inline void thp_split_mm(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, 0); > > for_each_vma(vmi, vma) { > @@ -2312,7 +2312,7 @@ static const struct mm_walk_ops find_zeropage_ops = { > */ > static int __s390_unshare_zeropages(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, 0); > unsigned long addr; > vm_fault_t fault; > diff --git a/arch/s390/mm/hugetlbpage.c b/arch/s390/mm/hugetlbpage.c > index e88c02c9e642..c54f4772b8bf 100644 > --- a/arch/s390/mm/hugetlbpage.c > +++ b/arch/s390/mm/hugetlbpage.c > @@ -203,7 +203,7 @@ pte_t __huge_ptep_get_and_clear(struct mm_struct *mm, > return pte; > } > > -pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pte_alloc(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, unsigned long sz) > { > pgd_t *pgdp; > diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c > index 40a526d28184..edbd4688f56a 100644 > --- a/arch/s390/mm/mmap.c > +++ b/arch/s390/mm/mmap.c > @@ -81,7 +81,7 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, > unsigned long flags, vm_flags_t vm_flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct vm_unmapped_area_info info = {}; > > if (len > TASK_SIZE - mmap_min_addr) > @@ -116,7 +116,7 @@ unsigned long arch_get_unmapped_area_topdown(struct file *filp, unsigned long ad > unsigned long len, unsigned long pgoff, > unsigned long flags, vm_flags_t vm_flags) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > struct vm_unmapped_area_info info = {}; > > diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c > index 9901934284ec..28f0316e4db1 100644 > --- a/arch/s390/mm/pgtable.c > +++ b/arch/s390/mm/pgtable.c > @@ -327,7 +327,7 @@ pte_t ptep_xchg_lazy(struct mm_struct *mm, unsigned long addr, > } > EXPORT_SYMBOL(ptep_xchg_lazy); > > -pte_t ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, > +pte_t ptep_modify_prot_start(struct mm_area *vma, unsigned long addr, > pte_t *ptep) > { > pgste_t pgste; > @@ -346,7 +346,7 @@ pte_t ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, > return old; > } > > -void ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, > +void ptep_modify_prot_commit(struct mm_area *vma, unsigned long addr, > pte_t *ptep, pte_t old_pte, pte_t pte) > { > pgste_t pgste; > @@ -437,7 +437,7 @@ static inline pmd_t pmdp_flush_lazy(struct mm_struct *mm, > #ifdef CONFIG_PGSTE > static int pmd_lookup(struct mm_struct *mm, unsigned long addr, pmd_t **pmdp) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > pgd_t *pgd; > p4d_t *p4d; > pud_t *pud; > @@ -1032,7 +1032,7 @@ EXPORT_SYMBOL(get_guest_storage_key); > int pgste_perform_essa(struct mm_struct *mm, unsigned long hva, int orc, > unsigned long *oldpte, unsigned long *oldpgste) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long pgstev; > spinlock_t *ptl; > pgste_t pgste; > @@ -1138,7 +1138,7 @@ EXPORT_SYMBOL(pgste_perform_essa); > int set_pgste_bits(struct mm_struct *mm, unsigned long hva, > unsigned long bits, unsigned long value) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > spinlock_t *ptl; > pgste_t new; > pte_t *ptep; > @@ -1170,7 +1170,7 @@ EXPORT_SYMBOL(set_pgste_bits); > */ > int get_pgste(struct mm_struct *mm, unsigned long hva, unsigned long *pgstep) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > spinlock_t *ptl; > pte_t *ptep; > > diff --git a/arch/s390/pci/pci_mmio.c b/arch/s390/pci/pci_mmio.c > index 5fcc1a3b04bd..77d158f08245 100644 > --- a/arch/s390/pci/pci_mmio.c > +++ b/arch/s390/pci/pci_mmio.c > @@ -126,7 +126,7 @@ SYSCALL_DEFINE3(s390_pci_mmio_write, unsigned long, mmio_addr, > u8 local_buf[64]; > void __iomem *io_addr; > void *buf; > - struct vm_area_struct *vma; > + struct mm_area *vma; > long ret; > > if (!zpci_is_enabled()) > @@ -279,7 +279,7 @@ SYSCALL_DEFINE3(s390_pci_mmio_read, unsigned long, mmio_addr, > u8 local_buf[64]; > void __iomem *io_addr; > void *buf; > - struct vm_area_struct *vma; > + struct mm_area *vma; > long ret; > > if (!zpci_is_enabled()) > diff --git a/arch/sh/include/asm/cacheflush.h b/arch/sh/include/asm/cacheflush.h > index e6642ff14889..87666383d58a 100644 > --- a/arch/sh/include/asm/cacheflush.h > +++ b/arch/sh/include/asm/cacheflush.h > @@ -37,9 +37,9 @@ extern void (*__flush_invalidate_region)(void *start, int size); > extern void flush_cache_all(void); > extern void flush_cache_mm(struct mm_struct *mm); > extern void flush_cache_dup_mm(struct mm_struct *mm); > -extern void flush_cache_page(struct vm_area_struct *vma, > +extern void flush_cache_page(struct mm_area *vma, > unsigned long addr, unsigned long pfn); > -extern void flush_cache_range(struct vm_area_struct *vma, > +extern void flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end); > #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1 > void flush_dcache_folio(struct folio *folio); > @@ -51,20 +51,20 @@ static inline void flush_dcache_page(struct page *page) > > extern void flush_icache_range(unsigned long start, unsigned long end); > #define flush_icache_user_range flush_icache_range > -void flush_icache_pages(struct vm_area_struct *vma, struct page *page, > +void flush_icache_pages(struct mm_area *vma, struct page *page, > unsigned int nr); > #define flush_icache_pages flush_icache_pages > extern void flush_cache_sigtramp(unsigned long address); > > struct flusher_data { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr1, addr2; > }; > > #define ARCH_HAS_FLUSH_ANON_PAGE > extern void __flush_anon_page(struct page *page, unsigned long); > > -static inline void flush_anon_page(struct vm_area_struct *vma, > +static inline void flush_anon_page(struct mm_area *vma, > struct page *page, unsigned long vmaddr) > { > if (boot_cpu_data.dcache.n_aliases && PageAnon(page)) > @@ -81,11 +81,11 @@ static inline void invalidate_kernel_vmap_range(void *addr, int size) > __flush_invalidate_region(addr, size); > } > > -extern void copy_to_user_page(struct vm_area_struct *vma, > +extern void copy_to_user_page(struct mm_area *vma, > struct page *page, unsigned long vaddr, void *dst, const void *src, > unsigned long len); > > -extern void copy_from_user_page(struct vm_area_struct *vma, > +extern void copy_from_user_page(struct mm_area *vma, > struct page *page, unsigned long vaddr, void *dst, const void *src, > unsigned long len); > > diff --git a/arch/sh/include/asm/hugetlb.h b/arch/sh/include/asm/hugetlb.h > index 4a92e6e4d627..f2f364330ed9 100644 > --- a/arch/sh/include/asm/hugetlb.h > +++ b/arch/sh/include/asm/hugetlb.h > @@ -6,7 +6,7 @@ > #include > > #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH > -static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +static inline pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > return *ptep; > diff --git a/arch/sh/include/asm/page.h b/arch/sh/include/asm/page.h > index 3990cbd9aa04..feba697dd921 100644 > --- a/arch/sh/include/asm/page.h > +++ b/arch/sh/include/asm/page.h > @@ -48,10 +48,10 @@ extern void copy_page(void *to, void *from); > #define copy_user_page(to, from, vaddr, pg) __copy_user(to, from, PAGE_SIZE) > > struct page; > -struct vm_area_struct; > +struct mm_area; > > extern void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > #define __HAVE_ARCH_COPY_USER_HIGHPAGE > extern void clear_user_highpage(struct page *page, unsigned long vaddr); > #define clear_user_highpage clear_user_highpage > diff --git a/arch/sh/include/asm/pgtable.h b/arch/sh/include/asm/pgtable.h > index 729f5c6225fb..1cc0974cae6c 100644 > --- a/arch/sh/include/asm/pgtable.h > +++ b/arch/sh/include/asm/pgtable.h > @@ -94,16 +94,16 @@ typedef pte_t *pte_addr_t; > > #define pte_pfn(x) ((unsigned long)(((x).pte_low >> PAGE_SHIFT))) > > -struct vm_area_struct; > +struct mm_area; > struct mm_struct; > > -extern void __update_cache(struct vm_area_struct *vma, > +extern void __update_cache(struct mm_area *vma, > unsigned long address, pte_t pte); > -extern void __update_tlb(struct vm_area_struct *vma, > +extern void __update_tlb(struct mm_area *vma, > unsigned long address, pte_t pte); > > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > pte_t *ptep, unsigned int nr) > { > pte_t pte = *ptep; > diff --git a/arch/sh/include/asm/tlb.h b/arch/sh/include/asm/tlb.h > index ddf324bfb9a0..6d1e9c61e24c 100644 > --- a/arch/sh/include/asm/tlb.h > +++ b/arch/sh/include/asm/tlb.h > @@ -10,10 +10,10 @@ > #include > > #if defined(CONFIG_CPU_SH4) > -extern void tlb_wire_entry(struct vm_area_struct *, unsigned long, pte_t); > +extern void tlb_wire_entry(struct mm_area *, unsigned long, pte_t); > extern void tlb_unwire_entry(void); > #else > -static inline void tlb_wire_entry(struct vm_area_struct *vma , > +static inline void tlb_wire_entry(struct mm_area *vma , > unsigned long addr, pte_t pte) > { > BUG(); > diff --git a/arch/sh/include/asm/tlbflush.h b/arch/sh/include/asm/tlbflush.h > index 8f180cd3bcd6..ca2de60ad063 100644 > --- a/arch/sh/include/asm/tlbflush.h > +++ b/arch/sh/include/asm/tlbflush.h > @@ -13,10 +13,10 @@ > */ > extern void local_flush_tlb_all(void); > extern void local_flush_tlb_mm(struct mm_struct *mm); > -extern void local_flush_tlb_range(struct vm_area_struct *vma, > +extern void local_flush_tlb_range(struct mm_area *vma, > unsigned long start, > unsigned long end); > -extern void local_flush_tlb_page(struct vm_area_struct *vma, > +extern void local_flush_tlb_page(struct mm_area *vma, > unsigned long page); > extern void local_flush_tlb_kernel_range(unsigned long start, > unsigned long end); > @@ -28,9 +28,9 @@ extern void __flush_tlb_global(void); > > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *mm); > -extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +extern void flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > -extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page); > +extern void flush_tlb_page(struct mm_area *vma, unsigned long page); > extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); > extern void flush_tlb_one(unsigned long asid, unsigned long page); > > diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c > index 108d808767fa..61d56994d473 100644 > --- a/arch/sh/kernel/smp.c > +++ b/arch/sh/kernel/smp.c > @@ -377,7 +377,7 @@ void flush_tlb_mm(struct mm_struct *mm) > } > > struct flush_tlb_data { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr1; > unsigned long addr2; > }; > @@ -389,7 +389,7 @@ static void flush_tlb_range_ipi(void *info) > local_flush_tlb_range(fd->vma, fd->addr1, fd->addr2); > } > > -void flush_tlb_range(struct vm_area_struct *vma, > +void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > @@ -435,7 +435,7 @@ static void flush_tlb_page_ipi(void *info) > local_flush_tlb_page(fd->vma, fd->addr1); > } > > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void flush_tlb_page(struct mm_area *vma, unsigned long page) > { > preempt_disable(); > if ((atomic_read(&vma->vm_mm->mm_users) != 1) || > diff --git a/arch/sh/kernel/sys_sh.c b/arch/sh/kernel/sys_sh.c > index a5a7b33ed81a..2d263feef643 100644 > --- a/arch/sh/kernel/sys_sh.c > +++ b/arch/sh/kernel/sys_sh.c > @@ -57,7 +57,7 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, > /* sys_cacheflush -- flush (part of) the processor cache. */ > asmlinkage int sys_cacheflush(unsigned long addr, unsigned long len, int op) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > if ((op <= 0) || (op > (CACHEFLUSH_D_PURGE|CACHEFLUSH_I))) > return -EINVAL; > diff --git a/arch/sh/kernel/vsyscall/vsyscall.c b/arch/sh/kernel/vsyscall/vsyscall.c > index 1563dcc55fd3..9916506a052a 100644 > --- a/arch/sh/kernel/vsyscall/vsyscall.c > +++ b/arch/sh/kernel/vsyscall/vsyscall.c > @@ -83,7 +83,7 @@ fs_initcall(vm_sysctl_init); > int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr; > int ret; > > @@ -113,7 +113,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) > return ret; > } > > -const char *arch_vma_name(struct vm_area_struct *vma) > +const char *arch_vma_name(struct mm_area *vma) > { > if (vma->vm_mm && vma->vm_start == (long)vma->vm_mm->context.vdso) > return "[vdso]"; > diff --git a/arch/sh/mm/cache-sh4.c b/arch/sh/mm/cache-sh4.c > index 46393b00137e..f4d37a852d27 100644 > --- a/arch/sh/mm/cache-sh4.c > +++ b/arch/sh/mm/cache-sh4.c > @@ -214,7 +214,7 @@ static void sh4_flush_cache_mm(void *arg) > static void sh4_flush_cache_page(void *args) > { > struct flusher_data *data = args; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct page *page; > unsigned long address, pfn, phys; > int map_coherent = 0; > @@ -283,7 +283,7 @@ static void sh4_flush_cache_page(void *args) > static void sh4_flush_cache_range(void *args) > { > struct flusher_data *data = args; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long start, end; > > vma = data->vma; > diff --git a/arch/sh/mm/cache.c b/arch/sh/mm/cache.c > index 6ebdeaff3021..2f85019529ff 100644 > --- a/arch/sh/mm/cache.c > +++ b/arch/sh/mm/cache.c > @@ -57,7 +57,7 @@ static inline void cacheop_on_each_cpu(void (*func) (void *info), void *info, > preempt_enable(); > } > > -void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long vaddr, void *dst, const void *src, > unsigned long len) > { > @@ -78,7 +78,7 @@ void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > flush_cache_page(vma, vaddr, page_to_pfn(page)); > } > > -void copy_from_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_from_user_page(struct mm_area *vma, struct page *page, > unsigned long vaddr, void *dst, const void *src, > unsigned long len) > { > @@ -97,7 +97,7 @@ void copy_from_user_page(struct vm_area_struct *vma, struct page *page, > } > > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > struct folio *src = page_folio(from); > void *vfrom, *vto; > @@ -138,7 +138,7 @@ void clear_user_highpage(struct page *page, unsigned long vaddr) > } > EXPORT_SYMBOL(clear_user_highpage); > > -void __update_cache(struct vm_area_struct *vma, > +void __update_cache(struct mm_area *vma, > unsigned long address, pte_t pte) > { > unsigned long pfn = pte_pfn(pte); > @@ -197,7 +197,7 @@ void flush_cache_dup_mm(struct mm_struct *mm) > cacheop_on_each_cpu(local_flush_cache_dup_mm, mm, 1); > } > > -void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, > +void flush_cache_page(struct mm_area *vma, unsigned long addr, > unsigned long pfn) > { > struct flusher_data data; > @@ -209,7 +209,7 @@ void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, > cacheop_on_each_cpu(local_flush_cache_page, (void *)&data, 1); > } > > -void flush_cache_range(struct vm_area_struct *vma, unsigned long start, > +void flush_cache_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > struct flusher_data data; > @@ -240,7 +240,7 @@ void flush_icache_range(unsigned long start, unsigned long end) > } > EXPORT_SYMBOL(flush_icache_range); > > -void flush_icache_pages(struct vm_area_struct *vma, struct page *page, > +void flush_icache_pages(struct mm_area *vma, struct page *page, > unsigned int nr) > { > /* Nothing uses the VMA, so just pass the folio along */ > diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c > index 06e6b4952924..962137e245fc 100644 > --- a/arch/sh/mm/fault.c > +++ b/arch/sh/mm/fault.c > @@ -355,7 +355,7 @@ mm_fault_error(struct pt_regs *regs, unsigned long error_code, > return 1; > } > > -static inline int access_error(int error_code, struct vm_area_struct *vma) > +static inline int access_error(int error_code, struct mm_area *vma) > { > if (error_code & FAULT_CODE_WRITE) { > /* write, present and write, not present: */ > @@ -393,7 +393,7 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs, > unsigned long vec; > struct task_struct *tsk; > struct mm_struct *mm; > - struct vm_area_struct * vma; > + struct mm_area * vma; > vm_fault_t fault; > unsigned int flags = FAULT_FLAG_DEFAULT; > > diff --git a/arch/sh/mm/hugetlbpage.c b/arch/sh/mm/hugetlbpage.c > index ff209b55285a..ea147dc50cfa 100644 > --- a/arch/sh/mm/hugetlbpage.c > +++ b/arch/sh/mm/hugetlbpage.c > @@ -21,7 +21,7 @@ > #include > #include > > -pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pte_alloc(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, unsigned long sz) > { > pgd_t *pgd; > diff --git a/arch/sh/mm/mmap.c b/arch/sh/mm/mmap.c > index c442734d9b0c..a015e881f62f 100644 > --- a/arch/sh/mm/mmap.c > +++ b/arch/sh/mm/mmap.c > @@ -56,7 +56,7 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, > vm_flags_t vm_flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int do_colour_align; > struct vm_unmapped_area_info info = {}; > > @@ -102,7 +102,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, > const unsigned long len, const unsigned long pgoff, > const unsigned long flags, vm_flags_t vm_flags) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > unsigned long addr = addr0; > int do_colour_align; > diff --git a/arch/sh/mm/nommu.c b/arch/sh/mm/nommu.c > index fa3dc9428a73..739f316eb55a 100644 > --- a/arch/sh/mm/nommu.c > +++ b/arch/sh/mm/nommu.c > @@ -46,13 +46,13 @@ void local_flush_tlb_mm(struct mm_struct *mm) > BUG(); > } > > -void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void local_flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > BUG(); > } > > -void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void local_flush_tlb_page(struct mm_area *vma, unsigned long page) > { > BUG(); > } > @@ -71,7 +71,7 @@ void __flush_tlb_global(void) > { > } > > -void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) > +void __update_tlb(struct mm_area *vma, unsigned long address, pte_t pte) > { > } > > diff --git a/arch/sh/mm/tlb-pteaex.c b/arch/sh/mm/tlb-pteaex.c > index 4db21adfe5de..c88f5cdca94e 100644 > --- a/arch/sh/mm/tlb-pteaex.c > +++ b/arch/sh/mm/tlb-pteaex.c > @@ -15,7 +15,7 @@ > #include > #include > > -void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) > +void __update_tlb(struct mm_area *vma, unsigned long address, pte_t pte) > { > unsigned long flags, pteval, vpn; > > diff --git a/arch/sh/mm/tlb-sh3.c b/arch/sh/mm/tlb-sh3.c > index fb400afc2a49..77369712a89c 100644 > --- a/arch/sh/mm/tlb-sh3.c > +++ b/arch/sh/mm/tlb-sh3.c > @@ -24,7 +24,7 @@ > #include > #include > > -void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) > +void __update_tlb(struct mm_area *vma, unsigned long address, pte_t pte) > { > unsigned long flags, pteval, vpn; > > diff --git a/arch/sh/mm/tlb-sh4.c b/arch/sh/mm/tlb-sh4.c > index aa0a9f4680a1..edd340097b4a 100644 > --- a/arch/sh/mm/tlb-sh4.c > +++ b/arch/sh/mm/tlb-sh4.c > @@ -13,7 +13,7 @@ > #include > #include > > -void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) > +void __update_tlb(struct mm_area *vma, unsigned long address, pte_t pte) > { > unsigned long flags, pteval, vpn; > > diff --git a/arch/sh/mm/tlb-urb.c b/arch/sh/mm/tlb-urb.c > index c92ce20db39b..78a98552ccac 100644 > --- a/arch/sh/mm/tlb-urb.c > +++ b/arch/sh/mm/tlb-urb.c > @@ -17,7 +17,7 @@ > /* > * Load the entry for 'addr' into the TLB and wire the entry. > */ > -void tlb_wire_entry(struct vm_area_struct *vma, unsigned long addr, pte_t pte) > +void tlb_wire_entry(struct mm_area *vma, unsigned long addr, pte_t pte) > { > unsigned long status, flags; > int urb; > diff --git a/arch/sh/mm/tlbflush_32.c b/arch/sh/mm/tlbflush_32.c > index a6a20d6de4c0..6307b906924a 100644 > --- a/arch/sh/mm/tlbflush_32.c > +++ b/arch/sh/mm/tlbflush_32.c > @@ -12,7 +12,7 @@ > #include > #include > > -void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void local_flush_tlb_page(struct mm_area *vma, unsigned long page) > { > unsigned int cpu = smp_processor_id(); > > @@ -36,7 +36,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > } > } > > -void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +void local_flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > diff --git a/arch/sparc/include/asm/cacheflush_64.h b/arch/sparc/include/asm/cacheflush_64.h > index 2b1261b77ecd..1e6477ef34bb 100644 > --- a/arch/sparc/include/asm/cacheflush_64.h > +++ b/arch/sparc/include/asm/cacheflush_64.h > @@ -53,7 +53,7 @@ static inline void flush_dcache_page(struct page *page) > flush_dcache_folio(page_folio(page)); > } > > -void flush_ptrace_access(struct vm_area_struct *, struct page *, > +void flush_ptrace_access(struct mm_area *, struct page *, > unsigned long uaddr, void *kaddr, > unsigned long len, int write); > > diff --git a/arch/sparc/include/asm/cachetlb_32.h b/arch/sparc/include/asm/cachetlb_32.h > index 534da70c6357..1ae6b8f58673 100644 > --- a/arch/sparc/include/asm/cachetlb_32.h > +++ b/arch/sparc/include/asm/cachetlb_32.h > @@ -3,20 +3,20 @@ > #define _SPARC_CACHETLB_H > > struct mm_struct; > -struct vm_area_struct; > +struct mm_area; > > struct sparc32_cachetlb_ops { > void (*cache_all)(void); > void (*cache_mm)(struct mm_struct *); > - void (*cache_range)(struct vm_area_struct *, unsigned long, > + void (*cache_range)(struct mm_area *, unsigned long, > unsigned long); > - void (*cache_page)(struct vm_area_struct *, unsigned long); > + void (*cache_page)(struct mm_area *, unsigned long); > > void (*tlb_all)(void); > void (*tlb_mm)(struct mm_struct *); > - void (*tlb_range)(struct vm_area_struct *, unsigned long, > + void (*tlb_range)(struct mm_area *, unsigned long, > unsigned long); > - void (*tlb_page)(struct vm_area_struct *, unsigned long); > + void (*tlb_page)(struct mm_area *, unsigned long); > > void (*page_to_ram)(unsigned long); > void (*sig_insns)(struct mm_struct *, unsigned long); > diff --git a/arch/sparc/include/asm/hugetlb.h b/arch/sparc/include/asm/hugetlb.h > index e7a9cdd498dc..fdc29771a6a6 100644 > --- a/arch/sparc/include/asm/hugetlb.h > +++ b/arch/sparc/include/asm/hugetlb.h > @@ -23,7 +23,7 @@ pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, > pte_t *ptep, unsigned long sz); > > #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH > -static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +static inline pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > return *ptep; > @@ -38,7 +38,7 @@ static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > } > > #define __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS > -static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +static inline int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, int dirty) > { > diff --git a/arch/sparc/include/asm/leon.h b/arch/sparc/include/asm/leon.h > index c1e05e4ab9e3..e0cf0f724fb4 100644 > --- a/arch/sparc/include/asm/leon.h > +++ b/arch/sparc/include/asm/leon.h > @@ -195,7 +195,7 @@ static inline int sparc_leon3_cpuid(void) > #define LEON2_CFG_SSIZE_MASK 0x00007000UL > > #ifndef __ASSEMBLY__ > -struct vm_area_struct; > +struct mm_area; > > unsigned long leon_swprobe(unsigned long vaddr, unsigned long *paddr); > void leon_flush_icache_all(void); > @@ -204,7 +204,7 @@ void leon_flush_cache_all(void); > void leon_flush_tlb_all(void); > extern int leon_flush_during_switch; > int leon_flush_needed(void); > -void leon_flush_pcache_all(struct vm_area_struct *vma, unsigned long page); > +void leon_flush_pcache_all(struct mm_area *vma, unsigned long page); > > /* struct that hold LEON3 cache configuration registers */ > struct leon3_cacheregs { > diff --git a/arch/sparc/include/asm/page_64.h b/arch/sparc/include/asm/page_64.h > index 2a68ff5b6eab..1abc1d8743c5 100644 > --- a/arch/sparc/include/asm/page_64.h > +++ b/arch/sparc/include/asm/page_64.h > @@ -46,9 +46,9 @@ void clear_user_page(void *addr, unsigned long vaddr, struct page *page); > #define copy_page(X,Y) memcpy((void *)(X), (void *)(Y), PAGE_SIZE) > void copy_user_page(void *to, void *from, unsigned long vaddr, struct page *topage); > #define __HAVE_ARCH_COPY_USER_HIGHPAGE > -struct vm_area_struct; > +struct mm_area; > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > #define __HAVE_ARCH_COPY_HIGHPAGE > void copy_highpage(struct page *to, struct page *from); > > diff --git a/arch/sparc/include/asm/pgtable_32.h b/arch/sparc/include/asm/pgtable_32.h > index 62bcafe38b1f..a451d5430db1 100644 > --- a/arch/sparc/include/asm/pgtable_32.h > +++ b/arch/sparc/include/asm/pgtable_32.h > @@ -33,7 +33,7 @@ > #include > > > -struct vm_area_struct; > +struct mm_area; > struct page; > > void load_mmu(void); > @@ -400,10 +400,10 @@ __get_iospace (unsigned long addr) > #define GET_IOSPACE(pfn) (pfn >> (BITS_PER_LONG - 4)) > #define GET_PFN(pfn) (pfn & 0x0fffffffUL) > > -int remap_pfn_range(struct vm_area_struct *, unsigned long, unsigned long, > +int remap_pfn_range(struct mm_area *, unsigned long, unsigned long, > unsigned long, pgprot_t); > > -static inline int io_remap_pfn_range(struct vm_area_struct *vma, > +static inline int io_remap_pfn_range(struct mm_area *vma, > unsigned long from, unsigned long pfn, > unsigned long size, pgprot_t prot) > { > diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h > index dc28f2c4eee3..7d06b4894f2a 100644 > --- a/arch/sparc/include/asm/pgtable_64.h > +++ b/arch/sparc/include/asm/pgtable_64.h > @@ -979,17 +979,17 @@ unsigned long find_ecache_flush_span(unsigned long size); > struct seq_file; > void mmu_info(struct seq_file *); > > -struct vm_area_struct; > -void update_mmu_cache_range(struct vm_fault *, struct vm_area_struct *, > +struct mm_area; > +void update_mmu_cache_range(struct vm_fault *, struct mm_area *, > unsigned long addr, pte_t *ptep, unsigned int nr); > #define update_mmu_cache(vma, addr, ptep) \ > update_mmu_cache_range(NULL, vma, addr, ptep, 1) > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -void update_mmu_cache_pmd(struct vm_area_struct *vma, unsigned long addr, > +void update_mmu_cache_pmd(struct mm_area *vma, unsigned long addr, > pmd_t *pmd); > > #define __HAVE_ARCH_PMDP_INVALIDATE > -extern pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, > +extern pmd_t pmdp_invalidate(struct mm_area *vma, unsigned long address, > pmd_t *pmdp); > > #define __HAVE_ARCH_PGTABLE_DEPOSIT > @@ -1050,18 +1050,18 @@ int page_in_phys_avail(unsigned long paddr); > #define GET_IOSPACE(pfn) (pfn >> (BITS_PER_LONG - 4)) > #define GET_PFN(pfn) (pfn & 0x0fffffffffffffffUL) > > -int remap_pfn_range(struct vm_area_struct *, unsigned long, unsigned long, > +int remap_pfn_range(struct mm_area *, unsigned long, unsigned long, > unsigned long, pgprot_t); > > -void adi_restore_tags(struct mm_struct *mm, struct vm_area_struct *vma, > +void adi_restore_tags(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, pte_t pte); > > -int adi_save_tags(struct mm_struct *mm, struct vm_area_struct *vma, > +int adi_save_tags(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, pte_t oldpte); > > #define __HAVE_ARCH_DO_SWAP_PAGE > static inline void arch_do_swap_page(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, > pte_t pte, pte_t oldpte) > { > @@ -1078,7 +1078,7 @@ static inline void arch_do_swap_page(struct mm_struct *mm, > > #define __HAVE_ARCH_UNMAP_ONE > static inline int arch_unmap_one(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, pte_t oldpte) > { > if (adi_state.enabled && (pte_val(oldpte) & _PAGE_MCD_4V)) > @@ -1086,7 +1086,7 @@ static inline int arch_unmap_one(struct mm_struct *mm, > return 0; > } > > -static inline int io_remap_pfn_range(struct vm_area_struct *vma, > +static inline int io_remap_pfn_range(struct mm_area *vma, > unsigned long from, unsigned long pfn, > unsigned long size, pgprot_t prot) > { > diff --git a/arch/sparc/include/asm/tlbflush_64.h b/arch/sparc/include/asm/tlbflush_64.h > index 8b8cdaa69272..c41114cbd3fe 100644 > --- a/arch/sparc/include/asm/tlbflush_64.h > +++ b/arch/sparc/include/asm/tlbflush_64.h > @@ -27,12 +27,12 @@ static inline void flush_tlb_mm(struct mm_struct *mm) > { > } > > -static inline void flush_tlb_page(struct vm_area_struct *vma, > +static inline void flush_tlb_page(struct mm_area *vma, > unsigned long vmaddr) > { > } > > -static inline void flush_tlb_range(struct vm_area_struct *vma, > +static inline void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > } > diff --git a/arch/sparc/kernel/adi_64.c b/arch/sparc/kernel/adi_64.c > index e0e4fc527b24..3e7c7bb97fd8 100644 > --- a/arch/sparc/kernel/adi_64.c > +++ b/arch/sparc/kernel/adi_64.c > @@ -122,7 +122,7 @@ void __init mdesc_adi_init(void) > } > > static tag_storage_desc_t *find_tag_store(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > { > tag_storage_desc_t *tag_desc = NULL; > @@ -154,7 +154,7 @@ static tag_storage_desc_t *find_tag_store(struct mm_struct *mm, > } > > static tag_storage_desc_t *alloc_tag_store(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > { > unsigned char *tags; > @@ -324,7 +324,7 @@ static void del_tag_store(tag_storage_desc_t *tag_desc, struct mm_struct *mm) > /* Retrieve any saved ADI tags for the page being swapped back in and > * restore these tags to the newly allocated physical page. > */ > -void adi_restore_tags(struct mm_struct *mm, struct vm_area_struct *vma, > +void adi_restore_tags(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, pte_t pte) > { > unsigned char *tag; > @@ -367,7 +367,7 @@ void adi_restore_tags(struct mm_struct *mm, struct vm_area_struct *vma, > * this physical page so they can be restored later when the page is swapped > * back in. > */ > -int adi_save_tags(struct mm_struct *mm, struct vm_area_struct *vma, > +int adi_save_tags(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, pte_t oldpte) > { > unsigned char *tag; > diff --git a/arch/sparc/kernel/asm-offsets.c b/arch/sparc/kernel/asm-offsets.c > index 3d9b9855dce9..360c8cb8f396 100644 > --- a/arch/sparc/kernel/asm-offsets.c > +++ b/arch/sparc/kernel/asm-offsets.c > @@ -52,7 +52,7 @@ static int __used foo(void) > BLANK(); > DEFINE(AOFF_mm_context, offsetof(struct mm_struct, context)); > BLANK(); > - DEFINE(VMA_VM_MM, offsetof(struct vm_area_struct, vm_mm)); > + DEFINE(VMA_VM_MM, offsetof(struct mm_area, vm_mm)); > > /* DEFINE(NUM_USER_SEGMENTS, TASK_SIZE>>28); */ > return 0; > diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c > index ddac216a2aff..64767a6e60cd 100644 > --- a/arch/sparc/kernel/pci.c > +++ b/arch/sparc/kernel/pci.c > @@ -750,7 +750,7 @@ int pcibios_enable_device(struct pci_dev *dev, int mask) > } > > /* Platform support for /proc/bus/pci/X/Y mmap()s. */ > -int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma) > +int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct mm_area *vma) > { > struct pci_pbm_info *pbm = pdev->dev.archdata.host_controller; > resource_size_t ioaddr = pci_resource_start(pdev, bar); > diff --git a/arch/sparc/kernel/ptrace_64.c b/arch/sparc/kernel/ptrace_64.c > index 4deba5b6eddb..2bbee6413504 100644 > --- a/arch/sparc/kernel/ptrace_64.c > +++ b/arch/sparc/kernel/ptrace_64.c > @@ -103,7 +103,7 @@ void ptrace_disable(struct task_struct *child) > * has been created > * 2) flush the I-cache if this is pre-cheetah and we did a write > */ > -void flush_ptrace_access(struct vm_area_struct *vma, struct page *page, > +void flush_ptrace_access(struct mm_area *vma, struct page *page, > unsigned long uaddr, void *kaddr, > unsigned long len, int write) > { > diff --git a/arch/sparc/kernel/sys_sparc_64.c b/arch/sparc/kernel/sys_sparc_64.c > index c5a284df7b41..261c971b346a 100644 > --- a/arch/sparc/kernel/sys_sparc_64.c > +++ b/arch/sparc/kernel/sys_sparc_64.c > @@ -101,7 +101,7 @@ static unsigned long get_align_mask(struct file *filp, unsigned long flags) > unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, unsigned long len, unsigned long pgoff, unsigned long flags, vm_flags_t vm_flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct * vma; > + struct mm_area * vma; > unsigned long task_size = TASK_SIZE; > int do_color_align; > struct vm_unmapped_area_info info = {}; > @@ -164,7 +164,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, > const unsigned long len, const unsigned long pgoff, > const unsigned long flags, vm_flags_t vm_flags) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > unsigned long task_size = STACK_TOP32; > unsigned long addr = addr0; > diff --git a/arch/sparc/mm/fault_32.c b/arch/sparc/mm/fault_32.c > index 86a831ebd8c8..27bb2c2a8d54 100644 > --- a/arch/sparc/mm/fault_32.c > +++ b/arch/sparc/mm/fault_32.c > @@ -112,7 +112,7 @@ static noinline void do_fault_siginfo(int code, int sig, struct pt_regs *regs, > asmlinkage void do_sparc_fault(struct pt_regs *regs, int text_fault, int write, > unsigned long address) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct task_struct *tsk = current; > struct mm_struct *mm = tsk->mm; > int from_user = !(regs->psr & PSR_PS); > @@ -304,7 +304,7 @@ asmlinkage void do_sparc_fault(struct pt_regs *regs, int text_fault, int write, > /* This always deals with user addresses. */ > static void force_user_fault(unsigned long address, int write) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct task_struct *tsk = current; > struct mm_struct *mm = tsk->mm; > unsigned int flags = FAULT_FLAG_USER; > diff --git a/arch/sparc/mm/fault_64.c b/arch/sparc/mm/fault_64.c > index e326caf708c6..1dd10e512d61 100644 > --- a/arch/sparc/mm/fault_64.c > +++ b/arch/sparc/mm/fault_64.c > @@ -268,7 +268,7 @@ asmlinkage void __kprobes do_sparc64_fault(struct pt_regs *regs) > { > enum ctx_state prev_state = exception_enter(); > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned int insn = 0; > int si_code, fault_code; > vm_fault_t fault; > diff --git a/arch/sparc/mm/hugetlbpage.c b/arch/sparc/mm/hugetlbpage.c > index 80504148d8a5..c02f3fa3a0fa 100644 > --- a/arch/sparc/mm/hugetlbpage.c > +++ b/arch/sparc/mm/hugetlbpage.c > @@ -167,7 +167,7 @@ unsigned long pud_leaf_size(pud_t pud) { return 1UL << tte_to_shift(*(pte_t *)&p > unsigned long pmd_leaf_size(pmd_t pmd) { return 1UL << tte_to_shift(*(pte_t *)&pmd); } > unsigned long pte_leaf_size(pte_t pte) { return 1UL << tte_to_shift(pte); } > > -pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pte_alloc(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, unsigned long sz) > { > pgd_t *pgd; > diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c > index 760818950464..235770b832be 100644 > --- a/arch/sparc/mm/init_64.c > +++ b/arch/sparc/mm/init_64.c > @@ -394,7 +394,7 @@ bool __init arch_hugetlb_valid_size(unsigned long size) > } > #endif /* CONFIG_HUGETLB_PAGE */ > > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long address, pte_t *ptep, unsigned int nr) > { > struct mm_struct *mm; > @@ -2945,7 +2945,7 @@ void pte_free_defer(struct mm_struct *mm, pgtable_t pgtable) > call_rcu(&page->rcu_head, pte_free_now); > } > > -void update_mmu_cache_pmd(struct vm_area_struct *vma, unsigned long addr, > +void update_mmu_cache_pmd(struct mm_area *vma, unsigned long addr, > pmd_t *pmd) > { > unsigned long pte, flags; > @@ -3134,7 +3134,7 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end) > } > > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > char *vfrom, *vto; > > diff --git a/arch/sparc/mm/leon_mm.c b/arch/sparc/mm/leon_mm.c > index 1dc9b3d70eda..2e36b02d81d2 100644 > --- a/arch/sparc/mm/leon_mm.c > +++ b/arch/sparc/mm/leon_mm.c > @@ -185,7 +185,7 @@ void leon_flush_dcache_all(void) > "i"(ASI_LEON_DFLUSH) : "memory"); > } > > -void leon_flush_pcache_all(struct vm_area_struct *vma, unsigned long page) > +void leon_flush_pcache_all(struct mm_area *vma, unsigned long page) > { > if (vma->vm_flags & VM_EXEC) > leon_flush_icache_all(); > @@ -273,12 +273,12 @@ static void leon_flush_cache_mm(struct mm_struct *mm) > leon_flush_cache_all(); > } > > -static void leon_flush_cache_page(struct vm_area_struct *vma, unsigned long page) > +static void leon_flush_cache_page(struct mm_area *vma, unsigned long page) > { > leon_flush_pcache_all(vma, page); > } > > -static void leon_flush_cache_range(struct vm_area_struct *vma, > +static void leon_flush_cache_range(struct mm_area *vma, > unsigned long start, > unsigned long end) > { > @@ -290,13 +290,13 @@ static void leon_flush_tlb_mm(struct mm_struct *mm) > leon_flush_tlb_all(); > } > > -static void leon_flush_tlb_page(struct vm_area_struct *vma, > +static void leon_flush_tlb_page(struct mm_area *vma, > unsigned long page) > { > leon_flush_tlb_all(); > } > > -static void leon_flush_tlb_range(struct vm_area_struct *vma, > +static void leon_flush_tlb_range(struct mm_area *vma, > unsigned long start, > unsigned long end) > { > diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c > index dd32711022f5..1337bc4daf6f 100644 > --- a/arch/sparc/mm/srmmu.c > +++ b/arch/sparc/mm/srmmu.c > @@ -555,34 +555,34 @@ void srmmu_unmapiorange(unsigned long virt_addr, unsigned int len) > /* tsunami.S */ > extern void tsunami_flush_cache_all(void); > extern void tsunami_flush_cache_mm(struct mm_struct *mm); > -extern void tsunami_flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); > -extern void tsunami_flush_cache_page(struct vm_area_struct *vma, unsigned long page); > +extern void tsunami_flush_cache_range(struct mm_area *vma, unsigned long start, unsigned long end); > +extern void tsunami_flush_cache_page(struct mm_area *vma, unsigned long page); > extern void tsunami_flush_page_to_ram(unsigned long page); > extern void tsunami_flush_page_for_dma(unsigned long page); > extern void tsunami_flush_sig_insns(struct mm_struct *mm, unsigned long insn_addr); > extern void tsunami_flush_tlb_all(void); > extern void tsunami_flush_tlb_mm(struct mm_struct *mm); > -extern void tsunami_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); > -extern void tsunami_flush_tlb_page(struct vm_area_struct *vma, unsigned long page); > +extern void tsunami_flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end); > +extern void tsunami_flush_tlb_page(struct mm_area *vma, unsigned long page); > extern void tsunami_setup_blockops(void); > > /* swift.S */ > extern void swift_flush_cache_all(void); > extern void swift_flush_cache_mm(struct mm_struct *mm); > -extern void swift_flush_cache_range(struct vm_area_struct *vma, > +extern void swift_flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end); > -extern void swift_flush_cache_page(struct vm_area_struct *vma, unsigned long page); > +extern void swift_flush_cache_page(struct mm_area *vma, unsigned long page); > extern void swift_flush_page_to_ram(unsigned long page); > extern void swift_flush_page_for_dma(unsigned long page); > extern void swift_flush_sig_insns(struct mm_struct *mm, unsigned long insn_addr); > extern void swift_flush_tlb_all(void); > extern void swift_flush_tlb_mm(struct mm_struct *mm); > -extern void swift_flush_tlb_range(struct vm_area_struct *vma, > +extern void swift_flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end); > -extern void swift_flush_tlb_page(struct vm_area_struct *vma, unsigned long page); > +extern void swift_flush_tlb_page(struct mm_area *vma, unsigned long page); > > #if 0 /* P3: deadwood to debug precise flushes on Swift. */ > -void swift_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void swift_flush_tlb_page(struct mm_area *vma, unsigned long page) > { > int cctx, ctx1; > > @@ -621,9 +621,9 @@ void swift_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > /* viking.S */ > extern void viking_flush_cache_all(void); > extern void viking_flush_cache_mm(struct mm_struct *mm); > -extern void viking_flush_cache_range(struct vm_area_struct *vma, unsigned long start, > +extern void viking_flush_cache_range(struct mm_area *vma, unsigned long start, > unsigned long end); > -extern void viking_flush_cache_page(struct vm_area_struct *vma, unsigned long page); > +extern void viking_flush_cache_page(struct mm_area *vma, unsigned long page); > extern void viking_flush_page_to_ram(unsigned long page); > extern void viking_flush_page_for_dma(unsigned long page); > extern void viking_flush_sig_insns(struct mm_struct *mm, unsigned long addr); > @@ -631,29 +631,29 @@ extern void viking_flush_page(unsigned long page); > extern void viking_mxcc_flush_page(unsigned long page); > extern void viking_flush_tlb_all(void); > extern void viking_flush_tlb_mm(struct mm_struct *mm); > -extern void viking_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +extern void viking_flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > -extern void viking_flush_tlb_page(struct vm_area_struct *vma, > +extern void viking_flush_tlb_page(struct mm_area *vma, > unsigned long page); > extern void sun4dsmp_flush_tlb_all(void); > extern void sun4dsmp_flush_tlb_mm(struct mm_struct *mm); > -extern void sun4dsmp_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, > +extern void sun4dsmp_flush_tlb_range(struct mm_area *vma, unsigned long start, > unsigned long end); > -extern void sun4dsmp_flush_tlb_page(struct vm_area_struct *vma, > +extern void sun4dsmp_flush_tlb_page(struct mm_area *vma, > unsigned long page); > > /* hypersparc.S */ > extern void hypersparc_flush_cache_all(void); > extern void hypersparc_flush_cache_mm(struct mm_struct *mm); > -extern void hypersparc_flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); > -extern void hypersparc_flush_cache_page(struct vm_area_struct *vma, unsigned long page); > +extern void hypersparc_flush_cache_range(struct mm_area *vma, unsigned long start, unsigned long end); > +extern void hypersparc_flush_cache_page(struct mm_area *vma, unsigned long page); > extern void hypersparc_flush_page_to_ram(unsigned long page); > extern void hypersparc_flush_page_for_dma(unsigned long page); > extern void hypersparc_flush_sig_insns(struct mm_struct *mm, unsigned long insn_addr); > extern void hypersparc_flush_tlb_all(void); > extern void hypersparc_flush_tlb_mm(struct mm_struct *mm); > -extern void hypersparc_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); > -extern void hypersparc_flush_tlb_page(struct vm_area_struct *vma, unsigned long page); > +extern void hypersparc_flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end); > +extern void hypersparc_flush_tlb_page(struct mm_area *vma, unsigned long page); > extern void hypersparc_setup_blockops(void); > > /* > @@ -1235,7 +1235,7 @@ static void turbosparc_flush_cache_mm(struct mm_struct *mm) > FLUSH_END > } > > -static void turbosparc_flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +static void turbosparc_flush_cache_range(struct mm_area *vma, unsigned long start, unsigned long end) > { > FLUSH_BEGIN(vma->vm_mm) > flush_user_windows(); > @@ -1243,7 +1243,7 @@ static void turbosparc_flush_cache_range(struct vm_area_struct *vma, unsigned lo > FLUSH_END > } > > -static void turbosparc_flush_cache_page(struct vm_area_struct *vma, unsigned long page) > +static void turbosparc_flush_cache_page(struct mm_area *vma, unsigned long page) > { > FLUSH_BEGIN(vma->vm_mm) > flush_user_windows(); > @@ -1286,14 +1286,14 @@ static void turbosparc_flush_tlb_mm(struct mm_struct *mm) > FLUSH_END > } > > -static void turbosparc_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +static void turbosparc_flush_tlb_range(struct mm_area *vma, unsigned long start, unsigned long end) > { > FLUSH_BEGIN(vma->vm_mm) > srmmu_flush_whole_tlb(); > FLUSH_END > } > > -static void turbosparc_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +static void turbosparc_flush_tlb_page(struct mm_area *vma, unsigned long page) > { > FLUSH_BEGIN(vma->vm_mm) > srmmu_flush_whole_tlb(); > @@ -1672,7 +1672,7 @@ static void smp_flush_tlb_mm(struct mm_struct *mm) > } > } > > -static void smp_flush_cache_range(struct vm_area_struct *vma, > +static void smp_flush_cache_range(struct mm_area *vma, > unsigned long start, > unsigned long end) > { > @@ -1686,7 +1686,7 @@ static void smp_flush_cache_range(struct vm_area_struct *vma, > } > } > > -static void smp_flush_tlb_range(struct vm_area_struct *vma, > +static void smp_flush_tlb_range(struct mm_area *vma, > unsigned long start, > unsigned long end) > { > @@ -1700,7 +1700,7 @@ static void smp_flush_tlb_range(struct vm_area_struct *vma, > } > } > > -static void smp_flush_cache_page(struct vm_area_struct *vma, unsigned long page) > +static void smp_flush_cache_page(struct mm_area *vma, unsigned long page) > { > struct mm_struct *mm = vma->vm_mm; > > @@ -1711,7 +1711,7 @@ static void smp_flush_cache_page(struct vm_area_struct *vma, unsigned long page) > } > } > > -static void smp_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +static void smp_flush_tlb_page(struct mm_area *vma, unsigned long page) > { > struct mm_struct *mm = vma->vm_mm; > > diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c > index a35ddcca5e76..dd950cbd4fd7 100644 > --- a/arch/sparc/mm/tlb.c > +++ b/arch/sparc/mm/tlb.c > @@ -231,7 +231,7 @@ void set_pmd_at(struct mm_struct *mm, unsigned long addr, > __set_pmd_acct(mm, addr, orig, pmd); > } > > -static inline pmd_t pmdp_establish(struct vm_area_struct *vma, > +static inline pmd_t pmdp_establish(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, pmd_t pmd) > { > pmd_t old; > @@ -247,7 +247,7 @@ static inline pmd_t pmdp_establish(struct vm_area_struct *vma, > /* > * This routine is only called when splitting a THP > */ > -pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, > +pmd_t pmdp_invalidate(struct mm_area *vma, unsigned long address, > pmd_t *pmdp) > { > pmd_t old, entry; > diff --git a/arch/sparc/vdso/vma.c b/arch/sparc/vdso/vma.c > index bab7a59575e8..f8124af4d6f0 100644 > --- a/arch/sparc/vdso/vma.c > +++ b/arch/sparc/vdso/vma.c > @@ -363,7 +363,7 @@ static int map_vdso(const struct vdso_image *image, > struct vm_special_mapping *vdso_mapping) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long text_start, addr = 0; > int ret = 0; > > diff --git a/arch/um/drivers/mmapper_kern.c b/arch/um/drivers/mmapper_kern.c > index 807cd3358740..0cb875338307 100644 > --- a/arch/um/drivers/mmapper_kern.c > +++ b/arch/um/drivers/mmapper_kern.c > @@ -46,7 +46,7 @@ static long mmapper_ioctl(struct file *file, unsigned int cmd, unsigned long arg > return -ENOIOCTLCMD; > } > > -static int mmapper_mmap(struct file *file, struct vm_area_struct *vma) > +static int mmapper_mmap(struct file *file, struct mm_area *vma) > { > int ret = -EINVAL; > int size; > diff --git a/arch/um/include/asm/tlbflush.h b/arch/um/include/asm/tlbflush.h > index 13a3009942be..cb9e58edd300 100644 > --- a/arch/um/include/asm/tlbflush.h > +++ b/arch/um/include/asm/tlbflush.h > @@ -35,13 +35,13 @@ extern int um_tlb_sync(struct mm_struct *mm); > extern void flush_tlb_all(void); > extern void flush_tlb_mm(struct mm_struct *mm); > > -static inline void flush_tlb_page(struct vm_area_struct *vma, > +static inline void flush_tlb_page(struct mm_area *vma, > unsigned long address) > { > um_tlb_mark_sync(vma->vm_mm, address, address + PAGE_SIZE); > } > > -static inline void flush_tlb_range(struct vm_area_struct *vma, > +static inline void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > um_tlb_mark_sync(vma->vm_mm, start, end); > diff --git a/arch/um/kernel/tlb.c b/arch/um/kernel/tlb.c > index cf7e0d4407f2..9d8fc85b2896 100644 > --- a/arch/um/kernel/tlb.c > +++ b/arch/um/kernel/tlb.c > @@ -214,7 +214,7 @@ void flush_tlb_all(void) > > void flush_tlb_mm(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, 0); > > for_each_vma(vmi, vma) > diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c > index ce073150dc20..22dd6c703a70 100644 > --- a/arch/um/kernel/trap.c > +++ b/arch/um/kernel/trap.c > @@ -26,7 +26,7 @@ int handle_page_fault(unsigned long address, unsigned long ip, > int is_write, int is_user, int *code_out) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > pmd_t *pmd; > pte_t *pte; > int err = -EFAULT; > diff --git a/arch/x86/entry/vdso/vma.c b/arch/x86/entry/vdso/vma.c > index adb299d3b6a1..987c2d16ed16 100644 > --- a/arch/x86/entry/vdso/vma.c > +++ b/arch/x86/entry/vdso/vma.c > @@ -50,7 +50,7 @@ int __init init_vdso_image(const struct vdso_image *image) > struct linux_binprm; > > static vm_fault_t vdso_fault(const struct vm_special_mapping *sm, > - struct vm_area_struct *vma, struct vm_fault *vmf) > + struct mm_area *vma, struct vm_fault *vmf) > { > const struct vdso_image *image = vma->vm_mm->context.vdso_image; > > @@ -63,7 +63,7 @@ static vm_fault_t vdso_fault(const struct vm_special_mapping *sm, > } > > static void vdso_fix_landing(const struct vdso_image *image, > - struct vm_area_struct *new_vma) > + struct mm_area *new_vma) > { > #if defined CONFIG_X86_32 || defined CONFIG_IA32_EMULATION > if (in_ia32_syscall() && image == &vdso_image_32) { > @@ -80,7 +80,7 @@ static void vdso_fix_landing(const struct vdso_image *image, > } > > static int vdso_mremap(const struct vm_special_mapping *sm, > - struct vm_area_struct *new_vma) > + struct mm_area *new_vma) > { > const struct vdso_image *image = current->mm->context.vdso_image; > > @@ -91,7 +91,7 @@ static int vdso_mremap(const struct vm_special_mapping *sm, > } > > static vm_fault_t vvar_vclock_fault(const struct vm_special_mapping *sm, > - struct vm_area_struct *vma, struct vm_fault *vmf) > + struct mm_area *vma, struct vm_fault *vmf) > { > switch (vmf->pgoff) { > #ifdef CONFIG_PARAVIRT_CLOCK > @@ -139,7 +139,7 @@ static const struct vm_special_mapping vvar_vclock_mapping = { > static int map_vdso(const struct vdso_image *image, unsigned long addr) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long text_start; > int ret = 0; > > @@ -203,7 +203,7 @@ static int map_vdso(const struct vdso_image *image, unsigned long addr) > int map_vdso_once(const struct vdso_image *image, unsigned long addr) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, 0); > > mmap_write_lock(mm); > diff --git a/arch/x86/entry/vsyscall/vsyscall_64.c b/arch/x86/entry/vsyscall/vsyscall_64.c > index 2fb7d53cf333..155a54569893 100644 > --- a/arch/x86/entry/vsyscall/vsyscall_64.c > +++ b/arch/x86/entry/vsyscall/vsyscall_64.c > @@ -275,14 +275,14 @@ bool emulate_vsyscall(unsigned long error_code, > * covers the 64bit vsyscall page now. 32bit has a real VMA now and does > * not need special handling anymore: > */ > -static const char *gate_vma_name(struct vm_area_struct *vma) > +static const char *gate_vma_name(struct mm_area *vma) > { > return "[vsyscall]"; > } > static const struct vm_operations_struct gate_vma_ops = { > .name = gate_vma_name, > }; > -static struct vm_area_struct gate_vma __ro_after_init = { > +static struct mm_area gate_vma __ro_after_init = { > .vm_start = VSYSCALL_ADDR, > .vm_end = VSYSCALL_ADDR + PAGE_SIZE, > .vm_page_prot = PAGE_READONLY_EXEC, > @@ -290,7 +290,7 @@ static struct vm_area_struct gate_vma __ro_after_init = { > .vm_ops = &gate_vma_ops, > }; > > -struct vm_area_struct *get_gate_vma(struct mm_struct *mm) > +struct mm_area *get_gate_vma(struct mm_struct *mm) > { > #ifdef CONFIG_COMPAT > if (!mm || !test_bit(MM_CONTEXT_HAS_VSYSCALL, &mm->context.flags)) > @@ -303,7 +303,7 @@ struct vm_area_struct *get_gate_vma(struct mm_struct *mm) > > int in_gate_area(struct mm_struct *mm, unsigned long addr) > { > - struct vm_area_struct *vma = get_gate_vma(mm); > + struct mm_area *vma = get_gate_vma(mm); > > if (!vma) > return 0; > diff --git a/arch/x86/include/asm/mmu_context.h b/arch/x86/include/asm/mmu_context.h > index 2398058b6e83..45915a6f2b9e 100644 > --- a/arch/x86/include/asm/mmu_context.h > +++ b/arch/x86/include/asm/mmu_context.h > @@ -256,7 +256,7 @@ static inline bool is_64bit_mm(struct mm_struct *mm) > * So do not enforce things if the VMA is not from the current > * mm, or if we are in a kernel thread. > */ > -static inline bool arch_vma_access_permitted(struct vm_area_struct *vma, > +static inline bool arch_vma_access_permitted(struct mm_area *vma, > bool write, bool execute, bool foreign) > { > /* pkeys never affect instruction fetches */ > diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h > index c4c23190925c..3e73c01c3ba0 100644 > --- a/arch/x86/include/asm/paravirt.h > +++ b/arch/x86/include/asm/paravirt.h > @@ -402,7 +402,7 @@ static inline pgdval_t pgd_val(pgd_t pgd) > } > > #define __HAVE_ARCH_PTEP_MODIFY_PROT_TRANSACTION > -static inline pte_t ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, > +static inline pte_t ptep_modify_prot_start(struct mm_area *vma, unsigned long addr, > pte_t *ptep) > { > pteval_t ret; > @@ -412,7 +412,7 @@ static inline pte_t ptep_modify_prot_start(struct vm_area_struct *vma, unsigned > return (pte_t) { .pte = ret }; > } > > -static inline void ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, > +static inline void ptep_modify_prot_commit(struct mm_area *vma, unsigned long addr, > pte_t *ptep, pte_t old_pte, pte_t pte) > { > > diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h > index 631c306ce1ff..dd67df3d8d0d 100644 > --- a/arch/x86/include/asm/paravirt_types.h > +++ b/arch/x86/include/asm/paravirt_types.h > @@ -21,7 +21,7 @@ struct task_struct; > struct cpumask; > struct flush_tlb_info; > struct mmu_gather; > -struct vm_area_struct; > +struct mm_area; > > /* > * Wrapper type for pointers to code which uses the non-standard > @@ -168,9 +168,9 @@ struct pv_mmu_ops { > void (*set_pte)(pte_t *ptep, pte_t pteval); > void (*set_pmd)(pmd_t *pmdp, pmd_t pmdval); > > - pte_t (*ptep_modify_prot_start)(struct vm_area_struct *vma, unsigned long addr, > + pte_t (*ptep_modify_prot_start)(struct mm_area *vma, unsigned long addr, > pte_t *ptep); > - void (*ptep_modify_prot_commit)(struct vm_area_struct *vma, unsigned long addr, > + void (*ptep_modify_prot_commit)(struct mm_area *vma, unsigned long addr, > pte_t *ptep, pte_t pte); > > struct paravirt_callee_save pte_val; > diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h > index dabafba957ea..b39a39a46f7a 100644 > --- a/arch/x86/include/asm/pgtable-3level.h > +++ b/arch/x86/include/asm/pgtable-3level.h > @@ -122,7 +122,7 @@ static inline pud_t native_pudp_get_and_clear(pud_t *pudp) > > #ifndef pmdp_establish > #define pmdp_establish pmdp_establish > -static inline pmd_t pmdp_establish(struct vm_area_struct *vma, > +static inline pmd_t pmdp_establish(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, pmd_t pmd) > { > pmd_t old; > diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h > index 5ddba366d3b4..1415b469056b 100644 > --- a/arch/x86/include/asm/pgtable.h > +++ b/arch/x86/include/asm/pgtable.h > @@ -498,8 +498,8 @@ static inline pte_t pte_mkwrite_novma(pte_t pte) > return pte_set_flags(pte, _PAGE_RW); > } > > -struct vm_area_struct; > -pte_t pte_mkwrite(pte_t pte, struct vm_area_struct *vma); > +struct mm_area; > +pte_t pte_mkwrite(pte_t pte, struct mm_area *vma); > #define pte_mkwrite pte_mkwrite > > static inline pte_t pte_mkhuge(pte_t pte) > @@ -623,7 +623,7 @@ static inline pmd_t pmd_mkwrite_novma(pmd_t pmd) > return pmd_set_flags(pmd, _PAGE_RW); > } > > -pmd_t pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma); > +pmd_t pmd_mkwrite(pmd_t pmd, struct mm_area *vma); > #define pmd_mkwrite pmd_mkwrite > > /* See comments above mksaveddirty_shift() */ > @@ -1291,19 +1291,19 @@ static inline void set_pud_at(struct mm_struct *mm, unsigned long addr, > * race with other CPU's that might be updating the dirty > * bit at the same time. > */ > -struct vm_area_struct; > +struct mm_area; > > #define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS > -extern int ptep_set_access_flags(struct vm_area_struct *vma, > +extern int ptep_set_access_flags(struct mm_area *vma, > unsigned long address, pte_t *ptep, > pte_t entry, int dirty); > > #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG > -extern int ptep_test_and_clear_young(struct vm_area_struct *vma, > +extern int ptep_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pte_t *ptep); > > #define __HAVE_ARCH_PTEP_CLEAR_YOUNG_FLUSH > -extern int ptep_clear_flush_young(struct vm_area_struct *vma, > +extern int ptep_clear_flush_young(struct mm_area *vma, > unsigned long address, pte_t *ptep); > > #define __HAVE_ARCH_PTEP_GET_AND_CLEAR > @@ -1356,21 +1356,21 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, > #define mk_pmd(page, pgprot) pfn_pmd(page_to_pfn(page), (pgprot)) > > #define __HAVE_ARCH_PMDP_SET_ACCESS_FLAGS > -extern int pmdp_set_access_flags(struct vm_area_struct *vma, > +extern int pmdp_set_access_flags(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, > pmd_t entry, int dirty); > -extern int pudp_set_access_flags(struct vm_area_struct *vma, > +extern int pudp_set_access_flags(struct mm_area *vma, > unsigned long address, pud_t *pudp, > pud_t entry, int dirty); > > #define __HAVE_ARCH_PMDP_TEST_AND_CLEAR_YOUNG > -extern int pmdp_test_and_clear_young(struct vm_area_struct *vma, > +extern int pmdp_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp); > -extern int pudp_test_and_clear_young(struct vm_area_struct *vma, > +extern int pudp_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pud_t *pudp); > > #define __HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH > -extern int pmdp_clear_flush_young(struct vm_area_struct *vma, > +extern int pmdp_clear_flush_young(struct mm_area *vma, > unsigned long address, pmd_t *pmdp); > > > @@ -1415,7 +1415,7 @@ static inline void pmdp_set_wrprotect(struct mm_struct *mm, > > #ifndef pmdp_establish > #define pmdp_establish pmdp_establish > -static inline pmd_t pmdp_establish(struct vm_area_struct *vma, > +static inline pmd_t pmdp_establish(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, pmd_t pmd) > { > page_table_check_pmd_set(vma->vm_mm, pmdp, pmd); > @@ -1430,7 +1430,7 @@ static inline pmd_t pmdp_establish(struct vm_area_struct *vma, > #endif > > #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD > -static inline pud_t pudp_establish(struct vm_area_struct *vma, > +static inline pud_t pudp_establish(struct mm_area *vma, > unsigned long address, pud_t *pudp, pud_t pud) > { > page_table_check_pud_set(vma->vm_mm, pudp, pud); > @@ -1445,10 +1445,10 @@ static inline pud_t pudp_establish(struct vm_area_struct *vma, > #endif > > #define __HAVE_ARCH_PMDP_INVALIDATE_AD > -extern pmd_t pmdp_invalidate_ad(struct vm_area_struct *vma, > +extern pmd_t pmdp_invalidate_ad(struct mm_area *vma, > unsigned long address, pmd_t *pmdp); > > -pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address, > +pud_t pudp_invalidate(struct mm_area *vma, unsigned long address, > pud_t *pudp); > > /* > @@ -1554,20 +1554,20 @@ static inline unsigned long page_level_mask(enum pg_level level) > * The x86 doesn't have any external MMU info: the kernel page > * tables contain all the necessary information. > */ > -static inline void update_mmu_cache(struct vm_area_struct *vma, > +static inline void update_mmu_cache(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > } > static inline void update_mmu_cache_range(struct vm_fault *vmf, > - struct vm_area_struct *vma, unsigned long addr, > + struct mm_area *vma, unsigned long addr, > pte_t *ptep, unsigned int nr) > { > } > -static inline void update_mmu_cache_pmd(struct vm_area_struct *vma, > +static inline void update_mmu_cache_pmd(struct mm_area *vma, > unsigned long addr, pmd_t *pmd) > { > } > -static inline void update_mmu_cache_pud(struct vm_area_struct *vma, > +static inline void update_mmu_cache_pud(struct mm_area *vma, > unsigned long addr, pud_t *pud) > { > } > @@ -1724,13 +1724,13 @@ static inline bool arch_has_pfn_modify_check(void) > } > > #define arch_check_zapped_pte arch_check_zapped_pte > -void arch_check_zapped_pte(struct vm_area_struct *vma, pte_t pte); > +void arch_check_zapped_pte(struct mm_area *vma, pte_t pte); > > #define arch_check_zapped_pmd arch_check_zapped_pmd > -void arch_check_zapped_pmd(struct vm_area_struct *vma, pmd_t pmd); > +void arch_check_zapped_pmd(struct mm_area *vma, pmd_t pmd); > > #define arch_check_zapped_pud arch_check_zapped_pud > -void arch_check_zapped_pud(struct vm_area_struct *vma, pud_t pud); > +void arch_check_zapped_pud(struct mm_area *vma, pud_t pud); > > #ifdef CONFIG_XEN_PV > #define arch_has_hw_nonleaf_pmd_young arch_has_hw_nonleaf_pmd_young > diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h > index b612cc57a4d3..ce08b06f7b85 100644 > --- a/arch/x86/include/asm/pgtable_32.h > +++ b/arch/x86/include/asm/pgtable_32.h > @@ -23,7 +23,7 @@ > #include > > struct mm_struct; > -struct vm_area_struct; > +struct mm_area; > > extern pgd_t swapper_pg_dir[1024]; > extern pgd_t initial_page_table[1024]; > diff --git a/arch/x86/include/asm/pkeys.h b/arch/x86/include/asm/pkeys.h > index 2e6c04d8a45b..c92d445a2d4d 100644 > --- a/arch/x86/include/asm/pkeys.h > +++ b/arch/x86/include/asm/pkeys.h > @@ -30,9 +30,9 @@ static inline int execute_only_pkey(struct mm_struct *mm) > return __execute_only_pkey(mm); > } > > -extern int __arch_override_mprotect_pkey(struct vm_area_struct *vma, > +extern int __arch_override_mprotect_pkey(struct mm_area *vma, > int prot, int pkey); > -static inline int arch_override_mprotect_pkey(struct vm_area_struct *vma, > +static inline int arch_override_mprotect_pkey(struct mm_area *vma, > int prot, int pkey) > { > if (!cpu_feature_enabled(X86_FEATURE_OSPKE)) > @@ -115,7 +115,7 @@ int mm_pkey_free(struct mm_struct *mm, int pkey) > return 0; > } > > -static inline int vma_pkey(struct vm_area_struct *vma) > +static inline int vma_pkey(struct mm_area *vma) > { > unsigned long vma_pkey_mask = VM_PKEY_BIT0 | VM_PKEY_BIT1 | > VM_PKEY_BIT2 | VM_PKEY_BIT3; > diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h > index e9b81876ebe4..0db9ba656abc 100644 > --- a/arch/x86/include/asm/tlbflush.h > +++ b/arch/x86/include/asm/tlbflush.h > @@ -319,7 +319,7 @@ extern void flush_tlb_mm_range(struct mm_struct *mm, unsigned long start, > bool freed_tables); > extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); > > -static inline void flush_tlb_page(struct vm_area_struct *vma, unsigned long a) > +static inline void flush_tlb_page(struct mm_area *vma, unsigned long a) > { > flush_tlb_mm_range(vma->vm_mm, a, a + PAGE_SIZE, PAGE_SHIFT, false); > } > diff --git a/arch/x86/kernel/cpu/resctrl/pseudo_lock.c b/arch/x86/kernel/cpu/resctrl/pseudo_lock.c > index 92ea1472bde9..a223490e1042 100644 > --- a/arch/x86/kernel/cpu/resctrl/pseudo_lock.c > +++ b/arch/x86/kernel/cpu/resctrl/pseudo_lock.c > @@ -1484,7 +1484,7 @@ static int pseudo_lock_dev_release(struct inode *inode, struct file *filp) > return 0; > } > > -static int pseudo_lock_dev_mremap(struct vm_area_struct *area) > +static int pseudo_lock_dev_mremap(struct mm_area *area) > { > /* Not supported */ > return -EINVAL; > @@ -1494,7 +1494,7 @@ static const struct vm_operations_struct pseudo_mmap_ops = { > .mremap = pseudo_lock_dev_mremap, > }; > > -static int pseudo_lock_dev_mmap(struct file *filp, struct vm_area_struct *vma) > +static int pseudo_lock_dev_mmap(struct file *filp, struct mm_area *vma) > { > unsigned long vsize = vma->vm_end - vma->vm_start; > unsigned long off = vma->vm_pgoff << PAGE_SHIFT; > diff --git a/arch/x86/kernel/cpu/sgx/driver.c b/arch/x86/kernel/cpu/sgx/driver.c > index 7f8d1e11dbee..e7e41b05b5c8 100644 > --- a/arch/x86/kernel/cpu/sgx/driver.c > +++ b/arch/x86/kernel/cpu/sgx/driver.c > @@ -81,7 +81,7 @@ static int sgx_release(struct inode *inode, struct file *file) > return 0; > } > > -static int sgx_mmap(struct file *file, struct vm_area_struct *vma) > +static int sgx_mmap(struct file *file, struct mm_area *vma) > { > struct sgx_encl *encl = file->private_data; > int ret; > diff --git a/arch/x86/kernel/cpu/sgx/encl.c b/arch/x86/kernel/cpu/sgx/encl.c > index 279148e72459..8455a87e56f2 100644 > --- a/arch/x86/kernel/cpu/sgx/encl.c > +++ b/arch/x86/kernel/cpu/sgx/encl.c > @@ -324,7 +324,7 @@ struct sgx_encl_page *sgx_encl_load_page(struct sgx_encl *encl, > * Returns: Appropriate vm_fault_t: VM_FAULT_NOPAGE when PTE was installed > * successfully, VM_FAULT_SIGBUS or VM_FAULT_OOM as error otherwise. > */ > -static vm_fault_t sgx_encl_eaug_page(struct vm_area_struct *vma, > +static vm_fault_t sgx_encl_eaug_page(struct mm_area *vma, > struct sgx_encl *encl, unsigned long addr) > { > vm_fault_t vmret = VM_FAULT_SIGBUS; > @@ -430,7 +430,7 @@ static vm_fault_t sgx_encl_eaug_page(struct vm_area_struct *vma, > static vm_fault_t sgx_vma_fault(struct vm_fault *vmf) > { > unsigned long addr = (unsigned long)vmf->address; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct sgx_encl_page *entry; > unsigned long phys_addr; > struct sgx_encl *encl; > @@ -484,7 +484,7 @@ static vm_fault_t sgx_vma_fault(struct vm_fault *vmf) > return VM_FAULT_NOPAGE; > } > > -static void sgx_vma_open(struct vm_area_struct *vma) > +static void sgx_vma_open(struct mm_area *vma) > { > struct sgx_encl *encl = vma->vm_private_data; > > @@ -567,7 +567,7 @@ int sgx_encl_may_map(struct sgx_encl *encl, unsigned long start, > return ret; > } > > -static int sgx_vma_mprotect(struct vm_area_struct *vma, unsigned long start, > +static int sgx_vma_mprotect(struct mm_area *vma, unsigned long start, > unsigned long end, unsigned long newflags) > { > return sgx_encl_may_map(vma->vm_private_data, start, end, newflags); > @@ -625,7 +625,7 @@ static struct sgx_encl_page *sgx_encl_reserve_page(struct sgx_encl *encl, > return entry; > } > > -static int sgx_vma_access(struct vm_area_struct *vma, unsigned long addr, > +static int sgx_vma_access(struct mm_area *vma, unsigned long addr, > void *buf, int len, int write) > { > struct sgx_encl *encl = vma->vm_private_data; > @@ -1137,7 +1137,7 @@ int sgx_encl_test_and_clear_young(struct mm_struct *mm, > { > unsigned long addr = page->desc & PAGE_MASK; > struct sgx_encl *encl = page->encl; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int ret; > > ret = sgx_encl_find(mm, addr, &vma); > @@ -1200,7 +1200,7 @@ void sgx_zap_enclave_ptes(struct sgx_encl *encl, unsigned long addr) > { > unsigned long mm_list_version; > struct sgx_encl_mm *encl_mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int idx, ret; > > do { > diff --git a/arch/x86/kernel/cpu/sgx/encl.h b/arch/x86/kernel/cpu/sgx/encl.h > index f94ff14c9486..de567cd442bc 100644 > --- a/arch/x86/kernel/cpu/sgx/encl.h > +++ b/arch/x86/kernel/cpu/sgx/encl.h > @@ -87,9 +87,9 @@ struct sgx_backing { > extern const struct vm_operations_struct sgx_vm_ops; > > static inline int sgx_encl_find(struct mm_struct *mm, unsigned long addr, > - struct vm_area_struct **vma) > + struct mm_area **vma) > { > - struct vm_area_struct *result; > + struct mm_area *result; > > result = vma_lookup(mm, addr); > if (!result || result->vm_ops != &sgx_vm_ops) > diff --git a/arch/x86/kernel/cpu/sgx/ioctl.c b/arch/x86/kernel/cpu/sgx/ioctl.c > index 776a20172867..b25b51724b3a 100644 > --- a/arch/x86/kernel/cpu/sgx/ioctl.c > +++ b/arch/x86/kernel/cpu/sgx/ioctl.c > @@ -209,7 +209,7 @@ static int __sgx_encl_add_page(struct sgx_encl *encl, > struct sgx_secinfo *secinfo, unsigned long src) > { > struct sgx_pageinfo pginfo; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct page *src_page; > int ret; > > diff --git a/arch/x86/kernel/cpu/sgx/virt.c b/arch/x86/kernel/cpu/sgx/virt.c > index 7aaa3652e31d..a601d9e1d867 100644 > --- a/arch/x86/kernel/cpu/sgx/virt.c > +++ b/arch/x86/kernel/cpu/sgx/virt.c > @@ -31,7 +31,7 @@ static struct mutex zombie_secs_pages_lock; > static struct list_head zombie_secs_pages; > > static int __sgx_vepc_fault(struct sgx_vepc *vepc, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > struct sgx_epc_page *epc_page; > unsigned long index, pfn; > @@ -73,7 +73,7 @@ static int __sgx_vepc_fault(struct sgx_vepc *vepc, > > static vm_fault_t sgx_vepc_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct sgx_vepc *vepc = vma->vm_private_data; > int ret; > > @@ -96,7 +96,7 @@ static const struct vm_operations_struct sgx_vepc_vm_ops = { > .fault = sgx_vepc_fault, > }; > > -static int sgx_vepc_mmap(struct file *file, struct vm_area_struct *vma) > +static int sgx_vepc_mmap(struct file *file, struct mm_area *vma) > { > struct sgx_vepc *vepc = file->private_data; > > diff --git a/arch/x86/kernel/shstk.c b/arch/x86/kernel/shstk.c > index 059685612362..f18dd5e2beff 100644 > --- a/arch/x86/kernel/shstk.c > +++ b/arch/x86/kernel/shstk.c > @@ -294,7 +294,7 @@ static int shstk_push_sigframe(unsigned long *ssp) > > static int shstk_pop_sigframe(unsigned long *ssp) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long token_addr; > bool need_to_check_vma; > int err = 1; > diff --git a/arch/x86/kernel/sys_x86_64.c b/arch/x86/kernel/sys_x86_64.c > index 776ae6fa7f2d..ab965bc812a7 100644 > --- a/arch/x86/kernel/sys_x86_64.c > +++ b/arch/x86/kernel/sys_x86_64.c > @@ -128,7 +128,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, unsigned long len, > unsigned long pgoff, unsigned long flags, vm_flags_t vm_flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct vm_unmapped_area_info info = {}; > unsigned long begin, end; > > @@ -168,7 +168,7 @@ arch_get_unmapped_area_topdown(struct file *filp, unsigned long addr0, > unsigned long len, unsigned long pgoff, > unsigned long flags, vm_flags_t vm_flags) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > unsigned long addr = addr0; > struct vm_unmapped_area_info info = {}; > diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c > index 296d294142c8..9255779b17f4 100644 > --- a/arch/x86/mm/fault.c > +++ b/arch/x86/mm/fault.c > @@ -836,7 +836,7 @@ bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code, > static void > __bad_area(struct pt_regs *regs, unsigned long error_code, > unsigned long address, struct mm_struct *mm, > - struct vm_area_struct *vma, u32 pkey, int si_code) > + struct mm_area *vma, u32 pkey, int si_code) > { > /* > * Something tried to access memory that isn't in our memory map.. > @@ -851,7 +851,7 @@ __bad_area(struct pt_regs *regs, unsigned long error_code, > } > > static inline bool bad_area_access_from_pkeys(unsigned long error_code, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > /* This code is always called on the current mm */ > bool foreign = false; > @@ -870,7 +870,7 @@ static inline bool bad_area_access_from_pkeys(unsigned long error_code, > static noinline void > bad_area_access_error(struct pt_regs *regs, unsigned long error_code, > unsigned long address, struct mm_struct *mm, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > /* > * This OSPKE check is not strictly necessary at runtime. > @@ -1049,7 +1049,7 @@ NOKPROBE_SYMBOL(spurious_kernel_fault); > int show_unhandled_signals = 1; > > static inline int > -access_error(unsigned long error_code, struct vm_area_struct *vma) > +access_error(unsigned long error_code, struct mm_area *vma) > { > /* This is only called for the current mm, so: */ > bool foreign = false; > @@ -1211,7 +1211,7 @@ void do_user_addr_fault(struct pt_regs *regs, > unsigned long error_code, > unsigned long address) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct task_struct *tsk; > struct mm_struct *mm; > vm_fault_t fault; > diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c > index 72d8cbc61158..f301b40be91b 100644 > --- a/arch/x86/mm/pat/memtype.c > +++ b/arch/x86/mm/pat/memtype.c > @@ -932,7 +932,7 @@ static void free_pfn_range(u64 paddr, unsigned long size) > memtype_free(paddr, paddr + size); > } > > -static int follow_phys(struct vm_area_struct *vma, unsigned long *prot, > +static int follow_phys(struct mm_area *vma, unsigned long *prot, > resource_size_t *phys) > { > struct follow_pfnmap_args args = { .vma = vma, .address = vma->vm_start }; > @@ -952,7 +952,7 @@ static int follow_phys(struct vm_area_struct *vma, unsigned long *prot, > return 0; > } > > -static int get_pat_info(struct vm_area_struct *vma, resource_size_t *paddr, > +static int get_pat_info(struct mm_area *vma, resource_size_t *paddr, > pgprot_t *pgprot) > { > unsigned long prot; > @@ -984,8 +984,8 @@ static int get_pat_info(struct vm_area_struct *vma, resource_size_t *paddr, > return -EINVAL; > } > > -int track_pfn_copy(struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma, unsigned long *pfn) > +int track_pfn_copy(struct mm_area *dst_vma, > + struct mm_area *src_vma, unsigned long *pfn) > { > const unsigned long vma_size = src_vma->vm_end - src_vma->vm_start; > resource_size_t paddr; > @@ -1011,7 +1011,7 @@ int track_pfn_copy(struct vm_area_struct *dst_vma, > return 0; > } > > -void untrack_pfn_copy(struct vm_area_struct *dst_vma, unsigned long pfn) > +void untrack_pfn_copy(struct mm_area *dst_vma, unsigned long pfn) > { > untrack_pfn(dst_vma, pfn, dst_vma->vm_end - dst_vma->vm_start, true); > /* > @@ -1026,7 +1026,7 @@ void untrack_pfn_copy(struct vm_area_struct *dst_vma, unsigned long pfn) > * reserve the entire pfn + size range with single reserve_pfn_range > * call. > */ > -int track_pfn_remap(struct vm_area_struct *vma, pgprot_t *prot, > +int track_pfn_remap(struct mm_area *vma, pgprot_t *prot, > unsigned long pfn, unsigned long addr, unsigned long size) > { > resource_size_t paddr = (resource_size_t)pfn << PAGE_SHIFT; > @@ -1066,7 +1066,7 @@ int track_pfn_remap(struct vm_area_struct *vma, pgprot_t *prot, > return 0; > } > > -void track_pfn_insert(struct vm_area_struct *vma, pgprot_t *prot, pfn_t pfn) > +void track_pfn_insert(struct mm_area *vma, pgprot_t *prot, pfn_t pfn) > { > enum page_cache_mode pcm; > > @@ -1084,7 +1084,7 @@ void track_pfn_insert(struct vm_area_struct *vma, pgprot_t *prot, pfn_t pfn) > * untrack can be called for a specific region indicated by pfn and size or > * can be for the entire vma (in which case pfn, size are zero). > */ > -void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn, > +void untrack_pfn(struct mm_area *vma, unsigned long pfn, > unsigned long size, bool mm_wr_locked) > { > resource_size_t paddr; > @@ -1108,7 +1108,7 @@ void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn, > } > } > > -void untrack_pfn_clear(struct vm_area_struct *vma) > +void untrack_pfn_clear(struct mm_area *vma) > { > vm_flags_clear(vma, VM_PAT); > } > diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c > index a05fcddfc811..c0105e8b5130 100644 > --- a/arch/x86/mm/pgtable.c > +++ b/arch/x86/mm/pgtable.c > @@ -458,7 +458,7 @@ void pgd_free(struct mm_struct *mm, pgd_t *pgd) > * to also make the pte writeable at the same time the dirty bit is > * set. In that case we do actually need to write the PTE. > */ > -int ptep_set_access_flags(struct vm_area_struct *vma, > +int ptep_set_access_flags(struct mm_area *vma, > unsigned long address, pte_t *ptep, > pte_t entry, int dirty) > { > @@ -471,7 +471,7 @@ int ptep_set_access_flags(struct vm_area_struct *vma, > } > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -int pmdp_set_access_flags(struct vm_area_struct *vma, > +int pmdp_set_access_flags(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, > pmd_t entry, int dirty) > { > @@ -492,7 +492,7 @@ int pmdp_set_access_flags(struct vm_area_struct *vma, > return changed; > } > > -int pudp_set_access_flags(struct vm_area_struct *vma, unsigned long address, > +int pudp_set_access_flags(struct mm_area *vma, unsigned long address, > pud_t *pudp, pud_t entry, int dirty) > { > int changed = !pud_same(*pudp, entry); > @@ -513,7 +513,7 @@ int pudp_set_access_flags(struct vm_area_struct *vma, unsigned long address, > } > #endif > > -int ptep_test_and_clear_young(struct vm_area_struct *vma, > +int ptep_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > int ret = 0; > @@ -526,7 +526,7 @@ int ptep_test_and_clear_young(struct vm_area_struct *vma, > } > > #if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG) > -int pmdp_test_and_clear_young(struct vm_area_struct *vma, > +int pmdp_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp) > { > int ret = 0; > @@ -540,7 +540,7 @@ int pmdp_test_and_clear_young(struct vm_area_struct *vma, > #endif > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -int pudp_test_and_clear_young(struct vm_area_struct *vma, > +int pudp_test_and_clear_young(struct mm_area *vma, > unsigned long addr, pud_t *pudp) > { > int ret = 0; > @@ -553,7 +553,7 @@ int pudp_test_and_clear_young(struct vm_area_struct *vma, > } > #endif > > -int ptep_clear_flush_young(struct vm_area_struct *vma, > +int ptep_clear_flush_young(struct mm_area *vma, > unsigned long address, pte_t *ptep) > { > /* > @@ -573,7 +573,7 @@ int ptep_clear_flush_young(struct vm_area_struct *vma, > } > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -int pmdp_clear_flush_young(struct vm_area_struct *vma, > +int pmdp_clear_flush_young(struct mm_area *vma, > unsigned long address, pmd_t *pmdp) > { > int young; > @@ -587,7 +587,7 @@ int pmdp_clear_flush_young(struct vm_area_struct *vma, > return young; > } > > -pmd_t pmdp_invalidate_ad(struct vm_area_struct *vma, unsigned long address, > +pmd_t pmdp_invalidate_ad(struct mm_area *vma, unsigned long address, > pmd_t *pmdp) > { > VM_WARN_ON_ONCE(!pmd_present(*pmdp)); > @@ -602,7 +602,7 @@ pmd_t pmdp_invalidate_ad(struct vm_area_struct *vma, unsigned long address, > > #if defined(CONFIG_TRANSPARENT_HUGEPAGE) && \ > defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD) > -pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address, > +pud_t pudp_invalidate(struct mm_area *vma, unsigned long address, > pud_t *pudp) > { > VM_WARN_ON_ONCE(!pud_present(*pudp)); > @@ -858,7 +858,7 @@ int pmd_free_pte_page(pmd_t *pmd, unsigned long addr) > #endif /* CONFIG_X86_64 */ > #endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */ > > -pte_t pte_mkwrite(pte_t pte, struct vm_area_struct *vma) > +pte_t pte_mkwrite(pte_t pte, struct mm_area *vma) > { > if (vma->vm_flags & VM_SHADOW_STACK) > return pte_mkwrite_shstk(pte); > @@ -868,7 +868,7 @@ pte_t pte_mkwrite(pte_t pte, struct vm_area_struct *vma) > return pte_clear_saveddirty(pte); > } > > -pmd_t pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma) > +pmd_t pmd_mkwrite(pmd_t pmd, struct mm_area *vma) > { > if (vma->vm_flags & VM_SHADOW_STACK) > return pmd_mkwrite_shstk(pmd); > @@ -878,7 +878,7 @@ pmd_t pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma) > return pmd_clear_saveddirty(pmd); > } > > -void arch_check_zapped_pte(struct vm_area_struct *vma, pte_t pte) > +void arch_check_zapped_pte(struct mm_area *vma, pte_t pte) > { > /* > * Hardware before shadow stack can (rarely) set Dirty=1 > @@ -891,14 +891,14 @@ void arch_check_zapped_pte(struct vm_area_struct *vma, pte_t pte) > pte_shstk(pte)); > } > > -void arch_check_zapped_pmd(struct vm_area_struct *vma, pmd_t pmd) > +void arch_check_zapped_pmd(struct mm_area *vma, pmd_t pmd) > { > /* See note in arch_check_zapped_pte() */ > VM_WARN_ON_ONCE(!(vma->vm_flags & VM_SHADOW_STACK) && > pmd_shstk(pmd)); > } > > -void arch_check_zapped_pud(struct vm_area_struct *vma, pud_t pud) > +void arch_check_zapped_pud(struct mm_area *vma, pud_t pud) > { > /* See note in arch_check_zapped_pte() */ > VM_WARN_ON_ONCE(!(vma->vm_flags & VM_SHADOW_STACK) && pud_shstk(pud)); > diff --git a/arch/x86/mm/pkeys.c b/arch/x86/mm/pkeys.c > index 7418c367e328..8626515f8331 100644 > --- a/arch/x86/mm/pkeys.c > +++ b/arch/x86/mm/pkeys.c > @@ -59,7 +59,7 @@ int __execute_only_pkey(struct mm_struct *mm) > return execute_only_pkey; > } > > -static inline bool vma_is_pkey_exec_only(struct vm_area_struct *vma) > +static inline bool vma_is_pkey_exec_only(struct mm_area *vma) > { > /* Do this check first since the vm_flags should be hot */ > if ((vma->vm_flags & VM_ACCESS_FLAGS) != VM_EXEC) > @@ -73,7 +73,7 @@ static inline bool vma_is_pkey_exec_only(struct vm_area_struct *vma) > /* > * This is only called for *plain* mprotect calls. > */ > -int __arch_override_mprotect_pkey(struct vm_area_struct *vma, int prot, int pkey) > +int __arch_override_mprotect_pkey(struct mm_area *vma, int prot, int pkey) > { > /* > * Is this an mprotect_pkey() call? If so, never > diff --git a/arch/x86/um/mem_32.c b/arch/x86/um/mem_32.c > index 29b2203bc82c..495b032f68f5 100644 > --- a/arch/x86/um/mem_32.c > +++ b/arch/x86/um/mem_32.c > @@ -6,7 +6,7 @@ > #include > #include > > -static struct vm_area_struct gate_vma; > +static struct mm_area gate_vma; > > static int __init gate_vma_init(void) > { > @@ -23,7 +23,7 @@ static int __init gate_vma_init(void) > } > __initcall(gate_vma_init); > > -struct vm_area_struct *get_gate_vma(struct mm_struct *mm) > +struct mm_area *get_gate_vma(struct mm_struct *mm) > { > return FIXADDR_USER_START ? &gate_vma : NULL; > } > @@ -41,7 +41,7 @@ int in_gate_area_no_mm(unsigned long addr) > > int in_gate_area(struct mm_struct *mm, unsigned long addr) > { > - struct vm_area_struct *vma = get_gate_vma(mm); > + struct mm_area *vma = get_gate_vma(mm); > > if (!vma) > return 0; > diff --git a/arch/x86/um/mem_64.c b/arch/x86/um/mem_64.c > index c027e93d1002..5fd2a34ebe23 100644 > --- a/arch/x86/um/mem_64.c > +++ b/arch/x86/um/mem_64.c > @@ -2,7 +2,7 @@ > #include > #include > > -const char *arch_vma_name(struct vm_area_struct *vma) > +const char *arch_vma_name(struct mm_area *vma) > { > if (vma->vm_mm && vma->vm_start == um_vdso_addr) > return "[vdso]"; > diff --git a/arch/x86/um/vdso/vma.c b/arch/x86/um/vdso/vma.c > index dc8dfb2abd80..2f80bb140815 100644 > --- a/arch/x86/um/vdso/vma.c > +++ b/arch/x86/um/vdso/vma.c > @@ -41,7 +41,7 @@ subsys_initcall(init_vdso); > > int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm = current->mm; > static struct vm_special_mapping vdso_mapping = { > .name = "[vdso]", > diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c > index c4c479373249..c268d7d323ab 100644 > --- a/arch/x86/xen/mmu.c > +++ b/arch/x86/xen/mmu.c > @@ -38,7 +38,7 @@ xmaddr_t arbitrary_virt_to_machine(void *vaddr) > EXPORT_SYMBOL_GPL(arbitrary_virt_to_machine); > > /* Returns: 0 success */ > -int xen_unmap_domain_gfn_range(struct vm_area_struct *vma, > +int xen_unmap_domain_gfn_range(struct mm_area *vma, > int nr, struct page **pages) > { > if (xen_feature(XENFEAT_auto_translated_physmap)) > diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c > index 38971c6dcd4b..ddb7a5dcce88 100644 > --- a/arch/x86/xen/mmu_pv.c > +++ b/arch/x86/xen/mmu_pv.c > @@ -348,7 +348,7 @@ static void xen_set_pte(pte_t *ptep, pte_t pteval) > __xen_set_pte(ptep, pteval); > } > > -static pte_t xen_ptep_modify_prot_start(struct vm_area_struct *vma, > +static pte_t xen_ptep_modify_prot_start(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > /* Just return the pte as-is. We preserve the bits on commit */ > @@ -356,7 +356,7 @@ static pte_t xen_ptep_modify_prot_start(struct vm_area_struct *vma, > return *ptep; > } > > -static void xen_ptep_modify_prot_commit(struct vm_area_struct *vma, > +static void xen_ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, > pte_t *ptep, pte_t pte) > { > @@ -2494,7 +2494,7 @@ static int remap_area_pfn_pte_fn(pte_t *ptep, unsigned long addr, void *data) > return 0; > } > > -int xen_remap_pfn(struct vm_area_struct *vma, unsigned long addr, > +int xen_remap_pfn(struct mm_area *vma, unsigned long addr, > xen_pfn_t *pfn, int nr, int *err_ptr, pgprot_t prot, > unsigned int domid, bool no_translate) > { > diff --git a/arch/xtensa/include/asm/cacheflush.h b/arch/xtensa/include/asm/cacheflush.h > index a2b6bb5429f5..6d4a401875c2 100644 > --- a/arch/xtensa/include/asm/cacheflush.h > +++ b/arch/xtensa/include/asm/cacheflush.h > @@ -96,9 +96,9 @@ static inline void __invalidate_icache_page_alias(unsigned long virt, > > #ifdef CONFIG_SMP > void flush_cache_all(void); > -void flush_cache_range(struct vm_area_struct*, ulong, ulong); > +void flush_cache_range(struct mm_area*, ulong, ulong); > void flush_icache_range(unsigned long start, unsigned long end); > -void flush_cache_page(struct vm_area_struct*, > +void flush_cache_page(struct mm_area*, > unsigned long, unsigned long); > #define flush_cache_all flush_cache_all > #define flush_cache_range flush_cache_range > @@ -133,9 +133,9 @@ static inline void flush_dcache_page(struct page *page) > flush_dcache_folio(page_folio(page)); > } > > -void local_flush_cache_range(struct vm_area_struct *vma, > +void local_flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end); > -void local_flush_cache_page(struct vm_area_struct *vma, > +void local_flush_cache_page(struct mm_area *vma, > unsigned long address, unsigned long pfn); > > #else > @@ -155,9 +155,9 @@ void local_flush_cache_page(struct vm_area_struct *vma, > > #if defined(CONFIG_MMU) && (DCACHE_WAY_SIZE > PAGE_SIZE) > > -extern void copy_to_user_page(struct vm_area_struct*, struct page*, > +extern void copy_to_user_page(struct mm_area*, struct page*, > unsigned long, void*, const void*, unsigned long); > -extern void copy_from_user_page(struct vm_area_struct*, struct page*, > +extern void copy_from_user_page(struct mm_area*, struct page*, > unsigned long, void*, const void*, unsigned long); > #define copy_to_user_page copy_to_user_page > #define copy_from_user_page copy_from_user_page > diff --git a/arch/xtensa/include/asm/page.h b/arch/xtensa/include/asm/page.h > index 644413792bf3..47df5872733a 100644 > --- a/arch/xtensa/include/asm/page.h > +++ b/arch/xtensa/include/asm/page.h > @@ -106,7 +106,7 @@ typedef struct page *pgtable_t; > # include > > struct page; > -struct vm_area_struct; > +struct mm_area; > extern void clear_page(void *page); > extern void copy_page(void *to, void *from); > > @@ -124,7 +124,7 @@ extern void copy_page_alias(void *to, void *from, > void clear_user_highpage(struct page *page, unsigned long vaddr); > #define __HAVE_ARCH_COPY_USER_HIGHPAGE > void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma); > + unsigned long vaddr, struct mm_area *vma); > #else > # define clear_user_page(page, vaddr, pg) clear_page(page) > # define copy_user_page(to, from, vaddr, pg) copy_page(to, from) > diff --git a/arch/xtensa/include/asm/pgtable.h b/arch/xtensa/include/asm/pgtable.h > index 1647a7cc3fbf..247b9d7b91b4 100644 > --- a/arch/xtensa/include/asm/pgtable.h > +++ b/arch/xtensa/include/asm/pgtable.h > @@ -313,10 +313,10 @@ set_pmd(pmd_t *pmdp, pmd_t pmdval) > *pmdp = pmdval; > } > > -struct vm_area_struct; > +struct mm_area; > > static inline int > -ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned long addr, > +ptep_test_and_clear_young(struct mm_area *vma, unsigned long addr, > pte_t *ptep) > { > pte_t pte = *ptep; > @@ -403,14 +403,14 @@ static inline pte_t pte_swp_clear_exclusive(pte_t pte) > #else > > struct vm_fault; > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long address, pte_t *ptep, unsigned int nr); > #define update_mmu_cache(vma, address, ptep) \ > update_mmu_cache_range(NULL, vma, address, ptep, 1) > > typedef pte_t *pte_addr_t; > > -void update_mmu_tlb_range(struct vm_area_struct *vma, > +void update_mmu_tlb_range(struct mm_area *vma, > unsigned long address, pte_t *ptep, unsigned int nr); > #define update_mmu_tlb_range update_mmu_tlb_range > > diff --git a/arch/xtensa/include/asm/tlbflush.h b/arch/xtensa/include/asm/tlbflush.h > index 573df8cea200..36a5ca4f41b8 100644 > --- a/arch/xtensa/include/asm/tlbflush.h > +++ b/arch/xtensa/include/asm/tlbflush.h > @@ -32,9 +32,9 @@ > > void local_flush_tlb_all(void); > void local_flush_tlb_mm(struct mm_struct *mm); > -void local_flush_tlb_page(struct vm_area_struct *vma, > +void local_flush_tlb_page(struct mm_area *vma, > unsigned long page); > -void local_flush_tlb_range(struct vm_area_struct *vma, > +void local_flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end); > void local_flush_tlb_kernel_range(unsigned long start, unsigned long end); > > @@ -42,8 +42,8 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end); > > void flush_tlb_all(void); > void flush_tlb_mm(struct mm_struct *); > -void flush_tlb_page(struct vm_area_struct *, unsigned long); > -void flush_tlb_range(struct vm_area_struct *, unsigned long, > +void flush_tlb_page(struct mm_area *, unsigned long); > +void flush_tlb_range(struct mm_area *, unsigned long, > unsigned long); > void flush_tlb_kernel_range(unsigned long start, unsigned long end); > > diff --git a/arch/xtensa/kernel/pci.c b/arch/xtensa/kernel/pci.c > index 62c900e400d6..81f6d62f9bff 100644 > --- a/arch/xtensa/kernel/pci.c > +++ b/arch/xtensa/kernel/pci.c > @@ -71,7 +71,7 @@ void pcibios_fixup_bus(struct pci_bus *bus) > * -- paulus. > */ > > -int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma) > +int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct mm_area *vma) > { > struct pci_controller *pci_ctrl = (struct pci_controller*) pdev->sysdata; > resource_size_t ioaddr = pci_resource_start(pdev, bar); > diff --git a/arch/xtensa/kernel/smp.c b/arch/xtensa/kernel/smp.c > index 94a23f100726..66c0c20799ef 100644 > --- a/arch/xtensa/kernel/smp.c > +++ b/arch/xtensa/kernel/smp.c > @@ -468,7 +468,7 @@ int setup_profiling_timer(unsigned int multiplier) > /* TLB flush functions */ > > struct flush_data { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr1; > unsigned long addr2; > }; > @@ -499,7 +499,7 @@ static void ipi_flush_tlb_page(void *arg) > local_flush_tlb_page(fd->vma, fd->addr1); > } > > -void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) > +void flush_tlb_page(struct mm_area *vma, unsigned long addr) > { > struct flush_data fd = { > .vma = vma, > @@ -514,7 +514,7 @@ static void ipi_flush_tlb_range(void *arg) > local_flush_tlb_range(fd->vma, fd->addr1, fd->addr2); > } > > -void flush_tlb_range(struct vm_area_struct *vma, > +void flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > struct flush_data fd = { > @@ -558,7 +558,7 @@ static void ipi_flush_cache_page(void *arg) > local_flush_cache_page(fd->vma, fd->addr1, fd->addr2); > } > > -void flush_cache_page(struct vm_area_struct *vma, > +void flush_cache_page(struct mm_area *vma, > unsigned long address, unsigned long pfn) > { > struct flush_data fd = { > @@ -575,7 +575,7 @@ static void ipi_flush_cache_range(void *arg) > local_flush_cache_range(fd->vma, fd->addr1, fd->addr2); > } > > -void flush_cache_range(struct vm_area_struct *vma, > +void flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > struct flush_data fd = { > diff --git a/arch/xtensa/kernel/syscall.c b/arch/xtensa/kernel/syscall.c > index dc54f854c2f5..9dd4ee487337 100644 > --- a/arch/xtensa/kernel/syscall.c > +++ b/arch/xtensa/kernel/syscall.c > @@ -58,7 +58,7 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, > unsigned long len, unsigned long pgoff, unsigned long flags, > vm_flags_t vm_flags) > { > - struct vm_area_struct *vmm; > + struct mm_area *vmm; > struct vma_iterator vmi; > > if (flags & MAP_FIXED) { > diff --git a/arch/xtensa/mm/cache.c b/arch/xtensa/mm/cache.c > index 23be0e7516ce..b1f503c39d58 100644 > --- a/arch/xtensa/mm/cache.c > +++ b/arch/xtensa/mm/cache.c > @@ -100,7 +100,7 @@ void clear_user_highpage(struct page *page, unsigned long vaddr) > EXPORT_SYMBOL(clear_user_highpage); > > void copy_user_highpage(struct page *dst, struct page *src, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > struct folio *folio = page_folio(dst); > unsigned long dst_paddr, src_paddr; > @@ -181,7 +181,7 @@ EXPORT_SYMBOL(flush_dcache_folio); > * For now, flush the whole cache. FIXME?? > */ > > -void local_flush_cache_range(struct vm_area_struct *vma, > +void local_flush_cache_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > __flush_invalidate_dcache_all(); > @@ -196,7 +196,7 @@ EXPORT_SYMBOL(local_flush_cache_range); > * alias versions of the cache flush functions. > */ > > -void local_flush_cache_page(struct vm_area_struct *vma, unsigned long address, > +void local_flush_cache_page(struct mm_area *vma, unsigned long address, > unsigned long pfn) > { > /* Note that we have to use the 'alias' address to avoid multi-hit */ > @@ -213,7 +213,7 @@ EXPORT_SYMBOL(local_flush_cache_page); > > #endif /* DCACHE_WAY_SIZE > PAGE_SIZE */ > > -void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > +void update_mmu_cache_range(struct vm_fault *vmf, struct mm_area *vma, > unsigned long addr, pte_t *ptep, unsigned int nr) > { > unsigned long pfn = pte_pfn(*ptep); > @@ -270,7 +270,7 @@ void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma, > > #if (DCACHE_WAY_SIZE > PAGE_SIZE) > > -void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > +void copy_to_user_page(struct mm_area *vma, struct page *page, > unsigned long vaddr, void *dst, const void *src, > unsigned long len) > { > @@ -310,7 +310,7 @@ void copy_to_user_page(struct vm_area_struct *vma, struct page *page, > } > } > > -extern void copy_from_user_page(struct vm_area_struct *vma, struct page *page, > +extern void copy_from_user_page(struct mm_area *vma, struct page *page, > unsigned long vaddr, void *dst, const void *src, > unsigned long len) > { > diff --git a/arch/xtensa/mm/fault.c b/arch/xtensa/mm/fault.c > index 16e11b6f6f78..02d6bcea445d 100644 > --- a/arch/xtensa/mm/fault.c > +++ b/arch/xtensa/mm/fault.c > @@ -87,7 +87,7 @@ static void vmalloc_fault(struct pt_regs *regs, unsigned int address) > > void do_page_fault(struct pt_regs *regs) > { > - struct vm_area_struct * vma; > + struct mm_area * vma; > struct mm_struct *mm = current->mm; > unsigned int exccause = regs->exccause; > unsigned int address = regs->excvaddr; > diff --git a/arch/xtensa/mm/tlb.c b/arch/xtensa/mm/tlb.c > index 0a1a815dc796..b8fcadd0460a 100644 > --- a/arch/xtensa/mm/tlb.c > +++ b/arch/xtensa/mm/tlb.c > @@ -86,7 +86,7 @@ void local_flush_tlb_mm(struct mm_struct *mm) > # define _TLB_ENTRIES _DTLB_ENTRIES > #endif > > -void local_flush_tlb_range(struct vm_area_struct *vma, > +void local_flush_tlb_range(struct mm_area *vma, > unsigned long start, unsigned long end) > { > int cpu = smp_processor_id(); > @@ -124,7 +124,7 @@ void local_flush_tlb_range(struct vm_area_struct *vma, > local_irq_restore(flags); > } > > -void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) > +void local_flush_tlb_page(struct mm_area *vma, unsigned long page) > { > int cpu = smp_processor_id(); > struct mm_struct* mm = vma->vm_mm; > @@ -163,7 +163,7 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) > } > } > > -void update_mmu_tlb_range(struct vm_area_struct *vma, > +void update_mmu_tlb_range(struct mm_area *vma, > unsigned long address, pte_t *ptep, unsigned int nr) > { > local_flush_tlb_range(vma, address, address + PAGE_SIZE * nr); > diff --git a/block/fops.c b/block/fops.c > index be9f1dbea9ce..6b5d92baf4b6 100644 > --- a/block/fops.c > +++ b/block/fops.c > @@ -871,7 +871,7 @@ static long blkdev_fallocate(struct file *file, int mode, loff_t start, > return error; > } > > -static int blkdev_mmap(struct file *file, struct vm_area_struct *vma) > +static int blkdev_mmap(struct file *file, struct mm_area *vma) > { > struct inode *bd_inode = bdev_file_inode(file); > > diff --git a/drivers/accel/amdxdna/amdxdna_gem.c b/drivers/accel/amdxdna/amdxdna_gem.c > index 606433d73236..10a1bd65acb0 100644 > --- a/drivers/accel/amdxdna/amdxdna_gem.c > +++ b/drivers/accel/amdxdna/amdxdna_gem.c > @@ -159,7 +159,7 @@ static int amdxdna_hmm_register(struct amdxdna_gem_obj *abo, unsigned long addr, > } > > static int amdxdna_gem_obj_mmap(struct drm_gem_object *gobj, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct amdxdna_gem_obj *abo = to_xdna_obj(gobj); > unsigned long num_pages; > @@ -192,12 +192,12 @@ static vm_fault_t amdxdna_gem_vm_fault(struct vm_fault *vmf) > return drm_gem_shmem_vm_ops.fault(vmf); > } > > -static void amdxdna_gem_vm_open(struct vm_area_struct *vma) > +static void amdxdna_gem_vm_open(struct mm_area *vma) > { > drm_gem_shmem_vm_ops.open(vma); > } > > -static void amdxdna_gem_vm_close(struct vm_area_struct *vma) > +static void amdxdna_gem_vm_close(struct mm_area *vma) > { > struct drm_gem_object *gobj = vma->vm_private_data; > > diff --git a/drivers/accel/habanalabs/common/command_buffer.c b/drivers/accel/habanalabs/common/command_buffer.c > index 0f0d295116e7..6dab3015eb48 100644 > --- a/drivers/accel/habanalabs/common/command_buffer.c > +++ b/drivers/accel/habanalabs/common/command_buffer.c > @@ -247,7 +247,7 @@ static int hl_cb_mmap_mem_alloc(struct hl_mmap_mem_buf *buf, gfp_t gfp, void *ar > } > > static int hl_cb_mmap(struct hl_mmap_mem_buf *buf, > - struct vm_area_struct *vma, void *args) > + struct mm_area *vma, void *args) > { > struct hl_cb *cb = buf->private; > > diff --git a/drivers/accel/habanalabs/common/device.c b/drivers/accel/habanalabs/common/device.c > index 68eebed3b050..b86d048f3954 100644 > --- a/drivers/accel/habanalabs/common/device.c > +++ b/drivers/accel/habanalabs/common/device.c > @@ -647,7 +647,7 @@ static int hl_device_release_ctrl(struct inode *inode, struct file *filp) > return 0; > } > > -static int __hl_mmap(struct hl_fpriv *hpriv, struct vm_area_struct *vma) > +static int __hl_mmap(struct hl_fpriv *hpriv, struct mm_area *vma) > { > struct hl_device *hdev = hpriv->hdev; > unsigned long vm_pgoff; > @@ -675,12 +675,12 @@ static int __hl_mmap(struct hl_fpriv *hpriv, struct vm_area_struct *vma) > * hl_mmap - mmap function for habanalabs device > * > * @*filp: pointer to file structure > - * @*vma: pointer to vm_area_struct of the process > + * @*vma: pointer to mm_area of the process > * > * Called when process does an mmap on habanalabs device. Call the relevant mmap > * function at the end of the common code. > */ > -int hl_mmap(struct file *filp, struct vm_area_struct *vma) > +int hl_mmap(struct file *filp, struct mm_area *vma) > { > struct drm_file *file_priv = filp->private_data; > struct hl_fpriv *hpriv = file_priv->driver_priv; > diff --git a/drivers/accel/habanalabs/common/habanalabs.h b/drivers/accel/habanalabs/common/habanalabs.h > index 6f27ce4fa01b..2cb705768786 100644 > --- a/drivers/accel/habanalabs/common/habanalabs.h > +++ b/drivers/accel/habanalabs/common/habanalabs.h > @@ -45,7 +45,7 @@ struct hl_fpriv; > * bits[63:59] - Encode mmap type > * bits[45:0] - mmap offset value > * > - * NOTE: struct vm_area_struct.vm_pgoff uses offset in pages. Hence, these > + * NOTE: struct mm_area.vm_pgoff uses offset in pages. Hence, these > * defines are w.r.t to PAGE_SIZE > */ > #define HL_MMAP_TYPE_SHIFT (59 - PAGE_SHIFT) > @@ -931,7 +931,7 @@ struct hl_mmap_mem_buf_behavior { > u64 mem_id; > > int (*alloc)(struct hl_mmap_mem_buf *buf, gfp_t gfp, void *args); > - int (*mmap)(struct hl_mmap_mem_buf *buf, struct vm_area_struct *vma, void *args); > + int (*mmap)(struct hl_mmap_mem_buf *buf, struct mm_area *vma, void *args); > void (*release)(struct hl_mmap_mem_buf *buf); > }; > > @@ -1650,7 +1650,7 @@ struct hl_asic_funcs { > void (*halt_engines)(struct hl_device *hdev, bool hard_reset, bool fw_reset); > int (*suspend)(struct hl_device *hdev); > int (*resume)(struct hl_device *hdev); > - int (*mmap)(struct hl_device *hdev, struct vm_area_struct *vma, > + int (*mmap)(struct hl_device *hdev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size); > void (*ring_doorbell)(struct hl_device *hdev, u32 hw_queue_id, u32 pi); > void (*pqe_write)(struct hl_device *hdev, __le64 *pqe, > @@ -1745,7 +1745,7 @@ struct hl_asic_funcs { > void (*ack_protection_bits_errors)(struct hl_device *hdev); > int (*get_hw_block_id)(struct hl_device *hdev, u64 block_addr, > u32 *block_size, u32 *block_id); > - int (*hw_block_mmap)(struct hl_device *hdev, struct vm_area_struct *vma, > + int (*hw_block_mmap)(struct hl_device *hdev, struct mm_area *vma, > u32 block_id, u32 block_size); > void (*enable_events_from_fw)(struct hl_device *hdev); > int (*ack_mmu_errors)(struct hl_device *hdev, u64 mmu_cap_mask); > @@ -3733,7 +3733,7 @@ int hl_access_cfg_region(struct hl_device *hdev, u64 addr, u64 *val, > int hl_access_dev_mem(struct hl_device *hdev, enum pci_region region_type, > u64 addr, u64 *val, enum debugfs_access_type acc_type); > > -int hl_mmap(struct file *filp, struct vm_area_struct *vma); > +int hl_mmap(struct file *filp, struct mm_area *vma); > > int hl_device_open(struct drm_device *drm, struct drm_file *file_priv); > void hl_device_release(struct drm_device *ddev, struct drm_file *file_priv); > @@ -3819,7 +3819,7 @@ int hl_cb_create(struct hl_device *hdev, struct hl_mem_mgr *mmg, > struct hl_ctx *ctx, u32 cb_size, bool internal_cb, > bool map_cb, u64 *handle); > int hl_cb_destroy(struct hl_mem_mgr *mmg, u64 cb_handle); > -int hl_hw_block_mmap(struct hl_fpriv *hpriv, struct vm_area_struct *vma); > +int hl_hw_block_mmap(struct hl_fpriv *hpriv, struct mm_area *vma); > struct hl_cb *hl_cb_get(struct hl_mem_mgr *mmg, u64 handle); > void hl_cb_put(struct hl_cb *cb); > struct hl_cb *hl_cb_kernel_create(struct hl_device *hdev, u32 cb_size, > @@ -4063,7 +4063,7 @@ const char *hl_sync_engine_to_string(enum hl_sync_engine_type engine_type); > void hl_mem_mgr_init(struct device *dev, struct hl_mem_mgr *mmg); > void hl_mem_mgr_fini(struct hl_mem_mgr *mmg, struct hl_mem_mgr_fini_stats *stats); > void hl_mem_mgr_idr_destroy(struct hl_mem_mgr *mmg); > -int hl_mem_mgr_mmap(struct hl_mem_mgr *mmg, struct vm_area_struct *vma, > +int hl_mem_mgr_mmap(struct hl_mem_mgr *mmg, struct mm_area *vma, > void *args); > struct hl_mmap_mem_buf *hl_mmap_mem_buf_get(struct hl_mem_mgr *mmg, > u64 handle); > diff --git a/drivers/accel/habanalabs/common/memory.c b/drivers/accel/habanalabs/common/memory.c > index 601fdbe70179..4688d24b34df 100644 > --- a/drivers/accel/habanalabs/common/memory.c > +++ b/drivers/accel/habanalabs/common/memory.c > @@ -1424,7 +1424,7 @@ static int map_block(struct hl_device *hdev, u64 address, u64 *handle, u32 *size > return 0; > } > > -static void hw_block_vm_close(struct vm_area_struct *vma) > +static void hw_block_vm_close(struct mm_area *vma) > { > struct hl_vm_hw_block_list_node *lnode = > (struct hl_vm_hw_block_list_node *) vma->vm_private_data; > @@ -1452,12 +1452,12 @@ static const struct vm_operations_struct hw_block_vm_ops = { > /** > * hl_hw_block_mmap() - mmap a hw block to user. > * @hpriv: pointer to the private data of the fd > - * @vma: pointer to vm_area_struct of the process > + * @vma: pointer to mm_area of the process > * > * Driver increments context reference for every HW block mapped in order > * to prevent user from closing FD without unmapping first > */ > -int hl_hw_block_mmap(struct hl_fpriv *hpriv, struct vm_area_struct *vma) > +int hl_hw_block_mmap(struct hl_fpriv *hpriv, struct mm_area *vma) > { > struct hl_vm_hw_block_list_node *lnode; > struct hl_device *hdev = hpriv->hdev; > @@ -2103,7 +2103,7 @@ static void ts_buff_release(struct hl_mmap_mem_buf *buf) > kfree(ts_buff); > } > > -static int hl_ts_mmap(struct hl_mmap_mem_buf *buf, struct vm_area_struct *vma, void *args) > +static int hl_ts_mmap(struct hl_mmap_mem_buf *buf, struct mm_area *vma, void *args) > { > struct hl_ts_buff *ts_buff = buf->private; > > diff --git a/drivers/accel/habanalabs/common/memory_mgr.c b/drivers/accel/habanalabs/common/memory_mgr.c > index 99cd83139d46..ea06e092b341 100644 > --- a/drivers/accel/habanalabs/common/memory_mgr.c > +++ b/drivers/accel/habanalabs/common/memory_mgr.c > @@ -196,7 +196,7 @@ hl_mmap_mem_buf_alloc(struct hl_mem_mgr *mmg, > * > * Put the memory buffer if it is no longer mapped. > */ > -static void hl_mmap_mem_buf_vm_close(struct vm_area_struct *vma) > +static void hl_mmap_mem_buf_vm_close(struct mm_area *vma) > { > struct hl_mmap_mem_buf *buf = > (struct hl_mmap_mem_buf *)vma->vm_private_data; > @@ -227,7 +227,7 @@ static const struct vm_operations_struct hl_mmap_mem_buf_vm_ops = { > * > * Map the buffer specified by the vma->vm_pgoff to the given vma. > */ > -int hl_mem_mgr_mmap(struct hl_mem_mgr *mmg, struct vm_area_struct *vma, > +int hl_mem_mgr_mmap(struct hl_mem_mgr *mmg, struct mm_area *vma, > void *args) > { > struct hl_mmap_mem_buf *buf; > diff --git a/drivers/accel/habanalabs/gaudi/gaudi.c b/drivers/accel/habanalabs/gaudi/gaudi.c > index fa893a9b826e..a52647a1b640 100644 > --- a/drivers/accel/habanalabs/gaudi/gaudi.c > +++ b/drivers/accel/habanalabs/gaudi/gaudi.c > @@ -4160,7 +4160,7 @@ static int gaudi_resume(struct hl_device *hdev) > return gaudi_init_iatu(hdev); > } > > -static int gaudi_mmap(struct hl_device *hdev, struct vm_area_struct *vma, > +static int gaudi_mmap(struct hl_device *hdev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size) > { > int rc; > @@ -8769,7 +8769,7 @@ static int gaudi_get_hw_block_id(struct hl_device *hdev, u64 block_addr, > } > > static int gaudi_block_mmap(struct hl_device *hdev, > - struct vm_area_struct *vma, > + struct mm_area *vma, > u32 block_id, u32 block_size) > { > return -EPERM; > diff --git a/drivers/accel/habanalabs/gaudi2/gaudi2.c b/drivers/accel/habanalabs/gaudi2/gaudi2.c > index a38b88baadf2..12ef2bdebe5d 100644 > --- a/drivers/accel/habanalabs/gaudi2/gaudi2.c > +++ b/drivers/accel/habanalabs/gaudi2/gaudi2.c > @@ -6475,7 +6475,7 @@ static int gaudi2_resume(struct hl_device *hdev) > return gaudi2_init_iatu(hdev); > } > > -static int gaudi2_mmap(struct hl_device *hdev, struct vm_area_struct *vma, > +static int gaudi2_mmap(struct hl_device *hdev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size) > { > int rc; > @@ -11238,7 +11238,7 @@ static int gaudi2_get_hw_block_id(struct hl_device *hdev, u64 block_addr, > return -EINVAL; > } > > -static int gaudi2_block_mmap(struct hl_device *hdev, struct vm_area_struct *vma, > +static int gaudi2_block_mmap(struct hl_device *hdev, struct mm_area *vma, > u32 block_id, u32 block_size) > { > struct gaudi2_device *gaudi2 = hdev->asic_specific; > diff --git a/drivers/accel/habanalabs/goya/goya.c b/drivers/accel/habanalabs/goya/goya.c > index 84768e306269..9319d29bb802 100644 > --- a/drivers/accel/habanalabs/goya/goya.c > +++ b/drivers/accel/habanalabs/goya/goya.c > @@ -2869,7 +2869,7 @@ int goya_resume(struct hl_device *hdev) > return goya_init_iatu(hdev); > } > > -static int goya_mmap(struct hl_device *hdev, struct vm_area_struct *vma, > +static int goya_mmap(struct hl_device *hdev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size) > { > int rc; > @@ -5313,7 +5313,7 @@ static int goya_get_hw_block_id(struct hl_device *hdev, u64 block_addr, > return -EPERM; > } > > -static int goya_block_mmap(struct hl_device *hdev, struct vm_area_struct *vma, > +static int goya_block_mmap(struct hl_device *hdev, struct mm_area *vma, > u32 block_id, u32 block_size) > { > return -EPERM; > diff --git a/drivers/accel/qaic/qaic_data.c b/drivers/accel/qaic/qaic_data.c > index 43aba57b48f0..331e4683f42a 100644 > --- a/drivers/accel/qaic/qaic_data.c > +++ b/drivers/accel/qaic/qaic_data.c > @@ -602,7 +602,7 @@ static const struct vm_operations_struct drm_vm_ops = { > .close = drm_gem_vm_close, > }; > > -static int qaic_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int qaic_gem_object_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct qaic_bo *bo = to_qaic_bo(obj); > unsigned long offset = 0; > diff --git a/drivers/acpi/pfr_telemetry.c b/drivers/acpi/pfr_telemetry.c > index 32bdf8cbe8f2..4222c75ced8e 100644 > --- a/drivers/acpi/pfr_telemetry.c > +++ b/drivers/acpi/pfr_telemetry.c > @@ -295,7 +295,7 @@ static long pfrt_log_ioctl(struct file *file, unsigned int cmd, unsigned long ar > } > > static int > -pfrt_log_mmap(struct file *file, struct vm_area_struct *vma) > +pfrt_log_mmap(struct file *file, struct mm_area *vma) > { > struct pfrt_log_device *pfrt_log_dev; > struct pfrt_log_data_info info; > diff --git a/drivers/android/binder.c b/drivers/android/binder.c > index 76052006bd87..a674ff1ab9a5 100644 > --- a/drivers/android/binder.c > +++ b/drivers/android/binder.c > @@ -5935,7 +5935,7 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) > return ret; > } > > -static void binder_vma_open(struct vm_area_struct *vma) > +static void binder_vma_open(struct mm_area *vma) > { > struct binder_proc *proc = vma->vm_private_data; > > @@ -5946,7 +5946,7 @@ static void binder_vma_open(struct vm_area_struct *vma) > (unsigned long)pgprot_val(vma->vm_page_prot)); > } > > -static void binder_vma_close(struct vm_area_struct *vma) > +static void binder_vma_close(struct mm_area *vma) > { > struct binder_proc *proc = vma->vm_private_data; > > @@ -5969,7 +5969,7 @@ static const struct vm_operations_struct binder_vm_ops = { > .fault = binder_vm_fault, > }; > > -static int binder_mmap(struct file *filp, struct vm_area_struct *vma) > +static int binder_mmap(struct file *filp, struct mm_area *vma) > { > struct binder_proc *proc = filp->private_data; > > diff --git a/drivers/android/binder_alloc.c b/drivers/android/binder_alloc.c > index fcfaf1b899c8..95d8a0def3c5 100644 > --- a/drivers/android/binder_alloc.c > +++ b/drivers/android/binder_alloc.c > @@ -258,7 +258,7 @@ static int binder_page_insert(struct binder_alloc *alloc, > struct page *page) > { > struct mm_struct *mm = alloc->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int ret = -ESRCH; > > /* attempt per-vma lock first */ > @@ -892,7 +892,7 @@ void binder_alloc_free_buf(struct binder_alloc *alloc, > * -ENOMEM = failed to map memory to given address space > */ > int binder_alloc_mmap_handler(struct binder_alloc *alloc, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct binder_buffer *buffer; > const char *failure_string; > @@ -1140,7 +1140,7 @@ enum lru_status binder_alloc_free_page(struct list_head *item, > struct binder_shrinker_mdata *mdata = container_of(item, typeof(*mdata), lru); > struct binder_alloc *alloc = mdata->alloc; > struct mm_struct *mm = alloc->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct page *page_to_free; > unsigned long page_addr; > int mm_locked = 0; > diff --git a/drivers/android/binder_alloc.h b/drivers/android/binder_alloc.h > index feecd7414241..71474a96c9dd 100644 > --- a/drivers/android/binder_alloc.h > +++ b/drivers/android/binder_alloc.h > @@ -143,7 +143,7 @@ binder_alloc_prepare_to_free(struct binder_alloc *alloc, > void binder_alloc_free_buf(struct binder_alloc *alloc, > struct binder_buffer *buffer); > int binder_alloc_mmap_handler(struct binder_alloc *alloc, > - struct vm_area_struct *vma); > + struct mm_area *vma); > void binder_alloc_deferred_release(struct binder_alloc *alloc); > int binder_alloc_get_allocated_count(struct binder_alloc *alloc); > void binder_alloc_print_allocated(struct seq_file *m, > diff --git a/drivers/auxdisplay/cfag12864bfb.c b/drivers/auxdisplay/cfag12864bfb.c > index 24baf6b2c587..c8953939f33a 100644 > --- a/drivers/auxdisplay/cfag12864bfb.c > +++ b/drivers/auxdisplay/cfag12864bfb.c > @@ -47,7 +47,7 @@ static const struct fb_var_screeninfo cfag12864bfb_var = { > .vmode = FB_VMODE_NONINTERLACED, > }; > > -static int cfag12864bfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int cfag12864bfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct page *pages = virt_to_page(cfag12864b_buffer); > > diff --git a/drivers/auxdisplay/ht16k33.c b/drivers/auxdisplay/ht16k33.c > index 0b8ba754b343..835db2ac68c3 100644 > --- a/drivers/auxdisplay/ht16k33.c > +++ b/drivers/auxdisplay/ht16k33.c > @@ -303,7 +303,7 @@ static int ht16k33_blank(int blank, struct fb_info *info) > return 0; > } > > -static int ht16k33_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int ht16k33_mmap(struct fb_info *info, struct mm_area *vma) > { > struct ht16k33_priv *priv = info->par; > struct page *pages = virt_to_page(priv->fbdev.buffer); > diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c > index 2fd05c1bd30b..55cfd9965a5d 100644 > --- a/drivers/block/ublk_drv.c > +++ b/drivers/block/ublk_drv.c > @@ -1467,7 +1467,7 @@ static int ublk_ch_release(struct inode *inode, struct file *filp) > } > > /* map pre-allocated per-queue cmd buffer to ublksrv daemon */ > -static int ublk_ch_mmap(struct file *filp, struct vm_area_struct *vma) > +static int ublk_ch_mmap(struct file *filp, struct mm_area *vma) > { > struct ublk_device *ub = filp->private_data; > size_t sz = vma->vm_end - vma->vm_start; > diff --git a/drivers/cdx/cdx.c b/drivers/cdx/cdx.c > index 092306ca2541..f3f114c29555 100644 > --- a/drivers/cdx/cdx.c > +++ b/drivers/cdx/cdx.c > @@ -708,7 +708,7 @@ static const struct vm_operations_struct cdx_phys_vm_ops = { > * this API is registered as a callback. > * @kobj: kobject for mapping > * @attr: struct bin_attribute for the file being mapped > - * @vma: struct vm_area_struct passed into the mmap > + * @vma: struct mm_area passed into the mmap > * > * Use the regular CDX mapping routines to map a CDX resource into userspace. > * > @@ -716,7 +716,7 @@ static const struct vm_operations_struct cdx_phys_vm_ops = { > */ > static int cdx_mmap_resource(struct file *fp, struct kobject *kobj, > const struct bin_attribute *attr, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct cdx_device *cdx_dev = to_cdx_device(kobj_to_dev(kobj)); > int num = (unsigned long)attr->private; > diff --git a/drivers/char/bsr.c b/drivers/char/bsr.c > index 837109ef6766..005cbf590708 100644 > --- a/drivers/char/bsr.c > +++ b/drivers/char/bsr.c > @@ -111,7 +111,7 @@ static const struct class bsr_class = { > .dev_groups = bsr_dev_groups, > }; > > -static int bsr_mmap(struct file *filp, struct vm_area_struct *vma) > +static int bsr_mmap(struct file *filp, struct mm_area *vma) > { > unsigned long size = vma->vm_end - vma->vm_start; > struct bsr_dev *dev = filp->private_data; > diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c > index e110857824fc..af1076b99117 100644 > --- a/drivers/char/hpet.c > +++ b/drivers/char/hpet.c > @@ -354,7 +354,7 @@ static __init int hpet_mmap_enable(char *str) > } > __setup("hpet_mmap=", hpet_mmap_enable); > > -static int hpet_mmap(struct file *file, struct vm_area_struct *vma) > +static int hpet_mmap(struct file *file, struct mm_area *vma) > { > struct hpet_dev *devp; > unsigned long addr; > @@ -372,7 +372,7 @@ static int hpet_mmap(struct file *file, struct vm_area_struct *vma) > return vm_iomap_memory(vma, addr, PAGE_SIZE); > } > #else > -static int hpet_mmap(struct file *file, struct vm_area_struct *vma) > +static int hpet_mmap(struct file *file, struct mm_area *vma) > { > return -ENOSYS; > } > diff --git a/drivers/char/mem.c b/drivers/char/mem.c > index 169eed162a7f..350af6fa120a 100644 > --- a/drivers/char/mem.c > +++ b/drivers/char/mem.c > @@ -322,13 +322,13 @@ static unsigned zero_mmap_capabilities(struct file *file) > } > > /* can't do an in-place private mapping if there's no MMU */ > -static inline int private_mapping_ok(struct vm_area_struct *vma) > +static inline int private_mapping_ok(struct mm_area *vma) > { > return is_nommu_shared_mapping(vma->vm_flags); > } > #else > > -static inline int private_mapping_ok(struct vm_area_struct *vma) > +static inline int private_mapping_ok(struct mm_area *vma) > { > return 1; > } > @@ -340,7 +340,7 @@ static const struct vm_operations_struct mmap_mem_ops = { > #endif > }; > > -static int mmap_mem(struct file *file, struct vm_area_struct *vma) > +static int mmap_mem(struct file *file, struct mm_area *vma) > { > size_t size = vma->vm_end - vma->vm_start; > phys_addr_t offset = (phys_addr_t)vma->vm_pgoff << PAGE_SHIFT; > @@ -519,7 +519,7 @@ static ssize_t read_zero(struct file *file, char __user *buf, > return cleared; > } > > -static int mmap_zero(struct file *file, struct vm_area_struct *vma) > +static int mmap_zero(struct file *file, struct mm_area *vma) > { > #ifndef CONFIG_MMU > return -ENOSYS; > diff --git a/drivers/char/uv_mmtimer.c b/drivers/char/uv_mmtimer.c > index 956ebe2080a5..3a8a210592db 100644 > --- a/drivers/char/uv_mmtimer.c > +++ b/drivers/char/uv_mmtimer.c > @@ -40,7 +40,7 @@ MODULE_LICENSE("GPL"); > > static long uv_mmtimer_ioctl(struct file *file, unsigned int cmd, > unsigned long arg); > -static int uv_mmtimer_mmap(struct file *file, struct vm_area_struct *vma); > +static int uv_mmtimer_mmap(struct file *file, struct mm_area *vma); > > /* > * Period in femtoseconds (10^-15 s) > @@ -144,7 +144,7 @@ static long uv_mmtimer_ioctl(struct file *file, unsigned int cmd, > * Calls remap_pfn_range() to map the clock's registers into > * the calling process' address space. > */ > -static int uv_mmtimer_mmap(struct file *file, struct vm_area_struct *vma) > +static int uv_mmtimer_mmap(struct file *file, struct mm_area *vma) > { > unsigned long uv_mmtimer_addr; > > diff --git a/drivers/comedi/comedi_fops.c b/drivers/comedi/comedi_fops.c > index b9df9b19d4bd..9e3ef27295ec 100644 > --- a/drivers/comedi/comedi_fops.c > +++ b/drivers/comedi/comedi_fops.c > @@ -2282,7 +2282,7 @@ static long comedi_unlocked_ioctl(struct file *file, unsigned int cmd, > return rc; > } > > -static void comedi_vm_open(struct vm_area_struct *area) > +static void comedi_vm_open(struct mm_area *area) > { > struct comedi_buf_map *bm; > > @@ -2290,7 +2290,7 @@ static void comedi_vm_open(struct vm_area_struct *area) > comedi_buf_map_get(bm); > } > > -static void comedi_vm_close(struct vm_area_struct *area) > +static void comedi_vm_close(struct mm_area *area) > { > struct comedi_buf_map *bm; > > @@ -2298,7 +2298,7 @@ static void comedi_vm_close(struct vm_area_struct *area) > comedi_buf_map_put(bm); > } > > -static int comedi_vm_access(struct vm_area_struct *vma, unsigned long addr, > +static int comedi_vm_access(struct mm_area *vma, unsigned long addr, > void *buf, int len, int write) > { > struct comedi_buf_map *bm = vma->vm_private_data; > @@ -2318,7 +2318,7 @@ static const struct vm_operations_struct comedi_vm_ops = { > .access = comedi_vm_access, > }; > > -static int comedi_mmap(struct file *file, struct vm_area_struct *vma) > +static int comedi_mmap(struct file *file, struct mm_area *vma) > { > struct comedi_file *cfp = file->private_data; > struct comedi_device *dev = cfp->dev; > diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c > index d3f5d108b898..c9d9b977c07a 100644 > --- a/drivers/crypto/hisilicon/qm.c > +++ b/drivers/crypto/hisilicon/qm.c > @@ -2454,7 +2454,7 @@ static void hisi_qm_uacce_put_queue(struct uacce_queue *q) > > /* map sq/cq/doorbell to user space */ > static int hisi_qm_uacce_mmap(struct uacce_queue *q, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct uacce_qfile_region *qfr) > { > struct hisi_qp *qp = q->priv; > diff --git a/drivers/dax/device.c b/drivers/dax/device.c > index 328231cfb028..6a5724727688 100644 > --- a/drivers/dax/device.c > +++ b/drivers/dax/device.c > @@ -14,7 +14,7 @@ > #include "dax-private.h" > #include "bus.h" > > -static int check_vma(struct dev_dax *dev_dax, struct vm_area_struct *vma, > +static int check_vma(struct dev_dax *dev_dax, struct mm_area *vma, > const char *func) > { > struct device *dev = &dev_dax->dev; > @@ -261,7 +261,7 @@ static vm_fault_t dev_dax_fault(struct vm_fault *vmf) > return dev_dax_huge_fault(vmf, 0); > } > > -static int dev_dax_may_split(struct vm_area_struct *vma, unsigned long addr) > +static int dev_dax_may_split(struct mm_area *vma, unsigned long addr) > { > struct file *filp = vma->vm_file; > struct dev_dax *dev_dax = filp->private_data; > @@ -271,7 +271,7 @@ static int dev_dax_may_split(struct vm_area_struct *vma, unsigned long addr) > return 0; > } > > -static unsigned long dev_dax_pagesize(struct vm_area_struct *vma) > +static unsigned long dev_dax_pagesize(struct mm_area *vma) > { > struct file *filp = vma->vm_file; > struct dev_dax *dev_dax = filp->private_data; > @@ -286,7 +286,7 @@ static const struct vm_operations_struct dax_vm_ops = { > .pagesize = dev_dax_pagesize, > }; > > -static int dax_mmap(struct file *filp, struct vm_area_struct *vma) > +static int dax_mmap(struct file *filp, struct mm_area *vma) > { > struct dev_dax *dev_dax = filp->private_data; > int rc, id; > diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c > index 5baa83b85515..afc92bd59362 100644 > --- a/drivers/dma-buf/dma-buf.c > +++ b/drivers/dma-buf/dma-buf.c > @@ -144,7 +144,7 @@ static struct file_system_type dma_buf_fs_type = { > .kill_sb = kill_anon_super, > }; > > -static int dma_buf_mmap_internal(struct file *file, struct vm_area_struct *vma) > +static int dma_buf_mmap_internal(struct file *file, struct mm_area *vma) > { > struct dma_buf *dmabuf; > > @@ -1364,7 +1364,7 @@ EXPORT_SYMBOL_NS_GPL(dma_buf_move_notify, "DMA_BUF"); > * > * .. code-block:: c > * > - * int dma_buf_mmap(struct dma_buf *, struct vm_area_struct *, unsigned long); > + * int dma_buf_mmap(struct dma_buf *, struct mm_area *, unsigned long); > * > * If the importing subsystem simply provides a special-purpose mmap call to > * set up a mapping in userspace, calling do_mmap with &dma_buf.file will > @@ -1474,7 +1474,7 @@ EXPORT_SYMBOL_NS_GPL(dma_buf_end_cpu_access, "DMA_BUF"); > * > * Can return negative error values, returns 0 on success. > */ > -int dma_buf_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma, > +int dma_buf_mmap(struct dma_buf *dmabuf, struct mm_area *vma, > unsigned long pgoff) > { > if (WARN_ON(!dmabuf || !vma)) > diff --git a/drivers/dma-buf/heaps/cma_heap.c b/drivers/dma-buf/heaps/cma_heap.c > index 9512d050563a..17ae7983a93a 100644 > --- a/drivers/dma-buf/heaps/cma_heap.c > +++ b/drivers/dma-buf/heaps/cma_heap.c > @@ -162,7 +162,7 @@ static int cma_heap_dma_buf_end_cpu_access(struct dma_buf *dmabuf, > > static vm_fault_t cma_heap_vm_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct cma_heap_buffer *buffer = vma->vm_private_data; > > if (vmf->pgoff >= buffer->pagecount) > @@ -175,7 +175,7 @@ static const struct vm_operations_struct dma_heap_vm_ops = { > .fault = cma_heap_vm_fault, > }; > > -static int cma_heap_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma) > +static int cma_heap_mmap(struct dma_buf *dmabuf, struct mm_area *vma) > { > struct cma_heap_buffer *buffer = dmabuf->priv; > > diff --git a/drivers/dma-buf/heaps/system_heap.c b/drivers/dma-buf/heaps/system_heap.c > index 26d5dc89ea16..43fd8260f29b 100644 > --- a/drivers/dma-buf/heaps/system_heap.c > +++ b/drivers/dma-buf/heaps/system_heap.c > @@ -192,7 +192,7 @@ static int system_heap_dma_buf_end_cpu_access(struct dma_buf *dmabuf, > return 0; > } > > -static int system_heap_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma) > +static int system_heap_mmap(struct dma_buf *dmabuf, struct mm_area *vma) > { > struct system_heap_buffer *buffer = dmabuf->priv; > struct sg_table *table = &buffer->sg_table; > diff --git a/drivers/dma-buf/udmabuf.c b/drivers/dma-buf/udmabuf.c > index e74e36a8ecda..7c3de3568e46 100644 > --- a/drivers/dma-buf/udmabuf.c > +++ b/drivers/dma-buf/udmabuf.c > @@ -46,7 +46,7 @@ struct udmabuf { > > static vm_fault_t udmabuf_vm_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct udmabuf *ubuf = vma->vm_private_data; > pgoff_t pgoff = vmf->pgoff; > unsigned long addr, pfn; > @@ -93,7 +93,7 @@ static const struct vm_operations_struct udmabuf_vm_ops = { > .fault = udmabuf_vm_fault, > }; > > -static int mmap_udmabuf(struct dma_buf *buf, struct vm_area_struct *vma) > +static int mmap_udmabuf(struct dma_buf *buf, struct mm_area *vma) > { > struct udmabuf *ubuf = buf->priv; > > diff --git a/drivers/dma/idxd/cdev.c b/drivers/dma/idxd/cdev.c > index ff94ee892339..2fd71e61d6c8 100644 > --- a/drivers/dma/idxd/cdev.c > +++ b/drivers/dma/idxd/cdev.c > @@ -368,7 +368,7 @@ static int idxd_cdev_release(struct inode *node, struct file *filep) > return 0; > } > > -static int check_vma(struct idxd_wq *wq, struct vm_area_struct *vma, > +static int check_vma(struct idxd_wq *wq, struct mm_area *vma, > const char *func) > { > struct device *dev = &wq->idxd->pdev->dev; > @@ -384,7 +384,7 @@ static int check_vma(struct idxd_wq *wq, struct vm_area_struct *vma, > return 0; > } > > -static int idxd_cdev_mmap(struct file *filp, struct vm_area_struct *vma) > +static int idxd_cdev_mmap(struct file *filp, struct mm_area *vma) > { > struct idxd_user_context *ctx = filp->private_data; > struct idxd_wq *wq = ctx->wq; > diff --git a/drivers/firewire/core-cdev.c b/drivers/firewire/core-cdev.c > index bd04980009a4..a8a2ccd8af78 100644 > --- a/drivers/firewire/core-cdev.c > +++ b/drivers/firewire/core-cdev.c > @@ -1786,7 +1786,7 @@ static long fw_device_op_ioctl(struct file *file, > return dispatch_ioctl(file->private_data, cmd, (void __user *)arg); > } > > -static int fw_device_op_mmap(struct file *file, struct vm_area_struct *vma) > +static int fw_device_op_mmap(struct file *file, struct mm_area *vma) > { > struct client *client = file->private_data; > unsigned long size; > diff --git a/drivers/fpga/dfl-afu-main.c b/drivers/fpga/dfl-afu-main.c > index 3bf8e7338dbe..1b9b86d2ee0f 100644 > --- a/drivers/fpga/dfl-afu-main.c > +++ b/drivers/fpga/dfl-afu-main.c > @@ -805,7 +805,7 @@ static const struct vm_operations_struct afu_vma_ops = { > #endif > }; > > -static int afu_mmap(struct file *filp, struct vm_area_struct *vma) > +static int afu_mmap(struct file *filp, struct mm_area *vma) > { > struct platform_device *pdev = filp->private_data; > u64 size = vma->vm_end - vma->vm_start; > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > index 69429df09477..993513183c9c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > @@ -272,7 +272,7 @@ static void amdgpu_gem_object_close(struct drm_gem_object *obj, > drm_exec_fini(&exec); > } > > -static int amdgpu_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int amdgpu_gem_object_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > index 53b71e9d8076..304a1c09b89c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > @@ -700,7 +700,7 @@ int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo, struct page **pages, > struct ttm_tt *ttm = bo->tbo.ttm; > struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); > unsigned long start = gtt->userptr; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm; > bool readonly; > int r = 0; > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c > index 1e9dd00620bf..00a7f935b0a7 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c > @@ -48,7 +48,7 @@ > static long kfd_ioctl(struct file *, unsigned int, unsigned long); > static int kfd_open(struct inode *, struct file *); > static int kfd_release(struct inode *, struct file *); > -static int kfd_mmap(struct file *, struct vm_area_struct *); > +static int kfd_mmap(struct file *, struct mm_area *); > > static const char kfd_dev_name[] = "kfd"; > > @@ -3360,7 +3360,7 @@ static long kfd_ioctl(struct file *filep, unsigned int cmd, unsigned long arg) > } > > static int kfd_mmio_mmap(struct kfd_node *dev, struct kfd_process *process, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > phys_addr_t address; > > @@ -3393,7 +3393,7 @@ static int kfd_mmio_mmap(struct kfd_node *dev, struct kfd_process *process, > } > > > -static int kfd_mmap(struct file *filp, struct vm_area_struct *vma) > +static int kfd_mmap(struct file *filp, struct mm_area *vma) > { > struct kfd_process *process; > struct kfd_node *dev = NULL; > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c b/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c > index 05c74887fd6f..cff9e53c009c 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c > @@ -104,7 +104,7 @@ void kfd_doorbell_fini(struct kfd_dev *kfd) > } > > int kfd_doorbell_mmap(struct kfd_node *dev, struct kfd_process *process, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > phys_addr_t address; > struct kfd_process_device *pdd; > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c > index fecdb6794075..8b767a08782a 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c > @@ -1063,7 +1063,7 @@ int kfd_wait_on_events(struct kfd_process *p, > return ret; > } > > -int kfd_event_mmap(struct kfd_process *p, struct vm_area_struct *vma) > +int kfd_event_mmap(struct kfd_process *p, struct mm_area *vma) > { > unsigned long pfn; > struct kfd_signal_page *page; > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c > index 79251f22b702..86560564d30d 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c > @@ -240,7 +240,7 @@ svm_migrate_addr(struct amdgpu_device *adev, struct page *page) > } > > static struct page * > -svm_migrate_get_sys_page(struct vm_area_struct *vma, unsigned long addr) > +svm_migrate_get_sys_page(struct mm_area *vma, unsigned long addr) > { > struct page *page; > > @@ -385,7 +385,7 @@ svm_migrate_copy_to_vram(struct kfd_node *node, struct svm_range *prange, > > static long > svm_migrate_vma_to_vram(struct kfd_node *node, struct svm_range *prange, > - struct vm_area_struct *vma, uint64_t start, > + struct mm_area *vma, uint64_t start, > uint64_t end, uint32_t trigger, uint64_t ttm_res_offset) > { > struct kfd_process *p = container_of(prange->svms, struct kfd_process, svms); > @@ -489,7 +489,7 @@ svm_migrate_ram_to_vram(struct svm_range *prange, uint32_t best_loc, > struct mm_struct *mm, uint32_t trigger) > { > unsigned long addr, start, end; > - struct vm_area_struct *vma; > + struct mm_area *vma; > uint64_t ttm_res_offset; > struct kfd_node *node; > unsigned long mpages = 0; > @@ -668,7 +668,7 @@ svm_migrate_copy_to_ram(struct amdgpu_device *adev, struct svm_range *prange, > * svm_migrate_vma_to_ram - migrate range inside one vma from device to system > * > * @prange: svm range structure > - * @vma: vm_area_struct that range [start, end] belongs to > + * @vma: mm_area that range [start, end] belongs to > * @start: range start virtual address in pages > * @end: range end virtual address in pages > * @node: kfd node device to migrate from > @@ -683,7 +683,7 @@ svm_migrate_copy_to_ram(struct amdgpu_device *adev, struct svm_range *prange, > */ > static long > svm_migrate_vma_to_ram(struct kfd_node *node, struct svm_range *prange, > - struct vm_area_struct *vma, uint64_t start, uint64_t end, > + struct mm_area *vma, uint64_t start, uint64_t end, > uint32_t trigger, struct page *fault_page) > { > struct kfd_process *p = container_of(prange->svms, struct kfd_process, svms); > @@ -793,7 +793,7 @@ int svm_migrate_vram_to_ram(struct svm_range *prange, struct mm_struct *mm, > uint32_t trigger, struct page *fault_page) > { > struct kfd_node *node; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr; > unsigned long start; > unsigned long end; > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h > index f6aedf69c644..82d332c7bdd1 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h > @@ -61,7 +61,7 @@ > * BITS[61:46] - Encode gpu_id. To identify to which GPU the offset belongs to > * BITS[45:0] - MMAP offset value > * > - * NOTE: struct vm_area_struct.vm_pgoff uses offset in pages. Hence, these > + * NOTE: struct mm_area.vm_pgoff uses offset in pages. Hence, these > * defines are w.r.t to PAGE_SIZE > */ > #define KFD_MMAP_TYPE_SHIFT 62 > @@ -1077,7 +1077,7 @@ struct kfd_process_device *kfd_create_process_device_data(struct kfd_node *dev, > bool kfd_process_xnack_mode(struct kfd_process *p, bool supported); > > int kfd_reserved_mem_mmap(struct kfd_node *dev, struct kfd_process *process, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > /* KFD process API for creating and translating handles */ > int kfd_process_device_create_obj_handle(struct kfd_process_device *pdd, > @@ -1099,7 +1099,7 @@ size_t kfd_doorbell_process_slice(struct kfd_dev *kfd); > int kfd_doorbell_init(struct kfd_dev *kfd); > void kfd_doorbell_fini(struct kfd_dev *kfd); > int kfd_doorbell_mmap(struct kfd_node *dev, struct kfd_process *process, > - struct vm_area_struct *vma); > + struct mm_area *vma); > void __iomem *kfd_get_kernel_doorbell(struct kfd_dev *kfd, > unsigned int *doorbell_off); > void kfd_release_kernel_doorbell(struct kfd_dev *kfd, u32 __iomem *db_addr); > @@ -1487,7 +1487,7 @@ extern const struct kfd_device_global_init_class device_global_init_class_cik; > > int kfd_event_init_process(struct kfd_process *p); > void kfd_event_free_process(struct kfd_process *p); > -int kfd_event_mmap(struct kfd_process *process, struct vm_area_struct *vma); > +int kfd_event_mmap(struct kfd_process *process, struct mm_area *vma); > int kfd_wait_on_events(struct kfd_process *p, > uint32_t num_events, void __user *data, > bool all, uint32_t *user_timeout_ms, > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c > index 7c0c24732481..94056ffd51d7 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c > @@ -2111,7 +2111,7 @@ int kfd_resume_all_processes(void) > } > > int kfd_reserved_mem_mmap(struct kfd_node *dev, struct kfd_process *process, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct kfd_process_device *pdd; > struct qcm_process_device *qpd; > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c > index 100717a98ec1..01e2538d9622 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c > @@ -1704,7 +1704,7 @@ static int svm_range_validate_and_map(struct mm_struct *mm, > struct hmm_range *hmm_range = NULL; > unsigned long map_start_vma; > unsigned long map_last_vma; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long next = 0; > unsigned long offset; > unsigned long npages; > @@ -2721,7 +2721,7 @@ svm_range_get_range_boundaries(struct kfd_process *p, int64_t addr, > unsigned long *start, unsigned long *last, > bool *is_heap_stack) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct interval_tree_node *node; > struct rb_node *rb_node; > unsigned long start_limit, end_limit; > @@ -2938,7 +2938,7 @@ svm_range_count_fault(struct kfd_node *node, struct kfd_process *p, > } > > static bool > -svm_fault_allowed(struct vm_area_struct *vma, bool write_fault) > +svm_fault_allowed(struct mm_area *vma, bool write_fault) > { > unsigned long requested = VM_READ; > > @@ -2965,7 +2965,7 @@ svm_range_restore_pages(struct amdgpu_device *adev, unsigned int pasid, > int32_t best_loc; > int32_t gpuid, gpuidx = MAX_GPU_INSTANCE; > bool write_locked = false; > - struct vm_area_struct *vma; > + struct mm_area *vma; > bool migration = false; > int r = 0; > > @@ -3373,7 +3373,7 @@ static int > svm_range_is_valid(struct kfd_process *p, uint64_t start, uint64_t size) > { > const unsigned long device_vma = VM_IO | VM_PFNMAP | VM_MIXEDMAP; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long end; > unsigned long start_unchg = start; > > diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c > index 1a1680d71486..94767247f919 100644 > --- a/drivers/gpu/drm/armada/armada_gem.c > +++ b/drivers/gpu/drm/armada/armada_gem.c > @@ -471,7 +471,7 @@ static void armada_gem_prime_unmap_dma_buf(struct dma_buf_attachment *attach, > } > > static int > -armada_gem_dmabuf_mmap(struct dma_buf *buf, struct vm_area_struct *vma) > +armada_gem_dmabuf_mmap(struct dma_buf *buf, struct mm_area *vma) > { > return -EINVAL; > } > diff --git a/drivers/gpu/drm/drm_fbdev_dma.c b/drivers/gpu/drm/drm_fbdev_dma.c > index 02a516e77192..d6b5bcdbc19f 100644 > --- a/drivers/gpu/drm/drm_fbdev_dma.c > +++ b/drivers/gpu/drm/drm_fbdev_dma.c > @@ -35,7 +35,7 @@ static int drm_fbdev_dma_fb_release(struct fb_info *info, int user) > return 0; > } > > -static int drm_fbdev_dma_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int drm_fbdev_dma_fb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct drm_fb_helper *fb_helper = info->par; > > diff --git a/drivers/gpu/drm/drm_fbdev_shmem.c b/drivers/gpu/drm/drm_fbdev_shmem.c > index f824369baacd..3077d8e6e55b 100644 > --- a/drivers/gpu/drm/drm_fbdev_shmem.c > +++ b/drivers/gpu/drm/drm_fbdev_shmem.c > @@ -38,7 +38,7 @@ FB_GEN_DEFAULT_DEFERRED_SYSMEM_OPS(drm_fbdev_shmem, > drm_fb_helper_damage_range, > drm_fb_helper_damage_area); > > -static int drm_fbdev_shmem_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int drm_fbdev_shmem_fb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct drm_fb_helper *fb_helper = info->par; > struct drm_framebuffer *fb = fb_helper->fb; > diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c > index c6240bab3fa5..f7a750cea62c 100644 > --- a/drivers/gpu/drm/drm_gem.c > +++ b/drivers/gpu/drm/drm_gem.c > @@ -1013,7 +1013,7 @@ EXPORT_SYMBOL(drm_gem_object_free); > * This function implements the #vm_operations_struct open() callback for GEM > * drivers. This must be used together with drm_gem_vm_close(). > */ > -void drm_gem_vm_open(struct vm_area_struct *vma) > +void drm_gem_vm_open(struct mm_area *vma) > { > struct drm_gem_object *obj = vma->vm_private_data; > > @@ -1028,7 +1028,7 @@ EXPORT_SYMBOL(drm_gem_vm_open); > * This function implements the #vm_operations_struct close() callback for GEM > * drivers. This must be used together with drm_gem_vm_open(). > */ > -void drm_gem_vm_close(struct vm_area_struct *vma) > +void drm_gem_vm_close(struct mm_area *vma) > { > struct drm_gem_object *obj = vma->vm_private_data; > > @@ -1061,7 +1061,7 @@ EXPORT_SYMBOL(drm_gem_vm_close); > * size, or if no vm_ops are provided. > */ > int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned long obj_size, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > int ret; > > @@ -1119,7 +1119,7 @@ EXPORT_SYMBOL(drm_gem_mmap_obj); > * If the caller is not granted access to the buffer object, the mmap will fail > * with EACCES. Please see the vma manager for more information. > */ > -int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma) > +int drm_gem_mmap(struct file *filp, struct mm_area *vma) > { > struct drm_file *priv = filp->private_data; > struct drm_device *dev = priv->minor->dev; > diff --git a/drivers/gpu/drm/drm_gem_dma_helper.c b/drivers/gpu/drm/drm_gem_dma_helper.c > index b7f033d4352a..d3ae2d67fcc0 100644 > --- a/drivers/gpu/drm/drm_gem_dma_helper.c > +++ b/drivers/gpu/drm/drm_gem_dma_helper.c > @@ -519,7 +519,7 @@ EXPORT_SYMBOL_GPL(drm_gem_dma_vmap); > * Returns: > * 0 on success or a negative error code on failure. > */ > -int drm_gem_dma_mmap(struct drm_gem_dma_object *dma_obj, struct vm_area_struct *vma) > +int drm_gem_dma_mmap(struct drm_gem_dma_object *dma_obj, struct mm_area *vma) > { > struct drm_gem_object *obj = &dma_obj->base; > int ret; > diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c b/drivers/gpu/drm/drm_gem_shmem_helper.c > index d99dee67353a..b98f02716ad7 100644 > --- a/drivers/gpu/drm/drm_gem_shmem_helper.c > +++ b/drivers/gpu/drm/drm_gem_shmem_helper.c > @@ -533,7 +533,7 @@ EXPORT_SYMBOL_GPL(drm_gem_shmem_dumb_create); > > static vm_fault_t drm_gem_shmem_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct drm_gem_object *obj = vma->vm_private_data; > struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); > loff_t num_pages = obj->size >> PAGE_SHIFT; > @@ -561,7 +561,7 @@ static vm_fault_t drm_gem_shmem_fault(struct vm_fault *vmf) > return ret; > } > > -static void drm_gem_shmem_vm_open(struct vm_area_struct *vma) > +static void drm_gem_shmem_vm_open(struct mm_area *vma) > { > struct drm_gem_object *obj = vma->vm_private_data; > struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); > @@ -583,7 +583,7 @@ static void drm_gem_shmem_vm_open(struct vm_area_struct *vma) > drm_gem_vm_open(vma); > } > > -static void drm_gem_shmem_vm_close(struct vm_area_struct *vma) > +static void drm_gem_shmem_vm_close(struct mm_area *vma) > { > struct drm_gem_object *obj = vma->vm_private_data; > struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); > @@ -613,7 +613,7 @@ EXPORT_SYMBOL_GPL(drm_gem_shmem_vm_ops); > * Returns: > * 0 on success or a negative error code on failure. > */ > -int drm_gem_shmem_mmap(struct drm_gem_shmem_object *shmem, struct vm_area_struct *vma) > +int drm_gem_shmem_mmap(struct drm_gem_shmem_object *shmem, struct mm_area *vma) > { > struct drm_gem_object *obj = &shmem->base; > int ret; > diff --git a/drivers/gpu/drm/drm_gem_ttm_helper.c b/drivers/gpu/drm/drm_gem_ttm_helper.c > index 3734aa2d1c5b..5ab41caf8e4a 100644 > --- a/drivers/gpu/drm/drm_gem_ttm_helper.c > +++ b/drivers/gpu/drm/drm_gem_ttm_helper.c > @@ -97,7 +97,7 @@ EXPORT_SYMBOL(drm_gem_ttm_vunmap); > * callback. > */ > int drm_gem_ttm_mmap(struct drm_gem_object *gem, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct ttm_buffer_object *bo = drm_gem_ttm_of_gem(gem); > int ret; > diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c > index 38431e8360e7..8d7fd83f2f1f 100644 > --- a/drivers/gpu/drm/drm_gpusvm.c > +++ b/drivers/gpu/drm/drm_gpusvm.c > @@ -902,7 +902,7 @@ static bool drm_gpusvm_check_pages(struct drm_gpusvm *gpusvm, > static unsigned long > drm_gpusvm_range_chunk_size(struct drm_gpusvm *gpusvm, > struct drm_gpusvm_notifier *notifier, > - struct vm_area_struct *vas, > + struct mm_area *vas, > unsigned long fault_addr, > unsigned long gpuva_start, > unsigned long gpuva_end, > @@ -1003,7 +1003,7 @@ drm_gpusvm_range_find_or_insert(struct drm_gpusvm *gpusvm, > struct drm_gpusvm_notifier *notifier; > struct drm_gpusvm_range *range; > struct mm_struct *mm = gpusvm->mm; > - struct vm_area_struct *vas; > + struct mm_area *vas; > bool notifier_alloc = false; > unsigned long chunk_size; > int err; > @@ -1678,7 +1678,7 @@ int drm_gpusvm_migrate_to_devmem(struct drm_gpusvm *gpusvm, > }; > struct mm_struct *mm = gpusvm->mm; > unsigned long i, npages = npages_in_range(start, end); > - struct vm_area_struct *vas; > + struct mm_area *vas; > struct drm_gpusvm_zdd *zdd = NULL; > struct page **pages; > dma_addr_t *dma_addr; > @@ -1800,7 +1800,7 @@ EXPORT_SYMBOL_GPL(drm_gpusvm_migrate_to_devmem); > * > * Return: 0 on success, negative error code on failure. > */ > -static int drm_gpusvm_migrate_populate_ram_pfn(struct vm_area_struct *vas, > +static int drm_gpusvm_migrate_populate_ram_pfn(struct mm_area *vas, > struct page *fault_page, > unsigned long npages, > unsigned long *mpages, > @@ -1962,7 +1962,7 @@ EXPORT_SYMBOL_GPL(drm_gpusvm_evict_to_ram); > * > * Return: 0 on success, negative error code on failure. > */ > -static int __drm_gpusvm_migrate_to_ram(struct vm_area_struct *vas, > +static int __drm_gpusvm_migrate_to_ram(struct mm_area *vas, > void *device_private_page_owner, > struct page *page, > unsigned long fault_addr, > diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c > index bdb51c8f262e..3691e0445696 100644 > --- a/drivers/gpu/drm/drm_prime.c > +++ b/drivers/gpu/drm/drm_prime.c > @@ -737,7 +737,7 @@ EXPORT_SYMBOL(drm_gem_dmabuf_vunmap); > * The fake GEM offset is added to vma->vm_pgoff and &drm_driver->fops->mmap is > * called to set up the mapping. > */ > -int drm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +int drm_gem_prime_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct drm_file *priv; > struct file *fil; > @@ -795,7 +795,7 @@ EXPORT_SYMBOL(drm_gem_prime_mmap); > * > * Returns 0 on success or a negative error code on failure. > */ > -int drm_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct vm_area_struct *vma) > +int drm_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct mm_area *vma) > { > struct drm_gem_object *obj = dma_buf->priv; > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c > index 2f844e82bc46..8a5d096ddb36 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c > @@ -125,7 +125,7 @@ void etnaviv_gem_put_pages(struct etnaviv_gem_object *etnaviv_obj) > } > > static int etnaviv_gem_mmap_obj(struct etnaviv_gem_object *etnaviv_obj, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > pgprot_t vm_page_prot; > > @@ -152,7 +152,7 @@ static int etnaviv_gem_mmap_obj(struct etnaviv_gem_object *etnaviv_obj, > return 0; > } > > -static int etnaviv_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int etnaviv_gem_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); > > @@ -161,7 +161,7 @@ static int etnaviv_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *v > > static vm_fault_t etnaviv_gem_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct drm_gem_object *obj = vma->vm_private_data; > struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); > struct page **pages; > @@ -718,7 +718,7 @@ static void etnaviv_gem_userptr_release(struct etnaviv_gem_object *etnaviv_obj) > } > > static int etnaviv_gem_userptr_mmap_obj(struct etnaviv_gem_object *etnaviv_obj, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return -EINVAL; > } > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.h b/drivers/gpu/drm/etnaviv/etnaviv_gem.h > index e5ee82a0674c..20c10d1bedd2 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.h > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.h > @@ -68,7 +68,7 @@ struct etnaviv_gem_ops { > int (*get_pages)(struct etnaviv_gem_object *); > void (*release)(struct etnaviv_gem_object *); > void *(*vmap)(struct etnaviv_gem_object *); > - int (*mmap)(struct etnaviv_gem_object *, struct vm_area_struct *); > + int (*mmap)(struct etnaviv_gem_object *, struct mm_area *); > }; > > static inline bool is_active(struct etnaviv_gem_object *etnaviv_obj) > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c > index 42e57d142554..b81b597367e0 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c > @@ -89,7 +89,7 @@ static void *etnaviv_gem_prime_vmap_impl(struct etnaviv_gem_object *etnaviv_obj) > } > > static int etnaviv_gem_prime_mmap_obj(struct etnaviv_gem_object *etnaviv_obj, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > int ret; > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c > index 9526a25e90ac..637b38b274cd 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c > @@ -24,7 +24,7 @@ > > #define MAX_CONNECTOR 4 > > -static int exynos_drm_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int exynos_drm_fb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct drm_fb_helper *helper = info->par; > struct drm_gem_object *obj = drm_gem_fb_get_obj(helper->fb, 0); > diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c > index 4787fee4696f..8ab046d62150 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c > @@ -20,7 +20,7 @@ > > MODULE_IMPORT_NS("DMA_BUF"); > > -static int exynos_drm_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma); > +static int exynos_drm_gem_mmap(struct drm_gem_object *obj, struct mm_area *vma); > > static int exynos_drm_alloc_buf(struct exynos_drm_gem *exynos_gem, bool kvmap) > { > @@ -268,7 +268,7 @@ struct exynos_drm_gem *exynos_drm_gem_get(struct drm_file *filp, > } > > static int exynos_drm_gem_mmap_buffer(struct exynos_drm_gem *exynos_gem, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct drm_device *drm_dev = exynos_gem->base.dev; > unsigned long vm_size; > @@ -360,7 +360,7 @@ int exynos_drm_gem_dumb_create(struct drm_file *file_priv, > return 0; > } > > -static int exynos_drm_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int exynos_drm_gem_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct exynos_drm_gem *exynos_gem = to_exynos_gem(obj); > int ret; > diff --git a/drivers/gpu/drm/gma500/fbdev.c b/drivers/gpu/drm/gma500/fbdev.c > index 8edefea2ef59..57ff0f19937d 100644 > --- a/drivers/gpu/drm/gma500/fbdev.c > +++ b/drivers/gpu/drm/gma500/fbdev.c > @@ -22,7 +22,7 @@ > > static vm_fault_t psb_fbdev_vm_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct fb_info *info = vma->vm_private_data; > unsigned long address = vmf->address - (vmf->pgoff << PAGE_SHIFT); > unsigned long pfn = info->fix.smem_start >> PAGE_SHIFT; > @@ -93,7 +93,7 @@ static int psb_fbdev_fb_setcolreg(unsigned int regno, > return 0; > } > > -static int psb_fbdev_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int psb_fbdev_fb_mmap(struct fb_info *info, struct mm_area *vma) > { > if (vma->vm_pgoff != 0) > return -EINVAL; > diff --git a/drivers/gpu/drm/gma500/gem.c b/drivers/gpu/drm/gma500/gem.c > index 4b7627a72637..b458c86773dd 100644 > --- a/drivers/gpu/drm/gma500/gem.c > +++ b/drivers/gpu/drm/gma500/gem.c > @@ -253,7 +253,7 @@ int psb_gem_dumb_create(struct drm_file *file, struct drm_device *dev, > */ > static vm_fault_t psb_gem_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct drm_gem_object *obj; > struct psb_gem_object *pobj; > int err; > diff --git a/drivers/gpu/drm/i915/display/intel_bo.c b/drivers/gpu/drm/i915/display/intel_bo.c > index fbd16d7b58d9..b193ee0f7171 100644 > --- a/drivers/gpu/drm/i915/display/intel_bo.c > +++ b/drivers/gpu/drm/i915/display/intel_bo.c > @@ -32,7 +32,7 @@ void intel_bo_flush_if_display(struct drm_gem_object *obj) > i915_gem_object_flush_if_display(to_intel_bo(obj)); > } > > -int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +int intel_bo_fb_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > return i915_gem_fb_mmap(to_intel_bo(obj), vma); > } > diff --git a/drivers/gpu/drm/i915/display/intel_bo.h b/drivers/gpu/drm/i915/display/intel_bo.h > index ea7a2253aaa5..38f3518bb80f 100644 > --- a/drivers/gpu/drm/i915/display/intel_bo.h > +++ b/drivers/gpu/drm/i915/display/intel_bo.h > @@ -8,14 +8,14 @@ > > struct drm_gem_object; > struct seq_file; > -struct vm_area_struct; > +struct mm_area; > > bool intel_bo_is_tiled(struct drm_gem_object *obj); > bool intel_bo_is_userptr(struct drm_gem_object *obj); > bool intel_bo_is_shmem(struct drm_gem_object *obj); > bool intel_bo_is_protected(struct drm_gem_object *obj); > void intel_bo_flush_if_display(struct drm_gem_object *obj); > -int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma); > +int intel_bo_fb_mmap(struct drm_gem_object *obj, struct mm_area *vma); > int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size); > > struct intel_frontbuffer *intel_bo_get_frontbuffer(struct drm_gem_object *obj); > diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c > index adc19d5607de..69ade9a6ca90 100644 > --- a/drivers/gpu/drm/i915/display/intel_fbdev.c > +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c > @@ -121,7 +121,7 @@ static int intel_fbdev_pan_display(struct fb_var_screeninfo *var, > return ret; > } > > -static int intel_fbdev_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int intel_fbdev_mmap(struct fb_info *info, struct mm_area *vma) > { > struct drm_fb_helper *fb_helper = info->par; > struct drm_gem_object *obj = drm_gem_fb_get_obj(fb_helper->fb, 0); > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c > index 9473050ac842..2caf031bfbc1 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c > @@ -91,7 +91,7 @@ static void i915_gem_dmabuf_vunmap(struct dma_buf *dma_buf, > i915_gem_object_unpin_map(obj); > } > > -static int i915_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct vm_area_struct *vma) > +static int i915_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct mm_area *vma) > { > struct drm_i915_gem_object *obj = dma_buf_to_obj(dma_buf); > struct drm_i915_private *i915 = to_i915(obj->base.dev); > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c > index c3dabb857960..9fcb86c991fd 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c > @@ -27,7 +27,7 @@ > #include "i915_vma.h" > > static inline bool > -__vma_matches(struct vm_area_struct *vma, struct file *filp, > +__vma_matches(struct mm_area *vma, struct file *filp, > unsigned long addr, unsigned long size) > { > if (vma->vm_file != filp) > @@ -104,7 +104,7 @@ i915_gem_mmap_ioctl(struct drm_device *dev, void *data, > > if (args->flags & I915_MMAP_WC) { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > if (mmap_write_lock_killable(mm)) { > addr = -EINTR; > @@ -252,7 +252,7 @@ static vm_fault_t i915_error_to_vmf_fault(int err) > > static vm_fault_t vm_fault_cpu(struct vm_fault *vmf) > { > - struct vm_area_struct *area = vmf->vma; > + struct mm_area *area = vmf->vma; > struct i915_mmap_offset *mmo = area->vm_private_data; > struct drm_i915_gem_object *obj = mmo->obj; > unsigned long obj_offset; > @@ -295,7 +295,7 @@ static vm_fault_t vm_fault_cpu(struct vm_fault *vmf) > return i915_error_to_vmf_fault(err); > } > > -static void set_address_limits(struct vm_area_struct *area, > +static void set_address_limits(struct mm_area *area, > struct i915_vma *vma, > unsigned long obj_offset, > resource_size_t gmadr_start, > @@ -339,7 +339,7 @@ static void set_address_limits(struct vm_area_struct *area, > static vm_fault_t vm_fault_gtt(struct vm_fault *vmf) > { > #define MIN_CHUNK_PAGES (SZ_1M >> PAGE_SHIFT) > - struct vm_area_struct *area = vmf->vma; > + struct mm_area *area = vmf->vma; > struct i915_mmap_offset *mmo = area->vm_private_data; > struct drm_i915_gem_object *obj = mmo->obj; > struct drm_device *dev = obj->base.dev; > @@ -506,7 +506,7 @@ static vm_fault_t vm_fault_gtt(struct vm_fault *vmf) > } > > static int > -vm_access(struct vm_area_struct *area, unsigned long addr, > +vm_access(struct mm_area *area, unsigned long addr, > void *buf, int len, int write) > { > struct i915_mmap_offset *mmo = area->vm_private_data; > @@ -919,7 +919,7 @@ i915_gem_mmap_offset_ioctl(struct drm_device *dev, void *data, > return __assign_mmap_offset_handle(file, args->handle, type, &args->offset); > } > > -static void vm_open(struct vm_area_struct *vma) > +static void vm_open(struct mm_area *vma) > { > struct i915_mmap_offset *mmo = vma->vm_private_data; > struct drm_i915_gem_object *obj = mmo->obj; > @@ -928,7 +928,7 @@ static void vm_open(struct vm_area_struct *vma) > i915_gem_object_get(obj); > } > > -static void vm_close(struct vm_area_struct *vma) > +static void vm_close(struct mm_area *vma) > { > struct i915_mmap_offset *mmo = vma->vm_private_data; > struct drm_i915_gem_object *obj = mmo->obj; > @@ -990,7 +990,7 @@ static struct file *mmap_singleton(struct drm_i915_private *i915) > static int > i915_gem_object_mmap(struct drm_i915_gem_object *obj, > struct i915_mmap_offset *mmo, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct drm_i915_private *i915 = to_i915(obj->base.dev); > struct drm_device *dev = &i915->drm; > @@ -1071,7 +1071,7 @@ i915_gem_object_mmap(struct drm_i915_gem_object *obj, > * be able to resolve multiple mmap offsets which could be tied > * to a single gem object. > */ > -int i915_gem_mmap(struct file *filp, struct vm_area_struct *vma) > +int i915_gem_mmap(struct file *filp, struct mm_area *vma) > { > struct drm_vma_offset_node *node; > struct drm_file *priv = filp->private_data; > @@ -1114,7 +1114,7 @@ int i915_gem_mmap(struct file *filp, struct vm_area_struct *vma) > return i915_gem_object_mmap(obj, mmo, vma); > } > > -int i915_gem_fb_mmap(struct drm_i915_gem_object *obj, struct vm_area_struct *vma) > +int i915_gem_fb_mmap(struct drm_i915_gem_object *obj, struct mm_area *vma) > { > struct drm_i915_private *i915 = to_i915(obj->base.dev); > struct drm_device *dev = &i915->drm; > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.h b/drivers/gpu/drm/i915/gem/i915_gem_mman.h > index 196417fd0f5c..5e6faa37dbc2 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.h > +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.h > @@ -18,7 +18,7 @@ struct i915_mmap_offset; > struct mutex; > > int i915_gem_mmap_gtt_version(void); > -int i915_gem_mmap(struct file *filp, struct vm_area_struct *vma); > +int i915_gem_mmap(struct file *filp, struct mm_area *vma); > > int i915_gem_dumb_mmap_offset(struct drm_file *file_priv, > struct drm_device *dev, > @@ -29,5 +29,5 @@ void i915_gem_object_release_mmap_gtt(struct drm_i915_gem_object *obj); > > void i915_gem_object_runtime_pm_release_mmap_offset(struct drm_i915_gem_object *obj); > void i915_gem_object_release_mmap_offset(struct drm_i915_gem_object *obj); > -int i915_gem_fb_mmap(struct drm_i915_gem_object *obj, struct vm_area_struct *vma); > +int i915_gem_fb_mmap(struct drm_i915_gem_object *obj, struct mm_area *vma); > #endif > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > index 1f4814968868..b65ee3c4c4fc 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > @@ -1034,7 +1034,7 @@ static void i915_ttm_delayed_free(struct drm_i915_gem_object *obj) > > static vm_fault_t vm_fault_ttm(struct vm_fault *vmf) > { > - struct vm_area_struct *area = vmf->vma; > + struct mm_area *area = vmf->vma; > struct ttm_buffer_object *bo = area->vm_private_data; > struct drm_device *dev = bo->base.dev; > struct drm_i915_gem_object *obj = i915_ttm_to_gem(bo); > @@ -1147,7 +1147,7 @@ static vm_fault_t vm_fault_ttm(struct vm_fault *vmf) > } > > static int > -vm_access_ttm(struct vm_area_struct *area, unsigned long addr, > +vm_access_ttm(struct mm_area *area, unsigned long addr, > void *buf, int len, int write) > { > struct drm_i915_gem_object *obj = > @@ -1159,7 +1159,7 @@ vm_access_ttm(struct vm_area_struct *area, unsigned long addr, > return ttm_bo_vm_access(area, addr, buf, len, write); > } > > -static void ttm_vm_open(struct vm_area_struct *vma) > +static void ttm_vm_open(struct mm_area *vma) > { > struct drm_i915_gem_object *obj = > i915_ttm_to_gem(vma->vm_private_data); > @@ -1168,7 +1168,7 @@ static void ttm_vm_open(struct vm_area_struct *vma) > i915_gem_object_get(obj); > } > > -static void ttm_vm_close(struct vm_area_struct *vma) > +static void ttm_vm_close(struct mm_area *vma) > { > struct drm_i915_gem_object *obj = > i915_ttm_to_gem(vma->vm_private_data); > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c > index 09b68713ab32..a3badd817b6b 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c > @@ -401,7 +401,7 @@ static int > probe_range(struct mm_struct *mm, unsigned long addr, unsigned long len) > { > VMA_ITERATOR(vmi, mm, addr); > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long end = addr + len; > > mmap_read_lock(mm); > diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > index 804f74084bd4..c0a2c9bed6da 100644 > --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > @@ -896,7 +896,7 @@ static int __igt_mmap(struct drm_i915_private *i915, > struct drm_i915_gem_object *obj, > enum i915_mmap_type type) > { > - struct vm_area_struct *area; > + struct mm_area *area; > unsigned long addr; > int err, i; > u64 offset; > @@ -924,7 +924,7 @@ static int __igt_mmap(struct drm_i915_private *i915, > area = vma_lookup(current->mm, addr); > mmap_read_unlock(current->mm); > if (!area) { > - pr_err("%s: Did not create a vm_area_struct for the mmap\n", > + pr_err("%s: Did not create a mm_area for the mmap\n", > obj->mm.region->name); > err = -EINVAL; > goto out_unmap; > @@ -1096,7 +1096,7 @@ static int ___igt_mmap_migrate(struct drm_i915_private *i915, > unsigned long addr, > bool unfaultable) > { > - struct vm_area_struct *area; > + struct mm_area *area; > int err = 0, i; > > pr_info("igt_mmap(%s, %d) @ %lx\n", > @@ -1106,7 +1106,7 @@ static int ___igt_mmap_migrate(struct drm_i915_private *i915, > area = vma_lookup(current->mm, addr); > mmap_read_unlock(current->mm); > if (!area) { > - pr_err("%s: Did not create a vm_area_struct for the mmap\n", > + pr_err("%s: Did not create a mm_area for the mmap\n", > obj->mm.region->name); > err = -EINVAL; > goto out_unmap; > diff --git a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c > index 5cd58e0f0dcf..11140801f804 100644 > --- a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c > +++ b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c > @@ -82,7 +82,7 @@ static void mock_dmabuf_vunmap(struct dma_buf *dma_buf, struct iosys_map *map) > vm_unmap_ram(map->vaddr, mock->npages); > } > > -static int mock_dmabuf_mmap(struct dma_buf *dma_buf, struct vm_area_struct *vma) > +static int mock_dmabuf_mmap(struct dma_buf *dma_buf, struct mm_area *vma) > { > return -ENODEV; > } > diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c > index 69830a5c49d3..8f4cc972a94c 100644 > --- a/drivers/gpu/drm/i915/gvt/kvmgt.c > +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c > @@ -1011,7 +1011,7 @@ static ssize_t intel_vgpu_write(struct vfio_device *vfio_dev, > } > > static int intel_vgpu_mmap(struct vfio_device *vfio_dev, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct intel_vgpu *vgpu = vfio_dev_to_vgpu(vfio_dev); > unsigned int index; > diff --git a/drivers/gpu/drm/i915/i915_mm.c b/drivers/gpu/drm/i915/i915_mm.c > index 76e2801619f0..d92cf85a65cf 100644 > --- a/drivers/gpu/drm/i915/i915_mm.c > +++ b/drivers/gpu/drm/i915/i915_mm.c > @@ -91,7 +91,7 @@ static int remap_pfn(pte_t *pte, unsigned long addr, void *data) > * > * Note: this is only safe if the mm semaphore is held when called. > */ > -int remap_io_mapping(struct vm_area_struct *vma, > +int remap_io_mapping(struct mm_area *vma, > unsigned long addr, unsigned long pfn, unsigned long size, > struct io_mapping *iomap) > { > @@ -127,7 +127,7 @@ int remap_io_mapping(struct vm_area_struct *vma, > * > * Note: this is only safe if the mm semaphore is held when called. > */ > -int remap_io_sg(struct vm_area_struct *vma, > +int remap_io_sg(struct mm_area *vma, > unsigned long addr, unsigned long size, > struct scatterlist *sgl, unsigned long offset, > resource_size_t iobase) > diff --git a/drivers/gpu/drm/i915/i915_mm.h b/drivers/gpu/drm/i915/i915_mm.h > index 69f9351b1a1c..0ba12093b9ed 100644 > --- a/drivers/gpu/drm/i915/i915_mm.h > +++ b/drivers/gpu/drm/i915/i915_mm.h > @@ -9,17 +9,17 @@ > #include > #include > > -struct vm_area_struct; > +struct mm_area; > struct io_mapping; > struct scatterlist; > > #if IS_ENABLED(CONFIG_X86) > -int remap_io_mapping(struct vm_area_struct *vma, > +int remap_io_mapping(struct mm_area *vma, > unsigned long addr, unsigned long pfn, unsigned long size, > struct io_mapping *iomap); > #else > static inline > -int remap_io_mapping(struct vm_area_struct *vma, > +int remap_io_mapping(struct mm_area *vma, > unsigned long addr, unsigned long pfn, unsigned long size, > struct io_mapping *iomap) > { > @@ -28,7 +28,7 @@ int remap_io_mapping(struct vm_area_struct *vma, > } > #endif > > -int remap_io_sg(struct vm_area_struct *vma, > +int remap_io_sg(struct mm_area *vma, > unsigned long addr, unsigned long size, > struct scatterlist *sgl, unsigned long offset, > resource_size_t iobase); > diff --git a/drivers/gpu/drm/imagination/pvr_gem.c b/drivers/gpu/drm/imagination/pvr_gem.c > index 6a8c81fe8c1e..b89482468e95 100644 > --- a/drivers/gpu/drm/imagination/pvr_gem.c > +++ b/drivers/gpu/drm/imagination/pvr_gem.c > @@ -27,7 +27,7 @@ static void pvr_gem_object_free(struct drm_gem_object *obj) > drm_gem_shmem_object_free(obj); > } > > -static int pvr_gem_mmap(struct drm_gem_object *gem_obj, struct vm_area_struct *vma) > +static int pvr_gem_mmap(struct drm_gem_object *gem_obj, struct mm_area *vma) > { > struct pvr_gem_object *pvr_obj = gem_to_pvr_gem(gem_obj); > struct drm_gem_shmem_object *shmem_obj = shmem_gem_from_pvr_gem(pvr_obj); > diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c > index 9bb997dbb4b9..236327d428cd 100644 > --- a/drivers/gpu/drm/lima/lima_gem.c > +++ b/drivers/gpu/drm/lima/lima_gem.c > @@ -198,7 +198,7 @@ static int lima_gem_vmap(struct drm_gem_object *obj, struct iosys_map *map) > return drm_gem_shmem_vmap(&bo->base, map); > } > > -static int lima_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int lima_gem_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct lima_bo *bo = to_lima_bo(obj); > > diff --git a/drivers/gpu/drm/lima/lima_gem.h b/drivers/gpu/drm/lima/lima_gem.h > index ccea06142f4b..2dc229d7a747 100644 > --- a/drivers/gpu/drm/lima/lima_gem.h > +++ b/drivers/gpu/drm/lima/lima_gem.h > @@ -42,6 +42,6 @@ int lima_gem_get_info(struct drm_file *file, u32 handle, u32 *va, u64 *offset); > int lima_gem_submit(struct drm_file *file, struct lima_submit *submit); > int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns); > > -void lima_set_vma_flags(struct vm_area_struct *vma); > +void lima_set_vma_flags(struct mm_area *vma); > > #endif > diff --git a/drivers/gpu/drm/loongson/lsdc_gem.c b/drivers/gpu/drm/loongson/lsdc_gem.c > index a720d8f53209..21d13a9acde5 100644 > --- a/drivers/gpu/drm/loongson/lsdc_gem.c > +++ b/drivers/gpu/drm/loongson/lsdc_gem.c > @@ -110,7 +110,7 @@ static void lsdc_gem_object_vunmap(struct drm_gem_object *obj, struct iosys_map > } > } > > -static int lsdc_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int lsdc_gem_object_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct ttm_buffer_object *tbo = to_ttm_bo(obj); > int ret; > diff --git a/drivers/gpu/drm/mediatek/mtk_gem.c b/drivers/gpu/drm/mediatek/mtk_gem.c > index a172456d1d7b..254a991e94b2 100644 > --- a/drivers/gpu/drm/mediatek/mtk_gem.c > +++ b/drivers/gpu/drm/mediatek/mtk_gem.c > @@ -15,7 +15,7 @@ > #include "mtk_drm_drv.h" > #include "mtk_gem.h" > > -static int mtk_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma); > +static int mtk_gem_object_mmap(struct drm_gem_object *obj, struct mm_area *vma); > > static const struct vm_operations_struct vm_ops = { > .open = drm_gem_vm_open, > @@ -157,7 +157,7 @@ int mtk_gem_dumb_create(struct drm_file *file_priv, struct drm_device *dev, > } > > static int mtk_gem_object_mmap(struct drm_gem_object *obj, > - struct vm_area_struct *vma) > + struct mm_area *vma) > > { > int ret; > diff --git a/drivers/gpu/drm/msm/msm_fbdev.c b/drivers/gpu/drm/msm/msm_fbdev.c > index c62249b1ab3d..058585d17be3 100644 > --- a/drivers/gpu/drm/msm/msm_fbdev.c > +++ b/drivers/gpu/drm/msm/msm_fbdev.c > @@ -29,7 +29,7 @@ FB_GEN_DEFAULT_DEFERRED_SYSMEM_OPS(msm_fbdev, > drm_fb_helper_damage_range, > drm_fb_helper_damage_area) > > -static int msm_fbdev_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int msm_fbdev_mmap(struct fb_info *info, struct mm_area *vma) > { > struct drm_fb_helper *helper = (struct drm_fb_helper *)info->par; > struct drm_gem_object *bo = msm_framebuffer_bo(helper->fb, 0); > diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c > index ebc9ba66efb8..4564662c845c 100644 > --- a/drivers/gpu/drm/msm/msm_gem.c > +++ b/drivers/gpu/drm/msm/msm_gem.c > @@ -321,7 +321,7 @@ static pgprot_t msm_gem_pgprot(struct msm_gem_object *msm_obj, pgprot_t prot) > > static vm_fault_t msm_gem_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct drm_gem_object *obj = vma->vm_private_data; > struct msm_gem_object *msm_obj = to_msm_bo(obj); > struct page **pages; > @@ -1097,7 +1097,7 @@ static void msm_gem_free_object(struct drm_gem_object *obj) > kfree(msm_obj); > } > > -static int msm_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int msm_gem_object_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct msm_gem_object *msm_obj = to_msm_bo(obj); > > diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c > index 61d0f411ef84..4dd166e36cfe 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_dmem.c > +++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c > @@ -691,7 +691,7 @@ static void nouveau_dmem_migrate_chunk(struct nouveau_drm *drm, > int > nouveau_dmem_migrate_vma(struct nouveau_drm *drm, > struct nouveau_svmm *svmm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long start, > unsigned long end) > { > diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.h b/drivers/gpu/drm/nouveau/nouveau_dmem.h > index 64da5d3635c8..c52336b7729f 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_dmem.h > +++ b/drivers/gpu/drm/nouveau/nouveau_dmem.h > @@ -36,7 +36,7 @@ void nouveau_dmem_resume(struct nouveau_drm *); > > int nouveau_dmem_migrate_vma(struct nouveau_drm *drm, > struct nouveau_svmm *svmm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long start, > unsigned long end); > unsigned long nouveau_dmem_page_addr(struct page *page); > diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c > index 67e3c99de73a..db3fe08c1ee6 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_gem.c > +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c > @@ -41,7 +41,7 @@ > > static vm_fault_t nouveau_ttm_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct ttm_buffer_object *bo = vma->vm_private_data; > pgprot_t prot; > vm_fault_t ret; > diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c > index e12e2596ed84..43e5f70f664e 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_svm.c > +++ b/drivers/gpu/drm/nouveau/nouveau_svm.c > @@ -173,7 +173,7 @@ nouveau_svmm_bind(struct drm_device *dev, void *data, > } > > for (addr = args->va_start, end = args->va_end; addr < end;) { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long next; > > vma = find_vma_intersection(mm, addr, end); > diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c b/drivers/gpu/drm/omapdrm/omap_fbdev.c > index 7b6396890681..5a1818a59244 100644 > --- a/drivers/gpu/drm/omapdrm/omap_fbdev.c > +++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c > @@ -81,7 +81,7 @@ static int omap_fbdev_pan_display(struct fb_var_screeninfo *var, struct fb_info > return drm_fb_helper_pan_display(var, fbi); > } > > -static int omap_fbdev_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int omap_fbdev_fb_mmap(struct fb_info *info, struct mm_area *vma) > { > vma->vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma->vm_flags)); > > diff --git a/drivers/gpu/drm/omapdrm/omap_gem.c b/drivers/gpu/drm/omapdrm/omap_gem.c > index b9c67e4ca360..cbbdaf381ad3 100644 > --- a/drivers/gpu/drm/omapdrm/omap_gem.c > +++ b/drivers/gpu/drm/omapdrm/omap_gem.c > @@ -351,7 +351,7 @@ size_t omap_gem_mmap_size(struct drm_gem_object *obj) > > /* Normal handling for the case of faulting in non-tiled buffers */ > static vm_fault_t omap_gem_fault_1d(struct drm_gem_object *obj, > - struct vm_area_struct *vma, struct vm_fault *vmf) > + struct mm_area *vma, struct vm_fault *vmf) > { > struct omap_gem_object *omap_obj = to_omap_bo(obj); > unsigned long pfn; > @@ -377,7 +377,7 @@ static vm_fault_t omap_gem_fault_1d(struct drm_gem_object *obj, > > /* Special handling for the case of faulting in 2d tiled buffers */ > static vm_fault_t omap_gem_fault_2d(struct drm_gem_object *obj, > - struct vm_area_struct *vma, struct vm_fault *vmf) > + struct mm_area *vma, struct vm_fault *vmf) > { > struct omap_gem_object *omap_obj = to_omap_bo(obj); > struct omap_drm_private *priv = obj->dev->dev_private; > @@ -496,7 +496,7 @@ static vm_fault_t omap_gem_fault_2d(struct drm_gem_object *obj, > */ > static vm_fault_t omap_gem_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct drm_gem_object *obj = vma->vm_private_data; > struct omap_gem_object *omap_obj = to_omap_bo(obj); > int err; > @@ -531,7 +531,7 @@ static vm_fault_t omap_gem_fault(struct vm_fault *vmf) > return ret; > } > > -static int omap_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int omap_gem_object_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct omap_gem_object *omap_obj = to_omap_bo(obj); > > diff --git a/drivers/gpu/drm/omapdrm/omap_gem.h b/drivers/gpu/drm/omapdrm/omap_gem.h > index fec3fa0e4c33..d28793a23d46 100644 > --- a/drivers/gpu/drm/omapdrm/omap_gem.h > +++ b/drivers/gpu/drm/omapdrm/omap_gem.h > @@ -23,7 +23,7 @@ struct file; > struct list_head; > struct page; > struct seq_file; > -struct vm_area_struct; > +struct mm_area; > struct vm_fault; > > union omap_gem_size; > diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c > index 30cf1cdc1aa3..64d9520d20c0 100644 > --- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c > +++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c > @@ -61,7 +61,7 @@ static int omap_gem_dmabuf_end_cpu_access(struct dma_buf *buffer, > } > > static int omap_gem_dmabuf_mmap(struct dma_buf *buffer, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct drm_gem_object *obj = buffer->priv; > > diff --git a/drivers/gpu/drm/panthor/panthor_device.c b/drivers/gpu/drm/panthor/panthor_device.c > index a9da1d1eeb70..c3092cf8f280 100644 > --- a/drivers/gpu/drm/panthor/panthor_device.c > +++ b/drivers/gpu/drm/panthor/panthor_device.c > @@ -359,7 +359,7 @@ const char *panthor_exception_name(struct panthor_device *ptdev, u32 exception_c > > static vm_fault_t panthor_mmio_vm_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct panthor_device *ptdev = vma->vm_private_data; > u64 offset = (u64)vma->vm_pgoff << PAGE_SHIFT; > unsigned long pfn; > @@ -403,7 +403,7 @@ static const struct vm_operations_struct panthor_mmio_vm_ops = { > .fault = panthor_mmio_vm_fault, > }; > > -int panthor_device_mmap_io(struct panthor_device *ptdev, struct vm_area_struct *vma) > +int panthor_device_mmap_io(struct panthor_device *ptdev, struct mm_area *vma) > { > u64 offset = (u64)vma->vm_pgoff << PAGE_SHIFT; > > diff --git a/drivers/gpu/drm/panthor/panthor_device.h b/drivers/gpu/drm/panthor/panthor_device.h > index da6574021664..a3205e6b0518 100644 > --- a/drivers/gpu/drm/panthor/panthor_device.h > +++ b/drivers/gpu/drm/panthor/panthor_device.h > @@ -253,7 +253,7 @@ static inline bool panthor_device_reset_is_pending(struct panthor_device *ptdev) > } > > int panthor_device_mmap_io(struct panthor_device *ptdev, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > int panthor_device_resume(struct device *dev); > int panthor_device_suspend(struct device *dev); > diff --git a/drivers/gpu/drm/panthor/panthor_drv.c b/drivers/gpu/drm/panthor/panthor_drv.c > index 06fe46e32073..3fca24a494d4 100644 > --- a/drivers/gpu/drm/panthor/panthor_drv.c > +++ b/drivers/gpu/drm/panthor/panthor_drv.c > @@ -1402,7 +1402,7 @@ static const struct drm_ioctl_desc panthor_drm_driver_ioctls[] = { > PANTHOR_IOCTL(GROUP_SUBMIT, group_submit, DRM_RENDER_ALLOW), > }; > > -static int panthor_mmap(struct file *filp, struct vm_area_struct *vma) > +static int panthor_mmap(struct file *filp, struct mm_area *vma) > { > struct drm_file *file = filp->private_data; > struct panthor_file *pfile = file->driver_priv; > diff --git a/drivers/gpu/drm/panthor/panthor_gem.c b/drivers/gpu/drm/panthor/panthor_gem.c > index 8244a4e6c2a2..a323f6580f9c 100644 > --- a/drivers/gpu/drm/panthor/panthor_gem.c > +++ b/drivers/gpu/drm/panthor/panthor_gem.c > @@ -129,7 +129,7 @@ panthor_kernel_bo_create(struct panthor_device *ptdev, struct panthor_vm *vm, > return ERR_PTR(ret); > } > > -static int panthor_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int panthor_gem_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct panthor_gem_object *bo = to_panthor_bo(obj); > > diff --git a/drivers/gpu/drm/radeon/radeon_gem.c b/drivers/gpu/drm/radeon/radeon_gem.c > index f86773f3db20..83230ce4e4f3 100644 > --- a/drivers/gpu/drm/radeon/radeon_gem.c > +++ b/drivers/gpu/drm/radeon/radeon_gem.c > @@ -263,7 +263,7 @@ static int radeon_gem_handle_lockup(struct radeon_device *rdev, int r) > return r; > } > > -static int radeon_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int radeon_gem_object_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct radeon_bo *bo = gem_to_radeon_bo(obj); > struct radeon_device *rdev = radeon_get_rdev(bo->tbo.bdev); > diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c > index 616d25c8c2de..a9007d171911 100644 > --- a/drivers/gpu/drm/radeon/radeon_ttm.c > +++ b/drivers/gpu/drm/radeon/radeon_ttm.c > @@ -338,7 +338,7 @@ static int radeon_ttm_tt_pin_userptr(struct ttm_device *bdev, struct ttm_tt *ttm > /* check that we only pin down anonymous memory > to prevent problems with writeback */ > unsigned long end = gtt->userptr + (u64)ttm->num_pages * PAGE_SIZE; > - struct vm_area_struct *vma; > + struct mm_area *vma; > vma = find_vma(gtt->usermm, gtt->userptr); > if (!vma || vma->vm_file || vma->vm_end < end) > return -EPERM; > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > index 6330b883efc3..f35e43ef35c0 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > @@ -213,7 +213,7 @@ static void rockchip_gem_free_buf(struct rockchip_gem_object *rk_obj) > } > > static int rockchip_drm_gem_object_mmap_iommu(struct drm_gem_object *obj, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); > unsigned int count = obj->size >> PAGE_SHIFT; > @@ -226,7 +226,7 @@ static int rockchip_drm_gem_object_mmap_iommu(struct drm_gem_object *obj, > } > > static int rockchip_drm_gem_object_mmap_dma(struct drm_gem_object *obj, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); > struct drm_device *drm = obj->dev; > @@ -236,7 +236,7 @@ static int rockchip_drm_gem_object_mmap_dma(struct drm_gem_object *obj, > } > > static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > int ret; > struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); > diff --git a/drivers/gpu/drm/tegra/fbdev.c b/drivers/gpu/drm/tegra/fbdev.c > index cd9d798f8870..bb7d18a7ee7c 100644 > --- a/drivers/gpu/drm/tegra/fbdev.c > +++ b/drivers/gpu/drm/tegra/fbdev.c > @@ -22,7 +22,7 @@ > #include "drm.h" > #include "gem.h" > > -static int tegra_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int tegra_fb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct drm_fb_helper *helper = info->par; > struct tegra_bo *bo; > diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c > index ace3e5a805cf..8c8233eeeaf9 100644 > --- a/drivers/gpu/drm/tegra/gem.c > +++ b/drivers/gpu/drm/tegra/gem.c > @@ -560,7 +560,7 @@ int tegra_bo_dumb_create(struct drm_file *file, struct drm_device *drm, > > static vm_fault_t tegra_bo_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct drm_gem_object *gem = vma->vm_private_data; > struct tegra_bo *bo = to_tegra_bo(gem); > struct page *page; > @@ -581,7 +581,7 @@ const struct vm_operations_struct tegra_bo_vm_ops = { > .close = drm_gem_vm_close, > }; > > -int __tegra_gem_mmap(struct drm_gem_object *gem, struct vm_area_struct *vma) > +int __tegra_gem_mmap(struct drm_gem_object *gem, struct mm_area *vma) > { > struct tegra_bo *bo = to_tegra_bo(gem); > > @@ -616,7 +616,7 @@ int __tegra_gem_mmap(struct drm_gem_object *gem, struct vm_area_struct *vma) > return 0; > } > > -int tegra_drm_mmap(struct file *file, struct vm_area_struct *vma) > +int tegra_drm_mmap(struct file *file, struct mm_area *vma) > { > struct drm_gem_object *gem; > int err; > @@ -708,7 +708,7 @@ static int tegra_gem_prime_end_cpu_access(struct dma_buf *buf, > return 0; > } > > -static int tegra_gem_prime_mmap(struct dma_buf *buf, struct vm_area_struct *vma) > +static int tegra_gem_prime_mmap(struct dma_buf *buf, struct mm_area *vma) > { > struct drm_gem_object *gem = buf->priv; > int err; > diff --git a/drivers/gpu/drm/tegra/gem.h b/drivers/gpu/drm/tegra/gem.h > index bf2cbd48eb3f..ca8e8a5e3335 100644 > --- a/drivers/gpu/drm/tegra/gem.h > +++ b/drivers/gpu/drm/tegra/gem.h > @@ -93,8 +93,8 @@ int tegra_bo_dumb_create(struct drm_file *file, struct drm_device *drm, > > extern const struct vm_operations_struct tegra_bo_vm_ops; > > -int __tegra_gem_mmap(struct drm_gem_object *gem, struct vm_area_struct *vma); > -int tegra_drm_mmap(struct file *file, struct vm_area_struct *vma); > +int __tegra_gem_mmap(struct drm_gem_object *gem, struct mm_area *vma); > +int tegra_drm_mmap(struct file *file, struct mm_area *vma); > > struct dma_buf *tegra_gem_prime_export(struct drm_gem_object *gem, > int flags); > diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c > index a194db83421d..4139e029b35f 100644 > --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c > +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c > @@ -182,7 +182,7 @@ vm_fault_t ttm_bo_vm_fault_reserved(struct vm_fault *vmf, > pgprot_t prot, > pgoff_t num_prefault) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct ttm_buffer_object *bo = vma->vm_private_data; > struct ttm_device *bdev = bo->bdev; > unsigned long page_offset; > @@ -290,7 +290,7 @@ static void ttm_bo_release_dummy_page(struct drm_device *dev, void *res) > > vm_fault_t ttm_bo_vm_dummy_page(struct vm_fault *vmf, pgprot_t prot) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct ttm_buffer_object *bo = vma->vm_private_data; > struct drm_device *ddev = bo->base.dev; > vm_fault_t ret = VM_FAULT_NOPAGE; > @@ -320,7 +320,7 @@ EXPORT_SYMBOL(ttm_bo_vm_dummy_page); > > vm_fault_t ttm_bo_vm_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > pgprot_t prot; > struct ttm_buffer_object *bo = vma->vm_private_data; > struct drm_device *ddev = bo->base.dev; > @@ -347,7 +347,7 @@ vm_fault_t ttm_bo_vm_fault(struct vm_fault *vmf) > } > EXPORT_SYMBOL(ttm_bo_vm_fault); > > -void ttm_bo_vm_open(struct vm_area_struct *vma) > +void ttm_bo_vm_open(struct mm_area *vma) > { > struct ttm_buffer_object *bo = vma->vm_private_data; > > @@ -357,7 +357,7 @@ void ttm_bo_vm_open(struct vm_area_struct *vma) > } > EXPORT_SYMBOL(ttm_bo_vm_open); > > -void ttm_bo_vm_close(struct vm_area_struct *vma) > +void ttm_bo_vm_close(struct mm_area *vma) > { > struct ttm_buffer_object *bo = vma->vm_private_data; > > @@ -453,7 +453,7 @@ int ttm_bo_access(struct ttm_buffer_object *bo, unsigned long offset, > } > EXPORT_SYMBOL(ttm_bo_access); > > -int ttm_bo_vm_access(struct vm_area_struct *vma, unsigned long addr, > +int ttm_bo_vm_access(struct mm_area *vma, unsigned long addr, > void *buf, int len, int write) > { > struct ttm_buffer_object *bo = vma->vm_private_data; > @@ -480,7 +480,7 @@ static const struct vm_operations_struct ttm_bo_vm_ops = { > * > * Maps a buffer object. > */ > -int ttm_bo_mmap_obj(struct vm_area_struct *vma, struct ttm_buffer_object *bo) > +int ttm_bo_mmap_obj(struct mm_area *vma, struct ttm_buffer_object *bo) > { > /* Enforce no COW since would have really strange behavior with it. */ > if (is_cow_mapping(vma->vm_flags)) > diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c > index fb450b6a4d44..beedeaeecab4 100644 > --- a/drivers/gpu/drm/vc4/vc4_bo.c > +++ b/drivers/gpu/drm/vc4/vc4_bo.c > @@ -715,7 +715,7 @@ static struct dma_buf *vc4_prime_export(struct drm_gem_object *obj, int flags) > > static vm_fault_t vc4_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct drm_gem_object *obj = vma->vm_private_data; > struct vc4_bo *bo = to_vc4_bo(obj); > > @@ -729,7 +729,7 @@ static vm_fault_t vc4_fault(struct vm_fault *vmf) > return VM_FAULT_SIGBUS; > } > > -static int vc4_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int vc4_gem_object_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct vc4_bo *bo = to_vc4_bo(obj); > > diff --git a/drivers/gpu/drm/virtio/virtgpu_vram.c b/drivers/gpu/drm/virtio/virtgpu_vram.c > index 5ad3b7c6f73c..02a03a237fb5 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_vram.c > +++ b/drivers/gpu/drm/virtio/virtgpu_vram.c > @@ -30,7 +30,7 @@ static const struct vm_operations_struct virtio_gpu_vram_vm_ops = { > }; > > static int virtio_gpu_vram_mmap(struct drm_gem_object *obj, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > int ret; > struct virtio_gpu_device *vgdev = obj->dev->dev_private; > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c b/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c > index ed5015ced392..3d857670a3a1 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c > @@ -107,7 +107,7 @@ static void vmw_gem_vunmap(struct drm_gem_object *obj, struct iosys_map *map) > drm_gem_ttm_vunmap(obj, map); > } > > -static int vmw_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static int vmw_gem_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > int ret; > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c b/drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c > index 74ff2812d66a..38567fdf7163 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c > @@ -374,7 +374,7 @@ void vmw_bo_dirty_clear_res(struct vmw_resource *res) > > vm_fault_t vmw_bo_vm_mkwrite(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct ttm_buffer_object *bo = (struct ttm_buffer_object *) > vma->vm_private_data; > vm_fault_t ret; > @@ -415,7 +415,7 @@ vm_fault_t vmw_bo_vm_mkwrite(struct vm_fault *vmf) > > vm_fault_t vmw_bo_vm_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct ttm_buffer_object *bo = (struct ttm_buffer_object *) > vma->vm_private_data; > struct vmw_bo *vbo = to_vmw_bo(&bo->base); > diff --git a/drivers/gpu/drm/xe/display/intel_bo.c b/drivers/gpu/drm/xe/display/intel_bo.c > index 27437c22bd70..6e32ab48de68 100644 > --- a/drivers/gpu/drm/xe/display/intel_bo.c > +++ b/drivers/gpu/drm/xe/display/intel_bo.c > @@ -32,7 +32,7 @@ void intel_bo_flush_if_display(struct drm_gem_object *obj) > { > } > > -int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +int intel_bo_fb_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > return drm_gem_prime_mmap(obj, vma); > } > diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c > index 3c7c2353d3c8..20e08ee00eee 100644 > --- a/drivers/gpu/drm/xe/xe_bo.c > +++ b/drivers/gpu/drm/xe/xe_bo.c > @@ -1579,7 +1579,7 @@ static vm_fault_t xe_gem_fault(struct vm_fault *vmf) > return ret; > } > > -static int xe_bo_vm_access(struct vm_area_struct *vma, unsigned long addr, > +static int xe_bo_vm_access(struct mm_area *vma, unsigned long addr, > void *buf, int len, int write) > { > struct ttm_buffer_object *ttm_bo = vma->vm_private_data; > diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c > index d8e227ddf255..30a5eb67d7a1 100644 > --- a/drivers/gpu/drm/xe/xe_device.c > +++ b/drivers/gpu/drm/xe/xe_device.c > @@ -237,12 +237,12 @@ static long xe_drm_compat_ioctl(struct file *file, unsigned int cmd, unsigned lo > #define xe_drm_compat_ioctl NULL > #endif > > -static void barrier_open(struct vm_area_struct *vma) > +static void barrier_open(struct mm_area *vma) > { > drm_dev_get(vma->vm_private_data); > } > > -static void barrier_close(struct vm_area_struct *vma) > +static void barrier_close(struct mm_area *vma) > { > drm_dev_put(vma->vm_private_data); > } > @@ -257,7 +257,7 @@ static void barrier_release_dummy_page(struct drm_device *dev, void *res) > static vm_fault_t barrier_fault(struct vm_fault *vmf) > { > struct drm_device *dev = vmf->vma->vm_private_data; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > vm_fault_t ret = VM_FAULT_NOPAGE; > pgprot_t prot; > int idx; > @@ -299,7 +299,7 @@ static const struct vm_operations_struct vm_ops_barrier = { > }; > > static int xe_pci_barrier_mmap(struct file *filp, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct drm_file *priv = filp->private_data; > struct drm_device *dev = priv->minor->dev; > @@ -326,7 +326,7 @@ static int xe_pci_barrier_mmap(struct file *filp, > return 0; > } > > -static int xe_mmap(struct file *filp, struct vm_area_struct *vma) > +static int xe_mmap(struct file *filp, struct mm_area *vma) > { > struct drm_file *priv = filp->private_data; > struct drm_device *dev = priv->minor->dev; > diff --git a/drivers/gpu/drm/xe/xe_oa.c b/drivers/gpu/drm/xe/xe_oa.c > index 346f357b3d1f..d44ce76b3465 100644 > --- a/drivers/gpu/drm/xe/xe_oa.c > +++ b/drivers/gpu/drm/xe/xe_oa.c > @@ -1623,7 +1623,7 @@ static int xe_oa_release(struct inode *inode, struct file *file) > return 0; > } > > -static int xe_oa_mmap(struct file *file, struct vm_area_struct *vma) > +static int xe_oa_mmap(struct file *file, struct mm_area *vma) > { > struct xe_oa_stream *stream = file->private_data; > struct xe_bo *bo = stream->oa_buffer.bo; > diff --git a/drivers/gpu/drm/xen/xen_drm_front_gem.c b/drivers/gpu/drm/xen/xen_drm_front_gem.c > index 63112ed975c4..41449a270d89 100644 > --- a/drivers/gpu/drm/xen/xen_drm_front_gem.c > +++ b/drivers/gpu/drm/xen/xen_drm_front_gem.c > @@ -58,7 +58,7 @@ static void gem_free_pages_array(struct xen_gem_object *xen_obj) > } > > static int xen_drm_front_gem_object_mmap(struct drm_gem_object *gem_obj, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct xen_gem_object *xen_obj = to_xen_gem_obj(gem_obj); > int ret; > diff --git a/drivers/hsi/clients/cmt_speech.c b/drivers/hsi/clients/cmt_speech.c > index daa8e1bff5d9..ca6debea1173 100644 > --- a/drivers/hsi/clients/cmt_speech.c > +++ b/drivers/hsi/clients/cmt_speech.c > @@ -1256,7 +1256,7 @@ static long cs_char_ioctl(struct file *file, unsigned int cmd, > return r; > } > > -static int cs_char_mmap(struct file *file, struct vm_area_struct *vma) > +static int cs_char_mmap(struct file *file, struct mm_area *vma) > { > if (vma->vm_end < vma->vm_start) > return -EINVAL; > diff --git a/drivers/hv/mshv_root_main.c b/drivers/hv/mshv_root_main.c > index 72df774e410a..ac1e44563cbf 100644 > --- a/drivers/hv/mshv_root_main.c > +++ b/drivers/hv/mshv_root_main.c > @@ -75,7 +75,7 @@ static int mshv_vp_release(struct inode *inode, struct file *filp); > static long mshv_vp_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg); > static int mshv_partition_release(struct inode *inode, struct file *filp); > static long mshv_partition_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg); > -static int mshv_vp_mmap(struct file *file, struct vm_area_struct *vma); > +static int mshv_vp_mmap(struct file *file, struct mm_area *vma); > static vm_fault_t mshv_vp_fault(struct vm_fault *vmf); > static int mshv_init_async_handler(struct mshv_partition *partition); > static void mshv_async_hvcall_handler(void *data, u64 *status); > @@ -831,7 +831,7 @@ static vm_fault_t mshv_vp_fault(struct vm_fault *vmf) > return 0; > } > > -static int mshv_vp_mmap(struct file *file, struct vm_area_struct *vma) > +static int mshv_vp_mmap(struct file *file, struct mm_area *vma) > { > struct mshv_vp *vp = file->private_data; > > @@ -1332,7 +1332,7 @@ mshv_map_user_memory(struct mshv_partition *partition, > struct mshv_user_mem_region mem) > { > struct mshv_mem_region *region; > - struct vm_area_struct *vma; > + struct mm_area *vma; > bool is_mmio; > ulong mmio_pfn; > long ret; > diff --git a/drivers/hwtracing/intel_th/msu.c b/drivers/hwtracing/intel_th/msu.c > index bf99d79a4192..f51cbe4a8c55 100644 > --- a/drivers/hwtracing/intel_th/msu.c > +++ b/drivers/hwtracing/intel_th/msu.c > @@ -1589,7 +1589,7 @@ static ssize_t intel_th_msc_read(struct file *file, char __user *buf, > * vm operations callbacks (vm_ops) > */ > > -static void msc_mmap_open(struct vm_area_struct *vma) > +static void msc_mmap_open(struct mm_area *vma) > { > struct msc_iter *iter = vma->vm_file->private_data; > struct msc *msc = iter->msc; > @@ -1597,7 +1597,7 @@ static void msc_mmap_open(struct vm_area_struct *vma) > atomic_inc(&msc->mmap_count); > } > > -static void msc_mmap_close(struct vm_area_struct *vma) > +static void msc_mmap_close(struct mm_area *vma) > { > struct msc_iter *iter = vma->vm_file->private_data; > struct msc *msc = iter->msc; > @@ -1644,7 +1644,7 @@ static const struct vm_operations_struct msc_mmap_ops = { > .fault = msc_mmap_fault, > }; > > -static int intel_th_msc_mmap(struct file *file, struct vm_area_struct *vma) > +static int intel_th_msc_mmap(struct file *file, struct mm_area *vma) > { > unsigned long size = vma->vm_end - vma->vm_start; > struct msc_iter *iter = vma->vm_file->private_data; > diff --git a/drivers/hwtracing/stm/core.c b/drivers/hwtracing/stm/core.c > index cdba4e875b28..c27322d82289 100644 > --- a/drivers/hwtracing/stm/core.c > +++ b/drivers/hwtracing/stm/core.c > @@ -666,7 +666,7 @@ static ssize_t stm_char_write(struct file *file, const char __user *buf, > return count; > } > > -static void stm_mmap_open(struct vm_area_struct *vma) > +static void stm_mmap_open(struct mm_area *vma) > { > struct stm_file *stmf = vma->vm_file->private_data; > struct stm_device *stm = stmf->stm; > @@ -674,7 +674,7 @@ static void stm_mmap_open(struct vm_area_struct *vma) > pm_runtime_get(&stm->dev); > } > > -static void stm_mmap_close(struct vm_area_struct *vma) > +static void stm_mmap_close(struct mm_area *vma) > { > struct stm_file *stmf = vma->vm_file->private_data; > struct stm_device *stm = stmf->stm; > @@ -688,7 +688,7 @@ static const struct vm_operations_struct stm_mmap_vmops = { > .close = stm_mmap_close, > }; > > -static int stm_char_mmap(struct file *file, struct vm_area_struct *vma) > +static int stm_char_mmap(struct file *file, struct mm_area *vma) > { > struct stm_file *stmf = file->private_data; > struct stm_device *stm = stmf->stm; > diff --git a/drivers/infiniband/core/core_priv.h b/drivers/infiniband/core/core_priv.h > index 05102769a918..6662f745c123 100644 > --- a/drivers/infiniband/core/core_priv.h > +++ b/drivers/infiniband/core/core_priv.h > @@ -359,13 +359,13 @@ int rdma_nl_net_init(struct rdma_dev_net *rnet); > void rdma_nl_net_exit(struct rdma_dev_net *rnet); > > struct rdma_umap_priv { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct list_head list; > struct rdma_user_mmap_entry *entry; > }; > > void rdma_umap_priv_init(struct rdma_umap_priv *priv, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct rdma_user_mmap_entry *entry); > > void ib_cq_pool_cleanup(struct ib_device *dev); > diff --git a/drivers/infiniband/core/ib_core_uverbs.c b/drivers/infiniband/core/ib_core_uverbs.c > index b51bd7087a88..949863e7c66f 100644 > --- a/drivers/infiniband/core/ib_core_uverbs.c > +++ b/drivers/infiniband/core/ib_core_uverbs.c > @@ -28,7 +28,7 @@ > * > */ > void rdma_umap_priv_init(struct rdma_umap_priv *priv, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct rdma_user_mmap_entry *entry) > { > struct ib_uverbs_file *ufile = vma->vm_file->private_data; > @@ -64,7 +64,7 @@ EXPORT_SYMBOL(rdma_umap_priv_init); > * Return -EINVAL on wrong flags or size, -EAGAIN on failure to map. 0 on > * success. > */ > -int rdma_user_mmap_io(struct ib_ucontext *ucontext, struct vm_area_struct *vma, > +int rdma_user_mmap_io(struct ib_ucontext *ucontext, struct mm_area *vma, > unsigned long pfn, unsigned long size, pgprot_t prot, > struct rdma_user_mmap_entry *entry) > { > @@ -159,7 +159,7 @@ EXPORT_SYMBOL(rdma_user_mmap_entry_get_pgoff); > */ > struct rdma_user_mmap_entry * > rdma_user_mmap_entry_get(struct ib_ucontext *ucontext, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct rdma_user_mmap_entry *entry; > > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c > index 973fe2c7ef53..565b497a4523 100644 > --- a/drivers/infiniband/core/uverbs_main.c > +++ b/drivers/infiniband/core/uverbs_main.c > @@ -688,7 +688,7 @@ static ssize_t ib_uverbs_write(struct file *filp, const char __user *buf, > > static const struct vm_operations_struct rdma_umap_ops; > > -static int ib_uverbs_mmap(struct file *filp, struct vm_area_struct *vma) > +static int ib_uverbs_mmap(struct file *filp, struct mm_area *vma) > { > struct ib_uverbs_file *file = filp->private_data; > struct ib_ucontext *ucontext; > @@ -717,7 +717,7 @@ static int ib_uverbs_mmap(struct file *filp, struct vm_area_struct *vma) > * The VMA has been dup'd, initialize the vm_private_data with a new tracking > * struct > */ > -static void rdma_umap_open(struct vm_area_struct *vma) > +static void rdma_umap_open(struct mm_area *vma) > { > struct ib_uverbs_file *ufile = vma->vm_file->private_data; > struct rdma_umap_priv *opriv = vma->vm_private_data; > @@ -759,7 +759,7 @@ static void rdma_umap_open(struct vm_area_struct *vma) > zap_vma_ptes(vma, vma->vm_start, vma->vm_end - vma->vm_start); > } > > -static void rdma_umap_close(struct vm_area_struct *vma) > +static void rdma_umap_close(struct mm_area *vma) > { > struct ib_uverbs_file *ufile = vma->vm_file->private_data; > struct rdma_umap_priv *priv = vma->vm_private_data; > @@ -872,7 +872,7 @@ void uverbs_user_mmap_disassociate(struct ib_uverbs_file *ufile) > mutex_lock(&ufile->umap_lock); > list_for_each_entry_safe (priv, next_priv, &ufile->umaps, > list) { > - struct vm_area_struct *vma = priv->vma; > + struct mm_area *vma = priv->vma; > > if (vma->vm_mm != mm) > continue; > diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c > index 9082b3fd2b47..fd7b8fdc9bfb 100644 > --- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c > +++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c > @@ -4425,7 +4425,7 @@ static struct bnxt_re_srq *bnxt_re_search_for_srq(struct bnxt_re_dev *rdev, u32 > } > > /* Helper function to mmap the virtual memory from user app */ > -int bnxt_re_mmap(struct ib_ucontext *ib_uctx, struct vm_area_struct *vma) > +int bnxt_re_mmap(struct ib_ucontext *ib_uctx, struct mm_area *vma) > { > struct bnxt_re_ucontext *uctx = container_of(ib_uctx, > struct bnxt_re_ucontext, > diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.h b/drivers/infiniband/hw/bnxt_re/ib_verbs.h > index 22c9eb8e9cfc..6f709d4bfc12 100644 > --- a/drivers/infiniband/hw/bnxt_re/ib_verbs.h > +++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.h > @@ -265,7 +265,7 @@ struct ib_mr *bnxt_re_reg_user_mr_dmabuf(struct ib_pd *ib_pd, u64 start, > struct uverbs_attr_bundle *attrs); > int bnxt_re_alloc_ucontext(struct ib_ucontext *ctx, struct ib_udata *udata); > void bnxt_re_dealloc_ucontext(struct ib_ucontext *context); > -int bnxt_re_mmap(struct ib_ucontext *context, struct vm_area_struct *vma); > +int bnxt_re_mmap(struct ib_ucontext *context, struct mm_area *vma); > void bnxt_re_mmap_free(struct rdma_user_mmap_entry *rdma_entry); > > int bnxt_re_process_mad(struct ib_device *device, int process_mad_flags, > diff --git a/drivers/infiniband/hw/cxgb4/provider.c b/drivers/infiniband/hw/cxgb4/provider.c > index e059f92d90fd..c3b14c76e9fd 100644 > --- a/drivers/infiniband/hw/cxgb4/provider.c > +++ b/drivers/infiniband/hw/cxgb4/provider.c > @@ -125,7 +125,7 @@ static int c4iw_alloc_ucontext(struct ib_ucontext *ucontext, > return ret; > } > > -static int c4iw_mmap(struct ib_ucontext *context, struct vm_area_struct *vma) > +static int c4iw_mmap(struct ib_ucontext *context, struct mm_area *vma) > { > int len = vma->vm_end - vma->vm_start; > u32 key = vma->vm_pgoff << PAGE_SHIFT; > diff --git a/drivers/infiniband/hw/efa/efa.h b/drivers/infiniband/hw/efa/efa.h > index 838182d0409c..12502e6326bc 100644 > --- a/drivers/infiniband/hw/efa/efa.h > +++ b/drivers/infiniband/hw/efa/efa.h > @@ -175,7 +175,7 @@ int efa_get_port_immutable(struct ib_device *ibdev, u32 port_num, > int efa_alloc_ucontext(struct ib_ucontext *ibucontext, struct ib_udata *udata); > void efa_dealloc_ucontext(struct ib_ucontext *ibucontext); > int efa_mmap(struct ib_ucontext *ibucontext, > - struct vm_area_struct *vma); > + struct mm_area *vma); > void efa_mmap_free(struct rdma_user_mmap_entry *rdma_entry); > int efa_create_ah(struct ib_ah *ibah, > struct rdma_ah_init_attr *init_attr, > diff --git a/drivers/infiniband/hw/efa/efa_verbs.c b/drivers/infiniband/hw/efa/efa_verbs.c > index a8645a40730f..3b9b6308bada 100644 > --- a/drivers/infiniband/hw/efa/efa_verbs.c > +++ b/drivers/infiniband/hw/efa/efa_verbs.c > @@ -1978,7 +1978,7 @@ void efa_mmap_free(struct rdma_user_mmap_entry *rdma_entry) > } > > static int __efa_mmap(struct efa_dev *dev, struct efa_ucontext *ucontext, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct rdma_user_mmap_entry *rdma_entry; > struct efa_user_mmap_entry *entry; > @@ -2041,7 +2041,7 @@ static int __efa_mmap(struct efa_dev *dev, struct efa_ucontext *ucontext, > } > > int efa_mmap(struct ib_ucontext *ibucontext, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct efa_ucontext *ucontext = to_eucontext(ibucontext); > struct efa_dev *dev = to_edev(ibucontext->device); > diff --git a/drivers/infiniband/hw/erdma/erdma_verbs.c b/drivers/infiniband/hw/erdma/erdma_verbs.c > index af36a8d2df22..159f245e2e6b 100644 > --- a/drivers/infiniband/hw/erdma/erdma_verbs.c > +++ b/drivers/infiniband/hw/erdma/erdma_verbs.c > @@ -1371,7 +1371,7 @@ void erdma_qp_put_ref(struct ib_qp *ibqp) > erdma_qp_put(to_eqp(ibqp)); > } > > -int erdma_mmap(struct ib_ucontext *ctx, struct vm_area_struct *vma) > +int erdma_mmap(struct ib_ucontext *ctx, struct mm_area *vma) > { > struct rdma_user_mmap_entry *rdma_entry; > struct erdma_user_mmap_entry *entry; > diff --git a/drivers/infiniband/hw/erdma/erdma_verbs.h b/drivers/infiniband/hw/erdma/erdma_verbs.h > index f9408ccc8bad..a4fd2061301c 100644 > --- a/drivers/infiniband/hw/erdma/erdma_verbs.h > +++ b/drivers/infiniband/hw/erdma/erdma_verbs.h > @@ -455,7 +455,7 @@ struct ib_mr *erdma_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 len, > u64 virt, int access, struct ib_udata *udata); > struct ib_mr *erdma_get_dma_mr(struct ib_pd *ibpd, int rights); > int erdma_dereg_mr(struct ib_mr *ibmr, struct ib_udata *data); > -int erdma_mmap(struct ib_ucontext *ctx, struct vm_area_struct *vma); > +int erdma_mmap(struct ib_ucontext *ctx, struct mm_area *vma); > void erdma_mmap_free(struct rdma_user_mmap_entry *rdma_entry); > void erdma_qp_get_ref(struct ib_qp *ibqp); > void erdma_qp_put_ref(struct ib_qp *ibqp); > diff --git a/drivers/infiniband/hw/hfi1/file_ops.c b/drivers/infiniband/hw/hfi1/file_ops.c > index 503abec709c9..239416504cd9 100644 > --- a/drivers/infiniband/hw/hfi1/file_ops.c > +++ b/drivers/infiniband/hw/hfi1/file_ops.c > @@ -35,7 +35,7 @@ static int hfi1_file_open(struct inode *inode, struct file *fp); > static int hfi1_file_close(struct inode *inode, struct file *fp); > static ssize_t hfi1_write_iter(struct kiocb *kiocb, struct iov_iter *from); > static __poll_t hfi1_poll(struct file *fp, struct poll_table_struct *pt); > -static int hfi1_file_mmap(struct file *fp, struct vm_area_struct *vma); > +static int hfi1_file_mmap(struct file *fp, struct mm_area *vma); > > static u64 kvirt_to_phys(void *addr); > static int assign_ctxt(struct hfi1_filedata *fd, unsigned long arg, u32 len); > @@ -306,7 +306,7 @@ static ssize_t hfi1_write_iter(struct kiocb *kiocb, struct iov_iter *from) > > static inline void mmap_cdbg(u16 ctxt, u8 subctxt, u8 type, u8 mapio, u8 vmf, > u64 memaddr, void *memvirt, dma_addr_t memdma, > - ssize_t memlen, struct vm_area_struct *vma) > + ssize_t memlen, struct mm_area *vma) > { > hfi1_cdbg(PROC, > "%u:%u type:%u io/vf/dma:%d/%d/%d, addr:0x%llx, len:%lu(%lu), flags:0x%lx", > @@ -315,7 +315,7 @@ static inline void mmap_cdbg(u16 ctxt, u8 subctxt, u8 type, u8 mapio, u8 vmf, > vma->vm_end - vma->vm_start, vma->vm_flags); > } > > -static int hfi1_file_mmap(struct file *fp, struct vm_area_struct *vma) > +static int hfi1_file_mmap(struct file *fp, struct mm_area *vma) > { > struct hfi1_filedata *fd = fp->private_data; > struct hfi1_ctxtdata *uctxt = fd->uctxt; > diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c > index cf89a8db4f64..098c1ec4de0a 100644 > --- a/drivers/infiniband/hw/hns/hns_roce_main.c > +++ b/drivers/infiniband/hw/hns/hns_roce_main.c > @@ -457,7 +457,7 @@ static void hns_roce_dealloc_ucontext(struct ib_ucontext *ibcontext) > ida_free(&hr_dev->uar_ida.ida, (int)context->uar.logic_idx); > } > > -static int hns_roce_mmap(struct ib_ucontext *uctx, struct vm_area_struct *vma) > +static int hns_roce_mmap(struct ib_ucontext *uctx, struct mm_area *vma) > { > struct hns_roce_dev *hr_dev = to_hr_dev(uctx->device); > struct rdma_user_mmap_entry *rdma_entry; > diff --git a/drivers/infiniband/hw/irdma/verbs.c b/drivers/infiniband/hw/irdma/verbs.c > index eeb932e58730..a361f423e140 100644 > --- a/drivers/infiniband/hw/irdma/verbs.c > +++ b/drivers/infiniband/hw/irdma/verbs.c > @@ -117,7 +117,7 @@ static void irdma_disassociate_ucontext(struct ib_ucontext *context) > } > > static int irdma_mmap_legacy(struct irdma_ucontext *ucontext, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > u64 pfn; > > @@ -168,7 +168,7 @@ irdma_user_mmap_entry_insert(struct irdma_ucontext *ucontext, u64 bar_offset, > * @context: context created during alloc > * @vma: kernel info for user memory map > */ > -static int irdma_mmap(struct ib_ucontext *context, struct vm_area_struct *vma) > +static int irdma_mmap(struct ib_ucontext *context, struct mm_area *vma) > { > struct rdma_user_mmap_entry *rdma_entry; > struct irdma_user_mmap_entry *entry; > diff --git a/drivers/infiniband/hw/mana/main.c b/drivers/infiniband/hw/mana/main.c > index eda9c5b971de..a11368d8c979 100644 > --- a/drivers/infiniband/hw/mana/main.c > +++ b/drivers/infiniband/hw/mana/main.c > @@ -512,7 +512,7 @@ int mana_ib_gd_destroy_dma_region(struct mana_ib_dev *dev, u64 gdma_region) > return mana_gd_destroy_dma_region(gc, gdma_region); > } > > -int mana_ib_mmap(struct ib_ucontext *ibcontext, struct vm_area_struct *vma) > +int mana_ib_mmap(struct ib_ucontext *ibcontext, struct mm_area *vma) > { > struct mana_ib_ucontext *mana_ucontext = > container_of(ibcontext, struct mana_ib_ucontext, ibucontext); > diff --git a/drivers/infiniband/hw/mana/mana_ib.h b/drivers/infiniband/hw/mana/mana_ib.h > index 6903946677e5..f02d93ed4fec 100644 > --- a/drivers/infiniband/hw/mana/mana_ib.h > +++ b/drivers/infiniband/hw/mana/mana_ib.h > @@ -628,7 +628,7 @@ int mana_ib_alloc_ucontext(struct ib_ucontext *ibcontext, > struct ib_udata *udata); > void mana_ib_dealloc_ucontext(struct ib_ucontext *ibcontext); > > -int mana_ib_mmap(struct ib_ucontext *ibcontext, struct vm_area_struct *vma); > +int mana_ib_mmap(struct ib_ucontext *ibcontext, struct mm_area *vma); > > int mana_ib_get_port_immutable(struct ib_device *ibdev, u32 port_num, > struct ib_port_immutable *immutable); > diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c > index dd35e03402ab..26abc9faca3a 100644 > --- a/drivers/infiniband/hw/mlx4/main.c > +++ b/drivers/infiniband/hw/mlx4/main.c > @@ -1150,7 +1150,7 @@ static void mlx4_ib_disassociate_ucontext(struct ib_ucontext *ibcontext) > { > } > > -static int mlx4_ib_mmap(struct ib_ucontext *context, struct vm_area_struct *vma) > +static int mlx4_ib_mmap(struct ib_ucontext *context, struct mm_area *vma) > { > struct mlx4_ib_dev *dev = to_mdev(context->device); > > diff --git a/drivers/infiniband/hw/mlx4/mr.c b/drivers/infiniband/hw/mlx4/mr.c > index e77645a673fb..92821271c4a2 100644 > --- a/drivers/infiniband/hw/mlx4/mr.c > +++ b/drivers/infiniband/hw/mlx4/mr.c > @@ -114,7 +114,7 @@ static struct ib_umem *mlx4_get_umem_mr(struct ib_device *device, u64 start, > */ > if (!ib_access_writable(access_flags)) { > unsigned long untagged_start = untagged_addr(start); > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_read_lock(current->mm); > /* > diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c > index d07cacaa0abd..9434b1c99b60 100644 > --- a/drivers/infiniband/hw/mlx5/main.c > +++ b/drivers/infiniband/hw/mlx5/main.c > @@ -2201,7 +2201,7 @@ static inline char *mmap_cmd2str(enum mlx5_ib_mmap_cmd cmd) > } > > static int mlx5_ib_mmap_clock_info_page(struct mlx5_ib_dev *dev, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct mlx5_ib_ucontext *context) > { > if ((vma->vm_end - vma->vm_start != PAGE_SIZE) || > @@ -2252,7 +2252,7 @@ static void mlx5_ib_mmap_free(struct rdma_user_mmap_entry *entry) > } > > static int uar_mmap(struct mlx5_ib_dev *dev, enum mlx5_ib_mmap_cmd cmd, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct mlx5_ib_ucontext *context) > { > struct mlx5_bfreg_info *bfregi = &context->bfregi; > @@ -2359,7 +2359,7 @@ static int uar_mmap(struct mlx5_ib_dev *dev, enum mlx5_ib_mmap_cmd cmd, > return err; > } > > -static unsigned long mlx5_vma_to_pgoff(struct vm_area_struct *vma) > +static unsigned long mlx5_vma_to_pgoff(struct mm_area *vma) > { > unsigned long idx; > u8 command; > @@ -2371,7 +2371,7 @@ static unsigned long mlx5_vma_to_pgoff(struct vm_area_struct *vma) > } > > static int mlx5_ib_mmap_offset(struct mlx5_ib_dev *dev, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct ib_ucontext *ucontext) > { > struct mlx5_user_mmap_entry *mentry; > @@ -2410,7 +2410,7 @@ static u64 mlx5_entry_to_mmap_offset(struct mlx5_user_mmap_entry *entry) > (index & 0xFF)) << PAGE_SHIFT; > } > > -static int mlx5_ib_mmap(struct ib_ucontext *ibcontext, struct vm_area_struct *vma) > +static int mlx5_ib_mmap(struct ib_ucontext *ibcontext, struct mm_area *vma) > { > struct mlx5_ib_ucontext *context = to_mucontext(ibcontext); > struct mlx5_ib_dev *dev = to_mdev(ibcontext->device); > diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c > index 6a1e2e79ddc3..5934a0cc68a0 100644 > --- a/drivers/infiniband/hw/mthca/mthca_provider.c > +++ b/drivers/infiniband/hw/mthca/mthca_provider.c > @@ -330,7 +330,7 @@ static void mthca_dealloc_ucontext(struct ib_ucontext *context) > } > > static int mthca_mmap_uar(struct ib_ucontext *context, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > if (vma->vm_end - vma->vm_start != PAGE_SIZE) > return -EINVAL; > diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c > index 979de8f8df14..a4940538d888 100644 > --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c > +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c > @@ -536,7 +536,7 @@ void ocrdma_dealloc_ucontext(struct ib_ucontext *ibctx) > } > } > > -int ocrdma_mmap(struct ib_ucontext *context, struct vm_area_struct *vma) > +int ocrdma_mmap(struct ib_ucontext *context, struct mm_area *vma) > { > struct ocrdma_ucontext *ucontext = get_ocrdma_ucontext(context); > struct ocrdma_dev *dev = get_ocrdma_dev(context->device); > diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.h b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.h > index 0644346d8d98..7e9ff740faad 100644 > --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.h > +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.h > @@ -64,7 +64,7 @@ int ocrdma_query_pkey(struct ib_device *ibdev, u32 port, u16 index, u16 *pkey); > int ocrdma_alloc_ucontext(struct ib_ucontext *uctx, struct ib_udata *udata); > void ocrdma_dealloc_ucontext(struct ib_ucontext *uctx); > > -int ocrdma_mmap(struct ib_ucontext *, struct vm_area_struct *vma); > +int ocrdma_mmap(struct ib_ucontext *, struct mm_area *vma); > > int ocrdma_alloc_pd(struct ib_pd *pd, struct ib_udata *udata); > int ocrdma_dealloc_pd(struct ib_pd *pd, struct ib_udata *udata); > diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c > index 568a5b18803f..779bcac34ca1 100644 > --- a/drivers/infiniband/hw/qedr/verbs.c > +++ b/drivers/infiniband/hw/qedr/verbs.c > @@ -385,7 +385,7 @@ void qedr_mmap_free(struct rdma_user_mmap_entry *rdma_entry) > kfree(entry); > } > > -int qedr_mmap(struct ib_ucontext *ucontext, struct vm_area_struct *vma) > +int qedr_mmap(struct ib_ucontext *ucontext, struct mm_area *vma) > { > struct ib_device *dev = ucontext->device; > size_t length = vma->vm_end - vma->vm_start; > diff --git a/drivers/infiniband/hw/qedr/verbs.h b/drivers/infiniband/hw/qedr/verbs.h > index 5731458abb06..50654f10a4ea 100644 > --- a/drivers/infiniband/hw/qedr/verbs.h > +++ b/drivers/infiniband/hw/qedr/verbs.h > @@ -45,7 +45,7 @@ int qedr_query_pkey(struct ib_device *ibdev, u32 port, u16 index, u16 *pkey); > int qedr_alloc_ucontext(struct ib_ucontext *uctx, struct ib_udata *udata); > void qedr_dealloc_ucontext(struct ib_ucontext *uctx); > > -int qedr_mmap(struct ib_ucontext *ucontext, struct vm_area_struct *vma); > +int qedr_mmap(struct ib_ucontext *ucontext, struct mm_area *vma); > void qedr_mmap_free(struct rdma_user_mmap_entry *rdma_entry); > int qedr_alloc_pd(struct ib_pd *pd, struct ib_udata *udata); > int qedr_dealloc_pd(struct ib_pd *pd, struct ib_udata *udata); > diff --git a/drivers/infiniband/hw/qib/qib_file_ops.c b/drivers/infiniband/hw/qib/qib_file_ops.c > index 29e4c59aa23b..b7ff897e3729 100644 > --- a/drivers/infiniband/hw/qib/qib_file_ops.c > +++ b/drivers/infiniband/hw/qib/qib_file_ops.c > @@ -59,7 +59,7 @@ static int qib_close(struct inode *, struct file *); > static ssize_t qib_write(struct file *, const char __user *, size_t, loff_t *); > static ssize_t qib_write_iter(struct kiocb *, struct iov_iter *); > static __poll_t qib_poll(struct file *, struct poll_table_struct *); > -static int qib_mmapf(struct file *, struct vm_area_struct *); > +static int qib_mmapf(struct file *, struct mm_area *); > > /* > * This is really, really weird shit - write() and writev() here > @@ -705,7 +705,7 @@ static void qib_clean_part_key(struct qib_ctxtdata *rcd, > } > > /* common code for the mappings on dma_alloc_coherent mem */ > -static int qib_mmap_mem(struct vm_area_struct *vma, struct qib_ctxtdata *rcd, > +static int qib_mmap_mem(struct mm_area *vma, struct qib_ctxtdata *rcd, > unsigned len, void *kvaddr, u32 write_ok, char *what) > { > struct qib_devdata *dd = rcd->dd; > @@ -747,7 +747,7 @@ static int qib_mmap_mem(struct vm_area_struct *vma, struct qib_ctxtdata *rcd, > return ret; > } > > -static int mmap_ureg(struct vm_area_struct *vma, struct qib_devdata *dd, > +static int mmap_ureg(struct mm_area *vma, struct qib_devdata *dd, > u64 ureg) > { > unsigned long phys; > @@ -778,7 +778,7 @@ static int mmap_ureg(struct vm_area_struct *vma, struct qib_devdata *dd, > return ret; > } > > -static int mmap_piobufs(struct vm_area_struct *vma, > +static int mmap_piobufs(struct mm_area *vma, > struct qib_devdata *dd, > struct qib_ctxtdata *rcd, > unsigned piobufs, unsigned piocnt) > @@ -823,7 +823,7 @@ static int mmap_piobufs(struct vm_area_struct *vma, > return ret; > } > > -static int mmap_rcvegrbufs(struct vm_area_struct *vma, > +static int mmap_rcvegrbufs(struct mm_area *vma, > struct qib_ctxtdata *rcd) > { > struct qib_devdata *dd = rcd->dd; > @@ -889,7 +889,7 @@ static const struct vm_operations_struct qib_file_vm_ops = { > .fault = qib_file_vma_fault, > }; > > -static int mmap_kvaddr(struct vm_area_struct *vma, u64 pgaddr, > +static int mmap_kvaddr(struct mm_area *vma, u64 pgaddr, > struct qib_ctxtdata *rcd, unsigned subctxt) > { > struct qib_devdata *dd = rcd->dd; > @@ -971,7 +971,7 @@ static int mmap_kvaddr(struct vm_area_struct *vma, u64 pgaddr, > * buffers in the chip. We have the open and close entries so we can bump > * the ref count and keep the driver from being unloaded while still mapped. > */ > -static int qib_mmapf(struct file *fp, struct vm_area_struct *vma) > +static int qib_mmapf(struct file *fp, struct mm_area *vma) > { > struct qib_ctxtdata *rcd; > struct qib_devdata *dd; > diff --git a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c > index 217af34e82b3..9ed349e5fcc3 100644 > --- a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c > +++ b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c > @@ -658,7 +658,7 @@ void usnic_ib_dealloc_ucontext(struct ib_ucontext *ibcontext) > } > > int usnic_ib_mmap(struct ib_ucontext *context, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct usnic_ib_ucontext *uctx = to_ucontext(context); > struct usnic_ib_dev *us_ibdev; > diff --git a/drivers/infiniband/hw/usnic/usnic_ib_verbs.h b/drivers/infiniband/hw/usnic/usnic_ib_verbs.h > index 53f53f2d53be..e445f74b027f 100644 > --- a/drivers/infiniband/hw/usnic/usnic_ib_verbs.h > +++ b/drivers/infiniband/hw/usnic/usnic_ib_verbs.h > @@ -65,5 +65,5 @@ int usnic_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata); > int usnic_ib_alloc_ucontext(struct ib_ucontext *uctx, struct ib_udata *udata); > void usnic_ib_dealloc_ucontext(struct ib_ucontext *ibcontext); > int usnic_ib_mmap(struct ib_ucontext *context, > - struct vm_area_struct *vma); > + struct mm_area *vma); > #endif /* !USNIC_IB_VERBS_H */ > diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c > index bcd43dc30e21..e536181063cf 100644 > --- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c > +++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c > @@ -364,7 +364,7 @@ void pvrdma_dealloc_ucontext(struct ib_ucontext *ibcontext) > * > * @return: 0 on success, otherwise errno. > */ > -int pvrdma_mmap(struct ib_ucontext *ibcontext, struct vm_area_struct *vma) > +int pvrdma_mmap(struct ib_ucontext *ibcontext, struct mm_area *vma) > { > struct pvrdma_ucontext *context = to_vucontext(ibcontext); > unsigned long start = vma->vm_start; > diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h > index fd47b0b1df5c..a3720f30cb8d 100644 > --- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h > +++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h > @@ -358,7 +358,7 @@ enum rdma_link_layer pvrdma_port_link_layer(struct ib_device *ibdev, > u32 port); > int pvrdma_modify_port(struct ib_device *ibdev, u32 port, > int mask, struct ib_port_modify *props); > -int pvrdma_mmap(struct ib_ucontext *context, struct vm_area_struct *vma); > +int pvrdma_mmap(struct ib_ucontext *context, struct mm_area *vma); > int pvrdma_alloc_ucontext(struct ib_ucontext *uctx, struct ib_udata *udata); > void pvrdma_dealloc_ucontext(struct ib_ucontext *context); > int pvrdma_alloc_pd(struct ib_pd *pd, struct ib_udata *udata); > diff --git a/drivers/infiniband/sw/rdmavt/mmap.c b/drivers/infiniband/sw/rdmavt/mmap.c > index 46e3b3e0643a..45d7caafa4d0 100644 > --- a/drivers/infiniband/sw/rdmavt/mmap.c > +++ b/drivers/infiniband/sw/rdmavt/mmap.c > @@ -39,14 +39,14 @@ void rvt_release_mmap_info(struct kref *ref) > kfree(ip); > } > > -static void rvt_vma_open(struct vm_area_struct *vma) > +static void rvt_vma_open(struct mm_area *vma) > { > struct rvt_mmap_info *ip = vma->vm_private_data; > > kref_get(&ip->ref); > } > > -static void rvt_vma_close(struct vm_area_struct *vma) > +static void rvt_vma_close(struct mm_area *vma) > { > struct rvt_mmap_info *ip = vma->vm_private_data; > > @@ -65,7 +65,7 @@ static const struct vm_operations_struct rvt_vm_ops = { > * > * Return: zero if the mmap is OK. Otherwise, return an errno. > */ > -int rvt_mmap(struct ib_ucontext *context, struct vm_area_struct *vma) > +int rvt_mmap(struct ib_ucontext *context, struct mm_area *vma) > { > struct rvt_dev_info *rdi = ib_to_rvt(context->device); > unsigned long offset = vma->vm_pgoff << PAGE_SHIFT; > diff --git a/drivers/infiniband/sw/rdmavt/mmap.h b/drivers/infiniband/sw/rdmavt/mmap.h > index 29aaca3e8b83..7075597849cd 100644 > --- a/drivers/infiniband/sw/rdmavt/mmap.h > +++ b/drivers/infiniband/sw/rdmavt/mmap.h > @@ -10,7 +10,7 @@ > > void rvt_mmap_init(struct rvt_dev_info *rdi); > void rvt_release_mmap_info(struct kref *ref); > -int rvt_mmap(struct ib_ucontext *context, struct vm_area_struct *vma); > +int rvt_mmap(struct ib_ucontext *context, struct mm_area *vma); > struct rvt_mmap_info *rvt_create_mmap_info(struct rvt_dev_info *rdi, u32 size, > struct ib_udata *udata, void *obj); > void rvt_update_mmap_info(struct rvt_dev_info *rdi, struct rvt_mmap_info *ip, > diff --git a/drivers/infiniband/sw/rxe/rxe_loc.h b/drivers/infiniband/sw/rxe/rxe_loc.h > index feb386d98d1d..3f40a7a141af 100644 > --- a/drivers/infiniband/sw/rxe/rxe_loc.h > +++ b/drivers/infiniband/sw/rxe/rxe_loc.h > @@ -54,7 +54,7 @@ void rxe_mmap_release(struct kref *ref); > struct rxe_mmap_info *rxe_create_mmap_info(struct rxe_dev *dev, u32 size, > struct ib_udata *udata, void *obj); > > -int rxe_mmap(struct ib_ucontext *context, struct vm_area_struct *vma); > +int rxe_mmap(struct ib_ucontext *context, struct mm_area *vma); > > /* rxe_mr.c */ > u8 rxe_get_next_key(u32 last_key); > diff --git a/drivers/infiniband/sw/rxe/rxe_mmap.c b/drivers/infiniband/sw/rxe/rxe_mmap.c > index 6b7f2bd69879..2b478c3138b9 100644 > --- a/drivers/infiniband/sw/rxe/rxe_mmap.c > +++ b/drivers/infiniband/sw/rxe/rxe_mmap.c > @@ -34,14 +34,14 @@ void rxe_mmap_release(struct kref *ref) > * open and close keep track of how many times the memory region is mapped, > * to avoid releasing it. > */ > -static void rxe_vma_open(struct vm_area_struct *vma) > +static void rxe_vma_open(struct mm_area *vma) > { > struct rxe_mmap_info *ip = vma->vm_private_data; > > kref_get(&ip->ref); > } > > -static void rxe_vma_close(struct vm_area_struct *vma) > +static void rxe_vma_close(struct mm_area *vma) > { > struct rxe_mmap_info *ip = vma->vm_private_data; > > @@ -59,7 +59,7 @@ static const struct vm_operations_struct rxe_vm_ops = { > * @vma: the VMA to be initialized > * Return zero if the mmap is OK. Otherwise, return an errno. > */ > -int rxe_mmap(struct ib_ucontext *context, struct vm_area_struct *vma) > +int rxe_mmap(struct ib_ucontext *context, struct mm_area *vma) > { > struct rxe_dev *rxe = to_rdev(context->device); > unsigned long offset = vma->vm_pgoff << PAGE_SHIFT; > diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c > index fd7b266a221b..e04bb047470d 100644 > --- a/drivers/infiniband/sw/siw/siw_verbs.c > +++ b/drivers/infiniband/sw/siw/siw_verbs.c > @@ -51,7 +51,7 @@ void siw_mmap_free(struct rdma_user_mmap_entry *rdma_entry) > kfree(entry); > } > > -int siw_mmap(struct ib_ucontext *ctx, struct vm_area_struct *vma) > +int siw_mmap(struct ib_ucontext *ctx, struct mm_area *vma) > { > struct siw_ucontext *uctx = to_siw_ctx(ctx); > size_t size = vma->vm_end - vma->vm_start; > diff --git a/drivers/infiniband/sw/siw/siw_verbs.h b/drivers/infiniband/sw/siw/siw_verbs.h > index 1f1a305540af..0df2ef43317c 100644 > --- a/drivers/infiniband/sw/siw/siw_verbs.h > +++ b/drivers/infiniband/sw/siw/siw_verbs.h > @@ -80,7 +80,7 @@ int siw_query_srq(struct ib_srq *base_srq, struct ib_srq_attr *attr); > int siw_destroy_srq(struct ib_srq *base_srq, struct ib_udata *udata); > int siw_post_srq_recv(struct ib_srq *base_srq, const struct ib_recv_wr *wr, > const struct ib_recv_wr **bad_wr); > -int siw_mmap(struct ib_ucontext *ctx, struct vm_area_struct *vma); > +int siw_mmap(struct ib_ucontext *ctx, struct mm_area *vma); > void siw_mmap_free(struct rdma_user_mmap_entry *rdma_entry); > void siw_qp_event(struct siw_qp *qp, enum ib_event_type type); > void siw_cq_event(struct siw_cq *cq, enum ib_event_type type); > diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c > index 6054d0ab8023..44e86a5bf175 100644 > --- a/drivers/iommu/dma-iommu.c > +++ b/drivers/iommu/dma-iommu.c > @@ -1066,7 +1066,7 @@ void *iommu_dma_vmap_noncontiguous(struct device *dev, size_t size, > return vmap(sgt_handle(sgt)->pages, count, VM_MAP, PAGE_KERNEL); > } > > -int iommu_dma_mmap_noncontiguous(struct device *dev, struct vm_area_struct *vma, > +int iommu_dma_mmap_noncontiguous(struct device *dev, struct mm_area *vma, > size_t size, struct sg_table *sgt) > { > unsigned long count = PAGE_ALIGN(size) >> PAGE_SHIFT; > @@ -1643,7 +1643,7 @@ void *iommu_dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, > return cpu_addr; > } > > -int iommu_dma_mmap(struct device *dev, struct vm_area_struct *vma, > +int iommu_dma_mmap(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs) > { > diff --git a/drivers/iommu/iommu-sva.c b/drivers/iommu/iommu-sva.c > index ab18bc494eef..9d70a137db53 100644 > --- a/drivers/iommu/iommu-sva.c > +++ b/drivers/iommu/iommu-sva.c > @@ -209,7 +209,7 @@ static enum iommu_page_response_code > iommu_sva_handle_mm(struct iommu_fault *fault, struct mm_struct *mm) > { > vm_fault_t ret; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned int access_flags = 0; > unsigned int fault_flags = FAULT_FLAG_REMOTE; > struct iommu_fault_page_request *prm = &fault->prm; > diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c > index 2df566f409b6..77bafec1433d 100644 > --- a/drivers/media/common/videobuf2/videobuf2-core.c > +++ b/drivers/media/common/videobuf2/videobuf2-core.c > @@ -2496,7 +2496,7 @@ int vb2_core_expbuf(struct vb2_queue *q, int *fd, unsigned int type, > } > EXPORT_SYMBOL_GPL(vb2_core_expbuf); > > -int vb2_mmap(struct vb2_queue *q, struct vm_area_struct *vma) > +int vb2_mmap(struct vb2_queue *q, struct mm_area *vma) > { > unsigned long offset = vma->vm_pgoff << PAGE_SHIFT; > struct vb2_buffer *vb; > diff --git a/drivers/media/common/videobuf2/videobuf2-dma-contig.c b/drivers/media/common/videobuf2/videobuf2-dma-contig.c > index a13ec569c82f..e038533f7541 100644 > --- a/drivers/media/common/videobuf2/videobuf2-dma-contig.c > +++ b/drivers/media/common/videobuf2/videobuf2-dma-contig.c > @@ -271,7 +271,7 @@ static void *vb2_dc_alloc(struct vb2_buffer *vb, > return buf; > } > > -static int vb2_dc_mmap(void *buf_priv, struct vm_area_struct *vma) > +static int vb2_dc_mmap(void *buf_priv, struct mm_area *vma) > { > struct vb2_dc_buf *buf = buf_priv; > int ret; > @@ -453,7 +453,7 @@ static int vb2_dc_dmabuf_ops_vmap(struct dma_buf *dbuf, struct iosys_map *map) > } > > static int vb2_dc_dmabuf_ops_mmap(struct dma_buf *dbuf, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return vb2_dc_mmap(dbuf->priv, vma); > } > diff --git a/drivers/media/common/videobuf2/videobuf2-dma-sg.c b/drivers/media/common/videobuf2/videobuf2-dma-sg.c > index c6ddf2357c58..78bc6dd98236 100644 > --- a/drivers/media/common/videobuf2/videobuf2-dma-sg.c > +++ b/drivers/media/common/videobuf2/videobuf2-dma-sg.c > @@ -329,7 +329,7 @@ static unsigned int vb2_dma_sg_num_users(void *buf_priv) > return refcount_read(&buf->refcount); > } > > -static int vb2_dma_sg_mmap(void *buf_priv, struct vm_area_struct *vma) > +static int vb2_dma_sg_mmap(void *buf_priv, struct mm_area *vma) > { > struct vb2_dma_sg_buf *buf = buf_priv; > int err; > @@ -501,7 +501,7 @@ static int vb2_dma_sg_dmabuf_ops_vmap(struct dma_buf *dbuf, > } > > static int vb2_dma_sg_dmabuf_ops_mmap(struct dma_buf *dbuf, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return vb2_dma_sg_mmap(dbuf->priv, vma); > } > diff --git a/drivers/media/common/videobuf2/videobuf2-memops.c b/drivers/media/common/videobuf2/videobuf2-memops.c > index f9a4ec44422e..3012d5b5c2d9 100644 > --- a/drivers/media/common/videobuf2/videobuf2-memops.c > +++ b/drivers/media/common/videobuf2/videobuf2-memops.c > @@ -87,7 +87,7 @@ EXPORT_SYMBOL(vb2_destroy_framevec); > * This function adds another user to the provided vma. It expects > * struct vb2_vmarea_handler pointer in vma->vm_private_data. > */ > -static void vb2_common_vm_open(struct vm_area_struct *vma) > +static void vb2_common_vm_open(struct mm_area *vma) > { > struct vb2_vmarea_handler *h = vma->vm_private_data; > > @@ -105,7 +105,7 @@ static void vb2_common_vm_open(struct vm_area_struct *vma) > * This function releases the user from the provided vma. It expects > * struct vb2_vmarea_handler pointer in vma->vm_private_data. > */ > -static void vb2_common_vm_close(struct vm_area_struct *vma) > +static void vb2_common_vm_close(struct mm_area *vma) > { > struct vb2_vmarea_handler *h = vma->vm_private_data; > > diff --git a/drivers/media/common/videobuf2/videobuf2-v4l2.c b/drivers/media/common/videobuf2/videobuf2-v4l2.c > index 9201d854dbcc..73aa54baf3a0 100644 > --- a/drivers/media/common/videobuf2/videobuf2-v4l2.c > +++ b/drivers/media/common/videobuf2/videobuf2-v4l2.c > @@ -1141,7 +1141,7 @@ EXPORT_SYMBOL_GPL(vb2_ioctl_expbuf); > > /* v4l2_file_operations helpers */ > > -int vb2_fop_mmap(struct file *file, struct vm_area_struct *vma) > +int vb2_fop_mmap(struct file *file, struct mm_area *vma) > { > struct video_device *vdev = video_devdata(file); > > diff --git a/drivers/media/common/videobuf2/videobuf2-vmalloc.c b/drivers/media/common/videobuf2/videobuf2-vmalloc.c > index 3f777068cd34..7f9526ab3e5a 100644 > --- a/drivers/media/common/videobuf2/videobuf2-vmalloc.c > +++ b/drivers/media/common/videobuf2/videobuf2-vmalloc.c > @@ -167,7 +167,7 @@ static unsigned int vb2_vmalloc_num_users(void *buf_priv) > return refcount_read(&buf->refcount); > } > > -static int vb2_vmalloc_mmap(void *buf_priv, struct vm_area_struct *vma) > +static int vb2_vmalloc_mmap(void *buf_priv, struct mm_area *vma) > { > struct vb2_vmalloc_buf *buf = buf_priv; > int ret; > @@ -318,7 +318,7 @@ static int vb2_vmalloc_dmabuf_ops_vmap(struct dma_buf *dbuf, > } > > static int vb2_vmalloc_dmabuf_ops_mmap(struct dma_buf *dbuf, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return vb2_vmalloc_mmap(dbuf->priv, vma); > } > diff --git a/drivers/media/dvb-core/dmxdev.c b/drivers/media/dvb-core/dmxdev.c > index 6063782e937a..72eae59b0646 100644 > --- a/drivers/media/dvb-core/dmxdev.c > +++ b/drivers/media/dvb-core/dmxdev.c > @@ -1212,7 +1212,7 @@ static __poll_t dvb_demux_poll(struct file *file, poll_table *wait) > } > > #ifdef CONFIG_DVB_MMAP > -static int dvb_demux_mmap(struct file *file, struct vm_area_struct *vma) > +static int dvb_demux_mmap(struct file *file, struct mm_area *vma) > { > struct dmxdev_filter *dmxdevfilter = file->private_data; > struct dmxdev *dmxdev = dmxdevfilter->dev; > @@ -1362,7 +1362,7 @@ static __poll_t dvb_dvr_poll(struct file *file, poll_table *wait) > } > > #ifdef CONFIG_DVB_MMAP > -static int dvb_dvr_mmap(struct file *file, struct vm_area_struct *vma) > +static int dvb_dvr_mmap(struct file *file, struct mm_area *vma) > { > struct dvb_device *dvbdev = file->private_data; > struct dmxdev *dmxdev = dvbdev->priv; > diff --git a/drivers/media/dvb-core/dvb_vb2.c b/drivers/media/dvb-core/dvb_vb2.c > index 29edaaff7a5c..8e6b7b0463e9 100644 > --- a/drivers/media/dvb-core/dvb_vb2.c > +++ b/drivers/media/dvb-core/dvb_vb2.c > @@ -431,7 +431,7 @@ int dvb_vb2_dqbuf(struct dvb_vb2_ctx *ctx, struct dmx_buffer *b) > return 0; > } > > -int dvb_vb2_mmap(struct dvb_vb2_ctx *ctx, struct vm_area_struct *vma) > +int dvb_vb2_mmap(struct dvb_vb2_ctx *ctx, struct mm_area *vma) > { > int ret; > > diff --git a/drivers/media/pci/cx18/cx18-fileops.h b/drivers/media/pci/cx18/cx18-fileops.h > index 943057b83d94..be284bd28c53 100644 > --- a/drivers/media/pci/cx18/cx18-fileops.h > +++ b/drivers/media/pci/cx18/cx18-fileops.h > @@ -19,7 +19,7 @@ int cx18_start_capture(struct cx18_open_id *id); > void cx18_stop_capture(struct cx18_stream *s, int gop_end); > void cx18_mute(struct cx18 *cx); > void cx18_unmute(struct cx18 *cx); > -int cx18_v4l2_mmap(struct file *file, struct vm_area_struct *vma); > +int cx18_v4l2_mmap(struct file *file, struct mm_area *vma); > void cx18_clear_queue(struct cx18_stream *s, enum vb2_buffer_state state); > void cx18_vb_timeout(struct timer_list *t); > > diff --git a/drivers/media/pci/intel/ipu6/ipu6-dma.c b/drivers/media/pci/intel/ipu6/ipu6-dma.c > index 1ca60ca79dba..ffcd43703d6a 100644 > --- a/drivers/media/pci/intel/ipu6/ipu6-dma.c > +++ b/drivers/media/pci/intel/ipu6/ipu6-dma.c > @@ -294,7 +294,7 @@ void ipu6_dma_free(struct ipu6_bus_device *sys, size_t size, void *vaddr, > } > EXPORT_SYMBOL_NS_GPL(ipu6_dma_free, "INTEL_IPU6"); > > -int ipu6_dma_mmap(struct ipu6_bus_device *sys, struct vm_area_struct *vma, > +int ipu6_dma_mmap(struct ipu6_bus_device *sys, struct mm_area *vma, > void *addr, dma_addr_t iova, size_t size, > unsigned long attrs) > { > diff --git a/drivers/media/pci/intel/ipu6/ipu6-dma.h b/drivers/media/pci/intel/ipu6/ipu6-dma.h > index 2882850d9366..8c63e2883ebb 100644 > --- a/drivers/media/pci/intel/ipu6/ipu6-dma.h > +++ b/drivers/media/pci/intel/ipu6/ipu6-dma.h > @@ -30,7 +30,7 @@ void *ipu6_dma_alloc(struct ipu6_bus_device *sys, size_t size, > unsigned long attrs); > void ipu6_dma_free(struct ipu6_bus_device *sys, size_t size, void *vaddr, > dma_addr_t dma_handle, unsigned long attrs); > -int ipu6_dma_mmap(struct ipu6_bus_device *sys, struct vm_area_struct *vma, > +int ipu6_dma_mmap(struct ipu6_bus_device *sys, struct mm_area *vma, > void *addr, dma_addr_t iova, size_t size, > unsigned long attrs); > int ipu6_dma_map_sg(struct ipu6_bus_device *sys, struct scatterlist *sglist, > diff --git a/drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c b/drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c > index 4bda1c369c44..8c35172b0e38 100644 > --- a/drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c > +++ b/drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c > @@ -703,7 +703,7 @@ static __poll_t gsc_m2m_poll(struct file *file, > return ret; > } > > -static int gsc_m2m_mmap(struct file *file, struct vm_area_struct *vma) > +static int gsc_m2m_mmap(struct file *file, struct mm_area *vma) > { > struct gsc_ctx *ctx = fh_to_ctx(file->private_data); > struct gsc_dev *gsc = ctx->gsc_dev; > diff --git a/drivers/media/platform/samsung/s3c-camif/camif-capture.c b/drivers/media/platform/samsung/s3c-camif/camif-capture.c > index bd1149e8abc2..5ee766d8c40e 100644 > --- a/drivers/media/platform/samsung/s3c-camif/camif-capture.c > +++ b/drivers/media/platform/samsung/s3c-camif/camif-capture.c > @@ -604,7 +604,7 @@ static __poll_t s3c_camif_poll(struct file *file, > return ret; > } > > -static int s3c_camif_mmap(struct file *file, struct vm_area_struct *vma) > +static int s3c_camif_mmap(struct file *file, struct mm_area *vma) > { > struct camif_vp *vp = video_drvdata(file); > int ret; > diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c > index 5f80931f056d..81656e3f2c49 100644 > --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c > +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c > @@ -1062,7 +1062,7 @@ static __poll_t s5p_mfc_poll(struct file *file, > } > > /* Mmap */ > -static int s5p_mfc_mmap(struct file *file, struct vm_area_struct *vma) > +static int s5p_mfc_mmap(struct file *file, struct mm_area *vma) > { > struct s5p_mfc_ctx *ctx = fh_to_ctx(file->private_data); > unsigned long offset = vma->vm_pgoff << PAGE_SHIFT; > diff --git a/drivers/media/platform/ti/omap3isp/ispvideo.c b/drivers/media/platform/ti/omap3isp/ispvideo.c > index 5c9aa80023fd..ddab948fa88f 100644 > --- a/drivers/media/platform/ti/omap3isp/ispvideo.c > +++ b/drivers/media/platform/ti/omap3isp/ispvideo.c > @@ -1401,7 +1401,7 @@ static __poll_t isp_video_poll(struct file *file, poll_table *wait) > return ret; > } > > -static int isp_video_mmap(struct file *file, struct vm_area_struct *vma) > +static int isp_video_mmap(struct file *file, struct mm_area *vma) > { > struct isp_video_fh *vfh = to_isp_video_fh(file->private_data); > > diff --git a/drivers/media/usb/uvc/uvc_queue.c b/drivers/media/usb/uvc/uvc_queue.c > index 2ee142621042..25642a2e8eec 100644 > --- a/drivers/media/usb/uvc/uvc_queue.c > +++ b/drivers/media/usb/uvc/uvc_queue.c > @@ -346,7 +346,7 @@ int uvc_queue_streamoff(struct uvc_video_queue *queue, enum v4l2_buf_type type) > return ret; > } > > -int uvc_queue_mmap(struct uvc_video_queue *queue, struct vm_area_struct *vma) > +int uvc_queue_mmap(struct uvc_video_queue *queue, struct mm_area *vma) > { > return vb2_mmap(&queue->queue, vma); > } > diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c > index 39065db44e86..f73fd604a62d 100644 > --- a/drivers/media/usb/uvc/uvc_v4l2.c > +++ b/drivers/media/usb/uvc/uvc_v4l2.c > @@ -1413,7 +1413,7 @@ static ssize_t uvc_v4l2_read(struct file *file, char __user *data, > return -EINVAL; > } > > -static int uvc_v4l2_mmap(struct file *file, struct vm_area_struct *vma) > +static int uvc_v4l2_mmap(struct file *file, struct mm_area *vma) > { > struct uvc_fh *handle = file->private_data; > struct uvc_streaming *stream = handle->stream; > diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h > index b4ee701835fc..a56e30f5a487 100644 > --- a/drivers/media/usb/uvc/uvcvideo.h > +++ b/drivers/media/usb/uvc/uvcvideo.h > @@ -708,7 +708,7 @@ struct uvc_buffer *uvc_queue_next_buffer(struct uvc_video_queue *queue, > struct uvc_buffer *uvc_queue_get_current_buffer(struct uvc_video_queue *queue); > void uvc_queue_buffer_release(struct uvc_buffer *buf); > int uvc_queue_mmap(struct uvc_video_queue *queue, > - struct vm_area_struct *vma); > + struct mm_area *vma); > __poll_t uvc_queue_poll(struct uvc_video_queue *queue, struct file *file, > poll_table *wait); > #ifndef CONFIG_MMU > diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c > index b40c08ce909d..172f16bd0d79 100644 > --- a/drivers/media/v4l2-core/v4l2-dev.c > +++ b/drivers/media/v4l2-core/v4l2-dev.c > @@ -392,7 +392,7 @@ static unsigned long v4l2_get_unmapped_area(struct file *filp, > } > #endif > > -static int v4l2_mmap(struct file *filp, struct vm_area_struct *vm) > +static int v4l2_mmap(struct file *filp, struct mm_area *vm) > { > struct video_device *vdev = video_devdata(filp); > int ret = -ENODEV; > diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c > index eb22d6172462..219609e59ee1 100644 > --- a/drivers/media/v4l2-core/v4l2-mem2mem.c > +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c > @@ -983,7 +983,7 @@ __poll_t v4l2_m2m_poll(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, > EXPORT_SYMBOL_GPL(v4l2_m2m_poll); > > int v4l2_m2m_mmap(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > unsigned long offset = vma->vm_pgoff << PAGE_SHIFT; > struct vb2_queue *vq; > @@ -1615,7 +1615,7 @@ EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_stateless_decoder_cmd); > * for the output and the capture buffer queue. > */ > > -int v4l2_m2m_fop_mmap(struct file *file, struct vm_area_struct *vma) > +int v4l2_m2m_fop_mmap(struct file *file, struct mm_area *vma) > { > struct v4l2_fh *fh = file->private_data; > > diff --git a/drivers/misc/bcm-vk/bcm_vk_dev.c b/drivers/misc/bcm-vk/bcm_vk_dev.c > index d4a96137728d..5742434e1178 100644 > --- a/drivers/misc/bcm-vk/bcm_vk_dev.c > +++ b/drivers/misc/bcm-vk/bcm_vk_dev.c > @@ -1201,7 +1201,7 @@ static long bcm_vk_reset(struct bcm_vk *vk, struct vk_reset __user *arg) > return ret; > } > > -static int bcm_vk_mmap(struct file *file, struct vm_area_struct *vma) > +static int bcm_vk_mmap(struct file *file, struct mm_area *vma) > { > struct bcm_vk_ctx *ctx = file->private_data; > struct bcm_vk *vk = container_of(ctx->miscdev, struct bcm_vk, miscdev); > diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c > index 7b7a22c91fe4..e8c4ed8aea52 100644 > --- a/drivers/misc/fastrpc.c > +++ b/drivers/misc/fastrpc.c > @@ -731,7 +731,7 @@ static int fastrpc_vmap(struct dma_buf *dmabuf, struct iosys_map *map) > } > > static int fastrpc_mmap(struct dma_buf *dmabuf, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct fastrpc_buf *buf = dmabuf->priv; > size_t size = vma->vm_end - vma->vm_start; > @@ -984,7 +984,7 @@ static int fastrpc_get_args(u32 kernel, struct fastrpc_invoke_ctx *ctx) > continue; > > if (ctx->maps[i]) { > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > > rpra[i].buf.pv = (u64) ctx->args[i].ptr; > pages[i].addr = ctx->maps[i]->phys; > diff --git a/drivers/misc/genwqe/card_dev.c b/drivers/misc/genwqe/card_dev.c > index 4441aca2280a..acff9681d657 100644 > --- a/drivers/misc/genwqe/card_dev.c > +++ b/drivers/misc/genwqe/card_dev.c > @@ -376,7 +376,7 @@ static int genwqe_release(struct inode *inode, struct file *filp) > return 0; > } > > -static void genwqe_vma_open(struct vm_area_struct *vma) > +static void genwqe_vma_open(struct mm_area *vma) > { > /* nothing ... */ > } > @@ -387,7 +387,7 @@ static void genwqe_vma_open(struct vm_area_struct *vma) > * > * Free memory which got allocated by GenWQE mmap(). > */ > -static void genwqe_vma_close(struct vm_area_struct *vma) > +static void genwqe_vma_close(struct mm_area *vma) > { > unsigned long vsize = vma->vm_end - vma->vm_start; > struct inode *inode = file_inode(vma->vm_file); > @@ -432,7 +432,7 @@ static const struct vm_operations_struct genwqe_vma_ops = { > * plain buffer, we lookup our dma_mapping list to find the > * corresponding DMA address for the associated user-space address. > */ > -static int genwqe_mmap(struct file *filp, struct vm_area_struct *vma) > +static int genwqe_mmap(struct file *filp, struct mm_area *vma) > { > int rc; > unsigned long pfn, vsize = vma->vm_end - vma->vm_start; > diff --git a/drivers/misc/ocxl/context.c b/drivers/misc/ocxl/context.c > index cded7d1caf32..da4b82b2c938 100644 > --- a/drivers/misc/ocxl/context.c > +++ b/drivers/misc/ocxl/context.c > @@ -95,7 +95,7 @@ int ocxl_context_attach(struct ocxl_context *ctx, u64 amr, struct mm_struct *mm) > } > EXPORT_SYMBOL_GPL(ocxl_context_attach); > > -static vm_fault_t map_afu_irq(struct vm_area_struct *vma, unsigned long address, > +static vm_fault_t map_afu_irq(struct mm_area *vma, unsigned long address, > u64 offset, struct ocxl_context *ctx) > { > u64 trigger_addr; > @@ -108,7 +108,7 @@ static vm_fault_t map_afu_irq(struct vm_area_struct *vma, unsigned long address, > return vmf_insert_pfn(vma, address, trigger_addr >> PAGE_SHIFT); > } > > -static vm_fault_t map_pp_mmio(struct vm_area_struct *vma, unsigned long address, > +static vm_fault_t map_pp_mmio(struct mm_area *vma, unsigned long address, > u64 offset, struct ocxl_context *ctx) > { > u64 pp_mmio_addr; > @@ -138,7 +138,7 @@ static vm_fault_t map_pp_mmio(struct vm_area_struct *vma, unsigned long address, > > static vm_fault_t ocxl_mmap_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct ocxl_context *ctx = vma->vm_file->private_data; > u64 offset; > vm_fault_t ret; > @@ -159,7 +159,7 @@ static const struct vm_operations_struct ocxl_vmops = { > }; > > static int check_mmap_afu_irq(struct ocxl_context *ctx, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > int irq_id = ocxl_irq_offset_to_id(ctx, vma->vm_pgoff << PAGE_SHIFT); > > @@ -185,7 +185,7 @@ static int check_mmap_afu_irq(struct ocxl_context *ctx, > } > > static int check_mmap_mmio(struct ocxl_context *ctx, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > if ((vma_pages(vma) + vma->vm_pgoff) > > (ctx->afu->config.pp_mmio_stride >> PAGE_SHIFT)) > @@ -193,7 +193,7 @@ static int check_mmap_mmio(struct ocxl_context *ctx, > return 0; > } > > -int ocxl_context_mmap(struct ocxl_context *ctx, struct vm_area_struct *vma) > +int ocxl_context_mmap(struct ocxl_context *ctx, struct mm_area *vma) > { > int rc; > > diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c > index 7eb74711ac96..68ce28450ac8 100644 > --- a/drivers/misc/ocxl/file.c > +++ b/drivers/misc/ocxl/file.c > @@ -289,7 +289,7 @@ static long afu_compat_ioctl(struct file *file, unsigned int cmd, > return afu_ioctl(file, cmd, args); > } > > -static int afu_mmap(struct file *file, struct vm_area_struct *vma) > +static int afu_mmap(struct file *file, struct mm_area *vma) > { > struct ocxl_context *ctx = file->private_data; > > diff --git a/drivers/misc/ocxl/ocxl_internal.h b/drivers/misc/ocxl/ocxl_internal.h > index d2028d6c6f08..4008b894d983 100644 > --- a/drivers/misc/ocxl/ocxl_internal.h > +++ b/drivers/misc/ocxl/ocxl_internal.h > @@ -139,7 +139,7 @@ int ocxl_config_check_afu_index(struct pci_dev *dev, > int ocxl_link_update_pe(void *link_handle, int pasid, __u16 tid); > > int ocxl_context_mmap(struct ocxl_context *ctx, > - struct vm_area_struct *vma); > + struct mm_area *vma); > void ocxl_context_detach_all(struct ocxl_afu *afu); > > int ocxl_sysfs_register_afu(struct ocxl_file_info *info); > diff --git a/drivers/misc/ocxl/sysfs.c b/drivers/misc/ocxl/sysfs.c > index e849641687a0..2ba0dc539358 100644 > --- a/drivers/misc/ocxl/sysfs.c > +++ b/drivers/misc/ocxl/sysfs.c > @@ -108,7 +108,7 @@ static ssize_t global_mmio_read(struct file *filp, struct kobject *kobj, > > static vm_fault_t global_mmio_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct ocxl_afu *afu = vma->vm_private_data; > unsigned long offset; > > @@ -126,7 +126,7 @@ static const struct vm_operations_struct global_mmio_vmops = { > > static int global_mmio_mmap(struct file *filp, struct kobject *kobj, > const struct bin_attribute *bin_attr, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct ocxl_afu *afu = to_afu(kobj_to_dev(kobj)); > > diff --git a/drivers/misc/open-dice.c b/drivers/misc/open-dice.c > index 24c29e0f00ef..d763a0bd0c8a 100644 > --- a/drivers/misc/open-dice.c > +++ b/drivers/misc/open-dice.c > @@ -86,7 +86,7 @@ static ssize_t open_dice_write(struct file *filp, const char __user *ptr, > /* > * Creates a mapping of the reserved memory region in user address space. > */ > -static int open_dice_mmap(struct file *filp, struct vm_area_struct *vma) > +static int open_dice_mmap(struct file *filp, struct mm_area *vma) > { > struct open_dice_drvdata *drvdata = to_open_dice_drvdata(filp); > > diff --git a/drivers/misc/sgi-gru/grufault.c b/drivers/misc/sgi-gru/grufault.c > index 3557d78ee47a..a97dde2c3775 100644 > --- a/drivers/misc/sgi-gru/grufault.c > +++ b/drivers/misc/sgi-gru/grufault.c > @@ -45,9 +45,9 @@ static inline int is_gru_paddr(unsigned long paddr) > /* > * Find the vma of a GRU segment. Caller must hold mmap_lock. > */ > -struct vm_area_struct *gru_find_vma(unsigned long vaddr) > +struct mm_area *gru_find_vma(unsigned long vaddr) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > vma = vma_lookup(current->mm, vaddr); > if (vma && vma->vm_ops == &gru_vm_ops) > @@ -66,7 +66,7 @@ struct vm_area_struct *gru_find_vma(unsigned long vaddr) > static struct gru_thread_state *gru_find_lock_gts(unsigned long vaddr) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct gru_thread_state *gts = NULL; > > mmap_read_lock(mm); > @@ -83,7 +83,7 @@ static struct gru_thread_state *gru_find_lock_gts(unsigned long vaddr) > static struct gru_thread_state *gru_alloc_locked_gts(unsigned long vaddr) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct gru_thread_state *gts = ERR_PTR(-EINVAL); > > mmap_write_lock(mm); > @@ -174,7 +174,7 @@ static void get_clear_fault_map(struct gru_state *gru, > * < 0 - error code > * 1 - (atomic only) try again in non-atomic context > */ > -static int non_atomic_pte_lookup(struct vm_area_struct *vma, > +static int non_atomic_pte_lookup(struct mm_area *vma, > unsigned long vaddr, int write, > unsigned long *paddr, int *pageshift) > { > @@ -202,7 +202,7 @@ static int non_atomic_pte_lookup(struct vm_area_struct *vma, > * NOTE: mmap_lock is already held on entry to this function. This > * guarantees existence of the page tables. > */ > -static int atomic_pte_lookup(struct vm_area_struct *vma, unsigned long vaddr, > +static int atomic_pte_lookup(struct mm_area *vma, unsigned long vaddr, > int write, unsigned long *paddr, int *pageshift) > { > pgd_t *pgdp; > @@ -253,7 +253,7 @@ static int gru_vtop(struct gru_thread_state *gts, unsigned long vaddr, > int write, int atomic, unsigned long *gpa, int *pageshift) > { > struct mm_struct *mm = gts->ts_mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long paddr; > int ret, ps; > > diff --git a/drivers/misc/sgi-gru/grufile.c b/drivers/misc/sgi-gru/grufile.c > index e755690c9805..b831fdb27841 100644 > --- a/drivers/misc/sgi-gru/grufile.c > +++ b/drivers/misc/sgi-gru/grufile.c > @@ -58,7 +58,7 @@ static int gru_supported(void) > * Called when unmapping a device mapping. Frees all gru resources > * and tables belonging to the vma. > */ > -static void gru_vma_close(struct vm_area_struct *vma) > +static void gru_vma_close(struct mm_area *vma) > { > struct gru_vma_data *vdata; > struct gru_thread_state *gts; > @@ -92,7 +92,7 @@ static void gru_vma_close(struct vm_area_struct *vma) > * and private data structure necessary to allocate, track, and free the > * underlying pages. > */ > -static int gru_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int gru_file_mmap(struct file *file, struct mm_area *vma) > { > if ((vma->vm_flags & (VM_SHARED | VM_WRITE)) != (VM_SHARED | VM_WRITE)) > return -EPERM; > @@ -121,7 +121,7 @@ static int gru_file_mmap(struct file *file, struct vm_area_struct *vma) > static int gru_create_new_context(unsigned long arg) > { > struct gru_create_context_req req; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct gru_vma_data *vdata; > int ret = -EINVAL; > > diff --git a/drivers/misc/sgi-gru/grumain.c b/drivers/misc/sgi-gru/grumain.c > index 3036c15f3689..96374726d7e6 100644 > --- a/drivers/misc/sgi-gru/grumain.c > +++ b/drivers/misc/sgi-gru/grumain.c > @@ -303,7 +303,7 @@ static struct gru_thread_state *gru_find_current_gts_nolock(struct gru_vma_data > /* > * Allocate a thread state structure. > */ > -struct gru_thread_state *gru_alloc_gts(struct vm_area_struct *vma, > +struct gru_thread_state *gru_alloc_gts(struct mm_area *vma, > int cbr_au_count, int dsr_au_count, > unsigned char tlb_preload_count, int options, int tsid) > { > @@ -352,7 +352,7 @@ struct gru_thread_state *gru_alloc_gts(struct vm_area_struct *vma, > /* > * Allocate a vma private data structure. > */ > -struct gru_vma_data *gru_alloc_vma_data(struct vm_area_struct *vma, int tsid) > +struct gru_vma_data *gru_alloc_vma_data(struct mm_area *vma, int tsid) > { > struct gru_vma_data *vdata = NULL; > > @@ -370,7 +370,7 @@ struct gru_vma_data *gru_alloc_vma_data(struct vm_area_struct *vma, int tsid) > /* > * Find the thread state structure for the current thread. > */ > -struct gru_thread_state *gru_find_thread_state(struct vm_area_struct *vma, > +struct gru_thread_state *gru_find_thread_state(struct mm_area *vma, > int tsid) > { > struct gru_vma_data *vdata = vma->vm_private_data; > @@ -387,7 +387,7 @@ struct gru_thread_state *gru_find_thread_state(struct vm_area_struct *vma, > * Allocate a new thread state for a GSEG. Note that races may allow > * another thread to race to create a gts. > */ > -struct gru_thread_state *gru_alloc_thread_state(struct vm_area_struct *vma, > +struct gru_thread_state *gru_alloc_thread_state(struct mm_area *vma, > int tsid) > { > struct gru_vma_data *vdata = vma->vm_private_data; > @@ -920,7 +920,7 @@ struct gru_state *gru_assign_gru_context(struct gru_thread_state *gts) > */ > vm_fault_t gru_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct gru_thread_state *gts; > unsigned long paddr, vaddr; > unsigned long expires; > diff --git a/drivers/misc/sgi-gru/grutables.h b/drivers/misc/sgi-gru/grutables.h > index 640daf1994df..cd0756f1e7c4 100644 > --- a/drivers/misc/sgi-gru/grutables.h > +++ b/drivers/misc/sgi-gru/grutables.h > @@ -337,7 +337,7 @@ struct gru_thread_state { > struct mutex ts_ctxlock; /* load/unload CTX lock */ > struct mm_struct *ts_mm; /* mm currently mapped to > context */ > - struct vm_area_struct *ts_vma; /* vma of GRU context */ > + struct mm_area *ts_vma; /* vma of GRU context */ > struct gru_state *ts_gru; /* GRU where the context is > loaded */ > struct gru_mm_struct *ts_gms; /* asid & ioproc struct */ > @@ -607,11 +607,11 @@ struct gru_unload_context_req; > extern const struct vm_operations_struct gru_vm_ops; > extern struct device *grudev; > > -extern struct gru_vma_data *gru_alloc_vma_data(struct vm_area_struct *vma, > +extern struct gru_vma_data *gru_alloc_vma_data(struct mm_area *vma, > int tsid); > -extern struct gru_thread_state *gru_find_thread_state(struct vm_area_struct > +extern struct gru_thread_state *gru_find_thread_state(struct mm_area > *vma, int tsid); > -extern struct gru_thread_state *gru_alloc_thread_state(struct vm_area_struct > +extern struct gru_thread_state *gru_alloc_thread_state(struct mm_area > *vma, int tsid); > extern struct gru_state *gru_assign_gru_context(struct gru_thread_state *gts); > extern void gru_load_context(struct gru_thread_state *gts); > @@ -634,12 +634,12 @@ extern int gru_get_exception_detail(unsigned long arg); > extern int gru_set_context_option(unsigned long address); > extern int gru_check_context_placement(struct gru_thread_state *gts); > extern int gru_cpu_fault_map_id(void); > -extern struct vm_area_struct *gru_find_vma(unsigned long vaddr); > +extern struct mm_area *gru_find_vma(unsigned long vaddr); > extern void gru_flush_all_tlb(struct gru_state *gru); > extern int gru_proc_init(void); > extern void gru_proc_exit(void); > > -extern struct gru_thread_state *gru_alloc_gts(struct vm_area_struct *vma, > +extern struct gru_thread_state *gru_alloc_gts(struct mm_area *vma, > int cbr_au_count, int dsr_au_count, > unsigned char tlb_preload_count, int options, int tsid); > extern unsigned long gru_reserve_cb_resources(struct gru_state *gru, > diff --git a/drivers/misc/uacce/uacce.c b/drivers/misc/uacce/uacce.c > index bdc2e6fda782..316f5f5af318 100644 > --- a/drivers/misc/uacce/uacce.c > +++ b/drivers/misc/uacce/uacce.c > @@ -200,7 +200,7 @@ static int uacce_fops_release(struct inode *inode, struct file *filep) > return 0; > } > > -static void uacce_vma_close(struct vm_area_struct *vma) > +static void uacce_vma_close(struct mm_area *vma) > { > struct uacce_queue *q = vma->vm_private_data; > > @@ -218,7 +218,7 @@ static const struct vm_operations_struct uacce_vm_ops = { > .close = uacce_vma_close, > }; > > -static int uacce_fops_mmap(struct file *filep, struct vm_area_struct *vma) > +static int uacce_fops_mmap(struct file *filep, struct mm_area *vma) > { > struct uacce_queue *q = filep->private_data; > struct uacce_device *uacce = q->uacce; > diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c > index 8dc4f5c493fc..389461af2b3e 100644 > --- a/drivers/mtd/mtdchar.c > +++ b/drivers/mtd/mtdchar.c > @@ -1374,7 +1374,7 @@ static unsigned mtdchar_mmap_capabilities(struct file *file) > /* > * set up a mapping for shared memory segments > */ > -static int mtdchar_mmap(struct file *file, struct vm_area_struct *vma) > +static int mtdchar_mmap(struct file *file, struct mm_area *vma) > { > #ifdef CONFIG_MMU > struct mtd_file_info *mfi = file->private_data; > diff --git a/drivers/pci/mmap.c b/drivers/pci/mmap.c > index 8da3347a95c4..183568aa7b8c 100644 > --- a/drivers/pci/mmap.c > +++ b/drivers/pci/mmap.c > @@ -22,7 +22,7 @@ static const struct vm_operations_struct pci_phys_vm_ops = { > }; > > int pci_mmap_resource_range(struct pci_dev *pdev, int bar, > - struct vm_area_struct *vma, > + struct mm_area *vma, > enum pci_mmap_state mmap_state, int write_combine) > { > unsigned long size; > @@ -56,7 +56,7 @@ int pci_mmap_resource_range(struct pci_dev *pdev, int bar, > #if (defined(CONFIG_SYSFS) || defined(CONFIG_PROC_FS)) && \ > (defined(HAVE_PCI_MMAP) || defined(ARCH_GENERIC_PCI_MMAP_RESOURCE)) > > -int pci_mmap_fits(struct pci_dev *pdev, int resno, struct vm_area_struct *vma, > +int pci_mmap_fits(struct pci_dev *pdev, int resno, struct mm_area *vma, > enum pci_mmap_api mmap_api) > { > resource_size_t pci_start = 0, pci_end; > diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c > index 19214ec81fbb..ba40bd4cb2a1 100644 > --- a/drivers/pci/p2pdma.c > +++ b/drivers/pci/p2pdma.c > @@ -90,7 +90,7 @@ static ssize_t published_show(struct device *dev, struct device_attribute *attr, > static DEVICE_ATTR_RO(published); > > static int p2pmem_alloc_mmap(struct file *filp, struct kobject *kobj, > - const struct bin_attribute *attr, struct vm_area_struct *vma) > + const struct bin_attribute *attr, struct mm_area *vma) > { > struct pci_dev *pdev = to_pci_dev(kobj_to_dev(kobj)); > size_t len = vma->vm_end - vma->vm_start; > diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c > index c6cda56ca52c..4ceec1061fe5 100644 > --- a/drivers/pci/pci-sysfs.c > +++ b/drivers/pci/pci-sysfs.c > @@ -930,7 +930,7 @@ static ssize_t pci_write_legacy_io(struct file *filp, struct kobject *kobj, > * @filp: open sysfs file > * @kobj: kobject corresponding to device to be mapped > * @attr: struct bin_attribute for this file > - * @vma: struct vm_area_struct passed to mmap > + * @vma: struct mm_area passed to mmap > * > * Uses an arch specific callback, pci_mmap_legacy_mem_page_range, to mmap > * legacy memory space (first meg of bus space) into application virtual > @@ -938,7 +938,7 @@ static ssize_t pci_write_legacy_io(struct file *filp, struct kobject *kobj, > */ > static int pci_mmap_legacy_mem(struct file *filp, struct kobject *kobj, > const struct bin_attribute *attr, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct pci_bus *bus = to_pci_bus(kobj_to_dev(kobj)); > > @@ -950,7 +950,7 @@ static int pci_mmap_legacy_mem(struct file *filp, struct kobject *kobj, > * @filp: open sysfs file > * @kobj: kobject corresponding to device to be mapped > * @attr: struct bin_attribute for this file > - * @vma: struct vm_area_struct passed to mmap > + * @vma: struct mm_area passed to mmap > * > * Uses an arch specific callback, pci_mmap_legacy_io_page_range, to mmap > * legacy IO space (first meg of bus space) into application virtual > @@ -958,7 +958,7 @@ static int pci_mmap_legacy_mem(struct file *filp, struct kobject *kobj, > */ > static int pci_mmap_legacy_io(struct file *filp, struct kobject *kobj, > const struct bin_attribute *attr, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct pci_bus *bus = to_pci_bus(kobj_to_dev(kobj)); > > @@ -1056,13 +1056,13 @@ void pci_remove_legacy_files(struct pci_bus *b) > * pci_mmap_resource - map a PCI resource into user memory space > * @kobj: kobject for mapping > * @attr: struct bin_attribute for the file being mapped > - * @vma: struct vm_area_struct passed into the mmap > + * @vma: struct mm_area passed into the mmap > * @write_combine: 1 for write_combine mapping > * > * Use the regular PCI mapping routines to map a PCI resource into userspace. > */ > static int pci_mmap_resource(struct kobject *kobj, const struct bin_attribute *attr, > - struct vm_area_struct *vma, int write_combine) > + struct mm_area *vma, int write_combine) > { > struct pci_dev *pdev = to_pci_dev(kobj_to_dev(kobj)); > int bar = (unsigned long)attr->private; > @@ -1087,14 +1087,14 @@ static int pci_mmap_resource(struct kobject *kobj, const struct bin_attribute *a > > static int pci_mmap_resource_uc(struct file *filp, struct kobject *kobj, > const struct bin_attribute *attr, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return pci_mmap_resource(kobj, attr, vma, 0); > } > > static int pci_mmap_resource_wc(struct file *filp, struct kobject *kobj, > const struct bin_attribute *attr, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return pci_mmap_resource(kobj, attr, vma, 1); > } > diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h > index b81e99cd4b62..3595cd20c401 100644 > --- a/drivers/pci/pci.h > +++ b/drivers/pci/pci.h > @@ -99,7 +99,7 @@ enum pci_mmap_api { > PCI_MMAP_SYSFS, /* mmap on /sys/bus/pci/devices//resource */ > PCI_MMAP_PROCFS /* mmap on /proc/bus/pci/ */ > }; > -int pci_mmap_fits(struct pci_dev *pdev, int resno, struct vm_area_struct *vmai, > +int pci_mmap_fits(struct pci_dev *pdev, int resno, struct mm_area *vmai, > enum pci_mmap_api mmap_api); > > bool pci_reset_supported(struct pci_dev *dev); > diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c > index 9348a0fb8084..bb9b1a16c6b4 100644 > --- a/drivers/pci/proc.c > +++ b/drivers/pci/proc.c > @@ -240,7 +240,7 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd, > } > > #ifdef HAVE_PCI_MMAP > -static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma) > +static int proc_bus_pci_mmap(struct file *file, struct mm_area *vma) > { > struct pci_dev *dev = pde_data(file_inode(file)); > struct pci_filp_private *fpriv = file->private_data; > diff --git a/drivers/platform/x86/intel/pmt/class.c b/drivers/platform/x86/intel/pmt/class.c > index 7233b654bbad..1757c1109a16 100644 > --- a/drivers/platform/x86/intel/pmt/class.c > +++ b/drivers/platform/x86/intel/pmt/class.c > @@ -105,7 +105,7 @@ intel_pmt_read(struct file *filp, struct kobject *kobj, > > static int > intel_pmt_mmap(struct file *filp, struct kobject *kobj, > - const struct bin_attribute *attr, struct vm_area_struct *vma) > + const struct bin_attribute *attr, struct mm_area *vma) > { > struct intel_pmt_entry *entry = container_of(attr, > struct intel_pmt_entry, > diff --git a/drivers/ptp/ptp_vmclock.c b/drivers/ptp/ptp_vmclock.c > index b3a83b03d9c1..b1dddbc99ce7 100644 > --- a/drivers/ptp/ptp_vmclock.c > +++ b/drivers/ptp/ptp_vmclock.c > @@ -357,7 +357,7 @@ static struct ptp_clock *vmclock_ptp_register(struct device *dev, > return ptp_clock_register(&st->ptp_clock_info, dev); > } > > -static int vmclock_miscdev_mmap(struct file *fp, struct vm_area_struct *vma) > +static int vmclock_miscdev_mmap(struct file *fp, struct mm_area *vma) > { > struct vmclock_state *st = container_of(fp->private_data, > struct vmclock_state, miscdev); > diff --git a/drivers/rapidio/devices/rio_mport_cdev.c b/drivers/rapidio/devices/rio_mport_cdev.c > index cbf531d0ba68..e6f7cd47e550 100644 > --- a/drivers/rapidio/devices/rio_mport_cdev.c > +++ b/drivers/rapidio/devices/rio_mport_cdev.c > @@ -2173,7 +2173,7 @@ static void mport_release_mapping(struct kref *ref) > kfree(map); > } > > -static void mport_mm_open(struct vm_area_struct *vma) > +static void mport_mm_open(struct mm_area *vma) > { > struct rio_mport_mapping *map = vma->vm_private_data; > > @@ -2181,7 +2181,7 @@ static void mport_mm_open(struct vm_area_struct *vma) > kref_get(&map->ref); > } > > -static void mport_mm_close(struct vm_area_struct *vma) > +static void mport_mm_close(struct mm_area *vma) > { > struct rio_mport_mapping *map = vma->vm_private_data; > > @@ -2196,7 +2196,7 @@ static const struct vm_operations_struct vm_ops = { > .close = mport_mm_close, > }; > > -static int mport_cdev_mmap(struct file *filp, struct vm_area_struct *vma) > +static int mport_cdev_mmap(struct file *filp, struct mm_area *vma) > { > struct mport_cdev_priv *priv = filp->private_data; > struct mport_dev *md; > diff --git a/drivers/sbus/char/flash.c b/drivers/sbus/char/flash.c > index 6524a4a19109..20e2687a4cc7 100644 > --- a/drivers/sbus/char/flash.c > +++ b/drivers/sbus/char/flash.c > @@ -31,7 +31,7 @@ static struct { > } flash; > > static int > -flash_mmap(struct file *file, struct vm_area_struct *vma) > +flash_mmap(struct file *file, struct mm_area *vma) > { > unsigned long addr; > unsigned long size; > diff --git a/drivers/sbus/char/oradax.c b/drivers/sbus/char/oradax.c > index a536dd6f4f7c..151f9f99565f 100644 > --- a/drivers/sbus/char/oradax.c > +++ b/drivers/sbus/char/oradax.c > @@ -208,7 +208,7 @@ static ssize_t dax_read(struct file *filp, char __user *buf, > size_t count, loff_t *ppos); > static ssize_t dax_write(struct file *filp, const char __user *buf, > size_t count, loff_t *ppos); > -static int dax_devmap(struct file *f, struct vm_area_struct *vma); > +static int dax_devmap(struct file *f, struct mm_area *vma); > static int dax_close(struct inode *i, struct file *f); > > static const struct file_operations dax_fops = { > @@ -368,7 +368,7 @@ static void __exit dax_detach(void) > module_exit(dax_detach); > > /* map completion area */ > -static int dax_devmap(struct file *f, struct vm_area_struct *vma) > +static int dax_devmap(struct file *f, struct mm_area *vma) > { > struct dax_ctx *ctx = (struct dax_ctx *)f->private_data; > size_t len = vma->vm_end - vma->vm_start; > diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c > index effb7e768165..a20fc2341c3c 100644 > --- a/drivers/scsi/sg.c > +++ b/drivers/scsi/sg.c > @@ -1214,7 +1214,7 @@ sg_fasync(int fd, struct file *filp, int mode) > static vm_fault_t > sg_vma_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > Sg_fd *sfp; > unsigned long offset, len, sa; > Sg_scatter_hold *rsv_schp; > @@ -1253,7 +1253,7 @@ static const struct vm_operations_struct sg_mmap_vm_ops = { > }; > > static int > -sg_mmap(struct file *filp, struct vm_area_struct *vma) > +sg_mmap(struct file *filp, struct mm_area *vma) > { > Sg_fd *sfp; > unsigned long req_sz, len, sa; > diff --git a/drivers/soc/aspeed/aspeed-lpc-ctrl.c b/drivers/soc/aspeed/aspeed-lpc-ctrl.c > index ee58151bd69e..9a64d76880a9 100644 > --- a/drivers/soc/aspeed/aspeed-lpc-ctrl.c > +++ b/drivers/soc/aspeed/aspeed-lpc-ctrl.c > @@ -46,7 +46,7 @@ static struct aspeed_lpc_ctrl *file_aspeed_lpc_ctrl(struct file *file) > miscdev); > } > > -static int aspeed_lpc_ctrl_mmap(struct file *file, struct vm_area_struct *vma) > +static int aspeed_lpc_ctrl_mmap(struct file *file, struct mm_area *vma) > { > struct aspeed_lpc_ctrl *lpc_ctrl = file_aspeed_lpc_ctrl(file); > unsigned long vsize = vma->vm_end - vma->vm_start; > diff --git a/drivers/soc/aspeed/aspeed-p2a-ctrl.c b/drivers/soc/aspeed/aspeed-p2a-ctrl.c > index 6cc943744e12..8ad07f33f25c 100644 > --- a/drivers/soc/aspeed/aspeed-p2a-ctrl.c > +++ b/drivers/soc/aspeed/aspeed-p2a-ctrl.c > @@ -97,7 +97,7 @@ static void aspeed_p2a_disable_bridge(struct aspeed_p2a_ctrl *p2a_ctrl) > regmap_update_bits(p2a_ctrl->regmap, SCU180, SCU180_ENP2A, 0); > } > > -static int aspeed_p2a_mmap(struct file *file, struct vm_area_struct *vma) > +static int aspeed_p2a_mmap(struct file *file, struct mm_area *vma) > { > unsigned long vsize; > pgprot_t prot; > diff --git a/drivers/soc/qcom/rmtfs_mem.c b/drivers/soc/qcom/rmtfs_mem.c > index 1b32469f2789..f07526023635 100644 > --- a/drivers/soc/qcom/rmtfs_mem.c > +++ b/drivers/soc/qcom/rmtfs_mem.c > @@ -129,7 +129,7 @@ static const struct class rmtfs_class = { > .name = "rmtfs", > }; > > -static int qcom_rmtfs_mem_mmap(struct file *filep, struct vm_area_struct *vma) > +static int qcom_rmtfs_mem_mmap(struct file *filep, struct mm_area *vma) > { > struct qcom_rmtfs_mem *rmtfs_mem = filep->private_data; > > diff --git a/drivers/staging/media/atomisp/include/hmm/hmm.h b/drivers/staging/media/atomisp/include/hmm/hmm.h > index a7aef27f54de..6c20072ca7e0 100644 > --- a/drivers/staging/media/atomisp/include/hmm/hmm.h > +++ b/drivers/staging/media/atomisp/include/hmm/hmm.h > @@ -63,7 +63,7 @@ void hmm_flush_vmap(ia_css_ptr virt); > * virt must be the start address of ISP memory (return by hmm_alloc), > * do not pass any other address. > */ > -int hmm_mmap(struct vm_area_struct *vma, ia_css_ptr virt); > +int hmm_mmap(struct mm_area *vma, ia_css_ptr virt); > > extern struct hmm_bo_device bo_device; > > diff --git a/drivers/staging/media/atomisp/include/hmm/hmm_bo.h b/drivers/staging/media/atomisp/include/hmm/hmm_bo.h > index e09ac29ac43d..9546a39e747b 100644 > --- a/drivers/staging/media/atomisp/include/hmm/hmm_bo.h > +++ b/drivers/staging/media/atomisp/include/hmm/hmm_bo.h > @@ -232,7 +232,7 @@ void hmm_bo_vunmap(struct hmm_buffer_object *bo); > * > * vma->vm_flags will be set to (VM_RESERVED | VM_IO). > */ > -int hmm_bo_mmap(struct vm_area_struct *vma, > +int hmm_bo_mmap(struct mm_area *vma, > struct hmm_buffer_object *bo); > > /* > diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm.c b/drivers/staging/media/atomisp/pci/hmm/hmm.c > index 84102c3aaf97..64712310f850 100644 > --- a/drivers/staging/media/atomisp/pci/hmm/hmm.c > +++ b/drivers/staging/media/atomisp/pci/hmm/hmm.c > @@ -522,7 +522,7 @@ phys_addr_t hmm_virt_to_phys(ia_css_ptr virt) > return page_to_phys(bo->pages[idx]) + offset; > } > > -int hmm_mmap(struct vm_area_struct *vma, ia_css_ptr virt) > +int hmm_mmap(struct mm_area *vma, ia_css_ptr virt) > { > struct hmm_buffer_object *bo; > > diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c b/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c > index 224ca8d42721..15c48650d883 100644 > --- a/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c > +++ b/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c > @@ -974,7 +974,7 @@ void hmm_bo_unref(struct hmm_buffer_object *bo) > kref_put(&bo->kref, kref_hmm_bo_release); > } > > -static void hmm_bo_vm_open(struct vm_area_struct *vma) > +static void hmm_bo_vm_open(struct mm_area *vma) > { > struct hmm_buffer_object *bo = > (struct hmm_buffer_object *)vma->vm_private_data; > @@ -992,7 +992,7 @@ static void hmm_bo_vm_open(struct vm_area_struct *vma) > mutex_unlock(&bo->mutex); > } > > -static void hmm_bo_vm_close(struct vm_area_struct *vma) > +static void hmm_bo_vm_close(struct mm_area *vma) > { > struct hmm_buffer_object *bo = > (struct hmm_buffer_object *)vma->vm_private_data; > @@ -1021,7 +1021,7 @@ static const struct vm_operations_struct hmm_bo_vm_ops = { > /* > * mmap the bo to user space. > */ > -int hmm_bo_mmap(struct vm_area_struct *vma, struct hmm_buffer_object *bo) > +int hmm_bo_mmap(struct mm_area *vma, struct hmm_buffer_object *bo) > { > unsigned int start, end; > unsigned int virt; > diff --git a/drivers/staging/vme_user/vme.c b/drivers/staging/vme_user/vme.c > index 42304c9f83a2..ed589a97da4f 100644 > --- a/drivers/staging/vme_user/vme.c > +++ b/drivers/staging/vme_user/vme.c > @@ -745,7 +745,7 @@ EXPORT_SYMBOL(vme_master_rmw); > * resource or -EFAULT if map exceeds window size. Other generic mmap > * errors may also be returned. > */ > -int vme_master_mmap(struct vme_resource *resource, struct vm_area_struct *vma) > +int vme_master_mmap(struct vme_resource *resource, struct mm_area *vma) > { > struct vme_bridge *bridge = find_bridge(resource); > struct vme_master_resource *image; > diff --git a/drivers/staging/vme_user/vme.h b/drivers/staging/vme_user/vme.h > index 7753e736f9fd..a1505b68907f 100644 > --- a/drivers/staging/vme_user/vme.h > +++ b/drivers/staging/vme_user/vme.h > @@ -151,7 +151,7 @@ ssize_t vme_master_read(struct vme_resource *, void *, size_t, loff_t); > ssize_t vme_master_write(struct vme_resource *, void *, size_t, loff_t); > unsigned int vme_master_rmw(struct vme_resource *, unsigned int, unsigned int, > unsigned int, loff_t); > -int vme_master_mmap(struct vme_resource *resource, struct vm_area_struct *vma); > +int vme_master_mmap(struct vme_resource *resource, struct mm_area *vma); > void vme_master_free(struct vme_resource *); > > struct vme_resource *vme_dma_request(struct vme_dev *, u32); > diff --git a/drivers/staging/vme_user/vme_user.c b/drivers/staging/vme_user/vme_user.c > index 5829a4141561..fd777648698d 100644 > --- a/drivers/staging/vme_user/vme_user.c > +++ b/drivers/staging/vme_user/vme_user.c > @@ -424,14 +424,14 @@ vme_user_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg) > return ret; > } > > -static void vme_user_vm_open(struct vm_area_struct *vma) > +static void vme_user_vm_open(struct mm_area *vma) > { > struct vme_user_vma_priv *vma_priv = vma->vm_private_data; > > refcount_inc(&vma_priv->refcnt); > } > > -static void vme_user_vm_close(struct vm_area_struct *vma) > +static void vme_user_vm_close(struct mm_area *vma) > { > struct vme_user_vma_priv *vma_priv = vma->vm_private_data; > unsigned int minor = vma_priv->minor; > @@ -451,7 +451,7 @@ static const struct vm_operations_struct vme_user_vm_ops = { > .close = vme_user_vm_close, > }; > > -static int vme_user_master_mmap(unsigned int minor, struct vm_area_struct *vma) > +static int vme_user_master_mmap(unsigned int minor, struct mm_area *vma) > { > int err; > struct vme_user_vma_priv *vma_priv; > @@ -482,7 +482,7 @@ static int vme_user_master_mmap(unsigned int minor, struct vm_area_struct *vma) > return 0; > } > > -static int vme_user_mmap(struct file *file, struct vm_area_struct *vma) > +static int vme_user_mmap(struct file *file, struct mm_area *vma) > { > unsigned int minor = iminor(file_inode(file)); > > diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c > index 0f5d820af119..eaff895205b4 100644 > --- a/drivers/target/target_core_user.c > +++ b/drivers/target/target_core_user.c > @@ -1823,7 +1823,7 @@ static int tcmu_irqcontrol(struct uio_info *info, s32 irq_on) > * mmap code from uio.c. Copied here because we want to hook mmap() > * and this stuff must come along. > */ > -static int tcmu_find_mem_index(struct vm_area_struct *vma) > +static int tcmu_find_mem_index(struct mm_area *vma) > { > struct tcmu_dev *udev = vma->vm_private_data; > struct uio_info *info = &udev->uio_info; > @@ -1860,7 +1860,7 @@ static struct page *tcmu_try_get_data_page(struct tcmu_dev *udev, uint32_t dpi) > return NULL; > } > > -static void tcmu_vma_open(struct vm_area_struct *vma) > +static void tcmu_vma_open(struct mm_area *vma) > { > struct tcmu_dev *udev = vma->vm_private_data; > > @@ -1869,7 +1869,7 @@ static void tcmu_vma_open(struct vm_area_struct *vma) > kref_get(&udev->kref); > } > > -static void tcmu_vma_close(struct vm_area_struct *vma) > +static void tcmu_vma_close(struct mm_area *vma) > { > struct tcmu_dev *udev = vma->vm_private_data; > > @@ -1924,7 +1924,7 @@ static const struct vm_operations_struct tcmu_vm_ops = { > .fault = tcmu_vma_fault, > }; > > -static int tcmu_mmap(struct uio_info *info, struct vm_area_struct *vma) > +static int tcmu_mmap(struct uio_info *info, struct mm_area *vma) > { > struct tcmu_dev *udev = container_of(info, struct tcmu_dev, uio_info); > > diff --git a/drivers/tee/optee/call.c b/drivers/tee/optee/call.c > index 16eb953e14bb..24db89ca4e26 100644 > --- a/drivers/tee/optee/call.c > +++ b/drivers/tee/optee/call.c > @@ -611,7 +611,7 @@ static bool is_normal_memory(pgprot_t p) > static int __check_mem_type(struct mm_struct *mm, unsigned long start, > unsigned long end) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, start); > > for_each_vma_range(vmi, vma, end) { > diff --git a/drivers/tee/tee_shm.c b/drivers/tee/tee_shm.c > index daf6e5cfd59a..c6b120e0d3ae 100644 > --- a/drivers/tee/tee_shm.c > +++ b/drivers/tee/tee_shm.c > @@ -434,7 +434,7 @@ static int tee_shm_fop_release(struct inode *inode, struct file *filp) > return 0; > } > > -static int tee_shm_fop_mmap(struct file *filp, struct vm_area_struct *vma) > +static int tee_shm_fop_mmap(struct file *filp, struct mm_area *vma) > { > struct tee_shm *shm = filp->private_data; > size_t size = vma->vm_end - vma->vm_start; > diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c > index d93ed4e86a17..93d41eddc33c 100644 > --- a/drivers/uio/uio.c > +++ b/drivers/uio/uio.c > @@ -669,7 +669,7 @@ static ssize_t uio_write(struct file *filep, const char __user *buf, > return retval ? retval : sizeof(s32); > } > > -static int uio_find_mem_index(struct vm_area_struct *vma) > +static int uio_find_mem_index(struct mm_area *vma) > { > struct uio_device *idev = vma->vm_private_data; > > @@ -726,7 +726,7 @@ static const struct vm_operations_struct uio_logical_vm_ops = { > .fault = uio_vma_fault, > }; > > -static int uio_mmap_logical(struct vm_area_struct *vma) > +static int uio_mmap_logical(struct mm_area *vma) > { > vm_flags_set(vma, VM_DONTEXPAND | VM_DONTDUMP); > vma->vm_ops = &uio_logical_vm_ops; > @@ -739,7 +739,7 @@ static const struct vm_operations_struct uio_physical_vm_ops = { > #endif > }; > > -static int uio_mmap_physical(struct vm_area_struct *vma) > +static int uio_mmap_physical(struct mm_area *vma) > { > struct uio_device *idev = vma->vm_private_data; > int mi = uio_find_mem_index(vma); > @@ -774,7 +774,7 @@ static int uio_mmap_physical(struct vm_area_struct *vma) > vma->vm_page_prot); > } > > -static int uio_mmap_dma_coherent(struct vm_area_struct *vma) > +static int uio_mmap_dma_coherent(struct mm_area *vma) > { > struct uio_device *idev = vma->vm_private_data; > struct uio_mem *mem; > @@ -817,7 +817,7 @@ static int uio_mmap_dma_coherent(struct vm_area_struct *vma) > return ret; > } > > -static int uio_mmap(struct file *filep, struct vm_area_struct *vma) > +static int uio_mmap(struct file *filep, struct mm_area *vma) > { > struct uio_listener *listener = filep->private_data; > struct uio_device *idev = listener->dev; > diff --git a/drivers/uio/uio_hv_generic.c b/drivers/uio/uio_hv_generic.c > index 1b19b5647495..5283c75d0860 100644 > --- a/drivers/uio/uio_hv_generic.c > +++ b/drivers/uio/uio_hv_generic.c > @@ -136,7 +136,7 @@ static void hv_uio_rescind(struct vmbus_channel *channel) > */ > static int hv_uio_ring_mmap(struct file *filp, struct kobject *kobj, > const struct bin_attribute *attr, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct vmbus_channel *channel > = container_of(kobj, struct vmbus_channel, kobj); > diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c > index f6ce6e26e0d4..328bdbc57cf0 100644 > --- a/drivers/usb/core/devio.c > +++ b/drivers/usb/core/devio.c > @@ -205,7 +205,7 @@ static void dec_usb_memory_use_count(struct usb_memory *usbm, int *count) > } > } > > -static void usbdev_vm_open(struct vm_area_struct *vma) > +static void usbdev_vm_open(struct mm_area *vma) > { > struct usb_memory *usbm = vma->vm_private_data; > unsigned long flags; > @@ -215,7 +215,7 @@ static void usbdev_vm_open(struct vm_area_struct *vma) > spin_unlock_irqrestore(&usbm->ps->lock, flags); > } > > -static void usbdev_vm_close(struct vm_area_struct *vma) > +static void usbdev_vm_close(struct mm_area *vma) > { > struct usb_memory *usbm = vma->vm_private_data; > > @@ -227,7 +227,7 @@ static const struct vm_operations_struct usbdev_vm_ops = { > .close = usbdev_vm_close > }; > > -static int usbdev_mmap(struct file *file, struct vm_area_struct *vma) > +static int usbdev_mmap(struct file *file, struct mm_area *vma) > { > struct usb_memory *usbm = NULL; > struct usb_dev_state *ps = file->private_data; > diff --git a/drivers/usb/gadget/function/uvc_queue.c b/drivers/usb/gadget/function/uvc_queue.c > index 9a1bbd79ff5a..519586dfeb0f 100644 > --- a/drivers/usb/gadget/function/uvc_queue.c > +++ b/drivers/usb/gadget/function/uvc_queue.c > @@ -212,7 +212,7 @@ __poll_t uvcg_queue_poll(struct uvc_video_queue *queue, struct file *file, > return vb2_poll(&queue->queue, file, wait); > } > > -int uvcg_queue_mmap(struct uvc_video_queue *queue, struct vm_area_struct *vma) > +int uvcg_queue_mmap(struct uvc_video_queue *queue, struct mm_area *vma) > { > return vb2_mmap(&queue->queue, vma); > } > diff --git a/drivers/usb/gadget/function/uvc_queue.h b/drivers/usb/gadget/function/uvc_queue.h > index b54becc570a3..4f8a2d2ef2ae 100644 > --- a/drivers/usb/gadget/function/uvc_queue.h > +++ b/drivers/usb/gadget/function/uvc_queue.h > @@ -83,7 +83,7 @@ int uvcg_dequeue_buffer(struct uvc_video_queue *queue, > __poll_t uvcg_queue_poll(struct uvc_video_queue *queue, > struct file *file, poll_table *wait); > > -int uvcg_queue_mmap(struct uvc_video_queue *queue, struct vm_area_struct *vma); > +int uvcg_queue_mmap(struct uvc_video_queue *queue, struct mm_area *vma); > > #ifndef CONFIG_MMU > unsigned long uvcg_queue_get_unmapped_area(struct uvc_video_queue *queue, > diff --git a/drivers/usb/gadget/function/uvc_v4l2.c b/drivers/usb/gadget/function/uvc_v4l2.c > index fc9a8d31a1e9..f0016d03f5bb 100644 > --- a/drivers/usb/gadget/function/uvc_v4l2.c > +++ b/drivers/usb/gadget/function/uvc_v4l2.c > @@ -702,7 +702,7 @@ uvc_v4l2_release(struct file *file) > } > > static int > -uvc_v4l2_mmap(struct file *file, struct vm_area_struct *vma) > +uvc_v4l2_mmap(struct file *file, struct mm_area *vma) > { > struct video_device *vdev = video_devdata(file); > struct uvc_device *uvc = video_get_drvdata(vdev); > diff --git a/drivers/usb/mon/mon_bin.c b/drivers/usb/mon/mon_bin.c > index c93b43f5bc46..765efbb61818 100644 > --- a/drivers/usb/mon/mon_bin.c > +++ b/drivers/usb/mon/mon_bin.c > @@ -1222,7 +1222,7 @@ mon_bin_poll(struct file *file, struct poll_table_struct *wait) > * open and close: just keep track of how many times the device is > * mapped, to use the proper memory allocation function. > */ > -static void mon_bin_vma_open(struct vm_area_struct *vma) > +static void mon_bin_vma_open(struct mm_area *vma) > { > struct mon_reader_bin *rp = vma->vm_private_data; > unsigned long flags; > @@ -1232,7 +1232,7 @@ static void mon_bin_vma_open(struct vm_area_struct *vma) > spin_unlock_irqrestore(&rp->b_lock, flags); > } > > -static void mon_bin_vma_close(struct vm_area_struct *vma) > +static void mon_bin_vma_close(struct mm_area *vma) > { > unsigned long flags; > > @@ -1272,7 +1272,7 @@ static const struct vm_operations_struct mon_bin_vm_ops = { > .fault = mon_bin_vma_fault, > }; > > -static int mon_bin_mmap(struct file *filp, struct vm_area_struct *vma) > +static int mon_bin_mmap(struct file *filp, struct mm_area *vma) > { > /* don't do anything here: "fault" will set up page table entries */ > vma->vm_ops = &mon_bin_vm_ops; > diff --git a/drivers/vdpa/vdpa_user/iova_domain.c b/drivers/vdpa/vdpa_user/iova_domain.c > index 58116f89d8da..372456ffd5a3 100644 > --- a/drivers/vdpa/vdpa_user/iova_domain.c > +++ b/drivers/vdpa/vdpa_user/iova_domain.c > @@ -532,7 +532,7 @@ static const struct vm_operations_struct vduse_domain_mmap_ops = { > .fault = vduse_domain_mmap_fault, > }; > > -static int vduse_domain_mmap(struct file *file, struct vm_area_struct *vma) > +static int vduse_domain_mmap(struct file *file, struct mm_area *vma) > { > struct vduse_iova_domain *domain = file->private_data; > > diff --git a/drivers/vfio/cdx/main.c b/drivers/vfio/cdx/main.c > index 5dd5f5ad7686..81d6e3d2293d 100644 > --- a/drivers/vfio/cdx/main.c > +++ b/drivers/vfio/cdx/main.c > @@ -233,7 +233,7 @@ static long vfio_cdx_ioctl(struct vfio_device *core_vdev, > } > > static int vfio_cdx_mmap_mmio(struct vfio_cdx_region region, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > u64 size = vma->vm_end - vma->vm_start; > u64 pgoff, base; > @@ -253,7 +253,7 @@ static int vfio_cdx_mmap_mmio(struct vfio_cdx_region region, > } > > static int vfio_cdx_mmap(struct vfio_device *core_vdev, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct vfio_cdx_device *vdev = > container_of(core_vdev, struct vfio_cdx_device, vdev); > diff --git a/drivers/vfio/fsl-mc/vfio_fsl_mc.c b/drivers/vfio/fsl-mc/vfio_fsl_mc.c > index f65d91c01f2e..27b03c09f016 100644 > --- a/drivers/vfio/fsl-mc/vfio_fsl_mc.c > +++ b/drivers/vfio/fsl-mc/vfio_fsl_mc.c > @@ -357,7 +357,7 @@ static ssize_t vfio_fsl_mc_write(struct vfio_device *core_vdev, > } > > static int vfio_fsl_mc_mmap_mmio(struct vfio_fsl_mc_region region, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > u64 size = vma->vm_end - vma->vm_start; > u64 pgoff, base; > @@ -382,7 +382,7 @@ static int vfio_fsl_mc_mmap_mmio(struct vfio_fsl_mc_region region, > } > > static int vfio_fsl_mc_mmap(struct vfio_device *core_vdev, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct vfio_fsl_mc_device *vdev = > container_of(core_vdev, struct vfio_fsl_mc_device, vdev); > diff --git a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c > index 451c639299eb..e61c19772dc2 100644 > --- a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c > +++ b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c > @@ -1218,7 +1218,7 @@ static int hisi_acc_pci_rw_access_check(struct vfio_device *core_vdev, > } > > static int hisi_acc_vfio_pci_mmap(struct vfio_device *core_vdev, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct vfio_pci_core_device *vdev = > container_of(core_vdev, struct vfio_pci_core_device, vdev); > diff --git a/drivers/vfio/pci/nvgrace-gpu/main.c b/drivers/vfio/pci/nvgrace-gpu/main.c > index e5ac39c4cc6b..935332b63571 100644 > --- a/drivers/vfio/pci/nvgrace-gpu/main.c > +++ b/drivers/vfio/pci/nvgrace-gpu/main.c > @@ -131,7 +131,7 @@ static void nvgrace_gpu_close_device(struct vfio_device *core_vdev) > } > > static int nvgrace_gpu_mmap(struct vfio_device *core_vdev, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct nvgrace_gpu_pci_core_device *nvdev = > container_of(core_vdev, struct nvgrace_gpu_pci_core_device, > diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c > index 35f9046af315..3e24952b7309 100644 > --- a/drivers/vfio/pci/vfio_pci_core.c > +++ b/drivers/vfio/pci/vfio_pci_core.c > @@ -1629,7 +1629,7 @@ void vfio_pci_memory_unlock_and_restore(struct vfio_pci_core_device *vdev, u16 c > up_write(&vdev->memory_lock); > } > > -static unsigned long vma_to_pfn(struct vm_area_struct *vma) > +static unsigned long vma_to_pfn(struct mm_area *vma) > { > struct vfio_pci_core_device *vdev = vma->vm_private_data; > int index = vma->vm_pgoff >> (VFIO_PCI_OFFSET_SHIFT - PAGE_SHIFT); > @@ -1644,7 +1644,7 @@ static unsigned long vma_to_pfn(struct vm_area_struct *vma) > static vm_fault_t vfio_pci_mmap_huge_fault(struct vm_fault *vmf, > unsigned int order) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct vfio_pci_core_device *vdev = vma->vm_private_data; > unsigned long pfn, pgoff = vmf->pgoff - vma->vm_pgoff; > vm_fault_t ret = VM_FAULT_SIGBUS; > @@ -1708,7 +1708,7 @@ static const struct vm_operations_struct vfio_pci_mmap_ops = { > #endif > }; > > -int vfio_pci_core_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma) > +int vfio_pci_core_mmap(struct vfio_device *core_vdev, struct mm_area *vma) > { > struct vfio_pci_core_device *vdev = > container_of(core_vdev, struct vfio_pci_core_device, vdev); > diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c > index 3bf1043cd795..194cd554d8e8 100644 > --- a/drivers/vfio/platform/vfio_platform_common.c > +++ b/drivers/vfio/platform/vfio_platform_common.c > @@ -550,7 +550,7 @@ ssize_t vfio_platform_write(struct vfio_device *core_vdev, const char __user *bu > EXPORT_SYMBOL_GPL(vfio_platform_write); > > static int vfio_platform_mmap_mmio(struct vfio_platform_region region, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > u64 req_len, pgoff, req_start; > > @@ -569,7 +569,7 @@ static int vfio_platform_mmap_mmio(struct vfio_platform_region region, > req_len, vma->vm_page_prot); > } > > -int vfio_platform_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma) > +int vfio_platform_mmap(struct vfio_device *core_vdev, struct mm_area *vma) > { > struct vfio_platform_device *vdev = > container_of(core_vdev, struct vfio_platform_device, vdev); > diff --git a/drivers/vfio/platform/vfio_platform_private.h b/drivers/vfio/platform/vfio_platform_private.h > index 8d8fab516849..a7355a03e43c 100644 > --- a/drivers/vfio/platform/vfio_platform_private.h > +++ b/drivers/vfio/platform/vfio_platform_private.h > @@ -92,7 +92,7 @@ ssize_t vfio_platform_write(struct vfio_device *core_vdev, > const char __user *buf, > size_t count, loff_t *ppos); > int vfio_platform_mmap(struct vfio_device *core_vdev, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > int vfio_platform_irq_init(struct vfio_platform_device *vdev); > void vfio_platform_irq_cleanup(struct vfio_platform_device *vdev); > diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c > index 0ac56072af9f..acf89ab4e254 100644 > --- a/drivers/vfio/vfio_iommu_type1.c > +++ b/drivers/vfio/vfio_iommu_type1.c > @@ -518,7 +518,7 @@ static void vfio_batch_fini(struct vfio_batch *batch) > free_page((unsigned long)batch->pages); > } > > -static int follow_fault_pfn(struct vm_area_struct *vma, struct mm_struct *mm, > +static int follow_fault_pfn(struct mm_area *vma, struct mm_struct *mm, > unsigned long vaddr, unsigned long *pfn, > unsigned long *addr_mask, bool write_fault) > { > @@ -567,7 +567,7 @@ static long vaddr_get_pfns(struct mm_struct *mm, unsigned long vaddr, > struct vfio_batch *batch) > { > unsigned long pin_pages = min_t(unsigned long, npages, batch->capacity); > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned int flags = 0; > long ret; > > diff --git a/drivers/vfio/vfio_main.c b/drivers/vfio/vfio_main.c > index 1fd261efc582..24eca55e4635 100644 > --- a/drivers/vfio/vfio_main.c > +++ b/drivers/vfio/vfio_main.c > @@ -1339,7 +1339,7 @@ static ssize_t vfio_device_fops_write(struct file *filep, > return device->ops->write(device, buf, count, ppos); > } > > -static int vfio_device_fops_mmap(struct file *filep, struct vm_area_struct *vma) > +static int vfio_device_fops_mmap(struct file *filep, struct mm_area *vma) > { > struct vfio_device_file *df = filep->private_data; > struct vfio_device *device = df->device; > diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c > index 5a49b5a6d496..00dac20fc834 100644 > --- a/drivers/vhost/vdpa.c > +++ b/drivers/vhost/vdpa.c > @@ -1048,7 +1048,7 @@ static int vhost_vdpa_va_map(struct vhost_vdpa *v, > struct vhost_dev *dev = &v->vdev; > u64 offset, map_size, map_iova = iova; > struct vdpa_map_file *map_file; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int ret = 0; > > mmap_read_lock(dev->mm); > @@ -1486,7 +1486,7 @@ static vm_fault_t vhost_vdpa_fault(struct vm_fault *vmf) > struct vdpa_device *vdpa = v->vdpa; > const struct vdpa_config_ops *ops = vdpa->config; > struct vdpa_notification_area notify; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > u16 index = vma->vm_pgoff; > > notify = ops->get_vq_notification(vdpa, index); > @@ -1498,7 +1498,7 @@ static const struct vm_operations_struct vhost_vdpa_vm_ops = { > .fault = vhost_vdpa_fault, > }; > > -static int vhost_vdpa_mmap(struct file *file, struct vm_area_struct *vma) > +static int vhost_vdpa_mmap(struct file *file, struct mm_area *vma) > { > struct vhost_vdpa *v = vma->vm_file->private_data; > struct vdpa_device *vdpa = v->vdpa; > diff --git a/drivers/video/fbdev/68328fb.c b/drivers/video/fbdev/68328fb.c > index c24156eb3d0f..8b63b4e1aab0 100644 > --- a/drivers/video/fbdev/68328fb.c > +++ b/drivers/video/fbdev/68328fb.c > @@ -91,7 +91,7 @@ static int mc68x328fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, > u_int transp, struct fb_info *info); > static int mc68x328fb_pan_display(struct fb_var_screeninfo *var, > struct fb_info *info); > -static int mc68x328fb_mmap(struct fb_info *info, struct vm_area_struct *vma); > +static int mc68x328fb_mmap(struct fb_info *info, struct mm_area *vma); > > static const struct fb_ops mc68x328fb_ops = { > .owner = THIS_MODULE, > @@ -386,7 +386,7 @@ static int mc68x328fb_pan_display(struct fb_var_screeninfo *var, > * Most drivers don't need their own mmap function > */ > > -static int mc68x328fb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int mc68x328fb_mmap(struct fb_info *info, struct mm_area *vma) > { > #ifndef MMU > /* this is uClinux (no MMU) specific code */ > diff --git a/drivers/video/fbdev/atafb.c b/drivers/video/fbdev/atafb.c > index b8ed1c537293..e6fbe997313f 100644 > --- a/drivers/video/fbdev/atafb.c > +++ b/drivers/video/fbdev/atafb.c > @@ -291,7 +291,7 @@ static int *MV300_reg = MV300_reg_8bit; > * unsigned long arg); > * > * * perform fb specific mmap * > - * int (*fb_mmap)(struct fb_info *info, struct vm_area_struct *vma); > + * int (*fb_mmap)(struct fb_info *info, struct mm_area *vma); > * } ; > */ > > diff --git a/drivers/video/fbdev/aty/atyfb_base.c b/drivers/video/fbdev/aty/atyfb_base.c > index 210fd3ac18a4..e9a48e71fbd4 100644 > --- a/drivers/video/fbdev/aty/atyfb_base.c > +++ b/drivers/video/fbdev/aty/atyfb_base.c > @@ -253,7 +253,7 @@ static int atyfb_compat_ioctl(struct fb_info *info, u_int cmd, u_long arg) > #endif > > #ifdef __sparc__ > -static int atyfb_mmap(struct fb_info *info, struct vm_area_struct *vma); > +static int atyfb_mmap(struct fb_info *info, struct mm_area *vma); > #endif > static int atyfb_sync(struct fb_info *info); > > @@ -1932,7 +1932,7 @@ static int atyfb_sync(struct fb_info *info) > } > > #ifdef __sparc__ > -static int atyfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int atyfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct atyfb_par *par = (struct atyfb_par *) info->par; > unsigned int size, page, map_size = 0; > diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c > index 6251a6b07b3a..4ba693d12560 100644 > --- a/drivers/video/fbdev/au1100fb.c > +++ b/drivers/video/fbdev/au1100fb.c > @@ -340,7 +340,7 @@ int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *fbi) > * Map video memory in user space. We don't use the generic fb_mmap method mainly > * to allow the use of the TLB streaming flag (CCA=6) > */ > -int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma) > +int au1100fb_fb_mmap(struct fb_info *fbi, struct mm_area *vma) > { > struct au1100fb_device *fbdev = to_au1100fb_device(fbi); > > diff --git a/drivers/video/fbdev/au1200fb.c b/drivers/video/fbdev/au1200fb.c > index ed770222660b..6f741b3ed47f 100644 > --- a/drivers/video/fbdev/au1200fb.c > +++ b/drivers/video/fbdev/au1200fb.c > @@ -1232,7 +1232,7 @@ static int au1200fb_fb_blank(int blank_mode, struct fb_info *fbi) > * Map video memory in user space. We don't use the generic fb_mmap > * method mainly to allow the use of the TLB streaming flag (CCA=6) > */ > -static int au1200fb_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int au1200fb_fb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct au1200fb_device *fbdev = info->par; > > diff --git a/drivers/video/fbdev/bw2.c b/drivers/video/fbdev/bw2.c > index e757462af0a6..e56b43e62c57 100644 > --- a/drivers/video/fbdev/bw2.c > +++ b/drivers/video/fbdev/bw2.c > @@ -31,7 +31,7 @@ > > static int bw2_blank(int, struct fb_info *); > > -static int bw2_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma); > +static int bw2_sbusfb_mmap(struct fb_info *info, struct mm_area *vma); > static int bw2_sbusfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg); > > /* > @@ -154,7 +154,7 @@ static const struct sbus_mmap_map bw2_mmap_map[] = { > { .size = 0 } > }; > > -static int bw2_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int bw2_sbusfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct bw2_par *par = (struct bw2_par *)info->par; > > diff --git a/drivers/video/fbdev/cg14.c b/drivers/video/fbdev/cg14.c > index 5389f8f07346..bc1619331049 100644 > --- a/drivers/video/fbdev/cg14.c > +++ b/drivers/video/fbdev/cg14.c > @@ -33,7 +33,7 @@ static int cg14_setcolreg(unsigned, unsigned, unsigned, unsigned, > unsigned, struct fb_info *); > static int cg14_pan_display(struct fb_var_screeninfo *, struct fb_info *); > > -static int cg14_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma); > +static int cg14_sbusfb_mmap(struct fb_info *info, struct mm_area *vma); > static int cg14_sbusfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg); > > /* > @@ -258,7 +258,7 @@ static int cg14_setcolreg(unsigned regno, > return 0; > } > > -static int cg14_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int cg14_sbusfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct cg14_par *par = (struct cg14_par *) info->par; > > diff --git a/drivers/video/fbdev/cg3.c b/drivers/video/fbdev/cg3.c > index a58a483014e6..e53243deaf87 100644 > --- a/drivers/video/fbdev/cg3.c > +++ b/drivers/video/fbdev/cg3.c > @@ -33,7 +33,7 @@ static int cg3_setcolreg(unsigned, unsigned, unsigned, unsigned, > unsigned, struct fb_info *); > static int cg3_blank(int, struct fb_info *); > > -static int cg3_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma); > +static int cg3_sbusfb_mmap(struct fb_info *info, struct mm_area *vma); > static int cg3_sbusfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg); > > /* > @@ -218,7 +218,7 @@ static const struct sbus_mmap_map cg3_mmap_map[] = { > { .size = 0 } > }; > > -static int cg3_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int cg3_sbusfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct cg3_par *par = (struct cg3_par *)info->par; > > diff --git a/drivers/video/fbdev/cg6.c b/drivers/video/fbdev/cg6.c > index 56d74468040a..826bace4fabd 100644 > --- a/drivers/video/fbdev/cg6.c > +++ b/drivers/video/fbdev/cg6.c > @@ -39,7 +39,7 @@ static void cg6_copyarea(struct fb_info *info, const struct fb_copyarea *area); > static int cg6_sync(struct fb_info *); > static int cg6_pan_display(struct fb_var_screeninfo *, struct fb_info *); > > -static int cg6_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma); > +static int cg6_sbusfb_mmap(struct fb_info *info, struct mm_area *vma); > static int cg6_sbusfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg); > > /* > @@ -589,7 +589,7 @@ static const struct sbus_mmap_map cg6_mmap_map[] = { > { .size = 0 } > }; > > -static int cg6_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int cg6_sbusfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct cg6_par *par = (struct cg6_par *)info->par; > > diff --git a/drivers/video/fbdev/controlfb.c b/drivers/video/fbdev/controlfb.c > index 5c5284e8ae0e..0301ea641ba3 100644 > --- a/drivers/video/fbdev/controlfb.c > +++ b/drivers/video/fbdev/controlfb.c > @@ -729,7 +729,7 @@ static int controlfb_blank(int blank_mode, struct fb_info *info) > * Note there's no locking in here; it's done in fb_mmap() in fbmem.c. > */ > static int controlfb_mmap(struct fb_info *info, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > unsigned long mmio_pgoff; > unsigned long start; > diff --git a/drivers/video/fbdev/core/fb_chrdev.c b/drivers/video/fbdev/core/fb_chrdev.c > index 4ebd16b7e3b8..50a46c896978 100644 > --- a/drivers/video/fbdev/core/fb_chrdev.c > +++ b/drivers/video/fbdev/core/fb_chrdev.c > @@ -311,7 +311,7 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd, > } > #endif > > -static int fb_mmap(struct file *file, struct vm_area_struct *vma) > +static int fb_mmap(struct file *file, struct mm_area *vma) > { > struct fb_info *info = file_fb_info(file); > int res; > diff --git a/drivers/video/fbdev/core/fb_defio.c b/drivers/video/fbdev/core/fb_defio.c > index 4fc93f253e06..01688f93cc91 100644 > --- a/drivers/video/fbdev/core/fb_defio.c > +++ b/drivers/video/fbdev/core/fb_defio.c > @@ -243,7 +243,7 @@ static const struct address_space_operations fb_deferred_io_aops = { > .dirty_folio = noop_dirty_folio, > }; > > -int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma) > +int fb_deferred_io_mmap(struct fb_info *info, struct mm_area *vma) > { > vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); > > diff --git a/drivers/video/fbdev/core/fb_io_fops.c b/drivers/video/fbdev/core/fb_io_fops.c > index 3408ff1b2b7a..e00756595b77 100644 > --- a/drivers/video/fbdev/core/fb_io_fops.c > +++ b/drivers/video/fbdev/core/fb_io_fops.c > @@ -138,7 +138,7 @@ ssize_t fb_io_write(struct fb_info *info, const char __user *buf, size_t count, > } > EXPORT_SYMBOL(fb_io_write); > > -int fb_io_mmap(struct fb_info *info, struct vm_area_struct *vma) > +int fb_io_mmap(struct fb_info *info, struct mm_area *vma) > { > unsigned long start = info->fix.smem_start; > u32 len = info->fix.smem_len; > diff --git a/drivers/video/fbdev/ep93xx-fb.c b/drivers/video/fbdev/ep93xx-fb.c > index 801ef427f1ba..cab3e18fb52e 100644 > --- a/drivers/video/fbdev/ep93xx-fb.c > +++ b/drivers/video/fbdev/ep93xx-fb.c > @@ -307,7 +307,7 @@ static int ep93xxfb_check_var(struct fb_var_screeninfo *var, > return 0; > } > > -static int ep93xxfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int ep93xxfb_mmap(struct fb_info *info, struct mm_area *vma) > { > unsigned int offset = vma->vm_pgoff << PAGE_SHIFT; > > diff --git a/drivers/video/fbdev/ffb.c b/drivers/video/fbdev/ffb.c > index 34b6abff9493..75c2aaf77b81 100644 > --- a/drivers/video/fbdev/ffb.c > +++ b/drivers/video/fbdev/ffb.c > @@ -39,7 +39,7 @@ static void ffb_copyarea(struct fb_info *, const struct fb_copyarea *); > static int ffb_sync(struct fb_info *); > static int ffb_pan_display(struct fb_var_screeninfo *, struct fb_info *); > > -static int ffb_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma); > +static int ffb_sbusfb_mmap(struct fb_info *info, struct mm_area *vma); > static int ffb_sbusfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg); > > /* > @@ -849,7 +849,7 @@ static const struct sbus_mmap_map ffb_mmap_map[] = { > { .size = 0 } > }; > > -static int ffb_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int ffb_sbusfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct ffb_par *par = (struct ffb_par *)info->par; > > diff --git a/drivers/video/fbdev/gbefb.c b/drivers/video/fbdev/gbefb.c > index 4c36a3e409be..b3a423fbe0e9 100644 > --- a/drivers/video/fbdev/gbefb.c > +++ b/drivers/video/fbdev/gbefb.c > @@ -992,7 +992,7 @@ static int gbefb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) > } > > static int gbefb_mmap(struct fb_info *info, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > unsigned long size = vma->vm_end - vma->vm_start; > unsigned long offset = vma->vm_pgoff << PAGE_SHIFT; > diff --git a/drivers/video/fbdev/leo.c b/drivers/video/fbdev/leo.c > index b9fb059df2c7..76d44efee3c1 100644 > --- a/drivers/video/fbdev/leo.c > +++ b/drivers/video/fbdev/leo.c > @@ -33,7 +33,7 @@ static int leo_setcolreg(unsigned, unsigned, unsigned, unsigned, > static int leo_blank(int, struct fb_info *); > static int leo_pan_display(struct fb_var_screeninfo *, struct fb_info *); > > -static int leo_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma); > +static int leo_sbusfb_mmap(struct fb_info *info, struct mm_area *vma); > static int leo_sbusfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg); > > /* > @@ -407,7 +407,7 @@ static const struct sbus_mmap_map leo_mmap_map[] = { > { .size = 0 } > }; > > -static int leo_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int leo_sbusfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct leo_par *par = (struct leo_par *)info->par; > > diff --git a/drivers/video/fbdev/omap/omapfb.h b/drivers/video/fbdev/omap/omapfb.h > index ab1cb6e7f5f8..cfd41ba0dac7 100644 > --- a/drivers/video/fbdev/omap/omapfb.h > +++ b/drivers/video/fbdev/omap/omapfb.h > @@ -159,7 +159,7 @@ struct lcd_ctrl { > int (*setup_mem) (int plane, size_t size, > int mem_type, unsigned long *paddr); > int (*mmap) (struct fb_info *info, > - struct vm_area_struct *vma); > + struct mm_area *vma); > int (*set_scale) (int plane, > int orig_width, int orig_height, > int out_width, int out_height); > diff --git a/drivers/video/fbdev/omap/omapfb_main.c b/drivers/video/fbdev/omap/omapfb_main.c > index 2682b20d184a..f6781f51b2cc 100644 > --- a/drivers/video/fbdev/omap/omapfb_main.c > +++ b/drivers/video/fbdev/omap/omapfb_main.c > @@ -1197,7 +1197,7 @@ static int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, > return r; > } > > -static int omapfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int omapfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct omapfb_plane_struct *plane = info->par; > struct omapfb_device *fbdev = plane->fbdev; > diff --git a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c > index 211f23648686..081d6ea622bb 100644 > --- a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c > +++ b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c > @@ -1063,7 +1063,7 @@ static int omapfb_pan_display(struct fb_var_screeninfo *var, > return r; > } > > -static void mmap_user_open(struct vm_area_struct *vma) > +static void mmap_user_open(struct mm_area *vma) > { > struct omapfb2_mem_region *rg = vma->vm_private_data; > > @@ -1072,7 +1072,7 @@ static void mmap_user_open(struct vm_area_struct *vma) > omapfb_put_mem_region(rg); > } > > -static void mmap_user_close(struct vm_area_struct *vma) > +static void mmap_user_close(struct mm_area *vma) > { > struct omapfb2_mem_region *rg = vma->vm_private_data; > > @@ -1086,7 +1086,7 @@ static const struct vm_operations_struct mmap_user_ops = { > .close = mmap_user_close, > }; > > -static int omapfb_mmap(struct fb_info *fbi, struct vm_area_struct *vma) > +static int omapfb_mmap(struct fb_info *fbi, struct mm_area *vma) > { > struct omapfb_info *ofbi = FB2OFB(fbi); > struct fb_fix_screeninfo *fix = &fbi->fix; > diff --git a/drivers/video/fbdev/p9100.c b/drivers/video/fbdev/p9100.c > index 0bc0f78fe4b9..62fdfe8c682d 100644 > --- a/drivers/video/fbdev/p9100.c > +++ b/drivers/video/fbdev/p9100.c > @@ -31,7 +31,7 @@ static int p9100_setcolreg(unsigned, unsigned, unsigned, unsigned, > unsigned, struct fb_info *); > static int p9100_blank(int, struct fb_info *); > > -static int p9100_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma); > +static int p9100_sbusfb_mmap(struct fb_info *info, struct mm_area *vma); > static int p9100_sbusfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg); > > /* > @@ -211,7 +211,7 @@ static const struct sbus_mmap_map p9100_mmap_map[] = { > { 0, 0, 0 } > }; > > -static int p9100_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int p9100_sbusfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct p9100_par *par = (struct p9100_par *)info->par; > > diff --git a/drivers/video/fbdev/ps3fb.c b/drivers/video/fbdev/ps3fb.c > index dbcda307f6a6..55796e1765a7 100644 > --- a/drivers/video/fbdev/ps3fb.c > +++ b/drivers/video/fbdev/ps3fb.c > @@ -704,7 +704,7 @@ static int ps3fb_pan_display(struct fb_var_screeninfo *var, > * As we have a virtual frame buffer, we need our own mmap function > */ > > -static int ps3fb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int ps3fb_mmap(struct fb_info *info, struct mm_area *vma) > { > int r; > > diff --git a/drivers/video/fbdev/pxa3xx-gcu.c b/drivers/video/fbdev/pxa3xx-gcu.c > index 4a78b387b343..6a4ffc17299c 100644 > --- a/drivers/video/fbdev/pxa3xx-gcu.c > +++ b/drivers/video/fbdev/pxa3xx-gcu.c > @@ -469,7 +469,7 @@ pxa3xx_gcu_ioctl(struct file *file, unsigned int cmd, unsigned long arg) > } > > static int > -pxa3xx_gcu_mmap(struct file *file, struct vm_area_struct *vma) > +pxa3xx_gcu_mmap(struct file *file, struct mm_area *vma) > { > unsigned int size = vma->vm_end - vma->vm_start; > struct pxa3xx_gcu_priv *priv = to_pxa3xx_gcu_priv(file); > diff --git a/drivers/video/fbdev/sa1100fb.c b/drivers/video/fbdev/sa1100fb.c > index 0d362d2bf0e3..d21ae655cca4 100644 > --- a/drivers/video/fbdev/sa1100fb.c > +++ b/drivers/video/fbdev/sa1100fb.c > @@ -556,7 +556,7 @@ static int sa1100fb_blank(int blank, struct fb_info *info) > } > > static int sa1100fb_mmap(struct fb_info *info, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct sa1100fb_info *fbi = > container_of(info, struct sa1100fb_info, fb); > diff --git a/drivers/video/fbdev/sbuslib.c b/drivers/video/fbdev/sbuslib.c > index 4c79654bda30..8fced2f56b38 100644 > --- a/drivers/video/fbdev/sbuslib.c > +++ b/drivers/video/fbdev/sbuslib.c > @@ -42,7 +42,7 @@ int sbusfb_mmap_helper(const struct sbus_mmap_map *map, > unsigned long physbase, > unsigned long fbsize, > unsigned long iospace, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > unsigned int size, page, r, map_size; > unsigned long map_offset = 0; > diff --git a/drivers/video/fbdev/sbuslib.h b/drivers/video/fbdev/sbuslib.h > index e9af2dc93f94..75e60f30957f 100644 > --- a/drivers/video/fbdev/sbuslib.h > +++ b/drivers/video/fbdev/sbuslib.h > @@ -6,7 +6,7 @@ > struct device_node; > struct fb_info; > struct fb_var_screeninfo; > -struct vm_area_struct; > +struct mm_area; > > struct sbus_mmap_map { > unsigned long voff; > @@ -22,7 +22,7 @@ extern void sbusfb_fill_var(struct fb_var_screeninfo *var, > extern int sbusfb_mmap_helper(const struct sbus_mmap_map *map, > unsigned long physbase, unsigned long fbsize, > unsigned long iospace, > - struct vm_area_struct *vma); > + struct mm_area *vma); > int sbusfb_ioctl_helper(unsigned long cmd, unsigned long arg, > struct fb_info *info, > int type, int fb_depth, unsigned long fb_size); > diff --git a/drivers/video/fbdev/sh_mobile_lcdcfb.c b/drivers/video/fbdev/sh_mobile_lcdcfb.c > index dd950e4ab5ce..4b53eabd93fb 100644 > --- a/drivers/video/fbdev/sh_mobile_lcdcfb.c > +++ b/drivers/video/fbdev/sh_mobile_lcdcfb.c > @@ -1478,7 +1478,7 @@ static int sh_mobile_lcdc_overlay_blank(int blank, struct fb_info *info) > } > > static int > -sh_mobile_lcdc_overlay_mmap(struct fb_info *info, struct vm_area_struct *vma) > +sh_mobile_lcdc_overlay_mmap(struct fb_info *info, struct mm_area *vma) > { > struct sh_mobile_lcdc_overlay *ovl = info->par; > > @@ -1947,7 +1947,7 @@ static int sh_mobile_lcdc_blank(int blank, struct fb_info *info) > } > > static int > -sh_mobile_lcdc_mmap(struct fb_info *info, struct vm_area_struct *vma) > +sh_mobile_lcdc_mmap(struct fb_info *info, struct mm_area *vma) > { > struct sh_mobile_lcdc_chan *ch = info->par; > > diff --git a/drivers/video/fbdev/smscufx.c b/drivers/video/fbdev/smscufx.c > index 5f0dd01fd834..0cf731d1c04c 100644 > --- a/drivers/video/fbdev/smscufx.c > +++ b/drivers/video/fbdev/smscufx.c > @@ -773,7 +773,7 @@ static int ufx_set_vid_mode(struct ufx_data *dev, struct fb_var_screeninfo *var) > return 0; > } > > -static int ufx_ops_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int ufx_ops_mmap(struct fb_info *info, struct mm_area *vma) > { > unsigned long start = vma->vm_start; > unsigned long size = vma->vm_end - vma->vm_start; > diff --git a/drivers/video/fbdev/tcx.c b/drivers/video/fbdev/tcx.c > index f9a0085ad72b..fef8f2c55b15 100644 > --- a/drivers/video/fbdev/tcx.c > +++ b/drivers/video/fbdev/tcx.c > @@ -34,7 +34,7 @@ static int tcx_setcolreg(unsigned, unsigned, unsigned, unsigned, > static int tcx_blank(int, struct fb_info *); > static int tcx_pan_display(struct fb_var_screeninfo *, struct fb_info *); > > -static int tcx_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma); > +static int tcx_sbusfb_mmap(struct fb_info *info, struct mm_area *vma); > static int tcx_sbusfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg); > > /* > @@ -292,7 +292,7 @@ static const struct sbus_mmap_map __tcx_mmap_map[TCX_MMAP_ENTRIES] = { > { .size = 0 } > }; > > -static int tcx_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int tcx_sbusfb_mmap(struct fb_info *info, struct mm_area *vma) > { > struct tcx_par *par = (struct tcx_par *)info->par; > > diff --git a/drivers/video/fbdev/udlfb.c b/drivers/video/fbdev/udlfb.c > index acadf0eb450c..bcffed2bac09 100644 > --- a/drivers/video/fbdev/udlfb.c > +++ b/drivers/video/fbdev/udlfb.c > @@ -321,7 +321,7 @@ static int dlfb_set_video_mode(struct dlfb_data *dlfb, > return retval; > } > > -static int dlfb_ops_mmap(struct fb_info *info, struct vm_area_struct *vma) > +static int dlfb_ops_mmap(struct fb_info *info, struct mm_area *vma) > { > unsigned long start = vma->vm_start; > unsigned long size = vma->vm_end - vma->vm_start; > diff --git a/drivers/video/fbdev/vfb.c b/drivers/video/fbdev/vfb.c > index 5b7965f36c5e..5836aa107f86 100644 > --- a/drivers/video/fbdev/vfb.c > +++ b/drivers/video/fbdev/vfb.c > @@ -76,7 +76,7 @@ static int vfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, > static int vfb_pan_display(struct fb_var_screeninfo *var, > struct fb_info *info); > static int vfb_mmap(struct fb_info *info, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > static const struct fb_ops vfb_ops = { > .owner = THIS_MODULE, > @@ -380,7 +380,7 @@ static int vfb_pan_display(struct fb_var_screeninfo *var, > */ > > static int vfb_mmap(struct fb_info *info, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); > > diff --git a/drivers/virt/acrn/mm.c b/drivers/virt/acrn/mm.c > index 4c2f28715b70..eeec17237749 100644 > --- a/drivers/virt/acrn/mm.c > +++ b/drivers/virt/acrn/mm.c > @@ -163,7 +163,7 @@ int acrn_vm_ram_map(struct acrn_vm *vm, struct acrn_vm_memmap *memmap) > void *remap_vaddr; > int ret, pinned; > u64 user_vm_pa; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > if (!vm || !memmap) > return -EINVAL; > diff --git a/drivers/xen/gntalloc.c b/drivers/xen/gntalloc.c > index f93f73ecefee..62dab536c2f6 100644 > --- a/drivers/xen/gntalloc.c > +++ b/drivers/xen/gntalloc.c > @@ -445,7 +445,7 @@ static long gntalloc_ioctl(struct file *filp, unsigned int cmd, > return 0; > } > > -static void gntalloc_vma_open(struct vm_area_struct *vma) > +static void gntalloc_vma_open(struct mm_area *vma) > { > struct gntalloc_vma_private_data *priv = vma->vm_private_data; > > @@ -457,7 +457,7 @@ static void gntalloc_vma_open(struct vm_area_struct *vma) > mutex_unlock(&gref_mutex); > } > > -static void gntalloc_vma_close(struct vm_area_struct *vma) > +static void gntalloc_vma_close(struct mm_area *vma) > { > struct gntalloc_vma_private_data *priv = vma->vm_private_data; > struct gntalloc_gref *gref, *next; > @@ -488,7 +488,7 @@ static const struct vm_operations_struct gntalloc_vmops = { > .close = gntalloc_vma_close, > }; > > -static int gntalloc_mmap(struct file *filp, struct vm_area_struct *vma) > +static int gntalloc_mmap(struct file *filp, struct mm_area *vma) > { > struct gntalloc_file_private_data *priv = filp->private_data; > struct gntalloc_vma_private_data *vm_priv; > diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c > index 61faea1f0663..879c601543b8 100644 > --- a/drivers/xen/gntdev.c > +++ b/drivers/xen/gntdev.c > @@ -496,7 +496,7 @@ static void unmap_grant_pages(struct gntdev_grant_map *map, int offset, > > /* ------------------------------------------------------------------ */ > > -static void gntdev_vma_open(struct vm_area_struct *vma) > +static void gntdev_vma_open(struct mm_area *vma) > { > struct gntdev_grant_map *map = vma->vm_private_data; > > @@ -504,7 +504,7 @@ static void gntdev_vma_open(struct vm_area_struct *vma) > refcount_inc(&map->users); > } > > -static void gntdev_vma_close(struct vm_area_struct *vma) > +static void gntdev_vma_close(struct mm_area *vma) > { > struct gntdev_grant_map *map = vma->vm_private_data; > struct file *file = vma->vm_file; > @@ -516,7 +516,7 @@ static void gntdev_vma_close(struct vm_area_struct *vma) > gntdev_put_map(priv, map); > } > > -static struct page *gntdev_vma_find_special_page(struct vm_area_struct *vma, > +static struct page *gntdev_vma_find_special_page(struct mm_area *vma, > unsigned long addr) > { > struct gntdev_grant_map *map = vma->vm_private_data; > @@ -690,7 +690,7 @@ static long gntdev_ioctl_get_offset_for_vaddr(struct gntdev_priv *priv, > struct ioctl_gntdev_get_offset_for_vaddr __user *u) > { > struct ioctl_gntdev_get_offset_for_vaddr op; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct gntdev_grant_map *map; > int rv = -EINVAL; > > @@ -1030,7 +1030,7 @@ static long gntdev_ioctl(struct file *flip, > return 0; > } > > -static int gntdev_mmap(struct file *flip, struct vm_area_struct *vma) > +static int gntdev_mmap(struct file *flip, struct mm_area *vma) > { > struct gntdev_priv *priv = flip->private_data; > int index = vma->vm_pgoff; > diff --git a/drivers/xen/privcmd-buf.c b/drivers/xen/privcmd-buf.c > index 0f0dad427d7e..b0d391ea06a5 100644 > --- a/drivers/xen/privcmd-buf.c > +++ b/drivers/xen/privcmd-buf.c > @@ -84,7 +84,7 @@ static int privcmd_buf_release(struct inode *ino, struct file *file) > return 0; > } > > -static void privcmd_buf_vma_open(struct vm_area_struct *vma) > +static void privcmd_buf_vma_open(struct mm_area *vma) > { > struct privcmd_buf_vma_private *vma_priv = vma->vm_private_data; > > @@ -96,7 +96,7 @@ static void privcmd_buf_vma_open(struct vm_area_struct *vma) > mutex_unlock(&vma_priv->file_priv->lock); > } > > -static void privcmd_buf_vma_close(struct vm_area_struct *vma) > +static void privcmd_buf_vma_close(struct mm_area *vma) > { > struct privcmd_buf_vma_private *vma_priv = vma->vm_private_data; > struct privcmd_buf_private *file_priv; > @@ -130,7 +130,7 @@ static const struct vm_operations_struct privcmd_buf_vm_ops = { > .fault = privcmd_buf_vma_fault, > }; > > -static int privcmd_buf_mmap(struct file *file, struct vm_area_struct *vma) > +static int privcmd_buf_mmap(struct file *file, struct mm_area *vma) > { > struct privcmd_buf_private *file_priv = file->private_data; > struct privcmd_buf_vma_private *vma_priv; > diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c > index 13a10f3294a8..6e064d04bab4 100644 > --- a/drivers/xen/privcmd.c > +++ b/drivers/xen/privcmd.c > @@ -73,7 +73,7 @@ struct privcmd_data { > }; > > static int privcmd_vma_range_is_mapped( > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, > unsigned long nr_pages); > > @@ -226,7 +226,7 @@ static int traverse_pages_block(unsigned nelem, size_t size, > > struct mmap_gfn_state { > unsigned long va; > - struct vm_area_struct *vma; > + struct mm_area *vma; > domid_t domain; > }; > > @@ -234,7 +234,7 @@ static int mmap_gfn_range(void *data, void *state) > { > struct privcmd_mmap_entry *msg = data; > struct mmap_gfn_state *st = state; > - struct vm_area_struct *vma = st->vma; > + struct mm_area *vma = st->vma; > int rc; > > /* Do not allow range to wrap the address space. */ > @@ -265,7 +265,7 @@ static long privcmd_ioctl_mmap(struct file *file, void __user *udata) > struct privcmd_data *data = file->private_data; > struct privcmd_mmap mmapcmd; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int rc; > LIST_HEAD(pagelist); > struct mmap_gfn_state state; > @@ -324,7 +324,7 @@ static long privcmd_ioctl_mmap(struct file *file, void __user *udata) > struct mmap_batch_state { > domid_t domain; > unsigned long va; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int index; > /* A tristate: > * 0 for no errors > @@ -348,7 +348,7 @@ static int mmap_batch_fn(void *data, int nr, void *state) > { > xen_pfn_t *gfnp = data; > struct mmap_batch_state *st = state; > - struct vm_area_struct *vma = st->vma; > + struct mm_area *vma = st->vma; > struct page **pages = vma->vm_private_data; > struct page **cur_pages = NULL; > int ret; > @@ -428,7 +428,7 @@ static int mmap_return_errors(void *data, int nr, void *state) > * the vma with the page info to use later. > * Returns: 0 if success, otherwise -errno > */ > -static int alloc_empty_pages(struct vm_area_struct *vma, int numpgs) > +static int alloc_empty_pages(struct mm_area *vma, int numpgs) > { > int rc; > struct page **pages; > @@ -459,7 +459,7 @@ static long privcmd_ioctl_mmap_batch( > int ret; > struct privcmd_mmapbatch_v2 m; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long nr_pages; > LIST_HEAD(pagelist); > struct mmap_batch_state state; > @@ -736,7 +736,7 @@ static long privcmd_ioctl_mmap_resource(struct file *file, > { > struct privcmd_data *data = file->private_data; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct privcmd_mmap_resource kdata; > xen_pfn_t *pfns = NULL; > struct xen_mem_acquire_resource xdata = { }; > @@ -1222,7 +1222,7 @@ struct privcmd_kernel_ioreq *alloc_ioreq(struct privcmd_ioeventfd *ioeventfd) > { > struct privcmd_kernel_ioreq *kioreq; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct page **pages; > unsigned int *ports; > int ret, size, i; > @@ -1584,7 +1584,7 @@ static int privcmd_release(struct inode *ino, struct file *file) > return 0; > } > > -static void privcmd_close(struct vm_area_struct *vma) > +static void privcmd_close(struct mm_area *vma) > { > struct page **pages = vma->vm_private_data; > int numpgs = vma_pages(vma); > @@ -1617,7 +1617,7 @@ static const struct vm_operations_struct privcmd_vm_ops = { > .fault = privcmd_fault > }; > > -static int privcmd_mmap(struct file *file, struct vm_area_struct *vma) > +static int privcmd_mmap(struct file *file, struct mm_area *vma) > { > /* DONTCOPY is essential for Xen because copy_page_range doesn't know > * how to recreate these mappings */ > @@ -1640,7 +1640,7 @@ static int is_mapped_fn(pte_t *pte, unsigned long addr, void *data) > } > > static int privcmd_vma_range_is_mapped( > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, > unsigned long nr_pages) > { > diff --git a/drivers/xen/xenbus/xenbus_dev_backend.c b/drivers/xen/xenbus/xenbus_dev_backend.c > index edba5fecde4d..356bc765f133 100644 > --- a/drivers/xen/xenbus/xenbus_dev_backend.c > +++ b/drivers/xen/xenbus/xenbus_dev_backend.c > @@ -89,7 +89,7 @@ static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, > } > } > > -static int xenbus_backend_mmap(struct file *file, struct vm_area_struct *vma) > +static int xenbus_backend_mmap(struct file *file, struct mm_area *vma) > { > size_t size = vma->vm_end - vma->vm_start; > > diff --git a/drivers/xen/xenfs/xenstored.c b/drivers/xen/xenfs/xenstored.c > index f59235f9f8a2..a4685a4f5bef 100644 > --- a/drivers/xen/xenfs/xenstored.c > +++ b/drivers/xen/xenfs/xenstored.c > @@ -31,7 +31,7 @@ static int xsd_kva_open(struct inode *inode, struct file *file) > return 0; > } > > -static int xsd_kva_mmap(struct file *file, struct vm_area_struct *vma) > +static int xsd_kva_mmap(struct file *file, struct mm_area *vma) > { > size_t size = vma->vm_end - vma->vm_start; > > diff --git a/drivers/xen/xlate_mmu.c b/drivers/xen/xlate_mmu.c > index f17c4c03db30..a70ef3f8f617 100644 > --- a/drivers/xen/xlate_mmu.c > +++ b/drivers/xen/xlate_mmu.c > @@ -66,7 +66,7 @@ struct remap_data { > int nr_fgfn; /* Number of foreign gfn left to map */ > pgprot_t prot; > domid_t domid; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int index; > struct page **pages; > struct xen_remap_gfn_info *info; > @@ -140,7 +140,7 @@ static int remap_pte_fn(pte_t *ptep, unsigned long addr, void *data) > return 0; > } > > -int xen_xlate_remap_gfn_array(struct vm_area_struct *vma, > +int xen_xlate_remap_gfn_array(struct mm_area *vma, > unsigned long addr, > xen_pfn_t *gfn, int nr, > int *err_ptr, pgprot_t prot, > @@ -180,7 +180,7 @@ static void unmap_gfn(unsigned long gfn, void *data) > (void)HYPERVISOR_memory_op(XENMEM_remove_from_physmap, &xrp); > } > > -int xen_xlate_unmap_gfn_range(struct vm_area_struct *vma, > +int xen_xlate_unmap_gfn_range(struct mm_area *vma, > int nr, struct page **pages) > { > xen_for_each_gfn(pages, nr, unmap_gfn, NULL); > @@ -282,7 +282,7 @@ static int remap_pfn_fn(pte_t *ptep, unsigned long addr, void *data) > } > > /* Used by the privcmd module, but has to be built-in on ARM */ > -int xen_remap_vma_range(struct vm_area_struct *vma, unsigned long addr, unsigned long len) > +int xen_remap_vma_range(struct mm_area *vma, unsigned long addr, unsigned long len) > { > struct remap_pfn r = { > .mm = vma->vm_mm, > diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c > index 348cc90bf9c5..b2a7d581805b 100644 > --- a/fs/9p/vfs_file.c > +++ b/fs/9p/vfs_file.c > @@ -454,7 +454,7 @@ int v9fs_file_fsync_dotl(struct file *filp, loff_t start, loff_t end, > } > > static int > -v9fs_file_mmap(struct file *filp, struct vm_area_struct *vma) > +v9fs_file_mmap(struct file *filp, struct mm_area *vma) > { > int retval; > struct inode *inode = file_inode(filp); > @@ -480,7 +480,7 @@ v9fs_vm_page_mkwrite(struct vm_fault *vmf) > return netfs_page_mkwrite(vmf, NULL); > } > > -static void v9fs_mmap_vm_close(struct vm_area_struct *vma) > +static void v9fs_mmap_vm_close(struct mm_area *vma) > { > struct inode *inode; > > diff --git a/fs/afs/file.c b/fs/afs/file.c > index fc15497608c6..1794c1138669 100644 > --- a/fs/afs/file.c > +++ b/fs/afs/file.c > @@ -19,14 +19,14 @@ > #include > #include "internal.h" > > -static int afs_file_mmap(struct file *file, struct vm_area_struct *vma); > +static int afs_file_mmap(struct file *file, struct mm_area *vma); > > static ssize_t afs_file_read_iter(struct kiocb *iocb, struct iov_iter *iter); > static ssize_t afs_file_splice_read(struct file *in, loff_t *ppos, > struct pipe_inode_info *pipe, > size_t len, unsigned int flags); > -static void afs_vm_open(struct vm_area_struct *area); > -static void afs_vm_close(struct vm_area_struct *area); > +static void afs_vm_open(struct mm_area *area); > +static void afs_vm_close(struct mm_area *area); > static vm_fault_t afs_vm_map_pages(struct vm_fault *vmf, pgoff_t start_pgoff, pgoff_t end_pgoff); > > const struct file_operations afs_file_operations = { > @@ -492,7 +492,7 @@ static void afs_drop_open_mmap(struct afs_vnode *vnode) > /* > * Handle setting up a memory mapping on an AFS file. > */ > -static int afs_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int afs_file_mmap(struct file *file, struct mm_area *vma) > { > struct afs_vnode *vnode = AFS_FS_I(file_inode(file)); > int ret; > @@ -507,12 +507,12 @@ static int afs_file_mmap(struct file *file, struct vm_area_struct *vma) > return ret; > } > > -static void afs_vm_open(struct vm_area_struct *vma) > +static void afs_vm_open(struct mm_area *vma) > { > afs_add_open_mmap(AFS_FS_I(file_inode(vma->vm_file))); > } > > -static void afs_vm_close(struct vm_area_struct *vma) > +static void afs_vm_close(struct mm_area *vma) > { > afs_drop_open_mmap(AFS_FS_I(file_inode(vma->vm_file))); > } > diff --git a/fs/aio.c b/fs/aio.c > index 7b976b564cfc..140b42dd11ad 100644 > --- a/fs/aio.c > +++ b/fs/aio.c > @@ -351,7 +351,7 @@ static void aio_free_ring(struct kioctx *ctx) > } > } > > -static int aio_ring_mremap(struct vm_area_struct *vma) > +static int aio_ring_mremap(struct mm_area *vma) > { > struct file *file = vma->vm_file; > struct mm_struct *mm = vma->vm_mm; > @@ -392,7 +392,7 @@ static const struct vm_operations_struct aio_ring_vm_ops = { > #endif > }; > > -static int aio_ring_mmap(struct file *file, struct vm_area_struct *vma) > +static int aio_ring_mmap(struct file *file, struct mm_area *vma) > { > vm_flags_set(vma, VM_DONTEXPAND); > vma->vm_ops = &aio_ring_vm_ops; > diff --git a/fs/backing-file.c b/fs/backing-file.c > index 763fbe9b72b2..95e6cea5fa7a 100644 > --- a/fs/backing-file.c > +++ b/fs/backing-file.c > @@ -323,7 +323,7 @@ ssize_t backing_file_splice_write(struct pipe_inode_info *pipe, > } > EXPORT_SYMBOL_GPL(backing_file_splice_write); > > -int backing_file_mmap(struct file *file, struct vm_area_struct *vma, > +int backing_file_mmap(struct file *file, struct mm_area *vma, > struct backing_file_ctx *ctx) > { > const struct cred *old_cred; > diff --git a/fs/bcachefs/fs.c b/fs/bcachefs/fs.c > index fc834bdf1f52..0cd13a91456c 100644 > --- a/fs/bcachefs/fs.c > +++ b/fs/bcachefs/fs.c > @@ -1403,7 +1403,7 @@ static const struct vm_operations_struct bch_vm_ops = { > .page_mkwrite = bch2_page_mkwrite, > }; > > -static int bch2_mmap(struct file *file, struct vm_area_struct *vma) > +static int bch2_mmap(struct file *file, struct mm_area *vma) > { > file_accessed(file); > > diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c > index 584fa89bc877..b28c8bc74b45 100644 > --- a/fs/binfmt_elf.c > +++ b/fs/binfmt_elf.c > @@ -173,7 +173,7 @@ create_elf_tables(struct linux_binprm *bprm, const struct elfhdr *exec, > elf_addr_t flags = 0; > int ei_index; > const struct cred *cred = current_cred(); > - struct vm_area_struct *vma; > + struct mm_area *vma; > > /* > * In some cases (e.g. Hyper-Threading), we want to avoid L1 > diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c > index 262a707d8990..99026a1bf443 100644 > --- a/fs/btrfs/file.c > +++ b/fs/btrfs/file.c > @@ -1928,7 +1928,7 @@ static const struct vm_operations_struct btrfs_file_vm_ops = { > .page_mkwrite = btrfs_page_mkwrite, > }; > > -static int btrfs_file_mmap(struct file *filp, struct vm_area_struct *vma) > +static int btrfs_file_mmap(struct file *filp, struct mm_area *vma) > { > struct address_space *mapping = filp->f_mapping; > > diff --git a/fs/buffer.c b/fs/buffer.c > index c7abb4a029dc..aafb15b65afa 100644 > --- a/fs/buffer.c > +++ b/fs/buffer.c > @@ -2585,7 +2585,7 @@ EXPORT_SYMBOL(cont_write_begin); > * Direct callers of this function should protect against filesystem freezing > * using sb_start_pagefault() - sb_end_pagefault() functions. > */ > -int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf, > +int block_page_mkwrite(struct mm_area *vma, struct vm_fault *vmf, > get_block_t get_block) > { > struct folio *folio = page_folio(vmf->page); > diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c > index 29be367905a1..b6a99e66b1af 100644 > --- a/fs/ceph/addr.c > +++ b/fs/ceph/addr.c > @@ -1940,7 +1940,7 @@ static void ceph_restore_sigs(sigset_t *oldset) > */ > static vm_fault_t ceph_filemap_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct inode *inode = file_inode(vma->vm_file); > struct ceph_inode_info *ci = ceph_inode(inode); > struct ceph_client *cl = ceph_inode_to_client(inode); > @@ -2031,7 +2031,7 @@ static vm_fault_t ceph_filemap_fault(struct vm_fault *vmf) > > static vm_fault_t ceph_page_mkwrite(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct inode *inode = file_inode(vma->vm_file); > struct ceph_client *cl = ceph_inode_to_client(inode); > struct ceph_inode_info *ci = ceph_inode(inode); > @@ -2319,7 +2319,7 @@ static const struct vm_operations_struct ceph_vmops = { > .page_mkwrite = ceph_page_mkwrite, > }; > > -int ceph_mmap(struct file *file, struct vm_area_struct *vma) > +int ceph_mmap(struct file *file, struct mm_area *vma) > { > struct address_space *mapping = file->f_mapping; > > diff --git a/fs/ceph/super.h b/fs/ceph/super.h > index bb0db0cc8003..bdb01ebd811b 100644 > --- a/fs/ceph/super.h > +++ b/fs/ceph/super.h > @@ -1286,7 +1286,7 @@ extern void __ceph_touch_fmode(struct ceph_inode_info *ci, > /* addr.c */ > extern const struct address_space_operations ceph_aops; > extern const struct netfs_request_ops ceph_netfs_ops; > -extern int ceph_mmap(struct file *file, struct vm_area_struct *vma); > +extern int ceph_mmap(struct file *file, struct mm_area *vma); > extern int ceph_uninline_data(struct file *file); > extern int ceph_pool_perm_check(struct inode *inode, int need); > extern void ceph_pool_perm_destroy(struct ceph_mds_client* mdsc); > diff --git a/fs/coda/file.c b/fs/coda/file.c > index 148856a582a9..28d6240819a0 100644 > --- a/fs/coda/file.c > +++ b/fs/coda/file.c > @@ -120,7 +120,7 @@ coda_file_splice_read(struct file *coda_file, loff_t *ppos, > } > > static void > -coda_vm_open(struct vm_area_struct *vma) > +coda_vm_open(struct mm_area *vma) > { > struct coda_vm_ops *cvm_ops = > container_of(vma->vm_ops, struct coda_vm_ops, vm_ops); > @@ -132,7 +132,7 @@ coda_vm_open(struct vm_area_struct *vma) > } > > static void > -coda_vm_close(struct vm_area_struct *vma) > +coda_vm_close(struct mm_area *vma) > { > struct coda_vm_ops *cvm_ops = > container_of(vma->vm_ops, struct coda_vm_ops, vm_ops); > @@ -148,7 +148,7 @@ coda_vm_close(struct vm_area_struct *vma) > } > > static int > -coda_file_mmap(struct file *coda_file, struct vm_area_struct *vma) > +coda_file_mmap(struct file *coda_file, struct mm_area *vma) > { > struct inode *coda_inode = file_inode(coda_file); > struct coda_file_info *cfi = coda_ftoc(coda_file); > diff --git a/fs/coredump.c b/fs/coredump.c > index c33c177a701b..f9987d48c5a6 100644 > --- a/fs/coredump.c > +++ b/fs/coredump.c > @@ -1082,7 +1082,7 @@ fs_initcall(init_fs_coredump_sysctls); > * meant. These special mappings include - vDSO, vsyscall, and other > * architecture specific mappings > */ > -static bool always_dump_vma(struct vm_area_struct *vma) > +static bool always_dump_vma(struct mm_area *vma) > { > /* Any vsyscall mappings? */ > if (vma == get_gate_vma(vma->vm_mm)) > @@ -1110,7 +1110,7 @@ static bool always_dump_vma(struct vm_area_struct *vma) > /* > * Decide how much of @vma's contents should be included in a core dump. > */ > -static unsigned long vma_dump_size(struct vm_area_struct *vma, > +static unsigned long vma_dump_size(struct mm_area *vma, > unsigned long mm_flags) > { > #define FILTER(type) (mm_flags & (1UL << MMF_DUMP_##type)) > @@ -1193,9 +1193,9 @@ 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 vma_iterator *vmi, > - struct vm_area_struct *vma, > - struct vm_area_struct *gate_vma) > +static struct mm_area *coredump_next_vma(struct vma_iterator *vmi, > + struct mm_area *vma, > + struct mm_area *gate_vma) > { > if (gate_vma && (vma == gate_vma)) > return NULL; > @@ -1238,7 +1238,7 @@ static int cmp_vma_size(const void *vma_meta_lhs_ptr, const void *vma_meta_rhs_p > */ > static bool dump_vma_snapshot(struct coredump_params *cprm) > { > - struct vm_area_struct *gate_vma, *vma = NULL; > + struct mm_area *gate_vma, *vma = NULL; > struct mm_struct *mm = current->mm; > VMA_ITERATOR(vmi, mm, 0); > int i = 0; > diff --git a/fs/cramfs/inode.c b/fs/cramfs/inode.c > index b84d1747a020..9147633db9eb 100644 > --- a/fs/cramfs/inode.c > +++ b/fs/cramfs/inode.c > @@ -343,7 +343,7 @@ static bool cramfs_last_page_is_shared(struct inode *inode) > return memchr_inv(tail_data, 0, PAGE_SIZE - partial) ? true : false; > } > > -static int cramfs_physmem_mmap(struct file *file, struct vm_area_struct *vma) > +static int cramfs_physmem_mmap(struct file *file, struct mm_area *vma) > { > struct inode *inode = file_inode(file); > struct cramfs_sb_info *sbi = CRAMFS_SB(inode->i_sb); > @@ -435,7 +435,7 @@ static int cramfs_physmem_mmap(struct file *file, struct vm_area_struct *vma) > > #else /* CONFIG_MMU */ > > -static int cramfs_physmem_mmap(struct file *file, struct vm_area_struct *vma) > +static int cramfs_physmem_mmap(struct file *file, struct mm_area *vma) > { > return is_nommu_shared_mapping(vma->vm_flags) ? 0 : -ENOSYS; > } > diff --git a/fs/dax.c b/fs/dax.c > index af5045b0f476..a9c552127d9f 100644 > --- a/fs/dax.c > +++ b/fs/dax.c > @@ -439,7 +439,7 @@ static void dax_folio_init(void *entry) > } > > static void dax_associate_entry(void *entry, struct address_space *mapping, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long address, bool shared) > { > unsigned long size = dax_entry_size(entry), index; > @@ -1038,7 +1038,7 @@ static int copy_cow_page_dax(struct vm_fault *vmf, const struct iomap_iter *iter > * flushed on write-faults (non-cow), but not read-faults. > */ > static bool dax_fault_is_synchronous(const struct iomap_iter *iter, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return (iter->flags & IOMAP_WRITE) && (vma->vm_flags & VM_SYNC) && > (iter->iomap.flags & IOMAP_F_DIRTY); > @@ -1114,7 +1114,7 @@ static int dax_writeback_one(struct xa_state *xas, struct dax_device *dax_dev, > { > unsigned long pfn, index, count, end; > long ret = 0; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > /* > * A page got tagged dirty in DAX mapping? Something is seriously > @@ -1388,7 +1388,7 @@ static vm_fault_t dax_pmd_load_hole(struct xa_state *xas, struct vm_fault *vmf, > { > struct address_space *mapping = vmf->vma->vm_file->f_mapping; > unsigned long pmd_addr = vmf->address & PMD_MASK; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct inode *inode = mapping->host; > pgtable_t pgtable = NULL; > struct folio *zero_folio; > diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c > index ce0a3c5ed0ca..ed71003a5b20 100644 > --- a/fs/ecryptfs/file.c > +++ b/fs/ecryptfs/file.c > @@ -185,7 +185,7 @@ static int read_or_initialize_metadata(struct dentry *dentry) > return rc; > } > > -static int ecryptfs_mmap(struct file *file, struct vm_area_struct *vma) > +static int ecryptfs_mmap(struct file *file, struct mm_area *vma) > { > struct file *lower_file = ecryptfs_file_to_lower(file); > /* > diff --git a/fs/erofs/data.c b/fs/erofs/data.c > index 2409d2ab0c28..05444e3d9326 100644 > --- a/fs/erofs/data.c > +++ b/fs/erofs/data.c > @@ -408,7 +408,7 @@ static const struct vm_operations_struct erofs_dax_vm_ops = { > .huge_fault = erofs_dax_huge_fault, > }; > > -static int erofs_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int erofs_file_mmap(struct file *file, struct mm_area *vma) > { > if (!IS_DAX(file_inode(file))) > return generic_file_readonly_mmap(file, vma); > diff --git a/fs/exec.c b/fs/exec.c > index f511409b8cd5..c6c2cddb8cc7 100644 > --- a/fs/exec.c > +++ b/fs/exec.c > @@ -198,7 +198,7 @@ static struct page *get_arg_page(struct linux_binprm *bprm, unsigned long pos, > int write) > { > struct page *page; > - struct vm_area_struct *vma = bprm->vma; > + struct mm_area *vma = bprm->vma; > struct mm_struct *mm = bprm->mm; > int ret; > > @@ -245,7 +245,7 @@ static void flush_arg_page(struct linux_binprm *bprm, unsigned long pos, > static int __bprm_mm_init(struct linux_binprm *bprm) > { > int err; > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > struct mm_struct *mm = bprm->mm; > > bprm->vma = vma = vm_area_alloc(mm); > @@ -363,7 +363,7 @@ static bool valid_arg_len(struct linux_binprm *bprm, long len) > > /* > * Create a new mm_struct and populate it with a temporary stack > - * vm_area_struct. We don't have enough context at this point to set the stack > + * mm_area. We don't have enough context at this point to set the stack > * flags, permissions, and offset, so we use temporary values. We'll update > * them later in setup_arg_pages(). > */ > @@ -702,7 +702,7 @@ static int copy_strings_kernel(int argc, const char *const *argv, > #ifdef CONFIG_MMU > > /* > - * Finalizes the stack vm_area_struct. The flags and permissions are updated, > + * Finalizes the stack mm_area. The flags and permissions are updated, > * the stack is optionally relocated, and some extra space is added. > */ > int setup_arg_pages(struct linux_binprm *bprm, > @@ -712,8 +712,8 @@ int setup_arg_pages(struct linux_binprm *bprm, > unsigned long ret; > unsigned long stack_shift; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma = bprm->vma; > - struct vm_area_struct *prev = NULL; > + struct mm_area *vma = bprm->vma; > + struct mm_area *prev = NULL; > unsigned long vm_flags; > unsigned long stack_base; > unsigned long stack_size; > diff --git a/fs/exfat/file.c b/fs/exfat/file.c > index 841a5b18e3df..ae38e3545f0e 100644 > --- a/fs/exfat/file.c > +++ b/fs/exfat/file.c > @@ -651,7 +651,7 @@ static ssize_t exfat_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) > static vm_fault_t exfat_page_mkwrite(struct vm_fault *vmf) > { > int err; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct file *file = vma->vm_file; > struct inode *inode = file_inode(file); > struct exfat_inode_info *ei = EXFAT_I(inode); > @@ -683,7 +683,7 @@ static const struct vm_operations_struct exfat_file_vm_ops = { > .page_mkwrite = exfat_page_mkwrite, > }; > > -static int exfat_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int exfat_file_mmap(struct file *file, struct mm_area *vma) > { > if (unlikely(exfat_forced_shutdown(file_inode(file)->i_sb))) > return -EIO; > diff --git a/fs/ext2/file.c b/fs/ext2/file.c > index 10b061ac5bc0..cfa6459d23f8 100644 > --- a/fs/ext2/file.c > +++ b/fs/ext2/file.c > @@ -122,7 +122,7 @@ static const struct vm_operations_struct ext2_dax_vm_ops = { > .pfn_mkwrite = ext2_dax_fault, > }; > > -static int ext2_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int ext2_file_mmap(struct file *file, struct mm_area *vma) > { > if (!IS_DAX(file_inode(file))) > return generic_file_mmap(file, vma); > diff --git a/fs/ext4/file.c b/fs/ext4/file.c > index beb078ee4811..f2bf09c18e64 100644 > --- a/fs/ext4/file.c > +++ b/fs/ext4/file.c > @@ -799,7 +799,7 @@ static const struct vm_operations_struct ext4_file_vm_ops = { > .page_mkwrite = ext4_page_mkwrite, > }; > > -static int ext4_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int ext4_file_mmap(struct file *file, struct mm_area *vma) > { > int ret; > struct inode *inode = file->f_mapping->host; > diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c > index 1dc09ed5d403..335fe55c24d2 100644 > --- a/fs/ext4/inode.c > +++ b/fs/ext4/inode.c > @@ -6172,7 +6172,7 @@ static int ext4_bh_unmapped(handle_t *handle, struct inode *inode, > > vm_fault_t ext4_page_mkwrite(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *folio = page_folio(vmf->page); > loff_t size; > unsigned long len; > diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c > index abbcbb5865a3..1423c6e7e488 100644 > --- a/fs/f2fs/file.c > +++ b/fs/f2fs/file.c > @@ -532,7 +532,7 @@ static loff_t f2fs_llseek(struct file *file, loff_t offset, int whence) > return -EINVAL; > } > > -static int f2fs_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int f2fs_file_mmap(struct file *file, struct mm_area *vma) > { > struct inode *inode = file_inode(file); > > diff --git a/fs/fuse/dax.c b/fs/fuse/dax.c > index 0502bf3cdf6a..72cb7b6a361c 100644 > --- a/fs/fuse/dax.c > +++ b/fs/fuse/dax.c > @@ -821,7 +821,7 @@ static const struct vm_operations_struct fuse_dax_vm_ops = { > .pfn_mkwrite = fuse_dax_pfn_mkwrite, > }; > > -int fuse_dax_mmap(struct file *file, struct vm_area_struct *vma) > +int fuse_dax_mmap(struct file *file, struct mm_area *vma) > { > file_accessed(file); > vma->vm_ops = &fuse_dax_vm_ops; > diff --git a/fs/fuse/file.c b/fs/fuse/file.c > index 754378dd9f71..f75907398e60 100644 > --- a/fs/fuse/file.c > +++ b/fs/fuse/file.c > @@ -2576,7 +2576,7 @@ static int fuse_launder_folio(struct folio *folio) > * Write back dirty data/metadata now (there may not be any suitable > * open files later for data) > */ > -static void fuse_vma_close(struct vm_area_struct *vma) > +static void fuse_vma_close(struct mm_area *vma) > { > int err; > > @@ -2622,7 +2622,7 @@ static const struct vm_operations_struct fuse_file_vm_ops = { > .page_mkwrite = fuse_page_mkwrite, > }; > > -static int fuse_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int fuse_file_mmap(struct file *file, struct mm_area *vma) > { > struct fuse_file *ff = file->private_data; > struct fuse_conn *fc = ff->fm->fc; > diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h > index d56d4fd956db..d86e9e62dbfc 100644 > --- a/fs/fuse/fuse_i.h > +++ b/fs/fuse/fuse_i.h > @@ -1470,7 +1470,7 @@ void fuse_free_conn(struct fuse_conn *fc); > > ssize_t fuse_dax_read_iter(struct kiocb *iocb, struct iov_iter *to); > ssize_t fuse_dax_write_iter(struct kiocb *iocb, struct iov_iter *from); > -int fuse_dax_mmap(struct file *file, struct vm_area_struct *vma); > +int fuse_dax_mmap(struct file *file, struct mm_area *vma); > int fuse_dax_break_layouts(struct inode *inode, u64 dmap_start, u64 dmap_end); > int fuse_dax_conn_alloc(struct fuse_conn *fc, enum fuse_dax_mode mode, > struct dax_device *dax_dev); > @@ -1567,7 +1567,7 @@ ssize_t fuse_passthrough_splice_read(struct file *in, loff_t *ppos, > ssize_t fuse_passthrough_splice_write(struct pipe_inode_info *pipe, > struct file *out, loff_t *ppos, > size_t len, unsigned int flags); > -ssize_t fuse_passthrough_mmap(struct file *file, struct vm_area_struct *vma); > +ssize_t fuse_passthrough_mmap(struct file *file, struct mm_area *vma); > > #ifdef CONFIG_SYSCTL > extern int fuse_sysctl_register(void); > diff --git a/fs/fuse/passthrough.c b/fs/fuse/passthrough.c > index 607ef735ad4a..6245304c35f2 100644 > --- a/fs/fuse/passthrough.c > +++ b/fs/fuse/passthrough.c > @@ -129,7 +129,7 @@ ssize_t fuse_passthrough_splice_write(struct pipe_inode_info *pipe, > return ret; > } > > -ssize_t fuse_passthrough_mmap(struct file *file, struct vm_area_struct *vma) > +ssize_t fuse_passthrough_mmap(struct file *file, struct mm_area *vma) > { > struct fuse_file *ff = file->private_data; > struct file *backing_file = fuse_file_passthrough(ff); > diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c > index fd1147aa3891..21c6af00183e 100644 > --- a/fs/gfs2/file.c > +++ b/fs/gfs2/file.c > @@ -588,7 +588,7 @@ static const struct vm_operations_struct gfs2_vm_ops = { > * Returns: 0 > */ > > -static int gfs2_mmap(struct file *file, struct vm_area_struct *vma) > +static int gfs2_mmap(struct file *file, struct mm_area *vma) > { > struct gfs2_inode *ip = GFS2_I(file->f_mapping->host); > > diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c > index e4de5425838d..33c1e3dd8b90 100644 > --- a/fs/hugetlbfs/inode.c > +++ b/fs/hugetlbfs/inode.c > @@ -96,7 +96,7 @@ static const struct fs_parameter_spec hugetlb_fs_parameters[] = { > #define PGOFF_LOFFT_MAX \ > (((1UL << (PAGE_SHIFT + 1)) - 1) << (BITS_PER_LONG - (PAGE_SHIFT + 1))) > > -static int hugetlbfs_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int hugetlbfs_file_mmap(struct file *file, struct mm_area *vma) > { > struct inode *inode = file_inode(file); > loff_t len, vma_len; > @@ -340,7 +340,7 @@ static void hugetlb_delete_from_page_cache(struct folio *folio) > * mutex for the page in the mapping. So, we can not race with page being > * faulted into the vma. > */ > -static bool hugetlb_vma_maps_pfn(struct vm_area_struct *vma, > +static bool hugetlb_vma_maps_pfn(struct mm_area *vma, > unsigned long addr, unsigned long pfn) > { > pte_t *ptep, pte; > @@ -365,7 +365,7 @@ static bool hugetlb_vma_maps_pfn(struct vm_area_struct *vma, > * which overlap the truncated area starting at pgoff, > * and no vma on a 32-bit arch can span beyond the 4GB. > */ > -static unsigned long vma_offset_start(struct vm_area_struct *vma, pgoff_t start) > +static unsigned long vma_offset_start(struct mm_area *vma, pgoff_t start) > { > unsigned long offset = 0; > > @@ -375,7 +375,7 @@ static unsigned long vma_offset_start(struct vm_area_struct *vma, pgoff_t start) > return vma->vm_start + offset; > } > > -static unsigned long vma_offset_end(struct vm_area_struct *vma, pgoff_t end) > +static unsigned long vma_offset_end(struct mm_area *vma, pgoff_t end) > { > unsigned long t_end; > > @@ -399,7 +399,7 @@ static void hugetlb_unmap_file_folio(struct hstate *h, > struct rb_root_cached *root = &mapping->i_mmap; > struct hugetlb_vma_lock *vma_lock; > unsigned long pfn = folio_pfn(folio); > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long v_start; > unsigned long v_end; > pgoff_t start, end; > @@ -479,7 +479,7 @@ static void > hugetlb_vmdelete_list(struct rb_root_cached *root, pgoff_t start, pgoff_t end, > zap_flags_t zap_flags) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > /* > * end == 0 indicates that the entire range after start should be > @@ -730,7 +730,7 @@ static long hugetlbfs_fallocate(struct file *file, int mode, loff_t offset, > struct hugetlbfs_inode_info *info = HUGETLBFS_I(inode); > struct address_space *mapping = inode->i_mapping; > struct hstate *h = hstate_inode(inode); > - struct vm_area_struct pseudo_vma; > + struct mm_area pseudo_vma; > struct mm_struct *mm = current->mm; > loff_t hpage_size = huge_page_size(h); > unsigned long hpage_shift = huge_page_shift(h); > diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c > index 66fe8fe41f06..cd6ff826d3f5 100644 > --- a/fs/kernfs/file.c > +++ b/fs/kernfs/file.c > @@ -349,7 +349,7 @@ static ssize_t kernfs_fop_write_iter(struct kiocb *iocb, struct iov_iter *iter) > return len; > } > > -static void kernfs_vma_open(struct vm_area_struct *vma) > +static void kernfs_vma_open(struct mm_area *vma) > { > struct file *file = vma->vm_file; > struct kernfs_open_file *of = kernfs_of(file); > @@ -408,7 +408,7 @@ static vm_fault_t kernfs_vma_page_mkwrite(struct vm_fault *vmf) > return ret; > } > > -static int kernfs_vma_access(struct vm_area_struct *vma, unsigned long addr, > +static int kernfs_vma_access(struct mm_area *vma, unsigned long addr, > void *buf, int len, int write) > { > struct file *file = vma->vm_file; > @@ -436,7 +436,7 @@ static const struct vm_operations_struct kernfs_vm_ops = { > .access = kernfs_vma_access, > }; > > -static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) > +static int kernfs_fop_mmap(struct file *file, struct mm_area *vma) > { > struct kernfs_open_file *of = kernfs_of(file); > const struct kernfs_ops *ops; > diff --git a/fs/nfs/file.c b/fs/nfs/file.c > index 033feeab8c34..62e293a33325 100644 > --- a/fs/nfs/file.c > +++ b/fs/nfs/file.c > @@ -207,7 +207,7 @@ nfs_file_splice_read(struct file *in, loff_t *ppos, struct pipe_inode_info *pipe > EXPORT_SYMBOL_GPL(nfs_file_splice_read); > > int > -nfs_file_mmap(struct file *file, struct vm_area_struct *vma) > +nfs_file_mmap(struct file *file, struct mm_area *vma) > { > struct inode *inode = file_inode(file); > int status; > diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h > index ec8d32d0e2e9..007e50305767 100644 > --- a/fs/nfs/internal.h > +++ b/fs/nfs/internal.h > @@ -432,7 +432,7 @@ loff_t nfs_file_llseek(struct file *, loff_t, int); > ssize_t nfs_file_read(struct kiocb *, struct iov_iter *); > ssize_t nfs_file_splice_read(struct file *in, loff_t *ppos, struct pipe_inode_info *pipe, > size_t len, unsigned int flags); > -int nfs_file_mmap(struct file *, struct vm_area_struct *); > +int nfs_file_mmap(struct file *, struct mm_area *); > ssize_t nfs_file_write(struct kiocb *, struct iov_iter *); > int nfs_file_release(struct inode *, struct file *); > int nfs_lock(struct file *, int, struct file_lock *); > diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c > index 0e3fc5ba33c7..3e424224cb56 100644 > --- a/fs/nilfs2/file.c > +++ b/fs/nilfs2/file.c > @@ -44,7 +44,7 @@ int nilfs_sync_file(struct file *file, loff_t start, loff_t end, int datasync) > > static vm_fault_t nilfs_page_mkwrite(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *folio = page_folio(vmf->page); > struct inode *inode = file_inode(vma->vm_file); > struct nilfs_transaction_info ti; > @@ -125,7 +125,7 @@ static const struct vm_operations_struct nilfs_file_vm_ops = { > .page_mkwrite = nilfs_page_mkwrite, > }; > > -static int nilfs_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int nilfs_file_mmap(struct file *file, struct mm_area *vma) > { > file_accessed(file); > vma->vm_ops = &nilfs_file_vm_ops; > diff --git a/fs/ntfs3/file.c b/fs/ntfs3/file.c > index 9b6a3f8d2e7c..72370c69d6dc 100644 > --- a/fs/ntfs3/file.c > +++ b/fs/ntfs3/file.c > @@ -347,7 +347,7 @@ static int ntfs_zero_range(struct inode *inode, u64 vbo, u64 vbo_to) > /* > * ntfs_file_mmap - file_operations::mmap > */ > -static int ntfs_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int ntfs_file_mmap(struct file *file, struct mm_area *vma) > { > struct inode *inode = file_inode(file); > struct ntfs_inode *ni = ntfs_i(inode); > diff --git a/fs/ocfs2/mmap.c b/fs/ocfs2/mmap.c > index 6a314e9f2b49..9586d4d287e7 100644 > --- a/fs/ocfs2/mmap.c > +++ b/fs/ocfs2/mmap.c > @@ -30,7 +30,7 @@ > > static vm_fault_t ocfs2_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > sigset_t oldset; > vm_fault_t ret; > > @@ -159,7 +159,7 @@ static const struct vm_operations_struct ocfs2_file_vm_ops = { > .page_mkwrite = ocfs2_page_mkwrite, > }; > > -int ocfs2_mmap(struct file *file, struct vm_area_struct *vma) > +int ocfs2_mmap(struct file *file, struct mm_area *vma) > { > int ret = 0, lock_level = 0; > > diff --git a/fs/ocfs2/mmap.h b/fs/ocfs2/mmap.h > index 1051507cc684..8cf4bc586fb2 100644 > --- a/fs/ocfs2/mmap.h > +++ b/fs/ocfs2/mmap.h > @@ -2,6 +2,6 @@ > #ifndef OCFS2_MMAP_H > #define OCFS2_MMAP_H > > -int ocfs2_mmap(struct file *file, struct vm_area_struct *vma); > +int ocfs2_mmap(struct file *file, struct mm_area *vma); > > #endif /* OCFS2_MMAP_H */ > diff --git a/fs/orangefs/file.c b/fs/orangefs/file.c > index 90c49c0de243..290e33bad497 100644 > --- a/fs/orangefs/file.c > +++ b/fs/orangefs/file.c > @@ -398,7 +398,7 @@ static const struct vm_operations_struct orangefs_file_vm_ops = { > /* > * Memory map a region of a file. > */ > -static int orangefs_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int orangefs_file_mmap(struct file *file, struct mm_area *vma) > { > int ret; > > diff --git a/fs/overlayfs/file.c b/fs/overlayfs/file.c > index 969b458100fe..400f63fc2408 100644 > --- a/fs/overlayfs/file.c > +++ b/fs/overlayfs/file.c > @@ -476,7 +476,7 @@ static int ovl_fsync(struct file *file, loff_t start, loff_t end, int datasync) > return ret; > } > > -static int ovl_mmap(struct file *file, struct vm_area_struct *vma) > +static int ovl_mmap(struct file *file, struct mm_area *vma) > { > struct ovl_file *of = file->private_data; > struct backing_file_ctx ctx = { > diff --git a/fs/proc/base.c b/fs/proc/base.c > index b0d4e1908b22..4f23e14bee67 100644 > --- a/fs/proc/base.c > +++ b/fs/proc/base.c > @@ -2244,7 +2244,7 @@ static const struct dentry_operations tid_map_files_dentry_operations = { > static int map_files_get_link(struct dentry *dentry, struct path *path) > { > unsigned long vm_start, vm_end; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct task_struct *task; > struct mm_struct *mm; > int rc; > @@ -2341,7 +2341,7 @@ static struct dentry *proc_map_files_lookup(struct inode *dir, > struct dentry *dentry, unsigned int flags) > { > unsigned long vm_start, vm_end; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct task_struct *task; > struct dentry *result; > struct mm_struct *mm; > @@ -2395,7 +2395,7 @@ static const struct inode_operations proc_map_files_inode_operations = { > static int > proc_map_files_readdir(struct file *file, struct dir_context *ctx) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct task_struct *task; > struct mm_struct *mm; > unsigned long nr_files, pos, i; > diff --git a/fs/proc/inode.c b/fs/proc/inode.c > index a3eb3b740f76..d5a6e680a0bd 100644 > --- a/fs/proc/inode.c > +++ b/fs/proc/inode.c > @@ -412,7 +412,7 @@ static long proc_reg_compat_ioctl(struct file *file, unsigned int cmd, unsigned > } > #endif > > -static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma) > +static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct mm_area *vma) > { > __auto_type mmap = pde->proc_ops->proc_mmap; > if (mmap) > @@ -420,7 +420,7 @@ static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_are > return -EIO; > } > > -static int proc_reg_mmap(struct file *file, struct vm_area_struct *vma) > +static int proc_reg_mmap(struct file *file, struct mm_area *vma) > { > struct proc_dir_entry *pde = PDE(file_inode(file)); > int rv = -EIO; > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c > index 994cde10e3f4..66a47c2a2b98 100644 > --- a/fs/proc/task_mmu.c > +++ b/fs/proc/task_mmu.c > @@ -127,10 +127,10 @@ static void release_task_mempolicy(struct proc_maps_private *priv) > } > #endif > > -static struct vm_area_struct *proc_get_vma(struct proc_maps_private *priv, > +static struct mm_area *proc_get_vma(struct proc_maps_private *priv, > loff_t *ppos) > { > - struct vm_area_struct *vma = vma_next(&priv->iter); > + struct mm_area *vma = vma_next(&priv->iter); > > if (vma) { > *ppos = vma->vm_start; > @@ -240,7 +240,7 @@ static int do_maps_open(struct inode *inode, struct file *file, > sizeof(struct proc_maps_private)); > } > > -static void get_vma_name(struct vm_area_struct *vma, > +static void get_vma_name(struct mm_area *vma, > const struct path **path, > const char **name, > const char **name_fmt) > @@ -322,7 +322,7 @@ static void show_vma_header_prefix(struct seq_file *m, > } > > static void > -show_map_vma(struct seq_file *m, struct vm_area_struct *vma) > +show_map_vma(struct seq_file *m, struct mm_area *vma) > { > const struct path *path; > const char *name_fmt, *name; > @@ -394,20 +394,20 @@ static int query_vma_setup(struct mm_struct *mm) > return mmap_read_lock_killable(mm); > } > > -static void query_vma_teardown(struct mm_struct *mm, struct vm_area_struct *vma) > +static void query_vma_teardown(struct mm_struct *mm, struct mm_area *vma) > { > mmap_read_unlock(mm); > } > > -static struct vm_area_struct *query_vma_find_by_addr(struct mm_struct *mm, unsigned long addr) > +static struct mm_area *query_vma_find_by_addr(struct mm_struct *mm, unsigned long addr) > { > return find_vma(mm, addr); > } > > -static struct vm_area_struct *query_matching_vma(struct mm_struct *mm, > +static struct mm_area *query_matching_vma(struct mm_struct *mm, > unsigned long addr, u32 flags) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > next_vma: > vma = query_vma_find_by_addr(mm, addr); > @@ -454,7 +454,7 @@ static struct vm_area_struct *query_matching_vma(struct mm_struct *mm, > static int do_procmap_query(struct proc_maps_private *priv, void __user *uarg) > { > struct procmap_query karg; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm; > const char *name = NULL; > char build_id_buf[BUILD_ID_SIZE_MAX], *name_buf = NULL; > @@ -780,7 +780,7 @@ static int smaps_pte_hole(unsigned long addr, unsigned long end, > __always_unused int depth, struct mm_walk *walk) > { > struct mem_size_stats *mss = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > > mss->swap += shmem_partial_swap_usage(walk->vma->vm_file->f_mapping, > linear_page_index(vma, addr), > @@ -806,7 +806,7 @@ static void smaps_pte_entry(pte_t *pte, unsigned long addr, > struct mm_walk *walk) > { > struct mem_size_stats *mss = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > bool locked = !!(vma->vm_flags & VM_LOCKED); > struct page *page = NULL; > bool present = false, young = false, dirty = false; > @@ -854,7 +854,7 @@ static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr, > struct mm_walk *walk) > { > struct mem_size_stats *mss = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > bool locked = !!(vma->vm_flags & VM_LOCKED); > struct page *page = NULL; > bool present = false; > @@ -894,7 +894,7 @@ static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr, > static int smaps_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, > struct mm_walk *walk) > { > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > pte_t *pte; > spinlock_t *ptl; > > @@ -918,7 +918,7 @@ static int smaps_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, > return 0; > } > > -static void show_smap_vma_flags(struct seq_file *m, struct vm_area_struct *vma) > +static void show_smap_vma_flags(struct seq_file *m, struct mm_area *vma) > { > /* > * Don't forget to update Documentation/ on changes. > @@ -1019,7 +1019,7 @@ static int smaps_hugetlb_range(pte_t *pte, unsigned long hmask, > struct mm_walk *walk) > { > struct mem_size_stats *mss = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > pte_t ptent = huge_ptep_get(walk->mm, addr, pte); > struct folio *folio = NULL; > bool present = false; > @@ -1067,7 +1067,7 @@ static const struct mm_walk_ops smaps_shmem_walk_ops = { > * > * Use vm_start of @vma as the beginning address if @start is 0. > */ > -static void smap_gather_stats(struct vm_area_struct *vma, > +static void smap_gather_stats(struct mm_area *vma, > struct mem_size_stats *mss, unsigned long start) > { > const struct mm_walk_ops *ops = &smaps_walk_ops; > @@ -1150,7 +1150,7 @@ static void __show_smap(struct seq_file *m, const struct mem_size_stats *mss, > > static int show_smap(struct seq_file *m, void *v) > { > - struct vm_area_struct *vma = v; > + struct mm_area *vma = v; > struct mem_size_stats mss = {}; > > smap_gather_stats(vma, &mss, 0); > @@ -1180,7 +1180,7 @@ static int show_smaps_rollup(struct seq_file *m, void *v) > struct proc_maps_private *priv = m->private; > struct mem_size_stats mss = {}; > struct mm_struct *mm = priv->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long vma_start = 0, last_vma_end = 0; > int ret = 0; > VMA_ITERATOR(vmi, mm, 0); > @@ -1380,7 +1380,7 @@ struct clear_refs_private { > > #ifdef CONFIG_MEM_SOFT_DIRTY > > -static inline bool pte_is_pinned(struct vm_area_struct *vma, unsigned long addr, pte_t pte) > +static inline bool pte_is_pinned(struct mm_area *vma, unsigned long addr, pte_t pte) > { > struct folio *folio; > > @@ -1396,7 +1396,7 @@ static inline bool pte_is_pinned(struct vm_area_struct *vma, unsigned long addr, > return folio_maybe_dma_pinned(folio); > } > > -static inline void clear_soft_dirty(struct vm_area_struct *vma, > +static inline void clear_soft_dirty(struct mm_area *vma, > unsigned long addr, pte_t *pte) > { > /* > @@ -1422,14 +1422,14 @@ static inline void clear_soft_dirty(struct vm_area_struct *vma, > } > } > #else > -static inline void clear_soft_dirty(struct vm_area_struct *vma, > +static inline void clear_soft_dirty(struct mm_area *vma, > unsigned long addr, pte_t *pte) > { > } > #endif > > #if defined(CONFIG_MEM_SOFT_DIRTY) && defined(CONFIG_TRANSPARENT_HUGEPAGE) > -static inline void clear_soft_dirty_pmd(struct vm_area_struct *vma, > +static inline void clear_soft_dirty_pmd(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp) > { > pmd_t old, pmd = *pmdp; > @@ -1452,7 +1452,7 @@ static inline void clear_soft_dirty_pmd(struct vm_area_struct *vma, > } > } > #else > -static inline void clear_soft_dirty_pmd(struct vm_area_struct *vma, > +static inline void clear_soft_dirty_pmd(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp) > { > } > @@ -1462,7 +1462,7 @@ static int clear_refs_pte_range(pmd_t *pmd, unsigned long addr, > unsigned long end, struct mm_walk *walk) > { > struct clear_refs_private *cp = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > pte_t *pte, ptent; > spinlock_t *ptl; > struct folio *folio; > @@ -1522,7 +1522,7 @@ static int clear_refs_test_walk(unsigned long start, unsigned long end, > struct mm_walk *walk) > { > struct clear_refs_private *cp = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > > if (vma->vm_flags & VM_PFNMAP) > return 1; > @@ -1552,7 +1552,7 @@ static ssize_t clear_refs_write(struct file *file, const char __user *buf, > struct task_struct *task; > char buffer[PROC_NUMBUF] = {}; > struct mm_struct *mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > enum clear_refs_types type; > int itype; > int rv; > @@ -1680,7 +1680,7 @@ static int pagemap_pte_hole(unsigned long start, unsigned long end, > int err = 0; > > while (addr < end) { > - struct vm_area_struct *vma = find_vma(walk->mm, addr); > + struct mm_area *vma = find_vma(walk->mm, addr); > pagemap_entry_t pme = make_pme(0, 0); > /* End of address space hole, which we mark as non-present. */ > unsigned long hole_end; > @@ -1713,7 +1713,7 @@ static int pagemap_pte_hole(unsigned long start, unsigned long end, > } > > static pagemap_entry_t pte_to_pagemap_entry(struct pagemapread *pm, > - struct vm_area_struct *vma, unsigned long addr, pte_t pte) > + struct mm_area *vma, unsigned long addr, pte_t pte) > { > u64 frame = 0, flags = 0; > struct page *page = NULL; > @@ -1774,7 +1774,7 @@ static pagemap_entry_t pte_to_pagemap_entry(struct pagemapread *pm, > static int pagemap_pmd_range(pmd_t *pmdp, unsigned long addr, unsigned long end, > struct mm_walk *walk) > { > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > struct pagemapread *pm = walk->private; > spinlock_t *ptl; > pte_t *pte, *orig_pte; > @@ -1887,7 +1887,7 @@ static int pagemap_hugetlb_range(pte_t *ptep, unsigned long hmask, > struct mm_walk *walk) > { > struct pagemapread *pm = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > u64 flags = 0, frame = 0; > int err = 0; > pte_t pte; > @@ -2099,7 +2099,7 @@ struct pagemap_scan_private { > }; > > static unsigned long pagemap_page_category(struct pagemap_scan_private *p, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, pte_t pte) > { > unsigned long categories = 0; > @@ -2141,7 +2141,7 @@ static unsigned long pagemap_page_category(struct pagemap_scan_private *p, > return categories; > } > > -static void make_uffd_wp_pte(struct vm_area_struct *vma, > +static void make_uffd_wp_pte(struct mm_area *vma, > unsigned long addr, pte_t *pte, pte_t ptent) > { > if (pte_present(ptent)) { > @@ -2161,7 +2161,7 @@ static void make_uffd_wp_pte(struct vm_area_struct *vma, > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > static unsigned long pagemap_thp_category(struct pagemap_scan_private *p, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, pmd_t pmd) > { > unsigned long categories = PAGE_IS_HUGE; > @@ -2203,7 +2203,7 @@ static unsigned long pagemap_thp_category(struct pagemap_scan_private *p, > return categories; > } > > -static void make_uffd_wp_pmd(struct vm_area_struct *vma, > +static void make_uffd_wp_pmd(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp) > { > pmd_t old, pmd = *pmdp; > @@ -2250,7 +2250,7 @@ static unsigned long pagemap_hugetlb_category(pte_t pte) > return categories; > } > > -static void make_uffd_wp_huge_pte(struct vm_area_struct *vma, > +static void make_uffd_wp_huge_pte(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t ptent) > { > @@ -2316,7 +2316,7 @@ static int pagemap_scan_test_walk(unsigned long start, unsigned long end, > struct mm_walk *walk) > { > struct pagemap_scan_private *p = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > unsigned long vma_category = 0; > bool wp_allowed = userfaultfd_wp_async(vma) && > userfaultfd_wp_use_markers(vma); > @@ -2423,7 +2423,7 @@ static int pagemap_scan_thp_entry(pmd_t *pmd, unsigned long start, > { > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > struct pagemap_scan_private *p = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > unsigned long categories; > spinlock_t *ptl; > int ret = 0; > @@ -2473,7 +2473,7 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start, > unsigned long end, struct mm_walk *walk) > { > struct pagemap_scan_private *p = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > unsigned long addr, flush_end = 0; > pte_t *pte, *start_pte; > spinlock_t *ptl; > @@ -2573,7 +2573,7 @@ static int pagemap_scan_hugetlb_entry(pte_t *ptep, unsigned long hmask, > struct mm_walk *walk) > { > struct pagemap_scan_private *p = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > unsigned long categories; > spinlock_t *ptl; > int ret = 0; > @@ -2632,7 +2632,7 @@ static int pagemap_scan_pte_hole(unsigned long addr, unsigned long end, > int depth, struct mm_walk *walk) > { > struct pagemap_scan_private *p = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > int ret, err; > > if (!vma || !pagemap_scan_is_interesting_page(p->cur_vma_category, p)) > @@ -2905,7 +2905,7 @@ static void gather_stats(struct page *page, struct numa_maps *md, int pte_dirty, > md->node[folio_nid(folio)] += nr_pages; > } > > -static struct page *can_gather_numa_stats(pte_t pte, struct vm_area_struct *vma, > +static struct page *can_gather_numa_stats(pte_t pte, struct mm_area *vma, > unsigned long addr) > { > struct page *page; > @@ -2930,7 +2930,7 @@ static struct page *can_gather_numa_stats(pte_t pte, struct vm_area_struct *vma, > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > static struct page *can_gather_numa_stats_pmd(pmd_t pmd, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr) > { > struct page *page; > @@ -2958,7 +2958,7 @@ static int gather_pte_stats(pmd_t *pmd, unsigned long addr, > unsigned long end, struct mm_walk *walk) > { > struct numa_maps *md = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > spinlock_t *ptl; > pte_t *orig_pte; > pte_t *pte; > @@ -3032,7 +3032,7 @@ static int show_numa_map(struct seq_file *m, void *v) > { > struct numa_maps_private *numa_priv = m->private; > struct proc_maps_private *proc_priv = &numa_priv->proc_maps; > - struct vm_area_struct *vma = v; > + struct mm_area *vma = v; > struct numa_maps *md = &numa_priv->md; > struct file *file = vma->vm_file; > struct mm_struct *mm = vma->vm_mm; > diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c > index bce674533000..e45f014b5c81 100644 > --- a/fs/proc/task_nommu.c > +++ b/fs/proc/task_nommu.c > @@ -21,7 +21,7 @@ > void task_mem(struct seq_file *m, struct mm_struct *mm) > { > VMA_ITERATOR(vmi, mm, 0); > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct vm_region *region; > unsigned long bytes = 0, sbytes = 0, slack = 0, size; > > @@ -81,7 +81,7 @@ void task_mem(struct seq_file *m, struct mm_struct *mm) > unsigned long task_vsize(struct mm_struct *mm) > { > VMA_ITERATOR(vmi, mm, 0); > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long vsize = 0; > > mmap_read_lock(mm); > @@ -96,7 +96,7 @@ unsigned long task_statm(struct mm_struct *mm, > unsigned long *data, unsigned long *resident) > { > VMA_ITERATOR(vmi, mm, 0); > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct vm_region *region; > unsigned long size = kobjsize(mm); > > @@ -124,7 +124,7 @@ unsigned long task_statm(struct mm_struct *mm, > /* > * display a single VMA to a sequenced file > */ > -static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma) > +static int nommu_vma_show(struct seq_file *m, struct mm_area *vma) > { > struct mm_struct *mm = vma->vm_mm; > unsigned long ino = 0; > @@ -175,10 +175,10 @@ static int show_map(struct seq_file *m, void *_p) > return nommu_vma_show(m, _p); > } > > -static struct vm_area_struct *proc_get_vma(struct proc_maps_private *priv, > +static struct mm_area *proc_get_vma(struct proc_maps_private *priv, > loff_t *ppos) > { > - struct vm_area_struct *vma = vma_next(&priv->iter); > + struct mm_area *vma = vma_next(&priv->iter); > > if (vma) { > *ppos = vma->vm_start; > diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c > index 10d01eb09c43..8e84ff70f57e 100644 > --- a/fs/proc/vmcore.c > +++ b/fs/proc/vmcore.c > @@ -249,7 +249,7 @@ ssize_t __weak elfcorehdr_read_notes(char *buf, size_t count, u64 *ppos) > /* > * Architectures may override this function to map oldmem > */ > -int __weak remap_oldmem_pfn_range(struct vm_area_struct *vma, > +int __weak remap_oldmem_pfn_range(struct mm_area *vma, > unsigned long from, unsigned long pfn, > unsigned long size, pgprot_t prot) > { > @@ -295,7 +295,7 @@ static int vmcoredd_copy_dumps(struct iov_iter *iter, u64 start, size_t size) > } > > #ifdef CONFIG_MMU > -static int vmcoredd_mmap_dumps(struct vm_area_struct *vma, unsigned long dst, > +static int vmcoredd_mmap_dumps(struct mm_area *vma, unsigned long dst, > u64 start, size_t size) > { > struct vmcoredd_node *dump; > @@ -511,7 +511,7 @@ static const struct vm_operations_struct vmcore_mmap_ops = { > * remap_oldmem_pfn_checked - do remap_oldmem_pfn_range replacing all pages > * reported as not being ram with the zero page. > * > - * @vma: vm_area_struct describing requested mapping > + * @vma: mm_area describing requested mapping > * @from: start remapping from > * @pfn: page frame number to start remapping to > * @size: remapping size > @@ -519,7 +519,7 @@ static const struct vm_operations_struct vmcore_mmap_ops = { > * > * Returns zero on success, -EAGAIN on failure. > */ > -static int remap_oldmem_pfn_checked(struct vm_area_struct *vma, > +static int remap_oldmem_pfn_checked(struct mm_area *vma, > unsigned long from, unsigned long pfn, > unsigned long size, pgprot_t prot) > { > @@ -569,7 +569,7 @@ static int remap_oldmem_pfn_checked(struct vm_area_struct *vma, > return -EAGAIN; > } > > -static int vmcore_remap_oldmem_pfn(struct vm_area_struct *vma, > +static int vmcore_remap_oldmem_pfn(struct mm_area *vma, > unsigned long from, unsigned long pfn, > unsigned long size, pgprot_t prot) > { > @@ -588,7 +588,7 @@ static int vmcore_remap_oldmem_pfn(struct vm_area_struct *vma, > return ret; > } > > -static int mmap_vmcore(struct file *file, struct vm_area_struct *vma) > +static int mmap_vmcore(struct file *file, struct mm_area *vma) > { > size_t size = vma->vm_end - vma->vm_start; > u64 start, end, len, tsz; > @@ -701,7 +701,7 @@ static int mmap_vmcore(struct file *file, struct vm_area_struct *vma) > return -EAGAIN; > } > #else > -static int mmap_vmcore(struct file *file, struct vm_area_struct *vma) > +static int mmap_vmcore(struct file *file, struct mm_area *vma) > { > return -ENOSYS; > } > diff --git a/fs/ramfs/file-nommu.c b/fs/ramfs/file-nommu.c > index 7a6d980e614d..39698a0acbf8 100644 > --- a/fs/ramfs/file-nommu.c > +++ b/fs/ramfs/file-nommu.c > @@ -28,7 +28,7 @@ static unsigned long ramfs_nommu_get_unmapped_area(struct file *file, > unsigned long len, > unsigned long pgoff, > unsigned long flags); > -static int ramfs_nommu_mmap(struct file *file, struct vm_area_struct *vma); > +static int ramfs_nommu_mmap(struct file *file, struct mm_area *vma); > > static unsigned ramfs_mmap_capabilities(struct file *file) > { > @@ -262,7 +262,7 @@ static unsigned long ramfs_nommu_get_unmapped_area(struct file *file, > /* > * set up a mapping for shared memory segments > */ > -static int ramfs_nommu_mmap(struct file *file, struct vm_area_struct *vma) > +static int ramfs_nommu_mmap(struct file *file, struct mm_area *vma) > { > if (!is_nommu_shared_mapping(vma->vm_flags)) > return -ENOSYS; > diff --git a/fs/romfs/mmap-nommu.c b/fs/romfs/mmap-nommu.c > index 4520ca413867..704bc650e9fd 100644 > --- a/fs/romfs/mmap-nommu.c > +++ b/fs/romfs/mmap-nommu.c > @@ -61,7 +61,7 @@ static unsigned long romfs_get_unmapped_area(struct file *file, > * permit a R/O mapping to be made directly through onto an MTD device if > * possible > */ > -static int romfs_mmap(struct file *file, struct vm_area_struct *vma) > +static int romfs_mmap(struct file *file, struct mm_area *vma) > { > return is_nommu_shared_mapping(vma->vm_flags) ? 0 : -ENOSYS; > } > diff --git a/fs/smb/client/cifsfs.h b/fs/smb/client/cifsfs.h > index 8dea0cf3a8de..cadb123692c1 100644 > --- a/fs/smb/client/cifsfs.h > +++ b/fs/smb/client/cifsfs.h > @@ -103,8 +103,8 @@ extern int cifs_lock(struct file *, int, struct file_lock *); > extern int cifs_fsync(struct file *, loff_t, loff_t, int); > extern int cifs_strict_fsync(struct file *, loff_t, loff_t, int); > extern int cifs_flush(struct file *, fl_owner_t id); > -extern int cifs_file_mmap(struct file *file, struct vm_area_struct *vma); > -extern int cifs_file_strict_mmap(struct file *file, struct vm_area_struct *vma); > +extern int cifs_file_mmap(struct file *file, struct mm_area *vma); > +extern int cifs_file_strict_mmap(struct file *file, struct mm_area *vma); > extern const struct file_operations cifs_dir_ops; > extern int cifs_readdir(struct file *file, struct dir_context *ctx); > > diff --git a/fs/smb/client/file.c b/fs/smb/client/file.c > index 8407fb108664..ab822c809070 100644 > --- a/fs/smb/client/file.c > +++ b/fs/smb/client/file.c > @@ -2964,7 +2964,7 @@ static const struct vm_operations_struct cifs_file_vm_ops = { > .page_mkwrite = cifs_page_mkwrite, > }; > > -int cifs_file_strict_mmap(struct file *file, struct vm_area_struct *vma) > +int cifs_file_strict_mmap(struct file *file, struct mm_area *vma) > { > int xid, rc = 0; > struct inode *inode = file_inode(file); > @@ -2982,7 +2982,7 @@ int cifs_file_strict_mmap(struct file *file, struct vm_area_struct *vma) > return rc; > } > > -int cifs_file_mmap(struct file *file, struct vm_area_struct *vma) > +int cifs_file_mmap(struct file *file, struct mm_area *vma) > { > int rc, xid; > > diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c > index c3d3b079aedd..ebddf13bd010 100644 > --- a/fs/sysfs/file.c > +++ b/fs/sysfs/file.c > @@ -171,7 +171,7 @@ static ssize_t sysfs_kf_bin_write(struct kernfs_open_file *of, char *buf, > } > > static int sysfs_kf_bin_mmap(struct kernfs_open_file *of, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct bin_attribute *battr = of->kn->priv; > struct kobject *kobj = sysfs_file_kobj(of->kn); > diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c > index bf311c38d9a8..0f0256b04a4a 100644 > --- a/fs/ubifs/file.c > +++ b/fs/ubifs/file.c > @@ -1579,7 +1579,7 @@ static const struct vm_operations_struct ubifs_file_vm_ops = { > .page_mkwrite = ubifs_vm_page_mkwrite, > }; > > -static int ubifs_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int ubifs_file_mmap(struct file *file, struct mm_area *vma) > { > int err; > > diff --git a/fs/udf/file.c b/fs/udf/file.c > index 0d76c4f37b3e..6d5fa7de4cb6 100644 > --- a/fs/udf/file.c > +++ b/fs/udf/file.c > @@ -36,7 +36,7 @@ > > static vm_fault_t udf_page_mkwrite(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct inode *inode = file_inode(vma->vm_file); > struct address_space *mapping = inode->i_mapping; > struct folio *folio = page_folio(vmf->page); > @@ -189,7 +189,7 @@ static int udf_release_file(struct inode *inode, struct file *filp) > return 0; > } > > -static int udf_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int udf_file_mmap(struct file *file, struct mm_area *vma) > { > file_accessed(file); > vma->vm_ops = &udf_file_vm_ops; > diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c > index d80f94346199..ade022a5af5f 100644 > --- a/fs/userfaultfd.c > +++ b/fs/userfaultfd.c > @@ -94,7 +94,7 @@ static bool userfaultfd_wp_async_ctx(struct userfaultfd_ctx *ctx) > * meaningful when userfaultfd_wp()==true on the vma and when it's > * anonymous. > */ > -bool userfaultfd_wp_unpopulated(struct vm_area_struct *vma) > +bool userfaultfd_wp_unpopulated(struct mm_area *vma) > { > struct userfaultfd_ctx *ctx = vma->vm_userfaultfd_ctx.ctx; > > @@ -231,7 +231,7 @@ static inline bool userfaultfd_huge_must_wait(struct userfaultfd_ctx *ctx, > struct vm_fault *vmf, > unsigned long reason) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > pte_t *ptep, pte; > bool ret = true; > > @@ -362,7 +362,7 @@ static inline unsigned int userfaultfd_get_blocking_state(unsigned int flags) > */ > vm_fault_t handle_userfault(struct vm_fault *vmf, unsigned long reason) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct mm_struct *mm = vma->vm_mm; > struct userfaultfd_ctx *ctx; > struct userfaultfd_wait_queue uwq; > @@ -614,7 +614,7 @@ static void userfaultfd_event_complete(struct userfaultfd_ctx *ctx, > __remove_wait_queue(&ctx->event_wqh, &ewq->wq); > } > > -int dup_userfaultfd(struct vm_area_struct *vma, struct list_head *fcs) > +int dup_userfaultfd(struct mm_area *vma, struct list_head *fcs) > { > struct userfaultfd_ctx *ctx = NULL, *octx; > struct userfaultfd_fork_ctx *fctx; > @@ -719,7 +719,7 @@ void dup_userfaultfd_fail(struct list_head *fcs) > } > } > > -void mremap_userfaultfd_prep(struct vm_area_struct *vma, > +void mremap_userfaultfd_prep(struct mm_area *vma, > struct vm_userfaultfd_ctx *vm_ctx) > { > struct userfaultfd_ctx *ctx; > @@ -766,7 +766,7 @@ void mremap_userfaultfd_complete(struct vm_userfaultfd_ctx *vm_ctx, > userfaultfd_event_wait_completion(ctx, &ewq); > } > > -bool userfaultfd_remove(struct vm_area_struct *vma, > +bool userfaultfd_remove(struct mm_area *vma, > unsigned long start, unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > @@ -807,7 +807,7 @@ static bool has_unmap_ctx(struct userfaultfd_ctx *ctx, struct list_head *unmaps, > return false; > } > > -int userfaultfd_unmap_prep(struct vm_area_struct *vma, unsigned long start, > +int userfaultfd_unmap_prep(struct mm_area *vma, unsigned long start, > unsigned long end, struct list_head *unmaps) > { > struct userfaultfd_unmap_ctx *unmap_ctx; > @@ -1239,7 +1239,7 @@ static int userfaultfd_register(struct userfaultfd_ctx *ctx, > unsigned long arg) > { > struct mm_struct *mm = ctx->mm; > - struct vm_area_struct *vma, *cur; > + struct mm_area *vma, *cur; > int ret; > struct uffdio_register uffdio_register; > struct uffdio_register __user *user_uffdio_register; > @@ -1413,7 +1413,7 @@ static int userfaultfd_unregister(struct userfaultfd_ctx *ctx, > unsigned long arg) > { > struct mm_struct *mm = ctx->mm; > - struct vm_area_struct *vma, *prev, *cur; > + struct mm_area *vma, *prev, *cur; > int ret; > struct uffdio_range uffdio_unregister; > bool found; > @@ -1845,7 +1845,7 @@ static inline int userfaultfd_poison(struct userfaultfd_ctx *ctx, unsigned long > return ret; > } > > -bool userfaultfd_wp_async(struct vm_area_struct *vma) > +bool userfaultfd_wp_async(struct mm_area *vma) > { > return userfaultfd_wp_async_ctx(vma->vm_userfaultfd_ctx.ctx); > } > diff --git a/fs/vboxsf/file.c b/fs/vboxsf/file.c > index b780deb81b02..a59e5521669f 100644 > --- a/fs/vboxsf/file.c > +++ b/fs/vboxsf/file.c > @@ -154,7 +154,7 @@ static int vboxsf_file_release(struct inode *inode, struct file *file) > * Write back dirty pages now, because there may not be any suitable > * open files later > */ > -static void vboxsf_vma_close(struct vm_area_struct *vma) > +static void vboxsf_vma_close(struct mm_area *vma) > { > filemap_write_and_wait(vma->vm_file->f_mapping); > } > @@ -165,7 +165,7 @@ static const struct vm_operations_struct vboxsf_file_vm_ops = { > .map_pages = filemap_map_pages, > }; > > -static int vboxsf_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int vboxsf_file_mmap(struct file *file, struct mm_area *vma) > { > int err; > > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c > index 84f08c976ac4..afe9512ae66f 100644 > --- a/fs/xfs/xfs_file.c > +++ b/fs/xfs/xfs_file.c > @@ -1846,7 +1846,7 @@ static const struct vm_operations_struct xfs_file_vm_ops = { > STATIC int > xfs_file_mmap( > struct file *file, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct inode *inode = file_inode(file); > struct xfs_buftarg *target = xfs_inode_buftarg(XFS_I(inode)); > diff --git a/fs/zonefs/file.c b/fs/zonefs/file.c > index 42e2c0065bb3..09a25e7ae36b 100644 > --- a/fs/zonefs/file.c > +++ b/fs/zonefs/file.c > @@ -312,7 +312,7 @@ static const struct vm_operations_struct zonefs_file_vm_ops = { > .page_mkwrite = zonefs_filemap_page_mkwrite, > }; > > -static int zonefs_file_mmap(struct file *file, struct vm_area_struct *vma) > +static int zonefs_file_mmap(struct file *file, struct mm_area *vma) > { > /* > * Conventional zones accept random writes, so their files can support > diff --git a/include/asm-generic/cacheflush.h b/include/asm-generic/cacheflush.h > index 7ee8a179d103..968dcbb599df 100644 > --- a/include/asm-generic/cacheflush.h > +++ b/include/asm-generic/cacheflush.h > @@ -5,7 +5,7 @@ > #include > > struct mm_struct; > -struct vm_area_struct; > +struct mm_area; > struct page; > struct address_space; > > @@ -32,7 +32,7 @@ static inline void flush_cache_dup_mm(struct mm_struct *mm) > #endif > > #ifndef flush_cache_range > -static inline void flush_cache_range(struct vm_area_struct *vma, > +static inline void flush_cache_range(struct mm_area *vma, > unsigned long start, > unsigned long end) > { > @@ -40,7 +40,7 @@ static inline void flush_cache_range(struct vm_area_struct *vma, > #endif > > #ifndef flush_cache_page > -static inline void flush_cache_page(struct vm_area_struct *vma, > +static inline void flush_cache_page(struct mm_area *vma, > unsigned long vmaddr, > unsigned long pfn) > { > @@ -78,7 +78,7 @@ static inline void flush_icache_range(unsigned long start, unsigned long end) > #endif > > #ifndef flush_icache_user_page > -static inline void flush_icache_user_page(struct vm_area_struct *vma, > +static inline void flush_icache_user_page(struct mm_area *vma, > struct page *page, > unsigned long addr, int len) > { > diff --git a/include/asm-generic/hugetlb.h b/include/asm-generic/hugetlb.h > index 2afc95bf1655..837360772416 100644 > --- a/include/asm-generic/hugetlb.h > +++ b/include/asm-generic/hugetlb.h > @@ -97,7 +97,7 @@ static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, > #endif > > #ifndef __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH > -static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +static inline pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > return ptep_clear_flush(vma, addr, ptep); > @@ -136,7 +136,7 @@ static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, > #endif > > #ifndef __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS > -static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, > +static inline int huge_ptep_set_access_flags(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t pte, int dirty) > { > diff --git a/include/asm-generic/mm_hooks.h b/include/asm-generic/mm_hooks.h > index 6eea3b3c1e65..58db73bbd76f 100644 > --- a/include/asm-generic/mm_hooks.h > +++ b/include/asm-generic/mm_hooks.h > @@ -17,7 +17,7 @@ static inline void arch_exit_mmap(struct mm_struct *mm) > { > } > > -static inline bool arch_vma_access_permitted(struct vm_area_struct *vma, > +static inline bool arch_vma_access_permitted(struct mm_area *vma, > bool write, bool execute, bool foreign) > { > /* by default, allow everything */ > diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h > index 88a42973fa47..a86739bc57db 100644 > --- a/include/asm-generic/tlb.h > +++ b/include/asm-generic/tlb.h > @@ -292,7 +292,7 @@ bool __tlb_remove_folio_pages(struct mmu_gather *tlb, struct page *page, > * function, except we define it before the 'struct mmu_gather'. > */ > #define tlb_delay_rmap(tlb) (((tlb)->delayed_rmap = 1), true) > -extern void tlb_flush_rmaps(struct mmu_gather *tlb, struct vm_area_struct *vma); > +extern void tlb_flush_rmaps(struct mmu_gather *tlb, struct mm_area *vma); > #endif > > #endif > @@ -306,7 +306,7 @@ extern void tlb_flush_rmaps(struct mmu_gather *tlb, struct vm_area_struct *vma); > */ > #ifndef tlb_delay_rmap > #define tlb_delay_rmap(tlb) (false) > -static inline void tlb_flush_rmaps(struct mmu_gather *tlb, struct vm_area_struct *vma) { } > +static inline void tlb_flush_rmaps(struct mmu_gather *tlb, struct mm_area *vma) { } > #endif > > /* > @@ -435,7 +435,7 @@ static inline void tlb_flush(struct mmu_gather *tlb) > if (tlb->fullmm || tlb->need_flush_all) { > flush_tlb_mm(tlb->mm); > } else if (tlb->end) { > - struct vm_area_struct vma = { > + struct mm_area vma = { > .vm_mm = tlb->mm, > .vm_flags = (tlb->vma_exec ? VM_EXEC : 0) | > (tlb->vma_huge ? VM_HUGETLB : 0), > @@ -449,7 +449,7 @@ static inline void tlb_flush(struct mmu_gather *tlb) > #endif /* CONFIG_MMU_GATHER_NO_RANGE */ > > static inline void > -tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma) > +tlb_update_vma_flags(struct mmu_gather *tlb, struct mm_area *vma) > { > /* > * flush_tlb_range() implementations that look at VM_HUGETLB (tile, > @@ -535,7 +535,7 @@ static inline unsigned long tlb_get_unmap_size(struct mmu_gather *tlb) > * case where we're doing a full MM flush. When we're doing a munmap, > * the vmas are adjusted to only cover the region to be torn down. > */ > -static inline void tlb_start_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) > +static inline void tlb_start_vma(struct mmu_gather *tlb, struct mm_area *vma) > { > if (tlb->fullmm) > return; > @@ -546,7 +546,7 @@ static inline void tlb_start_vma(struct mmu_gather *tlb, struct vm_area_struct * > #endif > } > > -static inline void tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) > +static inline void tlb_end_vma(struct mmu_gather *tlb, struct mm_area *vma) > { > if (tlb->fullmm) > return; > diff --git a/include/drm/drm_gem.h b/include/drm/drm_gem.h > index 2bf893eabb4b..84a5e980adee 100644 > --- a/include/drm/drm_gem.h > +++ b/include/drm/drm_gem.h > @@ -186,7 +186,7 @@ struct drm_gem_object_funcs { > * drm_gem_prime_mmap(). When @mmap is present @vm_ops is not > * used, the @mmap callback must set vma->vm_ops instead. > */ > - int (*mmap)(struct drm_gem_object *obj, struct vm_area_struct *vma); > + int (*mmap)(struct drm_gem_object *obj, struct mm_area *vma); > > /** > * @evict: > @@ -482,11 +482,11 @@ int drm_gem_object_init_with_mnt(struct drm_device *dev, > void drm_gem_private_object_init(struct drm_device *dev, > struct drm_gem_object *obj, size_t size); > void drm_gem_private_object_fini(struct drm_gem_object *obj); > -void drm_gem_vm_open(struct vm_area_struct *vma); > -void drm_gem_vm_close(struct vm_area_struct *vma); > +void drm_gem_vm_open(struct mm_area *vma); > +void drm_gem_vm_close(struct mm_area *vma); > int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned long obj_size, > - struct vm_area_struct *vma); > -int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma); > + struct mm_area *vma); > +int drm_gem_mmap(struct file *filp, struct mm_area *vma); > > /** > * drm_gem_object_get - acquire a GEM buffer object reference > diff --git a/include/drm/drm_gem_dma_helper.h b/include/drm/drm_gem_dma_helper.h > index f2678e7ecb98..d097e0a46ceb 100644 > --- a/include/drm/drm_gem_dma_helper.h > +++ b/include/drm/drm_gem_dma_helper.h > @@ -40,7 +40,7 @@ void drm_gem_dma_print_info(const struct drm_gem_dma_object *dma_obj, > struct sg_table *drm_gem_dma_get_sg_table(struct drm_gem_dma_object *dma_obj); > int drm_gem_dma_vmap(struct drm_gem_dma_object *dma_obj, > struct iosys_map *map); > -int drm_gem_dma_mmap(struct drm_gem_dma_object *dma_obj, struct vm_area_struct *vma); > +int drm_gem_dma_mmap(struct drm_gem_dma_object *dma_obj, struct mm_area *vma); > > extern const struct vm_operations_struct drm_gem_dma_vm_ops; > > @@ -126,7 +126,7 @@ static inline int drm_gem_dma_object_vmap(struct drm_gem_object *obj, > * Returns: > * 0 on success or a negative error code on failure. > */ > -static inline int drm_gem_dma_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static inline int drm_gem_dma_object_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct drm_gem_dma_object *dma_obj = to_drm_gem_dma_obj(obj); > > diff --git a/include/drm/drm_gem_shmem_helper.h b/include/drm/drm_gem_shmem_helper.h > index cef5a6b5a4d6..3126f47424b4 100644 > --- a/include/drm/drm_gem_shmem_helper.h > +++ b/include/drm/drm_gem_shmem_helper.h > @@ -109,7 +109,7 @@ int drm_gem_shmem_vmap(struct drm_gem_shmem_object *shmem, > struct iosys_map *map); > void drm_gem_shmem_vunmap(struct drm_gem_shmem_object *shmem, > struct iosys_map *map); > -int drm_gem_shmem_mmap(struct drm_gem_shmem_object *shmem, struct vm_area_struct *vma); > +int drm_gem_shmem_mmap(struct drm_gem_shmem_object *shmem, struct mm_area *vma); > > int drm_gem_shmem_pin_locked(struct drm_gem_shmem_object *shmem); > void drm_gem_shmem_unpin_locked(struct drm_gem_shmem_object *shmem); > @@ -259,7 +259,7 @@ static inline void drm_gem_shmem_object_vunmap(struct drm_gem_object *obj, > * Returns: > * 0 on success or a negative error code on failure. > */ > -static inline int drm_gem_shmem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) > +static inline int drm_gem_shmem_object_mmap(struct drm_gem_object *obj, struct mm_area *vma) > { > struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); > > diff --git a/include/drm/drm_gem_ttm_helper.h b/include/drm/drm_gem_ttm_helper.h > index 7b53d673ae7e..2147aea16d62 100644 > --- a/include/drm/drm_gem_ttm_helper.h > +++ b/include/drm/drm_gem_ttm_helper.h > @@ -21,7 +21,7 @@ int drm_gem_ttm_vmap(struct drm_gem_object *gem, > void drm_gem_ttm_vunmap(struct drm_gem_object *gem, > struct iosys_map *map); > int drm_gem_ttm_mmap(struct drm_gem_object *gem, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > int drm_gem_ttm_dumb_map_offset(struct drm_file *file, struct drm_device *dev, > uint32_t handle, uint64_t *offset); > diff --git a/include/drm/drm_gem_vram_helper.h b/include/drm/drm_gem_vram_helper.h > index 00830b49a3ff..395692607569 100644 > --- a/include/drm/drm_gem_vram_helper.h > +++ b/include/drm/drm_gem_vram_helper.h > @@ -18,7 +18,7 @@ struct drm_mode_create_dumb; > struct drm_plane; > struct drm_plane_state; > struct filp; > -struct vm_area_struct; > +struct mm_area; > > #define DRM_GEM_VRAM_PL_FLAG_SYSTEM (1 << 0) > #define DRM_GEM_VRAM_PL_FLAG_VRAM (1 << 1) > diff --git a/include/drm/drm_prime.h b/include/drm/drm_prime.h > index fa085c44d4ca..feb9e2202049 100644 > --- a/include/drm/drm_prime.h > +++ b/include/drm/drm_prime.h > @@ -89,8 +89,8 @@ void drm_gem_unmap_dma_buf(struct dma_buf_attachment *attach, > int drm_gem_dmabuf_vmap(struct dma_buf *dma_buf, struct iosys_map *map); > void drm_gem_dmabuf_vunmap(struct dma_buf *dma_buf, struct iosys_map *map); > > -int drm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma); > -int drm_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct vm_area_struct *vma); > +int drm_gem_prime_mmap(struct drm_gem_object *obj, struct mm_area *vma); > +int drm_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct mm_area *vma); > > struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev, > struct page **pages, unsigned int nr_pages); > diff --git a/include/drm/ttm/ttm_bo.h b/include/drm/ttm/ttm_bo.h > index 903cd1030110..cbfc05424ea7 100644 > --- a/include/drm/ttm/ttm_bo.h > +++ b/include/drm/ttm/ttm_bo.h > @@ -433,7 +433,7 @@ int ttm_bo_kmap(struct ttm_buffer_object *bo, unsigned long start_page, > void ttm_bo_kunmap(struct ttm_bo_kmap_obj *map); > int ttm_bo_vmap(struct ttm_buffer_object *bo, struct iosys_map *map); > void ttm_bo_vunmap(struct ttm_buffer_object *bo, struct iosys_map *map); > -int ttm_bo_mmap_obj(struct vm_area_struct *vma, struct ttm_buffer_object *bo); > +int ttm_bo_mmap_obj(struct mm_area *vma, struct ttm_buffer_object *bo); > s64 ttm_bo_swapout(struct ttm_device *bdev, struct ttm_operation_ctx *ctx, > struct ttm_resource_manager *man, gfp_t gfp_flags, > s64 target); > @@ -450,9 +450,9 @@ vm_fault_t ttm_bo_vm_fault_reserved(struct vm_fault *vmf, > pgprot_t prot, > pgoff_t num_prefault); > vm_fault_t ttm_bo_vm_fault(struct vm_fault *vmf); > -void ttm_bo_vm_open(struct vm_area_struct *vma); > -void ttm_bo_vm_close(struct vm_area_struct *vma); > -int ttm_bo_vm_access(struct vm_area_struct *vma, unsigned long addr, > +void ttm_bo_vm_open(struct mm_area *vma); > +void ttm_bo_vm_close(struct mm_area *vma); > +int ttm_bo_vm_access(struct mm_area *vma, unsigned long addr, > void *buf, int len, int write); > vm_fault_t ttm_bo_vm_dummy_page(struct vm_fault *vmf, pgprot_t prot); > > diff --git a/include/linux/backing-file.h b/include/linux/backing-file.h > index 1476a6ed1bfd..ec845c283a65 100644 > --- a/include/linux/backing-file.h > +++ b/include/linux/backing-file.h > @@ -38,7 +38,7 @@ ssize_t backing_file_splice_write(struct pipe_inode_info *pipe, > struct file *out, struct kiocb *iocb, > size_t len, unsigned int flags, > struct backing_file_ctx *ctx); > -int backing_file_mmap(struct file *file, struct vm_area_struct *vma, > +int backing_file_mmap(struct file *file, struct mm_area *vma, > struct backing_file_ctx *ctx); > > #endif /* _LINUX_BACKING_FILE_H */ > diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h > index 1625c8529e70..bf4593304fe5 100644 > --- a/include/linux/binfmts.h > +++ b/include/linux/binfmts.h > @@ -17,7 +17,7 @@ struct coredump_params; > */ > struct linux_binprm { > #ifdef CONFIG_MMU > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long vma_pages; > unsigned long argmin; /* rlimit marker for copy_strings() */ > #else > diff --git a/include/linux/bpf.h b/include/linux/bpf.h > index 3f0cc89c0622..1a62e5398dfd 100644 > --- a/include/linux/bpf.h > +++ b/include/linux/bpf.h > @@ -138,7 +138,7 @@ struct bpf_map_ops { > u64 *imm, u32 off); > int (*map_direct_value_meta)(const struct bpf_map *map, > u64 imm, u32 *off); > - int (*map_mmap)(struct bpf_map *map, struct vm_area_struct *vma); > + int (*map_mmap)(struct bpf_map *map, struct mm_area *vma); > __poll_t (*map_poll)(struct bpf_map *map, struct file *filp, > struct poll_table_struct *pts); > unsigned long (*map_get_unmapped_area)(struct file *filep, unsigned long addr, > diff --git a/include/linux/btf_ids.h b/include/linux/btf_ids.h > index 139bdececdcf..3a040583a4b2 100644 > --- a/include/linux/btf_ids.h > +++ b/include/linux/btf_ids.h > @@ -270,7 +270,7 @@ extern u32 btf_sock_ids[]; > #define BTF_TRACING_TYPE_xxx \ > BTF_TRACING_TYPE(BTF_TRACING_TYPE_TASK, task_struct) \ > BTF_TRACING_TYPE(BTF_TRACING_TYPE_FILE, file) \ > - BTF_TRACING_TYPE(BTF_TRACING_TYPE_VMA, vm_area_struct) > + BTF_TRACING_TYPE(BTF_TRACING_TYPE_VMA, mm_area) > > enum { > #define BTF_TRACING_TYPE(name, type) name, > diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h > index f0a4ad7839b6..3b16880622f2 100644 > --- a/include/linux/buffer_head.h > +++ b/include/linux/buffer_head.h > @@ -271,7 +271,7 @@ int cont_write_begin(struct file *, struct address_space *, loff_t, > get_block_t *, loff_t *); > int generic_cont_expand_simple(struct inode *inode, loff_t size); > void block_commit_write(struct folio *folio, size_t from, size_t to); > -int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf, > +int block_page_mkwrite(struct mm_area *vma, struct vm_fault *vmf, > get_block_t get_block); > sector_t generic_block_bmap(struct address_space *, sector_t, get_block_t *); > int block_truncate_page(struct address_space *, loff_t, get_block_t *); > diff --git a/include/linux/buildid.h b/include/linux/buildid.h > index 014a88c41073..ccb20bbf6a32 100644 > --- a/include/linux/buildid.h > +++ b/include/linux/buildid.h > @@ -6,9 +6,9 @@ > > #define BUILD_ID_SIZE_MAX 20 > > -struct vm_area_struct; > -int build_id_parse(struct vm_area_struct *vma, unsigned char *build_id, __u32 *size); > -int build_id_parse_nofault(struct vm_area_struct *vma, unsigned char *build_id, __u32 *size); > +struct mm_area; > +int build_id_parse(struct mm_area *vma, unsigned char *build_id, __u32 *size); > +int build_id_parse_nofault(struct mm_area *vma, unsigned char *build_id, __u32 *size); > int build_id_parse_buf(const void *buf, unsigned char *build_id, u32 buf_size); > > #if IS_ENABLED(CONFIG_STACKTRACE_BUILD_ID) || IS_ENABLED(CONFIG_VMCORE_INFO) > diff --git a/include/linux/cacheflush.h b/include/linux/cacheflush.h > index 55f297b2c23f..81e334b23709 100644 > --- a/include/linux/cacheflush.h > +++ b/include/linux/cacheflush.h > @@ -18,7 +18,7 @@ static inline void flush_dcache_folio(struct folio *folio) > #endif /* ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE */ > > #ifndef flush_icache_pages > -static inline void flush_icache_pages(struct vm_area_struct *vma, > +static inline void flush_icache_pages(struct mm_area *vma, > struct page *page, unsigned int nr) > { > } > diff --git a/include/linux/configfs.h b/include/linux/configfs.h > index c771e9d0d0b9..2fc8bc945f7c 100644 > --- a/include/linux/configfs.h > +++ b/include/linux/configfs.h > @@ -146,7 +146,7 @@ static struct configfs_attribute _pfx##attr_##_name = { \ > } > > struct file; > -struct vm_area_struct; > +struct mm_area; > > struct configfs_bin_attribute { > struct configfs_attribute cb_attr; /* std. attribute */ > diff --git a/include/linux/crash_dump.h b/include/linux/crash_dump.h > index 2f2555e6407c..28c31aa4abf3 100644 > --- a/include/linux/crash_dump.h > +++ b/include/linux/crash_dump.h > @@ -22,7 +22,7 @@ extern ssize_t elfcorehdr_read(char *buf, size_t count, u64 *ppos); > extern ssize_t elfcorehdr_read_notes(char *buf, size_t count, u64 *ppos); > void elfcorehdr_fill_device_ram_ptload_elf64(Elf64_Phdr *phdr, > unsigned long long paddr, unsigned long long size); > -extern int remap_oldmem_pfn_range(struct vm_area_struct *vma, > +extern int remap_oldmem_pfn_range(struct mm_area *vma, > unsigned long from, unsigned long pfn, > unsigned long size, pgprot_t prot); > > diff --git a/include/linux/dax.h b/include/linux/dax.h > index dcc9fcdf14e4..92e61f46d8b2 100644 > --- a/include/linux/dax.h > +++ b/include/linux/dax.h > @@ -65,7 +65,7 @@ size_t dax_recovery_write(struct dax_device *dax_dev, pgoff_t pgoff, > /* > * Check if given mapping is supported by the file / underlying device. > */ > -static inline bool daxdev_mapping_supported(struct vm_area_struct *vma, > +static inline bool daxdev_mapping_supported(struct mm_area *vma, > struct dax_device *dax_dev) > { > if (!(vma->vm_flags & VM_SYNC)) > @@ -110,7 +110,7 @@ static inline void set_dax_nomc(struct dax_device *dax_dev) > static inline void set_dax_synchronous(struct dax_device *dax_dev) > { > } > -static inline bool daxdev_mapping_supported(struct vm_area_struct *vma, > +static inline bool daxdev_mapping_supported(struct mm_area *vma, > struct dax_device *dax_dev) > { > return !(vma->vm_flags & VM_SYNC); > diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h > index 36216d28d8bd..8aa15c4fd02f 100644 > --- a/include/linux/dma-buf.h > +++ b/include/linux/dma-buf.h > @@ -281,7 +281,7 @@ struct dma_buf_ops { > * > * 0 on success or a negative error code on failure. > */ > - int (*mmap)(struct dma_buf *, struct vm_area_struct *vma); > + int (*mmap)(struct dma_buf *, struct mm_area *vma); > > int (*vmap)(struct dma_buf *dmabuf, struct iosys_map *map); > void (*vunmap)(struct dma_buf *dmabuf, struct iosys_map *map); > @@ -630,7 +630,7 @@ void dma_buf_unmap_attachment_unlocked(struct dma_buf_attachment *attach, > struct sg_table *sg_table, > enum dma_data_direction direction); > > -int dma_buf_mmap(struct dma_buf *, struct vm_area_struct *, > +int dma_buf_mmap(struct dma_buf *, struct mm_area *, > unsigned long); > int dma_buf_vmap(struct dma_buf *dmabuf, struct iosys_map *map); > void dma_buf_vunmap(struct dma_buf *dmabuf, struct iosys_map *map); > diff --git a/include/linux/dma-map-ops.h b/include/linux/dma-map-ops.h > index e172522cd936..c6bdde002279 100644 > --- a/include/linux/dma-map-ops.h > +++ b/include/linux/dma-map-ops.h > @@ -24,7 +24,7 @@ struct dma_map_ops { > gfp_t gfp); > void (*free_pages)(struct device *dev, size_t size, struct page *vaddr, > dma_addr_t dma_handle, enum dma_data_direction dir); > - int (*mmap)(struct device *, struct vm_area_struct *, > + int (*mmap)(struct device *, struct mm_area *, > void *, dma_addr_t, size_t, unsigned long attrs); > > int (*get_sgtable)(struct device *dev, struct sg_table *sgt, > @@ -162,7 +162,7 @@ void dma_release_coherent_memory(struct device *dev); > int dma_alloc_from_dev_coherent(struct device *dev, ssize_t size, > dma_addr_t *dma_handle, void **ret); > int dma_release_from_dev_coherent(struct device *dev, int order, void *vaddr); > -int dma_mmap_from_dev_coherent(struct device *dev, struct vm_area_struct *vma, > +int dma_mmap_from_dev_coherent(struct device *dev, struct mm_area *vma, > void *cpu_addr, size_t size, int *ret); > #else > static inline int dma_declare_coherent_memory(struct device *dev, > @@ -181,7 +181,7 @@ static inline void dma_release_coherent_memory(struct device *dev) { } > void *dma_alloc_from_global_coherent(struct device *dev, ssize_t size, > dma_addr_t *dma_handle); > int dma_release_from_global_coherent(int order, void *vaddr); > -int dma_mmap_from_global_coherent(struct vm_area_struct *vma, void *cpu_addr, > +int dma_mmap_from_global_coherent(struct mm_area *vma, void *cpu_addr, > size_t size, int *ret); > int dma_init_global_coherent(phys_addr_t phys_addr, size_t size); > #else > @@ -194,7 +194,7 @@ static inline int dma_release_from_global_coherent(int order, void *vaddr) > { > return 0; > } > -static inline int dma_mmap_from_global_coherent(struct vm_area_struct *vma, > +static inline int dma_mmap_from_global_coherent(struct mm_area *vma, > void *cpu_addr, size_t size, int *ret) > { > return 0; > @@ -204,7 +204,7 @@ static inline int dma_mmap_from_global_coherent(struct vm_area_struct *vma, > int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs); > -int dma_common_mmap(struct device *dev, struct vm_area_struct *vma, > +int dma_common_mmap(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs); > struct page *dma_common_alloc_pages(struct device *dev, size_t size, > diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h > index b79925b1c433..06e43bf6536d 100644 > --- a/include/linux/dma-mapping.h > +++ b/include/linux/dma-mapping.h > @@ -124,7 +124,7 @@ void dmam_free_coherent(struct device *dev, size_t size, void *vaddr, > int dma_get_sgtable_attrs(struct device *dev, struct sg_table *sgt, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs); > -int dma_mmap_attrs(struct device *dev, struct vm_area_struct *vma, > +int dma_mmap_attrs(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs); > bool dma_can_mmap(struct device *dev); > @@ -143,7 +143,7 @@ void dma_free_noncontiguous(struct device *dev, size_t size, > void *dma_vmap_noncontiguous(struct device *dev, size_t size, > struct sg_table *sgt); > void dma_vunmap_noncontiguous(struct device *dev, void *vaddr); > -int dma_mmap_noncontiguous(struct device *dev, struct vm_area_struct *vma, > +int dma_mmap_noncontiguous(struct device *dev, struct mm_area *vma, > size_t size, struct sg_table *sgt); > #else /* CONFIG_HAS_DMA */ > static inline dma_addr_t dma_map_page_attrs(struct device *dev, > @@ -210,7 +210,7 @@ static inline int dma_get_sgtable_attrs(struct device *dev, > { > return -ENXIO; > } > -static inline int dma_mmap_attrs(struct device *dev, struct vm_area_struct *vma, > +static inline int dma_mmap_attrs(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs) > { > @@ -271,7 +271,7 @@ static inline void dma_vunmap_noncontiguous(struct device *dev, void *vaddr) > { > } > static inline int dma_mmap_noncontiguous(struct device *dev, > - struct vm_area_struct *vma, size_t size, struct sg_table *sgt) > + struct mm_area *vma, size_t size, struct sg_table *sgt) > { > return -EINVAL; > } > @@ -357,7 +357,7 @@ struct page *dma_alloc_pages(struct device *dev, size_t size, > dma_addr_t *dma_handle, enum dma_data_direction dir, gfp_t gfp); > void dma_free_pages(struct device *dev, size_t size, struct page *page, > dma_addr_t dma_handle, enum dma_data_direction dir); > -int dma_mmap_pages(struct device *dev, struct vm_area_struct *vma, > +int dma_mmap_pages(struct device *dev, struct mm_area *vma, > size_t size, struct page *page); > > static inline void *dma_alloc_noncoherent(struct device *dev, size_t size, > @@ -611,7 +611,7 @@ static inline void dma_free_wc(struct device *dev, size_t size, > } > > static inline int dma_mmap_wc(struct device *dev, > - struct vm_area_struct *vma, > + struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, > size_t size) > { > diff --git a/include/linux/fb.h b/include/linux/fb.h > index cd653862ab99..f09a1e5e46a0 100644 > --- a/include/linux/fb.h > +++ b/include/linux/fb.h > @@ -26,7 +26,7 @@ struct module; > struct notifier_block; > struct page; > struct videomode; > -struct vm_area_struct; > +struct mm_area; > > /* Definitions below are used in the parsed monitor specs */ > #define FB_DPMS_ACTIVE_OFF 1 > @@ -302,7 +302,7 @@ struct fb_ops { > unsigned long arg); > > /* perform fb specific mmap */ > - int (*fb_mmap)(struct fb_info *info, struct vm_area_struct *vma); > + int (*fb_mmap)(struct fb_info *info, struct mm_area *vma); > > /* get capability given var */ > void (*fb_get_caps)(struct fb_info *info, struct fb_blit_caps *caps, > @@ -555,7 +555,7 @@ extern ssize_t fb_io_read(struct fb_info *info, char __user *buf, > size_t count, loff_t *ppos); > extern ssize_t fb_io_write(struct fb_info *info, const char __user *buf, > size_t count, loff_t *ppos); > -int fb_io_mmap(struct fb_info *info, struct vm_area_struct *vma); > +int fb_io_mmap(struct fb_info *info, struct mm_area *vma); > > #define __FB_DEFAULT_IOMEM_OPS_RDWR \ > .fb_read = fb_io_read, \ > @@ -648,7 +648,7 @@ static inline void __fb_pad_aligned_buffer(u8 *dst, u32 d_pitch, > } > > /* fb_defio.c */ > -int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma); > +int fb_deferred_io_mmap(struct fb_info *info, struct mm_area *vma); > extern int fb_deferred_io_init(struct fb_info *info); > extern void fb_deferred_io_open(struct fb_info *info, > struct inode *inode, > diff --git a/include/linux/fs.h b/include/linux/fs.h > index 016b0fe1536e..2be4d710cdad 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -65,7 +65,7 @@ struct kobject; > struct pipe_inode_info; > struct poll_table_struct; > struct kstatfs; > -struct vm_area_struct; > +struct mm_area; > struct vfsmount; > struct cred; > struct swap_info_struct; > @@ -2140,7 +2140,7 @@ struct file_operations { > __poll_t (*poll) (struct file *, struct poll_table_struct *); > long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); > long (*compat_ioctl) (struct file *, unsigned int, unsigned long); > - int (*mmap) (struct file *, struct vm_area_struct *); > + int (*mmap) (struct file *, struct mm_area *); > int (*open) (struct inode *, struct file *); > int (*flush) (struct file *, fl_owner_t id); > int (*release) (struct inode *, struct file *); > @@ -2238,7 +2238,7 @@ struct inode_operations { > struct offset_ctx *(*get_offset_ctx)(struct inode *inode); > } ____cacheline_aligned; > > -static inline int call_mmap(struct file *file, struct vm_area_struct *vma) > +static inline int call_mmap(struct file *file, struct mm_area *vma) > { > return file->f_op->mmap(file, vma); > } > @@ -3341,8 +3341,8 @@ extern void inode_add_lru(struct inode *inode); > extern int sb_set_blocksize(struct super_block *, int); > extern int sb_min_blocksize(struct super_block *, int); > > -extern int generic_file_mmap(struct file *, struct vm_area_struct *); > -extern int generic_file_readonly_mmap(struct file *, struct vm_area_struct *); > +extern int generic_file_mmap(struct file *, struct mm_area *); > +extern int generic_file_readonly_mmap(struct file *, struct mm_area *); > extern ssize_t generic_write_checks(struct kiocb *, struct iov_iter *); > int generic_write_checks_count(struct kiocb *iocb, loff_t *count); > extern int generic_write_check_limits(struct file *file, loff_t pos, > @@ -3666,12 +3666,12 @@ void setattr_copy(struct mnt_idmap *, struct inode *inode, > > extern int file_update_time(struct file *file); > > -static inline bool vma_is_dax(const struct vm_area_struct *vma) > +static inline bool vma_is_dax(const struct mm_area *vma) > { > return vma->vm_file && IS_DAX(vma->vm_file->f_mapping->host); > } > > -static inline bool vma_is_fsdax(struct vm_area_struct *vma) > +static inline bool vma_is_fsdax(struct mm_area *vma) > { > struct inode *inode; > > diff --git a/include/linux/gfp.h b/include/linux/gfp.h > index c9fa6309c903..1198056004c8 100644 > --- a/include/linux/gfp.h > +++ b/include/linux/gfp.h > @@ -9,7 +9,7 @@ > #include > #include > > -struct vm_area_struct; > +struct mm_area; > struct mempolicy; > > /* Convert GFP flags to their corresponding migrate type */ > @@ -318,7 +318,7 @@ struct page *alloc_pages_noprof(gfp_t gfp, unsigned int order); > struct folio *folio_alloc_noprof(gfp_t gfp, unsigned int order); > struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order, > struct mempolicy *mpol, pgoff_t ilx, int nid); > -struct folio *vma_alloc_folio_noprof(gfp_t gfp, int order, struct vm_area_struct *vma, > +struct folio *vma_alloc_folio_noprof(gfp_t gfp, int order, struct mm_area *vma, > unsigned long addr); > #else > static inline struct page *alloc_pages_noprof(gfp_t gfp_mask, unsigned int order) > @@ -346,7 +346,7 @@ static inline struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int orde > #define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) > > static inline struct page *alloc_page_vma_noprof(gfp_t gfp, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > struct folio *folio = vma_alloc_folio_noprof(gfp, 0, vma, addr); > > @@ -420,7 +420,7 @@ static inline bool gfp_compaction_allowed(gfp_t gfp_mask) > return IS_ENABLED(CONFIG_COMPACTION) && (gfp_mask & __GFP_IO); > } > > -extern gfp_t vma_thp_gfp_mask(struct vm_area_struct *vma); > +extern gfp_t vma_thp_gfp_mask(struct mm_area *vma); > > #ifdef CONFIG_CONTIG_ALLOC > /* The below functions must be run on a range from a single zone. */ > diff --git a/include/linux/highmem.h b/include/linux/highmem.h > index 5c6bea81a90e..76601fc06fab 100644 > --- a/include/linux/highmem.h > +++ b/include/linux/highmem.h > @@ -183,7 +183,7 @@ static inline unsigned long nr_free_highpages(void); > static inline unsigned long totalhigh_pages(void); > > #ifndef ARCH_HAS_FLUSH_ANON_PAGE > -static inline void flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned long vmaddr) > +static inline void flush_anon_page(struct mm_area *vma, struct page *page, unsigned long vmaddr) > { > } > #endif > @@ -221,7 +221,7 @@ static inline void clear_user_highpage(struct page *page, unsigned long vaddr) > * we are out of memory. > */ > static inline > -struct folio *vma_alloc_zeroed_movable_folio(struct vm_area_struct *vma, > +struct folio *vma_alloc_zeroed_movable_folio(struct mm_area *vma, > unsigned long vaddr) > { > struct folio *folio; > @@ -301,7 +301,7 @@ static inline void zero_user(struct page *page, > #ifndef __HAVE_ARCH_COPY_USER_HIGHPAGE > > static inline void copy_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > char *vfrom, *vto; > > @@ -339,7 +339,7 @@ static inline void copy_highpage(struct page *to, struct page *from) > * of bytes not copied if there was a #MC, otherwise 0 for success. > */ > static inline int copy_mc_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > unsigned long ret; > char *vfrom, *vto; > @@ -378,7 +378,7 @@ static inline int copy_mc_highpage(struct page *to, struct page *from) > } > #else > static inline int copy_mc_user_highpage(struct page *to, struct page *from, > - unsigned long vaddr, struct vm_area_struct *vma) > + unsigned long vaddr, struct mm_area *vma) > { > copy_user_highpage(to, from, vaddr, vma); > return 0; > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > index e893d546a49f..b8c548e672b0 100644 > --- a/include/linux/huge_mm.h > +++ b/include/linux/huge_mm.h > @@ -10,11 +10,11 @@ > vm_fault_t do_huge_pmd_anonymous_page(struct vm_fault *vmf); > int copy_huge_pmd(struct mm_struct *dst_mm, struct mm_struct *src_mm, > pmd_t *dst_pmd, pmd_t *src_pmd, unsigned long addr, > - struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma); > + struct mm_area *dst_vma, struct mm_area *src_vma); > void huge_pmd_set_accessed(struct vm_fault *vmf); > int copy_huge_pud(struct mm_struct *dst_mm, struct mm_struct *src_mm, > pud_t *dst_pud, pud_t *src_pud, unsigned long addr, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD > void huge_pud_set_accessed(struct vm_fault *vmf, pud_t orig_pud); > @@ -25,15 +25,15 @@ static inline void huge_pud_set_accessed(struct vm_fault *vmf, pud_t orig_pud) > #endif > > vm_fault_t do_huge_pmd_wp_page(struct vm_fault *vmf); > -bool madvise_free_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, > +bool madvise_free_huge_pmd(struct mmu_gather *tlb, struct mm_area *vma, > pmd_t *pmd, unsigned long addr, unsigned long next); > -int zap_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, pmd_t *pmd, > +int zap_huge_pmd(struct mmu_gather *tlb, struct mm_area *vma, pmd_t *pmd, > unsigned long addr); > -int zap_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, pud_t *pud, > +int zap_huge_pud(struct mmu_gather *tlb, struct mm_area *vma, pud_t *pud, > unsigned long addr); > -bool move_huge_pmd(struct vm_area_struct *vma, unsigned long old_addr, > +bool move_huge_pmd(struct mm_area *vma, unsigned long old_addr, > unsigned long new_addr, pmd_t *old_pmd, pmd_t *new_pmd); > -int change_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, > +int change_huge_pmd(struct mmu_gather *tlb, struct mm_area *vma, > pmd_t *pmd, unsigned long addr, pgprot_t newprot, > unsigned long cp_flags); > > @@ -212,7 +212,7 @@ static inline int next_order(unsigned long *orders, int prev) > * - For all vmas, check if the haddr is in an aligned hugepage > * area. > */ > -static inline bool thp_vma_suitable_order(struct vm_area_struct *vma, > +static inline bool thp_vma_suitable_order(struct mm_area *vma, > unsigned long addr, int order) > { > unsigned long hpage_size = PAGE_SIZE << order; > @@ -237,7 +237,7 @@ static inline bool thp_vma_suitable_order(struct vm_area_struct *vma, > * See thp_vma_suitable_order(). > * All orders that pass the checks are returned as a bitfield. > */ > -static inline unsigned long thp_vma_suitable_orders(struct vm_area_struct *vma, > +static inline unsigned long thp_vma_suitable_orders(struct mm_area *vma, > unsigned long addr, unsigned long orders) > { > int order; > @@ -260,7 +260,7 @@ static inline unsigned long thp_vma_suitable_orders(struct vm_area_struct *vma, > return orders; > } > > -unsigned long __thp_vma_allowable_orders(struct vm_area_struct *vma, > +unsigned long __thp_vma_allowable_orders(struct mm_area *vma, > unsigned long vm_flags, > unsigned long tva_flags, > unsigned long orders); > @@ -281,7 +281,7 @@ unsigned long __thp_vma_allowable_orders(struct vm_area_struct *vma, > * orders are allowed. > */ > static inline > -unsigned long thp_vma_allowable_orders(struct vm_area_struct *vma, > +unsigned long thp_vma_allowable_orders(struct mm_area *vma, > unsigned long vm_flags, > unsigned long tva_flags, > unsigned long orders) > @@ -316,7 +316,7 @@ struct thpsize { > (transparent_hugepage_flags & \ > (1< > -static inline bool vma_thp_disabled(struct vm_area_struct *vma, > +static inline bool vma_thp_disabled(struct mm_area *vma, > unsigned long vm_flags) > { > /* > @@ -394,7 +394,7 @@ static inline int split_huge_page(struct page *page) > } > void deferred_split_folio(struct folio *folio, bool partially_mapped); > > -void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, > +void __split_huge_pmd(struct mm_area *vma, pmd_t *pmd, > unsigned long address, bool freeze, struct folio *folio); > > #define split_huge_pmd(__vma, __pmd, __address) \ > @@ -407,19 +407,19 @@ void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, > } while (0) > > > -void split_huge_pmd_address(struct vm_area_struct *vma, unsigned long address, > +void split_huge_pmd_address(struct mm_area *vma, unsigned long address, > bool freeze, struct folio *folio); > > -void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud, > +void __split_huge_pud(struct mm_area *vma, pud_t *pud, > unsigned long address); > > #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD > -int change_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, > +int change_huge_pud(struct mmu_gather *tlb, struct mm_area *vma, > pud_t *pudp, unsigned long addr, pgprot_t newprot, > unsigned long cp_flags); > #else > static inline int > -change_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, > +change_huge_pud(struct mmu_gather *tlb, struct mm_area *vma, > pud_t *pudp, unsigned long addr, pgprot_t newprot, > unsigned long cp_flags) { return 0; } > #endif > @@ -432,15 +432,15 @@ change_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, > __split_huge_pud(__vma, __pud, __address); \ > } while (0) > > -int hugepage_madvise(struct vm_area_struct *vma, unsigned long *vm_flags, > +int hugepage_madvise(struct mm_area *vma, unsigned long *vm_flags, > int advice); > -int madvise_collapse(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +int madvise_collapse(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start, unsigned long end); > -void vma_adjust_trans_huge(struct vm_area_struct *vma, unsigned long start, > - unsigned long end, struct vm_area_struct *next); > -spinlock_t *__pmd_trans_huge_lock(pmd_t *pmd, struct vm_area_struct *vma); > -spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct vm_area_struct *vma); > +void vma_adjust_trans_huge(struct mm_area *vma, unsigned long start, > + unsigned long end, struct mm_area *next); > +spinlock_t *__pmd_trans_huge_lock(pmd_t *pmd, struct mm_area *vma); > +spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct mm_area *vma); > > static inline int is_swap_pmd(pmd_t pmd) > { > @@ -449,7 +449,7 @@ static inline int is_swap_pmd(pmd_t pmd) > > /* mmap_lock must be held on entry */ > static inline spinlock_t *pmd_trans_huge_lock(pmd_t *pmd, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > if (is_swap_pmd(*pmd) || pmd_trans_huge(*pmd) || pmd_devmap(*pmd)) > return __pmd_trans_huge_lock(pmd, vma); > @@ -457,7 +457,7 @@ static inline spinlock_t *pmd_trans_huge_lock(pmd_t *pmd, > return NULL; > } > static inline spinlock_t *pud_trans_huge_lock(pud_t *pud, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > if (pud_trans_huge(*pud) || pud_devmap(*pud)) > return __pud_trans_huge_lock(pud, vma); > @@ -474,7 +474,7 @@ static inline bool folio_test_pmd_mappable(struct folio *folio) > return folio_order(folio) >= HPAGE_PMD_ORDER; > } > > -struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr, > +struct page *follow_devmap_pmd(struct mm_area *vma, unsigned long addr, > pmd_t *pmd, int flags, struct dev_pagemap **pgmap); > > vm_fault_t do_huge_pmd_numa_page(struct vm_fault *vmf); > @@ -502,9 +502,9 @@ static inline bool thp_migration_supported(void) > return IS_ENABLED(CONFIG_ARCH_ENABLE_THP_MIGRATION); > } > > -void split_huge_pmd_locked(struct vm_area_struct *vma, unsigned long address, > +void split_huge_pmd_locked(struct mm_area *vma, unsigned long address, > pmd_t *pmd, bool freeze, struct folio *folio); > -bool unmap_huge_pmd_locked(struct vm_area_struct *vma, unsigned long addr, > +bool unmap_huge_pmd_locked(struct mm_area *vma, unsigned long addr, > pmd_t *pmdp, struct folio *folio); > > #else /* CONFIG_TRANSPARENT_HUGEPAGE */ > @@ -514,19 +514,19 @@ static inline bool folio_test_pmd_mappable(struct folio *folio) > return false; > } > > -static inline bool thp_vma_suitable_order(struct vm_area_struct *vma, > +static inline bool thp_vma_suitable_order(struct mm_area *vma, > unsigned long addr, int order) > { > return false; > } > > -static inline unsigned long thp_vma_suitable_orders(struct vm_area_struct *vma, > +static inline unsigned long thp_vma_suitable_orders(struct mm_area *vma, > unsigned long addr, unsigned long orders) > { > return 0; > } > > -static inline unsigned long thp_vma_allowable_orders(struct vm_area_struct *vma, > +static inline unsigned long thp_vma_allowable_orders(struct mm_area *vma, > unsigned long vm_flags, > unsigned long tva_flags, > unsigned long orders) > @@ -577,15 +577,15 @@ static inline void deferred_split_folio(struct folio *folio, bool partially_mapp > #define split_huge_pmd(__vma, __pmd, __address) \ > do { } while (0) > > -static inline void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, > +static inline void __split_huge_pmd(struct mm_area *vma, pmd_t *pmd, > unsigned long address, bool freeze, struct folio *folio) {} > -static inline void split_huge_pmd_address(struct vm_area_struct *vma, > +static inline void split_huge_pmd_address(struct mm_area *vma, > unsigned long address, bool freeze, struct folio *folio) {} > -static inline void split_huge_pmd_locked(struct vm_area_struct *vma, > +static inline void split_huge_pmd_locked(struct mm_area *vma, > unsigned long address, pmd_t *pmd, > bool freeze, struct folio *folio) {} > > -static inline bool unmap_huge_pmd_locked(struct vm_area_struct *vma, > +static inline bool unmap_huge_pmd_locked(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp, > struct folio *folio) > { > @@ -595,23 +595,23 @@ static inline bool unmap_huge_pmd_locked(struct vm_area_struct *vma, > #define split_huge_pud(__vma, __pmd, __address) \ > do { } while (0) > > -static inline int hugepage_madvise(struct vm_area_struct *vma, > +static inline int hugepage_madvise(struct mm_area *vma, > unsigned long *vm_flags, int advice) > { > return -EINVAL; > } > > -static inline int madvise_collapse(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +static inline int madvise_collapse(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start, unsigned long end) > { > return -EINVAL; > } > > -static inline void vma_adjust_trans_huge(struct vm_area_struct *vma, > +static inline void vma_adjust_trans_huge(struct mm_area *vma, > unsigned long start, > unsigned long end, > - struct vm_area_struct *next) > + struct mm_area *next) > { > } > static inline int is_swap_pmd(pmd_t pmd) > @@ -619,12 +619,12 @@ static inline int is_swap_pmd(pmd_t pmd) > return 0; > } > static inline spinlock_t *pmd_trans_huge_lock(pmd_t *pmd, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return NULL; > } > static inline spinlock_t *pud_trans_huge_lock(pud_t *pud, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return NULL; > } > @@ -649,7 +649,7 @@ static inline void mm_put_huge_zero_folio(struct mm_struct *mm) > return; > } > > -static inline struct page *follow_devmap_pmd(struct vm_area_struct *vma, > +static inline struct page *follow_devmap_pmd(struct mm_area *vma, > unsigned long addr, pmd_t *pmd, int flags, struct dev_pagemap **pgmap) > { > return NULL; > @@ -670,13 +670,13 @@ static inline int next_order(unsigned long *orders, int prev) > return 0; > } > > -static inline void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud, > +static inline void __split_huge_pud(struct mm_area *vma, pud_t *pud, > unsigned long address) > { > } > > static inline int change_huge_pud(struct mmu_gather *tlb, > - struct vm_area_struct *vma, pud_t *pudp, > + struct mm_area *vma, pud_t *pudp, > unsigned long addr, pgprot_t newprot, > unsigned long cp_flags) > { > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > index 8f3ac832ee7f..96d446761d94 100644 > --- a/include/linux/hugetlb.h > +++ b/include/linux/hugetlb.h > @@ -104,7 +104,7 @@ struct file_region { > struct hugetlb_vma_lock { > struct kref refs; > struct rw_semaphore rw_sema; > - struct vm_area_struct *vma; > + struct mm_area *vma; > }; > > extern struct resv_map *resv_map_alloc(void); > @@ -119,37 +119,37 @@ struct hugepage_subpool *hugepage_new_subpool(struct hstate *h, long max_hpages, > long min_hpages); > void hugepage_put_subpool(struct hugepage_subpool *spool); > > -void hugetlb_dup_vma_private(struct vm_area_struct *vma); > -void clear_vma_resv_huge_pages(struct vm_area_struct *vma); > -int move_hugetlb_page_tables(struct vm_area_struct *vma, > - struct vm_area_struct *new_vma, > +void hugetlb_dup_vma_private(struct mm_area *vma); > +void clear_vma_resv_huge_pages(struct mm_area *vma); > +int move_hugetlb_page_tables(struct mm_area *vma, > + struct mm_area *new_vma, > unsigned long old_addr, unsigned long new_addr, > unsigned long len); > int copy_hugetlb_page_range(struct mm_struct *, struct mm_struct *, > - struct vm_area_struct *, struct vm_area_struct *); > -void unmap_hugepage_range(struct vm_area_struct *, > + struct mm_area *, struct mm_area *); > +void unmap_hugepage_range(struct mm_area *, > unsigned long, unsigned long, struct page *, > zap_flags_t); > void __unmap_hugepage_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long start, unsigned long end, > struct page *ref_page, zap_flags_t zap_flags); > void hugetlb_report_meminfo(struct seq_file *); > int hugetlb_report_node_meminfo(char *buf, int len, int nid); > void hugetlb_show_meminfo_node(int nid); > unsigned long hugetlb_total_pages(void); > -vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, > +vm_fault_t hugetlb_fault(struct mm_struct *mm, struct mm_area *vma, > unsigned long address, unsigned int flags); > #ifdef CONFIG_USERFAULTFD > int hugetlb_mfill_atomic_pte(pte_t *dst_pte, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, > unsigned long src_addr, > uffd_flags_t flags, > struct folio **foliop); > #endif /* CONFIG_USERFAULTFD */ > bool hugetlb_reserve_pages(struct inode *inode, long from, long to, > - struct vm_area_struct *vma, > + struct mm_area *vma, > vm_flags_t vm_flags); > long hugetlb_unreserve_pages(struct inode *inode, long start, long end, > long freed); > @@ -163,10 +163,10 @@ void hugetlb_fix_reserve_counts(struct inode *inode); > extern struct mutex *hugetlb_fault_mutex_table; > u32 hugetlb_fault_mutex_hash(struct address_space *mapping, pgoff_t idx); > > -pte_t *huge_pmd_share(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pmd_share(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, pud_t *pud); > bool hugetlbfs_pagecache_present(struct hstate *h, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long address); > > struct address_space *hugetlb_folio_mapping_lock_write(struct folio *folio); > @@ -196,7 +196,7 @@ static inline pte_t *pte_alloc_huge(struct mm_struct *mm, pmd_t *pmd, > } > #endif > > -pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pte_alloc(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, unsigned long sz); > /* > * huge_pte_offset(): Walk the hugetlb pgtable until the last level PTE. > @@ -238,51 +238,51 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > pte_t *huge_pte_offset(struct mm_struct *mm, > unsigned long addr, unsigned long sz); > unsigned long hugetlb_mask_last_page(struct hstate *h); > -int huge_pmd_unshare(struct mm_struct *mm, struct vm_area_struct *vma, > +int huge_pmd_unshare(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, pte_t *ptep); > -void adjust_range_if_pmd_sharing_possible(struct vm_area_struct *vma, > +void adjust_range_if_pmd_sharing_possible(struct mm_area *vma, > unsigned long *start, unsigned long *end); > > -extern void __hugetlb_zap_begin(struct vm_area_struct *vma, > +extern void __hugetlb_zap_begin(struct mm_area *vma, > unsigned long *begin, unsigned long *end); > -extern void __hugetlb_zap_end(struct vm_area_struct *vma, > +extern void __hugetlb_zap_end(struct mm_area *vma, > struct zap_details *details); > > -static inline void hugetlb_zap_begin(struct vm_area_struct *vma, > +static inline void hugetlb_zap_begin(struct mm_area *vma, > unsigned long *start, unsigned long *end) > { > if (is_vm_hugetlb_page(vma)) > __hugetlb_zap_begin(vma, start, end); > } > > -static inline void hugetlb_zap_end(struct vm_area_struct *vma, > +static inline void hugetlb_zap_end(struct mm_area *vma, > struct zap_details *details) > { > if (is_vm_hugetlb_page(vma)) > __hugetlb_zap_end(vma, details); > } > > -void hugetlb_vma_lock_read(struct vm_area_struct *vma); > -void hugetlb_vma_unlock_read(struct vm_area_struct *vma); > -void hugetlb_vma_lock_write(struct vm_area_struct *vma); > -void hugetlb_vma_unlock_write(struct vm_area_struct *vma); > -int hugetlb_vma_trylock_write(struct vm_area_struct *vma); > -void hugetlb_vma_assert_locked(struct vm_area_struct *vma); > +void hugetlb_vma_lock_read(struct mm_area *vma); > +void hugetlb_vma_unlock_read(struct mm_area *vma); > +void hugetlb_vma_lock_write(struct mm_area *vma); > +void hugetlb_vma_unlock_write(struct mm_area *vma); > +int hugetlb_vma_trylock_write(struct mm_area *vma); > +void hugetlb_vma_assert_locked(struct mm_area *vma); > void hugetlb_vma_lock_release(struct kref *kref); > -long hugetlb_change_protection(struct vm_area_struct *vma, > +long hugetlb_change_protection(struct mm_area *vma, > unsigned long address, unsigned long end, pgprot_t newprot, > unsigned long cp_flags); > bool is_hugetlb_entry_migration(pte_t pte); > bool is_hugetlb_entry_hwpoisoned(pte_t pte); > -void hugetlb_unshare_all_pmds(struct vm_area_struct *vma); > +void hugetlb_unshare_all_pmds(struct mm_area *vma); > > #else /* !CONFIG_HUGETLB_PAGE */ > > -static inline void hugetlb_dup_vma_private(struct vm_area_struct *vma) > +static inline void hugetlb_dup_vma_private(struct mm_area *vma) > { > } > > -static inline void clear_vma_resv_huge_pages(struct vm_area_struct *vma) > +static inline void clear_vma_resv_huge_pages(struct mm_area *vma) > { > } > > @@ -298,41 +298,41 @@ static inline struct address_space *hugetlb_folio_mapping_lock_write( > } > > static inline int huge_pmd_unshare(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > return 0; > } > > static inline void adjust_range_if_pmd_sharing_possible( > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long *start, unsigned long *end) > { > } > > static inline void hugetlb_zap_begin( > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long *start, unsigned long *end) > { > } > > static inline void hugetlb_zap_end( > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct zap_details *details) > { > } > > static inline int copy_hugetlb_page_range(struct mm_struct *dst, > struct mm_struct *src, > - struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma) > + struct mm_area *dst_vma, > + struct mm_area *src_vma) > { > BUG(); > return 0; > } > > -static inline int move_hugetlb_page_tables(struct vm_area_struct *vma, > - struct vm_area_struct *new_vma, > +static inline int move_hugetlb_page_tables(struct mm_area *vma, > + struct mm_area *new_vma, > unsigned long old_addr, > unsigned long new_addr, > unsigned long len) > @@ -360,28 +360,28 @@ static inline int prepare_hugepage_range(struct file *file, > return -EINVAL; > } > > -static inline void hugetlb_vma_lock_read(struct vm_area_struct *vma) > +static inline void hugetlb_vma_lock_read(struct mm_area *vma) > { > } > > -static inline void hugetlb_vma_unlock_read(struct vm_area_struct *vma) > +static inline void hugetlb_vma_unlock_read(struct mm_area *vma) > { > } > > -static inline void hugetlb_vma_lock_write(struct vm_area_struct *vma) > +static inline void hugetlb_vma_lock_write(struct mm_area *vma) > { > } > > -static inline void hugetlb_vma_unlock_write(struct vm_area_struct *vma) > +static inline void hugetlb_vma_unlock_write(struct mm_area *vma) > { > } > > -static inline int hugetlb_vma_trylock_write(struct vm_area_struct *vma) > +static inline int hugetlb_vma_trylock_write(struct mm_area *vma) > { > return 1; > } > > -static inline void hugetlb_vma_assert_locked(struct vm_area_struct *vma) > +static inline void hugetlb_vma_assert_locked(struct mm_area *vma) > { > } > > @@ -400,7 +400,7 @@ static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, > > #ifdef CONFIG_USERFAULTFD > static inline int hugetlb_mfill_atomic_pte(pte_t *dst_pte, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, > unsigned long src_addr, > uffd_flags_t flags, > @@ -443,7 +443,7 @@ static inline void move_hugetlb_state(struct folio *old_folio, > } > > static inline long hugetlb_change_protection( > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > unsigned long end, pgprot_t newprot, > unsigned long cp_flags) > { > @@ -451,7 +451,7 @@ static inline long hugetlb_change_protection( > } > > static inline void __unmap_hugepage_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, unsigned long start, > + struct mm_area *vma, unsigned long start, > unsigned long end, struct page *ref_page, > zap_flags_t zap_flags) > { > @@ -459,14 +459,14 @@ static inline void __unmap_hugepage_range(struct mmu_gather *tlb, > } > > static inline vm_fault_t hugetlb_fault(struct mm_struct *mm, > - struct vm_area_struct *vma, unsigned long address, > + struct mm_area *vma, unsigned long address, > unsigned int flags) > { > BUG(); > return 0; > } > > -static inline void hugetlb_unshare_all_pmds(struct vm_area_struct *vma) { } > +static inline void hugetlb_unshare_all_pmds(struct mm_area *vma) { } > > #endif /* !CONFIG_HUGETLB_PAGE */ > > @@ -698,7 +698,7 @@ bool hugetlb_bootmem_page_zones_valid(int nid, struct huge_bootmem_page *m); > int isolate_or_dissolve_huge_page(struct page *page, struct list_head *list); > int replace_free_hugepage_folios(unsigned long start_pfn, unsigned long end_pfn); > void wait_for_freed_hugetlb_folios(void); > -struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, > +struct folio *alloc_hugetlb_folio(struct mm_area *vma, > unsigned long addr, bool cow_from_owner); > struct folio *alloc_hugetlb_folio_nodemask(struct hstate *h, int preferred_nid, > nodemask_t *nmask, gfp_t gfp_mask, > @@ -708,7 +708,7 @@ struct folio *alloc_hugetlb_folio_reserve(struct hstate *h, int preferred_nid, > > int hugetlb_add_to_page_cache(struct folio *folio, struct address_space *mapping, > pgoff_t idx); > -void restore_reserve_on_error(struct hstate *h, struct vm_area_struct *vma, > +void restore_reserve_on_error(struct hstate *h, struct mm_area *vma, > unsigned long address, struct folio *folio); > > /* arch callback */ > @@ -756,7 +756,7 @@ static inline struct hstate *hstate_sizelog(int page_size_log) > return NULL; > } > > -static inline struct hstate *hstate_vma(struct vm_area_struct *vma) > +static inline struct hstate *hstate_vma(struct mm_area *vma) > { > return hstate_file(vma->vm_file); > } > @@ -766,9 +766,9 @@ static inline unsigned long huge_page_size(const struct hstate *h) > return (unsigned long)PAGE_SIZE << h->order; > } > > -extern unsigned long vma_kernel_pagesize(struct vm_area_struct *vma); > +extern unsigned long vma_kernel_pagesize(struct mm_area *vma); > > -extern unsigned long vma_mmu_pagesize(struct vm_area_struct *vma); > +extern unsigned long vma_mmu_pagesize(struct mm_area *vma); > > static inline unsigned long huge_page_mask(struct hstate *h) > { > @@ -1028,7 +1028,7 @@ static inline void hugetlb_count_sub(long l, struct mm_struct *mm) > > #ifndef huge_ptep_modify_prot_start > #define huge_ptep_modify_prot_start huge_ptep_modify_prot_start > -static inline pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma, > +static inline pte_t huge_ptep_modify_prot_start(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > unsigned long psize = huge_page_size(hstate_vma(vma)); > @@ -1039,7 +1039,7 @@ static inline pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma, > > #ifndef huge_ptep_modify_prot_commit > #define huge_ptep_modify_prot_commit huge_ptep_modify_prot_commit > -static inline void huge_ptep_modify_prot_commit(struct vm_area_struct *vma, > +static inline void huge_ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > pte_t old_pte, pte_t pte) > { > @@ -1099,7 +1099,7 @@ static inline void wait_for_freed_hugetlb_folios(void) > { > } > > -static inline struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, > +static inline struct folio *alloc_hugetlb_folio(struct mm_area *vma, > unsigned long addr, > bool cow_from_owner) > { > @@ -1136,7 +1136,7 @@ static inline struct hstate *hstate_sizelog(int page_size_log) > return NULL; > } > > -static inline struct hstate *hstate_vma(struct vm_area_struct *vma) > +static inline struct hstate *hstate_vma(struct mm_area *vma) > { > return NULL; > } > @@ -1161,12 +1161,12 @@ static inline unsigned long huge_page_mask(struct hstate *h) > return PAGE_MASK; > } > > -static inline unsigned long vma_kernel_pagesize(struct vm_area_struct *vma) > +static inline unsigned long vma_kernel_pagesize(struct mm_area *vma) > { > return PAGE_SIZE; > } > > -static inline unsigned long vma_mmu_pagesize(struct vm_area_struct *vma) > +static inline unsigned long vma_mmu_pagesize(struct mm_area *vma) > { > return PAGE_SIZE; > } > @@ -1255,7 +1255,7 @@ static inline void hugetlb_count_sub(long l, struct mm_struct *mm) > { > } > > -static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, > +static inline pte_t huge_ptep_clear_flush(struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > #ifdef CONFIG_MMU > @@ -1279,7 +1279,7 @@ static inline void hugetlb_unregister_node(struct node *node) > } > > static inline bool hugetlbfs_pagecache_present( > - struct hstate *h, struct vm_area_struct *vma, unsigned long address) > + struct hstate *h, struct mm_area *vma, unsigned long address) > { > return false; > } > @@ -1324,7 +1324,7 @@ static inline bool hugetlb_pmd_shared(pte_t *pte) > } > #endif > > -bool want_pmd_share(struct vm_area_struct *vma, unsigned long addr); > +bool want_pmd_share(struct mm_area *vma, unsigned long addr); > > #ifndef __HAVE_ARCH_FLUSH_HUGETLB_TLB_RANGE > /* > @@ -1334,19 +1334,19 @@ bool want_pmd_share(struct vm_area_struct *vma, unsigned long addr); > #define flush_hugetlb_tlb_range(vma, addr, end) flush_tlb_range(vma, addr, end) > #endif > > -static inline bool __vma_shareable_lock(struct vm_area_struct *vma) > +static inline bool __vma_shareable_lock(struct mm_area *vma) > { > return (vma->vm_flags & VM_MAYSHARE) && vma->vm_private_data; > } > > -bool __vma_private_lock(struct vm_area_struct *vma); > +bool __vma_private_lock(struct mm_area *vma); > > /* > * Safe version of huge_pte_offset() to check the locks. See comments > * above huge_pte_offset(). > */ > static inline pte_t * > -hugetlb_walk(struct vm_area_struct *vma, unsigned long addr, unsigned long sz) > +hugetlb_walk(struct mm_area *vma, unsigned long addr, unsigned long sz) > { > #if defined(CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING) && defined(CONFIG_LOCKDEP) > struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; > diff --git a/include/linux/hugetlb_inline.h b/include/linux/hugetlb_inline.h > index 0660a03d37d9..d3d90fb50ebf 100644 > --- a/include/linux/hugetlb_inline.h > +++ b/include/linux/hugetlb_inline.h > @@ -6,14 +6,14 @@ > > #include > > -static inline bool is_vm_hugetlb_page(struct vm_area_struct *vma) > +static inline bool is_vm_hugetlb_page(struct mm_area *vma) > { > return !!(vma->vm_flags & VM_HUGETLB); > } > > #else > > -static inline bool is_vm_hugetlb_page(struct vm_area_struct *vma) > +static inline bool is_vm_hugetlb_page(struct mm_area *vma) > { > return false; > } > diff --git a/include/linux/io-mapping.h b/include/linux/io-mapping.h > index 7376c1df9c90..04d6dfd172da 100644 > --- a/include/linux/io-mapping.h > +++ b/include/linux/io-mapping.h > @@ -225,7 +225,7 @@ io_mapping_free(struct io_mapping *iomap) > kfree(iomap); > } > > -int io_mapping_map_user(struct io_mapping *iomap, struct vm_area_struct *vma, > +int io_mapping_map_user(struct io_mapping *iomap, struct mm_area *vma, > unsigned long addr, unsigned long pfn, unsigned long size); > > #endif /* _LINUX_IO_MAPPING_H */ > diff --git a/include/linux/iomap.h b/include/linux/iomap.h > index 02fe001feebb..2186061ce745 100644 > --- a/include/linux/iomap.h > +++ b/include/linux/iomap.h > @@ -19,7 +19,7 @@ struct iomap_writepage_ctx; > struct iov_iter; > struct kiocb; > struct page; > -struct vm_area_struct; > +struct mm_area; > struct vm_fault; > > /* > diff --git a/include/linux/iommu-dma.h b/include/linux/iommu-dma.h > index 508beaa44c39..ff772553d76b 100644 > --- a/include/linux/iommu-dma.h > +++ b/include/linux/iommu-dma.h > @@ -32,7 +32,7 @@ void iommu_dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents, > enum dma_data_direction dir, unsigned long attrs); > void *iommu_dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, > gfp_t gfp, unsigned long attrs); > -int iommu_dma_mmap(struct device *dev, struct vm_area_struct *vma, > +int iommu_dma_mmap(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs); > int iommu_dma_get_sgtable(struct device *dev, struct sg_table *sgt, > @@ -55,7 +55,7 @@ void *iommu_dma_vmap_noncontiguous(struct device *dev, size_t size, > struct sg_table *sgt); > #define iommu_dma_vunmap_noncontiguous(dev, vaddr) \ > vunmap(vaddr); > -int iommu_dma_mmap_noncontiguous(struct device *dev, struct vm_area_struct *vma, > +int iommu_dma_mmap_noncontiguous(struct device *dev, struct mm_area *vma, > size_t size, struct sg_table *sgt); > void iommu_dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, > size_t size, enum dma_data_direction dir); > diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h > index b5a5f32fdfd1..087c03af27b8 100644 > --- a/include/linux/kernfs.h > +++ b/include/linux/kernfs.h > @@ -24,7 +24,7 @@ struct file; > struct dentry; > struct iattr; > struct seq_file; > -struct vm_area_struct; > +struct mm_area; > struct vm_operations_struct; > struct super_block; > struct file_system_type; > @@ -322,7 +322,7 @@ struct kernfs_ops { > __poll_t (*poll)(struct kernfs_open_file *of, > struct poll_table_struct *pt); > > - int (*mmap)(struct kernfs_open_file *of, struct vm_area_struct *vma); > + int (*mmap)(struct kernfs_open_file *of, struct mm_area *vma); > loff_t (*llseek)(struct kernfs_open_file *of, loff_t offset, int whence); > }; > > diff --git a/include/linux/khugepaged.h b/include/linux/khugepaged.h > index 1f46046080f5..df545b9908b0 100644 > --- a/include/linux/khugepaged.h > +++ b/include/linux/khugepaged.h > @@ -11,7 +11,7 @@ extern void khugepaged_destroy(void); > extern int start_stop_khugepaged(void); > extern void __khugepaged_enter(struct mm_struct *mm); > extern void __khugepaged_exit(struct mm_struct *mm); > -extern void khugepaged_enter_vma(struct vm_area_struct *vma, > +extern void khugepaged_enter_vma(struct mm_area *vma, > unsigned long vm_flags); > extern void khugepaged_min_free_kbytes_update(void); > extern bool current_is_khugepaged(void); > @@ -44,7 +44,7 @@ static inline void khugepaged_fork(struct mm_struct *mm, struct mm_struct *oldmm > static inline void khugepaged_exit(struct mm_struct *mm) > { > } > -static inline void khugepaged_enter_vma(struct vm_area_struct *vma, > +static inline void khugepaged_enter_vma(struct mm_area *vma, > unsigned long vm_flags) > { > } > diff --git a/include/linux/ksm.h b/include/linux/ksm.h > index d73095b5cd96..b215a192a192 100644 > --- a/include/linux/ksm.h > +++ b/include/linux/ksm.h > @@ -15,10 +15,10 @@ > #include > > #ifdef CONFIG_KSM > -int ksm_madvise(struct vm_area_struct *vma, unsigned long start, > +int ksm_madvise(struct mm_area *vma, unsigned long start, > unsigned long end, int advice, unsigned long *vm_flags); > > -void ksm_add_vma(struct vm_area_struct *vma); > +void ksm_add_vma(struct mm_area *vma); > int ksm_enable_merge_any(struct mm_struct *mm); > int ksm_disable_merge_any(struct mm_struct *mm); > int ksm_disable(struct mm_struct *mm); > @@ -86,7 +86,7 @@ static inline void ksm_exit(struct mm_struct *mm) > * but what if the vma was unmerged while the page was swapped out? > */ > struct folio *ksm_might_need_to_copy(struct folio *folio, > - struct vm_area_struct *vma, unsigned long addr); > + struct mm_area *vma, unsigned long addr); > > void rmap_walk_ksm(struct folio *folio, struct rmap_walk_control *rwc); > void folio_migrate_ksm(struct folio *newfolio, struct folio *folio); > @@ -97,7 +97,7 @@ bool ksm_process_mergeable(struct mm_struct *mm); > > #else /* !CONFIG_KSM */ > > -static inline void ksm_add_vma(struct vm_area_struct *vma) > +static inline void ksm_add_vma(struct mm_area *vma) > { > } > > @@ -130,14 +130,14 @@ static inline void collect_procs_ksm(const struct folio *folio, > } > > #ifdef CONFIG_MMU > -static inline int ksm_madvise(struct vm_area_struct *vma, unsigned long start, > +static inline int ksm_madvise(struct mm_area *vma, unsigned long start, > unsigned long end, int advice, unsigned long *vm_flags) > { > return 0; > } > > static inline struct folio *ksm_might_need_to_copy(struct folio *folio, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > return folio; > } > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index 5438a1b446a6..09b7d56cacdb 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -2340,7 +2340,7 @@ struct kvm_device_ops { > int (*has_attr)(struct kvm_device *dev, struct kvm_device_attr *attr); > long (*ioctl)(struct kvm_device *dev, unsigned int ioctl, > unsigned long arg); > - int (*mmap)(struct kvm_device *dev, struct vm_area_struct *vma); > + int (*mmap)(struct kvm_device *dev, struct mm_area *vma); > }; > > struct kvm_device *kvm_device_from_filp(struct file *filp); > diff --git a/include/linux/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h > index bf3bbac4e02a..0401c8ceeaa0 100644 > --- a/include/linux/lsm_hook_defs.h > +++ b/include/linux/lsm_hook_defs.h > @@ -196,7 +196,7 @@ LSM_HOOK(int, 0, file_ioctl_compat, struct file *file, unsigned int cmd, > LSM_HOOK(int, 0, mmap_addr, unsigned long addr) > LSM_HOOK(int, 0, mmap_file, struct file *file, unsigned long reqprot, > unsigned long prot, unsigned long flags) > -LSM_HOOK(int, 0, file_mprotect, struct vm_area_struct *vma, > +LSM_HOOK(int, 0, file_mprotect, struct mm_area *vma, > unsigned long reqprot, unsigned long prot) > LSM_HOOK(int, 0, file_lock, struct file *file, unsigned int cmd) > LSM_HOOK(int, 0, file_fcntl, struct file *file, unsigned int cmd, > diff --git a/include/linux/mempolicy.h b/include/linux/mempolicy.h > index ce9885e0178a..8bf1d4d50ce8 100644 > --- a/include/linux/mempolicy.h > +++ b/include/linux/mempolicy.h > @@ -118,27 +118,27 @@ struct sp_node { > struct mempolicy *policy; > }; > > -int vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst); > +int vma_dup_policy(struct mm_area *src, struct mm_area *dst); > void mpol_shared_policy_init(struct shared_policy *sp, struct mempolicy *mpol); > int mpol_set_shared_policy(struct shared_policy *sp, > - struct vm_area_struct *vma, struct mempolicy *mpol); > + struct mm_area *vma, struct mempolicy *mpol); > void mpol_free_shared_policy(struct shared_policy *sp); > struct mempolicy *mpol_shared_policy_lookup(struct shared_policy *sp, > pgoff_t idx); > > struct mempolicy *get_task_policy(struct task_struct *p); > -struct mempolicy *__get_vma_policy(struct vm_area_struct *vma, > +struct mempolicy *__get_vma_policy(struct mm_area *vma, > unsigned long addr, pgoff_t *ilx); > -struct mempolicy *get_vma_policy(struct vm_area_struct *vma, > +struct mempolicy *get_vma_policy(struct mm_area *vma, > unsigned long addr, int order, pgoff_t *ilx); > -bool vma_policy_mof(struct vm_area_struct *vma); > +bool vma_policy_mof(struct mm_area *vma); > > extern void numa_default_policy(void); > extern void numa_policy_init(void); > extern void mpol_rebind_task(struct task_struct *tsk, const nodemask_t *new); > extern void mpol_rebind_mm(struct mm_struct *mm, nodemask_t *new); > > -extern int huge_node(struct vm_area_struct *vma, > +extern int huge_node(struct mm_area *vma, > unsigned long addr, gfp_t gfp_flags, > struct mempolicy **mpol, nodemask_t **nodemask); > extern bool init_nodemask_of_mempolicy(nodemask_t *mask); > @@ -165,7 +165,7 @@ extern int mpol_parse_str(char *str, struct mempolicy **mpol); > extern void mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol); > > /* Check if a vma is migratable */ > -extern bool vma_migratable(struct vm_area_struct *vma); > +extern bool vma_migratable(struct mm_area *vma); > > int mpol_misplaced(struct folio *folio, struct vm_fault *vmf, > unsigned long addr); > @@ -221,7 +221,7 @@ mpol_shared_policy_lookup(struct shared_policy *sp, pgoff_t idx) > return NULL; > } > > -static inline struct mempolicy *get_vma_policy(struct vm_area_struct *vma, > +static inline struct mempolicy *get_vma_policy(struct mm_area *vma, > unsigned long addr, int order, pgoff_t *ilx) > { > *ilx = 0; > @@ -229,7 +229,7 @@ static inline struct mempolicy *get_vma_policy(struct vm_area_struct *vma, > } > > static inline int > -vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst) > +vma_dup_policy(struct mm_area *src, struct mm_area *dst) > { > return 0; > } > @@ -251,7 +251,7 @@ static inline void mpol_rebind_mm(struct mm_struct *mm, nodemask_t *new) > { > } > > -static inline int huge_node(struct vm_area_struct *vma, > +static inline int huge_node(struct mm_area *vma, > unsigned long addr, gfp_t gfp_flags, > struct mempolicy **mpol, nodemask_t **nodemask) > { > diff --git a/include/linux/migrate.h b/include/linux/migrate.h > index aaa2114498d6..e64c14d9bd5a 100644 > --- a/include/linux/migrate.h > +++ b/include/linux/migrate.h > @@ -143,11 +143,11 @@ const struct movable_operations *page_movable_ops(struct page *page) > > #ifdef CONFIG_NUMA_BALANCING > int migrate_misplaced_folio_prepare(struct folio *folio, > - struct vm_area_struct *vma, int node); > + struct mm_area *vma, int node); > int migrate_misplaced_folio(struct folio *folio, int node); > #else > static inline int migrate_misplaced_folio_prepare(struct folio *folio, > - struct vm_area_struct *vma, int node) > + struct mm_area *vma, int node) > { > return -EAGAIN; /* can't migrate now */ > } > @@ -188,7 +188,7 @@ enum migrate_vma_direction { > }; > > struct migrate_vma { > - struct vm_area_struct *vma; > + struct mm_area *vma; > /* > * Both src and dst array must be big enough for > * (end - start) >> PAGE_SHIFT entries. > diff --git a/include/linux/mm.h b/include/linux/mm.h > index b7f13f087954..193ef16cd441 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -230,9 +230,9 @@ void setup_initial_init_mm(void *start_code, void *end_code, > * mmap() functions). > */ > > -struct vm_area_struct *vm_area_alloc(struct mm_struct *); > -struct vm_area_struct *vm_area_dup(struct vm_area_struct *); > -void vm_area_free(struct vm_area_struct *); > +struct mm_area *vm_area_alloc(struct mm_struct *); > +struct mm_area *vm_area_dup(struct mm_area *); > +void vm_area_free(struct mm_area *); > > #ifndef CONFIG_MMU > extern struct rb_root nommu_region_tree; > @@ -242,7 +242,7 @@ extern unsigned int kobjsize(const void *objp); > #endif > > /* > - * vm_flags in vm_area_struct, see mm_types.h. > + * vm_flags in mm_area, see mm_types.h. > * When changing, update also include/trace/events/mmflags.h > */ > #define VM_NONE 0x00000000 > @@ -533,7 +533,7 @@ static inline bool fault_flag_allow_retry_first(enum fault_flag flags) > */ > struct vm_fault { > const struct { > - struct vm_area_struct *vma; /* Target VMA */ > + struct mm_area *vma; /* Target VMA */ > gfp_t gfp_mask; /* gfp mask to be used for allocations */ > pgoff_t pgoff; /* Logical page offset based on vma */ > unsigned long address; /* Faulting virtual address - masked */ > @@ -583,27 +583,27 @@ struct vm_fault { > * to the functions called when a no-page or a wp-page exception occurs. > */ > struct vm_operations_struct { > - void (*open)(struct vm_area_struct * area); > + void (*open)(struct mm_area * area); > /** > * @close: Called when the VMA is being removed from the MM. > * Context: User context. May sleep. Caller holds mmap_lock. > */ > - void (*close)(struct vm_area_struct * area); > + void (*close)(struct mm_area * area); > /* Called any time before splitting to check if it's allowed */ > - int (*may_split)(struct vm_area_struct *area, unsigned long addr); > - int (*mremap)(struct vm_area_struct *area); > + int (*may_split)(struct mm_area *area, unsigned long addr); > + int (*mremap)(struct mm_area *area); > /* > * Called by mprotect() to make driver-specific permission > * checks before mprotect() is finalised. The VMA must not > * be modified. Returns 0 if mprotect() can proceed. > */ > - int (*mprotect)(struct vm_area_struct *vma, unsigned long start, > + int (*mprotect)(struct mm_area *vma, unsigned long start, > unsigned long end, unsigned long newflags); > vm_fault_t (*fault)(struct vm_fault *vmf); > vm_fault_t (*huge_fault)(struct vm_fault *vmf, unsigned int order); > vm_fault_t (*map_pages)(struct vm_fault *vmf, > pgoff_t start_pgoff, pgoff_t end_pgoff); > - unsigned long (*pagesize)(struct vm_area_struct * area); > + unsigned long (*pagesize)(struct mm_area * area); > > /* notification that a previously read-only page is about to become > * writable, if an error is returned it will cause a SIGBUS */ > @@ -616,13 +616,13 @@ struct vm_operations_struct { > * for use by special VMAs. See also generic_access_phys() for a generic > * implementation useful for any iomem mapping. > */ > - int (*access)(struct vm_area_struct *vma, unsigned long addr, > + int (*access)(struct mm_area *vma, unsigned long addr, > void *buf, int len, int write); > > /* Called by the /proc/PID/maps code to ask the vma whether it > * has a special name. Returning non-NULL will also cause this > * vma to be dumped unconditionally. */ > - const char *(*name)(struct vm_area_struct *vma); > + const char *(*name)(struct mm_area *vma); > > #ifdef CONFIG_NUMA > /* > @@ -632,7 +632,7 @@ struct vm_operations_struct { > * install a MPOL_DEFAULT policy, nor the task or system default > * mempolicy. > */ > - int (*set_policy)(struct vm_area_struct *vma, struct mempolicy *new); > + int (*set_policy)(struct mm_area *vma, struct mempolicy *new); > > /* > * get_policy() op must add reference [mpol_get()] to any policy at > @@ -644,7 +644,7 @@ struct vm_operations_struct { > * must return NULL--i.e., do not "fallback" to task or system default > * policy. > */ > - struct mempolicy *(*get_policy)(struct vm_area_struct *vma, > + struct mempolicy *(*get_policy)(struct mm_area *vma, > unsigned long addr, pgoff_t *ilx); > #endif > /* > @@ -652,26 +652,26 @@ struct vm_operations_struct { > * page for @addr. This is useful if the default behavior > * (using pte_page()) would not find the correct page. > */ > - struct page *(*find_special_page)(struct vm_area_struct *vma, > + struct page *(*find_special_page)(struct mm_area *vma, > unsigned long addr); > }; > > #ifdef CONFIG_NUMA_BALANCING > -static inline void vma_numab_state_init(struct vm_area_struct *vma) > +static inline void vma_numab_state_init(struct mm_area *vma) > { > vma->numab_state = NULL; > } > -static inline void vma_numab_state_free(struct vm_area_struct *vma) > +static inline void vma_numab_state_free(struct mm_area *vma) > { > kfree(vma->numab_state); > } > #else > -static inline void vma_numab_state_init(struct vm_area_struct *vma) {} > -static inline void vma_numab_state_free(struct vm_area_struct *vma) {} > +static inline void vma_numab_state_init(struct mm_area *vma) {} > +static inline void vma_numab_state_free(struct mm_area *vma) {} > #endif /* CONFIG_NUMA_BALANCING */ > > #ifdef CONFIG_PER_VMA_LOCK > -static inline void vma_lock_init(struct vm_area_struct *vma, bool reset_refcnt) > +static inline void vma_lock_init(struct mm_area *vma, bool reset_refcnt) > { > #ifdef CONFIG_DEBUG_LOCK_ALLOC > static struct lock_class_key lockdep_key; > @@ -694,7 +694,7 @@ static inline bool is_vma_writer_only(int refcnt) > return refcnt & VMA_LOCK_OFFSET && refcnt <= VMA_LOCK_OFFSET + 1; > } > > -static inline void vma_refcount_put(struct vm_area_struct *vma) > +static inline void vma_refcount_put(struct mm_area *vma) > { > /* Use a copy of vm_mm in case vma is freed after we drop vm_refcnt */ > struct mm_struct *mm = vma->vm_mm; > @@ -717,8 +717,8 @@ static inline void vma_refcount_put(struct vm_area_struct *vma) > * Returns the vma on success, NULL on failure to lock and EAGAIN if vma got > * detached. > */ > -static inline struct vm_area_struct *vma_start_read(struct mm_struct *mm, > - struct vm_area_struct *vma) > +static inline struct mm_area *vma_start_read(struct mm_struct *mm, > + struct mm_area *vma) > { > int oldcnt; > > @@ -770,7 +770,7 @@ static inline struct vm_area_struct *vma_start_read(struct mm_struct *mm, > * not be used in such cases because it might fail due to mm_lock_seq overflow. > * This functionality is used to obtain vma read lock and drop the mmap read lock. > */ > -static inline bool vma_start_read_locked_nested(struct vm_area_struct *vma, int subclass) > +static inline bool vma_start_read_locked_nested(struct mm_area *vma, int subclass) > { > int oldcnt; > > @@ -789,18 +789,18 @@ static inline bool vma_start_read_locked_nested(struct vm_area_struct *vma, int > * not be used in such cases because it might fail due to mm_lock_seq overflow. > * This functionality is used to obtain vma read lock and drop the mmap read lock. > */ > -static inline bool vma_start_read_locked(struct vm_area_struct *vma) > +static inline bool vma_start_read_locked(struct mm_area *vma) > { > return vma_start_read_locked_nested(vma, 0); > } > > -static inline void vma_end_read(struct vm_area_struct *vma) > +static inline void vma_end_read(struct mm_area *vma) > { > vma_refcount_put(vma); > } > > /* WARNING! Can only be used if mmap_lock is expected to be write-locked */ > -static bool __is_vma_write_locked(struct vm_area_struct *vma, unsigned int *mm_lock_seq) > +static bool __is_vma_write_locked(struct mm_area *vma, unsigned int *mm_lock_seq) > { > mmap_assert_write_locked(vma->vm_mm); > > @@ -812,14 +812,14 @@ static bool __is_vma_write_locked(struct vm_area_struct *vma, unsigned int *mm_l > return (vma->vm_lock_seq == *mm_lock_seq); > } > > -void __vma_start_write(struct vm_area_struct *vma, unsigned int mm_lock_seq); > +void __vma_start_write(struct mm_area *vma, unsigned int mm_lock_seq); > > /* > * Begin writing to a VMA. > * Exclude concurrent readers under the per-VMA lock until the currently > * write-locked mmap_lock is dropped or downgraded. > */ > -static inline void vma_start_write(struct vm_area_struct *vma) > +static inline void vma_start_write(struct mm_area *vma) > { > unsigned int mm_lock_seq; > > @@ -829,14 +829,14 @@ static inline void vma_start_write(struct vm_area_struct *vma) > __vma_start_write(vma, mm_lock_seq); > } > > -static inline void vma_assert_write_locked(struct vm_area_struct *vma) > +static inline void vma_assert_write_locked(struct mm_area *vma) > { > unsigned int mm_lock_seq; > > VM_BUG_ON_VMA(!__is_vma_write_locked(vma, &mm_lock_seq), vma); > } > > -static inline void vma_assert_locked(struct vm_area_struct *vma) > +static inline void vma_assert_locked(struct mm_area *vma) > { > unsigned int mm_lock_seq; > > @@ -849,24 +849,24 @@ static inline void vma_assert_locked(struct vm_area_struct *vma) > * assertions should be made either under mmap_write_lock or when the object > * has been isolated under mmap_write_lock, ensuring no competing writers. > */ > -static inline void vma_assert_attached(struct vm_area_struct *vma) > +static inline void vma_assert_attached(struct mm_area *vma) > { > WARN_ON_ONCE(!refcount_read(&vma->vm_refcnt)); > } > > -static inline void vma_assert_detached(struct vm_area_struct *vma) > +static inline void vma_assert_detached(struct mm_area *vma) > { > WARN_ON_ONCE(refcount_read(&vma->vm_refcnt)); > } > > -static inline void vma_mark_attached(struct vm_area_struct *vma) > +static inline void vma_mark_attached(struct mm_area *vma) > { > vma_assert_write_locked(vma); > vma_assert_detached(vma); > refcount_set_release(&vma->vm_refcnt, 1); > } > > -void vma_mark_detached(struct vm_area_struct *vma); > +void vma_mark_detached(struct mm_area *vma); > > static inline void release_fault_lock(struct vm_fault *vmf) > { > @@ -884,31 +884,31 @@ static inline void assert_fault_locked(struct vm_fault *vmf) > mmap_assert_locked(vmf->vma->vm_mm); > } > > -struct vm_area_struct *lock_vma_under_rcu(struct mm_struct *mm, > +struct mm_area *lock_vma_under_rcu(struct mm_struct *mm, > unsigned long address); > > #else /* CONFIG_PER_VMA_LOCK */ > > -static inline void vma_lock_init(struct vm_area_struct *vma, bool reset_refcnt) {} > -static inline struct vm_area_struct *vma_start_read(struct mm_struct *mm, > - struct vm_area_struct *vma) > +static inline void vma_lock_init(struct mm_area *vma, bool reset_refcnt) {} > +static inline struct mm_area *vma_start_read(struct mm_struct *mm, > + struct mm_area *vma) > { return NULL; } > -static inline void vma_end_read(struct vm_area_struct *vma) {} > -static inline void vma_start_write(struct vm_area_struct *vma) {} > -static inline void vma_assert_write_locked(struct vm_area_struct *vma) > +static inline void vma_end_read(struct mm_area *vma) {} > +static inline void vma_start_write(struct mm_area *vma) {} > +static inline void vma_assert_write_locked(struct mm_area *vma) > { mmap_assert_write_locked(vma->vm_mm); } > -static inline void vma_assert_attached(struct vm_area_struct *vma) {} > -static inline void vma_assert_detached(struct vm_area_struct *vma) {} > -static inline void vma_mark_attached(struct vm_area_struct *vma) {} > -static inline void vma_mark_detached(struct vm_area_struct *vma) {} > +static inline void vma_assert_attached(struct mm_area *vma) {} > +static inline void vma_assert_detached(struct mm_area *vma) {} > +static inline void vma_mark_attached(struct mm_area *vma) {} > +static inline void vma_mark_detached(struct mm_area *vma) {} > > -static inline struct vm_area_struct *lock_vma_under_rcu(struct mm_struct *mm, > +static inline struct mm_area *lock_vma_under_rcu(struct mm_struct *mm, > unsigned long address) > { > return NULL; > } > > -static inline void vma_assert_locked(struct vm_area_struct *vma) > +static inline void vma_assert_locked(struct mm_area *vma) > { > mmap_assert_locked(vma->vm_mm); > } > @@ -927,7 +927,7 @@ static inline void assert_fault_locked(struct vm_fault *vmf) > > extern const struct vm_operations_struct vma_dummy_vm_ops; > > -static inline void vma_init(struct vm_area_struct *vma, struct mm_struct *mm) > +static inline void vma_init(struct mm_area *vma, struct mm_struct *mm) > { > memset(vma, 0, sizeof(*vma)); > vma->vm_mm = mm; > @@ -937,7 +937,7 @@ static inline void vma_init(struct vm_area_struct *vma, struct mm_struct *mm) > } > > /* Use when VMA is not part of the VMA tree and needs no locking */ > -static inline void vm_flags_init(struct vm_area_struct *vma, > +static inline void vm_flags_init(struct mm_area *vma, > vm_flags_t flags) > { > ACCESS_PRIVATE(vma, __vm_flags) = flags; > @@ -948,28 +948,28 @@ static inline void vm_flags_init(struct vm_area_struct *vma, > * Note: vm_flags_reset and vm_flags_reset_once do not lock the vma and > * it should be locked explicitly beforehand. > */ > -static inline void vm_flags_reset(struct vm_area_struct *vma, > +static inline void vm_flags_reset(struct mm_area *vma, > vm_flags_t flags) > { > vma_assert_write_locked(vma); > vm_flags_init(vma, flags); > } > > -static inline void vm_flags_reset_once(struct vm_area_struct *vma, > +static inline void vm_flags_reset_once(struct mm_area *vma, > vm_flags_t flags) > { > vma_assert_write_locked(vma); > WRITE_ONCE(ACCESS_PRIVATE(vma, __vm_flags), flags); > } > > -static inline void vm_flags_set(struct vm_area_struct *vma, > +static inline void vm_flags_set(struct mm_area *vma, > vm_flags_t flags) > { > vma_start_write(vma); > ACCESS_PRIVATE(vma, __vm_flags) |= flags; > } > > -static inline void vm_flags_clear(struct vm_area_struct *vma, > +static inline void vm_flags_clear(struct mm_area *vma, > vm_flags_t flags) > { > vma_start_write(vma); > @@ -980,7 +980,7 @@ static inline void vm_flags_clear(struct vm_area_struct *vma, > * Use only if VMA is not part of the VMA tree or has no other users and > * therefore needs no locking. > */ > -static inline void __vm_flags_mod(struct vm_area_struct *vma, > +static inline void __vm_flags_mod(struct mm_area *vma, > vm_flags_t set, vm_flags_t clear) > { > vm_flags_init(vma, (vma->vm_flags | set) & ~clear); > @@ -990,19 +990,19 @@ static inline void __vm_flags_mod(struct vm_area_struct *vma, > * Use only when the order of set/clear operations is unimportant, otherwise > * use vm_flags_{set|clear} explicitly. > */ > -static inline void vm_flags_mod(struct vm_area_struct *vma, > +static inline void vm_flags_mod(struct mm_area *vma, > vm_flags_t set, vm_flags_t clear) > { > vma_start_write(vma); > __vm_flags_mod(vma, set, clear); > } > > -static inline void vma_set_anonymous(struct vm_area_struct *vma) > +static inline void vma_set_anonymous(struct mm_area *vma) > { > vma->vm_ops = NULL; > } > > -static inline bool vma_is_anonymous(struct vm_area_struct *vma) > +static inline bool vma_is_anonymous(struct mm_area *vma) > { > return !vma->vm_ops; > } > @@ -1011,7 +1011,7 @@ static inline bool vma_is_anonymous(struct vm_area_struct *vma) > * Indicate if the VMA is a heap for the given task; for > * /proc/PID/maps that is the heap of the main task. > */ > -static inline bool vma_is_initial_heap(const struct vm_area_struct *vma) > +static inline bool vma_is_initial_heap(const struct mm_area *vma) > { > return vma->vm_start < vma->vm_mm->brk && > vma->vm_end > vma->vm_mm->start_brk; > @@ -1021,7 +1021,7 @@ static inline bool vma_is_initial_heap(const struct vm_area_struct *vma) > * Indicate if the VMA is a stack for the given task; for > * /proc/PID/maps that is the stack of the main task. > */ > -static inline bool vma_is_initial_stack(const struct vm_area_struct *vma) > +static inline bool vma_is_initial_stack(const struct mm_area *vma) > { > /* > * We make no effort to guess what a given thread considers to be > @@ -1032,7 +1032,7 @@ static inline bool vma_is_initial_stack(const struct vm_area_struct *vma) > vma->vm_end >= vma->vm_mm->start_stack; > } > > -static inline bool vma_is_temporary_stack(struct vm_area_struct *vma) > +static inline bool vma_is_temporary_stack(struct mm_area *vma) > { > int maybe_stack = vma->vm_flags & (VM_GROWSDOWN | VM_GROWSUP); > > @@ -1046,7 +1046,7 @@ static inline bool vma_is_temporary_stack(struct vm_area_struct *vma) > return false; > } > > -static inline bool vma_is_foreign(struct vm_area_struct *vma) > +static inline bool vma_is_foreign(struct mm_area *vma) > { > if (!current->mm) > return true; > @@ -1057,7 +1057,7 @@ static inline bool vma_is_foreign(struct vm_area_struct *vma) > return false; > } > > -static inline bool vma_is_accessible(struct vm_area_struct *vma) > +static inline bool vma_is_accessible(struct mm_area *vma) > { > return vma->vm_flags & VM_ACCESS_FLAGS; > } > @@ -1068,18 +1068,18 @@ static inline bool is_shared_maywrite(vm_flags_t vm_flags) > (VM_SHARED | VM_MAYWRITE); > } > > -static inline bool vma_is_shared_maywrite(struct vm_area_struct *vma) > +static inline bool vma_is_shared_maywrite(struct mm_area *vma) > { > return is_shared_maywrite(vma->vm_flags); > } > > static inline > -struct vm_area_struct *vma_find(struct vma_iterator *vmi, unsigned long max) > +struct mm_area *vma_find(struct vma_iterator *vmi, unsigned long max) > { > return mas_find(&vmi->mas, max - 1); > } > > -static inline struct vm_area_struct *vma_next(struct vma_iterator *vmi) > +static inline struct mm_area *vma_next(struct vma_iterator *vmi) > { > /* > * Uses mas_find() to get the first VMA when the iterator starts. > @@ -1089,13 +1089,13 @@ static inline struct vm_area_struct *vma_next(struct vma_iterator *vmi) > } > > static inline > -struct vm_area_struct *vma_iter_next_range(struct vma_iterator *vmi) > +struct mm_area *vma_iter_next_range(struct vma_iterator *vmi) > { > return mas_next_range(&vmi->mas, ULONG_MAX); > } > > > -static inline struct vm_area_struct *vma_prev(struct vma_iterator *vmi) > +static inline struct mm_area *vma_prev(struct vma_iterator *vmi) > { > return mas_prev(&vmi->mas, 0); > } > @@ -1118,7 +1118,7 @@ static inline void vma_iter_free(struct vma_iterator *vmi) > } > > static inline int vma_iter_bulk_store(struct vma_iterator *vmi, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > vmi->mas.index = vma->vm_start; > vmi->mas.last = vma->vm_end - 1; > @@ -1152,14 +1152,14 @@ static inline void vma_iter_set(struct vma_iterator *vmi, unsigned long addr) > * The vma_is_shmem is not inline because it is used only by slow > * paths in userfault. > */ > -bool vma_is_shmem(struct vm_area_struct *vma); > -bool vma_is_anon_shmem(struct vm_area_struct *vma); > +bool vma_is_shmem(struct mm_area *vma); > +bool vma_is_anon_shmem(struct mm_area *vma); > #else > -static inline bool vma_is_shmem(struct vm_area_struct *vma) { return false; } > -static inline bool vma_is_anon_shmem(struct vm_area_struct *vma) { return false; } > +static inline bool vma_is_shmem(struct mm_area *vma) { return false; } > +static inline bool vma_is_anon_shmem(struct mm_area *vma) { return false; } > #endif > > -int vma_is_stack_for_current(struct vm_area_struct *vma); > +int vma_is_stack_for_current(struct mm_area *vma); > > /* flush_tlb_range() takes a vma, not a mm, and can care about flags */ > #define TLB_FLUSH_VMA(mm,flags) { .vm_mm = (mm), .vm_flags = (flags) } > @@ -1435,7 +1435,7 @@ static inline unsigned long thp_size(struct page *page) > * pte_mkwrite. But get_user_pages can cause write faults for mappings > * that do not have writing enabled, when used by access_process_vm. > */ > -static inline pte_t maybe_mkwrite(pte_t pte, struct vm_area_struct *vma) > +static inline pte_t maybe_mkwrite(pte_t pte, struct mm_area *vma) > { > if (likely(vma->vm_flags & VM_WRITE)) > pte = pte_mkwrite(pte, vma); > @@ -1811,7 +1811,7 @@ static inline int folio_xchg_access_time(struct folio *folio, int time) > return last_time << PAGE_ACCESS_TIME_BUCKETS; > } > > -static inline void vma_set_access_pid_bit(struct vm_area_struct *vma) > +static inline void vma_set_access_pid_bit(struct mm_area *vma) > { > unsigned int pid_bit; > > @@ -1872,7 +1872,7 @@ static inline bool cpupid_match_pid(struct task_struct *task, int cpupid) > return false; > } > > -static inline void vma_set_access_pid_bit(struct vm_area_struct *vma) > +static inline void vma_set_access_pid_bit(struct mm_area *vma) > { > } > static inline bool folio_use_access_time(struct folio *folio) > @@ -2042,7 +2042,7 @@ static inline bool folio_maybe_dma_pinned(struct folio *folio) > * > * The caller has to hold the PT lock and the vma->vm_mm->->write_protect_seq. > */ > -static inline bool folio_needs_cow_for_dma(struct vm_area_struct *vma, > +static inline bool folio_needs_cow_for_dma(struct mm_area *vma, > struct folio *folio) > { > VM_BUG_ON(!(raw_read_seqcount(&vma->vm_mm->write_protect_seq) & 1)); > @@ -2445,26 +2445,26 @@ static inline bool can_do_mlock(void) { return false; } > extern int user_shm_lock(size_t, struct ucounts *); > extern void user_shm_unlock(size_t, struct ucounts *); > > -struct folio *vm_normal_folio(struct vm_area_struct *vma, unsigned long addr, > +struct folio *vm_normal_folio(struct mm_area *vma, unsigned long addr, > pte_t pte); > -struct page *vm_normal_page(struct vm_area_struct *vma, unsigned long addr, > +struct page *vm_normal_page(struct mm_area *vma, unsigned long addr, > pte_t pte); > -struct folio *vm_normal_folio_pmd(struct vm_area_struct *vma, > +struct folio *vm_normal_folio_pmd(struct mm_area *vma, > unsigned long addr, pmd_t pmd); > -struct page *vm_normal_page_pmd(struct vm_area_struct *vma, unsigned long addr, > +struct page *vm_normal_page_pmd(struct mm_area *vma, unsigned long addr, > pmd_t pmd); > > -void zap_vma_ptes(struct vm_area_struct *vma, unsigned long address, > +void zap_vma_ptes(struct mm_area *vma, unsigned long address, > unsigned long size); > -void zap_page_range_single(struct vm_area_struct *vma, unsigned long address, > +void zap_page_range_single(struct mm_area *vma, unsigned long address, > unsigned long size, struct zap_details *details); > -static inline void zap_vma_pages(struct vm_area_struct *vma) > +static inline void zap_vma_pages(struct mm_area *vma) > { > zap_page_range_single(vma, vma->vm_start, > vma->vm_end - vma->vm_start, NULL); > } > void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, > - struct vm_area_struct *start_vma, unsigned long start, > + struct mm_area *start_vma, unsigned long start, > unsigned long end, unsigned long tree_end, bool mm_wr_locked); > > struct mmu_notifier_range; > @@ -2472,17 +2472,17 @@ struct mmu_notifier_range; > void free_pgd_range(struct mmu_gather *tlb, unsigned long addr, > unsigned long end, unsigned long floor, unsigned long ceiling); > int > -copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma); > -int generic_access_phys(struct vm_area_struct *vma, unsigned long addr, > +copy_page_range(struct mm_area *dst_vma, struct mm_area *src_vma); > +int generic_access_phys(struct mm_area *vma, unsigned long addr, > void *buf, int len, int write); > > struct follow_pfnmap_args { > /** > * Inputs: > - * @vma: Pointer to @vm_area_struct struct > + * @vma: Pointer to @mm_area struct > * @address: the virtual address to walk > */ > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long address; > /** > * Internals: > @@ -2516,11 +2516,11 @@ void truncate_pagecache_range(struct inode *inode, loff_t offset, loff_t end); > int generic_error_remove_folio(struct address_space *mapping, > struct folio *folio); > > -struct vm_area_struct *lock_mm_and_find_vma(struct mm_struct *mm, > +struct mm_area *lock_mm_and_find_vma(struct mm_struct *mm, > unsigned long address, struct pt_regs *regs); > > #ifdef CONFIG_MMU > -extern vm_fault_t handle_mm_fault(struct vm_area_struct *vma, > +extern vm_fault_t handle_mm_fault(struct mm_area *vma, > unsigned long address, unsigned int flags, > struct pt_regs *regs); > extern int fixup_user_fault(struct mm_struct *mm, > @@ -2531,7 +2531,7 @@ void unmap_mapping_pages(struct address_space *mapping, > void unmap_mapping_range(struct address_space *mapping, > loff_t const holebegin, loff_t const holelen, int even_cows); > #else > -static inline vm_fault_t handle_mm_fault(struct vm_area_struct *vma, > +static inline vm_fault_t handle_mm_fault(struct mm_area *vma, > unsigned long address, unsigned int flags, > struct pt_regs *regs) > { > @@ -2558,7 +2558,7 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping, > unmap_mapping_range(mapping, holebegin, holelen, 0); > } > > -static inline struct vm_area_struct *vma_lookup(struct mm_struct *mm, > +static inline struct mm_area *vma_lookup(struct mm_struct *mm, > unsigned long addr); > > extern int access_process_vm(struct task_struct *tsk, unsigned long addr, > @@ -2586,10 +2586,10 @@ long pin_user_pages_remote(struct mm_struct *mm, > static inline struct page *get_user_page_vma_remote(struct mm_struct *mm, > unsigned long addr, > int gup_flags, > - struct vm_area_struct **vmap) > + struct mm_area **vmap) > { > struct page *page; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int got; > > if (WARN_ON_ONCE(unlikely(gup_flags & FOLL_NOWAIT))) > @@ -2663,13 +2663,13 @@ int get_cmdline(struct task_struct *task, char *buffer, int buflen); > #define MM_CP_UFFD_WP_ALL (MM_CP_UFFD_WP | \ > MM_CP_UFFD_WP_RESOLVE) > > -bool can_change_pte_writable(struct vm_area_struct *vma, unsigned long addr, > +bool can_change_pte_writable(struct mm_area *vma, unsigned long addr, > pte_t pte); > extern long change_protection(struct mmu_gather *tlb, > - struct vm_area_struct *vma, unsigned long start, > + struct mm_area *vma, unsigned long start, > unsigned long end, unsigned long cp_flags); > extern int mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, > - struct vm_area_struct *vma, struct vm_area_struct **pprev, > + struct mm_area *vma, struct mm_area **pprev, > unsigned long start, unsigned long end, unsigned long newflags); > > /* > @@ -3360,16 +3360,16 @@ extern atomic_long_t mmap_pages_allocated; > extern int nommu_shrink_inode_mappings(struct inode *, size_t, size_t); > > /* interval_tree.c */ > -void vma_interval_tree_insert(struct vm_area_struct *node, > +void vma_interval_tree_insert(struct mm_area *node, > struct rb_root_cached *root); > -void vma_interval_tree_insert_after(struct vm_area_struct *node, > - struct vm_area_struct *prev, > +void vma_interval_tree_insert_after(struct mm_area *node, > + struct mm_area *prev, > struct rb_root_cached *root); > -void vma_interval_tree_remove(struct vm_area_struct *node, > +void vma_interval_tree_remove(struct mm_area *node, > struct rb_root_cached *root); > -struct vm_area_struct *vma_interval_tree_iter_first(struct rb_root_cached *root, > +struct mm_area *vma_interval_tree_iter_first(struct rb_root_cached *root, > unsigned long start, unsigned long last); > -struct vm_area_struct *vma_interval_tree_iter_next(struct vm_area_struct *node, > +struct mm_area *vma_interval_tree_iter_next(struct mm_area *node, > unsigned long start, unsigned long last); > > #define vma_interval_tree_foreach(vma, root, start, last) \ > @@ -3395,10 +3395,10 @@ 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 insert_vm_struct(struct mm_struct *, struct vm_area_struct *); > +extern int insert_vm_struct(struct mm_struct *, struct mm_area *); > extern void exit_mmap(struct mm_struct *); > -int relocate_vma_down(struct vm_area_struct *vma, unsigned long shift); > -bool mmap_read_lock_maybe_expand(struct mm_struct *mm, struct vm_area_struct *vma, > +int relocate_vma_down(struct mm_area *vma, unsigned long shift); > +bool mmap_read_lock_maybe_expand(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, bool write); > > static inline int check_data_rlimit(unsigned long rlim, > @@ -3426,9 +3426,9 @@ extern struct file *get_task_exe_file(struct task_struct *task); > extern bool may_expand_vm(struct mm_struct *, vm_flags_t, unsigned long npages); > extern void vm_stat_account(struct mm_struct *, vm_flags_t, long npages); > > -extern bool vma_is_special_mapping(const struct vm_area_struct *vma, > +extern bool vma_is_special_mapping(const struct mm_area *vma, > const struct vm_special_mapping *sm); > -extern struct vm_area_struct *_install_special_mapping(struct mm_struct *mm, > +extern struct mm_area *_install_special_mapping(struct mm_struct *mm, > unsigned long addr, unsigned long len, > unsigned long flags, > const struct vm_special_mapping *spec); > @@ -3454,7 +3454,7 @@ extern unsigned long do_mmap(struct file *file, unsigned long addr, > extern int do_vmi_munmap(struct vma_iterator *vmi, struct mm_struct *mm, > unsigned long start, size_t len, struct list_head *uf, > bool unlock); > -int do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, > +int do_vmi_align_munmap(struct vma_iterator *vmi, struct mm_area *vma, > struct mm_struct *mm, unsigned long start, > unsigned long end, struct list_head *uf, bool unlock); > extern int do_munmap(struct mm_struct *, unsigned long, size_t, > @@ -3507,19 +3507,19 @@ extern vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf); > > extern unsigned long stack_guard_gap; > /* Generic expand stack which grows the stack according to GROWS{UP,DOWN} */ > -int expand_stack_locked(struct vm_area_struct *vma, unsigned long address); > -struct vm_area_struct *expand_stack(struct mm_struct * mm, unsigned long addr); > +int expand_stack_locked(struct mm_area *vma, unsigned long address); > +struct mm_area *expand_stack(struct mm_struct * mm, unsigned long addr); > > /* Look up the first VMA which satisfies addr < vm_end, NULL if none. */ > -extern struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long addr); > -extern struct vm_area_struct * find_vma_prev(struct mm_struct * mm, unsigned long addr, > - struct vm_area_struct **pprev); > +extern struct mm_area * find_vma(struct mm_struct * mm, unsigned long addr); > +extern struct mm_area * find_vma_prev(struct mm_struct * mm, unsigned long addr, > + struct mm_area **pprev); > > /* > * Look up the first VMA which intersects the interval [start_addr, end_addr) > * NULL if none. Assume start_addr < end_addr. > */ > -struct vm_area_struct *find_vma_intersection(struct mm_struct *mm, > +struct mm_area *find_vma_intersection(struct mm_struct *mm, > unsigned long start_addr, unsigned long end_addr); > > /** > @@ -3527,15 +3527,15 @@ struct vm_area_struct *find_vma_intersection(struct mm_struct *mm, > * @mm: The process address space. > * @addr: The user address. > * > - * Return: The vm_area_struct at the given address, %NULL otherwise. > + * Return: The mm_area at the given address, %NULL otherwise. > */ > static inline > -struct vm_area_struct *vma_lookup(struct mm_struct *mm, unsigned long addr) > +struct mm_area *vma_lookup(struct mm_struct *mm, unsigned long addr) > { > return mtree_load(&mm->mm_mt, addr); > } > > -static inline unsigned long stack_guard_start_gap(struct vm_area_struct *vma) > +static inline unsigned long stack_guard_start_gap(struct mm_area *vma) > { > if (vma->vm_flags & VM_GROWSDOWN) > return stack_guard_gap; > @@ -3547,7 +3547,7 @@ static inline unsigned long stack_guard_start_gap(struct vm_area_struct *vma) > return 0; > } > > -static inline unsigned long vm_start_gap(struct vm_area_struct *vma) > +static inline unsigned long vm_start_gap(struct mm_area *vma) > { > unsigned long gap = stack_guard_start_gap(vma); > unsigned long vm_start = vma->vm_start; > @@ -3558,7 +3558,7 @@ static inline unsigned long vm_start_gap(struct vm_area_struct *vma) > return vm_start; > } > > -static inline unsigned long vm_end_gap(struct vm_area_struct *vma) > +static inline unsigned long vm_end_gap(struct mm_area *vma) > { > unsigned long vm_end = vma->vm_end; > > @@ -3570,16 +3570,16 @@ static inline unsigned long vm_end_gap(struct vm_area_struct *vma) > return vm_end; > } > > -static inline unsigned long vma_pages(struct vm_area_struct *vma) > +static inline unsigned long vma_pages(struct mm_area *vma) > { > return (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; > } > > /* Look up the first VMA which exactly match the interval vm_start ... vm_end */ > -static inline struct vm_area_struct *find_exact_vma(struct mm_struct *mm, > +static inline struct mm_area *find_exact_vma(struct mm_struct *mm, > unsigned long vm_start, unsigned long vm_end) > { > - struct vm_area_struct *vma = vma_lookup(mm, vm_start); > + struct mm_area *vma = vma_lookup(mm, vm_start); > > if (vma && (vma->vm_start != vm_start || vma->vm_end != vm_end)) > vma = NULL; > @@ -3587,7 +3587,7 @@ static inline struct vm_area_struct *find_exact_vma(struct mm_struct *mm, > return vma; > } > > -static inline bool range_in_vma(struct vm_area_struct *vma, > +static inline bool range_in_vma(struct mm_area *vma, > unsigned long start, unsigned long end) > { > return (vma && vma->vm_start <= start && end <= vma->vm_end); > @@ -3595,51 +3595,51 @@ static inline bool range_in_vma(struct vm_area_struct *vma, > > #ifdef CONFIG_MMU > pgprot_t vm_get_page_prot(unsigned long vm_flags); > -void vma_set_page_prot(struct vm_area_struct *vma); > +void vma_set_page_prot(struct mm_area *vma); > #else > static inline pgprot_t vm_get_page_prot(unsigned long vm_flags) > { > return __pgprot(0); > } > -static inline void vma_set_page_prot(struct vm_area_struct *vma) > +static inline void vma_set_page_prot(struct mm_area *vma) > { > vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); > } > #endif > > -void vma_set_file(struct vm_area_struct *vma, struct file *file); > +void vma_set_file(struct mm_area *vma, struct file *file); > > #ifdef CONFIG_NUMA_BALANCING > -unsigned long change_prot_numa(struct vm_area_struct *vma, > +unsigned long change_prot_numa(struct mm_area *vma, > unsigned long start, unsigned long end); > #endif > > -struct vm_area_struct *find_extend_vma_locked(struct mm_struct *, > +struct mm_area *find_extend_vma_locked(struct mm_struct *, > unsigned long addr); > -int remap_pfn_range(struct vm_area_struct *, unsigned long addr, > +int remap_pfn_range(struct mm_area *, unsigned long addr, > unsigned long pfn, unsigned long size, pgprot_t); > -int remap_pfn_range_notrack(struct vm_area_struct *vma, unsigned long addr, > +int remap_pfn_range_notrack(struct mm_area *vma, unsigned long addr, > unsigned long pfn, unsigned long size, pgprot_t prot); > -int vm_insert_page(struct vm_area_struct *, unsigned long addr, struct page *); > -int vm_insert_pages(struct vm_area_struct *vma, unsigned long addr, > +int vm_insert_page(struct mm_area *, unsigned long addr, struct page *); > +int vm_insert_pages(struct mm_area *vma, unsigned long addr, > struct page **pages, unsigned long *num); > -int vm_map_pages(struct vm_area_struct *vma, struct page **pages, > +int vm_map_pages(struct mm_area *vma, struct page **pages, > unsigned long num); > -int vm_map_pages_zero(struct vm_area_struct *vma, struct page **pages, > +int vm_map_pages_zero(struct mm_area *vma, struct page **pages, > unsigned long num); > vm_fault_t vmf_insert_page_mkwrite(struct vm_fault *vmf, struct page *page, > bool write); > -vm_fault_t vmf_insert_pfn(struct vm_area_struct *vma, unsigned long addr, > +vm_fault_t vmf_insert_pfn(struct mm_area *vma, unsigned long addr, > unsigned long pfn); > -vm_fault_t vmf_insert_pfn_prot(struct vm_area_struct *vma, unsigned long addr, > +vm_fault_t vmf_insert_pfn_prot(struct mm_area *vma, unsigned long addr, > unsigned long pfn, pgprot_t pgprot); > -vm_fault_t vmf_insert_mixed(struct vm_area_struct *vma, unsigned long addr, > +vm_fault_t vmf_insert_mixed(struct mm_area *vma, unsigned long addr, > pfn_t pfn); > -vm_fault_t vmf_insert_mixed_mkwrite(struct vm_area_struct *vma, > +vm_fault_t vmf_insert_mixed_mkwrite(struct mm_area *vma, > unsigned long addr, pfn_t pfn); > -int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long len); > +int vm_iomap_memory(struct mm_area *vma, phys_addr_t start, unsigned long len); > > -static inline vm_fault_t vmf_insert_page(struct vm_area_struct *vma, > +static inline vm_fault_t vmf_insert_page(struct mm_area *vma, > unsigned long addr, struct page *page) > { > int err = vm_insert_page(vma, addr, page); > @@ -3653,7 +3653,7 @@ static inline vm_fault_t vmf_insert_page(struct vm_area_struct *vma, > } > > #ifndef io_remap_pfn_range > -static inline int io_remap_pfn_range(struct vm_area_struct *vma, > +static inline int io_remap_pfn_range(struct mm_area *vma, > unsigned long addr, unsigned long pfn, > unsigned long size, pgprot_t prot) > { > @@ -3703,7 +3703,7 @@ static inline int vm_fault_to_errno(vm_fault_t vm_fault, int foll_flags) > * Indicates whether GUP can follow a PROT_NONE mapped page, or whether > * a (NUMA hinting) fault is required. > */ > -static inline bool gup_can_follow_protnone(struct vm_area_struct *vma, > +static inline bool gup_can_follow_protnone(struct mm_area *vma, > unsigned int flags) > { > /* > @@ -3872,11 +3872,11 @@ static inline void clear_page_guard(struct zone *zone, struct page *page, > #endif /* CONFIG_DEBUG_PAGEALLOC */ > > #ifdef __HAVE_ARCH_GATE_AREA > -extern struct vm_area_struct *get_gate_vma(struct mm_struct *mm); > +extern struct mm_area *get_gate_vma(struct mm_struct *mm); > extern int in_gate_area_no_mm(unsigned long addr); > extern int in_gate_area(struct mm_struct *mm, unsigned long addr); > #else > -static inline struct vm_area_struct *get_gate_vma(struct mm_struct *mm) > +static inline struct mm_area *get_gate_vma(struct mm_struct *mm) > { > return NULL; > } > @@ -3897,7 +3897,7 @@ void drop_slab(void); > extern int randomize_va_space; > #endif > > -const char * arch_vma_name(struct vm_area_struct *vma); > +const char * arch_vma_name(struct mm_area *vma); > #ifdef CONFIG_MMU > void print_vma_addr(char *prefix, unsigned long rip); > #else > @@ -4117,14 +4117,14 @@ enum mf_action_page_type { > void folio_zero_user(struct folio *folio, unsigned long addr_hint); > int copy_user_large_folio(struct folio *dst, struct folio *src, > unsigned long addr_hint, > - struct vm_area_struct *vma); > + struct mm_area *vma); > long copy_folio_from_user(struct folio *dst_folio, > const void __user *usr_src, > bool allow_pagefault); > > /** > * vma_is_special_huge - Are transhuge page-table entries considered special? > - * @vma: Pointer to the struct vm_area_struct to consider > + * @vma: Pointer to the struct mm_area to consider > * > * Whether transhuge page-table entries are considered "special" following > * the definition in vm_normal_page(). > @@ -4132,7 +4132,7 @@ long copy_folio_from_user(struct folio *dst_folio, > * Return: true if transhuge page-table entries should be considered special, > * false otherwise. > */ > -static inline bool vma_is_special_huge(const struct vm_area_struct *vma) > +static inline bool vma_is_special_huge(const struct mm_area *vma) > { > return vma_is_dax(vma) || (vma->vm_file && > (vma->vm_flags & (VM_PFNMAP | VM_MIXEDMAP))); > @@ -4201,8 +4201,8 @@ static inline bool pfn_is_unaccepted_memory(unsigned long pfn) > return range_contains_unaccepted_memory(pfn << PAGE_SHIFT, PAGE_SIZE); > } > > -void vma_pgtable_walk_begin(struct vm_area_struct *vma); > -void vma_pgtable_walk_end(struct vm_area_struct *vma); > +void vma_pgtable_walk_begin(struct mm_area *vma); > +void vma_pgtable_walk_end(struct mm_area *vma); > > int reserve_mem_find_by_name(const char *name, phys_addr_t *start, phys_addr_t *size); > int reserve_mem_release_by_name(const char *name); > diff --git a/include/linux/mm_inline.h b/include/linux/mm_inline.h > index f9157a0c42a5..7b5bcca96464 100644 > --- a/include/linux/mm_inline.h > +++ b/include/linux/mm_inline.h > @@ -404,8 +404,8 @@ struct anon_vma_name *anon_vma_name_reuse(struct anon_vma_name *anon_name) > return anon_vma_name_alloc(anon_name->name); > } > > -static inline void dup_anon_vma_name(struct vm_area_struct *orig_vma, > - struct vm_area_struct *new_vma) > +static inline void dup_anon_vma_name(struct mm_area *orig_vma, > + struct mm_area *new_vma) > { > struct anon_vma_name *anon_name = anon_vma_name(orig_vma); > > @@ -413,7 +413,7 @@ static inline void dup_anon_vma_name(struct vm_area_struct *orig_vma, > new_vma->anon_name = anon_vma_name_reuse(anon_name); > } > > -static inline void free_anon_vma_name(struct vm_area_struct *vma) > +static inline void free_anon_vma_name(struct mm_area *vma) > { > /* > * Not using anon_vma_name because it generates a warning if mmap_lock > @@ -435,9 +435,9 @@ static inline bool anon_vma_name_eq(struct anon_vma_name *anon_name1, > #else /* CONFIG_ANON_VMA_NAME */ > static inline void anon_vma_name_get(struct anon_vma_name *anon_name) {} > static inline void anon_vma_name_put(struct anon_vma_name *anon_name) {} > -static inline void dup_anon_vma_name(struct vm_area_struct *orig_vma, > - struct vm_area_struct *new_vma) {} > -static inline void free_anon_vma_name(struct vm_area_struct *vma) {} > +static inline void dup_anon_vma_name(struct mm_area *orig_vma, > + struct mm_area *new_vma) {} > +static inline void free_anon_vma_name(struct mm_area *vma) {} > > static inline bool anon_vma_name_eq(struct anon_vma_name *anon_name1, > struct anon_vma_name *anon_name2) > @@ -538,7 +538,7 @@ static inline bool mm_tlb_flush_nested(struct mm_struct *mm) > * The caller should insert a new pte created with make_pte_marker(). > */ > static inline pte_marker copy_pte_marker( > - swp_entry_t entry, struct vm_area_struct *dst_vma) > + swp_entry_t entry, struct mm_area *dst_vma) > { > pte_marker srcm = pte_marker_get(entry); > /* Always copy error entries. */ > @@ -565,7 +565,7 @@ static inline pte_marker copy_pte_marker( > * Returns true if an uffd-wp pte was installed, false otherwise. > */ > static inline bool > -pte_install_uffd_wp_if_needed(struct vm_area_struct *vma, unsigned long addr, > +pte_install_uffd_wp_if_needed(struct mm_area *vma, unsigned long addr, > pte_t *pte, pte_t pteval) > { > #ifdef CONFIG_PTE_MARKER_UFFD_WP > @@ -603,7 +603,7 @@ pte_install_uffd_wp_if_needed(struct vm_area_struct *vma, unsigned long addr, > return false; > } > > -static inline bool vma_has_recency(struct vm_area_struct *vma) > +static inline bool vma_has_recency(struct mm_area *vma) > { > if (vma->vm_flags & (VM_SEQ_READ | VM_RAND_READ)) > return false; > diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h > index 56d07edd01f9..185fdf91bda1 100644 > --- a/include/linux/mm_types.h > +++ b/include/linux/mm_types.h > @@ -710,11 +710,11 @@ struct anon_vma_name { > * either keep holding the lock while using the returned pointer or it should > * raise anon_vma_name refcount before releasing the lock. > */ > -struct anon_vma_name *anon_vma_name(struct vm_area_struct *vma); > +struct anon_vma_name *anon_vma_name(struct mm_area *vma); > struct anon_vma_name *anon_vma_name_alloc(const char *name); > void anon_vma_name_free(struct kref *kref); > #else /* CONFIG_ANON_VMA_NAME */ > -static inline struct anon_vma_name *anon_vma_name(struct vm_area_struct *vma) > +static inline struct anon_vma_name *anon_vma_name(struct mm_area *vma) > { > return NULL; > } > @@ -774,9 +774,9 @@ struct vma_numab_state { > * getting a stable reference. > * > * WARNING: when adding new members, please update vm_area_init_from() to copy > - * them during vm_area_struct content duplication. > + * them during mm_area content duplication. > */ > -struct vm_area_struct { > +struct mm_area { > /* The first cache line has the info for VMA tree walking. */ > > union { > @@ -1488,14 +1488,14 @@ struct vm_special_mapping { > * on the special mapping. If used, .pages is not checked. > */ > vm_fault_t (*fault)(const struct vm_special_mapping *sm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct vm_fault *vmf); > > int (*mremap)(const struct vm_special_mapping *sm, > - struct vm_area_struct *new_vma); > + struct mm_area *new_vma); > > void (*close)(const struct vm_special_mapping *sm, > - struct vm_area_struct *vma); > + struct mm_area *vma); > }; > > enum tlb_flush_reason { > diff --git a/include/linux/mmdebug.h b/include/linux/mmdebug.h > index a0a3894900ed..b713e4921bb8 100644 > --- a/include/linux/mmdebug.h > +++ b/include/linux/mmdebug.h > @@ -6,13 +6,13 @@ > #include > > struct page; > -struct vm_area_struct; > +struct mm_area; > struct mm_struct; > struct vma_iterator; > struct vma_merge_struct; > > void dump_page(const struct page *page, const char *reason); > -void dump_vma(const struct vm_area_struct *vma); > +void dump_vma(const struct mm_area *vma); > void dump_mm(const struct mm_struct *mm); > void dump_vmg(const struct vma_merge_struct *vmg, const char *reason); > void vma_iter_dump_tree(const struct vma_iterator *vmi); > diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h > index bc2402a45741..1c83061bf690 100644 > --- a/include/linux/mmu_notifier.h > +++ b/include/linux/mmu_notifier.h > @@ -518,7 +518,7 @@ static inline void mmu_notifier_range_init_owner( > #define ptep_clear_flush_young_notify(__vma, __address, __ptep) \ > ({ \ > int __young; \ > - struct vm_area_struct *___vma = __vma; \ > + struct mm_area *___vma = __vma; \ > unsigned long ___address = __address; \ > __young = ptep_clear_flush_young(___vma, ___address, __ptep); \ > __young |= mmu_notifier_clear_flush_young(___vma->vm_mm, \ > @@ -531,7 +531,7 @@ static inline void mmu_notifier_range_init_owner( > #define pmdp_clear_flush_young_notify(__vma, __address, __pmdp) \ > ({ \ > int __young; \ > - struct vm_area_struct *___vma = __vma; \ > + struct mm_area *___vma = __vma; \ > unsigned long ___address = __address; \ > __young = pmdp_clear_flush_young(___vma, ___address, __pmdp); \ > __young |= mmu_notifier_clear_flush_young(___vma->vm_mm, \ > @@ -544,7 +544,7 @@ static inline void mmu_notifier_range_init_owner( > #define ptep_clear_young_notify(__vma, __address, __ptep) \ > ({ \ > int __young; \ > - struct vm_area_struct *___vma = __vma; \ > + struct mm_area *___vma = __vma; \ > unsigned long ___address = __address; \ > __young = ptep_test_and_clear_young(___vma, ___address, __ptep);\ > __young |= mmu_notifier_clear_young(___vma->vm_mm, ___address, \ > @@ -555,7 +555,7 @@ static inline void mmu_notifier_range_init_owner( > #define pmdp_clear_young_notify(__vma, __address, __pmdp) \ > ({ \ > int __young; \ > - struct vm_area_struct *___vma = __vma; \ > + struct mm_area *___vma = __vma; \ > unsigned long ___address = __address; \ > __young = pmdp_test_and_clear_young(___vma, ___address, __pmdp);\ > __young |= mmu_notifier_clear_young(___vma->vm_mm, ___address, \ > diff --git a/include/linux/net.h b/include/linux/net.h > index 0ff950eecc6b..501f966667be 100644 > --- a/include/linux/net.h > +++ b/include/linux/net.h > @@ -147,7 +147,7 @@ typedef struct { > int error; > } read_descriptor_t; > > -struct vm_area_struct; > +struct mm_area; > struct page; > struct sockaddr; > struct msghdr; > @@ -208,7 +208,7 @@ struct proto_ops { > int (*recvmsg) (struct socket *sock, struct msghdr *m, > size_t total_len, int flags); > int (*mmap) (struct file *file, struct socket *sock, > - struct vm_area_struct * vma); > + struct mm_area * vma); > ssize_t (*splice_read)(struct socket *sock, loff_t *ppos, > struct pipe_inode_info *pipe, size_t len, unsigned int flags); > void (*splice_eof)(struct socket *sock); > diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h > index 26baa78f1ca7..1848be69048a 100644 > --- a/include/linux/pagemap.h > +++ b/include/linux/pagemap.h > @@ -1043,7 +1043,7 @@ static inline pgoff_t folio_pgoff(struct folio *folio) > return folio->index; > } > > -static inline pgoff_t linear_page_index(struct vm_area_struct *vma, > +static inline pgoff_t linear_page_index(struct mm_area *vma, > unsigned long address) > { > pgoff_t pgoff; > diff --git a/include/linux/pagewalk.h b/include/linux/pagewalk.h > index 9700a29f8afb..026bb21ede0e 100644 > --- a/include/linux/pagewalk.h > +++ b/include/linux/pagewalk.h > @@ -120,7 +120,7 @@ struct mm_walk { > const struct mm_walk_ops *ops; > struct mm_struct *mm; > pgd_t *pgd; > - struct vm_area_struct *vma; > + struct mm_area *vma; > enum page_walk_action action; > bool no_vma; > void *private; > @@ -133,10 +133,10 @@ int walk_page_range_novma(struct mm_struct *mm, unsigned long start, > unsigned long end, const struct mm_walk_ops *ops, > pgd_t *pgd, > void *private); > -int walk_page_range_vma(struct vm_area_struct *vma, unsigned long start, > +int walk_page_range_vma(struct mm_area *vma, unsigned long start, > unsigned long end, const struct mm_walk_ops *ops, > void *private); > -int walk_page_vma(struct vm_area_struct *vma, const struct mm_walk_ops *ops, > +int walk_page_vma(struct mm_area *vma, const struct mm_walk_ops *ops, > void *private); > int walk_page_mapping(struct address_space *mapping, pgoff_t first_index, > pgoff_t nr, const struct mm_walk_ops *ops, > @@ -185,12 +185,12 @@ struct folio_walk { > pmd_t pmd; > }; > /* private */ > - struct vm_area_struct *vma; > + struct mm_area *vma; > spinlock_t *ptl; > }; > > struct folio *folio_walk_start(struct folio_walk *fw, > - struct vm_area_struct *vma, unsigned long addr, > + struct mm_area *vma, unsigned long addr, > folio_walk_flags_t flags); > > #define folio_walk_end(__fw, __vma) do { \ > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 0e8e3fd77e96..343fcd42b066 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -2103,7 +2103,7 @@ pci_alloc_irq_vectors(struct pci_dev *dev, unsigned int min_vecs, > * > */ > int pci_mmap_resource_range(struct pci_dev *dev, int bar, > - struct vm_area_struct *vma, > + struct mm_area *vma, > enum pci_mmap_state mmap_state, int write_combine); > > #ifndef arch_can_pci_mmap_wc > @@ -2114,7 +2114,7 @@ int pci_mmap_resource_range(struct pci_dev *dev, int bar, > #define arch_can_pci_mmap_io() 0 > #define pci_iobar_pfn(pdev, bar, vma) (-EINVAL) > #else > -int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma); > +int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct mm_area *vma); > #endif > > #ifndef pci_root_bus_fwnode > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > index 5a9bf15d4461..cb7f59821923 100644 > --- a/include/linux/perf_event.h > +++ b/include/linux/perf_event.h > @@ -1596,7 +1596,7 @@ static inline void perf_event_task_sched_out(struct task_struct *prev, > __perf_event_task_sched_out(prev, next); > } > > -extern void perf_event_mmap(struct vm_area_struct *vma); > +extern void perf_event_mmap(struct mm_area *vma); > > extern void perf_event_ksymbol(u16 ksym_type, u64 addr, u32 len, > bool unregister, const char *sym); > @@ -1889,7 +1889,7 @@ perf_sw_event(u32 event_id, u64 nr, struct pt_regs *regs, u64 addr) { } > static inline void > perf_bp_event(struct perf_event *event, void *data) { } > > -static inline void perf_event_mmap(struct vm_area_struct *vma) { } > +static inline void perf_event_mmap(struct mm_area *vma) { } > > typedef int (perf_ksymbol_get_name_f)(char *name, int name_len, void *data); > static inline void perf_event_ksymbol(u16 ksym_type, u64 addr, u32 len, > diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h > index e2b705c14945..eb50af52018b 100644 > --- a/include/linux/pgtable.h > +++ b/include/linux/pgtable.h > @@ -303,28 +303,28 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr, > #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1) > > #ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS > -extern int ptep_set_access_flags(struct vm_area_struct *vma, > +extern int ptep_set_access_flags(struct mm_area *vma, > unsigned long address, pte_t *ptep, > pte_t entry, int dirty); > #endif > > #ifndef __HAVE_ARCH_PMDP_SET_ACCESS_FLAGS > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -extern int pmdp_set_access_flags(struct vm_area_struct *vma, > +extern int pmdp_set_access_flags(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, > pmd_t entry, int dirty); > -extern int pudp_set_access_flags(struct vm_area_struct *vma, > +extern int pudp_set_access_flags(struct mm_area *vma, > unsigned long address, pud_t *pudp, > pud_t entry, int dirty); > #else > -static inline int pmdp_set_access_flags(struct vm_area_struct *vma, > +static inline int pmdp_set_access_flags(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, > pmd_t entry, int dirty) > { > BUILD_BUG(); > return 0; > } > -static inline int pudp_set_access_flags(struct vm_area_struct *vma, > +static inline int pudp_set_access_flags(struct mm_area *vma, > unsigned long address, pud_t *pudp, > pud_t entry, int dirty) > { > @@ -370,7 +370,7 @@ static inline pgd_t pgdp_get(pgd_t *pgdp) > #endif > > #ifndef __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG > -static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, > +static inline int ptep_test_and_clear_young(struct mm_area *vma, > unsigned long address, > pte_t *ptep) > { > @@ -386,7 +386,7 @@ static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, > > #ifndef __HAVE_ARCH_PMDP_TEST_AND_CLEAR_YOUNG > #if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG) > -static inline int pmdp_test_and_clear_young(struct vm_area_struct *vma, > +static inline int pmdp_test_and_clear_young(struct mm_area *vma, > unsigned long address, > pmd_t *pmdp) > { > @@ -399,7 +399,7 @@ static inline int pmdp_test_and_clear_young(struct vm_area_struct *vma, > return r; > } > #else > -static inline int pmdp_test_and_clear_young(struct vm_area_struct *vma, > +static inline int pmdp_test_and_clear_young(struct mm_area *vma, > unsigned long address, > pmd_t *pmdp) > { > @@ -410,20 +410,20 @@ static inline int pmdp_test_and_clear_young(struct vm_area_struct *vma, > #endif > > #ifndef __HAVE_ARCH_PTEP_CLEAR_YOUNG_FLUSH > -int ptep_clear_flush_young(struct vm_area_struct *vma, > +int ptep_clear_flush_young(struct mm_area *vma, > unsigned long address, pte_t *ptep); > #endif > > #ifndef __HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -extern int pmdp_clear_flush_young(struct vm_area_struct *vma, > +extern int pmdp_clear_flush_young(struct mm_area *vma, > unsigned long address, pmd_t *pmdp); > #else > /* > * Despite relevant to THP only, this API is called from generic rmap code > * under PageTransHuge(), hence needs a dummy implementation for !THP > */ > -static inline int pmdp_clear_flush_young(struct vm_area_struct *vma, > +static inline int pmdp_clear_flush_young(struct mm_area *vma, > unsigned long address, pmd_t *pmdp) > { > BUILD_BUG(); > @@ -457,21 +457,21 @@ static inline bool arch_has_hw_pte_young(void) > #endif > > #ifndef arch_check_zapped_pte > -static inline void arch_check_zapped_pte(struct vm_area_struct *vma, > +static inline void arch_check_zapped_pte(struct mm_area *vma, > pte_t pte) > { > } > #endif > > #ifndef arch_check_zapped_pmd > -static inline void arch_check_zapped_pmd(struct vm_area_struct *vma, > +static inline void arch_check_zapped_pmd(struct mm_area *vma, > pmd_t pmd) > { > } > #endif > > #ifndef arch_check_zapped_pud > -static inline void arch_check_zapped_pud(struct vm_area_struct *vma, pud_t pud) > +static inline void arch_check_zapped_pud(struct mm_area *vma, pud_t pud) > { > } > #endif > @@ -507,7 +507,7 @@ static inline pte_t ptep_get_and_clear(struct mm_struct *mm, > * Context: The caller holds the page table lock. The PTEs map consecutive > * pages that belong to the same folio. The PTEs are all in the same PMD. > */ > -static inline void clear_young_dirty_ptes(struct vm_area_struct *vma, > +static inline void clear_young_dirty_ptes(struct mm_area *vma, > unsigned long addr, pte_t *ptep, > unsigned int nr, cydp_t flags) > { > @@ -659,7 +659,7 @@ static inline pud_t pudp_huge_get_and_clear(struct mm_struct *mm, > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > #ifndef __HAVE_ARCH_PMDP_HUGE_GET_AND_CLEAR_FULL > -static inline pmd_t pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, > +static inline pmd_t pmdp_huge_get_and_clear_full(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, > int full) > { > @@ -668,7 +668,7 @@ static inline pmd_t pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, > #endif > > #ifndef __HAVE_ARCH_PUDP_HUGE_GET_AND_CLEAR_FULL > -static inline pud_t pudp_huge_get_and_clear_full(struct vm_area_struct *vma, > +static inline pud_t pudp_huge_get_and_clear_full(struct mm_area *vma, > unsigned long address, pud_t *pudp, > int full) > { > @@ -766,13 +766,13 @@ static inline void clear_full_ptes(struct mm_struct *mm, unsigned long addr, > * It is the difference with function update_mmu_cache. > */ > #ifndef update_mmu_tlb_range > -static inline void update_mmu_tlb_range(struct vm_area_struct *vma, > +static inline void update_mmu_tlb_range(struct mm_area *vma, > unsigned long address, pte_t *ptep, unsigned int nr) > { > } > #endif > > -static inline void update_mmu_tlb(struct vm_area_struct *vma, > +static inline void update_mmu_tlb(struct mm_area *vma, > unsigned long address, pte_t *ptep) > { > update_mmu_tlb_range(vma, address, ptep, 1); > @@ -823,29 +823,29 @@ static inline void clear_not_present_full_ptes(struct mm_struct *mm, > #endif > > #ifndef __HAVE_ARCH_PTEP_CLEAR_FLUSH > -extern pte_t ptep_clear_flush(struct vm_area_struct *vma, > +extern pte_t ptep_clear_flush(struct mm_area *vma, > unsigned long address, > pte_t *ptep); > #endif > > #ifndef __HAVE_ARCH_PMDP_HUGE_CLEAR_FLUSH > -extern pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, > +extern pmd_t pmdp_huge_clear_flush(struct mm_area *vma, > unsigned long address, > pmd_t *pmdp); > -extern pud_t pudp_huge_clear_flush(struct vm_area_struct *vma, > +extern pud_t pudp_huge_clear_flush(struct mm_area *vma, > unsigned long address, > pud_t *pudp); > #endif > > #ifndef pte_mkwrite > -static inline pte_t pte_mkwrite(pte_t pte, struct vm_area_struct *vma) > +static inline pte_t pte_mkwrite(pte_t pte, struct mm_area *vma) > { > return pte_mkwrite_novma(pte); > } > #endif > > #if defined(CONFIG_ARCH_WANT_PMD_MKWRITE) && !defined(pmd_mkwrite) > -static inline pmd_t pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma) > +static inline pmd_t pmd_mkwrite(pmd_t pmd, struct mm_area *vma) > { > return pmd_mkwrite_novma(pmd); > } > @@ -945,10 +945,10 @@ static inline void pudp_set_wrprotect(struct mm_struct *mm, > > #ifndef pmdp_collapse_flush > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -extern pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > +extern pmd_t pmdp_collapse_flush(struct mm_area *vma, > unsigned long address, pmd_t *pmdp); > #else > -static inline pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > +static inline pmd_t pmdp_collapse_flush(struct mm_area *vma, > unsigned long address, > pmd_t *pmdp) > { > @@ -978,7 +978,7 @@ extern pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp); > * architecture that doesn't have hardware dirty/accessed bits. In this case we > * can't race with CPU which sets these bits and non-atomic approach is fine. > */ > -static inline pmd_t generic_pmdp_establish(struct vm_area_struct *vma, > +static inline pmd_t generic_pmdp_establish(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, pmd_t pmd) > { > pmd_t old_pmd = *pmdp; > @@ -988,7 +988,7 @@ static inline pmd_t generic_pmdp_establish(struct vm_area_struct *vma, > #endif > > #ifndef __HAVE_ARCH_PMDP_INVALIDATE > -extern pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, > +extern pmd_t pmdp_invalidate(struct mm_area *vma, unsigned long address, > pmd_t *pmdp); > #endif > > @@ -1008,7 +1008,7 @@ extern pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, > * to batch these TLB flushing operations, so fewer TLB flush operations are > * needed. > */ > -extern pmd_t pmdp_invalidate_ad(struct vm_area_struct *vma, > +extern pmd_t pmdp_invalidate_ad(struct mm_area *vma, > unsigned long address, pmd_t *pmdp); > #endif > > @@ -1088,7 +1088,7 @@ static inline int pgd_same(pgd_t pgd_a, pgd_t pgd_b) > > #ifndef __HAVE_ARCH_DO_SWAP_PAGE > static inline void arch_do_swap_page_nr(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, > pte_t pte, pte_t oldpte, > int nr) > @@ -1105,7 +1105,7 @@ static inline void arch_do_swap_page_nr(struct mm_struct *mm, > * metadata when a page is swapped back in. > */ > static inline void arch_do_swap_page_nr(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, > pte_t pte, pte_t oldpte, > int nr) > @@ -1128,7 +1128,7 @@ static inline void arch_do_swap_page_nr(struct mm_struct *mm, > * metadata on a swap-out of a page. > */ > static inline int arch_unmap_one(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, > pte_t orig_pte) > { > @@ -1277,7 +1277,7 @@ static inline int pmd_none_or_clear_bad(pmd_t *pmd) > return 0; > } > > -static inline pte_t __ptep_modify_prot_start(struct vm_area_struct *vma, > +static inline pte_t __ptep_modify_prot_start(struct mm_area *vma, > unsigned long addr, > pte_t *ptep) > { > @@ -1289,7 +1289,7 @@ static inline pte_t __ptep_modify_prot_start(struct vm_area_struct *vma, > return ptep_get_and_clear(vma->vm_mm, addr, ptep); > } > > -static inline void __ptep_modify_prot_commit(struct vm_area_struct *vma, > +static inline void __ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, > pte_t *ptep, pte_t pte) > { > @@ -1315,7 +1315,7 @@ static inline void __ptep_modify_prot_commit(struct vm_area_struct *vma, > * queue the update to be done at some later time. The update must be > * actually committed before the pte lock is released, however. > */ > -static inline pte_t ptep_modify_prot_start(struct vm_area_struct *vma, > +static inline pte_t ptep_modify_prot_start(struct mm_area *vma, > unsigned long addr, > pte_t *ptep) > { > @@ -1326,7 +1326,7 @@ static inline pte_t ptep_modify_prot_start(struct vm_area_struct *vma, > * Commit an update to a pte, leaving any hardware-controlled bits in > * the PTE unmodified. > */ > -static inline void ptep_modify_prot_commit(struct vm_area_struct *vma, > +static inline void ptep_modify_prot_commit(struct mm_area *vma, > unsigned long addr, > pte_t *ptep, pte_t old_pte, pte_t pte) > { > @@ -1493,7 +1493,7 @@ static inline pmd_t pmd_swp_clear_soft_dirty(pmd_t pmd) > * track_pfn_remap is called when a _new_ pfn mapping is being established > * by remap_pfn_range() for physical range indicated by pfn and size. > */ > -static inline int track_pfn_remap(struct vm_area_struct *vma, pgprot_t *prot, > +static inline int track_pfn_remap(struct mm_area *vma, pgprot_t *prot, > unsigned long pfn, unsigned long addr, > unsigned long size) > { > @@ -1504,7 +1504,7 @@ static inline int track_pfn_remap(struct vm_area_struct *vma, pgprot_t *prot, > * track_pfn_insert is called when a _new_ single pfn is established > * by vmf_insert_pfn(). > */ > -static inline void track_pfn_insert(struct vm_area_struct *vma, pgprot_t *prot, > +static inline void track_pfn_insert(struct mm_area *vma, pgprot_t *prot, > pfn_t pfn) > { > } > @@ -1514,8 +1514,8 @@ static inline void track_pfn_insert(struct vm_area_struct *vma, pgprot_t *prot, > * tables copied during copy_page_range(). On success, stores the pfn to be > * passed to untrack_pfn_copy(). > */ > -static inline int track_pfn_copy(struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma, unsigned long *pfn) > +static inline int track_pfn_copy(struct mm_area *dst_vma, > + struct mm_area *src_vma, unsigned long *pfn) > { > return 0; > } > @@ -1524,7 +1524,7 @@ static inline int track_pfn_copy(struct vm_area_struct *dst_vma, > * untrack_pfn_copy is called when a VM_PFNMAP VMA failed to copy during > * copy_page_range(), but after track_pfn_copy() was already called. > */ > -static inline void untrack_pfn_copy(struct vm_area_struct *dst_vma, > +static inline void untrack_pfn_copy(struct mm_area *dst_vma, > unsigned long pfn) > { > } > @@ -1534,7 +1534,7 @@ static inline void untrack_pfn_copy(struct vm_area_struct *dst_vma, > * untrack can be called for a specific region indicated by pfn and size or > * can be for the entire vma (in which case pfn, size are zero). > */ > -static inline void untrack_pfn(struct vm_area_struct *vma, > +static inline void untrack_pfn(struct mm_area *vma, > unsigned long pfn, unsigned long size, > bool mm_wr_locked) > { > @@ -1546,22 +1546,22 @@ static inline void untrack_pfn(struct vm_area_struct *vma, > * 1) During mremap() on the src VMA after the page tables were moved. > * 2) During fork() on the dst VMA, immediately after duplicating the src VMA. > */ > -static inline void untrack_pfn_clear(struct vm_area_struct *vma) > +static inline void untrack_pfn_clear(struct mm_area *vma) > { > } > #else > -extern int track_pfn_remap(struct vm_area_struct *vma, pgprot_t *prot, > +extern int track_pfn_remap(struct mm_area *vma, pgprot_t *prot, > unsigned long pfn, unsigned long addr, > unsigned long size); > -extern void track_pfn_insert(struct vm_area_struct *vma, pgprot_t *prot, > +extern void track_pfn_insert(struct mm_area *vma, pgprot_t *prot, > pfn_t pfn); > -extern int track_pfn_copy(struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma, unsigned long *pfn); > -extern void untrack_pfn_copy(struct vm_area_struct *dst_vma, > +extern int track_pfn_copy(struct mm_area *dst_vma, > + struct mm_area *src_vma, unsigned long *pfn); > +extern void untrack_pfn_copy(struct mm_area *dst_vma, > unsigned long pfn); > -extern void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn, > +extern void untrack_pfn(struct mm_area *vma, unsigned long pfn, > unsigned long size, bool mm_wr_locked); > -extern void untrack_pfn_clear(struct vm_area_struct *vma); > +extern void untrack_pfn_clear(struct mm_area *vma); > #endif > > #ifdef CONFIG_MMU > diff --git a/include/linux/pkeys.h b/include/linux/pkeys.h > index 86be8bf27b41..71db2f7ec326 100644 > --- a/include/linux/pkeys.h > +++ b/include/linux/pkeys.h > @@ -15,7 +15,7 @@ > #define PKEY_DEDICATED_EXECUTE_ONLY 0 > #define ARCH_VM_PKEY_FLAGS 0 > > -static inline int vma_pkey(struct vm_area_struct *vma) > +static inline int vma_pkey(struct mm_area *vma) > { > return 0; > } > diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h > index ea62201c74c4..b123101b135e 100644 > --- a/include/linux/proc_fs.h > +++ b/include/linux/proc_fs.h > @@ -43,7 +43,7 @@ struct proc_ops { > #ifdef CONFIG_COMPAT > long (*proc_compat_ioctl)(struct file *, unsigned int, unsigned long); > #endif > - int (*proc_mmap)(struct file *, struct vm_area_struct *); > + int (*proc_mmap)(struct file *, struct mm_area *); > unsigned long (*proc_get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); > } __randomize_layout; > > diff --git a/include/linux/ring_buffer.h b/include/linux/ring_buffer.h > index 56e27263acf8..d7bed10786f6 100644 > --- a/include/linux/ring_buffer.h > +++ b/include/linux/ring_buffer.h > @@ -245,7 +245,7 @@ int trace_rb_cpu_prepare(unsigned int cpu, struct hlist_node *node); > #endif > > int ring_buffer_map(struct trace_buffer *buffer, int cpu, > - struct vm_area_struct *vma); > + struct mm_area *vma); > int ring_buffer_unmap(struct trace_buffer *buffer, int cpu); > int ring_buffer_map_get_reader(struct trace_buffer *buffer, int cpu); > #endif /* _LINUX_RING_BUFFER_H */ > diff --git a/include/linux/rmap.h b/include/linux/rmap.h > index 6b82b618846e..6e0a7da7a80a 100644 > --- a/include/linux/rmap.h > +++ b/include/linux/rmap.h > @@ -81,7 +81,7 @@ struct anon_vma { > * which link all the VMAs associated with this anon_vma. > */ > struct anon_vma_chain { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct anon_vma *anon_vma; > struct list_head same_vma; /* locked by mmap_lock & page_table_lock */ > struct rb_node rb; /* locked by anon_vma->rwsem */ > @@ -152,12 +152,12 @@ static inline void anon_vma_unlock_read(struct anon_vma *anon_vma) > * anon_vma helper functions. > */ > void anon_vma_init(void); /* create anon_vma_cachep */ > -int __anon_vma_prepare(struct vm_area_struct *); > -void unlink_anon_vmas(struct vm_area_struct *); > -int anon_vma_clone(struct vm_area_struct *, struct vm_area_struct *); > -int anon_vma_fork(struct vm_area_struct *, struct vm_area_struct *); > +int __anon_vma_prepare(struct mm_area *); > +void unlink_anon_vmas(struct mm_area *); > +int anon_vma_clone(struct mm_area *, struct mm_area *); > +int anon_vma_fork(struct mm_area *, struct mm_area *); > > -static inline int anon_vma_prepare(struct vm_area_struct *vma) > +static inline int anon_vma_prepare(struct mm_area *vma) > { > if (likely(vma->anon_vma)) > return 0; > @@ -165,8 +165,8 @@ static inline int anon_vma_prepare(struct vm_area_struct *vma) > return __anon_vma_prepare(vma); > } > > -static inline void anon_vma_merge(struct vm_area_struct *vma, > - struct vm_area_struct *next) > +static inline void anon_vma_merge(struct mm_area *vma, > + struct mm_area *next) > { > VM_BUG_ON_VMA(vma->anon_vma != next->anon_vma, vma); > unlink_anon_vmas(next); > @@ -227,7 +227,7 @@ static inline void __folio_large_mapcount_sanity_checks(const struct folio *foli > } > > static __always_inline void folio_set_large_mapcount(struct folio *folio, > - int mapcount, struct vm_area_struct *vma) > + int mapcount, struct mm_area *vma) > { > __folio_large_mapcount_sanity_checks(folio, mapcount, vma->vm_mm->mm_id); > > @@ -241,7 +241,7 @@ static __always_inline void folio_set_large_mapcount(struct folio *folio, > } > > static __always_inline int folio_add_return_large_mapcount(struct folio *folio, > - int diff, struct vm_area_struct *vma) > + int diff, struct mm_area *vma) > { > const mm_id_t mm_id = vma->vm_mm->mm_id; > int new_mapcount_val; > @@ -291,7 +291,7 @@ static __always_inline int folio_add_return_large_mapcount(struct folio *folio, > #define folio_add_large_mapcount folio_add_return_large_mapcount > > static __always_inline int folio_sub_return_large_mapcount(struct folio *folio, > - int diff, struct vm_area_struct *vma) > + int diff, struct mm_area *vma) > { > const mm_id_t mm_id = vma->vm_mm->mm_id; > int new_mapcount_val; > @@ -342,32 +342,32 @@ static __always_inline int folio_sub_return_large_mapcount(struct folio *folio, > * CONFIG_TRANSPARENT_HUGEPAGE. We'll keep that working for now. > */ > static inline void folio_set_large_mapcount(struct folio *folio, int mapcount, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > /* Note: mapcounts start at -1. */ > atomic_set(&folio->_large_mapcount, mapcount - 1); > } > > static inline void folio_add_large_mapcount(struct folio *folio, > - int diff, struct vm_area_struct *vma) > + int diff, struct mm_area *vma) > { > atomic_add(diff, &folio->_large_mapcount); > } > > static inline int folio_add_return_large_mapcount(struct folio *folio, > - int diff, struct vm_area_struct *vma) > + int diff, struct mm_area *vma) > { > BUILD_BUG(); > } > > static inline void folio_sub_large_mapcount(struct folio *folio, > - int diff, struct vm_area_struct *vma) > + int diff, struct mm_area *vma) > { > atomic_sub(diff, &folio->_large_mapcount); > } > > static inline int folio_sub_return_large_mapcount(struct folio *folio, > - int diff, struct vm_area_struct *vma) > + int diff, struct mm_area *vma) > { > BUILD_BUG(); > } > @@ -454,40 +454,40 @@ static inline void __folio_rmap_sanity_checks(const struct folio *folio, > /* > * rmap interfaces called when adding or removing pte of page > */ > -void folio_move_anon_rmap(struct folio *, struct vm_area_struct *); > +void folio_move_anon_rmap(struct folio *, struct mm_area *); > void folio_add_anon_rmap_ptes(struct folio *, struct page *, int nr_pages, > - struct vm_area_struct *, unsigned long address, rmap_t flags); > + struct mm_area *, unsigned long address, rmap_t flags); > #define folio_add_anon_rmap_pte(folio, page, vma, address, flags) \ > folio_add_anon_rmap_ptes(folio, page, 1, vma, address, flags) > void folio_add_anon_rmap_pmd(struct folio *, struct page *, > - struct vm_area_struct *, unsigned long address, rmap_t flags); > -void folio_add_new_anon_rmap(struct folio *, struct vm_area_struct *, > + struct mm_area *, unsigned long address, rmap_t flags); > +void folio_add_new_anon_rmap(struct folio *, struct mm_area *, > unsigned long address, rmap_t flags); > void folio_add_file_rmap_ptes(struct folio *, struct page *, int nr_pages, > - struct vm_area_struct *); > + struct mm_area *); > #define folio_add_file_rmap_pte(folio, page, vma) \ > folio_add_file_rmap_ptes(folio, page, 1, vma) > void folio_add_file_rmap_pmd(struct folio *, struct page *, > - struct vm_area_struct *); > + struct mm_area *); > void folio_add_file_rmap_pud(struct folio *, struct page *, > - struct vm_area_struct *); > + struct mm_area *); > void folio_remove_rmap_ptes(struct folio *, struct page *, int nr_pages, > - struct vm_area_struct *); > + struct mm_area *); > #define folio_remove_rmap_pte(folio, page, vma) \ > folio_remove_rmap_ptes(folio, page, 1, vma) > void folio_remove_rmap_pmd(struct folio *, struct page *, > - struct vm_area_struct *); > + struct mm_area *); > void folio_remove_rmap_pud(struct folio *, struct page *, > - struct vm_area_struct *); > + struct mm_area *); > > -void hugetlb_add_anon_rmap(struct folio *, struct vm_area_struct *, > +void hugetlb_add_anon_rmap(struct folio *, struct mm_area *, > unsigned long address, rmap_t flags); > -void hugetlb_add_new_anon_rmap(struct folio *, struct vm_area_struct *, > +void hugetlb_add_new_anon_rmap(struct folio *, struct mm_area *, > unsigned long address); > > /* See folio_try_dup_anon_rmap_*() */ > static inline int hugetlb_try_dup_anon_rmap(struct folio *folio, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > VM_WARN_ON_FOLIO(!folio_test_hugetlb(folio), folio); > VM_WARN_ON_FOLIO(!folio_test_anon(folio), folio); > @@ -544,7 +544,7 @@ static inline void hugetlb_remove_rmap(struct folio *folio) > } > > static __always_inline void __folio_dup_file_rmap(struct folio *folio, > - struct page *page, int nr_pages, struct vm_area_struct *dst_vma, > + struct page *page, int nr_pages, struct mm_area *dst_vma, > enum rmap_level level) > { > const int orig_nr_pages = nr_pages; > @@ -585,13 +585,13 @@ static __always_inline void __folio_dup_file_rmap(struct folio *folio, > * The caller needs to hold the page table lock. > */ > static inline void folio_dup_file_rmap_ptes(struct folio *folio, > - struct page *page, int nr_pages, struct vm_area_struct *dst_vma) > + struct page *page, int nr_pages, struct mm_area *dst_vma) > { > __folio_dup_file_rmap(folio, page, nr_pages, dst_vma, RMAP_LEVEL_PTE); > } > > static __always_inline void folio_dup_file_rmap_pte(struct folio *folio, > - struct page *page, struct vm_area_struct *dst_vma) > + struct page *page, struct mm_area *dst_vma) > { > __folio_dup_file_rmap(folio, page, 1, dst_vma, RMAP_LEVEL_PTE); > } > @@ -607,7 +607,7 @@ static __always_inline void folio_dup_file_rmap_pte(struct folio *folio, > * The caller needs to hold the page table lock. > */ > static inline void folio_dup_file_rmap_pmd(struct folio *folio, > - struct page *page, struct vm_area_struct *dst_vma) > + struct page *page, struct mm_area *dst_vma) > { > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > __folio_dup_file_rmap(folio, page, HPAGE_PMD_NR, dst_vma, RMAP_LEVEL_PTE); > @@ -617,8 +617,8 @@ static inline void folio_dup_file_rmap_pmd(struct folio *folio, > } > > static __always_inline int __folio_try_dup_anon_rmap(struct folio *folio, > - struct page *page, int nr_pages, struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma, enum rmap_level level) > + struct page *page, int nr_pages, struct mm_area *dst_vma, > + struct mm_area *src_vma, enum rmap_level level) > { > const int orig_nr_pages = nr_pages; > bool maybe_pinned; > @@ -704,16 +704,16 @@ static __always_inline int __folio_try_dup_anon_rmap(struct folio *folio, > * Returns 0 if duplicating the mappings succeeded. Returns -EBUSY otherwise. > */ > static inline int folio_try_dup_anon_rmap_ptes(struct folio *folio, > - struct page *page, int nr_pages, struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma) > + struct page *page, int nr_pages, struct mm_area *dst_vma, > + struct mm_area *src_vma) > { > return __folio_try_dup_anon_rmap(folio, page, nr_pages, dst_vma, > src_vma, RMAP_LEVEL_PTE); > } > > static __always_inline int folio_try_dup_anon_rmap_pte(struct folio *folio, > - struct page *page, struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma) > + struct page *page, struct mm_area *dst_vma, > + struct mm_area *src_vma) > { > return __folio_try_dup_anon_rmap(folio, page, 1, dst_vma, src_vma, > RMAP_LEVEL_PTE); > @@ -743,8 +743,8 @@ static __always_inline int folio_try_dup_anon_rmap_pte(struct folio *folio, > * Returns 0 if duplicating the mapping succeeded. Returns -EBUSY otherwise. > */ > static inline int folio_try_dup_anon_rmap_pmd(struct folio *folio, > - struct page *page, struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma) > + struct page *page, struct mm_area *dst_vma, > + struct mm_area *src_vma) > { > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > return __folio_try_dup_anon_rmap(folio, page, HPAGE_PMD_NR, dst_vma, > @@ -910,7 +910,7 @@ struct page_vma_mapped_walk { > unsigned long pfn; > unsigned long nr_pages; > pgoff_t pgoff; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long address; > pmd_t *pmd; > pte_t *pte; > @@ -963,7 +963,7 @@ page_vma_mapped_walk_restart(struct page_vma_mapped_walk *pvmw) > > bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw); > unsigned long page_address_in_vma(const struct folio *folio, > - const struct page *, const struct vm_area_struct *); > + const struct page *, const struct mm_area *); > > /* > * Cleans the PTEs of shared mappings. > @@ -977,7 +977,7 @@ int mapping_wrprotect_range(struct address_space *mapping, pgoff_t pgoff, > unsigned long pfn, unsigned long nr_pages); > > int pfn_mkclean_range(unsigned long pfn, unsigned long nr_pages, pgoff_t pgoff, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > enum rmp_flags { > RMP_LOCKED = 1 << 0, > @@ -1005,12 +1005,12 @@ struct rmap_walk_control { > * Return false if page table scanning in rmap_walk should be stopped. > * Otherwise, return true. > */ > - bool (*rmap_one)(struct folio *folio, struct vm_area_struct *vma, > + bool (*rmap_one)(struct folio *folio, struct mm_area *vma, > unsigned long addr, void *arg); > int (*done)(struct folio *folio); > struct anon_vma *(*anon_lock)(const struct folio *folio, > struct rmap_walk_control *rwc); > - bool (*invalid_vma)(struct vm_area_struct *vma, void *arg); > + bool (*invalid_vma)(struct mm_area *vma, void *arg); > }; > > void rmap_walk(struct folio *folio, struct rmap_walk_control *rwc); > diff --git a/include/linux/secretmem.h b/include/linux/secretmem.h > index e918f96881f5..a38896f49499 100644 > --- a/include/linux/secretmem.h > +++ b/include/linux/secretmem.h > @@ -11,12 +11,12 @@ static inline bool secretmem_mapping(struct address_space *mapping) > return mapping->a_ops == &secretmem_aops; > } > > -bool vma_is_secretmem(struct vm_area_struct *vma); > +bool vma_is_secretmem(struct mm_area *vma); > bool secretmem_active(void); > > #else > > -static inline bool vma_is_secretmem(struct vm_area_struct *vma) > +static inline bool vma_is_secretmem(struct mm_area *vma) > { > return false; > } > diff --git a/include/linux/security.h b/include/linux/security.h > index cc9b54d95d22..8478e56ee173 100644 > --- a/include/linux/security.h > +++ b/include/linux/security.h > @@ -476,7 +476,7 @@ int security_file_ioctl_compat(struct file *file, unsigned int cmd, > int security_mmap_file(struct file *file, unsigned long prot, > unsigned long flags); > int security_mmap_addr(unsigned long addr); > -int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, > +int security_file_mprotect(struct mm_area *vma, unsigned long reqprot, > unsigned long prot); > int security_file_lock(struct file *file, unsigned int cmd); > int security_file_fcntl(struct file *file, unsigned int cmd, unsigned long arg); > @@ -1151,7 +1151,7 @@ static inline int security_mmap_addr(unsigned long addr) > return cap_mmap_addr(addr); > } > > -static inline int security_file_mprotect(struct vm_area_struct *vma, > +static inline int security_file_mprotect(struct mm_area *vma, > unsigned long reqprot, > unsigned long prot) > { > diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h > index 0b273a7b9f01..e3913a29f10e 100644 > --- a/include/linux/shmem_fs.h > +++ b/include/linux/shmem_fs.h > @@ -92,7 +92,7 @@ extern struct file *shmem_kernel_file_setup(const char *name, loff_t size, > unsigned long flags); > extern struct file *shmem_file_setup_with_mnt(struct vfsmount *mnt, > const char *name, loff_t size, unsigned long flags); > -extern int shmem_zero_setup(struct vm_area_struct *); > +extern int shmem_zero_setup(struct mm_area *); > extern unsigned long shmem_get_unmapped_area(struct file *, unsigned long addr, > unsigned long len, unsigned long pgoff, unsigned long flags); > extern int shmem_lock(struct file *file, int lock, struct ucounts *ucounts); > @@ -112,12 +112,12 @@ int shmem_unuse(unsigned int type); > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > unsigned long shmem_allowable_huge_orders(struct inode *inode, > - struct vm_area_struct *vma, pgoff_t index, > + struct mm_area *vma, pgoff_t index, > loff_t write_end, bool shmem_huge_force); > bool shmem_hpage_pmd_enabled(void); > #else > static inline unsigned long shmem_allowable_huge_orders(struct inode *inode, > - struct vm_area_struct *vma, pgoff_t index, > + struct mm_area *vma, pgoff_t index, > loff_t write_end, bool shmem_huge_force) > { > return 0; > @@ -130,9 +130,9 @@ static inline bool shmem_hpage_pmd_enabled(void) > #endif > > #ifdef CONFIG_SHMEM > -extern unsigned long shmem_swap_usage(struct vm_area_struct *vma); > +extern unsigned long shmem_swap_usage(struct mm_area *vma); > #else > -static inline unsigned long shmem_swap_usage(struct vm_area_struct *vma) > +static inline unsigned long shmem_swap_usage(struct mm_area *vma) > { > return 0; > } > @@ -194,7 +194,7 @@ extern void shmem_uncharge(struct inode *inode, long pages); > #ifdef CONFIG_USERFAULTFD > #ifdef CONFIG_SHMEM > extern int shmem_mfill_atomic_pte(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, > unsigned long src_addr, > uffd_flags_t flags, > diff --git a/include/linux/swap.h b/include/linux/swap.h > index db46b25a65ae..1652caa8ceed 100644 > --- a/include/linux/swap.h > +++ b/include/linux/swap.h > @@ -380,7 +380,7 @@ void lru_note_cost(struct lruvec *lruvec, bool file, > unsigned int nr_io, unsigned int nr_rotated); > void lru_note_cost_refault(struct folio *); > void folio_add_lru(struct folio *); > -void folio_add_lru_vma(struct folio *, struct vm_area_struct *); > +void folio_add_lru_vma(struct folio *, struct mm_area *); > void mark_page_accessed(struct page *); > void folio_mark_accessed(struct folio *); > > diff --git a/include/linux/swapops.h b/include/linux/swapops.h > index 64ea151a7ae3..697e5d60b776 100644 > --- a/include/linux/swapops.h > +++ b/include/linux/swapops.h > @@ -315,7 +315,7 @@ static inline bool is_migration_entry_dirty(swp_entry_t entry) > > extern void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, > unsigned long address); > -extern void migration_entry_wait_huge(struct vm_area_struct *vma, unsigned long addr, pte_t *pte); > +extern void migration_entry_wait_huge(struct mm_area *vma, unsigned long addr, pte_t *pte); > #else /* CONFIG_MIGRATION */ > static inline swp_entry_t make_readable_migration_entry(pgoff_t offset) > { > @@ -339,7 +339,7 @@ static inline int is_migration_entry(swp_entry_t swp) > > static inline void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, > unsigned long address) { } > -static inline void migration_entry_wait_huge(struct vm_area_struct *vma, > +static inline void migration_entry_wait_huge(struct mm_area *vma, > unsigned long addr, pte_t *pte) { } > static inline int is_writable_migration_entry(swp_entry_t entry) > { > diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h > index 18f7e1fd093c..4b1c38978498 100644 > --- a/include/linux/sysfs.h > +++ b/include/linux/sysfs.h > @@ -298,7 +298,7 @@ static const struct attribute_group _name##_group = { \ > __ATTRIBUTE_GROUPS(_name) > > struct file; > -struct vm_area_struct; > +struct mm_area; > struct address_space; > > struct bin_attribute { > @@ -317,7 +317,7 @@ struct bin_attribute { > loff_t (*llseek)(struct file *, struct kobject *, const struct bin_attribute *, > loff_t, int); > int (*mmap)(struct file *, struct kobject *, const struct bin_attribute *attr, > - struct vm_area_struct *vma); > + struct mm_area *vma); > }; > > /** > diff --git a/include/linux/time_namespace.h b/include/linux/time_namespace.h > index 0b8b32bf0655..12b3ecc86fe6 100644 > --- a/include/linux/time_namespace.h > +++ b/include/linux/time_namespace.h > @@ -12,7 +12,7 @@ > struct user_namespace; > extern struct user_namespace init_user_ns; > > -struct vm_area_struct; > +struct mm_area; > > struct timens_offsets { > struct timespec64 monotonic; > @@ -47,7 +47,7 @@ struct time_namespace *copy_time_ns(unsigned long flags, > struct time_namespace *old_ns); > void free_time_ns(struct time_namespace *ns); > void timens_on_fork(struct nsproxy *nsproxy, struct task_struct *tsk); > -struct page *find_timens_vvar_page(struct vm_area_struct *vma); > +struct page *find_timens_vvar_page(struct mm_area *vma); > > static inline void put_time_ns(struct time_namespace *ns) > { > @@ -144,7 +144,7 @@ static inline void timens_on_fork(struct nsproxy *nsproxy, > return; > } > > -static inline struct page *find_timens_vvar_page(struct vm_area_struct *vma) > +static inline struct page *find_timens_vvar_page(struct mm_area *vma) > { > return NULL; > } > diff --git a/include/linux/uacce.h b/include/linux/uacce.h > index e290c0269944..dcb2b94de9f1 100644 > --- a/include/linux/uacce.h > +++ b/include/linux/uacce.h > @@ -43,7 +43,7 @@ struct uacce_ops { > int (*start_queue)(struct uacce_queue *q); > void (*stop_queue)(struct uacce_queue *q); > int (*is_q_updated)(struct uacce_queue *q); > - int (*mmap)(struct uacce_queue *q, struct vm_area_struct *vma, > + int (*mmap)(struct uacce_queue *q, struct mm_area *vma, > struct uacce_qfile_region *qfr); > long (*ioctl)(struct uacce_queue *q, unsigned int cmd, > unsigned long arg); > diff --git a/include/linux/uio_driver.h b/include/linux/uio_driver.h > index 18238dc8bfd3..69fdc49c1df4 100644 > --- a/include/linux/uio_driver.h > +++ b/include/linux/uio_driver.h > @@ -112,7 +112,7 @@ struct uio_info { > unsigned long irq_flags; > void *priv; > irqreturn_t (*handler)(int irq, struct uio_info *dev_info); > - int (*mmap)(struct uio_info *info, struct vm_area_struct *vma); > + int (*mmap)(struct uio_info *info, struct mm_area *vma); > int (*open)(struct uio_info *info, struct inode *inode); > int (*release)(struct uio_info *info, struct inode *inode); > int (*irqcontrol)(struct uio_info *info, s32 irq_on); > diff --git a/include/linux/uprobes.h b/include/linux/uprobes.h > index 2e46b69ff0a6..f8af45f0c683 100644 > --- a/include/linux/uprobes.h > +++ b/include/linux/uprobes.h > @@ -19,7 +19,7 @@ > #include > > struct uprobe; > -struct vm_area_struct; > +struct mm_area; > struct mm_struct; > struct inode; > struct notifier_block; > @@ -199,8 +199,8 @@ extern struct uprobe *uprobe_register(struct inode *inode, loff_t offset, loff_t > extern int uprobe_apply(struct uprobe *uprobe, struct uprobe_consumer *uc, bool); > extern void uprobe_unregister_nosync(struct uprobe *uprobe, struct uprobe_consumer *uc); > extern void uprobe_unregister_sync(void); > -extern int uprobe_mmap(struct vm_area_struct *vma); > -extern void uprobe_munmap(struct vm_area_struct *vma, unsigned long start, unsigned long end); > +extern int uprobe_mmap(struct mm_area *vma); > +extern void uprobe_munmap(struct mm_area *vma, unsigned long start, unsigned long end); > extern void uprobe_start_dup_mmap(void); > extern void uprobe_end_dup_mmap(void); > extern void uprobe_dup_mmap(struct mm_struct *oldmm, struct mm_struct *newmm); > @@ -253,12 +253,12 @@ uprobe_unregister_nosync(struct uprobe *uprobe, struct uprobe_consumer *uc) > static inline void uprobe_unregister_sync(void) > { > } > -static inline int uprobe_mmap(struct vm_area_struct *vma) > +static inline int uprobe_mmap(struct mm_area *vma) > { > return 0; > } > static inline void > -uprobe_munmap(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +uprobe_munmap(struct mm_area *vma, unsigned long start, unsigned long end) > { > } > static inline void uprobe_start_dup_mmap(void) > diff --git a/include/linux/userfaultfd_k.h b/include/linux/userfaultfd_k.h > index 75342022d144..6b45a807875d 100644 > --- a/include/linux/userfaultfd_k.h > +++ b/include/linux/userfaultfd_k.h > @@ -116,7 +116,7 @@ static inline uffd_flags_t uffd_flags_set_mode(uffd_flags_t flags, enum mfill_at > #define MFILL_ATOMIC_WP MFILL_ATOMIC_FLAG(0) > > extern int mfill_atomic_install_pte(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, struct page *page, > bool newly_allocated, uffd_flags_t flags); > > @@ -132,7 +132,7 @@ extern ssize_t mfill_atomic_poison(struct userfaultfd_ctx *ctx, unsigned long st > unsigned long len, uffd_flags_t flags); > extern int mwriteprotect_range(struct userfaultfd_ctx *ctx, unsigned long start, > unsigned long len, bool enable_wp); > -extern long uffd_wp_range(struct vm_area_struct *vma, > +extern long uffd_wp_range(struct mm_area *vma, > unsigned long start, unsigned long len, bool enable_wp); > > /* move_pages */ > @@ -141,12 +141,12 @@ void double_pt_unlock(spinlock_t *ptl1, spinlock_t *ptl2); > ssize_t move_pages(struct userfaultfd_ctx *ctx, unsigned long dst_start, > unsigned long src_start, unsigned long len, __u64 flags); > int move_pages_huge_pmd(struct mm_struct *mm, pmd_t *dst_pmd, pmd_t *src_pmd, pmd_t dst_pmdval, > - struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma, > + struct mm_area *dst_vma, > + struct mm_area *src_vma, > unsigned long dst_addr, unsigned long src_addr); > > /* mm helpers */ > -static inline bool is_mergeable_vm_userfaultfd_ctx(struct vm_area_struct *vma, > +static inline bool is_mergeable_vm_userfaultfd_ctx(struct mm_area *vma, > struct vm_userfaultfd_ctx vm_ctx) > { > return vma->vm_userfaultfd_ctx.ctx == vm_ctx.ctx; > @@ -163,7 +163,7 @@ static inline bool is_mergeable_vm_userfaultfd_ctx(struct vm_area_struct *vma, > * with huge pmd sharing this would *also* setup the second UFFD-registered > * mapping, and we'd not get minor faults.) > */ > -static inline bool uffd_disable_huge_pmd_share(struct vm_area_struct *vma) > +static inline bool uffd_disable_huge_pmd_share(struct mm_area *vma) > { > return vma->vm_flags & (VM_UFFD_WP | VM_UFFD_MINOR); > } > @@ -175,44 +175,44 @@ static inline bool uffd_disable_huge_pmd_share(struct vm_area_struct *vma) > * as the fault around checks for pte_none() before the installation, however > * to be super safe we just forbid it. > */ > -static inline bool uffd_disable_fault_around(struct vm_area_struct *vma) > +static inline bool uffd_disable_fault_around(struct mm_area *vma) > { > return vma->vm_flags & (VM_UFFD_WP | VM_UFFD_MINOR); > } > > -static inline bool userfaultfd_missing(struct vm_area_struct *vma) > +static inline bool userfaultfd_missing(struct mm_area *vma) > { > return vma->vm_flags & VM_UFFD_MISSING; > } > > -static inline bool userfaultfd_wp(struct vm_area_struct *vma) > +static inline bool userfaultfd_wp(struct mm_area *vma) > { > return vma->vm_flags & VM_UFFD_WP; > } > > -static inline bool userfaultfd_minor(struct vm_area_struct *vma) > +static inline bool userfaultfd_minor(struct mm_area *vma) > { > return vma->vm_flags & VM_UFFD_MINOR; > } > > -static inline bool userfaultfd_pte_wp(struct vm_area_struct *vma, > +static inline bool userfaultfd_pte_wp(struct mm_area *vma, > pte_t pte) > { > return userfaultfd_wp(vma) && pte_uffd_wp(pte); > } > > -static inline bool userfaultfd_huge_pmd_wp(struct vm_area_struct *vma, > +static inline bool userfaultfd_huge_pmd_wp(struct mm_area *vma, > pmd_t pmd) > { > return userfaultfd_wp(vma) && pmd_uffd_wp(pmd); > } > > -static inline bool userfaultfd_armed(struct vm_area_struct *vma) > +static inline bool userfaultfd_armed(struct mm_area *vma) > { > return vma->vm_flags & __VM_UFFD_FLAGS; > } > > -static inline bool vma_can_userfault(struct vm_area_struct *vma, > +static inline bool vma_can_userfault(struct mm_area *vma, > unsigned long vm_flags, > bool wp_async) > { > @@ -247,44 +247,44 @@ static inline bool vma_can_userfault(struct vm_area_struct *vma, > vma_is_shmem(vma); > } > > -static inline bool vma_has_uffd_without_event_remap(struct vm_area_struct *vma) > +static inline bool vma_has_uffd_without_event_remap(struct mm_area *vma) > { > struct userfaultfd_ctx *uffd_ctx = vma->vm_userfaultfd_ctx.ctx; > > return uffd_ctx && (uffd_ctx->features & UFFD_FEATURE_EVENT_REMAP) == 0; > } > > -extern int dup_userfaultfd(struct vm_area_struct *, struct list_head *); > +extern int dup_userfaultfd(struct mm_area *, struct list_head *); > extern void dup_userfaultfd_complete(struct list_head *); > void dup_userfaultfd_fail(struct list_head *); > > -extern void mremap_userfaultfd_prep(struct vm_area_struct *, > +extern void mremap_userfaultfd_prep(struct mm_area *, > struct vm_userfaultfd_ctx *); > extern void mremap_userfaultfd_complete(struct vm_userfaultfd_ctx *, > unsigned long from, unsigned long to, > unsigned long len); > > -extern bool userfaultfd_remove(struct vm_area_struct *vma, > +extern bool userfaultfd_remove(struct mm_area *vma, > unsigned long start, > unsigned long end); > > -extern int userfaultfd_unmap_prep(struct vm_area_struct *vma, > +extern int userfaultfd_unmap_prep(struct mm_area *vma, > unsigned long start, unsigned long end, struct list_head *uf); > extern void userfaultfd_unmap_complete(struct mm_struct *mm, > struct list_head *uf); > -extern bool userfaultfd_wp_unpopulated(struct vm_area_struct *vma); > -extern bool userfaultfd_wp_async(struct vm_area_struct *vma); > +extern bool userfaultfd_wp_unpopulated(struct mm_area *vma); > +extern bool userfaultfd_wp_async(struct mm_area *vma); > > -void userfaultfd_reset_ctx(struct vm_area_struct *vma); > +void userfaultfd_reset_ctx(struct mm_area *vma); > > -struct vm_area_struct *userfaultfd_clear_vma(struct vma_iterator *vmi, > - struct vm_area_struct *prev, > - struct vm_area_struct *vma, > +struct mm_area *userfaultfd_clear_vma(struct vma_iterator *vmi, > + struct mm_area *prev, > + struct mm_area *vma, > unsigned long start, > unsigned long end); > > int userfaultfd_register_range(struct userfaultfd_ctx *ctx, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long vm_flags, > unsigned long start, unsigned long end, > bool wp_async); > @@ -303,53 +303,53 @@ static inline vm_fault_t handle_userfault(struct vm_fault *vmf, > return VM_FAULT_SIGBUS; > } > > -static inline long uffd_wp_range(struct vm_area_struct *vma, > +static inline long uffd_wp_range(struct mm_area *vma, > unsigned long start, unsigned long len, > bool enable_wp) > { > return false; > } > > -static inline bool is_mergeable_vm_userfaultfd_ctx(struct vm_area_struct *vma, > +static inline bool is_mergeable_vm_userfaultfd_ctx(struct mm_area *vma, > struct vm_userfaultfd_ctx vm_ctx) > { > return true; > } > > -static inline bool userfaultfd_missing(struct vm_area_struct *vma) > +static inline bool userfaultfd_missing(struct mm_area *vma) > { > return false; > } > > -static inline bool userfaultfd_wp(struct vm_area_struct *vma) > +static inline bool userfaultfd_wp(struct mm_area *vma) > { > return false; > } > > -static inline bool userfaultfd_minor(struct vm_area_struct *vma) > +static inline bool userfaultfd_minor(struct mm_area *vma) > { > return false; > } > > -static inline bool userfaultfd_pte_wp(struct vm_area_struct *vma, > +static inline bool userfaultfd_pte_wp(struct mm_area *vma, > pte_t pte) > { > return false; > } > > -static inline bool userfaultfd_huge_pmd_wp(struct vm_area_struct *vma, > +static inline bool userfaultfd_huge_pmd_wp(struct mm_area *vma, > pmd_t pmd) > { > return false; > } > > > -static inline bool userfaultfd_armed(struct vm_area_struct *vma) > +static inline bool userfaultfd_armed(struct mm_area *vma) > { > return false; > } > > -static inline int dup_userfaultfd(struct vm_area_struct *vma, > +static inline int dup_userfaultfd(struct mm_area *vma, > struct list_head *l) > { > return 0; > @@ -363,7 +363,7 @@ static inline void dup_userfaultfd_fail(struct list_head *l) > { > } > > -static inline void mremap_userfaultfd_prep(struct vm_area_struct *vma, > +static inline void mremap_userfaultfd_prep(struct mm_area *vma, > struct vm_userfaultfd_ctx *ctx) > { > } > @@ -375,14 +375,14 @@ static inline void mremap_userfaultfd_complete(struct vm_userfaultfd_ctx *ctx, > { > } > > -static inline bool userfaultfd_remove(struct vm_area_struct *vma, > +static inline bool userfaultfd_remove(struct mm_area *vma, > unsigned long start, > unsigned long end) > { > return true; > } > > -static inline int userfaultfd_unmap_prep(struct vm_area_struct *vma, > +static inline int userfaultfd_unmap_prep(struct mm_area *vma, > unsigned long start, unsigned long end, > struct list_head *uf) > { > @@ -394,29 +394,29 @@ static inline void userfaultfd_unmap_complete(struct mm_struct *mm, > { > } > > -static inline bool uffd_disable_fault_around(struct vm_area_struct *vma) > +static inline bool uffd_disable_fault_around(struct mm_area *vma) > { > return false; > } > > -static inline bool userfaultfd_wp_unpopulated(struct vm_area_struct *vma) > +static inline bool userfaultfd_wp_unpopulated(struct mm_area *vma) > { > return false; > } > > -static inline bool userfaultfd_wp_async(struct vm_area_struct *vma) > +static inline bool userfaultfd_wp_async(struct mm_area *vma) > { > return false; > } > > -static inline bool vma_has_uffd_without_event_remap(struct vm_area_struct *vma) > +static inline bool vma_has_uffd_without_event_remap(struct mm_area *vma) > { > return false; > } > > #endif /* CONFIG_USERFAULTFD */ > > -static inline bool userfaultfd_wp_use_markers(struct vm_area_struct *vma) > +static inline bool userfaultfd_wp_use_markers(struct mm_area *vma) > { > /* Only wr-protect mode uses pte markers */ > if (!userfaultfd_wp(vma)) > diff --git a/include/linux/vdso_datastore.h b/include/linux/vdso_datastore.h > index a91fa24b06e0..8523a57ba6c0 100644 > --- a/include/linux/vdso_datastore.h > +++ b/include/linux/vdso_datastore.h > @@ -5,6 +5,6 @@ > #include > > extern const struct vm_special_mapping vdso_vvar_mapping; > -struct vm_area_struct *vdso_install_vvar_mapping(struct mm_struct *mm, unsigned long addr); > +struct mm_area *vdso_install_vvar_mapping(struct mm_struct *mm, unsigned long addr); > > #endif /* _LINUX_VDSO_DATASTORE_H */ > diff --git a/include/linux/vfio.h b/include/linux/vfio.h > index 707b00772ce1..3830567b796e 100644 > --- a/include/linux/vfio.h > +++ b/include/linux/vfio.h > @@ -129,7 +129,7 @@ struct vfio_device_ops { > size_t count, loff_t *size); > long (*ioctl)(struct vfio_device *vdev, unsigned int cmd, > unsigned long arg); > - int (*mmap)(struct vfio_device *vdev, struct vm_area_struct *vma); > + int (*mmap)(struct vfio_device *vdev, struct mm_area *vma); > void (*request)(struct vfio_device *vdev, unsigned int count); > int (*match)(struct vfio_device *vdev, char *buf); > void (*dma_unmap)(struct vfio_device *vdev, u64 iova, u64 length); > diff --git a/include/linux/vfio_pci_core.h b/include/linux/vfio_pci_core.h > index fbb472dd99b3..0dcef04e3e8c 100644 > --- a/include/linux/vfio_pci_core.h > +++ b/include/linux/vfio_pci_core.h > @@ -34,7 +34,7 @@ struct vfio_pci_regops { > struct vfio_pci_region *region); > int (*mmap)(struct vfio_pci_core_device *vdev, > struct vfio_pci_region *region, > - struct vm_area_struct *vma); > + struct mm_area *vma); > int (*add_capability)(struct vfio_pci_core_device *vdev, > struct vfio_pci_region *region, > struct vfio_info_cap *caps); > @@ -119,7 +119,7 @@ ssize_t vfio_pci_core_read(struct vfio_device *core_vdev, char __user *buf, > size_t count, loff_t *ppos); > ssize_t vfio_pci_core_write(struct vfio_device *core_vdev, const char __user *buf, > size_t count, loff_t *ppos); > -int vfio_pci_core_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma); > +int vfio_pci_core_mmap(struct vfio_device *core_vdev, struct mm_area *vma); > void vfio_pci_core_request(struct vfio_device *core_vdev, unsigned int count); > int vfio_pci_core_match(struct vfio_device *core_vdev, char *buf); > int vfio_pci_core_enable(struct vfio_pci_core_device *vdev); > diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h > index 31e9ffd936e3..3e555eb63f36 100644 > --- a/include/linux/vmalloc.h > +++ b/include/linux/vmalloc.h > @@ -14,7 +14,7 @@ > > #include > > -struct vm_area_struct; /* vma defining user mapping in mm_types.h */ > +struct mm_area; /* vma defining user mapping in mm_types.h */ > struct notifier_block; /* in notifier.h */ > struct iov_iter; /* in uio.h */ > > @@ -195,11 +195,11 @@ extern void *vmap(struct page **pages, unsigned int count, > void *vmap_pfn(unsigned long *pfns, unsigned int count, pgprot_t prot); > extern void vunmap(const void *addr); > > -extern int remap_vmalloc_range_partial(struct vm_area_struct *vma, > +extern int remap_vmalloc_range_partial(struct mm_area *vma, > unsigned long uaddr, void *kaddr, > unsigned long pgoff, unsigned long size); > > -extern int remap_vmalloc_range(struct vm_area_struct *vma, void *addr, > +extern int remap_vmalloc_range(struct mm_area *vma, void *addr, > unsigned long pgoff); > > int vmap_pages_range(unsigned long addr, unsigned long end, pgprot_t prot, > diff --git a/include/media/dvb_vb2.h b/include/media/dvb_vb2.h > index 8cb88452cd6c..42956944bba4 100644 > --- a/include/media/dvb_vb2.h > +++ b/include/media/dvb_vb2.h > @@ -270,11 +270,11 @@ int dvb_vb2_dqbuf(struct dvb_vb2_ctx *ctx, struct dmx_buffer *b); > * dvb_vb2_mmap() - Wrapper to vb2_mmap() for Digital TV buffer handling. > * > * @ctx: control struct for VB2 handler > - * @vma: pointer to &struct vm_area_struct with the vma passed > + * @vma: pointer to &struct mm_area with the vma passed > * to the mmap file operation handler in the driver. > * > * map Digital TV video buffers into application address space. > */ > -int dvb_vb2_mmap(struct dvb_vb2_ctx *ctx, struct vm_area_struct *vma); > +int dvb_vb2_mmap(struct dvb_vb2_ctx *ctx, struct mm_area *vma); > > #endif /* _DVB_VB2_H */ > diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h > index 1b6222fab24e..caef335b7731 100644 > --- a/include/media/v4l2-dev.h > +++ b/include/media/v4l2-dev.h > @@ -209,7 +209,7 @@ struct v4l2_file_operations { > #endif > unsigned long (*get_unmapped_area) (struct file *, unsigned long, > unsigned long, unsigned long, unsigned long); > - int (*mmap) (struct file *, struct vm_area_struct *); > + int (*mmap) (struct file *, struct mm_area *); > int (*open) (struct file *); > int (*release) (struct file *); > }; > diff --git a/include/media/v4l2-mem2mem.h b/include/media/v4l2-mem2mem.h > index 0af330cf91c3..19ee65878a35 100644 > --- a/include/media/v4l2-mem2mem.h > +++ b/include/media/v4l2-mem2mem.h > @@ -490,7 +490,7 @@ __poll_t v4l2_m2m_poll(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, > * > * @file: pointer to struct &file > * @m2m_ctx: m2m context assigned to the instance given by struct &v4l2_m2m_ctx > - * @vma: pointer to struct &vm_area_struct > + * @vma: pointer to struct &mm_area > * > * Call from driver's mmap() function. Will handle mmap() for both queues > * seamlessly for the video buffer, which will receive normal per-queue offsets > @@ -500,7 +500,7 @@ __poll_t v4l2_m2m_poll(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, > * thus applications) receive modified offsets. > */ > int v4l2_m2m_mmap(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > #ifndef CONFIG_MMU > unsigned long v4l2_m2m_get_unmapped_area(struct file *file, unsigned long addr, > @@ -895,7 +895,7 @@ int v4l2_m2m_ioctl_stateless_try_decoder_cmd(struct file *file, void *fh, > struct v4l2_decoder_cmd *dc); > int v4l2_m2m_ioctl_stateless_decoder_cmd(struct file *file, void *priv, > struct v4l2_decoder_cmd *dc); > -int v4l2_m2m_fop_mmap(struct file *file, struct vm_area_struct *vma); > +int v4l2_m2m_fop_mmap(struct file *file, struct mm_area *vma); > __poll_t v4l2_m2m_fop_poll(struct file *file, poll_table *wait); > > #endif /* _MEDIA_V4L2_MEM2MEM_H */ > diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h > index 9b02aeba4108..dbfb8876fbf9 100644 > --- a/include/media/videobuf2-core.h > +++ b/include/media/videobuf2-core.h > @@ -146,7 +146,7 @@ struct vb2_mem_ops { > > unsigned int (*num_users)(void *buf_priv); > > - int (*mmap)(void *buf_priv, struct vm_area_struct *vma); > + int (*mmap)(void *buf_priv, struct mm_area *vma); > }; > > /** > @@ -1033,7 +1033,7 @@ void vb2_queue_error(struct vb2_queue *q); > /** > * vb2_mmap() - map video buffers into application address space. > * @q: pointer to &struct vb2_queue with videobuf2 queue. > - * @vma: pointer to &struct vm_area_struct with the vma passed > + * @vma: pointer to &struct mm_area with the vma passed > * to the mmap file operation handler in the driver. > * > * Should be called from mmap file operation handler of a driver. > @@ -1052,7 +1052,7 @@ void vb2_queue_error(struct vb2_queue *q); > * The return values from this function are intended to be directly returned > * from the mmap handler in driver. > */ > -int vb2_mmap(struct vb2_queue *q, struct vm_area_struct *vma); > +int vb2_mmap(struct vb2_queue *q, struct mm_area *vma); > > #ifndef CONFIG_MMU > /** > diff --git a/include/media/videobuf2-v4l2.h b/include/media/videobuf2-v4l2.h > index 77ce8238ab30..cd941372aab9 100644 > --- a/include/media/videobuf2-v4l2.h > +++ b/include/media/videobuf2-v4l2.h > @@ -339,7 +339,7 @@ int vb2_ioctl_remove_bufs(struct file *file, void *priv, > > /* struct v4l2_file_operations helpers */ > > -int vb2_fop_mmap(struct file *file, struct vm_area_struct *vma); > +int vb2_fop_mmap(struct file *file, struct mm_area *vma); > int vb2_fop_release(struct file *file); > int _vb2_fop_release(struct file *file, struct mutex *lock); > ssize_t vb2_fop_write(struct file *file, const char __user *buf, > diff --git a/include/net/sock.h b/include/net/sock.h > index 8daf1b3b12c6..d75880bd2052 100644 > --- a/include/net/sock.h > +++ b/include/net/sock.h > @@ -1849,7 +1849,7 @@ int sock_no_sendmsg(struct socket *, struct msghdr *, size_t); > int sock_no_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t len); > int sock_no_recvmsg(struct socket *, struct msghdr *, size_t, int); > int sock_no_mmap(struct file *file, struct socket *sock, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > /* > * Functions to fill in entries in struct proto_ops when a protocol > diff --git a/include/net/tcp.h b/include/net/tcp.h > index df04dc09c519..556704058c39 100644 > --- a/include/net/tcp.h > +++ b/include/net/tcp.h > @@ -469,7 +469,7 @@ void tcp_recv_timestamp(struct msghdr *msg, const struct sock *sk, > void tcp_data_ready(struct sock *sk); > #ifdef CONFIG_MMU > int tcp_mmap(struct file *file, struct socket *sock, > - struct vm_area_struct *vma); > + struct mm_area *vma); > #endif > void tcp_parse_options(const struct net *net, const struct sk_buff *skb, > struct tcp_options_received *opt_rx, > diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h > index d42eae69d9a8..8055f6f88816 100644 > --- a/include/rdma/ib_verbs.h > +++ b/include/rdma/ib_verbs.h > @@ -2449,7 +2449,7 @@ struct ib_device_ops { > int (*alloc_ucontext)(struct ib_ucontext *context, > struct ib_udata *udata); > void (*dealloc_ucontext)(struct ib_ucontext *context); > - int (*mmap)(struct ib_ucontext *context, struct vm_area_struct *vma); > + int (*mmap)(struct ib_ucontext *context, struct mm_area *vma); > /** > * This will be called once refcount of an entry in mmap_xa reaches > * zero. The type of the memory that was mapped may differ between > @@ -2976,7 +2976,7 @@ void ib_set_client_data(struct ib_device *device, struct ib_client *client, > void ib_set_device_ops(struct ib_device *device, > const struct ib_device_ops *ops); > > -int rdma_user_mmap_io(struct ib_ucontext *ucontext, struct vm_area_struct *vma, > +int rdma_user_mmap_io(struct ib_ucontext *ucontext, struct mm_area *vma, > unsigned long pfn, unsigned long size, pgprot_t prot, > struct rdma_user_mmap_entry *entry); > int rdma_user_mmap_entry_insert(struct ib_ucontext *ucontext, > @@ -3009,7 +3009,7 @@ rdma_user_mmap_entry_get_pgoff(struct ib_ucontext *ucontext, > unsigned long pgoff); > struct rdma_user_mmap_entry * > rdma_user_mmap_entry_get(struct ib_ucontext *ucontext, > - struct vm_area_struct *vma); > + struct mm_area *vma); > void rdma_user_mmap_entry_put(struct rdma_user_mmap_entry *entry); > > void rdma_user_mmap_entry_remove(struct rdma_user_mmap_entry *entry); > diff --git a/include/rdma/rdma_vt.h b/include/rdma/rdma_vt.h > index c429d6ddb129..7baff31ec232 100644 > --- a/include/rdma/rdma_vt.h > +++ b/include/rdma/rdma_vt.h > @@ -167,7 +167,7 @@ struct rvt_ah { > > /* > * This structure is used by rvt_mmap() to validate an offset > - * when an mmap() request is made. The vm_area_struct then uses > + * when an mmap() request is made. The mm_area then uses > * this as its vm_private_data. > */ > struct rvt_mmap_info { > diff --git a/include/sound/compress_driver.h b/include/sound/compress_driver.h > index b55c9eeb2b54..cbfb46ad05de 100644 > --- a/include/sound/compress_driver.h > +++ b/include/sound/compress_driver.h > @@ -165,7 +165,7 @@ struct snd_compr_ops { > int (*copy)(struct snd_compr_stream *stream, char __user *buf, > size_t count); > int (*mmap)(struct snd_compr_stream *stream, > - struct vm_area_struct *vma); > + struct mm_area *vma); > int (*ack)(struct snd_compr_stream *stream, size_t bytes); > int (*get_caps) (struct snd_compr_stream *stream, > struct snd_compr_caps *caps); > diff --git a/include/sound/hwdep.h b/include/sound/hwdep.h > index b0da633184cd..1ba044d50614 100644 > --- a/include/sound/hwdep.h > +++ b/include/sound/hwdep.h > @@ -29,7 +29,7 @@ struct snd_hwdep_ops { > int (*ioctl_compat)(struct snd_hwdep *hw, struct file *file, > unsigned int cmd, unsigned long arg); > int (*mmap)(struct snd_hwdep *hw, struct file *file, > - struct vm_area_struct *vma); > + struct mm_area *vma); > int (*dsp_status)(struct snd_hwdep *hw, > struct snd_hwdep_dsp_status *status); > int (*dsp_load)(struct snd_hwdep *hw, > diff --git a/include/sound/info.h b/include/sound/info.h > index adbc506860d6..369b6ba88869 100644 > --- a/include/sound/info.h > +++ b/include/sound/info.h > @@ -54,7 +54,7 @@ struct snd_info_entry_ops { > struct file *file, unsigned int cmd, unsigned long arg); > int (*mmap)(struct snd_info_entry *entry, void *file_private_data, > struct inode *inode, struct file *file, > - struct vm_area_struct *vma); > + struct mm_area *vma); > }; > > struct snd_info_entry { > diff --git a/include/sound/memalloc.h b/include/sound/memalloc.h > index 9dd475cf4e8c..38a2885a39e3 100644 > --- a/include/sound/memalloc.h > +++ b/include/sound/memalloc.h > @@ -13,7 +13,7 @@ > #include > > struct device; > -struct vm_area_struct; > +struct mm_area; > struct sg_table; > > /* > @@ -83,7 +83,7 @@ int snd_dma_alloc_pages_fallback(int type, struct device *dev, size_t size, > struct snd_dma_buffer *dmab); > void snd_dma_free_pages(struct snd_dma_buffer *dmab); > int snd_dma_buffer_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area); > + struct mm_area *area); > > enum snd_dma_sync_mode { SNDRV_DMA_SYNC_CPU, SNDRV_DMA_SYNC_DEVICE }; > #ifdef CONFIG_HAS_DMA > diff --git a/include/sound/pcm.h b/include/sound/pcm.h > index 8becb4504887..10129d8837e3 100644 > --- a/include/sound/pcm.h > +++ b/include/sound/pcm.h > @@ -74,7 +74,7 @@ struct snd_pcm_ops { > unsigned long pos, struct iov_iter *iter, unsigned long bytes); > struct page *(*page)(struct snd_pcm_substream *substream, > unsigned long offset); > - int (*mmap)(struct snd_pcm_substream *substream, struct vm_area_struct *vma); > + int (*mmap)(struct snd_pcm_substream *substream, struct mm_area *vma); > int (*ack)(struct snd_pcm_substream *substream); > }; > > @@ -605,7 +605,7 @@ void snd_pcm_release_substream(struct snd_pcm_substream *substream); > int snd_pcm_attach_substream(struct snd_pcm *pcm, int stream, struct file *file, > struct snd_pcm_substream **rsubstream); > void snd_pcm_detach_substream(struct snd_pcm_substream *substream); > -int snd_pcm_mmap_data(struct snd_pcm_substream *substream, struct file *file, struct vm_area_struct *area); > +int snd_pcm_mmap_data(struct snd_pcm_substream *substream, struct file *file, struct mm_area *area); > > > #ifdef CONFIG_SND_DEBUG > @@ -1394,11 +1394,11 @@ snd_pcm_sgbuf_get_chunk_size(struct snd_pcm_substream *substream, > } > > int snd_pcm_lib_default_mmap(struct snd_pcm_substream *substream, > - struct vm_area_struct *area); > + struct mm_area *area); > /* mmap for io-memory area */ > #if defined(CONFIG_X86) || defined(CONFIG_PPC) || defined(CONFIG_ALPHA) > #define SNDRV_PCM_INFO_MMAP_IOMEM SNDRV_PCM_INFO_MMAP > -int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, struct vm_area_struct *area); > +int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, struct mm_area *area); > #else > #define SNDRV_PCM_INFO_MMAP_IOMEM 0 > #define snd_pcm_lib_mmap_iomem NULL > diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h > index 61534ac0edd1..4c37806639b1 100644 > --- a/include/sound/soc-component.h > +++ b/include/sound/soc-component.h > @@ -53,7 +53,7 @@ struct snd_compress_ops { > size_t count); > int (*mmap)(struct snd_soc_component *component, > struct snd_compr_stream *stream, > - struct vm_area_struct *vma); > + struct mm_area *vma); > int (*ack)(struct snd_soc_component *component, > struct snd_compr_stream *stream, size_t bytes); > int (*get_caps)(struct snd_soc_component *component, > @@ -146,7 +146,7 @@ struct snd_soc_component_driver { > unsigned long offset); > int (*mmap)(struct snd_soc_component *component, > struct snd_pcm_substream *substream, > - struct vm_area_struct *vma); > + struct mm_area *vma); > int (*ack)(struct snd_soc_component *component, > struct snd_pcm_substream *substream); > snd_pcm_sframes_t (*delay)(struct snd_soc_component *component, > @@ -517,7 +517,7 @@ int snd_soc_pcm_component_copy(struct snd_pcm_substream *substream, > struct page *snd_soc_pcm_component_page(struct snd_pcm_substream *substream, > unsigned long offset); > int snd_soc_pcm_component_mmap(struct snd_pcm_substream *substream, > - struct vm_area_struct *vma); > + struct mm_area *vma); > int snd_soc_pcm_component_new(struct snd_soc_pcm_runtime *rtd); > void snd_soc_pcm_component_free(struct snd_soc_pcm_runtime *rtd); > int snd_soc_pcm_component_prepare(struct snd_pcm_substream *substream); > diff --git a/include/trace/events/mmap.h b/include/trace/events/mmap.h > index f8d61485de16..516a46ff75a5 100644 > --- a/include/trace/events/mmap.h > +++ b/include/trace/events/mmap.h > @@ -69,13 +69,13 @@ TRACE_EVENT(vma_mas_szero, > ); > > TRACE_EVENT(vma_store, > - TP_PROTO(struct maple_tree *mt, struct vm_area_struct *vma), > + TP_PROTO(struct maple_tree *mt, struct mm_area *vma), > > TP_ARGS(mt, vma), > > TP_STRUCT__entry( > __field(struct maple_tree *, mt) > - __field(struct vm_area_struct *, vma) > + __field(struct mm_area *, vma) > __field(unsigned long, vm_start) > __field(unsigned long, vm_end) > ), > diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h > index 8994e97d86c1..79ee1636a6ec 100644 > --- a/include/trace/events/sched.h > +++ b/include/trace/events/sched.h > @@ -720,7 +720,7 @@ NUMAB_SKIP_REASON > > TRACE_EVENT(sched_skip_vma_numa, > > - TP_PROTO(struct mm_struct *mm, struct vm_area_struct *vma, > + TP_PROTO(struct mm_struct *mm, struct mm_area *vma, > enum numa_vmaskip_reason reason), > > TP_ARGS(mm, vma, reason), > diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h > index 28705ae67784..7894f9c2ae9b 100644 > --- a/include/uapi/linux/bpf.h > +++ b/include/uapi/linux/bpf.h > @@ -5368,7 +5368,7 @@ union bpf_attr { > * > * The expected callback signature is > * > - * long (\*callback_fn)(struct task_struct \*task, struct vm_area_struct \*vma, void \*callback_ctx); > + * long (\*callback_fn)(struct task_struct \*task, struct mm_area \*vma, void \*callback_ctx); > * > * Return > * 0 on success. > diff --git a/include/xen/xen-ops.h b/include/xen/xen-ops.h > index 47f11bec5e90..9c4c2e081be3 100644 > --- a/include/xen/xen-ops.h > +++ b/include/xen/xen-ops.h > @@ -44,11 +44,11 @@ int xen_setup_shutdown_event(void); > extern unsigned long *xen_contiguous_bitmap; > > #if defined(CONFIG_XEN_PV) > -int xen_remap_pfn(struct vm_area_struct *vma, unsigned long addr, > +int xen_remap_pfn(struct mm_area *vma, unsigned long addr, > xen_pfn_t *pfn, int nr, int *err_ptr, pgprot_t prot, > unsigned int domid, bool no_translate); > #else > -static inline int xen_remap_pfn(struct vm_area_struct *vma, unsigned long addr, > +static inline int xen_remap_pfn(struct mm_area *vma, unsigned long addr, > xen_pfn_t *pfn, int nr, int *err_ptr, > pgprot_t prot, unsigned int domid, > bool no_translate) > @@ -58,23 +58,23 @@ static inline int xen_remap_pfn(struct vm_area_struct *vma, unsigned long addr, > } > #endif > > -struct vm_area_struct; > +struct mm_area; > > #ifdef CONFIG_XEN_AUTO_XLATE > -int xen_xlate_remap_gfn_array(struct vm_area_struct *vma, > +int xen_xlate_remap_gfn_array(struct mm_area *vma, > unsigned long addr, > xen_pfn_t *gfn, int nr, > int *err_ptr, pgprot_t prot, > unsigned int domid, > struct page **pages); > -int xen_xlate_unmap_gfn_range(struct vm_area_struct *vma, > +int xen_xlate_unmap_gfn_range(struct mm_area *vma, > int nr, struct page **pages); > #else > /* > * These two functions are called from arch/x86/xen/mmu.c and so stubs > * are needed for a configuration not specifying CONFIG_XEN_AUTO_XLATE. > */ > -static inline int xen_xlate_remap_gfn_array(struct vm_area_struct *vma, > +static inline int xen_xlate_remap_gfn_array(struct mm_area *vma, > unsigned long addr, > xen_pfn_t *gfn, int nr, > int *err_ptr, pgprot_t prot, > @@ -84,14 +84,14 @@ static inline int xen_xlate_remap_gfn_array(struct vm_area_struct *vma, > return -EOPNOTSUPP; > } > > -static inline int xen_xlate_unmap_gfn_range(struct vm_area_struct *vma, > +static inline int xen_xlate_unmap_gfn_range(struct mm_area *vma, > int nr, struct page **pages) > { > return -EOPNOTSUPP; > } > #endif > > -int xen_remap_vma_range(struct vm_area_struct *vma, unsigned long addr, > +int xen_remap_vma_range(struct mm_area *vma, unsigned long addr, > unsigned long len); > > /* > @@ -111,7 +111,7 @@ int xen_remap_vma_range(struct vm_area_struct *vma, unsigned long addr, > * Returns the number of successfully mapped frames, or a -ve error > * code. > */ > -static inline int xen_remap_domain_gfn_array(struct vm_area_struct *vma, > +static inline int xen_remap_domain_gfn_array(struct mm_area *vma, > unsigned long addr, > xen_pfn_t *gfn, int nr, > int *err_ptr, pgprot_t prot, > @@ -147,7 +147,7 @@ static inline int xen_remap_domain_gfn_array(struct vm_area_struct *vma, > * Returns the number of successfully mapped frames, or a -ve error > * code. > */ > -static inline int xen_remap_domain_mfn_array(struct vm_area_struct *vma, > +static inline int xen_remap_domain_mfn_array(struct mm_area *vma, > unsigned long addr, xen_pfn_t *mfn, > int nr, int *err_ptr, > pgprot_t prot, unsigned int domid) > @@ -171,7 +171,7 @@ static inline int xen_remap_domain_mfn_array(struct vm_area_struct *vma, > * Returns the number of successfully mapped frames, or a -ve error > * code. > */ > -static inline int xen_remap_domain_gfn_range(struct vm_area_struct *vma, > +static inline int xen_remap_domain_gfn_range(struct mm_area *vma, > unsigned long addr, > xen_pfn_t gfn, int nr, > pgprot_t prot, unsigned int domid, > @@ -183,7 +183,7 @@ static inline int xen_remap_domain_gfn_range(struct vm_area_struct *vma, > return xen_remap_pfn(vma, addr, &gfn, nr, NULL, prot, domid, false); > } > > -int xen_unmap_domain_gfn_range(struct vm_area_struct *vma, > +int xen_unmap_domain_gfn_range(struct mm_area *vma, > int numpgs, struct page **pages); > > int xen_xlate_map_ballooned_pages(xen_pfn_t **pfns, void **vaddr, > diff --git a/io_uring/memmap.c b/io_uring/memmap.c > index 76fcc79656b0..d606163f0524 100644 > --- a/io_uring/memmap.c > +++ b/io_uring/memmap.c > @@ -306,7 +306,7 @@ static void *io_uring_validate_mmap_request(struct file *file, loff_t pgoff, > > static int io_region_mmap(struct io_ring_ctx *ctx, > struct io_mapped_region *mr, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned max_pages) > { > unsigned long nr_pages = min(mr->nr_pages, max_pages); > @@ -315,7 +315,7 @@ static int io_region_mmap(struct io_ring_ctx *ctx, > return vm_insert_pages(vma, vma->vm_start, mr->pages, &nr_pages); > } > > -__cold int io_uring_mmap(struct file *file, struct vm_area_struct *vma) > +__cold int io_uring_mmap(struct file *file, struct mm_area *vma) > { > struct io_ring_ctx *ctx = file->private_data; > size_t sz = vma->vm_end - vma->vm_start; > @@ -389,7 +389,7 @@ unsigned long io_uring_get_unmapped_area(struct file *filp, unsigned long addr, > > #else /* !CONFIG_MMU */ > > -int io_uring_mmap(struct file *file, struct vm_area_struct *vma) > +int io_uring_mmap(struct file *file, struct mm_area *vma) > { > return is_nommu_shared_mapping(vma->vm_flags) ? 0 : -EINVAL; > } > diff --git a/io_uring/memmap.h b/io_uring/memmap.h > index dad0aa5b1b45..67e0335cfe87 100644 > --- a/io_uring/memmap.h > +++ b/io_uring/memmap.h > @@ -12,7 +12,7 @@ unsigned int io_uring_nommu_mmap_capabilities(struct file *file); > unsigned long io_uring_get_unmapped_area(struct file *file, unsigned long addr, > unsigned long len, unsigned long pgoff, > unsigned long flags); > -int io_uring_mmap(struct file *file, struct vm_area_struct *vma); > +int io_uring_mmap(struct file *file, struct mm_area *vma); > > void io_free_region(struct io_ring_ctx *ctx, struct io_mapped_region *mr); > int io_create_region(struct io_ring_ctx *ctx, struct io_mapped_region *mr, > diff --git a/ipc/shm.c b/ipc/shm.c > index 99564c870084..b1f32d82e02b 100644 > --- a/ipc/shm.c > +++ b/ipc/shm.c > @@ -3,7 +3,7 @@ > * linux/ipc/shm.c > * Copyright (C) 1992, 1993 Krishna Balasubramanian > * Many improvements/fixes by Bruno Haible. > - * Replaced `struct shm_desc' by `struct vm_area_struct', July 1994. > + * Replaced `struct shm_desc' by `struct mm_area', July 1994. > * Fixed the shm swap deallocation (shm_unuse()), August 1998 Andrea Arcangeli. > * > * /proc/sysvipc/shm support (c) 1999 Dragos Acostachioaie > @@ -99,8 +99,8 @@ static const struct vm_operations_struct shm_vm_ops; > ipc_unlock(&(shp)->shm_perm) > > static int newseg(struct ipc_namespace *, struct ipc_params *); > -static void shm_open(struct vm_area_struct *vma); > -static void shm_close(struct vm_area_struct *vma); > +static void shm_open(struct mm_area *vma); > +static void shm_close(struct mm_area *vma); > static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp); > #ifdef CONFIG_PROC_FS > static int sysvipc_shm_proc_show(struct seq_file *s, void *it); > @@ -299,7 +299,7 @@ static int __shm_open(struct shm_file_data *sfd) > } > > /* This is called by fork, once for every shm attach. */ > -static void shm_open(struct vm_area_struct *vma) > +static void shm_open(struct mm_area *vma) > { > struct file *file = vma->vm_file; > struct shm_file_data *sfd = shm_file_data(file); > @@ -393,7 +393,7 @@ static void __shm_close(struct shm_file_data *sfd) > up_write(&shm_ids(ns).rwsem); > } > > -static void shm_close(struct vm_area_struct *vma) > +static void shm_close(struct mm_area *vma) > { > struct file *file = vma->vm_file; > struct shm_file_data *sfd = shm_file_data(file); > @@ -540,7 +540,7 @@ static vm_fault_t shm_fault(struct vm_fault *vmf) > return sfd->vm_ops->fault(vmf); > } > > -static int shm_may_split(struct vm_area_struct *vma, unsigned long addr) > +static int shm_may_split(struct mm_area *vma, unsigned long addr) > { > struct file *file = vma->vm_file; > struct shm_file_data *sfd = shm_file_data(file); > @@ -551,7 +551,7 @@ static int shm_may_split(struct vm_area_struct *vma, unsigned long addr) > return 0; > } > > -static unsigned long shm_pagesize(struct vm_area_struct *vma) > +static unsigned long shm_pagesize(struct mm_area *vma) > { > struct file *file = vma->vm_file; > struct shm_file_data *sfd = shm_file_data(file); > @@ -563,7 +563,7 @@ static unsigned long shm_pagesize(struct vm_area_struct *vma) > } > > #ifdef CONFIG_NUMA > -static int shm_set_policy(struct vm_area_struct *vma, struct mempolicy *mpol) > +static int shm_set_policy(struct mm_area *vma, struct mempolicy *mpol) > { > struct shm_file_data *sfd = shm_file_data(vma->vm_file); > int err = 0; > @@ -573,7 +573,7 @@ static int shm_set_policy(struct vm_area_struct *vma, struct mempolicy *mpol) > return err; > } > > -static struct mempolicy *shm_get_policy(struct vm_area_struct *vma, > +static struct mempolicy *shm_get_policy(struct mm_area *vma, > unsigned long addr, pgoff_t *ilx) > { > struct shm_file_data *sfd = shm_file_data(vma->vm_file); > @@ -585,7 +585,7 @@ static struct mempolicy *shm_get_policy(struct vm_area_struct *vma, > } > #endif > > -static int shm_mmap(struct file *file, struct vm_area_struct *vma) > +static int shm_mmap(struct file *file, struct mm_area *vma) > { > struct shm_file_data *sfd = shm_file_data(file); > int ret; > @@ -1723,7 +1723,7 @@ COMPAT_SYSCALL_DEFINE3(shmat, int, shmid, compat_uptr_t, shmaddr, int, shmflg) > long ksys_shmdt(char __user *shmaddr) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr = (unsigned long)shmaddr; > int retval = -EINVAL; > #ifdef CONFIG_MMU > diff --git a/kernel/acct.c b/kernel/acct.c > index 6520baa13669..8f1124fddaa9 100644 > --- a/kernel/acct.c > +++ b/kernel/acct.c > @@ -592,7 +592,7 @@ void acct_collect(long exitcode, int group_dead) > if (group_dead && current->mm) { > struct mm_struct *mm = current->mm; > VMA_ITERATOR(vmi, mm, 0); > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_read_lock(mm); > for_each_vma(vmi, vma) > diff --git a/kernel/bpf/arena.c b/kernel/bpf/arena.c > index 0d56cea71602..bfefa32adb89 100644 > --- a/kernel/bpf/arena.c > +++ b/kernel/bpf/arena.c > @@ -220,12 +220,12 @@ static u64 arena_map_mem_usage(const struct bpf_map *map) > } > > struct vma_list { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct list_head head; > refcount_t mmap_count; > }; > > -static int remember_vma(struct bpf_arena *arena, struct vm_area_struct *vma) > +static int remember_vma(struct bpf_arena *arena, struct mm_area *vma) > { > struct vma_list *vml; > > @@ -239,14 +239,14 @@ static int remember_vma(struct bpf_arena *arena, struct vm_area_struct *vma) > return 0; > } > > -static void arena_vm_open(struct vm_area_struct *vma) > +static void arena_vm_open(struct mm_area *vma) > { > struct vma_list *vml = vma->vm_private_data; > > refcount_inc(&vml->mmap_count); > } > > -static void arena_vm_close(struct vm_area_struct *vma) > +static void arena_vm_close(struct mm_area *vma) > { > struct bpf_map *map = vma->vm_file->private_data; > struct bpf_arena *arena = container_of(map, struct bpf_arena, map); > @@ -345,7 +345,7 @@ static unsigned long arena_get_unmapped_area(struct file *filp, unsigned long ad > return round_up(ret, SZ_4G); > } > > -static int arena_map_mmap(struct bpf_map *map, struct vm_area_struct *vma) > +static int arena_map_mmap(struct bpf_map *map, struct mm_area *vma) > { > struct bpf_arena *arena = container_of(map, struct bpf_arena, map); > > diff --git a/kernel/bpf/arraymap.c b/kernel/bpf/arraymap.c > index eb28c0f219ee..79dbdb433b55 100644 > --- a/kernel/bpf/arraymap.c > +++ b/kernel/bpf/arraymap.c > @@ -557,7 +557,7 @@ static int array_map_check_btf(const struct bpf_map *map, > return 0; > } > > -static int array_map_mmap(struct bpf_map *map, struct vm_area_struct *vma) > +static int array_map_mmap(struct bpf_map *map, struct mm_area *vma) > { > struct bpf_array *array = container_of(map, struct bpf_array, map); > pgoff_t pgoff = PAGE_ALIGN(sizeof(*array)) >> PAGE_SHIFT; > diff --git a/kernel/bpf/ringbuf.c b/kernel/bpf/ringbuf.c > index 1499d8caa9a3..c59325124422 100644 > --- a/kernel/bpf/ringbuf.c > +++ b/kernel/bpf/ringbuf.c > @@ -258,7 +258,7 @@ static int ringbuf_map_get_next_key(struct bpf_map *map, void *key, > return -ENOTSUPP; > } > > -static int ringbuf_map_mmap_kern(struct bpf_map *map, struct vm_area_struct *vma) > +static int ringbuf_map_mmap_kern(struct bpf_map *map, struct mm_area *vma) > { > struct bpf_ringbuf_map *rb_map; > > @@ -274,7 +274,7 @@ static int ringbuf_map_mmap_kern(struct bpf_map *map, struct vm_area_struct *vma > vma->vm_pgoff + RINGBUF_PGOFF); > } > > -static int ringbuf_map_mmap_user(struct bpf_map *map, struct vm_area_struct *vma) > +static int ringbuf_map_mmap_user(struct bpf_map *map, struct mm_area *vma) > { > struct bpf_ringbuf_map *rb_map; > > diff --git a/kernel/bpf/stackmap.c b/kernel/bpf/stackmap.c > index 3615c06b7dfa..9870b4a64f23 100644 > --- a/kernel/bpf/stackmap.c > +++ b/kernel/bpf/stackmap.c > @@ -124,7 +124,7 @@ static struct bpf_map *stack_map_alloc(union bpf_attr *attr) > return ERR_PTR(err); > } > > -static int fetch_build_id(struct vm_area_struct *vma, unsigned char *build_id, bool may_fault) > +static int fetch_build_id(struct mm_area *vma, unsigned char *build_id, bool may_fault) > { > return may_fault ? build_id_parse(vma, build_id, NULL) > : build_id_parse_nofault(vma, build_id, NULL); > @@ -146,7 +146,7 @@ static void stack_map_get_build_id_offset(struct bpf_stack_build_id *id_offs, > int i; > struct mmap_unlock_irq_work *work = NULL; > bool irq_work_busy = bpf_mmap_unlock_get_irq_work(&work); > - struct vm_area_struct *vma, *prev_vma = NULL; > + struct mm_area *vma, *prev_vma = NULL; > const char *prev_build_id; > > /* If the irq_work is in use, fall back to report ips. Same > diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c > index 9794446bc8c6..e4bd08eba388 100644 > --- a/kernel/bpf/syscall.c > +++ b/kernel/bpf/syscall.c > @@ -1030,7 +1030,7 @@ static ssize_t bpf_dummy_write(struct file *filp, const char __user *buf, > } > > /* called for any extra memory-mapped regions (except initial) */ > -static void bpf_map_mmap_open(struct vm_area_struct *vma) > +static void bpf_map_mmap_open(struct mm_area *vma) > { > struct bpf_map *map = vma->vm_file->private_data; > > @@ -1039,7 +1039,7 @@ static void bpf_map_mmap_open(struct vm_area_struct *vma) > } > > /* called for all unmapped memory region (including initial) */ > -static void bpf_map_mmap_close(struct vm_area_struct *vma) > +static void bpf_map_mmap_close(struct mm_area *vma) > { > struct bpf_map *map = vma->vm_file->private_data; > > @@ -1052,7 +1052,7 @@ static const struct vm_operations_struct bpf_map_default_vmops = { > .close = bpf_map_mmap_close, > }; > > -static int bpf_map_mmap(struct file *filp, struct vm_area_struct *vma) > +static int bpf_map_mmap(struct file *filp, struct mm_area *vma) > { > struct bpf_map *map = filp->private_data; > int err = 0; > diff --git a/kernel/bpf/task_iter.c b/kernel/bpf/task_iter.c > index 98d9b4c0daff..3f58b35ce94e 100644 > --- a/kernel/bpf/task_iter.c > +++ b/kernel/bpf/task_iter.c > @@ -410,7 +410,7 @@ struct bpf_iter_seq_task_vma_info { > struct bpf_iter_seq_task_common common; > struct task_struct *task; > struct mm_struct *mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > u32 tid; > unsigned long prev_vm_start; > unsigned long prev_vm_end; > @@ -422,11 +422,11 @@ enum bpf_task_vma_iter_find_op { > task_vma_iter_find_vma, /* use find_vma() to find next vma */ > }; > > -static struct vm_area_struct * > +static struct mm_area * > task_vma_seq_get_next(struct bpf_iter_seq_task_vma_info *info) > { > enum bpf_task_vma_iter_find_op op; > - struct vm_area_struct *curr_vma; > + struct mm_area *curr_vma; > struct task_struct *curr_task; > struct mm_struct *curr_mm; > u32 saved_tid = info->tid; > @@ -577,7 +577,7 @@ task_vma_seq_get_next(struct bpf_iter_seq_task_vma_info *info) > static void *task_vma_seq_start(struct seq_file *seq, loff_t *pos) > { > struct bpf_iter_seq_task_vma_info *info = seq->private; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > vma = task_vma_seq_get_next(info); > if (vma && *pos == 0) > @@ -597,11 +597,11 @@ static void *task_vma_seq_next(struct seq_file *seq, void *v, loff_t *pos) > struct bpf_iter__task_vma { > __bpf_md_ptr(struct bpf_iter_meta *, meta); > __bpf_md_ptr(struct task_struct *, task); > - __bpf_md_ptr(struct vm_area_struct *, vma); > + __bpf_md_ptr(struct mm_area *, vma); > }; > > DEFINE_BPF_ITER_FUNC(task_vma, struct bpf_iter_meta *meta, > - struct task_struct *task, struct vm_area_struct *vma) > + struct task_struct *task, struct mm_area *vma) > > static int __task_vma_seq_show(struct seq_file *seq, bool in_stop) > { > @@ -752,7 +752,7 @@ BPF_CALL_5(bpf_find_vma, struct task_struct *, task, u64, start, > bpf_callback_t, callback_fn, void *, callback_ctx, u64, flags) > { > struct mmap_unlock_irq_work *work = NULL; > - struct vm_area_struct *vma; > + struct mm_area *vma; > bool irq_work_busy = false; > struct mm_struct *mm; > int ret = -ENOENT; > @@ -859,7 +859,7 @@ __bpf_kfunc int bpf_iter_task_vma_new(struct bpf_iter_task_vma *it, > return err; > } > > -__bpf_kfunc struct vm_area_struct *bpf_iter_task_vma_next(struct bpf_iter_task_vma *it) > +__bpf_kfunc struct mm_area *bpf_iter_task_vma_next(struct bpf_iter_task_vma *it) > { > struct bpf_iter_task_vma_kern *kit = (void *)it; > > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c > index 54c6953a8b84..efbe5060d0e9 100644 > --- a/kernel/bpf/verifier.c > +++ b/kernel/bpf/verifier.c > @@ -10720,7 +10720,7 @@ static int set_find_vma_callback_state(struct bpf_verifier_env *env, > /* bpf_find_vma(struct task_struct *task, u64 addr, > * void *callback_fn, void *callback_ctx, u64 flags) > * (callback_fn)(struct task_struct *task, > - * struct vm_area_struct *vma, void *callback_ctx); > + * struct mm_area *vma, void *callback_ctx); > */ > callee->regs[BPF_REG_1] = caller->regs[BPF_REG_1]; > > diff --git a/kernel/dma/coherent.c b/kernel/dma/coherent.c > index 3b2bdca9f1d4..b92e5ddae43f 100644 > --- a/kernel/dma/coherent.c > +++ b/kernel/dma/coherent.c > @@ -232,7 +232,7 @@ int dma_release_from_dev_coherent(struct device *dev, int order, void *vaddr) > } > > static int __dma_mmap_from_coherent(struct dma_coherent_mem *mem, > - struct vm_area_struct *vma, void *vaddr, size_t size, int *ret) > + struct mm_area *vma, void *vaddr, size_t size, int *ret) > { > if (mem && vaddr >= mem->virt_base && vaddr + size <= > (mem->virt_base + ((dma_addr_t)mem->size << PAGE_SHIFT))) { > @@ -268,7 +268,7 @@ static int __dma_mmap_from_coherent(struct dma_coherent_mem *mem, > * should return @ret, or 0 if they should proceed with mapping memory from > * generic areas. > */ > -int dma_mmap_from_dev_coherent(struct device *dev, struct vm_area_struct *vma, > +int dma_mmap_from_dev_coherent(struct device *dev, struct mm_area *vma, > void *vaddr, size_t size, int *ret) > { > struct dma_coherent_mem *mem = dev_get_coherent_memory(dev); > @@ -298,7 +298,7 @@ int dma_release_from_global_coherent(int order, void *vaddr) > vaddr); > } > > -int dma_mmap_from_global_coherent(struct vm_area_struct *vma, void *vaddr, > +int dma_mmap_from_global_coherent(struct mm_area *vma, void *vaddr, > size_t size, int *ret) > { > if (!dma_coherent_default_memory) > diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c > index b8fe0b3d0ffb..0dba425ab6bf 100644 > --- a/kernel/dma/direct.c > +++ b/kernel/dma/direct.c > @@ -537,7 +537,7 @@ bool dma_direct_can_mmap(struct device *dev) > IS_ENABLED(CONFIG_DMA_NONCOHERENT_MMAP); > } > > -int dma_direct_mmap(struct device *dev, struct vm_area_struct *vma, > +int dma_direct_mmap(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs) > { > diff --git a/kernel/dma/direct.h b/kernel/dma/direct.h > index d2c0b7e632fc..4ce4be1cad72 100644 > --- a/kernel/dma/direct.h > +++ b/kernel/dma/direct.h > @@ -14,7 +14,7 @@ int dma_direct_get_sgtable(struct device *dev, struct sg_table *sgt, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs); > bool dma_direct_can_mmap(struct device *dev); > -int dma_direct_mmap(struct device *dev, struct vm_area_struct *vma, > +int dma_direct_mmap(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs); > bool dma_direct_need_sync(struct device *dev, dma_addr_t dma_addr); > diff --git a/kernel/dma/dummy.c b/kernel/dma/dummy.c > index 92de80e5b057..eb7c1752b54e 100644 > --- a/kernel/dma/dummy.c > +++ b/kernel/dma/dummy.c > @@ -4,7 +4,7 @@ > */ > #include > > -static int dma_dummy_mmap(struct device *dev, struct vm_area_struct *vma, > +static int dma_dummy_mmap(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs) > { > diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c > index cda127027e48..37cfbcb1544c 100644 > --- a/kernel/dma/mapping.c > +++ b/kernel/dma/mapping.c > @@ -536,7 +536,7 @@ EXPORT_SYMBOL_GPL(dma_can_mmap); > /** > * dma_mmap_attrs - map a coherent DMA allocation into user space > * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices > - * @vma: vm_area_struct describing requested user mapping > + * @vma: mm_area describing requested user mapping > * @cpu_addr: kernel CPU-view address returned from dma_alloc_attrs > * @dma_addr: device-view address returned from dma_alloc_attrs > * @size: size of memory originally requested in dma_alloc_attrs > @@ -546,7 +546,7 @@ EXPORT_SYMBOL_GPL(dma_can_mmap); > * space. The coherent DMA buffer must not be freed by the driver until the > * user space mapping has been released. > */ > -int dma_mmap_attrs(struct device *dev, struct vm_area_struct *vma, > +int dma_mmap_attrs(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs) > { > @@ -725,7 +725,7 @@ void dma_free_pages(struct device *dev, size_t size, struct page *page, > } > EXPORT_SYMBOL_GPL(dma_free_pages); > > -int dma_mmap_pages(struct device *dev, struct vm_area_struct *vma, > +int dma_mmap_pages(struct device *dev, struct mm_area *vma, > size_t size, struct page *page) > { > unsigned long count = PAGE_ALIGN(size) >> PAGE_SHIFT; > @@ -828,7 +828,7 @@ void dma_vunmap_noncontiguous(struct device *dev, void *vaddr) > } > EXPORT_SYMBOL_GPL(dma_vunmap_noncontiguous); > > -int dma_mmap_noncontiguous(struct device *dev, struct vm_area_struct *vma, > +int dma_mmap_noncontiguous(struct device *dev, struct mm_area *vma, > size_t size, struct sg_table *sgt) > { > if (use_dma_iommu(dev)) > diff --git a/kernel/dma/ops_helpers.c b/kernel/dma/ops_helpers.c > index 9afd569eadb9..9f7c560c3349 100644 > --- a/kernel/dma/ops_helpers.c > +++ b/kernel/dma/ops_helpers.c > @@ -32,7 +32,7 @@ int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt, > /* > * Create userspace mapping for the DMA-coherent memory. > */ > -int dma_common_mmap(struct device *dev, struct vm_area_struct *vma, > +int dma_common_mmap(struct device *dev, struct mm_area *vma, > void *cpu_addr, dma_addr_t dma_addr, size_t size, > unsigned long attrs) > { > diff --git a/kernel/events/core.c b/kernel/events/core.c > index 128db74e9eab..bf6c0c90f88c 100644 > --- a/kernel/events/core.c > +++ b/kernel/events/core.c > @@ -6638,7 +6638,7 @@ void ring_buffer_put(struct perf_buffer *rb) > call_rcu(&rb->rcu_head, rb_free_rcu); > } > > -static void perf_mmap_open(struct vm_area_struct *vma) > +static void perf_mmap_open(struct mm_area *vma) > { > struct perf_event *event = vma->vm_file->private_data; > > @@ -6662,7 +6662,7 @@ static void perf_pmu_output_stop(struct perf_event *event); > * the buffer here, where we still have a VM context. This means we need > * to detach all events redirecting to us. > */ > -static void perf_mmap_close(struct vm_area_struct *vma) > +static void perf_mmap_close(struct mm_area *vma) > { > struct perf_event *event = vma->vm_file->private_data; > struct perf_buffer *rb = ring_buffer_get(event); > @@ -6784,7 +6784,7 @@ static const struct vm_operations_struct perf_mmap_vmops = { > .pfn_mkwrite = perf_mmap_pfn_mkwrite, > }; > > -static int map_range(struct perf_buffer *rb, struct vm_area_struct *vma) > +static int map_range(struct perf_buffer *rb, struct mm_area *vma) > { > unsigned long nr_pages = vma_pages(vma); > int err = 0; > @@ -6853,7 +6853,7 @@ static int map_range(struct perf_buffer *rb, struct vm_area_struct *vma) > return err; > } > > -static int perf_mmap(struct file *file, struct vm_area_struct *vma) > +static int perf_mmap(struct file *file, struct mm_area *vma) > { > struct perf_event *event = file->private_data; > unsigned long user_locked, user_lock_limit; > @@ -9155,7 +9155,7 @@ static void perf_event_cgroup(struct cgroup *cgrp) > */ > > struct perf_mmap_event { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > const char *file_name; > int file_size; > @@ -9181,7 +9181,7 @@ static int perf_event_mmap_match(struct perf_event *event, > void *data) > { > struct perf_mmap_event *mmap_event = data; > - struct vm_area_struct *vma = mmap_event->vma; > + struct mm_area *vma = mmap_event->vma; > int executable = vma->vm_flags & VM_EXEC; > > return (!executable && event->attr.mmap_data) || > @@ -9257,7 +9257,7 @@ static void perf_event_mmap_output(struct perf_event *event, > > static void perf_event_mmap_event(struct perf_mmap_event *mmap_event) > { > - struct vm_area_struct *vma = mmap_event->vma; > + struct mm_area *vma = mmap_event->vma; > struct file *file = vma->vm_file; > int maj = 0, min = 0; > u64 ino = 0, gen = 0; > @@ -9387,7 +9387,7 @@ static bool perf_addr_filter_match(struct perf_addr_filter *filter, > } > > static bool perf_addr_filter_vma_adjust(struct perf_addr_filter *filter, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct perf_addr_filter_range *fr) > { > unsigned long vma_size = vma->vm_end - vma->vm_start; > @@ -9411,7 +9411,7 @@ static bool perf_addr_filter_vma_adjust(struct perf_addr_filter *filter, > static void __perf_addr_filters_adjust(struct perf_event *event, void *data) > { > struct perf_addr_filters_head *ifh = perf_event_addr_filters(event); > - struct vm_area_struct *vma = data; > + struct mm_area *vma = data; > struct perf_addr_filter *filter; > unsigned int restart = 0, count = 0; > unsigned long flags; > @@ -9442,7 +9442,7 @@ static void __perf_addr_filters_adjust(struct perf_event *event, void *data) > /* > * Adjust all task's events' filters to the new vma > */ > -static void perf_addr_filters_adjust(struct vm_area_struct *vma) > +static void perf_addr_filters_adjust(struct mm_area *vma) > { > struct perf_event_context *ctx; > > @@ -9460,7 +9460,7 @@ static void perf_addr_filters_adjust(struct vm_area_struct *vma) > rcu_read_unlock(); > } > > -void perf_event_mmap(struct vm_area_struct *vma) > +void perf_event_mmap(struct mm_area *vma) > { > struct perf_mmap_event mmap_event; > > @@ -11255,7 +11255,7 @@ static void perf_addr_filter_apply(struct perf_addr_filter *filter, > struct mm_struct *mm, > struct perf_addr_filter_range *fr) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, 0); > > for_each_vma(vmi, vma) { > diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c > index 615b4e6d22c7..0fb6581e88fd 100644 > --- a/kernel/events/uprobes.c > +++ b/kernel/events/uprobes.c > @@ -131,7 +131,7 @@ static void uprobe_warn(struct task_struct *t, const char *msg) > * - Return 1 if the specified virtual address is in an > * executable vma. > */ > -static bool valid_vma(struct vm_area_struct *vma, bool is_register) > +static bool valid_vma(struct mm_area *vma, bool is_register) > { > vm_flags_t flags = VM_HUGETLB | VM_MAYEXEC | VM_MAYSHARE; > > @@ -141,12 +141,12 @@ static bool valid_vma(struct vm_area_struct *vma, bool is_register) > return vma->vm_file && (vma->vm_flags & flags) == VM_MAYEXEC; > } > > -static unsigned long offset_to_vaddr(struct vm_area_struct *vma, loff_t offset) > +static unsigned long offset_to_vaddr(struct mm_area *vma, loff_t offset) > { > return vma->vm_start + offset - ((loff_t)vma->vm_pgoff << PAGE_SHIFT); > } > > -static loff_t vaddr_to_offset(struct vm_area_struct *vma, unsigned long vaddr) > +static loff_t vaddr_to_offset(struct mm_area *vma, unsigned long vaddr) > { > return ((loff_t)vma->vm_pgoff << PAGE_SHIFT) + (vaddr - vma->vm_start); > } > @@ -164,7 +164,7 @@ static loff_t vaddr_to_offset(struct vm_area_struct *vma, unsigned long vaddr) > * > * Returns 0 on success, negative error code otherwise. > */ > -static int __replace_page(struct vm_area_struct *vma, unsigned long addr, > +static int __replace_page(struct mm_area *vma, unsigned long addr, > struct page *old_page, struct page *new_page) > { > struct folio *old_folio = page_folio(old_page); > @@ -360,7 +360,7 @@ static void delayed_uprobe_remove(struct uprobe *uprobe, struct mm_struct *mm) > } > > static bool valid_ref_ctr_vma(struct uprobe *uprobe, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > unsigned long vaddr = offset_to_vaddr(vma, uprobe->ref_ctr_offset); > > @@ -372,11 +372,11 @@ static bool valid_ref_ctr_vma(struct uprobe *uprobe, > vma->vm_end > vaddr; > } > > -static struct vm_area_struct * > +static struct mm_area * > find_ref_ctr_vma(struct uprobe *uprobe, struct mm_struct *mm) > { > VMA_ITERATOR(vmi, mm, 0); > - struct vm_area_struct *tmp; > + struct mm_area *tmp; > > for_each_vma(vmi, tmp) > if (valid_ref_ctr_vma(uprobe, tmp)) > @@ -437,7 +437,7 @@ static void update_ref_ctr_warn(struct uprobe *uprobe, > static int update_ref_ctr(struct uprobe *uprobe, struct mm_struct *mm, > short d) > { > - struct vm_area_struct *rc_vma; > + struct mm_area *rc_vma; > unsigned long rc_vaddr; > int ret = 0; > > @@ -486,7 +486,7 @@ int uprobe_write_opcode(struct arch_uprobe *auprobe, struct mm_struct *mm, > { > struct uprobe *uprobe; > struct page *old_page, *new_page; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int ret, is_register, ref_ctr_updated = 0; > bool orig_page_huge = false; > unsigned int gup_flags = FOLL_FORCE; > @@ -1136,7 +1136,7 @@ static bool filter_chain(struct uprobe *uprobe, struct mm_struct *mm) > > static int > install_breakpoint(struct uprobe *uprobe, struct mm_struct *mm, > - struct vm_area_struct *vma, unsigned long vaddr) > + struct mm_area *vma, unsigned long vaddr) > { > bool first_uprobe; > int ret; > @@ -1186,7 +1186,7 @@ static struct map_info * > build_map_info(struct address_space *mapping, loff_t offset, bool is_register) > { > unsigned long pgoff = offset >> PAGE_SHIFT; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct map_info *curr = NULL; > struct map_info *prev = NULL; > struct map_info *info; > @@ -1269,7 +1269,7 @@ register_for_each_vma(struct uprobe *uprobe, struct uprobe_consumer *new) > > while (info) { > struct mm_struct *mm = info->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > if (err && is_register) > goto free; > @@ -1454,7 +1454,7 @@ int uprobe_apply(struct uprobe *uprobe, struct uprobe_consumer *uc, bool add) > static int unapply_uprobe(struct uprobe *uprobe, struct mm_struct *mm) > { > VMA_ITERATOR(vmi, mm, 0); > - struct vm_area_struct *vma; > + struct mm_area *vma; > int err = 0; > > mmap_read_lock(mm); > @@ -1508,7 +1508,7 @@ find_node_in_range(struct inode *inode, loff_t min, loff_t max) > * For a given range in vma, build a list of probes that need to be inserted. > */ > static void build_probe_list(struct inode *inode, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long start, unsigned long end, > struct list_head *head) > { > @@ -1544,7 +1544,7 @@ static void build_probe_list(struct inode *inode, > } > > /* @vma contains reference counter, not the probed instruction. */ > -static int delayed_ref_ctr_inc(struct vm_area_struct *vma) > +static int delayed_ref_ctr_inc(struct mm_area *vma) > { > struct list_head *pos, *q; > struct delayed_uprobe *du; > @@ -1578,7 +1578,7 @@ static int delayed_ref_ctr_inc(struct vm_area_struct *vma) > * Currently we ignore all errors and always return 0, the callers > * can't handle the failure anyway. > */ > -int uprobe_mmap(struct vm_area_struct *vma) > +int uprobe_mmap(struct mm_area *vma) > { > struct list_head tmp_list; > struct uprobe *uprobe, *u; > @@ -1620,7 +1620,7 @@ int uprobe_mmap(struct vm_area_struct *vma) > } > > static bool > -vma_has_uprobes(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +vma_has_uprobes(struct mm_area *vma, unsigned long start, unsigned long end) > { > loff_t min, max; > struct inode *inode; > @@ -1641,7 +1641,7 @@ vma_has_uprobes(struct vm_area_struct *vma, unsigned long start, unsigned long e > /* > * Called in context of a munmap of a vma. > */ > -void uprobe_munmap(struct vm_area_struct *vma, unsigned long start, unsigned long end) > +void uprobe_munmap(struct mm_area *vma, unsigned long start, unsigned long end) > { > if (no_uprobe_events() || !valid_vma(vma, false)) > return; > @@ -1658,7 +1658,7 @@ void uprobe_munmap(struct vm_area_struct *vma, unsigned long start, unsigned lon > } > > static vm_fault_t xol_fault(const struct vm_special_mapping *sm, > - struct vm_area_struct *vma, struct vm_fault *vmf) > + struct mm_area *vma, struct vm_fault *vmf) > { > struct xol_area *area = vma->vm_mm->uprobes_state.xol_area; > > @@ -1667,7 +1667,7 @@ static vm_fault_t xol_fault(const struct vm_special_mapping *sm, > return 0; > } > > -static int xol_mremap(const struct vm_special_mapping *sm, struct vm_area_struct *new_vma) > +static int xol_mremap(const struct vm_special_mapping *sm, struct mm_area *new_vma) > { > return -EPERM; > } > @@ -1681,7 +1681,7 @@ static const struct vm_special_mapping xol_mapping = { > /* Slot allocation for XOL */ > static int xol_add_vma(struct mm_struct *mm, struct xol_area *area) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > int ret; > > if (mmap_write_lock_killable(mm)) > @@ -2338,7 +2338,7 @@ bool uprobe_deny_signal(void) > static void mmf_recalc_uprobes(struct mm_struct *mm) > { > VMA_ITERATOR(vmi, mm, 0); > - struct vm_area_struct *vma; > + struct mm_area *vma; > > for_each_vma(vmi, vma) { > if (!valid_vma(vma, false)) > @@ -2387,7 +2387,7 @@ static struct uprobe *find_active_uprobe_speculative(unsigned long bp_vaddr) > { > struct mm_struct *mm = current->mm; > struct uprobe *uprobe = NULL; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct file *vm_file; > loff_t offset; > unsigned int seq; > @@ -2429,7 +2429,7 @@ static struct uprobe *find_active_uprobe_rcu(unsigned long bp_vaddr, int *is_swb > { > struct mm_struct *mm = current->mm; > struct uprobe *uprobe = NULL; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > uprobe = find_active_uprobe_speculative(bp_vaddr); > if (uprobe) > diff --git a/kernel/fork.c b/kernel/fork.c > index c4b26cd8998b..005774cb7b07 100644 > --- a/kernel/fork.c > +++ b/kernel/fork.c > @@ -428,15 +428,15 @@ struct kmem_cache *files_cachep; > /* SLAB cache for fs_struct structures (tsk->fs) */ > struct kmem_cache *fs_cachep; > > -/* SLAB cache for vm_area_struct structures */ > +/* SLAB cache for mm_area structures */ > static struct kmem_cache *vm_area_cachep; > > /* SLAB cache for mm_struct structures (tsk->mm) */ > static struct kmem_cache *mm_cachep; > > -struct vm_area_struct *vm_area_alloc(struct mm_struct *mm) > +struct mm_area *vm_area_alloc(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); > if (!vma) > @@ -447,8 +447,8 @@ struct vm_area_struct *vm_area_alloc(struct mm_struct *mm) > return vma; > } > > -static void vm_area_init_from(const struct vm_area_struct *src, > - struct vm_area_struct *dest) > +static void vm_area_init_from(const struct mm_area *src, > + struct mm_area *dest) > { > dest->vm_mm = src->vm_mm; > dest->vm_ops = src->vm_ops; > @@ -483,9 +483,9 @@ static void vm_area_init_from(const struct vm_area_struct *src, > #endif > } > > -struct vm_area_struct *vm_area_dup(struct vm_area_struct *orig) > +struct mm_area *vm_area_dup(struct mm_area *orig) > { > - struct vm_area_struct *new = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); > + struct mm_area *new = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); > > if (!new) > return NULL; > @@ -505,7 +505,7 @@ struct vm_area_struct *vm_area_dup(struct vm_area_struct *orig) > return new; > } > > -void vm_area_free(struct vm_area_struct *vma) > +void vm_area_free(struct mm_area *vma) > { > /* The vma should be detached while being destroyed. */ > vma_assert_detached(vma); > @@ -611,7 +611,7 @@ static void dup_mm_exe_file(struct mm_struct *mm, struct mm_struct *oldmm) > static __latent_entropy int dup_mmap(struct mm_struct *mm, > struct mm_struct *oldmm) > { > - struct vm_area_struct *mpnt, *tmp; > + struct mm_area *mpnt, *tmp; > int retval; > unsigned long charge = 0; > LIST_HEAD(uf); > @@ -1473,7 +1473,7 @@ int set_mm_exe_file(struct mm_struct *mm, struct file *new_exe_file) > */ > int replace_mm_exe_file(struct mm_struct *mm, struct file *new_exe_file) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct file *old_exe_file; > int ret = 0; > > @@ -3215,7 +3215,7 @@ void __init proc_caches_init(void) > { > struct kmem_cache_args args = { > .use_freeptr_offset = true, > - .freeptr_offset = offsetof(struct vm_area_struct, vm_freeptr), > + .freeptr_offset = offsetof(struct mm_area, vm_freeptr), > }; > > sighand_cachep = kmem_cache_create("sighand_cache", > @@ -3234,8 +3234,8 @@ void __init proc_caches_init(void) > sizeof(struct fs_struct), 0, > SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_ACCOUNT, > NULL); > - vm_area_cachep = kmem_cache_create("vm_area_struct", > - sizeof(struct vm_area_struct), &args, > + vm_area_cachep = kmem_cache_create("mm_area", > + sizeof(struct mm_area), &args, > SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_TYPESAFE_BY_RCU| > SLAB_ACCOUNT); > mmap_init(); > diff --git a/kernel/kcov.c b/kernel/kcov.c > index 187ba1b80bda..afd99afc9386 100644 > --- a/kernel/kcov.c > +++ b/kernel/kcov.c > @@ -484,7 +484,7 @@ void kcov_task_exit(struct task_struct *t) > kcov_put(kcov); > } > > -static int kcov_mmap(struct file *filep, struct vm_area_struct *vma) > +static int kcov_mmap(struct file *filep, struct mm_area *vma) > { > int res = 0; > struct kcov *kcov = vma->vm_file->private_data; > diff --git a/kernel/relay.c b/kernel/relay.c > index 5ac7e711e4b6..ca1dea370f80 100644 > --- a/kernel/relay.c > +++ b/kernel/relay.c > @@ -74,13 +74,13 @@ static void relay_free_page_array(struct page **array) > /** > * relay_mmap_buf: - mmap channel buffer to process address space > * @buf: relay channel buffer > - * @vma: vm_area_struct describing memory to be mapped > + * @vma: mm_area describing memory to be mapped > * > * Returns 0 if ok, negative on error > * > * Caller should already have grabbed mmap_lock. > */ > -static int relay_mmap_buf(struct rchan_buf *buf, struct vm_area_struct *vma) > +static int relay_mmap_buf(struct rchan_buf *buf, struct mm_area *vma) > { > unsigned long length = vma->vm_end - vma->vm_start; > > @@ -825,7 +825,7 @@ static int relay_file_open(struct inode *inode, struct file *filp) > * > * Calls upon relay_mmap_buf() to map the file into user space. > */ > -static int relay_file_mmap(struct file *filp, struct vm_area_struct *vma) > +static int relay_file_mmap(struct file *filp, struct mm_area *vma) > { > struct rchan_buf *buf = filp->private_data; > return relay_mmap_buf(buf, vma); > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index e43993a4e580..424c88801103 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -3258,7 +3258,7 @@ static void reset_ptenuma_scan(struct task_struct *p) > p->mm->numa_scan_offset = 0; > } > > -static bool vma_is_accessed(struct mm_struct *mm, struct vm_area_struct *vma) > +static bool vma_is_accessed(struct mm_struct *mm, struct mm_area *vma) > { > unsigned long pids; > /* > @@ -3307,7 +3307,7 @@ 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; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long start, end; > unsigned long nr_pte_updates = 0; > long pages, virtpages; > diff --git a/kernel/signal.c b/kernel/signal.c > index 614d78fe3451..39a1112b49e9 100644 > --- a/kernel/signal.c > +++ b/kernel/signal.c > @@ -4892,7 +4892,7 @@ SYSCALL_DEFINE3(sigsuspend, int, unused1, int, unused2, old_sigset_t, mask) > } > #endif > > -__weak const char *arch_vma_name(struct vm_area_struct *vma) > +__weak const char *arch_vma_name(struct mm_area *vma) > { > return NULL; > } > diff --git a/kernel/sys.c b/kernel/sys.c > index c434968e9f5d..bfcdd00e92bf 100644 > --- a/kernel/sys.c > +++ b/kernel/sys.c > @@ -2156,7 +2156,7 @@ static int prctl_set_mm(int opt, unsigned long addr, > .auxv_size = 0, > .exe_fd = -1, > }; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int error; > > if (arg5 || (arg4 && (opt != PR_SET_MM_AUXV && > diff --git a/kernel/time/namespace.c b/kernel/time/namespace.c > index e3642278df43..8b5a1d6c90ad 100644 > --- a/kernel/time/namespace.c > +++ b/kernel/time/namespace.c > @@ -192,7 +192,7 @@ static void timens_setup_vdso_clock_data(struct vdso_clock *vc, > offset[CLOCK_BOOTTIME_ALARM] = boottime; > } > > -struct page *find_timens_vvar_page(struct vm_area_struct *vma) > +struct page *find_timens_vvar_page(struct mm_area *vma) > { > if (likely(vma->vm_mm == current->mm)) > return current->nsproxy->time_ns->vvar_page; > diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c > index d8d7b28e2c2f..2178bd0d5590 100644 > --- a/kernel/trace/ring_buffer.c > +++ b/kernel/trace/ring_buffer.c > @@ -7028,7 +7028,7 @@ static int __rb_inc_dec_mapped(struct ring_buffer_per_cpu *cpu_buffer, > */ > #ifdef CONFIG_MMU > static int __rb_map_vma(struct ring_buffer_per_cpu *cpu_buffer, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > unsigned long nr_subbufs, nr_pages, nr_vma_pages, pgoff = vma->vm_pgoff; > unsigned int subbuf_pages, subbuf_order; > @@ -7125,14 +7125,14 @@ static int __rb_map_vma(struct ring_buffer_per_cpu *cpu_buffer, > } > #else > static int __rb_map_vma(struct ring_buffer_per_cpu *cpu_buffer, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return -EOPNOTSUPP; > } > #endif > > int ring_buffer_map(struct trace_buffer *buffer, int cpu, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct ring_buffer_per_cpu *cpu_buffer; > unsigned long flags, *subbuf_ids; > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c > index bc957a2507e2..58694c4b18b6 100644 > --- a/kernel/trace/trace.c > +++ b/kernel/trace/trace.c > @@ -8481,7 +8481,7 @@ static inline int get_snapshot_map(struct trace_array *tr) { return 0; } > static inline void put_snapshot_map(struct trace_array *tr) { } > #endif > > -static void tracing_buffers_mmap_close(struct vm_area_struct *vma) > +static void tracing_buffers_mmap_close(struct mm_area *vma) > { > struct ftrace_buffer_info *info = vma->vm_file->private_data; > struct trace_iterator *iter = &info->iter; > @@ -8494,7 +8494,7 @@ static const struct vm_operations_struct tracing_buffers_vmops = { > .close = tracing_buffers_mmap_close, > }; > > -static int tracing_buffers_mmap(struct file *filp, struct vm_area_struct *vma) > +static int tracing_buffers_mmap(struct file *filp, struct mm_area *vma) > { > struct ftrace_buffer_info *info = filp->private_data; > struct trace_iterator *iter = &info->iter; > diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c > index fee40ffbd490..f8172a64070a 100644 > --- a/kernel/trace/trace_output.c > +++ b/kernel/trace/trace_output.c > @@ -404,7 +404,7 @@ static int seq_print_user_ip(struct trace_seq *s, struct mm_struct *mm, > return 0; > > if (mm) { > - const struct vm_area_struct *vma; > + const struct mm_area *vma; > > mmap_read_lock(mm); > vma = find_vma(mm, ip); > diff --git a/lib/buildid.c b/lib/buildid.c > index c4b0f376fb34..5acf0f755dd2 100644 > --- a/lib/buildid.c > +++ b/lib/buildid.c > @@ -287,7 +287,7 @@ static int get_build_id_64(struct freader *r, unsigned char *build_id, __u32 *si > /* enough for Elf64_Ehdr, Elf64_Phdr, and all the smaller requests */ > #define MAX_FREADER_BUF_SZ 64 > > -static int __build_id_parse(struct vm_area_struct *vma, unsigned char *build_id, > +static int __build_id_parse(struct mm_area *vma, unsigned char *build_id, > __u32 *size, bool may_fault) > { > const Elf32_Ehdr *ehdr; > @@ -338,7 +338,7 @@ static int __build_id_parse(struct vm_area_struct *vma, unsigned char *build_id, > * > * Return: 0 on success; negative error, otherwise > */ > -int build_id_parse_nofault(struct vm_area_struct *vma, unsigned char *build_id, __u32 *size) > +int build_id_parse_nofault(struct mm_area *vma, unsigned char *build_id, __u32 *size) > { > return __build_id_parse(vma, build_id, size, false /* !may_fault */); > } > @@ -354,7 +354,7 @@ int build_id_parse_nofault(struct vm_area_struct *vma, unsigned char *build_id, > * > * Return: 0 on success; negative error, otherwise > */ > -int build_id_parse(struct vm_area_struct *vma, unsigned char *build_id, __u32 *size) > +int build_id_parse(struct mm_area *vma, unsigned char *build_id, __u32 *size) > { > return __build_id_parse(vma, build_id, size, true /* may_fault */); > } > diff --git a/lib/test_hmm.c b/lib/test_hmm.c > index 5b144bc5c4ec..d08270e1c826 100644 > --- a/lib/test_hmm.c > +++ b/lib/test_hmm.c > @@ -878,7 +878,7 @@ static int dmirror_migrate_to_system(struct dmirror *dmirror, > unsigned long start, end, addr; > unsigned long size = cmd->npages << PAGE_SHIFT; > struct mm_struct *mm = dmirror->notifier.mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long src_pfns[64] = { 0 }; > unsigned long dst_pfns[64] = { 0 }; > struct migrate_vma args = { 0 }; > @@ -938,7 +938,7 @@ static int dmirror_migrate_to_device(struct dmirror *dmirror, > unsigned long start, end, addr; > unsigned long size = cmd->npages << PAGE_SHIFT; > struct mm_struct *mm = dmirror->notifier.mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long src_pfns[64] = { 0 }; > unsigned long dst_pfns[64] = { 0 }; > struct dmirror_bounce bounce; > @@ -1342,7 +1342,7 @@ static long dmirror_fops_unlocked_ioctl(struct file *filp, > return 0; > } > > -static int dmirror_fops_mmap(struct file *file, struct vm_area_struct *vma) > +static int dmirror_fops_mmap(struct file *file, struct mm_area *vma) > { > unsigned long addr; > > diff --git a/lib/vdso/datastore.c b/lib/vdso/datastore.c > index 3693c6caf2c4..6079a11964e1 100644 > --- a/lib/vdso/datastore.c > +++ b/lib/vdso/datastore.c > @@ -38,7 +38,7 @@ struct vdso_arch_data *vdso_k_arch_data = &vdso_arch_data_store.data; > #endif /* CONFIG_ARCH_HAS_VDSO_ARCH_DATA */ > > static vm_fault_t vvar_fault(const struct vm_special_mapping *sm, > - struct vm_area_struct *vma, struct vm_fault *vmf) > + struct mm_area *vma, struct vm_fault *vmf) > { > struct page *timens_page = find_timens_vvar_page(vma); > unsigned long addr, pfn; > @@ -96,7 +96,7 @@ const struct vm_special_mapping vdso_vvar_mapping = { > .fault = vvar_fault, > }; > > -struct vm_area_struct *vdso_install_vvar_mapping(struct mm_struct *mm, unsigned long addr) > +struct mm_area *vdso_install_vvar_mapping(struct mm_struct *mm, unsigned long addr) > { > return _install_special_mapping(mm, addr, VDSO_NR_PAGES * PAGE_SIZE, > VM_READ | VM_MAYREAD | VM_IO | VM_DONTDUMP | > @@ -115,7 +115,7 @@ struct vm_area_struct *vdso_install_vvar_mapping(struct mm_struct *mm, unsigned > int vdso_join_timens(struct task_struct *task, struct time_namespace *ns) > { > struct mm_struct *mm = task->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, 0); > > mmap_read_lock(mm); > diff --git a/mm/damon/ops-common.c b/mm/damon/ops-common.c > index 0db1fc70c84d..db48cc64657f 100644 > --- a/mm/damon/ops-common.c > +++ b/mm/damon/ops-common.c > @@ -39,7 +39,7 @@ struct folio *damon_get_folio(unsigned long pfn) > return folio; > } > > -void damon_ptep_mkold(pte_t *pte, struct vm_area_struct *vma, unsigned long addr) > +void damon_ptep_mkold(pte_t *pte, struct mm_area *vma, unsigned long addr) > { > pte_t pteval = ptep_get(pte); > struct folio *folio; > @@ -70,7 +70,7 @@ void damon_ptep_mkold(pte_t *pte, struct vm_area_struct *vma, unsigned long addr > folio_put(folio); > } > > -void damon_pmdp_mkold(pmd_t *pmd, struct vm_area_struct *vma, unsigned long addr) > +void damon_pmdp_mkold(pmd_t *pmd, struct mm_area *vma, unsigned long addr) > { > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > struct folio *folio = damon_get_folio(pmd_pfn(pmdp_get(pmd))); > diff --git a/mm/damon/ops-common.h b/mm/damon/ops-common.h > index 18d837d11bce..81857e66d09b 100644 > --- a/mm/damon/ops-common.h > +++ b/mm/damon/ops-common.h > @@ -9,8 +9,8 @@ > > struct folio *damon_get_folio(unsigned long pfn); > > -void damon_ptep_mkold(pte_t *pte, struct vm_area_struct *vma, unsigned long addr); > -void damon_pmdp_mkold(pmd_t *pmd, struct vm_area_struct *vma, unsigned long addr); > +void damon_ptep_mkold(pte_t *pte, struct mm_area *vma, unsigned long addr); > +void damon_pmdp_mkold(pmd_t *pmd, struct mm_area *vma, unsigned long addr); > > int damon_cold_score(struct damon_ctx *c, struct damon_region *r, > struct damos *s); > diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c > index 1b70d3f36046..5154132467eb 100644 > --- a/mm/damon/paddr.c > +++ b/mm/damon/paddr.c > @@ -20,7 +20,7 @@ > #include "ops-common.h" > > static bool damon_folio_mkold_one(struct folio *folio, > - struct vm_area_struct *vma, unsigned long addr, void *arg) > + struct mm_area *vma, unsigned long addr, void *arg) > { > DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, addr, 0); > > @@ -88,7 +88,7 @@ static void damon_pa_prepare_access_checks(struct damon_ctx *ctx) > } > > static bool damon_folio_young_one(struct folio *folio, > - struct vm_area_struct *vma, unsigned long addr, void *arg) > + struct mm_area *vma, unsigned long addr, void *arg) > { > bool *accessed = arg; > DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, addr, 0); > diff --git a/mm/damon/tests/vaddr-kunit.h b/mm/damon/tests/vaddr-kunit.h > index 7cd944266a92..5d07633be7fb 100644 > --- a/mm/damon/tests/vaddr-kunit.h > +++ b/mm/damon/tests/vaddr-kunit.h > @@ -14,7 +14,7 @@ > > #include > > -static int __link_vmas(struct maple_tree *mt, struct vm_area_struct *vmas, > +static int __link_vmas(struct maple_tree *mt, struct mm_area *vmas, > ssize_t nr_vmas) > { > int i, ret = -ENOMEM; > @@ -68,13 +68,13 @@ static void damon_test_three_regions_in_vmas(struct kunit *test) > static struct mm_struct mm; > struct damon_addr_range regions[3] = {0}; > /* 10-20-25, 200-210-220, 300-305, 307-330 */ > - static struct vm_area_struct vmas[] = { > - (struct vm_area_struct) {.vm_start = 10, .vm_end = 20}, > - (struct vm_area_struct) {.vm_start = 20, .vm_end = 25}, > - (struct vm_area_struct) {.vm_start = 200, .vm_end = 210}, > - (struct vm_area_struct) {.vm_start = 210, .vm_end = 220}, > - (struct vm_area_struct) {.vm_start = 300, .vm_end = 305}, > - (struct vm_area_struct) {.vm_start = 307, .vm_end = 330}, > + static struct mm_area vmas[] = { > + (struct mm_area) {.vm_start = 10, .vm_end = 20}, > + (struct mm_area) {.vm_start = 20, .vm_end = 25}, > + (struct mm_area) {.vm_start = 200, .vm_end = 210}, > + (struct mm_area) {.vm_start = 210, .vm_end = 220}, > + (struct mm_area) {.vm_start = 300, .vm_end = 305}, > + (struct mm_area) {.vm_start = 307, .vm_end = 330}, > }; > > mt_init_flags(&mm.mm_mt, MT_FLAGS_ALLOC_RANGE | MT_FLAGS_USE_RCU); > diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c > index e6d99106a7f9..ddd28b187cbb 100644 > --- a/mm/damon/vaddr.c > +++ b/mm/damon/vaddr.c > @@ -121,7 +121,7 @@ static int __damon_va_three_regions(struct mm_struct *mm, > { > struct damon_addr_range first_gap = {0}, second_gap = {0}; > VMA_ITERATOR(vmi, mm, 0); > - struct vm_area_struct *vma, *prev = NULL; > + struct mm_area *vma, *prev = NULL; > unsigned long start; > > /* > @@ -341,7 +341,7 @@ static int damon_mkold_pmd_entry(pmd_t *pmd, unsigned long addr, > > #ifdef CONFIG_HUGETLB_PAGE > static void damon_hugetlb_mkold(pte_t *pte, struct mm_struct *mm, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > bool referenced = false; > pte_t entry = huge_ptep_get(mm, addr, pte); > diff --git a/mm/debug.c b/mm/debug.c > index db83e381a8ae..ea36f9732a2a 100644 > --- a/mm/debug.c > +++ b/mm/debug.c > @@ -184,7 +184,7 @@ EXPORT_SYMBOL(dump_page); > > #ifdef CONFIG_DEBUG_VM > > -void dump_vma(const struct vm_area_struct *vma) > +void dump_vma(const struct mm_area *vma) > { > pr_emerg("vma %px start %px end %px mm %px\n" > "prot %lx anon_vma %px vm_ops %px\n" > diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c > index bc748f700a9e..ba1ca4c6a44f 100644 > --- a/mm/debug_vm_pgtable.c > +++ b/mm/debug_vm_pgtable.c > @@ -45,7 +45,7 @@ > > struct pgtable_debug_args { > struct mm_struct *mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > pgd_t *pgdp; > p4d_t *p4dp; > diff --git a/mm/filemap.c b/mm/filemap.c > index b5e784f34d98..2a8150e9ac7b 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -3293,7 +3293,7 @@ static struct file *do_async_mmap_readahead(struct vm_fault *vmf, > > static vm_fault_t filemap_fault_recheck_pte_none(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > vm_fault_t ret = 0; > pte_t *ptep; > > @@ -3689,7 +3689,7 @@ static vm_fault_t filemap_map_order0_folio(struct vm_fault *vmf, > vm_fault_t filemap_map_pages(struct vm_fault *vmf, > pgoff_t start_pgoff, pgoff_t end_pgoff) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct file *file = vma->vm_file; > struct address_space *mapping = file->f_mapping; > pgoff_t file_end, last_pgoff = start_pgoff; > @@ -3793,7 +3793,7 @@ const struct vm_operations_struct generic_file_vm_ops = { > > /* This is used for a general mmap of a disk file */ > > -int generic_file_mmap(struct file *file, struct vm_area_struct *vma) > +int generic_file_mmap(struct file *file, struct mm_area *vma) > { > struct address_space *mapping = file->f_mapping; > > @@ -3807,7 +3807,7 @@ int generic_file_mmap(struct file *file, struct vm_area_struct *vma) > /* > * This is for filesystems which do not implement ->writepage. > */ > -int generic_file_readonly_mmap(struct file *file, struct vm_area_struct *vma) > +int generic_file_readonly_mmap(struct file *file, struct mm_area *vma) > { > if (vma_is_shared_maywrite(vma)) > return -EINVAL; > @@ -3818,11 +3818,11 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf) > { > return VM_FAULT_SIGBUS; > } > -int generic_file_mmap(struct file *file, struct vm_area_struct *vma) > +int generic_file_mmap(struct file *file, struct mm_area *vma) > { > return -ENOSYS; > } > -int generic_file_readonly_mmap(struct file *file, struct vm_area_struct *vma) > +int generic_file_readonly_mmap(struct file *file, struct mm_area *vma) > { > return -ENOSYS; > } > diff --git a/mm/gup.c b/mm/gup.c > index 92351e2fa876..88928bea023f 100644 > --- a/mm/gup.c > +++ b/mm/gup.c > @@ -595,7 +595,7 @@ static struct folio *try_grab_folio_fast(struct page *page, int refs, > > /* Common code for can_follow_write_* */ > static inline bool can_follow_write_common(struct page *page, > - struct vm_area_struct *vma, unsigned int flags) > + struct mm_area *vma, unsigned int flags) > { > /* Maybe FOLL_FORCE is set to override it? */ > if (!(flags & FOLL_FORCE)) > @@ -620,7 +620,7 @@ static inline bool can_follow_write_common(struct page *page, > return page && PageAnon(page) && PageAnonExclusive(page); > } > > -static struct page *no_page_table(struct vm_area_struct *vma, > +static struct page *no_page_table(struct mm_area *vma, > unsigned int flags, unsigned long address) > { > if (!(flags & FOLL_DUMP)) > @@ -648,7 +648,7 @@ static struct page *no_page_table(struct vm_area_struct *vma, > #ifdef CONFIG_PGTABLE_HAS_HUGE_LEAVES > /* FOLL_FORCE can write to even unwritable PUDs in COW mappings. */ > static inline bool can_follow_write_pud(pud_t pud, struct page *page, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned int flags) > { > /* If the pud is writable, we can write to the page. */ > @@ -658,7 +658,7 @@ static inline bool can_follow_write_pud(pud_t pud, struct page *page, > return can_follow_write_common(page, vma, flags); > } > > -static struct page *follow_huge_pud(struct vm_area_struct *vma, > +static struct page *follow_huge_pud(struct mm_area *vma, > unsigned long addr, pud_t *pudp, > int flags, struct follow_page_context *ctx) > { > @@ -716,7 +716,7 @@ static struct page *follow_huge_pud(struct vm_area_struct *vma, > > /* FOLL_FORCE can write to even unwritable PMDs in COW mappings. */ > static inline bool can_follow_write_pmd(pmd_t pmd, struct page *page, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned int flags) > { > /* If the pmd is writable, we can write to the page. */ > @@ -732,7 +732,7 @@ static inline bool can_follow_write_pmd(pmd_t pmd, struct page *page, > return !userfaultfd_huge_pmd_wp(vma, pmd); > } > > -static struct page *follow_huge_pmd(struct vm_area_struct *vma, > +static struct page *follow_huge_pmd(struct mm_area *vma, > unsigned long addr, pmd_t *pmd, > unsigned int flags, > struct follow_page_context *ctx) > @@ -778,14 +778,14 @@ static struct page *follow_huge_pmd(struct vm_area_struct *vma, > } > > #else /* CONFIG_PGTABLE_HAS_HUGE_LEAVES */ > -static struct page *follow_huge_pud(struct vm_area_struct *vma, > +static struct page *follow_huge_pud(struct mm_area *vma, > unsigned long addr, pud_t *pudp, > int flags, struct follow_page_context *ctx) > { > return NULL; > } > > -static struct page *follow_huge_pmd(struct vm_area_struct *vma, > +static struct page *follow_huge_pmd(struct mm_area *vma, > unsigned long addr, pmd_t *pmd, > unsigned int flags, > struct follow_page_context *ctx) > @@ -794,7 +794,7 @@ static struct page *follow_huge_pmd(struct vm_area_struct *vma, > } > #endif /* CONFIG_PGTABLE_HAS_HUGE_LEAVES */ > > -static int follow_pfn_pte(struct vm_area_struct *vma, unsigned long address, > +static int follow_pfn_pte(struct mm_area *vma, unsigned long address, > pte_t *pte, unsigned int flags) > { > if (flags & FOLL_TOUCH) { > @@ -817,7 +817,7 @@ static int follow_pfn_pte(struct vm_area_struct *vma, unsigned long address, > > /* FOLL_FORCE can write to even unwritable PTEs in COW mappings. */ > static inline bool can_follow_write_pte(pte_t pte, struct page *page, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned int flags) > { > /* If the pte is writable, we can write to the page. */ > @@ -833,7 +833,7 @@ static inline bool can_follow_write_pte(pte_t pte, struct page *page, > return !userfaultfd_pte_wp(vma, pte); > } > > -static struct page *follow_page_pte(struct vm_area_struct *vma, > +static struct page *follow_page_pte(struct mm_area *vma, > unsigned long address, pmd_t *pmd, unsigned int flags, > struct dev_pagemap **pgmap) > { > @@ -947,7 +947,7 @@ static struct page *follow_page_pte(struct vm_area_struct *vma, > return no_page_table(vma, flags, address); > } > > -static struct page *follow_pmd_mask(struct vm_area_struct *vma, > +static struct page *follow_pmd_mask(struct mm_area *vma, > unsigned long address, pud_t *pudp, > unsigned int flags, > struct follow_page_context *ctx) > @@ -999,7 +999,7 @@ static struct page *follow_pmd_mask(struct vm_area_struct *vma, > return page; > } > > -static struct page *follow_pud_mask(struct vm_area_struct *vma, > +static struct page *follow_pud_mask(struct mm_area *vma, > unsigned long address, p4d_t *p4dp, > unsigned int flags, > struct follow_page_context *ctx) > @@ -1027,7 +1027,7 @@ static struct page *follow_pud_mask(struct vm_area_struct *vma, > return follow_pmd_mask(vma, address, pudp, flags, ctx); > } > > -static struct page *follow_p4d_mask(struct vm_area_struct *vma, > +static struct page *follow_p4d_mask(struct mm_area *vma, > unsigned long address, pgd_t *pgdp, > unsigned int flags, > struct follow_page_context *ctx) > @@ -1046,7 +1046,7 @@ static struct page *follow_p4d_mask(struct vm_area_struct *vma, > > /** > * follow_page_mask - look up a page descriptor from a user-virtual address > - * @vma: vm_area_struct mapping @address > + * @vma: mm_area mapping @address > * @address: virtual address to look up > * @flags: flags modifying lookup behaviour > * @ctx: contains dev_pagemap for %ZONE_DEVICE memory pinning and a > @@ -1068,7 +1068,7 @@ static struct page *follow_p4d_mask(struct vm_area_struct *vma, > * an error pointer if there is a mapping to something not represented > * by a page descriptor (see also vm_normal_page()). > */ > -static struct page *follow_page_mask(struct vm_area_struct *vma, > +static struct page *follow_page_mask(struct mm_area *vma, > unsigned long address, unsigned int flags, > struct follow_page_context *ctx) > { > @@ -1092,7 +1092,7 @@ static struct page *follow_page_mask(struct vm_area_struct *vma, > } > > static int get_gate_page(struct mm_struct *mm, unsigned long address, > - unsigned int gup_flags, struct vm_area_struct **vma, > + unsigned int gup_flags, struct mm_area **vma, > struct page **page) > { > pgd_t *pgd; > @@ -1151,7 +1151,7 @@ static int get_gate_page(struct mm_struct *mm, unsigned long address, > * FOLL_NOWAIT, the mmap_lock may be released. If it is, *@locked will be set > * to 0 and -EBUSY returned. > */ > -static int faultin_page(struct vm_area_struct *vma, > +static int faultin_page(struct mm_area *vma, > unsigned long address, unsigned int flags, bool unshare, > int *locked) > { > @@ -1246,7 +1246,7 @@ static int faultin_page(struct vm_area_struct *vma, > * This results in both data being written to a folio without writenotify, and > * the folio being dirtied unexpectedly (if the caller decides to do so). > */ > -static bool writable_file_mapping_allowed(struct vm_area_struct *vma, > +static bool writable_file_mapping_allowed(struct mm_area *vma, > unsigned long gup_flags) > { > /* > @@ -1264,7 +1264,7 @@ static bool writable_file_mapping_allowed(struct vm_area_struct *vma, > return !vma_needs_dirty_tracking(vma); > } > > -static int check_vma_flags(struct vm_area_struct *vma, unsigned long gup_flags) > +static int check_vma_flags(struct mm_area *vma, unsigned long gup_flags) > { > vm_flags_t vm_flags = vma->vm_flags; > int write = (gup_flags & FOLL_WRITE); > @@ -1329,14 +1329,14 @@ static int check_vma_flags(struct vm_area_struct *vma, unsigned long gup_flags) > * This is "vma_lookup()", but with a warning if we would have > * historically expanded the stack in the GUP code. > */ > -static struct vm_area_struct *gup_vma_lookup(struct mm_struct *mm, > +static struct mm_area *gup_vma_lookup(struct mm_struct *mm, > unsigned long addr) > { > #ifdef CONFIG_STACK_GROWSUP > return vma_lookup(mm, addr); > #else > static volatile unsigned long next_warn; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long now, next; > > vma = find_vma(mm, addr); > @@ -1424,7 +1424,7 @@ static long __get_user_pages(struct mm_struct *mm, > int *locked) > { > long ret = 0, i = 0; > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > struct follow_page_context ctx = { NULL }; > > if (!nr_pages) > @@ -1574,7 +1574,7 @@ static long __get_user_pages(struct mm_struct *mm, > return i ? i : ret; > } > > -static bool vma_permits_fault(struct vm_area_struct *vma, > +static bool vma_permits_fault(struct mm_area *vma, > unsigned int fault_flags) > { > bool write = !!(fault_flags & FAULT_FLAG_WRITE); > @@ -1630,7 +1630,7 @@ int fixup_user_fault(struct mm_struct *mm, > unsigned long address, unsigned int fault_flags, > bool *unlocked) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > vm_fault_t ret; > > address = untagged_addr_remote(mm, address); > @@ -1879,7 +1879,7 @@ static __always_inline long __get_user_pages_locked(struct mm_struct *mm, > * If @locked is non-NULL, it must held for read only and may be > * released. If it's released, *@locked will be set to 0. > */ > -long populate_vma_page_range(struct vm_area_struct *vma, > +long populate_vma_page_range(struct mm_area *vma, > unsigned long start, unsigned long end, int *locked) > { > struct mm_struct *mm = vma->vm_mm; > @@ -1995,7 +1995,7 @@ int __mm_populate(unsigned long start, unsigned long len, int ignore_errors) > { > struct mm_struct *mm = current->mm; > unsigned long end, nstart, nend; > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > int locked = 0; > long ret = 0; > > @@ -2049,7 +2049,7 @@ static long __get_user_pages_locked(struct mm_struct *mm, unsigned long start, > unsigned long nr_pages, struct page **pages, > int *locked, unsigned int foll_flags) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > bool must_unlock = false; > unsigned long vm_flags; > long i; > diff --git a/mm/hmm.c b/mm/hmm.c > index 082f7b7c0b9e..b3fdbe6d2e2a 100644 > --- a/mm/hmm.c > +++ b/mm/hmm.c > @@ -64,7 +64,7 @@ static int hmm_vma_fault(unsigned long addr, unsigned long end, > unsigned int required_fault, struct mm_walk *walk) > { > struct hmm_vma_walk *hmm_vma_walk = walk->private; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > unsigned int fault_flags = FAULT_FLAG_REMOTE; > > WARN_ON_ONCE(!required_fault); > @@ -472,7 +472,7 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask, > unsigned long addr = start, i, pfn; > struct hmm_vma_walk *hmm_vma_walk = walk->private; > struct hmm_range *range = hmm_vma_walk->range; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > unsigned int required_fault; > unsigned long pfn_req_flags; > unsigned long cpu_flags; > @@ -522,7 +522,7 @@ static int hmm_vma_walk_test(unsigned long start, unsigned long end, > { > struct hmm_vma_walk *hmm_vma_walk = walk->private; > struct hmm_range *range = hmm_vma_walk->range; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > > if (!(vma->vm_flags & (VM_IO | VM_PFNMAP)) && > vma->vm_flags & VM_READ) > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index 2a47682d1ab7..30d01dbe55af 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -83,7 +83,7 @@ unsigned long huge_anon_orders_madvise __read_mostly; > unsigned long huge_anon_orders_inherit __read_mostly; > static bool anon_orders_configured __initdata; > > -static inline bool file_thp_enabled(struct vm_area_struct *vma) > +static inline bool file_thp_enabled(struct mm_area *vma) > { > struct inode *inode; > > @@ -98,7 +98,7 @@ static inline bool file_thp_enabled(struct vm_area_struct *vma) > return !inode_is_open_for_write(inode) && S_ISREG(inode->i_mode); > } > > -unsigned long __thp_vma_allowable_orders(struct vm_area_struct *vma, > +unsigned long __thp_vma_allowable_orders(struct mm_area *vma, > unsigned long vm_flags, > unsigned long tva_flags, > unsigned long orders) > @@ -1050,7 +1050,7 @@ static int __init setup_thp_anon(char *str) > } > __setup("thp_anon=", setup_thp_anon); > > -pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma) > +pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct mm_area *vma) > { > if (likely(vma->vm_flags & VM_WRITE)) > pmd = pmd_mkwrite(pmd, vma); > @@ -1155,7 +1155,7 @@ unsigned long thp_get_unmapped_area(struct file *filp, unsigned long addr, > } > EXPORT_SYMBOL_GPL(thp_get_unmapped_area); > > -static struct folio *vma_alloc_anon_folio_pmd(struct vm_area_struct *vma, > +static struct folio *vma_alloc_anon_folio_pmd(struct mm_area *vma, > unsigned long addr) > { > gfp_t gfp = vma_thp_gfp_mask(vma); > @@ -1199,7 +1199,7 @@ static struct folio *vma_alloc_anon_folio_pmd(struct vm_area_struct *vma, > } > > static void map_anon_folio_pmd(struct folio *folio, pmd_t *pmd, > - struct vm_area_struct *vma, unsigned long haddr) > + struct mm_area *vma, unsigned long haddr) > { > pmd_t entry; > > @@ -1218,7 +1218,7 @@ static void map_anon_folio_pmd(struct folio *folio, pmd_t *pmd, > static vm_fault_t __do_huge_pmd_anonymous_page(struct vm_fault *vmf) > { > unsigned long haddr = vmf->address & HPAGE_PMD_MASK; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *folio; > pgtable_t pgtable; > vm_fault_t ret = 0; > @@ -1277,7 +1277,7 @@ static vm_fault_t __do_huge_pmd_anonymous_page(struct vm_fault *vmf) > * available > * never: never stall for any thp allocation > */ > -gfp_t vma_thp_gfp_mask(struct vm_area_struct *vma) > +gfp_t vma_thp_gfp_mask(struct mm_area *vma) > { > const bool vma_madvised = vma && (vma->vm_flags & VM_HUGEPAGE); > > @@ -1305,7 +1305,7 @@ gfp_t vma_thp_gfp_mask(struct vm_area_struct *vma) > > /* Caller must hold page table lock. */ > static void set_huge_zero_folio(pgtable_t pgtable, struct mm_struct *mm, > - struct vm_area_struct *vma, unsigned long haddr, pmd_t *pmd, > + struct mm_area *vma, unsigned long haddr, pmd_t *pmd, > struct folio *zero_folio) > { > pmd_t entry; > @@ -1318,7 +1318,7 @@ static void set_huge_zero_folio(pgtable_t pgtable, struct mm_struct *mm, > > vm_fault_t do_huge_pmd_anonymous_page(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > unsigned long haddr = vmf->address & HPAGE_PMD_MASK; > vm_fault_t ret; > > @@ -1373,7 +1373,7 @@ vm_fault_t do_huge_pmd_anonymous_page(struct vm_fault *vmf) > return __do_huge_pmd_anonymous_page(vmf); > } > > -static int insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr, > +static int insert_pfn_pmd(struct mm_area *vma, unsigned long addr, > pmd_t *pmd, pfn_t pfn, pgprot_t prot, bool write, > pgtable_t pgtable) > { > @@ -1430,7 +1430,7 @@ static int insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr, > vm_fault_t vmf_insert_pfn_pmd(struct vm_fault *vmf, pfn_t pfn, bool write) > { > unsigned long addr = vmf->address & PMD_MASK; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > pgprot_t pgprot = vma->vm_page_prot; > pgtable_t pgtable = NULL; > spinlock_t *ptl; > @@ -1471,7 +1471,7 @@ EXPORT_SYMBOL_GPL(vmf_insert_pfn_pmd); > vm_fault_t vmf_insert_folio_pmd(struct vm_fault *vmf, struct folio *folio, > bool write) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > unsigned long addr = vmf->address & PMD_MASK; > struct mm_struct *mm = vma->vm_mm; > spinlock_t *ptl; > @@ -1508,14 +1508,14 @@ vm_fault_t vmf_insert_folio_pmd(struct vm_fault *vmf, struct folio *folio, > EXPORT_SYMBOL_GPL(vmf_insert_folio_pmd); > > #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD > -static pud_t maybe_pud_mkwrite(pud_t pud, struct vm_area_struct *vma) > +static pud_t maybe_pud_mkwrite(pud_t pud, struct mm_area *vma) > { > if (likely(vma->vm_flags & VM_WRITE)) > pud = pud_mkwrite(pud); > return pud; > } > > -static void insert_pfn_pud(struct vm_area_struct *vma, unsigned long addr, > +static void insert_pfn_pud(struct mm_area *vma, unsigned long addr, > pud_t *pud, pfn_t pfn, bool write) > { > struct mm_struct *mm = vma->vm_mm; > @@ -1560,7 +1560,7 @@ static void insert_pfn_pud(struct vm_area_struct *vma, unsigned long addr, > vm_fault_t vmf_insert_pfn_pud(struct vm_fault *vmf, pfn_t pfn, bool write) > { > unsigned long addr = vmf->address & PUD_MASK; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > pgprot_t pgprot = vma->vm_page_prot; > spinlock_t *ptl; > > @@ -1599,7 +1599,7 @@ EXPORT_SYMBOL_GPL(vmf_insert_pfn_pud); > vm_fault_t vmf_insert_folio_pud(struct vm_fault *vmf, struct folio *folio, > bool write) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > unsigned long addr = vmf->address & PUD_MASK; > pud_t *pud = vmf->pud; > struct mm_struct *mm = vma->vm_mm; > @@ -1633,7 +1633,7 @@ vm_fault_t vmf_insert_folio_pud(struct vm_fault *vmf, struct folio *folio, > EXPORT_SYMBOL_GPL(vmf_insert_folio_pud); > #endif /* CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD */ > > -void touch_pmd(struct vm_area_struct *vma, unsigned long addr, > +void touch_pmd(struct mm_area *vma, unsigned long addr, > pmd_t *pmd, bool write) > { > pmd_t _pmd; > @@ -1646,7 +1646,7 @@ void touch_pmd(struct vm_area_struct *vma, unsigned long addr, > update_mmu_cache_pmd(vma, addr, pmd); > } > > -struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr, > +struct page *follow_devmap_pmd(struct mm_area *vma, unsigned long addr, > pmd_t *pmd, int flags, struct dev_pagemap **pgmap) > { > unsigned long pfn = pmd_pfn(*pmd); > @@ -1688,7 +1688,7 @@ struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr, > > int copy_huge_pmd(struct mm_struct *dst_mm, struct mm_struct *src_mm, > pmd_t *dst_pmd, pmd_t *src_pmd, unsigned long addr, > - struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma) > + struct mm_area *dst_vma, struct mm_area *src_vma) > { > spinlock_t *dst_ptl, *src_ptl; > struct page *src_page; > @@ -1810,7 +1810,7 @@ int copy_huge_pmd(struct mm_struct *dst_mm, struct mm_struct *src_mm, > } > > #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD > -void touch_pud(struct vm_area_struct *vma, unsigned long addr, > +void touch_pud(struct mm_area *vma, unsigned long addr, > pud_t *pud, bool write) > { > pud_t _pud; > @@ -1825,7 +1825,7 @@ void touch_pud(struct vm_area_struct *vma, unsigned long addr, > > int copy_huge_pud(struct mm_struct *dst_mm, struct mm_struct *src_mm, > pud_t *dst_pud, pud_t *src_pud, unsigned long addr, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > spinlock_t *dst_ptl, *src_ptl; > pud_t pud; > @@ -1889,7 +1889,7 @@ void huge_pmd_set_accessed(struct vm_fault *vmf) > static vm_fault_t do_huge_zero_wp_pmd(struct vm_fault *vmf) > { > unsigned long haddr = vmf->address & HPAGE_PMD_MASK; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct mmu_notifier_range range; > struct folio *folio; > vm_fault_t ret = 0; > @@ -1921,7 +1921,7 @@ static vm_fault_t do_huge_zero_wp_pmd(struct vm_fault *vmf) > vm_fault_t do_huge_pmd_wp_page(struct vm_fault *vmf) > { > const bool unshare = vmf->flags & FAULT_FLAG_UNSHARE; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *folio; > struct page *page; > unsigned long haddr = vmf->address & HPAGE_PMD_MASK; > @@ -2012,7 +2012,7 @@ vm_fault_t do_huge_pmd_wp_page(struct vm_fault *vmf) > return VM_FAULT_FALLBACK; > } > > -static inline bool can_change_pmd_writable(struct vm_area_struct *vma, > +static inline bool can_change_pmd_writable(struct mm_area *vma, > unsigned long addr, pmd_t pmd) > { > struct page *page; > @@ -2045,7 +2045,7 @@ static inline bool can_change_pmd_writable(struct vm_area_struct *vma, > /* NUMA hinting page fault entry point for trans huge pmds */ > vm_fault_t do_huge_pmd_numa_page(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *folio; > unsigned long haddr = vmf->address & HPAGE_PMD_MASK; > int nid = NUMA_NO_NODE; > @@ -2123,7 +2123,7 @@ vm_fault_t do_huge_pmd_numa_page(struct vm_fault *vmf) > * Return true if we do MADV_FREE successfully on entire pmd page. > * Otherwise, return false. > */ > -bool madvise_free_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, > +bool madvise_free_huge_pmd(struct mmu_gather *tlb, struct mm_area *vma, > pmd_t *pmd, unsigned long addr, unsigned long next) > { > spinlock_t *ptl; > @@ -2202,7 +2202,7 @@ static inline void zap_deposited_table(struct mm_struct *mm, pmd_t *pmd) > mm_dec_nr_ptes(mm); > } > > -int zap_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, > +int zap_huge_pmd(struct mmu_gather *tlb, struct mm_area *vma, > pmd_t *pmd, unsigned long addr) > { > pmd_t orig_pmd; > @@ -2272,7 +2272,7 @@ int zap_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, > #ifndef pmd_move_must_withdraw > static inline int pmd_move_must_withdraw(spinlock_t *new_pmd_ptl, > spinlock_t *old_pmd_ptl, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > /* > * With split pmd lock we also need to move preallocated > @@ -2305,7 +2305,7 @@ static pmd_t clear_uffd_wp_pmd(pmd_t pmd) > return pmd; > } > > -bool move_huge_pmd(struct vm_area_struct *vma, unsigned long old_addr, > +bool move_huge_pmd(struct mm_area *vma, unsigned long old_addr, > unsigned long new_addr, pmd_t *old_pmd, pmd_t *new_pmd) > { > spinlock_t *old_ptl, *new_ptl; > @@ -2363,7 +2363,7 @@ bool move_huge_pmd(struct vm_area_struct *vma, unsigned long old_addr, > * or if prot_numa but THP migration is not supported > * - HPAGE_PMD_NR if protections changed and TLB flush necessary > */ > -int change_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, > +int change_huge_pmd(struct mmu_gather *tlb, struct mm_area *vma, > pmd_t *pmd, unsigned long addr, pgprot_t newprot, > unsigned long cp_flags) > { > @@ -2502,7 +2502,7 @@ int change_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, > * - HPAGE_PUD_NR: if pud was successfully processed > */ > #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD > -int change_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, > +int change_huge_pud(struct mmu_gather *tlb, struct mm_area *vma, > pud_t *pudp, unsigned long addr, pgprot_t newprot, > unsigned long cp_flags) > { > @@ -2550,7 +2550,7 @@ int change_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, > * repeated by the caller, or other errors in case of failure. > */ > int move_pages_huge_pmd(struct mm_struct *mm, pmd_t *dst_pmd, pmd_t *src_pmd, pmd_t dst_pmdval, > - struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > + struct mm_area *dst_vma, struct mm_area *src_vma, > unsigned long dst_addr, unsigned long src_addr) > { > pmd_t _dst_pmd, src_pmdval; > @@ -2687,7 +2687,7 @@ int move_pages_huge_pmd(struct mm_struct *mm, pmd_t *dst_pmd, pmd_t *src_pmd, pm > * Note that if it returns page table lock pointer, this routine returns without > * unlocking page table lock. So callers must unlock it. > */ > -spinlock_t *__pmd_trans_huge_lock(pmd_t *pmd, struct vm_area_struct *vma) > +spinlock_t *__pmd_trans_huge_lock(pmd_t *pmd, struct mm_area *vma) > { > spinlock_t *ptl; > ptl = pmd_lock(vma->vm_mm, pmd); > @@ -2704,7 +2704,7 @@ spinlock_t *__pmd_trans_huge_lock(pmd_t *pmd, struct vm_area_struct *vma) > * Note that if it returns page table lock pointer, this routine returns without > * unlocking page table lock. So callers must unlock it. > */ > -spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct vm_area_struct *vma) > +spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct mm_area *vma) > { > spinlock_t *ptl; > > @@ -2716,7 +2716,7 @@ spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct vm_area_struct *vma) > } > > #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD > -int zap_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, > +int zap_huge_pud(struct mmu_gather *tlb, struct mm_area *vma, > pud_t *pud, unsigned long addr) > { > spinlock_t *ptl; > @@ -2751,7 +2751,7 @@ int zap_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, > return 1; > } > > -static void __split_huge_pud_locked(struct vm_area_struct *vma, pud_t *pud, > +static void __split_huge_pud_locked(struct mm_area *vma, pud_t *pud, > unsigned long haddr) > { > struct folio *folio; > @@ -2783,7 +2783,7 @@ static void __split_huge_pud_locked(struct vm_area_struct *vma, pud_t *pud, > -HPAGE_PUD_NR); > } > > -void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud, > +void __split_huge_pud(struct mm_area *vma, pud_t *pud, > unsigned long address) > { > spinlock_t *ptl; > @@ -2803,13 +2803,13 @@ void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud, > mmu_notifier_invalidate_range_end(&range); > } > #else > -void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud, > +void __split_huge_pud(struct mm_area *vma, pud_t *pud, > unsigned long address) > { > } > #endif /* CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD */ > > -static void __split_huge_zero_page_pmd(struct vm_area_struct *vma, > +static void __split_huge_zero_page_pmd(struct mm_area *vma, > unsigned long haddr, pmd_t *pmd) > { > struct mm_struct *mm = vma->vm_mm; > @@ -2850,7 +2850,7 @@ static void __split_huge_zero_page_pmd(struct vm_area_struct *vma, > pmd_populate(mm, pmd, pgtable); > } > > -static void __split_huge_pmd_locked(struct vm_area_struct *vma, pmd_t *pmd, > +static void __split_huge_pmd_locked(struct mm_area *vma, pmd_t *pmd, > unsigned long haddr, bool freeze) > { > struct mm_struct *mm = vma->vm_mm; > @@ -3072,7 +3072,7 @@ static void __split_huge_pmd_locked(struct vm_area_struct *vma, pmd_t *pmd, > pmd_populate(mm, pmd, pgtable); > } > > -void split_huge_pmd_locked(struct vm_area_struct *vma, unsigned long address, > +void split_huge_pmd_locked(struct mm_area *vma, unsigned long address, > pmd_t *pmd, bool freeze, struct folio *folio) > { > VM_WARN_ON_ONCE(folio && !folio_test_pmd_mappable(folio)); > @@ -3093,7 +3093,7 @@ void split_huge_pmd_locked(struct vm_area_struct *vma, unsigned long address, > } > } > > -void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, > +void __split_huge_pmd(struct mm_area *vma, pmd_t *pmd, > unsigned long address, bool freeze, struct folio *folio) > { > spinlock_t *ptl; > @@ -3109,7 +3109,7 @@ void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, > mmu_notifier_invalidate_range_end(&range); > } > > -void split_huge_pmd_address(struct vm_area_struct *vma, unsigned long address, > +void split_huge_pmd_address(struct mm_area *vma, unsigned long address, > bool freeze, struct folio *folio) > { > pmd_t *pmd = mm_find_pmd(vma->vm_mm, address); > @@ -3120,7 +3120,7 @@ void split_huge_pmd_address(struct vm_area_struct *vma, unsigned long address, > __split_huge_pmd(vma, pmd, address, freeze, folio); > } > > -static inline void split_huge_pmd_if_needed(struct vm_area_struct *vma, unsigned long address) > +static inline void split_huge_pmd_if_needed(struct mm_area *vma, unsigned long address) > { > /* > * If the new address isn't hpage aligned and it could previously > @@ -3132,10 +3132,10 @@ static inline void split_huge_pmd_if_needed(struct vm_area_struct *vma, unsigned > split_huge_pmd_address(vma, address, false, NULL); > } > > -void vma_adjust_trans_huge(struct vm_area_struct *vma, > +void vma_adjust_trans_huge(struct mm_area *vma, > unsigned long start, > unsigned long end, > - struct vm_area_struct *next) > + struct mm_area *next) > { > /* Check if we need to split start first. */ > split_huge_pmd_if_needed(vma, start); > @@ -3171,7 +3171,7 @@ static void unmap_folio(struct folio *folio) > try_to_unmap_flush(); > } > > -static bool __discard_anon_folio_pmd_locked(struct vm_area_struct *vma, > +static bool __discard_anon_folio_pmd_locked(struct mm_area *vma, > unsigned long addr, pmd_t *pmdp, > struct folio *folio) > { > @@ -3234,7 +3234,7 @@ static bool __discard_anon_folio_pmd_locked(struct vm_area_struct *vma, > return true; > } > > -bool unmap_huge_pmd_locked(struct vm_area_struct *vma, unsigned long addr, > +bool unmap_huge_pmd_locked(struct mm_area *vma, unsigned long addr, > pmd_t *pmdp, struct folio *folio) > { > VM_WARN_ON_FOLIO(!folio_test_pmd_mappable(folio), folio); > @@ -4316,7 +4316,7 @@ static void split_huge_pages_all(void) > pr_debug("%lu of %lu THP split\n", split, total); > } > > -static inline bool vma_not_suitable_for_thp_split(struct vm_area_struct *vma) > +static inline bool vma_not_suitable_for_thp_split(struct mm_area *vma) > { > return vma_is_special_huge(vma) || (vma->vm_flags & VM_IO) || > is_vm_hugetlb_page(vma); > @@ -4359,7 +4359,7 @@ static int split_huge_pages_pid(int pid, unsigned long vaddr_start, > * table filled with PTE-mapped THPs, each of which is distinct. > */ > for (addr = vaddr_start; addr < vaddr_end; addr += PAGE_SIZE) { > - struct vm_area_struct *vma = vma_lookup(mm, addr); > + struct mm_area *vma = vma_lookup(mm, addr); > struct folio_walk fw; > struct folio *folio; > struct address_space *mapping; > @@ -4614,7 +4614,7 @@ int set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw, > struct page *page) > { > struct folio *folio = page_folio(page); > - struct vm_area_struct *vma = pvmw->vma; > + struct mm_area *vma = pvmw->vma; > struct mm_struct *mm = vma->vm_mm; > unsigned long address = pvmw->address; > bool anon_exclusive; > @@ -4663,7 +4663,7 @@ int set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw, > void remove_migration_pmd(struct page_vma_mapped_walk *pvmw, struct page *new) > { > struct folio *folio = page_folio(new); > - struct vm_area_struct *vma = pvmw->vma; > + struct mm_area *vma = pvmw->vma; > struct mm_struct *mm = vma->vm_mm; > unsigned long address = pvmw->address; > unsigned long haddr = address & HPAGE_PMD_MASK; > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 39f92aad7bd1..96a0b225c1e8 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -116,12 +116,12 @@ struct mutex *hugetlb_fault_mutex_table __ro_after_init; > > /* Forward declaration */ > static int hugetlb_acct_memory(struct hstate *h, long delta); > -static void hugetlb_vma_lock_free(struct vm_area_struct *vma); > -static void hugetlb_vma_lock_alloc(struct vm_area_struct *vma); > -static void __hugetlb_vma_unlock_write_free(struct vm_area_struct *vma); > -static void hugetlb_unshare_pmds(struct vm_area_struct *vma, > +static void hugetlb_vma_lock_free(struct mm_area *vma); > +static void hugetlb_vma_lock_alloc(struct mm_area *vma); > +static void __hugetlb_vma_unlock_write_free(struct mm_area *vma); > +static void hugetlb_unshare_pmds(struct mm_area *vma, > unsigned long start, unsigned long end); > -static struct resv_map *vma_resv_map(struct vm_area_struct *vma); > +static struct resv_map *vma_resv_map(struct mm_area *vma); > > static void hugetlb_free_folio(struct folio *folio) > { > @@ -288,7 +288,7 @@ static inline struct hugepage_subpool *subpool_inode(struct inode *inode) > return HUGETLBFS_SB(inode->i_sb)->spool; > } > > -static inline struct hugepage_subpool *subpool_vma(struct vm_area_struct *vma) > +static inline struct hugepage_subpool *subpool_vma(struct mm_area *vma) > { > return subpool_inode(file_inode(vma->vm_file)); > } > @@ -296,7 +296,7 @@ static inline struct hugepage_subpool *subpool_vma(struct vm_area_struct *vma) > /* > * hugetlb vma_lock helper routines > */ > -void hugetlb_vma_lock_read(struct vm_area_struct *vma) > +void hugetlb_vma_lock_read(struct mm_area *vma) > { > if (__vma_shareable_lock(vma)) { > struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; > @@ -309,7 +309,7 @@ void hugetlb_vma_lock_read(struct vm_area_struct *vma) > } > } > > -void hugetlb_vma_unlock_read(struct vm_area_struct *vma) > +void hugetlb_vma_unlock_read(struct mm_area *vma) > { > if (__vma_shareable_lock(vma)) { > struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; > @@ -322,7 +322,7 @@ void hugetlb_vma_unlock_read(struct vm_area_struct *vma) > } > } > > -void hugetlb_vma_lock_write(struct vm_area_struct *vma) > +void hugetlb_vma_lock_write(struct mm_area *vma) > { > if (__vma_shareable_lock(vma)) { > struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; > @@ -335,7 +335,7 @@ void hugetlb_vma_lock_write(struct vm_area_struct *vma) > } > } > > -void hugetlb_vma_unlock_write(struct vm_area_struct *vma) > +void hugetlb_vma_unlock_write(struct mm_area *vma) > { > if (__vma_shareable_lock(vma)) { > struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; > @@ -348,7 +348,7 @@ void hugetlb_vma_unlock_write(struct vm_area_struct *vma) > } > } > > -int hugetlb_vma_trylock_write(struct vm_area_struct *vma) > +int hugetlb_vma_trylock_write(struct mm_area *vma) > { > > if (__vma_shareable_lock(vma)) { > @@ -364,7 +364,7 @@ int hugetlb_vma_trylock_write(struct vm_area_struct *vma) > return 1; > } > > -void hugetlb_vma_assert_locked(struct vm_area_struct *vma) > +void hugetlb_vma_assert_locked(struct mm_area *vma) > { > if (__vma_shareable_lock(vma)) { > struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; > @@ -387,7 +387,7 @@ void hugetlb_vma_lock_release(struct kref *kref) > > static void __hugetlb_vma_unlock_write_put(struct hugetlb_vma_lock *vma_lock) > { > - struct vm_area_struct *vma = vma_lock->vma; > + struct mm_area *vma = vma_lock->vma; > > /* > * vma_lock structure may or not be released as a result of put, > @@ -400,7 +400,7 @@ static void __hugetlb_vma_unlock_write_put(struct hugetlb_vma_lock *vma_lock) > kref_put(&vma_lock->refs, hugetlb_vma_lock_release); > } > > -static void __hugetlb_vma_unlock_write_free(struct vm_area_struct *vma) > +static void __hugetlb_vma_unlock_write_free(struct mm_area *vma) > { > if (__vma_shareable_lock(vma)) { > struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; > @@ -414,7 +414,7 @@ static void __hugetlb_vma_unlock_write_free(struct vm_area_struct *vma) > } > } > > -static void hugetlb_vma_lock_free(struct vm_area_struct *vma) > +static void hugetlb_vma_lock_free(struct mm_area *vma) > { > /* > * Only present in sharable vmas. > @@ -430,7 +430,7 @@ static void hugetlb_vma_lock_free(struct vm_area_struct *vma) > } > } > > -static void hugetlb_vma_lock_alloc(struct vm_area_struct *vma) > +static void hugetlb_vma_lock_alloc(struct mm_area *vma) > { > struct hugetlb_vma_lock *vma_lock; > > @@ -1021,7 +1021,7 @@ static long region_count(struct resv_map *resv, long f, long t) > * the mapping, huge page units here. > */ > static pgoff_t vma_hugecache_offset(struct hstate *h, > - struct vm_area_struct *vma, unsigned long address) > + struct mm_area *vma, unsigned long address) > { > return ((address - vma->vm_start) >> huge_page_shift(h)) + > (vma->vm_pgoff >> huge_page_order(h)); > @@ -1036,7 +1036,7 @@ static pgoff_t vma_hugecache_offset(struct hstate *h, > * > * Return: The default size of the folios allocated when backing a VMA. > */ > -unsigned long vma_kernel_pagesize(struct vm_area_struct *vma) > +unsigned long vma_kernel_pagesize(struct mm_area *vma) > { > if (vma->vm_ops && vma->vm_ops->pagesize) > return vma->vm_ops->pagesize(vma); > @@ -1050,7 +1050,7 @@ EXPORT_SYMBOL_GPL(vma_kernel_pagesize); > * architectures where it differs, an architecture-specific 'strong' > * version of this symbol is required. > */ > -__weak unsigned long vma_mmu_pagesize(struct vm_area_struct *vma) > +__weak unsigned long vma_mmu_pagesize(struct mm_area *vma) > { > return vma_kernel_pagesize(vma); > } > @@ -1083,12 +1083,12 @@ __weak unsigned long vma_mmu_pagesize(struct vm_area_struct *vma) > * reference it, this region map represents those offsets which have consumed > * reservation ie. where pages have been instantiated. > */ > -static unsigned long get_vma_private_data(struct vm_area_struct *vma) > +static unsigned long get_vma_private_data(struct mm_area *vma) > { > return (unsigned long)vma->vm_private_data; > } > > -static void set_vma_private_data(struct vm_area_struct *vma, > +static void set_vma_private_data(struct mm_area *vma, > unsigned long value) > { > vma->vm_private_data = (void *)value; > @@ -1178,7 +1178,7 @@ static inline struct resv_map *inode_resv_map(struct inode *inode) > return (struct resv_map *)(&inode->i_data)->i_private_data; > } > > -static struct resv_map *vma_resv_map(struct vm_area_struct *vma) > +static struct resv_map *vma_resv_map(struct mm_area *vma) > { > VM_BUG_ON_VMA(!is_vm_hugetlb_page(vma), vma); > if (vma->vm_flags & VM_MAYSHARE) { > @@ -1193,7 +1193,7 @@ static struct resv_map *vma_resv_map(struct vm_area_struct *vma) > } > } > > -static void set_vma_resv_map(struct vm_area_struct *vma, struct resv_map *map) > +static void set_vma_resv_map(struct mm_area *vma, struct resv_map *map) > { > VM_BUG_ON_VMA(!is_vm_hugetlb_page(vma), vma); > VM_BUG_ON_VMA(vma->vm_flags & VM_MAYSHARE, vma); > @@ -1201,7 +1201,7 @@ static void set_vma_resv_map(struct vm_area_struct *vma, struct resv_map *map) > set_vma_private_data(vma, (unsigned long)map); > } > > -static void set_vma_resv_flags(struct vm_area_struct *vma, unsigned long flags) > +static void set_vma_resv_flags(struct mm_area *vma, unsigned long flags) > { > VM_BUG_ON_VMA(!is_vm_hugetlb_page(vma), vma); > VM_BUG_ON_VMA(vma->vm_flags & VM_MAYSHARE, vma); > @@ -1209,21 +1209,21 @@ static void set_vma_resv_flags(struct vm_area_struct *vma, unsigned long flags) > set_vma_private_data(vma, get_vma_private_data(vma) | flags); > } > > -static int is_vma_resv_set(struct vm_area_struct *vma, unsigned long flag) > +static int is_vma_resv_set(struct mm_area *vma, unsigned long flag) > { > VM_BUG_ON_VMA(!is_vm_hugetlb_page(vma), vma); > > return (get_vma_private_data(vma) & flag) != 0; > } > > -bool __vma_private_lock(struct vm_area_struct *vma) > +bool __vma_private_lock(struct mm_area *vma) > { > return !(vma->vm_flags & VM_MAYSHARE) && > get_vma_private_data(vma) & ~HPAGE_RESV_MASK && > is_vma_resv_set(vma, HPAGE_RESV_OWNER); > } > > -void hugetlb_dup_vma_private(struct vm_area_struct *vma) > +void hugetlb_dup_vma_private(struct mm_area *vma) > { > VM_BUG_ON_VMA(!is_vm_hugetlb_page(vma), vma); > /* > @@ -1254,7 +1254,7 @@ void hugetlb_dup_vma_private(struct vm_area_struct *vma) > * same sized vma. It should never come here with last ref on the > * reservation. > */ > -void clear_vma_resv_huge_pages(struct vm_area_struct *vma) > +void clear_vma_resv_huge_pages(struct mm_area *vma) > { > /* > * Clear the old hugetlb private page reservation. > @@ -1365,7 +1365,7 @@ static unsigned long available_huge_pages(struct hstate *h) > } > > static struct folio *dequeue_hugetlb_folio_vma(struct hstate *h, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long address, long gbl_chg) > { > struct folio *folio = NULL; > @@ -2324,7 +2324,7 @@ static struct folio *alloc_migrate_hugetlb_folio(struct hstate *h, gfp_t gfp_mas > */ > static > struct folio *alloc_buddy_hugetlb_folio_with_mpol(struct hstate *h, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > struct folio *folio = NULL; > struct mempolicy *mpol; > @@ -2606,7 +2606,7 @@ enum vma_resv_mode { > VMA_DEL_RESV, > }; > static long __vma_reservation_common(struct hstate *h, > - struct vm_area_struct *vma, unsigned long addr, > + struct mm_area *vma, unsigned long addr, > enum vma_resv_mode mode) > { > struct resv_map *resv; > @@ -2686,31 +2686,31 @@ static long __vma_reservation_common(struct hstate *h, > } > > static long vma_needs_reservation(struct hstate *h, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > return __vma_reservation_common(h, vma, addr, VMA_NEEDS_RESV); > } > > static long vma_commit_reservation(struct hstate *h, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > return __vma_reservation_common(h, vma, addr, VMA_COMMIT_RESV); > } > > static void vma_end_reservation(struct hstate *h, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > (void)__vma_reservation_common(h, vma, addr, VMA_END_RESV); > } > > static long vma_add_reservation(struct hstate *h, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > return __vma_reservation_common(h, vma, addr, VMA_ADD_RESV); > } > > static long vma_del_reservation(struct hstate *h, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > return __vma_reservation_common(h, vma, addr, VMA_DEL_RESV); > } > @@ -2735,7 +2735,7 @@ static long vma_del_reservation(struct hstate *h, > * > * In case 2, simply undo reserve map modifications done by alloc_hugetlb_folio. > */ > -void restore_reserve_on_error(struct hstate *h, struct vm_area_struct *vma, > +void restore_reserve_on_error(struct hstate *h, struct mm_area *vma, > unsigned long address, struct folio *folio) > { > long rc = vma_needs_reservation(h, vma, address); > @@ -3004,7 +3004,7 @@ typedef enum { > * allocation). New call sites should (probably) never set it to true!! > * When it's set, the allocation will bypass all vma level reservations. > */ > -struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, > +struct folio *alloc_hugetlb_folio(struct mm_area *vma, > unsigned long addr, bool cow_from_owner) > { > struct hugepage_subpool *spool = subpool_vma(vma); > @@ -5314,7 +5314,7 @@ static int hugetlb_acct_memory(struct hstate *h, long delta) > return ret; > } > > -static void hugetlb_vm_op_open(struct vm_area_struct *vma) > +static void hugetlb_vm_op_open(struct mm_area *vma) > { > struct resv_map *resv = vma_resv_map(vma); > > @@ -5352,7 +5352,7 @@ static void hugetlb_vm_op_open(struct vm_area_struct *vma) > } > } > > -static void hugetlb_vm_op_close(struct vm_area_struct *vma) > +static void hugetlb_vm_op_close(struct mm_area *vma) > { > struct hstate *h = hstate_vma(vma); > struct resv_map *resv; > @@ -5383,7 +5383,7 @@ static void hugetlb_vm_op_close(struct vm_area_struct *vma) > kref_put(&resv->refs, resv_map_release); > } > > -static int hugetlb_vm_op_split(struct vm_area_struct *vma, unsigned long addr) > +static int hugetlb_vm_op_split(struct mm_area *vma, unsigned long addr) > { > if (addr & ~(huge_page_mask(hstate_vma(vma)))) > return -EINVAL; > @@ -5409,7 +5409,7 @@ static int hugetlb_vm_op_split(struct vm_area_struct *vma, unsigned long addr) > return 0; > } > > -static unsigned long hugetlb_vm_op_pagesize(struct vm_area_struct *vma) > +static unsigned long hugetlb_vm_op_pagesize(struct mm_area *vma) > { > return huge_page_size(hstate_vma(vma)); > } > @@ -5441,7 +5441,7 @@ const struct vm_operations_struct hugetlb_vm_ops = { > .pagesize = hugetlb_vm_op_pagesize, > }; > > -static pte_t make_huge_pte(struct vm_area_struct *vma, struct page *page, > +static pte_t make_huge_pte(struct mm_area *vma, struct page *page, > bool try_mkwrite) > { > pte_t entry; > @@ -5460,7 +5460,7 @@ static pte_t make_huge_pte(struct vm_area_struct *vma, struct page *page, > return entry; > } > > -static void set_huge_ptep_writable(struct vm_area_struct *vma, > +static void set_huge_ptep_writable(struct mm_area *vma, > unsigned long address, pte_t *ptep) > { > pte_t entry; > @@ -5470,7 +5470,7 @@ static void set_huge_ptep_writable(struct vm_area_struct *vma, > update_mmu_cache(vma, address, ptep); > } > > -static void set_huge_ptep_maybe_writable(struct vm_area_struct *vma, > +static void set_huge_ptep_maybe_writable(struct mm_area *vma, > unsigned long address, pte_t *ptep) > { > if (vma->vm_flags & VM_WRITE) > @@ -5504,7 +5504,7 @@ bool is_hugetlb_entry_hwpoisoned(pte_t pte) > } > > static void > -hugetlb_install_folio(struct vm_area_struct *vma, pte_t *ptep, unsigned long addr, > +hugetlb_install_folio(struct mm_area *vma, pte_t *ptep, unsigned long addr, > struct folio *new_folio, pte_t old, unsigned long sz) > { > pte_t newpte = make_huge_pte(vma, &new_folio->page, true); > @@ -5519,8 +5519,8 @@ hugetlb_install_folio(struct vm_area_struct *vma, pte_t *ptep, unsigned long add > } > > int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src, > - struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma) > + struct mm_area *dst_vma, > + struct mm_area *src_vma) > { > pte_t *src_pte, *dst_pte, entry; > struct folio *pte_folio; > @@ -5706,7 +5706,7 @@ int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src, > return ret; > } > > -static void move_huge_pte(struct vm_area_struct *vma, unsigned long old_addr, > +static void move_huge_pte(struct mm_area *vma, unsigned long old_addr, > unsigned long new_addr, pte_t *src_pte, pte_t *dst_pte, > unsigned long sz) > { > @@ -5745,8 +5745,8 @@ static void move_huge_pte(struct vm_area_struct *vma, unsigned long old_addr, > spin_unlock(dst_ptl); > } > > -int move_hugetlb_page_tables(struct vm_area_struct *vma, > - struct vm_area_struct *new_vma, > +int move_hugetlb_page_tables(struct mm_area *vma, > + struct mm_area *new_vma, > unsigned long old_addr, unsigned long new_addr, > unsigned long len) > { > @@ -5809,7 +5809,7 @@ int move_hugetlb_page_tables(struct vm_area_struct *vma, > return len + old_addr - old_end; > } > > -void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, > +void __unmap_hugepage_range(struct mmu_gather *tlb, struct mm_area *vma, > unsigned long start, unsigned long end, > struct page *ref_page, zap_flags_t zap_flags) > { > @@ -5977,7 +5977,7 @@ void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, > tlb_flush_mmu_tlbonly(tlb); > } > > -void __hugetlb_zap_begin(struct vm_area_struct *vma, > +void __hugetlb_zap_begin(struct mm_area *vma, > unsigned long *start, unsigned long *end) > { > if (!vma->vm_file) /* hugetlbfs_file_mmap error */ > @@ -5989,7 +5989,7 @@ void __hugetlb_zap_begin(struct vm_area_struct *vma, > i_mmap_lock_write(vma->vm_file->f_mapping); > } > > -void __hugetlb_zap_end(struct vm_area_struct *vma, > +void __hugetlb_zap_end(struct mm_area *vma, > struct zap_details *details) > { > zap_flags_t zap_flags = details ? details->zap_flags : 0; > @@ -6016,7 +6016,7 @@ void __hugetlb_zap_end(struct vm_area_struct *vma, > i_mmap_unlock_write(vma->vm_file->f_mapping); > } > > -void unmap_hugepage_range(struct vm_area_struct *vma, unsigned long start, > +void unmap_hugepage_range(struct mm_area *vma, unsigned long start, > unsigned long end, struct page *ref_page, > zap_flags_t zap_flags) > { > @@ -6041,11 +6041,11 @@ void unmap_hugepage_range(struct vm_area_struct *vma, unsigned long start, > * from other VMAs and let the children be SIGKILLed if they are faulting the > * same region. > */ > -static void unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma, > +static void unmap_ref_private(struct mm_struct *mm, struct mm_area *vma, > struct page *page, unsigned long address) > { > struct hstate *h = hstate_vma(vma); > - struct vm_area_struct *iter_vma; > + struct mm_area *iter_vma; > struct address_space *mapping; > pgoff_t pgoff; > > @@ -6100,7 +6100,7 @@ static void unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma, > static vm_fault_t hugetlb_wp(struct folio *pagecache_folio, > struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct mm_struct *mm = vma->vm_mm; > const bool unshare = vmf->flags & FAULT_FLAG_UNSHARE; > pte_t pte = huge_ptep_get(mm, vmf->address, vmf->pte); > @@ -6294,7 +6294,7 @@ static vm_fault_t hugetlb_wp(struct folio *pagecache_folio, > * Return whether there is a pagecache page to back given address within VMA. > */ > bool hugetlbfs_pagecache_present(struct hstate *h, > - struct vm_area_struct *vma, unsigned long address) > + struct mm_area *vma, unsigned long address) > { > struct address_space *mapping = vma->vm_file->f_mapping; > pgoff_t idx = linear_page_index(vma, address); > @@ -6373,7 +6373,7 @@ static bool hugetlb_pte_stable(struct hstate *h, struct mm_struct *mm, unsigned > static vm_fault_t hugetlb_no_page(struct address_space *mapping, > struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct mm_struct *mm = vma->vm_mm; > struct hstate *h = hstate_vma(vma); > vm_fault_t ret = VM_FAULT_SIGBUS; > @@ -6611,7 +6611,7 @@ u32 hugetlb_fault_mutex_hash(struct address_space *mapping, pgoff_t idx) > } > #endif > > -vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, > +vm_fault_t hugetlb_fault(struct mm_struct *mm, struct mm_area *vma, > unsigned long address, unsigned int flags) > { > vm_fault_t ret; > @@ -6824,7 +6824,7 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, > * Can probably be eliminated, but still used by hugetlb_mfill_atomic_pte(). > */ > static struct folio *alloc_hugetlb_folio_vma(struct hstate *h, > - struct vm_area_struct *vma, unsigned long address) > + struct mm_area *vma, unsigned long address) > { > struct mempolicy *mpol; > nodemask_t *nodemask; > @@ -6851,7 +6851,7 @@ static struct folio *alloc_hugetlb_folio_vma(struct hstate *h, > * with modifications for hugetlb pages. > */ > int hugetlb_mfill_atomic_pte(pte_t *dst_pte, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, > unsigned long src_addr, > uffd_flags_t flags, > @@ -7063,7 +7063,7 @@ int hugetlb_mfill_atomic_pte(pte_t *dst_pte, > } > #endif /* CONFIG_USERFAULTFD */ > > -long hugetlb_change_protection(struct vm_area_struct *vma, > +long hugetlb_change_protection(struct mm_area *vma, > unsigned long address, unsigned long end, > pgprot_t newprot, unsigned long cp_flags) > { > @@ -7213,7 +7213,7 @@ long hugetlb_change_protection(struct vm_area_struct *vma, > /* Return true if reservation was successful, false otherwise. */ > bool hugetlb_reserve_pages(struct inode *inode, > long from, long to, > - struct vm_area_struct *vma, > + struct mm_area *vma, > vm_flags_t vm_flags) > { > long chg = -1, add = -1; > @@ -7413,8 +7413,8 @@ long hugetlb_unreserve_pages(struct inode *inode, long start, long end, > } > > #ifdef CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING > -static unsigned long page_table_shareable(struct vm_area_struct *svma, > - struct vm_area_struct *vma, > +static unsigned long page_table_shareable(struct mm_area *svma, > + struct mm_area *vma, > unsigned long addr, pgoff_t idx) > { > unsigned long saddr = ((idx - svma->vm_pgoff) << PAGE_SHIFT) + > @@ -7441,7 +7441,7 @@ static unsigned long page_table_shareable(struct vm_area_struct *svma, > return saddr; > } > > -bool want_pmd_share(struct vm_area_struct *vma, unsigned long addr) > +bool want_pmd_share(struct mm_area *vma, unsigned long addr) > { > unsigned long start = addr & PUD_MASK; > unsigned long end = start + PUD_SIZE; > @@ -7467,7 +7467,7 @@ bool want_pmd_share(struct vm_area_struct *vma, unsigned long addr) > * If yes, adjust start and end to cover range associated with possible > * shared pmd mappings. > */ > -void adjust_range_if_pmd_sharing_possible(struct vm_area_struct *vma, > +void adjust_range_if_pmd_sharing_possible(struct mm_area *vma, > unsigned long *start, unsigned long *end) > { > unsigned long v_start = ALIGN(vma->vm_start, PUD_SIZE), > @@ -7498,13 +7498,13 @@ void adjust_range_if_pmd_sharing_possible(struct vm_area_struct *vma, > * racing tasks could either miss the sharing (see huge_pte_offset) or select a > * bad pmd for sharing. > */ > -pte_t *huge_pmd_share(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pmd_share(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, pud_t *pud) > { > struct address_space *mapping = vma->vm_file->f_mapping; > pgoff_t idx = ((addr - vma->vm_start) >> PAGE_SHIFT) + > vma->vm_pgoff; > - struct vm_area_struct *svma; > + struct mm_area *svma; > unsigned long saddr; > pte_t *spte = NULL; > pte_t *pte; > @@ -7551,7 +7551,7 @@ pte_t *huge_pmd_share(struct mm_struct *mm, struct vm_area_struct *vma, > * returns: 1 successfully unmapped a shared pte page > * 0 the underlying pte page is not shared, or it is the last user > */ > -int huge_pmd_unshare(struct mm_struct *mm, struct vm_area_struct *vma, > +int huge_pmd_unshare(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > unsigned long sz = huge_page_size(hstate_vma(vma)); > @@ -7574,31 +7574,31 @@ int huge_pmd_unshare(struct mm_struct *mm, struct vm_area_struct *vma, > > #else /* !CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING */ > > -pte_t *huge_pmd_share(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pmd_share(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, pud_t *pud) > { > return NULL; > } > > -int huge_pmd_unshare(struct mm_struct *mm, struct vm_area_struct *vma, > +int huge_pmd_unshare(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, pte_t *ptep) > { > return 0; > } > > -void adjust_range_if_pmd_sharing_possible(struct vm_area_struct *vma, > +void adjust_range_if_pmd_sharing_possible(struct mm_area *vma, > unsigned long *start, unsigned long *end) > { > } > > -bool want_pmd_share(struct vm_area_struct *vma, unsigned long addr) > +bool want_pmd_share(struct mm_area *vma, unsigned long addr) > { > return false; > } > #endif /* CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING */ > > #ifdef CONFIG_ARCH_WANT_GENERAL_HUGETLB > -pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, > +pte_t *huge_pte_alloc(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, unsigned long sz) > { > pgd_t *pgd; > @@ -7837,7 +7837,7 @@ void move_hugetlb_state(struct folio *old_folio, struct folio *new_folio, int re > spin_unlock_irq(&hugetlb_lock); > } > > -static void hugetlb_unshare_pmds(struct vm_area_struct *vma, > +static void hugetlb_unshare_pmds(struct mm_area *vma, > unsigned long start, > unsigned long end) > { > @@ -7887,7 +7887,7 @@ static void hugetlb_unshare_pmds(struct vm_area_struct *vma, > * This function will unconditionally remove all the shared pmd pgtable entries > * within the specific vma for a hugetlbfs memory range. > */ > -void hugetlb_unshare_all_pmds(struct vm_area_struct *vma) > +void hugetlb_unshare_all_pmds(struct mm_area *vma) > { > hugetlb_unshare_pmds(vma, ALIGN(vma->vm_start, PUD_SIZE), > ALIGN_DOWN(vma->vm_end, PUD_SIZE)); > diff --git a/mm/internal.h b/mm/internal.h > index 50c2f590b2d0..b2d2c52dfbd9 100644 > --- a/mm/internal.h > +++ b/mm/internal.h > @@ -44,8 +44,8 @@ struct folio_batch; > * represents the length of the range being copied as specified by the user. > */ > struct pagetable_move_control { > - struct vm_area_struct *old; /* Source VMA. */ > - struct vm_area_struct *new; /* Destination VMA. */ > + struct mm_area *old; /* Source VMA. */ > + struct mm_area *new; /* Destination VMA. */ > unsigned long old_addr; /* Address from which the move begins. */ > unsigned long old_end; /* Exclusive address at which old range ends. */ > unsigned long new_addr; /* Address to move page tables to. */ > @@ -162,7 +162,7 @@ static inline void *folio_raw_mapping(const struct folio *folio) > * > * Returns: 0 if success, error otherwise. > */ > -static inline int mmap_file(struct file *file, struct vm_area_struct *vma) > +static inline int mmap_file(struct file *file, struct mm_area *vma) > { > int err = call_mmap(file, vma); > > @@ -184,7 +184,7 @@ static inline int mmap_file(struct file *file, struct vm_area_struct *vma) > * it in an inconsistent state which makes the use of any hooks suspect, clear > * them down by installing dummy empty hooks. > */ > -static inline void vma_close(struct vm_area_struct *vma) > +static inline void vma_close(struct mm_area *vma) > { > if (vma->vm_ops && vma->vm_ops->close) { > vma->vm_ops->close(vma); > @@ -426,13 +426,13 @@ void deactivate_file_folio(struct folio *folio); > void folio_activate(struct folio *folio); > > void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, > - struct vm_area_struct *start_vma, unsigned long floor, > + struct mm_area *start_vma, unsigned long floor, > unsigned long ceiling, bool mm_wr_locked); > void pmd_install(struct mm_struct *mm, pmd_t *pmd, pgtable_t *pte); > > struct zap_details; > void unmap_page_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, unsigned long end, > struct zap_details *details); > int folio_unmap_invalidate(struct address_space *mapping, struct folio *folio, > @@ -927,7 +927,7 @@ struct anon_vma *folio_anon_vma(const struct folio *folio); > > #ifdef CONFIG_MMU > void unmap_mapping_folio(struct folio *folio); > -extern long populate_vma_page_range(struct vm_area_struct *vma, > +extern long populate_vma_page_range(struct mm_area *vma, > unsigned long start, unsigned long end, int *locked); > extern long faultin_page_range(struct mm_struct *mm, unsigned long start, > unsigned long end, bool write, int *locked); > @@ -950,7 +950,7 @@ extern bool mlock_future_ok(struct mm_struct *mm, unsigned long flags, > * the page table to know whether the folio is fully mapped to the range. > */ > static inline bool > -folio_within_range(struct folio *folio, struct vm_area_struct *vma, > +folio_within_range(struct folio *folio, struct mm_area *vma, > unsigned long start, unsigned long end) > { > pgoff_t pgoff, addr; > @@ -978,7 +978,7 @@ folio_within_range(struct folio *folio, struct vm_area_struct *vma, > } > > static inline bool > -folio_within_vma(struct folio *folio, struct vm_area_struct *vma) > +folio_within_vma(struct folio *folio, struct mm_area *vma) > { > return folio_within_range(folio, vma, vma->vm_start, vma->vm_end); > } > @@ -994,7 +994,7 @@ folio_within_vma(struct folio *folio, struct vm_area_struct *vma) > */ > void mlock_folio(struct folio *folio); > static inline void mlock_vma_folio(struct folio *folio, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > /* > * The VM_SPECIAL check here serves two purposes. > @@ -1010,7 +1010,7 @@ static inline void mlock_vma_folio(struct folio *folio, > > void munlock_folio(struct folio *folio); > static inline void munlock_vma_folio(struct folio *folio, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > /* > * munlock if the function is called. Ideally, we should only > @@ -1030,7 +1030,7 @@ bool need_mlock_drain(int cpu); > void mlock_drain_local(void); > void mlock_drain_remote(int cpu); > > -extern pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma); > +extern pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct mm_area *vma); > > /** > * vma_address - Find the virtual address a page range is mapped at > @@ -1041,7 +1041,7 @@ extern pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma); > * If any page in this range is mapped by this VMA, return the first address > * where any of these pages appear. Otherwise, return -EFAULT. > */ > -static inline unsigned long vma_address(const struct vm_area_struct *vma, > +static inline unsigned long vma_address(const struct mm_area *vma, > pgoff_t pgoff, unsigned long nr_pages) > { > unsigned long address; > @@ -1067,7 +1067,7 @@ static inline unsigned long vma_address(const struct vm_area_struct *vma, > */ > static inline unsigned long vma_address_end(struct page_vma_mapped_walk *pvmw) > { > - struct vm_area_struct *vma = pvmw->vma; > + struct mm_area *vma = pvmw->vma; > pgoff_t pgoff; > unsigned long address; > > @@ -1210,10 +1210,10 @@ bool take_page_off_buddy(struct page *page); > bool put_page_back_buddy(struct page *page); > struct task_struct *task_early_kill(struct task_struct *tsk, int force_early); > void add_to_kill_ksm(struct task_struct *tsk, const struct page *p, > - struct vm_area_struct *vma, struct list_head *to_kill, > + struct mm_area *vma, struct list_head *to_kill, > unsigned long ksm_addr); > unsigned long page_mapped_in_vma(const struct page *page, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > #else > static inline int unmap_poisoned_folio(struct folio *folio, unsigned long pfn, bool must_kill) > @@ -1373,9 +1373,9 @@ int __must_check try_grab_folio(struct folio *folio, int refs, > /* > * mm/huge_memory.c > */ > -void touch_pud(struct vm_area_struct *vma, unsigned long addr, > +void touch_pud(struct mm_area *vma, unsigned long addr, > pud_t *pud, bool write); > -void touch_pmd(struct vm_area_struct *vma, unsigned long addr, > +void touch_pmd(struct mm_area *vma, unsigned long addr, > pmd_t *pmd, bool write); > > /* > @@ -1441,7 +1441,7 @@ enum { > * If the vma is NULL, we're coming from the GUP-fast path and might have > * to fallback to the slow path just to lookup the vma. > */ > -static inline bool gup_must_unshare(struct vm_area_struct *vma, > +static inline bool gup_must_unshare(struct mm_area *vma, > unsigned int flags, struct page *page) > { > /* > @@ -1490,7 +1490,7 @@ extern bool mirrored_kernelcore; > bool memblock_has_mirror(void); > void memblock_free_all(void); > > -static __always_inline void vma_set_range(struct vm_area_struct *vma, > +static __always_inline void vma_set_range(struct mm_area *vma, > unsigned long start, unsigned long end, > pgoff_t pgoff) > { > @@ -1499,7 +1499,7 @@ static __always_inline void vma_set_range(struct vm_area_struct *vma, > vma->vm_pgoff = pgoff; > } > > -static inline bool vma_soft_dirty_enabled(struct vm_area_struct *vma) > +static inline bool vma_soft_dirty_enabled(struct mm_area *vma) > { > /* > * NOTE: we must check this before VM_SOFTDIRTY on soft-dirty > @@ -1517,12 +1517,12 @@ static inline bool vma_soft_dirty_enabled(struct vm_area_struct *vma) > return !(vma->vm_flags & VM_SOFTDIRTY); > } > > -static inline bool pmd_needs_soft_dirty_wp(struct vm_area_struct *vma, pmd_t pmd) > +static inline bool pmd_needs_soft_dirty_wp(struct mm_area *vma, pmd_t pmd) > { > return vma_soft_dirty_enabled(vma) && !pmd_soft_dirty(pmd); > } > > -static inline bool pte_needs_soft_dirty_wp(struct vm_area_struct *vma, pte_t pte) > +static inline bool pte_needs_soft_dirty_wp(struct mm_area *vma, pte_t pte) > { > return vma_soft_dirty_enabled(vma) && !pte_soft_dirty(pte); > } > diff --git a/mm/interval_tree.c b/mm/interval_tree.c > index 32e390c42c53..864e9d3c733a 100644 > --- a/mm/interval_tree.c > +++ b/mm/interval_tree.c > @@ -10,27 +10,27 @@ > #include > #include > > -static inline unsigned long vma_start_pgoff(struct vm_area_struct *v) > +static inline unsigned long vma_start_pgoff(struct mm_area *v) > { > return v->vm_pgoff; > } > > -static inline unsigned long vma_last_pgoff(struct vm_area_struct *v) > +static inline unsigned long vma_last_pgoff(struct mm_area *v) > { > return v->vm_pgoff + vma_pages(v) - 1; > } > > -INTERVAL_TREE_DEFINE(struct vm_area_struct, shared.rb, > +INTERVAL_TREE_DEFINE(struct mm_area, shared.rb, > unsigned long, shared.rb_subtree_last, > vma_start_pgoff, vma_last_pgoff, /* empty */, vma_interval_tree) > > /* Insert node immediately after prev in the interval tree */ > -void vma_interval_tree_insert_after(struct vm_area_struct *node, > - struct vm_area_struct *prev, > +void vma_interval_tree_insert_after(struct mm_area *node, > + struct mm_area *prev, > struct rb_root_cached *root) > { > struct rb_node **link; > - struct vm_area_struct *parent; > + struct mm_area *parent; > unsigned long last = vma_last_pgoff(node); > > VM_BUG_ON_VMA(vma_start_pgoff(node) != vma_start_pgoff(prev), node); > @@ -40,12 +40,12 @@ void vma_interval_tree_insert_after(struct vm_area_struct *node, > link = &prev->shared.rb.rb_right; > } else { > parent = rb_entry(prev->shared.rb.rb_right, > - struct vm_area_struct, shared.rb); > + struct mm_area, shared.rb); > if (parent->shared.rb_subtree_last < last) > parent->shared.rb_subtree_last = last; > while (parent->shared.rb.rb_left) { > parent = rb_entry(parent->shared.rb.rb_left, > - struct vm_area_struct, shared.rb); > + struct mm_area, shared.rb); > if (parent->shared.rb_subtree_last < last) > parent->shared.rb_subtree_last = last; > } > diff --git a/mm/io-mapping.c b/mm/io-mapping.c > index 01b362799930..588ecb8ea446 100644 > --- a/mm/io-mapping.c > +++ b/mm/io-mapping.c > @@ -13,7 +13,7 @@ > * > * Note: this is only safe if the mm semaphore is held when called. > */ > -int io_mapping_map_user(struct io_mapping *iomap, struct vm_area_struct *vma, > +int io_mapping_map_user(struct io_mapping *iomap, struct mm_area *vma, > unsigned long addr, unsigned long pfn, unsigned long size) > { > vm_flags_t expected_flags = VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP; > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index cc945c6ab3bd..e135208612f1 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -346,7 +346,7 @@ struct attribute_group khugepaged_attr_group = { > }; > #endif /* CONFIG_SYSFS */ > > -int hugepage_madvise(struct vm_area_struct *vma, > +int hugepage_madvise(struct mm_area *vma, > unsigned long *vm_flags, int advice) > { > switch (advice) { > @@ -469,7 +469,7 @@ void __khugepaged_enter(struct mm_struct *mm) > wake_up_interruptible(&khugepaged_wait); > } > > -void khugepaged_enter_vma(struct vm_area_struct *vma, > +void khugepaged_enter_vma(struct mm_area *vma, > unsigned long vm_flags) > { > if (!test_bit(MMF_VM_HUGEPAGE, &vma->vm_mm->flags) && > @@ -561,7 +561,7 @@ static bool is_refcount_suitable(struct folio *folio) > return folio_ref_count(folio) == expected_refcount; > } > > -static int __collapse_huge_page_isolate(struct vm_area_struct *vma, > +static int __collapse_huge_page_isolate(struct mm_area *vma, > unsigned long address, > pte_t *pte, > struct collapse_control *cc, > @@ -708,7 +708,7 @@ static int __collapse_huge_page_isolate(struct vm_area_struct *vma, > } > > static void __collapse_huge_page_copy_succeeded(pte_t *pte, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long address, > spinlock_t *ptl, > struct list_head *compound_pagelist) > @@ -763,7 +763,7 @@ static void __collapse_huge_page_copy_succeeded(pte_t *pte, > static void __collapse_huge_page_copy_failed(pte_t *pte, > pmd_t *pmd, > pmd_t orig_pmd, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct list_head *compound_pagelist) > { > spinlock_t *pmd_ptl; > @@ -800,7 +800,7 @@ static void __collapse_huge_page_copy_failed(pte_t *pte, > * @compound_pagelist: list that stores compound pages > */ > static int __collapse_huge_page_copy(pte_t *pte, struct folio *folio, > - pmd_t *pmd, pmd_t orig_pmd, struct vm_area_struct *vma, > + pmd_t *pmd, pmd_t orig_pmd, struct mm_area *vma, > unsigned long address, spinlock_t *ptl, > struct list_head *compound_pagelist) > { > @@ -919,10 +919,10 @@ static int hpage_collapse_find_target_node(struct collapse_control *cc) > > static int hugepage_vma_revalidate(struct mm_struct *mm, unsigned long address, > bool expect_anon, > - struct vm_area_struct **vmap, > + struct mm_area **vmap, > struct collapse_control *cc) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long tva_flags = cc->is_khugepaged ? TVA_ENFORCE_SYSFS : 0; > > if (unlikely(hpage_collapse_test_exit_or_disable(mm))) > @@ -998,7 +998,7 @@ static int check_pmd_still_valid(struct mm_struct *mm, > * Returns result: if not SCAN_SUCCEED, mmap_lock has been released. > */ > static int __collapse_huge_page_swapin(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long haddr, pmd_t *pmd, > int referenced) > { > @@ -1112,7 +1112,7 @@ static int collapse_huge_page(struct mm_struct *mm, unsigned long address, > struct folio *folio; > spinlock_t *pmd_ptl, *pte_ptl; > int result = SCAN_FAIL; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mmu_notifier_range range; > > VM_BUG_ON(address & ~HPAGE_PMD_MASK); > @@ -1265,7 +1265,7 @@ static int collapse_huge_page(struct mm_struct *mm, unsigned long address, > } > > static int hpage_collapse_scan_pmd(struct mm_struct *mm, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long address, bool *mmap_locked, > struct collapse_control *cc) > { > @@ -1466,7 +1466,7 @@ static void collect_mm_slot(struct khugepaged_mm_slot *mm_slot) > > #ifdef CONFIG_SHMEM > /* hpage must be locked, and mmap_lock must be held */ > -static int set_huge_pmd(struct vm_area_struct *vma, unsigned long addr, > +static int set_huge_pmd(struct mm_area *vma, unsigned long addr, > pmd_t *pmdp, struct page *hpage) > { > struct vm_fault vmf = { > @@ -1504,7 +1504,7 @@ int collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long addr, > struct mmu_notifier_range range; > bool notified = false; > unsigned long haddr = addr & HPAGE_PMD_MASK; > - struct vm_area_struct *vma = vma_lookup(mm, haddr); > + struct mm_area *vma = vma_lookup(mm, haddr); > struct folio *folio; > pte_t *start_pte, *pte; > pmd_t *pmd, pgt_pmd; > @@ -1713,7 +1713,7 @@ int collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long addr, > > static void retract_page_tables(struct address_space *mapping, pgoff_t pgoff) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > i_mmap_lock_read(mapping); > vma_interval_tree_foreach(vma, &mapping->i_mmap, pgoff, pgoff) { > @@ -2114,7 +2114,7 @@ static int collapse_file(struct mm_struct *mm, unsigned long addr, > } > > if (nr_none) { > - struct vm_area_struct *vma; > + struct mm_area *vma; > int nr_none_check = 0; > > i_mmap_lock_read(mapping); > @@ -2372,7 +2372,7 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages, int *result, > struct khugepaged_mm_slot *mm_slot; > struct mm_slot *slot; > struct mm_struct *mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int progress = 0; > > VM_BUG_ON(!pages); > @@ -2736,7 +2736,7 @@ static int madvise_collapse_errno(enum scan_result r) > } > } > > -int madvise_collapse(struct vm_area_struct *vma, struct vm_area_struct **prev, > +int madvise_collapse(struct mm_area *vma, struct mm_area **prev, > unsigned long start, unsigned long end) > { > struct collapse_control *cc; > diff --git a/mm/ksm.c b/mm/ksm.c > index 8583fb91ef13..0370e8d4ab02 100644 > --- a/mm/ksm.c > +++ b/mm/ksm.c > @@ -620,7 +620,7 @@ static inline bool ksm_test_exit(struct mm_struct *mm) > * of the process that owns 'vma'. We also do not want to enforce > * protection keys here anyway. > */ > -static int break_ksm(struct vm_area_struct *vma, unsigned long addr, bool lock_vma) > +static int break_ksm(struct mm_area *vma, unsigned long addr, bool lock_vma) > { > vm_fault_t ret = 0; > > @@ -677,7 +677,7 @@ static int break_ksm(struct vm_area_struct *vma, unsigned long addr, bool lock_v > return (ret & VM_FAULT_OOM) ? -ENOMEM : 0; > } > > -static bool vma_ksm_compatible(struct vm_area_struct *vma) > +static bool vma_ksm_compatible(struct mm_area *vma) > { > if (vma->vm_flags & (VM_SHARED | VM_MAYSHARE | VM_PFNMAP | > VM_IO | VM_DONTEXPAND | VM_HUGETLB | > @@ -699,10 +699,10 @@ static bool vma_ksm_compatible(struct vm_area_struct *vma) > return true; > } > > -static struct vm_area_struct *find_mergeable_vma(struct mm_struct *mm, > +static struct mm_area *find_mergeable_vma(struct mm_struct *mm, > unsigned long addr) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > if (ksm_test_exit(mm)) > return NULL; > vma = vma_lookup(mm, addr); > @@ -715,7 +715,7 @@ static void break_cow(struct ksm_rmap_item *rmap_item) > { > struct mm_struct *mm = rmap_item->mm; > unsigned long addr = rmap_item->address; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > /* > * It is not an accident that whenever we want to break COW > @@ -734,7 +734,7 @@ static struct page *get_mergeable_page(struct ksm_rmap_item *rmap_item) > { > struct mm_struct *mm = rmap_item->mm; > unsigned long addr = rmap_item->address; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct page *page = NULL; > struct folio_walk fw; > struct folio *folio; > @@ -1034,7 +1034,7 @@ static void remove_trailing_rmap_items(struct ksm_rmap_item **rmap_list) > * to the next pass of ksmd - consider, for example, how ksmd might be > * in cmp_and_merge_page on one of the rmap_items we would be removing. > */ > -static int unmerge_ksm_pages(struct vm_area_struct *vma, > +static int unmerge_ksm_pages(struct mm_area *vma, > unsigned long start, unsigned long end, bool lock_vma) > { > unsigned long addr; > @@ -1167,7 +1167,7 @@ static int unmerge_and_remove_all_rmap_items(void) > struct ksm_mm_slot *mm_slot; > struct mm_slot *slot; > struct mm_struct *mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int err = 0; > > spin_lock(&ksm_mmlist_lock); > @@ -1243,7 +1243,7 @@ static u32 calc_checksum(struct page *page) > return checksum; > } > > -static int write_protect_page(struct vm_area_struct *vma, struct folio *folio, > +static int write_protect_page(struct mm_area *vma, struct folio *folio, > pte_t *orig_pte) > { > struct mm_struct *mm = vma->vm_mm; > @@ -1343,7 +1343,7 @@ static int write_protect_page(struct vm_area_struct *vma, struct folio *folio, > * > * Returns 0 on success, -EFAULT on failure. > */ > -static int replace_page(struct vm_area_struct *vma, struct page *page, > +static int replace_page(struct mm_area *vma, struct page *page, > struct page *kpage, pte_t orig_pte) > { > struct folio *kfolio = page_folio(kpage); > @@ -1446,7 +1446,7 @@ static int replace_page(struct vm_area_struct *vma, struct page *page, > * > * This function returns 0 if the pages were merged, -EFAULT otherwise. > */ > -static int try_to_merge_one_page(struct vm_area_struct *vma, > +static int try_to_merge_one_page(struct mm_area *vma, > struct page *page, struct page *kpage) > { > struct folio *folio = page_folio(page); > @@ -1521,7 +1521,7 @@ static int try_to_merge_with_zero_page(struct ksm_rmap_item *rmap_item, > * appropriate zero page if the user enabled this via sysfs. > */ > if (ksm_use_zero_pages && (rmap_item->oldchecksum == zero_checksum)) { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_read_lock(mm); > vma = find_mergeable_vma(mm, rmap_item->address); > @@ -1554,7 +1554,7 @@ static int try_to_merge_with_ksm_page(struct ksm_rmap_item *rmap_item, > struct page *page, struct page *kpage) > { > struct mm_struct *mm = rmap_item->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int err = -EFAULT; > > mmap_read_lock(mm); > @@ -2459,7 +2459,7 @@ static struct ksm_rmap_item *scan_get_next_rmap_item(struct page **page) > struct mm_struct *mm; > struct ksm_mm_slot *mm_slot; > struct mm_slot *slot; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct ksm_rmap_item *rmap_item; > struct vma_iterator vmi; > int nid; > @@ -2696,7 +2696,7 @@ static int ksm_scan_thread(void *nothing) > return 0; > } > > -static void __ksm_add_vma(struct vm_area_struct *vma) > +static void __ksm_add_vma(struct mm_area *vma) > { > unsigned long vm_flags = vma->vm_flags; > > @@ -2707,7 +2707,7 @@ static void __ksm_add_vma(struct vm_area_struct *vma) > vm_flags_set(vma, VM_MERGEABLE); > } > > -static int __ksm_del_vma(struct vm_area_struct *vma) > +static int __ksm_del_vma(struct mm_area *vma) > { > int err; > > @@ -2728,7 +2728,7 @@ static int __ksm_del_vma(struct vm_area_struct *vma) > * > * @vma: Pointer to vma > */ > -void ksm_add_vma(struct vm_area_struct *vma) > +void ksm_add_vma(struct mm_area *vma) > { > struct mm_struct *mm = vma->vm_mm; > > @@ -2738,7 +2738,7 @@ void ksm_add_vma(struct vm_area_struct *vma) > > static void ksm_add_vmas(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > VMA_ITERATOR(vmi, mm, 0); > for_each_vma(vmi, vma) > @@ -2747,7 +2747,7 @@ static void ksm_add_vmas(struct mm_struct *mm) > > static int ksm_del_vmas(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > int err; > > VMA_ITERATOR(vmi, mm, 0); > @@ -2826,7 +2826,7 @@ int ksm_disable(struct mm_struct *mm) > return ksm_del_vmas(mm); > } > > -int ksm_madvise(struct vm_area_struct *vma, unsigned long start, > +int ksm_madvise(struct mm_area *vma, unsigned long start, > unsigned long end, int advice, unsigned long *vm_flags) > { > struct mm_struct *mm = vma->vm_mm; > @@ -2953,7 +2953,7 @@ void __ksm_exit(struct mm_struct *mm) > } > > struct folio *ksm_might_need_to_copy(struct folio *folio, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > struct page *page = folio_page(folio, 0); > struct anon_vma *anon_vma = folio_anon_vma(folio); > @@ -3021,7 +3021,7 @@ void rmap_walk_ksm(struct folio *folio, struct rmap_walk_control *rwc) > hlist_for_each_entry(rmap_item, &stable_node->hlist, hlist) { > struct anon_vma *anon_vma = rmap_item->anon_vma; > struct anon_vma_chain *vmac; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > cond_resched(); > if (!anon_vma_trylock_read(anon_vma)) { > @@ -3079,7 +3079,7 @@ void collect_procs_ksm(const struct folio *folio, const struct page *page, > { > struct ksm_stable_node *stable_node; > struct ksm_rmap_item *rmap_item; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct task_struct *tsk; > > stable_node = folio_stable_node(folio); > @@ -3277,7 +3277,7 @@ static void wait_while_offlining(void) > */ > bool ksm_process_mergeable(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_assert_locked(mm); > VMA_ITERATOR(vmi, mm, 0); > diff --git a/mm/madvise.c b/mm/madvise.c > index b17f684322ad..8e401df400b1 100644 > --- a/mm/madvise.c > +++ b/mm/madvise.c > @@ -99,7 +99,7 @@ void anon_vma_name_free(struct kref *kref) > kfree(anon_name); > } > > -struct anon_vma_name *anon_vma_name(struct vm_area_struct *vma) > +struct anon_vma_name *anon_vma_name(struct mm_area *vma) > { > mmap_assert_locked(vma->vm_mm); > > @@ -107,7 +107,7 @@ struct anon_vma_name *anon_vma_name(struct vm_area_struct *vma) > } > > /* mmap_lock should be write-locked */ > -static int replace_anon_vma_name(struct vm_area_struct *vma, > +static int replace_anon_vma_name(struct mm_area *vma, > struct anon_vma_name *anon_name) > { > struct anon_vma_name *orig_name = anon_vma_name(vma); > @@ -127,7 +127,7 @@ static int replace_anon_vma_name(struct vm_area_struct *vma, > return 0; > } > #else /* CONFIG_ANON_VMA_NAME */ > -static int replace_anon_vma_name(struct vm_area_struct *vma, > +static int replace_anon_vma_name(struct mm_area *vma, > struct anon_vma_name *anon_name) > { > if (anon_name) > @@ -142,8 +142,8 @@ static int replace_anon_vma_name(struct vm_area_struct *vma, > * Caller should ensure anon_name stability by raising its refcount even when > * anon_name belongs to a valid vma because this function might free that vma. > */ > -static int madvise_update_vma(struct vm_area_struct *vma, > - struct vm_area_struct **prev, unsigned long start, > +static int madvise_update_vma(struct mm_area *vma, > + struct mm_area **prev, unsigned long start, > unsigned long end, unsigned long new_flags, > struct anon_vma_name *anon_name) > { > @@ -179,7 +179,7 @@ static int madvise_update_vma(struct vm_area_struct *vma, > static int swapin_walk_pmd_entry(pmd_t *pmd, unsigned long start, > unsigned long end, struct mm_walk *walk) > { > - struct vm_area_struct *vma = walk->private; > + struct mm_area *vma = walk->private; > struct swap_iocb *splug = NULL; > pte_t *ptep = NULL; > spinlock_t *ptl; > @@ -225,7 +225,7 @@ static const struct mm_walk_ops swapin_walk_ops = { > .walk_lock = PGWALK_RDLOCK, > }; > > -static void shmem_swapin_range(struct vm_area_struct *vma, > +static void shmem_swapin_range(struct mm_area *vma, > unsigned long start, unsigned long end, > struct address_space *mapping) > { > @@ -266,8 +266,8 @@ static void shmem_swapin_range(struct vm_area_struct *vma, > /* > * Schedule all required I/O operations. Do not wait for completion. > */ > -static long madvise_willneed(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +static long madvise_willneed(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start, unsigned long end) > { > struct mm_struct *mm = vma->vm_mm; > @@ -314,7 +314,7 @@ static long madvise_willneed(struct vm_area_struct *vma, > return 0; > } > > -static inline bool can_do_file_pageout(struct vm_area_struct *vma) > +static inline bool can_do_file_pageout(struct mm_area *vma) > { > if (!vma->vm_file) > return false; > @@ -349,7 +349,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd, > struct mmu_gather *tlb = private->tlb; > bool pageout = private->pageout; > struct mm_struct *mm = tlb->mm; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > pte_t *start_pte, *pte, ptent; > spinlock_t *ptl; > struct folio *folio = NULL; > @@ -567,7 +567,7 @@ static const struct mm_walk_ops cold_walk_ops = { > }; > > static void madvise_cold_page_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, unsigned long end) > { > struct madvise_walk_private walk_private = { > @@ -580,13 +580,13 @@ static void madvise_cold_page_range(struct mmu_gather *tlb, > tlb_end_vma(tlb, vma); > } > > -static inline bool can_madv_lru_vma(struct vm_area_struct *vma) > +static inline bool can_madv_lru_vma(struct mm_area *vma) > { > return !(vma->vm_flags & (VM_LOCKED|VM_PFNMAP|VM_HUGETLB)); > } > > -static long madvise_cold(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +static long madvise_cold(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start_addr, unsigned long end_addr) > { > struct mm_struct *mm = vma->vm_mm; > @@ -605,7 +605,7 @@ static long madvise_cold(struct vm_area_struct *vma, > } > > static void madvise_pageout_page_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, unsigned long end) > { > struct madvise_walk_private walk_private = { > @@ -618,8 +618,8 @@ static void madvise_pageout_page_range(struct mmu_gather *tlb, > tlb_end_vma(tlb, vma); > } > > -static long madvise_pageout(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +static long madvise_pageout(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start_addr, unsigned long end_addr) > { > struct mm_struct *mm = vma->vm_mm; > @@ -654,7 +654,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr, > const cydp_t cydp_flags = CYDP_CLEAR_YOUNG | CYDP_CLEAR_DIRTY; > struct mmu_gather *tlb = walk->private; > struct mm_struct *mm = tlb->mm; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > spinlock_t *ptl; > pte_t *start_pte, *pte, ptent; > struct folio *folio; > @@ -794,7 +794,7 @@ static const struct mm_walk_ops madvise_free_walk_ops = { > .walk_lock = PGWALK_RDLOCK, > }; > > -static int madvise_free_single_vma(struct vm_area_struct *vma, > +static int madvise_free_single_vma(struct mm_area *vma, > unsigned long start_addr, unsigned long end_addr) > { > struct mm_struct *mm = vma->vm_mm; > @@ -848,7 +848,7 @@ static int madvise_free_single_vma(struct vm_area_struct *vma, > * An interface that causes the system to free clean pages and flush > * dirty pages is already available as msync(MS_INVALIDATE). > */ > -static long madvise_dontneed_single_vma(struct vm_area_struct *vma, > +static long madvise_dontneed_single_vma(struct mm_area *vma, > unsigned long start, unsigned long end) > { > struct zap_details details = { > @@ -860,7 +860,7 @@ static long madvise_dontneed_single_vma(struct vm_area_struct *vma, > return 0; > } > > -static bool madvise_dontneed_free_valid_vma(struct vm_area_struct *vma, > +static bool madvise_dontneed_free_valid_vma(struct mm_area *vma, > unsigned long start, > unsigned long *end, > int behavior) > @@ -890,8 +890,8 @@ static bool madvise_dontneed_free_valid_vma(struct vm_area_struct *vma, > return true; > } > > -static long madvise_dontneed_free(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +static long madvise_dontneed_free(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start, unsigned long end, > int behavior) > { > @@ -994,8 +994,8 @@ static long madvise_populate(struct mm_struct *mm, unsigned long start, > * Application wants to free up the pages and associated backing store. > * This is effectively punching a hole into the middle of a file. > */ > -static long madvise_remove(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +static long madvise_remove(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start, unsigned long end) > { > loff_t offset; > @@ -1039,7 +1039,7 @@ static long madvise_remove(struct vm_area_struct *vma, > return error; > } > > -static bool is_valid_guard_vma(struct vm_area_struct *vma, bool allow_locked) > +static bool is_valid_guard_vma(struct mm_area *vma, bool allow_locked) > { > vm_flags_t disallowed = VM_SPECIAL | VM_HUGETLB; > > @@ -1115,8 +1115,8 @@ static const struct mm_walk_ops guard_install_walk_ops = { > .walk_lock = PGWALK_RDLOCK, > }; > > -static long madvise_guard_install(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +static long madvise_guard_install(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start, unsigned long end) > { > long err; > @@ -1225,8 +1225,8 @@ static const struct mm_walk_ops guard_remove_walk_ops = { > .walk_lock = PGWALK_RDLOCK, > }; > > -static long madvise_guard_remove(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +static long madvise_guard_remove(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start, unsigned long end) > { > *prev = vma; > @@ -1246,8 +1246,8 @@ static long madvise_guard_remove(struct vm_area_struct *vma, > * will handle splitting a vm area into separate areas, each area with its own > * behavior. > */ > -static int madvise_vma_behavior(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +static int madvise_vma_behavior(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start, unsigned long end, > unsigned long behavior) > { > @@ -1488,12 +1488,12 @@ static bool process_madvise_remote_valid(int behavior) > static > int madvise_walk_vmas(struct mm_struct *mm, unsigned long start, > unsigned long end, unsigned long arg, > - int (*visit)(struct vm_area_struct *vma, > - struct vm_area_struct **prev, unsigned long start, > + int (*visit)(struct mm_area *vma, > + struct mm_area **prev, unsigned long start, > unsigned long end, unsigned long arg)) > { > - struct vm_area_struct *vma; > - struct vm_area_struct *prev; > + struct mm_area *vma; > + struct mm_area *prev; > unsigned long tmp; > int unmapped_error = 0; > > @@ -1545,8 +1545,8 @@ int madvise_walk_vmas(struct mm_struct *mm, unsigned long start, > } > > #ifdef CONFIG_ANON_VMA_NAME > -static int madvise_vma_anon_name(struct vm_area_struct *vma, > - struct vm_area_struct **prev, > +static int madvise_vma_anon_name(struct mm_area *vma, > + struct mm_area **prev, > unsigned long start, unsigned long end, > unsigned long anon_name) > { > diff --git a/mm/memory-failure.c b/mm/memory-failure.c > index b91a33fb6c69..8a194e377443 100644 > --- a/mm/memory-failure.c > +++ b/mm/memory-failure.c > @@ -398,7 +398,7 @@ static void shake_page(struct page *page) > shake_folio(page_folio(page)); > } > > -static unsigned long dev_pagemap_mapping_shift(struct vm_area_struct *vma, > +static unsigned long dev_pagemap_mapping_shift(struct mm_area *vma, > unsigned long address) > { > unsigned long ret = 0; > @@ -446,7 +446,7 @@ static unsigned long dev_pagemap_mapping_shift(struct vm_area_struct *vma, > * Uses GFP_ATOMIC allocations to avoid potential recursions in the VM. > */ > static void __add_to_kill(struct task_struct *tsk, const struct page *p, > - struct vm_area_struct *vma, struct list_head *to_kill, > + struct mm_area *vma, struct list_head *to_kill, > unsigned long addr) > { > struct to_kill *tk; > @@ -487,7 +487,7 @@ static void __add_to_kill(struct task_struct *tsk, const struct page *p, > } > > static void add_to_kill_anon_file(struct task_struct *tsk, const struct page *p, > - struct vm_area_struct *vma, struct list_head *to_kill, > + struct mm_area *vma, struct list_head *to_kill, > unsigned long addr) > { > if (addr == -EFAULT) > @@ -510,7 +510,7 @@ static bool task_in_to_kill_list(struct list_head *to_kill, > } > > void add_to_kill_ksm(struct task_struct *tsk, const struct page *p, > - struct vm_area_struct *vma, struct list_head *to_kill, > + struct mm_area *vma, struct list_head *to_kill, > unsigned long addr) > { > if (!task_in_to_kill_list(to_kill, tsk)) > @@ -621,7 +621,7 @@ static void collect_procs_anon(const struct folio *folio, > pgoff = page_pgoff(folio, page); > rcu_read_lock(); > for_each_process(tsk) { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct anon_vma_chain *vmac; > struct task_struct *t = task_early_kill(tsk, force_early); > unsigned long addr; > @@ -648,7 +648,7 @@ static void collect_procs_file(const struct folio *folio, > const struct page *page, struct list_head *to_kill, > int force_early) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct task_struct *tsk; > struct address_space *mapping = folio->mapping; > pgoff_t pgoff; > @@ -683,7 +683,7 @@ static void collect_procs_file(const struct folio *folio, > > #ifdef CONFIG_FS_DAX > static void add_to_kill_fsdax(struct task_struct *tsk, const struct page *p, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct list_head *to_kill, pgoff_t pgoff) > { > unsigned long addr = vma_address(vma, pgoff, 1); > @@ -697,7 +697,7 @@ static void collect_procs_fsdax(const struct page *page, > struct address_space *mapping, pgoff_t pgoff, > struct list_head *to_kill, bool pre_remove) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct task_struct *tsk; > > i_mmap_lock_read(mapping); > diff --git a/mm/memory.c b/mm/memory.c > index 9d0ba6fe73c1..854615d98d2b 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -344,14 +344,14 @@ void free_pgd_range(struct mmu_gather *tlb, > } > > void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, > - struct vm_area_struct *vma, unsigned long floor, > + struct mm_area *vma, unsigned long floor, > unsigned long ceiling, bool mm_wr_locked) > { > struct unlink_vma_file_batch vb; > > do { > unsigned long addr = vma->vm_start; > - struct vm_area_struct *next; > + struct mm_area *next; > > /* > * Note: USER_PGTABLES_CEILING may be passed as ceiling and may > @@ -476,7 +476,7 @@ static inline void add_mm_rss_vec(struct mm_struct *mm, int *rss) > * > * The calling function must still handle the error. > */ > -static void print_bad_pte(struct vm_area_struct *vma, unsigned long addr, > +static void print_bad_pte(struct mm_area *vma, unsigned long addr, > pte_t pte, struct page *page) > { > pgd_t *pgd = pgd_offset(vma->vm_mm, addr); > @@ -572,7 +572,7 @@ static void print_bad_pte(struct vm_area_struct *vma, unsigned long addr, > * order to support COWable mappings. > * > */ > -struct page *vm_normal_page(struct vm_area_struct *vma, unsigned long addr, > +struct page *vm_normal_page(struct mm_area *vma, unsigned long addr, > pte_t pte) > { > unsigned long pfn = pte_pfn(pte); > @@ -638,7 +638,7 @@ struct page *vm_normal_page(struct vm_area_struct *vma, unsigned long addr, > return pfn_to_page(pfn); > } > > -struct folio *vm_normal_folio(struct vm_area_struct *vma, unsigned long addr, > +struct folio *vm_normal_folio(struct mm_area *vma, unsigned long addr, > pte_t pte) > { > struct page *page = vm_normal_page(vma, addr, pte); > @@ -649,7 +649,7 @@ struct folio *vm_normal_folio(struct vm_area_struct *vma, unsigned long addr, > } > > #ifdef CONFIG_PGTABLE_HAS_HUGE_LEAVES > -struct page *vm_normal_page_pmd(struct vm_area_struct *vma, unsigned long addr, > +struct page *vm_normal_page_pmd(struct mm_area *vma, unsigned long addr, > pmd_t pmd) > { > unsigned long pfn = pmd_pfn(pmd); > @@ -688,7 +688,7 @@ struct page *vm_normal_page_pmd(struct vm_area_struct *vma, unsigned long addr, > return pfn_to_page(pfn); > } > > -struct folio *vm_normal_folio_pmd(struct vm_area_struct *vma, > +struct folio *vm_normal_folio_pmd(struct mm_area *vma, > unsigned long addr, pmd_t pmd) > { > struct page *page = vm_normal_page_pmd(vma, addr, pmd); > @@ -725,7 +725,7 @@ struct folio *vm_normal_folio_pmd(struct vm_area_struct *vma, > * page table modifications (e.g., MADV_DONTNEED, mprotect), so device drivers > * must use MMU notifiers to sync against any concurrent changes. > */ > -static void restore_exclusive_pte(struct vm_area_struct *vma, > +static void restore_exclusive_pte(struct mm_area *vma, > struct folio *folio, struct page *page, unsigned long address, > pte_t *ptep, pte_t orig_pte) > { > @@ -759,7 +759,7 @@ static void restore_exclusive_pte(struct vm_area_struct *vma, > * Tries to restore an exclusive pte if the page lock can be acquired without > * sleeping. > */ > -static int try_restore_exclusive_pte(struct vm_area_struct *vma, > +static int try_restore_exclusive_pte(struct mm_area *vma, > unsigned long addr, pte_t *ptep, pte_t orig_pte) > { > struct page *page = pfn_swap_entry_to_page(pte_to_swp_entry(orig_pte)); > @@ -782,8 +782,8 @@ static int try_restore_exclusive_pte(struct vm_area_struct *vma, > > static unsigned long > copy_nonpresent_pte(struct mm_struct *dst_mm, struct mm_struct *src_mm, > - pte_t *dst_pte, pte_t *src_pte, struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma, unsigned long addr, int *rss) > + pte_t *dst_pte, pte_t *src_pte, struct mm_area *dst_vma, > + struct mm_area *src_vma, unsigned long addr, int *rss) > { > unsigned long vm_flags = dst_vma->vm_flags; > pte_t orig_pte = ptep_get(src_pte); > @@ -903,7 +903,7 @@ copy_nonpresent_pte(struct mm_struct *dst_mm, struct mm_struct *src_mm, > * lock. > */ > static inline int > -copy_present_page(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > +copy_present_page(struct mm_area *dst_vma, struct mm_area *src_vma, > pte_t *dst_pte, pte_t *src_pte, unsigned long addr, int *rss, > struct folio **prealloc, struct page *page) > { > @@ -938,8 +938,8 @@ copy_present_page(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma > return 0; > } > > -static __always_inline void __copy_present_ptes(struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma, pte_t *dst_pte, pte_t *src_pte, > +static __always_inline void __copy_present_ptes(struct mm_area *dst_vma, > + struct mm_area *src_vma, pte_t *dst_pte, pte_t *src_pte, > pte_t pte, unsigned long addr, int nr) > { > struct mm_struct *src_mm = src_vma->vm_mm; > @@ -969,7 +969,7 @@ static __always_inline void __copy_present_ptes(struct vm_area_struct *dst_vma, > * Otherwise, returns the number of copied PTEs (at least 1). > */ > static inline int > -copy_present_ptes(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > +copy_present_ptes(struct mm_area *dst_vma, struct mm_area *src_vma, > pte_t *dst_pte, pte_t *src_pte, pte_t pte, unsigned long addr, > int max_nr, int *rss, struct folio **prealloc) > { > @@ -1046,7 +1046,7 @@ copy_present_ptes(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma > } > > static inline struct folio *folio_prealloc(struct mm_struct *src_mm, > - struct vm_area_struct *vma, unsigned long addr, bool need_zero) > + struct mm_area *vma, unsigned long addr, bool need_zero) > { > struct folio *new_folio; > > @@ -1068,7 +1068,7 @@ static inline struct folio *folio_prealloc(struct mm_struct *src_mm, > } > > static int > -copy_pte_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > +copy_pte_range(struct mm_area *dst_vma, struct mm_area *src_vma, > pmd_t *dst_pmd, pmd_t *src_pmd, unsigned long addr, > unsigned long end) > { > @@ -1223,7 +1223,7 @@ copy_pte_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > } > > static inline int > -copy_pmd_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > +copy_pmd_range(struct mm_area *dst_vma, struct mm_area *src_vma, > pud_t *dst_pud, pud_t *src_pud, unsigned long addr, > unsigned long end) > { > @@ -1260,7 +1260,7 @@ copy_pmd_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > } > > static inline int > -copy_pud_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > +copy_pud_range(struct mm_area *dst_vma, struct mm_area *src_vma, > p4d_t *dst_p4d, p4d_t *src_p4d, unsigned long addr, > unsigned long end) > { > @@ -1297,7 +1297,7 @@ copy_pud_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > } > > static inline int > -copy_p4d_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > +copy_p4d_range(struct mm_area *dst_vma, struct mm_area *src_vma, > pgd_t *dst_pgd, pgd_t *src_pgd, unsigned long addr, > unsigned long end) > { > @@ -1326,7 +1326,7 @@ copy_p4d_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, > * when the child accesses the memory range. > */ > static bool > -vma_needs_copy(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma) > +vma_needs_copy(struct mm_area *dst_vma, struct mm_area *src_vma) > { > /* > * Always copy pgtables when dst_vma has uffd-wp enabled even if it's > @@ -1353,7 +1353,7 @@ vma_needs_copy(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma) > } > > int > -copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma) > +copy_page_range(struct mm_area *dst_vma, struct mm_area *src_vma) > { > pgd_t *src_pgd, *dst_pgd; > unsigned long addr = src_vma->vm_start; > @@ -1461,7 +1461,7 @@ static inline bool zap_drop_markers(struct zap_details *details) > * Returns true if uffd-wp ptes was installed, false otherwise. > */ > static inline bool > -zap_install_uffd_wp_if_needed(struct vm_area_struct *vma, > +zap_install_uffd_wp_if_needed(struct mm_area *vma, > unsigned long addr, pte_t *pte, int nr, > struct zap_details *details, pte_t pteval) > { > @@ -1489,7 +1489,7 @@ zap_install_uffd_wp_if_needed(struct vm_area_struct *vma, > } > > static __always_inline void zap_present_folio_ptes(struct mmu_gather *tlb, > - struct vm_area_struct *vma, struct folio *folio, > + struct mm_area *vma, struct folio *folio, > struct page *page, pte_t *pte, pte_t ptent, unsigned int nr, > unsigned long addr, struct zap_details *details, int *rss, > bool *force_flush, bool *force_break, bool *any_skipped) > @@ -1540,7 +1540,7 @@ static __always_inline void zap_present_folio_ptes(struct mmu_gather *tlb, > * Returns the number of processed (skipped or zapped) PTEs (at least 1). > */ > static inline int zap_present_ptes(struct mmu_gather *tlb, > - struct vm_area_struct *vma, pte_t *pte, pte_t ptent, > + struct mm_area *vma, pte_t *pte, pte_t ptent, > unsigned int max_nr, unsigned long addr, > struct zap_details *details, int *rss, bool *force_flush, > bool *force_break, bool *any_skipped) > @@ -1589,7 +1589,7 @@ static inline int zap_present_ptes(struct mmu_gather *tlb, > } > > static inline int zap_nonpresent_ptes(struct mmu_gather *tlb, > - struct vm_area_struct *vma, pte_t *pte, pte_t ptent, > + struct mm_area *vma, pte_t *pte, pte_t ptent, > unsigned int max_nr, unsigned long addr, > struct zap_details *details, int *rss, bool *any_skipped) > { > @@ -1659,7 +1659,7 @@ static inline int zap_nonpresent_ptes(struct mmu_gather *tlb, > } > > static inline int do_zap_pte_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, pte_t *pte, > + struct mm_area *vma, pte_t *pte, > unsigned long addr, unsigned long end, > struct zap_details *details, int *rss, > bool *force_flush, bool *force_break, > @@ -1695,7 +1695,7 @@ static inline int do_zap_pte_range(struct mmu_gather *tlb, > } > > static unsigned long zap_pte_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, pmd_t *pmd, > + struct mm_area *vma, pmd_t *pmd, > unsigned long addr, unsigned long end, > struct zap_details *details) > { > @@ -1787,7 +1787,7 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb, > } > > static inline unsigned long zap_pmd_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, pud_t *pud, > + struct mm_area *vma, pud_t *pud, > unsigned long addr, unsigned long end, > struct zap_details *details) > { > @@ -1829,7 +1829,7 @@ static inline unsigned long zap_pmd_range(struct mmu_gather *tlb, > } > > static inline unsigned long zap_pud_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, p4d_t *p4d, > + struct mm_area *vma, p4d_t *p4d, > unsigned long addr, unsigned long end, > struct zap_details *details) > { > @@ -1858,7 +1858,7 @@ static inline unsigned long zap_pud_range(struct mmu_gather *tlb, > } > > static inline unsigned long zap_p4d_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, pgd_t *pgd, > + struct mm_area *vma, pgd_t *pgd, > unsigned long addr, unsigned long end, > struct zap_details *details) > { > @@ -1877,7 +1877,7 @@ static inline unsigned long zap_p4d_range(struct mmu_gather *tlb, > } > > void unmap_page_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, unsigned long end, > struct zap_details *details) > { > @@ -1898,7 +1898,7 @@ void unmap_page_range(struct mmu_gather *tlb, > > > static void unmap_single_vma(struct mmu_gather *tlb, > - struct vm_area_struct *vma, unsigned long start_addr, > + struct mm_area *vma, unsigned long start_addr, > unsigned long end_addr, > struct zap_details *details, bool mm_wr_locked) > { > @@ -1963,7 +1963,7 @@ static void unmap_single_vma(struct mmu_gather *tlb, > * drops the lock and schedules. > */ > void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, > - struct vm_area_struct *vma, unsigned long start_addr, > + struct mm_area *vma, unsigned long start_addr, > unsigned long end_addr, unsigned long tree_end, > bool mm_wr_locked) > { > @@ -1991,14 +1991,14 @@ void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, > > /** > * zap_page_range_single - remove user pages in a given range > - * @vma: vm_area_struct holding the applicable pages > + * @vma: mm_area holding the applicable pages > * @address: starting address of pages to zap > * @size: number of bytes to zap > * @details: details of shared cache invalidation > * > * The range must fit into one VMA. > */ > -void zap_page_range_single(struct vm_area_struct *vma, unsigned long address, > +void zap_page_range_single(struct mm_area *vma, unsigned long address, > unsigned long size, struct zap_details *details) > { > const unsigned long end = address + size; > @@ -2023,7 +2023,7 @@ void zap_page_range_single(struct vm_area_struct *vma, unsigned long address, > > /** > * zap_vma_ptes - remove ptes mapping the vma > - * @vma: vm_area_struct holding ptes to be zapped > + * @vma: mm_area holding ptes to be zapped > * @address: starting address of pages to zap > * @size: number of bytes to zap > * > @@ -2032,7 +2032,7 @@ void zap_page_range_single(struct vm_area_struct *vma, unsigned long address, > * The entire address range must be fully contained within the vma. > * > */ > -void zap_vma_ptes(struct vm_area_struct *vma, unsigned long address, > +void zap_vma_ptes(struct mm_area *vma, unsigned long address, > unsigned long size) > { > if (!range_in_vma(vma, address, address + size) || > @@ -2075,7 +2075,7 @@ pte_t *__get_locked_pte(struct mm_struct *mm, unsigned long addr, > return pte_alloc_map_lock(mm, pmd, addr, ptl); > } > > -static bool vm_mixed_zeropage_allowed(struct vm_area_struct *vma) > +static bool vm_mixed_zeropage_allowed(struct mm_area *vma) > { > VM_WARN_ON_ONCE(vma->vm_flags & VM_PFNMAP); > /* > @@ -2105,7 +2105,7 @@ static bool vm_mixed_zeropage_allowed(struct vm_area_struct *vma) > (vma_is_fsdax(vma) || vma->vm_flags & VM_IO); > } > > -static int validate_page_before_insert(struct vm_area_struct *vma, > +static int validate_page_before_insert(struct mm_area *vma, > struct page *page) > { > struct folio *folio = page_folio(page); > @@ -2124,7 +2124,7 @@ static int validate_page_before_insert(struct vm_area_struct *vma, > return 0; > } > > -static int insert_page_into_pte_locked(struct vm_area_struct *vma, pte_t *pte, > +static int insert_page_into_pte_locked(struct mm_area *vma, pte_t *pte, > unsigned long addr, struct page *page, > pgprot_t prot, bool mkwrite) > { > @@ -2165,7 +2165,7 @@ static int insert_page_into_pte_locked(struct vm_area_struct *vma, pte_t *pte, > return 0; > } > > -static int insert_page(struct vm_area_struct *vma, unsigned long addr, > +static int insert_page(struct mm_area *vma, unsigned long addr, > struct page *page, pgprot_t prot, bool mkwrite) > { > int retval; > @@ -2186,7 +2186,7 @@ static int insert_page(struct vm_area_struct *vma, unsigned long addr, > return retval; > } > > -static int insert_page_in_batch_locked(struct vm_area_struct *vma, pte_t *pte, > +static int insert_page_in_batch_locked(struct mm_area *vma, pte_t *pte, > unsigned long addr, struct page *page, pgprot_t prot) > { > int err; > @@ -2200,7 +2200,7 @@ static int insert_page_in_batch_locked(struct vm_area_struct *vma, pte_t *pte, > /* insert_pages() amortizes the cost of spinlock operations > * when inserting pages in a loop. > */ > -static int insert_pages(struct vm_area_struct *vma, unsigned long addr, > +static int insert_pages(struct mm_area *vma, unsigned long addr, > struct page **pages, unsigned long *num, pgprot_t prot) > { > pmd_t *pmd = NULL; > @@ -2273,7 +2273,7 @@ static int insert_pages(struct vm_area_struct *vma, unsigned long addr, > * > * The same restrictions apply as in vm_insert_page(). > */ > -int vm_insert_pages(struct vm_area_struct *vma, unsigned long addr, > +int vm_insert_pages(struct mm_area *vma, unsigned long addr, > struct page **pages, unsigned long *num) > { > const unsigned long end_addr = addr + (*num * PAGE_SIZE) - 1; > @@ -2320,7 +2320,7 @@ EXPORT_SYMBOL(vm_insert_pages); > * > * Return: %0 on success, negative error code otherwise. > */ > -int vm_insert_page(struct vm_area_struct *vma, unsigned long addr, > +int vm_insert_page(struct mm_area *vma, unsigned long addr, > struct page *page) > { > if (addr < vma->vm_start || addr >= vma->vm_end) > @@ -2347,7 +2347,7 @@ EXPORT_SYMBOL(vm_insert_page); > * > * Return: 0 on success and error code otherwise. > */ > -static int __vm_map_pages(struct vm_area_struct *vma, struct page **pages, > +static int __vm_map_pages(struct mm_area *vma, struct page **pages, > unsigned long num, unsigned long offset) > { > unsigned long count = vma_pages(vma); > @@ -2390,7 +2390,7 @@ static int __vm_map_pages(struct vm_area_struct *vma, struct page **pages, > * Context: Process context. Called by mmap handlers. > * Return: 0 on success and error code otherwise. > */ > -int vm_map_pages(struct vm_area_struct *vma, struct page **pages, > +int vm_map_pages(struct mm_area *vma, struct page **pages, > unsigned long num) > { > return __vm_map_pages(vma, pages, num, vma->vm_pgoff); > @@ -2410,14 +2410,14 @@ EXPORT_SYMBOL(vm_map_pages); > * Context: Process context. Called by mmap handlers. > * Return: 0 on success and error code otherwise. > */ > -int vm_map_pages_zero(struct vm_area_struct *vma, struct page **pages, > +int vm_map_pages_zero(struct mm_area *vma, struct page **pages, > unsigned long num) > { > return __vm_map_pages(vma, pages, num, 0); > } > EXPORT_SYMBOL(vm_map_pages_zero); > > -static vm_fault_t insert_pfn(struct vm_area_struct *vma, unsigned long addr, > +static vm_fault_t insert_pfn(struct mm_area *vma, unsigned long addr, > pfn_t pfn, pgprot_t prot, bool mkwrite) > { > struct mm_struct *mm = vma->vm_mm; > @@ -2504,7 +2504,7 @@ static vm_fault_t insert_pfn(struct vm_area_struct *vma, unsigned long addr, > * Context: Process context. May allocate using %GFP_KERNEL. > * Return: vm_fault_t value. > */ > -vm_fault_t vmf_insert_pfn_prot(struct vm_area_struct *vma, unsigned long addr, > +vm_fault_t vmf_insert_pfn_prot(struct mm_area *vma, unsigned long addr, > unsigned long pfn, pgprot_t pgprot) > { > /* > @@ -2552,14 +2552,14 @@ EXPORT_SYMBOL(vmf_insert_pfn_prot); > * Context: Process context. May allocate using %GFP_KERNEL. > * Return: vm_fault_t value. > */ > -vm_fault_t vmf_insert_pfn(struct vm_area_struct *vma, unsigned long addr, > +vm_fault_t vmf_insert_pfn(struct mm_area *vma, unsigned long addr, > unsigned long pfn) > { > return vmf_insert_pfn_prot(vma, addr, pfn, vma->vm_page_prot); > } > EXPORT_SYMBOL(vmf_insert_pfn); > > -static bool vm_mixed_ok(struct vm_area_struct *vma, pfn_t pfn, bool mkwrite) > +static bool vm_mixed_ok(struct mm_area *vma, pfn_t pfn, bool mkwrite) > { > if (unlikely(is_zero_pfn(pfn_t_to_pfn(pfn))) && > (mkwrite || !vm_mixed_zeropage_allowed(vma))) > @@ -2576,7 +2576,7 @@ static bool vm_mixed_ok(struct vm_area_struct *vma, pfn_t pfn, bool mkwrite) > return false; > } > > -static vm_fault_t __vm_insert_mixed(struct vm_area_struct *vma, > +static vm_fault_t __vm_insert_mixed(struct mm_area *vma, > unsigned long addr, pfn_t pfn, bool mkwrite) > { > pgprot_t pgprot = vma->vm_page_prot; > @@ -2643,7 +2643,7 @@ vm_fault_t vmf_insert_page_mkwrite(struct vm_fault *vmf, struct page *page, > } > EXPORT_SYMBOL_GPL(vmf_insert_page_mkwrite); > > -vm_fault_t vmf_insert_mixed(struct vm_area_struct *vma, unsigned long addr, > +vm_fault_t vmf_insert_mixed(struct mm_area *vma, unsigned long addr, > pfn_t pfn) > { > return __vm_insert_mixed(vma, addr, pfn, false); > @@ -2655,7 +2655,7 @@ EXPORT_SYMBOL(vmf_insert_mixed); > * different entry in the mean time, we treat that as success as we assume > * the same entry was actually inserted. > */ > -vm_fault_t vmf_insert_mixed_mkwrite(struct vm_area_struct *vma, > +vm_fault_t vmf_insert_mixed_mkwrite(struct mm_area *vma, > unsigned long addr, pfn_t pfn) > { > return __vm_insert_mixed(vma, addr, pfn, true); > @@ -2759,7 +2759,7 @@ static inline int remap_p4d_range(struct mm_struct *mm, pgd_t *pgd, > return 0; > } > > -static int remap_pfn_range_internal(struct vm_area_struct *vma, unsigned long addr, > +static int remap_pfn_range_internal(struct mm_area *vma, unsigned long addr, > unsigned long pfn, unsigned long size, pgprot_t prot) > { > pgd_t *pgd; > @@ -2816,7 +2816,7 @@ static int remap_pfn_range_internal(struct vm_area_struct *vma, unsigned long ad > * Variant of remap_pfn_range that does not call track_pfn_remap. The caller > * must have pre-validated the caching bits of the pgprot_t. > */ > -int remap_pfn_range_notrack(struct vm_area_struct *vma, unsigned long addr, > +int remap_pfn_range_notrack(struct mm_area *vma, unsigned long addr, > unsigned long pfn, unsigned long size, pgprot_t prot) > { > int error = remap_pfn_range_internal(vma, addr, pfn, size, prot); > @@ -2845,7 +2845,7 @@ int remap_pfn_range_notrack(struct vm_area_struct *vma, unsigned long addr, > * > * Return: %0 on success, negative error code otherwise. > */ > -int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr, > +int remap_pfn_range(struct mm_area *vma, unsigned long addr, > unsigned long pfn, unsigned long size, pgprot_t prot) > { > int err; > @@ -2876,7 +2876,7 @@ EXPORT_SYMBOL(remap_pfn_range); > * > * Return: %0 on success, negative error code otherwise. > */ > -int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long len) > +int vm_iomap_memory(struct mm_area *vma, phys_addr_t start, unsigned long len) > { > unsigned long vm_len, pfn, pages; > > @@ -3161,7 +3161,7 @@ static inline int __wp_page_copy_user(struct page *dst, struct page *src, > int ret; > void *kaddr; > void __user *uaddr; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct mm_struct *mm = vma->vm_mm; > unsigned long addr = vmf->address; > > @@ -3253,7 +3253,7 @@ static inline int __wp_page_copy_user(struct page *dst, struct page *src, > return ret; > } > > -static gfp_t __get_fault_gfp_mask(struct vm_area_struct *vma) > +static gfp_t __get_fault_gfp_mask(struct mm_area *vma) > { > struct file *vm_file = vma->vm_file; > > @@ -3308,7 +3308,7 @@ static vm_fault_t do_page_mkwrite(struct vm_fault *vmf, struct folio *folio) > */ > static vm_fault_t fault_dirty_shared_page(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct address_space *mapping; > struct folio *folio = page_folio(vmf->page); > bool dirtied; > @@ -3362,7 +3362,7 @@ static vm_fault_t fault_dirty_shared_page(struct vm_fault *vmf) > static inline void wp_page_reuse(struct vm_fault *vmf, struct folio *folio) > __releases(vmf->ptl) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > pte_t entry; > > VM_BUG_ON(!(vmf->flags & FAULT_FLAG_WRITE)); > @@ -3395,7 +3395,7 @@ static inline void wp_page_reuse(struct vm_fault *vmf, struct folio *folio) > */ > static inline vm_fault_t vmf_can_call_fault(const struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > > if (vma->vm_ops->map_pages || !(vmf->flags & FAULT_FLAG_VMA_LOCK)) > return 0; > @@ -3420,7 +3420,7 @@ static inline vm_fault_t vmf_can_call_fault(const struct vm_fault *vmf) > */ > vm_fault_t __vmf_anon_prepare(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > vm_fault_t ret = 0; > > if (likely(vma->anon_vma)) > @@ -3456,7 +3456,7 @@ vm_fault_t __vmf_anon_prepare(struct vm_fault *vmf) > static vm_fault_t wp_page_copy(struct vm_fault *vmf) > { > const bool unshare = vmf->flags & FAULT_FLAG_UNSHARE; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct mm_struct *mm = vma->vm_mm; > struct folio *old_folio = NULL; > struct folio *new_folio = NULL; > @@ -3647,7 +3647,7 @@ static vm_fault_t finish_mkwrite_fault(struct vm_fault *vmf, struct folio *folio > */ > static vm_fault_t wp_pfn_shared(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > > if (vma->vm_ops && vma->vm_ops->pfn_mkwrite) { > vm_fault_t ret; > @@ -3670,7 +3670,7 @@ static vm_fault_t wp_pfn_shared(struct vm_fault *vmf) > static vm_fault_t wp_page_shared(struct vm_fault *vmf, struct folio *folio) > __releases(vmf->ptl) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > vm_fault_t ret = 0; > > folio_get(folio); > @@ -3709,7 +3709,7 @@ static vm_fault_t wp_page_shared(struct vm_fault *vmf, struct folio *folio) > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > static bool __wp_can_reuse_large_anon_folio(struct folio *folio, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > bool exclusive = false; > > @@ -3775,14 +3775,14 @@ static bool __wp_can_reuse_large_anon_folio(struct folio *folio, > } > #else /* !CONFIG_TRANSPARENT_HUGEPAGE */ > static bool __wp_can_reuse_large_anon_folio(struct folio *folio, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > BUILD_BUG(); > } > #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ > > static bool wp_can_reuse_anon_folio(struct folio *folio, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && folio_test_large(folio)) > return __wp_can_reuse_large_anon_folio(folio, vma); > @@ -3848,7 +3848,7 @@ static vm_fault_t do_wp_page(struct vm_fault *vmf) > __releases(vmf->ptl) > { > const bool unshare = vmf->flags & FAULT_FLAG_UNSHARE; > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *folio = NULL; > pte_t pte; > > @@ -3939,7 +3939,7 @@ static vm_fault_t do_wp_page(struct vm_fault *vmf) > return wp_page_copy(vmf); > } > > -static void unmap_mapping_range_vma(struct vm_area_struct *vma, > +static void unmap_mapping_range_vma(struct mm_area *vma, > unsigned long start_addr, unsigned long end_addr, > struct zap_details *details) > { > @@ -3951,7 +3951,7 @@ static inline void unmap_mapping_range_tree(struct rb_root_cached *root, > pgoff_t last_index, > struct zap_details *details) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > pgoff_t vba, vea, zba, zea; > > vma_interval_tree_foreach(vma, root, first_index, last_index) { > @@ -4073,7 +4073,7 @@ EXPORT_SYMBOL(unmap_mapping_range); > static vm_fault_t remove_device_exclusive_entry(struct vm_fault *vmf) > { > struct folio *folio = page_folio(vmf->page); > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct mmu_notifier_range range; > vm_fault_t ret; > > @@ -4114,7 +4114,7 @@ static vm_fault_t remove_device_exclusive_entry(struct vm_fault *vmf) > } > > static inline bool should_try_to_free_swap(struct folio *folio, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned int fault_flags) > { > if (!folio_test_swapcache(folio)) > @@ -4205,7 +4205,7 @@ static vm_fault_t handle_pte_marker(struct vm_fault *vmf) > > static struct folio *__alloc_swap_folio(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *folio; > swp_entry_t entry; > > @@ -4303,7 +4303,7 @@ static inline unsigned long thp_swap_suitable_orders(pgoff_t swp_offset, > > static struct folio *alloc_swap_folio(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > unsigned long orders; > struct folio *folio; > unsigned long addr; > @@ -4399,7 +4399,7 @@ static DECLARE_WAIT_QUEUE_HEAD(swapcache_wq); > */ > vm_fault_t do_swap_page(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *swapcache, *folio = NULL; > DECLARE_WAITQUEUE(wait, current); > struct page *page; > @@ -4859,7 +4859,7 @@ static bool pte_range_none(pte_t *pte, int nr_pages) > > static struct folio *alloc_anon_folio(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > unsigned long orders; > struct folio *folio; > @@ -4949,7 +4949,7 @@ static struct folio *alloc_anon_folio(struct vm_fault *vmf) > */ > static vm_fault_t do_anonymous_page(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > unsigned long addr = vmf->address; > struct folio *folio; > vm_fault_t ret = 0; > @@ -5069,7 +5069,7 @@ static vm_fault_t do_anonymous_page(struct vm_fault *vmf) > */ > static vm_fault_t __do_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *folio; > vm_fault_t ret; > > @@ -5126,7 +5126,7 @@ static vm_fault_t __do_fault(struct vm_fault *vmf) > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > static void deposit_prealloc_pte(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > > pgtable_trans_huge_deposit(vma->vm_mm, vmf->pmd, vmf->prealloc_pte); > /* > @@ -5140,7 +5140,7 @@ static void deposit_prealloc_pte(struct vm_fault *vmf) > vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page) > { > struct folio *folio = page_folio(page); > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > bool write = vmf->flags & FAULT_FLAG_WRITE; > unsigned long haddr = vmf->address & HPAGE_PMD_MASK; > pmd_t entry; > @@ -5229,7 +5229,7 @@ vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page) > void set_pte_range(struct vm_fault *vmf, struct folio *folio, > struct page *page, unsigned int nr, unsigned long addr) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > bool write = vmf->flags & FAULT_FLAG_WRITE; > bool prefault = !in_range(vmf->address, addr, nr * PAGE_SIZE); > pte_t entry; > @@ -5285,7 +5285,7 @@ static bool vmf_pte_changed(struct vm_fault *vmf) > */ > vm_fault_t finish_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct page *page; > struct folio *folio; > vm_fault_t ret; > @@ -5528,7 +5528,7 @@ static vm_fault_t do_read_fault(struct vm_fault *vmf) > > static vm_fault_t do_cow_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *folio; > vm_fault_t ret; > > @@ -5570,7 +5570,7 @@ static vm_fault_t do_cow_fault(struct vm_fault *vmf) > > static vm_fault_t do_shared_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > vm_fault_t ret, tmp; > struct folio *folio; > > @@ -5620,7 +5620,7 @@ static vm_fault_t do_shared_fault(struct vm_fault *vmf) > */ > static vm_fault_t do_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct mm_struct *vm_mm = vma->vm_mm; > vm_fault_t ret; > > @@ -5666,7 +5666,7 @@ int numa_migrate_check(struct folio *folio, struct vm_fault *vmf, > unsigned long addr, int *flags, > bool writable, int *last_cpupid) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > > /* > * Avoid grouping on RO pages in general. RO pages shouldn't hurt as > @@ -5709,7 +5709,7 @@ int numa_migrate_check(struct folio *folio, struct vm_fault *vmf, > return mpol_misplaced(folio, vmf, addr); > } > > -static void numa_rebuild_single_mapping(struct vm_fault *vmf, struct vm_area_struct *vma, > +static void numa_rebuild_single_mapping(struct vm_fault *vmf, struct mm_area *vma, > unsigned long fault_addr, pte_t *fault_pte, > bool writable) > { > @@ -5724,7 +5724,7 @@ static void numa_rebuild_single_mapping(struct vm_fault *vmf, struct vm_area_str > update_mmu_cache_range(vmf, vma, fault_addr, fault_pte, 1); > } > > -static void numa_rebuild_large_mapping(struct vm_fault *vmf, struct vm_area_struct *vma, > +static void numa_rebuild_large_mapping(struct vm_fault *vmf, struct mm_area *vma, > struct folio *folio, pte_t fault_pte, > bool ignore_writable, bool pte_write_upgrade) > { > @@ -5765,7 +5765,7 @@ static void numa_rebuild_large_mapping(struct vm_fault *vmf, struct vm_area_stru > > static vm_fault_t do_numa_page(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct folio *folio = NULL; > int nid = NUMA_NO_NODE; > bool writable = false, ignore_writable = false; > @@ -5856,7 +5856,7 @@ static vm_fault_t do_numa_page(struct vm_fault *vmf) > > static inline vm_fault_t create_huge_pmd(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > if (vma_is_anonymous(vma)) > return do_huge_pmd_anonymous_page(vmf); > if (vma->vm_ops->huge_fault) > @@ -5867,7 +5867,7 @@ static inline vm_fault_t create_huge_pmd(struct vm_fault *vmf) > /* `inline' is required to avoid gcc 4.1.2 build error */ > static inline vm_fault_t wp_huge_pmd(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > const bool unshare = vmf->flags & FAULT_FLAG_UNSHARE; > vm_fault_t ret; > > @@ -5900,7 +5900,7 @@ static vm_fault_t create_huge_pud(struct vm_fault *vmf) > { > #if defined(CONFIG_TRANSPARENT_HUGEPAGE) && \ > defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD) > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > /* No support for anonymous transparent PUD pages yet */ > if (vma_is_anonymous(vma)) > return VM_FAULT_FALLBACK; > @@ -5914,7 +5914,7 @@ static vm_fault_t wp_huge_pud(struct vm_fault *vmf, pud_t orig_pud) > { > #if defined(CONFIG_TRANSPARENT_HUGEPAGE) && \ > defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD) > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > vm_fault_t ret; > > /* No support for anonymous transparent PUD pages yet */ > @@ -6043,7 +6043,7 @@ static vm_fault_t handle_pte_fault(struct vm_fault *vmf) > * the result, the mmap_lock is not held on exit. See filemap_fault() > * and __folio_lock_or_retry(). > */ > -static vm_fault_t __handle_mm_fault(struct vm_area_struct *vma, > +static vm_fault_t __handle_mm_fault(struct mm_area *vma, > unsigned long address, unsigned int flags) > { > struct vm_fault vmf = { > @@ -6208,7 +6208,7 @@ static inline void mm_account_fault(struct mm_struct *mm, struct pt_regs *regs, > } > > #ifdef CONFIG_LRU_GEN > -static void lru_gen_enter_fault(struct vm_area_struct *vma) > +static void lru_gen_enter_fault(struct mm_area *vma) > { > /* the LRU algorithm only applies to accesses with recency */ > current->in_lru_fault = vma_has_recency(vma); > @@ -6219,7 +6219,7 @@ static void lru_gen_exit_fault(void) > current->in_lru_fault = false; > } > #else > -static void lru_gen_enter_fault(struct vm_area_struct *vma) > +static void lru_gen_enter_fault(struct mm_area *vma) > { > } > > @@ -6228,7 +6228,7 @@ static void lru_gen_exit_fault(void) > } > #endif /* CONFIG_LRU_GEN */ > > -static vm_fault_t sanitize_fault_flags(struct vm_area_struct *vma, > +static vm_fault_t sanitize_fault_flags(struct mm_area *vma, > unsigned int *flags) > { > if (unlikely(*flags & FAULT_FLAG_UNSHARE)) { > @@ -6270,7 +6270,7 @@ static vm_fault_t sanitize_fault_flags(struct vm_area_struct *vma, > * The mmap_lock may have been released depending on flags and our > * return value. See filemap_fault() and __folio_lock_or_retry(). > */ > -vm_fault_t handle_mm_fault(struct vm_area_struct *vma, unsigned long address, > +vm_fault_t handle_mm_fault(struct mm_area *vma, unsigned long address, > unsigned int flags, struct pt_regs *regs) > { > /* If the fault handler drops the mmap_lock, vma may be freed */ > @@ -6397,10 +6397,10 @@ static inline bool upgrade_mmap_lock_carefully(struct mm_struct *mm, struct pt_r > * We can also actually take the mm lock for writing if we > * need to extend the vma, which helps the VM layer a lot. > */ > -struct vm_area_struct *lock_mm_and_find_vma(struct mm_struct *mm, > +struct mm_area *lock_mm_and_find_vma(struct mm_struct *mm, > unsigned long addr, struct pt_regs *regs) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > if (!get_mmap_lock_carefully(mm, regs)) > return NULL; > @@ -6454,7 +6454,7 @@ struct vm_area_struct *lock_mm_and_find_vma(struct mm_struct *mm, > #endif > > #ifdef CONFIG_PER_VMA_LOCK > -static inline bool __vma_enter_locked(struct vm_area_struct *vma, bool detaching) > +static inline bool __vma_enter_locked(struct mm_area *vma, bool detaching) > { > unsigned int tgt_refcnt = VMA_LOCK_OFFSET; > > @@ -6478,13 +6478,13 @@ static inline bool __vma_enter_locked(struct vm_area_struct *vma, bool detaching > return true; > } > > -static inline void __vma_exit_locked(struct vm_area_struct *vma, bool *detached) > +static inline void __vma_exit_locked(struct mm_area *vma, bool *detached) > { > *detached = refcount_sub_and_test(VMA_LOCK_OFFSET, &vma->vm_refcnt); > rwsem_release(&vma->vmlock_dep_map, _RET_IP_); > } > > -void __vma_start_write(struct vm_area_struct *vma, unsigned int mm_lock_seq) > +void __vma_start_write(struct mm_area *vma, unsigned int mm_lock_seq) > { > bool locked; > > @@ -6512,7 +6512,7 @@ void __vma_start_write(struct vm_area_struct *vma, unsigned int mm_lock_seq) > } > EXPORT_SYMBOL_GPL(__vma_start_write); > > -void vma_mark_detached(struct vm_area_struct *vma) > +void vma_mark_detached(struct mm_area *vma) > { > vma_assert_write_locked(vma); > vma_assert_attached(vma); > @@ -6541,11 +6541,11 @@ void vma_mark_detached(struct vm_area_struct *vma) > * stable and not isolated. If the VMA is not found or is being modified the > * function returns NULL. > */ > -struct vm_area_struct *lock_vma_under_rcu(struct mm_struct *mm, > +struct mm_area *lock_vma_under_rcu(struct mm_struct *mm, > unsigned long address) > { > MA_STATE(mas, &mm->mm_mt, address, address); > - struct vm_area_struct *vma; > + struct mm_area *vma; > > rcu_read_lock(); > retry: > @@ -6675,7 +6675,7 @@ static inline void pfnmap_args_setup(struct follow_pfnmap_args *args, > args->special = special; > } > > -static inline void pfnmap_lockdep_assert(struct vm_area_struct *vma) > +static inline void pfnmap_lockdep_assert(struct mm_area *vma) > { > #ifdef CONFIG_LOCKDEP > struct file *file = vma->vm_file; > @@ -6722,7 +6722,7 @@ static inline void pfnmap_lockdep_assert(struct vm_area_struct *vma) > */ > int follow_pfnmap_start(struct follow_pfnmap_args *args) > { > - struct vm_area_struct *vma = args->vma; > + struct mm_area *vma = args->vma; > unsigned long address = args->address; > struct mm_struct *mm = vma->vm_mm; > spinlock_t *lock; > @@ -6825,7 +6825,7 @@ EXPORT_SYMBOL_GPL(follow_pfnmap_end); > * iomem mapping. This callback is used by access_process_vm() when the @vma is > * not page based. > */ > -int generic_access_phys(struct vm_area_struct *vma, unsigned long addr, > +int generic_access_phys(struct mm_area *vma, unsigned long addr, > void *buf, int len, int write) > { > resource_size_t phys_addr; > @@ -6899,7 +6899,7 @@ static int __access_remote_vm(struct mm_struct *mm, unsigned long addr, > while (len) { > int bytes, offset; > void *maddr; > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > struct page *page = get_user_page_vma_remote(mm, addr, > gup_flags, &vma); > > @@ -7024,7 +7024,7 @@ static int __copy_remote_vm_str(struct mm_struct *mm, unsigned long addr, > int bytes, offset, retval; > void *maddr; > struct page *page; > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > > page = get_user_page_vma_remote(mm, addr, gup_flags, &vma); > if (IS_ERR(page)) { > @@ -7120,7 +7120,7 @@ EXPORT_SYMBOL_GPL(copy_remote_vm_str); > void print_vma_addr(char *prefix, unsigned long ip) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > /* > * we might be running from an atomic context so we cannot sleep > @@ -7251,7 +7251,7 @@ void folio_zero_user(struct folio *folio, unsigned long addr_hint) > > static int copy_user_gigantic_page(struct folio *dst, struct folio *src, > unsigned long addr_hint, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned int nr_pages) > { > unsigned long addr = ALIGN_DOWN(addr_hint, folio_size(dst)); > @@ -7274,7 +7274,7 @@ static int copy_user_gigantic_page(struct folio *dst, struct folio *src, > struct copy_subpage_arg { > struct folio *dst; > struct folio *src; > - struct vm_area_struct *vma; > + struct mm_area *vma; > }; > > static int copy_subpage(unsigned long addr, int idx, void *arg) > @@ -7289,7 +7289,7 @@ static int copy_subpage(unsigned long addr, int idx, void *arg) > } > > int copy_user_large_folio(struct folio *dst, struct folio *src, > - unsigned long addr_hint, struct vm_area_struct *vma) > + unsigned long addr_hint, struct mm_area *vma) > { > unsigned int nr_pages = folio_nr_pages(dst); > struct copy_subpage_arg arg = { > @@ -7364,13 +7364,13 @@ void ptlock_free(struct ptdesc *ptdesc) > } > #endif > > -void vma_pgtable_walk_begin(struct vm_area_struct *vma) > +void vma_pgtable_walk_begin(struct mm_area *vma) > { > if (is_vm_hugetlb_page(vma)) > hugetlb_vma_lock_read(vma); > } > > -void vma_pgtable_walk_end(struct vm_area_struct *vma) > +void vma_pgtable_walk_end(struct mm_area *vma) > { > if (is_vm_hugetlb_page(vma)) > hugetlb_vma_unlock_read(vma); > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index b28a1e6ae096..3403a4805d17 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -445,7 +445,7 @@ void mpol_rebind_task(struct task_struct *tsk, const nodemask_t *new) > */ > void mpol_rebind_mm(struct mm_struct *mm, nodemask_t *new) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, 0); > > mmap_write_lock(mm); > @@ -511,7 +511,7 @@ struct queue_pages { > nodemask_t *nmask; > unsigned long start; > unsigned long end; > - struct vm_area_struct *first; > + struct mm_area *first; > struct folio *large; /* note last large folio encountered */ > long nr_failed; /* could not be isolated at this time */ > }; > @@ -566,7 +566,7 @@ static void queue_folios_pmd(pmd_t *pmd, struct mm_walk *walk) > static int queue_folios_pte_range(pmd_t *pmd, unsigned long addr, > unsigned long end, struct mm_walk *walk) > { > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > struct folio *folio; > struct queue_pages *qp = walk->private; > unsigned long flags = qp->flags; > @@ -698,7 +698,7 @@ static int queue_folios_hugetlb(pte_t *pte, unsigned long hmask, > * an architecture makes a different choice, it will need further > * changes to the core. > */ > -unsigned long change_prot_numa(struct vm_area_struct *vma, > +unsigned long change_prot_numa(struct mm_area *vma, > unsigned long addr, unsigned long end) > { > struct mmu_gather tlb; > @@ -721,7 +721,7 @@ unsigned long change_prot_numa(struct vm_area_struct *vma, > static int queue_pages_test_walk(unsigned long start, unsigned long end, > struct mm_walk *walk) > { > - struct vm_area_struct *next, *vma = walk->vma; > + struct mm_area *next, *vma = walk->vma; > struct queue_pages *qp = walk->private; > unsigned long flags = qp->flags; > > @@ -817,7 +817,7 @@ queue_pages_range(struct mm_struct *mm, unsigned long start, unsigned long end, > * Apply policy to a single VMA > * This must be called with the mmap_lock held for writing. > */ > -static int vma_replace_policy(struct vm_area_struct *vma, > +static int vma_replace_policy(struct mm_area *vma, > struct mempolicy *pol) > { > int err; > @@ -847,8 +847,8 @@ static int vma_replace_policy(struct vm_area_struct *vma, > } > > /* Split or merge the VMA (if required) and apply the new policy */ > -static int mbind_range(struct vma_iterator *vmi, struct vm_area_struct *vma, > - struct vm_area_struct **prev, unsigned long start, > +static int mbind_range(struct vma_iterator *vmi, struct mm_area *vma, > + struct mm_area **prev, unsigned long start, > unsigned long end, struct mempolicy *new_pol) > { > unsigned long vmstart, vmend; > @@ -960,7 +960,7 @@ static long do_get_mempolicy(int *policy, nodemask_t *nmask, > { > int err; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > struct mempolicy *pol = current->mempolicy, *pol_refcount = NULL; > > if (flags & > @@ -1094,7 +1094,7 @@ static long migrate_to_node(struct mm_struct *mm, int source, int dest, > int flags) > { > nodemask_t nmask; > - struct vm_area_struct *vma; > + struct mm_area *vma; > LIST_HEAD(pagelist); > long nr_failed; > long err = 0; > @@ -1299,7 +1299,7 @@ static long do_mbind(unsigned long start, unsigned long len, > nodemask_t *nmask, unsigned long flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > struct vma_iterator vmi; > struct migration_mpol mmpol; > struct mempolicy *new; > @@ -1572,7 +1572,7 @@ SYSCALL_DEFINE4(set_mempolicy_home_node, unsigned long, start, unsigned long, le > unsigned long, home_node, unsigned long, flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > struct mempolicy *new, *old; > unsigned long end; > int err = -ENOENT; > @@ -1799,7 +1799,7 @@ SYSCALL_DEFINE5(get_mempolicy, int __user *, policy, > return kernel_get_mempolicy(policy, nmask, maxnode, addr, flags); > } > > -bool vma_migratable(struct vm_area_struct *vma) > +bool vma_migratable(struct mm_area *vma) > { > if (vma->vm_flags & (VM_IO | VM_PFNMAP)) > return false; > @@ -1827,7 +1827,7 @@ bool vma_migratable(struct vm_area_struct *vma) > return true; > } > > -struct mempolicy *__get_vma_policy(struct vm_area_struct *vma, > +struct mempolicy *__get_vma_policy(struct mm_area *vma, > unsigned long addr, pgoff_t *ilx) > { > *ilx = 0; > @@ -1850,7 +1850,7 @@ struct mempolicy *__get_vma_policy(struct vm_area_struct *vma, > * freeing by another task. It is the caller's responsibility to free the > * extra reference for shared policies. > */ > -struct mempolicy *get_vma_policy(struct vm_area_struct *vma, > +struct mempolicy *get_vma_policy(struct mm_area *vma, > unsigned long addr, int order, pgoff_t *ilx) > { > struct mempolicy *pol; > @@ -1866,7 +1866,7 @@ struct mempolicy *get_vma_policy(struct vm_area_struct *vma, > return pol; > } > > -bool vma_policy_mof(struct vm_area_struct *vma) > +bool vma_policy_mof(struct mm_area *vma) > { > struct mempolicy *pol; > > @@ -2135,7 +2135,7 @@ static nodemask_t *policy_nodemask(gfp_t gfp, struct mempolicy *pol, > * If the effective policy is 'bind' or 'prefer-many', returns a pointer > * to the mempolicy's @nodemask for filtering the zonelist. > */ > -int huge_node(struct vm_area_struct *vma, unsigned long addr, gfp_t gfp_flags, > +int huge_node(struct mm_area *vma, unsigned long addr, gfp_t gfp_flags, > struct mempolicy **mpol, nodemask_t **nodemask) > { > pgoff_t ilx; > @@ -2341,7 +2341,7 @@ struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order, > * > * Return: The folio on success or NULL if allocation fails. > */ > -struct folio *vma_alloc_folio_noprof(gfp_t gfp, int order, struct vm_area_struct *vma, > +struct folio *vma_alloc_folio_noprof(gfp_t gfp, int order, struct mm_area *vma, > unsigned long addr) > { > struct mempolicy *pol; > @@ -2607,7 +2607,7 @@ unsigned long alloc_pages_bulk_mempolicy_noprof(gfp_t gfp, > nr_pages, page_array); > } > > -int vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst) > +int vma_dup_policy(struct mm_area *src, struct mm_area *dst) > { > struct mempolicy *pol = mpol_dup(src->vm_policy); > > @@ -2795,7 +2795,7 @@ int mpol_misplaced(struct folio *folio, struct vm_fault *vmf, > pgoff_t ilx; > struct zoneref *z; > int curnid = folio_nid(folio); > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > int thiscpu = raw_smp_processor_id(); > int thisnid = numa_node_id(); > int polnid = NUMA_NO_NODE; > @@ -3054,7 +3054,7 @@ void mpol_shared_policy_init(struct shared_policy *sp, struct mempolicy *mpol) > } > > int mpol_set_shared_policy(struct shared_policy *sp, > - struct vm_area_struct *vma, struct mempolicy *pol) > + struct mm_area *vma, struct mempolicy *pol) > { > int err; > struct sp_node *new = NULL; > diff --git a/mm/migrate.c b/mm/migrate.c > index f3ee6d8d5e2e..7909e4ae797c 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -237,7 +237,7 @@ struct rmap_walk_arg { > * Restore a potential migration pte to a working pte entry > */ > static bool remove_migration_pte(struct folio *folio, > - struct vm_area_struct *vma, unsigned long addr, void *arg) > + struct mm_area *vma, unsigned long addr, void *arg) > { > struct rmap_walk_arg *rmap_walk_arg = arg; > DEFINE_FOLIO_VMA_WALK(pvmw, rmap_walk_arg->folio, vma, addr, PVMW_SYNC | PVMW_MIGRATION); > @@ -405,7 +405,7 @@ void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, > * > * This function will release the vma lock before returning. > */ > -void migration_entry_wait_huge(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) > +void migration_entry_wait_huge(struct mm_area *vma, unsigned long addr, pte_t *ptep) > { > spinlock_t *ptl = huge_pte_lockptr(hstate_vma(vma), vma->vm_mm, ptep); > pte_t pte; > @@ -2254,7 +2254,7 @@ static int __add_folio_for_migration(struct folio *folio, int node, > static int add_folio_for_migration(struct mm_struct *mm, const void __user *p, > int node, struct list_head *pagelist, bool migrate_all) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct folio_walk fw; > struct folio *folio; > unsigned long addr; > @@ -2423,7 +2423,7 @@ static void do_pages_stat_array(struct mm_struct *mm, unsigned long nr_pages, > > for (i = 0; i < nr_pages; i++) { > unsigned long addr = (unsigned long)(*pages); > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct folio_walk fw; > struct folio *folio; > int err = -EFAULT; > @@ -2640,7 +2640,7 @@ static struct folio *alloc_misplaced_dst_folio(struct folio *src, > * permitted. Must be called with the PTL still held. > */ > int migrate_misplaced_folio_prepare(struct folio *folio, > - struct vm_area_struct *vma, int node) > + struct mm_area *vma, int node) > { > int nr_pages = folio_nr_pages(folio); > pg_data_t *pgdat = NODE_DATA(node); > diff --git a/mm/migrate_device.c b/mm/migrate_device.c > index 3158afe7eb23..96786d64edd6 100644 > --- a/mm/migrate_device.c > +++ b/mm/migrate_device.c > @@ -62,7 +62,7 @@ static int migrate_vma_collect_pmd(pmd_t *pmdp, > struct migrate_vma *migrate = walk->private; > struct folio *fault_folio = migrate->fault_page ? > page_folio(migrate->fault_page) : NULL; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > struct mm_struct *mm = vma->vm_mm; > unsigned long addr = start, unmapped = 0; > spinlock_t *ptl; > @@ -589,7 +589,7 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate, > unsigned long *src) > { > struct folio *folio = page_folio(page); > - struct vm_area_struct *vma = migrate->vma; > + struct mm_area *vma = migrate->vma; > struct mm_struct *mm = vma->vm_mm; > bool flush = false; > spinlock_t *ptl; > diff --git a/mm/mincore.c b/mm/mincore.c > index 832f29f46767..6b53d9361ec7 100644 > --- a/mm/mincore.c > +++ b/mm/mincore.c > @@ -70,7 +70,7 @@ static unsigned char mincore_page(struct address_space *mapping, pgoff_t index) > } > > static int __mincore_unmapped_range(unsigned long addr, unsigned long end, > - struct vm_area_struct *vma, unsigned char *vec) > + struct mm_area *vma, unsigned char *vec) > { > unsigned long nr = (end - addr) >> PAGE_SHIFT; > int i; > @@ -101,7 +101,7 @@ static int mincore_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, > struct mm_walk *walk) > { > spinlock_t *ptl; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > pte_t *ptep; > unsigned char *vec = walk->private; > int nr = (end - addr) >> PAGE_SHIFT; > @@ -155,7 +155,7 @@ static int mincore_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, > return 0; > } > > -static inline bool can_do_mincore(struct vm_area_struct *vma) > +static inline bool can_do_mincore(struct mm_area *vma) > { > if (vma_is_anonymous(vma)) > return true; > @@ -186,7 +186,7 @@ static const struct mm_walk_ops mincore_walk_ops = { > */ > static long do_mincore(unsigned long addr, unsigned long pages, unsigned char *vec) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long end; > int err; > > diff --git a/mm/mlock.c b/mm/mlock.c > index 3cb72b579ffd..8c13cce0d0cb 100644 > --- a/mm/mlock.c > +++ b/mm/mlock.c > @@ -319,7 +319,7 @@ static inline unsigned int folio_mlock_step(struct folio *folio, > } > > static inline bool allow_mlock_munlock(struct folio *folio, > - struct vm_area_struct *vma, unsigned long start, > + struct mm_area *vma, unsigned long start, > unsigned long end, unsigned int step) > { > /* > @@ -353,7 +353,7 @@ static int mlock_pte_range(pmd_t *pmd, unsigned long addr, > unsigned long end, struct mm_walk *walk) > > { > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > spinlock_t *ptl; > pte_t *start_pte, *pte; > pte_t ptent; > @@ -422,7 +422,7 @@ static int mlock_pte_range(pmd_t *pmd, unsigned long addr, > * Called for mlock(), mlock2() and mlockall(), to set @vma VM_LOCKED; > * called for munlock() and munlockall(), to clear VM_LOCKED from @vma. > */ > -static void mlock_vma_pages_range(struct vm_area_struct *vma, > +static void mlock_vma_pages_range(struct mm_area *vma, > unsigned long start, unsigned long end, vm_flags_t newflags) > { > static const struct mm_walk_ops mlock_walk_ops = { > @@ -465,8 +465,8 @@ 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 vma_iterator *vmi, struct vm_area_struct *vma, > - struct vm_area_struct **prev, unsigned long start, > +static int mlock_fixup(struct vma_iterator *vmi, struct mm_area *vma, > + struct mm_area **prev, unsigned long start, > unsigned long end, vm_flags_t newflags) > { > struct mm_struct *mm = vma->vm_mm; > @@ -517,7 +517,7 @@ static int apply_vma_lock_flags(unsigned long start, size_t len, > vm_flags_t flags) > { > unsigned long nstart, end, tmp; > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > VMA_ITERATOR(vmi, current->mm, start); > > VM_BUG_ON(offset_in_page(start)); > @@ -573,7 +573,7 @@ static int apply_vma_lock_flags(unsigned long start, size_t len, > static unsigned long count_mm_mlocked_page_nr(struct mm_struct *mm, > unsigned long start, size_t len) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long count = 0; > unsigned long end; > VMA_ITERATOR(vmi, mm, start); > @@ -706,7 +706,7 @@ SYSCALL_DEFINE2(munlock, unsigned long, start, size_t, len) > static int apply_mlockall_flags(int flags) > { > VMA_ITERATOR(vmi, current->mm, 0); > - struct vm_area_struct *vma, *prev = NULL; > + struct mm_area *vma, *prev = NULL; > vm_flags_t to_add = 0; > > current->mm->def_flags &= ~VM_LOCKED_MASK; > diff --git a/mm/mmap.c b/mm/mmap.c > index bd210aaf7ebd..d7d95a6f343d 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -78,7 +78,7 @@ static bool ignore_rlimit_data; > core_param(ignore_rlimit_data, ignore_rlimit_data, bool, 0644); > > /* Update vma->vm_page_prot to reflect vma->vm_flags. */ > -void vma_set_page_prot(struct vm_area_struct *vma) > +void vma_set_page_prot(struct mm_area *vma) > { > unsigned long vm_flags = vma->vm_flags; > pgprot_t vm_page_prot; > @@ -116,7 +116,7 @@ SYSCALL_DEFINE1(brk, unsigned long, brk) > { > unsigned long newbrk, oldbrk, origbrk; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *brkvma, *next = NULL; > + struct mm_area *brkvma, *next = NULL; > unsigned long min_brk; > bool populate = false; > LIST_HEAD(uf); > @@ -693,7 +693,7 @@ generic_get_unmapped_area(struct file *filp, unsigned long addr, > unsigned long flags, vm_flags_t vm_flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > struct vm_unmapped_area_info info = {}; > const unsigned long mmap_end = arch_get_mmap_end(addr, len, flags); > > @@ -741,7 +741,7 @@ generic_get_unmapped_area_topdown(struct file *filp, unsigned long addr, > unsigned long len, unsigned long pgoff, > unsigned long flags, vm_flags_t vm_flags) > { > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > struct mm_struct *mm = current->mm; > struct vm_unmapped_area_info info = {}; > const unsigned long mmap_end = arch_get_mmap_end(addr, len, flags); > @@ -886,7 +886,7 @@ EXPORT_SYMBOL(mm_get_unmapped_area); > * Returns: The first VMA within the provided range, %NULL otherwise. Assumes > * start_addr < end_addr. > */ > -struct vm_area_struct *find_vma_intersection(struct mm_struct *mm, > +struct mm_area *find_vma_intersection(struct mm_struct *mm, > unsigned long start_addr, > unsigned long end_addr) > { > @@ -905,7 +905,7 @@ EXPORT_SYMBOL(find_vma_intersection); > * Returns: The VMA associated with addr, or the next VMA. > * May return %NULL in the case of no VMA at addr or above. > */ > -struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr) > +struct mm_area *find_vma(struct mm_struct *mm, unsigned long addr) > { > unsigned long index = addr; > > @@ -927,11 +927,11 @@ EXPORT_SYMBOL(find_vma); > * Returns: The VMA associated with @addr, or the next vma. > * May return %NULL in the case of no vma at addr or above. > */ > -struct vm_area_struct * > +struct mm_area * > find_vma_prev(struct mm_struct *mm, unsigned long addr, > - struct vm_area_struct **pprev) > + struct mm_area **pprev) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, addr); > > vma = vma_iter_load(&vmi); > @@ -958,14 +958,14 @@ static int __init cmdline_parse_stack_guard_gap(char *p) > __setup("stack_guard_gap=", cmdline_parse_stack_guard_gap); > > #ifdef CONFIG_STACK_GROWSUP > -int expand_stack_locked(struct vm_area_struct *vma, unsigned long address) > +int expand_stack_locked(struct mm_area *vma, unsigned long address) > { > return expand_upwards(vma, address); > } > > -struct vm_area_struct *find_extend_vma_locked(struct mm_struct *mm, unsigned long addr) > +struct mm_area *find_extend_vma_locked(struct mm_struct *mm, unsigned long addr) > { > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > > addr &= PAGE_MASK; > vma = find_vma_prev(mm, addr, &prev); > @@ -980,14 +980,14 @@ struct vm_area_struct *find_extend_vma_locked(struct mm_struct *mm, unsigned lon > return prev; > } > #else > -int expand_stack_locked(struct vm_area_struct *vma, unsigned long address) > +int expand_stack_locked(struct mm_area *vma, unsigned long address) > { > return expand_downwards(vma, address); > } > > -struct vm_area_struct *find_extend_vma_locked(struct mm_struct *mm, unsigned long addr) > +struct mm_area *find_extend_vma_locked(struct mm_struct *mm, unsigned long addr) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long start; > > addr &= PAGE_MASK; > @@ -1028,9 +1028,9 @@ struct vm_area_struct *find_extend_vma_locked(struct mm_struct *mm, unsigned lon > * If no vma is found or it can't be expanded, it returns NULL and has > * dropped the lock. > */ > -struct vm_area_struct *expand_stack(struct mm_struct *mm, unsigned long addr) > +struct mm_area *expand_stack(struct mm_struct *mm, unsigned long addr) > { > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > > mmap_read_unlock(mm); > if (mmap_write_lock_killable(mm)) > @@ -1093,7 +1093,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, > { > > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long populate = 0; > unsigned long ret = -EINVAL; > struct file *file; > @@ -1172,7 +1172,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, > > if (start + size > vma->vm_end) { > VMA_ITERATOR(vmi, mm, vma->vm_end); > - struct vm_area_struct *next, *prev = vma; > + struct mm_area *next, *prev = vma; > > for_each_vma_range(vmi, next, start + size) { > /* hole between vmas ? */ > @@ -1210,7 +1210,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, > int vm_brk_flags(unsigned long addr, unsigned long request, unsigned long flags) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > unsigned long len; > int ret; > bool populate; > @@ -1258,7 +1258,7 @@ EXPORT_SYMBOL(vm_brk_flags); > void exit_mmap(struct mm_struct *mm) > { > struct mmu_gather tlb; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long nr_accounted = 0; > VMA_ITERATOR(vmi, mm, 0); > int count = 0; > @@ -1325,7 +1325,7 @@ void exit_mmap(struct mm_struct *mm) > * and into the inode's i_mmap tree. If vm_file is non-NULL > * then i_mmap_rwsem is taken here. > */ > -int insert_vm_struct(struct mm_struct *mm, struct vm_area_struct *vma) > +int insert_vm_struct(struct mm_struct *mm, struct mm_area *vma) > { > unsigned long charged = vma_pages(vma); > > @@ -1411,7 +1411,7 @@ static vm_fault_t special_mapping_fault(struct vm_fault *vmf); > * > * Having a close hook prevents vma merging regardless of flags. > */ > -static void special_mapping_close(struct vm_area_struct *vma) > +static void special_mapping_close(struct mm_area *vma) > { > const struct vm_special_mapping *sm = vma->vm_private_data; > > @@ -1419,12 +1419,12 @@ static void special_mapping_close(struct vm_area_struct *vma) > sm->close(sm, vma); > } > > -static const char *special_mapping_name(struct vm_area_struct *vma) > +static const char *special_mapping_name(struct mm_area *vma) > { > return ((struct vm_special_mapping *)vma->vm_private_data)->name; > } > > -static int special_mapping_mremap(struct vm_area_struct *new_vma) > +static int special_mapping_mremap(struct mm_area *new_vma) > { > struct vm_special_mapping *sm = new_vma->vm_private_data; > > @@ -1437,7 +1437,7 @@ static int special_mapping_mremap(struct vm_area_struct *new_vma) > return 0; > } > > -static int special_mapping_split(struct vm_area_struct *vma, unsigned long addr) > +static int special_mapping_split(struct mm_area *vma, unsigned long addr) > { > /* > * Forbid splitting special mappings - kernel has expectations over > @@ -1460,7 +1460,7 @@ static const struct vm_operations_struct special_mapping_vmops = { > > static vm_fault_t special_mapping_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > pgoff_t pgoff; > struct page **pages; > struct vm_special_mapping *sm = vma->vm_private_data; > @@ -1483,14 +1483,14 @@ static vm_fault_t special_mapping_fault(struct vm_fault *vmf) > return VM_FAULT_SIGBUS; > } > > -static struct vm_area_struct *__install_special_mapping( > +static struct mm_area *__install_special_mapping( > struct mm_struct *mm, > unsigned long addr, unsigned long len, > unsigned long vm_flags, void *priv, > const struct vm_operations_struct *ops) > { > int ret; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > vma = vm_area_alloc(mm); > if (unlikely(vma == NULL)) > @@ -1519,7 +1519,7 @@ static struct vm_area_struct *__install_special_mapping( > return ERR_PTR(ret); > } > > -bool vma_is_special_mapping(const struct vm_area_struct *vma, > +bool vma_is_special_mapping(const struct mm_area *vma, > const struct vm_special_mapping *sm) > { > return vma->vm_private_data == sm && > @@ -1535,7 +1535,7 @@ bool vma_is_special_mapping(const struct vm_area_struct *vma, > * The array pointer and the pages it points to are assumed to stay alive > * for as long as this mapping might exist. > */ > -struct vm_area_struct *_install_special_mapping( > +struct mm_area *_install_special_mapping( > struct mm_struct *mm, > unsigned long addr, unsigned long len, > unsigned long vm_flags, const struct vm_special_mapping *spec) > @@ -1725,7 +1725,7 @@ subsys_initcall(init_reserve_notifier); > * This function is almost certainly NOT what you want for anything other than > * early executable temporary stack relocation. > */ > -int relocate_vma_down(struct vm_area_struct *vma, unsigned long shift) > +int relocate_vma_down(struct mm_area *vma, unsigned long shift) > { > /* > * The process proceeds as follows: > @@ -1746,7 +1746,7 @@ int relocate_vma_down(struct vm_area_struct *vma, unsigned long shift) > unsigned long new_end = old_end - shift; > VMA_ITERATOR(vmi, mm, new_start); > VMG_STATE(vmg, mm, &vmi, new_start, old_end, 0, vma->vm_pgoff); > - struct vm_area_struct *next; > + struct mm_area *next; > struct mmu_gather tlb; > PAGETABLE_MOVE(pmc, vma, vma, old_start, new_start, length); > > @@ -1824,7 +1824,7 @@ int relocate_vma_down(struct vm_area_struct *vma, unsigned long shift) > * before downgrading it. > */ > bool mmap_read_lock_maybe_expand(struct mm_struct *mm, > - struct vm_area_struct *new_vma, > + struct mm_area *new_vma, > unsigned long addr, bool write) > { > if (!write || addr >= new_vma->vm_start) { > @@ -1845,7 +1845,7 @@ bool mmap_read_lock_maybe_expand(struct mm_struct *mm, > return true; > } > #else > -bool mmap_read_lock_maybe_expand(struct mm_struct *mm, struct vm_area_struct *vma, > +bool mmap_read_lock_maybe_expand(struct mm_struct *mm, struct mm_area *vma, > unsigned long addr, bool write) > { > return false; > diff --git a/mm/mmu_gather.c b/mm/mmu_gather.c > index db7ba4a725d6..c94257a65e5b 100644 > --- a/mm/mmu_gather.c > +++ b/mm/mmu_gather.c > @@ -48,7 +48,7 @@ static bool tlb_next_batch(struct mmu_gather *tlb) > } > > #ifdef CONFIG_SMP > -static void tlb_flush_rmap_batch(struct mmu_gather_batch *batch, struct vm_area_struct *vma) > +static void tlb_flush_rmap_batch(struct mmu_gather_batch *batch, struct mm_area *vma) > { > struct encoded_page **pages = batch->encoded_pages; > > @@ -79,7 +79,7 @@ static void tlb_flush_rmap_batch(struct mmu_gather_batch *batch, struct vm_area_ > * we only need to walk through the current active batch and the > * original local one. > */ > -void tlb_flush_rmaps(struct mmu_gather *tlb, struct vm_area_struct *vma) > +void tlb_flush_rmaps(struct mmu_gather *tlb, struct mm_area *vma) > { > if (!tlb->delayed_rmap) > return; > diff --git a/mm/mprotect.c b/mm/mprotect.c > index 62c1f7945741..2f1f44d80639 100644 > --- a/mm/mprotect.c > +++ b/mm/mprotect.c > @@ -40,7 +40,7 @@ > > #include "internal.h" > > -bool can_change_pte_writable(struct vm_area_struct *vma, unsigned long addr, > +bool can_change_pte_writable(struct mm_area *vma, unsigned long addr, > pte_t pte) > { > struct page *page; > @@ -84,7 +84,7 @@ bool can_change_pte_writable(struct vm_area_struct *vma, unsigned long addr, > } > > static long change_pte_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, pmd_t *pmd, unsigned long addr, > + struct mm_area *vma, pmd_t *pmd, unsigned long addr, > unsigned long end, pgprot_t newprot, unsigned long cp_flags) > { > pte_t *pte, oldpte; > @@ -292,7 +292,7 @@ static long change_pte_range(struct mmu_gather *tlb, > * protection procedure, false otherwise. > */ > static inline bool > -pgtable_split_needed(struct vm_area_struct *vma, unsigned long cp_flags) > +pgtable_split_needed(struct mm_area *vma, unsigned long cp_flags) > { > /* > * pte markers only resides in pte level, if we need pte markers, > @@ -308,7 +308,7 @@ pgtable_split_needed(struct vm_area_struct *vma, unsigned long cp_flags) > * procedure, false otherwise > */ > static inline bool > -pgtable_populate_needed(struct vm_area_struct *vma, unsigned long cp_flags) > +pgtable_populate_needed(struct mm_area *vma, unsigned long cp_flags) > { > /* If not within ioctl(UFFDIO_WRITEPROTECT), then don't bother */ > if (!(cp_flags & MM_CP_UFFD_WP)) > @@ -351,7 +351,7 @@ pgtable_populate_needed(struct vm_area_struct *vma, unsigned long cp_flags) > }) > > static inline long change_pmd_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, pud_t *pud, unsigned long addr, > + struct mm_area *vma, pud_t *pud, unsigned long addr, > unsigned long end, pgprot_t newprot, unsigned long cp_flags) > { > pmd_t *pmd; > @@ -421,7 +421,7 @@ static inline long change_pmd_range(struct mmu_gather *tlb, > } > > static inline long change_pud_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, p4d_t *p4d, unsigned long addr, > + struct mm_area *vma, p4d_t *p4d, unsigned long addr, > unsigned long end, pgprot_t newprot, unsigned long cp_flags) > { > struct mmu_notifier_range range; > @@ -480,7 +480,7 @@ static inline long change_pud_range(struct mmu_gather *tlb, > } > > static inline long change_p4d_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, pgd_t *pgd, unsigned long addr, > + struct mm_area *vma, pgd_t *pgd, unsigned long addr, > unsigned long end, pgprot_t newprot, unsigned long cp_flags) > { > p4d_t *p4d; > @@ -503,7 +503,7 @@ static inline long change_p4d_range(struct mmu_gather *tlb, > } > > static long change_protection_range(struct mmu_gather *tlb, > - struct vm_area_struct *vma, unsigned long addr, > + struct mm_area *vma, unsigned long addr, > unsigned long end, pgprot_t newprot, unsigned long cp_flags) > { > struct mm_struct *mm = vma->vm_mm; > @@ -533,7 +533,7 @@ static long change_protection_range(struct mmu_gather *tlb, > } > > long change_protection(struct mmu_gather *tlb, > - struct vm_area_struct *vma, unsigned long start, > + struct mm_area *vma, unsigned long start, > unsigned long end, unsigned long cp_flags) > { > pgprot_t newprot = vma->vm_page_prot; > @@ -595,7 +595,7 @@ static const struct mm_walk_ops prot_none_walk_ops = { > > int > mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, > - struct vm_area_struct *vma, struct vm_area_struct **pprev, > + struct mm_area *vma, struct mm_area **pprev, > unsigned long start, unsigned long end, unsigned long newflags) > { > struct mm_struct *mm = vma->vm_mm; > @@ -704,7 +704,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, > unsigned long prot, int pkey) > { > unsigned long nstart, end, tmp, reqprot; > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > int error; > const int grows = prot & (PROT_GROWSDOWN|PROT_GROWSUP); > const bool rier = (current->personality & READ_IMPLIES_EXEC) && > diff --git a/mm/mremap.c b/mm/mremap.c > index 0865387531ed..2634b9f85423 100644 > --- a/mm/mremap.c > +++ b/mm/mremap.c > @@ -61,7 +61,7 @@ struct vma_remap_struct { > struct list_head *uf_unmap; > > /* VMA state, determined in do_mremap(). */ > - struct vm_area_struct *vma; > + struct mm_area *vma; > > /* Internal state, determined in do_mremap(). */ > unsigned long delta; /* Absolute delta of old_len,new_len. */ > @@ -139,7 +139,7 @@ static pmd_t *alloc_new_pmd(struct mm_struct *mm, unsigned long addr) > return pmd; > } > > -static void take_rmap_locks(struct vm_area_struct *vma) > +static void take_rmap_locks(struct mm_area *vma) > { > if (vma->vm_file) > i_mmap_lock_write(vma->vm_file->f_mapping); > @@ -147,7 +147,7 @@ static void take_rmap_locks(struct vm_area_struct *vma) > anon_vma_lock_write(vma->anon_vma); > } > > -static void drop_rmap_locks(struct vm_area_struct *vma) > +static void drop_rmap_locks(struct mm_area *vma) > { > if (vma->anon_vma) > anon_vma_unlock_write(vma->anon_vma); > @@ -173,7 +173,7 @@ static pte_t move_soft_dirty_pte(pte_t pte) > static int move_ptes(struct pagetable_move_control *pmc, > unsigned long extent, pmd_t *old_pmd, pmd_t *new_pmd) > { > - struct vm_area_struct *vma = pmc->old; > + struct mm_area *vma = pmc->old; > bool need_clear_uffd_wp = vma_has_uffd_without_event_remap(vma); > struct mm_struct *mm = vma->vm_mm; > pte_t *old_pte, *new_pte, pte; > @@ -297,7 +297,7 @@ static bool move_normal_pmd(struct pagetable_move_control *pmc, > pmd_t *old_pmd, pmd_t *new_pmd) > { > spinlock_t *old_ptl, *new_ptl; > - struct vm_area_struct *vma = pmc->old; > + struct mm_area *vma = pmc->old; > struct mm_struct *mm = vma->vm_mm; > bool res = false; > pmd_t pmd; > @@ -381,7 +381,7 @@ static bool move_normal_pud(struct pagetable_move_control *pmc, > pud_t *old_pud, pud_t *new_pud) > { > spinlock_t *old_ptl, *new_ptl; > - struct vm_area_struct *vma = pmc->old; > + struct mm_area *vma = pmc->old; > struct mm_struct *mm = vma->vm_mm; > pud_t pud; > > @@ -439,7 +439,7 @@ static bool move_huge_pud(struct pagetable_move_control *pmc, > pud_t *old_pud, pud_t *new_pud) > { > spinlock_t *old_ptl, *new_ptl; > - struct vm_area_struct *vma = pmc->old; > + struct mm_area *vma = pmc->old; > struct mm_struct *mm = vma->vm_mm; > pud_t pud; > > @@ -598,7 +598,7 @@ static bool move_pgt_entry(struct pagetable_move_control *pmc, > * so we make an exception for it. > */ > static bool can_align_down(struct pagetable_move_control *pmc, > - struct vm_area_struct *vma, unsigned long addr_to_align, > + struct mm_area *vma, unsigned long addr_to_align, > unsigned long mask) > { > unsigned long addr_masked = addr_to_align & mask; > @@ -902,7 +902,7 @@ static bool vrm_implies_new_addr(struct vma_remap_struct *vrm) > */ > static unsigned long vrm_set_new_addr(struct vma_remap_struct *vrm) > { > - struct vm_area_struct *vma = vrm->vma; > + struct mm_area *vma = vrm->vma; > unsigned long map_flags = 0; > /* Page Offset _into_ the VMA. */ > pgoff_t internal_pgoff = (vrm->addr - vma->vm_start) >> PAGE_SHIFT; > @@ -978,7 +978,7 @@ static void vrm_stat_account(struct vma_remap_struct *vrm, > { > unsigned long pages = bytes >> PAGE_SHIFT; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma = vrm->vma; > + struct mm_area *vma = vrm->vma; > > vm_stat_account(mm, vma->vm_flags, pages); > if (vma->vm_flags & VM_LOCKED) { > @@ -994,7 +994,7 @@ static void vrm_stat_account(struct vma_remap_struct *vrm, > static unsigned long prep_move_vma(struct vma_remap_struct *vrm) > { > unsigned long err = 0; > - struct vm_area_struct *vma = vrm->vma; > + struct mm_area *vma = vrm->vma; > unsigned long old_addr = vrm->addr; > unsigned long old_len = vrm->old_len; > unsigned long dummy = vma->vm_flags; > @@ -1043,7 +1043,7 @@ static void unmap_source_vma(struct vma_remap_struct *vrm) > struct mm_struct *mm = current->mm; > unsigned long addr = vrm->addr; > unsigned long len = vrm->old_len; > - struct vm_area_struct *vma = vrm->vma; > + struct mm_area *vma = vrm->vma; > VMA_ITERATOR(vmi, mm, addr); > int err; > unsigned long vm_start; > @@ -1119,13 +1119,13 @@ static void unmap_source_vma(struct vma_remap_struct *vrm) > unsigned long end = addr + len; > > if (vm_start < addr) { > - struct vm_area_struct *prev = vma_prev(&vmi); > + struct mm_area *prev = vma_prev(&vmi); > > vm_flags_set(prev, VM_ACCOUNT); /* Acquires VMA lock. */ > } > > if (vm_end > end) { > - struct vm_area_struct *next = vma_next(&vmi); > + struct mm_area *next = vma_next(&vmi); > > vm_flags_set(next, VM_ACCOUNT); /* Acquires VMA lock. */ > } > @@ -1141,14 +1141,14 @@ static void unmap_source_vma(struct vma_remap_struct *vrm) > * error code. > */ > static int copy_vma_and_data(struct vma_remap_struct *vrm, > - struct vm_area_struct **new_vma_ptr) > + struct mm_area **new_vma_ptr) > { > unsigned long internal_offset = vrm->addr - vrm->vma->vm_start; > unsigned long internal_pgoff = internal_offset >> PAGE_SHIFT; > unsigned long new_pgoff = vrm->vma->vm_pgoff + internal_pgoff; > unsigned long moved_len; > - struct vm_area_struct *vma = vrm->vma; > - struct vm_area_struct *new_vma; > + struct mm_area *vma = vrm->vma; > + struct mm_area *new_vma; > int err = 0; > PAGETABLE_MOVE(pmc, NULL, NULL, vrm->addr, vrm->new_addr, vrm->old_len); > > @@ -1206,7 +1206,7 @@ static int copy_vma_and_data(struct vma_remap_struct *vrm, > * links from it (if the entire VMA was copied over). > */ > static void dontunmap_complete(struct vma_remap_struct *vrm, > - struct vm_area_struct *new_vma) > + struct mm_area *new_vma) > { > unsigned long start = vrm->addr; > unsigned long end = vrm->addr + vrm->old_len; > @@ -1232,7 +1232,7 @@ static void dontunmap_complete(struct vma_remap_struct *vrm, > static unsigned long move_vma(struct vma_remap_struct *vrm) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *new_vma; > + struct mm_area *new_vma; > unsigned long hiwater_vm; > int err; > > @@ -1288,7 +1288,7 @@ static unsigned long move_vma(struct vma_remap_struct *vrm) > static int resize_is_valid(struct vma_remap_struct *vrm) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma = vrm->vma; > + struct mm_area *vma = vrm->vma; > unsigned long addr = vrm->addr; > unsigned long old_len = vrm->old_len; > unsigned long new_len = vrm->new_len; > @@ -1444,7 +1444,7 @@ static unsigned long mremap_to(struct vma_remap_struct *vrm) > return move_vma(vrm); > } > > -static int vma_expandable(struct vm_area_struct *vma, unsigned long delta) > +static int vma_expandable(struct mm_area *vma, unsigned long delta) > { > unsigned long end = vma->vm_end + delta; > > @@ -1546,7 +1546,7 @@ static unsigned long check_mremap_params(struct vma_remap_struct *vrm) > static unsigned long expand_vma_in_place(struct vma_remap_struct *vrm) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma = vrm->vma; > + struct mm_area *vma = vrm->vma; > VMA_ITERATOR(vmi, mm, vma->vm_end); > > if (!vrm_charge(vrm)) > @@ -1688,7 +1688,7 @@ static unsigned long mremap_at(struct vma_remap_struct *vrm) > static unsigned long do_mremap(struct vma_remap_struct *vrm) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long ret; > > ret = check_mremap_params(vrm); > diff --git a/mm/mseal.c b/mm/mseal.c > index c27197ac04e8..791ea7bc053a 100644 > --- a/mm/mseal.c > +++ b/mm/mseal.c > @@ -16,7 +16,7 @@ > #include > #include "internal.h" > > -static inline void set_vma_sealed(struct vm_area_struct *vma) > +static inline void set_vma_sealed(struct mm_area *vma) > { > vm_flags_set(vma, VM_SEALED); > } > @@ -37,7 +37,7 @@ static bool is_madv_discard(int behavior) > return false; > } > > -static bool is_ro_anon(struct vm_area_struct *vma) > +static bool is_ro_anon(struct mm_area *vma) > { > /* check anonymous mapping. */ > if (vma->vm_file || vma->vm_flags & VM_SHARED) > @@ -57,7 +57,7 @@ static bool is_ro_anon(struct vm_area_struct *vma) > /* > * Check if a vma is allowed to be modified by madvise. > */ > -bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior) > +bool can_modify_vma_madv(struct mm_area *vma, int behavior) > { > if (!is_madv_discard(behavior)) > return true; > @@ -69,8 +69,8 @@ bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior) > return true; > } > > -static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, > - struct vm_area_struct **prev, unsigned long start, > +static int mseal_fixup(struct vma_iterator *vmi, struct mm_area *vma, > + struct mm_area **prev, unsigned long start, > unsigned long end, vm_flags_t newflags) > { > int ret = 0; > @@ -100,7 +100,7 @@ static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, > */ > static int check_mm_seal(unsigned long start, unsigned long end) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long nstart = start; > > VMA_ITERATOR(vmi, current->mm, start); > @@ -126,7 +126,7 @@ static int check_mm_seal(unsigned long start, unsigned long end) > static int apply_mm_seal(unsigned long start, unsigned long end) > { > unsigned long nstart; > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > > VMA_ITERATOR(vmi, current->mm, start); > > diff --git a/mm/msync.c b/mm/msync.c > index ac4c9bfea2e7..c46feec8295a 100644 > --- a/mm/msync.c > +++ b/mm/msync.c > @@ -33,7 +33,7 @@ SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int, flags) > { > unsigned long end; > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int unmapped_error = 0; > int error = -EINVAL; > > diff --git a/mm/nommu.c b/mm/nommu.c > index 617e7ba8022f..af225d5af3bb 100644 > --- a/mm/nommu.c > +++ b/mm/nommu.c > @@ -89,7 +89,7 @@ unsigned int kobjsize(const void *objp) > * PAGE_SIZE for 0-order pages. > */ > if (!PageCompound(page)) { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > vma = find_vma(current->mm, (unsigned long)objp); > if (vma) > @@ -144,7 +144,7 @@ static void *__vmalloc_user_flags(unsigned long size, gfp_t flags) > > ret = __vmalloc(size, flags); > if (ret) { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_write_lock(current->mm); > vma = find_vma(current->mm, (unsigned long)ret); > @@ -325,28 +325,28 @@ void free_vm_area(struct vm_struct *area) > } > EXPORT_SYMBOL_GPL(free_vm_area); > > -int vm_insert_page(struct vm_area_struct *vma, unsigned long addr, > +int vm_insert_page(struct mm_area *vma, unsigned long addr, > struct page *page) > { > return -EINVAL; > } > EXPORT_SYMBOL(vm_insert_page); > > -int vm_insert_pages(struct vm_area_struct *vma, unsigned long addr, > +int vm_insert_pages(struct mm_area *vma, unsigned long addr, > struct page **pages, unsigned long *num) > { > return -EINVAL; > } > EXPORT_SYMBOL(vm_insert_pages); > > -int vm_map_pages(struct vm_area_struct *vma, struct page **pages, > +int vm_map_pages(struct mm_area *vma, struct page **pages, > unsigned long num) > { > return -EINVAL; > } > EXPORT_SYMBOL(vm_map_pages); > > -int vm_map_pages_zero(struct vm_area_struct *vma, struct page **pages, > +int vm_map_pages_zero(struct mm_area *vma, struct page **pages, > unsigned long num) > { > return -EINVAL; > @@ -540,7 +540,7 @@ static void put_nommu_region(struct vm_region *region) > __put_nommu_region(region); > } > > -static void setup_vma_to_mm(struct vm_area_struct *vma, struct mm_struct *mm) > +static void setup_vma_to_mm(struct mm_area *vma, struct mm_struct *mm) > { > vma->vm_mm = mm; > > @@ -556,7 +556,7 @@ static void setup_vma_to_mm(struct vm_area_struct *vma, struct mm_struct *mm) > } > } > > -static void cleanup_vma_from_mm(struct vm_area_struct *vma) > +static void cleanup_vma_from_mm(struct mm_area *vma) > { > vma->vm_mm->map_count--; > /* remove the VMA from the mapping */ > @@ -575,7 +575,7 @@ static void cleanup_vma_from_mm(struct vm_area_struct *vma) > /* > * delete a VMA from its owning mm_struct and address space > */ > -static int delete_vma_from_mm(struct vm_area_struct *vma) > +static int delete_vma_from_mm(struct mm_area *vma) > { > VMA_ITERATOR(vmi, vma->vm_mm, vma->vm_start); > > @@ -594,7 +594,7 @@ static int delete_vma_from_mm(struct vm_area_struct *vma) > /* > * destroy a VMA record > */ > -static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma) > +static void delete_vma(struct mm_struct *mm, struct mm_area *vma) > { > vma_close(vma); > if (vma->vm_file) > @@ -603,7 +603,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma) > vm_area_free(vma); > } > > -struct vm_area_struct *find_vma_intersection(struct mm_struct *mm, > +struct mm_area *find_vma_intersection(struct mm_struct *mm, > unsigned long start_addr, > unsigned long end_addr) > { > @@ -618,7 +618,7 @@ EXPORT_SYMBOL(find_vma_intersection); > * look up the first VMA in which addr resides, NULL if none > * - should be called with mm->mmap_lock at least held readlocked > */ > -struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr) > +struct mm_area *find_vma(struct mm_struct *mm, unsigned long addr) > { > VMA_ITERATOR(vmi, mm, addr); > > @@ -630,10 +630,10 @@ EXPORT_SYMBOL(find_vma); > * At least xtensa ends up having protection faults even with no > * MMU.. No stack expansion, at least. > */ > -struct vm_area_struct *lock_mm_and_find_vma(struct mm_struct *mm, > +struct mm_area *lock_mm_and_find_vma(struct mm_struct *mm, > unsigned long addr, struct pt_regs *regs) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_read_lock(mm); > vma = vma_lookup(mm, addr); > @@ -646,12 +646,12 @@ struct vm_area_struct *lock_mm_and_find_vma(struct mm_struct *mm, > * expand a stack to a given address > * - not supported under NOMMU conditions > */ > -int expand_stack_locked(struct vm_area_struct *vma, unsigned long addr) > +int expand_stack_locked(struct mm_area *vma, unsigned long addr) > { > return -ENOMEM; > } > > -struct vm_area_struct *expand_stack(struct mm_struct *mm, unsigned long addr) > +struct mm_area *expand_stack(struct mm_struct *mm, unsigned long addr) > { > mmap_read_unlock(mm); > return NULL; > @@ -661,11 +661,11 @@ struct vm_area_struct *expand_stack(struct mm_struct *mm, unsigned long addr) > * look up the first VMA exactly that exactly matches addr > * - should be called with mm->mmap_lock at least held readlocked > */ > -static struct vm_area_struct *find_vma_exact(struct mm_struct *mm, > +static struct mm_area *find_vma_exact(struct mm_struct *mm, > unsigned long addr, > unsigned long len) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long end = addr + len; > VMA_ITERATOR(vmi, mm, addr); > > @@ -887,7 +887,7 @@ static unsigned long determine_vm_flags(struct file *file, > * set up a shared mapping on a file (the driver or filesystem provides and > * pins the storage) > */ > -static int do_mmap_shared_file(struct vm_area_struct *vma) > +static int do_mmap_shared_file(struct mm_area *vma) > { > int ret; > > @@ -908,7 +908,7 @@ static int do_mmap_shared_file(struct vm_area_struct *vma) > /* > * set up a private mapping or an anonymous shared mapping > */ > -static int do_mmap_private(struct vm_area_struct *vma, > +static int do_mmap_private(struct mm_area *vma, > struct vm_region *region, > unsigned long len, > unsigned long capabilities) > @@ -1016,7 +1016,7 @@ unsigned long do_mmap(struct file *file, > unsigned long *populate, > struct list_head *uf) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct vm_region *region; > struct rb_node *rb; > unsigned long capabilities, result; > @@ -1300,10 +1300,10 @@ SYSCALL_DEFINE1(old_mmap, struct mmap_arg_struct __user *, arg) > * split a vma into two pieces at address 'addr', a new vma is allocated either > * for the first part or the tail. > */ > -static int split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, > +static int split_vma(struct vma_iterator *vmi, struct mm_area *vma, > unsigned long addr, int new_below) > { > - struct vm_area_struct *new; > + struct mm_area *new; > struct vm_region *region; > unsigned long npages; > struct mm_struct *mm; > @@ -1379,7 +1379,7 @@ static int split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, > * the end > */ > static int vmi_shrink_vma(struct vma_iterator *vmi, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long from, unsigned long to) > { > struct vm_region *region; > @@ -1423,7 +1423,7 @@ static int vmi_shrink_vma(struct vma_iterator *vmi, > int do_munmap(struct mm_struct *mm, unsigned long start, size_t len, struct list_head *uf) > { > VMA_ITERATOR(vmi, mm, start); > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long end; > int ret = 0; > > @@ -1505,7 +1505,7 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) > void exit_mmap(struct mm_struct *mm) > { > VMA_ITERATOR(vmi, mm, 0); > - struct vm_area_struct *vma; > + struct mm_area *vma; > > if (!mm) > return; > @@ -1540,7 +1540,7 @@ static unsigned long do_mremap(unsigned long addr, > unsigned long old_len, unsigned long new_len, > unsigned long flags, unsigned long new_addr) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > /* insanity checks first */ > old_len = PAGE_ALIGN(old_len); > @@ -1584,7 +1584,7 @@ SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len, > return ret; > } > > -int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr, > +int remap_pfn_range(struct mm_area *vma, unsigned long addr, > unsigned long pfn, unsigned long size, pgprot_t prot) > { > if (addr != (pfn << PAGE_SHIFT)) > @@ -1595,7 +1595,7 @@ int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr, > } > EXPORT_SYMBOL(remap_pfn_range); > > -int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long len) > +int vm_iomap_memory(struct mm_area *vma, phys_addr_t start, unsigned long len) > { > unsigned long pfn = start >> PAGE_SHIFT; > unsigned long vm_len = vma->vm_end - vma->vm_start; > @@ -1605,7 +1605,7 @@ int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long > } > EXPORT_SYMBOL(vm_iomap_memory); > > -int remap_vmalloc_range(struct vm_area_struct *vma, void *addr, > +int remap_vmalloc_range(struct mm_area *vma, void *addr, > unsigned long pgoff) > { > unsigned int size = vma->vm_end - vma->vm_start; > @@ -1638,7 +1638,7 @@ EXPORT_SYMBOL(filemap_map_pages); > static int __access_remote_vm(struct mm_struct *mm, unsigned long addr, > void *buf, int len, unsigned int gup_flags) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > int write = gup_flags & FOLL_WRITE; > > if (mmap_read_lock_killable(mm)) > @@ -1717,7 +1717,7 @@ static int __copy_remote_vm_str(struct mm_struct *mm, unsigned long addr, > void *buf, int len) > { > unsigned long addr_end; > - struct vm_area_struct *vma; > + struct mm_area *vma; > int ret = -EFAULT; > > *(char *)buf = '\0'; > @@ -1801,7 +1801,7 @@ EXPORT_SYMBOL_GPL(copy_remote_vm_str); > int nommu_shrink_inode_mappings(struct inode *inode, size_t size, > size_t newsize) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct vm_region *region; > pgoff_t low, high; > size_t r_size, r_top; > diff --git a/mm/oom_kill.c b/mm/oom_kill.c > index 25923cfec9c6..55bd5da45232 100644 > --- a/mm/oom_kill.c > +++ b/mm/oom_kill.c > @@ -514,7 +514,7 @@ static DEFINE_SPINLOCK(oom_reaper_lock); > > static bool __oom_reap_task_mm(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > bool ret = true; > VMA_ITERATOR(vmi, mm, 0); > > diff --git a/mm/page_idle.c b/mm/page_idle.c > index 408aaf29a3ea..655e4c716d0d 100644 > --- a/mm/page_idle.c > +++ b/mm/page_idle.c > @@ -50,7 +50,7 @@ static struct folio *page_idle_get_folio(unsigned long pfn) > } > > static bool page_idle_clear_pte_refs_one(struct folio *folio, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long addr, void *arg) > { > DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, addr, 0); > diff --git a/mm/page_vma_mapped.c b/mm/page_vma_mapped.c > index e463c3be934a..13f7bd3e99c9 100644 > --- a/mm/page_vma_mapped.c > +++ b/mm/page_vma_mapped.c > @@ -183,7 +183,7 @@ static void step_forward(struct page_vma_mapped_walk *pvmw, unsigned long size) > */ > bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw) > { > - struct vm_area_struct *vma = pvmw->vma; > + struct mm_area *vma = pvmw->vma; > struct mm_struct *mm = vma->vm_mm; > unsigned long end; > spinlock_t *ptl; > @@ -342,7 +342,7 @@ bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw) > * Only valid for normal file or anonymous VMAs. > */ > unsigned long page_mapped_in_vma(const struct page *page, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > const struct folio *folio = page_folio(page); > struct page_vma_mapped_walk pvmw = { > diff --git a/mm/pagewalk.c b/mm/pagewalk.c > index e478777c86e1..2266b191ae3e 100644 > --- a/mm/pagewalk.c > +++ b/mm/pagewalk.c > @@ -321,7 +321,7 @@ static unsigned long hugetlb_entry_end(struct hstate *h, unsigned long addr, > static int walk_hugetlb_range(unsigned long addr, unsigned long end, > struct mm_walk *walk) > { > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > struct hstate *h = hstate_vma(vma); > unsigned long next; > unsigned long hmask = huge_page_mask(h); > @@ -364,7 +364,7 @@ static int walk_hugetlb_range(unsigned long addr, unsigned long end, > static int walk_page_test(unsigned long start, unsigned long end, > struct mm_walk *walk) > { > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > const struct mm_walk_ops *ops = walk->ops; > > if (ops->test_walk) > @@ -391,7 +391,7 @@ static int __walk_page_range(unsigned long start, unsigned long end, > struct mm_walk *walk) > { > int err = 0; > - struct vm_area_struct *vma = walk->vma; > + struct mm_area *vma = walk->vma; > const struct mm_walk_ops *ops = walk->ops; > bool is_hugetlb = is_vm_hugetlb_page(vma); > > @@ -426,7 +426,7 @@ static inline void process_mm_walk_lock(struct mm_struct *mm, > mmap_assert_write_locked(mm); > } > > -static inline void process_vma_walk_lock(struct vm_area_struct *vma, > +static inline void process_vma_walk_lock(struct mm_area *vma, > enum page_walk_lock walk_lock) > { > #ifdef CONFIG_PER_VMA_LOCK > @@ -457,7 +457,7 @@ int walk_page_range_mm(struct mm_struct *mm, unsigned long start, > { > int err = 0; > unsigned long next; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_walk walk = { > .ops = ops, > .mm = mm, > @@ -648,7 +648,7 @@ int walk_page_range_novma(struct mm_struct *mm, unsigned long start, > return walk_pgd_range(start, end, &walk); > } > > -int walk_page_range_vma(struct vm_area_struct *vma, unsigned long start, > +int walk_page_range_vma(struct mm_area *vma, unsigned long start, > unsigned long end, const struct mm_walk_ops *ops, > void *private) > { > @@ -671,7 +671,7 @@ int walk_page_range_vma(struct vm_area_struct *vma, unsigned long start, > return __walk_page_range(start, end, &walk); > } > > -int walk_page_vma(struct vm_area_struct *vma, const struct mm_walk_ops *ops, > +int walk_page_vma(struct mm_area *vma, const struct mm_walk_ops *ops, > void *private) > { > struct mm_walk walk = { > @@ -714,7 +714,7 @@ int walk_page_vma(struct vm_area_struct *vma, const struct mm_walk_ops *ops, > * struct mm_struct::mmap_lock is not needed. > * > * Also this means that a caller can't rely on the struct > - * vm_area_struct::vm_flags to be constant across a call, > + * mm_area::vm_flags to be constant across a call, > * except for immutable flags. Callers requiring this shouldn't use > * this function. > * > @@ -729,7 +729,7 @@ int walk_page_mapping(struct address_space *mapping, pgoff_t first_index, > .ops = ops, > .private = private, > }; > - struct vm_area_struct *vma; > + struct mm_area *vma; > pgoff_t vba, vea, cba, cea; > unsigned long start_addr, end_addr; > int err = 0; > @@ -827,7 +827,7 @@ int walk_page_mapping(struct address_space *mapping, pgoff_t first_index, > * Return: folio pointer on success, otherwise NULL. > */ > struct folio *folio_walk_start(struct folio_walk *fw, > - struct vm_area_struct *vma, unsigned long addr, > + struct mm_area *vma, unsigned long addr, > folio_walk_flags_t flags) > { > unsigned long entry_size; > diff --git a/mm/pgtable-generic.c b/mm/pgtable-generic.c > index 5a882f2b10f9..b6e5dc860ec0 100644 > --- a/mm/pgtable-generic.c > +++ b/mm/pgtable-generic.c > @@ -65,7 +65,7 @@ void pmd_clear_bad(pmd_t *pmd) > * used to be done in the caller, but sparc needs minor faults to > * force that call on sun4c so we changed this macro slightly > */ > -int ptep_set_access_flags(struct vm_area_struct *vma, > +int ptep_set_access_flags(struct mm_area *vma, > unsigned long address, pte_t *ptep, > pte_t entry, int dirty) > { > @@ -79,7 +79,7 @@ int ptep_set_access_flags(struct vm_area_struct *vma, > #endif > > #ifndef __HAVE_ARCH_PTEP_CLEAR_YOUNG_FLUSH > -int ptep_clear_flush_young(struct vm_area_struct *vma, > +int ptep_clear_flush_young(struct mm_area *vma, > unsigned long address, pte_t *ptep) > { > int young; > @@ -91,7 +91,7 @@ int ptep_clear_flush_young(struct vm_area_struct *vma, > #endif > > #ifndef __HAVE_ARCH_PTEP_CLEAR_FLUSH > -pte_t ptep_clear_flush(struct vm_area_struct *vma, unsigned long address, > +pte_t ptep_clear_flush(struct mm_area *vma, unsigned long address, > pte_t *ptep) > { > struct mm_struct *mm = (vma)->vm_mm; > @@ -106,7 +106,7 @@ pte_t ptep_clear_flush(struct vm_area_struct *vma, unsigned long address, > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > > #ifndef __HAVE_ARCH_PMDP_SET_ACCESS_FLAGS > -int pmdp_set_access_flags(struct vm_area_struct *vma, > +int pmdp_set_access_flags(struct mm_area *vma, > unsigned long address, pmd_t *pmdp, > pmd_t entry, int dirty) > { > @@ -121,7 +121,7 @@ int pmdp_set_access_flags(struct vm_area_struct *vma, > #endif > > #ifndef __HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH > -int pmdp_clear_flush_young(struct vm_area_struct *vma, > +int pmdp_clear_flush_young(struct mm_area *vma, > unsigned long address, pmd_t *pmdp) > { > int young; > @@ -134,7 +134,7 @@ int pmdp_clear_flush_young(struct vm_area_struct *vma, > #endif > > #ifndef __HAVE_ARCH_PMDP_HUGE_CLEAR_FLUSH > -pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, unsigned long address, > +pmd_t pmdp_huge_clear_flush(struct mm_area *vma, unsigned long address, > pmd_t *pmdp) > { > pmd_t pmd; > @@ -147,7 +147,7 @@ pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, unsigned long address, > } > > #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD > -pud_t pudp_huge_clear_flush(struct vm_area_struct *vma, unsigned long address, > +pud_t pudp_huge_clear_flush(struct mm_area *vma, unsigned long address, > pud_t *pudp) > { > pud_t pud; > @@ -195,7 +195,7 @@ pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) > #endif > > #ifndef __HAVE_ARCH_PMDP_INVALIDATE > -pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, > +pmd_t pmdp_invalidate(struct mm_area *vma, unsigned long address, > pmd_t *pmdp) > { > VM_WARN_ON_ONCE(!pmd_present(*pmdp)); > @@ -206,7 +206,7 @@ pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, > #endif > > #ifndef __HAVE_ARCH_PMDP_INVALIDATE_AD > -pmd_t pmdp_invalidate_ad(struct vm_area_struct *vma, unsigned long address, > +pmd_t pmdp_invalidate_ad(struct mm_area *vma, unsigned long address, > pmd_t *pmdp) > { > VM_WARN_ON_ONCE(!pmd_present(*pmdp)); > @@ -215,7 +215,7 @@ pmd_t pmdp_invalidate_ad(struct vm_area_struct *vma, unsigned long address, > #endif > > #ifndef pmdp_collapse_flush > -pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, > +pmd_t pmdp_collapse_flush(struct mm_area *vma, unsigned long address, > pmd_t *pmdp) > { > /* > diff --git a/mm/rmap.c b/mm/rmap.c > index 67bb273dfb80..6c00e97fec67 100644 > --- a/mm/rmap.c > +++ b/mm/rmap.c > @@ -147,7 +147,7 @@ static void anon_vma_chain_free(struct anon_vma_chain *anon_vma_chain) > kmem_cache_free(anon_vma_chain_cachep, anon_vma_chain); > } > > -static void anon_vma_chain_link(struct vm_area_struct *vma, > +static void anon_vma_chain_link(struct mm_area *vma, > struct anon_vma_chain *avc, > struct anon_vma *anon_vma) > { > @@ -183,7 +183,7 @@ static void anon_vma_chain_link(struct vm_area_struct *vma, > * to do any locking for the common case of already having > * an anon_vma. > */ > -int __anon_vma_prepare(struct vm_area_struct *vma) > +int __anon_vma_prepare(struct mm_area *vma) > { > struct mm_struct *mm = vma->vm_mm; > struct anon_vma *anon_vma, *allocated; > @@ -277,7 +277,7 @@ static inline void unlock_anon_vma_root(struct anon_vma *root) > * walker has a good chance of avoiding scanning the whole hierarchy when it > * searches where page is mapped. > */ > -int anon_vma_clone(struct vm_area_struct *dst, struct vm_area_struct *src) > +int anon_vma_clone(struct mm_area *dst, struct mm_area *src) > { > struct anon_vma_chain *avc, *pavc; > struct anon_vma *root = NULL; > @@ -331,7 +331,7 @@ int anon_vma_clone(struct vm_area_struct *dst, struct vm_area_struct *src) > * the corresponding VMA in the parent process is attached to. > * Returns 0 on success, non-zero on failure. > */ > -int anon_vma_fork(struct vm_area_struct *vma, struct vm_area_struct *pvma) > +int anon_vma_fork(struct mm_area *vma, struct mm_area *pvma) > { > struct anon_vma_chain *avc; > struct anon_vma *anon_vma; > @@ -393,7 +393,7 @@ int anon_vma_fork(struct vm_area_struct *vma, struct vm_area_struct *pvma) > return -ENOMEM; > } > > -void unlink_anon_vmas(struct vm_area_struct *vma) > +void unlink_anon_vmas(struct mm_area *vma) > { > struct anon_vma_chain *avc, *next; > struct anon_vma *root = NULL; > @@ -786,7 +786,7 @@ static bool should_defer_flush(struct mm_struct *mm, enum ttu_flags flags) > * Return: The virtual address corresponding to this page in the VMA. > */ > unsigned long page_address_in_vma(const struct folio *folio, > - const struct page *page, const struct vm_area_struct *vma) > + const struct page *page, const struct mm_area *vma) > { > if (folio_test_anon(folio)) { > struct anon_vma *page__anon_vma = folio_anon_vma(folio); > @@ -847,7 +847,7 @@ struct folio_referenced_arg { > * arg: folio_referenced_arg will be passed > */ > static bool folio_referenced_one(struct folio *folio, > - struct vm_area_struct *vma, unsigned long address, void *arg) > + struct mm_area *vma, unsigned long address, void *arg) > { > struct folio_referenced_arg *pra = arg; > DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, 0); > @@ -947,7 +947,7 @@ static bool folio_referenced_one(struct folio *folio, > return true; > } > > -static bool invalid_folio_referenced_vma(struct vm_area_struct *vma, void *arg) > +static bool invalid_folio_referenced_vma(struct mm_area *vma, void *arg) > { > struct folio_referenced_arg *pra = arg; > struct mem_cgroup *memcg = pra->memcg; > @@ -1024,7 +1024,7 @@ int folio_referenced(struct folio *folio, int is_locked, > static int page_vma_mkclean_one(struct page_vma_mapped_walk *pvmw) > { > int cleaned = 0; > - struct vm_area_struct *vma = pvmw->vma; > + struct mm_area *vma = pvmw->vma; > struct mmu_notifier_range range; > unsigned long address = pvmw->address; > > @@ -1091,7 +1091,7 @@ static int page_vma_mkclean_one(struct page_vma_mapped_walk *pvmw) > return cleaned; > } > > -static bool page_mkclean_one(struct folio *folio, struct vm_area_struct *vma, > +static bool page_mkclean_one(struct folio *folio, struct mm_area *vma, > unsigned long address, void *arg) > { > DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, PVMW_SYNC); > @@ -1102,7 +1102,7 @@ static bool page_mkclean_one(struct folio *folio, struct vm_area_struct *vma, > return true; > } > > -static bool invalid_mkclean_vma(struct vm_area_struct *vma, void *arg) > +static bool invalid_mkclean_vma(struct mm_area *vma, void *arg) > { > if (vma->vm_flags & VM_SHARED) > return false; > @@ -1143,7 +1143,7 @@ struct wrprotect_file_state { > }; > > static bool mapping_wrprotect_range_one(struct folio *folio, > - struct vm_area_struct *vma, unsigned long address, void *arg) > + struct mm_area *vma, unsigned long address, void *arg) > { > struct wrprotect_file_state *state = (struct wrprotect_file_state *)arg; > struct page_vma_mapped_walk pvmw = { > @@ -1222,7 +1222,7 @@ EXPORT_SYMBOL_GPL(mapping_wrprotect_range); > * Returns the number of cleaned PTEs (including PMDs). > */ > int pfn_mkclean_range(unsigned long pfn, unsigned long nr_pages, pgoff_t pgoff, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct page_vma_mapped_walk pvmw = { > .pfn = pfn, > @@ -1242,7 +1242,7 @@ int pfn_mkclean_range(unsigned long pfn, unsigned long nr_pages, pgoff_t pgoff, > } > > static __always_inline unsigned int __folio_add_rmap(struct folio *folio, > - struct page *page, int nr_pages, struct vm_area_struct *vma, > + struct page *page, int nr_pages, struct mm_area *vma, > enum rmap_level level, int *nr_pmdmapped) > { > atomic_t *mapped = &folio->_nr_pages_mapped; > @@ -1327,7 +1327,7 @@ static __always_inline unsigned int __folio_add_rmap(struct folio *folio, > * that folio can be moved into the anon_vma that belongs to just that > * process, so the rmap code will not search the parent or sibling processes. > */ > -void folio_move_anon_rmap(struct folio *folio, struct vm_area_struct *vma) > +void folio_move_anon_rmap(struct folio *folio, struct mm_area *vma) > { > void *anon_vma = vma->anon_vma; > > @@ -1350,7 +1350,7 @@ void folio_move_anon_rmap(struct folio *folio, struct vm_area_struct *vma) > * @address: User virtual address of the mapping > * @exclusive: Whether the folio is exclusive to the process. > */ > -static void __folio_set_anon(struct folio *folio, struct vm_area_struct *vma, > +static void __folio_set_anon(struct folio *folio, struct mm_area *vma, > unsigned long address, bool exclusive) > { > struct anon_vma *anon_vma = vma->anon_vma; > @@ -1383,7 +1383,7 @@ static void __folio_set_anon(struct folio *folio, struct vm_area_struct *vma, > * @address: the user virtual address mapped > */ > static void __page_check_anon_rmap(const struct folio *folio, > - const struct page *page, struct vm_area_struct *vma, > + const struct page *page, struct mm_area *vma, > unsigned long address) > { > /* > @@ -1426,7 +1426,7 @@ static void __folio_mod_stat(struct folio *folio, int nr, int nr_pmdmapped) > } > > static __always_inline void __folio_add_anon_rmap(struct folio *folio, > - struct page *page, int nr_pages, struct vm_area_struct *vma, > + struct page *page, int nr_pages, struct mm_area *vma, > unsigned long address, rmap_t flags, enum rmap_level level) > { > int i, nr, nr_pmdmapped = 0; > @@ -1505,7 +1505,7 @@ static __always_inline void __folio_add_anon_rmap(struct folio *folio, > * (but KSM folios are never downgraded). > */ > void folio_add_anon_rmap_ptes(struct folio *folio, struct page *page, > - int nr_pages, struct vm_area_struct *vma, unsigned long address, > + int nr_pages, struct mm_area *vma, unsigned long address, > rmap_t flags) > { > __folio_add_anon_rmap(folio, page, nr_pages, vma, address, flags, > @@ -1526,7 +1526,7 @@ void folio_add_anon_rmap_ptes(struct folio *folio, struct page *page, > * the anon_vma case: to serialize mapping,index checking after setting. > */ > void folio_add_anon_rmap_pmd(struct folio *folio, struct page *page, > - struct vm_area_struct *vma, unsigned long address, rmap_t flags) > + struct mm_area *vma, unsigned long address, rmap_t flags) > { > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > __folio_add_anon_rmap(folio, page, HPAGE_PMD_NR, vma, address, flags, > @@ -1551,7 +1551,7 @@ void folio_add_anon_rmap_pmd(struct folio *folio, struct page *page, > * > * If the folio is pmd-mappable, it is accounted as a THP. > */ > -void folio_add_new_anon_rmap(struct folio *folio, struct vm_area_struct *vma, > +void folio_add_new_anon_rmap(struct folio *folio, struct mm_area *vma, > unsigned long address, rmap_t flags) > { > const bool exclusive = flags & RMAP_EXCLUSIVE; > @@ -1610,7 +1610,7 @@ void folio_add_new_anon_rmap(struct folio *folio, struct vm_area_struct *vma, > } > > static __always_inline void __folio_add_file_rmap(struct folio *folio, > - struct page *page, int nr_pages, struct vm_area_struct *vma, > + struct page *page, int nr_pages, struct mm_area *vma, > enum rmap_level level) > { > int nr, nr_pmdmapped = 0; > @@ -1637,7 +1637,7 @@ static __always_inline void __folio_add_file_rmap(struct folio *folio, > * The caller needs to hold the page table lock. > */ > void folio_add_file_rmap_ptes(struct folio *folio, struct page *page, > - int nr_pages, struct vm_area_struct *vma) > + int nr_pages, struct mm_area *vma) > { > __folio_add_file_rmap(folio, page, nr_pages, vma, RMAP_LEVEL_PTE); > } > @@ -1653,7 +1653,7 @@ void folio_add_file_rmap_ptes(struct folio *folio, struct page *page, > * The caller needs to hold the page table lock. > */ > void folio_add_file_rmap_pmd(struct folio *folio, struct page *page, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > __folio_add_file_rmap(folio, page, HPAGE_PMD_NR, vma, RMAP_LEVEL_PMD); > @@ -1673,7 +1673,7 @@ void folio_add_file_rmap_pmd(struct folio *folio, struct page *page, > * The caller needs to hold the page table lock. > */ > void folio_add_file_rmap_pud(struct folio *folio, struct page *page, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > #if defined(CONFIG_TRANSPARENT_HUGEPAGE) && \ > defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD) > @@ -1684,7 +1684,7 @@ void folio_add_file_rmap_pud(struct folio *folio, struct page *page, > } > > static __always_inline void __folio_remove_rmap(struct folio *folio, > - struct page *page, int nr_pages, struct vm_area_struct *vma, > + struct page *page, int nr_pages, struct mm_area *vma, > enum rmap_level level) > { > atomic_t *mapped = &folio->_nr_pages_mapped; > @@ -1799,7 +1799,7 @@ static __always_inline void __folio_remove_rmap(struct folio *folio, > * The caller needs to hold the page table lock. > */ > void folio_remove_rmap_ptes(struct folio *folio, struct page *page, > - int nr_pages, struct vm_area_struct *vma) > + int nr_pages, struct mm_area *vma) > { > __folio_remove_rmap(folio, page, nr_pages, vma, RMAP_LEVEL_PTE); > } > @@ -1815,7 +1815,7 @@ void folio_remove_rmap_ptes(struct folio *folio, struct page *page, > * The caller needs to hold the page table lock. > */ > void folio_remove_rmap_pmd(struct folio *folio, struct page *page, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > __folio_remove_rmap(folio, page, HPAGE_PMD_NR, vma, RMAP_LEVEL_PMD); > @@ -1835,7 +1835,7 @@ void folio_remove_rmap_pmd(struct folio *folio, struct page *page, > * The caller needs to hold the page table lock. > */ > void folio_remove_rmap_pud(struct folio *folio, struct page *page, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > #if defined(CONFIG_TRANSPARENT_HUGEPAGE) && \ > defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD) > @@ -1867,7 +1867,7 @@ static inline bool can_batch_unmap_folio_ptes(unsigned long addr, > /* > * @arg: enum ttu_flags will be passed to this argument > */ > -static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma, > +static bool try_to_unmap_one(struct folio *folio, struct mm_area *vma, > unsigned long address, void *arg) > { > struct mm_struct *mm = vma->vm_mm; > @@ -2227,7 +2227,7 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma, > return ret; > } > > -static bool invalid_migration_vma(struct vm_area_struct *vma, void *arg) > +static bool invalid_migration_vma(struct mm_area *vma, void *arg) > { > return vma_is_temporary_stack(vma); > } > @@ -2269,7 +2269,7 @@ void try_to_unmap(struct folio *folio, enum ttu_flags flags) > * If TTU_SPLIT_HUGE_PMD is specified any PMD mappings will be split into PTEs > * containing migration entries. > */ > -static bool try_to_migrate_one(struct folio *folio, struct vm_area_struct *vma, > +static bool try_to_migrate_one(struct folio *folio, struct mm_area *vma, > unsigned long address, void *arg) > { > struct mm_struct *mm = vma->vm_mm; > @@ -2657,7 +2657,7 @@ struct page *make_device_exclusive(struct mm_struct *mm, unsigned long addr, > { > struct mmu_notifier_range range; > struct folio *folio, *fw_folio; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct folio_walk fw; > struct page *page; > swp_entry_t entry; > @@ -2821,7 +2821,7 @@ static void rmap_walk_anon(struct folio *folio, > pgoff_end = pgoff_start + folio_nr_pages(folio) - 1; > anon_vma_interval_tree_foreach(avc, &anon_vma->rb_root, > pgoff_start, pgoff_end) { > - struct vm_area_struct *vma = avc->vma; > + struct mm_area *vma = avc->vma; > unsigned long address = vma_address(vma, pgoff_start, > folio_nr_pages(folio)); > > @@ -2866,7 +2866,7 @@ static void __rmap_walk_file(struct folio *folio, struct address_space *mapping, > struct rmap_walk_control *rwc, bool locked) > { > pgoff_t pgoff_end = pgoff_start + nr_pages - 1; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > VM_WARN_ON_FOLIO(folio && mapping != folio_mapping(folio), folio); > VM_WARN_ON_FOLIO(folio && pgoff_start != folio_pgoff(folio), folio); > @@ -2958,7 +2958,7 @@ void rmap_walk_locked(struct folio *folio, struct rmap_walk_control *rwc) > * Unlike common anonymous pages, anonymous hugepages have no accounting code > * and no lru code, because we handle hugepages differently from common pages. > */ > -void hugetlb_add_anon_rmap(struct folio *folio, struct vm_area_struct *vma, > +void hugetlb_add_anon_rmap(struct folio *folio, struct mm_area *vma, > unsigned long address, rmap_t flags) > { > VM_WARN_ON_FOLIO(!folio_test_hugetlb(folio), folio); > @@ -2973,7 +2973,7 @@ void hugetlb_add_anon_rmap(struct folio *folio, struct vm_area_struct *vma, > } > > void hugetlb_add_new_anon_rmap(struct folio *folio, > - struct vm_area_struct *vma, unsigned long address) > + struct mm_area *vma, unsigned long address) > { > VM_WARN_ON_FOLIO(!folio_test_hugetlb(folio), folio); > > diff --git a/mm/secretmem.c b/mm/secretmem.c > index 1b0a214ee558..6fc28aeec966 100644 > --- a/mm/secretmem.c > +++ b/mm/secretmem.c > @@ -120,7 +120,7 @@ static int secretmem_release(struct inode *inode, struct file *file) > return 0; > } > > -static int secretmem_mmap(struct file *file, struct vm_area_struct *vma) > +static int secretmem_mmap(struct file *file, struct mm_area *vma) > { > unsigned long len = vma->vm_end - vma->vm_start; > > @@ -136,7 +136,7 @@ static int secretmem_mmap(struct file *file, struct vm_area_struct *vma) > return 0; > } > > -bool vma_is_secretmem(struct vm_area_struct *vma) > +bool vma_is_secretmem(struct mm_area *vma) > { > return vma->vm_ops == &secretmem_vm_ops; > } > diff --git a/mm/shmem.c b/mm/shmem.c > index 99327c30507c..c7535853a324 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -160,7 +160,7 @@ static unsigned long shmem_default_max_inodes(void) > > static int shmem_swapin_folio(struct inode *inode, pgoff_t index, > struct folio **foliop, enum sgp_type sgp, gfp_t gfp, > - struct vm_area_struct *vma, vm_fault_t *fault_type); > + struct mm_area *vma, vm_fault_t *fault_type); > > static inline struct shmem_sb_info *SHMEM_SB(struct super_block *sb) > { > @@ -281,12 +281,12 @@ bool shmem_mapping(struct address_space *mapping) > } > EXPORT_SYMBOL_GPL(shmem_mapping); > > -bool vma_is_anon_shmem(struct vm_area_struct *vma) > +bool vma_is_anon_shmem(struct mm_area *vma) > { > return vma->vm_ops == &shmem_anon_vm_ops; > } > > -bool vma_is_shmem(struct vm_area_struct *vma) > +bool vma_is_shmem(struct mm_area *vma) > { > return vma_is_anon_shmem(vma) || vma->vm_ops == &shmem_vm_ops; > } > @@ -614,7 +614,7 @@ static unsigned int shmem_get_orders_within_size(struct inode *inode, > > static unsigned int shmem_huge_global_enabled(struct inode *inode, pgoff_t index, > loff_t write_end, bool shmem_huge_force, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long vm_flags) > { > unsigned int maybe_pmd_order = HPAGE_PMD_ORDER > MAX_PAGECACHE_ORDER ? > @@ -861,7 +861,7 @@ static unsigned long shmem_unused_huge_shrink(struct shmem_sb_info *sbinfo, > > static unsigned int shmem_huge_global_enabled(struct inode *inode, pgoff_t index, > loff_t write_end, bool shmem_huge_force, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long vm_flags) > { > return 0; > @@ -1003,7 +1003,7 @@ unsigned long shmem_partial_swap_usage(struct address_space *mapping, > * This is safe to call without i_rwsem or the i_pages lock thanks to RCU, > * as long as the inode doesn't go away and racy results are not a problem. > */ > -unsigned long shmem_swap_usage(struct vm_area_struct *vma) > +unsigned long shmem_swap_usage(struct mm_area *vma) > { > struct inode *inode = file_inode(vma->vm_file); > struct shmem_inode_info *info = SHMEM_I(inode); > @@ -1755,7 +1755,7 @@ bool shmem_hpage_pmd_enabled(void) > } > > unsigned long shmem_allowable_huge_orders(struct inode *inode, > - struct vm_area_struct *vma, pgoff_t index, > + struct mm_area *vma, pgoff_t index, > loff_t write_end, bool shmem_huge_force) > { > unsigned long mask = READ_ONCE(huge_shmem_orders_always); > @@ -1802,7 +1802,7 @@ static unsigned long shmem_suitable_orders(struct inode *inode, struct vm_fault > struct address_space *mapping, pgoff_t index, > unsigned long orders) > { > - struct vm_area_struct *vma = vmf ? vmf->vma : NULL; > + struct mm_area *vma = vmf ? vmf->vma : NULL; > pgoff_t aligned_index; > unsigned long pages; > int order; > @@ -1959,7 +1959,7 @@ static struct folio *shmem_alloc_and_add_folio(struct vm_fault *vmf, > } > > static struct folio *shmem_swap_alloc_folio(struct inode *inode, > - struct vm_area_struct *vma, pgoff_t index, > + struct mm_area *vma, pgoff_t index, > swp_entry_t entry, int order, gfp_t gfp) > { > struct shmem_inode_info *info = SHMEM_I(inode); > @@ -2036,7 +2036,7 @@ static bool shmem_should_replace_folio(struct folio *folio, gfp_t gfp) > > static int shmem_replace_folio(struct folio **foliop, gfp_t gfp, > struct shmem_inode_info *info, pgoff_t index, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct folio *new, *old = *foliop; > swp_entry_t entry = old->swap; > @@ -2231,7 +2231,7 @@ static int shmem_split_large_entry(struct inode *inode, pgoff_t index, > */ > static int shmem_swapin_folio(struct inode *inode, pgoff_t index, > struct folio **foliop, enum sgp_type sgp, > - gfp_t gfp, struct vm_area_struct *vma, > + gfp_t gfp, struct mm_area *vma, > vm_fault_t *fault_type) > { > struct address_space *mapping = inode->i_mapping; > @@ -2434,7 +2434,7 @@ static int shmem_get_folio_gfp(struct inode *inode, pgoff_t index, > loff_t write_end, struct folio **foliop, enum sgp_type sgp, > gfp_t gfp, struct vm_fault *vmf, vm_fault_t *fault_type) > { > - struct vm_area_struct *vma = vmf ? vmf->vma : NULL; > + struct mm_area *vma = vmf ? vmf->vma : NULL; > struct mm_struct *fault_mm; > struct folio *folio; > int error; > @@ -2853,13 +2853,13 @@ unsigned long shmem_get_unmapped_area(struct file *file, > } > > #ifdef CONFIG_NUMA > -static int shmem_set_policy(struct vm_area_struct *vma, struct mempolicy *mpol) > +static int shmem_set_policy(struct mm_area *vma, struct mempolicy *mpol) > { > struct inode *inode = file_inode(vma->vm_file); > return mpol_set_shared_policy(&SHMEM_I(inode)->policy, vma, mpol); > } > > -static struct mempolicy *shmem_get_policy(struct vm_area_struct *vma, > +static struct mempolicy *shmem_get_policy(struct mm_area *vma, > unsigned long addr, pgoff_t *ilx) > { > struct inode *inode = file_inode(vma->vm_file); > @@ -2924,7 +2924,7 @@ int shmem_lock(struct file *file, int lock, struct ucounts *ucounts) > return retval; > } > > -static int shmem_mmap(struct file *file, struct vm_area_struct *vma) > +static int shmem_mmap(struct file *file, struct mm_area *vma) > { > struct inode *inode = file_inode(file); > > @@ -3148,7 +3148,7 @@ static inline struct inode *shmem_get_inode(struct mnt_idmap *idmap, > > #ifdef CONFIG_USERFAULTFD > int shmem_mfill_atomic_pte(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, > unsigned long src_addr, > uffd_flags_t flags, > @@ -5880,7 +5880,7 @@ EXPORT_SYMBOL_GPL(shmem_file_setup_with_mnt); > * shmem_zero_setup - setup a shared anonymous mapping > * @vma: the vma to be mmapped is prepared by do_mmap > */ > -int shmem_zero_setup(struct vm_area_struct *vma) > +int shmem_zero_setup(struct mm_area *vma) > { > struct file *file; > loff_t size = vma->vm_end - vma->vm_start; > diff --git a/mm/swap.c b/mm/swap.c > index 77b2d5997873..e86133c365cc 100644 > --- a/mm/swap.c > +++ b/mm/swap.c > @@ -514,7 +514,7 @@ EXPORT_SYMBOL(folio_add_lru); > * If the VMA is mlocked, @folio is added to the unevictable list. > * Otherwise, it is treated the same way as folio_add_lru(). > */ > -void folio_add_lru_vma(struct folio *folio, struct vm_area_struct *vma) > +void folio_add_lru_vma(struct folio *folio, struct mm_area *vma) > { > VM_BUG_ON_FOLIO(folio_test_lru(folio), folio); > > diff --git a/mm/swap.h b/mm/swap.h > index 6f4a3f927edb..a2122e9848f5 100644 > --- a/mm/swap.h > +++ b/mm/swap.h > @@ -61,12 +61,12 @@ void clear_shadow_from_swap_cache(int type, unsigned long begin, > unsigned long end); > void swapcache_clear(struct swap_info_struct *si, swp_entry_t entry, int nr); > struct folio *swap_cache_get_folio(swp_entry_t entry, > - struct vm_area_struct *vma, unsigned long addr); > + struct mm_area *vma, unsigned long addr); > struct folio *filemap_get_incore_folio(struct address_space *mapping, > pgoff_t index); > > struct folio *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask, > - struct vm_area_struct *vma, unsigned long addr, > + struct mm_area *vma, unsigned long addr, > struct swap_iocb **plug); > struct folio *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_flags, > struct mempolicy *mpol, pgoff_t ilx, bool *new_page_allocated, > @@ -151,7 +151,7 @@ static inline void swapcache_clear(struct swap_info_struct *si, swp_entry_t entr > } > > static inline struct folio *swap_cache_get_folio(swp_entry_t entry, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > return NULL; > } > diff --git a/mm/swap_state.c b/mm/swap_state.c > index 68fd981b514f..60a1d4571fc8 100644 > --- a/mm/swap_state.c > +++ b/mm/swap_state.c > @@ -284,7 +284,7 @@ static inline bool swap_use_vma_readahead(void) > * Caller must lock the swap device or hold a reference to keep it valid. > */ > struct folio *swap_cache_get_folio(swp_entry_t entry, > - struct vm_area_struct *vma, unsigned long addr) > + struct mm_area *vma, unsigned long addr) > { > struct folio *folio; > > @@ -481,7 +481,7 @@ struct folio *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask, > * swap cache folio lock. > */ > struct folio *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask, > - struct vm_area_struct *vma, unsigned long addr, > + struct mm_area *vma, unsigned long addr, > struct swap_iocb **plug) > { > struct swap_info_struct *si; > @@ -677,7 +677,7 @@ void exit_swap_address_space(unsigned int type) > static int swap_vma_ra_win(struct vm_fault *vmf, unsigned long *start, > unsigned long *end) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > unsigned long ra_val; > unsigned long faddr, prev_faddr, left, right; > unsigned int max_win, hits, prev_win, win; > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 2eff8b51a945..fb46d0ea6aec 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -1971,7 +1971,7 @@ static inline int pte_same_as_swp(pte_t pte, pte_t swp_pte) > * just let do_wp_page work it out if a write is requested later - to > * force COW, vm_page_prot omits write permission from any private vma. > */ > -static int unuse_pte(struct vm_area_struct *vma, pmd_t *pmd, > +static int unuse_pte(struct mm_area *vma, pmd_t *pmd, > unsigned long addr, swp_entry_t entry, struct folio *folio) > { > struct page *page; > @@ -2072,7 +2072,7 @@ static int unuse_pte(struct vm_area_struct *vma, pmd_t *pmd, > return ret; > } > > -static int unuse_pte_range(struct vm_area_struct *vma, pmd_t *pmd, > +static int unuse_pte_range(struct mm_area *vma, pmd_t *pmd, > unsigned long addr, unsigned long end, > unsigned int type) > { > @@ -2145,7 +2145,7 @@ static int unuse_pte_range(struct vm_area_struct *vma, pmd_t *pmd, > return 0; > } > > -static inline int unuse_pmd_range(struct vm_area_struct *vma, pud_t *pud, > +static inline int unuse_pmd_range(struct mm_area *vma, pud_t *pud, > unsigned long addr, unsigned long end, > unsigned int type) > { > @@ -2164,7 +2164,7 @@ static inline int unuse_pmd_range(struct vm_area_struct *vma, pud_t *pud, > return 0; > } > > -static inline int unuse_pud_range(struct vm_area_struct *vma, p4d_t *p4d, > +static inline int unuse_pud_range(struct mm_area *vma, p4d_t *p4d, > unsigned long addr, unsigned long end, > unsigned int type) > { > @@ -2184,7 +2184,7 @@ static inline int unuse_pud_range(struct vm_area_struct *vma, p4d_t *p4d, > return 0; > } > > -static inline int unuse_p4d_range(struct vm_area_struct *vma, pgd_t *pgd, > +static inline int unuse_p4d_range(struct mm_area *vma, pgd_t *pgd, > unsigned long addr, unsigned long end, > unsigned int type) > { > @@ -2204,7 +2204,7 @@ static inline int unuse_p4d_range(struct vm_area_struct *vma, pgd_t *pgd, > return 0; > } > > -static int unuse_vma(struct vm_area_struct *vma, unsigned int type) > +static int unuse_vma(struct mm_area *vma, unsigned int type) > { > pgd_t *pgd; > unsigned long addr, end, next; > @@ -2227,7 +2227,7 @@ static int unuse_vma(struct vm_area_struct *vma, unsigned int type) > > static int unuse_mm(struct mm_struct *mm, unsigned int type) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > int ret = 0; > VMA_ITERATOR(vmi, mm, 0); > > diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c > index fbf2cf62ab9f..ed1f47504327 100644 > --- a/mm/userfaultfd.c > +++ b/mm/userfaultfd.c > @@ -21,7 +21,7 @@ > #include "swap.h" > > static __always_inline > -bool validate_dst_vma(struct vm_area_struct *dst_vma, unsigned long dst_end) > +bool validate_dst_vma(struct mm_area *dst_vma, unsigned long dst_end) > { > /* Make sure that the dst range is fully within dst_vma. */ > if (dst_end > dst_vma->vm_end) > @@ -39,10 +39,10 @@ bool validate_dst_vma(struct vm_area_struct *dst_vma, unsigned long dst_end) > } > > static __always_inline > -struct vm_area_struct *find_vma_and_prepare_anon(struct mm_struct *mm, > +struct mm_area *find_vma_and_prepare_anon(struct mm_struct *mm, > unsigned long addr) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_assert_locked(mm); > vma = vma_lookup(mm, addr); > @@ -66,10 +66,10 @@ struct vm_area_struct *find_vma_and_prepare_anon(struct mm_struct *mm, > * Return: A locked vma containing @address, -ENOENT if no vma is found, or > * -ENOMEM if anon_vma couldn't be allocated. > */ > -static struct vm_area_struct *uffd_lock_vma(struct mm_struct *mm, > +static struct mm_area *uffd_lock_vma(struct mm_struct *mm, > unsigned long address) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > vma = lock_vma_under_rcu(mm, address); > if (vma) { > @@ -96,11 +96,11 @@ static struct vm_area_struct *uffd_lock_vma(struct mm_struct *mm, > return vma; > } > > -static struct vm_area_struct *uffd_mfill_lock(struct mm_struct *dst_mm, > +static struct mm_area *uffd_mfill_lock(struct mm_struct *dst_mm, > unsigned long dst_start, > unsigned long len) > { > - struct vm_area_struct *dst_vma; > + struct mm_area *dst_vma; > > dst_vma = uffd_lock_vma(dst_mm, dst_start); > if (IS_ERR(dst_vma) || validate_dst_vma(dst_vma, dst_start + len)) > @@ -110,18 +110,18 @@ static struct vm_area_struct *uffd_mfill_lock(struct mm_struct *dst_mm, > return ERR_PTR(-ENOENT); > } > > -static void uffd_mfill_unlock(struct vm_area_struct *vma) > +static void uffd_mfill_unlock(struct mm_area *vma) > { > vma_end_read(vma); > } > > #else > > -static struct vm_area_struct *uffd_mfill_lock(struct mm_struct *dst_mm, > +static struct mm_area *uffd_mfill_lock(struct mm_struct *dst_mm, > unsigned long dst_start, > unsigned long len) > { > - struct vm_area_struct *dst_vma; > + struct mm_area *dst_vma; > > mmap_read_lock(dst_mm); > dst_vma = find_vma_and_prepare_anon(dst_mm, dst_start); > @@ -137,14 +137,14 @@ static struct vm_area_struct *uffd_mfill_lock(struct mm_struct *dst_mm, > return dst_vma; > } > > -static void uffd_mfill_unlock(struct vm_area_struct *vma) > +static void uffd_mfill_unlock(struct mm_area *vma) > { > mmap_read_unlock(vma->vm_mm); > } > #endif > > /* Check if dst_addr is outside of file's size. Must be called with ptl held. */ > -static bool mfill_file_over_size(struct vm_area_struct *dst_vma, > +static bool mfill_file_over_size(struct mm_area *dst_vma, > unsigned long dst_addr) > { > struct inode *inode; > @@ -166,7 +166,7 @@ static bool mfill_file_over_size(struct vm_area_struct *dst_vma, > * and anon, and for both shared and private VMAs. > */ > int mfill_atomic_install_pte(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, struct page *page, > bool newly_allocated, uffd_flags_t flags) > { > @@ -235,7 +235,7 @@ int mfill_atomic_install_pte(pmd_t *dst_pmd, > } > > static int mfill_atomic_pte_copy(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, > unsigned long src_addr, > uffd_flags_t flags, > @@ -311,7 +311,7 @@ static int mfill_atomic_pte_copy(pmd_t *dst_pmd, > } > > static int mfill_atomic_pte_zeroed_folio(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr) > { > struct folio *folio; > @@ -343,7 +343,7 @@ static int mfill_atomic_pte_zeroed_folio(pmd_t *dst_pmd, > } > > static int mfill_atomic_pte_zeropage(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr) > { > pte_t _dst_pte, *dst_pte; > @@ -378,7 +378,7 @@ static int mfill_atomic_pte_zeropage(pmd_t *dst_pmd, > > /* Handles UFFDIO_CONTINUE for all shmem VMAs (shared or private). */ > static int mfill_atomic_pte_continue(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, > uffd_flags_t flags) > { > @@ -422,7 +422,7 @@ static int mfill_atomic_pte_continue(pmd_t *dst_pmd, > > /* Handles UFFDIO_POISON for all non-hugetlb VMAs. */ > static int mfill_atomic_pte_poison(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, > uffd_flags_t flags) > { > @@ -487,7 +487,7 @@ static pmd_t *mm_alloc_pmd(struct mm_struct *mm, unsigned long address) > */ > static __always_inline ssize_t mfill_atomic_hugetlb( > struct userfaultfd_ctx *ctx, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_start, > unsigned long src_start, > unsigned long len, > @@ -643,7 +643,7 @@ static __always_inline ssize_t mfill_atomic_hugetlb( > #else /* !CONFIG_HUGETLB_PAGE */ > /* fail at build time if gcc attempts to use this */ > extern ssize_t mfill_atomic_hugetlb(struct userfaultfd_ctx *ctx, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_start, > unsigned long src_start, > unsigned long len, > @@ -651,7 +651,7 @@ extern ssize_t mfill_atomic_hugetlb(struct userfaultfd_ctx *ctx, > #endif /* CONFIG_HUGETLB_PAGE */ > > static __always_inline ssize_t mfill_atomic_pte(pmd_t *dst_pmd, > - struct vm_area_struct *dst_vma, > + struct mm_area *dst_vma, > unsigned long dst_addr, > unsigned long src_addr, > uffd_flags_t flags, > @@ -701,7 +701,7 @@ static __always_inline ssize_t mfill_atomic(struct userfaultfd_ctx *ctx, > uffd_flags_t flags) > { > struct mm_struct *dst_mm = ctx->mm; > - struct vm_area_struct *dst_vma; > + struct mm_area *dst_vma; > ssize_t err; > pmd_t *dst_pmd; > unsigned long src_addr, dst_addr; > @@ -897,7 +897,7 @@ ssize_t mfill_atomic_poison(struct userfaultfd_ctx *ctx, unsigned long start, > uffd_flags_set_mode(flags, MFILL_ATOMIC_POISON)); > } > > -long uffd_wp_range(struct vm_area_struct *dst_vma, > +long uffd_wp_range(struct mm_area *dst_vma, > unsigned long start, unsigned long len, bool enable_wp) > { > unsigned int mm_cp_flags; > @@ -932,7 +932,7 @@ int mwriteprotect_range(struct userfaultfd_ctx *ctx, unsigned long start, > struct mm_struct *dst_mm = ctx->mm; > unsigned long end = start + len; > unsigned long _start, _end; > - struct vm_area_struct *dst_vma; > + struct mm_area *dst_vma; > unsigned long page_mask; > long err; > VMA_ITERATOR(vmi, dst_mm, start); > @@ -1027,8 +1027,8 @@ static inline bool is_pte_pages_stable(pte_t *dst_pte, pte_t *src_pte, > } > > static int move_present_pte(struct mm_struct *mm, > - struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma, > + struct mm_area *dst_vma, > + struct mm_area *src_vma, > unsigned long dst_addr, unsigned long src_addr, > pte_t *dst_pte, pte_t *src_pte, > pte_t orig_dst_pte, pte_t orig_src_pte, > @@ -1073,7 +1073,7 @@ static int move_present_pte(struct mm_struct *mm, > return err; > } > > -static int move_swap_pte(struct mm_struct *mm, struct vm_area_struct *dst_vma, > +static int move_swap_pte(struct mm_struct *mm, struct mm_area *dst_vma, > unsigned long dst_addr, unsigned long src_addr, > pte_t *dst_pte, pte_t *src_pte, > pte_t orig_dst_pte, pte_t orig_src_pte, > @@ -1107,8 +1107,8 @@ static int move_swap_pte(struct mm_struct *mm, struct vm_area_struct *dst_vma, > } > > static int move_zeropage_pte(struct mm_struct *mm, > - struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma, > + struct mm_area *dst_vma, > + struct mm_area *src_vma, > unsigned long dst_addr, unsigned long src_addr, > pte_t *dst_pte, pte_t *src_pte, > pte_t orig_dst_pte, pte_t orig_src_pte, > @@ -1140,8 +1140,8 @@ static int move_zeropage_pte(struct mm_struct *mm, > * in moving the page. > */ > static int move_pages_pte(struct mm_struct *mm, pmd_t *dst_pmd, pmd_t *src_pmd, > - struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma, > + struct mm_area *dst_vma, > + struct mm_area *src_vma, > unsigned long dst_addr, unsigned long src_addr, > __u64 mode) > { > @@ -1445,15 +1445,15 @@ static inline bool move_splits_huge_pmd(unsigned long dst_addr, > } > #endif > > -static inline bool vma_move_compatible(struct vm_area_struct *vma) > +static inline bool vma_move_compatible(struct mm_area *vma) > { > return !(vma->vm_flags & (VM_PFNMAP | VM_IO | VM_HUGETLB | > VM_MIXEDMAP | VM_SHADOW_STACK)); > } > > static int validate_move_areas(struct userfaultfd_ctx *ctx, > - struct vm_area_struct *src_vma, > - struct vm_area_struct *dst_vma) > + struct mm_area *src_vma, > + struct mm_area *dst_vma) > { > /* Only allow moving if both have the same access and protection */ > if ((src_vma->vm_flags & VM_ACCESS_FLAGS) != (dst_vma->vm_flags & VM_ACCESS_FLAGS) || > @@ -1491,10 +1491,10 @@ static __always_inline > int find_vmas_mm_locked(struct mm_struct *mm, > unsigned long dst_start, > unsigned long src_start, > - struct vm_area_struct **dst_vmap, > - struct vm_area_struct **src_vmap) > + struct mm_area **dst_vmap, > + struct mm_area **src_vmap) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mmap_assert_locked(mm); > vma = find_vma_and_prepare_anon(mm, dst_start); > @@ -1518,10 +1518,10 @@ int find_vmas_mm_locked(struct mm_struct *mm, > static int uffd_move_lock(struct mm_struct *mm, > unsigned long dst_start, > unsigned long src_start, > - struct vm_area_struct **dst_vmap, > - struct vm_area_struct **src_vmap) > + struct mm_area **dst_vmap, > + struct mm_area **src_vmap) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > int err; > > vma = uffd_lock_vma(mm, dst_start); > @@ -1581,8 +1581,8 @@ static int uffd_move_lock(struct mm_struct *mm, > return err; > } > > -static void uffd_move_unlock(struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma) > +static void uffd_move_unlock(struct mm_area *dst_vma, > + struct mm_area *src_vma) > { > vma_end_read(src_vma); > if (src_vma != dst_vma) > @@ -1594,8 +1594,8 @@ static void uffd_move_unlock(struct vm_area_struct *dst_vma, > static int uffd_move_lock(struct mm_struct *mm, > unsigned long dst_start, > unsigned long src_start, > - struct vm_area_struct **dst_vmap, > - struct vm_area_struct **src_vmap) > + struct mm_area **dst_vmap, > + struct mm_area **src_vmap) > { > int err; > > @@ -1606,8 +1606,8 @@ static int uffd_move_lock(struct mm_struct *mm, > return err; > } > > -static void uffd_move_unlock(struct vm_area_struct *dst_vma, > - struct vm_area_struct *src_vma) > +static void uffd_move_unlock(struct mm_area *dst_vma, > + struct mm_area *src_vma) > { > mmap_assert_locked(src_vma->vm_mm); > mmap_read_unlock(dst_vma->vm_mm); > @@ -1694,7 +1694,7 @@ ssize_t move_pages(struct userfaultfd_ctx *ctx, unsigned long dst_start, > unsigned long src_start, unsigned long len, __u64 mode) > { > struct mm_struct *mm = ctx->mm; > - struct vm_area_struct *src_vma, *dst_vma; > + struct mm_area *src_vma, *dst_vma; > unsigned long src_addr, dst_addr; > pmd_t *src_pmd, *dst_pmd; > long err = -EINVAL; > @@ -1865,7 +1865,7 @@ ssize_t move_pages(struct userfaultfd_ctx *ctx, unsigned long dst_start, > return moved ? moved : err; > } > > -static void userfaultfd_set_vm_flags(struct vm_area_struct *vma, > +static void userfaultfd_set_vm_flags(struct mm_area *vma, > vm_flags_t flags) > { > const bool uffd_wp_changed = (vma->vm_flags ^ flags) & VM_UFFD_WP; > @@ -1880,7 +1880,7 @@ static void userfaultfd_set_vm_flags(struct vm_area_struct *vma, > vma_set_page_prot(vma); > } > > -static void userfaultfd_set_ctx(struct vm_area_struct *vma, > +static void userfaultfd_set_ctx(struct mm_area *vma, > struct userfaultfd_ctx *ctx, > unsigned long flags) > { > @@ -1890,18 +1890,18 @@ static void userfaultfd_set_ctx(struct vm_area_struct *vma, > (vma->vm_flags & ~__VM_UFFD_FLAGS) | flags); > } > > -void userfaultfd_reset_ctx(struct vm_area_struct *vma) > +void userfaultfd_reset_ctx(struct mm_area *vma) > { > userfaultfd_set_ctx(vma, NULL, 0); > } > > -struct vm_area_struct *userfaultfd_clear_vma(struct vma_iterator *vmi, > - struct vm_area_struct *prev, > - struct vm_area_struct *vma, > +struct mm_area *userfaultfd_clear_vma(struct vma_iterator *vmi, > + struct mm_area *prev, > + struct mm_area *vma, > unsigned long start, > unsigned long end) > { > - struct vm_area_struct *ret; > + struct mm_area *ret; > > /* Reset ptes for the whole vma range if wr-protected */ > if (userfaultfd_wp(vma)) > @@ -1924,13 +1924,13 @@ struct vm_area_struct *userfaultfd_clear_vma(struct vma_iterator *vmi, > > /* Assumes mmap write lock taken, and mm_struct pinned. */ > int userfaultfd_register_range(struct userfaultfd_ctx *ctx, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long vm_flags, > unsigned long start, unsigned long end, > bool wp_async) > { > VMA_ITERATOR(vmi, ctx->mm, start); > - struct vm_area_struct *prev = vma_prev(&vmi); > + struct mm_area *prev = vma_prev(&vmi); > unsigned long vma_end; > unsigned long new_flags; > > @@ -1985,7 +1985,7 @@ int userfaultfd_register_range(struct userfaultfd_ctx *ctx, > void userfaultfd_release_new(struct userfaultfd_ctx *ctx) > { > struct mm_struct *mm = ctx->mm; > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, 0); > > /* the various vma->vm_userfaultfd_ctx still points to it */ > @@ -2000,7 +2000,7 @@ void userfaultfd_release_new(struct userfaultfd_ctx *ctx) > void userfaultfd_release_all(struct mm_struct *mm, > struct userfaultfd_ctx *ctx) > { > - struct vm_area_struct *vma, *prev; > + struct mm_area *vma, *prev; > VMA_ITERATOR(vmi, mm, 0); > > if (!mmget_not_zero(mm)) > diff --git a/mm/util.c b/mm/util.c > index 448117da071f..e0ed4f7d00d4 100644 > --- a/mm/util.c > +++ b/mm/util.c > @@ -314,7 +314,7 @@ void *memdup_user_nul(const void __user *src, size_t len) > EXPORT_SYMBOL(memdup_user_nul); > > /* Check if the vma is being used as a stack by this task */ > -int vma_is_stack_for_current(struct vm_area_struct *vma) > +int vma_is_stack_for_current(struct mm_area *vma) > { > struct task_struct * __maybe_unused t = current; > > @@ -324,7 +324,7 @@ int vma_is_stack_for_current(struct vm_area_struct *vma) > /* > * Change backing file, only valid to use during initial VMA setup. > */ > -void vma_set_file(struct vm_area_struct *vma, struct file *file) > +void vma_set_file(struct mm_area *vma, struct file *file) > { > /* Changing an anonymous vma with this is illegal */ > get_file(file); > diff --git a/mm/vma.c b/mm/vma.c > index 5cdc5612bfc1..06e6e9c02ab8 100644 > --- a/mm/vma.c > +++ b/mm/vma.c > @@ -21,8 +21,8 @@ struct mmap_state { > unsigned long charged; > bool retry_merge; > > - struct vm_area_struct *prev; > - struct vm_area_struct *next; > + struct mm_area *prev; > + struct mm_area *next; > > /* Unmapping state. */ > struct vma_munmap_struct vms; > @@ -59,7 +59,7 @@ struct mmap_state { > > static inline bool is_mergeable_vma(struct vma_merge_struct *vmg, bool merge_next) > { > - struct vm_area_struct *vma = merge_next ? vmg->next : vmg->prev; > + struct mm_area *vma = merge_next ? vmg->next : vmg->prev; > > if (!mpol_equal(vmg->policy, vma_policy(vma))) > return false; > @@ -83,7 +83,7 @@ static inline bool is_mergeable_vma(struct vma_merge_struct *vmg, bool merge_nex > } > > static inline bool is_mergeable_anon_vma(struct anon_vma *anon_vma1, > - struct anon_vma *anon_vma2, struct vm_area_struct *vma) > + struct anon_vma *anon_vma2, struct mm_area *vma) > { > /* > * The list_is_singular() test is to avoid merging VMA cloned from > @@ -96,8 +96,8 @@ static inline bool is_mergeable_anon_vma(struct anon_vma *anon_vma1, > } > > /* Are the anon_vma's belonging to each VMA compatible with one another? */ > -static inline bool are_anon_vmas_compatible(struct vm_area_struct *vma1, > - struct vm_area_struct *vma2) > +static inline bool are_anon_vmas_compatible(struct mm_area *vma1, > + struct mm_area *vma2) > { > return is_mergeable_anon_vma(vma1->anon_vma, vma2->anon_vma, NULL); > } > @@ -110,11 +110,11 @@ static inline bool are_anon_vmas_compatible(struct vm_area_struct *vma1, > * removal. > */ > static void init_multi_vma_prep(struct vma_prepare *vp, > - struct vm_area_struct *vma, > + struct mm_area *vma, > struct vma_merge_struct *vmg) > { > - struct vm_area_struct *adjust; > - struct vm_area_struct **remove = &vp->remove; > + struct mm_area *adjust; > + struct mm_area **remove = &vp->remove; > > memset(vp, 0, sizeof(struct vma_prepare)); > vp->vma = vma; > @@ -191,7 +191,7 @@ static bool can_vma_merge_after(struct vma_merge_struct *vmg) > return false; > } > > -static void __vma_link_file(struct vm_area_struct *vma, > +static void __vma_link_file(struct mm_area *vma, > struct address_space *mapping) > { > if (vma_is_shared_maywrite(vma)) > @@ -205,7 +205,7 @@ static void __vma_link_file(struct vm_area_struct *vma, > /* > * Requires inode->i_mapping->i_mmap_rwsem > */ > -static void __remove_shared_vm_struct(struct vm_area_struct *vma, > +static void __remove_shared_vm_struct(struct mm_area *vma, > struct address_space *mapping) > { > if (vma_is_shared_maywrite(vma)) > @@ -231,7 +231,7 @@ static void __remove_shared_vm_struct(struct vm_area_struct *vma, > * the root anon_vma's mutex. > */ > static void > -anon_vma_interval_tree_pre_update_vma(struct vm_area_struct *vma) > +anon_vma_interval_tree_pre_update_vma(struct mm_area *vma) > { > struct anon_vma_chain *avc; > > @@ -240,7 +240,7 @@ anon_vma_interval_tree_pre_update_vma(struct vm_area_struct *vma) > } > > static void > -anon_vma_interval_tree_post_update_vma(struct vm_area_struct *vma) > +anon_vma_interval_tree_post_update_vma(struct mm_area *vma) > { > struct anon_vma_chain *avc; > > @@ -374,7 +374,7 @@ static void vma_complete(struct vma_prepare *vp, struct vma_iterator *vmi, > * @vp: The vma_prepare struct > * @vma: The vma that will be altered once locked > */ > -static void init_vma_prep(struct vma_prepare *vp, struct vm_area_struct *vma) > +static void init_vma_prep(struct vma_prepare *vp, struct mm_area *vma) > { > init_multi_vma_prep(vp, vma, NULL); > } > @@ -420,7 +420,7 @@ static bool can_vma_merge_right(struct vma_merge_struct *vmg, > /* > * Close a vm structure and free it. > */ > -void remove_vma(struct vm_area_struct *vma) > +void remove_vma(struct mm_area *vma) > { > might_sleep(); > vma_close(vma); > @@ -435,8 +435,8 @@ 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, > - struct vm_area_struct *prev, struct vm_area_struct *next) > +void unmap_region(struct ma_state *mas, struct mm_area *vma, > + struct mm_area *prev, struct mm_area *next) > { > struct mm_struct *mm = vma->vm_mm; > struct mmu_gather tlb; > @@ -458,11 +458,11 @@ void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, > * VMA Iterator will point to the original VMA. > */ > static __must_check int > -__split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, > +__split_vma(struct vma_iterator *vmi, struct mm_area *vma, > unsigned long addr, int new_below) > { > struct vma_prepare vp; > - struct vm_area_struct *new; > + struct mm_area *new; > int err; > > WARN_ON(vma->vm_start >= addr); > @@ -544,7 +544,7 @@ __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, > * Split a vma into two pieces at address 'addr', a new vma is allocated > * either for the first part or the tail. > */ > -static int split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, > +static int split_vma(struct vma_iterator *vmi, struct mm_area *vma, > unsigned long addr, int new_below) > { > if (vma->vm_mm->map_count >= sysctl_max_map_count) > @@ -561,8 +561,8 @@ static int split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, > * > * Returns: 0 on success. > */ > -static int dup_anon_vma(struct vm_area_struct *dst, > - struct vm_area_struct *src, struct vm_area_struct **dup) > +static int dup_anon_vma(struct mm_area *dst, > + struct mm_area *src, struct mm_area **dup) > { > /* > * Easily overlooked: when mprotect shifts the boundary, make sure the > @@ -589,7 +589,7 @@ void validate_mm(struct mm_struct *mm) > { > int bug = 0; > int i = 0; > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, 0); > > mt_validate(&mm->mm_mt); > @@ -647,7 +647,7 @@ void validate_mm(struct mm_struct *mm) > */ > static void vmg_adjust_set_range(struct vma_merge_struct *vmg) > { > - struct vm_area_struct *adjust; > + struct mm_area *adjust; > pgoff_t pgoff; > > if (vmg->__adjust_middle_start) { > @@ -670,7 +670,7 @@ static void vmg_adjust_set_range(struct vma_merge_struct *vmg) > */ > static int commit_merge(struct vma_merge_struct *vmg) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct vma_prepare vp; > > if (vmg->__adjust_next_start) { > @@ -705,7 +705,7 @@ static int commit_merge(struct vma_merge_struct *vmg) > } > > /* We can only remove VMAs when merging if they do not have a close hook. */ > -static bool can_merge_remove_vma(struct vm_area_struct *vma) > +static bool can_merge_remove_vma(struct mm_area *vma) > { > return !vma->vm_ops || !vma->vm_ops->close; > } > @@ -739,13 +739,13 @@ static bool can_merge_remove_vma(struct vm_area_struct *vma) > * - The caller must hold a WRITE lock on the mm_struct->mmap_lock. > * - vmi must be positioned within [@vmg->middle->vm_start, @vmg->middle->vm_end). > */ > -static __must_check struct vm_area_struct *vma_merge_existing_range( > +static __must_check struct mm_area *vma_merge_existing_range( > struct vma_merge_struct *vmg) > { > - struct vm_area_struct *middle = vmg->middle; > - struct vm_area_struct *prev = vmg->prev; > - struct vm_area_struct *next; > - struct vm_area_struct *anon_dup = NULL; > + struct mm_area *middle = vmg->middle; > + struct mm_area *prev = vmg->prev; > + struct mm_area *next; > + struct mm_area *anon_dup = NULL; > unsigned long start = vmg->start; > unsigned long end = vmg->end; > bool left_side = middle && start == middle->vm_start; > @@ -974,10 +974,10 @@ static __must_check struct vm_area_struct *vma_merge_existing_range( > * - The caller must have specified the next vma in @vmg->next. > * - The caller must have positioned the vmi at or before the gap. > */ > -struct vm_area_struct *vma_merge_new_range(struct vma_merge_struct *vmg) > +struct mm_area *vma_merge_new_range(struct vma_merge_struct *vmg) > { > - struct vm_area_struct *prev = vmg->prev; > - struct vm_area_struct *next = vmg->next; > + struct mm_area *prev = vmg->prev; > + struct mm_area *next = vmg->next; > unsigned long end = vmg->end; > bool can_merge_left, can_merge_right; > > @@ -1053,10 +1053,10 @@ struct vm_area_struct *vma_merge_new_range(struct vma_merge_struct *vmg) > */ > int vma_expand(struct vma_merge_struct *vmg) > { > - struct vm_area_struct *anon_dup = NULL; > + struct mm_area *anon_dup = NULL; > bool remove_next = false; > - struct vm_area_struct *middle = vmg->middle; > - struct vm_area_struct *next = vmg->next; > + struct mm_area *middle = vmg->middle; > + struct mm_area *next = vmg->next; > > mmap_assert_write_locked(vmg->mm); > > @@ -1105,7 +1105,7 @@ int vma_expand(struct vma_merge_struct *vmg) > * > * Returns: 0 on success, -ENOMEM otherwise > */ > -int vma_shrink(struct vma_iterator *vmi, struct vm_area_struct *vma, > +int vma_shrink(struct vma_iterator *vmi, struct mm_area *vma, > unsigned long start, unsigned long end, pgoff_t pgoff) > { > struct vma_prepare vp; > @@ -1162,7 +1162,7 @@ static inline void vms_clear_ptes(struct vma_munmap_struct *vms, > static void vms_clean_up_area(struct vma_munmap_struct *vms, > struct ma_state *mas_detach) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > if (!vms->nr_pages) > return; > @@ -1185,7 +1185,7 @@ static void vms_clean_up_area(struct vma_munmap_struct *vms, > static void vms_complete_munmap_vmas(struct vma_munmap_struct *vms, > struct ma_state *mas_detach) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct mm_struct *mm; > > mm = current->mm; > @@ -1231,7 +1231,7 @@ static void vms_complete_munmap_vmas(struct vma_munmap_struct *vms, > */ > static void reattach_vmas(struct ma_state *mas_detach) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > mas_set(mas_detach, 0); > mas_for_each(mas_detach, vma, ULONG_MAX) > @@ -1253,7 +1253,7 @@ static void reattach_vmas(struct ma_state *mas_detach) > static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, > struct ma_state *mas_detach) > { > - struct vm_area_struct *next = NULL; > + struct mm_area *next = NULL; > int error; > > /* > @@ -1356,7 +1356,7 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, > /* Make sure no VMAs are about to be lost. */ > { > MA_STATE(test, mas_detach->tree, 0, 0); > - struct vm_area_struct *vma_mas, *vma_test; > + struct mm_area *vma_mas, *vma_test; > int test_count = 0; > > vma_iter_set(vms->vmi, vms->start); > @@ -1392,14 +1392,14 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, > * init_vma_munmap() - Initializer wrapper for vma_munmap_struct > * @vms: The vma munmap struct > * @vmi: The vma iterator > - * @vma: The first vm_area_struct to munmap > + * @vma: The first mm_area to munmap > * @start: The aligned start address to munmap > * @end: The aligned end address to munmap > * @uf: The userfaultfd list_head > * @unlock: Unlock after the operation. Only unlocked on success > */ > static void init_vma_munmap(struct vma_munmap_struct *vms, > - struct vma_iterator *vmi, struct vm_area_struct *vma, > + struct vma_iterator *vmi, struct mm_area *vma, > unsigned long start, unsigned long end, struct list_head *uf, > bool unlock) > { > @@ -1424,7 +1424,7 @@ static void init_vma_munmap(struct vma_munmap_struct *vms, > /* > * do_vmi_align_munmap() - munmap the aligned region from @start to @end. > * @vmi: The vma iterator > - * @vma: The starting vm_area_struct > + * @vma: The starting mm_area > * @mm: The mm_struct > * @start: The aligned start address to munmap. > * @end: The aligned end address to munmap. > @@ -1435,7 +1435,7 @@ static void init_vma_munmap(struct vma_munmap_struct *vms, > * Return: 0 on success and drops the lock if so directed, error and leaves the > * lock held otherwise. > */ > -int do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, > +int do_vmi_align_munmap(struct vma_iterator *vmi, struct mm_area *vma, > struct mm_struct *mm, unsigned long start, unsigned long end, > struct list_head *uf, bool unlock) > { > @@ -1487,7 +1487,7 @@ int do_vmi_munmap(struct vma_iterator *vmi, struct mm_struct *mm, > bool unlock) > { > unsigned long end; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > if ((offset_in_page(start)) || start > TASK_SIZE || len > TASK_SIZE-start) > return -EINVAL; > @@ -1520,12 +1520,12 @@ int do_vmi_munmap(struct vma_iterator *vmi, struct mm_struct *mm, > * The function returns either the merged VMA, the original VMA if a split was > * required instead, or an error if the split failed. > */ > -static struct vm_area_struct *vma_modify(struct vma_merge_struct *vmg) > +static struct mm_area *vma_modify(struct vma_merge_struct *vmg) > { > - struct vm_area_struct *vma = vmg->middle; > + struct mm_area *vma = vmg->middle; > unsigned long start = vmg->start; > unsigned long end = vmg->end; > - struct vm_area_struct *merged; > + struct mm_area *merged; > > /* First, try to merge. */ > merged = vma_merge_existing_range(vmg); > @@ -1553,9 +1553,9 @@ static struct vm_area_struct *vma_modify(struct vma_merge_struct *vmg) > return vma; > } > > -struct vm_area_struct *vma_modify_flags( > - struct vma_iterator *vmi, struct vm_area_struct *prev, > - struct vm_area_struct *vma, unsigned long start, unsigned long end, > +struct mm_area *vma_modify_flags( > + struct vma_iterator *vmi, struct mm_area *prev, > + struct mm_area *vma, unsigned long start, unsigned long end, > unsigned long new_flags) > { > VMG_VMA_STATE(vmg, vmi, prev, vma, start, end); > @@ -1565,10 +1565,10 @@ struct vm_area_struct *vma_modify_flags( > return vma_modify(&vmg); > } > > -struct vm_area_struct > +struct mm_area > *vma_modify_flags_name(struct vma_iterator *vmi, > - struct vm_area_struct *prev, > - struct vm_area_struct *vma, > + struct mm_area *prev, > + struct mm_area *vma, > unsigned long start, > unsigned long end, > unsigned long new_flags, > @@ -1582,10 +1582,10 @@ struct vm_area_struct > return vma_modify(&vmg); > } > > -struct vm_area_struct > +struct mm_area > *vma_modify_policy(struct vma_iterator *vmi, > - struct vm_area_struct *prev, > - struct vm_area_struct *vma, > + struct mm_area *prev, > + struct mm_area *vma, > unsigned long start, unsigned long end, > struct mempolicy *new_pol) > { > @@ -1596,10 +1596,10 @@ struct vm_area_struct > return vma_modify(&vmg); > } > > -struct vm_area_struct > +struct mm_area > *vma_modify_flags_uffd(struct vma_iterator *vmi, > - struct vm_area_struct *prev, > - struct vm_area_struct *vma, > + struct mm_area *prev, > + struct mm_area *vma, > unsigned long start, unsigned long end, > unsigned long new_flags, > struct vm_userfaultfd_ctx new_ctx) > @@ -1616,8 +1616,8 @@ struct vm_area_struct > * Expand vma by delta bytes, potentially merging with an immediately adjacent > * VMA with identical properties. > */ > -struct vm_area_struct *vma_merge_extend(struct vma_iterator *vmi, > - struct vm_area_struct *vma, > +struct mm_area *vma_merge_extend(struct vma_iterator *vmi, > + struct mm_area *vma, > unsigned long delta) > { > VMG_VMA_STATE(vmg, vmi, vma, vma, vma->vm_end, vma->vm_end + delta); > @@ -1650,7 +1650,7 @@ static void unlink_file_vma_batch_process(struct unlink_vma_file_batch *vb) > } > > void unlink_file_vma_batch_add(struct unlink_vma_file_batch *vb, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > if (vma->vm_file == NULL) > return; > @@ -1673,7 +1673,7 @@ void unlink_file_vma_batch_final(struct unlink_vma_file_batch *vb) > * Unlink a file-based vm structure from its interval tree, to hide > * vma from rmap and vmtruncate before freeing its page tables. > */ > -void unlink_file_vma(struct vm_area_struct *vma) > +void unlink_file_vma(struct mm_area *vma) > { > struct file *file = vma->vm_file; > > @@ -1686,7 +1686,7 @@ void unlink_file_vma(struct vm_area_struct *vma) > } > } > > -void vma_link_file(struct vm_area_struct *vma) > +void vma_link_file(struct mm_area *vma) > { > struct file *file = vma->vm_file; > struct address_space *mapping; > @@ -1699,7 +1699,7 @@ void vma_link_file(struct vm_area_struct *vma) > } > } > > -int vma_link(struct mm_struct *mm, struct vm_area_struct *vma) > +int vma_link(struct mm_struct *mm, struct mm_area *vma) > { > VMA_ITERATOR(vmi, mm, 0); > > @@ -1719,14 +1719,14 @@ int vma_link(struct mm_struct *mm, struct vm_area_struct *vma) > * Copy the vma structure to a new location in the same mm, > * prior to moving page table entries, to effect an mremap move. > */ > -struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, > +struct mm_area *copy_vma(struct mm_area **vmap, > unsigned long addr, unsigned long len, pgoff_t pgoff, > bool *need_rmap_locks) > { > - struct vm_area_struct *vma = *vmap; > + struct mm_area *vma = *vmap; > unsigned long vma_start = vma->vm_start; > struct mm_struct *mm = vma->vm_mm; > - struct vm_area_struct *new_vma; > + struct mm_area *new_vma; > bool faulted_in_anon_vma = true; > VMA_ITERATOR(vmi, mm, addr); > VMG_VMA_STATE(vmg, &vmi, NULL, vma, addr, addr + len); > @@ -1818,7 +1818,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, > * driver is doing some kind of reference counting. But that doesn't > * really matter for the anon_vma sharing case. > */ > -static int anon_vma_compatible(struct vm_area_struct *a, struct vm_area_struct *b) > +static int anon_vma_compatible(struct mm_area *a, struct mm_area *b) > { > return a->vm_end == b->vm_start && > mpol_equal(vma_policy(a), vma_policy(b)) && > @@ -1849,9 +1849,9 @@ static int anon_vma_compatible(struct vm_area_struct *a, struct vm_area_struct * > * and with the same memory policies). That's all stable, even with just > * a read lock on the mmap_lock. > */ > -static struct anon_vma *reusable_anon_vma(struct vm_area_struct *old, > - struct vm_area_struct *a, > - struct vm_area_struct *b) > +static struct anon_vma *reusable_anon_vma(struct mm_area *old, > + struct mm_area *a, > + struct mm_area *b) > { > if (anon_vma_compatible(a, b)) { > struct anon_vma *anon_vma = READ_ONCE(old->anon_vma); > @@ -1870,10 +1870,10 @@ static struct anon_vma *reusable_anon_vma(struct vm_area_struct *old, > * anon_vmas being allocated, preventing vma merge in subsequent > * mprotect. > */ > -struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *vma) > +struct anon_vma *find_mergeable_anon_vma(struct mm_area *vma) > { > struct anon_vma *anon_vma = NULL; > - struct vm_area_struct *prev, *next; > + struct mm_area *prev, *next; > VMA_ITERATOR(vmi, vma->vm_mm, vma->vm_end); > > /* Try next first. */ > @@ -1909,13 +1909,13 @@ static bool vm_ops_needs_writenotify(const struct vm_operations_struct *vm_ops) > return vm_ops && (vm_ops->page_mkwrite || vm_ops->pfn_mkwrite); > } > > -static bool vma_is_shared_writable(struct vm_area_struct *vma) > +static bool vma_is_shared_writable(struct mm_area *vma) > { > return (vma->vm_flags & (VM_WRITE | VM_SHARED)) == > (VM_WRITE | VM_SHARED); > } > > -static bool vma_fs_can_writeback(struct vm_area_struct *vma) > +static bool vma_fs_can_writeback(struct mm_area *vma) > { > /* No managed pages to writeback. */ > if (vma->vm_flags & VM_PFNMAP) > @@ -1929,7 +1929,7 @@ static bool vma_fs_can_writeback(struct vm_area_struct *vma) > * Does this VMA require the underlying folios to have their dirty state > * tracked? > */ > -bool vma_needs_dirty_tracking(struct vm_area_struct *vma) > +bool vma_needs_dirty_tracking(struct mm_area *vma) > { > /* Only shared, writable VMAs require dirty tracking. */ > if (!vma_is_shared_writable(vma)) > @@ -1952,7 +1952,7 @@ bool vma_needs_dirty_tracking(struct vm_area_struct *vma) > * to the private version (using protection_map[] without the > * VM_SHARED bit). > */ > -bool vma_wants_writenotify(struct vm_area_struct *vma, pgprot_t vm_page_prot) > +bool vma_wants_writenotify(struct mm_area *vma, pgprot_t vm_page_prot) > { > /* If it was private or non-writable, the write bit is already clear */ > if (!vma_is_shared_writable(vma)) > @@ -2066,7 +2066,7 @@ static void vm_lock_mapping(struct mm_struct *mm, struct address_space *mapping) > */ > int mm_take_all_locks(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct anon_vma_chain *avc; > VMA_ITERATOR(vmi, mm, 0); > > @@ -2162,7 +2162,7 @@ static void vm_unlock_mapping(struct address_space *mapping) > */ > void mm_drop_all_locks(struct mm_struct *mm) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct anon_vma_chain *avc; > VMA_ITERATOR(vmi, mm, 0); > > @@ -2301,7 +2301,7 @@ static int __mmap_prepare(struct mmap_state *map, struct list_head *uf) > > > static int __mmap_new_file_vma(struct mmap_state *map, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct vma_iterator *vmi = map->vmi; > int error; > @@ -2345,11 +2345,11 @@ static int __mmap_new_file_vma(struct mmap_state *map, > * > * Returns: Zero on success, or an error. > */ > -static int __mmap_new_vma(struct mmap_state *map, struct vm_area_struct **vmap) > +static int __mmap_new_vma(struct mmap_state *map, struct mm_area **vmap) > { > struct vma_iterator *vmi = map->vmi; > int error = 0; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > /* > * Determine the object being mapped and call the appropriate > @@ -2415,7 +2415,7 @@ static int __mmap_new_vma(struct mmap_state *map, struct vm_area_struct **vmap) > * @map: Mapping state. > * @vma: Merged or newly allocated VMA for the mmap()'d region. > */ > -static void __mmap_complete(struct mmap_state *map, struct vm_area_struct *vma) > +static void __mmap_complete(struct mmap_state *map, struct mm_area *vma) > { > struct mm_struct *mm = map->mm; > unsigned long vm_flags = vma->vm_flags; > @@ -2455,7 +2455,7 @@ static unsigned long __mmap_region(struct file *file, unsigned long addr, > struct list_head *uf) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma = NULL; > + struct mm_area *vma = NULL; > int error; > VMA_ITERATOR(vmi, mm, addr); > MMAP_STATE(map, mm, &vmi, addr, len, pgoff, vm_flags, file); > @@ -2480,7 +2480,7 @@ static unsigned long __mmap_region(struct file *file, unsigned long addr, > > /* If flags changed, we might be able to merge, so try again. */ > if (map.retry_merge) { > - struct vm_area_struct *merged; > + struct mm_area *merged; > VMG_MMAP_STATE(vmg, &map, vma); > > vma_iter_config(map.vmi, map.addr, map.end); > @@ -2573,7 +2573,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, > * do not match then create a new anonymous VMA. Eventually we may be able to > * do some brk-specific accounting here. > */ > -int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma, > +int do_brk_flags(struct vma_iterator *vmi, struct mm_area *vma, > unsigned long addr, unsigned long len, unsigned long flags) > { > struct mm_struct *mm = current->mm; > @@ -2657,7 +2657,7 @@ unsigned long unmapped_area(struct vm_unmapped_area_info *info) > { > unsigned long length, gap; > unsigned long low_limit, high_limit; > - struct vm_area_struct *tmp; > + struct mm_area *tmp; > VMA_ITERATOR(vmi, current->mm, 0); > > /* Adjust search length to account for worst case alignment overhead */ > @@ -2714,7 +2714,7 @@ unsigned long unmapped_area_topdown(struct vm_unmapped_area_info *info) > { > unsigned long length, gap, gap_end; > unsigned long low_limit, high_limit; > - struct vm_area_struct *tmp; > + struct mm_area *tmp; > VMA_ITERATOR(vmi, current->mm, 0); > > /* Adjust search length to account for worst case alignment overhead */ > @@ -2757,7 +2757,7 @@ unsigned long unmapped_area_topdown(struct vm_unmapped_area_info *info) > * update accounting. This is shared with both the > * grow-up and grow-down cases. > */ > -static int acct_stack_growth(struct vm_area_struct *vma, > +static int acct_stack_growth(struct mm_area *vma, > unsigned long size, unsigned long grow) > { > struct mm_struct *mm = vma->vm_mm; > @@ -2796,10 +2796,10 @@ static int acct_stack_growth(struct vm_area_struct *vma, > * PA-RISC uses this for its stack. > * vma is the last one with address > vma->vm_end. Have to extend vma. > */ > -int expand_upwards(struct vm_area_struct *vma, unsigned long address) > +int expand_upwards(struct mm_area *vma, unsigned long address) > { > struct mm_struct *mm = vma->vm_mm; > - struct vm_area_struct *next; > + struct mm_area *next; > unsigned long gap_addr; > int error = 0; > VMA_ITERATOR(vmi, mm, vma->vm_start); > @@ -2882,10 +2882,10 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) > * vma is the first one with address < vma->vm_start. Have to extend vma. > * mmap_lock held for writing. > */ > -int expand_downwards(struct vm_area_struct *vma, unsigned long address) > +int expand_downwards(struct mm_area *vma, unsigned long address) > { > struct mm_struct *mm = vma->vm_mm; > - struct vm_area_struct *prev; > + struct mm_area *prev; > int error = 0; > VMA_ITERATOR(vmi, mm, vma->vm_start); > > diff --git a/mm/vma.h b/mm/vma.h > index 7356ca5a22d3..b488a473fa97 100644 > --- a/mm/vma.h > +++ b/mm/vma.h > @@ -11,19 +11,19 @@ > * VMA lock generalization > */ > struct vma_prepare { > - struct vm_area_struct *vma; > - struct vm_area_struct *adj_next; > + struct mm_area *vma; > + struct mm_area *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; > + struct mm_area *insert; > + struct mm_area *remove; > + struct mm_area *remove2; > }; > > struct unlink_vma_file_batch { > int count; > - struct vm_area_struct *vmas[8]; > + struct mm_area *vmas[8]; > }; > > /* > @@ -31,9 +31,9 @@ struct unlink_vma_file_batch { > */ > struct vma_munmap_struct { > struct vma_iterator *vmi; > - struct vm_area_struct *vma; /* The first vma to munmap */ > - struct vm_area_struct *prev; /* vma before the munmap area */ > - struct vm_area_struct *next; /* vma after the munmap area */ > + struct mm_area *vma; /* The first vma to munmap */ > + struct mm_area *prev; /* vma before the munmap area */ > + struct mm_area *next; /* vma after the munmap area */ > struct list_head *uf; /* Userfaultfd list_head */ > unsigned long start; /* Aligned start addr (inclusive) */ > unsigned long end; /* Aligned end addr (exclusive) */ > @@ -79,11 +79,11 @@ struct vma_merge_struct { > * > * next may be assigned by the caller. > */ > - struct vm_area_struct *prev; > - struct vm_area_struct *middle; > - struct vm_area_struct *next; > + struct mm_area *prev; > + struct mm_area *middle; > + struct mm_area *next; > /* This is the VMA we ultimately target to become the merged VMA. */ > - struct vm_area_struct *target; > + struct mm_area *target; > /* > * Initially, the start, end, pgoff fields are provided by the caller > * and describe the proposed new VMA range, whether modifying an > @@ -145,7 +145,7 @@ static inline bool vmg_nomem(struct vma_merge_struct *vmg) > } > > /* Assumes addr >= vma->vm_start. */ > -static inline pgoff_t vma_pgoff_offset(struct vm_area_struct *vma, > +static inline pgoff_t vma_pgoff_offset(struct mm_area *vma, > unsigned long addr) > { > return vma->vm_pgoff + PHYS_PFN(addr - vma->vm_start); > @@ -189,11 +189,11 @@ void validate_mm(struct mm_struct *mm); > > __must_check int vma_expand(struct vma_merge_struct *vmg); > __must_check int vma_shrink(struct vma_iterator *vmi, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long start, unsigned long end, pgoff_t pgoff); > > static inline int vma_iter_store_gfp(struct vma_iterator *vmi, > - struct vm_area_struct *vma, gfp_t gfp) > + struct mm_area *vma, gfp_t gfp) > > { > if (vmi->mas.status != ma_start && > @@ -210,7 +210,7 @@ static inline int vma_iter_store_gfp(struct vma_iterator *vmi, > } > > int > -do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, > +do_vmi_align_munmap(struct vma_iterator *vmi, struct mm_area *vma, > struct mm_struct *mm, unsigned long start, > unsigned long end, struct list_head *uf, bool unlock); > > @@ -218,51 +218,51 @@ int do_vmi_munmap(struct vma_iterator *vmi, struct mm_struct *mm, > unsigned long start, size_t len, struct list_head *uf, > bool unlock); > > -void remove_vma(struct vm_area_struct *vma); > +void remove_vma(struct mm_area *vma); > > -void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, > - struct vm_area_struct *prev, struct vm_area_struct *next); > +void unmap_region(struct ma_state *mas, struct mm_area *vma, > + struct mm_area *prev, struct mm_area *next); > > /* We are about to modify the VMA's flags. */ > -__must_check struct vm_area_struct > +__must_check struct mm_area > *vma_modify_flags(struct vma_iterator *vmi, > - struct vm_area_struct *prev, struct vm_area_struct *vma, > + struct mm_area *prev, struct mm_area *vma, > unsigned long start, unsigned long end, > unsigned long new_flags); > > /* We are about to modify the VMA's flags and/or anon_name. */ > -__must_check struct vm_area_struct > +__must_check struct mm_area > *vma_modify_flags_name(struct vma_iterator *vmi, > - struct vm_area_struct *prev, > - struct vm_area_struct *vma, > + struct mm_area *prev, > + struct mm_area *vma, > unsigned long start, > unsigned long end, > unsigned long new_flags, > struct anon_vma_name *new_name); > > /* We are about to modify the VMA's memory policy. */ > -__must_check struct vm_area_struct > +__must_check struct mm_area > *vma_modify_policy(struct vma_iterator *vmi, > - struct vm_area_struct *prev, > - struct vm_area_struct *vma, > + struct mm_area *prev, > + struct mm_area *vma, > unsigned long start, unsigned long end, > struct mempolicy *new_pol); > > /* We are about to modify the VMA's flags and/or uffd context. */ > -__must_check struct vm_area_struct > +__must_check struct mm_area > *vma_modify_flags_uffd(struct vma_iterator *vmi, > - struct vm_area_struct *prev, > - struct vm_area_struct *vma, > + struct mm_area *prev, > + struct mm_area *vma, > unsigned long start, unsigned long end, > unsigned long new_flags, > struct vm_userfaultfd_ctx new_ctx); > > -__must_check struct vm_area_struct > +__must_check struct mm_area > *vma_merge_new_range(struct vma_merge_struct *vmg); > > -__must_check struct vm_area_struct > +__must_check struct mm_area > *vma_merge_extend(struct vma_iterator *vmi, > - struct vm_area_struct *vma, > + struct mm_area *vma, > unsigned long delta); > > void unlink_file_vma_batch_init(struct unlink_vma_file_batch *vb); > @@ -270,22 +270,22 @@ void unlink_file_vma_batch_init(struct unlink_vma_file_batch *vb); > void unlink_file_vma_batch_final(struct unlink_vma_file_batch *vb); > > void unlink_file_vma_batch_add(struct unlink_vma_file_batch *vb, > - struct vm_area_struct *vma); > + struct mm_area *vma); > > -void unlink_file_vma(struct vm_area_struct *vma); > +void unlink_file_vma(struct mm_area *vma); > > -void vma_link_file(struct vm_area_struct *vma); > +void vma_link_file(struct mm_area *vma); > > -int vma_link(struct mm_struct *mm, struct vm_area_struct *vma); > +int vma_link(struct mm_struct *mm, struct mm_area *vma); > > -struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, > +struct mm_area *copy_vma(struct mm_area **vmap, > unsigned long addr, unsigned long len, pgoff_t pgoff, > bool *need_rmap_locks); > > -struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *vma); > +struct anon_vma *find_mergeable_anon_vma(struct mm_area *vma); > > -bool vma_needs_dirty_tracking(struct vm_area_struct *vma); > -bool vma_wants_writenotify(struct vm_area_struct *vma, pgprot_t vm_page_prot); > +bool vma_needs_dirty_tracking(struct mm_area *vma); > +bool vma_wants_writenotify(struct mm_area *vma, pgprot_t vm_page_prot); > > int mm_take_all_locks(struct mm_struct *mm); > void mm_drop_all_locks(struct mm_struct *mm); > @@ -294,13 +294,13 @@ unsigned long mmap_region(struct file *file, unsigned long addr, > unsigned long len, vm_flags_t vm_flags, unsigned long pgoff, > struct list_head *uf); > > -int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *brkvma, > +int do_brk_flags(struct vma_iterator *vmi, struct mm_area *brkvma, > unsigned long addr, unsigned long request, unsigned long flags); > > unsigned long unmapped_area(struct vm_unmapped_area_info *info); > unsigned long unmapped_area_topdown(struct vm_unmapped_area_info *info); > > -static inline bool vma_wants_manual_pte_write_upgrade(struct vm_area_struct *vma) > +static inline bool vma_wants_manual_pte_write_upgrade(struct mm_area *vma) > { > /* > * We want to check manually if we can change individual PTEs writable > @@ -320,7 +320,7 @@ static inline pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags > } > #endif > > -static inline struct vm_area_struct *vma_prev_limit(struct vma_iterator *vmi, > +static inline struct mm_area *vma_prev_limit(struct vma_iterator *vmi, > unsigned long min) > { > return mas_prev(&vmi->mas, min); > @@ -370,13 +370,13 @@ static inline void vma_iter_reset(struct vma_iterator *vmi) > } > > static inline > -struct vm_area_struct *vma_iter_prev_range_limit(struct vma_iterator *vmi, unsigned long min) > +struct mm_area *vma_iter_prev_range_limit(struct vma_iterator *vmi, unsigned long min) > { > return mas_prev_range(&vmi->mas, min); > } > > static inline > -struct vm_area_struct *vma_iter_next_range_limit(struct vma_iterator *vmi, unsigned long max) > +struct mm_area *vma_iter_next_range_limit(struct vma_iterator *vmi, unsigned long max) > { > return mas_next_range(&vmi->mas, max); > } > @@ -397,7 +397,7 @@ static inline int vma_iter_area_highest(struct vma_iterator *vmi, unsigned long > * VMA Iterator functions shared between nommu and mmap > */ > static inline int vma_iter_prealloc(struct vma_iterator *vmi, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return mas_preallocate(&vmi->mas, vma, GFP_KERNEL); > } > @@ -407,14 +407,14 @@ static inline void vma_iter_clear(struct vma_iterator *vmi) > mas_store_prealloc(&vmi->mas, NULL); > } > > -static inline struct vm_area_struct *vma_iter_load(struct vma_iterator *vmi) > +static inline struct mm_area *vma_iter_load(struct vma_iterator *vmi) > { > return mas_walk(&vmi->mas); > } > > /* Store a VMA with preallocated memory */ > static inline void vma_iter_store_overwrite(struct vma_iterator *vmi, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > vma_assert_attached(vma); > > @@ -442,7 +442,7 @@ static inline void vma_iter_store_overwrite(struct vma_iterator *vmi, > } > > static inline void vma_iter_store_new(struct vma_iterator *vmi, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > vma_mark_attached(vma); > vma_iter_store_overwrite(vmi, vma); > @@ -465,7 +465,7 @@ static inline int vma_iter_bulk_alloc(struct vma_iterator *vmi, > } > > static inline > -struct vm_area_struct *vma_iter_prev_range(struct vma_iterator *vmi) > +struct mm_area *vma_iter_prev_range(struct vma_iterator *vmi) > { > return mas_prev_range(&vmi->mas, 0); > } > @@ -475,11 +475,11 @@ struct vm_area_struct *vma_iter_prev_range(struct vma_iterator *vmi) > * if no previous VMA, to index 0. > */ > static inline > -struct vm_area_struct *vma_iter_next_rewind(struct vma_iterator *vmi, > - struct vm_area_struct **pprev) > +struct mm_area *vma_iter_next_rewind(struct vma_iterator *vmi, > + struct mm_area **pprev) > { > - struct vm_area_struct *next = vma_next(vmi); > - struct vm_area_struct *prev = vma_prev(vmi); > + struct mm_area *next = vma_next(vmi); > + struct mm_area *prev = vma_prev(vmi); > > /* > * Consider the case where no previous VMA exists. We advance to the > @@ -500,7 +500,7 @@ struct vm_area_struct *vma_iter_next_rewind(struct vma_iterator *vmi, > > #ifdef CONFIG_64BIT > > -static inline bool vma_is_sealed(struct vm_area_struct *vma) > +static inline bool vma_is_sealed(struct mm_area *vma) > { > return (vma->vm_flags & VM_SEALED); > } > @@ -509,7 +509,7 @@ static inline bool vma_is_sealed(struct vm_area_struct *vma) > * check if a vma is sealed for modification. > * return true, if modification is allowed. > */ > -static inline bool can_modify_vma(struct vm_area_struct *vma) > +static inline bool can_modify_vma(struct mm_area *vma) > { > if (unlikely(vma_is_sealed(vma))) > return false; > @@ -517,16 +517,16 @@ static inline bool can_modify_vma(struct vm_area_struct *vma) > return true; > } > > -bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior); > +bool can_modify_vma_madv(struct mm_area *vma, int behavior); > > #else > > -static inline bool can_modify_vma(struct vm_area_struct *vma) > +static inline bool can_modify_vma(struct mm_area *vma) > { > return true; > } > > -static inline bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior) > +static inline bool can_modify_vma_madv(struct mm_area *vma, int behavior) > { > return true; > } > @@ -534,10 +534,10 @@ static inline bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior) > #endif > > #if defined(CONFIG_STACK_GROWSUP) > -int expand_upwards(struct vm_area_struct *vma, unsigned long address); > +int expand_upwards(struct mm_area *vma, unsigned long address); > #endif > > -int expand_downwards(struct vm_area_struct *vma, unsigned long address); > +int expand_downwards(struct mm_area *vma, unsigned long address); > > int __vm_munmap(unsigned long start, size_t len, bool unlock); > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 3ed720a787ec..c3ad2c82c0f9 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -4450,7 +4450,7 @@ long vread_iter(struct iov_iter *iter, const char *addr, size_t count) > * > * Similar to remap_pfn_range() (see mm/memory.c) > */ > -int remap_vmalloc_range_partial(struct vm_area_struct *vma, unsigned long uaddr, > +int remap_vmalloc_range_partial(struct mm_area *vma, unsigned long uaddr, > void *kaddr, unsigned long pgoff, > unsigned long size) > { > @@ -4510,7 +4510,7 @@ int remap_vmalloc_range_partial(struct vm_area_struct *vma, unsigned long uaddr, > * > * Similar to remap_pfn_range() (see mm/memory.c) > */ > -int remap_vmalloc_range(struct vm_area_struct *vma, void *addr, > +int remap_vmalloc_range(struct mm_area *vma, void *addr, > unsigned long pgoff) > { > return remap_vmalloc_range_partial(vma, vma->vm_start, > diff --git a/mm/vmscan.c b/mm/vmscan.c > index b620d74b0f66..9e629fea2e9a 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -3322,7 +3322,7 @@ static void reset_batch_size(struct lru_gen_mm_walk *walk) > static int should_skip_vma(unsigned long start, unsigned long end, struct mm_walk *args) > { > struct address_space *mapping; > - struct vm_area_struct *vma = args->vma; > + struct mm_area *vma = args->vma; > struct lru_gen_mm_walk *walk = args->private; > > if (!vma_is_accessible(vma)) > @@ -3391,7 +3391,7 @@ static bool get_next_vma(unsigned long mask, unsigned long size, struct mm_walk > return false; > } > > -static unsigned long get_pte_pfn(pte_t pte, struct vm_area_struct *vma, unsigned long addr, > +static unsigned long get_pte_pfn(pte_t pte, struct mm_area *vma, unsigned long addr, > struct pglist_data *pgdat) > { > unsigned long pfn = pte_pfn(pte); > @@ -3416,7 +3416,7 @@ static unsigned long get_pte_pfn(pte_t pte, struct vm_area_struct *vma, unsigned > return pfn; > } > > -static unsigned long get_pmd_pfn(pmd_t pmd, struct vm_area_struct *vma, unsigned long addr, > +static unsigned long get_pmd_pfn(pmd_t pmd, struct mm_area *vma, unsigned long addr, > struct pglist_data *pgdat) > { > unsigned long pfn = pmd_pfn(pmd); > @@ -3569,7 +3569,7 @@ static bool walk_pte_range(pmd_t *pmd, unsigned long start, unsigned long end, > return suitable_to_scan(total, young); > } > > -static void walk_pmd_range_locked(pud_t *pud, unsigned long addr, struct vm_area_struct *vma, > +static void walk_pmd_range_locked(pud_t *pud, unsigned long addr, struct mm_area *vma, > struct mm_walk *args, unsigned long *bitmap, unsigned long *first) > { > int i; > @@ -3664,7 +3664,7 @@ static void walk_pmd_range(pud_t *pud, unsigned long start, unsigned long end, > pmd_t *pmd; > unsigned long next; > unsigned long addr; > - struct vm_area_struct *vma; > + struct mm_area *vma; > DECLARE_BITMAP(bitmap, MIN_LRU_BATCH); > unsigned long first = -1; > struct lru_gen_mm_walk *walk = args->private; > @@ -4193,7 +4193,7 @@ bool lru_gen_look_around(struct page_vma_mapped_walk *pvmw) > int young = 1; > pte_t *pte = pvmw->pte; > unsigned long addr = pvmw->address; > - struct vm_area_struct *vma = pvmw->vma; > + struct mm_area *vma = pvmw->vma; > struct folio *folio = pfn_folio(pvmw->pfn); > struct mem_cgroup *memcg = folio_memcg(folio); > struct pglist_data *pgdat = folio_pgdat(folio); > diff --git a/net/core/sock.c b/net/core/sock.c > index 323892066def..7d9b9ea0014d 100644 > --- a/net/core/sock.c > +++ b/net/core/sock.c > @@ -3467,7 +3467,7 @@ int sock_no_recvmsg(struct socket *sock, struct msghdr *m, size_t len, > } > EXPORT_SYMBOL(sock_no_recvmsg); > > -int sock_no_mmap(struct file *file, struct socket *sock, struct vm_area_struct *vma) > +int sock_no_mmap(struct file *file, struct socket *sock, struct mm_area *vma) > { > /* Mirror missing mmap method error code */ > return -ENODEV; > diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c > index ea8de00f669d..f51b18d0fac2 100644 > --- a/net/ipv4/tcp.c > +++ b/net/ipv4/tcp.c > @@ -1801,7 +1801,7 @@ static const struct vm_operations_struct tcp_vm_ops = { > }; > > int tcp_mmap(struct file *file, struct socket *sock, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > if (vma->vm_flags & (VM_WRITE | VM_EXEC)) > return -EPERM; > @@ -1997,7 +1997,7 @@ static int tcp_zc_handle_leftover(struct tcp_zerocopy_receive *zc, > return zc->copybuf_len < 0 ? 0 : copylen; > } > > -static int tcp_zerocopy_vm_insert_batch_error(struct vm_area_struct *vma, > +static int tcp_zerocopy_vm_insert_batch_error(struct mm_area *vma, > struct page **pending_pages, > unsigned long pages_remaining, > unsigned long *address, > @@ -2045,7 +2045,7 @@ static int tcp_zerocopy_vm_insert_batch_error(struct vm_area_struct *vma, > return err; > } > > -static int tcp_zerocopy_vm_insert_batch(struct vm_area_struct *vma, > +static int tcp_zerocopy_vm_insert_batch(struct mm_area *vma, > struct page **pages, > unsigned int pages_to_map, > unsigned long *address, > @@ -2104,11 +2104,11 @@ static void tcp_zc_finalize_rx_tstamp(struct sock *sk, > } > } > > -static struct vm_area_struct *find_tcp_vma(struct mm_struct *mm, > +static struct mm_area *find_tcp_vma(struct mm_struct *mm, > unsigned long address, > bool *mmap_locked) > { > - struct vm_area_struct *vma = lock_vma_under_rcu(mm, address); > + struct mm_area *vma = lock_vma_under_rcu(mm, address); > > if (vma) { > if (vma->vm_ops != &tcp_vm_ops) { > @@ -2141,7 +2141,7 @@ static int tcp_zerocopy_receive(struct sock *sk, > struct tcp_sock *tp = tcp_sk(sk); > const skb_frag_t *frags = NULL; > unsigned int pages_to_map = 0; > - struct vm_area_struct *vma; > + struct mm_area *vma; > struct sk_buff *skb = NULL; > u32 seq = tp->copied_seq; > u32 total_bytes_to_map; > diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c > index 3e9ddf72cd03..c1ac0ed67f71 100644 > --- a/net/packet/af_packet.c > +++ b/net/packet/af_packet.c > @@ -4358,7 +4358,7 @@ static __poll_t packet_poll(struct file *file, struct socket *sock, > * for user mmaps. > */ > > -static void packet_mm_open(struct vm_area_struct *vma) > +static void packet_mm_open(struct mm_area *vma) > { > struct file *file = vma->vm_file; > struct socket *sock = file->private_data; > @@ -4368,7 +4368,7 @@ static void packet_mm_open(struct vm_area_struct *vma) > atomic_long_inc(&pkt_sk(sk)->mapped); > } > > -static void packet_mm_close(struct vm_area_struct *vma) > +static void packet_mm_close(struct mm_area *vma) > { > struct file *file = vma->vm_file; > struct socket *sock = file->private_data; > @@ -4619,7 +4619,7 @@ static int packet_set_ring(struct sock *sk, union tpacket_req_u *req_u, > } > > static int packet_mmap(struct file *file, struct socket *sock, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct sock *sk = sock->sk; > struct packet_sock *po = pkt_sk(sk); > diff --git a/net/socket.c b/net/socket.c > index 9a0e720f0859..796d8811c0cc 100644 > --- a/net/socket.c > +++ b/net/socket.c > @@ -119,7 +119,7 @@ unsigned int sysctl_net_busy_poll __read_mostly; > > static ssize_t sock_read_iter(struct kiocb *iocb, struct iov_iter *to); > static ssize_t sock_write_iter(struct kiocb *iocb, struct iov_iter *from); > -static int sock_mmap(struct file *file, struct vm_area_struct *vma); > +static int sock_mmap(struct file *file, struct mm_area *vma); > > static int sock_close(struct inode *inode, struct file *file); > static __poll_t sock_poll(struct file *file, > @@ -1379,7 +1379,7 @@ static __poll_t sock_poll(struct file *file, poll_table *wait) > return ops->poll(file, sock, wait) | flag; > } > > -static int sock_mmap(struct file *file, struct vm_area_struct *vma) > +static int sock_mmap(struct file *file, struct mm_area *vma) > { > struct socket *sock = file->private_data; > > diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c > index 5696af45bcf7..13d7febb2286 100644 > --- a/net/xdp/xsk.c > +++ b/net/xdp/xsk.c > @@ -1595,7 +1595,7 @@ static int xsk_getsockopt(struct socket *sock, int level, int optname, > } > > static int xsk_mmap(struct file *file, struct socket *sock, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > loff_t offset = (loff_t)vma->vm_pgoff << PAGE_SHIFT; > unsigned long size = vma->vm_end - vma->vm_start; > diff --git a/samples/ftrace/ftrace-direct-too.c b/samples/ftrace/ftrace-direct-too.c > index 3d0fa260332d..6c77296cf30b 100644 > --- a/samples/ftrace/ftrace-direct-too.c > +++ b/samples/ftrace/ftrace-direct-too.c > @@ -7,10 +7,10 @@ > #include > #endif > > -extern void my_direct_func(struct vm_area_struct *vma, unsigned long address, > +extern void my_direct_func(struct mm_area *vma, unsigned long address, > unsigned int flags, struct pt_regs *regs); > > -void my_direct_func(struct vm_area_struct *vma, unsigned long address, > +void my_direct_func(struct mm_area *vma, unsigned long address, > unsigned int flags, struct pt_regs *regs) > { > trace_printk("handle mm fault vma=%p address=%lx flags=%x regs=%p\n", > diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c > index 18623ba666e3..4b6121f12c27 100644 > --- a/samples/vfio-mdev/mbochs.c > +++ b/samples/vfio-mdev/mbochs.c > @@ -777,7 +777,7 @@ static void mbochs_put_pages(struct mdev_state *mdev_state) > > static vm_fault_t mbochs_region_vm_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct mdev_state *mdev_state = vma->vm_private_data; > pgoff_t page_offset = (vmf->address - vma->vm_start) >> PAGE_SHIFT; > > @@ -795,7 +795,7 @@ static const struct vm_operations_struct mbochs_region_vm_ops = { > .fault = mbochs_region_vm_fault, > }; > > -static int mbochs_mmap(struct vfio_device *vdev, struct vm_area_struct *vma) > +static int mbochs_mmap(struct vfio_device *vdev, struct mm_area *vma) > { > struct mdev_state *mdev_state = > container_of(vdev, struct mdev_state, vdev); > @@ -816,7 +816,7 @@ static int mbochs_mmap(struct vfio_device *vdev, struct vm_area_struct *vma) > > static vm_fault_t mbochs_dmabuf_vm_fault(struct vm_fault *vmf) > { > - struct vm_area_struct *vma = vmf->vma; > + struct mm_area *vma = vmf->vma; > struct mbochs_dmabuf *dmabuf = vma->vm_private_data; > > if (WARN_ON(vmf->pgoff >= dmabuf->pagecount)) > @@ -831,7 +831,7 @@ static const struct vm_operations_struct mbochs_dmabuf_vm_ops = { > .fault = mbochs_dmabuf_vm_fault, > }; > > -static int mbochs_mmap_dmabuf(struct dma_buf *buf, struct vm_area_struct *vma) > +static int mbochs_mmap_dmabuf(struct dma_buf *buf, struct mm_area *vma) > { > struct mbochs_dmabuf *dmabuf = buf->priv; > struct device *dev = mdev_dev(dmabuf->mdev_state->mdev); > diff --git a/samples/vfio-mdev/mdpy.c b/samples/vfio-mdev/mdpy.c > index 8104831ae125..8f939e826acf 100644 > --- a/samples/vfio-mdev/mdpy.c > +++ b/samples/vfio-mdev/mdpy.c > @@ -418,7 +418,7 @@ static ssize_t mdpy_write(struct vfio_device *vdev, const char __user *buf, > return -EFAULT; > } > > -static int mdpy_mmap(struct vfio_device *vdev, struct vm_area_struct *vma) > +static int mdpy_mmap(struct vfio_device *vdev, struct mm_area *vma) > { > struct mdev_state *mdev_state = > container_of(vdev, struct mdev_state, vdev); > diff --git a/scripts/coccinelle/api/vma_pages.cocci b/scripts/coccinelle/api/vma_pages.cocci > index 10511b9bf35e..96c7790dff71 100644 > --- a/scripts/coccinelle/api/vma_pages.cocci > +++ b/scripts/coccinelle/api/vma_pages.cocci > @@ -16,7 +16,7 @@ virtual report > //---------------------------------------------------------- > > @r_context depends on context && !patch && !org && !report@ > -struct vm_area_struct *vma; > +struct mm_area *vma; > @@ > > * (vma->vm_end - vma->vm_start) >> PAGE_SHIFT > @@ -26,7 +26,7 @@ struct vm_area_struct *vma; > //---------------------------------------------------------- > > @r_patch depends on !context && patch && !org && !report@ > -struct vm_area_struct *vma; > +struct mm_area *vma; > @@ > > - ((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) > @@ -37,7 +37,7 @@ struct vm_area_struct *vma; > //---------------------------------------------------------- > > @r_org depends on !context && !patch && (org || report)@ > -struct vm_area_struct *vma; > +struct mm_area *vma; > position p; > @@ > > diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c > index 7952e8cab353..cadd2fdbf01d 100644 > --- a/security/apparmor/lsm.c > +++ b/security/apparmor/lsm.c > @@ -585,7 +585,7 @@ static int apparmor_mmap_file(struct file *file, unsigned long reqprot, > return common_mmap(OP_FMMAP, file, prot, flags, GFP_ATOMIC); > } > > -static int apparmor_file_mprotect(struct vm_area_struct *vma, > +static int apparmor_file_mprotect(struct mm_area *vma, > unsigned long reqprot, unsigned long prot) > { > return common_mmap(OP_FMPROT, vma->vm_file, prot, > diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c > index f3e7ac513db3..a6e25bb8dc0b 100644 > --- a/security/integrity/ima/ima_main.c > +++ b/security/integrity/ima/ima_main.c > @@ -478,7 +478,7 @@ static int ima_file_mmap(struct file *file, unsigned long reqprot, > > /** > * ima_file_mprotect - based on policy, limit mprotect change > - * @vma: vm_area_struct protection is set to > + * @vma: mm_area protection is set to > * @reqprot: protection requested by the application > * @prot: protection that will be applied by the kernel > * > @@ -490,7 +490,7 @@ static int ima_file_mmap(struct file *file, unsigned long reqprot, > * > * On mprotect change success, return 0. On failure, return -EACESS. > */ > -static int ima_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, > +static int ima_file_mprotect(struct mm_area *vma, unsigned long reqprot, > unsigned long prot) > { > struct ima_template_desc *template = NULL; > diff --git a/security/ipe/hooks.c b/security/ipe/hooks.c > index d0323b81cd8f..5882e26563be 100644 > --- a/security/ipe/hooks.c > +++ b/security/ipe/hooks.c > @@ -77,7 +77,7 @@ int ipe_mmap_file(struct file *f, unsigned long reqprot __always_unused, > * * %0 - Success > * * %-EACCES - Did not pass IPE policy > */ > -int ipe_file_mprotect(struct vm_area_struct *vma, > +int ipe_file_mprotect(struct mm_area *vma, > unsigned long reqprot __always_unused, > unsigned long prot) > { > diff --git a/security/ipe/hooks.h b/security/ipe/hooks.h > index 38d4a387d039..3b4b2f502809 100644 > --- a/security/ipe/hooks.h > +++ b/security/ipe/hooks.h > @@ -27,7 +27,7 @@ int ipe_bprm_check_security(struct linux_binprm *bprm); > int ipe_mmap_file(struct file *f, unsigned long reqprot, unsigned long prot, > unsigned long flags); > > -int ipe_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, > +int ipe_file_mprotect(struct mm_area *vma, unsigned long reqprot, > unsigned long prot); > > int ipe_kernel_read_file(struct file *file, enum kernel_read_file_id id, > diff --git a/security/security.c b/security/security.c > index fb57e8fddd91..1026b02ee7cf 100644 > --- a/security/security.c > +++ b/security/security.c > @@ -3006,7 +3006,7 @@ int security_mmap_addr(unsigned long addr) > * > * Return: Returns 0 if permission is granted. > */ > -int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, > +int security_file_mprotect(struct mm_area *vma, unsigned long reqprot, > unsigned long prot) > { > return call_int_hook(file_mprotect, vma, reqprot, prot); > diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c > index e7a7dcab81db..28b458a22af8 100644 > --- a/security/selinux/hooks.c > +++ b/security/selinux/hooks.c > @@ -3848,7 +3848,7 @@ static int selinux_mmap_file(struct file *file, > (flags & MAP_TYPE) == MAP_SHARED); > } > > -static int selinux_file_mprotect(struct vm_area_struct *vma, > +static int selinux_file_mprotect(struct mm_area *vma, > unsigned long reqprot __always_unused, > unsigned long prot) > { > diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c > index 47480eb2189b..84ed683ce903 100644 > --- a/security/selinux/selinuxfs.c > +++ b/security/selinux/selinuxfs.c > @@ -240,7 +240,7 @@ static ssize_t sel_read_handle_status(struct file *filp, char __user *buf, > } > > static int sel_mmap_handle_status(struct file *filp, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct page *status = filp->private_data; > unsigned long size = vma->vm_end - vma->vm_start; > @@ -465,7 +465,7 @@ static const struct vm_operations_struct sel_mmap_policy_ops = { > .page_mkwrite = sel_mmap_policy_fault, > }; > > -static int sel_mmap_policy(struct file *filp, struct vm_area_struct *vma) > +static int sel_mmap_policy(struct file *filp, struct mm_area *vma) > { > if (vma->vm_flags & VM_SHARED) { > /* do not allow mprotect to make mapping writable */ > diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c > index 840bb9cfe789..84e86bd99ead 100644 > --- a/sound/core/compress_offload.c > +++ b/sound/core/compress_offload.c > @@ -389,7 +389,7 @@ static ssize_t snd_compr_read(struct file *f, char __user *buf, > return retval; > } > > -static int snd_compr_mmap(struct file *f, struct vm_area_struct *vma) > +static int snd_compr_mmap(struct file *f, struct mm_area *vma) > { > return -ENXIO; > } > diff --git a/sound/core/hwdep.c b/sound/core/hwdep.c > index 09200df2932c..ac5cf0c98ec4 100644 > --- a/sound/core/hwdep.c > +++ b/sound/core/hwdep.c > @@ -253,7 +253,7 @@ static long snd_hwdep_ioctl(struct file * file, unsigned int cmd, > return -ENOTTY; > } > > -static int snd_hwdep_mmap(struct file * file, struct vm_area_struct * vma) > +static int snd_hwdep_mmap(struct file * file, struct mm_area * vma) > { > struct snd_hwdep *hw = file->private_data; > if (hw->ops.mmap) > diff --git a/sound/core/info.c b/sound/core/info.c > index 1f5b8a3d9e3b..2d80eb13ab7e 100644 > --- a/sound/core/info.c > +++ b/sound/core/info.c > @@ -211,7 +211,7 @@ static long snd_info_entry_ioctl(struct file *file, unsigned int cmd, > file, cmd, arg); > } > > -static int snd_info_entry_mmap(struct file *file, struct vm_area_struct *vma) > +static int snd_info_entry_mmap(struct file *file, struct mm_area *vma) > { > struct inode *inode = file_inode(file); > struct snd_info_private_data *data; > diff --git a/sound/core/init.c b/sound/core/init.c > index 114fb87de990..6c357c892dc4 100644 > --- a/sound/core/init.c > +++ b/sound/core/init.c > @@ -451,7 +451,7 @@ static long snd_disconnect_ioctl(struct file *file, > return -ENODEV; > } > > -static int snd_disconnect_mmap(struct file *file, struct vm_area_struct *vma) > +static int snd_disconnect_mmap(struct file *file, struct mm_area *vma) > { > return -ENODEV; > } > diff --git a/sound/core/memalloc.c b/sound/core/memalloc.c > index b3853583d2ae..2c5f64a1c8fe 100644 > --- a/sound/core/memalloc.c > +++ b/sound/core/memalloc.c > @@ -25,7 +25,7 @@ struct snd_malloc_ops { > struct page *(*get_page)(struct snd_dma_buffer *dmab, size_t offset); > unsigned int (*get_chunk_size)(struct snd_dma_buffer *dmab, > unsigned int ofs, unsigned int size); > - int (*mmap)(struct snd_dma_buffer *dmab, struct vm_area_struct *area); > + int (*mmap)(struct snd_dma_buffer *dmab, struct mm_area *area); > void (*sync)(struct snd_dma_buffer *dmab, enum snd_dma_sync_mode mode); > }; > > @@ -189,7 +189,7 @@ EXPORT_SYMBOL_GPL(snd_devm_alloc_dir_pages); > * Return: zero if successful, or a negative error code > */ > int snd_dma_buffer_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area) > + struct mm_area *area) > { > const struct snd_malloc_ops *ops; > > @@ -334,7 +334,7 @@ static void snd_dma_continuous_free(struct snd_dma_buffer *dmab) > } > > static int snd_dma_continuous_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area) > + struct mm_area *area) > { > return remap_pfn_range(area, area->vm_start, > dmab->addr >> PAGE_SHIFT, > @@ -362,7 +362,7 @@ static void snd_dma_vmalloc_free(struct snd_dma_buffer *dmab) > } > > static int snd_dma_vmalloc_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area) > + struct mm_area *area) > { > return remap_vmalloc_range(area, dmab->area, 0); > } > @@ -451,7 +451,7 @@ static void snd_dma_iram_free(struct snd_dma_buffer *dmab) > } > > static int snd_dma_iram_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area) > + struct mm_area *area) > { > area->vm_page_prot = pgprot_writecombine(area->vm_page_prot); > return remap_pfn_range(area, area->vm_start, > @@ -481,7 +481,7 @@ static void snd_dma_dev_free(struct snd_dma_buffer *dmab) > } > > static int snd_dma_dev_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area) > + struct mm_area *area) > { > return dma_mmap_coherent(dmab->dev.dev, area, > dmab->area, dmab->addr, dmab->bytes); > @@ -520,7 +520,7 @@ static void snd_dma_wc_free(struct snd_dma_buffer *dmab) > } > > static int snd_dma_wc_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area) > + struct mm_area *area) > { > area->vm_page_prot = pgprot_writecombine(area->vm_page_prot); > return dma_mmap_coherent(dmab->dev.dev, area, > @@ -538,7 +538,7 @@ static void snd_dma_wc_free(struct snd_dma_buffer *dmab) > } > > static int snd_dma_wc_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area) > + struct mm_area *area) > { > return dma_mmap_wc(dmab->dev.dev, area, > dmab->area, dmab->addr, dmab->bytes); > @@ -585,7 +585,7 @@ static void snd_dma_noncontig_free(struct snd_dma_buffer *dmab) > } > > static int snd_dma_noncontig_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area) > + struct mm_area *area) > { > return dma_mmap_noncontiguous(dmab->dev.dev, area, > dmab->bytes, dmab->private_data); > @@ -789,7 +789,7 @@ static void snd_dma_sg_fallback_free(struct snd_dma_buffer *dmab) > } > > static int snd_dma_sg_fallback_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area) > + struct mm_area *area) > { > struct snd_dma_sg_fallback *sgbuf = dmab->private_data; > > @@ -849,7 +849,7 @@ static void snd_dma_noncoherent_free(struct snd_dma_buffer *dmab) > } > > static int snd_dma_noncoherent_mmap(struct snd_dma_buffer *dmab, > - struct vm_area_struct *area) > + struct mm_area *area) > { > area->vm_page_prot = vm_get_page_prot(area->vm_flags); > return dma_mmap_pages(dmab->dev.dev, area, > diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c > index 4683b9139c56..884e96ea9cca 100644 > --- a/sound/core/oss/pcm_oss.c > +++ b/sound/core/oss/pcm_oss.c > @@ -2867,7 +2867,7 @@ static __poll_t snd_pcm_oss_poll(struct file *file, poll_table * wait) > return mask; > } > > -static int snd_pcm_oss_mmap(struct file *file, struct vm_area_struct *area) > +static int snd_pcm_oss_mmap(struct file *file, struct mm_area *area) > { > struct snd_pcm_oss_file *pcm_oss_file; > struct snd_pcm_substream *substream = NULL; > diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c > index 6c2b6a62d9d2..415c3dec027f 100644 > --- a/sound/core/pcm_native.c > +++ b/sound/core/pcm_native.c > @@ -3668,7 +3668,7 @@ static const struct vm_operations_struct snd_pcm_vm_ops_status = > }; > > static int snd_pcm_mmap_status(struct snd_pcm_substream *substream, struct file *file, > - struct vm_area_struct *area) > + struct mm_area *area) > { > long size; > if (!(area->vm_flags & VM_READ)) > @@ -3706,7 +3706,7 @@ static const struct vm_operations_struct snd_pcm_vm_ops_control = > }; > > static int snd_pcm_mmap_control(struct snd_pcm_substream *substream, struct file *file, > - struct vm_area_struct *area) > + struct mm_area *area) > { > long size; > if (!(area->vm_flags & VM_READ)) > @@ -3762,12 +3762,12 @@ static bool pcm_control_mmap_allowed(struct snd_pcm_file *pcm_file) > #define pcm_control_mmap_allowed(pcm_file) false > > static int snd_pcm_mmap_status(struct snd_pcm_substream *substream, struct file *file, > - struct vm_area_struct *area) > + struct mm_area *area) > { > return -ENXIO; > } > static int snd_pcm_mmap_control(struct snd_pcm_substream *substream, struct file *file, > - struct vm_area_struct *area) > + struct mm_area *area) > { > return -ENXIO; > } > @@ -3776,7 +3776,7 @@ static int snd_pcm_mmap_control(struct snd_pcm_substream *substream, struct file > /* > * snd_pcm_mmap_data_open - increase the mmap counter > */ > -static void snd_pcm_mmap_data_open(struct vm_area_struct *area) > +static void snd_pcm_mmap_data_open(struct mm_area *area) > { > struct snd_pcm_substream *substream = area->vm_private_data; > > @@ -3786,7 +3786,7 @@ static void snd_pcm_mmap_data_open(struct vm_area_struct *area) > /* > * snd_pcm_mmap_data_close - decrease the mmap counter > */ > -static void snd_pcm_mmap_data_close(struct vm_area_struct *area) > +static void snd_pcm_mmap_data_close(struct mm_area *area) > { > struct snd_pcm_substream *substream = area->vm_private_data; > > @@ -3852,7 +3852,7 @@ static const struct vm_operations_struct snd_pcm_vm_ops_data_fault = { > * Return: zero if successful, or a negative error code > */ > int snd_pcm_lib_default_mmap(struct snd_pcm_substream *substream, > - struct vm_area_struct *area) > + struct mm_area *area) > { > vm_flags_set(area, VM_DONTEXPAND | VM_DONTDUMP); > if (!substream->ops->page && > @@ -3880,7 +3880,7 @@ EXPORT_SYMBOL_GPL(snd_pcm_lib_default_mmap); > * Return: zero if successful, or a negative error code > */ > int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, > - struct vm_area_struct *area) > + struct mm_area *area) > { > struct snd_pcm_runtime *runtime = substream->runtime; > > @@ -3894,7 +3894,7 @@ EXPORT_SYMBOL(snd_pcm_lib_mmap_iomem); > * mmap DMA buffer > */ > int snd_pcm_mmap_data(struct snd_pcm_substream *substream, struct file *file, > - struct vm_area_struct *area) > + struct mm_area *area) > { > struct snd_pcm_runtime *runtime; > long size; > @@ -3937,7 +3937,7 @@ int snd_pcm_mmap_data(struct snd_pcm_substream *substream, struct file *file, > } > EXPORT_SYMBOL(snd_pcm_mmap_data); > > -static int snd_pcm_mmap(struct file *file, struct vm_area_struct *area) > +static int snd_pcm_mmap(struct file *file, struct mm_area *area) > { > struct snd_pcm_file * pcm_file; > struct snd_pcm_substream *substream; > diff --git a/sound/soc/fsl/fsl_asrc_m2m.c b/sound/soc/fsl/fsl_asrc_m2m.c > index f46881f71e43..32356e92f2ae 100644 > --- a/sound/soc/fsl/fsl_asrc_m2m.c > +++ b/sound/soc/fsl/fsl_asrc_m2m.c > @@ -401,7 +401,7 @@ static int fsl_asrc_m2m_comp_set_params(struct snd_compr_stream *stream, > return 0; > } > > -static int fsl_asrc_m2m_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma) > +static int fsl_asrc_m2m_mmap(struct dma_buf *dmabuf, struct mm_area *vma) > { > struct snd_dma_buffer *dmab = dmabuf->priv; > > diff --git a/sound/soc/intel/avs/pcm.c b/sound/soc/intel/avs/pcm.c > index dac463390da1..d595f2ef22a8 100644 > --- a/sound/soc/intel/avs/pcm.c > +++ b/sound/soc/intel/avs/pcm.c > @@ -1240,7 +1240,7 @@ avs_component_pointer(struct snd_soc_component *component, struct snd_pcm_substr > > static int avs_component_mmap(struct snd_soc_component *component, > struct snd_pcm_substream *substream, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return snd_pcm_lib_default_mmap(substream, vma); > } > diff --git a/sound/soc/loongson/loongson_dma.c b/sound/soc/loongson/loongson_dma.c > index 20e4a0641340..2e05bc1683bd 100644 > --- a/sound/soc/loongson/loongson_dma.c > +++ b/sound/soc/loongson/loongson_dma.c > @@ -295,7 +295,7 @@ static int loongson_pcm_close(struct snd_soc_component *component, > > static int loongson_pcm_mmap(struct snd_soc_component *component, > struct snd_pcm_substream *substream, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > return remap_pfn_range(vma, vma->vm_start, > substream->dma_buffer.addr >> PAGE_SHIFT, > diff --git a/sound/soc/pxa/mmp-sspa.c b/sound/soc/pxa/mmp-sspa.c > index 73f36c9dd35c..bbb0f3a15c39 100644 > --- a/sound/soc/pxa/mmp-sspa.c > +++ b/sound/soc/pxa/mmp-sspa.c > @@ -402,7 +402,7 @@ static const struct snd_dmaengine_pcm_config mmp_pcm_config = { > > static int mmp_pcm_mmap(struct snd_soc_component *component, > struct snd_pcm_substream *substream, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > vm_flags_set(vma, VM_DONTEXPAND | VM_DONTDUMP); > vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); > diff --git a/sound/soc/qcom/lpass-platform.c b/sound/soc/qcom/lpass-platform.c > index 9946f12254b3..bf8cd80fcf5a 100644 > --- a/sound/soc/qcom/lpass-platform.c > +++ b/sound/soc/qcom/lpass-platform.c > @@ -894,7 +894,7 @@ static snd_pcm_uframes_t lpass_platform_pcmops_pointer( > } > > static int lpass_platform_cdc_dma_mmap(struct snd_pcm_substream *substream, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct snd_pcm_runtime *runtime = substream->runtime; > unsigned long size, offset; > @@ -910,7 +910,7 @@ static int lpass_platform_cdc_dma_mmap(struct snd_pcm_substream *substream, > > static int lpass_platform_pcmops_mmap(struct snd_soc_component *component, > struct snd_pcm_substream *substream, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct snd_soc_pcm_runtime *soc_runtime = snd_soc_substream_to_rtd(substream); > struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(soc_runtime, 0); > diff --git a/sound/soc/qcom/qdsp6/q6apm-dai.c b/sound/soc/qcom/qdsp6/q6apm-dai.c > index 2cd522108221..6a9ef02b5ab6 100644 > --- a/sound/soc/qcom/qdsp6/q6apm-dai.c > +++ b/sound/soc/qcom/qdsp6/q6apm-dai.c > @@ -739,7 +739,7 @@ static int q6apm_dai_compr_set_metadata(struct snd_soc_component *component, > > static int q6apm_dai_compr_mmap(struct snd_soc_component *component, > struct snd_compr_stream *stream, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct snd_compr_runtime *runtime = stream->runtime; > struct q6apm_dai_rtd *prtd = runtime->private_data; > diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-dai.c > index a400c9a31fea..7d382c459845 100644 > --- a/sound/soc/qcom/qdsp6/q6asm-dai.c > +++ b/sound/soc/qcom/qdsp6/q6asm-dai.c > @@ -1114,7 +1114,7 @@ static int q6asm_compr_copy(struct snd_soc_component *component, > > static int q6asm_dai_compr_mmap(struct snd_soc_component *component, > struct snd_compr_stream *stream, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct snd_compr_runtime *runtime = stream->runtime; > struct q6asm_dai_rtd *prtd = runtime->private_data; > diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c > index 402ccadad46c..618cc682b223 100644 > --- a/sound/soc/samsung/idma.c > +++ b/sound/soc/samsung/idma.c > @@ -240,7 +240,7 @@ idma_pointer(struct snd_soc_component *component, > > static int idma_mmap(struct snd_soc_component *component, > struct snd_pcm_substream *substream, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct snd_pcm_runtime *runtime = substream->runtime; > unsigned long size, offset; > diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c > index 25f5e543ae8d..019eabf1f618 100644 > --- a/sound/soc/soc-component.c > +++ b/sound/soc/soc-component.c > @@ -1095,7 +1095,7 @@ struct page *snd_soc_pcm_component_page(struct snd_pcm_substream *substream, > } > > int snd_soc_pcm_component_mmap(struct snd_pcm_substream *substream, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream); > struct snd_soc_component *component; > diff --git a/sound/soc/uniphier/aio-dma.c b/sound/soc/uniphier/aio-dma.c > index 265d61723e99..e930c48f3ac2 100644 > --- a/sound/soc/uniphier/aio-dma.c > +++ b/sound/soc/uniphier/aio-dma.c > @@ -193,7 +193,7 @@ static snd_pcm_uframes_t uniphier_aiodma_pointer( > > static int uniphier_aiodma_mmap(struct snd_soc_component *component, > struct snd_pcm_substream *substream, > - struct vm_area_struct *vma) > + struct mm_area *vma) > { > vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); > > diff --git a/sound/usb/usx2y/us122l.c b/sound/usb/usx2y/us122l.c > index 6bcf8b859ebb..818228d5e3a2 100644 > --- a/sound/usb/usx2y/us122l.c > +++ b/sound/usb/usx2y/us122l.c > @@ -173,7 +173,7 @@ static int usb_stream_hwdep_release(struct snd_hwdep *hw, struct file *file) > } > > static int usb_stream_hwdep_mmap(struct snd_hwdep *hw, > - struct file *filp, struct vm_area_struct *area) > + struct file *filp, struct mm_area *area) > { > unsigned long size = area->vm_end - area->vm_start; > struct us122l *us122l = hw->private_data; > diff --git a/sound/usb/usx2y/usX2Yhwdep.c b/sound/usb/usx2y/usX2Yhwdep.c > index 9fd6a86cc08e..f53ab11ba825 100644 > --- a/sound/usb/usx2y/usX2Yhwdep.c > +++ b/sound/usb/usx2y/usX2Yhwdep.c > @@ -37,7 +37,7 @@ static const struct vm_operations_struct us428ctls_vm_ops = { > .fault = snd_us428ctls_vm_fault, > }; > > -static int snd_us428ctls_mmap(struct snd_hwdep *hw, struct file *filp, struct vm_area_struct *area) > +static int snd_us428ctls_mmap(struct snd_hwdep *hw, struct file *filp, struct mm_area *area) > { > unsigned long size = (unsigned long)(area->vm_end - area->vm_start); > struct usx2ydev *us428 = hw->private_data; > diff --git a/sound/usb/usx2y/usx2yhwdeppcm.c b/sound/usb/usx2y/usx2yhwdeppcm.c > index 1b1496adb47e..acf7d36dc4e9 100644 > --- a/sound/usb/usx2y/usx2yhwdeppcm.c > +++ b/sound/usb/usx2y/usx2yhwdeppcm.c > @@ -667,11 +667,11 @@ static int snd_usx2y_hwdep_pcm_release(struct snd_hwdep *hw, struct file *file) > return err; > } > > -static void snd_usx2y_hwdep_pcm_vm_open(struct vm_area_struct *area) > +static void snd_usx2y_hwdep_pcm_vm_open(struct mm_area *area) > { > } > > -static void snd_usx2y_hwdep_pcm_vm_close(struct vm_area_struct *area) > +static void snd_usx2y_hwdep_pcm_vm_close(struct mm_area *area) > { > } > > @@ -693,7 +693,7 @@ static const struct vm_operations_struct snd_usx2y_hwdep_pcm_vm_ops = { > .fault = snd_usx2y_hwdep_pcm_vm_fault, > }; > > -static int snd_usx2y_hwdep_pcm_mmap(struct snd_hwdep *hw, struct file *filp, struct vm_area_struct *area) > +static int snd_usx2y_hwdep_pcm_mmap(struct snd_hwdep *hw, struct file *filp, struct mm_area *area) > { > unsigned long size = (unsigned long)(area->vm_end - area->vm_start); > struct usx2ydev *usx2y = hw->private_data; > diff --git a/tools/include/linux/btf_ids.h b/tools/include/linux/btf_ids.h > index 72ea363d434d..3c3285b1bb05 100644 > --- a/tools/include/linux/btf_ids.h > +++ b/tools/include/linux/btf_ids.h > @@ -205,7 +205,7 @@ extern u32 btf_sock_ids[]; > #define BTF_TRACING_TYPE_xxx \ > BTF_TRACING_TYPE(BTF_TRACING_TYPE_TASK, task_struct) \ > BTF_TRACING_TYPE(BTF_TRACING_TYPE_FILE, file) \ > - BTF_TRACING_TYPE(BTF_TRACING_TYPE_VMA, vm_area_struct) > + BTF_TRACING_TYPE(BTF_TRACING_TYPE_VMA, mm_area) > > enum { > #define BTF_TRACING_TYPE(name, type) name, > diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h > index 28705ae67784..7894f9c2ae9b 100644 > --- a/tools/include/uapi/linux/bpf.h > +++ b/tools/include/uapi/linux/bpf.h > @@ -5368,7 +5368,7 @@ union bpf_attr { > * > * The expected callback signature is > * > - * long (\*callback_fn)(struct task_struct \*task, struct vm_area_struct \*vma, void \*callback_ctx); > + * long (\*callback_fn)(struct task_struct \*task, struct mm_area \*vma, void \*callback_ctx); > * > * Return > * 0 on success. > diff --git a/tools/testing/selftests/bpf/bpf_experimental.h b/tools/testing/selftests/bpf/bpf_experimental.h > index 6535c8ae3c46..08d8c40b8546 100644 > --- a/tools/testing/selftests/bpf/bpf_experimental.h > +++ b/tools/testing/selftests/bpf/bpf_experimental.h > @@ -164,7 +164,7 @@ struct bpf_iter_task_vma; > extern int bpf_iter_task_vma_new(struct bpf_iter_task_vma *it, > struct task_struct *task, > __u64 addr) __ksym; > -extern struct vm_area_struct *bpf_iter_task_vma_next(struct bpf_iter_task_vma *it) __ksym; > +extern struct mm_area *bpf_iter_task_vma_next(struct bpf_iter_task_vma *it) __ksym; > extern void bpf_iter_task_vma_destroy(struct bpf_iter_task_vma *it) __ksym; > > /* Convenience macro to wrap over bpf_obj_drop_impl */ > diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_task_vmas.c b/tools/testing/selftests/bpf/progs/bpf_iter_task_vmas.c > index d64ba7ddaed5..899e6b03c070 100644 > --- a/tools/testing/selftests/bpf/progs/bpf_iter_task_vmas.c > +++ b/tools/testing/selftests/bpf/progs/bpf_iter_task_vmas.c > @@ -25,7 +25,7 @@ __u32 one_task_error = 0; > > SEC("iter/task_vma") int proc_maps(struct bpf_iter__task_vma *ctx) > { > - struct vm_area_struct *vma = ctx->vma; > + struct mm_area *vma = ctx->vma; > struct seq_file *seq = ctx->meta->seq; > struct task_struct *task = ctx->task; > struct file *file; > diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_vma_offset.c b/tools/testing/selftests/bpf/progs/bpf_iter_vma_offset.c > index 174298e122d3..6a27844ef324 100644 > --- a/tools/testing/selftests/bpf/progs/bpf_iter_vma_offset.c > +++ b/tools/testing/selftests/bpf/progs/bpf_iter_vma_offset.c > @@ -15,7 +15,7 @@ __u32 page_shift = 0; > SEC("iter/task_vma") > int get_vma_offset(struct bpf_iter__task_vma *ctx) > { > - struct vm_area_struct *vma = ctx->vma; > + struct mm_area *vma = ctx->vma; > struct seq_file *seq = ctx->meta->seq; > struct task_struct *task = ctx->task; > > diff --git a/tools/testing/selftests/bpf/progs/find_vma.c b/tools/testing/selftests/bpf/progs/find_vma.c > index 02b82774469c..75f90cb21179 100644 > --- a/tools/testing/selftests/bpf/progs/find_vma.c > +++ b/tools/testing/selftests/bpf/progs/find_vma.c > @@ -20,7 +20,7 @@ __u64 addr = 0; > int find_zero_ret = -1; > int find_addr_ret = -1; > > -static long check_vma(struct task_struct *task, struct vm_area_struct *vma, > +static long check_vma(struct task_struct *task, struct mm_area *vma, > struct callback_ctx *data) > { > if (vma->vm_file) > diff --git a/tools/testing/selftests/bpf/progs/find_vma_fail1.c b/tools/testing/selftests/bpf/progs/find_vma_fail1.c > index 7ba9a428f228..4a5a41997169 100644 > --- a/tools/testing/selftests/bpf/progs/find_vma_fail1.c > +++ b/tools/testing/selftests/bpf/progs/find_vma_fail1.c > @@ -10,7 +10,7 @@ struct callback_ctx { > int dummy; > }; > > -static long write_vma(struct task_struct *task, struct vm_area_struct *vma, > +static long write_vma(struct task_struct *task, struct mm_area *vma, > struct callback_ctx *data) > { > /* writing to vma, which is illegal */ > diff --git a/tools/testing/selftests/bpf/progs/find_vma_fail2.c b/tools/testing/selftests/bpf/progs/find_vma_fail2.c > index 9bcf3203e26b..1117fc0475f2 100644 > --- a/tools/testing/selftests/bpf/progs/find_vma_fail2.c > +++ b/tools/testing/selftests/bpf/progs/find_vma_fail2.c > @@ -9,7 +9,7 @@ struct callback_ctx { > int dummy; > }; > > -static long write_task(struct task_struct *task, struct vm_area_struct *vma, > +static long write_task(struct task_struct *task, struct mm_area *vma, > struct callback_ctx *data) > { > /* writing to task, which is illegal */ > diff --git a/tools/testing/selftests/bpf/progs/iters_css_task.c b/tools/testing/selftests/bpf/progs/iters_css_task.c > index 9ac758649cb8..bc48b47d1793 100644 > --- a/tools/testing/selftests/bpf/progs/iters_css_task.c > +++ b/tools/testing/selftests/bpf/progs/iters_css_task.c > @@ -19,7 +19,7 @@ int css_task_cnt; > u64 cg_id; > > SEC("lsm/file_mprotect") > -int BPF_PROG(iter_css_task_for_each, struct vm_area_struct *vma, > +int BPF_PROG(iter_css_task_for_each, struct mm_area *vma, > unsigned long reqprot, unsigned long prot, int ret) > { > struct task_struct *cur_task = bpf_get_current_task_btf(); > diff --git a/tools/testing/selftests/bpf/progs/iters_task_vma.c b/tools/testing/selftests/bpf/progs/iters_task_vma.c > index dc0c3691dcc2..6334a2d0518d 100644 > --- a/tools/testing/selftests/bpf/progs/iters_task_vma.c > +++ b/tools/testing/selftests/bpf/progs/iters_task_vma.c > @@ -18,7 +18,7 @@ SEC("raw_tp/sys_enter") > int iter_task_vma_for_each(const void *ctx) > { > struct task_struct *task = bpf_get_current_task_btf(); > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned int seen = 0; > > if (task->pid != target_pid) > diff --git a/tools/testing/selftests/bpf/progs/iters_testmod.c b/tools/testing/selftests/bpf/progs/iters_testmod.c > index 9e4b45201e69..d5303fb6d618 100644 > --- a/tools/testing/selftests/bpf/progs/iters_testmod.c > +++ b/tools/testing/selftests/bpf/progs/iters_testmod.c > @@ -14,7 +14,7 @@ int iter_next_trusted(const void *ctx) > { > struct task_struct *cur_task = bpf_get_current_task_btf(); > struct bpf_iter_task_vma vma_it; > - struct vm_area_struct *vma_ptr; > + struct mm_area *vma_ptr; > > bpf_iter_task_vma_new(&vma_it, cur_task, 0); > > @@ -34,7 +34,7 @@ int iter_next_trusted_or_null(const void *ctx) > { > struct task_struct *cur_task = bpf_get_current_task_btf(); > struct bpf_iter_task_vma vma_it; > - struct vm_area_struct *vma_ptr; > + struct mm_area *vma_ptr; > > bpf_iter_task_vma_new(&vma_it, cur_task, 0); > > diff --git a/tools/testing/selftests/bpf/progs/lsm.c b/tools/testing/selftests/bpf/progs/lsm.c > index 0c13b7409947..7218621a833a 100644 > --- a/tools/testing/selftests/bpf/progs/lsm.c > +++ b/tools/testing/selftests/bpf/progs/lsm.c > @@ -86,7 +86,7 @@ int mprotect_count = 0; > int bprm_count = 0; > > SEC("lsm/file_mprotect") > -int BPF_PROG(test_int_hook, struct vm_area_struct *vma, > +int BPF_PROG(test_int_hook, struct mm_area *vma, > unsigned long reqprot, unsigned long prot, int ret) > { > if (ret != 0) > diff --git a/tools/testing/selftests/bpf/progs/test_bpf_cookie.c b/tools/testing/selftests/bpf/progs/test_bpf_cookie.c > index c83142b55f47..8f803369ad2d 100644 > --- a/tools/testing/selftests/bpf/progs/test_bpf_cookie.c > +++ b/tools/testing/selftests/bpf/progs/test_bpf_cookie.c > @@ -125,7 +125,7 @@ int BPF_PROG(fmod_ret_test, int _a, int *_b, int _ret) > } > > SEC("lsm/file_mprotect") > -int BPF_PROG(test_int_hook, struct vm_area_struct *vma, > +int BPF_PROG(test_int_hook, struct mm_area *vma, > unsigned long reqprot, unsigned long prot, int ret) > { > if (my_tid != (u32)bpf_get_current_pid_tgid()) > diff --git a/tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c b/tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c > index 75dd922e4e9f..aa00a677636b 100644 > --- a/tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c > +++ b/tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c > @@ -14,7 +14,7 @@ struct { > __uint(max_entries, 8); > } ringbuf SEC(".maps"); > > -struct vm_area_struct; > +struct mm_area; > struct bpf_map; > > struct buf_context { > @@ -146,7 +146,7 @@ int unsafe_ringbuf_drain(void *unused) > return choice_arr[loop_ctx.i]; > } > > -static __u64 find_vma_cb(struct task_struct *task, struct vm_area_struct *vma, void *data) > +static __u64 find_vma_cb(struct task_struct *task, struct mm_area *vma, void *data) > { > return oob_state_machine(data); > } > diff --git a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c > index 3220f1d28697..b58ebc8ab3b1 100644 > --- a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c > +++ b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c > @@ -198,7 +198,7 @@ __bpf_kfunc void bpf_kfunc_nested_release_test(struct sk_buff *ptr) > { > } > > -__bpf_kfunc void bpf_kfunc_trusted_vma_test(struct vm_area_struct *ptr) > +__bpf_kfunc void bpf_kfunc_trusted_vma_test(struct mm_area *ptr) > { > } > > diff --git a/tools/testing/selftests/bpf/test_kmods/bpf_testmod_kfunc.h b/tools/testing/selftests/bpf/test_kmods/bpf_testmod_kfunc.h > index b58817938deb..b28cf00b119b 100644 > --- a/tools/testing/selftests/bpf/test_kmods/bpf_testmod_kfunc.h > +++ b/tools/testing/selftests/bpf/test_kmods/bpf_testmod_kfunc.h > @@ -154,7 +154,7 @@ int bpf_kfunc_st_ops_test_epilogue(struct st_ops_args *args) __ksym; > int bpf_kfunc_st_ops_test_pro_epilogue(struct st_ops_args *args) __ksym; > int bpf_kfunc_st_ops_inc10(struct st_ops_args *args) __ksym; > > -void bpf_kfunc_trusted_vma_test(struct vm_area_struct *ptr) __ksym; > +void bpf_kfunc_trusted_vma_test(struct mm_area *ptr) __ksym; > void bpf_kfunc_trusted_task_test(struct task_struct *ptr) __ksym; > void bpf_kfunc_trusted_num_test(int *ptr) __ksym; > void bpf_kfunc_rcu_task_test(struct task_struct *ptr) __ksym; > diff --git a/tools/testing/vma/vma.c b/tools/testing/vma/vma.c > index 11f761769b5b..57d129d16596 100644 > --- a/tools/testing/vma/vma.c > +++ b/tools/testing/vma/vma.c > @@ -59,13 +59,13 @@ unsigned long rlimit(unsigned int limit) > } > > /* Helper function to simply allocate a VMA. */ > -static struct vm_area_struct *alloc_vma(struct mm_struct *mm, > +static struct mm_area *alloc_vma(struct mm_struct *mm, > unsigned long start, > unsigned long end, > pgoff_t pgoff, > vm_flags_t flags) > { > - struct vm_area_struct *ret = vm_area_alloc(mm); > + struct mm_area *ret = vm_area_alloc(mm); > > if (ret == NULL) > return NULL; > @@ -80,7 +80,7 @@ static struct vm_area_struct *alloc_vma(struct mm_struct *mm, > } > > /* Helper function to allocate a VMA and link it to the tree. */ > -static int attach_vma(struct mm_struct *mm, struct vm_area_struct *vma) > +static int attach_vma(struct mm_struct *mm, struct mm_area *vma) > { > int res; > > @@ -91,13 +91,13 @@ static int attach_vma(struct mm_struct *mm, struct vm_area_struct *vma) > } > > /* Helper function to allocate a VMA and link it to the tree. */ > -static struct vm_area_struct *alloc_and_link_vma(struct mm_struct *mm, > +static struct mm_area *alloc_and_link_vma(struct mm_struct *mm, > unsigned long start, > unsigned long end, > pgoff_t pgoff, > vm_flags_t flags) > { > - struct vm_area_struct *vma = alloc_vma(mm, start, end, pgoff, flags); > + struct mm_area *vma = alloc_vma(mm, start, end, pgoff, flags); > > if (vma == NULL) > return NULL; > @@ -118,9 +118,9 @@ static struct vm_area_struct *alloc_and_link_vma(struct mm_struct *mm, > } > > /* Helper function which provides a wrapper around a merge new VMA operation. */ > -static struct vm_area_struct *merge_new(struct vma_merge_struct *vmg) > +static struct mm_area *merge_new(struct vma_merge_struct *vmg) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > /* > * For convenience, get prev and next VMAs. Which the new VMA operation > * requires. > @@ -140,9 +140,9 @@ static struct vm_area_struct *merge_new(struct vma_merge_struct *vmg) > * Helper function which provides a wrapper around a merge existing VMA > * operation. > */ > -static struct vm_area_struct *merge_existing(struct vma_merge_struct *vmg) > +static struct mm_area *merge_existing(struct vma_merge_struct *vmg) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > > vma = vma_merge_existing_range(vmg); > if (vma) > @@ -191,13 +191,13 @@ static void vmg_set_range(struct vma_merge_struct *vmg, unsigned long start, > * Update vmg and the iterator for it and try to merge, otherwise allocate a new > * VMA, link it to the maple tree and return it. > */ > -static struct vm_area_struct *try_merge_new_vma(struct mm_struct *mm, > +static struct mm_area *try_merge_new_vma(struct mm_struct *mm, > struct vma_merge_struct *vmg, > unsigned long start, unsigned long end, > pgoff_t pgoff, vm_flags_t flags, > bool *was_merged) > { > - struct vm_area_struct *merged; > + struct mm_area *merged; > > vmg_set_range(vmg, start, end, pgoff, flags); > > @@ -231,7 +231,7 @@ static void reset_dummy_anon_vma(void) > */ > static int cleanup_mm(struct mm_struct *mm, struct vma_iterator *vmi) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > int count = 0; > > fail_prealloc = false; > @@ -249,7 +249,7 @@ static int cleanup_mm(struct mm_struct *mm, struct vma_iterator *vmi) > } > > /* Helper function to determine if VMA has had vma_start_write() performed. */ > -static bool vma_write_started(struct vm_area_struct *vma) > +static bool vma_write_started(struct mm_area *vma) > { > int seq = vma->vm_lock_seq; > > @@ -261,17 +261,17 @@ static bool vma_write_started(struct vm_area_struct *vma) > } > > /* Helper function providing a dummy vm_ops->close() method.*/ > -static void dummy_close(struct vm_area_struct *) > +static void dummy_close(struct mm_area *) > { > } > > static bool test_simple_merge(void) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long flags = VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE; > struct mm_struct mm = {}; > - struct vm_area_struct *vma_left = alloc_vma(&mm, 0, 0x1000, 0, flags); > - struct vm_area_struct *vma_right = alloc_vma(&mm, 0x2000, 0x3000, 2, flags); > + struct mm_area *vma_left = alloc_vma(&mm, 0, 0x1000, 0, flags); > + struct mm_area *vma_right = alloc_vma(&mm, 0x2000, 0x3000, 2, flags); > VMA_ITERATOR(vmi, &mm, 0x1000); > struct vma_merge_struct vmg = { > .mm = &mm, > @@ -301,10 +301,10 @@ static bool test_simple_merge(void) > > static bool test_simple_modify(void) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long flags = VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE; > struct mm_struct mm = {}; > - struct vm_area_struct *init_vma = alloc_vma(&mm, 0, 0x3000, 0, flags); > + struct mm_area *init_vma = alloc_vma(&mm, 0, 0x3000, 0, flags); > VMA_ITERATOR(vmi, &mm, 0x1000); > > ASSERT_FALSE(attach_vma(&mm, init_vma)); > @@ -363,7 +363,7 @@ static bool test_simple_expand(void) > { > unsigned long flags = VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE; > struct mm_struct mm = {}; > - struct vm_area_struct *vma = alloc_vma(&mm, 0, 0x1000, 0, flags); > + struct mm_area *vma = alloc_vma(&mm, 0, 0x1000, 0, flags); > VMA_ITERATOR(vmi, &mm, 0); > struct vma_merge_struct vmg = { > .vmi = &vmi, > @@ -391,7 +391,7 @@ static bool test_simple_shrink(void) > { > unsigned long flags = VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE; > struct mm_struct mm = {}; > - struct vm_area_struct *vma = alloc_vma(&mm, 0, 0x3000, 0, flags); > + struct mm_area *vma = alloc_vma(&mm, 0, 0x3000, 0, flags); > VMA_ITERATOR(vmi, &mm, 0); > > ASSERT_FALSE(attach_vma(&mm, vma)); > @@ -433,7 +433,7 @@ static bool test_merge_new(void) > .close = dummy_close, > }; > int count; > - struct vm_area_struct *vma, *vma_a, *vma_b, *vma_c, *vma_d; > + struct mm_area *vma, *vma_a, *vma_b, *vma_c, *vma_d; > bool merged; > > /* > @@ -616,7 +616,7 @@ static bool test_vma_merge_special_flags(void) > vm_flags_t special_flags[] = { VM_IO, VM_DONTEXPAND, VM_PFNMAP, VM_MIXEDMAP }; > vm_flags_t all_special_flags = 0; > int i; > - struct vm_area_struct *vma_left, *vma; > + struct mm_area *vma_left, *vma; > > /* Make sure there aren't new VM_SPECIAL flags. */ > for (i = 0; i < ARRAY_SIZE(special_flags); i++) { > @@ -688,7 +688,7 @@ static bool test_vma_merge_with_close(void) > const struct vm_operations_struct vm_ops = { > .close = dummy_close, > }; > - struct vm_area_struct *vma_prev, *vma_next, *vma; > + struct mm_area *vma_prev, *vma_next, *vma; > > /* > * When merging VMAs we are not permitted to remove any VMA that has a > @@ -894,12 +894,12 @@ static bool test_vma_merge_new_with_close(void) > .mm = &mm, > .vmi = &vmi, > }; > - struct vm_area_struct *vma_prev = alloc_and_link_vma(&mm, 0, 0x2000, 0, flags); > - struct vm_area_struct *vma_next = alloc_and_link_vma(&mm, 0x5000, 0x7000, 5, flags); > + struct mm_area *vma_prev = alloc_and_link_vma(&mm, 0, 0x2000, 0, flags); > + struct mm_area *vma_next = alloc_and_link_vma(&mm, 0x5000, 0x7000, 5, flags); > const struct vm_operations_struct vm_ops = { > .close = dummy_close, > }; > - struct vm_area_struct *vma; > + struct mm_area *vma; > > /* > * We should allow the partial merge of a proposed new VMA if the > @@ -945,7 +945,7 @@ static bool test_merge_existing(void) > unsigned long flags = VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE; > struct mm_struct mm = {}; > VMA_ITERATOR(vmi, &mm, 0); > - struct vm_area_struct *vma, *vma_prev, *vma_next; > + struct mm_area *vma, *vma_prev, *vma_next; > struct vma_merge_struct vmg = { > .mm = &mm, > .vmi = &vmi, > @@ -1175,7 +1175,7 @@ static bool test_anon_vma_non_mergeable(void) > unsigned long flags = VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE; > struct mm_struct mm = {}; > VMA_ITERATOR(vmi, &mm, 0); > - struct vm_area_struct *vma, *vma_prev, *vma_next; > + struct mm_area *vma, *vma_prev, *vma_next; > struct vma_merge_struct vmg = { > .mm = &mm, > .vmi = &vmi, > @@ -1290,7 +1290,7 @@ static bool test_dup_anon_vma(void) > struct anon_vma_chain dummy_anon_vma_chain = { > .anon_vma = &dummy_anon_vma, > }; > - struct vm_area_struct *vma_prev, *vma_next, *vma; > + struct mm_area *vma_prev, *vma_next, *vma; > > reset_dummy_anon_vma(); > > @@ -1447,7 +1447,7 @@ static bool test_vmi_prealloc_fail(void) > .mm = &mm, > .vmi = &vmi, > }; > - struct vm_area_struct *vma_prev, *vma; > + struct mm_area *vma_prev, *vma; > > /* > * We are merging vma into prev, with vma possessing an anon_vma, which > @@ -1507,7 +1507,7 @@ static bool test_merge_extend(void) > unsigned long flags = VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE; > struct mm_struct mm = {}; > VMA_ITERATOR(vmi, &mm, 0x1000); > - struct vm_area_struct *vma; > + struct mm_area *vma; > > vma = alloc_and_link_vma(&mm, 0, 0x1000, 0, flags); > alloc_and_link_vma(&mm, 0x3000, 0x4000, 3, flags); > @@ -1538,7 +1538,7 @@ static bool test_copy_vma(void) > struct mm_struct mm = {}; > bool need_locks = false; > VMA_ITERATOR(vmi, &mm, 0); > - struct vm_area_struct *vma, *vma_new, *vma_next; > + struct mm_area *vma, *vma_new, *vma_next; > > /* Move backwards and do not merge. */ > > @@ -1570,7 +1570,7 @@ static bool test_expand_only_mode(void) > unsigned long flags = VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE; > struct mm_struct mm = {}; > VMA_ITERATOR(vmi, &mm, 0); > - struct vm_area_struct *vma_prev, *vma; > + struct mm_area *vma_prev, *vma; > VMG_STATE(vmg, &mm, &vmi, 0x5000, 0x9000, flags, 5); > > /* > @@ -1609,7 +1609,7 @@ static bool test_mmap_region_basic(void) > { > struct mm_struct mm = {}; > unsigned long addr; > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, &mm, 0); > > current->mm = &mm; > diff --git a/tools/testing/vma/vma_internal.h b/tools/testing/vma/vma_internal.h > index 572ab2cea763..acb90a6ff98a 100644 > --- a/tools/testing/vma/vma_internal.h > +++ b/tools/testing/vma/vma_internal.h > @@ -235,7 +235,7 @@ struct file { > > #define VMA_LOCK_OFFSET 0x40000000 > > -struct vm_area_struct { > +struct mm_area { > /* The first cache line has the info for VMA tree walking. */ > > union { > @@ -337,27 +337,27 @@ struct vm_area_struct { > struct vm_fault {}; > > struct vm_operations_struct { > - void (*open)(struct vm_area_struct * area); > + void (*open)(struct mm_area * area); > /** > * @close: Called when the VMA is being removed from the MM. > * Context: User context. May sleep. Caller holds mmap_lock. > */ > - void (*close)(struct vm_area_struct * area); > + void (*close)(struct mm_area * area); > /* Called any time before splitting to check if it's allowed */ > - int (*may_split)(struct vm_area_struct *area, unsigned long addr); > - int (*mremap)(struct vm_area_struct *area); > + int (*may_split)(struct mm_area *area, unsigned long addr); > + int (*mremap)(struct mm_area *area); > /* > * Called by mprotect() to make driver-specific permission > * checks before mprotect() is finalised. The VMA must not > * be modified. Returns 0 if mprotect() can proceed. > */ > - int (*mprotect)(struct vm_area_struct *vma, unsigned long start, > + int (*mprotect)(struct mm_area *vma, unsigned long start, > unsigned long end, unsigned long newflags); > vm_fault_t (*fault)(struct vm_fault *vmf); > vm_fault_t (*huge_fault)(struct vm_fault *vmf, unsigned int order); > vm_fault_t (*map_pages)(struct vm_fault *vmf, > pgoff_t start_pgoff, pgoff_t end_pgoff); > - unsigned long (*pagesize)(struct vm_area_struct * area); > + unsigned long (*pagesize)(struct mm_area * area); > > /* notification that a previously read-only page is about to become > * writable, if an error is returned it will cause a SIGBUS */ > @@ -370,13 +370,13 @@ struct vm_operations_struct { > * for use by special VMAs. See also generic_access_phys() for a generic > * implementation useful for any iomem mapping. > */ > - int (*access)(struct vm_area_struct *vma, unsigned long addr, > + int (*access)(struct mm_area *vma, unsigned long addr, > void *buf, int len, int write); > > /* Called by the /proc/PID/maps code to ask the vma whether it > * has a special name. Returning non-NULL will also cause this > * vma to be dumped unconditionally. */ > - const char *(*name)(struct vm_area_struct *vma); > + const char *(*name)(struct mm_area *vma); > > #ifdef CONFIG_NUMA > /* > @@ -386,7 +386,7 @@ struct vm_operations_struct { > * install a MPOL_DEFAULT policy, nor the task or system default > * mempolicy. > */ > - int (*set_policy)(struct vm_area_struct *vma, struct mempolicy *new); > + int (*set_policy)(struct mm_area *vma, struct mempolicy *new); > > /* > * get_policy() op must add reference [mpol_get()] to any policy at > @@ -398,7 +398,7 @@ struct vm_operations_struct { > * must return NULL--i.e., do not "fallback" to task or system default > * policy. > */ > - struct mempolicy *(*get_policy)(struct vm_area_struct *vma, > + struct mempolicy *(*get_policy)(struct mm_area *vma, > unsigned long addr, pgoff_t *ilx); > #endif > /* > @@ -406,7 +406,7 @@ struct vm_operations_struct { > * page for @addr. This is useful if the default behavior > * (using pte_page()) would not find the correct page. > */ > - struct page *(*find_special_page)(struct vm_area_struct *vma, > + struct page *(*find_special_page)(struct mm_area *vma, > unsigned long addr); > }; > > @@ -442,12 +442,12 @@ static inline bool is_shared_maywrite(vm_flags_t vm_flags) > (VM_SHARED | VM_MAYWRITE); > } > > -static inline bool vma_is_shared_maywrite(struct vm_area_struct *vma) > +static inline bool vma_is_shared_maywrite(struct mm_area *vma) > { > return is_shared_maywrite(vma->vm_flags); > } > > -static inline struct vm_area_struct *vma_next(struct vma_iterator *vmi) > +static inline struct mm_area *vma_next(struct vma_iterator *vmi) > { > /* > * Uses mas_find() to get the first VMA when the iterator starts. > @@ -461,25 +461,25 @@ static inline struct vm_area_struct *vma_next(struct vma_iterator *vmi) > * assertions should be made either under mmap_write_lock or when the object > * has been isolated under mmap_write_lock, ensuring no competing writers. > */ > -static inline void vma_assert_attached(struct vm_area_struct *vma) > +static inline void vma_assert_attached(struct mm_area *vma) > { > WARN_ON_ONCE(!refcount_read(&vma->vm_refcnt)); > } > > -static inline void vma_assert_detached(struct vm_area_struct *vma) > +static inline void vma_assert_detached(struct mm_area *vma) > { > WARN_ON_ONCE(refcount_read(&vma->vm_refcnt)); > } > > -static inline void vma_assert_write_locked(struct vm_area_struct *); > -static inline void vma_mark_attached(struct vm_area_struct *vma) > +static inline void vma_assert_write_locked(struct mm_area *); > +static inline void vma_mark_attached(struct mm_area *vma) > { > vma_assert_write_locked(vma); > vma_assert_detached(vma); > refcount_set_release(&vma->vm_refcnt, 1); > } > > -static inline void vma_mark_detached(struct vm_area_struct *vma) > +static inline void vma_mark_detached(struct mm_area *vma) > { > vma_assert_write_locked(vma); > vma_assert_attached(vma); > @@ -496,7 +496,7 @@ extern const struct vm_operations_struct vma_dummy_vm_ops; > > extern unsigned long rlimit(unsigned int limit); > > -static inline void vma_init(struct vm_area_struct *vma, struct mm_struct *mm) > +static inline void vma_init(struct mm_area *vma, struct mm_struct *mm) > { > memset(vma, 0, sizeof(*vma)); > vma->vm_mm = mm; > @@ -505,9 +505,9 @@ static inline void vma_init(struct vm_area_struct *vma, struct mm_struct *mm) > vma->vm_lock_seq = UINT_MAX; > } > > -static inline struct vm_area_struct *vm_area_alloc(struct mm_struct *mm) > +static inline struct mm_area *vm_area_alloc(struct mm_struct *mm) > { > - struct vm_area_struct *vma = calloc(1, sizeof(struct vm_area_struct)); > + struct mm_area *vma = calloc(1, sizeof(struct mm_area)); > > if (!vma) > return NULL; > @@ -517,9 +517,9 @@ static inline struct vm_area_struct *vm_area_alloc(struct mm_struct *mm) > return vma; > } > > -static inline struct vm_area_struct *vm_area_dup(struct vm_area_struct *orig) > +static inline struct mm_area *vm_area_dup(struct mm_area *orig) > { > - struct vm_area_struct *new = calloc(1, sizeof(struct vm_area_struct)); > + struct mm_area *new = calloc(1, sizeof(struct mm_area)); > > if (!new) > return NULL; > @@ -576,7 +576,7 @@ static inline void mapping_allow_writable(struct address_space *mapping) > atomic_inc(&mapping->i_mmap_writable); > } > > -static inline void vma_set_range(struct vm_area_struct *vma, > +static inline void vma_set_range(struct mm_area *vma, > unsigned long start, unsigned long end, > pgoff_t pgoff) > { > @@ -586,7 +586,7 @@ static inline void vma_set_range(struct vm_area_struct *vma, > } > > static inline > -struct vm_area_struct *vma_find(struct vma_iterator *vmi, unsigned long max) > +struct mm_area *vma_find(struct vma_iterator *vmi, unsigned long max) > { > return mas_find(&vmi->mas, max - 1); > } > @@ -603,7 +603,7 @@ static inline int vma_iter_clear_gfp(struct vma_iterator *vmi, > } > > static inline void mmap_assert_locked(struct mm_struct *); > -static inline struct vm_area_struct *find_vma_intersection(struct mm_struct *mm, > +static inline struct mm_area *find_vma_intersection(struct mm_struct *mm, > unsigned long start_addr, > unsigned long end_addr) > { > @@ -614,12 +614,12 @@ static inline struct vm_area_struct *find_vma_intersection(struct mm_struct *mm, > } > > static inline > -struct vm_area_struct *vma_lookup(struct mm_struct *mm, unsigned long addr) > +struct mm_area *vma_lookup(struct mm_struct *mm, unsigned long addr) > { > return mtree_load(&mm->mm_mt, addr); > } > > -static inline struct vm_area_struct *vma_prev(struct vma_iterator *vmi) > +static inline struct mm_area *vma_prev(struct vma_iterator *vmi) > { > return mas_prev(&vmi->mas, 0); > } > @@ -629,7 +629,7 @@ static inline void vma_iter_set(struct vma_iterator *vmi, unsigned long addr) > mas_set(&vmi->mas, addr); > } > > -static inline bool vma_is_anonymous(struct vm_area_struct *vma) > +static inline bool vma_is_anonymous(struct mm_area *vma) > { > return !vma->vm_ops; > } > @@ -638,11 +638,11 @@ static inline bool vma_is_anonymous(struct vm_area_struct *vma) > #define vma_iter_load(vmi) \ > mas_walk(&(vmi)->mas) > > -static inline struct vm_area_struct * > +static inline struct mm_area * > find_vma_prev(struct mm_struct *mm, unsigned long addr, > - struct vm_area_struct **pprev) > + struct mm_area **pprev) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > VMA_ITERATOR(vmi, mm, addr); > > vma = vma_iter_load(&vmi); > @@ -662,12 +662,12 @@ static inline void vma_iter_init(struct vma_iterator *vmi, > > /* Stubbed functions. */ > > -static inline struct anon_vma_name *anon_vma_name(struct vm_area_struct *vma) > +static inline struct anon_vma_name *anon_vma_name(struct mm_area *vma) > { > return NULL; > } > > -static inline bool is_mergeable_vm_userfaultfd_ctx(struct vm_area_struct *vma, > +static inline bool is_mergeable_vm_userfaultfd_ctx(struct mm_area *vma, > struct vm_userfaultfd_ctx vm_ctx) > { > return true; > @@ -683,7 +683,7 @@ static inline void might_sleep(void) > { > } > > -static inline unsigned long vma_pages(struct vm_area_struct *vma) > +static inline unsigned long vma_pages(struct mm_area *vma) > { > return (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; > } > @@ -696,7 +696,7 @@ static inline void mpol_put(struct mempolicy *) > { > } > > -static inline void vm_area_free(struct vm_area_struct *vma) > +static inline void vm_area_free(struct mm_area *vma) > { > free(vma); > } > @@ -718,7 +718,7 @@ static inline void update_hiwater_vm(struct mm_struct *) > } > > static inline void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, > - struct vm_area_struct *vma, unsigned long start_addr, > + struct mm_area *vma, unsigned long start_addr, > unsigned long end_addr, unsigned long tree_end, > bool mm_wr_locked) > { > @@ -732,7 +732,7 @@ static inline void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, > } > > static inline void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, > - struct vm_area_struct *vma, unsigned long floor, > + struct mm_area *vma, unsigned long floor, > unsigned long ceiling, bool mm_wr_locked) > { > (void)tlb; > @@ -760,12 +760,12 @@ static inline struct file *get_file(struct file *f) > return f; > } > > -static inline int vma_dup_policy(struct vm_area_struct *, struct vm_area_struct *) > +static inline int vma_dup_policy(struct mm_area *, struct mm_area *) > { > return 0; > } > > -static inline int anon_vma_clone(struct vm_area_struct *dst, struct vm_area_struct *src) > +static inline int anon_vma_clone(struct mm_area *dst, struct mm_area *src) > { > /* For testing purposes. We indicate that an anon_vma has been cloned. */ > if (src->anon_vma != NULL) { > @@ -776,16 +776,16 @@ static inline int anon_vma_clone(struct vm_area_struct *dst, struct vm_area_stru > return 0; > } > > -static inline void vma_start_write(struct vm_area_struct *vma) > +static inline void vma_start_write(struct mm_area *vma) > { > /* Used to indicate to tests that a write operation has begun. */ > vma->vm_lock_seq++; > } > > -static inline void vma_adjust_trans_huge(struct vm_area_struct *vma, > +static inline void vma_adjust_trans_huge(struct mm_area *vma, > unsigned long start, > unsigned long end, > - struct vm_area_struct *next) > + struct mm_area *next) > { > (void)vma; > (void)start; > @@ -799,7 +799,7 @@ static inline void vma_iter_free(struct vma_iterator *vmi) > } > > static inline > -struct vm_area_struct *vma_iter_next_range(struct vma_iterator *vmi) > +struct mm_area *vma_iter_next_range(struct vma_iterator *vmi) > { > return mas_next_range(&vmi->mas, ULONG_MAX); > } > @@ -808,12 +808,12 @@ static inline void vm_acct_memory(long pages) > { > } > > -static inline void vma_interval_tree_insert(struct vm_area_struct *, > +static inline void vma_interval_tree_insert(struct mm_area *, > struct rb_root_cached *) > { > } > > -static inline void vma_interval_tree_remove(struct vm_area_struct *, > +static inline void vma_interval_tree_remove(struct mm_area *, > struct rb_root_cached *) > { > } > @@ -832,11 +832,11 @@ static inline void anon_vma_interval_tree_remove(struct anon_vma_chain*, > { > } > > -static inline void uprobe_mmap(struct vm_area_struct *) > +static inline void uprobe_mmap(struct mm_area *) > { > } > > -static inline void uprobe_munmap(struct vm_area_struct *vma, > +static inline void uprobe_munmap(struct mm_area *vma, > unsigned long start, unsigned long end) > { > (void)vma; > @@ -852,11 +852,11 @@ static inline void anon_vma_lock_write(struct anon_vma *) > { > } > > -static inline void vma_assert_write_locked(struct vm_area_struct *) > +static inline void vma_assert_write_locked(struct mm_area *) > { > } > > -static inline void unlink_anon_vmas(struct vm_area_struct *vma) > +static inline void unlink_anon_vmas(struct mm_area *vma) > { > /* For testing purposes, indicate that the anon_vma was unlinked. */ > vma->anon_vma->was_unlinked = true; > @@ -870,12 +870,12 @@ static inline void i_mmap_unlock_write(struct address_space *) > { > } > > -static inline void anon_vma_merge(struct vm_area_struct *, > - struct vm_area_struct *) > +static inline void anon_vma_merge(struct mm_area *, > + struct mm_area *) > { > } > > -static inline int userfaultfd_unmap_prep(struct vm_area_struct *vma, > +static inline int userfaultfd_unmap_prep(struct mm_area *vma, > unsigned long start, > unsigned long end, > struct list_head *unmaps) > @@ -934,7 +934,7 @@ static inline bool mpol_equal(struct mempolicy *, struct mempolicy *) > return true; > } > > -static inline void khugepaged_enter_vma(struct vm_area_struct *vma, > +static inline void khugepaged_enter_vma(struct mm_area *vma, > unsigned long vm_flags) > { > (void)vma; > @@ -946,17 +946,17 @@ static inline bool mapping_can_writeback(struct address_space *) > return true; > } > > -static inline bool is_vm_hugetlb_page(struct vm_area_struct *) > +static inline bool is_vm_hugetlb_page(struct mm_area *) > { > return false; > } > > -static inline bool vma_soft_dirty_enabled(struct vm_area_struct *) > +static inline bool vma_soft_dirty_enabled(struct mm_area *) > { > return false; > } > > -static inline bool userfaultfd_wp(struct vm_area_struct *) > +static inline bool userfaultfd_wp(struct mm_area *) > { > return false; > } > @@ -998,63 +998,63 @@ static inline bool may_expand_vm(struct mm_struct *, vm_flags_t, unsigned long) > return true; > } > > -static inline void vm_flags_init(struct vm_area_struct *vma, > +static inline void vm_flags_init(struct mm_area *vma, > vm_flags_t flags) > { > vma->__vm_flags = flags; > } > > -static inline void vm_flags_set(struct vm_area_struct *vma, > +static inline void vm_flags_set(struct mm_area *vma, > vm_flags_t flags) > { > vma_start_write(vma); > vma->__vm_flags |= flags; > } > > -static inline void vm_flags_clear(struct vm_area_struct *vma, > +static inline void vm_flags_clear(struct mm_area *vma, > vm_flags_t flags) > { > vma_start_write(vma); > vma->__vm_flags &= ~flags; > } > > -static inline int call_mmap(struct file *, struct vm_area_struct *) > +static inline int call_mmap(struct file *, struct mm_area *) > { > return 0; > } > > -static inline int shmem_zero_setup(struct vm_area_struct *) > +static inline int shmem_zero_setup(struct mm_area *) > { > return 0; > } > > -static inline void vma_set_anonymous(struct vm_area_struct *vma) > +static inline void vma_set_anonymous(struct mm_area *vma) > { > vma->vm_ops = NULL; > } > > -static inline void ksm_add_vma(struct vm_area_struct *) > +static inline void ksm_add_vma(struct mm_area *) > { > } > > -static inline void perf_event_mmap(struct vm_area_struct *) > +static inline void perf_event_mmap(struct mm_area *) > { > } > > -static inline bool vma_is_dax(struct vm_area_struct *) > +static inline bool vma_is_dax(struct mm_area *) > { > return false; > } > > -static inline struct vm_area_struct *get_gate_vma(struct mm_struct *) > +static inline struct mm_area *get_gate_vma(struct mm_struct *) > { > return NULL; > } > > -bool vma_wants_writenotify(struct vm_area_struct *vma, pgprot_t vm_page_prot); > +bool vma_wants_writenotify(struct mm_area *vma, pgprot_t vm_page_prot); > > /* Update vma->vm_page_prot to reflect vma->vm_flags. */ > -static inline void vma_set_page_prot(struct vm_area_struct *vma) > +static inline void vma_set_page_prot(struct mm_area *vma) > { > unsigned long vm_flags = vma->vm_flags; > pgprot_t vm_page_prot; > @@ -1076,16 +1076,16 @@ static inline bool arch_validate_flags(unsigned long) > return true; > } > > -static inline void vma_close(struct vm_area_struct *) > +static inline void vma_close(struct mm_area *) > { > } > > -static inline int mmap_file(struct file *, struct vm_area_struct *) > +static inline int mmap_file(struct file *, struct mm_area *) > { > return 0; > } > > -static inline unsigned long stack_guard_start_gap(struct vm_area_struct *vma) > +static inline unsigned long stack_guard_start_gap(struct mm_area *vma) > { > if (vma->vm_flags & VM_GROWSDOWN) > return stack_guard_gap; > @@ -1097,7 +1097,7 @@ static inline unsigned long stack_guard_start_gap(struct vm_area_struct *vma) > return 0; > } > > -static inline unsigned long vm_start_gap(struct vm_area_struct *vma) > +static inline unsigned long vm_start_gap(struct mm_area *vma) > { > unsigned long gap = stack_guard_start_gap(vma); > unsigned long vm_start = vma->vm_start; > @@ -1108,7 +1108,7 @@ static inline unsigned long vm_start_gap(struct vm_area_struct *vma) > return vm_start; > } > > -static inline unsigned long vm_end_gap(struct vm_area_struct *vma) > +static inline unsigned long vm_end_gap(struct mm_area *vma) > { > unsigned long vm_end = vma->vm_end; > > @@ -1126,7 +1126,7 @@ static inline int is_hugepage_only_range(struct mm_struct *mm, > return 0; > } > > -static inline bool vma_is_accessible(struct vm_area_struct *vma) > +static inline bool vma_is_accessible(struct mm_area *vma) > { > return vma->vm_flags & VM_ACCESS_FLAGS; > } > @@ -1153,7 +1153,7 @@ static inline bool mlock_future_ok(struct mm_struct *mm, unsigned long flags, > return locked_pages <= limit_pages; > } > > -static inline int __anon_vma_prepare(struct vm_area_struct *vma) > +static inline int __anon_vma_prepare(struct mm_area *vma) > { > struct anon_vma *anon_vma = calloc(1, sizeof(struct anon_vma)); > > @@ -1166,7 +1166,7 @@ static inline int __anon_vma_prepare(struct vm_area_struct *vma) > return 0; > } > > -static inline int anon_vma_prepare(struct vm_area_struct *vma) > +static inline int anon_vma_prepare(struct mm_area *vma) > { > if (likely(vma->anon_vma)) > return 0; > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index e85b33a92624..419e641a79a8 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -2618,7 +2618,7 @@ EXPORT_SYMBOL_GPL(kvm_vcpu_is_visible_gfn); > > unsigned long kvm_host_page_size(struct kvm_vcpu *vcpu, gfn_t gfn) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > unsigned long addr, size; > > size = PAGE_SIZE; > @@ -2860,7 +2860,7 @@ static int hva_to_pfn_slow(struct kvm_follow_pfn *kfp, kvm_pfn_t *pfn) > return npages; > } > > -static bool vma_is_valid(struct vm_area_struct *vma, bool write_fault) > +static bool vma_is_valid(struct mm_area *vma, bool write_fault) > { > if (unlikely(!(vma->vm_flags & VM_READ))) > return false; > @@ -2871,7 +2871,7 @@ static bool vma_is_valid(struct vm_area_struct *vma, bool write_fault) > return true; > } > > -static int hva_to_pfn_remapped(struct vm_area_struct *vma, > +static int hva_to_pfn_remapped(struct mm_area *vma, > struct kvm_follow_pfn *kfp, kvm_pfn_t *p_pfn) > { > struct follow_pfnmap_args args = { .vma = vma, .address = kfp->hva }; > @@ -2919,7 +2919,7 @@ static int hva_to_pfn_remapped(struct vm_area_struct *vma, > > kvm_pfn_t hva_to_pfn(struct kvm_follow_pfn *kfp) > { > - struct vm_area_struct *vma; > + struct mm_area *vma; > kvm_pfn_t pfn; > int npages, r; > > @@ -3997,7 +3997,7 @@ static const struct vm_operations_struct kvm_vcpu_vm_ops = { > .fault = kvm_vcpu_fault, > }; > > -static int kvm_vcpu_mmap(struct file *file, struct vm_area_struct *vma) > +static int kvm_vcpu_mmap(struct file *file, struct mm_area *vma) > { > struct kvm_vcpu *vcpu = file->private_data; > unsigned long pages = vma_pages(vma); > @@ -4613,7 +4613,7 @@ static long kvm_vcpu_compat_ioctl(struct file *filp, > } > #endif > > -static int kvm_device_mmap(struct file *filp, struct vm_area_struct *vma) > +static int kvm_device_mmap(struct file *filp, struct mm_area *vma) > { > struct kvm_device *dev = filp->private_data; > > -- > 2.47.2 >