The current SRCU implementation has an idx argument of zero or one,
and never anything else.  This commit therefore adds a WARN_ON_ONCE()
to complain if this restriction is violated.

Signed-off-by: Paul E. McKenney <[email protected]>
---
 include/linux/srcu.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/srcu.h b/include/linux/srcu.h
index c614375cd264..33cf83b9bda8 100644
--- a/include/linux/srcu.h
+++ b/include/linux/srcu.h
@@ -223,6 +223,7 @@ srcu_read_lock_notrace(struct srcu_struct *ssp) 
__acquires(ssp)
 static inline void srcu_read_unlock(struct srcu_struct *ssp, int idx)
        __releases(ssp)
 {
+       WARN_ON_ONCE(idx & ~0x1);
        rcu_lock_release(&(ssp)->dep_map);
        __srcu_read_unlock(ssp, idx);
 }
-- 
2.17.1

Reply via email to