summaryrefslogtreecommitdiff
path: root/kernel/trace/trace_events_filter.c
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2011-01-28 03:53:06 (GMT)
committerSteven Rostedt <rostedt@goodmis.org>2011-02-08 01:56:18 (GMT)
commitf76690afd05e3e163149310bdcd30234f93b3a7a (patch)
tree83c0808d1354b26473ab0ac77515f4f683de32d1 /kernel/trace/trace_events_filter.c
parent74e9e58c350a24139e268dd6857bbaa55c5aafcf (diff)
downloadlinux-fsl-qoriq-f76690afd05e3e163149310bdcd30234f93b3a7a.tar.xz
tracing/filter: Free pred array on disabling of filter
When a filter is disabled, free the preds. Cc: Tom Zanussi <tzanussi@gmail.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_events_filter.c')
-rw-r--r--kernel/trace/trace_events_filter.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
index b6c9106..2f5458e 100644
--- a/kernel/trace/trace_events_filter.c
+++ b/kernel/trace/trace_events_filter.c
@@ -1388,6 +1388,10 @@ int apply_event_filter(struct ftrace_event_call *call, char *filter_string)
if (!strcmp(strstrip(filter_string), "0")) {
filter_disable_preds(call);
+ reset_preds(call->filter);
+ /* Make sure the filter is not being used */
+ synchronize_sched();
+ __free_preds(call->filter);
remove_filter_string(call->filter);
goto out_unlock;
}