From: Song Liu <song@kernel.org>
To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
live-patching@vger.kernel.org
Cc: rostedt@goodmis.org, mhiramat@kernel.org, mark.rutland@arm.com,
kernel-team@meta.com, Song Liu <song@kernel.org>
Subject: [PATCH v2 10/16] powerpc, csky, mips, sh: Mark the accessors behind current notrace
Date: Thu, 22 Oct 2026 18:10:43 -0700 [thread overview]
Message-ID: <20261023011049.1164625-11-song@kernel.org> (raw)
In-Reply-To: <20261023011049.1164625-1-song@kernel.org>
ftrace_test_recursion_trylock() reads current->trace_recursion before
it knows whether it is safe to trace, so reading current must never be
a traced call. On powerpc, get_current() is a plain inline function. On
csky, mips and sh, current comes from the generic get_current(), which
calls current_thread_info(), and current_thread_info() is a plain inline
function. An out-of-line copy of any of these is untraced only because
inline implies notrace.
Mark them notrace explicitly. On the other architectures that support
the function tracer, get_current() is already __always_inline. No
functional change.
Assisted-by: Claude:claude-opus-5
Signed-off-by: Song Liu <song@kernel.org>
---
arch/csky/include/asm/thread_info.h | 2 +-
arch/mips/include/asm/thread_info.h | 2 +-
arch/powerpc/include/asm/current.h | 2 +-
arch/sh/include/asm/thread_info.h | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/csky/include/asm/thread_info.h b/arch/csky/include/asm/thread_info.h
index fdd4f8ad45ac..d39498883c9a 100644
--- a/arch/csky/include/asm/thread_info.h
+++ b/arch/csky/include/asm/thread_info.h
@@ -42,7 +42,7 @@ struct thread_info {
#define thread_saved_lr(tsk) \
((unsigned long)(((struct switch_stack *)(tsk->thread.sp))->r15))
-static inline struct thread_info *current_thread_info(void)
+static inline notrace struct thread_info *current_thread_info(void)
{
unsigned long sp;
diff --git a/arch/mips/include/asm/thread_info.h b/arch/mips/include/asm/thread_info.h
index 2707dad260dd..4d531efd89ec 100644
--- a/arch/mips/include/asm/thread_info.h
+++ b/arch/mips/include/asm/thread_info.h
@@ -64,7 +64,7 @@ extern struct thread_info *__current_thread_info;
register struct thread_info *__current_thread_info __asm__("$28");
#endif
-static inline struct thread_info *current_thread_info(void)
+static inline notrace struct thread_info *current_thread_info(void)
{
return __current_thread_info;
}
diff --git a/arch/powerpc/include/asm/current.h b/arch/powerpc/include/asm/current.h
index bbfb94800415..9663d3737d5c 100644
--- a/arch/powerpc/include/asm/current.h
+++ b/arch/powerpc/include/asm/current.h
@@ -12,7 +12,7 @@ struct task_struct;
#include <linux/stddef.h>
#include <asm/paca.h>
-static inline struct task_struct *get_current(void)
+static inline notrace struct task_struct *get_current(void)
{
struct task_struct *task;
diff --git a/arch/sh/include/asm/thread_info.h b/arch/sh/include/asm/thread_info.h
index 471db5173036..9e1ccdd70a7d 100644
--- a/arch/sh/include/asm/thread_info.h
+++ b/arch/sh/include/asm/thread_info.h
@@ -63,7 +63,7 @@ struct thread_info {
register unsigned long current_stack_pointer asm("r15") __used;
/* how to get the thread information struct from C */
-static inline struct thread_info *current_thread_info(void)
+static inline notrace struct thread_info *current_thread_info(void)
{
struct thread_info *ti;
#if defined(CONFIG_CPU_HAS_SR_RB)
--
2.53.0-Meta
next prev parent reply other threads:[~2026-10-23 1:11 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-23 1:10 [PATCH v2 00/16] Move notrace from inline to __always_inline Song Liu
2026-10-23 1:10 ` [PATCH v2 01/16] x86/paravirt: Mark native pv_ops helpers notrace Song Liu
2026-10-23 1:10 ` [PATCH v2 02/16] x86: Mark CPU state helpers used by resume and kexec notrace Song Liu
2026-10-23 1:10 ` [PATCH v2 03/16] bpf: Mark bpf_spin_lock helpers notrace Song Liu
2026-10-23 1:10 ` [PATCH v2 04/16] bpf: Mark the BPF trampoline " Song Liu
2026-10-23 1:10 ` [PATCH v2 05/16] bpf: Mark the bpf_mem_alloc fast path " Song Liu
2026-10-23 1:10 ` [PATCH v2 06/16] u64_stats: Mark the update helpers used by BPF notrace Song Liu
2026-10-23 1:10 ` [PATCH v2 07/16] tracepoint: Mark __do_trace_##name() notrace Song Liu
2026-10-23 13:32 ` Steven Rostedt
2026-10-23 18:04 ` Song Liu
2026-10-28 22:20 ` Song Liu
2026-10-29 1:08 ` Steven Rostedt
2026-10-23 1:10 ` [PATCH v2 08/16] srcu: Mark the fast notrace read-side helpers notrace Song Liu
2026-10-23 1:10 ` [PATCH v2 09/16] arm64: Mark the preempt count " Song Liu
2026-10-23 1:10 ` Song Liu [this message]
2026-10-23 1:10 ` [PATCH v2 11/16] rcu: Mark the Tiny RCU rcu_is_watching() notrace Song Liu
2026-10-23 1:10 ` [PATCH v2 12/16] tracing: Mark the tracing_gen_ctx helpers notrace Song Liu
2026-10-23 1:10 ` [PATCH v2 13/16] ktime: Mark ktime_to_ns() notrace Song Liu
2026-10-23 1:10 ` [PATCH v2 14/16] kallsyms: Mark the kernel text address checks notrace Song Liu
2026-10-23 1:10 ` [PATCH v2 15/16] uaccess: Mark pagefault_disable() and pagefault_enable() notrace Song Liu
2026-10-23 1:10 ` [PATCH v2 16/16] compiler_types: Move notrace from inline to __always_inline Song Liu
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=20261023011049.1164625-11-song@kernel.org \
--to=song@kernel.org \
--cc=kernel-team@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=live-patching@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mhiramat@kernel.org \
--cc=rostedt@goodmis.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.