[PATCH] kvm/x86 : set meaningful return value

From: Peng Hao
Date: Fri Sep 28 2018 - 12:42:09 EST



From: Peng Hao <peng.hao2@xxxxxxxxxx>

kvm_irq_delivery_to_apic_fast()-->
kvm_apic_map_get_dest_lapic()-->
kvm_apic_disabled_lapic_found()
kvm_apic_map_get_dest_lapic return with bitmap==0 and dst[i]==NULL,
then (*r == -1) will be returned to qemu and "KVM: injection failed,
MSI lost(Operation not permitted)" will be recorded in qemu log. The
output is puzzling.

Signed-off-by: Peng Hao <peng.hao2@xxxxxxxxxx>
---
arch/x86/kvm/lapic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index fbb0e6d..a8896b3 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -944,7 +944,7 @@ bool kvm_irq_delivery_to_apic_fast(struct kvm *kvm, struct kvm_lapic *src,
int i;
bool ret;

- *r = -1;
+ *r = -ENXIO;

if (irq->shorthand == APIC_DEST_SELF) {
*r = kvm_apic_set_irq(src->vcpu, irq, dest_map);
--
1.8.3.1