summary refs log tree commit diff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-05-03 08:30:44 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-05-03 08:30:44 -0700
commit00622e61eda46c7f8833afbee6bd34449a9a4e7e (patch)
treee5bf2716392944f6bca76647f85cd591a3e639a5
parent6c6ca9c2a5b97ab37ffd1b091d15eb5cd3f1bf23 (diff)
parent561a4fe851ccab9dd0d14989ab566f9392d9f8b5 (diff)
downloadlinux-00622e61eda46c7f8833afbee6bd34449a9a4e7e.tar.gz
Merge tag 'trace-fixes-v3.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing fix from Steven Rostedt:
 "This is a small fix where the trigger code used the wrong
  rcu_dereference().  It required rcu_dereference_sched() instead of the
  normal rcu_dereference().  It produces a nasty RCU lockdep splat due
  to the incorrect rcu notation"

Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

* tag 'trace-fixes-v3.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  tracing: Use rcu_dereference_sched() for trace event triggers
-rw-r--r--kernel/trace/trace_events_trigger.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c
index 925f537f07d1..4747b476a030 100644
--- a/kernel/trace/trace_events_trigger.c
+++ b/kernel/trace/trace_events_trigger.c
@@ -77,7 +77,7 @@ event_triggers_call(struct ftrace_event_file *file, void *rec)
 			data->ops->func(data);
 			continue;
 		}
-		filter = rcu_dereference(data->filter);
+		filter = rcu_dereference_sched(data->filter);
 		if (filter && !filter_match_preds(filter, rec))
 			continue;
 		if (data->cmd_ops->post_trigger) {