net: reintroduce missing rcu_assign_pointer() calls
commit4704f3edfdd3cc5918932577373c0dc165d52959
authorEric Dumazet <eric.dumazet@gmail.com>
Thu, 12 Jan 2012 04:41:32 +0000 (12 04:41 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Feb 2012 17:22:20 +0000 (3 09:22 -0800)
tree5250e4313f6a37c6fce02075f1fcf84be095afbd
parentcb65f39fb559707c4b5c85f14f804fa060d0609f
net: reintroduce missing rcu_assign_pointer() calls

[ Upstream commit cf778b00e96df6d64f8e21b8395d1f8a859ecdc7 ]

commit a9b3cd7f32 (rcu: convert uses of rcu_assign_pointer(x, NULL) to
RCU_INIT_POINTER) did a lot of incorrect changes, since it did a
complete conversion of rcu_assign_pointer(x, y) to RCU_INIT_POINTER(x,
y).

We miss needed barriers, even on x86, when y is not NULL.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Stephen Hemminger <shemminger@vyatta.com>
CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
32 files changed:
net/core/net-sysfs.c
net/core/netpoll.c
net/decnet/dn_dev.c
net/ipv4/devinet.c
net/ipv4/fib_trie.c
net/ipv4/igmp.c
net/ipv4/ipip.c
net/ipv4/ipmr.c
net/ipv6/addrconf.c
net/ipv6/ip6_tunnel.c
net/ipv6/raw.c
net/ipv6/sit.c
net/mac80211/agg-rx.c
net/mac80211/cfg.c
net/mac80211/ibss.c
net/mac80211/sta_info.c
net/netfilter/nf_conntrack_core.c
net/netfilter/nf_conntrack_ecache.c
net/netfilter/nf_conntrack_extend.c
net/netfilter/nf_conntrack_helper.c
net/netfilter/nf_conntrack_netlink.c
net/netfilter/nf_log.c
net/netfilter/nf_queue.c
net/netfilter/nfnetlink.c
net/netlabel/netlabel_domainhash.c
net/netlabel/netlabel_unlabeled.c
net/phonet/af_phonet.c
net/phonet/pn_dev.c
net/phonet/socket.c
net/socket.c
net/sunrpc/auth_gss/auth_gss.c
net/xfrm/xfrm_user.c