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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/