KVM: arm/arm64: vgic-v3: Don't pretend to support IRQ/FIQ bypass
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 21 Feb 2017 11:32:47 +0000 (11:32 +0000)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 6 Mar 2017 10:30:57 +0000 (10:30 +0000)
commit4dfc050571523ac2bc02cbf948dd47621f7dd83f
tree4bcaff275abd3044c3b7a6264e7f147e6ce45fce
parent68925176296a8b995e503349200e256674bfe5ac
KVM: arm/arm64: vgic-v3: Don't pretend to support IRQ/FIQ bypass

Our GICv3 emulation always presents ICC_SRE_EL1 with DIB/DFB set to
zero, which implies that there is a way to bypass the GIC and
inject raw IRQ/FIQ by driving the CPU pins.

Of course, we don't allow that when the GIC is configured, but
we fail to indicate that to the guest. The obvious fix is to
set these bits (and never let them being changed again).

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Christoffer Dall <cdall@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
include/linux/irqchip/arm-gic-v3.h
virt/kvm/arm/vgic/vgic-v3.c