[PATCH 00/17] KVM: arm64: More user_mem_abort() rework
Suzuki K Poulose
suzuki.poulose at arm.com
Tue Mar 17 10:03:34 PDT 2026
On 16/03/2026 17:54, Marc Zyngier wrote:
> 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.
Indeed a very nice cleanup both of you ! Thanks for making this
pleasing to the eyes and easier to reason about.
FWIW:
Reviewed-by: Suzuki K Poulose <suzuki.poulose at arm.com>
>
> 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(-)
>
More information about the linux-arm-kernel
mailing list