[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <570D6ED5.4030403@redhat.com>
Date: Tue, 12 Apr 2016 23:55:33 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Radim Krčmář <rkrcmar@...hat.com>,
Suravee Suthikulpanit <Suravee.Suthikulpanit@....com>
Cc: joro@...tes.org, bp@...en8.de, gleb@...nel.org,
alex.williamson@...hat.com, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org, wei@...hat.com,
sherry.hurwitz@....com
Subject: Re: [PART1 RFC v4 02/11] KVM: x86: Introducing kvm_x86_ops VM
init/uninit hooks
On 11/04/2016 22:49, Radim Krčmář wrote:
>> > @@ -7781,6 +7784,9 @@ static void kvm_free_vcpus(struct kvm *kvm)
>> > kvm_for_each_vcpu(i, vcpu, kvm)
>> > kvm_arch_vcpu_free(vcpu);
>> >
>> > + if (kvm_x86_ops->vm_uninit)
>> > + kvm_x86_ops->vm_uninit(kvm);
> vm_uninit() doesn't seem to have much to do with kvm_free_vcpus(),
> please call it from kvm_arch_destroy_vm().
>
> (kvm_x86_ops.vm_destroy would be a better name then.)
Especially, you're calling it with struct kvm full of dangling pointer,
so please call it early, right after the "if (current->mm == kvm->mm)"
block.
Paolo
Powered by blists - more mailing lists