rcutorture: Use the barrier operation specified by cur_ops
authorZqiang <qiang1.zhang@intel.com>
Sun, 31 Jul 2022 10:53:56 +0000 (18:53 +0800)
committerPaul E. McKenney <paulmck@kernel.org>
Thu, 1 Sep 2022 17:50:04 +0000 (10:50 -0700)
commit48297a22a39adcde7a3ba52b913c5aaa9a990364
tree1d6348252608aa279adc88789808dd0268e2ad1f
parent7634b1eaa0cd135d5eedadb04ad3c91b1ecf28a9
rcutorture: Use the barrier operation specified by cur_ops

The rcutorture_oom_notify() function unconditionally invokes
rcu_barrier(), which is OK when the rcutorture.torture_type value is
"rcu", but unhelpful otherwise.  The purpose of these barrier calls is to
wait for all outstanding callback-flooding callbacks to be invoked before
cleaning up their data.  Using the wrong barrier function therefore
risks arbitrary memory corruption.  Thus, this commit changes these
rcu_barrier() calls into cur_ops->cb_barrier() to make things work when
torturing non-vanilla flavors of RCU.

Signed-off-by: Zqiang <qiang1.zhang@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/rcutorture.c