lkml.org 
[lkml]   [2021]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH rcu 11/18] rcu: Mark lockless ->qsmask read in rcu_check_boost_fail()
    Date
    Accesses to ->qsmask are normally protected by ->lock, but there is an
    exception in the diagnostic code in rcu_check_boost_fail(). This commit
    therefore applies data_race() to this access to avoid KCSAN complaining
    about the C-language writes protected by ->lock.

    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
    ---
    kernel/rcu/tree_stall.h | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/kernel/rcu/tree_stall.h b/kernel/rcu/tree_stall.h
    index 42847caa3909b..6dd6c9aa3f757 100644
    --- a/kernel/rcu/tree_stall.h
    +++ b/kernel/rcu/tree_stall.h
    @@ -766,7 +766,7 @@ bool rcu_check_boost_fail(unsigned long gp_state, int *cpup)

    rcu_for_each_leaf_node(rnp) {
    if (!cpup) {
    - if (READ_ONCE(rnp->qsmask)) {
    + if (data_race(READ_ONCE(rnp->qsmask))) {
    return false;
    } else {
    if (READ_ONCE(rnp->gp_tasks))
    --
    2.31.1.189.g2e36527f23
    \
     
     \ /
      Last update: 2021-07-21 22:40    [W:4.131 / U:0.436 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site