OSDN Git Service

srcu: Fix __call_srcu()/srcu_get_delay() datarace
authorPaul E. McKenney <paulmck@kernel.org>
Mon, 23 Dec 2019 03:36:33 +0000 (19:36 -0800)
committerPaul E. McKenney <paulmck@kernel.org>
Fri, 21 Feb 2020 00:01:11 +0000 (16:01 -0800)
commit8c9e0cb32315835825ea1ad725a858a2d2ce4a8e
tree288fea8145ada762e4ae66a9b8df71448f04095d
parent7ff8b4502bc0f576450d4ecbda97fa30e8002ed1
srcu: Fix __call_srcu()/srcu_get_delay() datarace

The srcu_struct structure's ->srcu_gp_seq_needed_exp field is accessed
locklessly, so updates must use WRITE_ONCE().  This commit therefore
adds the needed WRITE_ONCE() invocations.

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

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/srcutree.c