Skip to content

Commit 3913335

Browse files
committed
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull kvm fixes from Paolo Bonzini: "Two fixes for ARM ITS emulation. Unmapped interrupts were used instead of ignored, causing NULL pointer dereferences" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: arm64: vgic-its: Test for valid IRQ in MOVALL handler KVM: arm64: vgic-its: Test for valid IRQ in its_sync_lpi_pending_table()
2 parents 8da8d88 + c48617f commit 3913335

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

arch/arm64/kvm/vgic/vgic-its.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,9 @@ static int its_sync_lpi_pending_table(struct kvm_vcpu *vcpu)
468468
}
469469

470470
irq = vgic_get_irq(vcpu->kvm, NULL, intids[i]);
471+
if (!irq)
472+
continue;
473+
471474
raw_spin_lock_irqsave(&irq->irq_lock, flags);
472475
irq->pending_latch = pendmask & (1U << bit_nr);
473476
vgic_queue_irq_unlock(vcpu->kvm, irq, flags);
@@ -1432,6 +1435,8 @@ static int vgic_its_cmd_handle_movall(struct kvm *kvm, struct vgic_its *its,
14321435

14331436
for (i = 0; i < irq_count; i++) {
14341437
irq = vgic_get_irq(kvm, NULL, intids[i]);
1438+
if (!irq)
1439+
continue;
14351440

14361441
update_affinity(irq, vcpu2);
14371442

0 commit comments

Comments
 (0)