]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ftrace: Fix direct_functions leak in update_ftrace_direct_del
authorJiri Olsa <jolsa@kernel.org>
Mon, 2 Feb 2026 07:58:49 +0000 (08:58 +0100)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 2 Feb 2026 15:56:20 +0000 (07:56 -0800)
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 <alexei.starovoitov@gmail.com>
Closes: https://lore.kernel.org/bpf/aX_BxG5EJTJdCMT9@krava/T/#m7c13f5a95f862ed7ab78e905fbb678d635306a0c
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Link: https://lore.kernel.org/r/20260202075849.1684369-1-jolsa@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/trace/ftrace.c

index 8574932e66b634c8a45c9a20831e442502a8810f..b12dbd93ae1c9bece58bc8a4bd8d5c85c3c5f13e 100644 (file)
@@ -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);
        }