Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d162cd0 authored by Josh Triplett's avatar Josh Triplett Committed by Paul E. McKenney
Browse files

rcu: Make rcu_assign_pointer's assignment volatile and type-safe



The rcu_assign_pointer() primitive needs to use ACCESS_ONCE to make
the assignment to the destination pointer volatile, to protect against
compilers too clever for their own good.

Signed-off-by: default avatarJosh Triplett <josh@joshtriplett.org>
Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent 36708b89
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -551,7 +551,7 @@ static inline void rcu_preempt_sleep_check(void)
#define __rcu_assign_pointer(p, v, space) \
	do { \
		smp_wmb(); \
		(p) = (typeof(*v) __force space *)(v); \
		ACCESS_ONCE(p) = (typeof(*(v)) __force space *)(v); \
	} while (0)