Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751753AbeAECCL (ORCPT + 1 other); Thu, 4 Jan 2018 21:02:11 -0500 Received: from smtp-fw-6002.amazon.com ([52.95.49.90]:33873 "EHLO smtp-fw-6002.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751700AbeAECCF (ORCPT ); Thu, 4 Jan 2018 21:02:05 -0500 X-IronPort-AV: E=Sophos;i="5.46,316,1511827200"; d="scan'208";a="325558716" From: David Woodhouse To: Andi Kleen Cc: Paul Turner , LKML , Linus Torvalds , Greg Kroah-Hartman , Tim Chen , Dave Hansen , tglx@linutronix.de, Kees Cook , Rik van Riel , Peter Zijlstra , Andy Lutomirski , Jiri Kosina , gnomes@lxorguk.ukuu.org.uk Subject: [PATCH v4 13/13] x86/retpoline: Exclude objtool with retpoline Date: Fri, 5 Jan 2018 02:01:09 +0000 Message-Id: <1515117669-24787-14-git-send-email-dwmw@amazon.co.uk> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515117669-24787-1-git-send-email-dwmw@amazon.co.uk> References: <1515117669-24787-1-git-send-email-dwmw@amazon.co.uk> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: From: Andi Kleen 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 Signed-off-by: David Woodhouse --- 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 1009d1a..439633a 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -172,8 +172,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 672441c..f169d88 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//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