list: Use WRITE_ONCE() when adding to lists and hlists
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 21 Sep 2015 05:02:17 +0000 (22:02 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 23 Nov 2015 18:37:35 +0000 (10:37 -0800)
commit1c97be677f72b3c338312aecd36d8fff20322f32
tree805643267b5d6cc61c8dd168c4610c554cd76a68
parent6cf10081220ae21175a867d446b3167bcbcb937b
list: Use WRITE_ONCE() when adding to lists and hlists

Code that does lockless emptiness testing of non-RCU lists is relying
on the list-addition code to write the list head's ->next pointer
atomically.  This commit therefore adds WRITE_ONCE() to list-addition
pointer stores that could affect the head's ->next pointer.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
include/linux/list.h
lib/list_debug.c