diff mbox series

kvm: svm: de-allocate svm_cpu_data for all cpus in svm_cpu_uninit()

Message ID 20201203205939.1783969-1-jacobhxu@google.com (mailing list archive)
State New, archived
Headers show
Series kvm: svm: de-allocate svm_cpu_data for all cpus in svm_cpu_uninit() | expand

Commit Message

Jacob Xu Dec. 3, 2020, 8:59 p.m. UTC
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>
---
 arch/x86/kvm/svm/svm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Paolo Bonzini Dec. 4, 2020, 8:47 a.m. UTC | #1
On 03/12/20 21:59, Jacob Xu wrote:
> 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>
> ---
>   arch/x86/kvm/svm/svm.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
> index 79b3a564f1c9..da7eb4aaf44f 100644
> --- a/arch/x86/kvm/svm/svm.c
> +++ b/arch/x86/kvm/svm/svm.c
> @@ -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);
> 

Queued, thanks.

Paolo
diff mbox series

Patch

diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index 79b3a564f1c9..da7eb4aaf44f 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -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);