From: Arvind Sankar <nivedita@alum.mit.edu>
To: Gabriel C <nix.or.die@googlemail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Hans de Goede <hdegoede@redhat.com>
Subject: Re: Linux 5.8-rc1
Date: Tue, 16 Jun 2020 16:33:52 -0400 [thread overview]
Message-ID: <20200616203352.GA1815527@rani.riverdale.lan> (raw)
In-Reply-To: <CAEJqkgi3w+zvMkRBP4VtAewX1UJxrVNRQ03MtRN_yH-PwOOScQ@mail.gmail.com>
On Tue, Jun 16, 2020 at 10:11:46PM +0200, Gabriel C wrote:
> * Am So., 14. Juni 2020 um 22:44 Uhr schrieb Linus Torvalds
> <torvalds@linux-foundation.org>:
>
> Hello,
>
> > So I didn't really expect this, but 5.8 looks to be one of our biggest
> > releases of all time.
> >
>
> I hit a compiler error caused by e4160b2e4b02377c67f8ecd05786811598f39acd.
>
> x86/purgatory: Fail the build if purgatory.ro has missing symbols
>
> Having CONFIG_STACKPROTECTOR* & CONFIG_KEXEC_FILE enabled always
> results in a linking error like this:
>
> LD arch/x86/purgatory/purgatory.chk
> ld: arch/x86/purgatory/purgatory.ro: in function `verify_sha256_digest':
> purgatory.c:(.text+0x108): undefined reference to `__stack_chk_fail'
> ld: arch/x86/purgatory/purgatory.ro: in function `sha256_transform':
> sha256.c:(.text+0x1c74): undefined reference to `__stack_chk_fail'
> ld: arch/x86/purgatory/purgatory.ro: in function `__sha256_final':
> sha256.c:(.text+0x1e65): undefined reference to `__stack_chk_fail'
> ld: arch/x86/purgatory/purgatory.ro: in function `_kstrtoull':
> string.c:(.text+0x2107): undefined reference to `__stack_chk_fail'
>
> I didn't look closer at that but from the error, it seems to be,
> some missing -fstack-protector* vs -fno-stack-protector* checks
> somewhere.
>
>
> Best Regards,
>
> Gabriel C
Can you attach the output of gcc -dumpspecs and gcc -v? I suspect your
compiler enables stack protector by default. My distro compiler does
that too, but not if -ffreestanding is enabled (which it is for the
purgatory).
Does this patch help?
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
next prev parent reply other threads:[~2020-06-16 20:33 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 [this message]
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 ` [PATCH] x86/purgatory: Add -fno-stack-protector Arvind Sankar
2020-06-17 0:06 ` 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=20200616203352.GA1815527@rani.riverdale.lan \
--to=nivedita@alum.mit.edu \
--cc=hdegoede@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nix.or.die@googlemail.com \
--cc=torvalds@linux-foundation.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).