Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754899AbeAGWM4 (ORCPT + 1 other); Sun, 7 Jan 2018 17:12:56 -0500 Received: from smtp-fw-33001.amazon.com ([207.171.190.10]:51488 "EHLO smtp-fw-33001.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754856AbeAGWMo (ORCPT ); Sun, 7 Jan 2018 17:12:44 -0500 X-IronPort-AV: E=Sophos;i="5.46,327,1511827200"; d="scan'208";a="713973183" 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 v6 10/10] x86/retpoline: Exclude objtool with retpoline Date: Sun, 7 Jan 2018 22:11:25 +0000 Message-Id: <1515363085-4219-11-git-send-email-dwmw@amazon.co.uk> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515363085-4219-1-git-send-email-dwmw@amazon.co.uk> References: <1515363085-4219-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 Acked-By: Arjan van de Ven --- 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//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