The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [for-next][PATCH 0/3] ftrace: Updates for 6.13
@ 2024-10-15 21:24 Steven Rostedt
  2024-10-15 21:24 ` [for-next][PATCH 1/3] ftrace: Use arch_ftrace_regs() for ftrace_regs_*() macros Steven Rostedt
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Steven Rostedt @ 2024-10-15 21:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton

  git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
ftrace/for-next

Head SHA1: 2d17932da44fdc1ba835ad05110ab996d2912dbf


Masami Hiramatsu (Google) (2):
      ftrace: Use arch_ftrace_regs() for ftrace_regs_*() macros
      ftrace: Rename ftrace_regs_return_value to ftrace_regs_get_return_value

Steven Rostedt (1):
      selftests/ftrace: Fix check of return value in fgraph-retval.tc test

----
 include/linux/ftrace_regs.h                                | 14 +++++++-------
 .../selftests/ftrace/test.d/ftrace/fgraph-retval.tc        |  2 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [for-next][PATCH 1/3] ftrace: Use arch_ftrace_regs() for ftrace_regs_*() macros
  2024-10-15 21:24 [for-next][PATCH 0/3] ftrace: Updates for 6.13 Steven Rostedt
@ 2024-10-15 21:24 ` Steven Rostedt
  2024-10-15 21:24 ` [for-next][PATCH 2/3] selftests/ftrace: Fix check of return value in fgraph-retval.tc test Steven Rostedt
  2024-10-15 21:24 ` [for-next][PATCH 3/3] ftrace: Rename ftrace_regs_return_value to ftrace_regs_get_return_value Steven Rostedt
  2 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2024-10-15 21:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton,
	Alexei Starovoitov, Florent Revest, Martin KaFai Lau, bpf,
	Alexei Starovoitov, Jiri Olsa, Alan Maguire

From: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>

