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 2A68DC3ABC0 for ; Tue, 6 May 2025 08:50:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 534F56B0092; Tue, 6 May 2025 04:50:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 50FCE6B0093; Tue, 6 May 2025 04:50:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 33B2E6B0095; Tue, 6 May 2025 04:50:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 179746B0092 for ; Tue, 6 May 2025 04:50:17 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 287C2CC7E6 for ; Tue, 6 May 2025 08:50:18 +0000 (UTC) X-FDA: 83411861316.08.C8E3564 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) by imf07.hostedemail.com (Postfix) with ESMTP id 90A8740004 for ; Tue, 6 May 2025 08:50:13 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="V/XUTG0T"; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf07.hostedemail.com: domain of yan.y.zhao@intel.com designates 192.198.163.17 as permitted sender) smtp.mailfrom=yan.y.zhao@intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1746521414; a=rsa-sha256; cv=fail; b=fDjvMDJQ1+ASfz8hkiEu+cMp0DP6aKcidyJE+xXxIvGAFmVcMqNV4sD+zJPoOzYPDxQM+o jBDhUPVR92Ik/RHiX7pFF7AzGA5dIg76x6cAL/sfmqykMC3ztWbGa6t6tJN3gt9AOx10Qo 4e3ehKmAR8RU7ov7jTIU25povLqYFBg= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="V/XUTG0T"; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf07.hostedemail.com: domain of yan.y.zhao@intel.com designates 192.198.163.17 as permitted sender) smtp.mailfrom=yan.y.zhao@intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746521414; h=from:from:sender:reply-to: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DLSZm/ofprzd8woY+GZgxvsCkVOIiIYRM1nRh1oXGAA=; b=cBvdH4Ibaph9/Ve8U2WujZBjdzExiRaE/eJoG85LyOECqxijr7wNupnFjuBALv3DyNmO6a xaE1ki46XnTk+vNBjXyfHwfK+LkDBOPMjfAEKT2P7LT1/eKR35ehL6f7wBt98Nta2ilZfk 1vtJVrlaYmGBGlPtHTFQEOs7AgtCzHE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1746521414; x=1778057414; h=date:from:to:cc:subject:message-id:reply-to:references: in-reply-to:mime-version; bh=z6WRKBvBZl5RBnTwUlGQYZqQeFpZl3M06xUQuSLjzmc=; b=V/XUTG0TA7x3FZ/wd9vEZ5zzr0t46WWRpKeQFfEtuQS+CTQHbbXgOdaH YzvCONdzmnwgQaN8NW5ftI1z/aRSbWF8j93xn7U9EFYR2cfMsG5rw1cJp UkPzj1dWvIjsnELhpA9VprdmzofEnOXXI23FfNS6FZvyL2kCVlri+L4r8 j2ugSmXKEsR2+QD4xhtbDqb8EAhMLdIAjAZ8VgC65PMV/W/An8lsiUprq IV/ImUnJsNIozg1UtksSuZ/Hhyw/s1qf6WoG2fLdu3FEVSkHGO+7lymeS 1MaM+Rozw3bdgl5iyBe01ycw8pPAXxBSfVgLNYNduCUJvU90b3L7raw/M g==; X-CSE-ConnectionGUID: fHpOl5S5SRaSfUIl9V6qdg== X-CSE-MsgGUID: P8/3zP2LQVK4DdG7CuGVmA== X-IronPort-AV: E=McAfee;i="6700,10204,11424"; a="48083160" X-IronPort-AV: E=Sophos;i="6.15,265,1739865600"; d="scan'208";a="48083160" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 May 2025 01:50:12 -0700 X-CSE-ConnectionGUID: fv4J9ppiQ9qiGv+DsMa+9g== X-CSE-MsgGUID: k7pZ1eULReCy/hzxqVY3yg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,265,1739865600"; d="scan'208";a="135448548" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by orviesa006.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 May 2025 01:50:12 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 6 May 2025 01:50:11 -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; Tue, 6 May 2025 01:50:11 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.170) 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; Tue, 6 May 2025 01:50:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UJxVfBpNjrT7iBMVrYyulPjBIrhVmEfFLkpPnLoR9hElDRzBrIo0E6dVimlmYw2z5YmmcczA2vvFk9xnUXn/90AqzosbppHQYSEPvnfgK/2M0Xe1cRvuy8ZT4c7xp9azvrYfmu7Ap/m9GEfG1THsh5ksuwW/e5IhSr8oap8PKX211RZFvfTs8+cY1fvKA0KZINL6tJ7FPTI2bjXlbQdpbRRpvg2aw+ztfkGV7SsbtICoJoF0l/4jyTtdUmtFDCiQ4SzLTSkZEMLB1QPBJPdibkGOPJWl36mAAPBYMZuqNTsNdId+hsQeJix2QgfBZm9SB/NHAH8oNuVjnY+FZXlTEw== 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=DLSZm/ofprzd8woY+GZgxvsCkVOIiIYRM1nRh1oXGAA=; b=bLTQBUAOKunRdDXivCZJL9POFCooxRZTU28DJRQB4aGc8VeV9YOGNq8U2oWlb/NuWsCLdios/XiKuuFE3h1PO1OAr0XNNnFCFAKjv1/8LTy/GpSX5wJZXmntTyFNRgSl+arPVrkBDwupE2Cvp/vki3ieavtehwApkJRBupl1f7pHHVZbqiZ47n2NEDNTn3Wn5aPGQYxFjkfWvFLJXGi3GyiOKPmECZEBXe390P96jMRkQ6lK+zORSSo5giEXnfUvuwn6ILzpZesgx9R8JdtjiG9E6xh0NtQMHfWPVn7GkAk4/Ih6sx3U/gDovHZjE9O6BuLNfENF74KUYMlgy23VXw== 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 DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) by SA1PR11MB8349.namprd11.prod.outlook.com (2603:10b6:806:383::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.22; Tue, 6 May 2025 08:49:51 +0000 Received: from DS7PR11MB5966.namprd11.prod.outlook.com ([fe80::e971:d8f4:66c4:12ca]) by DS7PR11MB5966.namprd11.prod.outlook.com ([fe80::e971:d8f4:66c4:12ca%6]) with mapi id 15.20.8699.024; Tue, 6 May 2025 08:49:51 +0000 Date: Tue, 6 May 2025 16:47:35 +0800 From: Yan Zhao To: Ackerley Tng CC: Fuad Tabba , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH v8 08/13] KVM: guest_memfd: Allow host to map guest_memfd() pages Message-ID: Reply-To: Yan Zhao References: <20250430165655.605595-1-tabba@google.com> <20250430165655.605595-9-tabba@google.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: KL1PR01CA0095.apcprd01.prod.exchangelabs.com (2603:1096:820:2::35) To DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR11MB5966:EE_|SA1PR11MB8349:EE_ X-MS-Office365-Filtering-Correlation-Id: d06ec502-3049-436e-1e36-08dd8c7af6a7 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|366016|1800799024|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?bDbcouo2Rq6rJhiPMBMQ75TlZ/cm3f+eJU/vqgldty576GFbK1Y4vFOhdNdN?= =?us-ascii?Q?/RT8VD7nSm8pCMM5s4Rs7S5+h6smAC3baT1cHlfDcKCkjltPL6DMGw8iDc1P?= =?us-ascii?Q?t/8C08zkdUBnnS0H4ctvf77grXUwVyKNzWyNzc5B/abcX/faVDgB07i5gABd?= =?us-ascii?Q?M1DQk5kvBbEB9QQUscna3WXQk48LOkKB8aNFEw7T3CWSLfSQ6kOXWDUznhB5?= =?us-ascii?Q?iFcXShWt5yJv7Bk2oCL/kktm4ZVhTZsymp0etv9FquCQB+fj9lCcKKVY1i9Y?= =?us-ascii?Q?5Knfsag4xQcV2oTPPjlqu6LbFWrTKx6Cxl95kBPkM1D4WDvc1UrRa2l9CUWv?= =?us-ascii?Q?EvFLiHVrbt3+iQZjPrENMIO6+1NldC4R0o/C08wnl/zVYigp0BR3IrTYIQzb?= =?us-ascii?Q?77IkTzuLBhMQCVx6mdqfnaERxxngcUZbLGjm+YtCyXgSNHZs9XpF1r+QiTle?= =?us-ascii?Q?Tl69s0+mScSCV0JUnobuOrvCCV6Vquvg1srtvwFN53e8a09R7yPyy9Xsy+xp?= =?us-ascii?Q?D77/IPGi52+WBCh+mNMFG4waewOICOtCRklkeJ/zgo5jMHgOcUvycV+TI+wr?= =?us-ascii?Q?k/dLRj+HujbnWO+AFycszZYZf+4YJMuTfwShglTFN4FmYMOTI9FakaBEEAye?= =?us-ascii?Q?gt2cb9YF3BNEJBOOEvVUF4UEAwdtJrumlaStITVaSacmu1x9MAfrbk5bFcyC?= =?us-ascii?Q?APsno5f/wV2mcRvPI8ThoOjgz2DO1A7cBP+LLcRqvgt2PllhllZ5u2FfXZCE?= =?us-ascii?Q?L5xLAfmVEpEvJZ9XAllKmln4cMhidMc75/IfK3vg0a4ZO2Bn/ofszuqToshY?= =?us-ascii?Q?0l9VIJkJ0wSlAPaiskFR2AXTBy6c4E3NFrF+DZC7r//dFfFhNh9Hiam0bzyS?= =?us-ascii?Q?K10LW31r2Caufbtw6E4alrtfoV7ykSY02G4WrJnV6Zp9cd6fXiKSKO4N6L1H?= =?us-ascii?Q?JbXhj4S4ujmx2I1x+DwQL1Osl5v6RlP8f/+yia76vC8KbpFiYSvuQoqZig2/?= =?us-ascii?Q?bsnNWAlpmkkd0aLFLdrhvV9tsi0lOqFvRxfBiuB829K58cWq4ZhJGbu0Mqo7?= =?us-ascii?Q?QFJB3ylSUTa6Eon5ycjXOVZ+EDSZqBGmF30CVrQgbdgWNlnODB5/PXT/2cUV?= =?us-ascii?Q?IRMdpa7Exukw9mWlbCl22NSK0lAShLXVd6FrN5WDX6CvC0dMYA4346/zlA8+?= =?us-ascii?Q?NodLeXU4tGd0Wfup6K/y4oEJO/tH7cGV8jOiHuFLS6/aGZQQ1GdFHsvf4I1u?= =?us-ascii?Q?SMShiPu7VD80N7MZQSCndhUR/FKUw1liLKvzwXbkq8HXvb62B3IvoBiiyVVu?= =?us-ascii?Q?JwbqktXtCFS9bB9vHAiYw4czLV+TXeXt5Ms8rKT69MulmiNr/rwQNaLgk2Pv?= =?us-ascii?Q?KeH2H0DqpVgjOhFyMLIvRVHZbqgy44pJSCvio4mk6/BxcdsHfAsUD1tR9YGm?= =?us-ascii?Q?xBr8WqkTzwM=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR11MB5966.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RwepDWvh2QHHl1ylgl9OGblVyGKvoZjNgGjFB7gaaw18+y5t7uqIiHF6nLUB?= =?us-ascii?Q?kj1y4Gq5AgjnlhSWtZCsMI/e/68eEvEK+SRPQa6ps2UwUVsZbAvfVuCJSRGf?= =?us-ascii?Q?GakkEv4zvoPHH5g3RMSxMbFgKZw3tT0WHfeXnyUZvLoMCf86mKIU1Kzhuoh7?= =?us-ascii?Q?BMPPuMblthH8USHTNMo5Hh/S208NHCLapVEVXzqYvRpsjwGUM3D4+VJINpru?= =?us-ascii?Q?T2SUDBlTYBPrLACChNuNdrIyuB/WsBhVx5+FEY6dp11cQISbnvXpUt/Ss9Pa?= =?us-ascii?Q?F7LCpUdhfxPHFR20ANVzrT2FD1EwVZOzezzGh59fb18Nb6hzD7dDiVjDYcgy?= =?us-ascii?Q?eaH9M4JLEoYxUK+iIF98Ss8pjKcBQN5FgUJSL/i99RUWOGNiL8anU3r/QTYG?= =?us-ascii?Q?dfKayT8DsxXqIw0Zr6ufBEE1n7Schw7r4Byd/CM/xEEchIBVHA9hs8IKkOwV?= =?us-ascii?Q?DkKXJB8QoD849O/AvLTUulv9eNurhpylOTWVmCmKU3395efFFKkiYdvGsXXt?= =?us-ascii?Q?wZAcBDrSjGe2d1v+OTlICZbaSrSiNJjJwVyWkfVrfiXYPDdlEUMtB4ipPCaP?= =?us-ascii?Q?YgHF4GkCwQi2IisQmeFc+wmGIySbn23wyK3M5b1Y1LuzoQGWMDVKXMCeMt/D?= =?us-ascii?Q?AWJklGtIVSiRxtWgDHPRzSP8vQlV6LRxAet2+USBkPpscLdmhPvs9dxYk4FD?= =?us-ascii?Q?399c/TZ8GwMCdOqTYbFQDJdjRzg6+mcPNu1QXXosqfChHvU0pq3wKwORbLIo?= =?us-ascii?Q?e+9vZrRpSDGAx+vHuPvSw5c5WFQlApVwe8XCNIQjIh6lliMlk/IKSUR4yuKI?= =?us-ascii?Q?f4zQ5+TWvtd4mYUzc39J7Yf0AqZ9U0YAdT2sXfwR+u3By3oHZAZd5PgTRtbL?= =?us-ascii?Q?K52JJt0UTbdzCBITkkzEpUX3Di4i5JuugL0NUPUHJ/FEwpwJ9VN+oVUbK7Ss?= =?us-ascii?Q?SpdxgUBd7zX0pV73bJNmWAgENzDEdOmC0EPS45sg8NfhT18VCYTQ4vg9kKR2?= =?us-ascii?Q?O5kUAB3rqtBymuMFk4UvX5x2j28qGWDya/zBqemh5YbNNrmScDKADAyBv/di?= =?us-ascii?Q?lRtiiggfPCmphBSKgWcSsXbnjq9h1GdnDbArTNiC2JmdHfIq6eUtKceWNLNQ?= =?us-ascii?Q?Poaqpbq0LylOa1cvWlJ2RKDC1MSougnp5zU4aYtXtHc6DYZj9EbhiuDqOYmo?= =?us-ascii?Q?qHWDAWVTsKQ77Zp11x1qFnAZU5faGXT1YxOSNG0xgi1nVd0wuGeoFV0LAkE3?= =?us-ascii?Q?0H4/xUXef/gJzxsxW+3O0Uzi0mgjImsa7k5Ynf8U8EY5CN2osxgA5yIIRB2U?= =?us-ascii?Q?XwstY/WcPG79YJgiVJ4mrCyoq9oehvy7383IRblcYYIfXOAIkE7U8iCv2lp2?= =?us-ascii?Q?ZGsgMNgd3PpKTgnGatz1dntSPEmxbyvVbOOVxlU+9KskozpNBH6RqfaekpYg?= =?us-ascii?Q?sj+IU/v/4pGMjWTbLZFbKAMYA3XRfTr361eel6dRZvj84iLf1G9jobq5yjt/?= =?us-ascii?Q?/YdJLgI18JOC1Co1vwz1p7moKBsYAie5fcIraYgZho/iDbAV27cjDmeac1gg?= =?us-ascii?Q?wIZh7MfvidmPZE+9IMYSxndZQFuu3sJFIf+veZj4?= X-MS-Exchange-CrossTenant-Network-Message-Id: d06ec502-3049-436e-1e36-08dd8c7af6a7 X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB5966.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2025 08:49:51.0143 (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: xnHVR5ZIpL5Bfjcq7FeKLKuKgMbbp20gvwaIlk1lNDspy9FNL2pe5c61WV1BbJARYFevPyHmteZlO3hzZdW19Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB8349 X-OriginatorOrg: intel.com X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 90A8740004 X-Stat-Signature: b9f5rct34qagnz75nw7ub83pyymtb8uc X-Rspam-User: X-HE-Tag: 1746521413-649057 X-HE-Meta: U2FsdGVkX19DTiUWboEiYsuuA6BYLjvuU5SIc6v6GILlBUiX1HMehZlxLUHX0VUaqXSihiK2YT32S3u6I6wgqeF8hUaimhDwhHIIrsQ8IXzhOlubA9hTC+1S/dePiqtvyNN8/P3G8x62NZOROq6cuukvEJN9pUD/mCIoyCOfHcR8EiB2nTZdu1xsN8AI1ASWxs/GXMWSqEkxrgzwJMO/paRGOyQLlkX+LAjy9qr4isUmxF52Ldl2kytDAXDT7Sc7hyVYybyAVK73BXgBTK+ILrewmq+bSggcFuJH29Ty/oj9KXh4zh19W8FdNZ5GmlvS7ttaYsscBMoOxz0sSvxHHbDO7vJuCDdY0Ev4PU9hFer+2aJltCZzRSls5STnSoU6Y/E5J/fLHlgQ/GlFJpLPv9BdzmQfozOFuNQZEaVO3/g1qEJowcRcSiPd62U9A0E/qIbBYFRqA1m9rYyrfqtlf1djFXRas7HYPbVnXAfWbYipcKOHteZ6UeJ0mYNv7IHyekaTXicZlbb4Zel4i9KLKnkFo5Z3hpn8wjFgLW1UHJbDFFwFDLUhvNQDtyE7crXnFDjUp5oAeaSVlF8sJg3A0RUQzcn5gEf/iNq+8SmygLb1GjVIptikpoO0aGt3A/6tIUDBGj6FFzngZMmb+Xz0XpAazpt2kWvDBCcFElqklkIHl7+9WLu3UV558UaEHQzrsVIoxf+xlCxC4MYgtaiYLQyG45G1lJL8k8ezKOR2S0GWuSlXi6Zyq7VNax/nFR/CkKYYmqh5VdraavrBgmU0p8Iw+SHm6LkPNn9satUpY4jjhzjNlABMWxVxbisX5wA7M1bZqFrIgLHf76funhrTz9zRwltsImFb5km3ff7aZBdi8qTJCWbITA6n+6IuJTO9Kkb6qxUg+GBp09mZupRf3E3NbLgpGw7NRGwwTumBM8WuuUq2EsTEOALZ0vwSUzVfsfRsLXu8FYhrO4SvsLE 2XFhuGbN hijjjahD45N84FQ5DpUrRwL+TyQSSSrJ/NLUbqMNlC5W0XRv0KpiZrBxYc0RRMDSaTLd4ZvIj8BTHS/483xciNgZa90lpprAdnq//VL9zXbY3iISi7eFqogi/gzo3y5mGU+6e9uReVQjI9FgqD0JdLSpnTckCoqrGZsb4BfVmOp5531oFb0qCNTpm6RH3TITFsU6Mfq+0XaaDqu9PN5omAakCvgWEO0FgCdQNvCsI62x38U35Pjel2AccV16zXVMnH8xWusIF02b8FkGWAZnoHnXK0LkMIj4fXL9UvYrokZfctAn8xxIMJGl6GKLgdgZF+u8anagfWyCR6/bwMupJmE5VgucwMXO0aG4dQqavWqP8rQjFuSTBvEKgUkHbNdSCtcJAacaxPQ8H4YP6Mvd47r9iE+AKLd1ZKez8SDnDapWSyMnp1RygqO+eKvnWvsaCZMqaClvyvM+fViczV4t6V/NfyGtnr7h9lTfC8UEr1TxVxNOC4qzG7kPFd5l/n+rRxKBLOn9na0le0i/mMCLKF4Gw/9kTa4lIdjVLOSeVKso4sEwdjr+vsIYf9qXjY9qL3OAXI/1PZLT6gE7FesBDtvCyN7cV9UL8Aj2wQ8z0MxUfDHyMfxvLHD8LyMH3gwrJjHZLQGycPZ4vRPLEzUCmeYCUUNBHt7hqEUCYGNMHwRDdU6BZbAF23XQOu9Zr2QER1PJB5knahuty9ktNaXUWs6DfpQ== 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 Fri, May 02, 2025 at 03:29:53PM -0700, Ackerley Tng wrote: > Fuad Tabba writes: > > > 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(-) > > > > > > At the guest_memfd call on 2025-05-01, we discussed that if guest_memfd > is created with GUEST_MEMFD_FLAG_SUPPORT_SHARED set, then if > slot->userspace_addr != 0, we would validate that the folio > slot->userspace_addr points to matches up with the folio guest_memfd > would return for the same offset. Where will the validation be executed? In kvm_gmem_bind()? > > I can think of one way to do this validation, which is to call KVM's > hva_to_pfn() function and then call kvm_gmem_get_folio() on the fd and > offset, and then check that the PFNs are equal. > > However, that would cause the page to be allocated. Any ideas on how we > could do this validation without allocating the page? If the check is in kvm_gmem_bind() and if there's no worry about munmap() and re-mmap() of the shared memory pointed by slot->userspace_addr, maybe below? mm = kvm->mm; mmap_read_lock(mm); vma = vma_lookup(mm, vaddr); pgoff = ((slot->userspace_addr - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff; mmap_read_unlock(mm); Then check if pgoff equals to slot->gmem.guest_memfd_offset.