[PATCH rcu 09/11] rcutorture: Complain when invalid SRCU reader_flavor is specified

From: Boqun Feng
Date: Wed Feb 19 2025 - 10:43:02 EST


From: "Paul E. McKenney" <paulmck@xxxxxxxxxx>

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@xxxxxxxxxx>
Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx>
---
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)