[PATCH v2] arm64/cpufeature: annotate arm64_use_ng_mappings with ro_after_init to prevent wrong idmap generation

Catalin Marinas catalin.marinas at arm.com
Sat May 3 07:11:36 PDT 2025


On Sat, May 03, 2025 at 11:16:12AM +0100, Catalin Marinas wrote:
> On Fri, 02 May 2025 19:04:12 +0100, Yeoreum Yun wrote:
> > create_init_idmap() could be called before .bss section initialization
> > which is done in early_map_kernel().
> > Therefore, data/test_prot could be set incorrectly by PTE_MAYBE_NG macro.
> > 
> > PTE_MAYBE_NG macro set NG bit according to value of "arm64_use_ng_mappings".
> > and this variable places in .bss section.
> > 
> > [...]
> 
> Applied to arm64 (for-next/fixes), with some slight tweaking of the
> comment, thanks!
> 
> [1/1] arm64/cpufeature: annotate arm64_use_ng_mappings with ro_after_init to prevent wrong idmap generation
>       https://git.kernel.org/arm64/c/12657bcd1835

I'm going to drop this for now. The kernel compiled with a clang 19.1.5
version I have around (Debian sid) fails to boot, gets stuck early on:

$ clang --version
Debian clang version 19.1.5 (1)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-19/bin

I didn't have time to investigate, disassemble etc. I'll have a look
next week.

-- 
Catalin



More information about the linux-arm-kernel mailing list