Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758578AbeAIOoJ (ORCPT + 1 other); Tue, 9 Jan 2018 09:44:09 -0500 Received: from smtp-fw-4101.amazon.com ([72.21.198.25]:5442 "EHLO smtp-fw-4101.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758516AbeAIOoF (ORCPT ); Tue, 9 Jan 2018 09:44:05 -0500 X-IronPort-AV: E=Sophos;i="5.46,335,1511827200"; d="scan'208";a="702509860" 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, x86@kernel.org Subject: [PATCH v7 02/11] x86/retpoline: Temporarily disable objtool when CONFIG_RETPOLINE=y Date: Tue, 9 Jan 2018 14:43:08 +0000 Message-Id: <1515508997-6154-3-git-send-email-dwmw@amazon.co.uk> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515508997-6154-1-git-send-email-dwmw@amazon.co.uk> References: <1515508997-6154-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 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 the kernel has to fallback to use the frame pointer unwinder and livepatch is not supported. Josh is looking into resolving the issue. Signed-off-by: Andi Kleen Signed-off-by: David Woodhouse Acked-By: Arjan van de Ven Acked-by: Ingo Molnar Cc: gnomes@lxorguk.ukuu.org.uk Cc: Rik van Riel Cc: Peter Zijlstra Cc: Linus Torvalds Cc: Jiri Kosina Cc: Andy Lutomirski Cc: Dave Hansen Cc: Kees Cook Cc: Tim Chen Cc: Greg Kroah-Hartman Cc: Paul Turner Cc: Josh Poimboeuf --- 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 d181916..abeac4b 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 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