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.