| From: |
| Marc Zyngier <maz-AT-kernel.org> |
| To: |
| kvmarm-AT-lists.linux.dev, linux-arm-kernel-AT-lists.infradead.org, kvm-AT-vger.kernel.org |
| Subject: |
| [PATCH v2 00/30] KVM: arm64: Combined user_mem_abort() rework |
| Date: |
| Fri, 27 Mar 2026 11:35:48 +0000 |
| Message-ID: |
| <20260327113618.4051534-1-maz@kernel.org> |
| Cc: |
| Joey Gouly <joey.gouly-AT-arm.com>, Suzuki K Poulose <suzuki.poulose-AT-arm.com>, Oliver Upton <oupton-AT-kernel.org>, Zenghui Yu <yuzenghui-AT-huawei.com>, Fuad Tabba <tabba-AT-google.com>, Will Deacon <will-AT-kernel.org>, Quentin Perret <qperret-AT-google.com> |
| Archive-link: |
| Article |
Fuad and I have been working on this "put a stick of dynamite in
user_mem_abort() and watch the resulting firework" project, and it
looks surprisingly OK so far. Disappointingly so, I'd even say.
This v2 is has very few changes from the original posting (cleaning up
the comments in Fuad's series [1], and some minor restructuring in
mine [2]), but I wanted to post the combined series for people's
awareness and for the sake of running it through sashiko.
If nothing catches fire, I'll may end-up taking it into 7.1.
[1] https://lore.kernel.org/all/20260306140232.2193802-1-tabb...
[2] https://lore.kernel.org/all/20260316175451.1866175-1-maz@...
Fuad Tabba (13):
KVM: arm64: Extract VMA size resolution in user_mem_abort()
KVM: arm64: Introduce struct kvm_s2_fault to user_mem_abort()
KVM: arm64: Extract PFN resolution in user_mem_abort()
KVM: arm64: Isolate mmap_read_lock inside new
kvm_s2_fault_get_vma_info() helper
KVM: arm64: Extract stage-2 permission logic in user_mem_abort()
KVM: arm64: Extract page table mapping in user_mem_abort()
KVM: arm64: Simplify nested VMA shift calculation
KVM: arm64: Remove redundant state variables from struct kvm_s2_fault
KVM: arm64: Simplify return logic in user_mem_abort()
KVM: arm64: Initialize struct kvm_s2_fault completely at declaration
KVM: arm64: Optimize early exit checks in kvm_s2_fault_pin_pfn()
KVM: arm64: Hoist MTE validation check out of MMU lock path
KVM: arm64: Clean up control flow in kvm_s2_fault_map()
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 | 507 +++++++++++++++++++++++++------------------
1 file changed, 299 insertions(+), 208 deletions(-)
--
2.47.3