summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2019-11-19 13:14:29 +0100
committerPeter Zijlstra <peterz@infradead.org>2019-12-17 13:32:46 +0100
commit9f0bff1180efc9ea988fed3fd93da7647151ac8b (patch)
tree13096867567558a3eb31ceaeb3b4dbc3c04088b7 /kernel
parent92ca7da4bdc24d63bb0bcd241c11441ddb63b80a (diff)
downloadlinux-9f0bff1180efc9ea988fed3fd93da7647151ac8b.tar.gz
linux-9f0bff1180efc9ea988fed3fd93da7647151ac8b.tar.bz2
linux-9f0bff1180efc9ea988fed3fd93da7647151ac8b.zip
perf/core: Add SRCU annotation for pmus list walk
Since commit 28875945ba98d ("rcu: Add support for consolidated-RCU reader checking") there is an additional check to ensure that a RCU related lock is held while the RCU list is iterated. This section holds the SRCU reader lock instead. Add annotation to list_for_each_entry_rcu() that pmus_srcu must be acquired during the list traversal. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> Link: https://lkml.kernel.org/r/20191119121429.zhcubzdhm672zasg@linutronix.de
Diffstat (limited to 'kernel')
-rw-r--r--kernel/events/core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 4ff86d57f9e5..a1f8bde19b56 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -10523,7 +10523,7 @@ again:
goto unlock;
}
- list_for_each_entry_rcu(pmu, &pmus, entry) {
+ list_for_each_entry_rcu(pmu, &pmus, entry, lockdep_is_held(&pmus_srcu)) {
ret = perf_try_init_event(pmu, event);
if (!ret)
goto unlock;