Commit 5401cc52 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

rcu: Mark sync_sched_exp_online_cleanup() ->cpu_no_qs.b.exp load



The sync_sched_exp_online_cleanup() is called from rcutree_online_cpu(),
which can be invoked with interrupts enabled.  This means that
the ->cpu_no_qs.b.exp field is subject to data races from the
rcu_exp_handler() IPI handler, so this commit marks the load from
that field.

Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent 6120b72e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -759,7 +759,7 @@ static void sync_sched_exp_online_cleanup(int cpu)
	my_cpu = get_cpu();
	/* Quiescent state either not needed or already requested, leave. */
	if (!(READ_ONCE(rnp->expmask) & rdp->grpmask) ||
	    rdp->cpu_no_qs.b.exp) {
	    READ_ONCE(rdp->cpu_no_qs.b.exp)) {
		put_cpu();
		return;
	}