summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2011-08-22 13:41:46 (GMT)
committerSteven Rostedt <rostedt@goodmis.org>2011-08-30 16:27:07 (GMT)
commit86b6ef21b80ac6565d172cdab4384404de007eea (patch)
tree5156d0d78b4cb0fbbd58ce2281c19f9bba6864f6
parent1d0e78e380cd2802aa603a50e08220dfc681141c (diff)
downloadlinux-86b6ef21b80ac6565d172cdab4384404de007eea.tar.xz
tracing: Add preempt disable for filter self test
The self testing for event filters does not really need preemption disabled as there are no races at the time of testing, but the functions it calls uses rcu_dereference_sched() which will complain if preemption is not disabled. Cc: Jiri Olsa <jolsa@redhat.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--kernel/trace/trace_events_filter.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
index 6a642e2..816d3d0 100644
--- a/kernel/trace/trace_events_filter.c
+++ b/kernel/trace/trace_events_filter.c
@@ -2101,6 +2101,11 @@ static __init int ftrace_test_event_filter(void)
break;
}
+ /*
+ * The preemption disabling is not really needed for self
+ * tests, but the rcu dereference will complain without it.
+ */
+ preempt_disable();
if (*d->not_visited)
walk_pred_tree(filter->preds, filter->root,
test_walk_pred_cb,
@@ -2108,6 +2113,7 @@ static __init int ftrace_test_event_filter(void)
test_pred_visited = 0;
err = filter_match_preds(filter, &d->rec);
+ preempt_enable();
__free_filter(filter);