KVM: arm/arm64: vgic: Do not cond_resched_lock() with IRQs disabled
authorJulien Thierry <julien.thierry@arm.com>
Mon, 26 Nov 2018 18:26:44 +0000 (18:26 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jan 2019 16:38:49 +0000 (17:38 +0100)
commitf0fcc4d17cf46911c9609e1fc5af518864f96220
treeced5918c403a4fd1b51be691263b0a035532b3f8
parentce866af60e907fe9df4edcaca94e8ff74fac284f
KVM: arm/arm64: vgic: Do not cond_resched_lock() with IRQs disabled

commit 2e2f6c3c0b08eed3fcf7de3c7684c940451bdeb1 upstream.

To change the active state of an MMIO, halt is requested for all vcpus of
the affected guest before modifying the IRQ state. This is done by calling
cond_resched_lock() in vgic_mmio_change_active(). However interrupts are
disabled at this point and we cannot reschedule a vcpu.

We actually don't need any of this, as kvm_arm_halt_guest ensures that
all the other vcpus are out of the guest. Let's just drop that useless
code.

Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Suggested-by: Christoffer Dall <christoffer.dall@arm.com>
Cc: stable@vger.kernel.org
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
virt/kvm/arm/vgic/vgic-mmio.c