lkml.org 
[lkml]   [2019]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 22/43] x86/purgatory: Disable the stackleak GCC plugin for the purgatory
    Date
    From: Arvind Sankar <nivedita@alum.mit.edu>

    [ Upstream commit ca14c996afe7228ff9b480cf225211cc17212688 ]

    Since commit:

    b059f801a937 ("x86/purgatory: Use CFLAGS_REMOVE rather than reset KBUILD_CFLAGS")

    kexec breaks if GCC_PLUGIN_STACKLEAK=y is enabled, as the purgatory
    contains undefined references to stackleak_track_stack.

    Attempting to load a kexec kernel results in this failure:

    kexec: Undefined symbol: stackleak_track_stack
    kexec-bzImage64: Loading purgatory failed

    Fix this by disabling the stackleak plugin for the purgatory.

    Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Fixes: b059f801a937 ("x86/purgatory: Use CFLAGS_REMOVE rather than reset KBUILD_CFLAGS")
    Link: https://lkml.kernel.org/r/20190923171753.GA2252517@rani.riverdale.lan
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/x86/purgatory/Makefile | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/arch/x86/purgatory/Makefile b/arch/x86/purgatory/Makefile
    index 10fb42da0007e..b81b5172cf994 100644
    --- a/arch/x86/purgatory/Makefile
    +++ b/arch/x86/purgatory/Makefile
    @@ -23,6 +23,7 @@ KCOV_INSTRUMENT := n

    PURGATORY_CFLAGS_REMOVE := -mcmodel=kernel
    PURGATORY_CFLAGS := -mcmodel=large -ffreestanding -fno-zero-initialized-in-bss
    +PURGATORY_CFLAGS += $(DISABLE_STACKLEAK_PLUGIN)

    # 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.20.1
    \
     
     \ /
      Last update: 2019-10-01 18:53    [W:4.066 / U:0.324 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site