projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
76259cc
)
KVM: arm64: Don't serialize if the access flag isn't set
author
Oliver Upton
<oliver.upton@linux.dev>
Fri, 2 Dec 2022 18:51:54 +0000
(18:51 +0000)
committer
Oliver Upton
<oliver.upton@linux.dev>
Thu, 12 Jan 2023 21:09:20 +0000
(21:09 +0000)
Of course, if the PTE wasn't changed then there are absolutely no
serialization requirements. Skip the DSB for an unsuccessful update to
the access flag.
Link:
https://lore.kernel.org/r/20221202185156.696189-5-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/kvm/hyp/pgtable.c
patch
|
blob
|
history
diff --git
a/arch/arm64/kvm/hyp/pgtable.c
b/arch/arm64/kvm/hyp/pgtable.c
index 204e59e05674d806cec28e31a4cc048f07d77a1c..aa36d896bd8c6ab6927e4c1a8dcd3a3c7ecfc4ba 100644
(file)
--- a/
arch/arm64/kvm/hyp/pgtable.c
+++ b/
arch/arm64/kvm/hyp/pgtable.c
@@
-1116,10
+1116,14
@@
int kvm_pgtable_stage2_wrprotect(struct kvm_pgtable *pgt, u64 addr, u64 size)
kvm_pte_t kvm_pgtable_stage2_mkyoung(struct kvm_pgtable *pgt, u64 addr)
{
kvm_pte_t pte = 0;
- stage2_update_leaf_attrs(pgt, addr, 1, KVM_PTE_LEAF_ATTR_LO_S2_AF, 0,
- &pte, NULL,
- KVM_PGTABLE_WALK_HANDLE_FAULT);
- dsb(ishst);
+ int ret;
+
+ ret = stage2_update_leaf_attrs(pgt, addr, 1, KVM_PTE_LEAF_ATTR_LO_S2_AF, 0,
+ &pte, NULL,
+ KVM_PGTABLE_WALK_HANDLE_FAULT);
+ if (!ret)
+ dsb(ishst);
+
return pte;
}