]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rcu: Remove READ_ONCE() for rdp->gpwrap access in __note_gp_changes()
authorZilin Guan <zilinguan811@gmail.com>
Sun, 10 Nov 2024 14:47:47 +0000 (14:47 +0000)
committerBoqun Feng <boqun.feng@gmail.com>
Wed, 5 Feb 2025 05:52:38 +0000 (21:52 -0800)
commit764f6a81103e83dc552237f77cc769dd550d8e01
tree322f12267de4392f4496d86f50807cf7b1000343
parenta3e8162105e8266b94bb25d3d7e48645da4b0c26
rcu: Remove READ_ONCE() for rdp->gpwrap access in __note_gp_changes()

There is one access to the per-CPU rdp->gpwrap field in the
__note_gp_changes() function that does not use READ_ONCE(), but all other
accesses do use READ_ONCE().  When using the 8*TREE03 and CONFIG_NR_CPUS=8
configuration, KCSAN found no data races at that point.  This is because
all calls to __note_gp_changes() hold rnp->lock, which excludes writes
to the rdp->gpwrap fields for all CPUs associated with that same leaf
rcu_node structure.

This commit therefore removes READ_ONCE() from rdp->gpwrap accesses
within the __note_gp_changes() function.

Signed-off-by: Zilin Guan <zilinguan811@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
kernel/rcu/tree.c