linux/arch/arm/kvm
Marc Zyngier ab85830541 arm/arm64: KVM: Enforce Break-Before-Make on Stage-2 page tables
commit d4b9e0790a upstream.

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.

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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2016-06-01 12:15:48 -07:00
..
arm.c KVM: arm/arm64: Fix preemptible timer active state crazyness 2015-11-24 18:04:00 +01:00
coproc.c arm/arm64: KVM: Use set/way op trapping to track the state of the caches 2015-01-29 23:24:56 +01:00
coproc.h arm/arm64: KVM: Use set/way op trapping to track the state of the caches 2015-01-29 23:24:56 +01:00
coproc_a7.c arm/arm64: KVM: Use set/way op trapping to track the state of the caches 2015-01-29 23:24:56 +01:00
coproc_a15.c arm/arm64: KVM: Use set/way op trapping to track the state of the caches 2015-01-29 23:24:56 +01: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-09 15:34:51 -08:00
handle_exit.c ARM: KVM: extend WFI tracepoint to differentiate between wfi and wfe 2015-01-15 13:12:27 +01:00
init.S ARM: kvm: round HYP section to page size instead of log2 upper bound 2015-03-27 12:21:27 +00:00
interrupts.S arm: KVM: keep arm vfp/simd exit handling consistent with arm64 2015-08-19 22:27:58 +01:00
interrupts_head.S arm: KVM: Disable virtual timer even if the guest is not using it 2015-09-17 13:11:48 +01:00
Kconfig arm/arm64: KVM : Enable vhost device selection under KVM config menu 2015-10-22 23:01:45 +02:00
Makefile KVM: arm/arm64: Enable the KVM-VFIO device 2015-06-17 09:46:29 +01:00
mmio.c arm64: KVM: Correctly handle zero register during MMIO 2015-12-04 16:29:37 +00:00
mmu.c arm/arm64: KVM: Enforce Break-Before-Make on Stage-2 page tables 2016-06-01 12:15:48 -07:00
perf.c ARM: KVM: add support for minimal host vs guest profiling 2013-04-28 21:44:01 -07:00
psci.c arm64: KVM: Get rid of old vcpu_reg() 2015-12-04 16:30:03 +00:00
reset.c KVM: arm/arm64: timer: Allow the timer to control the active state 2015-08-12 11:28:26 +01:00
trace.h arm/arm64: KVM: Improve kvm_exit tracepoint 2015-10-22 23:01:47 +02:00