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 1E031C54F30 for ; Tue, 27 May 2025 03:58:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 95C4B6B0083; Mon, 26 May 2025 23:58:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 90CBE6B0085; Mon, 26 May 2025 23:58:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7AD286B0088; Mon, 26 May 2025 23:58:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 575436B0083 for ; Mon, 26 May 2025 23:58:07 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id CDFCB1A18EC for ; Tue, 27 May 2025 03:58:06 +0000 (UTC) X-FDA: 83487329772.30.6D9B49F Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by imf14.hostedemail.com (Postfix) with ESMTP id 306DD100007 for ; Tue, 27 May 2025 03:58:02 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=lkjY2akG; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf14.hostedemail.com: domain of yan.y.zhao@intel.com designates 192.198.163.13 as permitted sender) smtp.mailfrom=yan.y.zhao@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748318283; 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=recnqj/tKj8My/FsOSy5DA+CzOPHKuyVet84YN10YQI=; b=B/L3hpE0Y3eaJu7sP7clthDK0GYfZtAoTSE7iBlLr6NenIurEIb1DL2ioa2PvDUOlb1tCh Yu4K9JLDZwLatBdpjjzOm6+HeSokf3BMDw3v+R/OHmR4ns8UpmF66K/d1jJXif5EVtjLQy A58iSuSdD15HugrT9mZBsFWMTkoWNX8= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1748318283; a=rsa-sha256; cv=fail; b=og6rEqz749vfI5lV+kCUinKFmBRuK+sL1qjUInDmprZmt44ZRxcj8/o4n5tHxbokPDBRb8 avlPYKbpzCHqW1GyMM3pl0DvOCEqGuxj7x53qo4Lvb7PtHFMMHE0WvsNLPYvxfD1G9hF4Z KlwQ7BfZWRt0e0x736iL/0yfdhR9Nkc= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=lkjY2akG; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf14.hostedemail.com: domain of yan.y.zhao@intel.com designates 192.198.163.13 as permitted sender) smtp.mailfrom=yan.y.zhao@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=1748318283; x=1779854283; h=date:from:to:cc:subject:message-id:reply-to:references: in-reply-to:mime-version; bh=SNgPd4XmTvrP603pena9eN9uXZRrMbYYGve25gLqV2k=; b=lkjY2akG1PL5NT8TRWo4igBa457DGNmIeeYgdARte7945JIRiP7sEffx Tzz0XpB3pOWap4YSPAqgU1OcT1kDl7vk+F3AetzqT9ExHcGpxFwmYKUWc uBlogpkzeI/5JhBIrkAiQsGQOkKBlrFyPKlASboieQS6xHxkBk9BNqy8v W9m7hZdYOzZe5+zZQGUdAUNg+FVDbCNiQxnw/zWv62YCuy+YJaEGH7BS1 jnGL+zzyoOlkHO6bzV2pG9nEnegGhxpyaY9tnSsmXDBln174T4Wvg+aB+ +u7t9beyyS0+D3b3bR6Hgu6c935Sq6Dv2YYrB7bQua7rg4WyfiqEKU9eG w==; X-CSE-ConnectionGUID: D4zL2RjeRw+KWb9QtkaYhw== X-CSE-MsgGUID: YIItuJuCRdK+3ZgJP89mMg== X-IronPort-AV: E=McAfee;i="6700,10204,11445"; a="52912165" X-IronPort-AV: E=Sophos;i="6.15,317,1739865600"; d="scan'208";a="52912165" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 May 2025 20:58:01 -0700 X-CSE-ConnectionGUID: DGqMyltyTXq3QbtKPJ2fKg== X-CSE-MsgGUID: wf4r03dTRXKFW9ArxUbX0w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,317,1739865600"; d="scan'208";a="173558118" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by orviesa002.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 May 2025 20:58:01 -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.25; Mon, 26 May 2025 20:58:00 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.25 via Frontend Transport; Mon, 26 May 2025 20:58:00 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (40.107.237.72) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.55; Mon, 26 May 2025 20:58:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=t2E16LyMsh2AqUYQ5xnIF/mWXo3HdflorldZgt49HVNEUPx5J4UM+iS+w5poXP+6sevA1a5BcjwYp9Ls46yjxnsg36R/fT7xBsQWgCSGqn6Ibhhw916DSnQJuNiAYsRMnZGifl35BYXvbmWqtZw2DCeH4zwLN04/xCeRxelsylIZlVSjcUh2jbpcUEGe6pQZPhWXne62Tg5dk1KkgpjC4MpjgIZQYfentwCE7hE9hH/8xixNFQYxqOeETNoBpiet72eTsGLLB5TvzrAD0ey5xSNF73epZqGIUkgvGI/fjez5GVyZih7jbfr+nOcEaTscShek6w8Vtv5Rg7zY+4UKcw== 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=recnqj/tKj8My/FsOSy5DA+CzOPHKuyVet84YN10YQI=; b=cGUxbIch9RtRj0nOaw0x2QshF9lktOB69UwZMw2MBa4v0liJa+ffZYKm8c+cL8+9cK5TWpfSUL285A2LE6P2v3EV3HYA3ikpvAhumdwZj0t0CGTBnUuePDf2CamZAJQ5kJIi/zqM2Q2zHSt3u40NtYrc6Eh1TG5VNzZM6AXfbarq4MHVTMpLC4N1sxCw6ZlGFjsXuOAZPppmYAUVjgR8pOpNjSB0tLbo54RO/Wm0vrlmnA+rim9v2/Etzb1c5J5WEnwrigfmVLaa5Cimg8l9SKzps0/QfhRfiBJBhh17y+2Tc1VsiBVxVgHaGloPHpiH0juIEHM9v4582OBnIzKNGw== 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 IA0PR11MB8355.namprd11.prod.outlook.com (2603:10b6:208:480::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.25; Tue, 27 May 2025 03:57:52 +0000 Received: from DS7PR11MB5966.namprd11.prod.outlook.com ([fe80::e971:d8f4:66c4:12ca]) by DS7PR11MB5966.namprd11.prod.outlook.com ([fe80::e971:d8f4:66c4:12ca%2]) with mapi id 15.20.8769.021; Tue, 27 May 2025 03:57:51 +0000 Date: Tue, 27 May 2025 11:55:16 +0800 From: Yan Zhao To: Ackerley Tng CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [RFC PATCH v2 06/51] KVM: Query guest_memfd for private/shared status Message-ID: Reply-To: Yan Zhao References: <237590b163506821120734a0c8aad95d9c7ef299.1747264138.git.ackerleytng@google.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <237590b163506821120734a0c8aad95d9c7ef299.1747264138.git.ackerleytng@google.com> X-ClientProxiedBy: SI1PR02CA0035.apcprd02.prod.outlook.com (2603:1096:4:1f6::8) To DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR11MB5966:EE_|IA0PR11MB8355:EE_ X-MS-Office365-Filtering-Correlation-Id: a7a5be00-9e98-4b0b-eb9f-08dd9cd2a6f9 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|1800799024|366016|376014|7416014|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?3GtH3QT91QYJqw2KKlapjWNyE+tspyx/jnyK5SxXHc/zmxcvxnYggBW7ko0V?= =?us-ascii?Q?FIqJW35hcuo9pXrPBmef26PrKFwMpp/Toqyv15Ly6ncRin7b/h/4siCqAZJw?= =?us-ascii?Q?wYjduh099UyoLCaRqTfrpXRr3N9y1dAgtURFIi2JakQie9SM0253V1WEq2sj?= =?us-ascii?Q?Pcxh0SxNgNRcRDy/6gMYkbzOrEck2j12JDMbuHPCJhDtwi8OGv8S69jkUAQ/?= =?us-ascii?Q?tLnAzn6obtJma/tdSW5CLgRsv9mto5f945MFoL45Qj+8Z7Jfe72RpMly1wNf?= =?us-ascii?Q?CiPuqMqAmgSM9ja4Gz8YApq8bCFOieb/yQLgvL/iSmXE2wUzXQ7yjgD5Cf3g?= =?us-ascii?Q?MmGup64NsDnPIvSDTrXNjjb2TREqGLw0F21upSKgp/YNZTAtEf0Yd3VC5sRY?= =?us-ascii?Q?qInm9SRinxKXDnsjnkWdZ2+bHWJRsqcYN9kwIb3ta+lk7TUN/YQxPdWcEUVZ?= =?us-ascii?Q?jvOYa+yB30Z3Yj9iCvLkbITBHEU/66ucKcGycllMKVqJJXAOuXRzh1bi9s2I?= =?us-ascii?Q?fFLZH2XdiIUu4/fSpjDiyQyKOkmgmUUM/JiHy1IKpG6n2QU7idlUwbdD/0/4?= =?us-ascii?Q?YKMIcm/UnBsBkS+hJDmW7wU/d9sjmRlCccSD1MbRG2xHoA43ZwdxRkb9AE+C?= =?us-ascii?Q?eJkVDAbpXCHZ/mOkw8szgyTXAx4oTwB69DvY1/oscCGnD3UClnhZMEgToRzt?= =?us-ascii?Q?gLD5WurL1xIWjeA6yxk7WBtdFC3bWNpNOX8rHluLOIgbi4eakIf1l1yWccos?= =?us-ascii?Q?QFrC3drqWEY98ZSNb+oU/VUROS+2ePrkmRq/aIauLoEUpvVf3qztQ6vxpfR8?= =?us-ascii?Q?XB3zaYZr9SLfxg/ya/Dk+EBGXaYPTtN2yUTUdncEdr4Y8u9MTiw2Pb2jqYoM?= =?us-ascii?Q?PXgOrkFaTUtUHYi02vwq0Y0tDq5vWdbBuiUF2sMk1OAhprPi30JalpwDb1hT?= =?us-ascii?Q?Q4y9FSt2DsblQ5YXBOMkonltYXYTdcF0dpDGMaOW6mkfDBKPpwoz1TSnrN9j?= =?us-ascii?Q?AukrBQzU5FGSMo0aBu9gin9Kni/MM8K5KUjOdL+vhL/Td6S2ojvDskFaZeAv?= =?us-ascii?Q?mcOJ2aa9Uqw/pyaVmHePHWFziWDPl8BXJIdrcYuOPLrJDxQ7UzF54PPrVc8I?= =?us-ascii?Q?T6RRDfqlO6mwIQIexVrkHONgihUJE4xXgJe2ZSlHO0xJY0MGTSOA9V7y3q1k?= =?us-ascii?Q?GilFuSzmzYuc+wW8hD367e1h1ghaJWNRndYx00o3H/FD27/cfGWftU+QN6vb?= =?us-ascii?Q?+QlrcKYN9NSXyQrskt588B2x60N1uASWJLETZXKFti4MzDJCvNA6LKDLDaMg?= =?us-ascii?Q?bC//s7t4Bo+mYdymjmbQd37iwqcDD6mLCnbFV+5xTbyEuqpTpTXa6CChqPS4?= =?us-ascii?Q?dKI4CkwO+K5Z7S54lWbEW9Tw1jI8JBkHAbkOPZ1gh4VrZ1PciQbDKNOwqJr/?= =?us-ascii?Q?KO5OB0Xod5g=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)(1800799024)(366016)(376014)(7416014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GboFjqp4d/v+eu6GeWnT/iD7L2ardeQ1YLSp0+Q4X/KUTl0UIO8tewe5CUM/?= =?us-ascii?Q?hV1O2ScvkXdQO1KqSCDi//Zbgl7GTfSzH7lXwlL2E4UQ7jaVbTbkiYKJylwc?= =?us-ascii?Q?QEVSz4NjOnsTl/s2KRZLzRBmL+rcFX7d0ClGK6BwKGG9tfqBbXku2HwWFAzO?= =?us-ascii?Q?l8edtYTxHhUfp2NUBzouIjQTkSYSQBHOj3fQ6LVbI1yq67p0rS1lMHhLTv34?= =?us-ascii?Q?d0+sw8tCUSh0fmJc/jt6cliEePtBzjusGG0DzyxoYugh6ZWkkNuPCOV1vDv6?= =?us-ascii?Q?AmHvCFEV25Jc1SWBH8Lm5Dw5dvaHTHUhSovxl7HvV5H75gjf2PghU2TsZ7YD?= =?us-ascii?Q?UXFjM6d2EQl5KNEm44fO9GREjkZljE2OIoU5c8CGiSMeQ63g5oCkWzIS0pkz?= =?us-ascii?Q?SZcvwaVxwFaYo7NyTGm4+psL+Q4UlzF8M7HG+xF3DqM2MJt3d9dW9dpe2lIs?= =?us-ascii?Q?7so4mnIRhwgYY1LyYfUiWIvMJuboWefnijSGBUxnqhUdImb/LqmpPY/3YaB4?= =?us-ascii?Q?qGciAGDrvu11zRzpCof1GKNQngznNYG0pAtXKxqtIGxh8jaCWHPfX9eR7+Yb?= =?us-ascii?Q?nSURwQoe1gnPqUvX5d6ah9zxNGPf5rPRLs7aZAl0xzysV6qQb/j4jg11aPJR?= =?us-ascii?Q?oLjPAFGBuNdTZtzKF/XjtS19BG0/vsXwxSn3xGyXCbTEecc7Goi+hUjoFpYb?= =?us-ascii?Q?XaNDxowKUf5HUETvdH+Yo17LANeHRvvgDPD1BYNWFvMEvh9ry5sLzrEH1QRo?= =?us-ascii?Q?gmzOL4OO1It6HF275Bl0qNsaYWbetEXv9x/bvj9sa5BcDpqNJfRrocxBAvQd?= =?us-ascii?Q?kYkqnfJtLkLCi7FmjfWAy0FvDrMC8fxQyLADR1xwKeD6js/sr5UB8uo5LRSP?= =?us-ascii?Q?nlRlSXMtUNUOmj9PEu0G0Dum/oP9NySmzmHZMtOn9URLVwUBSHO71kZzPRG2?= =?us-ascii?Q?a5cBO8yKrI6zbtpxH72AbnUj1CAqgkWYiG6PzrEuDNzbPsGWT2MLCJgJRShe?= =?us-ascii?Q?yDeegfmqupqfGggrpCf9lhi8KaqmX1lQdDGY3rFF3rCGKH3a/5BbsXvfzCAz?= =?us-ascii?Q?PhzqGxQ2cgIRGnUzVflmKMUWBf5yGOkGHQ7/l2lEPc70By43vGzS3SPCuGI6?= =?us-ascii?Q?d7QNKY7Vb9s1qlcYrldBSY6Po5pBsOEBg2bg1xKmqymG8zebC2paWVEHMRCk?= =?us-ascii?Q?D2wKkhTdFzxdyrtly5Fp+gPo1Mn8tmfLtq71dSWgNkHXztzWUHOMYVnzDk2N?= =?us-ascii?Q?tqEXaKMrn8aj3tognjt4XDBdg06dRy7vo4GlcwCDNyRcl1Aqy/BHKoW0fCYa?= =?us-ascii?Q?wkzEW80YxlCPY+mbFa/C8oqfRwpKMy/Uxc2cT1nue/jjldORAsuP5dIyVaji?= =?us-ascii?Q?m2DTIItkNoaWVk7SAGgP4YJHGKCcZ5UWQVxnr6nYEJ5ipnSNcMU+bfG/BD5L?= =?us-ascii?Q?cUb1I9glwZbrEe9l7DwSFg5JyFYxoJZuokLKydK+g4Xknn3l/WP6WHXsJ7mb?= =?us-ascii?Q?AjiznZQHazxpvbokOuECwiV8VLkjr4QRuxBLFmKm4dKAroh4udXbb1qNnpPF?= =?us-ascii?Q?QQUO+fZHHV6Oj+ab0CPXuqDSDz8FcAJOM+fMY1v9?= X-MS-Exchange-CrossTenant-Network-Message-Id: a7a5be00-9e98-4b0b-eb9f-08dd9cd2a6f9 X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB5966.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 03:57:51.7210 (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: hFA/tTinLpkOjjXaPaNaD5KIviXNiAk409fJ3nEh+V+ogcmOsaTWVR2pNzk9AKKjygXYpGaRTB4/Qgow7zJDow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR11MB8355 X-OriginatorOrg: intel.com X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 306DD100007 X-Stat-Signature: 9sfxarphrt86en8r74giisaptfsuhqrd X-Rspam-User: X-HE-Tag: 1748318282-651270 X-HE-Meta: U2FsdGVkX1/rVsGADwtWkv8ldDHmQZbQGSqf3tWPRTGi4BxYORhoe2B1mxnNF+2sNyO5QQ7cs5xRWAIAQxarzz33h1Mm3TLMpivcztlTDmci35xJzkqmoSmNvq6IpLSjLXrzpQxjKn3HS0pqgq2ZpVvQGA/WVuB3QQoCUJ94XGEyjuYzLUUglMe6gbzUoD5pXBYqJ32yd1agG1nU3OWsyx5cRtmqh1lmGBOCnTB4uXpfYTXdh9v3RZAgS4XaBWFllZ6Ae4GBBl3hLglF/eeRvrUdp0SDnVBq1fkOxRlGiuvl5AlMdI7rpVM9PtJie3gX37Gz9mcb+9aJ2MMGBeLBPEwbqajUiqfEGP0YAUCYwneSOIq1MiUMWpT9F2FmWs/Qu2zv5pW7WVTcEJ8JYF+LSI2gZLMB2AVdWCEey8K0JzZfdsKh4DyTXtiDDrtj4aae+KOFG4x5RLJ/hMusLBs3I7U3l85uv6QQ8/SnYxZ+T4I2IsyYg2ci50B3fy36qHdHefk3Ml/DHEbuk9TvdrEwY8rzph+nNcX8I89A8xSJjTOkJ6jB/ATKBdI3TcQ71/SnNaYKjIRs6N5gcHFqBGDTrkqGlkMQNYmslHUaOQTcb9egT8woJgs6x5dOZwIjXhW8qalctK0OczyLNW/cn0iVn0fajhXUXs7o2i+XX8fu+Jp3d8Xk62BuroA5VKwszKw84+2Kv6cmHBvSq2mT+yJAfn8aXOUgDkNuUixPh3NIF/VBENIfsH4iPxYIV9CXK6I3gqxKyNNQXwkQpIiuWjTAg8+G2XJXTKzNogWTAPf5zUpb336kEgX02k+lGe3OVaT5rMj2fOYiD77VCg2QAcDlXiiiPysXA+xdbt2BZUOV4O4p3VaoHfic7cN45wtl3/vOzkYDzXBBiM4BsGr1tZ00rvjug8I67xFkMWZYvMLuD8jd4GvPtAqSQ4LkLGnZ6L021nXrCHNQdH+2MDr5b1S yXHKUGfH qTTGQBiHzVAqCBhXILw8Je4ByrqC5wMlRRAHadwPOBEXkurarSPDAGE/9x0C7J5gef+lbZI+ly6fNosTqNWvGz0WrvBTGWwpjsPGGqBiKYcWmzSntjYQpdXvQ6s2tmy4bw1R3ZzSsbq5z1BU0W8/0e8WHG4E/oB7zbCU1dsFkEw0uxRAr0Q/GQ7iIDoK1y6HYPEb9LhBXT1JdzeMXWD6I5dUuqfWcDUi3qHmS6GmqXPEBYk2Qr3hXCYYzb1TENJMNx5N4refjDQ/nkrDt9i6iggjGWpD3shk7HTpUrwhzIaJ+kHgkpdp6rdQt0A1cGQ2mLIHzpavZqBKZWonjvdwxVXQUu83FyhCJwJZTCxxLw0GkLdAruz4mldRUvTO71wwLT7ab+qOG3K8ad1Pi+KpmHV+250CAU2n8iWv4/bamG17asJjslbyD/N8FfL0ZOrc134U4nlpOWroeuf/FFK45Uyd7aLu957yXf26nD0kwT38c5pvFl3snGkt/l40aluxS5Bce53XcpU6ksckhz4WH6nae1WbmTIm31U5TFg7OLyOrpwRIUO+2O12XClaovJyVUuTq6ghJfENSISH2k7HWThQQ9J2pfYDgJAw8jDC4reRNRfDqSveaqt0WvbY2DZJXaS4W7Ms3r5TNDFVMBzS8Qgr6SqXte07o/ZsMTktMkh+le9i/KSce6ZGYRMKXIWjBZV827TPmQbj8CUmS3ghxqlPNZ9cqmDlC5mBiyeKUWvmzZYvw1TjEUOlI5oGNxefm5CCHgo4qzL4qW3s= 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 Wed, May 14, 2025 at 04:41:45PM -0700, Ackerley Tng wrote: > Query guest_memfd for private/shared status if those guest_memfds > track private/shared status. > > With this patch, Coco VMs can use guest_memfd for both shared and > private memory. If Coco VMs choose to use guest_memfd for both > shared and private memory, by creating guest_memfd with the > GUEST_MEMFD_FLAG_SUPPORT_SHARED flag, guest_memfd will be used to > provide the private/shared status of the memory, instead of > kvm->mem_attr_array. > > Change-Id: I8f23d7995c12242aa4e09ccf5ec19360e9c9ed83 > Signed-off-by: Ackerley Tng > --- > include/linux/kvm_host.h | 19 ++++++++++++------- > virt/kvm/guest_memfd.c | 22 ++++++++++++++++++++++ > 2 files changed, 34 insertions(+), 7 deletions(-) > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index b317392453a5..91279e05e010 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -2508,12 +2508,22 @@ static inline void kvm_prepare_memory_fault_exit(struct kvm_vcpu *vcpu, > } > > #ifdef CONFIG_KVM_GMEM_SHARED_MEM > + > bool kvm_gmem_memslot_supports_shared(const struct kvm_memory_slot *slot); > +bool kvm_gmem_is_private(struct kvm_memory_slot *slot, gfn_t gfn); > + > #else > + > static inline bool kvm_gmem_memslot_supports_shared(const struct kvm_memory_slot *slot) > { > return false; > } > + > +static inline bool kvm_gmem_is_private(struct kvm_memory_slot *slot, gfn_t gfn) > +{ > + return false; > +} > + > #endif /* CONFIG_KVM_GMEM_SHARED_MEM */ > > #ifdef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES > @@ -2544,13 +2554,8 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) > return false; > > slot = gfn_to_memslot(kvm, gfn); > - if (kvm_slot_has_gmem(slot) && kvm_gmem_memslot_supports_shared(slot)) { > - /* > - * For now, memslots only support in-place shared memory if the > - * host is allowed to mmap memory (i.e., non-Coco VMs). > - */ > - return false; > - } > + if (kvm_slot_has_gmem(slot) && kvm_gmem_memslot_supports_shared(slot)) > + return kvm_gmem_is_private(slot, gfn); When userspace gets an exit reason KVM_EXIT_MEMORY_FAULT, looks it needs to update both KVM memory attribute and gmem shareability, via two separate ioctls? > return kvm_get_memory_attributes(kvm, gfn) & KVM_MEMORY_ATTRIBUTE_PRIVATE; > } > diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c > index 6f6c4d298f8f..853e989bdcb2 100644 > --- a/virt/kvm/guest_memfd.c > +++ b/virt/kvm/guest_memfd.c > @@ -865,6 +865,28 @@ bool kvm_gmem_memslot_supports_shared(const struct kvm_memory_slot *slot) > } > EXPORT_SYMBOL_GPL(kvm_gmem_memslot_supports_shared); > > +bool kvm_gmem_is_private(struct kvm_memory_slot *slot, gfn_t gfn) > +{ > + struct inode *inode; > + struct file *file; > + pgoff_t index; > + bool ret; > + > + file = kvm_gmem_get_file(slot); > + if (!file) > + return false; > + > + index = kvm_gmem_get_index(slot, gfn); > + inode = file_inode(file); > + > + filemap_invalidate_lock_shared(inode->i_mapping); > + ret = kvm_gmem_shareability_get(inode, index) == SHAREABILITY_GUEST; > + filemap_invalidate_unlock_shared(inode->i_mapping); > + > + fput(file); > + return ret; > +} > + > #else > #define kvm_gmem_mmap NULL > #endif /* CONFIG_KVM_GMEM_SHARED_MEM */ > -- > 2.49.0.1045.g170613ef41-goog >