diff options
| author | Paul E. McKenney <paulmck@kernel.org> | 2026-07-20 16:36:55 -0700 |
|---|---|---|
| committer | Paul E. McKenney <paulmck@kernel.org> | 2026-07-24 16:59:24 -0700 |
| commit | 2aaee3fc84e10c5949e24a8778414ade2db44a55 (patch) | |
| tree | 09ca286fdebb1f405827abd141d950a47d15e9c4 /scripts/stackusage | |
| parent | 545b3ac4c1db3c455cbe1bd1ed305e54ad87512e (diff) | |
| download | linux-2aaee3fc84e10c5949e24a8778414ade2db44a55.tar.gz linux-2aaee3fc84e10c5949e24a8778414ade2db44a55.zip | |
rcu: Mark accesses to rdp->rcu_cpu_has_work
Although the rdp->rcu_cpu_has_work field is accessed only by the
corresponding CPU, it can be accessed by both interrupt handlers via
invoke_rcu_core_kthread() and at task level via rcu_cpu_kthread().
This means that we need this_cpu_read() rather than __this_cpu_read(),
this_cpu_write() rather than __this_cpu_write(), and READ_ONCE()
rather than plain C-language loads. The exception is the boot-time
rcu_spawn_core_kthreads(), which cannot race with kthreads that have
not yet been spawned.
This commit therefore makes it so.
KCSAN located this issue.
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'scripts/stackusage')
0 files changed, 0 insertions, 0 deletions
