From: Shengming Hu Date: Wed, 26 Nov 2025 09:35:52 +0000 (+0800) Subject: fgraph: Remove coarse PID filtering from graph_entry() X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c264534c394a291495168dbf70094a89717e9023;p=thirdparty%2Fkernel%2Flinux.git fgraph: Remove coarse PID filtering from graph_entry() With PID filtering working via ftrace_pids_enabled() and fgraph_pid_func, the coarse-grained ftrace_trace_task() check in graph_entry() is obsolete. It was only a fallback for uninitialized op->private (now fixed), and its removal ensures consistent PID filtering with standard function tracing. Also remove unused ftrace_trace_task() definition from trace.h. Cc: Cc: Cc: Cc: Cc: Cc: Link: https://patch.msgid.link/20251126173552333XoJZN20143fWbsdTEtWoU@zte.com.cn Signed-off-by: Shengming Hu Signed-off-by: Steven Rostedt (Google) --- diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 85eabb454bee9..b2b6a9775b44b 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -1154,11 +1154,6 @@ struct ftrace_func_command { char *params, int enable); }; extern bool ftrace_filter_param __initdata; -static inline int ftrace_trace_task(struct trace_array *tr) -{ - return this_cpu_read(tr->array_buffer.data->ftrace_ignore_pid) != - FTRACE_PID_IGNORE; -} extern int ftrace_is_dead(void); int ftrace_create_function_files(struct trace_array *tr, struct dentry *parent); @@ -1176,10 +1171,6 @@ void ftrace_clear_pids(struct trace_array *tr); int init_function_trace(void); void ftrace_pid_follow_fork(struct trace_array *tr, bool enable); #else -static inline int ftrace_trace_task(struct trace_array *tr) -{ - return 1; -} static inline int ftrace_is_dead(void) { return 0; } static inline int ftrace_create_function_files(struct trace_array *tr, diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index a7f4b9a47a71a..75ef660e2ed51 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c @@ -232,9 +232,6 @@ static int graph_entry(struct ftrace_graph_ent *trace, return 1; } - if (!ftrace_trace_task(tr)) - return 0; - if (ftrace_graph_ignore_func(gops, trace)) return 0;