[PATCH 00/17] KVM: arm64: More user_mem_abort() rework
Marc Zyngier
maz at kernel.org
Mon Mar 16 10:54:33 PDT 2026
Piqued by Fuad's initial set of patches[1] splitting user_mem_abort()
into more "edible" functions, I've added my on take on top of it with
a few goals in mind:
- contextualise the state by splitting kvm_s2_fault into more granular
structures
- reduce the amount of state that is visible and/or mutable by any
single function
- reduce the number of variable that simply cache state that is
already implicitly available (and often only a helper away)
I find the result reasonably attractive, and throwing it at a couple
of machines didn't result in anything out of the ordinary.
For those interested, I have stashed a branch at [2], and I'd
appreciate some feedback on the outcome.
[1] https://lore.kernel.org/all/20260306140232.2193802-1-tabba@google.com/
[2] https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/log/?h=hack/user_mem_abort-rework
Marc Zyngier (17):
KVM: arm64: Kill fault->ipa
KVM: arm64: Make fault_ipa immutable
KVM: arm64: Move fault context to const structure
KVM: arm64: Replace fault_is_perm with a helper
KVM: arm64: Constrain fault_granule to kvm_s2_fault_map()
KVM: arm64: Kill write_fault from kvm_s2_fault
KVM: arm64: Kill exec_fault from kvm_s2_fault
KVM: arm64: Kill topup_memcache from kvm_s2_fault
KVM: arm64: Move VMA-related information to kvm_s2_fault_vma_info
KVM: arm64: Kill logging_active from kvm_s2_fault
KVM: arm64: Restrict the scope of the 'writable' attribute
KVM: arm64: Move kvm_s2_fault.{pfn,page} to kvm_s2_vma_info
KVM: arm64: Replace force_pte with a max_map_size attribute
KVM: arm64: Move device mapping management into kvm_s2_fault_pin_pfn()
KVM: arm64: Directly expose mapping prot and kill kvm_s2_fault
KVM: arm64: Simplify integration of adjust_nested_*_perms()
KVM: arm64: Convert gmem_abort() to struct kvm_s2_fault_desc
arch/arm64/kvm/mmu.c | 428 ++++++++++++++++++++++---------------------
1 file changed, 223 insertions(+), 205 deletions(-)
--
2.47.3
More information about the linux-arm-kernel
mailing list