summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/vmlinux.lds.h
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2020-08-21 12:42:59 -0700
committerIngo Molnar <mingo@kernel.org>2020-09-01 10:03:18 +0200
commit0c918e753f8c03b0308a635c0721a8c24d738d4a (patch)
tree640d34b4abcd9cb18c34ce4b3d25462d1ef7a5a2 /arch/arm/include/asm/vmlinux.lds.h
parent512dd2eebe5585893412e0c8bec8dbfe2dead6c8 (diff)
arm/build: Assert for unwanted sections
In preparation for warning on orphan sections, enforce expected-to-be-zero-sized sections (since discarding them might hide problems with them suddenly gaining unexpected entries). Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Russell King <linux@armlinux.org.uk> Link: https://lore.kernel.org/r/20200821194310.3089815-19-keescook@chromium.org
Diffstat (limited to 'arch/arm/include/asm/vmlinux.lds.h')
-rw-r--r--arch/arm/include/asm/vmlinux.lds.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/include/asm/vmlinux.lds.h b/arch/arm/include/asm/vmlinux.lds.h
index 6624dd97475c..4a91428c324d 100644
--- a/arch/arm/include/asm/vmlinux.lds.h
+++ b/arch/arm/include/asm/vmlinux.lds.h
@@ -52,6 +52,17 @@
ARM_MMU_DISCARD(*(__ex_table)) \
COMMON_DISCARDS
+/*
+ * Sections that should stay zero sized, which is safer to explicitly
+ * check instead of blindly discarding.
+ */
+#define ARM_ASSERTS \
+ .plt : { \
+ *(.iplt) *(.rel.iplt) *(.iplt) *(.igot.plt) \
+ } \
+ ASSERT(SIZEOF(.plt) == 0, \
+ "Unexpected run-time procedure linkages detected!")
+
#define ARM_DETAILS \
ELF_DETAILS \
.ARM.attributes 0 : { *(.ARM.attributes) }