From: Kees Cook <keescook@chromium.org> To: Ingo Molnar <mingo@kernel.org> Cc: Kees Cook <keescook@chromium.org>, Nick Desaulniers <ndesaulniers@google.com>, Borislav Petkov <bp@suse.de>, Catalin Marinas <catalin.marinas@arm.com>, Mark Rutland <mark.rutland@arm.com>, Ard Biesheuvel <ardb@kernel.org>, Peter Collingbourne <pcc@google.com>, James Morse <james.morse@arm.com>, Ingo Molnar <mingo@redhat.com>, Russell King <linux@armlinux.org.uk>, Masahiro Yamada <masahiroy@kernel.org>, Arvind Sankar <nivedita@alum.mit.edu>, Nathan Chancellor <natechancellor@gmail.com>, Arnd Bergmann <arnd@arndb.de>, x86@kernel.org, clang-built-linux@googlegroups.com, linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 2/5] arm/build: Warn on orphan section placement Date: Tue, 1 Sep 2020 19:53:44 -0700 [thread overview] Message-ID: <20200902025347.2504702-3-keescook@chromium.org> (raw) In-Reply-To: <20200902025347.2504702-1-keescook@chromium.org> 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. Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Kees Cook <keescook@chromium.org> --- arch/arm/Makefile | 4 ++++ 1 file changed, 4 insertions(+) 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 -- 2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Kees Cook <keescook@chromium.org> To: Ingo Molnar <mingo@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com>, linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, Kees Cook <keescook@chromium.org>, Arnd Bergmann <arnd@arndb.de>, Catalin Marinas <catalin.marinas@arm.com>, Masahiro Yamada <masahiroy@kernel.org>, x86@kernel.org, Nick Desaulniers <ndesaulniers@google.com>, Russell King <linux@armlinux.org.uk>, linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com, Arvind Sankar <nivedita@alum.mit.edu>, Ingo Molnar <mingo@redhat.com>, James Morse <james.morse@arm.com>, Nathan Chancellor <natechancellor@gmail.com>, Borislav Petkov <bp@suse.de>, Peter Collingbourne <pcc@google.com>, Ard Biesheuvel <ardb@kernel.org>, linux-arm-kernel@lists.infradead.org Subject: [PATCH v7 2/5] arm/build: Warn on orphan section placement Date: Tue, 1 Sep 2020 19:53:44 -0700 [thread overview] Message-ID: <20200902025347.2504702-3-keescook@chromium.org> (raw) In-Reply-To: <20200902025347.2504702-1-keescook@chromium.org> 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. Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Kees Cook <keescook@chromium.org> --- arch/arm/Makefile | 4 ++++ 1 file changed, 4 insertions(+) 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 -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-09-02 2:54 UTC|newest] Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-02 2:53 [PATCH v7 0/5] Warn on orphan section placement Kees Cook 2020-09-02 2:53 ` Kees Cook 2020-09-02 2:53 ` [PATCH v7 1/5] arm64/build: " Kees Cook 2020-09-02 2:53 ` Kees Cook 2020-09-07 6:05 ` [tip: core/build] " tip-bot2 for Kees Cook 2020-09-02 2:53 ` Kees Cook [this message] 2020-09-02 2:53 ` [PATCH v7 2/5] arm/build: " Kees Cook 2020-09-07 6:05 ` [tip: core/build] " tip-bot2 for Kees Cook 2020-09-02 2:53 ` [PATCH v7 3/5] arm/boot: " Kees Cook 2020-09-02 2:53 ` Kees Cook 2020-09-07 6:05 ` [tip: core/build] " tip-bot2 for Kees Cook 2020-09-02 2:53 ` [PATCH v7 4/5] x86/build: " Kees Cook 2020-09-02 2:53 ` Kees Cook 2020-09-05 22:48 ` Arvind Sankar 2020-09-05 22:48 ` Arvind Sankar 2020-09-08 20:17 ` Arvind Sankar 2020-09-08 20:17 ` Arvind Sankar 2020-09-07 6:05 ` [tip: core/build] " tip-bot2 for Kees Cook 2020-09-02 2:53 ` [PATCH v7 5/5] x86/boot/compressed: " Kees Cook 2020-09-02 2:53 ` Kees Cook 2020-09-02 14:38 ` kernel test robot 2020-09-02 18:49 ` Kees Cook 2020-09-07 6:05 ` [tip: core/build] " tip-bot2 for Kees Cook 2020-09-02 19:04 ` [PATCH v7 0/5] " Nick Desaulniers 2020-09-02 19:04 ` Nick Desaulniers 2020-09-04 5:58 ` Ingo Molnar 2020-09-04 5:58 ` Ingo Molnar 2020-09-04 18:20 ` Kees Cook 2020-09-04 18:20 ` Kees Cook 2020-09-06 7:24 ` Ingo Molnar 2020-09-06 7:24 ` Ingo Molnar
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200902025347.2504702-3-keescook@chromium.org \ --to=keescook@chromium.org \ --cc=ardb@kernel.org \ --cc=arnd@arndb.de \ --cc=bp@suse.de \ --cc=catalin.marinas@arm.com \ --cc=clang-built-linux@googlegroups.com \ --cc=james.morse@arm.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-efi@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=mark.rutland@arm.com \ --cc=masahiroy@kernel.org \ --cc=mingo@kernel.org \ --cc=mingo@redhat.com \ --cc=natechancellor@gmail.com \ --cc=ndesaulniers@google.com \ --cc=nivedita@alum.mit.edu \ --cc=pcc@google.com \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.