From: Jiri Olsa Date: Mon, 2 Feb 2026 07:58:49 +0000 (+0100) Subject: ftrace: Fix direct_functions leak in update_ftrace_direct_del X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b95cc562de2889a9333843dda073ba875f9e808;p=thirdparty%2Flinux.git ftrace: Fix direct_functions leak in update_ftrace_direct_del Alexei reported memory leak in update_ftrace_direct_del. We miss cleanup of the replaced direct_functions in the success path in update_ftrace_direct_del, adding that. Fixes: 8d2c1233f371 ("ftrace: Add update_ftrace_direct_del function") Reported-by: Alexei Starovoitov Closes: https://lore.kernel.org/bpf/aX_BxG5EJTJdCMT9@krava/T/#m7c13f5a95f862ed7ab78e905fbb678d635306a0c Signed-off-by: Jiri Olsa Acked-by: Steven Rostedt (Google) Link: https://lore.kernel.org/r/20260202075849.1684369-1-jolsa@kernel.org Signed-off-by: Alexei Starovoitov --- diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 8574932e66b63..b12dbd93ae1c9 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -6537,6 +6537,7 @@ int update_ftrace_direct_del(struct ftrace_ops *ops, struct ftrace_hash *hash) /* free the new_direct_functions */ old_direct_functions = new_direct_functions; } else { + old_direct_functions = direct_functions; rcu_assign_pointer(direct_functions, new_direct_functions); }