diff --git a/kernel/srcu.c b/kernel/srcu.c index c9d003bc6c49269c098c66771f237a116d1b2c7b..3e43a214b4dce6d22744f3604d30a2ba229d323e 100644 --- a/kernel/srcu.c +++ b/kernel/srcu.c @@ -421,6 +421,7 @@ static void __synchronize_srcu(struct srcu_struct *sp, int trycount) !lock_is_held(&rcu_sched_lock_map), "Illegal synchronize_srcu() in same-type SRCU (or RCU) read-side critical section"); + might_sleep(); init_completion(&rcu.completion); head->next = NULL;