]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arm64: mm: Rework the 'rodata=' options
authorHuang Shijie <shijie@os.amperecomputing.com>
Tue, 9 Sep 2025 03:32:35 +0000 (11:32 +0800)
committerWill Deacon <will@kernel.org>
Tue, 16 Sep 2025 19:53:13 +0000 (20:53 +0100)
commitc0f303d7d4723b01c686e949e6f26a93e5cda910
tree3dd6d9d1c2fd63e279d6c722c2ad04150d962609
parentb868fff5b10b6d09506e93e489ee19166bf6c5d2
arm64: mm: Rework the 'rodata=' options

As per admin guide documentation, "rodata=on" should be the default on
platforms. Documentation/admin-guide/kernel-parameters.txt describes
these options as

   rodata=         [KNL,EARLY]
           on      Mark read-only kernel memory as read-only (default).
           off     Leave read-only kernel memory writable for debugging.
           full    Mark read-only kernel memory and aliases as read-only
                   [arm64]

But on arm64 platform, RODATA_FULL_DEFAULT_ENABLED is enabled by default,
so "rodata=full" is the default instead.

For parity with other architectures, namely x86, rework 'rodata=on' to
match the current "full" behaviour and replace 'rodata=full' with a new
'rodata=noalias' option which retains writable aliases in the direct map
for memory regions outside of the kernel image.

Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
Documentation/admin-guide/kernel-parameters.txt
arch/arm64/include/asm/setup.h