diff options
| author | Oliver Upton <[email protected]> | 2024-02-21 09:27:32 +0000 |
|---|---|---|
| committer | Marc Zyngier <[email protected]> | 2024-02-21 10:06:41 +0000 |
| commit | 85a71ee9a0700f6c18862ef3b0011ed9dad99aca (patch) | |
| tree | c8cab034bc8b836484dbbeea377c97f6a5573832 | |
| parent | 8d3a7dfb801d157ac423261d7cd62c33e95375f8 (diff) | |
KVM: arm64: vgic-its: Test for valid IRQ in MOVALL handler
It is possible that an LPI mapped in a different ITS gets unmapped while
handling the MOVALL command. If that is the case, there is no state that
can be migrated to the destination. Silently ignore it and continue
migrating other LPIs.
Cc: [email protected]
Fixes: ff9c114394aa ("KVM: arm/arm64: GICv4: Handle MOVALL applied to a vPE")
Signed-off-by: Oliver Upton <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Marc Zyngier <[email protected]>
| -rw-r--r-- | arch/arm64/kvm/vgic/vgic-its.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/kvm/vgic/vgic-its.c b/arch/arm64/kvm/vgic/vgic-its.c index 082448de27ed..28a93074eca1 100644 --- a/arch/arm64/kvm/vgic/vgic-its.c +++ b/arch/arm64/kvm/vgic/vgic-its.c @@ -1435,6 +1435,8 @@ static int vgic_its_cmd_handle_movall(struct kvm *kvm, struct vgic_its *its, for (i = 0; i < irq_count; i++) { irq = vgic_get_irq(kvm, NULL, intids[i]); + if (!irq) + continue; update_affinity(irq, vcpu2); |