[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250918120939.1706585-1-dongml2@chinatelecom.cn>
Date: Thu, 18 Sep 2025 20:09:39 +0800
From: Menglong Dong <menglong8.dong@...il.com>
To: peterz@...radead.org,
jolsa@...nel.org
Cc: tglx@...utronix.de,
mingo@...hat.com,
bp@...en8.de,
dave.hansen@...ux.intel.com,
x86@...nel.org,
hpa@...or.com,
kees@...nel.org,
samitolvanen@...gle.com,
rppt@...nel.org,
luto@...nel.org,
mhiramat@...nel.org,
ast@...nel.org,
andrii@...nel.org,
linux-kernel@...r.kernel.org,
bpf@...r.kernel.org
Subject: [PATCH] x86/ibt: make is_endbr() notrace
is_endbr() is called in __ftrace_return_to_handler -> fprobe_return ->
kprobe_multi_link_exit_handler -> is_endbr.
It is not protected by the "bpf_prog_active", so it can't be traced by
kprobe-multi, which can cause recurring and panic the kernel. Fix it by
make it notrace.
Fixes: 72e213a7ccf9 ("x86/ibt: Clean up is_endbr()")
Signed-off-by: Menglong Dong <dongml2@...natelecom.cn>
---
arch/x86/kernel/alternative.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 69fb818df2ee..f67a31c77c89 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -1108,7 +1108,7 @@ void __init_or_module noinline apply_returns(s32 *start, s32 *end) { }
#ifdef CONFIG_X86_KERNEL_IBT
-__noendbr bool is_endbr(u32 *val)
+__noendbr notrace bool is_endbr(u32 *val)
{
u32 endbr;
--
2.51.0
Powered by blists - more mailing lists