OpenCloudOS-Kernel/arch/arm/kvm
Mark Salter 5d4e08c45a arm: KVM: fix possible misalignment of PGDs and bounce page
The kvm/mmu code shared by arm and arm64 uses kalloc() to allocate
a bounce page (if hypervisor init code crosses page boundary) and
hypervisor PGDs. The problem is that kalloc() does not guarantee
the proper alignment. In the case of the bounce page, the page sized
buffer allocated may also cross a page boundary negating the purpose
and leading to a hang during kvm initialization. Likewise the PGDs
allocated may not meet the minimum alignment requirements of the
underlying MMU. This patch uses __get_free_page() to guarantee the
worst case alignment needs of the bounce page and PGDs on both arm
and arm64.

Cc: <stable@vger.kernel.org> # 3.10+
Signed-off-by: Mark Salter <msalter@redhat.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2014-04-28 03:21:48 -07:00
..
Kconfig ARM: KVM: disable KVM in Kconfig on big-endian systems 2014-04-26 04:20:03 -07:00
Makefile KVM: ARM: Add support for Cortex-A7 2013-10-12 17:45:30 -07:00
arm.c arm, kvm: Fix CPU hotplug callback registration 2014-03-20 13:43:41 +01:00
coproc.c ARM: KVM: trap VM system registers until MMU and caches are ON 2014-03-03 01:15:24 +00: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: KVM: introduce per-vcpu HYP Configuration Register 2014-03-03 01:15:23 +00:00
handle_exit.c KVM: ARM: Remove duplicate include 2014-01-08 13:54:00 -08:00
init.S ARM: kvm: use inner-shareable barriers after TLB flushing 2013-08-12 12:25:45 +01:00
interrupts.S arm/arm64: KVM: detect CPU reset on CPU_PM_EXIT 2014-02-27 19:27:10 +01:00
interrupts_head.S ARM: KVM: add world-switch for AMAIR{0,1} 2014-03-03 01:15:24 +00:00
mmio.c arm/arm64: KVM: MMIO support for BE guest 2013-11-07 19:09:04 +00:00
mmu.c arm: KVM: fix possible misalignment of PGDs and bounce page 2014-04-28 03:21: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 arm: KVM: Don't return PSCI_INVAL if waitqueue is inactive 2013-12-21 09:55:17 -08: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