1
0
Fork 0
alistair23-linux/arch/arm64
Christoffer Dall abd7229626 KVM: arm/arm64: Simplify active_change_prepare and plug race
We don't need to stop a specific VCPU when changing the active state,
because private IRQs can only be modified by a running VCPU for the
VCPU itself and it is therefore already stopped.

However, it is also possible for two VCPUs to be modifying the active
state of SPIs at the same time, which can cause the thread being stuck
in the loop that checks other VCPU threads for a potentially very long
time, or to modify the active state of a running VCPU.  Fix this by
serializing all accesses to setting and clearing the active state of
interrupts using the KVM mutex.

Reported-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
2017-05-23 12:48:22 +02:00
..
boot TEE driver infrastructure and OP-TEE drivers 2017-05-10 11:20:09 -07:00
configs ARM: SoC 64-bit changes 2017-05-09 10:04:17 -07:00
crypto Revert "crypto: arm64/sha - Add constant operand modifier to ASM_EXPORT" 2017-04-24 16:09:50 +08:00
include KVM: arm/arm64: Simplify active_change_prepare and plug race 2017-05-23 12:48:22 +02:00
kernel arm64 2nd set of updates for 4.12: 2017-05-11 11:27:54 -07:00
kvm KVM: arm64: Restore host physical timer access on hyp_panic() 2017-05-16 09:54:25 +02:00
lib arm64: switch to RAW_COPY_USER 2017-03-28 18:23:24 -04:00
mm IOMMU Updates for Linux v4.12 2017-05-09 15:15:47 -07:00
net arm64: use set_memory.h header 2017-05-08 17:15:13 -07:00
xen xen/privcmd: Add IOCTL_PRIVCMD_DM_OP 2017-02-14 15:13:43 -05:00
Kconfig arm64 updates for 4.12: 2017-05-05 12:11:37 -07:00
Kconfig.debug arm64: relocation testing module 2017-04-04 17:03:32 +01:00
Kconfig.platforms arm64: sunxi: always enable reset controller 2017-04-27 21:58:21 +02:00
Makefile Kbuild misc updates for 4.12 2017-05-10 20:41:43 -07:00