rcu: Use WRITE_ONCE() for assignments to ->next for rculist_nulls
authorAlan Huang <mmpgouride@gmail.com>
Thu, 6 Jul 2023 10:28:48 +0000 (10:28 +0000)
committerPaul E. McKenney <paulmck@kernel.org>
Wed, 16 Aug 2023 21:27:41 +0000 (14:27 -0700)
commitefd04f8a8b45b8b98704b5860e363bab239b8bae
treeccfaab884686930f555c931a7fa48d58e8965f8b
parent3292ba0229dbe5f3e79b78b230354ada2888dc29
rcu: Use WRITE_ONCE() for assignments to ->next for rculist_nulls

When the objects managed by rculist_nulls are allocated with
SLAB_TYPESAFE_BY_RCU, old readers may still hold references to an object
even though it is just now being added, which means the modification of
->next is visible to readers.  This patch therefore uses WRITE_ONCE()
for assignments to ->next.

Signed-off-by: Alan Huang <mmpgouride@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
include/linux/rculist_nulls.h