diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2015-10-26 03:45:22 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2015-10-26 03:51:32 -0400 |
commit | fb662288284e8f2ec26f13d50a6b0d5781771648 (patch) | |
tree | c048e8da54d35d7abafe5f661a37a2a59e9f0a3c | |
parent | 8ca532ad2b050da0d0db3544d9ab8b40675e4ca1 (diff) |
tracing: Fix sparse RCU warning
p_start() and p_stop() are seq_file functions that match. Teach sparse to
know that rcu_read_lock_sched() that is taken by p_start() is released by
p_stop.
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | kernel/trace/trace_events.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index 2b7fccd499c6..fb0261e90acc 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c | |||
@@ -938,6 +938,7 @@ static void t_stop(struct seq_file *m, void *p) | |||
938 | } | 938 | } |
939 | 939 | ||
940 | static void *p_start(struct seq_file *m, loff_t *pos) | 940 | static void *p_start(struct seq_file *m, loff_t *pos) |
941 | __acquires(RCU) | ||
941 | { | 942 | { |
942 | struct trace_pid_list *pid_list; | 943 | struct trace_pid_list *pid_list; |
943 | struct trace_array *tr = m->private; | 944 | struct trace_array *tr = m->private; |
@@ -960,6 +961,7 @@ static void *p_start(struct seq_file *m, loff_t *pos) | |||
960 | } | 961 | } |
961 | 962 | ||
962 | static void p_stop(struct seq_file *m, void *p) | 963 | static void p_stop(struct seq_file *m, void *p) |
964 | __releases(RCU) | ||
963 | { | 965 | { |
964 | rcu_read_unlock_sched(); | 966 | rcu_read_unlock_sched(); |
965 | mutex_unlock(&event_mutex); | 967 | mutex_unlock(&event_mutex); |