2020-12-03 21:03:41

by Jacob Xu

[permalink] [raw]
Subject: [PATCH] kvm: svm: de-allocate svm_cpu_data for all cpus in svm_cpu_uninit()

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 <[email protected]>
---
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);
--
2.29.2.576.ga3fc446d84-goog


2020-12-04 08:53:29

by Paolo Bonzini

[permalink] [raw]
Subject: Re: [PATCH] kvm: svm: de-allocate svm_cpu_data for all cpus in svm_cpu_uninit()

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 <[email protected]>
> ---
> 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