All of lore.kernel.org
 help / color / mirror / Atom feed
From: "tip-bot2 for Borislav Petkov" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Borislav Petkov <bp@suse.de>, Jiri Slaby <jslaby@suse.cz>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	"Steven Rostedt (VMware)" <rostedt@goodmis.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	x86@kernel.org, Ingo Molnar <mingo@kernel.org>,
	Borislav Petkov <bp@alien8.de>
Subject: [tip: x86/asm] x86/ftrace: Get rid of function_hook
Date: Fri, 25 Oct 2019 09:00:00 -0000	[thread overview]
Message-ID: <157199400012.29376.15138755769283504073.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20191018124800.0a7006bb@gandalf.local.home>

The following commit has been merged into the x86/asm branch of tip:

Commit-ID:     0f42c1ad44d437f75b840b572376fd538fbb9643
Gitweb:        https://git.kernel.org/tip/0f42c1ad44d437f75b840b572376fd538fbb9643
Author:        Borislav Petkov <bp@suse.de>
AuthorDate:    Mon, 21 Oct 2019 17:18:23 +02:00
Committer:     Borislav Petkov <bp@suse.de>
CommitterDate: Fri, 25 Oct 2019 10:52:22 +02:00

x86/ftrace: Get rid of function_hook

History lesson courtesy of Steve:

"When ftrace first was introduced to the kernel, it used gcc's
mcount profiling mechanism. The mcount mechanism would add a call to
"mcount" at the start of every function but after the stack frame was
set up. Later, in gcc 4.6, gcc introduced -mfentry, that would create a
call to "__fentry__" instead of "mcount", before the stack frame was
set up. In order to handle both cases, ftrace defined a macro
"function_hook" that would be either "mcount" or "__fentry__" depending
on which one was being used.

The Linux kernel no longer supports the "mcount" method, thus there's
no reason to keep the "function_hook" define around. Simply use
"__fentry__", as there is no ambiguity to the name anymore."

Drop it everywhere.

Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Jiri Slaby <jslaby@suse.cz>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: linux-doc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: x86@kernel.org
Link: http://lkml.kernel.org/r/20191018124800.0a7006bb@gandalf.local.home
---
 Documentation/asm-annotations.rst |  4 ++--
 arch/x86/kernel/ftrace_32.S       |  8 +++-----
 arch/x86/kernel/ftrace_64.S       | 13 ++++++-------
 3 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/Documentation/asm-annotations.rst b/Documentation/asm-annotations.rst
index 29ccd6e..f55c2bb 100644
--- a/Documentation/asm-annotations.rst
+++ b/Documentation/asm-annotations.rst
@@ -117,9 +117,9 @@ This section covers ``SYM_FUNC_*`` and ``SYM_CODE_*`` enumerated above.
   So in most cases, developers should write something like in the following
   example, having some asm instructions in between the macros, of course::
 
-    SYM_FUNC_START(function_hook)
+    SYM_FUNC_START(memset)
         ... asm insns ...
-    SYM_FUNC_END(function_hook)
+    SYM_FUNC_END(memset)
 
   In fact, this kind of annotation corresponds to the now deprecated ``ENTRY``
   and ``ENDPROC`` macros.
diff --git a/arch/x86/kernel/ftrace_32.S b/arch/x86/kernel/ftrace_32.S
index 8ed1f5d..e8a9f83 100644
--- a/arch/x86/kernel/ftrace_32.S
+++ b/arch/x86/kernel/ftrace_32.S
@@ -12,18 +12,16 @@
 #include <asm/frame.h>
 #include <asm/asm-offsets.h>
 
-# define function_hook	__fentry__
-EXPORT_SYMBOL(__fentry__)
-
 #ifdef CONFIG_FRAME_POINTER
 # define MCOUNT_FRAME			1	/* using frame = true  */
 #else
 # define MCOUNT_FRAME			0	/* using frame = false */
 #endif
 
-SYM_FUNC_START(function_hook)
+SYM_FUNC_START(__fentry__)
 	ret
-SYM_FUNC_END(function_hook)
+SYM_FUNC_END(__fentry__)
+EXPORT_SYMBOL(__fentry__)
 
 SYM_CODE_START(ftrace_caller)
 
diff --git a/arch/x86/kernel/ftrace_64.S b/arch/x86/kernel/ftrace_64.S
index 69c8d1b..6e8961c 100644
--- a/arch/x86/kernel/ftrace_64.S
+++ b/arch/x86/kernel/ftrace_64.S
@@ -14,9 +14,6 @@
 	.code64
 	.section .entry.text, "ax"
 
-# define function_hook	__fentry__
-EXPORT_SYMBOL(__fentry__)
-
 #ifdef CONFIG_FRAME_POINTER
 /* Save parent and function stack frames (rip and rbp) */
 #  define MCOUNT_FRAME_SIZE	(8+16*2)
@@ -132,9 +129,10 @@ EXPORT_SYMBOL(__fentry__)
 
 #ifdef CONFIG_DYNAMIC_FTRACE
 
-SYM_FUNC_START(function_hook)
+SYM_FUNC_START(__fentry__)
 	retq
-SYM_FUNC_END(function_hook)
+SYM_FUNC_END(__fentry__)
+EXPORT_SYMBOL(__fentry__)
 
 SYM_FUNC_START(ftrace_caller)
 	/* save_mcount_regs fills in first two parameters */
@@ -248,7 +246,7 @@ SYM_FUNC_END(ftrace_regs_caller)
 
 #else /* ! CONFIG_DYNAMIC_FTRACE */
 
-SYM_FUNC_START(function_hook)
+SYM_FUNC_START(__fentry__)
 	cmpq $ftrace_stub, ftrace_trace_function
 	jnz trace
 
