linux/arch/arm/kvm
Marc Zyngier ddad908009 arm/arm64: KVM: Enforce Break-Before-Make on Stage-2 page tables
[ Upstream commit d4b9e0790a ]

The ARM architecture mandates that when changing a page table entry
from a valid entry to another valid entry, an invalid entry is first
written, TLB invalidated, and only then the new entry being written.

The current code doesn't respect this, directly writing the new
entry and only then invalidating TLBs. Let's fix it up.

Cc: <stable@vger.kernel.org>
Reported-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2016-06-03 11:30:30 -04:00
..
arm.c KVM: arm/arm64: check IRQ number on userland injection 2015-05-17 19:11:50 -04:00
coproc.c KVM: ARM/arm64: avoid returning negative error code as bool 2014-08-27 22:49:45 +02:00
coproc.h ARM: KVM: trap VM system registers until MMU and caches are ON 2014-03-03 01:15:24 +00:00
coproc_a7.c ARM: KVM: trap VM system registers until MMU and caches are ON 2014-03-03 01:15:24 +00:00
coproc_a15.c ARM: KVM: trap VM system registers until MMU and caches are ON 2014-03-03 01:15:24 +00:00
emulate.c KVM: ARM: Fix typo in comments of inject_abt() 2013-10-02 17:29:19 +01:00
guest.c arm/arm64: KVM: Fix ioctl error handling 2016-03-11 09:45:24 -05:00
handle_exit.c arm/arm64: KVM: Complete WFI/WFE instructions 2014-08-29 11:53:53 +02:00
init.S ARM/ARM64: KVM: Nuke Hyp-mode tlbs before enabling MMU 2014-08-29 11:53:26 +02:00
interrupts.S arm: KVM: force execution of HCPTR access on VM exit 2015-07-13 08:50:07 -04:00
interrupts_head.S arm: KVM: force execution of HCPTR access on VM exit 2015-07-13 08:50:07 -04:00
Kconfig ARM: KVM: enable KVM in Kconfig on big-endian systems 2014-07-11 04:57:41 -07:00
Makefile KVM: ARM: vgic: split GICv2 backend from the main vgic code 2014-07-11 04:57:34 -07:00
mmio.c arm/arm64: KVM: MMIO support for BE guest 2013-11-07 19:09:04 +00:00
mmu.c arm/arm64: KVM: Enforce Break-Before-Make on Stage-2 page tables 2016-06-03 11:30:30 -04:00
perf.c ARM: KVM: add support for minimal host vs guest profiling 2013-04-28 21:44:01 -07:00
psci.c ARM: kvm: psci: fix handling of unimplemented functions 2015-07-03 23:02:32 -04:00
reset.c Updates for KVM/ARM, take 3 supporting more than 4 CPUs. 2013-11-11 12:02:27 +01:00
trace.h ARM: KVM: Simplify tracepoint text 2013-08-30 15:47:53 -07:00