[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v2 2/2] nestedsvm: Clear GIF when injecting VMEXIT


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
  • Date: Thu, 7 May 2026 11:55:07 +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=LJPgfvfHsAx+3DSvYAonI3+tuzu/fv903d4CjWROgaM=; b=rObXxuRmc7P4d5KXr1A4SQWKLQNxeb7/z8A983rAmRECMn0zj8ZN9+9nSmdBaSf4MxoHJ637JxTaexifkPkTzAyQIUHeaa4A3K/5Npt7YtTo6TuA5e1fhpipq6AXL1AefIWYTr4OAt3lGi7wiZUlUq5DnfHbqwLSNGiteruOzuSw5z6GElkHTgQ3uT8VCGG+2u4u58X7E1joPiniE7sUQHUIeX7uFLQAkvwmPwupbzO5G1m6M/OD/Qjvs/4gpcxrWNkrRpodd935qOYhb7RudCRS5UnIZhURLqXgsTB1LNtezKGIP8dC6jJbGPsJFofEKuXmaUru0alzTTJYf3h1dA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gqxiFNqEJ4uaHrJN7IehzlCR4pHthuLiqb/KClcgLaOW5PlgfjP+0P0x4tARyftfoYyp/Yjjoa+1/y1w7IIj3vRZjr091yQlCzqU9IRNu47llEmU7y5vcPenHfmJdf0QIlks1LILd9bE0gCrmuZ4YHbsjAwkoIg8pU1by8/Vd62Z0Z5kzC0L/3aU0iQjvoxiQ+IsoMKamzVcuMZsK5JwdM3xk5LaE9KdB9oe/I8Wcx6hxUyYsIDN3Q5QmvNWJ/0hP4u+jwtL1I8+f+7TpsThSumSY+ujYOg8xThFuLC5kxvHu94jjnW9CGliJf7OFiQoAkoPKWTB0km8bYcV5ppaiQ==
  • 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, 07 May 2026 10:55:34 +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>
---

In v2: Adjusted for the preceding cleanup patch.

 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 64fbfe8fa71f..9899cb2147b1 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -717,9 +717,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);
+        svm->ns_gif = 0;
 
     ns_vmcb = nv->nv_vvmcx;
 
-- 
2.53.0




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.