From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id CED0AC3ABB6 for ; Mon, 5 May 2025 21:05:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 676D06B0083; Mon, 5 May 2025 17:05:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 627566B0099; Mon, 5 May 2025 17:05:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 450CB6B009A; Mon, 5 May 2025 17:05:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 1E8A96B0083 for ; Mon, 5 May 2025 17:05:55 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 4C120AD29F for ; Mon, 5 May 2025 21:05:51 +0000 (UTC) X-FDA: 83410086102.08.A7D8492 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by imf07.hostedemail.com (Postfix) with ESMTP id 91D0D40006 for ; Mon, 5 May 2025 21:05:45 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=a1rEoU77; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf07.hostedemail.com: domain of ira.weiny@intel.com designates 192.198.163.13 as permitted sender) smtp.mailfrom=ira.weiny@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1746479147; a=rsa-sha256; cv=fail; b=uBZcsKlD2FJnTLZ9oD3UvQ9rZ3WQrk6c5UX3mbWt4S07MU3DYv9FEwXzdTIgBTRXapyHsq zr4HwVPFwx3X0WMEYO9G0XRBahDNGoiaqmfskIfsUs9XaIZjU8o3S/kTQ4THei+ZPYGhcF g/frB/kbHMvXM0aq7rV45kGQ6mQYx50= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746479147; 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=C4XcwwsBLdyvmO6/Y9ON5vfCPH6jFg1tdLZN3fWpFTs=; b=s0QuEmmywLA5AcE2qHh+glU0wRg3vluhlQ39xQWkp6Z+JPSx6U3EECd4Lymla2+l6Qx/d2 NWiWD4bsnOx1hJdFiLgQ9BYUbYHV+9r+G2yG9J8JXDpwkOiMRweXxhzEB7CP+2AKjjB0Un fyS5Azs/H3SbWqWPreJk1Cie2IrpqAI= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=a1rEoU77; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf07.hostedemail.com: domain of ira.weiny@intel.com designates 192.198.163.13 as permitted sender) smtp.mailfrom=ira.weiny@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1746479146; x=1778015146; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=grjHBYDPwUXvcn7n3flvisYPhelV5xlsMRFbFajWI68=; b=a1rEoU77Yh3IfE4sLQpuJ41vGect/m+sTzGhn1Ga3yCuLSaHZtAIQ01u GHmnNGAHpKT/9+KXywYRW/ZEtR1QouULuAv/5qZYlzhC/9zLEY+M+0WDa BmcPwR57tomm0FbL7JTs4XUzGA0R+BgCPtVLSlplgYj5+x6ZclafKwkLP OCTMmfglbk/xOnEkFqwuZ9orFfz7KqIMhYuhRKpkgBdHavvfIM0Grrao5 H1TMhuwQqTX4FKSRvHwjiRtnc4s9YPgv5Xo0s/Sh4NH+57vkJ/VHTBN5X 46M/HYDI9EusTDggeXZlA0Y6YM5UtaKETULC6/fN2POZUBG/ZxhzY5m/g Q==; X-CSE-ConnectionGUID: NQzG2w2xTvabBapCXiQGEA== X-CSE-MsgGUID: Exxu4+DbSoOaRk87R2f3KQ== X-IronPort-AV: E=McAfee;i="6700,10204,11424"; a="50760514" X-IronPort-AV: E=Sophos;i="6.15,264,1739865600"; d="scan'208";a="50760514" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 May 2025 14:05:43 -0700 X-CSE-ConnectionGUID: SzoxT1YyQ3SVa4a9zWP1CA== X-CSE-MsgGUID: Z9nS512GSIi43a3vobF1EA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,264,1739865600"; d="scan'208";a="158604958" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by fmviesa002.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 May 2025 14:05:40 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 5 May 2025 14:05:37 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14 via Frontend Transport; Mon, 5 May 2025 14:05:37 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.169) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Mon, 5 May 2025 14:05:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FS1H2lG/DVzng/0dK8Q5+1qnqHW5aPXJuFu5EUL+ZFz0XumUegaJcff4ZwvLInoxN12MZt+beI2phI4m17d6EUER25Vbl6LtV85eTjnDkxIRPFIvxzRdQKVUsOV7UD/ezFws3BGwJQuH1ScAnybdRxtb8+k95hnDPcgYFX4fTAvfHSQJFAYGLOs6yz1xXy3eNXy3I9r0eioGzlQ5sFBemxZ7BPO13tnOybjlEBG+IWZJti1a0BezKXw7yYlDo4ESbcfjm82cWHTDvI7gx6HzlLwISmJdzy+5+WeGcBm+aAqj6m4WO//InhQ+gPt8ggOHE8pa68/NIfkVWc56hfX6Og== 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=C4XcwwsBLdyvmO6/Y9ON5vfCPH6jFg1tdLZN3fWpFTs=; b=fKsn6Vp+QRIbAy47xQGnikyUlUyb6D9a4iOpAcpfGgsKj6gkG43UNGUza1PZ4hynj/v4kvBf50rT2EtR3tmw9VaSV9WqZx22kFDVyLlf4uHCdVkt6eADHdAs2PeM/iQ3ZrvryA+KAg5odth3KKUDwG2IhYbaNYZmXdi44P8xUACb92hL+Pd50mDpWq2IvhOpk7vkpTuOOk0uG6GVlfb5HMnKEyaCG6wyQ6yOpg9nIGBSXnT6jTc0vqHMOKaY1tfjfhAFQGHqyBWovK96pAoqBXyfLSOJxOeDvNWZJTQXb254uMlCpWnce9huUL/1VfDQ9A18Y+GEnJHEyzrGJc5gYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SA1PR11MB6733.namprd11.prod.outlook.com (2603:10b6:806:25c::17) by DS0PR11MB8763.namprd11.prod.outlook.com (2603:10b6:8:1bb::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.24; Mon, 5 May 2025 21:05:31 +0000 Received: from SA1PR11MB6733.namprd11.prod.outlook.com ([fe80::cf7d:9363:38f4:8c57]) by SA1PR11MB6733.namprd11.prod.outlook.com ([fe80::cf7d:9363:38f4:8c57%5]) with mapi id 15.20.8699.026; Mon, 5 May 2025 21:05:31 +0000 Date: Mon, 5 May 2025 16:06:04 -0500 From: Ira Weiny To: Fuad Tabba , , , CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH v8 08/13] KVM: guest_memfd: Allow host to map guest_memfd() pages Message-ID: <6819283cc31f0_28880f2944f@iweiny-mobl.notmuch> References: <20250430165655.605595-1-tabba@google.com> <20250430165655.605595-9-tabba@google.com> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20250430165655.605595-9-tabba@google.com> X-ClientProxiedBy: MW4PR04CA0386.namprd04.prod.outlook.com (2603:10b6:303:81::31) To SA1PR11MB6733.namprd11.prod.outlook.com (2603:10b6:806:25c::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR11MB6733:EE_|DS0PR11MB8763:EE_ X-MS-Office365-Filtering-Correlation-Id: f02482db-12d6-4d68-758e-08dd8c1891c4 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?cU9ocWQ5TFFtWkE3WS9iNm1XTklYQ1duS1YzZEtLN1dCcXM1UEt0b0VpQ1RP?= =?utf-8?B?WlpFUEZ2MzVqa0xHVjBGbFZOMXIwdGEwVGovdHdBbTRFSk9MeTFwS3REckt1?= =?utf-8?B?djNZNFNJMGpKM2xZQm0rUUN6YTNqU1JTVEdsT0tabEZUT1l3cnJsMXR4V3pC?= =?utf-8?B?a2NteE1DQkp1ZWpqS1lIOFNvckRMNlBVTGlSUUliN0VIa1hBdXRhQS9tWVlU?= =?utf-8?B?d2hIMHFoK2dsS0JLRUxZUHYvY1NwSlRYSGxCTUVxR1hLZlJGMG0zdHg4dVpL?= =?utf-8?B?MnRBUk9TSUVjdGI4SzNGQnliZEFRdGpCbDJja1NRR2RJZXVXMVJvaDdja3p0?= =?utf-8?B?NTFmS0ZHWGxoKzdBOG5OY1FrL3dCVFlEMTFPTnorSXVmblhxQnRYcWgwY3pK?= =?utf-8?B?c3dqWndFZ2lyT2RxcGRpNldjTFVZZVljdHJQakxmSHA5dUJIOUFXK0FTMStH?= =?utf-8?B?SGFCQWdiVkY5aTM2Znh6OHJqUGtRbzkwTUd2ZlNOY1JRSlZVZDl3UVhhcmZC?= =?utf-8?B?dDZyb2VLQWl3THFKV1RlVzIrTVE1Z1I3OVVDOGYxbklyd1AzdzlIZzkwWVNF?= =?utf-8?B?WlpaRFNnUmo1MDRKNnNBa1hUMHVrbkhHUEhCa0lpTFJIdExMYjlvR3RucVVG?= =?utf-8?B?ZEtMR1dQbHNwTDRmZ3lLOURxU1dVY1RHNHBwYVNVV2lKOVJ4TGtSMStLMll4?= =?utf-8?B?L3hidk9XSFM4cUdmU0pTWWU5Vnc5ck5UbEFWVHlQd2JuSUVhK0dLNWpKak9S?= =?utf-8?B?aFNFOVpGZnd3ektyek1ELzB6aFpoME5lQUtvVDhPSDNoRS92UVQ2Rk1VcW8z?= =?utf-8?B?NngzRTh0T2dZckZZUkxIRUxkSkZrcWZnOTkrT2dCMEdVbWVUVGVSNTBNTWZ4?= =?utf-8?B?aE5qV3Bla1d1SVM4QjhFT1pRQ3hIL1J5ODRIWjVwVnkxQ0pBZE81MERWUkhV?= =?utf-8?B?dXBPZU5leEZSYVFpYldmL3BCUDIveUR0NDNYTXNvTm0xUWdIVXk3UVRiWlhR?= =?utf-8?B?a0wvWGRVWnhKT3BGQ0pDdW9KSUlXeDBOeW1BTkdZOS9Md3dPNEU0NTQ3V1Mr?= =?utf-8?B?QTZ5UlVJOVNlQndiZXhlODZab3BTZTZxbkx0OGRnZTFhVWkzVEJ2UEhHbkF2?= =?utf-8?B?YlZTckVTYm5ONC9mTWVzV20rSUhCWllOQjVBeUczVzJpSHlUWisraHZIdlhq?= =?utf-8?B?ZEc4S0RNclFjYlVqRnh2SWI0SFFxSzJtWVl6aUI1bFNGNzdrekdnTmZBTWl1?= =?utf-8?B?TXZ5RDlqL1dtVzFPd0JVcVpWT1VENHBDdVBYNDRXNHR0S2FGVnFTMFczWmJE?= =?utf-8?B?ZVNLM3hJaURQYjdnZEpWSmozTnFDT0tjREVwVURlMjI2QTBRYlpLbEFlOVZa?= =?utf-8?B?dzdSenp6ZExlRWx6QWlqUkg3L1JFVE9UcFJHSnQ5R3Z1WEZOTGR6bWVXZUJ0?= =?utf-8?B?dHZBY3E2cld2V0plODYxT3Fjbis5WDNSRXV2UFI0RnpZd1pKVEJjdnp2UUJU?= =?utf-8?B?VkZpekJpUk1leTdGWWlOdk94Um1UbVJJMFJ0K1REa1NBOWxqd214akZRdksz?= =?utf-8?B?S1VWMm54VEFwZm9KWlY4djFxdHl1enF6MUxhR3MybjNtRW5Bdi9VcVBSNWJ2?= =?utf-8?B?TkRoSkR4V1RlOS94bmY2SXNpMXp3TnVJZjRFVnI0bWovN0xuaVUrNnZISW4z?= =?utf-8?B?OVYvU2hmbmFMb25YK2wxMHhVUUcyT0pibnlpdVNyTXJBb3ovYkJXRFBRY1U4?= =?utf-8?B?Ky9rL3pXYVlwbjA4OXZmcG5RYzdIN3JCajJEbWFxNEY5ak1aZzJMdEZCSVVu?= =?utf-8?B?MnNqNThzeStCNjJ1S3JzcjBQd0FKeTNUWnl0citJYldUbnc1djJrZXRCMHZY?= =?utf-8?B?c1VDQTUrbTBqYWdWdHc0ZW1yK0RSYXhQUmlIOFZ1UklLZlQ1dDNWZ3FFZ1NP?= =?utf-8?Q?ft3kW2XFKfA=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6733.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UXRRbmJKbkxFWnZKWURoZ25lT3BYYzhRWUk0MFlCNXpmcGUzR0JIVVRvUVFu?= =?utf-8?B?YmJwWFY2aEU4cStnN0JEWkgreHhJYmoyS1JsTTQ0RE5oN1ZsU1YvaEluV0RQ?= =?utf-8?B?ZXIrYmhkcDY2Y1dWR0NGTCs2ZUpkQ21Ydjd4cENNcWZKU08yY094ZFNDOUdB?= =?utf-8?B?KzBrWjJudVpSWHNJTTg1cW5odG5CUEFLV3JBcTJMV3F4WE9mSUxoZHZkWnEr?= =?utf-8?B?UkdySldOQmp5SklPNExhNWh4SVdETWF5akVSZDFVVDhMZks5THRRVFluOGtQ?= =?utf-8?B?ZlFvMFgwbEJuaDFySk9Gak9MWWlIeFZWZ3I4V2prVkJ6UVBmVTdhcXRhN25j?= =?utf-8?B?NHN6aGNuVUxZMFZqM2xNQWdFUnlaRHp2OW5KZFpIZGJrZ29PcncyLzJDbXRP?= =?utf-8?B?ZitMdWRZbFA1UHlYby8wWFRzVE9wakdpdE5tRkppZUxIOHJzQUhkR2JyeXlu?= =?utf-8?B?OGxkcnVlbkdlQ2p5bGpsbWlmSVN5enlzdkJNVUxYdGs4Z2RTZjV1VUlHb3dz?= =?utf-8?B?YW51bUQ4VzhKckExckpQaXBBeEZaa0doSlBXS25OQTRQSjR2S1hBTWpnRGN2?= =?utf-8?B?ck85dVlERUJFUUZTRHR0Rm9xMWRDNUdOMno5VloyMkFRMFpPeng3YjdUN3ho?= =?utf-8?B?R3NUditaUkkzWmoyeVFHWjhHY1E4Q3ZaajV4akFOeG04UFUzd3JuU3VtZHJS?= =?utf-8?B?WjZqeDJiVXlDVVVHRGl1djBsUEo0K0oxbE5YcGMvOFNRYTNsS1p0MVNGYmFz?= =?utf-8?B?V284aVNqMlpOY3dyVW5YUkM0T3cwRG5WYmFLaDZiZk1CZXU0TytLSjJoa2Uw?= =?utf-8?B?bFI4OXNhMHVtdXdLOXNMVzk3MVlaOXRwOENibWl4S2pNYVhld0tIaUFydHVn?= =?utf-8?B?dUhwZVlVb2pNQ29NZnVvUUJTZUVSNzRXaUxlUE5HWXJpUXhTRW51eGdhOEUy?= =?utf-8?B?VGh4dnBxZ3NUVmIrK01ycnFTU2haR21MWllKanRydDB0MFg3UngycDdmK1Z1?= =?utf-8?B?QldWUDhVTkljblVORmNVZ1h5a3I1WG9oNDY2QjBKL2VEN3hVUkJnTlRtTDBL?= =?utf-8?B?QmcrRy9WNmNKcldOY2RxYldLRWxCM2ovRXdQWlUwWVdaQnMzSnR5M0RiVTAy?= =?utf-8?B?WVE5UVVvS0tNQTM3ZlljV0FKRHFycU5wb0JrN0QzK2lWMVZ6bVVzL25MN0Nz?= =?utf-8?B?UmlGeitpWU9XM1pHaUpOeE15UVRKcDJXMk9td2J2eWVxSGo3SGMzZmZVbDNR?= =?utf-8?B?eHVKMmg4bmNXSVkxYW5XOGUvc0l5OE1BczJHaHlOOHBRUlc5UktSaW5YbXhZ?= =?utf-8?B?c3lJcEw2ZmVFbHA3bVVLVW8vRHM3U2VIb0xaREhqNGlrK05vUnhKVko5QjJ6?= =?utf-8?B?SSsveDNHbnBxRElwWmxiSG5KSWIrME1JWVJiN0dZUDZlb3dtanQ1dldRRVFT?= =?utf-8?B?dTJDeUh2SVZYOE43eWVVMXVmTDNZWWw5ZXdjakl0Y29kRURpbXgrTGRaZUd1?= =?utf-8?B?cndITVhicEFFbm5sREV3RnBtRCtDcTIyOHMwZGFxMjZ2N3ZyQXpkYThGWmsz?= =?utf-8?B?amtaU3dEMkZtOHZUVjlPcE1DR2hFKzBNVVk2MCtMaFIxN2pEaVVocWlSUGVS?= =?utf-8?B?ekJyNk5sb0h4YUowckFKbnMzakNsTko1Y0JmMTVHd2h2LzdYMGlYVHFwQllG?= =?utf-8?B?Z3JaUWFPd2xtYWM5elJFRFkwdUdYNjE0ZklFbEUycW9maHp0akpuWkVDRTl3?= =?utf-8?B?UVdhei9IaHhReHdwV3V6amlKOGVIWlNDcC9aaDlseFRQdXpYNGdhQjhyM2Zh?= =?utf-8?B?SDM1N0tkakJEb0U2b204Z1paUWtoVHQ5cHRHTWRnQVJ1cDJtelFWVVpkN2gx?= =?utf-8?B?SUcxeUZVcG9CbGU1S0ZmbEUvanBTZjBmdnBWUk8zWHpkSTN1ZGREL3R6ZDNK?= =?utf-8?B?UUNIQXR5L3JjeVZGSmI4WDl6SG1ubkVYOWVMeWIrODR5WkRpN213MjZWRWlP?= =?utf-8?B?NjJDRTM4WmVkV1ZIRW4rcHhrQkp2eFNEZXA5QUtGVGp2Q2pJSVU1SjlWYUR1?= =?utf-8?B?YTBsUEJiWGMzN2ljeUo2OFlkaUdUdTh6LzFJSk01SFdCYXlpbVpqZmMzUlNo?= =?utf-8?Q?9LQFE8rVdEH2p2KumdZ4eBBO5?= X-MS-Exchange-CrossTenant-Network-Message-Id: f02482db-12d6-4d68-758e-08dd8c1891c4 X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6733.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2025 21:05:31.1029 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AWNy8F1/vOUoxyijVx6vc/ltogjeB3K+LiS2TcIylH7HRoo0STrON4MLgZHq4+oFwlFXw7xWTUoossHBTkr6uw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB8763 X-OriginatorOrg: intel.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 91D0D40006 X-Stat-Signature: mwffiu141tancgfem7o1b5m7k83j5czy X-Rspam-User: X-HE-Tag: 1746479145-461348 X-HE-Meta: U2FsdGVkX1+C1fE0J71ywfVojbKtSF8PCXqUDAvZ70UvkAxNK6omlGRlk0CdS8VOFrGGV56GY4S9zXiABtc/AYWdSrWLWprYwBBhwwFVEL9kSM38a/BT5UD6OcN3FBzVcYC//WmcAE/NIejPURtDQtrKgqAtFEIcgL3JvMfUdR+zSAOy0iXRzkPxPMZnYUPD9OQNRudLjYdjKDQO3mjzY3UtRJdUh7oYM5TBqRAlS6m6mPq1aYYyIfu7H8bX/ay0y6wo8Ma0Ed+A1rjyE1Ph0aLBnPpNEgpi0MubfL01t2mg097RsNDKIPL9zKrUCwKQIej2W54LECD6UOcJtFMDDJMQuoS/zGLDxEBZVrpXK6PbI0NorXGZzM1iuul/3tmdHv2V2l+GpRui29St8E3Gh7cXmG/2E45kLQtS7PBntddRARBvj0dkDNWwbeg84DhI0mA75R8QRPS7l8Us9T1IrnZhMIY6QXiy2V/WO4uPHMhbk9sEGJ5f0VsXL+wuHhRmPAGHyf2Wao3xbNQJwhJrEtLZKzvO2XIw9uDZn8ZBcmZb9GIaUYiiEhapfJ6v+YetlZNqgq3ISZsGrpB9rX2XA/EZcAaD5p/asdufdG/4bF2z/8mnVPPv4zJ7J5z+YdigTqWxD//ahO4vIbd2ixFq+9WMnBNisnPVQSth97MRL3ozJ2gHYllmbo4jNrvzcMTIzN5qeMJJfFczYExzAXTTQTzdLczrp/DhEEs+UpiNujSZmTvnGq99pU86u4SMO3ezI/aNUjsfscBm4OoyG3SXnPkPbS8rIriybPKdmySuNuAb8BnMaEp+7idWHbq/WbOEw7rgpIMUKPMM+fyVVNzu5q7fLcoAeICJQVfdi3fz4z+RKOL6BiyC9XOBE5k+U7tE7q+t0/rDR0VLivvvVkUgBSP4NLEg2NF/LD/LYnvypGhMYHthsVKVakLWhRdYDuczXxSQUBC/+qFtvm0mF41 TKzHuoyU mWH5qmopa79f1U6rPQRXr4jOARdZkKwhZ/URbTPna5vxB6PW7ss95Idj4I8D/ibwUeSR487AU0awKQzcZlqMae/CZbEV1O+GSYvso4njZAsOgnv5+SYc4R617ucNWWT1ewmuy5JElkMBzS+msgiaCukIQ/QfkHVLffSVuageOwWA4t77NgjQnU386rDP3gNRFYcR//MWWjTp1F4X2RvwE9oNGm2ZHpgRrm8sUY0uIu7BwgpHvQvXQukb/dn495wWpk98prwUHzE8t4TuVkxsSIPhjcq43eaS3mt+JogxwvgqBI1YEyyWoH8CH2Hqo+lOBh1YjwskQLq5mOVO1uFk55t15WDcc0CI1KV+4U4yF3QkbbShnsPAysW9kB5t1OJpirGU8aKyJqN85A6/zSOigtjRP2Nyp7aSLZ8qpYcW2HyJCwi1Y5r059bo/9LI/MDFum0AtRWhi1qNYbh8baYSNGZPgFqWPc7PtWnJuXHOelFwEzIgTmk2HSIpsb/93l5/oqbylqbHiHUKL9jlVtxBHzxfxacywmQRhCJIw/tuxz/W1o48fbq5x6GqEmlP76JQMgSHhEzL06vME/MLg9H0pd6U1jIYcdw5PQ7wl 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: Fuad Tabba wrote: > Add support for mmap() and fault() for guest_memfd backed memory > in the host for VMs that support in-place conversion between > shared and private. To that end, this patch adds the ability to > check whether the VM type supports in-place conversion, and only > allows mapping its memory if that's the case. > > This patch introduces the configuration option KVM_GMEM_SHARED_MEM, > which enables support for in-place shared memory. > > It also introduces the KVM capability KVM_CAP_GMEM_SHARED_MEM, which > indicates that the host can create VMs that support shared memory. > Supporting shared memory implies that memory can be mapped when shared > with the host. > > Signed-off-by: Fuad Tabba > --- > include/linux/kvm_host.h | 15 ++++++- > include/uapi/linux/kvm.h | 1 + > virt/kvm/Kconfig | 5 +++ > virt/kvm/guest_memfd.c | 92 ++++++++++++++++++++++++++++++++++++++++ > virt/kvm/kvm_main.c | 4 ++ > 5 files changed, 116 insertions(+), 1 deletion(-) > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index 9419fb99f7c2..f3af6bff3232 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -729,6 +729,17 @@ static inline bool kvm_arch_supports_gmem(struct kvm *kvm) > } > #endif > > +/* > + * Arch code must define kvm_arch_gmem_supports_shared_mem if support for > + * private memory is enabled and it supports in-place shared/private conversion. > + */ > +#if !defined(kvm_arch_gmem_supports_shared_mem) && !IS_ENABLED(CONFIG_KVM_GMEM_SHARED_MEM) Perhaps the bots already caught this? I just tried enabling KVM_GMEM_SHARED_MEM on x86 with this patch and it fails with: || In file included from arch/x86/kvm/../../../virt/kvm/binary_stats.c:8: || ./include/linux/kvm_host.h: In function ‘kvm_mem_from_gmem’: include/linux/kvm_host.h|2530 col 13| error: implicit declaration of function ‘kvm_arch_gmem_supports_shared_mem’ [-Wimplicit-function-declaration] || 2530 | if (kvm_arch_gmem_supports_shared_mem(kvm)) || | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ || make[4]: *** Waiting for unfinished jobs.... I think the predicate on !CONFIG_KVM_GMEM_SHARED_MEM is wrong. Shouldn't this always default off? I __think__ this then gets enabled in 11/13? IOW diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index f3af6bff3232..577674e95c09 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -733,7 +733,7 @@ static inline bool kvm_arch_supports_gmem(struct kvm *kvm) * Arch code must define kvm_arch_gmem_supports_shared_mem if support for * private memory is enabled and it supports in-place shared/private conversion. */ -#if !defined(kvm_arch_gmem_supports_shared_mem) && !IS_ENABLED(CONFIG_KVM_GMEM_SHARED_MEM) +#if !defined(kvm_arch_gmem_supports_shared_mem) static inline bool kvm_arch_gmem_supports_shared_mem(struct kvm *kvm) { return false;