[PATCH] KVM: arm64: free kvm->arch.nested_mmus with kvfree()

Danilo Krummrich posted 1 patch 1 month, 2 weeks ago
arch/arm64/kvm/nested.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] KVM: arm64: free kvm->arch.nested_mmus with kvfree()
Posted by Danilo Krummrich 1 month, 2 weeks ago
kvm->arch.nested_mmus is allocated with kvrealloc(), hence free it with
kvfree() instead of kfree().

Fixes: 4f128f8e1aaa ("KVM: arm64: nv: Support multiple nested Stage-2 mmu structures")
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
---
 arch/arm64/kvm/nested.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/kvm/nested.c b/arch/arm64/kvm/nested.c
index de789e0f1ae9..bab27f9d8cc6 100644
--- a/arch/arm64/kvm/nested.c
+++ b/arch/arm64/kvm/nested.c
@@ -786,7 +786,7 @@ void kvm_arch_flush_shadow_all(struct kvm *kvm)
 		if (!WARN_ON(atomic_read(&mmu->refcnt)))
 			kvm_free_stage2_pgd(mmu);
 	}
-	kfree(kvm->arch.nested_mmus);
+	kvfree(kvm->arch.nested_mmus);
 	kvm->arch.nested_mmus = NULL;
 	kvm->arch.nested_mmus_size = 0;
 	kvm_uninit_stage2_mmu(kvm);

base-commit: 66ebbdfdeb093e097399b1883390079cd4c3022b
-- 
2.45.2
Re: [PATCH] KVM: arm64: free kvm->arch.nested_mmus with kvfree()
Posted by Oliver Upton 1 month ago
On Tue, 23 Jul 2024 16:20:52 +0200, Danilo Krummrich wrote:
> kvm->arch.nested_mmus is allocated with kvrealloc(), hence free it with
> kvfree() instead of kfree().
> 
> 

Vacation + catching a bug while I was out got me waaaaay behind. Sorry
I hadn't grabbed this yet.

Applied to kvmarm/fixes, thanks!

[1/1] KVM: arm64: free kvm->arch.nested_mmus with kvfree()
      https://git.kernel.org/kvmarm/kvmarm/c/32b9a52f88a5

--
Best,
Oliver
Re: [PATCH] KVM: arm64: free kvm->arch.nested_mmus with kvfree()
Posted by Marc Zyngier 1 month, 2 weeks ago
On Tue, 23 Jul 2024 15:20:52 +0100,
Danilo Krummrich <dakr@kernel.org> wrote:
> 
> kvm->arch.nested_mmus is allocated with kvrealloc(), hence free it with
> kvfree() instead of kfree().
> 
> Fixes: 4f128f8e1aaa ("KVM: arm64: nv: Support multiple nested Stage-2 mmu structures")
> Signed-off-by: Danilo Krummrich <dakr@kernel.org>
> ---
>  arch/arm64/kvm/nested.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kvm/nested.c b/arch/arm64/kvm/nested.c
> index de789e0f1ae9..bab27f9d8cc6 100644
> --- a/arch/arm64/kvm/nested.c
> +++ b/arch/arm64/kvm/nested.c
> @@ -786,7 +786,7 @@ void kvm_arch_flush_shadow_all(struct kvm *kvm)
>  		if (!WARN_ON(atomic_read(&mmu->refcnt)))
>  			kvm_free_stage2_pgd(mmu);
>  	}
> -	kfree(kvm->arch.nested_mmus);
> +	kvfree(kvm->arch.nested_mmus);
>  	kvm->arch.nested_mmus = NULL;
>  	kvm->arch.nested_mmus_size = 0;
>  	kvm_uninit_stage2_mmu(kvm);
> 

Ah, nice catch. Thanks for fixing it.

Reviewed-by: Marc Zyngier <maz@kernel.org>

	M.

-- 
Without deviation from the norm, progress is not possible.