diff options
author | Alexei Starovoitov <ast@plumgrid.com> | 2015-06-16 10:35:18 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-07-22 15:27:31 -0700 |
commit | 46f00d18fca42cc954c2e9e99a48b6f3a7741ed7 (patch) | |
tree | 9f9eced5cfe86284498ee2f7541fb1920eabe367 | |
parent | 779de6ce54f627f955d4a3d0c5b3dcfaab74fea8 (diff) | |
download | linux-stable-46f00d18fca42cc954c2e9e99a48b6f3a7741ed7.tar.gz linux-stable-46f00d18fca42cc954c2e9e99a48b6f3a7741ed7.tar.bz2 linux-stable-46f00d18fca42cc954c2e9e99a48b6f3a7741ed7.zip |
rcu: Make rcu_is_watching() really notrace
Although rcu_is_watching() is marked notrace, it invokes preempt_disable()
and preempt_enable(), both of which can be traced. This defeats the
purpose of the notrace on rcu_is_watching(), so this commit substitutes
preempt_disable_notrace() and preempt_enable_notrace().
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | kernel/rcu/tree.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 9629298eea24..cb64d7e13d24 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -978,9 +978,9 @@ bool notrace rcu_is_watching(void) { bool ret; - preempt_disable(); + preempt_disable_notrace(); ret = __rcu_is_watching(); - preempt_enable(); + preempt_enable_notrace(); return ret; } EXPORT_SYMBOL_GPL(rcu_is_watching); |