[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] nestedsvm: Clear GIF when injecting VMEXIT
- To: xen-devel@xxxxxxxxxxxxxxxxxxxx
- From: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
- Date: Thu, 23 Apr 2026 17:11:12 +0100
- 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
- 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=z2v5tmIHhBOrrj6BIBeW9FFmoLBnaS91AVXvGPW16lk=; b=p9dy5m0n7+P1bF4/VaYqeijuAJCAColhHFrXjKeyzUxk/NnOCqbAIyBfGiA9VAOJPDdRhsM5u6KeyPrCg7KjIjJcQ55G/swSQIHgLfKLv4b2oa2s58V7+NHNwH6z7NiZHGr8gJ1rBtSKq8OmtrHP2G0iFK3IWWi8FItLmcj65pDhp8C/xu+2iql7AcUfXa/EVT2808DeEz07KUNpH6VJgCBEBevbj8pXKf4rz0yj1utWNHizwpKATNAH8xtNVQYf4F+O6h5wyEPwCghCrWX1f/Rhi1aYTqiF7ptC74RRxMDevYNsW5hI4VOPxg4uAGP1PwEmelplvUrcOCc4Y4DJvw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yiPNgPXsaxttcqqTGax4Kf4TllOanvVWEK1oNmD0dXCGHVEzWQN51hYnd5Inn12Im+kdFL6Smj9cvdSJ2LH2Z46o/vjxcBycTWNm0e4nOloaSkG8YCYpSirVm9xhZMgMQRe9supamOWhp5yXxD3G+nBm9uKGxk2VU2aj/xSkoeBU9bkJ31TRjsHTgyRxU/o3XrMUHlH6q6HMF9gLRibU0myhu2cPPlWm8TyNiijwgBG0H9Fti92iyJPVGhPNZW85Me/H7R7T5APVkUbgK77ej+ydznF+kLxKL/waQe8Q0RSR7+z7rY/J/3m35ZNxOiIvGBut6bwHDChmNqFjgt10Pw==
- 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"
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Jason Andryuk <jason.andryuk@xxxxxxx>, Teddy Astie <teddy.astie@xxxxxxxxxx>
- Delivery-date: Thu, 23 Apr 2026 16:11:33 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
If L1 executes VMRUN with the GIF set and it fails consistency checks,
Xen will inject a VMEXIT and fail the assert checking the GIF is cleared.
Instead, clear the GIF when injecting a VMEXIT to match what hardware
does.
Fixes: 9a779e4fc161 ("Implement SVM specific part for Nested Virtualization")
Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
---
xen/arch/x86/hvm/svm/nestedsvm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index ef6fa5d23b67..f89b087a1155 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -733,9 +733,9 @@ nsvm_vcpu_vmexit_inject(struct vcpu *v, struct
cpu_user_regs *regs,
struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
if ( vmcb->_vintr.fields.vgif_enable )
- ASSERT(vmcb->_vintr.fields.vgif == 0);
+ vmcb->_vintr.fields.vgif = 0;
else
- ASSERT(svm->ns_gif == 0);
+ nestedsvm_vcpu_clgi(v);
ns_vmcb = nv->nv_vvmcx;
--
2.53.0
|