]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
srcu: Check for invalid idx argument in srcu_read_unlock()
authorPaul E. McKenney <paulmck@linux.ibm.com>
Fri, 30 Nov 2018 18:06:46 +0000 (10:06 -0800)
committerPaul E. McKenney <paulmck@linux.ibm.com>
Fri, 25 Jan 2019 23:36:40 +0000 (15:36 -0800)
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 <paulmck@linux.ibm.com>
include/linux/srcu.h

index c614375cd264f890f9064932dc5023f935219658..33cf83b9bda82937a3117b8dfa380d725aff7c48 100644 (file)
@@ -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);
 }