[PATCH] KVM: arm64: account pKVM reclaim against the VM mm

Marc Zyngier maz at kernel.org
Mon Jun 22 01:32:29 PDT 2026


On Sun, 21 Jun 2026 22:31:55 +0100,
Bradley Morgan <include at grrlz.net> wrote:
> 
> Protected guest faults charge long term pins to the VM's mm. Teardown
> can run later from file release, where current->mm may be unrelated.
>
> Drop the charge from kvm->mm instead.
> 
> Fixes: 4e6e03f9eadd ("KVM: arm64: Hook up reclaim hypercall to pkvm_pgtable_stage2_destroy()")
> Signed-off-by: Bradley Morgan <include at grrlz.net>
> ---
>  arch/arm64/kvm/pkvm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kvm/pkvm.c b/arch/arm64/kvm/pkvm.c
> index 053e4f733e4b..428723b1b0f5 100644
> --- a/arch/arm64/kvm/pkvm.c
> +++ b/arch/arm64/kvm/pkvm.c
> @@ -352,7 +352,7 @@ static int __pkvm_pgtable_stage2_reclaim(struct kvm_pgtable *pgt, u64 start, u64
>  		page = pfn_to_page(mapping->pfn);
>  		WARN_ON_ONCE(mapping->nr_pages != 1);
>  		unpin_user_pages_dirty_lock(&page, 1, true);
> -		account_locked_vm(current->mm, 1, false);
> +		account_locked_vm(kvm->mm, 1, false);
>  		pkvm_mapping_remove(mapping, &pgt->pkvm_mappings);
>  		kfree(mapping);
>  	}

Seems correct to me, as the final mmdrop(kvm->mm) occurs after S2
teardown.

Will, what do you think?

	M.

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



More information about the linux-arm-kernel mailing list