[PATCH v2 0/3] Fix bugs for realm guest plus BBML2_NOABORT

Ryan Roberts posted 3 patches 1 day, 15 hours ago
arch/arm64/include/asm/mmu.h          |  2 +
arch/arm64/include/asm/pgtable-prot.h |  2 +
arch/arm64/include/asm/pgtable.h      | 28 +++++++----
arch/arm64/mm/init.c                  |  9 +++-
arch/arm64/mm/mmu.c                   | 67 ++++++++++++++++++---------
arch/arm64/mm/pageattr.c              | 50 +++++++++++---------
arch/arm64/mm/trans_pgd.c             | 42 +++--------------
7 files changed, 111 insertions(+), 89 deletions(-)
[PATCH v2 0/3] Fix bugs for realm guest plus BBML2_NOABORT
Posted by Ryan Roberts 1 day, 15 hours ago
Hi All,

This fixes a couple of bugs in the "large block mappings for linear map when we
have BBML2_NOABORT" feature when used in conjunction with a CCA realm guest.
While investigating I found and fixed some more general issues too. See commit
logs for full explanations.

Applies on top of v7.0-rc4.

Changes since v1 [1]
====================

Patch 1:
  - Moved page_alloc_available declaration to asm/mmu.c (per Kevin)
  - Added PTE_PRESENT_VALID_KERNEL macro to hide VALID|NG confusion (per Kevin)
  - Improved logic in split_kernel_leaf_mapping() to avoid warning for
    DEBUG_PAGEALLOC (per Sashiko)
Patch 2:
  - Fixed transitional pgtables to handle present-invalid large leaves (per
    Sashiko)
  - Hardened split_pXd() for present-invalid leaves (per Sashiko)
Patch 3:
  - Converted pXd_leaf() to function to avoid multi-eval of READ_ONCE() (per
    Sashiko)

[1] https://lore.kernel.org/all/20260323130317.1737522-1-ryan.roberts@arm.com/

Thanks,
Ryan


Ryan Roberts (3):
  arm64: mm: Fix rodata=full block mapping support for realm guests
  arm64: mm: Handle invalid large leaf mappings correctly
  arm64: mm: Remove pmd_sect() and pud_sect()

 arch/arm64/include/asm/mmu.h          |  2 +
 arch/arm64/include/asm/pgtable-prot.h |  2 +
 arch/arm64/include/asm/pgtable.h      | 28 +++++++----
 arch/arm64/mm/init.c                  |  9 +++-
 arch/arm64/mm/mmu.c                   | 67 ++++++++++++++++++---------
 arch/arm64/mm/pageattr.c              | 50 +++++++++++---------
 arch/arm64/mm/trans_pgd.c             | 42 +++--------------
 7 files changed, 111 insertions(+), 89 deletions(-)

--
2.43.0