linux_old1/arch/arm
Andrew Jones 6c7a5dce22 KVM: arm/arm64: fix races in kvm_psci_vcpu_on
Fix potential races in kvm_psci_vcpu_on() by taking the kvm->lock
mutex.  In general, it's a bad idea to allow more than one PSCI_CPU_ON
to process the same target VCPU at the same time.  One such problem
that may arise is that one PSCI_CPU_ON could be resetting the target
vcpu, which fills the entire sys_regs array with a temporary value
including the MPIDR register, while another looks up the VCPU based
on the MPIDR value, resulting in no target VCPU found.  Resolves both
races found with the kvm-unit-tests/arm/psci unit test.

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Reported-by: Levente Kurusa <lkurusa@redhat.com>
Suggested-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Andrew Jones <drjones@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-19 17:28:11 +02:00
..
boot ARM: decompressor: Remove __hyp_get_vectors usage 2017-04-09 07:49:33 -07:00
common sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
configs ARM: deconfig: fix the moxart defconfig 2017-03-02 23:08:28 +01:00
crypto crypto: arm/crc32 - add build time test for CRC instruction support 2017-03-01 19:47:53 +08:00
firmware
include KVM: arm/arm64: Add ARM user space interrupt signaling ABI 2017-04-09 07:49:38 -07:00
kernel ARM: hyp-stub: Zero r0 on successful stub handling 2017-04-09 07:49:36 -07:00
kvm KVM: arm/arm64: fix races in kvm_psci_vcpu_on 2017-04-19 17:28:11 +02:00
lib ARM: 8658/1: uaccess: fix zeroing of 64-bit get_user() 2017-02-16 15:58:32 +00:00
mach-alpine ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-artpec
mach-asm9260
mach-aspeed
mach-at91
mach-axxia ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-bcm sched/headers: Prepare for new header dependencies before moving code to <linux/sched/clock.h> 2017-03-02 08:42:27 +01:00
mach-berlin ARM: 8646/1: mmu: decouple VECTORS_BASE from Kconfig 2017-02-28 11:06:12 +00:00
mach-clps711x
mach-cns3xxx
mach-davinci ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-digicolor
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx RTC for 4.11 2017-02-27 19:59:21 -08:00
mach-exynos Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-footbridge
mach-gemini
mach-highbank
mach-hisi Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-imx Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-keystone ARM: Keystone: Enable ARCH_HAS_RESET_CONTROLLER 2017-01-19 09:36:08 -08:00
mach-ks8695
mach-lpc18xx
mach-lpc32xx
mach-mediatek ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-meson
mach-mmp
mach-moxart
mach-mv78xx0 ARM: mv78xx0: fix possible PCI buffer overflow 2017-01-27 17:52:57 +01:00
mach-mvebu Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1 ARM: SoC platform updates 2017-02-23 15:33:54 -08:00
mach-omap2 sched/headers: Prepare for new header dependencies before moving code to <linux/sched/clock.h> 2017-03-02 08:42:27 +01:00
mach-orion5x RTC for 4.11 2017-02-27 19:59:21 -08:00
mach-oxnas
mach-picoxcell
mach-prima2 ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-pxa Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-qcom
mach-realview ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-rockchip Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-rpc sched/headers: Prepare for new header dependencies before moving code to <linux/sched/mm.h> 2017-03-02 08:42:28 +01:00
mach-s3c24xx Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-s3c64xx Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-s5pv210 Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-sa1100 ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-shmobile Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-socfpga ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-spear ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-sti ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-stm32
mach-sunxi Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-tango ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-tegra Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
mach-u300
mach-uniphier
mach-ux500 ARM: SoC: late DT updates for v4.11 2017-03-03 16:15:48 -08:00
mach-versatile
mach-vexpress ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-vt8500
mach-w90x900
mach-zx ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-zynq ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mm ARM: Expose the VA/IDMAP offset 2017-04-09 07:49:26 -07:00
net
nwfpe sched/headers: Move task_struct::signal and task_struct::sighand types and accessors into <linux/sched/signal.h> 2017-03-03 01:43:37 +01:00
oprofile
plat-iop
plat-omap
plat-orion ARM: orion: Register DSA switch as a MDIO device 2017-02-07 10:51:47 -05:00
plat-pxa
plat-samsung
plat-versatile
probes sched/headers: Prepare for new header dependencies before moving code to <linux/sched/debug.h> 2017-03-02 08:42:34 +01:00
tools ARM: wire up statx syscall 2017-03-10 10:15:15 +00:00
vdso
vfp sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
xen Merge branch 'stable/for-linus-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb 2017-03-07 10:23:17 -08:00
Kconfig Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
Kconfig-nommu
Kconfig.debug arch: Move CONFIG_DEBUG_RODATA and CONFIG_SET_MODULE_RONX to be common 2017-02-07 12:32:52 -08:00
Makefile