[PATCH v3 1/2] arm64: refactor the rodata=xxx

Ard Biesheuvel ardb at kernel.org
Mon Dec 9 23:21:56 PST 2024


On Tue, 10 Dec 2024 at 08:17, Anshuman Khandual
<anshuman.khandual at arm.com> wrote:
>
...
>
> Reformatted and cleaned up the above comment a bit but feel free to
> improve it further.
>
> /*
>  * rodata=on (default)
>  *
>  *    This applies read-only attributes to VM areas and to the linear
>  *    alias of the backing pages as well. This prevents code or read-
>  *    only data from being modified (inadvertently or intentionally),
>  *    via another mapping for the same memory page.
>  *
>  *    But this might cause linear map region to be mapped down to base
>  *    pages, which may adversely affect performance in some cases.
>  *
>  * rodata=off
>  *
>  *    This provides more block mappings and contiguous hints for linear
>  *    map region which would minimize TLB footprint. This also leaves
>  *    read-only kernel memory writable for debugging.
>  *
>  * rodata=noalias
>  *
>  *    This provides more block mappings and contiguous hints for linear
>  *    map region which would minimize TLB footprint. Linear aliases of
>  *    pages belonging to read-only mappings in vmalloc region are also
>  *    marked as read-only.
>

If linear aliases are marked as read-only, how does 'noalias' differ from 'on'?



More information about the linux-arm-kernel mailing list