]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: arm/arm64: vgic-v2: Handle SGI bits in GICD_I{S,C}PENDR0 as WI
authorMarc Zyngier <maz@kernel.org>
Wed, 28 Aug 2019 10:10:16 +0000 (11:10 +0100)
committerWill Deacon <will@kernel.org>
Wed, 28 Aug 2019 10:21:42 +0000 (11:21 +0100)
commit9b3e8380f7696d2578eccee1c2abb0227a3c5b0d
treeaf1de026d68fd0011ed5a476649ea827fe8d3c76
parentfe8ba2c6cdab1d5734344c35930baecc51d52a19
KVM: arm/arm64: vgic-v2: Handle SGI bits in GICD_I{S,C}PENDR0 as WI

A guest is not allowed to inject a SGI (or clear its pending state)
by writing to GICD_ISPENDR0 (resp. GICD_ICPENDR0), as these bits are
defined as WI (as per ARM IHI 0048B 4.3.7 and 4.3.8).

Make sure we correctly emulate the architecture.

Fixes: aedf32e17386 ("KVM: arm/arm64: vgic-new: Add PENDING registers handlers")
Cc: stable@vger.kernel.org # 4.7+
Reported-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
virt/kvm/arm/vgic/vgic-mmio.c
virt/kvm/arm/vgic/vgic-v2.c
virt/kvm/arm/vgic/vgic-v3.c