aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/rcupdate.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/rcupdate.h')
-rw-r--r--include/linux/rcupdate.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index 6cdb1db776cf..922bb6848813 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -878,9 +878,11 @@ static inline void rcu_head_init(struct rcu_head *rhp)
878static inline bool 878static inline bool
879rcu_head_after_call_rcu(struct rcu_head *rhp, rcu_callback_t f) 879rcu_head_after_call_rcu(struct rcu_head *rhp, rcu_callback_t f)
880{ 880{
881 if (READ_ONCE(rhp->func) == f) 881 rcu_callback_t func = READ_ONCE(rhp->func);
882
883 if (func == f)
882 return true; 884 return true;
883 WARN_ON_ONCE(READ_ONCE(rhp->func) != (rcu_callback_t)~0L); 885 WARN_ON_ONCE(func != (rcu_callback_t)~0L);
884 return false; 886 return false;
885} 887}
886 888