[PATCH v2] arm64/cpufeature: annotate arm64_use_ng_mappings with ro_after_init to prevent wrong idmap generation
Yeoreum Yun
yeoreum.yun at arm.com
Sat May 3 13:23:27 PDT 2025
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
More information about the linux-arm-kernel
mailing list