Skip to content

Commit fdec12c

Browse files
chazyMarc Zyngier
authored and
Marc Zyngier
committed
KVM: arm/arm64: vgic: Fix kvm_vgic_map_is_active's dist check
External inputs to the vgic from time to time need to poke into the state of a virtual interrupt, the prime example is the architected timer code. Since the IRQ's active state can be represented in two places; the LR or the distributor, we first loop over the LRs but if not active in the LRs we just return if *any* IRQ is active on the VCPU in question. This is of course bogus, as we should check if the specific IRQ in quesiton is active on the distributor instead. Reported-by: Eric Auger <[email protected]> Acked-by: Marc Zyngier <[email protected]> Signed-off-by: Christoffer Dall <[email protected]> Signed-off-by: Marc Zyngier <[email protected]>
1 parent 0de58f8 commit fdec12c

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

virt/kvm/arm/vgic.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1114,7 +1114,7 @@ bool kvm_vgic_map_is_active(struct kvm_vcpu *vcpu, struct irq_phys_map *map)
11141114
return true;
11151115
}
11161116

1117-
return dist_active_irq(vcpu);
1117+
return vgic_irq_is_active(vcpu, map->virt_irq);
11181118
}
11191119

11201120
/*

0 commit comments

Comments
 (0)