@@ -279,7 +277,8 @@ trace:
 	restore_mcount_regs
 
 	jmp fgraph_trace
-SYM_FUNC_END(function_hook)
+SYM_FUNC_END(__fentry__)
+EXPORT_SYMBOL(__fentry__)
 #endif /* CONFIG_DYNAMIC_FTRACE */
 
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER

  parent reply	other threads:[~2019-10-25  9:00 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-11 11:50 [PATCH v9 00/28] New macros for assembler symbols Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 01/28] linkage: Introduce new " Jiri Slaby
2019-10-11 11:50   ` [Xen-devel] " Jiri Slaby
2019-10-11 11:50   ` Jiri Slaby
2019-10-14  9:31   ` Rafael J. Wysocki
2019-10-14  9:31     ` [Xen-devel] " Rafael J. Wysocki
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 02/28] x86/asm/suspend: Use SYM_DATA for data Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 03/28] x86/asm: Annotate relocate_kernel_{32,64}.c Jiri Slaby
2019-10-14 13:15   ` Borislav Petkov
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 04/28] x86/asm/entry: Annotate THUNKs Jiri Slaby
2019-10-14 13:38   ` Borislav Petkov
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 05/28] x86/asm: Annotate local pseudo-functions Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 06/28] x86/asm/crypto: Annotate local functions Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 07/28] x86/boot: " Jiri Slaby
2019-10-14 14:27   ` Borislav Petkov
2019-10-15  5:43     ` Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 08/28] x86/uaccess: Annotate local function Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 09/28] x86/asm: Annotate aliases Jiri Slaby
2019-10-11 11:50   ` [Xen-devel] " Jiri Slaby
2019-10-11 11:50   ` Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 10/28] x86/asm/entry: Annotate interrupt symbols properly Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 11/28] x86/asm/head: Annotate data appropriately Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 12/28] x86/boot: " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 13/28] um: " Jiri Slaby
2019-10-15 15:37   ` Richard Weinberger
2019-10-18 16:30   ` [tip: x86/asm] x86/um: " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 14/28] xen/pvh: " Jiri Slaby
2019-10-11 11:50   ` [Xen-devel] " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 15/28] x86/asm/purgatory: Start using annotations Jiri Slaby
2019-10-15 17:03   ` Borislav Petkov
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 16/28] x86/asm: Do not annotate functions by GLOBAL Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm: Do not annotate functions with GLOBAL tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 17/28] x86/asm: Use SYM_INNER_LABEL instead of GLOBAL Jiri Slaby
2019-10-15 17:31   ` Borislav Petkov
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 18/28] x86/asm/realmode: Use SYM_DATA_* " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 19/28] x86/asm: Kill the last GLOBAL user and remove the macro Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm: Remove " tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 20/28] x86/asm: Make some functions local Jiri Slaby
2019-10-11 11:51   ` [Xen-devel] " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 21/28] x86/asm/ftrace: Mark function_hook as function Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-18 16:48     ` Steven Rostedt
2019-10-18 16:49       ` Steven Rostedt
2019-10-18 17:13         ` Borislav Petkov
2019-10-18 17:37           ` Steven Rostedt
2019-10-18 19:48             ` Borislav Petkov
2019-10-18 20:31               ` Steven Rostedt
2019-10-19  7:34                 ` Borislav Petkov
2019-10-21 14:10                   ` [PATCH] x86/ftrace: Get rid of function_hook Borislav Petkov
2019-10-21 14:33                     ` Steven Rostedt
2019-10-22 11:38                     ` Jiri Slaby
2019-10-22 12:56                       ` Borislav Petkov
2019-10-22 12:57                         ` [PATCH -v2] " Borislav Petkov
2019-10-25  9:00       ` tip-bot2 for Borislav Petkov [this message]
2019-10-11 11:51 ` [PATCH v9 22/28] x86_64/asm: Add ENDs to some functions and relabel with SYM_CODE_* Jiri Slaby
2019-10-11 11:51   ` [Xen-devel] " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm/64: " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 23/28] x86_64/asm: Change all ENTRY+END to SYM_CODE_* Jiri Slaby
2019-10-11 11:51   ` [Xen-devel] " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm/64: " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 24/28] x86_64/asm: Change all ENTRY+ENDPROC to SYM_FUNC_* Jiri Slaby
2019-10-11 11:51   ` [Xen-devel] " Jiri Slaby
2019-10-16  7:12   ` Borislav Petkov
2019-10-16  7:12     ` [Xen-devel] " Borislav Petkov
2019-10-16  7:12     ` Borislav Petkov
2019-10-16  7:12     ` Borislav Petkov
2019-10-18  6:56     ` Herbert Xu
2019-10-18  6:56       ` [Xen-devel] " Herbert Xu
2019-10-18 16:30   ` [tip: x86/asm] x86/asm: " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 25/28] x86_32/asm: Add ENDs to some functions and relabel with SYM_CODE_* Jiri Slaby
2019-10-11 11:51   ` [Xen-devel] " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm/32: " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 26/28] x86_32/asm: Change all ENTRY+END to SYM_CODE_* Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm/32: " tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 27/28] x86_32/asm: Change all ENTRY+ENDPROC to SYM_FUNC_* Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm/32: " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 28/28] x86/asm: Replace WEAK uses by SYM_INNER_LABEL_ALIGN Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=157199400012.29376.15138755769283504073.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=bp@alien8.de \
    --cc=bp@suse.de \
    --cc=corbet@lwn.net \
    --cc=hpa@zytor.com \
    --cc=jpoimboe@redhat.com \
    --cc=jslaby@suse.cz \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.