diff options
author | Balbir Singh <bsingharora@gmail.com> | 2017-06-29 03:04:09 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-07-04 11:37:39 +1000 |
commit | 7614ff3272a115a047139173cc04466e8132a1f2 (patch) | |
tree | 6215fd8d6460f772c73639a0c1459398067db360 /arch/powerpc/Kconfig | |
parent | cd65d69713349fc7b33fa9de2b32989b99c9fb39 (diff) |
powerpc/mm/radix: Implement STRICT_RWX/mark_rodata_ro() for Radix
The Radix linear mapping code (create_physical_mapping()) tries to use
the largest page size it can at each step. Currently the only reason
it steps down to a smaller page size is if the start addr is
unaligned (never happens in practice), or the end of memory is not
aligned to a huge page boundary.
To support STRICT_RWX we need to break the mapping at __init_begin,
so that the text and rodata prior to that can be marked R_X and the
regular pages after can be marked RW.
Having done that we can now implement mark_rodata_ro() for Radix,
knowing that we won't need to split any mappings.
Signed-off-by: Balbir Singh <bsingharora@gmail.com>
[mpe: Split down to PAGE_SIZE, not 2MB, rewrite change log]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/Kconfig')
0 files changed, 0 insertions, 0 deletions