diff options
Diffstat (limited to 'kernel/srcu.c')
| -rw-r--r-- | kernel/srcu.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/srcu.c b/kernel/srcu.c index 0febf61e1aa..3f99fa0e8ed 100644 --- a/kernel/srcu.c +++ b/kernel/srcu.c @@ -172,6 +172,12 @@ static void __synchronize_srcu(struct srcu_struct *sp, void (*sync_func)(void))  {  	int idx; +	rcu_lockdep_assert(!lock_is_held(&sp->dep_map) && +			   !lock_is_held(&rcu_bh_lock_map) && +			   !lock_is_held(&rcu_lock_map) && +			   !lock_is_held(&rcu_sched_lock_map), +			   "Illegal synchronize_srcu() in same-type SRCU (or RCU) read-side critical section"); +  	idx = sp->completed;  	mutex_lock(&sp->mutex);  |