Commit 39f91504 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

srcu: Fix process_srcu()/srcu_batches_completed() datarace



The srcu_struct structure's ->srcu_idx field is accessed locklessly,
so reads must use READ_ONCE().  This commit therefore adds the needed
READ_ONCE() invocation where it was missed.

This data race was reported by KCSAN.  Not appropriate for backporting
due to failure being unlikely.

Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent 8c9e0cb3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1079,7 +1079,7 @@ EXPORT_SYMBOL_GPL(srcu_barrier);
 */
unsigned long srcu_batches_completed(struct srcu_struct *ssp)
{
	return ssp->srcu_idx;
	return READ_ONCE(ssp->srcu_idx);
}
EXPORT_SYMBOL_GPL(srcu_batches_completed);