From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753919AbcB2LCX (ORCPT ); Mon, 29 Feb 2016 06:02:23 -0500 Received: from torg.zytor.com ([198.137.202.12]:53042 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752611AbcB2LCV (ORCPT ); Mon, 29 Feb 2016 06:02:21 -0500 Date: Mon, 29 Feb 2016 03:00:45 -0800 From: tip-bot for Josh Poimboeuf Message-ID: Cc: tglx@linutronix.de, luto@kernel.org, torvalds@linux-foundation.org, jslaby@suse.cz, hpa@zytor.com, linux-kernel@vger.kernel.org, anil.s.keshavamurthy@intel.com, bp@alien8.de, namhyung@gmail.com, chris.j.arges@canonical.com, palves@redhat.com, peterz@infradead.org, jpoimboe@redhat.com, mingo@kernel.org, acme@kernel.org, davem@davemloft.net, mmarek@suse.cz, masami.hiramatsu.pt@hitachi.com, ananth@in.ibm.com, bernd@petrovitsch.priv.at, akpm@linux-foundation.org Reply-To: davem@davemloft.net, mmarek@suse.cz, jpoimboe@redhat.com, mingo@kernel.org, acme@kernel.org, akpm@linux-foundation.org, masami.hiramatsu.pt@hitachi.com, ananth@in.ibm.com, bernd@petrovitsch.priv.at, tglx@linutronix.de, luto@kernel.org, namhyung@gmail.com, chris.j.arges@canonical.com, palves@redhat.com, peterz@infradead.org, torvalds@linux-foundation.org, jslaby@suse.cz, linux-kernel@vger.kernel.org, hpa@zytor.com, anil.s.keshavamurthy@intel.com, bp@alien8.de In-Reply-To: <7eaf37de52456ff822ffc86b928edb5d48a40ef1.1456719558.git.jpoimboe@redhat.com> References: <7eaf37de52456ff822ffc86b928edb5d48a40ef1.1456719558.git.jpoimboe@redhat.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:core/objtool] x86/kprobes: Mark kretprobe_trampoline() stack frame as non-standard Git-Commit-ID: 87aaff2ae09036cf699fde20dfd52ce7d3c8eabe X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 87aaff2ae09036cf699fde20dfd52ce7d3c8eabe Gitweb: http://git.kernel.org/tip/87aaff2ae09036cf699fde20dfd52ce7d3c8eabe Author: Josh Poimboeuf AuthorDate: Sun, 28 Feb 2016 22:22:40 -0600 Committer: Ingo Molnar CommitDate: Mon, 29 Feb 2016 08:35:12 +0100 x86/kprobes: Mark kretprobe_trampoline() stack frame as non-standard objtool reports the following warning for kretprobe_trampoline(): arch/x86/kernel/kprobes/core.o: warning: objtool: kretprobe_trampoline()+0x20: call without frame pointer save/setup kretprobes are a special case where the stack is intentionally wrong. The return address isn't known at the beginning of the trampoline, so the stack frame can't be set up properly before it calls trampoline_handler(). Because kretprobe handlers don't sleep, the frame pointer doesn't *have* to be accurate in the trampoline. So it's ok to tell objtool to ignore it. This results in no actual changes to the generated code. Signed-off-by: Josh Poimboeuf Cc: Ananth N Mavinakayanahalli Cc: Andrew Morton Cc: Andy Lutomirski Cc: Anil S Keshavamurthy Cc: Arnaldo Carvalho de Melo Cc: Bernd Petrovitsch Cc: Borislav Petkov Cc: Chris J Arges Cc: David S. Miller Cc: Jiri Slaby Cc: Linus Torvalds Cc: Masami Hiramatsu Cc: Michal Marek Cc: Namhyung Kim Cc: Pedro Alves Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: live-patching@vger.kernel.org Link: http://lkml.kernel.org/r/7eaf37de52456ff822ffc86b928edb5d48a40ef1.1456719558.git.jpoimboe@redhat.com Signed-off-by: Ingo Molnar --- arch/x86/kernel/kprobes/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/kernel/kprobes/core.c b/arch/x86/kernel/kprobes/core.c index 48acaac..ae703ac 100644 --- a/arch/x86/kernel/kprobes/core.c +++ b/arch/x86/kernel/kprobes/core.c @@ -49,6 +49,7 @@ #include #include #include +#include #include #include @@ -703,6 +704,7 @@ asm( ".size kretprobe_trampoline, .-kretprobe_trampoline\n" ); NOKPROBE_SYMBOL(kretprobe_trampoline); +STACK_FRAME_NON_STANDARD(kretprobe_trampoline); /* * Called from kretprobe_trampoline