Messages in this thread | | | Subject | Re: [PATCH v2 tip/core/rcu 07/13] ipv6/ip6_tunnel: Apply rcu_access_pointer() to avoid sparse false positive | From | Eric Dumazet <> | Date | Wed, 09 Oct 2013 15:10:24 -0700 |
| |
On Wed, 2013-10-09 at 14:57 -0700, Paul E. McKenney wrote:
> Hmmm... I could use RCU_INIT_POINTER(). Something like the following? > > RCU_INIT_POINTER(ACCESS_ONCE(*tp), t->next); > > The ACCESS_ONCE() to prevent the compiler from doing anything stupid. > Presumably the value of t->next cannot change, so a normal load suffices. > > Or did you have something else in mind?
Well, *tp and t->next are both of the same type, with __rcu attribute.
struct ip6_tnl __rcu **tp;
So I meant :
ACCESS_ONCE(*tp) = t->next;
If really we can have a really stupid compiler.
| |