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
This commit is contained in:
parent
512dd2eebe
commit
0c918e753f
@ -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) }
|
||||
|
@ -152,6 +152,8 @@ SECTIONS
|
||||
STABS_DEBUG
|
||||
DWARF_DEBUG
|
||||
ARM_DETAILS
|
||||
|
||||
ARM_ASSERTS
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -151,6 +151,8 @@ SECTIONS
|
||||
STABS_DEBUG
|
||||
DWARF_DEBUG
|
||||
ARM_DETAILS
|
||||
|
||||
ARM_ASSERTS
|
||||
}
|
||||
|
||||
#ifdef CONFIG_STRICT_KERNEL_RWX
|
||||
|
Loading…
Reference in New Issue
Block a user