[PATCH v3 0/2] arm64: apply G-to-nG conversion for KPTI with MMU enabled

Ard Biesheuvel ardb at kernel.org
Thu Apr 21 07:03:37 PDT 2022


This v3 is now a series, after I split off some preparatory refactoring
into a separate patch. Rationale for the series is in patch #2.

Changes since v2 [0]:
- reinstate optimization that avoids descending into the same page
  tables repeatedly when KASAN is enabled;
- use broadcast TLB maintenance when doing BBM for the temporary
  mappings, to prevent potential TLB conflicts on the secondary cores
  that are running from the same set of temporary page tables;
- remove a wait loop in the C code, by using 'num_cpus + 1' as the
  signal value rather then 0x0;
- declutter and simplify the asm helper code, to make it more
  maintainable.

Cc: will at kernel.org
Cc: maz at kernel.org
Cc: mark.rutland at arm.com
Cc: catalin.marinas at arm.com
Cc: keescook at chromium.org

[0] https://lore.kernel.org/linux-arm-kernel/20220413121848.787565-1-ardb@kernel.org/

Ard Biesheuvel (2):
  arm64: kpti-ng: simplify page table traversal logic
  arm64: mm: install KPTI nG mappings with MMU enabled

 arch/arm64/include/asm/mmu.h   |   4 +
 arch/arm64/kernel/cpufeature.c |  65 ++++++-
 arch/arm64/mm/mmu.c            |   8 +-
 arch/arm64/mm/proc.S           | 190 ++++++++++----------
 4 files changed, 161 insertions(+), 106 deletions(-)

-- 
2.30.2




More information about the linux-arm-kernel mailing list