Эх сурвалжийг харах

rcu: Use WRITE_ONCE in RCU_INIT_POINTER

For the paranoid amongst us GCC would be in its right to use byte stores
to write our NULL value, tell it not to do that.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Peter Zijlstra 10 жил өмнө
parent
commit
155d1d1278

+ 1 - 1
include/linux/rcupdate.h

@@ -995,7 +995,7 @@ static inline notrace void rcu_read_unlock_sched_notrace(void)
 #define RCU_INIT_POINTER(p, v) \
 #define RCU_INIT_POINTER(p, v) \
 	do { \
 	do { \
 		rcu_dereference_sparse(p, __rcu); \
 		rcu_dereference_sparse(p, __rcu); \
-		p = RCU_INITIALIZER(v); \
+		WRITE_ONCE(p, RCU_INITIALIZER(v)); \
 	} while (0)
 	} while (0)
 
 
 /**
 /**