lockdep_is_held() is defined as:

 #define lockdep_is_held(lock)          lock_is_held(&(lock)->dep_map)

it hides away the dereference, so that builds with !LOCKDEP
don't break. We should use it instead of using lock_is_held()
directly.

This didn't use to be a problem, because RCU_LOCKDEP_WARN()
cuts the condition out with the preprocessor if !LOCKDEP.
This will soon change.

Signed-off-by: Jakub Kicinski <k...@kernel.org>
--
CC: jiangshan...@gmail.com
CC: paul...@kernel.org
CC: j...@joshtriplett.org
CC: rost...@goodmis.org
CC: mathieu.desnoy...@efficios.com
---
 kernel/rcu/srcutree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
index c100acf332ed..8123ef15a159 100644
--- a/kernel/rcu/srcutree.c
+++ b/kernel/rcu/srcutree.c
@@ -919,7 +919,7 @@ static void __synchronize_srcu(struct srcu_struct *ssp, 
bool do_norm)
 {
        struct rcu_synchronize rcu;
 
-       RCU_LOCKDEP_WARN(lock_is_held(&ssp->dep_map) ||
+       RCU_LOCKDEP_WARN(lockdep_is_held(ssp) ||
                         lock_is_held(&rcu_bh_lock_map) ||
                         lock_is_held(&rcu_lock_map) ||
                         lock_is_held(&rcu_sched_lock_map),
-- 
2.26.2

Reply via email to