From: "Paul E. McKenney" <[email protected]>

Currently, rcutorture ignores reader_flavor bits that are not in the
SRCU_READ_FLAVOR_ALL bitmask, which could confuse rcutorture users into
believing buggy patches had been fully tested.  This commit therefore
produces a splat in this case.

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

diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index 9c9a349b9c7f..be4e3c6b912f 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -689,6 +689,8 @@ static int srcu_torture_read_lock(void)
        int idx;
        int ret = 0;
 
+       WARN_ON_ONCE(reader_flavor & ~SRCU_READ_FLAVOR_ALL);
+
        if ((reader_flavor & SRCU_READ_FLAVOR_NORMAL) || !(reader_flavor & 
SRCU_READ_FLAVOR_ALL)) {
                idx = srcu_read_lock(srcu_ctlp);
                WARN_ON_ONCE(idx & ~0x1);
-- 
2.39.5 (Apple Git-154)


Reply via email to