vmlinux.lds.h: allow arch specific handling of ro_after_init data section
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 7 Jun 2016 10:20:51 +0000 (12:20 +0200)
committerAlex Shi <alex.shi@linaro.org>
Thu, 23 Mar 2017 08:30:11 +0000 (16:30 +0800)
commit957413466cde02bee0b6540889376d35d6b0b41e
treea9d19cd02cf117c816d51a669597008a00a86f80
parentd425243ac3340984ea43d32d3815eeb502d43bce
vmlinux.lds.h: allow arch specific handling of ro_after_init data section

commit c74ba8b3480d ("arch: Introduce post-init read-only memory")
introduced the __ro_after_init attribute which allows to add variables
to the ro_after_init data section.

This new section was added to rodata, even though it contains writable
data. This in turn causes problems on architectures which mark the
page table entries read-only that point to rodata very early.

This patch allows architectures to implement an own handling of the
.data..ro_after_init section.
Usually that would be:
- mark the rodata section read-only very early
- mark the ro_after_init section read-only within mark_rodata_ro

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
(cherry picked from commit 32fb2fc5c357fb99616bbe100dbcb27bc7f5d045)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
include/asm-generic/vmlinux.lds.h