linux/arch/arm
Mark Salter e8c827bae7 arm: KVM: fix possible misalignment of PGDs and bounce page
commit 5d4e08c45a upstream.

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.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-13 13:32:47 +02:00
..
boot ARM: dts: am335x: update USB DT references 2014-05-06 07:59:38 -07:00
common ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
configs ARM: tegra: add LED options back into tegra_defconfig 2014-02-28 21:35:58 +01:00
crypto CRYPTO: Fix more AES build errors 2014-01-05 13:59:56 +00:00
firmware
include ARM: 8027/1: fix do_div() bug in big-endian systems 2014-05-06 07:59:22 -07:00
kernel ARM: 8030/1: ARM : kdump : add arch_crash_save_vmcoreinfo 2014-05-06 07:59:22 -07:00
kvm arm: KVM: fix possible misalignment of PGDs and bounce page 2014-05-13 13:32:47 +02:00
lib
mach-at91 ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-bcm ARM: pinctrl: Add Broadcom Capri pinctrl driver 2014-01-16 14:25:38 +01:00
mach-bcm2835 ARM: bcm2835: Fix grammar in help message 2014-01-02 12:07:52 -08:00
mach-berlin
mach-clps711x ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-cns3xxx
mach-davinci ARM: driver updates for 3.14 2014-01-23 18:49:36 -08:00
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos ACPI and power management updates for 3.14-rc1 2014-01-24 15:51:02 -08:00
mach-footbridge Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-01-24 17:17:30 -08:00
mach-gemini
mach-highbank Merge branches 'amba', 'fixes', 'kees', 'misc' and 'unstable/sa11x0' into for-next 2014-01-21 21:26:33 +00:00
mach-hisi ARM: hisi: fix kconfig warning on HAVE_ARM_TWD 2014-02-02 19:52:42 -08:00
mach-imx ARM: imx6: build pm-imx6q.c independently of CONFIG_PM 2014-02-18 16:03:43 -08:00
mach-integrator ARM: integrator: restore static map on the CP 2014-01-31 14:58:52 -08:00
mach-iop13xx
mach-iop32x ARM: iop32x: fix power off handling for the EM7210 board 2014-01-31 14:58:53 -08:00
mach-iop33x
mach-ixp4xx ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-keystone ARM: keystone: config: fix build warning when CONFIG_DMADEVICES is not set 2014-01-31 15:03:53 -08:00
mach-kirkwood mvebu fixes for v3.13 (incremental #2) 2014-01-31 14:59:28 -08:00
mach-ks8695
mach-lpc32xx
mach-mmp ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-moxart ARM: moxart: move DMA_OF selection to driver 2014-02-02 19:52:45 -08:00
mach-msm ARM: driver updates for 3.14 2014-01-23 18:49:36 -08:00
mach-mv78xx0
mach-mvebu mvebu fixes for v3.13 (incremental #2) 2014-01-31 14:59:28 -08:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1 ARM: OMAP1: nokia770: enable tahvo-usb 2014-02-13 15:20:14 -08:00
mach-omap2 ARM: OMAP3: hwmod data: Correct clock domains for USB modules 2014-05-06 07:59:21 -07:00
mach-orion5x
mach-picoxcell
mach-prima2
mach-pxa ARM: pxa: hx4700.h: include "irqs.h" for PXA_NR_BUILTIN_GPIO 2014-05-06 07:59:23 -07:00
mach-realview
mach-rockchip
mach-rpc
mach-s3c24xx ARM: SoC cleanups for 3.14 2014-01-23 18:36:55 -08:00
mach-s3c64xx ARM: SoC cleanups for 3.14 2014-01-23 18:36:55 -08:00
mach-s5p64x0
mach-s5pc100
mach-s5pv210
mach-sa1100 ARM: 7991/1: sa1100: fix compile problem on Collie 2014-03-07 22:04:08 +00:00
mach-shmobile ARM: fix HAVE_ARM_TWD selection for OMAP and shmobile 2014-02-02 19:52:53 -08:00
mach-socfpga
mach-spear
mach-sti
mach-sunxi ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-tegra ARM: SoC fixes for 3.14-rc 2014-02-23 17:38:04 -08:00
mach-u300 ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-ux500 ARM: SoC DT updates for 3.14 2014-01-23 18:45:38 -08:00
mach-versatile
mach-vexpress
mach-virt
mach-vt8500
mach-w90x900
mach-zynq ARM: zynq: Reserve not DMAable space in front of the kernel 2014-02-10 10:45:42 -08:00
mm ARM: 7954/1: mm: remove remaining domain support from ARMv6 2014-05-06 07:59:22 -07:00
net bpf: do not use reciprocal divide 2014-01-15 17:02:08 -08:00
nwfpe
oprofile
plat-iop
plat-omap
plat-orion mvebu fixes for v3.13 (incremental #2) 2014-01-31 14:59:28 -08:00
plat-pxa
plat-samsung MTD updates for 3.14: 2014-01-28 18:56:37 -08:00
plat-versatile ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
tools
vfp
xen xen/gnttab: Use phys_addr_t to describe the grant frame base address 2014-01-30 12:56:34 +00:00
Kconfig ARM: Fix default CPU selection for ARCH_MULTI_V5 2014-05-06 07:59:22 -07:00
Kconfig-nommu
Kconfig.debug ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
Makefile Merge branches 'fixes' and 'misc' into for-linus 2014-01-28 21:38:48 +00:00