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 32BEBC71136 for ; Fri, 13 Jun 2025 00:56:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C472C6B0098; Thu, 12 Jun 2025 20:56:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BD1786B0099; Thu, 12 Jun 2025 20:56:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AB5EA6B009A; Thu, 12 Jun 2025 20:56:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8A8306B0098 for ; Thu, 12 Jun 2025 20:56:51 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0B7C559C07 for ; Fri, 13 Jun 2025 00:56:51 +0000 (UTC) X-FDA: 83548562622.19.EDF869C Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2080.outbound.protection.outlook.com [40.107.220.80]) by imf02.hostedemail.com (Postfix) with ESMTP id 2322E80009 for ; Fri, 13 Jun 2025 00:56:47 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=2K2bfTUX; dmarc=pass (policy=quarantine) header.from=amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf02.hostedemail.com: domain of Michael.Roth@amd.com designates 40.107.220.80 as permitted sender) smtp.mailfrom=Michael.Roth@amd.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749776208; 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=sylXUDhMR/lZnNcq0AeJVAD3BUXD5ZUf1tH0EXVDnJ8=; b=yPj+9nzDpfakCowTURq4whF6cZHn496cv+bvVWD8TnyY9n45J5Ogwzo0+Yyis6NRLV0Wvz Knn+7Ro669FofM5hl+EgFVL/TDjbYvlSOPcwxMxJdAHSilAiqbjrH702DGRxM5DQYkS9ZL VlsmtVr2Z1vCdh3av+WKOoNLPRgLrcs= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=2K2bfTUX; dmarc=pass (policy=quarantine) header.from=amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf02.hostedemail.com: domain of Michael.Roth@amd.com designates 40.107.220.80 as permitted sender) smtp.mailfrom=Michael.Roth@amd.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1749776208; a=rsa-sha256; cv=pass; b=G48EQuWJK0aZSuU0q/aBHt3KChP6TDdwg9c9MndYJs0/vzvugP2s89s4lwil9wWV9DugOa MxvdoLNTUa6As6ubmBhHdzGc5/7LsTaC1zB0E2Iu/iYXmhOf5vvjURenD6BWO0xKkjHhUc p980TWREf9JbmulRNk4s5dMvj8bpj3o= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BByjYdhnpTBshvtgKwM4iOhMsxmmA1BGNCBUySv4yYjZQuJvWV8v5ca6qTm9hNx/JskpKdIpx4kwyYOXzEvRy/Rg/MUTcElGnHmQ9UQI0IG9UMT3XBG7F21MS8q4mbHhjQz+jvkxy0ADUukw2Oo6WSdnu2I7oJzUyRUPxHOJpO/fqVAq8JXrh5n10k0NsOBV0kbJb5xtovs30925jowuSNeTKVvEfQd2JdyvhSDd5TgD8mGMPlBzvVo0j4IiPkOHbJnIn5oXHsB4BauGU25zNNDu606yZDD6RO/W0+Va5OOARSp/EbInpt751TwrQ/Kl+jTU9gEKe/5WrhEWf2vH4g== 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=sylXUDhMR/lZnNcq0AeJVAD3BUXD5ZUf1tH0EXVDnJ8=; b=A9mGDFDabu0qUJoAq+jhxgXAlhOKmk0pRETNKsQYq+LgnZ+df6eMi8m38e5LzneV3doNtW78BXLGKZFxRvLePkAiH46aHxQgOtHDf4qBANXBqnyob/fhcDNRgxFhZgjxEIqOwTtA/gz70JOJQuJCtZBnHtVwhHtqkvyJFj4vNnwAZIuJTJjwvEV6lKe4H5YLhhFrHqrCfJE3IjmKuK8QnIHKqWgsLnh7+55NCYOLFdtccno0DZPii6XEI3ksAIQXiy6P+e0kIgkTS6/tWEgq62ZKGzKUz0ZGfmNKOxZNpSZ/4TeyXlQo/P/NRPlrEwR9i9Frt9m6HUWTToDpfJj6xQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sylXUDhMR/lZnNcq0AeJVAD3BUXD5ZUf1tH0EXVDnJ8=; b=2K2bfTUXeflql7yEBc0fzmq3q+AzlcB0M5ZF1UuJ1UCNvOC2tjtQ8dBFNBDRNaLZFtu170lEY/Ns0qfFAd+jiJY0NOjYFJnoP6SberuUWWa4tXn1EgNr8Dx+ub0vOgcUsZj0qOSpKhQqfMOu1mp2wO5TBnQGA3Ng7Q8CV0sEEAQ= Received: from BY5PR20CA0007.namprd20.prod.outlook.com (2603:10b6:a03:1f4::20) by SJ5PPFF62310189.namprd12.prod.outlook.com (2603:10b6:a0f:fc02::9a9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.23; Fri, 13 Jun 2025 00:56:44 +0000 Received: from SJ5PEPF000001F0.namprd05.prod.outlook.com (2603:10b6:a03:1f4:cafe::4d) by BY5PR20CA0007.outlook.office365.com (2603:10b6:a03:1f4::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8835.25 via Frontend Transport; Fri, 13 Jun 2025 00:56:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ5PEPF000001F0.mail.protection.outlook.com (10.167.242.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8835.15 via Frontend Transport; Fri, 13 Jun 2025 00:56:44 +0000 Received: from localhost (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 12 Jun 2025 19:56:43 -0500 From: Michael Roth To: CC: , , , , , , , , , , , , , , , , Subject: [PATCH RFC v1 4/5] KVM: guest_memfd: Don't prepare shared folios Date: Thu, 12 Jun 2025 19:53:59 -0500 Message-ID: <20250613005400.3694904-5-michael.roth@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250613005400.3694904-1-michael.roth@amd.com> References: <20250613005400.3694904-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001F0:EE_|SJ5PPFF62310189:EE_ X-MS-Office365-Filtering-Correlation-Id: c24ce6ca-0add-41d6-fb9d-08ddaa152adb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FXmcCCuFeVt4C5KHOU/Nco6uDGWEJmMo69d5cTcZypPWrNvC/89MPvypWWXY?= =?us-ascii?Q?I4vw7Dvu4jQjE3W1a9HMjJfSYuBtdIhYeAyCeh2u968jRSrQvSUbLoiQD6lW?= =?us-ascii?Q?ZM5ZdKCPN2Jh3uMTyhnqrOV8gHFeCWBjpGIKG0EMotcdGmON6PQytphhh3XM?= =?us-ascii?Q?yTww0fdWewkwuPICAGK+I5bXPjRSUxe2HbRDCPU8IXnS/nybTr+SH37reUyy?= =?us-ascii?Q?lamcZv7cFOnuAtaiiWlT6uJ98Ye1o75nzX7piOCLuM44jNa9q03ns/Cjrpv+?= =?us-ascii?Q?/kj+LAYfHlBh+Er1R3+9B3eQbYMsgKzp/O44dNbBI31ktQKblptlCFhVJ3KI?= =?us-ascii?Q?YeRtsQpJKiY+5JJgUVSy4JUJElt0h9bjn+mu0Z4k51bKLYjS3Uyn+ObPM6B8?= =?us-ascii?Q?m3/QBvuMvO2Gbdg860vSODU0xkgXPpxP+lKjsUWr+QiHaIQarXfsiBLy6jz/?= =?us-ascii?Q?IUYuhFPgZfrAVl8QTp15cLanapLaoyVyEVu6qdsUBPStnc2hO00EpkhZQFUv?= =?us-ascii?Q?ux6zXx1Y7UEy7iekq1a3Saphw92Cef6uuAGkMeJaGgK6n0mXlE+GW1KCQVMo?= =?us-ascii?Q?UlDgzT9Q7OouQfPR9ZHFWnMFL1ziVSmQfNTLYrGffitHrdLCqDzFnLei86Q2?= =?us-ascii?Q?mxjJ8lwWajNs9fFg+iLCu+cGUDwFg8E3dckxV5yvANgOLNSMo2k6lrA3u8tj?= =?us-ascii?Q?Wjj1tF6/hFNPjmlcJ+93p9FN1nEUpH2LGXsENoo7QjkZQ9S+yRYRdMCD98nf?= =?us-ascii?Q?5RnHqfijKsqAsu2CCgURL0ZFPfzD+NxUNEJOmDKZVSHImzpDQY7aOMFcpArA?= =?us-ascii?Q?5x+Jbv5PjNhknSeMDguETqyT7oyNQ4+Nsex04lfPCcr6hkdlEREIqe8nXX+5?= =?us-ascii?Q?2EzPsVaOV1lN7k5WcM9V9kBTnrjWu3Rgz4qDWD97g19r+umI8vGdhI2kuP4C?= =?us-ascii?Q?NyrtRrlanotQGZwmw2bfsGFE4w36GCMNvCgEvlbJG71Q/mAqeHyKz0TKQkpu?= =?us-ascii?Q?hNaS70FQJcTlFJzy0CC7ErUX5Fk3KBGznbD+9YpyXPH37QfyiRQgUFaNx8Zw?= =?us-ascii?Q?img+9AJT9EL+3PxymryxJjS0i3hIA2gW8Vz92RmEHxiveF9O66Dq+voOLeYk?= =?us-ascii?Q?Pk/vXklzcidGUZll8JItC75T0qGcJ4UvORG70FeQB/rHXWaxnZ8FAAHe6G+L?= =?us-ascii?Q?krwbfYm1WymcciOIrEXE9yepWkT5ZHFHIxqonMAIQ/NSthRP2OXE3/Jqrvdk?= =?us-ascii?Q?Zz4X9XYTeKzId1n+rra8gjkqdiV5Pxv0hR3MuSZiMN4rMy1uynWbIvTQKD7h?= =?us-ascii?Q?l2Pa2+H+K6HeTlEW7VEx4M34xnQ6M5rogKxClPVi6+CSFam2i29RvEagTD15?= =?us-ascii?Q?LHXKPvXO7imnwo73CN0TSAx7KDT9dCf4ANERa3v0oMwz8waxuBnxLMw5g2UT?= =?us-ascii?Q?wsR7hoTXglKMj/hOxSPxOmimXU2P8ZglFReuAww71z/xuLAVat5KiM0io6Ep?= =?us-ascii?Q?Z6lsrmox4KrXXc1atCfD21ZU2s/P0HVmAYpM?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2025 00:56:44.5293 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c24ce6ca-0add-41d6-fb9d-08ddaa152adb X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001F0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFF62310189 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 2322E80009 X-Stat-Signature: zjy5grzmw1ts5ibxxbftobtzns9h5368 X-Rspam-User: X-HE-Tag: 1749776207-555118 X-HE-Meta: U2FsdGVkX18jriGH7mA6CKFnDRO2MBMbMcxb5hZqvvfWJJLsM4cdeJdcCktERwHSI28OWNmNQYqdx8xi72B9yelkyOi/4mjD4BUWlk2OdvvwrLJLKVblGzmnmtwsYc4VRBjUGX4JU9guRSne3lqOq56AYrivhcrWbhuJs19BwqV3FLeHh5aJUhzxfebdhFxXYj5lQvvpe8hhAx+fbBfZU4XQuUWhs1K++4OhuCNCeB0cpLzkllxToMo15gfHUKyQWto/LtqgTAQS9X3cYEya+KbMJVSXFHeqfZLscjY2d1lneuStKVVRGUWOZN4kMhh+T6/tCRXDst2FTdesn9UTfKltzGpXi9vlVdmyrdr6i3moAqVdN78jJMq93sZx84UtEjyaLEScv1Waw20+fxW5yU6AEariwubAYiNquMDzNeD+tGX5FYKFNl9OiYyvU6UW7WCzxbR5/x+Ju6W7STxYGm7zPfjH2I+YLmoWLE4vJZagxc34sZjB0z5FIUS5rt+H9gcimv/OKioc8l09jGFPw8jxCbzjGIlZoY42kppVaVyWkuEQ5Hqt08v9JxWdY0jwGAUUezrlwfvOmF8WDb7cTQByaj59GfcRcbN/ve/pTlNZAUpsomW8GNCKivUpR1oM+2tD1fixDKIiIRwWMssplJF4tvKMQKdCz5SSlbl7DoziVkQ1RH+1JVh8KEDzLGhomqQFec+dRCKD7bH6znnEzAFSoVn//YwzGCJFhDSZis1dRVsdwzk/dXhKqEemLgspm6W7yQLQTE9RCLh0119Sue39lBRFoUKdCI0NWc6G7BmaMGiGSxlsCbSGp8JGKPBqbTS3anIGzzBMQJxr76r9RTO+AmxoyFh1u7761x8NCCNqqw5DuqigX85NBW7D+SpruQ2bBwPD60tje88G5ftL1ErvqjE/VlSeouOQoX3c+kZBrY+Eq3aL2RUMZsODKXz0Ea5wN+S+utH3e67UISa qPWY2cJI 5UWgvW7pIV4tBs7oWm+oWTn4Bw5jz3UQFWwmsbQf81VkmokrtWY0vMxnwW3nuyUd1G5sD9lFaFjzvah/M8qgDAiGTHe+gMmCM0dbysv+YeaNcQ64TLXO6TrjdA+XWjQGg6XiA1OWh0FDl56TsMzAi2g1HkmRSGKiY0kKfoa0M/amhSGF7V7V+uU3FJ+33DT5bnVU8OZCb0dIum0/lCaRelL9OTwfuMuSypYt/tcdWIerUOptTgXrTMzb1Vd6ox1swAG6y3lbOYE0TABwiLrq2OST+yPP1FpmM5RwIzubt1UtOFWZqlL+yZn7LR7+Z5kzbhgw5DgLIKWyn0IDgng0BrEfTSA2zZDZmnnZO0FKMywox4ej35nDCktXS4YsEdP7dRqoR2dqSRZHHVYrs1x0zQDKxNYaiNfLc5KcwcNW41zC9WnGkr+F7Nk88AnPPZWS1N8dFZJKuZ/yWFeZRrPu3QMCUz+7uGx44FyEChv3KxgsoDv/zlSlKpIobdpataoKoEG58p3PoROblxQFA4GnncZdJFBXNIzFHR2hRp26PBOI/n5d3c9r5e3K2CDA8mUWQxNhyg/4pQO5spW+0IcRrKjJjSMYsMK1EymKzScly9FPZ2X2nDbLpuejUE8DUaONJrhe2xYVCGZNXqlybaN5ynRm82vpUcL+Ivv+0oeFbCXIt6LD3XTAp237kTw== 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: In the current guest_memfd logic, "preparation" is only used currently to describe the additional work of putting a guest_memfd page into an architecturally-defined "private" state, such as updating RMP table entries for SEV-SNP guests. As such, there's no input to the corresponding kvm_arch_gmem_prepare() hooks as to whether a page is being prepared/accessed as shared or as private, so "preparation" will end up being erroneously done on pages that were supposed to remain in a shared state. Rather than plumb through the additional information needed to distinguish between shared vs. private preparation, just continue to only do preparation on private pages, as was the case prior to support for GUEST_MEMFD_FLAG_SUPPORT_SHARED being introduced. Signed-off-by: Michael Roth --- virt/kvm/guest_memfd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c index f27e1f3962bb..a912b00776f1 100644 --- a/virt/kvm/guest_memfd.c +++ b/virt/kvm/guest_memfd.c @@ -1376,7 +1376,8 @@ int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot, folio_mark_uptodate(folio); } - r = kvm_gmem_prepare_folio(kvm, slot, gfn, folio); + if (kvm_gmem_shareability_get(file_inode(file), index) == SHAREABILITY_GUEST) + r = kvm_gmem_prepare_folio(kvm, slot, gfn, folio); folio_unlock(folio); -- 2.25.1