From nobody Sat May 30 11:18:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=citrix.com Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1779799284540321.7673921867822; Tue, 26 May 2026 05:41:24 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1319821.1587265 (Exim 4.92) (envelope-from ) id 1wRr5g-0004fW-EZ; Tue, 26 May 2026 12:41:00 +0000 Received: by outflank-mailman (output) from mailman id 1319821.1587265; Tue, 26 May 2026 12:41:00 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5g-0004fM-Br; Tue, 26 May 2026 12:41:00 +0000 Received: by outflank-mailman (input) for mailman id 1319821; Tue, 26 May 2026 12:40:59 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5e-0004ez-RY for xen-devel@lists.xenproject.org; Tue, 26 May 2026 12:40:58 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wRr5e-003dxT-7e for xen-devel@lists.xenproject.org; Tue, 26 May 2026 14:40:58 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a1594d7-e002-0a2a0a5209dd-0a2a450be716-6 for ; Tue, 26 May 2026 14:40:58 +0200 Received: from [40.93.194.29] (helo=SN4PR0501CU005.outbound.protection.outlook.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1) (envelope-from ) id 6a1594d8-212f-0a2a450b0019-285dc21d8874-3 for ; Tue, 26 May 2026 14:40:57 +0200 Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) by SJ0PR03MB7128.namprd03.prod.outlook.com (2603:10b6:a03:4e7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Tue, 26 May 2026 12:40:53 +0000 Received: from CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0048.019; Tue, 26 May 2026 12:40:53 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PklUqcutca3orV9sKL2JtB7bZBfySLrrMYfH5NCky0rOBExpX9LjPLnbOJ+E54FLBXYllwnDFiq/EAdiQsZ5/EO0D94Xw5E1PunYoibYB4I/ZyrN6Z0Idl6O50OKqnpIEUWkNTkiIDr26P3mrOB4V3uon4kASx6FKudn1KTXjWjA6+E7nBtArUiCfoiC1SNNDnK5mRduUgVnsdVGft2NAxZdcdNYomrribGnBJeWEali4/lsz3A1Ni+kBQ0Rg+LOKe/E6/m6BZVO4uMaNVjc9rWIGvw+FmtYyeXUJb7BX+UV9hWofohLlK+5sZCpBsirkru0ARn0B9P4dz2wfZovhQ== 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=sv/Y4EwXju23E48lt//vpB4H/fw+tt8XO+BDmxPLuYM=; b=h8Izpc5aQItdrjFV8Dmm2b1ZzFmmIuPbglTZbPDlEVtsIU4Yaq6ipMEj5AbLfqz8D1idLdFOckKxZJ0ETzyX7zqkaW8UyfUrTo6FO+9K8OSu+oPLXj2j6WOVk1uM2lIJQcCwt1STkHg02/k7M/b53MFmN8cYq0aQ4545knD6hYbDgWjrGbMIH0w/bk7HGJO2+R3O7ri/ywzZi+Bl0r4/uUN5QZxZXPBLx0kg+t9Ihvurpprfk+62yU1XehkNAVxjkOf8UMlgo65mJofhAwUC1rJACYDEemjt9Nin7xZmASPuH9ROK6HK2my1vPXnV35x12V4FdEKwEsK7uMWiJiLwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sv/Y4EwXju23E48lt//vpB4H/fw+tt8XO+BDmxPLuYM=; b=b0XfpjTh0MsqD8LKGu3kk4R5tCxkRxG+jcv3aUcPRL8q6uibLOlJymNftPx6faoSyGKnLQ6BQX2hEoddb20wE4ZTgN+X1DYsNNa0RD+cpmkacnbd06YTikZ2QObIlIsdKrzWZS7Pj1TGC16iiFRBUO2CLhiQNCP/Xu77KMKwP5w= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Ross Lagerwall To: xen-devel@lists.xenproject.org Cc: Ross Lagerwall , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Jason Andryuk , Teddy Astie Subject: [PATCH v1 1/6] nestedsvm: Fix CR3 MBZ check Date: Tue, 26 May 2026 13:40:22 +0100 Message-ID: <20260526124027.573412-2-ross.lagerwall@citrix.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260526124027.573412-1-ross.lagerwall@citrix.com> References: <20260526124027.573412-1-ross.lagerwall@citrix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0137.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:193::16) To CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|SJ0PR03MB7128:EE_ X-MS-Office365-Filtering-Correlation-Id: 5997556c-bde6-4c69-0138-08debb240657 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|11063799006|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: jyMjjIS4xdyJfayBCgN5iX4ToNs28nFEzdFVGkRymFbxGlqewwUNZVl+cL+gKK8eua08j2pqm2+nrzgmMu7PeFtugMwaIVjCTewjP7Jo91RAmmro5Kc3xylB03CIPpG7G3EWSmc5U/UgE2td180JvIrWk1nZJh6Ql8W354/VcYJSju2hTLtELgtOkWguT01JVJDFEYChhGr2c6rOMhqeyiseqME+fUScrQg1eGfHIQvFJnojz6Qitsbwl071JHoj6an9k9ik7+eqgWyUv8lp6+BNH2yjYIR30Bw0KJpi1EKVoBwwbw4mHrayhyI+4ahim+mI+E+uu/MPilxGUFB/edP6gyScw38ZCz5QSdrthf4+gR4rfjVeMhhWdpdRwYeubu8Xe2B0ExeXCIP49ZRX2J/9P5No5sbdmXq0KP7PpQHKt7/Q4Eiw4cIVsLK7G+weHGKWeVH/+Cm3mWze0QuoO6e6KBjNVOOQ50MBPUXgDEXwH/VbbAmN7OPjTWBxtBpRCwDeQKAa56aeqgkyt3G0HxapehwAYPLMC5AaptQMP8d5bqApR3GKY/RK++vNO8L+dbTSOAyDdOX6qbusKFGArmb8pI9FGaQ9GoH0g/5eXoLzKi1kA7uwRWIYdbkUekfMHAcQFuNiAu3dQsg6GPeAESCLxLAb+75+1dUJz7FaNWh51VUq5LO8CYPDmSr5dkrL X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(11063799006)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Dl5SprOFAqCnahMOWjF5Ic8Nc8LyIOGR58sG6F4nZEf06UdTVKrv5v/50MAT?= =?us-ascii?Q?6/ie1WjNo7L0LxJlyk/GaZR36TXFxVknsB+UsOPgeyrHmOF+rL3ZliQJ6ywl?= =?us-ascii?Q?oZcUmaACrVpzhPzLSMLhfs131I/WXyxz1mlMqFEqK0y0jL5e0B+n4Hubaru/?= =?us-ascii?Q?AWInu0BLaVMXciQD5Vi3dCF+CfNTGrQw/0iiHmBDeJ4PSmOVjfFreBzbrhib?= =?us-ascii?Q?dPR4or1B5iAIThy1Gb2JHD8K4SA9YA/aED4T2xz5p9BspD1Z6dzF5z/Igbwa?= =?us-ascii?Q?fuF+AMzN66bAMF0zQHRmrMpgf2iUxkGDHAA+aBMWbvQ+rg+wDfN7c8MF9CHs?= =?us-ascii?Q?ID/K8j5ZCbxtEvr2CqI64MAIgF1lbb5XLI0RKvG1crGH/YUvbXzd+9PEHXJ8?= =?us-ascii?Q?F3jVeiQV0BIGRwZ+PUePzjQToQSHC9lEOJDhRwDDmXV1Ej/9HtNDw78YlUuU?= =?us-ascii?Q?83HguOWiAGKtTzj3V6+J6ZhpU6BB8REuMbIWCDdW2HVbsIdGMK+98JQNvR5a?= =?us-ascii?Q?wwzXpIp5U3PPm+NGqHa2xQUtPCvFRtntDQaQRQkDj2jm4J7bMRL2EyTSk5Ke?= =?us-ascii?Q?TucHt3c7mnTcU4NhPU0oGaR8L5FplBKt16uEA9G8wZVkpEQSTskK7/bFTvwj?= =?us-ascii?Q?S+5F4hkuUmrSXJ7jDLA1sqGY8AXcqYw7sgNSQtf/0NYtVfD5M0d3LHjLxOru?= =?us-ascii?Q?qARpIsaLiD9hM7TBTDd74Hk34T+ilECj4WQVpmaAaH/RKt9T5QMRUmZRmOss?= =?us-ascii?Q?2ZICP80eQsVbMIbCnfBe907Zpe9f+kGSU/70AvK53zr+V3m2GEnzl+DGnPbp?= =?us-ascii?Q?5IoClCXwwwHPYC6f18DNANhwo8hKtBlVGhHMtdeWC3ZtfpUrhzVjhsKdBZ5s?= =?us-ascii?Q?fF2Xjp9ifsOdk4Nlp4w+BsjKT2D2dypaYBVIJ4DcxgFukaSD65knKlMdDdLM?= =?us-ascii?Q?M5ws2wkIms+084c2m/6JnY9/bxfMZEAQY8QTuvG7eZ057jOAEJy31YbqiChg?= =?us-ascii?Q?+qXnlfrmQ2C8Hh3LSwYWu/ss52b0T8/aZ8hPBpknVkuOX8JhWoWaZgZ/0Utj?= =?us-ascii?Q?/peYIHM1B/dzvLnOEtkSMEwx7e4jqLF9K6KZiD/tTm2WrgnaAuOkm7+2L2h5?= =?us-ascii?Q?yuHLrCcyeMYdPUQAxXVJR/XopVLay4mBAOgzHBaP6EmgPV6fc6/U7K5ld9v5?= =?us-ascii?Q?2iErfwxcTmWq4vT9H9Q6dGdaT1N0/cXyxQwdLbdgH9wSwO64XMnbxdPcPq1/?= =?us-ascii?Q?wQF74zK9HwXC6Z9GDEN/+ahEiVfMUB1tgjthCMPpp/Jf4KJdiHxbT9psZzrB?= =?us-ascii?Q?glWKd+4Ur8axCCdxGuWVKnmFMBBQwdQrk0GUNRXE+zzsqBMjYOrEzhlFuTpB?= =?us-ascii?Q?UEJh/LJkRq1a7zYlVggbUr7mEtjcOQxy2eURyqdvTWFELiGw7cdrvMp3Bbpq?= =?us-ascii?Q?jdSbm/ZWVQ+u9CZ8HlEajWbQOBLqQQTb+I1RHnydZukzL04SBgF2dEGmDw8I?= =?us-ascii?Q?RnZnRnlguorirbRSVgh1ugNi2Imv+9sYc7l8MB3xWPxL+PDJxmNf8rL4IMBm?= =?us-ascii?Q?gqTuLZJ6xiQ7MWgz4y29081Yig2EPDNXlkrErF0dTnQ9HmAa31Yuo6T6knbX?= =?us-ascii?Q?BfLHE/aIAjWh0ZvDALBL2ue4RhIQ0Lx8Z4kmSxBkjWq5k6yBfpNlejPguZs5?= =?us-ascii?Q?de3Onw8Eoa9b2TuDDoUilwOL7p3pRQ/bHlTHfWFWV5dWXJ6I7a5qhu9Zxnnk?= =?us-ascii?Q?cglYGp60EcHEhpsGY7i7Dq4TMjFsnzg=3D?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5997556c-bde6-4c69-0138-08debb240657 X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2026 12:40:53.3316 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 12HP3vTnGghJrlZMQrHwBk2ty9rW3Wlr3mMsv/w7ALKFh79x+eL+0lSq64EZDyTiZLFbm9ic4KtVpzPGb1sTalT/H/ljvEKRJv7yX/FtZZY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7128 X-purgate-ID: tlsNG-42698a/1779799258-1AD77F3B-4C585748/0/0 X-purgate-type: clean X-purgate-size: 1263 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1779799286513154100 Content-Type: text/plain; charset="utf-8" The existing code checks for any reserved bit set while the APM only considers it invalid if an MBZ bit is set. Relax the check to match the APM and hardware. Some of the reserved bits were observed to be set running Rocky Linux 10.1 on Xen on Xen. Fixes: 9a779e4fc161 ("Implement SVM specific part for Nested Virtualization= ") Signed-off-by: Ross Lagerwall --- xen/arch/x86/hvm/svm/vmcb.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c index 975a1eaef806..9ada491e57db 100644 --- a/xen/arch/x86/hvm/svm/vmcb.c +++ b/xen/arch/x86/hvm/svm/vmcb.c @@ -347,10 +347,8 @@ bool svm_vmcb_isvalid( PRINTF("CR0: bits [63:32] are not zero (%#"PRIx64")\n", cr0); =20 if ( (cr0 & X86_CR0_PG) && - ((cr3 & 7) || - ((!(cr4 & X86_CR4_PAE) || (efer & EFER_LMA)) && (cr3 & 0xfe0)) || - ((efer & EFER_LMA) && - (cr3 >> v->domain->arch.cpuid->extd.maxphysaddr))) ) + ((efer & EFER_LMA) && + (cr3 >> v->domain->arch.cpuid->extd.maxphysaddr)) ) PRINTF("CR3: MBZ bits are set (%#"PRIx64")\n", cr3); =20 valid =3D hvm_cr4_guest_valid_bits(v->domain); --=20 2.53.0 From nobody Sat May 30 11:18:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=citrix.com Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1779799290117123.12931075412519; Tue, 26 May 2026 05:41:30 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1319822.1587275 (Exim 4.92) (envelope-from ) id 1wRr5i-0004tO-MB; Tue, 26 May 2026 12:41:02 +0000 Received: by outflank-mailman (output) from mailman id 1319822.1587275; Tue, 26 May 2026 12:41:02 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5i-0004tE-Ih; Tue, 26 May 2026 12:41:02 +0000 Received: by outflank-mailman (input) for mailman id 1319822; Tue, 26 May 2026 12:41:00 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5g-0004hF-O4 for xen-devel@lists.xenproject.org; Tue, 26 May 2026 12:41:00 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wRr5g-003dxT-3x for xen-devel@lists.xenproject.org; Tue, 26 May 2026 14:41:00 +0200 Received: from [10.42.69.10] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a1594da-e002-0a2a0a5209dd-0a2a450a8828-8 for ; Tue, 26 May 2026 14:41:00 +0200 Received: from [40.93.194.14] (helo=SN4PR0501CU005.outbound.protection.outlook.com) by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1) (envelope-from ) id 6a1594da-56b3-0a2a450a0019-285dc20e9618-3 for ; Tue, 26 May 2026 14:40:59 +0200 Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) by SJ0PR03MB7128.namprd03.prod.outlook.com (2603:10b6:a03:4e7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Tue, 26 May 2026 12:40:56 +0000 Received: from CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0048.019; Tue, 26 May 2026 12:40:56 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EEOkTT6pq7FLlYfKxLIa88/mHRGsxUc3Ek2dqbjtuFBVBbBDa66kEnrhQhX5u4GH2BkmOP84WIJUYcxPpKQWIpQX9VrAA/tq455HnvBPoO6LoHunFsoRH0YyOLD1y1Gm/bY218RCkpbgfVVrcwPW2hMpUxlfMxSqHBJ6lj5hZVKDfM6j2md/+0VbvuZG0qogVhbPixF+bqKK7MiMb+pVe3O5+i8z+hCXVvk+8Y4hUy7e1NyPPmnxdutjEm29WHD4Gk2jE+l9ja//cYx5jELB/llIvgkw4Sh44DM6ueOZMaDyEssnHdY2JrP7G3dYUWUXxpC8M1Ig1OugV3lw7Hyx7Q== 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=GX+1TOnlCGkHWbfkqlqcLqEwDZoZkQlvgzLo/cb85NU=; b=IszNPlSq+YJ/Fc7HcXzZ9gcdCZ4qi5W2dG/Sy9QpD1FpFFx8SLVLCpoBBELrFkkfxJPe0eotvazl6NOEfSb/ptqwtMV7SQmxtM57kObl9dQkDB2a4sbs9YK64gNM76P1rrGj2ndQA7pdPLpbBdaU4Qsbq+ND/i4JbNUC+OGanrXn3dyS2AE1g+lzkA0+bvp1+nGssnj2DgpoRIB8R7TdRML14w13w+9G1eC1uh9HdPmMyBzbP6P2z7NMqjgOcpcg8lJt1gigOhfHRFviu+35iWh8UkFJfsPljvvTntP9i09l0ZDZDMVkLEXYG7moK9fcOh/cLSM5TkPV8ZFQ/nzJSA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GX+1TOnlCGkHWbfkqlqcLqEwDZoZkQlvgzLo/cb85NU=; b=EzvFcPoXH1Ygd0NBjCVYqm42hZgtubfK/ogHjmWjw39EGttohjuUSOGlEpHd9iciYxTWVihLeQFqy/423L2REqEgmzWWSaTVlN9AHQyNnoWd4v/XZYfGnLeGFm2x5HhsmYIL8E5nHhzidfRwwSq5uuzwiWcrBG/mAXO4Gt2NG3k= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Ross Lagerwall To: xen-devel@lists.xenproject.org Cc: Ross Lagerwall , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Jason Andryuk , Teddy Astie Subject: [PATCH v1 2/6] nestedsvm: Adjust L2's DR intercept when adjusting L1 Date: Tue, 26 May 2026 13:40:23 +0100 Message-ID: <20260526124027.573412-3-ross.lagerwall@citrix.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260526124027.573412-1-ross.lagerwall@citrix.com> References: <20260526124027.573412-1-ross.lagerwall@citrix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0365.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18e::10) To CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|SJ0PR03MB7128:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b4c0d73-dbbc-4551-e90a-08debb240867 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|3023799007|6133799003|11063799006|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: n4JLV41MmolSKU4N8Oef0JYHVBpL+KUW7+CvNa3nhzeUVDmGe5mwqkocCG1BaAJFR+jacb47yoNmoXVmbI9oDIDRljlIcWF6DmoMEMk9xQCY7CdRezfX0hqi2rYt5YvfmN1t1RaFust+uCMgoYRqZxROrgraiHrDg35+aNvrQNzsqQqJtsA+w8rPDYNZChwnNxUlGP8dbFhl+yDB/4BMMffdzctzmxJYumW3Qqh7v5zz/2gIxqFlR0vE1GoPxuAxDWkpgBs8cwTLz6v5FPuYttnP5V7BvQewlGBNneFoUYeEZiKUXBnh/2/wrpZjMNHRnX7072gmaNDTepRNm9rWmf2Lk/5I5oitEENEhNPqTRLe5AqMJfoyqu9W+pVUOjUX8JxgcMxRCOOejG3kWrGdDrr8itinYC7e583kvka4Plbne1Rdx9ybXqoRvqFBRGHLu06C3ZtcFl+oaom42iiWKw0YcPV6/cBJxnePqmnyKpbxSDja9I2vrn4rLfptcMGRwinm+NL9uPxW3bb1elMu/xsaf6C0iZ5TPd3uPdA4NiP0o4WtpyM+6atSFd2UgviMu59I1oSn01UYmwkMSj2/8hrPDQIiDfatxgwwcMR7K/ON6zTZ88gtbkeLDJL0IghGLPMq208kXVK/ZrUdrWTAKZyqnhxR2rn07knX+Il8o9tfMvo+94x/wxZhBHum00aO X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(3023799007)(6133799003)(11063799006)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?eKgjhetw2Jxup0K5BX4qlVL97XhGII10rTmFyjuUiGn1BtOZ/H+qh7Ck/FVV?= =?us-ascii?Q?Q1jHhlRh69pHfZLXUTU3AVe30jZkJVSBU51D99Kk+Rl0vUL5rfM2ZkeKIz6x?= =?us-ascii?Q?zLRrA4qB4Z/6zXipXUtyksvPVsa488LdAdv+UgJktMfvGk/U4g1en6rKitS5?= =?us-ascii?Q?XiBJgveqJbvgF1vCgLZsUe6djO3fIT5OiXtyw7AI2uEcWjg2bJSk5fF2sDBk?= =?us-ascii?Q?7yC4wnT4NYwHjkocJkVMWBatJru9SXG6kF5Y/9QZMxyq5VUuBHgCehugcEP5?= =?us-ascii?Q?U77YDkubdkbPjHRCJMEp/kLCtb4sFQCDat+JM5Mry2JTOihdQDVrxkIEbbDq?= =?us-ascii?Q?D7H2FmfnyRzB6TusJ8Q9aN7uRDio6redflwOTzlAtPmfqCUGy1kU2syQrQ4q?= =?us-ascii?Q?Kk08Iqsn7G/ctdbjkyTl7wpxiPvSSXEcGzYkLf0+gRttWuVxn2mdQDwg6kau?= =?us-ascii?Q?yuoRVRNn2qiZQb0z2SzVwfgTzttqW9jzPVKVEVKiQh3yb6eUkN0utPhIEFkN?= =?us-ascii?Q?31qzJU1iJbc4FUNNXNlP7mdUkwOVbn8BA1dHnknOmTM+/bX1F7X5IBmz6bfG?= =?us-ascii?Q?oMeYeQ4P2g9vtdKgmzYERrToq94HiiCLjS9j/7REwCWR0kkgpxG6wPUieZp9?= =?us-ascii?Q?+u1O8suvQvlDvNjia4v8epZMWKZasZdB0XXLnMOh7G866wXPy/I/henryJum?= =?us-ascii?Q?WJNChSbz8SW+Hd6r/95LPY3452SI5vlXM36wnU2sgDQ5XS1a6H766+Yr+pca?= =?us-ascii?Q?dGCv2dGwvbL8nx6DoR+yVnl0l0phYdQwdwycgTRxA+Kh6KYTCFNz2uxgcs8Y?= =?us-ascii?Q?1xCDYqg8sSsAiL8e8PluXzzfRQHtPTfiX4z1wk4Jx8Z32uGmpdl5TwRLbSj6?= =?us-ascii?Q?XqwycHXzlBk6Qx6H216r8vuZ5SW0bFoyUNC74s2oVE/vfExumZgMSVreLI+Z?= =?us-ascii?Q?As2rQv0aAIWSnPX+AY1BLDTbPL/90oYPLD69VDdzuTDRwhgQfMAxdc2/Tona?= =?us-ascii?Q?Cr+dM55MYiQRTmKL4EI3KwojcxCmGCeXbwtCiDKo/aVc6s7Skh6itXG+QYhY?= =?us-ascii?Q?CXcvlcfL8Isp03j/L049RS9pyMYpSn6YfkF4K+wEZMs6iP2CKe3hD2Eus0mN?= =?us-ascii?Q?vFKnG9+t5jCesq/4NmHcZuomkocvhIxo4FhB1gZqTw2AFAkF+ws4H8vCVeDx?= =?us-ascii?Q?Nl3/VJdjnKcH3muEeAYbKLhJwOa4wKCUwD9Yp7WREEeRMhkvY1RWJGJlD5LV?= =?us-ascii?Q?3g0ACZct75l7N75yF8J0p6mwQSLNOb0SogXksB/1Mlf2kGC2viPTLLhQvzD7?= =?us-ascii?Q?UxROZ+jvdkt+5FZps/CFjLi/eW6ognhRwAmtgRzp2N0e2ih9eiRAcDjhbV6T?= =?us-ascii?Q?yyKcbFyIFk7aulj6IrB8W/g5Dzpa7/wP/7RrYmISgDO4cJbpI4X2H0qu4OqQ?= =?us-ascii?Q?8qvD2m+BvoYoG7uX4E9CJtOtZ8Z7eGtauKwrENhQqKG83yBqA9MELLzjHYMS?= =?us-ascii?Q?OF9ww370bW2ZUR882uwxmRDvoZH59S5LR4uR7FLHhfdtdKi3NaREB3qPEhXV?= =?us-ascii?Q?rsSOq6E3bwDdBrWlGvd8Rlx5uy0Gc/AD6HV4THqFSFJdigUL1YaLlcOjHcXu?= =?us-ascii?Q?2GmzFe3MAKk9yna8+r/2iS56LvNt/jiFIxqU0MrF2H2yBQL1zpZahAlS9nUq?= =?us-ascii?Q?lcLmVe9W7/0KLMHXCC0v6ZC4Kf5Whr/9b1iHRsIKc5ihI9ASlALN3dy/tFDG?= =?us-ascii?Q?BYXgJOX0rncA3UpC2z0w3JgnYokQ0mw=3D?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b4c0d73-dbbc-4551-e90a-08debb240867 X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2026 12:40:56.8055 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: og/J39pXI3v2f9b/IB9ONXepoFnNf010a3hRH/4PWJb/0J1lEGEcyFy+dkyohPEcYQQYbjSxksr1QJcEfltFGsTkAaymquSWeY7hXhZdkS8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7128 X-purgate-ID: tlsNG-4011c0/1779799260-71D688B7-7224FBCB/0/0 X-purgate-type: clean X-purgate-size: 1157 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1779799292280158500 Content-Type: text/plain; charset="utf-8" If L2 accesses a debug register (like reading DR7) without L1 intercepting it, it locks up the vCPU. L0 intercepts VMEXIT_DR7_READ, which disables the intercept for L1 and then restarts L2 which re-executes the instruction and then this repeats indefinitely. Disable the intercept for the current VMCB if in guest mode to reflect what would happen if the VMCB were recreated via nsvm_vmcb_prepare4vmrun(). Fixes: a59a7be91b61 ("nestedsvm: fix DRn handling") Signed-off-by: Ross Lagerwall --- xen/arch/x86/hvm/svm/svm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 49fcdd906cf8..209edcba321a 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -1657,6 +1657,8 @@ static void svm_dr_access(struct vcpu *v, struct cpu_= user_regs *regs) =20 TRACE(TRC_HVM_DR_WRITE); __restore_debug_registers(vmcb, v); + if ( nestedhvm_enabled(v->domain) && nestedhvm_vcpu_in_guestmode(v) ) + vmcb_set_dr_intercepts(v->arch.hvm.svm.vmcb, 0); } =20 static int cf_check svm_msr_read_intercept( --=20 2.53.0 From nobody Sat May 30 11:18:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=citrix.com Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1779799288017859.0545750806394; Tue, 26 May 2026 05:41:28 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1319823.1587283 (Exim 4.92) (envelope-from ) id 1wRr5m-00059P-1l; Tue, 26 May 2026 12:41:06 +0000 Received: by outflank-mailman (output) from mailman id 1319823.1587283; Tue, 26 May 2026 12:41:06 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5l-00059I-VD; Tue, 26 May 2026 12:41:05 +0000 Received: by outflank-mailman (input) for mailman id 1319823; Tue, 26 May 2026 12:41:05 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5l-00058d-Bw for xen-devel@lists.xenproject.org; Tue, 26 May 2026 12:41:05 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wRr5k-00ClXI-OC for xen-devel@lists.xenproject.org; Tue, 26 May 2026 14:41:04 +0200 Received: from [10.42.69.5] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a1594d7-bab6-0a2a0a5309dd-0a2a4505e7ba-34 for ; Tue, 26 May 2026 14:41:04 +0200 Received: from [40.93.194.56] (helo=SN4PR0501CU005.outbound.protection.outlook.com) by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1) (envelope-from ) id 6a1594de-aaa8-0a2a45050019-285dc2381ef9-3 for ; Tue, 26 May 2026 14:41:04 +0200 Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) by SJ0PR03MB7128.namprd03.prod.outlook.com (2603:10b6:a03:4e7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Tue, 26 May 2026 12:41:01 +0000 Received: from CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0048.019; Tue, 26 May 2026 12:41:01 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DX4hnhIhUMzH5xJYI8n4exErVPF2hrtHGzSLqRW4LBf1UwpFR4Jq+Kbg8cEmLC4xOt2l2FgekUo+iYSTk/nxrh+0qsF4PlNmDsadgOgznxmsCA8SrFfFym3z1i+rVR1/1R/vLYpGoGoFFfuiqTxNpuQdZ//qSnLtXWxsyHRQxMn6IcwoZmhMUutqlUAzdm6Kx58QYQCTELKw0NomZvurFJJPuCsEyCOmtl9pxU1HSnBz62mfKHzeZPFkd59A5k0pkz/H58uwbaultan2nLTjJDahdv2QZtQas5sN1dlKcefy2RBZ//hZeU5WCG6MZfbE/LWe++RZsUY/vjHR06D3mQ== 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=LWMikWuNE1CofULtcpk66E7js8YBw9GYbEL8d8M+Jwk=; b=BKFBD70v8EQ92fjfcn8JRNVi8LhSHWv3xbhYQ+2XRA4Qvv3ymjf0D0fMq+1W00cZ59UDo+7O2/HqnXghp9E6c9Klt1yMI/5q+OLsi1OZaSAkhKPrLLG0TnL2kbeKhTxnestUE4m1eHNUAXoD0CDooeDbl4qAinbNxQ4zjrsGSvy14kLOf17mVUD6AYLxoYN0W5xhxcWMaAEhHsVErz8RgzLAioSvGWCLr9SIth4MhKpYfDU4e7sfQyg+iKcgwBzwpf6T4kckaAUkUXYVemCQnHynmpUs0jQflPJAIbOrdDcwczaR03gPhOAik/7t+3CqKY103yv1dW1coocPzLu77Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LWMikWuNE1CofULtcpk66E7js8YBw9GYbEL8d8M+Jwk=; b=mg2IEcZmmSw2ZsRxO9Ak050kZC948GIhcluM2gCc26Wh1Ugle2LayEYH8ttaIsTbKbp/jfU2mPp+7bnXADHAiCRRTIMugIu3a0SDnIA4ImcTRe6i7QwayBI8UU29jU8e92eQ7KVucv3V0h9JILHec/uwxjuRWM8OgInNPWpMwzo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Ross Lagerwall To: xen-devel@lists.xenproject.org Cc: Ross Lagerwall , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Jason Andryuk , Teddy Astie Subject: [PATCH v1 3/6] nestedsvm: Use the correct VMCB for vGIF Date: Tue, 26 May 2026 13:40:24 +0100 Message-ID: <20260526124027.573412-4-ross.lagerwall@citrix.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260526124027.573412-1-ross.lagerwall@citrix.com> References: <20260526124027.573412-1-ross.lagerwall@citrix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0368.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18e::13) To CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|SJ0PR03MB7128:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b7efee9-8faa-4788-cdcd-08debb240ae3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|11063799006|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: jx1QlFg6BU3KPd6wIcPxLg/EsPngwF32BXKTTXtR0mzXORvPb4n8pff8yz/TMiYBwXoMdbovPcGbrLUGINnHhj0QA0ppiYQYfYDHN+VCWPDfnuQf2KswQrtR9fLb8077Vq0J29+JKrsQlrFE9/+hnDpc78MQssRmltPaANct4uYQBmOTwH6vodbF9q7KbQ4meiuInlR1XuJVz3K3T1FBK3jSvXzDreAqv/Bdk3cF9VPPbhn5JYpiFB2jMG/Eyg1j2w4OyL9TsQKtJrX9Kd+/T7ZYL+R1CgnySeyiHxZofK1Eb5okqxzD06D6ZZ8PiTW1T8dtv9LB91bYhoEHJlgDqOXHFKJsvq2F2RxW08R5KP6N9GEQ7WFZ9GcYrSLidVceit/wO1WN+T6hd05ucw0q/DpA9weyozN6KXkB+/FQHv/FOfpIm/m4J7LUgWgkfRkt8sp9ENLAZk8KJG5uoUW47qvtRaPBkeCySt98QO9aJ2CWa+qYroLLl78BhsEHkW1aZPDmS8chzILtIMPLYD8PPIV2EcSu/4HlBYHSWrjq6fpDEXrbLJY8WUzyrtjio6NiCQ7YTXQtAVxAo0DELC3mUxxi7i9amWIJWMjD/H56jzdLcj5Af4E3bldM926zrw6PrVZVJgjcflsfUcnYtKFnhr7GjuVIP0+/MHlIHKsvK0fI8AMaHfPmifUb2tTUeDXg X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(11063799006)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fwAcbmN2pp5v9cDEwIAm5DqZhytA5zwBeir5nqiuEOW0e+D3zwH9hzrbrvFC?= =?us-ascii?Q?U2++nKvdotopu+YKnBZN5n9NiMYgV8j3RamoAgwOAYGlBFkeDXJMG5at2w+p?= =?us-ascii?Q?alYFp0VSkplGLAC5gVqW7jfPW4lmmb+1ydS0bSm6ENJRnXdoJwy8tRlEBor3?= =?us-ascii?Q?Kv2NBs9ggziN4diEUxondbNmTcFRIMwN+qqU+s+vfX9JJHvXIpGsKekRvlqs?= =?us-ascii?Q?cPY3yGQZicD92YgB4qfgNtsTNGZm24icsgPC5L3nrQ+aEjF7f0YSGF6AxBuU?= =?us-ascii?Q?xk9mdZbAWlOvloJAgVFJL+vQgx0zxuOg8wkrXSRiEuTAj/vLzicvibyTMRMy?= =?us-ascii?Q?TuJ54jBUFeCiyWaCJlSpXF7+5izxkvasyHEJp0J+CBl8Of9O/AE5kZfO7uDd?= =?us-ascii?Q?uiS/cRRsUV1Gvzaea9O+uf4juTyKNuOAYvOIFvqpll3eaXRXP8yjQIbXq8qf?= =?us-ascii?Q?tp0YOCuh7yjmKU7Qpr4NsBsiR4lOwxB1rpK/TwxMdubTyzLssjV3LbuFb/WM?= =?us-ascii?Q?2uGvN34ynybE80lzx2ojHfTvbLd7uKCFr7p6yXV9D7qUinNrSMGMsPrVrz/6?= =?us-ascii?Q?MPSHcHBGQdGtrxcyTxsUhNf4c7NiExOArjWL6I0LHmp+wcGxMlMQoZHnG8aV?= =?us-ascii?Q?6FYIJkLf4YzNWHNDDuSpEF/5o6KizYiQsSJcPnYoq0gfRBydQ0Q0uxTZJkXt?= =?us-ascii?Q?V9pGBxDn1khwUju9BA9wMAKbld3/ZhQm7BzMdCheg5AsbpsPmSIiOPQs1dhG?= =?us-ascii?Q?6HSCsenNxpVYHBsPpMIpOg7d/CXcuzI6O2dgGkU0J6tpbqlYiegqv6rDPbPy?= =?us-ascii?Q?NYhpDquY4EFyNEQ7+BcZemt66Pjx8X3kwN9Bu+Xj9G3LEwBkWA/aEMNpftEV?= =?us-ascii?Q?J9jyQOMng7ul4FhYVN0soJbLavi3iIELZzVoV2hDcLLq3mjr/Fxr9E6vslNJ?= =?us-ascii?Q?8MvkPBHLgdIMx/vDuP45AZ5YtZh0x6O3FXvnOTrBUS5lwDnAIKSY4FC9CsWV?= =?us-ascii?Q?TjDaiwHypLRWldh1LRb6fvclvsCwrBmMeGzK+KrKpjG7y47dsg+9QnKYG4cQ?= =?us-ascii?Q?sH9RQud837ERYWeQPsN9jfh64/ziigMOHwXWXhlFhz/Y/FTYe1KxG+Q2YJx0?= =?us-ascii?Q?MoH1m8/uC6gGZp2igpSqaM+uLC3ErFEjBgztvgldO9YihskORteqAxWbG09V?= =?us-ascii?Q?l8pDp8LXiU2k/aAlzZJ2RBODQ784TzD5UzgYhT9T5DQWfT1JWES8hcFpo4uQ?= =?us-ascii?Q?ieQMJWXSLS0mFQEW2xRXSOu7sJknCer6Lo+MpSGWZxG+Z1QWd5dxbCQX0wRm?= =?us-ascii?Q?oTWZ1/I9in76odia5PebBtY3a2SGXjtH+EK04a9CDpHBH1ssdEV3dxTvEENt?= =?us-ascii?Q?mwRwGCg0i5By5ybLANR+2N6ca9mTpZs8guYhiv5CsWM7xsJSX3AanttzyjfS?= =?us-ascii?Q?lQTgS2SGEFJBaJLKwcrAPH18bR+9h+0h0XTcTX5RKOg8OsYYHP/Jpbfn6Wga?= =?us-ascii?Q?l/w4qFXHM5AAHs+G0OpBFSv2f2WsSwlU/fPSpBbRimSODFwpnKalDCd/Kx7z?= =?us-ascii?Q?OsCreXz8GzYANuZqt4gpLUP6UDozm98Kpzwa/xfE0HxV52JoN0wfVci2LIFr?= =?us-ascii?Q?VrtqWCze5geT/GXd3lkX+EXIrKDnfoR6U90NKxwsSjOca00qos+CUP1LJkWT?= =?us-ascii?Q?97k4BsGepPKWpCQ2NPCEzqe048mxGl8UKiOsbMSSHqblzmyf0aZwQi71YAc6?= =?us-ascii?Q?G2wVaCjhNsDOF2m+xR5bA0W9eyEKrI4=3D?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b7efee9-8faa-4788-cdcd-08debb240ae3 X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2026 12:41:01.0668 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Yf2tge2yOi2dLbQSe9IrtUHIMagP0Zrx6gCGiSdeWl+fcHb0vUdAasqV7f4UHQ/jP8YzS27HwXo7CACEl/GhdjpCYgWwE9F7GKjZBVzwDQQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7128 X-purgate-ID: tlsNG-c201ff/1779799264-DA76A443-5B74A907/0/0 X-purgate-type: clean X-purgate-size: 1908 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1779799288409158500 Content-Type: text/plain; charset="utf-8" In some cases, Xen uses the current VMCB to check/change the state of vGIF but the current VMCB might be VMCB(0-2). Adjust the cases to use VMCB(1) instead. L0 may use vGIF to speed up L1 but whether L2 uses vGIF is the L1 hypervisor's choice and L0 should never need to check/change it. Fixes: 4cd0fad64590 ("x86/svm: Add virtual GIF support") Fixes: 05bb1116b8c1 ("x86/svm: update VGIF support") Signed-off-by: Ross Lagerwall --- xen/arch/x86/hvm/svm/nestedsvm.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nested= svm.c index 9899cb2147b1..dca07d27d923 100644 --- a/xen/arch/x86/hvm/svm/nestedsvm.c +++ b/xen/arch/x86/hvm/svm/nestedsvm.c @@ -1193,10 +1193,11 @@ nestedsvm_vmexit_defer(struct vcpu *v, uint64_t exitcode, uint64_t exitinfo1, uint64_t exitinfo2) { struct nestedsvm *svm =3D &vcpu_nestedsvm(v); - struct vmcb_struct *vmcb =3D v->arch.hvm.svm.vmcb; + struct nestedvcpu *nv =3D &vcpu_nestedhvm(v); + struct vmcb_struct *n1vmcb =3D nv->nv_n1vmcx; =20 - if ( vmcb->_vintr.fields.vgif_enable ) - vmcb->_vintr.fields.vgif =3D 0; + if ( n1vmcb->_vintr.fields.vgif_enable ) + n1vmcb->_vintr.fields.vgif =3D 0; else svm->ns_gif =3D 0; =20 @@ -1460,11 +1461,12 @@ bool nestedsvm_gif_isset(struct vcpu *v) { struct nestedsvm *svm =3D &vcpu_nestedsvm(v); - struct vmcb_struct *vmcb =3D v->arch.hvm.svm.vmcb; + struct nestedvcpu *nv =3D &vcpu_nestedhvm(v); + struct vmcb_struct *n1vmcb =3D nv->nv_n1vmcx; =20 /* get the vmcb gif value if using vgif */ - if ( vmcb->_vintr.fields.vgif_enable ) - return vmcb->_vintr.fields.vgif; + if ( n1vmcb->_vintr.fields.vgif_enable ) + return n1vmcb->_vintr.fields.vgif; else return svm->ns_gif; } --=20 2.53.0 From nobody Sat May 30 11:18:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=citrix.com Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 177979928999364.5957492596176; Tue, 26 May 2026 05:41:29 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1319825.1587294 (Exim 4.92) (envelope-from ) id 1wRr5q-0005Sn-Bd; Tue, 26 May 2026 12:41:10 +0000 Received: by outflank-mailman (output) from mailman id 1319825.1587294; Tue, 26 May 2026 12:41:10 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5q-0005Se-6S; Tue, 26 May 2026 12:41:10 +0000 Received: by outflank-mailman (input) for mailman id 1319825; Tue, 26 May 2026 12:41:08 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5o-0005QT-QR for xen-devel@lists.xenproject.org; Tue, 26 May 2026 12:41:08 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wRr5o-00GcAj-6G for xen-devel@lists.xenproject.org; Tue, 26 May 2026 14:41:08 +0200 Received: from [10.42.69.9] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a1594de-2eae-0a2a0a5409dd-0a2a45098b5e-22 for ; Tue, 26 May 2026 14:41:08 +0200 Received: from [40.107.201.37] (helo=CH4PR04CU002.outbound.protection.outlook.com) by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1) (envelope-from ) id 6a1594e2-2497-0a2a45090019-286bc92566b8-3 for ; Tue, 26 May 2026 14:41:07 +0200 Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) by SJ0PR03MB7128.namprd03.prod.outlook.com (2603:10b6:a03:4e7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Tue, 26 May 2026 12:41:04 +0000 Received: from CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0048.019; Tue, 26 May 2026 12:41:04 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Op0gFC2V2eld7JPhwXkzp6y+LZFytW8eSyBzdDXTm6Qhwy2S/v23u8TPk5vBs82PYLZdodiTPJtA1KomSR0NU20o3QUDkf1IliWMgew2AVWfIF4FM2pL8kzzl9EvEA923BkahKUiV2vU0VHqBJjowPXQlBJUK8L7LhHLYJIjmDVb608RuxT2tsIFuQ5UJn3jpgCJH4PtPp0mZSq52+QIb9761liuSupbKyMZ+DtL87ThqGKCUBwtjyyILZzQL/bIJQEVJY/T9yEm4ZoN0MDCLi7rLW7004FkhxsqCIFq1VH5X5u8QWgPE0CHXWRAYdBIlWHe3tW4QYVhJ2iESltHNA== 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=spydKjB3Jw/7++KbEizvwyVUj7TxzOpGw0J0LXRy+Sc=; b=JfSnWBZpdzxeUKDwnG93MN+MAG7GKPoWK8rTx76rup5IZgqDKNQyG/2ppan2OeTbWebsz7CneKZ4aTz+LDcXnv/5VxnhnQB3JuOXVidcrCpzdSYmv5PzKFjFGGBLEjaR5KvfH09MAzJORUIBQKRmiSJlqdAi5qG4QkTFAvqVtPMSMQfG7egtQft5HPWI/eLoMyGfjnsuwLgPypsUcXdHwwdMJDXnSPVkGJg4AV94NN6xCzPpgPRo4wb5tG6m3d0BzrK1kuxVh1NRCM3ETip02meJYszGhwoStKcacKcf0KsAqNmqhyjsLOHhfHO0a5nASEXEl8+iLRZNY420lpN5zw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=spydKjB3Jw/7++KbEizvwyVUj7TxzOpGw0J0LXRy+Sc=; b=eXPzIysh6evTQGFjWMu3TvDAaBy9HruCPDHgviLIQTGnuZwe7cruagynirbom6HOvX1Loo6W4aQuDkqaiiPJCGaKBAnzAP9iev7PzX+6NQRNLBLFPFC08enHa3UUSUSTTxx6MR7O13Jg5zbhLCKcf5TXeJIp+fx80BZsU+RxpTI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Ross Lagerwall To: xen-devel@lists.xenproject.org Cc: Ross Lagerwall , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Jason Andryuk , Teddy Astie Subject: [PATCH v1 4/6] nestedsvm: Set GIF during VMRUN if vGIF is enabled Date: Tue, 26 May 2026 13:40:25 +0100 Message-ID: <20260526124027.573412-5-ross.lagerwall@citrix.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260526124027.573412-1-ross.lagerwall@citrix.com> References: <20260526124027.573412-1-ross.lagerwall@citrix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0370.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18e::15) To CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|SJ0PR03MB7128:EE_ X-MS-Office365-Filtering-Correlation-Id: fdd43961-d9f4-44a1-7366-08debb240ce5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|11063799006|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: Zk5R5fyxfCVFvSrQ7A496NvMsyYFXRva6rZBhWOdl/VjRlB6dB71LqYmJ6UF4QxOB8YmgjbepdVdDga+EmVUmNqPOwMbwKDqROyNjQh8EBfQhg8cHej6tJwAT1gktAwBoXEU6F3/fvW5Nq92CyxJtTiV8ON32AxvYfC63oSxwt6xJucPcQ8alJgnnLd5MvCOeG5ZGgfpzaOnRBQLjBbTrJjHwvKZTqIISSVEGQ4rFmev8kF4lC7GsZ4D3SVs8gEDdkh00OZtxvS/EgSiQCVJ+sFm7xqXTiSCnLZwKQ2xhOyzFkN8BR+b1eN5gLd03dnoLaHq8KnvhyvauCe5OxhT1DplptrKhcHCxKveeSlbchRfNGJ79zD4f8RfvYrsv0llEWkEo/iAWKTbfhGgdUPPzIMawuAvyvPLR+a0kUfVK/zb09rr/83mprNnAmC3nnIeV48Ele6LP1nqATf8aLldi2w4u3tN/YxVOExaFaShtYq2LfC+BShVw+A+OrcWsr+3asNPK4LbiZkkH9/70J73qJfpxYeA8dh62D8uYYZevo/h6lxICWr63LYxz5E8hjFCZaXU3ghe1wPD5kR9SPvN4pQmoyNLPqFACONTYpxdku4Xw9CNqDi5vgm2jowZ+vf5eoDWQg9R8kJM4kGxqIxh9EOOdyzjYggeZceMFBSWl3/btD30FnbUq2EHB/G822Cc X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(11063799006)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uZGPRHuZSKuKsUaz0vnzK3g1KJPj37gNuIzMnGw9Z/EL57WjWHsiJXoJjv88?= =?us-ascii?Q?LeIBf91lMJ6Rjz/mJHAIKuUpC0OJF7cJ13KyFMPfZ2Kd5G5zFVMkXAZ0cl8p?= =?us-ascii?Q?mRVPjJkI0ARysepkRGoamhPk3IK3VsBo0MRxxOwdEy2vcCUKBE0Kkrdp0wHp?= =?us-ascii?Q?4PmmwAzdQJcvYBQQLTDj5qRdvD2wpgAKaBW9dXa6IengcCwwhHSGm1hTsOlB?= =?us-ascii?Q?J46se0CPe92dXOD1X0KF/NcsfaHxFVFznKWYgPRjQtWQcz7j/d77EKq9Eq8w?= =?us-ascii?Q?5wZrobZoC5bbwUth5k+AXQueNs5/oOVv+XlPjTq9DyGzqfyFBL+GglI/SYEX?= =?us-ascii?Q?MPWeIGoSZQAV1VKNNs+Go6t/MTtlMuqlSVqBcXIeqPPJuxznO4ps8RhlSPDI?= =?us-ascii?Q?FuSHGkCfzfozoI0q12p+TBUSoq2EE0nXA6rp688RwIBH3jMfcCJtZrv/KpPJ?= =?us-ascii?Q?1Q5jKAffdA+wbdcD40syPeDJVh60FRx6j2ayMD+4dQ2cJz2Y0oflDR6oKf5n?= =?us-ascii?Q?dFe6u/lBhhovvXEjfUr+N2r+tcTvoaiXga0oDC8Af/ZkjV9aGBLaTtMQnNAH?= =?us-ascii?Q?m0hfJO2wYVlOmZpNDAM4QAKvn3C+aWhFyUil04xxu8iG7XMZA5C9vGUecquZ?= =?us-ascii?Q?IrU9CJ3JobvnHWX5WzY6RXBGPldxeJbHILxWOfSwpuOuS6TYPC3mMpFI9GzY?= =?us-ascii?Q?UuTx3Zc4Omw6okzC6/R6M6X+3ScDw93TYMJomh/9HLpuPHOiCnMfsINir+iZ?= =?us-ascii?Q?IgcmLl6RZapKOx68ox6o5+ohoVnYl+8o5vsC028Swjx3OWzDHLw5FLcyydRp?= =?us-ascii?Q?OneqH338jAIRSHSYu9Ack/hIyOXDnz7nKA8bj0U9HUu7IQ5aqT+ecWoZ0tbB?= =?us-ascii?Q?PBk20Pd7sgfNNp3dtyp7ZMgVe8PDhXdrvQD6MHmE1OK/gdgfPlcK0hFMyTSR?= =?us-ascii?Q?dLNVuJm7Xc0F8XrKUI0ifTSNtz3xgX6UF37v/ep1siDlsFPnAyVi65I45HzQ?= =?us-ascii?Q?vzcbp0jagz1eJHlBajfXEiybOoTJ3hdJPmNa1JAiZs1TkeiAkf27LDAL+OoZ?= =?us-ascii?Q?Twy5fZ9zTnPWUDp81upMfZkVv1Vnx+U9QAry4YZUtQ8BqTYVvCVsW9YSYfoA?= =?us-ascii?Q?aBQQLo5w1r9M+4VYGBqNHip/ofgJef4dW6MTCduP+DXYnB1qYjlJHcQtGX/K?= =?us-ascii?Q?rxt1hSGsZNVoct3iCNRB+EoCRgGsDvSdFPX2JsB6yC6vnJok6zxuLPHcrllL?= =?us-ascii?Q?Q91n6KnhEygx3bpK+gXF7Q1xtK3H4w5RSGTeH5tFIYpVlnP7ZdsGRETUJv8Z?= =?us-ascii?Q?lf2Jq59yQ4xJp7fT/7J1xJoa2pesEFzyXSaMH89+h2TFLKTPufl014kQaD7K?= =?us-ascii?Q?a/NO2+qpfpxKiK+MH1RVAbKH6DT0qttQ/AfXst22iiir/lScLzdKKjA5Kgv1?= =?us-ascii?Q?QCC0GRQrZEgNRtLpf3moc7jAdNqDCTkSftiQBpSruN7YhuDg0eq/lEl75gZM?= =?us-ascii?Q?28/gyWjBonVpHPRnTF6sQDRFvyKhlYd/BIhAtJAuE+qhihIfLTMF1KN9n6Nr?= =?us-ascii?Q?QMRUVYc/QxTqjTcz/d5+fc8UoDYTM/uemQJLDffI546xyqBQqoIFDfuQu67W?= =?us-ascii?Q?DPYYSDZxaxm9IC4/LA6qqbLhMp0gmzknMHu1ptzQmVpqJqxOUXt9S6xXO+i4?= =?us-ascii?Q?tkYEBFyuqqJsrNV0AZ7l1oV0m2b2AM3krtqRcR1SigaeLSuznrcurG2cSCeu?= =?us-ascii?Q?Xrw50+YoQnTzqxB+U+nUlkLWxD+Dzx4=3D?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: fdd43961-d9f4-44a1-7366-08debb240ce5 X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2026 12:41:04.3441 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KvOYQ/oDE6tm1SIh/h5Y4ntS1RVjHKC+IMCsY2wGK2PFw2Tv/GQbEpIemCDmIjf03yOte6zGtieOHcKK7j9PCKVFJ9DlQZLFm+kxh5QV+UI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7128 X-purgate-ID: tlsNG-bad1c0/1779799268-4216DA53-2F6BB9B7/0/0 X-purgate-type: clean X-purgate-size: 1403 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1779799292123154100 Content-Type: text/plain; charset="utf-8" During a VMRUN, the GIF is set by the processor so when Xen emulates VMRUN, it should set the flag too. This was already handled for !vGIF so handle it for the vGIF case too. Fixes: 4cd0fad64590 ("x86/svm: Add virtual GIF support") Signed-off-by: Ross Lagerwall --- xen/arch/x86/hvm/svm/nestedsvm.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nested= svm.c index dca07d27d923..9b0bd0358ce4 100644 --- a/xen/arch/x86/hvm/svm/nestedsvm.c +++ b/xen/arch/x86/hvm/svm/nestedsvm.c @@ -603,10 +603,12 @@ nsvm_vcpu_vmentry(struct vcpu *v, struct cpu_user_reg= s *regs, int ret; struct nestedvcpu *nv =3D &vcpu_nestedhvm(v); struct nestedsvm *svm =3D &vcpu_nestedsvm(v); - struct vmcb_struct *ns_vmcb; + struct vmcb_struct *ns_vmcb, *n1vmcb; =20 ns_vmcb =3D nv->nv_vvmcx; + n1vmcb =3D nv->nv_n1vmcx; ASSERT(ns_vmcb !=3D NULL); + ASSERT(n1vmcb !=3D NULL); ASSERT(nv->nv_n2vmcx !=3D NULL); ASSERT(nv->nv_n2vmcx_pa !=3D INVALID_PADDR); =20 @@ -651,7 +653,10 @@ nsvm_vcpu_vmentry(struct vcpu *v, struct cpu_user_regs= *regs, return ret; } =20 - svm->ns_gif =3D 1; + if ( n1vmcb->_vintr.fields.vgif_enable ) + n1vmcb->_vintr.fields.vgif =3D 1; + else + svm->ns_gif =3D 1; return 0; } =20 --=20 2.53.0 From nobody Sat May 30 11:18:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=citrix.com Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1779799299581909.5567791284591; Tue, 26 May 2026 05:41:39 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1319830.1587302 (Exim 4.92) (envelope-from ) id 1wRr5w-0005sr-HA; Tue, 26 May 2026 12:41:16 +0000 Received: by outflank-mailman (output) from mailman id 1319830.1587302; Tue, 26 May 2026 12:41:16 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5w-0005sg-Dx; Tue, 26 May 2026 12:41:16 +0000 Received: by outflank-mailman (input) for mailman id 1319830; Tue, 26 May 2026 12:41:15 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5v-0005ov-6h for xen-devel@lists.xenproject.org; Tue, 26 May 2026 12:41:15 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wRr5u-00GcEL-IX for xen-devel@lists.xenproject.org; Tue, 26 May 2026 14:41:14 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a1594ea-2eae-0a2a0a5409dd-0a2a450b9066-4 for ; Tue, 26 May 2026 14:41:14 +0200 Received: from [52.101.53.69] (helo=BL0PR03CU003.outbound.protection.outlook.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1) (envelope-from ) id 6a1594e9-212f-0a2a450b0019-346535456a8e-3 for ; Tue, 26 May 2026 14:41:14 +0200 Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) by SJ0PR03MB7128.namprd03.prod.outlook.com (2603:10b6:a03:4e7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Tue, 26 May 2026 12:41:10 +0000 Received: from CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0048.019; Tue, 26 May 2026 12:41:10 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R9QAoA8C8icv+fF3q9bO60ggwTkR0KX2i4+rCy+Z+2yYz2iZOYowEuVONKpXmor2+CZEEbcb5LgoO9bbkRQsZ6t5PJINIkJWgbNu/ji/V9G4Uvkv5Lj5lYp1lfxQY14z5aVIeCwrUbwvwpRgoAyC9EMTsvvYqknlkk8KJHgNQ5nGEwH7ZoUCZ0oqSxwqYhc8bCEUZDw1PjEUTD7b5YB0YQKjoSDkDZk59YOoK03UFAF9kyG8tmv94ayce2TnRE83Wzgg0esnqmwxD5icxkmIpmKjFrID227v65SD6XveoRwzpbCW7mdXEEg/4MA95bXhszPUprNXscb1gdn+dA1EuQ== 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=25QH8/n9RskB/SU6v5MzQTSD7KovvwReHF70/x5KgoE=; b=eMNho1IzcLpU4yXk3e7JxdB1PqmIEjGavOKoSpFyCdajV2AkbdUyCO2Bs5pOkTdL+2vWAaKlNHNCc7H+EWKRyR/q9i96QFou8j+4CMQfjAQaV24+ysK4/taSX7Cag7tGMdrsA1u5dEE87LjklZPilnLOl5ImnLUIrXksVLwGltrrywOuxyehQIWI6hScTSBogzNzzJIL5qSX8uCetW2aXnc/2R5CoQTNSNGUc2t7FQxwn1ugI/7aXh5Cqiatgy+azDqy7VNznTg4YWK/z3Kzek+3ts+AkXT8aX1izT7txlJioBMWgZ1C4H7CFZHRsYaEr+bQg1Uq2Tzrtysc2YIAIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=25QH8/n9RskB/SU6v5MzQTSD7KovvwReHF70/x5KgoE=; b=AGqvjTmTlt0DI+El3GQLPivpKGc+npYNMfT2RUez/VQIio7ynfvvHUc5oP4XQwejqe5RmH7/NzGtCbIFM/E88ELRV9cgznf6XU4PboYyhM3lDKij4Dr/UFYzgtQ13vsw9kj1lAAuQZI4saKArfV7S+16JJQfchKoRU1YevI2vzc= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Ross Lagerwall To: xen-devel@lists.xenproject.org Cc: Ross Lagerwall , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Jason Andryuk , Teddy Astie Subject: [PATCH v1 5/6] nestedsvm: Fix deferred event injection Date: Tue, 26 May 2026 13:40:26 +0100 Message-ID: <20260526124027.573412-6-ross.lagerwall@citrix.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260526124027.573412-1-ross.lagerwall@citrix.com> References: <20260526124027.573412-1-ross.lagerwall@citrix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0156.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:188::17) To CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|SJ0PR03MB7128:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b2ffef9-16e7-4a1d-d881-08debb24107a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|11063799006|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: 7bjLD9P9S9cA4mFHwXUGRJGYlsyjLDNI1+8d9JpyRrD70s4RJZfnhyqAN7f6tPo9FxQeBLs/hp1SGe6VfIHU9gF0goXLiyhqgc2ctC5Ztwgcrf3F0C4Jq/ZMDq5AGB8MfwA5dbhhSv771FqIz+9QX6qkHk1wcPNDc8yJgFy1Mk+HlJmJhDowP0u8Ev87kHe8vCRmsHuDBd73Vr+9QIQqhBmFmeMJGUdhXkGeLGPI/ByRCgUqRpG1RPKtstjrYAuFLdxeZhkPtz6coyRF2Kb4K1zgtuYnmOw2gBXVlqiDrYJV8Mu9ET4D/YQakTfvSwVU4WBambDtuCBDoJK2jCzZHfleNPUEJ2VLFmJD7W6WgCu6S4cno1yEttCrVDRTSlzTrEKShZzK82ZJixkyjobelMdUzyteHVte64rPu4Dd1OIEMJY5/95C21b2HDJtS5FuVro67V5USXnl29Iqernt2uywY5nVFHhx9CwwWihf8DPV2/k9zmSvDN45Rnoh1Rjz+Joj+w2hXSqJ+YsNL5PQXFe/SO417mxeL4oCnjWQJeAd6hYKZvRnuq2Efh6q5USObeXYfQfCibeuDvy2uSJBFQ8mBJ4AexfmEUFzq2ooCJxIBKv2EWCWDFaP/Atkp1MuuitXHGmhGGStPSSg8eRp5RGo8FxtoxID+QAFzVmdH662lZsnJa+n/FDnA+Xn+J2r X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(11063799006)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JuxzMGDp4q6b9b0vZfThD5sA4LM18YUwq6tkNUYiu7siS6guKPIRvbzhLAK0?= =?us-ascii?Q?hIVZ48iR6USskpZTls0cG3UPcIjw9IUtUbsR/pvgIKWDkqIVK1m5SlDlljYe?= =?us-ascii?Q?dEywudHpUmn6RwSkH+Ch5Nj3mfloOJrj7hLJbi8ItLVdYDKSPrsSZTgXUuri?= =?us-ascii?Q?IbYKEHGgaN+nVJPqiaOtnWmysmPVhmkrUM5UW3baiOUjp/CPB3kds9tPzecI?= =?us-ascii?Q?2rL3pDkNYVVg5s8balWQvwl6cyClsDpQxLbvFjOZUUOI62JsY3QqdzefMC26?= =?us-ascii?Q?Hf4bnMObd64IUYCxbgXQz9m6cktvz4JiKpgC5a2osktGuQvD4T1RmYYiUqKw?= =?us-ascii?Q?Lu3zVkpIc4e4cyIvhV/v5vjfeIM7LiqHEDLvk49JnsaHTlSfF4+Rdz+I++f0?= =?us-ascii?Q?bzSg5sSAomqjTJxpc0PUbpIIwvw6k/y7g98iRpaEnBCXCALNEla+Of1BRwL8?= =?us-ascii?Q?ve5x8u7P1SNIc6ASx9ORr7vibjxybJ2YlH8BCyVssm1hyN/4dFgVb9MuHwZR?= =?us-ascii?Q?rT4Zd8qOeEg1jUvDGivZXIjIHLoTfXCZMj5rlh/j5NHdZM82IV7lICiI3byH?= =?us-ascii?Q?dEEaa7jac023BpHBTgjES5ta0biW/7DvQSWxp+8bsZcZDRUPNMw2B2nhZBxE?= =?us-ascii?Q?WJLNo8fsPiTBLC41XR0MTU74r2Ypa2waqW33aCh/aeVG9vUkS6qMktYYElRB?= =?us-ascii?Q?VOtMw9nR161weLNiVESODibqvoMKJ8BUeyDS2H6/waeWJsmESH47UNaIEZdv?= =?us-ascii?Q?8BENtQ5Ch+A4gQWk96s8INnXIlzR1dPxTI8vFdEtL9LxfQNJnFH1eskGVy95?= =?us-ascii?Q?ZU8+Vs9FFVggQvyJGi99geomhefKDjfMWbtwRVWmq5iREil/vEwT0HBoOae6?= =?us-ascii?Q?2ZRgulNmj7TBpBoU1G5qM5O46LBjBWhUpOQeBYq4+U368Lk+AuOi27yKS14a?= =?us-ascii?Q?SErcqJFn5cFmrm37uOcJe7ADh+yksMwYhEfBBPRjzg+u4KM5IB4Wocdyi006?= =?us-ascii?Q?FcSLhW1Wo7jeWiP2QzSAFBs2DakZNZ9f0tfCBlFNPnxhoM/bsZjMMYOxJrCF?= =?us-ascii?Q?mZiTxGFhMHqbsUkyk1uF4X2kc/JzWpt3Evev0Ym2aAPzcMisB6/UCxtOc+u3?= =?us-ascii?Q?gBVmU4W3oaiUr8fjdapvFIdTFYSWQY5BvIOvM1jJ/5fakOENtuJAoRl2rFG6?= =?us-ascii?Q?Bewaaf9vIbGyT5B5tpFS1nSX62MQZoaKpB+ZfCY3xoTL2eeZVwf+ewHinu6b?= =?us-ascii?Q?ynnv/IZB1Dxjxvhwnz10FryDt+K+c/Kwd9QtD2xr26ShUmSCmMNoZUJlexUD?= =?us-ascii?Q?8Smd3mu4ssa+qzUH2o02itI0angOEjdnOdSHNXEpL6RQTVufjfs5x9HcxljQ?= =?us-ascii?Q?bRryX4a8yZERsC1mo8FkoTVD8ugBRYk6S0NRHR4sP25hfiL27Wrv+hqzxmZ2?= =?us-ascii?Q?xd7uRKxtN17opiclfIVM5Y9fEnZ4zRbvGzUX74AesVsQiOxmcYOsu+LrCSoj?= =?us-ascii?Q?YrkmTCIfwSRRcS6q8jGe6+L6wPiyAPsl6Q9erdtuGL7fwkc1X7Uv/OZWwILq?= =?us-ascii?Q?dZ9MuHrhZZ/8xacQfCN73l15ct1G8akXBRhIlAj/VXj1nlxBj0i8Kvph6C3F?= =?us-ascii?Q?Fmuu49LhTPwT5QeLHCkPELfWqwPm9xIyv8EIUkbUtF6sMeOMcMxlD4jIdogD?= =?us-ascii?Q?JWNDlQW54ncO89XoQ6orrRfniCC4rm8s5wG3u05ZAuji+Cyvmw73Jx8q7ZMB?= =?us-ascii?Q?7Wcf51WemWYIBgC796UBp1ifvlrXJik=3D?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b2ffef9-16e7-4a1d-d881-08debb24107a X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2026 12:41:10.4510 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: h7Nj47CG2kyYwg0g7HWXtL/Vkpd2WLL6sCsSyV10QiZVhN+97GFc63cHSst7YCdtim/bITYv/LVcO/4ArxzvVjgIIBNQjad0b9IJT/eY5oY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7128 X-purgate-ID: tlsNG-42698a/1779799274-2007BF3B-B9CA4688/0/0 X-purgate-type: clean X-purgate-size: 3554 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1779799300383158500 Content-Type: text/plain; charset="utf-8" If an event for L1 occurs while L2 is running, Xen should inject VMEXIT_INTR and the event into L1. nestedsvm_vcpu_interrupt() and nestedsvm_vmexit_defer() set this up to be handled later by nsvm_vcpu_vmexit_inject() after the switch back to L1. However, the code there appears to be bogus and completely ignores the source/vector set up in the first place. Fix this by using the values to properly inject the event. Fixes: 9a779e4fc161 ("Implement SVM specific part for Nested Virtualization= ") Signed-off-by: Ross Lagerwall --- xen/arch/x86/hvm/svm/intr.c | 4 ++-- xen/arch/x86/hvm/svm/nestedsvm.c | 22 ++++++++++++++++++---- xen/arch/x86/hvm/svm/svm.h | 3 +++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c index cf0621d2f628..8914375b6c21 100644 --- a/xen/arch/x86/hvm/svm/intr.c +++ b/xen/arch/x86/hvm/svm/intr.c @@ -55,7 +55,7 @@ static void svm_inject_nmi(struct vcpu *v) vmcb, general1_intercepts | GENERAL1_INTERCEPT_IRET); } =20 -static void svm_inject_extint(struct vcpu *v, int vector) +void svm_inject_extint(struct vcpu *v, int vector) { struct vmcb_struct *vmcb =3D v->arch.hvm.svm.vmcb; intinfo_t event; @@ -69,7 +69,7 @@ static void svm_inject_extint(struct vcpu *v, int vector) vmcb->event_inj =3D event; } =20 -static void svm_enable_intr_window(struct vcpu *v, struct hvm_intack intac= k) +void svm_enable_intr_window(struct vcpu *v, struct hvm_intack intack) { struct vmcb_struct *vmcb =3D v->arch.hvm.svm.vmcb; uint32_t general1_intercepts =3D vmcb_get_general1_intercepts(vmcb); diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nested= svm.c index 9b0bd0358ce4..d4fd838ca0b6 100644 --- a/xen/arch/x86/hvm/svm/nestedsvm.c +++ b/xen/arch/x86/hvm/svm/nestedsvm.c @@ -733,11 +733,25 @@ nsvm_vcpu_vmexit_inject(struct vcpu *v, struct cpu_us= er_regs *regs, switch ( exitcode ) { case VMEXIT_INTR: - if ( unlikely(ns_vmcb->event_inj.v) && nv->nv_vmentry_pending = && - hvm_event_needs_reinjection(ns_vmcb->event_inj.type, - ns_vmcb->event_inj.vector) ) - ns_vmcb->exit_int_info =3D ns_vmcb->event_inj; + { + struct hvm_intack intack =3D { + .source =3D svm->ns_vmexit.exitinfo1, + .vector =3D svm->ns_vmexit.exitinfo2 + }; + + /* See the comment in svm_intr_assist() for why this is necess= ary */ + if ( unlikely(vmcb->event_inj.v) || + hvm_interrupt_blocked(v, intack) ) + { + svm_enable_intr_window(v, intack); + break; + } + + svm_inject_extint(v, intack.vector); + pt_intr_post(v, intack); break; + } + case VMEXIT_EXCEPTION_PF: ns_vmcb->_cr2 =3D ns_vmcb->ei.exc.cr2; fallthrough; diff --git a/xen/arch/x86/hvm/svm/svm.h b/xen/arch/x86/hvm/svm/svm.h index cfa411ad5ae1..186e0905967c 100644 --- a/xen/arch/x86/hvm/svm/svm.h +++ b/xen/arch/x86/hvm/svm/svm.h @@ -95,6 +95,9 @@ enum vmcb_sync_state { =20 void svm_sync_vmcb(struct vcpu *v, enum vmcb_sync_state new_state); =20 +void svm_inject_extint(struct vcpu *v, int vector); +void svm_enable_intr_window(struct vcpu *v, struct hvm_intack intack); + #endif /* __X86_HVM_SVM_SVM_PRIV_H__ */ =20 /* --=20 2.53.0 From nobody Sat May 30 11:18:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=citrix.com Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1779799298944946.7719326841337; Tue, 26 May 2026 05:41:38 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1319835.1587311 (Exim 4.92) (envelope-from ) id 1wRr60-0006Is-0P; Tue, 26 May 2026 12:41:20 +0000 Received: by outflank-mailman (output) from mailman id 1319835.1587311; Tue, 26 May 2026 12:41:19 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5z-0006Ih-SF; Tue, 26 May 2026 12:41:19 +0000 Received: by outflank-mailman (input) for mailman id 1319835; Tue, 26 May 2026 12:41:18 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wRr5y-0006E2-Ia for xen-devel@lists.xenproject.org; Tue, 26 May 2026 12:41:18 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wRr5x-00GcHe-UZ for xen-devel@lists.xenproject.org; Tue, 26 May 2026 14:41:17 +0200 Received: from [10.42.69.4] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a1594e1-2eae-0a2a0a5409dd-0a2a4504c02e-40 for ; Tue, 26 May 2026 14:41:17 +0200 Received: from [40.93.194.33] (helo=SN4PR0501CU005.outbound.protection.outlook.com) by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1) (envelope-from ) id 6a1594ec-1dec-0a2a45040019-285dc2215851-3 for ; Tue, 26 May 2026 14:41:17 +0200 Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) by SJ0PR03MB7128.namprd03.prod.outlook.com (2603:10b6:a03:4e7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Tue, 26 May 2026 12:41:14 +0000 Received: from CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0048.019; Tue, 26 May 2026 12:41:14 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AMNwPw6Wh1L3irFcfTAMRSniApzFzrb+G7QrhcNyl4XvIfheVnvz7iR6eY3+qoEcyiYULzJ2k1/4q5DpOaGTYdgO5mnlVkJf2WhaS9ipBjbbjcrOfbkpB67u38a8R/797Q9IlOXxGiBC68LokXtz2dmIPw7u0JHMWgRUEnH4liYnCYsMtEf9ILmmRMUvWEntht83j/tQOzyVtQmbZbmWaHETnx9YiTNTIgSF58hASlK2316j8bvV1Zs7LZi9Fb9Ql0JVv2ksWAet9zMewA+tQX5R0bzDbTXB3b45TK2kM22eGAgJ/TFt2brRWmkMeCMrwWi6f96PJbjFGL2e/d0OLg== 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=m6q4xOqMf7DWj9QDMbGFMqw094yOSXyRHKf8SQZEleY=; b=it6JOBZ5HqtKo75mHdDgdQKtYTtBKtFFDdxDdB7jaWW0ywhk4dkx9kbfLNUZKu8rz6TYp07HSHgChReErEwepyzM0aCZcvMvCiprtBP6JfmAujFt8XrpHiixUP0iHSzJhnEAUlxLwJKzd+ieEgSgdoHtGNPxUHP9exPclumR8mJs62pB+OrbE1+mwl+JEQlPBLs8WMAbKajNb5AgqodFunDz3a5Pj5MqnEfRIswDC+cRy7QUJ3pBc8Bjrb9AkJEyTkNoCb+5BZ4HJ5VsbG/4z24bk+0kdLODxOBi31sAvtMEeNMbSbXJEneXT9NRMW5snTdb5gqcBCZhkouwe5EYmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=m6q4xOqMf7DWj9QDMbGFMqw094yOSXyRHKf8SQZEleY=; b=hUj05kd1HnBrsW7ZdCEki6z1TkbDC/82oh7ITfgwdxoK/MhhWPSM7kHs4Hvr1L9RFqRBogkemlIl3QaPsatM6ugEzbkVtxKzHMnWg4RLvxJRE8wX41Hv6lRIcRuSKFUHUjd2VwKtdlnwjqd9YyO1IpMJPwfdyx72PqS1CBt5Rvc= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Ross Lagerwall To: xen-devel@lists.xenproject.org Cc: Ross Lagerwall , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Jason Andryuk , Teddy Astie Subject: [PATCH v1 6/6] nestedsvm: Allow destroying the domain fully Date: Tue, 26 May 2026 13:40:27 +0100 Message-ID: <20260526124027.573412-7-ross.lagerwall@citrix.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260526124027.573412-1-ross.lagerwall@citrix.com> References: <20260526124027.573412-1-ross.lagerwall@citrix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0159.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:188::20) To CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|SJ0PR03MB7128:EE_ X-MS-Office365-Filtering-Correlation-Id: 5444aa20-f354-4bc1-8dd0-08debb2412a8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|11063799006|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: v+EXLnaEQIhhd+Yee9qxjeVWXwxJdXl6DECAvTKgPHozyvu4KVg8xNMDYhQCOIsKEwOFNk+cN2OGicW81+dXwYTTaD8wU5Oq2RGrHu+/QQBI4u6APbphw6rmJobHSes0B0UTsaJ4JuRHn7dcaIr72w5LvUAUHK6dUpxvzUDiNY/VyLgdJrKtPw/IOTZGKeiIhfuRovZ1JviePOQsyRoDDFp+yE5f6n0leVgRg78idEfgW5QZy88PoUluo4ekS2pYc2fv6UA2Zy8Vi/J0ybXPyU4pQJXlqpgDonVW9UP/6gNNjdSwfDK3Yr1TK2a3IPKjQpNKdvVF/tdPyLlXv+uDUXj2asAkAaBraE0IcFTOzaCXqdQsq3UK0RHcfK/18uxInMdSudjL6YeIJ8ljxWW+5/YejqNe7Xl0QVVFgkNAof1BxFAmg99kBx1GzFBrSNURqP+tRNLG4TgDQ23FWmmUsX3flQqI9T3vjhXsL25G5LlObvi8gzQ2aiMa7SNvgLe4Fk2lDo3+8DLQaPwcSUENPfHUGpYeNGK6RmDiGJdxha4FCeqouXw0umaEkWSfMtyOHG9pMmeadcBvsKSoA95qjsmQM4JYtdvBZlPiouzgPSW+L+On2tqcvFRSkP6fwnr6xC2RjGcIxh1yzNLDVKcUsUP/ng+YkTcaUS8P/DporhUZDlSzzdyIjMIQsul0OBk8 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(11063799006)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6T9azilw98jXlirA1UJRefzCEk24NSkA4Ong6B6rksQ3c88WfpgR12qKxnYx?= =?us-ascii?Q?cxpQKoW1ahBDUg+FO2HBs/4clNoPj3fBRnOltTkK9hy7vGbUVnN/RZpF5Vn8?= =?us-ascii?Q?K6Cgieq6X5RS1borI0rYZjAKe3GrrryVUp7Ypsmuam/xWGkfRJDiM2uM7q1g?= =?us-ascii?Q?6jLzWCU3G9v3FZvFgMS8Fzj1PIdnd2wqErDCPh8oMfE02GyDTgrfmsRt3Dtk?= =?us-ascii?Q?9H32+eq9Pf//fHp1ynL7AVIpC1ywgWvpMpkPx18c14HQsBY2Xu49u2a1TAVY?= =?us-ascii?Q?K4mdfOKld17YMbhCQUiU3K3IUjNleuYRZP6UbUqdXWw97olhwj8rmNsHGArE?= =?us-ascii?Q?tk7zogUvaU3TfWJGhRR6K+m5xLG4gPt0J2L/OGR1vHxTtmdRw70ayNM8i0Tm?= =?us-ascii?Q?jpYyVACsKi/rRv5Jiprf8Mt82R54L5I0WhZ0/Ei0Fc8eIjY3KeBAldtqQ8Tw?= =?us-ascii?Q?+LuopbUiTgL7OLBo41cwytAy0Zv2Voj57mS1CGnPKZ8bvtrFWZxMBrZWZT85?= =?us-ascii?Q?tIpvN8MkG9XXTT8PYWDcl4xk0xxIWUH6YFMe1hSsDqaGljkUbSEKKTc3NWWz?= =?us-ascii?Q?IHpkZ1aV6Q1/eG/X6EeEMBbK1xDADbE6647cO+J1LMK91NgOnAJZjKNtwA0P?= =?us-ascii?Q?KuJz7LnQCQSkxgB8TeYo1n9nQ/ycBV6EemSjU474Iq5H+bo5pv70tVDmMCNb?= =?us-ascii?Q?1JbfJdYfGoby85QCLsmtIHpardNPsKM8+aeurPDysbzTQkBPBn0I9gEyNM1s?= =?us-ascii?Q?sWFn6iYg/9HCk6JKTceqAfYW/sMFu8oGXcED2k9lAadZghWZeBtQm3Iiay2x?= =?us-ascii?Q?+CpK9RjMl8RoqBEymJ9Lv3r1Zn6Zg2K8C2Dx4sJAlIJJZlEfAmcI573jBwEK?= =?us-ascii?Q?yfDQBRYXXB4uwF85e26N5O7B6qcYmjftm0Wd5s8NYEJIltrK5/1oFEdw27B+?= =?us-ascii?Q?p6/JdibJio7wEzrhWAiDscz1ipgpm9/qFm6RzGLxotbGyjNG7bMS2EUjsH4Z?= =?us-ascii?Q?uVWFkEwm21DT6zYJyE2lgqgx9fdL7H92HO205IYZnfeSsTs3JbarMCnHqRTD?= =?us-ascii?Q?ff3x9kfR7dPBvKwaJjHE3Wo3gOB272YWay5mlkR5eDMsZQReqrP/QrY6WV5j?= =?us-ascii?Q?6Z6hfGjaekh4LdFqVeM3gD5WQ/3jri7torutaoQYRWyGOs4ZzvhYi35C1qgi?= =?us-ascii?Q?YLhcRghCPZS8NEmbrCyehlvGmhhYinrApuP4815rH0cmLcCGgc5E8Cl51qvM?= =?us-ascii?Q?T1hfUB0KErjnB3Tqj/oVIUDfvR1mgqMlxfHCDIfrBzpjoEGpn6wO0kKWLsD/?= =?us-ascii?Q?m5zHTtASfKZg3598JC7ALGHWWY/D05mH7loNwpUzQmLIrhNfHzTHcd93lQaZ?= =?us-ascii?Q?FcvT3zzEUOELa1P8IcNMSY+oLnZoy7PDII7yfbxh4YPXPVf+m+jb1w9r2yWj?= =?us-ascii?Q?1vrYf97rWbF5BM7IQiPtO5xCXxDY7QTuVU2ymZhYltWMYphPdoXfQQr9+jFj?= =?us-ascii?Q?jS7vRx0c/HJJESgZEd0oZEOiZt78dv5FHFLeMpecmoiFgK7zdFJ01M1zobIO?= =?us-ascii?Q?VeHNm7B5dH73vUTwnlZjm9CSD3wauilJiVB1YmUw8mf1Qj9WwQ+Z0q/LB6Oi?= =?us-ascii?Q?fvBOXiZNqOugF9KC7k1xfCuCJLhHIlY2GZn0KIe/5hz5/1v8/nQydL020ZN7?= =?us-ascii?Q?9d3MW0NZ+8shZtgU8xoOJjZjdOdnFAWvpx6be+f/gJO4TYaQBB1KiPijyAQ/?= =?us-ascii?Q?QHlDpZp5KEGC5hDasrQIIpKFOGTlXlE=3D?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5444aa20-f354-4bc1-8dd0-08debb2412a8 X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2026 12:41:14.1026 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +yH1+XuSgsFZNzDSGuQ6SH3H5p3/u2cjDyuRyCm+PQEq3gt5rXVkpoYzWmQ1Y1WBO5HvWYRU4eSlUfR+KzYMTJ3QhxjRjjLe/USOuGmAhns= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7128 X-purgate-ID: tlsNG-ebf023/1779799277-4396A3FF-0B101CBB/0/0 X-purgate-type: clean X-purgate-size: 2795 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1779799300364158500 Content-Type: text/plain; charset="utf-8" Unmapping the virtual VMCB is performed near the end of the domain destroy procedure but the mapped guest frame prevents domain destroy from getting to that point. This means guests that call VMRUN cannot be fully destroyed. Move the unmap of the virtual VMCB earlier to fix the issue. Fixes: bcf557675d85 ("x86: properly use map_domain_page() in nested HVM cod= e") Signed-off-by: Ross Lagerwall --- xen/arch/x86/hvm/svm/nestedhvm.h | 1 + xen/arch/x86/hvm/svm/nestedsvm.c | 15 +++++++++++++-- xen/arch/x86/hvm/svm/svm.c | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/svm/nestedhvm.h b/xen/arch/x86/hvm/svm/nested= hvm.h index 9bfed5ffd71b..9bb04a043430 100644 --- a/xen/arch/x86/hvm/svm/nestedhvm.h +++ b/xen/arch/x86/hvm/svm/nestedhvm.h @@ -48,6 +48,7 @@ bool cf_check nsvm_vmcb_guest_intercepts_event( struct vcpu *v, unsigned int vector, int errcode); bool cf_check nsvm_vmcb_hap_enabled(struct vcpu *v); enum hvm_intblk cf_check nsvm_intr_blocked(struct vcpu *v); +void cf_check nsvm_domain_relinquish_resources(struct domain *d); =20 /* Interrupts, vGIF */ void svm_vmexit_do_clgi(struct cpu_user_regs *regs, struct vcpu *v); diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nested= svm.c index d4fd838ca0b6..6f4684f5c21b 100644 --- a/xen/arch/x86/hvm/svm/nestedsvm.c +++ b/xen/arch/x86/hvm/svm/nestedsvm.c @@ -110,8 +110,6 @@ void cf_check nsvm_vcpu_destroy(struct vcpu *v) svm->ns_merged_msrpm =3D NULL; } =20 - hvm_unmap_guest_frame(nv->nv_vvmcx, 1); - nv->nv_vvmcx =3D NULL; if ( nv->nv_n2vmcx ) { free_vmcb(nv->nv_n2vmcx); @@ -122,6 +120,19 @@ void cf_check nsvm_vcpu_destroy(struct vcpu *v) svm->ns_iomap =3D NULL; } =20 +void cf_check nsvm_domain_relinquish_resources(struct domain *d) +{ + struct vcpu *v; + struct nestedvcpu *nv; + + for_each_vcpu ( d, v ) + { + nv =3D &vcpu_nestedhvm(v); + hvm_unmap_guest_frame(nv->nv_vvmcx, 1); + nv->nv_vvmcx =3D NULL; + } +} + int cf_check nsvm_vcpu_reset(struct vcpu *v) { struct nestedsvm *svm =3D &vcpu_nestedsvm(v); diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 209edcba321a..e6b5c9ec3b9c 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -2422,6 +2422,7 @@ static struct hvm_function_table __initdata_cf_clobbe= r svm_function_table =3D { .nhvm_vmcx_hap_enabled =3D nsvm_vmcb_hap_enabled, .nhvm_intr_blocked =3D nsvm_intr_blocked, .nhvm_hap_walk_L1_p2m =3D nsvm_hap_walk_L1_p2m, + .nhvm_domain_relinquish_resources =3D nsvm_domain_relinquish_resources, =20 .get_reg =3D svm_get_reg, .set_reg =3D svm_set_reg, --=20 2.53.0