summaryrefslogtreecommitdiffstats
path: root/kernel/rcu/srcutiny.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@kernel.org>2021-06-02 16:31:38 -0700
committerPaul E. McKenney <paulmck@kernel.org>2021-08-06 13:41:48 -0700
commit65bfdd36c113f5d579a382d8f2847210ea4cdca6 (patch)
treece25f67a04bf28eb4db70074a4de34e6c614210a /kernel/rcu/srcutiny.c
parentb169246feb1d82dbee5f3f6a4ce57368644dce95 (diff)
downloadlinux-65bfdd36c113f5d579a382d8f2847210ea4cdca6.tar.gz
linux-65bfdd36c113f5d579a382d8f2847210ea4cdca6.tar.bz2
linux-65bfdd36c113f5d579a382d8f2847210ea4cdca6.zip
srcutiny: Mark read-side data races
This commit marks some interrupt-induced read-side data races in __srcu_read_lock(), __srcu_read_unlock(), and srcu_torture_stats_print(). Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel/rcu/srcutiny.c')
-rw-r--r--kernel/rcu/srcutiny.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/rcu/srcutiny.c b/kernel/rcu/srcutiny.c
index 26344dc6483b..a0ba2ed49bc6 100644
--- a/kernel/rcu/srcutiny.c
+++ b/kernel/rcu/srcutiny.c
@@ -96,7 +96,7 @@ EXPORT_SYMBOL_GPL(cleanup_srcu_struct);
*/
void __srcu_read_unlock(struct srcu_struct *ssp, int idx)
{
- int newval = ssp->srcu_lock_nesting[idx] - 1;
+ int newval = READ_ONCE(ssp->srcu_lock_nesting[idx]) - 1;
WRITE_ONCE(ssp->srcu_lock_nesting[idx], newval);
if (!newval && READ_ONCE(ssp->srcu_gp_waiting))