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

Shijie Huang shijie at amperemail.onmicrosoft.com
Tue Dec 10 01:47:05 PST 2024


On 2024/12/10 16:38, Anshuman Khandual wrote:
>
> 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.

Okay, no problem.


Thanks

Huang Shijie




More information about the linux-arm-kernel mailing list