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

Anshuman Khandual anshuman.khandual at arm.com
Tue Dec 10 00:38:19 PST 2024



On 12/10/24 12:51, Ard Biesheuvel wrote:
> 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'?

Right, the last sentence can be can dropped.



More information about the linux-arm-kernel mailing list