diff options
author | 2025-01-09 10:14:53 -0800 | |
---|---|---|
committer | 2025-02-05 07:14:40 -0800 | |
commit | 38b43eca6665434225284c0b583a39340f4e1f37 (patch) | |
tree | 9fe5ebb58f77a12fc03f91e41aa28da0ba9ee265 | |
parent | rcutorture: Move RCU_TORTURE_TEST_{CHK_RDR_STATE,LOG_CPU} to bool (diff) | |
download | wireguard-linux-38b43eca6665434225284c0b583a39340f4e1f37.tar.xz wireguard-linux-38b43eca6665434225284c0b583a39340f4e1f37.zip |
rcutorture: Complain when invalid SRCU reader_flavor is specified
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 <paulmck@kernel.org>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
-rw-r--r-- | kernel/rcu/rcutorture.c | 2 |
1 files changed, 2 insertions, 0 deletions
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); |