1
0
Fork 0
remarkable-linux/virt
Christoffer Dall f3662e3325 KVM: arm/arm64: Fix vgic init race
[ Upstream commit 1d47191de7 ]

The vgic_init function can race with kvm_arch_vcpu_create() which does
not hold kvm_lock() and we therefore have no synchronization primitives
to ensure we're doing the right thing.

As the user is trying to initialize or run the VM while at the same time
creating more VCPUs, we just have to refuse to initialize the VGIC in
this case rather than silently failing with a broken VCPU.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Christoffer Dall <christoffer.dall@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-09-26 08:38:04 +02:00
..
kvm KVM: arm/arm64: Fix vgic init race 2018-09-26 08:38:04 +02:00
lib KVM: eventfd: fix NULL deref irqbypass consumer 2017-01-12 14:42:34 +01:00
Makefile virt: Add virt directory to the top Makefile 2015-10-01 15:06:44 +02:00