On Mon, 13 Jun 2016 15:25:30 +0200
Paolo Bonzini <[email protected]> wrote:

> The race between creating the irqchip and the first VCPU is
> currently fixed by checking the presence of an irqchip before
> updating kvm->online_vcpus, and undoing the whole VCPU creation
> if someone created the irqchip in the meanwhile.
> 
> Instead, introduce a new field in struct kvm that will count VCPUs
> under a mutex, without the atomic access and memory ordering that we
> need elsewhere to protect the vcpus array.  This also plugs the race
> and is more easily applicable in all similar circumstances.
> 
> Signed-off-by: Paolo Bonzini <[email protected]>
> ---
>  include/linux/kvm_host.h |  8 ++++++++
>  virt/kvm/kvm_main.c      | 23 +++++++++++++++++------
>  2 files changed, 25 insertions(+), 6 deletions(-)

Reviewed-by: Cornelia Huck <[email protected]>

Reply via email to