]> xenbits.xensource.com Git - xen.git/commitdiff
x86/hvm: check return code of hvm_pi_update_irte when binding
authorRoger Pau Monné <roger.pau@citrix.com>
Thu, 20 Mar 2025 12:33:52 +0000 (13:33 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 20 Mar 2025 12:33:52 +0000 (13:33 +0100)
Consume the return code from hvm_pi_update_irte(), and propagate the error
back to the caller if hvm_pi_update_irte() fails.

Fixes: 35a1caf8b6b5 ('pass-through: update IRTE according to guest interrupt config changes')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
master commit: cb587f620ab56cc683347d8120ba63989fad2693
master date: 2025-03-12 13:32:31 +0100

xen/drivers/passthrough/x86/hvm.c

index f73292fd6cc416d322aed60fca69877d3dfc184f..68131076488f92ebd6d925bf2b6d4c1bd98c2d7b 100644 (file)
@@ -381,7 +381,15 @@ int pt_irq_create_bind(
 
         /* Use interrupt posting if it is supported. */
         if ( iommu_intpost )
-            hvm_pi_update_irte(vcpu, info, pirq_dpci->gmsi.gvec);
+        {
+            rc = hvm_pi_update_irte(vcpu, info, pirq_dpci->gmsi.gvec);
+
+            if ( rc )
+            {
+                pt_irq_destroy_bind(d, pt_irq_bind);
+                return rc;
+            }
+        }
 
         if ( pt_irq_bind->u.msi.gflags & XEN_DOMCTL_VMSI_X86_UNMASKED )
         {