RFC arm64: mm: Map fixmap page tables read-only
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 RFC Latest4 patches 5 repliesIn review
- v1 RFC1 patch 7 repliesSuperseded
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | arm64: mm: Map fixmap PTE tables r/o in the linear maparch/ arch/ arch/ | +16 | 1 reply | |
| 2/4 | arm64: mm: Use fault handler to permit swapper_pg_dir updatesarch/ arch/ arch/ | +32 | 1 reply | |
| 3/4 | arm64: mm: Create r/o page table region that permits updatesarch/ arch/ arch/ | +29 | 0 replies | |
| 4/4 | arm64: mm: Move fixmap intermediate page tables into .rodataarch/ arch/ | +3 | 1 reply |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.
Cover letter [RFC PATCH v2 0/4] arm64: mm: Map fixmap page tables read-only
From: Ard Biesheuvel <[email protected]>
This v2 now covers intermediate level page tables as well as the PTE level page table for the fixmap. The latter is a special case, as it
a) is only accessed via the kernel image's mapping, and never via the linear map (except for ptdump etc)
b) must be accessible via a read-write mapping, as all manipulation of read-only page table descriptors relies on the fixmap itself
and so it is treated separately. The intermediate page tables may be shared with other mappings in the upper kernel/vmalloc region, so they must be updatable using the ordinary APIs.
Build tested and boot tested on a Lenovo Yoga C630 using 16k pages.
v1: https://lore.kernel.org/all/[email protected]/
Ard Biesheuvel (4):
arm64: mm: Map fixmap PTE tables r/o in the linear map
arm64: mm: Use fault handler to permit swapper_pg_dir updates
arm64: mm: Create r/o page table region that permits updates
arm64: mm: Move fixmap intermediate page tables into .rodata
arch/arm64/include/asm/fixmap.h | 4 ++ arch/arm64/include/asm/linkage.h | 1 + arch/arm64/include/asm/pgtable.h | 55 ++++++++------------ arch/arm64/kernel/vmlinux.lds.S | 6 +++ arch/arm64/mm/fixmap.c | 12 +++-- arch/arm64/mm/mmu.c | 48 +++++++++++++---- 6 files changed, 78 insertions(+), 48 deletions(-)
Signature · 1 line
2.55.0.887.g758fc8c411-goog