The following commit has been merged into the core/rcu branch of tip:

Commit-ID:     775227511843202e65a7f194cbf64f38de01f004
Gitweb:        
https://git.kernel.org/tip/775227511843202e65a7f194cbf64f38de01f004
Author:        Paul E. McKenney <[email protected]>
AuthorDate:    Thu, 11 Jun 2020 16:43:14 -07:00
Committer:     Paul E. McKenney <[email protected]>
CommitterDate: Mon, 29 Jun 2020 12:01:44 -07:00

rcutorture: Check for unwatched readers

RCU is supposed to be watching all non-idle kernel code and also all
softirq handlers.  This commit adds some teeth to this statement by
adding a WARN_ON_ONCE().

Signed-off-by: Paul E. McKenney <[email protected]>
---
 kernel/rcu/rcutorture.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index 37455a1..9c31001 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -1377,6 +1377,7 @@ static bool rcu_torture_one_read(struct 
torture_random_state *trsp)
        struct rt_read_seg *rtrsp1;
        unsigned long long ts;
 
+       WARN_ON_ONCE(!rcu_is_watching());
        newstate = rcutorture_extend_mask(readstate, trsp);
        rcutorture_one_extend(&readstate, newstate, trsp, rtrsp++);
        started = cur_ops->get_gp_seq();

Reply via email to