linux/arch/arm
Andre Przywara bf308242ab KVM: arm/arm64: VGIC/ITS: protect kvm_read_guest() calls with SRCU lock
kvm_read_guest() will eventually look up in kvm_memslots(), which requires
either to hold the kvm->slots_lock or to be inside a kvm->srcu critical
section.
In contrast to x86 and s390 we don't take the SRCU lock on every guest
exit, so we have to do it individually for each kvm_read_guest() call.

Provide a wrapper which does that and use that everywhere.

Note that ending the SRCU critical section before returning from the
kvm_read_guest() wrapper is safe, because the data has been *copied*, so
we don't need to rely on valid references to the memslot anymore.

Cc: Stable <stable@vger.kernel.org> # 4.8+
Reported-by: Jan Glauber <jan.glauber@caviumnetworks.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Christoffer Dall <christoffer.dall@arm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2018-05-15 13:36:49 +02:00
..
boot Two fixes for v4.17-rc cycle 2018-04-26 16:54:12 +02:00
common Merge branches 'fixes', 'misc', 'sa1111' and 'sa1100-for-next' into for-next 2018-01-21 15:38:10 +00:00
configs ARM: defconfig: Update Gemini defconfig 2018-04-26 16:55:43 +02:00
crypto kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers 2018-04-07 19:04:02 +09:00
firmware
include KVM: arm/arm64: VGIC/ITS: protect kvm_read_guest() calls with SRCU lock 2018-05-15 13:36:49 +02:00
kernel Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2018-04-09 09:19:30 -07:00
kvm arm/arm64: KVM: Add PSCI version selection API 2018-04-20 16:32:23 +01:00
lib Merge branches 'fixes', 'misc', 'sa1111' and 'sa1100-for-next' into for-next 2018-01-21 15:38:10 +00:00
mach-actions ARM: SoC platform updates for 4.15 2017-11-16 14:05:12 -08:00
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed
mach-at91 ARM: at91: Kconfig: Update company to Microchip 2018-02-28 16:21:51 +01:00
mach-axxia
mach-bcm soc: brcmstb: biuctrl: Move to early_initcall 2017-12-20 17:37:44 -08:00
mach-berlin
mach-clps711x ARM: clps711x: mark clps711x_compat as const 2018-02-22 17:42:42 +01:00
mach-cns3xxx
mach-davinci ARM: SoC platform updates for 4.17 2018-04-05 21:21:08 -07:00
mach-digicolor
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx ARM: ep93xx: ts72xx: Add support for BK3 board - ts72xx derivative 2017-12-13 22:26:10 +01:00
mach-exynos ARM: EXYNOS: Simplify code in coupled CPU idle hot path 2018-03-21 18:51:39 +01:00
mach-footbridge Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-13 17:56:58 -08:00
mach-gemini
mach-highbank
mach-hisi
mach-imx ARM: SoC platform updates for 4.17 2018-04-05 21:21:08 -07:00
mach-integrator ARM: SoC platform updates for 4.15 2017-11-16 14:05:12 -08:00
mach-iop13xx
mach-iop32x treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
mach-iop33x
mach-ixp4xx w1: w1-gpio: Convert to use GPIO descriptors 2017-12-08 15:32:53 +01:00
mach-keystone
mach-ks8695 Merge branch 'i2c/for-4.15' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2017-11-14 17:52:21 -08:00
mach-lpc18xx
mach-lpc32xx
mach-mediatek ARM: mediatek: use more generic prompts for SoCs with ARMv7 2017-12-20 15:48:18 +01:00
mach-meson Amlogic 32-bit DT changes for v4.16 2017-12-21 16:37:34 +01:00
mach-mmp mtd: nand: remove useless fields from pxa3xx NAND platform data 2018-03-02 21:51:41 +01:00
mach-moxart
mach-mv78xx0
mach-mvebu ARM: mvebu: Fix broken PL310_ERRATA_753970 selects 2018-02-13 16:39:51 +01:00
mach-mxs
mach-netx
mach-nomadik
mach-npcm arm: npcm: enable L2 cache in NPCM7xx architecture 2018-04-10 16:40:03 +02:00
mach-nspire ARM: nspire: Remove unneeded nspire_map_io() 2018-03-07 16:07:35 +01:00
mach-omap1 Move omap timer to drivers for 4.17 2018-03-07 16:16:07 +01:00
mach-omap2 ARM: OMAP2+: Fix build when using split object directories 2018-04-18 10:07:13 -07:00
mach-orion5x ARM: orion5x: Revert commit 4904dbda41. 2018-02-26 13:41:47 -05:00
mach-oxnas
mach-picoxcell
mach-prima2
mach-pxa ARM: SoC platform updates for 4.17 2018-04-05 21:21:08 -07:00
mach-qcom
mach-realview
mach-rockchip ARM: rockchip: Set name of pmu regmap_config in smp code 2018-03-12 11:09:36 +01:00
mach-rpc
mach-s3c24xx ARM: s3c24xx: jive: Fix some GPIO names 2018-04-26 16:55:03 +02:00
mach-s3c64xx spi: spi-gpio: Rewrite to use GPIO descriptors 2018-02-14 16:02:41 +00:00
mach-s5pv210 ARM: S5PV210: Add SPDX license identifiers 2018-01-03 18:43:04 +01:00
mach-sa1100 ARM: sa1100/simpad: switch simpad CF to use gpiod APIs 2018-04-06 15:53:22 +01:00
mach-shmobile ARM: shmobile: rcar-gen2: Add watchdog support 2018-03-13 20:54:16 +01:00
mach-socfpga ARM: socfpga: PM: Drop useless check for PM_SUSPEND_STANDBY 2018-03-07 16:08:20 +01:00
mach-spear
mach-sti
mach-stm32 ARM: stm32: restore reboot capabilities 2018-03-05 09:11:58 +01:00
mach-sunxi ARM: sunxi: mc-smp: Split out SoC-specific device node lookup sequence 2018-03-10 16:14:57 +08:00
mach-tango
mach-tegra
mach-u300
mach-uniphier kbuild: remove all dummy assignments to obj- 2017-11-18 11:46:06 +09:00
mach-ux500 ARM: ux500: Fix PMU IRQ regression 2018-03-07 16:42:38 +01:00
mach-versatile
mach-vexpress ARM: SoC platform updates for 4.15 2017-11-16 14:05:12 -08:00
mach-vt8500 arm: vt8500: kconfig: Remove blank help text 2018-02-02 23:53:10 +09:00
mach-w90x900
mach-zx
mach-zynq
mm exec: pass stack rlimit into mm layout functions 2018-04-11 10:28:37 -07:00
net bpf, arm: remove obsolete exception handling from div/mod 2018-01-26 16:42:07 -08:00
nwfpe
oprofile
plat-iop
plat-omap ARM: SoC platform updates for 4.17 2018-04-05 21:21:08 -07:00
plat-orion ARM: orion: fix orion_ge00_switch_board_info initialization 2018-02-22 17:48:39 +01:00
plat-pxa
plat-samsung ARM: SAMSUNG: Add SPDX license identifiers 2018-01-03 18:43:13 +01:00
plat-versatile
probes ARM: probes: avoid adding kprobes to sensitive kernel-entry/exit code 2017-12-17 22:14:21 +00:00
tools ARM: ep93xx: ts72xx: Add support for BK3 board - ts72xx derivative 2017-12-13 22:26:10 +01:00
vdso
vfp ARM: 8746/1: vfp: Go back to clearing vfp_current_hw_state[] 2018-03-24 14:27:48 +00:00
xen
Kconfig Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2018-04-09 09:19:30 -07:00
Kconfig-nommu Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-11-16 12:50:35 -08:00
Kconfig.debug ARM: 8747/1: make CONFIG_DEBUG_WX depend on MMU 2018-03-24 14:27:48 +00:00
Makefile arm: npcm: add basic support for Nuvoton BMCs 2018-03-06 17:54:23 +01:00