• Paul E. McKenney's avatar
    rcutorture: Fix rcu_torture_fwd_cb_cr() data race · 6040072f
    Paul E. McKenney authored
    On powerpc systems, spinlock acquisition does not order prior stores
    against later loads.  This means that this statement:
    
    	rfcp->rfc_next = NULL;
    
    Can be reordered to follow this statement:
    
    	WRITE_ONCE(*rfcpp, rfcp);
    
    Which is then a data race with rcu_torture_fwd_prog_cr(), specifically,
    this statement:
    
    	rfcpn = READ_ONCE(rfcp->rfc_next)
    
    KCSAN located this data race, which represents a real failure on powerpc.
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    Acked-by: default avatarMarco Elver <elver@google.com>
    Cc: Andrey Konovalov <andreyknvl@gmail.com>
    Cc: <kasan-dev@googlegroups.com>
    6040072f
rcutorture.c 123 KB