Hi Catalin,
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.
Just for your information. When I see the debian package, clang 19.1.5-1 doesn't supply anymore: - https://ftp.debian.org/debian/pool/main/l/llvm-toolchain-19/
and the default version for sid is below:
$ clang-19 --version Debian clang version 19.1.7 (3) Target: aarch64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm-19/bin
When I tested with above version with arm64-linux's for-next/fixes including this patch. it works well.
Thanks
-- Sincerely, Yeoreum Yun