]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
arm64: mm: avoid fixmap for early swapper_pg_dir updates
authorArd Biesheuvel <ardb@kernel.org>
Wed, 14 Feb 2024 12:29:08 +0000 (13:29 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 16 Feb 2024 12:42:35 +0000 (12:42 +0000)
commit567a70c181df72f3bb42ca825adb5de682713caa
treea59a0b661507b7df0ed99682d3c3d0e38572c2bf
parent84b04d3e6bdbc7551e62b75dd97cae4a8bddb1b6
arm64: mm: avoid fixmap for early swapper_pg_dir updates

Early in the boot, when .rodata is still writable, we can poke
swapper_pg_dir entries directly, and there is no need to go through the
fixmap. After a future patch, we will enter the kernel with
swapper_pg_dir already active, and early swapper_pg_dir updates for
creating the fixmap page table hierarchy itself cannot go through the
fixmap for obvious reaons. So let's keep track of whether rodata is
writable, and update the descriptor directly in that case.

As the same reasoning applies to early KASAN init, make the function
noinstr as well.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20240214122845.2033971-67-ardb+git@google.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/mm/mmu.c