OSDN Git Service

kvm: svm: de-allocate svm_cpu_data for all cpus in svm_cpu_uninit()
authorJacob Xu <jacobhxu@google.com>
Thu, 3 Dec 2020 20:59:39 +0000 (12:59 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 4 Dec 2020 08:47:58 +0000 (03:47 -0500)
The cpu arg for svm_cpu_uninit() was previously ignored resulting in the
per cpu structure svm_cpu_data not being de-allocated for all cpus.

Signed-off-by: Jacob Xu <jacobhxu@google.com>
Message-Id: <20201203205939.1783969-1-jacobhxu@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/svm.c

index 79b3a56..da7eb4a 100644 (file)
@@ -530,12 +530,12 @@ static int svm_hardware_enable(void)
 
 static void svm_cpu_uninit(int cpu)
 {
-       struct svm_cpu_data *sd = per_cpu(svm_data, raw_smp_processor_id());
+       struct svm_cpu_data *sd = per_cpu(svm_data, cpu);
 
        if (!sd)
                return;
 
-       per_cpu(svm_data, raw_smp_processor_id()) = NULL;
+       per_cpu(svm_data, cpu) = NULL;
        kfree(sd->sev_vmcbs);
        __free_page(sd->save_area);
        kfree(sd);