KVM: arm64: Return EAGAIN for invalid PTE in attr walker
authorOliver Upton <oliver.upton@linux.dev>
Fri, 2 Dec 2022 18:51:53 +0000 (18:51 +0000)
committerOliver Upton <oliver.upton@linux.dev>
Thu, 12 Jan 2023 21:09:20 +0000 (21:09 +0000)
Return EAGAIN for invalid PTEs in the attr walker, signaling to the
caller that any serialization and/or invalidation can be elided.

Link: https://lore.kernel.org/r/20221202185156.696189-4-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/kvm/hyp/pgtable.c

index 9881821..204e59e 100644 (file)
@@ -1048,7 +1048,7 @@ static int stage2_attr_walker(const struct kvm_pgtable_visit_ctx *ctx,
        struct kvm_pgtable_mm_ops *mm_ops = ctx->mm_ops;
 
        if (!kvm_pte_valid(ctx->old))
-               return 0;
+               return -EAGAIN;
 
        data->level = ctx->level;
        data->pte = pte;