diff options
author | Oliver Upton <oliver.upton@linux.dev> | 2022-11-07 21:56:32 +0000 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2022-11-10 14:43:46 +0000 |
commit | 83844a2317ecad935f6735abd854e4bf3f757040 (patch) | |
tree | 82ebdf8fb6f509b8f584bf53e8b8f20a42e42cda /arch/arm64/include/asm/kvm_pgtable.h | |
parent | dfc7a7769ab7f2a2f629c673717ef1fa7b63aa42 (diff) | |
download | linux-83844a2317ecad935f6735abd854e4bf3f757040.tar.gz linux-83844a2317ecad935f6735abd854e4bf3f757040.tar.bz2 linux-83844a2317ecad935f6735abd854e4bf3f757040.zip |
KVM: arm64: Stash observed pte value in visitor context
Rather than reading the ptep all over the shop, read the ptep once from
__kvm_pgtable_visit() and stick it in the visitor context. Reread the
ptep after visiting a leaf in case the callback installed a new table
underneath.
No functional change intended.
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
Reviewed-by: Ben Gardon <bgardon@google.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221107215644.1895162-3-oliver.upton@linux.dev
Diffstat (limited to 'arch/arm64/include/asm/kvm_pgtable.h')
-rw-r--r-- | arch/arm64/include/asm/kvm_pgtable.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/kvm_pgtable.h b/arch/arm64/include/asm/kvm_pgtable.h index 607f9bb8aab4..14d4b68a1e92 100644 --- a/arch/arm64/include/asm/kvm_pgtable.h +++ b/arch/arm64/include/asm/kvm_pgtable.h @@ -201,6 +201,7 @@ enum kvm_pgtable_walk_flags { struct kvm_pgtable_visit_ctx { kvm_pte_t *ptep; + kvm_pte_t old; void *arg; u64 addr; u64 end; |