From: Arvind Sankar <nivedita@alum.mit.edu>
To: x86@kernel.org, kexec@lists.infradead.org
Cc: linux-kernel@vger.kernel.org,
Gabriel C <nix.or.die@googlemail.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Hans de Goede <hdegoede@redhat.com>,
Borislav Petkov <bp@alien8.de>
Subject: [PATCH] x86/purgatory: Add -fno-stack-protector
Date: Tue, 16 Jun 2020 18:25:47 -0400 [thread overview]
Message-ID: <20200616222547.1979233-1-nivedita@alum.mit.edu> (raw)
In-Reply-To: <CAEJqkggDJEC4W9V6ijmPoE0-soKE7zBUWUiDLdCZArEsDo9vrQ@mail.gmail.com>
The purgatory Makefile removes -fstack-protector options if they were
configured in, but does not currently add -fno-stack-protector.
If gcc was configured with the --enable-default-ssp configure option,
this results in the stack protector still being enabled for the
purgatory (absent distro-specific specs files that might disable it
again for freestanding compilations), if the main kernel is being
compiled with stack protection enabled (if it's disabled for the main
kernel, the top-level Makefile will add -fno-stack-protector).
This will break the build since commit
e4160b2e4b02 ("x86/purgatory: Fail the build if purgatory.ro has missing symbols")
and prior to that would have caused runtime failure when trying to use
kexec.
Explicitly add -fno-stack-protector to avoid this, as done in other
Makefiles that need to disable the stack protector.
Reported-by: Gabriel C <nix.or.die@googlemail.com>
Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
---
arch/x86/purgatory/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/purgatory/Makefile b/arch/x86/purgatory/Makefile
index b04e6e72a592..088bd764e0b7 100644
--- a/arch/x86/purgatory/Makefile
+++ b/arch/x86/purgatory/Makefile
@@ -34,6 +34,7 @@ KCOV_INSTRUMENT := n
PURGATORY_CFLAGS_REMOVE := -mcmodel=kernel
PURGATORY_CFLAGS := -mcmodel=large -ffreestanding -fno-zero-initialized-in-bss
PURGATORY_CFLAGS += $(DISABLE_STACKLEAK_PLUGIN) -DDISABLE_BRANCH_PROFILING
+PURGATORY_CFLAGS += $(call cc-option,-fno-stack-protector)
# Default KBUILD_CFLAGS can have -pg option set when FTRACE is enabled. That
# in turn leaves some undefined symbols like __fentry__ in purgatory and not
--
2.26.2
next prev parent reply other threads:[~2020-06-16 22:25 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-14 20:44 Linux 5.8-rc1 Linus Torvalds
2020-06-15 1:59 ` linux-next: stats (Was: Linux 5.8-rc1) Stephen Rothwell
2020-06-16 20:11 ` Linux 5.8-rc1 Gabriel C
2020-06-16 20:33 ` Arvind Sankar
2020-06-16 21:17 ` Gabriel C
2020-06-16 21:25 ` Arvind Sankar
2020-06-16 22:00 ` Gabriel C
2020-06-16 22:28 ` Arvind Sankar
2020-06-16 21:35 ` Gabriel C
2020-06-16 22:25 ` Arvind Sankar [this message]
2020-06-17 0:06 ` [PATCH] x86/purgatory: Add -fno-stack-protector Linus Torvalds
2020-06-16 20:37 ` Linux 5.8-rc1 Borislav Petkov
2020-06-16 21:19 ` Gabriel C
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=20200616222547.1979233-1-nivedita@alum.mit.edu \
--to=nivedita@alum.mit.edu \
--cc=bp@alien8.de \
--cc=hdegoede@redhat.com \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nix.or.die@googlemail.com \
--cc=torvalds@linux-foundation.org \
--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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).