[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1801081124070.1735@nanos>
Date: Mon, 8 Jan 2018 11:25:04 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: David Woodhouse <dwmw@...zon.co.uk>
cc: Andi Kleen <ak@...ux.intel.com>, Paul Turner <pjt@...gle.com>,
LKML <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Greg Kroah-Hartman <gregkh@...ux-foundation.org>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Dave Hansen <dave.hansen@...el.com>,
Kees Cook <keescook@...gle.com>,
Rik van Riel <riel@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Andy Lutomirski <luto@...capital.net>,
Jiri Kosina <jikos@...nel.org>, gnomes@...rguk.ukuu.org.uk
Subject: Re: [PATCH v6 10/10] x86/retpoline: Exclude objtool with retpoline
On Sun, 7 Jan 2018, David Woodhouse wrote:
Cc+ Josh Poimboeuf <jpoimboe@...hat.com>
Sigh....
> From: Andi Kleen <ak@...ux.intel.com>
>
> objtool's assembler nanny currently cannot deal with the code generated
> by the retpoline compiler and throws hundreds of warnings, mostly
> because it sees calls that don't have a symbolic target.
>
> Exclude all the options that rely on objtool when RETPOLINE is active.
>
> This mainly means that we use the frame pointer unwinder and livepatch
> is not supported.
>
> Eventually objtool can be fixed to handle this.
>
> Signed-off-by: Andi Kleen <ak@...ux.intel.com>
> Signed-off-by: David Woodhouse <dwmw@...zon.co.uk>
> Acked-By: Arjan van de Ven <arjan@...ux.intel.com>
> ---
> arch/x86/Kconfig | 4 ++--
> arch/x86/Kconfig.debug | 6 +++---
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 77c58ae..651d25f 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -171,8 +171,8 @@ config X86
> select HAVE_PERF_USER_STACK_DUMP
> select HAVE_RCU_TABLE_FREE
> select HAVE_REGS_AND_STACK_ACCESS_API
> - select HAVE_RELIABLE_STACKTRACE if X86_64 && UNWINDER_FRAME_POINTER && STACK_VALIDATION
> - select HAVE_STACK_VALIDATION if X86_64
> + select HAVE_RELIABLE_STACKTRACE if X86_64 && UNWINDER_FRAME_POINTER && STACK_VALIDATION && !RETPOLINE
> + select HAVE_STACK_VALIDATION if X86_64 && !RETPOLINE
> select HAVE_SYSCALL_TRACEPOINTS
> select HAVE_UNSTABLE_SCHED_CLOCK
> select HAVE_USER_RETURN_NOTIFIER
> diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
> index 6293a87..9f3928d 100644
> --- a/arch/x86/Kconfig.debug
> +++ b/arch/x86/Kconfig.debug
> @@ -359,8 +359,8 @@ config PUNIT_ATOM_DEBUG
>
> choice
> prompt "Choose kernel unwinder"
> - default UNWINDER_ORC if X86_64
> - default UNWINDER_FRAME_POINTER if X86_32
> + default UNWINDER_ORC if X86_64 && !RETPOLINE
> + default UNWINDER_FRAME_POINTER if X86_32 || RETPOLINE
> ---help---
> This determines which method will be used for unwinding kernel stack
> traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
> @@ -368,7 +368,7 @@ choice
>
> config UNWINDER_ORC
> bool "ORC unwinder"
> - depends on X86_64
> + depends on X86_64 && !RETPOLINE
> select STACK_VALIDATION
> ---help---
> This option enables the ORC (Oops Rewind Capability) unwinder for
> --
> 2.7.4
>
>
Powered by blists - more mailing lists