tracing: Fix memory leak of instance function hash filters
commit 2840f84f74035e5a535959d5f17269c69fa6edc5 upstream.
The following commands will cause a memory leak:
# cd /sys/kernel/tracing
# mkdir instances/foo
# echo schedule > instance/foo/set_ftrace_filter
# rmdir instances/foo
The reason is that the hashes that hold the filters to set_ftrace_filter and
set_ftrace_notrace are not freed if they contain any data on the instance
and the instance is removed.
Found by kmemleak detector.
Cc: stable@vger.kernel.org
Fixes: 591dffdade
("ftrace: Allow for function tracing instance to filter functions")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8f01f990b1
commit
ee310e8ebb
1 changed files with 1 additions and 0 deletions
|
@ -5460,6 +5460,7 @@ void ftrace_destroy_filter_files(struct ftrace_ops *ops)
|
||||||
if (ops->flags & FTRACE_OPS_FL_ENABLED)
|
if (ops->flags & FTRACE_OPS_FL_ENABLED)
|
||||||
ftrace_shutdown(ops, 0);
|
ftrace_shutdown(ops, 0);
|
||||||
ops->flags |= FTRACE_OPS_FL_DELETED;
|
ops->flags |= FTRACE_OPS_FL_DELETED;
|
||||||
|
ftrace_free_filter(ops);
|
||||||
mutex_unlock(&ftrace_lock);
|
mutex_unlock(&ftrace_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue