[PATCH 1/4] vmlinux.lds.h: Use regular *RODATA and *RO_AFTER_INIT_DATA suffixes

Kees Cook
2021-09-01T23:38:03Z

Rename the various section macros that live in RODATA and
RO_AFTER_INIT_DATA. Just being called "DATA" implies they are expected
to be writable.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: linux-arch@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
arch/s390/kernel/vmlinux.lds.S | 2 +-
include/asm-generic/vmlinux.lds.h | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index 63bdb9e1bfc1..93bc74c2a71b 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -64,7 +64,7 @@ SECTIONS
__start_ro_after_init = .;
.data..ro_after_init : {
*(.data..ro_after_init)
- JUMP_TABLE_DATA
+ JUMP_TABLE_RO_AFTER_INIT_DATA
} :data
EXCEPTION_TABLE(16)
. = ALIGN(PAGE_SIZE);
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 62669b36a772..70c74fdf9c9b 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -128,7 +128,7 @@
* used to determine the order of the priority of each sched class in
* relation to each other.
*/
-#define SCHED_DATA \
+#define SCHED_RODATA \
STRUCT_ALIGN(); \
__begin_sched_classes = .; \
*(__idle_sched_class) \
@@ -396,13 +396,13 @@
. = __start_init_task + THREAD_SIZE; \
__end_init_task = .;

-#define JUMP_TABLE_DATA \
+#define JUMP_TABLE_RO_AFTER_INIT_DATA \
. = ALIGN(8); \
__start___jump_table = .; \
KEEP(*(__jump_table)) \
__stop___jump_table = .;

-#define STATIC_CALL_DATA \
+#define STATIC_CALL_RO_AFTER_INIT_DATA \
. = ALIGN(8); \
__start_static_call_sites = .; \
KEEP(*(.static_call_sites)) \
@@ -420,8 +420,8 @@
. = ALIGN(8); \
__start_ro_after_init = .; \
*(.data..ro_after_init) \
- JUMP_TABLE_DATA \
- STATIC_CALL_DATA \
+ JUMP_TABLE_RO_AFTER_INIT_DATA \
+ STATIC_CALL_RO_AFTER_INIT_DATA \
__end_ro_after_init = .;
#endif

@@ -433,7 +433,7 @@
.rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
__start_rodata = .; \
*(.rodata) *(.rodata.*) \
- SCHED_DATA \
+ SCHED_RODATA \
RO_AFTER_INIT_DATA /* Read only after init */ \
. = ALIGN(8); \
__start___tracepoints_ptrs = .; \
--
2.30.2