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]>

