[PATCH 1/4] ftrace: Protect direct_functions in ftrace_find_rec_direct
From: Leon Hwang
Date: Thu Jul 30 2026 - 12:45:14 EST
Fix accessing the __rcu pointer direct_functions with RCU protection.
Cc: stable@xxxxxxxxxxxxxxx
Fixes: d05cb470663a ("ftrace: Fix modification of direct_function hash while in use")
Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Leon Hwang <leon.hwang@xxxxxxxxx>
---
kernel/trace/ftrace.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 6c47a94f5924..c5d1d0d42ccc 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -2645,7 +2645,8 @@ unsigned long ftrace_find_rec_direct(unsigned long ip)
{
struct ftrace_func_entry *entry;
- entry = __ftrace_lookup_ip(direct_functions, ip);
+ guard(preempt_notrace)();
+ entry = __ftrace_lookup_ip(rcu_dereference_sched(direct_functions), ip);
if (!entry)
return 0;
--
2.55.0