KVM: nVMX: Add a return code to vmx_complete_nested_posted_interrupt
authorJim Mattson <jmattson@google.com>
Fri, 4 Jun 2021 17:26:02 +0000 (10:26 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 17 Jun 2021 17:09:30 +0000 (13:09 -0400)
No functional change intended.

Signed-off-by: Jim Mattson <jmattson@google.com>
Reviewed-by: Oliver Upton <oupton@google.com>
Message-Id: <20210604172611.281819-4-jmattson@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/nested.c

index e8183e2..73f63ad 100644 (file)
@@ -3689,7 +3689,7 @@ void nested_mark_vmcs12_pages_dirty(struct kvm_vcpu *vcpu)
        }
 }
 
-static void vmx_complete_nested_posted_interrupt(struct kvm_vcpu *vcpu)
+static int vmx_complete_nested_posted_interrupt(struct kvm_vcpu *vcpu)
 {
        struct vcpu_vmx *vmx = to_vmx(vcpu);
        int max_irr;
@@ -3697,17 +3697,17 @@ static void vmx_complete_nested_posted_interrupt(struct kvm_vcpu *vcpu)
        u16 status;
 
        if (!vmx->nested.pi_desc || !vmx->nested.pi_pending)
-               return;
+               return 0;
 
        vmx->nested.pi_pending = false;
        if (!pi_test_and_clear_on(vmx->nested.pi_desc))
-               return;
+               return 0;
 
        max_irr = find_last_bit((unsigned long *)vmx->nested.pi_desc->pir, 256);
        if (max_irr != 256) {
                vapic_page = vmx->nested.virtual_apic_map.hva;
                if (!vapic_page)
-                       return;
+                       return 0;
 
                __kvm_apic_update_irr(vmx->nested.pi_desc->pir,
                        vapic_page, &max_irr);
@@ -3720,6 +3720,7 @@ static void vmx_complete_nested_posted_interrupt(struct kvm_vcpu *vcpu)
        }
 
        nested_mark_vmcs12_pages_dirty(vcpu);
+       return 0;
 }
 
 static void nested_vmx_inject_exception_vmexit(struct kvm_vcpu *vcpu,
@@ -3894,8 +3895,7 @@ static int vmx_check_nested_events(struct kvm_vcpu *vcpu)
        }
 
 no_vmexit:
-       vmx_complete_nested_posted_interrupt(vcpu);
-       return 0;
+       return vmx_complete_nested_posted_interrupt(vcpu);
 }
 
 static u32 vmx_get_preemption_timer_value(struct kvm_vcpu *vcpu)