Since the arch_ftrace_get_regs(fregs) is only valid when the
FL_SAVE_REGS is set, we need to use `&arch_ftrace_regs()->regs` for
ftrace_regs_*() APIs because those APIs are for ftrace_regs, not
complete pt_regs.

Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: Florent Revest <revest@chromium.org>
Cc: Martin KaFai Lau <martin.lau@linux.dev>
Cc: bpf <bpf@vger.kernel.org>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Alan Maguire <alan.maguire@oracle.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/172895572290.107311.16057631001860177198.stgit@devnote2
Fixes: e4cf33ca4812 ("ftrace: Consolidate ftrace_regs accessor functions for archs using pt_regs")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 include/linux/ftrace_regs.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/linux/ftrace_regs.h b/include/linux/ftrace_regs.h
index dea6a0851b74..b78a0a60515b 100644
--- a/include/linux/ftrace_regs.h
+++ b/include/linux/ftrace_regs.h
@@ -17,17 +17,17 @@ struct __arch_ftrace_regs {
 struct ftrace_regs;
 
 #define ftrace_regs_get_instruction_pointer(fregs) \
-	instruction_pointer(arch_ftrace_get_regs(fregs))
+	instruction_pointer(&arch_ftrace_regs(fregs)->regs)
 #define ftrace_regs_get_argument(fregs, n) \
-	regs_get_kernel_argument(arch_ftrace_get_regs(fregs), n)
+	regs_get_kernel_argument(&arch_ftrace_regs(fregs)->regs, n)
 #define ftrace_regs_get_stack_pointer(fregs) \
-	kernel_stack_pointer(arch_ftrace_get_regs(fregs))
+	kernel_stack_pointer(&arch_ftrace_regs(fregs)->regs)
 #define ftrace_regs_return_value(fregs) \
-	regs_return_value(arch_ftrace_get_regs(fregs))
+	regs_return_value(&arch_ftrace_regs(fregs)->regs)
 #define ftrace_regs_set_return_value(fregs, ret) \
-	regs_set_return_value(arch_ftrace_get_regs(fregs), ret)
+	regs_set_return_value(&arch_ftrace_regs(fregs)->regs, ret)
 #define ftrace_override_function_with_return(fregs) \
-	override_function_with_return(arch_ftrace_get_regs(fregs))
+	override_function_with_return(&arch_ftrace_regs(fregs)->regs)
 #define ftrace_regs_query_register_offset(name) \
 	regs_query_register_offset(name)
 
-- 
2.45.2



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [for-next][PATCH 2/3] selftests/ftrace: Fix check of return value in fgraph-retval.tc test
  2024-10-15 21:24 [for-next][PATCH 0/3] ftrace: Updates for 6.13 Steven Rostedt
  2024-10-15 21:24 ` [for-next][PATCH 1/3] ftrace: Use arch_ftrace_regs() for ftrace_regs_*() macros Steven Rostedt
@ 2024-10-15 21:24 ` Steven Rostedt
  2024-10-15 21:24 ` [for-next][PATCH 3/3] ftrace: Rename ftrace_regs_return_value to ftrace_regs_get_return_value Steven Rostedt
  2 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2024-10-15 21:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton,
	Shuah Khan, Donglin Peng

From: Steven Rostedt <rostedt@goodmis.org>

The addition of recording both the function name and return address to the
function graph tracer updated the selftest to check for "=-5" from "= -5".
But this causes the test to fail on certain configs, as "= -5" is still a
value that can be returned if function addresses are not enabled (older kernels).

Check for both "=-5" and " -5" as a success value.

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Donglin Peng <pengdonglin@xiaomi.com>
Link: https://lore.kernel.org/20241011132042.435f43cc@gandalf.local.home
Fixes: 21e92806d39c6 ("function_graph: Support recording and printing the function return address")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 tools/testing/selftests/ftrace/test.d/ftrace/fgraph-retval.tc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-retval.tc b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-retval.tc
index e8e46378b88d..4307d4eef417 100644
--- a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-retval.tc
+++ b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-retval.tc
@@ -29,7 +29,7 @@ set -e
 
 : "Test printing the error code in signed decimal format"
 echo 0 > options/funcgraph-retval-hex
-count=`cat trace | grep 'proc_reg_write' | grep '=-5' | wc -l`
+count=`cat trace | grep 'proc_reg_write' | grep -e '=-5 ' -e '= -5 '  | wc -l`
 if [ $count -eq 0 ]; then
     fail "Return value can not be printed in signed decimal format"
 fi
-- 
2.45.2



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [for-next][PATCH 3/3] ftrace: Rename ftrace_regs_return_value to ftrace_regs_get_return_value
  2024-10-15 21:24 [for-next][PATCH 0/3] ftrace: Updates for 6.13 Steven Rostedt
  2024-10-15 21:24 ` [for-next][PATCH 1/3] ftrace: Use arch_ftrace_regs() for ftrace_regs_*() macros Steven Rostedt
  2024-10-15 21:24 ` [for-next][PATCH 2/3] selftests/ftrace: Fix check of return value in fgraph-retval.tc test Steven Rostedt
@ 2024-10-15 21:24 ` Steven Rostedt
  2 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2024-10-15 21:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton,
	Alexei Starovoitov, Florent Revest, Martin KaFai Lau, bpf,
	Alexei Starovoitov, Jiri Olsa, Alan Maguire

From: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>

Rename ftrace_regs_return_value to ftrace_regs_get_return_value as same as
other ftrace_regs_get/set_* APIs. arm64 and riscv are already using this
new name.

Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: Florent Revest <revest@chromium.org>
Cc: Martin KaFai Lau <martin.lau@linux.dev>
Cc: bpf <bpf@vger.kernel.org>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Alan Maguire <alan.maguire@oracle.com>
Link: https://lore.kernel.org/172895573350.107311.7564634260652361511.stgit@devnote2
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 include/linux/ftrace_regs.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/ftrace_regs.h b/include/linux/ftrace_regs.h
index b78a0a60515b..be1ed0c891d0 100644
--- a/include/linux/ftrace_regs.h
+++ b/include/linux/ftrace_regs.h
@@ -22,7 +22,7 @@ struct ftrace_regs;
 	regs_get_kernel_argument(&arch_ftrace_regs(fregs)->regs, n)
 #define ftrace_regs_get_stack_pointer(fregs) \
 	kernel_stack_pointer(&arch_ftrace_regs(fregs)->regs)
-#define ftrace_regs_return_value(fregs) \
+#define ftrace_regs_get_return_value(fregs) \
 	regs_return_value(&arch_ftrace_regs(fregs)->regs)
 #define ftrace_regs_set_return_value(fregs, ret) \
 	regs_set_return_value(&arch_ftrace_regs(fregs)->regs, ret)
-- 
2.45.2



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-10-15 21:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-15 21:24 [for-next][PATCH 0/3] ftrace: Updates for 6.13 Steven Rostedt
2024-10-15 21:24 ` [for-next][PATCH 1/3] ftrace: Use arch_ftrace_regs() for ftrace_regs_*() macros Steven Rostedt
2024-10-15 21:24 ` [for-next][PATCH 2/3] selftests/ftrace: Fix check of return value in fgraph-retval.tc test Steven Rostedt
2024-10-15 21:24 ` [for-next][PATCH 3/3] ftrace: Rename ftrace_regs_return_value to ftrace_regs_get_return_value Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox