summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2020-09-01 19:53:44 -0700
committerIngo Molnar <mingo@kernel.org>2020-09-03 10:28:35 +0200
commit5a17850e251a55bba6d65aefbfeacfa9888cd2cd (patch)
tree2e24a054941809eac81d1506590f5a5e4f27b5d4 /arch
parentb3e5d80d0c48c0cc7bce56473672f4e6e1210910 (diff)
downloadlinux-5a17850e251a55bba6d65aefbfeacfa9888cd2cd.tar.bz2
arm/build: Warn on orphan section placement
We don't want to depend on the linker's orphan section placement heuristics as these can vary between linkers, and may change between versions. All sections need to be explicitly handled in the linker script. Specifically, this would have made a recently fixed bug very obvious: ld: warning: orphan section `.fixup' from `arch/arm/lib/copy_from_user.o' being placed in section `.fixup' With all sections handled, enable orphan section warning. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Link: https://lore.kernel.org/r/20200902025347.2504702-3-keescook@chromium.org
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/Makefile4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 4e877354515f..e589da3c8949 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -16,6 +16,10 @@ LDFLAGS_vmlinux += --be8
KBUILD_LDFLAGS_MODULE += --be8
endif
+# We never want expected sections to be placed heuristically by the
+# linker. All sections should be explicitly named in the linker script.
+LDFLAGS_vmlinux += $(call ld-option, --orphan-handling=warn)
+
ifeq ($(CONFIG_ARM_MODULE_PLTS),y)
KBUILD_LDS_MODULE += $(srctree)/arch/arm/kernel/module.lds
endif