Recently RCU_INIT_POINTER is suggested to be used instead of
rcu_assign_pointer for NULL values.
I do not see any reason why this is in all CAPS unlike for other
cases. Rename so that it is consistent with other RCU_* macros.
Please also find the patch attached in case of mail client errors.
Please discard patch if you think this huge change is unnecessary.
Thanks!
Signed-off-by: Romanov Arya <[email protected]>
---
arch/powerpc/platforms/cell/spu_syscalls.c | 2 +-
drivers/crypto/nx/nx-842.c | 4 +-
drivers/infiniband/hw/qib/qib_qp.c | 2 +-
drivers/infiniband/hw/qib/qib_verbs.c | 10 ++--
drivers/ipack/carriers/tpci200.c | 2 +-
drivers/md/dm.c | 2 +-
drivers/net/bonding/bond_main.c | 2 +-
drivers/net/bonding/bond_options.c | 2 +-
drivers/net/ethernet/broadcom/bnx2.c | 2 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 +-
drivers/net/ethernet/broadcom/cnic.c | 6 +--
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 4 +-
drivers/net/macvtap.c | 10 ++--
drivers/net/ppp/pptp.c | 2 +-
drivers/net/team/team_mode_activebackup.c | 2 +-
drivers/net/team/team_mode_loadbalance.c | 2 +-
drivers/net/tun.c | 8 ++--
drivers/net/veth.c | 4 +-
drivers/net/wireless/ath/carl9170/main.c | 12 ++---
drivers/net/wireless/iwlwifi/mvm/fw.c | 4 +-
drivers/vhost/vhost.c | 4 +-
fs/eventpoll.c | 4 +-
fs/proc/inode.c | 2 +-
include/linux/rcupdate.h | 20 ++++----
kernel/audit.c | 2 +-
kernel/cgroup.c | 14 +++---
kernel/trace/trace_events_filter.c | 4 +-
kernel/trace/trace_events_trigger.c | 2 +-
kernel/workqueue.c | 2 +-
lib/idr.c | 6 +--
net/802/garp.c | 4 +-
net/802/mrp.c | 4 +-
net/802/stp.c | 4 +-
net/8021q/vlan_core.c | 2 +-
net/bridge/br_vlan.c | 8 ++--
net/bridge/netfilter/ebtable_broute.c | 4 +-
net/caif/cfmuxl.c | 4 +-
net/can/af_can.c | 4 +-
net/core/dev.c | 14 +++---
net/core/fib_rules.c | 4 +-
net/core/filter.c | 2 +-
net/core/neighbour.c | 2 +-
net/core/net-sysfs.c | 4 +-
net/core/netpoll.c | 2 +-
net/core/netprio_cgroup.c | 2 +-
net/core/sock.c | 4 +-
net/core/sysctl_net_core.c | 2 +-
net/decnet/dn_dev.c | 2 +-
net/decnet/dn_route.c | 2 +-
net/ipv4/devinet.c | 4 +-
net/ipv4/fib_semantics.c | 2 +-
net/ipv4/fib_trie.c | 2 +-
net/ipv4/igmp.c | 4 +-
net/ipv4/inetpeer.c | 50 ++++++++++----------
net/ipv4/ipmr.c | 2 +-
net/ipv4/netfilter/nf_nat_h323.c | 36 +++++++-------
net/ipv4/netfilter/nf_nat_pptp.c | 16 +++----
net/ipv4/netfilter/nf_nat_snmp_basic.c | 4 +-
net/ipv4/route.c | 4 +-
net/ipv6/addrconf.c | 2 +-
net/ipv6/ip6_tunnel.c | 2 +-
net/ipv6/ip6_vti.c | 2 +-
net/ipv6/netfilter.c | 4 +-
net/ipv6/raw.c | 2 +-
net/ipv6/sit.c | 2 +-
net/mac80211/agg-rx.c | 2 +-
net/mac80211/cfg.c | 8 ++--
net/mac80211/ibss.c | 4 +-
net/mac80211/mesh.c | 2 +-
net/mac80211/mesh_pathtbl.c | 4 +-
net/mac80211/sta_info.c | 2 +-
net/netfilter/core.c | 4 +-
net/netfilter/ipvs/ip_vs_ctl.c | 4 +-
net/netfilter/ipvs/ip_vs_dh.c | 6 +--
net/netfilter/ipvs/ip_vs_sh.c | 6 +--
net/netfilter/nf_conntrack_core.c | 8 ++--
net/netfilter/nf_conntrack_ecache.c | 4 +-
net/netfilter/nf_conntrack_extend.c | 2 +-
net/netfilter/nf_conntrack_helper.c | 6 +--
net/netfilter/nf_conntrack_netlink.c | 8 ++--
net/netfilter/nf_conntrack_proto.c | 2 +-
net/netfilter/nf_log.c | 4 +-
net/netfilter/nf_nat_amanda.c | 4 +-
net/netfilter/nf_nat_core.c | 22 ++++-----
net/netfilter/nf_nat_ftp.c | 4 +-
net/netfilter/nf_nat_irc.c | 4 +-
net/netfilter/nf_nat_sip.c | 4 +-
net/netfilter/nf_nat_tftp.c | 4 +-
net/netfilter/nf_queue.c | 2 +-
net/netfilter/nfnetlink.c | 2 +-
net/netfilter/nfnetlink_cttimeout.c | 8 ++--
net/netfilter/nft_hash.c | 14 +++---
net/netlabel/netlabel_domainhash.c | 2 +-
net/netlabel/netlabel_unlabeled.c | 2 +-
net/netlink/af_netlink.c | 2 +-
net/packet/af_packet.c | 2 +-
net/phonet/af_phonet.c | 2 +-
net/phonet/pn_dev.c | 4 +-
net/phonet/socket.c | 4 +-
net/socket.c | 4 +-
net/sunrpc/auth_gss/auth_gss.c | 2 +-
net/tipc/bearer.c | 2 +-
net/unix/af_unix.c | 2 +-
net/xfrm/xfrm_input.c | 2 +-
net/xfrm/xfrm_policy.c | 2 +-
net/xfrm/xfrm_state.c | 2 +-
net/xfrm/xfrm_user.c | 2 +-
107 files changed, 268 insertions(+), 268 deletions(-)
diff --git a/arch/powerpc/platforms/cell/spu_syscalls.c
b/arch/powerpc/platforms/cell/spu_syscalls.c
index 38e0a1a..2feef7c 100644
--- a/arch/powerpc/platforms/cell/spu_syscalls.c
+++ b/arch/powerpc/platforms/cell/spu_syscalls.c
@@ -170,7 +170,7 @@ EXPORT_SYMBOL_GPL(register_spu_syscalls);
void unregister_spu_syscalls(struct spufs_calls *calls)
{
BUG_ON(spufs_calls->owner != calls->owner);
- RCU_INIT_POINTER(spufs_calls, NULL);
+ rcu_init_pointer(spufs_calls, NULL);
synchronize_rcu();
}
EXPORT_SYMBOL_GPL(unregister_spu_syscalls);
diff --git a/drivers/crypto/nx/nx-842.c b/drivers/crypto/nx/nx-842.c
index 1e5481d..e72d3d7 100644
--- a/drivers/crypto/nx/nx-842.c
+++ b/drivers/crypto/nx/nx-842.c
@@ -1262,14 +1262,14 @@ static int __init nx842_init(void)
struct nx842_devdata *new_devdata;
pr_info("Registering IBM Power 842 compression driver\n");
- RCU_INIT_POINTER(devdata, NULL);
+ rcu_init_pointer(devdata, NULL);
new_devdata = kzalloc(sizeof(*new_devdata), GFP_KERNEL);
if (!new_devdata) {
pr_err("Could not allocate memory for device data\n");
return -ENOMEM;
}
new_devdata->status = UNAVAILABLE;
- RCU_INIT_POINTER(devdata, new_devdata);
+ rcu_init_pointer(devdata, new_devdata);
return vio_register_driver(&nx842_driver);
}
diff --git a/drivers/infiniband/hw/qib/qib_qp.c
b/drivers/infiniband/hw/qib/qib_qp.c
index 0cad0c4..e967aa5 100644
--- a/drivers/infiniband/hw/qib/qib_qp.c
+++ b/drivers/infiniband/hw/qib/qib_qp.c
@@ -1041,7 +1041,7 @@ struct ib_qp *qib_create_qp(struct ib_pd *ibpd,
ret = ERR_PTR(-ENOMEM);
goto bail_swq;
}
- RCU_INIT_POINTER(qp->next, NULL);
+ rcu_init_pointer(qp->next, NULL);
qp->s_hdr = kzalloc(sizeof(*qp->s_hdr), GFP_KERNEL);
if (!qp->s_hdr) {
ret = ERR_PTR(-ENOMEM);
diff --git a/drivers/infiniband/hw/qib/qib_verbs.c
b/drivers/infiniband/hw/qib/qib_verbs.c
index 9bcfbd8..8ed08aa9 100644
--- a/drivers/infiniband/hw/qib/qib_verbs.c
+++ b/drivers/infiniband/hw/qib/qib_verbs.c
@@ -2035,8 +2035,8 @@ static void init_ibport(struct qib_pportdata *ppd)
ibp->z_excessive_buffer_overrun_errors =
cntrs.excessive_buffer_overrun_errors;
ibp->z_vl15_dropped = cntrs.vl15_dropped;
- RCU_INIT_POINTER(ibp->qp0, NULL);
- RCU_INIT_POINTER(ibp->qp1, NULL);
+ rcu_init_pointer(ibp->qp0, NULL);
+ rcu_init_pointer(ibp->qp1, NULL);
}
/**
@@ -2061,7 +2061,7 @@ int qib_register_ib_device(struct qib_devdata *dd)
goto err_qpt;
}
for (i = 0; i < dev->qp_table_size; i++)
- RCU_INIT_POINTER(dev->qp_table[i], NULL);
+ rcu_init_pointer(dev->qp_table[i], NULL);
for (i = 0; i < dd->num_pports; i++)
init_ibport(ppd + i);
@@ -2094,9 +2094,9 @@ int qib_register_ib_device(struct qib_devdata *dd)
ret = -ENOMEM;
goto err_lk;
}
- RCU_INIT_POINTER(dev->dma_mr, NULL);
+ rcu_init_pointer(dev->dma_mr, NULL);
for (i = 0; i < dev->lk_table.max; i++)
- RCU_INIT_POINTER(dev->lk_table.table[i], NULL);
+ rcu_init_pointer(dev->lk_table.table[i], NULL);
INIT_LIST_HEAD(&dev->pending_mmaps);
spin_lock_init(&dev->pending_lock);
dev->mmap_offset = PAGE_SIZE;
diff --git a/drivers/ipack/carriers/tpci200.c b/drivers/ipack/carriers/tpci200.c
index c276fde..86ae582 100644
--- a/drivers/ipack/carriers/tpci200.c
+++ b/drivers/ipack/carriers/tpci200.c
@@ -187,7 +187,7 @@ static int tpci200_free_irq(struct ipack_device *dev)
tpci200_disable_irq(tpci200, dev->slot);
slot_irq = tpci200->slots[dev->slot].irq;
/* uninstall handler */
- RCU_INIT_POINTER(tpci200->slots[dev->slot].irq, NULL);
+ rcu_init_pointer(tpci200->slots[dev->slot].irq, NULL);
synchronize_rcu();
kfree(slot_irq);
mutex_unlock(&tpci200->mutex);
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 455e649..19e6e9a 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -2168,7 +2168,7 @@ static struct dm_table *__unbind(struct mapped_device *md)
return NULL;
dm_table_event_callback(map, NULL, NULL);
- RCU_INIT_POINTER(md->map, NULL);
+ rcu_init_pointer(md->map, NULL);
dm_sync_table(md);
return map;
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 69aff72..d75c7ef 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1704,7 +1704,7 @@ static int __bond_release_one(struct net_device *bond_dev,
}
if (all) {
- RCU_INIT_POINTER(bond->curr_active_slave, NULL);
+ rcu_init_pointer(bond->curr_active_slave, NULL);
} else if (oldcurrent == slave) {
/*
* Note that we hold RTNL over this sequence, so there
diff --git a/drivers/net/bonding/bond_options.c
b/drivers/net/bonding/bond_options.c
index 724e30f..069c7c3 100644
--- a/drivers/net/bonding/bond_options.c
+++ b/drivers/net/bonding/bond_options.c
@@ -712,7 +712,7 @@ static int bond_option_active_slave_set(struct
bonding *bond,
/* check to see if we are clearing active */
if (!slave_dev) {
pr_info("%s: Clearing current active slave\n", bond->dev->name);
- RCU_INIT_POINTER(bond->curr_active_slave, NULL);
+ rcu_init_pointer(bond->curr_active_slave, NULL);
bond_select_active_slave(bond);
} else {
struct slave *old_active = bond->curr_active_slave;
diff --git a/drivers/net/ethernet/broadcom/bnx2.c
b/drivers/net/ethernet/broadcom/bnx2.c
index 0ab8370..7facbc4 100644
--- a/drivers/net/ethernet/broadcom/bnx2.c
+++ b/drivers/net/ethernet/broadcom/bnx2.c
@@ -409,7 +409,7 @@ static int bnx2_unregister_cnic(struct net_device *dev)
mutex_lock(&bp->cnic_lock);
cp->drv_state = 0;
bnapi->cnic_present = 0;
- RCU_INIT_POINTER(bp->cnic_ops, NULL);
+ rcu_init_pointer(bp->cnic_ops, NULL);
mutex_unlock(&bp->cnic_lock);
synchronize_rcu();
return 0;
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
index a78edac..83a228e 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -14048,7 +14048,7 @@ static int bnx2x_unregister_cnic(struct net_device *dev)
mutex_lock(&bp->cnic_mutex);
cp->drv_state = 0;
- RCU_INIT_POINTER(bp->cnic_ops, NULL);
+ rcu_init_pointer(bp->cnic_ops, NULL);
mutex_unlock(&bp->cnic_mutex);
synchronize_rcu();
bp->cnic_enabled = false;
diff --git a/drivers/net/ethernet/broadcom/cnic.c
b/drivers/net/ethernet/broadcom/cnic.c
index 09f3fef..42d5ff3a 100644
--- a/drivers/net/ethernet/broadcom/cnic.c
+++ b/drivers/net/ethernet/broadcom/cnic.c
@@ -534,7 +534,7 @@ int cnic_unregister_driver(int ulp_type)
}
read_unlock(&cnic_dev_lock);
- RCU_INIT_POINTER(cnic_ulp_tbl[ulp_type], NULL);
+ rcu_init_pointer(cnic_ulp_tbl[ulp_type], NULL);
mutex_unlock(&cnic_lock);
synchronize_rcu();
@@ -610,7 +610,7 @@ static int cnic_unregister_device(struct cnic_dev
*dev, int ulp_type)
}
mutex_lock(&cnic_lock);
if (rcu_dereference(cp->ulp_ops[ulp_type])) {
- RCU_INIT_POINTER(cp->ulp_ops[ulp_type], NULL);
+ rcu_init_pointer(cp->ulp_ops[ulp_type], NULL);
cnic_put(dev);
} else {
pr_err("%s: device not registered to this ulp type %d\n",
@@ -5414,7 +5414,7 @@ static void cnic_stop_hw(struct cnic_dev *dev)
cp->stop_cm(dev);
cp->ethdev->drv_state &= ~CNIC_DRV_STATE_HANDLES_IRQ;
clear_bit(CNIC_F_CNIC_UP, &dev->flags);
- RCU_INIT_POINTER(cp->ulp_ops[CNIC_ULP_L4], NULL);
+ rcu_init_pointer(cp->ulp_ops[CNIC_ULP_L4], NULL);
synchronize_rcu();
cnic_cm_shutdown(dev);
cp->stop_hw(dev);
diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
index c0a9dd5..466f3b2 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
@@ -1280,7 +1280,7 @@ int cxgb3_offload_activate(struct adapter *adapter)
INIT_LIST_HEAD(&t->list_node);
t->dev = dev;
- RCU_INIT_POINTER(dev->l2opt, l2td);
+ rcu_init_pointer(dev->l2opt, l2td);
T3C_DATA(dev) = t;
dev->recv = process_rx;
dev->neigh_update = t3_l2t_update;
@@ -1324,7 +1324,7 @@ void cxgb3_offload_deactivate(struct adapter *adapter)
rcu_read_lock();
d = L2DATA(tdev);
rcu_read_unlock();
- RCU_INIT_POINTER(tdev->l2opt, NULL);
+ rcu_init_pointer(tdev->l2opt, NULL);
call_rcu(&d->rcu_head, clean_l2_data);
if (t->nofail_skb)
kfree_skb(t->nofail_skb);
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
index ff111a8..c343c1d 100644
--- a/drivers/net/macvtap.c
+++ b/drivers/net/macvtap.c
@@ -159,7 +159,7 @@ static int macvtap_disable_queue(struct macvtap_queue *q)
nq->queue_index = index;
rcu_assign_pointer(vlan->taps[index], nq);
- RCU_INIT_POINTER(vlan->taps[vlan->numvtaps - 1], NULL);
+ rcu_init_pointer(vlan->taps[vlan->numvtaps - 1], NULL);
q->enabled = false;
vlan->numvtaps--;
@@ -188,7 +188,7 @@ static void macvtap_put_queue(struct macvtap_queue *q)
BUG_ON(macvtap_disable_queue(q));
vlan->numqueues--;
- RCU_INIT_POINTER(q->vlan, NULL);
+ rcu_init_pointer(q->vlan, NULL);
sock_put(&q->sk);
list_del_init(&q->next);
}
@@ -259,13 +259,13 @@ static void macvtap_del_queues(struct net_device *dev)
list_for_each_entry_safe(q, tmp, &vlan->queue_list, next) {
list_del_init(&q->next);
qlist[j++] = q;
- RCU_INIT_POINTER(q->vlan, NULL);
+ rcu_init_pointer(q->vlan, NULL);
if (q->enabled)
vlan->numvtaps--;
vlan->numqueues--;
}
for (i = 0; i < vlan->numvtaps; i++)
- RCU_INIT_POINTER(vlan->taps[i], NULL);
+ rcu_init_pointer(vlan->taps[i], NULL);
BUG_ON(vlan->numvtaps);
BUG_ON(vlan->numqueues);
/* guarantee that any future macvtap_set_queue will fail */
@@ -459,7 +459,7 @@ static int macvtap_open(struct inode *inode,
struct file *file)
if (!q)
goto out;
- RCU_INIT_POINTER(q->sock.wq, &q->wq);
+ rcu_init_pointer(q->sock.wq, &q->wq);
init_waitqueue_head(&q->wq.wait);
q->sock.type = SOCK_RAW;
q->sock.state = SS_CONNECTED;
diff --git a/drivers/net/ppp/pptp.c b/drivers/net/ppp/pptp.c
index 0180531..b7c2acb 100644
--- a/drivers/net/ppp/pptp.c
+++ b/drivers/net/ppp/pptp.c
@@ -162,7 +162,7 @@ static void del_chan(struct pppox_sock *sock)
{
spin_lock(&chan_lock);
clear_bit(sock->proto.pptp.src_addr.call_id, callid_bitmap);
- RCU_INIT_POINTER(callid_sock[sock->proto.pptp.src_addr.call_id], NULL);
+ rcu_init_pointer(callid_sock[sock->proto.pptp.src_addr.call_id], NULL);
spin_unlock(&chan_lock);
synchronize_rcu();
}
diff --git a/drivers/net/team/team_mode_activebackup.c
b/drivers/net/team/team_mode_activebackup.c
index 40fd338..91b3066 100644
--- a/drivers/net/team/team_mode_activebackup.c
+++ b/drivers/net/team/team_mode_activebackup.c
@@ -56,7 +56,7 @@ drop:
static void ab_port_leave(struct team *team, struct team_port *port)
{
if (ab_priv(team)->active_port == port) {
- RCU_INIT_POINTER(ab_priv(team)->active_port, NULL);
+ rcu_init_pointer(ab_priv(team)->active_port, NULL);
team_option_inst_set_change(ab_priv(team)->ap_opt_inst_info);
}
}
diff --git a/drivers/net/team/team_mode_loadbalance.c
b/drivers/net/team/team_mode_loadbalance.c
index dbde341..deef2c9 100644
--- a/drivers/net/team/team_mode_loadbalance.c
+++ b/drivers/net/team/team_mode_loadbalance.c
@@ -97,7 +97,7 @@ static void
lb_tx_hash_to_port_mapping_null_port(struct team *team,
pm = &lb_priv->ex->tx_hash_to_port_mapping[i];
if (rcu_access_pointer(pm->port) == port) {
- RCU_INIT_POINTER(pm->port, NULL);
+ rcu_init_pointer(pm->port, NULL);
team_option_inst_set_change(pm->opt_inst_info);
changed = true;
}
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index ee328ba..ab06040 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -452,7 +452,7 @@ static void __tun_detach(struct tun_file *tfile, bool clean)
--tun->numqueues;
if (clean) {
- RCU_INIT_POINTER(tfile->tun, NULL);
+ rcu_init_pointer(tfile->tun, NULL);
sock_put(&tfile->sk);
} else
tun_disable_queue(tun, tfile);
@@ -499,12 +499,12 @@ static void tun_detach_all(struct net_device *dev)
tfile = rtnl_dereference(tun->tfiles[i]);
BUG_ON(!tfile);
wake_up_all(&tfile->wq.wait);
- RCU_INIT_POINTER(tfile->tun, NULL);
+ rcu_init_pointer(tfile->tun, NULL);
--tun->numqueues;
}
list_for_each_entry(tfile, &tun->disabled, next) {
wake_up_all(&tfile->wq.wait);
- RCU_INIT_POINTER(tfile->tun, NULL);
+ rcu_init_pointer(tfile->tun, NULL);
}
BUG_ON(tun->numqueues != 0);
@@ -2194,7 +2194,7 @@ static int tun_chr_open(struct inode *inode,
struct file * file)
&tun_proto);
if (!tfile)
return -ENOMEM;
- RCU_INIT_POINTER(tfile->tun, NULL);
+ rcu_init_pointer(tfile->tun, NULL);
tfile->net = get_net(current->nsproxy->net_ns);
tfile->flags = 0;
tfile->ifindex = 0;
diff --git a/drivers/net/veth.c b/drivers/net/veth.c
index b4a10bc..b8c026f 100644
--- a/drivers/net/veth.c
+++ b/drivers/net/veth.c
@@ -432,12 +432,12 @@ static void veth_dellink(struct net_device *dev,
struct list_head *head)
* before a rcu_synchronize() point. The devices are guaranteed
* not being freed before one RCU grace period.
*/
- RCU_INIT_POINTER(priv->peer, NULL);
+ rcu_init_pointer(priv->peer, NULL);
unregister_netdevice_queue(dev, head);
if (peer) {
priv = netdev_priv(peer);
- RCU_INIT_POINTER(priv->peer, NULL);
+ rcu_init_pointer(priv->peer, NULL);
unregister_netdevice_queue(peer, head);
}
}
diff --git a/drivers/net/wireless/ath/carl9170/main.c
b/drivers/net/wireless/ath/carl9170/main.c
index 4c8cdb0..9ba9885 100644
--- a/drivers/net/wireless/ath/carl9170/main.c
+++ b/drivers/net/wireless/ath/carl9170/main.c
@@ -450,7 +450,7 @@ static void carl9170_op_stop(struct ieee80211_hw *hw)
mutex_lock(&ar->mutex);
if (IS_ACCEPTING_CMD(ar)) {
- RCU_INIT_POINTER(ar->beacon_iter, NULL);
+ rcu_init_pointer(ar->beacon_iter, NULL);
carl9170_led_set_state(ar, 0);
@@ -747,7 +747,7 @@ unlock:
vif_priv->active = false;
bitmap_release_region(&ar->vif_bitmap, vif_id, 0);
ar->vifs--;
- RCU_INIT_POINTER(ar->vif_priv[vif_id].vif, NULL);
+ rcu_init_pointer(ar->vif_priv[vif_id].vif, NULL);
list_del_rcu(&vif_priv->list);
mutex_unlock(&ar->mutex);
synchronize_rcu();
@@ -785,7 +785,7 @@ static void carl9170_op_remove_interface(struct
ieee80211_hw *hw,
WARN_ON(vif_priv->enable_beacon);
vif_priv->enable_beacon = false;
list_del_rcu(&vif_priv->list);
- RCU_INIT_POINTER(ar->vif_priv[id].vif, NULL);
+ rcu_init_pointer(ar->vif_priv[id].vif, NULL);
if (vif == main_vif) {
rcu_read_unlock();
@@ -1333,7 +1333,7 @@ static int carl9170_op_sta_add(struct ieee80211_hw *hw,
}
for (i = 0; i < ARRAY_SIZE(sta_info->agg); i++)
- RCU_INIT_POINTER(sta_info->agg[i], NULL);
+ rcu_init_pointer(sta_info->agg[i], NULL);
sta_info->ampdu_max_len = 1 << (3 + sta->ht_cap.ampdu_factor);
sta_info->ht_sta = true;
@@ -1360,7 +1360,7 @@ static int carl9170_op_sta_remove(struct ieee80211_hw *hw,
struct carl9170_sta_tid *tid_info;
tid_info = rcu_dereference(sta_info->agg[i]);
- RCU_INIT_POINTER(sta_info->agg[i], NULL);
+ rcu_init_pointer(sta_info->agg[i], NULL);
if (!tid_info)
continue;
@@ -1477,7 +1477,7 @@ static int carl9170_op_ampdu_action(struct
ieee80211_hw *hw,
spin_unlock_bh(&ar->tx_ampdu_list_lock);
}
- RCU_INIT_POINTER(sta_info->agg[tid], NULL);
+ rcu_init_pointer(sta_info->agg[tid], NULL);
rcu_read_unlock();
ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw.c
b/drivers/net/wireless/iwlwifi/mvm/fw.c
index 7ce2006..751abf0 100644
--- a/drivers/net/wireless/iwlwifi/mvm/fw.c
+++ b/drivers/net/wireless/iwlwifi/mvm/fw.c
@@ -443,7 +443,7 @@ int iwl_mvm_up(struct iwl_mvm *mvm)
/* init the fw <-> mac80211 STA mapping */
for (i = 0; i < IWL_MVM_STATION_COUNT; i++)
- RCU_INIT_POINTER(mvm->fw_id_to_mac_id[i], NULL);
+ rcu_init_pointer(mvm->fw_id_to_mac_id[i], NULL);
/* Add auxiliary station for scanning */
ret = iwl_mvm_add_aux_sta(mvm);
@@ -520,7 +520,7 @@ int iwl_mvm_load_d3_fw(struct iwl_mvm *mvm)
/* init the fw <-> mac80211 STA mapping */
for (i = 0; i < IWL_MVM_STATION_COUNT; i++)
- RCU_INIT_POINTER(mvm->fw_id_to_mac_id[i], NULL);
+ rcu_init_pointer(mvm->fw_id_to_mac_id[i], NULL);
/* Add auxiliary station for scanning */
ret = iwl_mvm_add_aux_sta(mvm);
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index 78987e4..92d3fbc 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -419,7 +419,7 @@ void vhost_dev_reset_owner(struct vhost_dev *dev,
struct vhost_memory *memory)
/* Restore memory to default empty mapping. */
memory->nregions = 0;
- RCU_INIT_POINTER(dev->memory, memory);
+ rcu_init_pointer(dev->memory, memory);
}
EXPORT_SYMBOL_GPL(vhost_dev_reset_owner);
@@ -465,7 +465,7 @@ void vhost_dev_cleanup(struct vhost_dev *dev, bool locked)
kfree(rcu_dereference_protected(dev->memory,
locked ==
lockdep_is_held(&dev->mutex)));
- RCU_INIT_POINTER(dev->memory, NULL);
+ rcu_init_pointer(dev->memory, NULL);
WARN_ON(!list_empty(&dev->work_list));
if (dev->worker) {
kthread_stop(dev->worker);
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
index af90312..bc52fb8 100644
--- a/fs/eventpoll.c
+++ b/fs/eventpoll.c
@@ -1250,7 +1250,7 @@ static noinline void
ep_destroy_wakeup_source(struct epitem *epi)
{
struct wakeup_source *ws = ep_wakeup_source(epi);
- RCU_INIT_POINTER(epi->ws, NULL);
+ rcu_init_pointer(epi->ws, NULL);
/*
* wait for ep_pm_stay_awake_rcu to finish, synchronize_rcu is
@@ -1293,7 +1293,7 @@ static int ep_insert(struct eventpoll *ep,
struct epoll_event *event,
if (error)
goto error_create_wakeup_source;
} else {
- RCU_INIT_POINTER(epi->ws, NULL);
+ rcu_init_pointer(epi->ws, NULL);
}
/* Initialize the poll table using the queue callback */
diff --git a/fs/proc/inode.c b/fs/proc/inode.c
index 0adbc02..a8734e0 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -47,7 +47,7 @@ static void proc_evict_inode(struct inode *inode)
pde_put(de);
head = PROC_I(inode)->sysctl;
if (head) {
- RCU_INIT_POINTER(PROC_I(inode)->sysctl, NULL);
+ rcu_init_pointer(PROC_I(inode)->sysctl, NULL);
sysctl_head_put(head);
}
/* Release any associated namespace */
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index 00a7fd6..d384392 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -566,13 +566,13 @@ static inline void rcu_preempt_sleep_check(void)
* assignment. More importantly, this call documents which pointers
* will be dereferenced by RCU read-side code.
*
- * In some special cases, you may use RCU_INIT_POINTER() instead
- * of rcu_assign_pointer(). RCU_INIT_POINTER() is a bit faster due
+ * In some special cases, you may use rcu_init_pointer() instead
+ * of rcu_assign_pointer(). rcu_init_pointer() is a bit faster due
* to the fact that it does not constrain either the CPU or the compiler.
- * That said, using RCU_INIT_POINTER() when you should have used
+ * That said, using rcu_init_pointer() when you should have used
* rcu_assign_pointer() is a very bad thing that results in
* impossible-to-diagnose memory corruption. So please be careful.
- * See the RCU_INIT_POINTER() comment header for details.
+ * See the rcu_init_pointer() comment header for details.
*
* Note that rcu_assign_pointer() evaluates each of its arguments only
* once, appearances notwithstanding. One of the "extra" evaluations
@@ -919,13 +919,13 @@ static inline notrace void
rcu_read_unlock_sched_notrace(void)
}
/**
- * RCU_INIT_POINTER() - initialize an RCU protected pointer
+ * rcu_init_pointer() - initialize an RCU protected pointer
*
* Initialize an RCU-protected pointer in special cases where readers
* do not need ordering constraints on the CPU or the compiler. These
* special cases are:
*
- * 1. This use of RCU_INIT_POINTER() is NULLing out the pointer -or-
+ * 1. This use of rcu_init_pointer() is NULLing out the pointer -or-
* 2. The caller has taken whatever steps are required to prevent
* RCU readers from concurrently accessing this pointer -or-
* 3. The referenced data structure has already been exposed to
@@ -937,20 +937,20 @@ static inline notrace void
rcu_read_unlock_sched_notrace(void)
* example, the changes were to statistical counters or to
* other state where exact synchronization is not required.)
*
- * Failure to follow these rules governing use of RCU_INIT_POINTER() will
+ * Failure to follow these rules governing use of rcu_init_pointer() will
* result in impossible-to-diagnose memory corruption. As in the structures
* will look OK in crash dumps, but any concurrent RCU readers might
* see pre-initialized values of the referenced data structure. So
- * please be very careful how you use RCU_INIT_POINTER()!!!
+ * please be very careful how you use rcu_init_pointer()!!!
*
* If you are creating an RCU-protected linked structure that is accessed
* by a single external-to-structure RCU-protected pointer, then you may
- * use RCU_INIT_POINTER() to initialize the internal RCU-protected
+ * use rcu_init_pointer() to initialize the internal RCU-protected
* pointers, but you must use rcu_assign_pointer() to initialize the
* external-to-structure pointer -after- you have completely initialized
* the reader-accessible portions of the linked structure.
*/
-#define RCU_INIT_POINTER(p, v) \
+#define rcu_init_pointer(p, v) \
do { \
p = RCU_INITIALIZER(v); \
} while (0)
diff --git a/kernel/audit.c b/kernel/audit.c
index 7c28936..f5bf565 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -1102,7 +1102,7 @@ static void __net_exit audit_net_exit(struct net *net)
audit_sock = NULL;
}
- RCU_INIT_POINTER(aunet->nlsk, NULL);
+ rcu_init_pointer(aunet->nlsk, NULL);
synchronize_net();
netlink_kernel_release(sock);
}
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 9fcdaa7..252320b 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -1045,7 +1045,7 @@ static int rebind_subsystems(struct cgroup_root *dst_root,
WARN_ON(!css || cgroup_css(&dst_root->cgrp, ss));
- RCU_INIT_POINTER(src_root->cgrp.subsys[ssid], NULL);
+ rcu_init_pointer(src_root->cgrp.subsys[ssid], NULL);
rcu_assign_pointer(dst_root->cgrp.subsys[ssid], css);
ss->root = dst_root;
css->cgroup = &dst_root->cgrp;
@@ -3567,7 +3567,7 @@ static void css_release(struct percpu_ref *ref)
struct cgroup_subsys_state *css =
container_of(ref, struct cgroup_subsys_state, refcnt);
- RCU_INIT_POINTER(css->cgroup->subsys[css->ss->id], NULL);
+ rcu_init_pointer(css->cgroup->subsys[css->ss->id], NULL);
call_rcu(&css->rcu_head, css_free_rcu_fn);
}
@@ -3621,7 +3621,7 @@ static void offline_css(struct cgroup_subsys_state *css)
css->flags &= ~CSS_ONLINE;
css->cgroup->nr_css--;
- RCU_INIT_POINTER(css->cgroup->subsys[ss->id], css);
+ rcu_init_pointer(css->cgroup->subsys[ss->id], css);
}
/**
@@ -4044,7 +4044,7 @@ static int cgroup_destroy_locked(struct cgroup *cgrp)
* after all files under it have been removed.
*/
kernfs_remove(cgrp->kn); /* @cgrp has an extra ref on its kn */
- RCU_INIT_POINTER(*(void __rcu __force **)&cgrp->kn->priv, NULL);
+ rcu_init_pointer(*(void __rcu __force **)&cgrp->kn->priv, NULL);
mutex_lock(&cgroup_mutex);
@@ -4169,7 +4169,7 @@ int __init cgroup_init_early(void)
int i;
init_cgroup_root(&cgrp_dfl_root, &opts);
- RCU_INIT_POINTER(init_task.cgroups, &init_css_set);
+ rcu_init_pointer(init_task.cgroups, &init_css_set);
for_each_subsys(ss, i) {
WARN(!ss->css_alloc || !ss->css_free || ss->name || ss->id,
@@ -4377,7 +4377,7 @@ static const struct file_operations
proc_cgroupstats_operations = {
*/
void cgroup_fork(struct task_struct *child)
{
- RCU_INIT_POINTER(child->cgroups, &init_css_set);
+ rcu_init_pointer(child->cgroups, &init_css_set);
INIT_LIST_HEAD(&child->cg_list);
}
@@ -4481,7 +4481,7 @@ void cgroup_exit(struct task_struct *tsk)
/* Reassign the task to the init_css_set. */
cset = task_css_set(tsk);
- RCU_INIT_POINTER(tsk->cgroups, &init_css_set);
+ rcu_init_pointer(tsk->cgroups, &init_css_set);
if (need_forkexit_callback) {
/* see cgroup_post_fork() for details */
diff --git a/kernel/trace/trace_events_filter.c
b/kernel/trace/trace_events_filter.c
index 8a86319..93b0d89 100644
--- a/kernel/trace/trace_events_filter.c
+++ b/kernel/trace/trace_events_filter.c
@@ -1708,9 +1708,9 @@ static inline void event_clear_filter(struct
ftrace_event_file *file)
struct ftrace_event_call *call = file->event_call;
if (call->flags & TRACE_EVENT_FL_USE_CALL_FILTER)
- RCU_INIT_POINTER(call->filter, NULL);
+ rcu_init_pointer(call->filter, NULL);
else
- RCU_INIT_POINTER(file->filter, NULL);
+ rcu_init_pointer(file->filter, NULL);
}
static inline void
diff --git a/kernel/trace/trace_events_trigger.c
b/kernel/trace/trace_events_trigger.c
index 925f537..07dc2eb 100644
--- a/kernel/trace/trace_events_trigger.c
+++ b/kernel/trace/trace_events_trigger.c
@@ -1212,7 +1212,7 @@ event_enable_trigger_func(struct event_command *cmd_ops,
trigger_data->ops = trigger_ops;
trigger_data->cmd_ops = cmd_ops;
INIT_LIST_HEAD(&trigger_data->list);
- RCU_INIT_POINTER(trigger_data->filter, NULL);
+ rcu_init_pointer(trigger_data->filter, NULL);
enable_data->enable = enable;
enable_data->file = event_enable_file;
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 0ee63af..3c897f5 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -4343,7 +4343,7 @@ void destroy_workqueue(struct workqueue_struct *wq)
*/
for_each_node(node) {
pwq = rcu_access_pointer(wq->numa_pwq_tbl[node]);
- RCU_INIT_POINTER(wq->numa_pwq_tbl[node], NULL);
+ rcu_init_pointer(wq->numa_pwq_tbl[node], NULL);
put_pwq_unlocked(pwq);
}
diff --git a/lib/idr.c b/lib/idr.c
index 2642fa8..b885650 100644
--- a/lib/idr.c
+++ b/lib/idr.c
@@ -152,7 +152,7 @@ static void idr_layer_rcu_free(struct rcu_head *head)
static inline void free_layer(struct idr *idr, struct idr_layer *p)
{
if (idr->hint && idr->hint == p)
- RCU_INIT_POINTER(idr->hint, NULL);
+ rcu_init_pointer(idr->hint, NULL);
call_rcu(&p->rcu_head, idr_layer_rcu_free);
}
@@ -533,7 +533,7 @@ static void sub_remove(struct idr *idp, int shift, int id)
n = id & IDR_MASK;
if (likely(p != NULL && test_bit(n, p->bitmap))) {
__clear_bit(n, p->bitmap);
- RCU_INIT_POINTER(p->ary[n], NULL);
+ rcu_init_pointer(p->ary[n], NULL);
to_free = NULL;
while(*paa && ! --((**paa)->count)){
if (to_free)
@@ -602,7 +602,7 @@ static void __idr_remove_all(struct idr *idp)
n = idp->layers * IDR_BITS;
p = idp->top;
- RCU_INIT_POINTER(idp->top, NULL);
+ rcu_init_pointer(idp->top, NULL);
max = idr_max(idp->layers);
id = 0;
diff --git a/net/802/garp.c b/net/802/garp.c
index b38ee6d..4bc98ac 100644
--- a/net/802/garp.c
+++ b/net/802/garp.c
@@ -552,7 +552,7 @@ static void garp_release_port(struct net_device *dev)
if (rtnl_dereference(port->applicants[i]))
return;
}
- RCU_INIT_POINTER(dev->garp_port, NULL);
+ rcu_init_pointer(dev->garp_port, NULL);
kfree_rcu(port, rcu);
}
@@ -604,7 +604,7 @@ void garp_uninit_applicant(struct net_device *dev,
struct garp_application *appl
ASSERT_RTNL();
- RCU_INIT_POINTER(port->applicants[appl->type], NULL);
+ rcu_init_pointer(port->applicants[appl->type], NULL);
/* Delete timer and generate a final TRANSMIT_PDU event to flush out
* all pending messages before the applicant is gone. */
diff --git a/net/802/mrp.c b/net/802/mrp.c
index 72db278..e57b50e 100644
--- a/net/802/mrp.c
+++ b/net/802/mrp.c
@@ -834,7 +834,7 @@ static void mrp_release_port(struct net_device *dev)
if (rtnl_dereference(port->applicants[i]))
return;
}
- RCU_INIT_POINTER(dev->mrp_port, NULL);
+ rcu_init_pointer(dev->mrp_port, NULL);
kfree_rcu(port, rcu);
}
@@ -890,7 +890,7 @@ void mrp_uninit_applicant(struct net_device *dev,
struct mrp_application *appl)
ASSERT_RTNL();
- RCU_INIT_POINTER(port->applicants[appl->type], NULL);
+ rcu_init_pointer(port->applicants[appl->type], NULL);
/* Delete timer and generate a final TX event to flush out
* all pending messages before the applicant is gone.
diff --git a/net/802/stp.c b/net/802/stp.c
index 2c40ba0..75c1a32 100644
--- a/net/802/stp.c
+++ b/net/802/stp.c
@@ -89,9 +89,9 @@ void stp_proto_unregister(const struct stp_proto *proto)
{
mutex_lock(&stp_proto_mutex);
if (is_zero_ether_addr(proto->group_address))
- RCU_INIT_POINTER(stp_proto, NULL);
+ rcu_init_pointer(stp_proto, NULL);
else
- RCU_INIT_POINTER(garp_protos[proto->group_address[5] -
+ rcu_init_pointer(garp_protos[proto->group_address[5] -
GARP_ADDR_MIN], NULL);
synchronize_rcu();
diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c
index 3c32bd2..252d777 100644
--- a/net/8021q/vlan_core.c
+++ b/net/8021q/vlan_core.c
@@ -343,7 +343,7 @@ void vlan_vid_del(struct net_device *dev, __be16
proto, u16 vid)
if (vid_info->refcount == 0) {
__vlan_vid_del(vlan_info, vid_info);
if (vlan_info->nr_vids == 0) {
- RCU_INIT_POINTER(dev->vlan_info, NULL);
+ rcu_init_pointer(dev->vlan_info, NULL);
call_rcu(&vlan_info->rcu, vlan_info_rcu_free);
}
}
diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c
index 4a37161..99ffd42 100644
--- a/net/bridge/br_vlan.c
+++ b/net/bridge/br_vlan.c
@@ -99,9 +99,9 @@ static int __vlan_del(struct net_port_vlans *v, u16 vid)
v->num_vlans--;
if (bitmap_empty(v->vlan_bitmap, VLAN_N_VID)) {
if (v->port_idx)
- RCU_INIT_POINTER(v->parent.port->vlan_info, NULL);
+ rcu_init_pointer(v->parent.port->vlan_info, NULL);
else
- RCU_INIT_POINTER(v->parent.br->vlan_info, NULL);
+ rcu_init_pointer(v->parent.br->vlan_info, NULL);
kfree_rcu(v, rcu);
}
return 0;
@@ -113,9 +113,9 @@ static void __vlan_flush(struct net_port_vlans *v)
v->pvid = 0;
bitmap_zero(v->vlan_bitmap, VLAN_N_VID);
if (v->port_idx)
- RCU_INIT_POINTER(v->parent.port->vlan_info, NULL);
+ rcu_init_pointer(v->parent.port->vlan_info, NULL);
else
- RCU_INIT_POINTER(v->parent.br->vlan_info, NULL);
+ rcu_init_pointer(v->parent.br->vlan_info, NULL);
kfree_rcu(v, rcu);
}
diff --git a/net/bridge/netfilter/ebtable_broute.c
b/net/bridge/netfilter/ebtable_broute.c
index d2cdf5d..13445ac 100644
--- a/net/bridge/netfilter/ebtable_broute.c
+++ b/net/bridge/netfilter/ebtable_broute.c
@@ -83,14 +83,14 @@ static int __init ebtable_broute_init(void)
if (ret < 0)
return ret;
/* see br_input.c */
- RCU_INIT_POINTER(br_should_route_hook,
+ rcu_init_pointer(br_should_route_hook,
(br_should_route_hook_t *)ebt_broute);
return 0;
}
static void __exit ebtable_broute_fini(void)
{
- RCU_INIT_POINTER(br_should_route_hook, NULL);
+ rcu_init_pointer(br_should_route_hook, NULL);
synchronize_net();
unregister_pernet_subsys(&broute_net_ops);
}
diff --git a/net/caif/cfmuxl.c b/net/caif/cfmuxl.c
index 8c5d638..15d5d6d 100644
--- a/net/caif/cfmuxl.c
+++ b/net/caif/cfmuxl.c
@@ -108,7 +108,7 @@ struct cflayer *cfmuxl_remove_dnlayer(struct
cflayer *layr, u8 phyid)
int idx = phyid % DN_CACHE_SIZE;
spin_lock_bh(&muxl->transmit_lock);
- RCU_INIT_POINTER(muxl->dn_cache[idx], NULL);
+ rcu_init_pointer(muxl->dn_cache[idx], NULL);
dn = get_from_id(&muxl->frml_list, phyid);
if (dn == NULL)
goto out;
@@ -164,7 +164,7 @@ struct cflayer *cfmuxl_remove_uplayer(struct
cflayer *layr, u8 id)
if (up == NULL)
goto out;
- RCU_INIT_POINTER(muxl->up_cache[idx], NULL);
+ rcu_init_pointer(muxl->up_cache[idx], NULL);
list_del_rcu(&up->node);
out:
spin_unlock_bh(&muxl->receive_lock);
diff --git a/net/can/af_can.c b/net/can/af_can.c
index a27f8aa..8df0f52 100644
--- a/net/can/af_can.c
+++ b/net/can/af_can.c
@@ -761,7 +761,7 @@ int can_proto_register(const struct can_proto *cp)
pr_err("can: protocol %d already registered\n", proto);
err = -EBUSY;
} else
- RCU_INIT_POINTER(proto_tab[proto], cp);
+ rcu_init_pointer(proto_tab[proto], cp);
mutex_unlock(&proto_tab_lock);
@@ -782,7 +782,7 @@ void can_proto_unregister(const struct can_proto *cp)
mutex_lock(&proto_tab_lock);
BUG_ON(proto_tab[proto] != cp);
- RCU_INIT_POINTER(proto_tab[proto], NULL);
+ rcu_init_pointer(proto_tab[proto], NULL);
mutex_unlock(&proto_tab_lock);
synchronize_rcu();
diff --git a/net/core/dev.c b/net/core/dev.c
index d2c8a06..a0a93bd 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1836,7 +1836,7 @@ static struct xps_map *remove_xps_queue(struct
xps_dev_maps *dev_maps,
if (map->len > 1) {
map->queues[pos] = map->queues[--map->len];
} else {
- RCU_INIT_POINTER(dev_maps->cpu_map[cpu], NULL);
+ rcu_init_pointer(dev_maps->cpu_map[cpu], NULL);
kfree_rcu(map, rcu);
map = NULL;
}
@@ -1869,7 +1869,7 @@ static void netif_reset_xps_queues_gt(struct
net_device *dev, u16 index)
}
if (!active) {
- RCU_INIT_POINTER(dev->xps_maps, NULL);
+ rcu_init_pointer(dev->xps_maps, NULL);
kfree_rcu(dev_maps, rcu);
}
@@ -1948,7 +1948,7 @@ int netif_set_xps_queue(struct net_device *dev,
const struct cpumask *mask,
if (!map)
goto error;
- RCU_INIT_POINTER(new_dev_maps->cpu_map[cpu], map);
+ rcu_init_pointer(new_dev_maps->cpu_map[cpu], map);
}
if (!new_dev_maps)
@@ -1974,7 +1974,7 @@ int netif_set_xps_queue(struct net_device *dev,
const struct cpumask *mask,
} else if (dev_maps) {
/* fill in the new device map from the old device map */
map = xmap_dereference(dev_maps->cpu_map[cpu]);
- RCU_INIT_POINTER(new_dev_maps->cpu_map[cpu], map);
+ rcu_init_pointer(new_dev_maps->cpu_map[cpu], map);
}
}
@@ -2016,7 +2016,7 @@ out_no_new_maps:
/* free map if not active */
if (!active) {
- RCU_INIT_POINTER(dev->xps_maps, NULL);
+ rcu_init_pointer(dev->xps_maps, NULL);
kfree_rcu(dev_maps, rcu);
}
@@ -3476,13 +3476,13 @@ void netdev_rx_handler_unregister(struct
net_device *dev)
{
ASSERT_RTNL();
- RCU_INIT_POINTER(dev->rx_handler, NULL);
+ rcu_init_pointer(dev->rx_handler, NULL);
/* a reader seeing a non NULL rx_handler in a rcu_read_lock()
* section has a guarantee to see a non NULL rx_handler_data
* as well.
*/
synchronize_net();
- RCU_INIT_POINTER(dev->rx_handler_data, NULL);
+ rcu_init_pointer(dev->rx_handler_data, NULL);
}
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
index 185c341..e11fc01 100644
--- a/net/core/fib_rules.c
+++ b/net/core/fib_rules.c
@@ -368,7 +368,7 @@ static int fib_nl_newrule(struct sk_buff *skb,
struct nlmsghdr* nlh)
list_for_each_entry(r, &ops->rules_list, list) {
if (r->pref == rule->target) {
- RCU_INIT_POINTER(rule->ctarget, r);
+ rcu_init_pointer(rule->ctarget, r);
break;
}
}
@@ -509,7 +509,7 @@ static int fib_nl_delrule(struct sk_buff *skb,
struct nlmsghdr* nlh)
if (ops->nr_goto_rules > 0) {
list_for_each_entry(tmp, &ops->rules_list, list) {
if (rtnl_dereference(tmp->ctarget) == rule) {
- RCU_INIT_POINTER(tmp->ctarget, NULL);
+ rcu_init_pointer(tmp->ctarget, NULL);
ops->unresolved_rules++;
}
}
diff --git a/net/core/filter.c b/net/core/filter.c
index cd58614..cb9125d 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -1697,7 +1697,7 @@ int sk_detach_filter(struct sock *sk)
filter = rcu_dereference_protected(sk->sk_filter,
sock_owned_by_user(sk));
if (filter) {
- RCU_INIT_POINTER(sk->sk_filter, NULL);
+ rcu_init_pointer(sk->sk_filter, NULL);
sk_filter_uncharge(sk, filter);
ret = 0;
}
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 8f8a96e..73d7640 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -1550,7 +1550,7 @@ static void neigh_table_init_no_netlink(struct
neigh_table *tbl)
panic("cannot create neighbour proc dir entry");
#endif
- RCU_INIT_POINTER(tbl->nht, neigh_hash_alloc(3));
+ rcu_init_pointer(tbl->nht, neigh_hash_alloc(3));
phsize = (PNEIGH_HASHMASK + 1) * sizeof(struct pneigh_entry *);
tbl->phash_buckets = kzalloc(phsize, GFP_KERNEL);
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
index 1cac29e..cbbf952 100644
--- a/net/core/net-sysfs.c
+++ b/net/core/net-sysfs.c
@@ -742,13 +742,13 @@ static void rx_queue_release(struct kobject *kobj)
map = rcu_dereference_protected(queue->rps_map, 1);
if (map) {
- RCU_INIT_POINTER(queue->rps_map, NULL);
+ rcu_init_pointer(queue->rps_map, NULL);
kfree_rcu(map, rcu);
}
flow_table = rcu_dereference_protected(queue->rps_flow_table, 1);
if (flow_table) {
- RCU_INIT_POINTER(queue->rps_flow_table, NULL);
+ rcu_init_pointer(queue->rps_flow_table, NULL);
call_rcu(&flow_table->rcu, rps_dev_flow_table_release);
}
#endif
diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index e33937f..496ba90 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -820,7 +820,7 @@ void __netpoll_cleanup(struct netpoll *np)
if (ops->ndo_netpoll_cleanup)
ops->ndo_netpoll_cleanup(np->dev);
- RCU_INIT_POINTER(np->dev->npinfo, NULL);
+ rcu_init_pointer(np->dev->npinfo, NULL);
call_rcu_bh(&npinfo->rcu, rcu_cleanup_netpoll_info);
}
}
diff --git a/net/core/netprio_cgroup.c b/net/core/netprio_cgroup.c
index 3825f66..15c63ac 100644
--- a/net/core/netprio_cgroup.c
+++ b/net/core/netprio_cgroup.c
@@ -266,7 +266,7 @@ static int netprio_device_event(struct
notifier_block *unused,
switch (event) {
case NETDEV_UNREGISTER:
old = rtnl_dereference(dev->priomap);
- RCU_INIT_POINTER(dev->priomap, NULL);
+ rcu_init_pointer(dev->priomap, NULL);
if (old)
kfree_rcu(old, rcu);
break;
diff --git a/net/core/sock.c b/net/core/sock.c
index b4fff00..ea565ba 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -481,7 +481,7 @@ struct dst_entry *__sk_dst_check(struct sock *sk,
u32 cookie)
if (dst && dst->obsolete && dst->ops->check(dst, cookie) == NULL) {
sk_tx_queue_clear(sk);
- RCU_INIT_POINTER(sk->sk_dst_cache, NULL);
+ rcu_init_pointer(sk->sk_dst_cache, NULL);
dst_release(dst);
return NULL;
}
@@ -1365,7 +1365,7 @@ static void __sk_free(struct sock *sk)
atomic_read(&sk->sk_wmem_alloc) == 0);
if (filter) {
sk_filter_uncharge(sk, filter);
- RCU_INIT_POINTER(sk->sk_filter, NULL);
+ rcu_init_pointer(sk->sk_filter, NULL);
}
sock_disable_timestamp(sk, SK_FLAGS_TIMESTAMP);
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
index cf9cd13..f3016f9 100644
--- a/net/core/sysctl_net_core.c
+++ b/net/core/sysctl_net_core.c
@@ -118,7 +118,7 @@ static int flow_limit_cpu_sysctl(struct ctl_table
*table, int write,
cur = rcu_dereference_protected(sd->flow_limit,
lockdep_is_held(&flow_limit_update_mutex));
if (cur && !cpumask_test_cpu(i, mask)) {
- RCU_INIT_POINTER(sd->flow_limit, NULL);
+ rcu_init_pointer(sd->flow_limit, NULL);
synchronize_rcu();
kfree(cur);
} else if (!cur && cpumask_test_cpu(i, mask)) {
diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c
index a603823..1680884 100644
--- a/net/decnet/dn_dev.c
+++ b/net/decnet/dn_dev.c
@@ -1100,7 +1100,7 @@ static struct dn_dev *dn_dev_create(struct
net_device *dev, int *err)
dn_db->neigh_parms = neigh_parms_alloc(dev, &dn_neigh_table);
if (!dn_db->neigh_parms) {
- RCU_INIT_POINTER(dev->dn_ptr, NULL);
+ rcu_init_pointer(dev->dn_ptr, NULL);
kfree(dn_db);
return NULL;
}
diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c
index daccc4a..42d4bf0 100644
--- a/net/decnet/dn_route.c
+++ b/net/decnet/dn_route.c
@@ -380,7 +380,7 @@ static void dn_run_flush(unsigned long dummy)
for(; rt; rt = next) {
next = rcu_dereference_raw(rt->dst.dn_next);
- RCU_INIT_POINTER(rt->dst.dn_next, NULL);
+ rcu_init_pointer(rt->dst.dn_next, NULL);
dst_free((struct dst_entry *)rt);
}
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index bdbf68b..5e2891c 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -294,7 +294,7 @@ static void inetdev_destroy(struct in_device *in_dev)
inet_free_ifa(ifa);
}
- RCU_INIT_POINTER(dev->ip_ptr, NULL);
+ rcu_init_pointer(dev->ip_ptr, NULL);
devinet_sysctl_unregister(in_dev);
neigh_parms_release(&arp_tbl, in_dev->arp_parms);
@@ -1367,7 +1367,7 @@ static int inetdev_event(struct notifier_block
*this, unsigned long event,
switch (event) {
case NETDEV_REGISTER:
pr_debug("%s: bug\n", __func__);
- RCU_INIT_POINTER(dev->ip_ptr, NULL);
+ rcu_init_pointer(dev->ip_ptr, NULL);
break;
case NETDEV_UP:
if (!inetdev_valid_mtu(dev->mtu))
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index 8a043f0..aadbeda 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -147,7 +147,7 @@ static void rt_fibinfo_free(struct rtable __rcu **rtp)
if (!rt)
return;
- /* Not even needed : RCU_INIT_POINTER(*rtp, NULL);
+ /* Not even needed : rcu_init_pointer(*rtp, NULL);
* because we waited an RCU grace period before calling
* free_fib_info_rcu()
*/
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c
index 5afeb5a..b632346 100644
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -1602,7 +1602,7 @@ static void trie_leaf_remove(struct trie *t,
struct leaf *l)
put_child(tp, cindex, NULL);
trie_rebalance(t, tp);
} else
- RCU_INIT_POINTER(t->trie, NULL);
+ rcu_init_pointer(t->trie, NULL);
free_leaf(l);
}
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
index 97e4d16..54122f1 100644
--- a/net/ipv4/igmp.c
+++ b/net/ipv4/igmp.c
@@ -1276,7 +1276,7 @@ static void ip_mc_hash_add(struct in_device *in_dev,
for_each_pmc_rtnl(in_dev, im) {
hash = ip_mc_hash(im);
im->next_hash = mc_hash[hash];
- RCU_INIT_POINTER(mc_hash[hash], im);
+ rcu_init_pointer(mc_hash[hash], im);
}
rcu_assign_pointer(in_dev->mc_hash, mc_hash);
@@ -1928,7 +1928,7 @@ static int ip_mc_leave_src(struct sock *sk,
struct ip_mc_socklist *iml,
}
err = ip_mc_del_src(in_dev, &iml->multi.imr_multiaddr.s_addr,
iml->sfmode, psf->sl_count, psf->sl_addr, 0);
- RCU_INIT_POINTER(iml->sflist, NULL);
+ rcu_init_pointer(iml->sflist, NULL);
/* decrease mem now to avoid the memleak warning */
atomic_sub(IP_SFLSIZE(psf->sl_max), &sk->sk_omem_alloc);
kfree_rcu(psf, rcu);
diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c
index 48f4244..3983400 100644
--- a/net/ipv4/inetpeer.c
+++ b/net/ipv4/inetpeer.c
@@ -309,26 +309,26 @@ static void peer_avl_rebalance(struct inet_peer
__rcu **stack[],
lr = rcu_deref_locked(l->avl_right, base);
lrh = node_height(lr);
if (lrh <= node_height(ll)) { /* ll: RH+1 */
- RCU_INIT_POINTER(node->avl_left, lr); /* lr: RH or RH+1 */
- RCU_INIT_POINTER(node->avl_right, r); /* r: RH */
+ rcu_init_pointer(node->avl_left, lr); /* lr: RH or RH+1 */
+ rcu_init_pointer(node->avl_right, r); /* r: RH */
node->avl_height = lrh + 1; /* RH+1 or RH+2 */
- RCU_INIT_POINTER(l->avl_left, ll); /* ll: RH+1 */
- RCU_INIT_POINTER(l->avl_right, node); /* node:
RH+1 or RH+2 */
+ rcu_init_pointer(l->avl_left, ll); /* ll: RH+1 */
+ rcu_init_pointer(l->avl_right, node); /* node:
RH+1 or RH+2 */
l->avl_height = node->avl_height + 1;
- RCU_INIT_POINTER(*nodep, l);
+ rcu_init_pointer(*nodep, l);
} else { /* ll: RH, lr: RH+1 */
lrl = rcu_deref_locked(lr->avl_left, base);/* lrl: RH
or RH-1 */
lrr = rcu_deref_locked(lr->avl_right, base);/* lrr:
RH or RH-1 */
- RCU_INIT_POINTER(node->avl_left, lrr); /* lrr: RH or RH-1 */
- RCU_INIT_POINTER(node->avl_right, r); /* r: RH */
+ rcu_init_pointer(node->avl_left, lrr); /* lrr: RH or RH-1 */
+ rcu_init_pointer(node->avl_right, r); /* r: RH */
node->avl_height = rh + 1; /* node: RH+1 */
- RCU_INIT_POINTER(l->avl_left, ll); /* ll: RH */
- RCU_INIT_POINTER(l->avl_right, lrl); /* lrl: RH or RH-1 */
+ rcu_init_pointer(l->avl_left, ll); /* ll: RH */
+ rcu_init_pointer(l->avl_right, lrl); /* lrl: RH or RH-1 */
l->avl_height = rh + 1; /* l: RH+1 */
- RCU_INIT_POINTER(lr->avl_left, l); /* l: RH+1 */
- RCU_INIT_POINTER(lr->avl_right, node); /* node: RH+1 */
+ rcu_init_pointer(lr->avl_left, l); /* l: RH+1 */
+ rcu_init_pointer(lr->avl_right, node); /* node: RH+1 */
lr->avl_height = rh + 2;
- RCU_INIT_POINTER(*nodep, lr);
+ rcu_init_pointer(*nodep, lr);
}
} else if (rh > lh + 1) { /* r: LH+2 */
struct inet_peer *rr, *rl, *rlr, *rll;
@@ -337,26 +337,26 @@ static void peer_avl_rebalance(struct inet_peer
__rcu **stack[],
rl = rcu_deref_locked(r->avl_left, base);
rlh = node_height(rl);
if (rlh <= node_height(rr)) { /* rr: LH+1 */
- RCU_INIT_POINTER(node->avl_right, rl); /* rl: LH or LH+1 */
- RCU_INIT_POINTER(node->avl_left, l); /* l: LH */
+ rcu_init_pointer(node->avl_right, rl); /* rl: LH or LH+1 */
+ rcu_init_pointer(node->avl_left, l); /* l: LH */
node->avl_height = rlh + 1; /* LH+1 or LH+2 */
- RCU_INIT_POINTER(r->avl_right, rr); /* rr: LH+1 */
- RCU_INIT_POINTER(r->avl_left, node); /* node: LH+1
or LH+2 */
+ rcu_init_pointer(r->avl_right, rr); /* rr: LH+1 */
+ rcu_init_pointer(r->avl_left, node); /* node: LH+1
or LH+2 */
r->avl_height = node->avl_height + 1;
- RCU_INIT_POINTER(*nodep, r);
+ rcu_init_pointer(*nodep, r);
} else { /* rr: RH, rl: RH+1 */
rlr = rcu_deref_locked(rl->avl_right, base);/* rlr:
LH or LH-1 */
rll = rcu_deref_locked(rl->avl_left, base);/* rll: LH
or LH-1 */
- RCU_INIT_POINTER(node->avl_right, rll); /* rll: LH
or LH-1 */
- RCU_INIT_POINTER(node->avl_left, l); /* l: LH */
+ rcu_init_pointer(node->avl_right, rll); /* rll: LH
or LH-1 */
+ rcu_init_pointer(node->avl_left, l); /* l: LH */
node->avl_height = lh + 1; /* node: LH+1 */
- RCU_INIT_POINTER(r->avl_right, rr); /* rr: LH */
- RCU_INIT_POINTER(r->avl_left, rlr); /* rlr: LH or LH-1 */
+ rcu_init_pointer(r->avl_right, rr); /* rr: LH */
+ rcu_init_pointer(r->avl_left, rlr); /* rlr: LH or LH-1 */
r->avl_height = lh + 1; /* r: LH+1 */
- RCU_INIT_POINTER(rl->avl_right, r); /* r: LH+1 */
- RCU_INIT_POINTER(rl->avl_left, node); /* node: LH+1 */
+ rcu_init_pointer(rl->avl_right, r); /* r: LH+1 */
+ rcu_init_pointer(rl->avl_left, node); /* node: LH+1 */
rl->avl_height = lh + 2;
- RCU_INIT_POINTER(*nodep, rl);
+ rcu_init_pointer(*nodep, rl);
}
} else {
node->avl_height = (lh > rh ? lh : rh) + 1;
@@ -400,7 +400,7 @@ static void unlink_from_pool(struct inet_peer *p,
struct inet_peer_base *base,
/* t is removed, t->daddr > x->daddr for any
* x in p->avl_left subtree.
* Put t in the old place of p. */
- RCU_INIT_POINTER(*delp[0], t);
+ rcu_init_pointer(*delp[0], t);
t->avl_left = p->avl_left;
t->avl_right = p->avl_right;
t->avl_height = p->avl_height;
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
index d84dc8d..19700ee 100644
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -1253,7 +1253,7 @@ static void mrtsock_destruct(struct sock *sk)
inet_netconf_notify_devconf(net, NETCONFA_MC_FORWARDING,
NETCONFA_IFINDEX_ALL,
net->ipv4.devconf_all);
- RCU_INIT_POINTER(mrt->mroute_sk, NULL);
+ rcu_init_pointer(mrt->mroute_sk, NULL);
mroute_clean_tables(mrt);
}
}
diff --git a/net/ipv4/netfilter/nf_nat_h323.c b/net/ipv4/netfilter/nf_nat_h323.c
index 574f7eb..c927fb1 100644
--- a/net/ipv4/netfilter/nf_nat_h323.c
+++ b/net/ipv4/netfilter/nf_nat_h323.c
@@ -590,15 +590,15 @@ static int __init init(void)
BUG_ON(nat_callforwarding_hook != NULL);
BUG_ON(nat_q931_hook != NULL);
- RCU_INIT_POINTER(set_h245_addr_hook, set_h245_addr);
- RCU_INIT_POINTER(set_h225_addr_hook, set_h225_addr);
- RCU_INIT_POINTER(set_sig_addr_hook, set_sig_addr);
- RCU_INIT_POINTER(set_ras_addr_hook, set_ras_addr);
- RCU_INIT_POINTER(nat_rtp_rtcp_hook, nat_rtp_rtcp);
- RCU_INIT_POINTER(nat_t120_hook, nat_t120);
- RCU_INIT_POINTER(nat_h245_hook, nat_h245);
- RCU_INIT_POINTER(nat_callforwarding_hook, nat_callforwarding);
- RCU_INIT_POINTER(nat_q931_hook, nat_q931);
+ rcu_init_pointer(set_h245_addr_hook, set_h245_addr);
+ rcu_init_pointer(set_h225_addr_hook, set_h225_addr);
+ rcu_init_pointer(set_sig_addr_hook, set_sig_addr);
+ rcu_init_pointer(set_ras_addr_hook, set_ras_addr);
+ rcu_init_pointer(nat_rtp_rtcp_hook, nat_rtp_rtcp);
+ rcu_init_pointer(nat_t120_hook, nat_t120);
+ rcu_init_pointer(nat_h245_hook, nat_h245);
+ rcu_init_pointer(nat_callforwarding_hook, nat_callforwarding);
+ rcu_init_pointer(nat_q931_hook, nat_q931);
nf_ct_helper_expectfn_register(&q931_nat);
nf_ct_helper_expectfn_register(&callforwarding_nat);
return 0;
@@ -607,15 +607,15 @@ static int __init init(void)
/****************************************************************************/
static void __exit fini(void)
{
- RCU_INIT_POINTER(set_h245_addr_hook, NULL);
- RCU_INIT_POINTER(set_h225_addr_hook, NULL);
- RCU_INIT_POINTER(set_sig_addr_hook, NULL);
- RCU_INIT_POINTER(set_ras_addr_hook, NULL);
- RCU_INIT_POINTER(nat_rtp_rtcp_hook, NULL);
- RCU_INIT_POINTER(nat_t120_hook, NULL);
- RCU_INIT_POINTER(nat_h245_hook, NULL);
- RCU_INIT_POINTER(nat_callforwarding_hook, NULL);
- RCU_INIT_POINTER(nat_q931_hook, NULL);
+ rcu_init_pointer(set_h245_addr_hook, NULL);
+ rcu_init_pointer(set_h225_addr_hook, NULL);
+ rcu_init_pointer(set_sig_addr_hook, NULL);
+ rcu_init_pointer(set_ras_addr_hook, NULL);
+ rcu_init_pointer(nat_rtp_rtcp_hook, NULL);
+ rcu_init_pointer(nat_t120_hook, NULL);
+ rcu_init_pointer(nat_h245_hook, NULL);
+ rcu_init_pointer(nat_callforwarding_hook, NULL);
+ rcu_init_pointer(nat_q931_hook, NULL);
nf_ct_helper_expectfn_unregister(&q931_nat);
nf_ct_helper_expectfn_unregister(&callforwarding_nat);
synchronize_rcu();
diff --git a/net/ipv4/netfilter/nf_nat_pptp.c b/net/ipv4/netfilter/nf_nat_pptp.c
index 657d230..63b58b2 100644
--- a/net/ipv4/netfilter/nf_nat_pptp.c
+++ b/net/ipv4/netfilter/nf_nat_pptp.c
@@ -285,25 +285,25 @@ static int __init nf_nat_helper_pptp_init(void)
nf_nat_need_gre();
BUG_ON(nf_nat_pptp_hook_outbound != NULL);
- RCU_INIT_POINTER(nf_nat_pptp_hook_outbound, pptp_outbound_pkt);
+ rcu_init_pointer(nf_nat_pptp_hook_outbound, pptp_outbound_pkt);
BUG_ON(nf_nat_pptp_hook_inbound != NULL);
- RCU_INIT_POINTER(nf_nat_pptp_hook_inbound, pptp_inbound_pkt);
+ rcu_init_pointer(nf_nat_pptp_hook_inbound, pptp_inbound_pkt);
BUG_ON(nf_nat_pptp_hook_exp_gre != NULL);
- RCU_INIT_POINTER(nf_nat_pptp_hook_exp_gre, pptp_exp_gre);
+ rcu_init_pointer(nf_nat_pptp_hook_exp_gre, pptp_exp_gre);
BUG_ON(nf_nat_pptp_hook_expectfn != NULL);
- RCU_INIT_POINTER(nf_nat_pptp_hook_expectfn, pptp_nat_expected);
+ rcu_init_pointer(nf_nat_pptp_hook_expectfn, pptp_nat_expected);
return 0;
}
static void __exit nf_nat_helper_pptp_fini(void)
{
- RCU_INIT_POINTER(nf_nat_pptp_hook_expectfn, NULL);
- RCU_INIT_POINTER(nf_nat_pptp_hook_exp_gre, NULL);
- RCU_INIT_POINTER(nf_nat_pptp_hook_inbound, NULL);
- RCU_INIT_POINTER(nf_nat_pptp_hook_outbound, NULL);
+ rcu_init_pointer(nf_nat_pptp_hook_expectfn, NULL);
+ rcu_init_pointer(nf_nat_pptp_hook_exp_gre, NULL);
+ rcu_init_pointer(nf_nat_pptp_hook_inbound, NULL);
+ rcu_init_pointer(nf_nat_pptp_hook_outbound, NULL);
synchronize_rcu();
}
diff --git a/net/ipv4/netfilter/nf_nat_snmp_basic.c
b/net/ipv4/netfilter/nf_nat_snmp_basic.c
index 7c67667..9b786d1 100644
--- a/net/ipv4/netfilter/nf_nat_snmp_basic.c
+++ b/net/ipv4/netfilter/nf_nat_snmp_basic.c
@@ -1291,7 +1291,7 @@ static int __init nf_nat_snmp_basic_init(void)
int ret = 0;
BUG_ON(nf_nat_snmp_hook != NULL);
- RCU_INIT_POINTER(nf_nat_snmp_hook, help);
+ rcu_init_pointer(nf_nat_snmp_hook, help);
ret = nf_conntrack_helper_register(&snmp_trap_helper);
if (ret < 0) {
@@ -1303,7 +1303,7 @@ static int __init nf_nat_snmp_basic_init(void)
static void __exit nf_nat_snmp_basic_fini(void)
{
- RCU_INIT_POINTER(nf_nat_snmp_hook, NULL);
+ rcu_init_pointer(nf_nat_snmp_hook, NULL);
nf_conntrack_helper_unregister(&snmp_trap_helper);
}
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index db1e0da..186ff04 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -563,12 +563,12 @@ static void fnhe_flush_routes(struct
fib_nh_exception *fnhe)
rt = rcu_dereference(fnhe->fnhe_rth_input);
if (rt) {
- RCU_INIT_POINTER(fnhe->fnhe_rth_input, NULL);
+ rcu_init_pointer(fnhe->fnhe_rth_input, NULL);
rt_free(rt);
}
rt = rcu_dereference(fnhe->fnhe_rth_output);
if (rt) {
- RCU_INIT_POINTER(fnhe->fnhe_rth_output, NULL);
+ rcu_init_pointer(fnhe->fnhe_rth_output, NULL);
rt_free(rt);
}
}
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 6c7fa08..563a9e4 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -3017,7 +3017,7 @@ static int addrconf_ifdown(struct net_device
*dev, int how)
idev->dead = 1;
/* protected by rtnl_lock */
- RCU_INIT_POINTER(dev->ip6_ptr, NULL);
+ rcu_init_pointer(dev->ip6_ptr, NULL);
/* Step 1.5: remove snmp6 entry */
snmp6_unregister_dev(idev);
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index b05b609..652e28a 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -386,7 +386,7 @@ ip6_tnl_dev_uninit(struct net_device *dev)
struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id);
if (dev == ip6n->fb_tnl_dev)
- RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
+ rcu_init_pointer(ip6n->tnls_wc[0], NULL);
else
ip6_tnl_unlink(ip6n, t);
ip6_tnl_dst_reset(t);
diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c
index b7c0f82..bff37b3 100644
--- a/net/ipv6/ip6_vti.c
+++ b/net/ipv6/ip6_vti.c
@@ -275,7 +275,7 @@ static void vti6_dev_uninit(struct net_device *dev)
struct vti6_net *ip6n = net_generic(net, vti6_net_id);
if (dev == ip6n->fb_tnl_dev)
- RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
+ rcu_init_pointer(ip6n->tnls_wc[0], NULL);
else
vti6_tnl_unlink(ip6n, t);
dev_put(dev);
diff --git a/net/ipv6/netfilter.c b/net/ipv6/netfilter.c
index 95f3f1d..88d73a1 100644
--- a/net/ipv6/netfilter.c
+++ b/net/ipv6/netfilter.c
@@ -203,7 +203,7 @@ static const struct nf_afinfo nf_ip6_afinfo = {
int __init ipv6_netfilter_init(void)
{
- RCU_INIT_POINTER(nf_ipv6_ops, &ipv6ops);
+ rcu_init_pointer(nf_ipv6_ops, &ipv6ops);
return nf_register_afinfo(&nf_ip6_afinfo);
}
@@ -212,6 +212,6 @@ int __init ipv6_netfilter_init(void)
*/
void ipv6_netfilter_fini(void)
{
- RCU_INIT_POINTER(nf_ipv6_ops, NULL);
+ rcu_init_pointer(nf_ipv6_ops, NULL);
nf_unregister_afinfo(&nf_ip6_afinfo);
}
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 1f29996..594ac2f 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -140,7 +140,7 @@ EXPORT_SYMBOL(rawv6_mh_filter_register);
int rawv6_mh_filter_unregister(mh_filter_t filter)
{
- RCU_INIT_POINTER(mh_filter, NULL);
+ rcu_init_pointer(mh_filter, NULL);
synchronize_rcu();
return 0;
}
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
index e5a453c..bbde433 100644
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -470,7 +470,7 @@ static void ipip6_tunnel_uninit(struct net_device *dev)
struct sit_net *sitn = net_generic(tunnel->net, sit_net_id);
if (dev == sitn->fb_tunnel_dev) {
- RCU_INIT_POINTER(sitn->tunnels_wc[0], NULL);
+ rcu_init_pointer(sitn->tunnels_wc[0], NULL);
} else {
ipip6_tunnel_unlink(sitn, tunnel);
ipip6_tunnel_del_prl(tunnel, NULL);
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
index 31bf258..22d4d35 100644
--- a/net/mac80211/agg-rx.c
+++ b/net/mac80211/agg-rx.c
@@ -72,7 +72,7 @@ void ___ieee80211_stop_rx_ba_session(struct sta_info
*sta, u16 tid,
if (!tid_rx)
return;
- RCU_INIT_POINTER(sta->ampdu_mlme.tid_rx[tid], NULL);
+ rcu_init_pointer(sta->ampdu_mlme.tid_rx[tid], NULL);
ht_dbg(sta->sdata,
"Rx BA session stop requested for %pM tid %u %s reason: %d\n",
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index aaa59d7..3839764 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -64,7 +64,7 @@ static int ieee80211_change_iface(struct wiphy *wiphy,
if (type == NL80211_IFTYPE_AP_VLAN &&
params && params->use_4addr == 0)
- RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
+ rcu_init_pointer(sdata->u.vlan.sta, NULL);
else if (type == NL80211_IFTYPE_STATION &&
params && params->use_4addr >= 0)
sdata->u.mgd.use_4addr = params->use_4addr;
@@ -1033,7 +1033,7 @@ static int ieee80211_start_ap(struct wiphy
*wiphy, struct net_device *dev,
if (old)
kfree_rcu(old, rcu_head);
- RCU_INIT_POINTER(sdata->u.ap.beacon, NULL);
+ rcu_init_pointer(sdata->u.ap.beacon, NULL);
ieee80211_vif_release_channel(sdata);
return err;
}
@@ -1102,8 +1102,8 @@ static int ieee80211_stop_ap(struct wiphy
*wiphy, struct net_device *dev)
netif_carrier_off(dev);
/* remove beacon and probe response */
- RCU_INIT_POINTER(sdata->u.ap.beacon, NULL);
- RCU_INIT_POINTER(sdata->u.ap.probe_resp, NULL);
+ rcu_init_pointer(sdata->u.ap.beacon, NULL);
+ rcu_init_pointer(sdata->u.ap.probe_resp, NULL);
kfree_rcu(old_beacon, rcu_head);
if (old_probe_resp)
kfree_rcu(old_probe_resp, rcu_head);
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index 06d2878..bd477c2 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -365,7 +365,7 @@ static void __ieee80211_sta_join_ibss(struct
ieee80211_sub_if_data *sdata,
sdata->vif.bss_conf.ibss_creator = false;
sdata->vif.bss_conf.enable_beacon = false;
sdata->vif.bss_conf.ssid_len = 0;
- RCU_INIT_POINTER(ifibss->presp, NULL);
+ rcu_init_pointer(ifibss->presp, NULL);
kfree_rcu(presp, rcu_head);
mutex_lock(&local->mtx);
ieee80211_vif_release_channel(sdata);
@@ -735,7 +735,7 @@ static void ieee80211_ibss_disconnect(struct
ieee80211_sub_if_data *sdata)
/* remove beacon */
presp = rcu_dereference_protected(ifibss->presp,
lockdep_is_held(&sdata->wdev.mtx));
- RCU_INIT_POINTER(sdata->u.ibss.presp, NULL);
+ rcu_init_pointer(sdata->u.ibss.presp, NULL);
if (presp)
kfree_rcu(presp, rcu_head);
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
index f70e9cd..9271537 100644
--- a/net/mac80211/mesh.c
+++ b/net/mac80211/mesh.c
@@ -1341,7 +1341,7 @@ void ieee80211_mesh_init_sdata(struct
ieee80211_sub_if_data *sdata)
skb_queue_head_init(&ifmsh->ps.bc_buf);
spin_lock_init(&ifmsh->mesh_preq_queue_lock);
spin_lock_init(&ifmsh->sync_offset_lock);
- RCU_INIT_POINTER(ifmsh->beacon, NULL);
+ rcu_init_pointer(ifmsh->beacon, NULL);
sdata->vif.bss_conf.bssid = zero_addr;
}
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c
index 7d050ed..5db5430 100644
--- a/net/mac80211/mesh_pathtbl.c
+++ b/net/mac80211/mesh_pathtbl.c
@@ -1068,8 +1068,8 @@ int mesh_pathtbl_init(void)
INIT_HLIST_HEAD(tbl_mpp->known_gates);
/* Need no locking since this is during init */
- RCU_INIT_POINTER(mesh_paths, tbl_path);
- RCU_INIT_POINTER(mpp_paths, tbl_mpp);
+ rcu_init_pointer(mesh_paths, tbl_path);
+ rcu_init_pointer(mpp_paths, tbl_mpp);
return 0;
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index 137a192..0d2c0bf 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -860,7 +860,7 @@ static int __must_check
__sta_info_destroy_part1(struct sta_info *sta)
if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
rcu_access_pointer(sdata->u.vlan.sta) == sta)
- RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
+ rcu_init_pointer(sdata->u.vlan.sta, NULL);
return 0;
}
diff --git a/net/netfilter/core.c b/net/netfilter/core.c
index 1fbab0c..5f88a73 100644
--- a/net/netfilter/core.c
+++ b/net/netfilter/core.c
@@ -40,7 +40,7 @@ int nf_register_afinfo(const struct nf_afinfo *afinfo)
err = mutex_lock_interruptible(&afinfo_mutex);
if (err < 0)
return err;
- RCU_INIT_POINTER(nf_afinfo[afinfo->family], afinfo);
+ rcu_init_pointer(nf_afinfo[afinfo->family], afinfo);
mutex_unlock(&afinfo_mutex);
return 0;
}
@@ -49,7 +49,7 @@ EXPORT_SYMBOL_GPL(nf_register_afinfo);
void nf_unregister_afinfo(const struct nf_afinfo *afinfo)
{
mutex_lock(&afinfo_mutex);
- RCU_INIT_POINTER(nf_afinfo[afinfo->family], NULL);
+ rcu_init_pointer(nf_afinfo[afinfo->family], NULL);
mutex_unlock(&afinfo_mutex);
synchronize_rcu();
}
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index c42e83d..e8b609d 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/netfilter/ipvs/ip_vs_ctl.c
@@ -641,7 +641,7 @@ static void __ip_vs_dst_cache_reset(struct ip_vs_dest *dest)
old = rcu_dereference_protected(dest->dest_dst, 1);
if (old) {
- RCU_INIT_POINTER(dest->dest_dst, NULL);
+ rcu_init_pointer(dest->dest_dst, NULL);
call_rcu(&old->rcu_head, ip_vs_dest_dst_rcu_free);
}
}
@@ -1221,7 +1221,7 @@ ip_vs_add_service(struct net *net, struct
ip_vs_service_user_kern *u,
sched = NULL;
/* Bind the ct retriever */
- RCU_INIT_POINTER(svc->pe, pe);
+ rcu_init_pointer(svc->pe, pe);
pe = NULL;
/* Update the virtual service counters */
diff --git a/net/netfilter/ipvs/ip_vs_dh.c b/net/netfilter/ipvs/ip_vs_dh.c
index c3b8454..6cd09c1 100644
--- a/net/netfilter/ipvs/ip_vs_dh.c
+++ b/net/netfilter/ipvs/ip_vs_dh.c
@@ -115,14 +115,14 @@ ip_vs_dh_reassign(struct ip_vs_dh_state *s,
struct ip_vs_service *svc)
if (dest)
ip_vs_dest_put(dest);
if (empty)
- RCU_INIT_POINTER(b->dest, NULL);
+ rcu_init_pointer(b->dest, NULL);
else {
if (p == &svc->destinations)
p = p->next;
dest = list_entry(p, struct ip_vs_dest, n_list);
ip_vs_dest_hold(dest);
- RCU_INIT_POINTER(b->dest, dest);
+ rcu_init_pointer(b->dest, dest);
p = p->next;
}
@@ -146,7 +146,7 @@ static void ip_vs_dh_flush(struct ip_vs_dh_state *s)
dest = rcu_dereference_protected(b->dest, 1);
if (dest) {
ip_vs_dest_put(dest);
- RCU_INIT_POINTER(b->dest, NULL);
+ rcu_init_pointer(b->dest, NULL);
}
b++;
}
diff --git a/net/netfilter/ipvs/ip_vs_sh.c b/net/netfilter/ipvs/ip_vs_sh.c
index cc65b2f..6a3e885 100644
--- a/net/netfilter/ipvs/ip_vs_sh.c
+++ b/net/netfilter/ipvs/ip_vs_sh.c
@@ -182,14 +182,14 @@ ip_vs_sh_reassign(struct ip_vs_sh_state *s,
struct ip_vs_service *svc)
if (dest)
ip_vs_dest_put(dest);
if (empty)
- RCU_INIT_POINTER(b->dest, NULL);
+ rcu_init_pointer(b->dest, NULL);
else {
if (p == &svc->destinations)
p = p->next;
dest = list_entry(p, struct ip_vs_dest, n_list);
ip_vs_dest_hold(dest);
- RCU_INIT_POINTER(b->dest, dest);
+ rcu_init_pointer(b->dest, dest);
IP_VS_DBG_BUF(6, "assigned i: %d dest: %s weight: %d\n",
i, IP_VS_DBG_ADDR(svc->af, &dest->addr),
@@ -222,7 +222,7 @@ static void ip_vs_sh_flush(struct ip_vs_sh_state *s)
dest = rcu_dereference_protected(b->dest, 1);
if (dest) {
ip_vs_dest_put(dest);
- RCU_INIT_POINTER(b->dest, NULL);
+ rcu_init_pointer(b->dest, NULL);
}
b++;
}
diff --git a/net/netfilter/nf_conntrack_core.c
b/net/netfilter/nf_conntrack_core.c
index 75421f2..57e1308 100644
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -1498,12 +1498,12 @@ static int untrack_refs(void)
void nf_conntrack_cleanup_start(void)
{
- RCU_INIT_POINTER(ip_ct_attach, NULL);
+ rcu_init_pointer(ip_ct_attach, NULL);
}
void nf_conntrack_cleanup_end(void)
{
- RCU_INIT_POINTER(nf_ct_destroy, NULL);
+ rcu_init_pointer(nf_ct_destroy, NULL);
while (untrack_refs() > 0)
schedule();
@@ -1778,8 +1778,8 @@ err_expect:
void nf_conntrack_init_end(void)
{
/* For use by REJECT target */
- RCU_INIT_POINTER(ip_ct_attach, nf_conntrack_attach);
- RCU_INIT_POINTER(nf_ct_destroy, destroy_conntrack);
+ rcu_init_pointer(ip_ct_attach, nf_conntrack_attach);
+ rcu_init_pointer(nf_ct_destroy, destroy_conntrack);
}
/*
diff --git a/net/netfilter/nf_conntrack_ecache.c
b/net/netfilter/nf_conntrack_ecache.c
index 1df1761..30ba3b0 100644
--- a/net/netfilter/nf_conntrack_ecache.c
+++ b/net/netfilter/nf_conntrack_ecache.c
@@ -114,7 +114,7 @@ void nf_conntrack_unregister_notifier(struct net *net,
notify = rcu_dereference_protected(net->ct.nf_conntrack_event_cb,
lockdep_is_held(&nf_ct_ecache_mutex));
BUG_ON(notify != new);
- RCU_INIT_POINTER(net->ct.nf_conntrack_event_cb, NULL);
+ rcu_init_pointer(net->ct.nf_conntrack_event_cb, NULL);
mutex_unlock(&nf_ct_ecache_mutex);
}
EXPORT_SYMBOL_GPL(nf_conntrack_unregister_notifier);
@@ -150,7 +150,7 @@ void nf_ct_expect_unregister_notifier(struct net *net,
notify = rcu_dereference_protected(net->ct.nf_expect_event_cb,
lockdep_is_held(&nf_ct_ecache_mutex));
BUG_ON(notify != new);
- RCU_INIT_POINTER(net->ct.nf_expect_event_cb, NULL);
+ rcu_init_pointer(net->ct.nf_expect_event_cb, NULL);
mutex_unlock(&nf_ct_ecache_mutex);
}
EXPORT_SYMBOL_GPL(nf_ct_expect_unregister_notifier);
diff --git a/net/netfilter/nf_conntrack_extend.c
b/net/netfilter/nf_conntrack_extend.c
index 1a95459..bbbea59b 100644
--- a/net/netfilter/nf_conntrack_extend.c
+++ b/net/netfilter/nf_conntrack_extend.c
@@ -183,7 +183,7 @@ EXPORT_SYMBOL_GPL(nf_ct_extend_register);
void nf_ct_extend_unregister(struct nf_ct_ext_type *type)
{
mutex_lock(&nf_ct_ext_type_mutex);
- RCU_INIT_POINTER(nf_ct_ext_types[type->id], NULL);
+ rcu_init_pointer(nf_ct_ext_types[type->id], NULL);
update_alloc_size(type);
mutex_unlock(&nf_ct_ext_type_mutex);
rcu_barrier(); /* Wait for completion of call_rcu()'s */
diff --git a/net/netfilter/nf_conntrack_helper.c
b/net/netfilter/nf_conntrack_helper.c
index 5b3eae7..a4dce7f 100644
--- a/net/netfilter/nf_conntrack_helper.c
+++ b/net/netfilter/nf_conntrack_helper.c
@@ -222,7 +222,7 @@ int __nf_ct_try_assign_helper(struct nf_conn *ct,
struct nf_conn *tmpl,
if (helper == NULL) {
if (help)
- RCU_INIT_POINTER(help->helper, NULL);
+ rcu_init_pointer(help->helper, NULL);
goto out;
}
@@ -239,7 +239,7 @@ int __nf_ct_try_assign_helper(struct nf_conn *ct,
struct nf_conn *tmpl,
struct nf_conntrack_helper *tmp = rcu_dereference(help->helper);
if (tmp && tmp->help != helper->help) {
- RCU_INIT_POINTER(help->helper, NULL);
+ rcu_init_pointer(help->helper, NULL);
goto out;
}
}
@@ -259,7 +259,7 @@ static inline int unhelp(struct nf_conntrack_tuple_hash *i,
if (help && rcu_dereference_raw(help->helper) == me) {
nf_conntrack_event(IPCT_HELPER, ct);
- RCU_INIT_POINTER(help->helper, NULL);
+ rcu_init_pointer(help->helper, NULL);
}
return 0;
}
diff --git a/net/netfilter/nf_conntrack_netlink.c
b/net/netfilter/nf_conntrack_netlink.c
index ccc46fa..f147656 100644
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -1372,7 +1372,7 @@ ctnetlink_change_helper(struct nf_conn *ct,
const struct nlattr * const cda[])
if (help && help->helper) {
/* we had a helper before ... */
nf_ct_remove_expectations(ct);
- RCU_INIT_POINTER(help->helper, NULL);
+ rcu_init_pointer(help->helper, NULL);
}
return 0;
@@ -1666,7 +1666,7 @@ ctnetlink_create_conntrack(struct net *net, u16 zone,
helper->from_nlattr(helpinfo, ct);
/* not in hash table yet so not strictly necessary */
- RCU_INIT_POINTER(help->helper, helper);
+ rcu_init_pointer(help->helper, helper);
}
} else {
/* try an implicit helper assignation */
@@ -3213,7 +3213,7 @@ static int __init ctnetlink_init(void)
}
#ifdef CONFIG_NETFILTER_NETLINK_QUEUE_CT
/* setup interaction between nf_queue and nf_conntrack_netlink. */
- RCU_INIT_POINTER(nfq_ct_hook, &ctnetlink_nfqueue_hook);
+ rcu_init_pointer(nfq_ct_hook, &ctnetlink_nfqueue_hook);
#endif
return 0;
@@ -3233,7 +3233,7 @@ static void __exit ctnetlink_exit(void)
nfnetlink_subsys_unregister(&ctnl_exp_subsys);
nfnetlink_subsys_unregister(&ctnl_subsys);
#ifdef CONFIG_NETFILTER_NETLINK_QUEUE_CT
- RCU_INIT_POINTER(nfq_ct_hook, NULL);
+ rcu_init_pointer(nfq_ct_hook, NULL);
#endif
}
diff --git a/net/netfilter/nf_conntrack_proto.c
b/net/netfilter/nf_conntrack_proto.c
index b65d586..2dc7f72 100644
--- a/net/netfilter/nf_conntrack_proto.c
+++ b/net/netfilter/nf_conntrack_proto.c
@@ -384,7 +384,7 @@ int nf_ct_l4proto_register(struct
nf_conntrack_l4proto *l4proto)
}
for (i = 0; i < MAX_NF_CT_PROTO; i++)
- RCU_INIT_POINTER(proto_array[i], &nf_conntrack_l4proto_generic);
+ rcu_init_pointer(proto_array[i], &nf_conntrack_l4proto_generic);
/* Before making proto_array visible to lockless readers,
* we must make sure its content is committed to memory.
diff --git a/net/netfilter/nf_log.c b/net/netfilter/nf_log.c
index 85296d4..a9580ec 100644
--- a/net/netfilter/nf_log.c
+++ b/net/netfilter/nf_log.c
@@ -58,7 +58,7 @@ void nf_log_unset(struct net *net, const struct
nf_logger *logger)
log = rcu_dereference_protected(net->nf.nf_loggers[i],
lockdep_is_held(&nf_log_mutex));
if (log == logger)
- RCU_INIT_POINTER(net->nf.nf_loggers[i], NULL);
+ rcu_init_pointer(net->nf.nf_loggers[i], NULL);
}
mutex_unlock(&nf_log_mutex);
synchronize_rcu();
@@ -124,7 +124,7 @@ void nf_log_unbind_pf(struct net *net, u_int8_t pf)
if (pf >= ARRAY_SIZE(net->nf.nf_loggers))
return;
mutex_lock(&nf_log_mutex);
- RCU_INIT_POINTER(net->nf.nf_loggers[pf], NULL);
+ rcu_init_pointer(net->nf.nf_loggers[pf], NULL);
mutex_unlock(&nf_log_mutex);
}
EXPORT_SYMBOL(nf_log_unbind_pf);
diff --git a/net/netfilter/nf_nat_amanda.c b/net/netfilter/nf_nat_amanda.c
index eb77238..d5ac5b2 100644
--- a/net/netfilter/nf_nat_amanda.c
+++ b/net/netfilter/nf_nat_amanda.c
@@ -75,14 +75,14 @@ static unsigned int help(struct sk_buff *skb,
static void __exit nf_nat_amanda_fini(void)
{
- RCU_INIT_POINTER(nf_nat_amanda_hook, NULL);
+ rcu_init_pointer(nf_nat_amanda_hook, NULL);
synchronize_rcu();
}
static int __init nf_nat_amanda_init(void)
{
BUG_ON(nf_nat_amanda_hook != NULL);
- RCU_INIT_POINTER(nf_nat_amanda_hook, help);
+ rcu_init_pointer(nf_nat_amanda_hook, help);
return 0;
}
diff --git a/net/netfilter/nf_nat_core.c b/net/netfilter/nf_nat_core.c
index 52ca952..1219b5e 100644
--- a/net/netfilter/nf_nat_core.c
+++ b/net/netfilter/nf_nat_core.c
@@ -562,7 +562,7 @@ int nf_nat_l4proto_register(u8 l3proto, const
struct nf_nat_l4proto *l4proto)
}
for (i = 0; i < IPPROTO_MAX; i++)
- RCU_INIT_POINTER(l4protos[i], &nf_nat_l4proto_unknown);
+ rcu_init_pointer(l4protos[i], &nf_nat_l4proto_unknown);
/* Before making proto_array visible to lockless readers,
* we must make sure its content is committed to memory.
@@ -579,7 +579,7 @@ int nf_nat_l4proto_register(u8 l3proto, const
struct nf_nat_l4proto *l4proto)
ret = -EBUSY;
goto out;
}
- RCU_INIT_POINTER(nf_nat_l4protos[l3proto][l4proto->l4proto], l4proto);
+ rcu_init_pointer(nf_nat_l4protos[l3proto][l4proto->l4proto], l4proto);
out:
mutex_unlock(&nf_nat_proto_mutex);
return ret;
@@ -590,7 +590,7 @@ EXPORT_SYMBOL_GPL(nf_nat_l4proto_register);
void nf_nat_l4proto_unregister(u8 l3proto, const struct
nf_nat_l4proto *l4proto)
{
mutex_lock(&nf_nat_proto_mutex);
- RCU_INIT_POINTER(nf_nat_l4protos[l3proto][l4proto->l4proto],
+ rcu_init_pointer(nf_nat_l4protos[l3proto][l4proto->l4proto],
&nf_nat_l4proto_unknown);
mutex_unlock(&nf_nat_proto_mutex);
synchronize_rcu();
@@ -608,13 +608,13 @@ int nf_nat_l3proto_register(const struct
nf_nat_l3proto *l3proto)
return err;
mutex_lock(&nf_nat_proto_mutex);
- RCU_INIT_POINTER(nf_nat_l4protos[l3proto->l3proto][IPPROTO_TCP],
+ rcu_init_pointer(nf_nat_l4protos[l3proto->l3proto][IPPROTO_TCP],
&nf_nat_l4proto_tcp);
- RCU_INIT_POINTER(nf_nat_l4protos[l3proto->l3proto][IPPROTO_UDP],
+ rcu_init_pointer(nf_nat_l4protos[l3proto->l3proto][IPPROTO_UDP],
&nf_nat_l4proto_udp);
mutex_unlock(&nf_nat_proto_mutex);
- RCU_INIT_POINTER(nf_nat_l3protos[l3proto->l3proto], l3proto);
+ rcu_init_pointer(nf_nat_l3protos[l3proto->l3proto], l3proto);
return 0;
}
EXPORT_SYMBOL_GPL(nf_nat_l3proto_register);
@@ -622,7 +622,7 @@ EXPORT_SYMBOL_GPL(nf_nat_l3proto_register);
void nf_nat_l3proto_unregister(const struct nf_nat_l3proto *l3proto)
{
mutex_lock(&nf_nat_proto_mutex);
- RCU_INIT_POINTER(nf_nat_l3protos[l3proto->l3proto], NULL);
+ rcu_init_pointer(nf_nat_l3protos[l3proto->l3proto], NULL);
mutex_unlock(&nf_nat_proto_mutex);
synchronize_rcu();
@@ -822,11 +822,11 @@ static int __init nf_nat_init(void)
nf_ct_untracked_status_or(IPS_NAT_DONE_MASK);
BUG_ON(nfnetlink_parse_nat_setup_hook != NULL);
- RCU_INIT_POINTER(nfnetlink_parse_nat_setup_hook,
+ rcu_init_pointer(nfnetlink_parse_nat_setup_hook,
nfnetlink_parse_nat_setup);
#ifdef CONFIG_XFRM
BUG_ON(nf_nat_decode_session_hook != NULL);
- RCU_INIT_POINTER(nf_nat_decode_session_hook, __nf_nat_decode_session);
+ rcu_init_pointer(nf_nat_decode_session_hook, __nf_nat_decode_session);
#endif
return 0;
@@ -842,9 +842,9 @@ static void __exit nf_nat_cleanup(void)
unregister_pernet_subsys(&nf_nat_net_ops);
nf_ct_extend_unregister(&nat_extend);
nf_ct_helper_expectfn_unregister(&follow_master_nat);
- RCU_INIT_POINTER(nfnetlink_parse_nat_setup_hook, NULL);
+ rcu_init_pointer(nfnetlink_parse_nat_setup_hook, NULL);
#ifdef CONFIG_XFRM
- RCU_INIT_POINTER(nf_nat_decode_session_hook, NULL);
+ rcu_init_pointer(nf_nat_decode_session_hook, NULL);
#endif
for (i = 0; i < NFPROTO_NUMPROTO; i++)
kfree(nf_nat_l4protos[i]);
diff --git a/net/netfilter/nf_nat_ftp.c b/net/netfilter/nf_nat_ftp.c
index e84a578..aaef6c6 100644
--- a/net/netfilter/nf_nat_ftp.c
+++ b/net/netfilter/nf_nat_ftp.c
@@ -122,14 +122,14 @@ out:
static void __exit nf_nat_ftp_fini(void)
{
- RCU_INIT_POINTER(nf_nat_ftp_hook, NULL);
+ rcu_init_pointer(nf_nat_ftp_hook, NULL);
synchronize_rcu();
}
static int __init nf_nat_ftp_init(void)
{
BUG_ON(nf_nat_ftp_hook != NULL);
- RCU_INIT_POINTER(nf_nat_ftp_hook, nf_nat_ftp);
+ rcu_init_pointer(nf_nat_ftp_hook, nf_nat_ftp);
return 0;
}
diff --git a/net/netfilter/nf_nat_irc.c b/net/netfilter/nf_nat_irc.c
index 1fb2258..5bf497d 100644
--- a/net/netfilter/nf_nat_irc.c
+++ b/net/netfilter/nf_nat_irc.c
@@ -95,14 +95,14 @@ static unsigned int help(struct sk_buff *skb,
static void __exit nf_nat_irc_fini(void)
{
- RCU_INIT_POINTER(nf_nat_irc_hook, NULL);
+ rcu_init_pointer(nf_nat_irc_hook, NULL);
synchronize_rcu();
}
static int __init nf_nat_irc_init(void)
{
BUG_ON(nf_nat_irc_hook != NULL);
- RCU_INIT_POINTER(nf_nat_irc_hook, help);
+ rcu_init_pointer(nf_nat_irc_hook, help);
return 0;
}
diff --git a/net/netfilter/nf_nat_sip.c b/net/netfilter/nf_nat_sip.c
index b4d691d..a2a0a39 100644
--- a/net/netfilter/nf_nat_sip.c
+++ b/net/netfilter/nf_nat_sip.c
@@ -625,7 +625,7 @@ static struct nf_ct_helper_expectfn sip_nat = {
static void __exit nf_nat_sip_fini(void)
{
- RCU_INIT_POINTER(nf_nat_sip_hooks, NULL);
+ rcu_init_pointer(nf_nat_sip_hooks, NULL);
nf_ct_helper_expectfn_unregister(&sip_nat);
synchronize_rcu();
@@ -644,7 +644,7 @@ static const struct nf_nat_sip_hooks sip_hooks = {
static int __init nf_nat_sip_init(void)
{
BUG_ON(nf_nat_sip_hooks != NULL);
- RCU_INIT_POINTER(nf_nat_sip_hooks, &sip_hooks);
+ rcu_init_pointer(nf_nat_sip_hooks, &sip_hooks);
nf_ct_helper_expectfn_register(&sip_nat);
return 0;
}
diff --git a/net/netfilter/nf_nat_tftp.c b/net/netfilter/nf_nat_tftp.c
index 7f67e1d..f828ef0 100644
--- a/net/netfilter/nf_nat_tftp.c
+++ b/net/netfilter/nf_nat_tftp.c
@@ -37,14 +37,14 @@ static unsigned int help(struct sk_buff *skb,
static void __exit nf_nat_tftp_fini(void)
{
- RCU_INIT_POINTER(nf_nat_tftp_hook, NULL);
+ rcu_init_pointer(nf_nat_tftp_hook, NULL);
synchronize_rcu();
}
static int __init nf_nat_tftp_init(void)
{
BUG_ON(nf_nat_tftp_hook != NULL);
- RCU_INIT_POINTER(nf_nat_tftp_hook, help);
+ rcu_init_pointer(nf_nat_tftp_hook, help);
return 0;
}
diff --git a/net/netfilter/nf_queue.c b/net/netfilter/nf_queue.c
index 5d24b1f..93fe802 100644
--- a/net/netfilter/nf_queue.c
+++ b/net/netfilter/nf_queue.c
@@ -40,7 +40,7 @@ EXPORT_SYMBOL(nf_register_queue_handler);
/* The caller must flush their queue before this */
void nf_unregister_queue_handler(void)
{
- RCU_INIT_POINTER(queue_handler, NULL);
+ rcu_init_pointer(queue_handler, NULL);
synchronize_rcu();
}
EXPORT_SYMBOL(nf_unregister_queue_handler);
diff --git a/net/netfilter/nfnetlink.c b/net/netfilter/nfnetlink.c
index e8138da..6477a02 100644
--- a/net/netfilter/nfnetlink.c
+++ b/net/netfilter/nfnetlink.c
@@ -440,7 +440,7 @@ static void __net_exit
nfnetlink_net_exit_batch(struct list_head *net_exit_list)
struct net *net;
list_for_each_entry(net, net_exit_list, exit_list)
- RCU_INIT_POINTER(net->nfnl, NULL);
+ rcu_init_pointer(net->nfnl, NULL);
synchronize_net();
list_for_each_entry(net, net_exit_list, exit_list)
netlink_kernel_release(net->nfnl_stash);
diff --git a/net/netfilter/nfnetlink_cttimeout.c
b/net/netfilter/nfnetlink_cttimeout.c
index 476accd..836836c 100644
--- a/net/netfilter/nfnetlink_cttimeout.c
+++ b/net/netfilter/nfnetlink_cttimeout.c
@@ -551,8 +551,8 @@ static int __init cttimeout_init(void)
goto err_out;
}
#ifdef CONFIG_NF_CONNTRACK_TIMEOUT
- RCU_INIT_POINTER(nf_ct_timeout_find_get_hook, ctnl_timeout_find_get);
- RCU_INIT_POINTER(nf_ct_timeout_put_hook, ctnl_timeout_put);
+ rcu_init_pointer(nf_ct_timeout_find_get_hook, ctnl_timeout_find_get);
+ rcu_init_pointer(nf_ct_timeout_put_hook, ctnl_timeout_put);
#endif /* CONFIG_NF_CONNTRACK_TIMEOUT */
return 0;
@@ -576,8 +576,8 @@ static void __exit cttimeout_exit(void)
kfree_rcu(cur, rcu_head);
}
#ifdef CONFIG_NF_CONNTRACK_TIMEOUT
- RCU_INIT_POINTER(nf_ct_timeout_find_get_hook, NULL);
- RCU_INIT_POINTER(nf_ct_timeout_put_hook, NULL);
+ rcu_init_pointer(nf_ct_timeout_find_get_hook, NULL);
+ rcu_init_pointer(nf_ct_timeout_put_hook, NULL);
#endif /* CONFIG_NF_CONNTRACK_TIMEOUT */
}
diff --git a/net/netfilter/nft_hash.c b/net/netfilter/nft_hash.c
index 3b1ad87..539385b 100644
--- a/net/netfilter/nft_hash.c
+++ b/net/netfilter/nft_hash.c
@@ -119,7 +119,7 @@ static void nft_hash_chain_unzip(const struct nft_set *set,
}
/* Unlink first chain from the old table */
- RCU_INIT_POINTER(tbl->buckets[n], last->next);
+ rcu_init_pointer(tbl->buckets[n], last->next);
/* If end of chain reached, done */
if (he == NULL)
@@ -135,7 +135,7 @@ static void nft_hash_chain_unzip(const struct nft_set *set,
}
/* Link the two chains */
- RCU_INIT_POINTER(last->next, next);
+ rcu_init_pointer(last->next, next);
}
static int nft_hash_tbl_expand(const struct nft_set *set, struct
nft_hash *priv)
@@ -157,7 +157,7 @@ static int nft_hash_tbl_expand(const struct
nft_set *set, struct nft_hash *priv)
nft_hash_for_each_entry(he, tbl->buckets[h]) {
if (nft_hash_data(&he->key, ntbl->size, set->klen) != i)
continue;
- RCU_INIT_POINTER(ntbl->buckets[i], he);
+ rcu_init_pointer(ntbl->buckets[i], he);
break;
}
}
@@ -199,7 +199,7 @@ static int nft_hash_tbl_shrink(const struct
nft_set *set, struct nft_hash *priv)
for (pprev = &ntbl->buckets[i]; *pprev != NULL;
pprev = &nft_dereference(*pprev)->next)
;
- RCU_INIT_POINTER(*pprev, tbl->buckets[i + ntbl->size]);
+ rcu_init_pointer(*pprev, tbl->buckets[i + ntbl->size]);
}
ntbl->elements = tbl->elements;
@@ -235,7 +235,7 @@ static int nft_hash_insert(const struct nft_set *set,
nft_data_copy(he->data, &elem->data);
h = nft_hash_data(&he->key, tbl->size, set->klen);
- RCU_INIT_POINTER(he->next, tbl->buckets[h]);
+ rcu_init_pointer(he->next, tbl->buckets[h]);
rcu_assign_pointer(tbl->buckets[h], he);
tbl->elements++;
@@ -265,7 +265,7 @@ static void nft_hash_remove(const struct nft_set *set,
pprev = elem->cookie;
he = nft_dereference((*pprev));
- RCU_INIT_POINTER(*pprev, he->next);
+ rcu_init_pointer(*pprev, he->next);
synchronize_rcu();
kfree(he);
tbl->elements--;
@@ -348,7 +348,7 @@ static int nft_hash_init(const struct nft_set *set,
tbl = nft_hash_tbl_alloc(NFT_HASH_MIN_SIZE);
if (tbl == NULL)
return -ENOMEM;
- RCU_INIT_POINTER(priv->tbl, tbl);
+ rcu_init_pointer(priv->tbl, tbl);
return 0;
}
diff --git a/net/netlabel/netlabel_domainhash.c
b/net/netlabel/netlabel_domainhash.c
index f0cb92f..97632af 100644
--- a/net/netlabel/netlabel_domainhash.c
+++ b/net/netlabel/netlabel_domainhash.c
@@ -516,7 +516,7 @@ int netlbl_domhsh_remove_entry(struct netlbl_dom_map *entry,
if (entry != rcu_dereference(netlbl_domhsh_def))
list_del_rcu(&entry->list);
else
- RCU_INIT_POINTER(netlbl_domhsh_def, NULL);
+ rcu_init_pointer(netlbl_domhsh_def, NULL);
} else
ret_val = -ENOENT;
spin_unlock(&netlbl_domhsh_lock);
diff --git a/net/netlabel/netlabel_unlabeled.c
b/net/netlabel/netlabel_unlabeled.c
index 78a63c1..b7ebdee 100644
--- a/net/netlabel/netlabel_unlabeled.c
+++ b/net/netlabel/netlabel_unlabeled.c
@@ -620,7 +620,7 @@ static void netlbl_unlhsh_condremove_iface(struct
netlbl_unlhsh_iface *iface)
if (iface->ifindex > 0)
list_del_rcu(&iface->list);
else
- RCU_INIT_POINTER(netlbl_unlhsh_def, NULL);
+ rcu_init_pointer(netlbl_unlhsh_def, NULL);
spin_unlock(&netlbl_unlhsh_lock);
call_rcu(&iface->rcu, netlbl_unlhsh_free_iface);
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 894cda0..93f0bd6 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1297,7 +1297,7 @@ static int netlink_release(struct socket *sock)
struct listeners *old;
old = nl_deref_protected(nl_table[sk->sk_protocol].listeners);
- RCU_INIT_POINTER(nl_table[sk->sk_protocol].listeners, NULL);
+ rcu_init_pointer(nl_table[sk->sk_protocol].listeners, NULL);
kfree_rcu(old, rcu);
nl_table[sk->sk_protocol].module = NULL;
nl_table[sk->sk_protocol].bind = NULL;
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index b85c67c..4740dc6 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -301,7 +301,7 @@ static void packet_cached_dev_assign(struct packet_sock *po,
static void packet_cached_dev_reset(struct packet_sock *po)
{
- RCU_INIT_POINTER(po->cached_dev, NULL);
+ rcu_init_pointer(po->cached_dev, NULL);
}
static bool packet_use_direct_xmit(const struct packet_sock *po)
diff --git a/net/phonet/af_phonet.c b/net/phonet/af_phonet.c
index 5a940db..694d5d8 100644
--- a/net/phonet/af_phonet.c
+++ b/net/phonet/af_phonet.c
@@ -491,7 +491,7 @@ void phonet_proto_unregister(unsigned int
protocol, struct phonet_protocol *pp)
{
mutex_lock(&proto_tab_lock);
BUG_ON(proto_tab[protocol] != pp);
- RCU_INIT_POINTER(proto_tab[protocol], NULL);
+ rcu_init_pointer(proto_tab[protocol], NULL);
mutex_unlock(&proto_tab_lock);
synchronize_rcu();
proto_unregister(pp->prot);
diff --git a/net/phonet/pn_dev.c b/net/phonet/pn_dev.c
index 56a6146..07d5619 100644
--- a/net/phonet/pn_dev.c
+++ b/net/phonet/pn_dev.c
@@ -276,7 +276,7 @@ static void phonet_route_autodel(struct net_device *dev)
mutex_lock(&pnn->routes.lock);
for (i = 0; i < 64; i++)
if (dev == pnn->routes.table[i]) {
- RCU_INIT_POINTER(pnn->routes.table[i], NULL);
+ rcu_init_pointer(pnn->routes.table[i], NULL);
set_bit(i, deleted);
}
mutex_unlock(&pnn->routes.lock);
@@ -389,7 +389,7 @@ int phonet_route_del(struct net_device *dev, u8 daddr)
daddr = daddr >> 2;
mutex_lock(&routes->lock);
if (dev == routes->table[daddr])
- RCU_INIT_POINTER(routes->table[daddr], NULL);
+ rcu_init_pointer(routes->table[daddr], NULL);
else
dev = NULL;
mutex_unlock(&routes->lock);
diff --git a/net/phonet/socket.c b/net/phonet/socket.c
index 008214a..24e0db2 100644
--- a/net/phonet/socket.c
+++ b/net/phonet/socket.c
@@ -693,7 +693,7 @@ int pn_sock_unbind_res(struct sock *sk, u8 res)
mutex_lock(&resource_mutex);
if (pnres.sk[res] == sk) {
- RCU_INIT_POINTER(pnres.sk[res], NULL);
+ rcu_init_pointer(pnres.sk[res], NULL);
ret = 0;
}
mutex_unlock(&resource_mutex);
@@ -712,7 +712,7 @@ void pn_sock_unbind_all_res(struct sock *sk)
mutex_lock(&resource_mutex);
for (res = 0; res < 256; res++) {
if (pnres.sk[res] == sk) {
- RCU_INIT_POINTER(pnres.sk[res], NULL);
+ rcu_init_pointer(pnres.sk[res], NULL);
match++;
}
}
diff --git a/net/socket.c b/net/socket.c
index abf56b2..9350395 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -260,7 +260,7 @@ static struct inode *sock_alloc_inode(struct
super_block *sb)
}
init_waitqueue_head(&wq->wait);
wq->fasync_list = NULL;
- RCU_INIT_POINTER(ei->socket.wq, wq);
+ rcu_init_pointer(ei->socket.wq, wq);
ei->socket.state = SS_UNCONNECTED;
ei->socket.flags = 0;
@@ -2638,7 +2638,7 @@ void sock_unregister(int family)
BUG_ON(family < 0 || family >= NPROTO);
spin_lock(&net_family_lock);
- RCU_INIT_POINTER(net_families[family], NULL);
+ rcu_init_pointer(net_families[family], NULL);
spin_unlock(&net_family_lock);
synchronize_rcu();
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c
index 36e431e..1810c54 100644
--- a/net/sunrpc/auth_gss/auth_gss.c
+++ b/net/sunrpc/auth_gss/auth_gss.c
@@ -1262,7 +1262,7 @@ gss_destroy_nullcred(struct rpc_cred *cred)
struct gss_auth *gss_auth = container_of(cred->cr_auth, struct
gss_auth, rpc_auth);
struct gss_cl_ctx *ctx = gss_cred->gc_ctx;
- RCU_INIT_POINTER(gss_cred->gc_ctx, NULL);
+ rcu_init_pointer(gss_cred->gc_ctx, NULL);
call_rcu(&cred->cr_rcu, gss_free_cred_callback);
if (ctx)
gss_put_ctx(ctx);
diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c
index 3fef7eb..3a56cd6 100644
--- a/net/tipc/bearer.c
+++ b/net/tipc/bearer.c
@@ -464,7 +464,7 @@ int tipc_enable_l2_media(struct tipc_bearer *b)
void tipc_disable_l2_media(struct tipc_bearer *b)
{
struct net_device *dev = (struct net_device *)b->media_ptr;
- RCU_INIT_POINTER(dev->tipc_ptr, NULL);
+ rcu_init_pointer(dev->tipc_ptr, NULL);
dev_put(dev);
}
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index bb7e8ba..ae855b9 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -1187,7 +1187,7 @@ restart:
newsk->sk_type = sk->sk_type;
init_peercred(newsk);
newu = unix_sk(newsk);
- RCU_INIT_POINTER(newsk->sk_wq, &newu->peer_wq);
+ rcu_init_pointer(newsk->sk_wq, &newu->peer_wq);
otheru = unix_sk(other);
/* copy address information from listening to new sock*/
diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c
index 85d1d47..deb776d 100644
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
@@ -50,7 +50,7 @@ int xfrm_input_unregister_afinfo(struct
xfrm_input_afinfo *afinfo)
if (unlikely(xfrm_input_afinfo[afinfo->family] != afinfo))
err = -EINVAL;
else
- RCU_INIT_POINTER(xfrm_input_afinfo[afinfo->family], NULL);
+ rcu_init_pointer(xfrm_input_afinfo[afinfo->family], NULL);
}
spin_unlock_bh(&xfrm_input_afinfo_lock);
synchronize_rcu();
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index c08fbd1..326d6ed 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -2729,7 +2729,7 @@ int xfrm_policy_unregister_afinfo(struct
xfrm_policy_afinfo *afinfo)
if (unlikely(xfrm_policy_afinfo[afinfo->family] != afinfo))
err = -EINVAL;
else
- RCU_INIT_POINTER(xfrm_policy_afinfo[afinfo->family],
+ rcu_init_pointer(xfrm_policy_afinfo[afinfo->family],
NULL);
}
spin_unlock(&xfrm_policy_afinfo_lock);
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index 8e9c781..cf7e89c 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -1942,7 +1942,7 @@ int xfrm_state_unregister_afinfo(struct
xfrm_state_afinfo *afinfo)
if (unlikely(xfrm_state_afinfo[afinfo->family] != afinfo))
err = -EINVAL;
else
- RCU_INIT_POINTER(xfrm_state_afinfo[afinfo->family], NULL);
+ rcu_init_pointer(xfrm_state_afinfo[afinfo->family], NULL);
}
spin_unlock_bh(&xfrm_state_afinfo_lock);
synchronize_rcu();
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index 8f131c1..cdf2a66 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -3040,7 +3040,7 @@ static void __net_exit xfrm_user_net_exit(struct
list_head *net_exit_list)
{
struct net *net;
list_for_each_entry(net, net_exit_list, exit_list)
- RCU_INIT_POINTER(net->xfrm.nlsk, NULL);
+ rcu_init_pointer(net->xfrm.nlsk, NULL);
synchronize_net();
list_for_each_entry(net, net_exit_list, exit_list)
netlink_kernel_release(net->xfrm.nlsk_stash);
--
1.7.9.5
On Tue, Apr 29, 2014 at 12:30:20AM -0400, Romanov Arya wrote:
> Recently RCU_INIT_POINTER is suggested to be used instead of
> rcu_assign_pointer for NULL values.
> I do not see any reason why this is in all CAPS unlike for other
> cases. Rename so that it is consistent with other RCU_* macros.
>
> Please also find the patch attached in case of mail client errors.
> Please discard patch if you think this huge change is unnecessary.
Actually, we do have several other all-caps macros in RCU. Although
you certainly did some work converting this, I must say "no" to it.
Quite a bit of churn for equivocal benefit.
For future changes of this sort, I suggest using Coccinelle, which
can make it quite a bit easier. When you do use Coccinelle, it is
good to say so in the commit log.
Thanx, Paul
> Thanks!
>
> Signed-off-by: Romanov Arya <[email protected]>
> ---
> arch/powerpc/platforms/cell/spu_syscalls.c | 2 +-
> drivers/crypto/nx/nx-842.c | 4 +-
> drivers/infiniband/hw/qib/qib_qp.c | 2 +-
> drivers/infiniband/hw/qib/qib_verbs.c | 10 ++--
> drivers/ipack/carriers/tpci200.c | 2 +-
> drivers/md/dm.c | 2 +-
> drivers/net/bonding/bond_main.c | 2 +-
> drivers/net/bonding/bond_options.c | 2 +-
> drivers/net/ethernet/broadcom/bnx2.c | 2 +-
> drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 +-
> drivers/net/ethernet/broadcom/cnic.c | 6 +--
> drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 4 +-
> drivers/net/macvtap.c | 10 ++--
> drivers/net/ppp/pptp.c | 2 +-
> drivers/net/team/team_mode_activebackup.c | 2 +-
> drivers/net/team/team_mode_loadbalance.c | 2 +-
> drivers/net/tun.c | 8 ++--
> drivers/net/veth.c | 4 +-
> drivers/net/wireless/ath/carl9170/main.c | 12 ++---
> drivers/net/wireless/iwlwifi/mvm/fw.c | 4 +-
> drivers/vhost/vhost.c | 4 +-
> fs/eventpoll.c | 4 +-
> fs/proc/inode.c | 2 +-
> include/linux/rcupdate.h | 20 ++++----
> kernel/audit.c | 2 +-
> kernel/cgroup.c | 14 +++---
> kernel/trace/trace_events_filter.c | 4 +-
> kernel/trace/trace_events_trigger.c | 2 +-
> kernel/workqueue.c | 2 +-
> lib/idr.c | 6 +--
> net/802/garp.c | 4 +-
> net/802/mrp.c | 4 +-
> net/802/stp.c | 4 +-
> net/8021q/vlan_core.c | 2 +-
> net/bridge/br_vlan.c | 8 ++--
> net/bridge/netfilter/ebtable_broute.c | 4 +-
> net/caif/cfmuxl.c | 4 +-
> net/can/af_can.c | 4 +-
> net/core/dev.c | 14 +++---
> net/core/fib_rules.c | 4 +-
> net/core/filter.c | 2 +-
> net/core/neighbour.c | 2 +-
> net/core/net-sysfs.c | 4 +-
> net/core/netpoll.c | 2 +-
> net/core/netprio_cgroup.c | 2 +-
> net/core/sock.c | 4 +-
> net/core/sysctl_net_core.c | 2 +-
> net/decnet/dn_dev.c | 2 +-
> net/decnet/dn_route.c | 2 +-
> net/ipv4/devinet.c | 4 +-
> net/ipv4/fib_semantics.c | 2 +-
> net/ipv4/fib_trie.c | 2 +-
> net/ipv4/igmp.c | 4 +-
> net/ipv4/inetpeer.c | 50 ++++++++++----------
> net/ipv4/ipmr.c | 2 +-
> net/ipv4/netfilter/nf_nat_h323.c | 36 +++++++-------
> net/ipv4/netfilter/nf_nat_pptp.c | 16 +++----
> net/ipv4/netfilter/nf_nat_snmp_basic.c | 4 +-
> net/ipv4/route.c | 4 +-
> net/ipv6/addrconf.c | 2 +-
> net/ipv6/ip6_tunnel.c | 2 +-
> net/ipv6/ip6_vti.c | 2 +-
> net/ipv6/netfilter.c | 4 +-
> net/ipv6/raw.c | 2 +-
> net/ipv6/sit.c | 2 +-
> net/mac80211/agg-rx.c | 2 +-
> net/mac80211/cfg.c | 8 ++--
> net/mac80211/ibss.c | 4 +-
> net/mac80211/mesh.c | 2 +-
> net/mac80211/mesh_pathtbl.c | 4 +-
> net/mac80211/sta_info.c | 2 +-
> net/netfilter/core.c | 4 +-
> net/netfilter/ipvs/ip_vs_ctl.c | 4 +-
> net/netfilter/ipvs/ip_vs_dh.c | 6 +--
> net/netfilter/ipvs/ip_vs_sh.c | 6 +--
> net/netfilter/nf_conntrack_core.c | 8 ++--
> net/netfilter/nf_conntrack_ecache.c | 4 +-
> net/netfilter/nf_conntrack_extend.c | 2 +-
> net/netfilter/nf_conntrack_helper.c | 6 +--
> net/netfilter/nf_conntrack_netlink.c | 8 ++--
> net/netfilter/nf_conntrack_proto.c | 2 +-
> net/netfilter/nf_log.c | 4 +-
> net/netfilter/nf_nat_amanda.c | 4 +-
> net/netfilter/nf_nat_core.c | 22 ++++-----
> net/netfilter/nf_nat_ftp.c | 4 +-
> net/netfilter/nf_nat_irc.c | 4 +-
> net/netfilter/nf_nat_sip.c | 4 +-
> net/netfilter/nf_nat_tftp.c | 4 +-
> net/netfilter/nf_queue.c | 2 +-
> net/netfilter/nfnetlink.c | 2 +-
> net/netfilter/nfnetlink_cttimeout.c | 8 ++--
> net/netfilter/nft_hash.c | 14 +++---
> net/netlabel/netlabel_domainhash.c | 2 +-
> net/netlabel/netlabel_unlabeled.c | 2 +-
> net/netlink/af_netlink.c | 2 +-
> net/packet/af_packet.c | 2 +-
> net/phonet/af_phonet.c | 2 +-
> net/phonet/pn_dev.c | 4 +-
> net/phonet/socket.c | 4 +-
> net/socket.c | 4 +-
> net/sunrpc/auth_gss/auth_gss.c | 2 +-
> net/tipc/bearer.c | 2 +-
> net/unix/af_unix.c | 2 +-
> net/xfrm/xfrm_input.c | 2 +-
> net/xfrm/xfrm_policy.c | 2 +-
> net/xfrm/xfrm_state.c | 2 +-
> net/xfrm/xfrm_user.c | 2 +-
> 107 files changed, 268 insertions(+), 268 deletions(-)
>
> diff --git a/arch/powerpc/platforms/cell/spu_syscalls.c
> b/arch/powerpc/platforms/cell/spu_syscalls.c
> index 38e0a1a..2feef7c 100644
> --- a/arch/powerpc/platforms/cell/spu_syscalls.c
> +++ b/arch/powerpc/platforms/cell/spu_syscalls.c
> @@ -170,7 +170,7 @@ EXPORT_SYMBOL_GPL(register_spu_syscalls);
> void unregister_spu_syscalls(struct spufs_calls *calls)
> {
> BUG_ON(spufs_calls->owner != calls->owner);
> - RCU_INIT_POINTER(spufs_calls, NULL);
> + rcu_init_pointer(spufs_calls, NULL);
> synchronize_rcu();
> }
> EXPORT_SYMBOL_GPL(unregister_spu_syscalls);
> diff --git a/drivers/crypto/nx/nx-842.c b/drivers/crypto/nx/nx-842.c
> index 1e5481d..e72d3d7 100644
> --- a/drivers/crypto/nx/nx-842.c
> +++ b/drivers/crypto/nx/nx-842.c
> @@ -1262,14 +1262,14 @@ static int __init nx842_init(void)
> struct nx842_devdata *new_devdata;
> pr_info("Registering IBM Power 842 compression driver\n");
>
> - RCU_INIT_POINTER(devdata, NULL);
> + rcu_init_pointer(devdata, NULL);
> new_devdata = kzalloc(sizeof(*new_devdata), GFP_KERNEL);
> if (!new_devdata) {
> pr_err("Could not allocate memory for device data\n");
> return -ENOMEM;
> }
> new_devdata->status = UNAVAILABLE;
> - RCU_INIT_POINTER(devdata, new_devdata);
> + rcu_init_pointer(devdata, new_devdata);
>
> return vio_register_driver(&nx842_driver);
> }
> diff --git a/drivers/infiniband/hw/qib/qib_qp.c
> b/drivers/infiniband/hw/qib/qib_qp.c
> index 0cad0c4..e967aa5 100644
> --- a/drivers/infiniband/hw/qib/qib_qp.c
> +++ b/drivers/infiniband/hw/qib/qib_qp.c
> @@ -1041,7 +1041,7 @@ struct ib_qp *qib_create_qp(struct ib_pd *ibpd,
> ret = ERR_PTR(-ENOMEM);
> goto bail_swq;
> }
> - RCU_INIT_POINTER(qp->next, NULL);
> + rcu_init_pointer(qp->next, NULL);
> qp->s_hdr = kzalloc(sizeof(*qp->s_hdr), GFP_KERNEL);
> if (!qp->s_hdr) {
> ret = ERR_PTR(-ENOMEM);
> diff --git a/drivers/infiniband/hw/qib/qib_verbs.c
> b/drivers/infiniband/hw/qib/qib_verbs.c
> index 9bcfbd8..8ed08aa9 100644
> --- a/drivers/infiniband/hw/qib/qib_verbs.c
> +++ b/drivers/infiniband/hw/qib/qib_verbs.c
> @@ -2035,8 +2035,8 @@ static void init_ibport(struct qib_pportdata *ppd)
> ibp->z_excessive_buffer_overrun_errors =
> cntrs.excessive_buffer_overrun_errors;
> ibp->z_vl15_dropped = cntrs.vl15_dropped;
> - RCU_INIT_POINTER(ibp->qp0, NULL);
> - RCU_INIT_POINTER(ibp->qp1, NULL);
> + rcu_init_pointer(ibp->qp0, NULL);
> + rcu_init_pointer(ibp->qp1, NULL);
> }
>
> /**
> @@ -2061,7 +2061,7 @@ int qib_register_ib_device(struct qib_devdata *dd)
> goto err_qpt;
> }
> for (i = 0; i < dev->qp_table_size; i++)
> - RCU_INIT_POINTER(dev->qp_table[i], NULL);
> + rcu_init_pointer(dev->qp_table[i], NULL);
>
> for (i = 0; i < dd->num_pports; i++)
> init_ibport(ppd + i);
> @@ -2094,9 +2094,9 @@ int qib_register_ib_device(struct qib_devdata *dd)
> ret = -ENOMEM;
> goto err_lk;
> }
> - RCU_INIT_POINTER(dev->dma_mr, NULL);
> + rcu_init_pointer(dev->dma_mr, NULL);
> for (i = 0; i < dev->lk_table.max; i++)
> - RCU_INIT_POINTER(dev->lk_table.table[i], NULL);
> + rcu_init_pointer(dev->lk_table.table[i], NULL);
> INIT_LIST_HEAD(&dev->pending_mmaps);
> spin_lock_init(&dev->pending_lock);
> dev->mmap_offset = PAGE_SIZE;
> diff --git a/drivers/ipack/carriers/tpci200.c b/drivers/ipack/carriers/tpci200.c
> index c276fde..86ae582 100644
> --- a/drivers/ipack/carriers/tpci200.c
> +++ b/drivers/ipack/carriers/tpci200.c
> @@ -187,7 +187,7 @@ static int tpci200_free_irq(struct ipack_device *dev)
> tpci200_disable_irq(tpci200, dev->slot);
> slot_irq = tpci200->slots[dev->slot].irq;
> /* uninstall handler */
> - RCU_INIT_POINTER(tpci200->slots[dev->slot].irq, NULL);
> + rcu_init_pointer(tpci200->slots[dev->slot].irq, NULL);
> synchronize_rcu();
> kfree(slot_irq);
> mutex_unlock(&tpci200->mutex);
> diff --git a/drivers/md/dm.c b/drivers/md/dm.c
> index 455e649..19e6e9a 100644
> --- a/drivers/md/dm.c
> +++ b/drivers/md/dm.c
> @@ -2168,7 +2168,7 @@ static struct dm_table *__unbind(struct mapped_device *md)
> return NULL;
>
> dm_table_event_callback(map, NULL, NULL);
> - RCU_INIT_POINTER(md->map, NULL);
> + rcu_init_pointer(md->map, NULL);
> dm_sync_table(md);
>
> return map;
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index 69aff72..d75c7ef 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -1704,7 +1704,7 @@ static int __bond_release_one(struct net_device *bond_dev,
> }
>
> if (all) {
> - RCU_INIT_POINTER(bond->curr_active_slave, NULL);
> + rcu_init_pointer(bond->curr_active_slave, NULL);
> } else if (oldcurrent == slave) {
> /*
> * Note that we hold RTNL over this sequence, so there
> diff --git a/drivers/net/bonding/bond_options.c
> b/drivers/net/bonding/bond_options.c
> index 724e30f..069c7c3 100644
> --- a/drivers/net/bonding/bond_options.c
> +++ b/drivers/net/bonding/bond_options.c
> @@ -712,7 +712,7 @@ static int bond_option_active_slave_set(struct
> bonding *bond,
> /* check to see if we are clearing active */
> if (!slave_dev) {
> pr_info("%s: Clearing current active slave\n", bond->dev->name);
> - RCU_INIT_POINTER(bond->curr_active_slave, NULL);
> + rcu_init_pointer(bond->curr_active_slave, NULL);
> bond_select_active_slave(bond);
> } else {
> struct slave *old_active = bond->curr_active_slave;
> diff --git a/drivers/net/ethernet/broadcom/bnx2.c
> b/drivers/net/ethernet/broadcom/bnx2.c
> index 0ab8370..7facbc4 100644
> --- a/drivers/net/ethernet/broadcom/bnx2.c
> +++ b/drivers/net/ethernet/broadcom/bnx2.c
> @@ -409,7 +409,7 @@ static int bnx2_unregister_cnic(struct net_device *dev)
> mutex_lock(&bp->cnic_lock);
> cp->drv_state = 0;
> bnapi->cnic_present = 0;
> - RCU_INIT_POINTER(bp->cnic_ops, NULL);
> + rcu_init_pointer(bp->cnic_ops, NULL);
> mutex_unlock(&bp->cnic_lock);
> synchronize_rcu();
> return 0;
> diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
> b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
> index a78edac..83a228e 100644
> --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
> +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
> @@ -14048,7 +14048,7 @@ static int bnx2x_unregister_cnic(struct net_device *dev)
>
> mutex_lock(&bp->cnic_mutex);
> cp->drv_state = 0;
> - RCU_INIT_POINTER(bp->cnic_ops, NULL);
> + rcu_init_pointer(bp->cnic_ops, NULL);
> mutex_unlock(&bp->cnic_mutex);
> synchronize_rcu();
> bp->cnic_enabled = false;
> diff --git a/drivers/net/ethernet/broadcom/cnic.c
> b/drivers/net/ethernet/broadcom/cnic.c
> index 09f3fef..42d5ff3a 100644
> --- a/drivers/net/ethernet/broadcom/cnic.c
> +++ b/drivers/net/ethernet/broadcom/cnic.c
> @@ -534,7 +534,7 @@ int cnic_unregister_driver(int ulp_type)
> }
> read_unlock(&cnic_dev_lock);
>
> - RCU_INIT_POINTER(cnic_ulp_tbl[ulp_type], NULL);
> + rcu_init_pointer(cnic_ulp_tbl[ulp_type], NULL);
>
> mutex_unlock(&cnic_lock);
> synchronize_rcu();
> @@ -610,7 +610,7 @@ static int cnic_unregister_device(struct cnic_dev
> *dev, int ulp_type)
> }
> mutex_lock(&cnic_lock);
> if (rcu_dereference(cp->ulp_ops[ulp_type])) {
> - RCU_INIT_POINTER(cp->ulp_ops[ulp_type], NULL);
> + rcu_init_pointer(cp->ulp_ops[ulp_type], NULL);
> cnic_put(dev);
> } else {
> pr_err("%s: device not registered to this ulp type %d\n",
> @@ -5414,7 +5414,7 @@ static void cnic_stop_hw(struct cnic_dev *dev)
> cp->stop_cm(dev);
> cp->ethdev->drv_state &= ~CNIC_DRV_STATE_HANDLES_IRQ;
> clear_bit(CNIC_F_CNIC_UP, &dev->flags);
> - RCU_INIT_POINTER(cp->ulp_ops[CNIC_ULP_L4], NULL);
> + rcu_init_pointer(cp->ulp_ops[CNIC_ULP_L4], NULL);
> synchronize_rcu();
> cnic_cm_shutdown(dev);
> cp->stop_hw(dev);
> diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
> b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
> index c0a9dd5..466f3b2 100644
> --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
> +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
> @@ -1280,7 +1280,7 @@ int cxgb3_offload_activate(struct adapter *adapter)
> INIT_LIST_HEAD(&t->list_node);
> t->dev = dev;
>
> - RCU_INIT_POINTER(dev->l2opt, l2td);
> + rcu_init_pointer(dev->l2opt, l2td);
> T3C_DATA(dev) = t;
> dev->recv = process_rx;
> dev->neigh_update = t3_l2t_update;
> @@ -1324,7 +1324,7 @@ void cxgb3_offload_deactivate(struct adapter *adapter)
> rcu_read_lock();
> d = L2DATA(tdev);
> rcu_read_unlock();
> - RCU_INIT_POINTER(tdev->l2opt, NULL);
> + rcu_init_pointer(tdev->l2opt, NULL);
> call_rcu(&d->rcu_head, clean_l2_data);
> if (t->nofail_skb)
> kfree_skb(t->nofail_skb);
> diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
> index ff111a8..c343c1d 100644
> --- a/drivers/net/macvtap.c
> +++ b/drivers/net/macvtap.c
> @@ -159,7 +159,7 @@ static int macvtap_disable_queue(struct macvtap_queue *q)
> nq->queue_index = index;
>
> rcu_assign_pointer(vlan->taps[index], nq);
> - RCU_INIT_POINTER(vlan->taps[vlan->numvtaps - 1], NULL);
> + rcu_init_pointer(vlan->taps[vlan->numvtaps - 1], NULL);
> q->enabled = false;
>
> vlan->numvtaps--;
> @@ -188,7 +188,7 @@ static void macvtap_put_queue(struct macvtap_queue *q)
> BUG_ON(macvtap_disable_queue(q));
>
> vlan->numqueues--;
> - RCU_INIT_POINTER(q->vlan, NULL);
> + rcu_init_pointer(q->vlan, NULL);
> sock_put(&q->sk);
> list_del_init(&q->next);
> }
> @@ -259,13 +259,13 @@ static void macvtap_del_queues(struct net_device *dev)
> list_for_each_entry_safe(q, tmp, &vlan->queue_list, next) {
> list_del_init(&q->next);
> qlist[j++] = q;
> - RCU_INIT_POINTER(q->vlan, NULL);
> + rcu_init_pointer(q->vlan, NULL);
> if (q->enabled)
> vlan->numvtaps--;
> vlan->numqueues--;
> }
> for (i = 0; i < vlan->numvtaps; i++)
> - RCU_INIT_POINTER(vlan->taps[i], NULL);
> + rcu_init_pointer(vlan->taps[i], NULL);
> BUG_ON(vlan->numvtaps);
> BUG_ON(vlan->numqueues);
> /* guarantee that any future macvtap_set_queue will fail */
> @@ -459,7 +459,7 @@ static int macvtap_open(struct inode *inode,
> struct file *file)
> if (!q)
> goto out;
>
> - RCU_INIT_POINTER(q->sock.wq, &q->wq);
> + rcu_init_pointer(q->sock.wq, &q->wq);
> init_waitqueue_head(&q->wq.wait);
> q->sock.type = SOCK_RAW;
> q->sock.state = SS_CONNECTED;
> diff --git a/drivers/net/ppp/pptp.c b/drivers/net/ppp/pptp.c
> index 0180531..b7c2acb 100644
> --- a/drivers/net/ppp/pptp.c
> +++ b/drivers/net/ppp/pptp.c
> @@ -162,7 +162,7 @@ static void del_chan(struct pppox_sock *sock)
> {
> spin_lock(&chan_lock);
> clear_bit(sock->proto.pptp.src_addr.call_id, callid_bitmap);
> - RCU_INIT_POINTER(callid_sock[sock->proto.pptp.src_addr.call_id], NULL);
> + rcu_init_pointer(callid_sock[sock->proto.pptp.src_addr.call_id], NULL);
> spin_unlock(&chan_lock);
> synchronize_rcu();
> }
> diff --git a/drivers/net/team/team_mode_activebackup.c
> b/drivers/net/team/team_mode_activebackup.c
> index 40fd338..91b3066 100644
> --- a/drivers/net/team/team_mode_activebackup.c
> +++ b/drivers/net/team/team_mode_activebackup.c
> @@ -56,7 +56,7 @@ drop:
> static void ab_port_leave(struct team *team, struct team_port *port)
> {
> if (ab_priv(team)->active_port == port) {
> - RCU_INIT_POINTER(ab_priv(team)->active_port, NULL);
> + rcu_init_pointer(ab_priv(team)->active_port, NULL);
> team_option_inst_set_change(ab_priv(team)->ap_opt_inst_info);
> }
> }
> diff --git a/drivers/net/team/team_mode_loadbalance.c
> b/drivers/net/team/team_mode_loadbalance.c
> index dbde341..deef2c9 100644
> --- a/drivers/net/team/team_mode_loadbalance.c
> +++ b/drivers/net/team/team_mode_loadbalance.c
> @@ -97,7 +97,7 @@ static void
> lb_tx_hash_to_port_mapping_null_port(struct team *team,
>
> pm = &lb_priv->ex->tx_hash_to_port_mapping[i];
> if (rcu_access_pointer(pm->port) == port) {
> - RCU_INIT_POINTER(pm->port, NULL);
> + rcu_init_pointer(pm->port, NULL);
> team_option_inst_set_change(pm->opt_inst_info);
> changed = true;
> }
> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> index ee328ba..ab06040 100644
> --- a/drivers/net/tun.c
> +++ b/drivers/net/tun.c
> @@ -452,7 +452,7 @@ static void __tun_detach(struct tun_file *tfile, bool clean)
>
> --tun->numqueues;
> if (clean) {
> - RCU_INIT_POINTER(tfile->tun, NULL);
> + rcu_init_pointer(tfile->tun, NULL);
> sock_put(&tfile->sk);
> } else
> tun_disable_queue(tun, tfile);
> @@ -499,12 +499,12 @@ static void tun_detach_all(struct net_device *dev)
> tfile = rtnl_dereference(tun->tfiles[i]);
> BUG_ON(!tfile);
> wake_up_all(&tfile->wq.wait);
> - RCU_INIT_POINTER(tfile->tun, NULL);
> + rcu_init_pointer(tfile->tun, NULL);
> --tun->numqueues;
> }
> list_for_each_entry(tfile, &tun->disabled, next) {
> wake_up_all(&tfile->wq.wait);
> - RCU_INIT_POINTER(tfile->tun, NULL);
> + rcu_init_pointer(tfile->tun, NULL);
> }
> BUG_ON(tun->numqueues != 0);
>
> @@ -2194,7 +2194,7 @@ static int tun_chr_open(struct inode *inode,
> struct file * file)
> &tun_proto);
> if (!tfile)
> return -ENOMEM;
> - RCU_INIT_POINTER(tfile->tun, NULL);
> + rcu_init_pointer(tfile->tun, NULL);
> tfile->net = get_net(current->nsproxy->net_ns);
> tfile->flags = 0;
> tfile->ifindex = 0;
> diff --git a/drivers/net/veth.c b/drivers/net/veth.c
> index b4a10bc..b8c026f 100644
> --- a/drivers/net/veth.c
> +++ b/drivers/net/veth.c
> @@ -432,12 +432,12 @@ static void veth_dellink(struct net_device *dev,
> struct list_head *head)
> * before a rcu_synchronize() point. The devices are guaranteed
> * not being freed before one RCU grace period.
> */
> - RCU_INIT_POINTER(priv->peer, NULL);
> + rcu_init_pointer(priv->peer, NULL);
> unregister_netdevice_queue(dev, head);
>
> if (peer) {
> priv = netdev_priv(peer);
> - RCU_INIT_POINTER(priv->peer, NULL);
> + rcu_init_pointer(priv->peer, NULL);
> unregister_netdevice_queue(peer, head);
> }
> }
> diff --git a/drivers/net/wireless/ath/carl9170/main.c
> b/drivers/net/wireless/ath/carl9170/main.c
> index 4c8cdb0..9ba9885 100644
> --- a/drivers/net/wireless/ath/carl9170/main.c
> +++ b/drivers/net/wireless/ath/carl9170/main.c
> @@ -450,7 +450,7 @@ static void carl9170_op_stop(struct ieee80211_hw *hw)
>
> mutex_lock(&ar->mutex);
> if (IS_ACCEPTING_CMD(ar)) {
> - RCU_INIT_POINTER(ar->beacon_iter, NULL);
> + rcu_init_pointer(ar->beacon_iter, NULL);
>
> carl9170_led_set_state(ar, 0);
>
> @@ -747,7 +747,7 @@ unlock:
> vif_priv->active = false;
> bitmap_release_region(&ar->vif_bitmap, vif_id, 0);
> ar->vifs--;
> - RCU_INIT_POINTER(ar->vif_priv[vif_id].vif, NULL);
> + rcu_init_pointer(ar->vif_priv[vif_id].vif, NULL);
> list_del_rcu(&vif_priv->list);
> mutex_unlock(&ar->mutex);
> synchronize_rcu();
> @@ -785,7 +785,7 @@ static void carl9170_op_remove_interface(struct
> ieee80211_hw *hw,
> WARN_ON(vif_priv->enable_beacon);
> vif_priv->enable_beacon = false;
> list_del_rcu(&vif_priv->list);
> - RCU_INIT_POINTER(ar->vif_priv[id].vif, NULL);
> + rcu_init_pointer(ar->vif_priv[id].vif, NULL);
>
> if (vif == main_vif) {
> rcu_read_unlock();
> @@ -1333,7 +1333,7 @@ static int carl9170_op_sta_add(struct ieee80211_hw *hw,
> }
>
> for (i = 0; i < ARRAY_SIZE(sta_info->agg); i++)
> - RCU_INIT_POINTER(sta_info->agg[i], NULL);
> + rcu_init_pointer(sta_info->agg[i], NULL);
>
> sta_info->ampdu_max_len = 1 << (3 + sta->ht_cap.ampdu_factor);
> sta_info->ht_sta = true;
> @@ -1360,7 +1360,7 @@ static int carl9170_op_sta_remove(struct ieee80211_hw *hw,
> struct carl9170_sta_tid *tid_info;
>
> tid_info = rcu_dereference(sta_info->agg[i]);
> - RCU_INIT_POINTER(sta_info->agg[i], NULL);
> + rcu_init_pointer(sta_info->agg[i], NULL);
>
> if (!tid_info)
> continue;
> @@ -1477,7 +1477,7 @@ static int carl9170_op_ampdu_action(struct
> ieee80211_hw *hw,
> spin_unlock_bh(&ar->tx_ampdu_list_lock);
> }
>
> - RCU_INIT_POINTER(sta_info->agg[tid], NULL);
> + rcu_init_pointer(sta_info->agg[tid], NULL);
> rcu_read_unlock();
>
> ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
> diff --git a/drivers/net/wireless/iwlwifi/mvm/fw.c
> b/drivers/net/wireless/iwlwifi/mvm/fw.c
> index 7ce2006..751abf0 100644
> --- a/drivers/net/wireless/iwlwifi/mvm/fw.c
> +++ b/drivers/net/wireless/iwlwifi/mvm/fw.c
> @@ -443,7 +443,7 @@ int iwl_mvm_up(struct iwl_mvm *mvm)
>
> /* init the fw <-> mac80211 STA mapping */
> for (i = 0; i < IWL_MVM_STATION_COUNT; i++)
> - RCU_INIT_POINTER(mvm->fw_id_to_mac_id[i], NULL);
> + rcu_init_pointer(mvm->fw_id_to_mac_id[i], NULL);
>
> /* Add auxiliary station for scanning */
> ret = iwl_mvm_add_aux_sta(mvm);
> @@ -520,7 +520,7 @@ int iwl_mvm_load_d3_fw(struct iwl_mvm *mvm)
>
> /* init the fw <-> mac80211 STA mapping */
> for (i = 0; i < IWL_MVM_STATION_COUNT; i++)
> - RCU_INIT_POINTER(mvm->fw_id_to_mac_id[i], NULL);
> + rcu_init_pointer(mvm->fw_id_to_mac_id[i], NULL);
>
> /* Add auxiliary station for scanning */
> ret = iwl_mvm_add_aux_sta(mvm);
> diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
> index 78987e4..92d3fbc 100644
> --- a/drivers/vhost/vhost.c
> +++ b/drivers/vhost/vhost.c
> @@ -419,7 +419,7 @@ void vhost_dev_reset_owner(struct vhost_dev *dev,
> struct vhost_memory *memory)
>
> /* Restore memory to default empty mapping. */
> memory->nregions = 0;
> - RCU_INIT_POINTER(dev->memory, memory);
> + rcu_init_pointer(dev->memory, memory);
> }
> EXPORT_SYMBOL_GPL(vhost_dev_reset_owner);
>
> @@ -465,7 +465,7 @@ void vhost_dev_cleanup(struct vhost_dev *dev, bool locked)
> kfree(rcu_dereference_protected(dev->memory,
> locked ==
> lockdep_is_held(&dev->mutex)));
> - RCU_INIT_POINTER(dev->memory, NULL);
> + rcu_init_pointer(dev->memory, NULL);
> WARN_ON(!list_empty(&dev->work_list));
> if (dev->worker) {
> kthread_stop(dev->worker);
> diff --git a/fs/eventpoll.c b/fs/eventpoll.c
> index af90312..bc52fb8 100644
> --- a/fs/eventpoll.c
> +++ b/fs/eventpoll.c
> @@ -1250,7 +1250,7 @@ static noinline void
> ep_destroy_wakeup_source(struct epitem *epi)
> {
> struct wakeup_source *ws = ep_wakeup_source(epi);
>
> - RCU_INIT_POINTER(epi->ws, NULL);
> + rcu_init_pointer(epi->ws, NULL);
>
> /*
> * wait for ep_pm_stay_awake_rcu to finish, synchronize_rcu is
> @@ -1293,7 +1293,7 @@ static int ep_insert(struct eventpoll *ep,
> struct epoll_event *event,
> if (error)
> goto error_create_wakeup_source;
> } else {
> - RCU_INIT_POINTER(epi->ws, NULL);
> + rcu_init_pointer(epi->ws, NULL);
> }
>
> /* Initialize the poll table using the queue callback */
> diff --git a/fs/proc/inode.c b/fs/proc/inode.c
> index 0adbc02..a8734e0 100644
> --- a/fs/proc/inode.c
> +++ b/fs/proc/inode.c
> @@ -47,7 +47,7 @@ static void proc_evict_inode(struct inode *inode)
> pde_put(de);
> head = PROC_I(inode)->sysctl;
> if (head) {
> - RCU_INIT_POINTER(PROC_I(inode)->sysctl, NULL);
> + rcu_init_pointer(PROC_I(inode)->sysctl, NULL);
> sysctl_head_put(head);
> }
> /* Release any associated namespace */
> diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> index 00a7fd6..d384392 100644
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@ -566,13 +566,13 @@ static inline void rcu_preempt_sleep_check(void)
> * assignment. More importantly, this call documents which pointers
> * will be dereferenced by RCU read-side code.
> *
> - * In some special cases, you may use RCU_INIT_POINTER() instead
> - * of rcu_assign_pointer(). RCU_INIT_POINTER() is a bit faster due
> + * In some special cases, you may use rcu_init_pointer() instead
> + * of rcu_assign_pointer(). rcu_init_pointer() is a bit faster due
> * to the fact that it does not constrain either the CPU or the compiler.
> - * That said, using RCU_INIT_POINTER() when you should have used
> + * That said, using rcu_init_pointer() when you should have used
> * rcu_assign_pointer() is a very bad thing that results in
> * impossible-to-diagnose memory corruption. So please be careful.
> - * See the RCU_INIT_POINTER() comment header for details.
> + * See the rcu_init_pointer() comment header for details.
> *
> * Note that rcu_assign_pointer() evaluates each of its arguments only
> * once, appearances notwithstanding. One of the "extra" evaluations
> @@ -919,13 +919,13 @@ static inline notrace void
> rcu_read_unlock_sched_notrace(void)
> }
>
> /**
> - * RCU_INIT_POINTER() - initialize an RCU protected pointer
> + * rcu_init_pointer() - initialize an RCU protected pointer
> *
> * Initialize an RCU-protected pointer in special cases where readers
> * do not need ordering constraints on the CPU or the compiler. These
> * special cases are:
> *
> - * 1. This use of RCU_INIT_POINTER() is NULLing out the pointer -or-
> + * 1. This use of rcu_init_pointer() is NULLing out the pointer -or-
> * 2. The caller has taken whatever steps are required to prevent
> * RCU readers from concurrently accessing this pointer -or-
> * 3. The referenced data structure has already been exposed to
> @@ -937,20 +937,20 @@ static inline notrace void
> rcu_read_unlock_sched_notrace(void)
> * example, the changes were to statistical counters or to
> * other state where exact synchronization is not required.)
> *
> - * Failure to follow these rules governing use of RCU_INIT_POINTER() will
> + * Failure to follow these rules governing use of rcu_init_pointer() will
> * result in impossible-to-diagnose memory corruption. As in the structures
> * will look OK in crash dumps, but any concurrent RCU readers might
> * see pre-initialized values of the referenced data structure. So
> - * please be very careful how you use RCU_INIT_POINTER()!!!
> + * please be very careful how you use rcu_init_pointer()!!!
> *
> * If you are creating an RCU-protected linked structure that is accessed
> * by a single external-to-structure RCU-protected pointer, then you may
> - * use RCU_INIT_POINTER() to initialize the internal RCU-protected
> + * use rcu_init_pointer() to initialize the internal RCU-protected
> * pointers, but you must use rcu_assign_pointer() to initialize the
> * external-to-structure pointer -after- you have completely initialized
> * the reader-accessible portions of the linked structure.
> */
> -#define RCU_INIT_POINTER(p, v) \
> +#define rcu_init_pointer(p, v) \
> do { \
> p = RCU_INITIALIZER(v); \
> } while (0)
> diff --git a/kernel/audit.c b/kernel/audit.c
> index 7c28936..f5bf565 100644
> --- a/kernel/audit.c
> +++ b/kernel/audit.c
> @@ -1102,7 +1102,7 @@ static void __net_exit audit_net_exit(struct net *net)
> audit_sock = NULL;
> }
>
> - RCU_INIT_POINTER(aunet->nlsk, NULL);
> + rcu_init_pointer(aunet->nlsk, NULL);
> synchronize_net();
> netlink_kernel_release(sock);
> }
> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
> index 9fcdaa7..252320b 100644
> --- a/kernel/cgroup.c
> +++ b/kernel/cgroup.c
> @@ -1045,7 +1045,7 @@ static int rebind_subsystems(struct cgroup_root *dst_root,
>
> WARN_ON(!css || cgroup_css(&dst_root->cgrp, ss));
>
> - RCU_INIT_POINTER(src_root->cgrp.subsys[ssid], NULL);
> + rcu_init_pointer(src_root->cgrp.subsys[ssid], NULL);
> rcu_assign_pointer(dst_root->cgrp.subsys[ssid], css);
> ss->root = dst_root;
> css->cgroup = &dst_root->cgrp;
> @@ -3567,7 +3567,7 @@ static void css_release(struct percpu_ref *ref)
> struct cgroup_subsys_state *css =
> container_of(ref, struct cgroup_subsys_state, refcnt);
>
> - RCU_INIT_POINTER(css->cgroup->subsys[css->ss->id], NULL);
> + rcu_init_pointer(css->cgroup->subsys[css->ss->id], NULL);
> call_rcu(&css->rcu_head, css_free_rcu_fn);
> }
>
> @@ -3621,7 +3621,7 @@ static void offline_css(struct cgroup_subsys_state *css)
>
> css->flags &= ~CSS_ONLINE;
> css->cgroup->nr_css--;
> - RCU_INIT_POINTER(css->cgroup->subsys[ss->id], css);
> + rcu_init_pointer(css->cgroup->subsys[ss->id], css);
> }
>
> /**
> @@ -4044,7 +4044,7 @@ static int cgroup_destroy_locked(struct cgroup *cgrp)
> * after all files under it have been removed.
> */
> kernfs_remove(cgrp->kn); /* @cgrp has an extra ref on its kn */
> - RCU_INIT_POINTER(*(void __rcu __force **)&cgrp->kn->priv, NULL);
> + rcu_init_pointer(*(void __rcu __force **)&cgrp->kn->priv, NULL);
>
> mutex_lock(&cgroup_mutex);
>
> @@ -4169,7 +4169,7 @@ int __init cgroup_init_early(void)
> int i;
>
> init_cgroup_root(&cgrp_dfl_root, &opts);
> - RCU_INIT_POINTER(init_task.cgroups, &init_css_set);
> + rcu_init_pointer(init_task.cgroups, &init_css_set);
>
> for_each_subsys(ss, i) {
> WARN(!ss->css_alloc || !ss->css_free || ss->name || ss->id,
> @@ -4377,7 +4377,7 @@ static const struct file_operations
> proc_cgroupstats_operations = {
> */
> void cgroup_fork(struct task_struct *child)
> {
> - RCU_INIT_POINTER(child->cgroups, &init_css_set);
> + rcu_init_pointer(child->cgroups, &init_css_set);
> INIT_LIST_HEAD(&child->cg_list);
> }
>
> @@ -4481,7 +4481,7 @@ void cgroup_exit(struct task_struct *tsk)
>
> /* Reassign the task to the init_css_set. */
> cset = task_css_set(tsk);
> - RCU_INIT_POINTER(tsk->cgroups, &init_css_set);
> + rcu_init_pointer(tsk->cgroups, &init_css_set);
>
> if (need_forkexit_callback) {
> /* see cgroup_post_fork() for details */
> diff --git a/kernel/trace/trace_events_filter.c
> b/kernel/trace/trace_events_filter.c
> index 8a86319..93b0d89 100644
> --- a/kernel/trace/trace_events_filter.c
> +++ b/kernel/trace/trace_events_filter.c
> @@ -1708,9 +1708,9 @@ static inline void event_clear_filter(struct
> ftrace_event_file *file)
> struct ftrace_event_call *call = file->event_call;
>
> if (call->flags & TRACE_EVENT_FL_USE_CALL_FILTER)
> - RCU_INIT_POINTER(call->filter, NULL);
> + rcu_init_pointer(call->filter, NULL);
> else
> - RCU_INIT_POINTER(file->filter, NULL);
> + rcu_init_pointer(file->filter, NULL);
> }
>
> static inline void
> diff --git a/kernel/trace/trace_events_trigger.c
> b/kernel/trace/trace_events_trigger.c
> index 925f537..07dc2eb 100644
> --- a/kernel/trace/trace_events_trigger.c
> +++ b/kernel/trace/trace_events_trigger.c
> @@ -1212,7 +1212,7 @@ event_enable_trigger_func(struct event_command *cmd_ops,
> trigger_data->ops = trigger_ops;
> trigger_data->cmd_ops = cmd_ops;
> INIT_LIST_HEAD(&trigger_data->list);
> - RCU_INIT_POINTER(trigger_data->filter, NULL);
> + rcu_init_pointer(trigger_data->filter, NULL);
>
> enable_data->enable = enable;
> enable_data->file = event_enable_file;
> diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> index 0ee63af..3c897f5 100644
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -4343,7 +4343,7 @@ void destroy_workqueue(struct workqueue_struct *wq)
> */
> for_each_node(node) {
> pwq = rcu_access_pointer(wq->numa_pwq_tbl[node]);
> - RCU_INIT_POINTER(wq->numa_pwq_tbl[node], NULL);
> + rcu_init_pointer(wq->numa_pwq_tbl[node], NULL);
> put_pwq_unlocked(pwq);
> }
>
> diff --git a/lib/idr.c b/lib/idr.c
> index 2642fa8..b885650 100644
> --- a/lib/idr.c
> +++ b/lib/idr.c
> @@ -152,7 +152,7 @@ static void idr_layer_rcu_free(struct rcu_head *head)
> static inline void free_layer(struct idr *idr, struct idr_layer *p)
> {
> if (idr->hint && idr->hint == p)
> - RCU_INIT_POINTER(idr->hint, NULL);
> + rcu_init_pointer(idr->hint, NULL);
> call_rcu(&p->rcu_head, idr_layer_rcu_free);
> }
>
> @@ -533,7 +533,7 @@ static void sub_remove(struct idr *idp, int shift, int id)
> n = id & IDR_MASK;
> if (likely(p != NULL && test_bit(n, p->bitmap))) {
> __clear_bit(n, p->bitmap);
> - RCU_INIT_POINTER(p->ary[n], NULL);
> + rcu_init_pointer(p->ary[n], NULL);
> to_free = NULL;
> while(*paa && ! --((**paa)->count)){
> if (to_free)
> @@ -602,7 +602,7 @@ static void __idr_remove_all(struct idr *idp)
>
> n = idp->layers * IDR_BITS;
> p = idp->top;
> - RCU_INIT_POINTER(idp->top, NULL);
> + rcu_init_pointer(idp->top, NULL);
> max = idr_max(idp->layers);
>
> id = 0;
> diff --git a/net/802/garp.c b/net/802/garp.c
> index b38ee6d..4bc98ac 100644
> --- a/net/802/garp.c
> +++ b/net/802/garp.c
> @@ -552,7 +552,7 @@ static void garp_release_port(struct net_device *dev)
> if (rtnl_dereference(port->applicants[i]))
> return;
> }
> - RCU_INIT_POINTER(dev->garp_port, NULL);
> + rcu_init_pointer(dev->garp_port, NULL);
> kfree_rcu(port, rcu);
> }
>
> @@ -604,7 +604,7 @@ void garp_uninit_applicant(struct net_device *dev,
> struct garp_application *appl
>
> ASSERT_RTNL();
>
> - RCU_INIT_POINTER(port->applicants[appl->type], NULL);
> + rcu_init_pointer(port->applicants[appl->type], NULL);
>
> /* Delete timer and generate a final TRANSMIT_PDU event to flush out
> * all pending messages before the applicant is gone. */
> diff --git a/net/802/mrp.c b/net/802/mrp.c
> index 72db278..e57b50e 100644
> --- a/net/802/mrp.c
> +++ b/net/802/mrp.c
> @@ -834,7 +834,7 @@ static void mrp_release_port(struct net_device *dev)
> if (rtnl_dereference(port->applicants[i]))
> return;
> }
> - RCU_INIT_POINTER(dev->mrp_port, NULL);
> + rcu_init_pointer(dev->mrp_port, NULL);
> kfree_rcu(port, rcu);
> }
>
> @@ -890,7 +890,7 @@ void mrp_uninit_applicant(struct net_device *dev,
> struct mrp_application *appl)
>
> ASSERT_RTNL();
>
> - RCU_INIT_POINTER(port->applicants[appl->type], NULL);
> + rcu_init_pointer(port->applicants[appl->type], NULL);
>
> /* Delete timer and generate a final TX event to flush out
> * all pending messages before the applicant is gone.
> diff --git a/net/802/stp.c b/net/802/stp.c
> index 2c40ba0..75c1a32 100644
> --- a/net/802/stp.c
> +++ b/net/802/stp.c
> @@ -89,9 +89,9 @@ void stp_proto_unregister(const struct stp_proto *proto)
> {
> mutex_lock(&stp_proto_mutex);
> if (is_zero_ether_addr(proto->group_address))
> - RCU_INIT_POINTER(stp_proto, NULL);
> + rcu_init_pointer(stp_proto, NULL);
> else
> - RCU_INIT_POINTER(garp_protos[proto->group_address[5] -
> + rcu_init_pointer(garp_protos[proto->group_address[5] -
> GARP_ADDR_MIN], NULL);
> synchronize_rcu();
>
> diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c
> index 3c32bd2..252d777 100644
> --- a/net/8021q/vlan_core.c
> +++ b/net/8021q/vlan_core.c
> @@ -343,7 +343,7 @@ void vlan_vid_del(struct net_device *dev, __be16
> proto, u16 vid)
> if (vid_info->refcount == 0) {
> __vlan_vid_del(vlan_info, vid_info);
> if (vlan_info->nr_vids == 0) {
> - RCU_INIT_POINTER(dev->vlan_info, NULL);
> + rcu_init_pointer(dev->vlan_info, NULL);
> call_rcu(&vlan_info->rcu, vlan_info_rcu_free);
> }
> }
> diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c
> index 4a37161..99ffd42 100644
> --- a/net/bridge/br_vlan.c
> +++ b/net/bridge/br_vlan.c
> @@ -99,9 +99,9 @@ static int __vlan_del(struct net_port_vlans *v, u16 vid)
> v->num_vlans--;
> if (bitmap_empty(v->vlan_bitmap, VLAN_N_VID)) {
> if (v->port_idx)
> - RCU_INIT_POINTER(v->parent.port->vlan_info, NULL);
> + rcu_init_pointer(v->parent.port->vlan_info, NULL);
> else
> - RCU_INIT_POINTER(v->parent.br->vlan_info, NULL);
> + rcu_init_pointer(v->parent.br->vlan_info, NULL);
> kfree_rcu(v, rcu);
> }
> return 0;
> @@ -113,9 +113,9 @@ static void __vlan_flush(struct net_port_vlans *v)
> v->pvid = 0;
> bitmap_zero(v->vlan_bitmap, VLAN_N_VID);
> if (v->port_idx)
> - RCU_INIT_POINTER(v->parent.port->vlan_info, NULL);
> + rcu_init_pointer(v->parent.port->vlan_info, NULL);
> else
> - RCU_INIT_POINTER(v->parent.br->vlan_info, NULL);
> + rcu_init_pointer(v->parent.br->vlan_info, NULL);
> kfree_rcu(v, rcu);
> }
>
> diff --git a/net/bridge/netfilter/ebtable_broute.c
> b/net/bridge/netfilter/ebtable_broute.c
> index d2cdf5d..13445ac 100644
> --- a/net/bridge/netfilter/ebtable_broute.c
> +++ b/net/bridge/netfilter/ebtable_broute.c
> @@ -83,14 +83,14 @@ static int __init ebtable_broute_init(void)
> if (ret < 0)
> return ret;
> /* see br_input.c */
> - RCU_INIT_POINTER(br_should_route_hook,
> + rcu_init_pointer(br_should_route_hook,
> (br_should_route_hook_t *)ebt_broute);
> return 0;
> }
>
> static void __exit ebtable_broute_fini(void)
> {
> - RCU_INIT_POINTER(br_should_route_hook, NULL);
> + rcu_init_pointer(br_should_route_hook, NULL);
> synchronize_net();
> unregister_pernet_subsys(&broute_net_ops);
> }
> diff --git a/net/caif/cfmuxl.c b/net/caif/cfmuxl.c
> index 8c5d638..15d5d6d 100644
> --- a/net/caif/cfmuxl.c
> +++ b/net/caif/cfmuxl.c
> @@ -108,7 +108,7 @@ struct cflayer *cfmuxl_remove_dnlayer(struct
> cflayer *layr, u8 phyid)
> int idx = phyid % DN_CACHE_SIZE;
>
> spin_lock_bh(&muxl->transmit_lock);
> - RCU_INIT_POINTER(muxl->dn_cache[idx], NULL);
> + rcu_init_pointer(muxl->dn_cache[idx], NULL);
> dn = get_from_id(&muxl->frml_list, phyid);
> if (dn == NULL)
> goto out;
> @@ -164,7 +164,7 @@ struct cflayer *cfmuxl_remove_uplayer(struct
> cflayer *layr, u8 id)
> if (up == NULL)
> goto out;
>
> - RCU_INIT_POINTER(muxl->up_cache[idx], NULL);
> + rcu_init_pointer(muxl->up_cache[idx], NULL);
> list_del_rcu(&up->node);
> out:
> spin_unlock_bh(&muxl->receive_lock);
> diff --git a/net/can/af_can.c b/net/can/af_can.c
> index a27f8aa..8df0f52 100644
> --- a/net/can/af_can.c
> +++ b/net/can/af_can.c
> @@ -761,7 +761,7 @@ int can_proto_register(const struct can_proto *cp)
> pr_err("can: protocol %d already registered\n", proto);
> err = -EBUSY;
> } else
> - RCU_INIT_POINTER(proto_tab[proto], cp);
> + rcu_init_pointer(proto_tab[proto], cp);
>
> mutex_unlock(&proto_tab_lock);
>
> @@ -782,7 +782,7 @@ void can_proto_unregister(const struct can_proto *cp)
>
> mutex_lock(&proto_tab_lock);
> BUG_ON(proto_tab[proto] != cp);
> - RCU_INIT_POINTER(proto_tab[proto], NULL);
> + rcu_init_pointer(proto_tab[proto], NULL);
> mutex_unlock(&proto_tab_lock);
>
> synchronize_rcu();
> diff --git a/net/core/dev.c b/net/core/dev.c
> index d2c8a06..a0a93bd 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -1836,7 +1836,7 @@ static struct xps_map *remove_xps_queue(struct
> xps_dev_maps *dev_maps,
> if (map->len > 1) {
> map->queues[pos] = map->queues[--map->len];
> } else {
> - RCU_INIT_POINTER(dev_maps->cpu_map[cpu], NULL);
> + rcu_init_pointer(dev_maps->cpu_map[cpu], NULL);
> kfree_rcu(map, rcu);
> map = NULL;
> }
> @@ -1869,7 +1869,7 @@ static void netif_reset_xps_queues_gt(struct
> net_device *dev, u16 index)
> }
>
> if (!active) {
> - RCU_INIT_POINTER(dev->xps_maps, NULL);
> + rcu_init_pointer(dev->xps_maps, NULL);
> kfree_rcu(dev_maps, rcu);
> }
>
> @@ -1948,7 +1948,7 @@ int netif_set_xps_queue(struct net_device *dev,
> const struct cpumask *mask,
> if (!map)
> goto error;
>
> - RCU_INIT_POINTER(new_dev_maps->cpu_map[cpu], map);
> + rcu_init_pointer(new_dev_maps->cpu_map[cpu], map);
> }
>
> if (!new_dev_maps)
> @@ -1974,7 +1974,7 @@ int netif_set_xps_queue(struct net_device *dev,
> const struct cpumask *mask,
> } else if (dev_maps) {
> /* fill in the new device map from the old device map */
> map = xmap_dereference(dev_maps->cpu_map[cpu]);
> - RCU_INIT_POINTER(new_dev_maps->cpu_map[cpu], map);
> + rcu_init_pointer(new_dev_maps->cpu_map[cpu], map);
> }
>
> }
> @@ -2016,7 +2016,7 @@ out_no_new_maps:
>
> /* free map if not active */
> if (!active) {
> - RCU_INIT_POINTER(dev->xps_maps, NULL);
> + rcu_init_pointer(dev->xps_maps, NULL);
> kfree_rcu(dev_maps, rcu);
> }
>
> @@ -3476,13 +3476,13 @@ void netdev_rx_handler_unregister(struct
> net_device *dev)
> {
>
> ASSERT_RTNL();
> - RCU_INIT_POINTER(dev->rx_handler, NULL);
> + rcu_init_pointer(dev->rx_handler, NULL);
> /* a reader seeing a non NULL rx_handler in a rcu_read_lock()
> * section has a guarantee to see a non NULL rx_handler_data
> * as well.
> */
> synchronize_net();
> - RCU_INIT_POINTER(dev->rx_handler_data, NULL);
> + rcu_init_pointer(dev->rx_handler_data, NULL);
> }
> EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
>
> diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
> index 185c341..e11fc01 100644
> --- a/net/core/fib_rules.c
> +++ b/net/core/fib_rules.c
> @@ -368,7 +368,7 @@ static int fib_nl_newrule(struct sk_buff *skb,
> struct nlmsghdr* nlh)
>
> list_for_each_entry(r, &ops->rules_list, list) {
> if (r->pref == rule->target) {
> - RCU_INIT_POINTER(rule->ctarget, r);
> + rcu_init_pointer(rule->ctarget, r);
> break;
> }
> }
> @@ -509,7 +509,7 @@ static int fib_nl_delrule(struct sk_buff *skb,
> struct nlmsghdr* nlh)
> if (ops->nr_goto_rules > 0) {
> list_for_each_entry(tmp, &ops->rules_list, list) {
> if (rtnl_dereference(tmp->ctarget) == rule) {
> - RCU_INIT_POINTER(tmp->ctarget, NULL);
> + rcu_init_pointer(tmp->ctarget, NULL);
> ops->unresolved_rules++;
> }
> }
> diff --git a/net/core/filter.c b/net/core/filter.c
> index cd58614..cb9125d 100644
> --- a/net/core/filter.c
> +++ b/net/core/filter.c
> @@ -1697,7 +1697,7 @@ int sk_detach_filter(struct sock *sk)
> filter = rcu_dereference_protected(sk->sk_filter,
> sock_owned_by_user(sk));
> if (filter) {
> - RCU_INIT_POINTER(sk->sk_filter, NULL);
> + rcu_init_pointer(sk->sk_filter, NULL);
> sk_filter_uncharge(sk, filter);
> ret = 0;
> }
> diff --git a/net/core/neighbour.c b/net/core/neighbour.c
> index 8f8a96e..73d7640 100644
> --- a/net/core/neighbour.c
> +++ b/net/core/neighbour.c
> @@ -1550,7 +1550,7 @@ static void neigh_table_init_no_netlink(struct
> neigh_table *tbl)
> panic("cannot create neighbour proc dir entry");
> #endif
>
> - RCU_INIT_POINTER(tbl->nht, neigh_hash_alloc(3));
> + rcu_init_pointer(tbl->nht, neigh_hash_alloc(3));
>
> phsize = (PNEIGH_HASHMASK + 1) * sizeof(struct pneigh_entry *);
> tbl->phash_buckets = kzalloc(phsize, GFP_KERNEL);
> diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
> index 1cac29e..cbbf952 100644
> --- a/net/core/net-sysfs.c
> +++ b/net/core/net-sysfs.c
> @@ -742,13 +742,13 @@ static void rx_queue_release(struct kobject *kobj)
>
> map = rcu_dereference_protected(queue->rps_map, 1);
> if (map) {
> - RCU_INIT_POINTER(queue->rps_map, NULL);
> + rcu_init_pointer(queue->rps_map, NULL);
> kfree_rcu(map, rcu);
> }
>
> flow_table = rcu_dereference_protected(queue->rps_flow_table, 1);
> if (flow_table) {
> - RCU_INIT_POINTER(queue->rps_flow_table, NULL);
> + rcu_init_pointer(queue->rps_flow_table, NULL);
> call_rcu(&flow_table->rcu, rps_dev_flow_table_release);
> }
> #endif
> diff --git a/net/core/netpoll.c b/net/core/netpoll.c
> index e33937f..496ba90 100644
> --- a/net/core/netpoll.c
> +++ b/net/core/netpoll.c
> @@ -820,7 +820,7 @@ void __netpoll_cleanup(struct netpoll *np)
> if (ops->ndo_netpoll_cleanup)
> ops->ndo_netpoll_cleanup(np->dev);
>
> - RCU_INIT_POINTER(np->dev->npinfo, NULL);
> + rcu_init_pointer(np->dev->npinfo, NULL);
> call_rcu_bh(&npinfo->rcu, rcu_cleanup_netpoll_info);
> }
> }
> diff --git a/net/core/netprio_cgroup.c b/net/core/netprio_cgroup.c
> index 3825f66..15c63ac 100644
> --- a/net/core/netprio_cgroup.c
> +++ b/net/core/netprio_cgroup.c
> @@ -266,7 +266,7 @@ static int netprio_device_event(struct
> notifier_block *unused,
> switch (event) {
> case NETDEV_UNREGISTER:
> old = rtnl_dereference(dev->priomap);
> - RCU_INIT_POINTER(dev->priomap, NULL);
> + rcu_init_pointer(dev->priomap, NULL);
> if (old)
> kfree_rcu(old, rcu);
> break;
> diff --git a/net/core/sock.c b/net/core/sock.c
> index b4fff00..ea565ba 100644
> --- a/net/core/sock.c
> +++ b/net/core/sock.c
> @@ -481,7 +481,7 @@ struct dst_entry *__sk_dst_check(struct sock *sk,
> u32 cookie)
>
> if (dst && dst->obsolete && dst->ops->check(dst, cookie) == NULL) {
> sk_tx_queue_clear(sk);
> - RCU_INIT_POINTER(sk->sk_dst_cache, NULL);
> + rcu_init_pointer(sk->sk_dst_cache, NULL);
> dst_release(dst);
> return NULL;
> }
> @@ -1365,7 +1365,7 @@ static void __sk_free(struct sock *sk)
> atomic_read(&sk->sk_wmem_alloc) == 0);
> if (filter) {
> sk_filter_uncharge(sk, filter);
> - RCU_INIT_POINTER(sk->sk_filter, NULL);
> + rcu_init_pointer(sk->sk_filter, NULL);
> }
>
> sock_disable_timestamp(sk, SK_FLAGS_TIMESTAMP);
> diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
> index cf9cd13..f3016f9 100644
> --- a/net/core/sysctl_net_core.c
> +++ b/net/core/sysctl_net_core.c
> @@ -118,7 +118,7 @@ static int flow_limit_cpu_sysctl(struct ctl_table
> *table, int write,
> cur = rcu_dereference_protected(sd->flow_limit,
> lockdep_is_held(&flow_limit_update_mutex));
> if (cur && !cpumask_test_cpu(i, mask)) {
> - RCU_INIT_POINTER(sd->flow_limit, NULL);
> + rcu_init_pointer(sd->flow_limit, NULL);
> synchronize_rcu();
> kfree(cur);
> } else if (!cur && cpumask_test_cpu(i, mask)) {
> diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c
> index a603823..1680884 100644
> --- a/net/decnet/dn_dev.c
> +++ b/net/decnet/dn_dev.c
> @@ -1100,7 +1100,7 @@ static struct dn_dev *dn_dev_create(struct
> net_device *dev, int *err)
>
> dn_db->neigh_parms = neigh_parms_alloc(dev, &dn_neigh_table);
> if (!dn_db->neigh_parms) {
> - RCU_INIT_POINTER(dev->dn_ptr, NULL);
> + rcu_init_pointer(dev->dn_ptr, NULL);
> kfree(dn_db);
> return NULL;
> }
> diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c
> index daccc4a..42d4bf0 100644
> --- a/net/decnet/dn_route.c
> +++ b/net/decnet/dn_route.c
> @@ -380,7 +380,7 @@ static void dn_run_flush(unsigned long dummy)
>
> for(; rt; rt = next) {
> next = rcu_dereference_raw(rt->dst.dn_next);
> - RCU_INIT_POINTER(rt->dst.dn_next, NULL);
> + rcu_init_pointer(rt->dst.dn_next, NULL);
> dst_free((struct dst_entry *)rt);
> }
>
> diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
> index bdbf68b..5e2891c 100644
> --- a/net/ipv4/devinet.c
> +++ b/net/ipv4/devinet.c
> @@ -294,7 +294,7 @@ static void inetdev_destroy(struct in_device *in_dev)
> inet_free_ifa(ifa);
> }
>
> - RCU_INIT_POINTER(dev->ip_ptr, NULL);
> + rcu_init_pointer(dev->ip_ptr, NULL);
>
> devinet_sysctl_unregister(in_dev);
> neigh_parms_release(&arp_tbl, in_dev->arp_parms);
> @@ -1367,7 +1367,7 @@ static int inetdev_event(struct notifier_block
> *this, unsigned long event,
> switch (event) {
> case NETDEV_REGISTER:
> pr_debug("%s: bug\n", __func__);
> - RCU_INIT_POINTER(dev->ip_ptr, NULL);
> + rcu_init_pointer(dev->ip_ptr, NULL);
> break;
> case NETDEV_UP:
> if (!inetdev_valid_mtu(dev->mtu))
> diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
> index 8a043f0..aadbeda 100644
> --- a/net/ipv4/fib_semantics.c
> +++ b/net/ipv4/fib_semantics.c
> @@ -147,7 +147,7 @@ static void rt_fibinfo_free(struct rtable __rcu **rtp)
> if (!rt)
> return;
>
> - /* Not even needed : RCU_INIT_POINTER(*rtp, NULL);
> + /* Not even needed : rcu_init_pointer(*rtp, NULL);
> * because we waited an RCU grace period before calling
> * free_fib_info_rcu()
> */
> diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c
> index 5afeb5a..b632346 100644
> --- a/net/ipv4/fib_trie.c
> +++ b/net/ipv4/fib_trie.c
> @@ -1602,7 +1602,7 @@ static void trie_leaf_remove(struct trie *t,
> struct leaf *l)
> put_child(tp, cindex, NULL);
> trie_rebalance(t, tp);
> } else
> - RCU_INIT_POINTER(t->trie, NULL);
> + rcu_init_pointer(t->trie, NULL);
>
> free_leaf(l);
> }
> diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
> index 97e4d16..54122f1 100644
> --- a/net/ipv4/igmp.c
> +++ b/net/ipv4/igmp.c
> @@ -1276,7 +1276,7 @@ static void ip_mc_hash_add(struct in_device *in_dev,
> for_each_pmc_rtnl(in_dev, im) {
> hash = ip_mc_hash(im);
> im->next_hash = mc_hash[hash];
> - RCU_INIT_POINTER(mc_hash[hash], im);
> + rcu_init_pointer(mc_hash[hash], im);
> }
>
> rcu_assign_pointer(in_dev->mc_hash, mc_hash);
> @@ -1928,7 +1928,7 @@ static int ip_mc_leave_src(struct sock *sk,
> struct ip_mc_socklist *iml,
> }
> err = ip_mc_del_src(in_dev, &iml->multi.imr_multiaddr.s_addr,
> iml->sfmode, psf->sl_count, psf->sl_addr, 0);
> - RCU_INIT_POINTER(iml->sflist, NULL);
> + rcu_init_pointer(iml->sflist, NULL);
> /* decrease mem now to avoid the memleak warning */
> atomic_sub(IP_SFLSIZE(psf->sl_max), &sk->sk_omem_alloc);
> kfree_rcu(psf, rcu);
> diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c
> index 48f4244..3983400 100644
> --- a/net/ipv4/inetpeer.c
> +++ b/net/ipv4/inetpeer.c
> @@ -309,26 +309,26 @@ static void peer_avl_rebalance(struct inet_peer
> __rcu **stack[],
> lr = rcu_deref_locked(l->avl_right, base);
> lrh = node_height(lr);
> if (lrh <= node_height(ll)) { /* ll: RH+1 */
> - RCU_INIT_POINTER(node->avl_left, lr); /* lr: RH or RH+1 */
> - RCU_INIT_POINTER(node->avl_right, r); /* r: RH */
> + rcu_init_pointer(node->avl_left, lr); /* lr: RH or RH+1 */
> + rcu_init_pointer(node->avl_right, r); /* r: RH */
> node->avl_height = lrh + 1; /* RH+1 or RH+2 */
> - RCU_INIT_POINTER(l->avl_left, ll); /* ll: RH+1 */
> - RCU_INIT_POINTER(l->avl_right, node); /* node:
> RH+1 or RH+2 */
> + rcu_init_pointer(l->avl_left, ll); /* ll: RH+1 */
> + rcu_init_pointer(l->avl_right, node); /* node:
> RH+1 or RH+2 */
> l->avl_height = node->avl_height + 1;
> - RCU_INIT_POINTER(*nodep, l);
> + rcu_init_pointer(*nodep, l);
> } else { /* ll: RH, lr: RH+1 */
> lrl = rcu_deref_locked(lr->avl_left, base);/* lrl: RH
> or RH-1 */
> lrr = rcu_deref_locked(lr->avl_right, base);/* lrr:
> RH or RH-1 */
> - RCU_INIT_POINTER(node->avl_left, lrr); /* lrr: RH or RH-1 */
> - RCU_INIT_POINTER(node->avl_right, r); /* r: RH */
> + rcu_init_pointer(node->avl_left, lrr); /* lrr: RH or RH-1 */
> + rcu_init_pointer(node->avl_right, r); /* r: RH */
> node->avl_height = rh + 1; /* node: RH+1 */
> - RCU_INIT_POINTER(l->avl_left, ll); /* ll: RH */
> - RCU_INIT_POINTER(l->avl_right, lrl); /* lrl: RH or RH-1 */
> + rcu_init_pointer(l->avl_left, ll); /* ll: RH */
> + rcu_init_pointer(l->avl_right, lrl); /* lrl: RH or RH-1 */
> l->avl_height = rh + 1; /* l: RH+1 */
> - RCU_INIT_POINTER(lr->avl_left, l); /* l: RH+1 */
> - RCU_INIT_POINTER(lr->avl_right, node); /* node: RH+1 */
> + rcu_init_pointer(lr->avl_left, l); /* l: RH+1 */
> + rcu_init_pointer(lr->avl_right, node); /* node: RH+1 */
> lr->avl_height = rh + 2;
> - RCU_INIT_POINTER(*nodep, lr);
> + rcu_init_pointer(*nodep, lr);
> }
> } else if (rh > lh + 1) { /* r: LH+2 */
> struct inet_peer *rr, *rl, *rlr, *rll;
> @@ -337,26 +337,26 @@ static void peer_avl_rebalance(struct inet_peer
> __rcu **stack[],
> rl = rcu_deref_locked(r->avl_left, base);
> rlh = node_height(rl);
> if (rlh <= node_height(rr)) { /* rr: LH+1 */
> - RCU_INIT_POINTER(node->avl_right, rl); /* rl: LH or LH+1 */
> - RCU_INIT_POINTER(node->avl_left, l); /* l: LH */
> + rcu_init_pointer(node->avl_right, rl); /* rl: LH or LH+1 */
> + rcu_init_pointer(node->avl_left, l); /* l: LH */
> node->avl_height = rlh + 1; /* LH+1 or LH+2 */
> - RCU_INIT_POINTER(r->avl_right, rr); /* rr: LH+1 */
> - RCU_INIT_POINTER(r->avl_left, node); /* node: LH+1
> or LH+2 */
> + rcu_init_pointer(r->avl_right, rr); /* rr: LH+1 */
> + rcu_init_pointer(r->avl_left, node); /* node: LH+1
> or LH+2 */
> r->avl_height = node->avl_height + 1;
> - RCU_INIT_POINTER(*nodep, r);
> + rcu_init_pointer(*nodep, r);
> } else { /* rr: RH, rl: RH+1 */
> rlr = rcu_deref_locked(rl->avl_right, base);/* rlr:
> LH or LH-1 */
> rll = rcu_deref_locked(rl->avl_left, base);/* rll: LH
> or LH-1 */
> - RCU_INIT_POINTER(node->avl_right, rll); /* rll: LH
> or LH-1 */
> - RCU_INIT_POINTER(node->avl_left, l); /* l: LH */
> + rcu_init_pointer(node->avl_right, rll); /* rll: LH
> or LH-1 */
> + rcu_init_pointer(node->avl_left, l); /* l: LH */
> node->avl_height = lh + 1; /* node: LH+1 */
> - RCU_INIT_POINTER(r->avl_right, rr); /* rr: LH */
> - RCU_INIT_POINTER(r->avl_left, rlr); /* rlr: LH or LH-1 */
> + rcu_init_pointer(r->avl_right, rr); /* rr: LH */
> + rcu_init_pointer(r->avl_left, rlr); /* rlr: LH or LH-1 */
> r->avl_height = lh + 1; /* r: LH+1 */
> - RCU_INIT_POINTER(rl->avl_right, r); /* r: LH+1 */
> - RCU_INIT_POINTER(rl->avl_left, node); /* node: LH+1 */
> + rcu_init_pointer(rl->avl_right, r); /* r: LH+1 */
> + rcu_init_pointer(rl->avl_left, node); /* node: LH+1 */
> rl->avl_height = lh + 2;
> - RCU_INIT_POINTER(*nodep, rl);
> + rcu_init_pointer(*nodep, rl);
> }
> } else {
> node->avl_height = (lh > rh ? lh : rh) + 1;
> @@ -400,7 +400,7 @@ static void unlink_from_pool(struct inet_peer *p,
> struct inet_peer_base *base,
> /* t is removed, t->daddr > x->daddr for any
> * x in p->avl_left subtree.
> * Put t in the old place of p. */
> - RCU_INIT_POINTER(*delp[0], t);
> + rcu_init_pointer(*delp[0], t);
> t->avl_left = p->avl_left;
> t->avl_right = p->avl_right;
> t->avl_height = p->avl_height;
> diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
> index d84dc8d..19700ee 100644
> --- a/net/ipv4/ipmr.c
> +++ b/net/ipv4/ipmr.c
> @@ -1253,7 +1253,7 @@ static void mrtsock_destruct(struct sock *sk)
> inet_netconf_notify_devconf(net, NETCONFA_MC_FORWARDING,
> NETCONFA_IFINDEX_ALL,
> net->ipv4.devconf_all);
> - RCU_INIT_POINTER(mrt->mroute_sk, NULL);
> + rcu_init_pointer(mrt->mroute_sk, NULL);
> mroute_clean_tables(mrt);
> }
> }
> diff --git a/net/ipv4/netfilter/nf_nat_h323.c b/net/ipv4/netfilter/nf_nat_h323.c
> index 574f7eb..c927fb1 100644
> --- a/net/ipv4/netfilter/nf_nat_h323.c
> +++ b/net/ipv4/netfilter/nf_nat_h323.c
> @@ -590,15 +590,15 @@ static int __init init(void)
> BUG_ON(nat_callforwarding_hook != NULL);
> BUG_ON(nat_q931_hook != NULL);
>
> - RCU_INIT_POINTER(set_h245_addr_hook, set_h245_addr);
> - RCU_INIT_POINTER(set_h225_addr_hook, set_h225_addr);
> - RCU_INIT_POINTER(set_sig_addr_hook, set_sig_addr);
> - RCU_INIT_POINTER(set_ras_addr_hook, set_ras_addr);
> - RCU_INIT_POINTER(nat_rtp_rtcp_hook, nat_rtp_rtcp);
> - RCU_INIT_POINTER(nat_t120_hook, nat_t120);
> - RCU_INIT_POINTER(nat_h245_hook, nat_h245);
> - RCU_INIT_POINTER(nat_callforwarding_hook, nat_callforwarding);
> - RCU_INIT_POINTER(nat_q931_hook, nat_q931);
> + rcu_init_pointer(set_h245_addr_hook, set_h245_addr);
> + rcu_init_pointer(set_h225_addr_hook, set_h225_addr);
> + rcu_init_pointer(set_sig_addr_hook, set_sig_addr);
> + rcu_init_pointer(set_ras_addr_hook, set_ras_addr);
> + rcu_init_pointer(nat_rtp_rtcp_hook, nat_rtp_rtcp);
> + rcu_init_pointer(nat_t120_hook, nat_t120);
> + rcu_init_pointer(nat_h245_hook, nat_h245);
> + rcu_init_pointer(nat_callforwarding_hook, nat_callforwarding);
> + rcu_init_pointer(nat_q931_hook, nat_q931);
> nf_ct_helper_expectfn_register(&q931_nat);
> nf_ct_helper_expectfn_register(&callforwarding_nat);
> return 0;
> @@ -607,15 +607,15 @@ static int __init init(void)
> /****************************************************************************/
> static void __exit fini(void)
> {
> - RCU_INIT_POINTER(set_h245_addr_hook, NULL);
> - RCU_INIT_POINTER(set_h225_addr_hook, NULL);
> - RCU_INIT_POINTER(set_sig_addr_hook, NULL);
> - RCU_INIT_POINTER(set_ras_addr_hook, NULL);
> - RCU_INIT_POINTER(nat_rtp_rtcp_hook, NULL);
> - RCU_INIT_POINTER(nat_t120_hook, NULL);
> - RCU_INIT_POINTER(nat_h245_hook, NULL);
> - RCU_INIT_POINTER(nat_callforwarding_hook, NULL);
> - RCU_INIT_POINTER(nat_q931_hook, NULL);
> + rcu_init_pointer(set_h245_addr_hook, NULL);
> + rcu_init_pointer(set_h225_addr_hook, NULL);
> + rcu_init_pointer(set_sig_addr_hook, NULL);
> + rcu_init_pointer(set_ras_addr_hook, NULL);
> + rcu_init_pointer(nat_rtp_rtcp_hook, NULL);
> + rcu_init_pointer(nat_t120_hook, NULL);
> + rcu_init_pointer(nat_h245_hook, NULL);
> + rcu_init_pointer(nat_callforwarding_hook, NULL);
> + rcu_init_pointer(nat_q931_hook, NULL);
> nf_ct_helper_expectfn_unregister(&q931_nat);
> nf_ct_helper_expectfn_unregister(&callforwarding_nat);
> synchronize_rcu();
> diff --git a/net/ipv4/netfilter/nf_nat_pptp.c b/net/ipv4/netfilter/nf_nat_pptp.c
> index 657d230..63b58b2 100644
> --- a/net/ipv4/netfilter/nf_nat_pptp.c
> +++ b/net/ipv4/netfilter/nf_nat_pptp.c
> @@ -285,25 +285,25 @@ static int __init nf_nat_helper_pptp_init(void)
> nf_nat_need_gre();
>
> BUG_ON(nf_nat_pptp_hook_outbound != NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_outbound, pptp_outbound_pkt);
> + rcu_init_pointer(nf_nat_pptp_hook_outbound, pptp_outbound_pkt);
>
> BUG_ON(nf_nat_pptp_hook_inbound != NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_inbound, pptp_inbound_pkt);
> + rcu_init_pointer(nf_nat_pptp_hook_inbound, pptp_inbound_pkt);
>
> BUG_ON(nf_nat_pptp_hook_exp_gre != NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_exp_gre, pptp_exp_gre);
> + rcu_init_pointer(nf_nat_pptp_hook_exp_gre, pptp_exp_gre);
>
> BUG_ON(nf_nat_pptp_hook_expectfn != NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_expectfn, pptp_nat_expected);
> + rcu_init_pointer(nf_nat_pptp_hook_expectfn, pptp_nat_expected);
> return 0;
> }
>
> static void __exit nf_nat_helper_pptp_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_pptp_hook_expectfn, NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_exp_gre, NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_inbound, NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_outbound, NULL);
> + rcu_init_pointer(nf_nat_pptp_hook_expectfn, NULL);
> + rcu_init_pointer(nf_nat_pptp_hook_exp_gre, NULL);
> + rcu_init_pointer(nf_nat_pptp_hook_inbound, NULL);
> + rcu_init_pointer(nf_nat_pptp_hook_outbound, NULL);
> synchronize_rcu();
> }
>
> diff --git a/net/ipv4/netfilter/nf_nat_snmp_basic.c
> b/net/ipv4/netfilter/nf_nat_snmp_basic.c
> index 7c67667..9b786d1 100644
> --- a/net/ipv4/netfilter/nf_nat_snmp_basic.c
> +++ b/net/ipv4/netfilter/nf_nat_snmp_basic.c
> @@ -1291,7 +1291,7 @@ static int __init nf_nat_snmp_basic_init(void)
> int ret = 0;
>
> BUG_ON(nf_nat_snmp_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_snmp_hook, help);
> + rcu_init_pointer(nf_nat_snmp_hook, help);
>
> ret = nf_conntrack_helper_register(&snmp_trap_helper);
> if (ret < 0) {
> @@ -1303,7 +1303,7 @@ static int __init nf_nat_snmp_basic_init(void)
>
> static void __exit nf_nat_snmp_basic_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_snmp_hook, NULL);
> + rcu_init_pointer(nf_nat_snmp_hook, NULL);
> nf_conntrack_helper_unregister(&snmp_trap_helper);
> }
>
> diff --git a/net/ipv4/route.c b/net/ipv4/route.c
> index db1e0da..186ff04 100644
> --- a/net/ipv4/route.c
> +++ b/net/ipv4/route.c
> @@ -563,12 +563,12 @@ static void fnhe_flush_routes(struct
> fib_nh_exception *fnhe)
>
> rt = rcu_dereference(fnhe->fnhe_rth_input);
> if (rt) {
> - RCU_INIT_POINTER(fnhe->fnhe_rth_input, NULL);
> + rcu_init_pointer(fnhe->fnhe_rth_input, NULL);
> rt_free(rt);
> }
> rt = rcu_dereference(fnhe->fnhe_rth_output);
> if (rt) {
> - RCU_INIT_POINTER(fnhe->fnhe_rth_output, NULL);
> + rcu_init_pointer(fnhe->fnhe_rth_output, NULL);
> rt_free(rt);
> }
> }
> diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
> index 6c7fa08..563a9e4 100644
> --- a/net/ipv6/addrconf.c
> +++ b/net/ipv6/addrconf.c
> @@ -3017,7 +3017,7 @@ static int addrconf_ifdown(struct net_device
> *dev, int how)
> idev->dead = 1;
>
> /* protected by rtnl_lock */
> - RCU_INIT_POINTER(dev->ip6_ptr, NULL);
> + rcu_init_pointer(dev->ip6_ptr, NULL);
>
> /* Step 1.5: remove snmp6 entry */
> snmp6_unregister_dev(idev);
> diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
> index b05b609..652e28a 100644
> --- a/net/ipv6/ip6_tunnel.c
> +++ b/net/ipv6/ip6_tunnel.c
> @@ -386,7 +386,7 @@ ip6_tnl_dev_uninit(struct net_device *dev)
> struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id);
>
> if (dev == ip6n->fb_tnl_dev)
> - RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
> + rcu_init_pointer(ip6n->tnls_wc[0], NULL);
> else
> ip6_tnl_unlink(ip6n, t);
> ip6_tnl_dst_reset(t);
> diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c
> index b7c0f82..bff37b3 100644
> --- a/net/ipv6/ip6_vti.c
> +++ b/net/ipv6/ip6_vti.c
> @@ -275,7 +275,7 @@ static void vti6_dev_uninit(struct net_device *dev)
> struct vti6_net *ip6n = net_generic(net, vti6_net_id);
>
> if (dev == ip6n->fb_tnl_dev)
> - RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
> + rcu_init_pointer(ip6n->tnls_wc[0], NULL);
> else
> vti6_tnl_unlink(ip6n, t);
> dev_put(dev);
> diff --git a/net/ipv6/netfilter.c b/net/ipv6/netfilter.c
> index 95f3f1d..88d73a1 100644
> --- a/net/ipv6/netfilter.c
> +++ b/net/ipv6/netfilter.c
> @@ -203,7 +203,7 @@ static const struct nf_afinfo nf_ip6_afinfo = {
>
> int __init ipv6_netfilter_init(void)
> {
> - RCU_INIT_POINTER(nf_ipv6_ops, &ipv6ops);
> + rcu_init_pointer(nf_ipv6_ops, &ipv6ops);
> return nf_register_afinfo(&nf_ip6_afinfo);
> }
>
> @@ -212,6 +212,6 @@ int __init ipv6_netfilter_init(void)
> */
> void ipv6_netfilter_fini(void)
> {
> - RCU_INIT_POINTER(nf_ipv6_ops, NULL);
> + rcu_init_pointer(nf_ipv6_ops, NULL);
> nf_unregister_afinfo(&nf_ip6_afinfo);
> }
> diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
> index 1f29996..594ac2f 100644
> --- a/net/ipv6/raw.c
> +++ b/net/ipv6/raw.c
> @@ -140,7 +140,7 @@ EXPORT_SYMBOL(rawv6_mh_filter_register);
>
> int rawv6_mh_filter_unregister(mh_filter_t filter)
> {
> - RCU_INIT_POINTER(mh_filter, NULL);
> + rcu_init_pointer(mh_filter, NULL);
> synchronize_rcu();
> return 0;
> }
> diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
> index e5a453c..bbde433 100644
> --- a/net/ipv6/sit.c
> +++ b/net/ipv6/sit.c
> @@ -470,7 +470,7 @@ static void ipip6_tunnel_uninit(struct net_device *dev)
> struct sit_net *sitn = net_generic(tunnel->net, sit_net_id);
>
> if (dev == sitn->fb_tunnel_dev) {
> - RCU_INIT_POINTER(sitn->tunnels_wc[0], NULL);
> + rcu_init_pointer(sitn->tunnels_wc[0], NULL);
> } else {
> ipip6_tunnel_unlink(sitn, tunnel);
> ipip6_tunnel_del_prl(tunnel, NULL);
> diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
> index 31bf258..22d4d35 100644
> --- a/net/mac80211/agg-rx.c
> +++ b/net/mac80211/agg-rx.c
> @@ -72,7 +72,7 @@ void ___ieee80211_stop_rx_ba_session(struct sta_info
> *sta, u16 tid,
> if (!tid_rx)
> return;
>
> - RCU_INIT_POINTER(sta->ampdu_mlme.tid_rx[tid], NULL);
> + rcu_init_pointer(sta->ampdu_mlme.tid_rx[tid], NULL);
>
> ht_dbg(sta->sdata,
> "Rx BA session stop requested for %pM tid %u %s reason: %d\n",
> diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
> index aaa59d7..3839764 100644
> --- a/net/mac80211/cfg.c
> +++ b/net/mac80211/cfg.c
> @@ -64,7 +64,7 @@ static int ieee80211_change_iface(struct wiphy *wiphy,
>
> if (type == NL80211_IFTYPE_AP_VLAN &&
> params && params->use_4addr == 0)
> - RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
> + rcu_init_pointer(sdata->u.vlan.sta, NULL);
> else if (type == NL80211_IFTYPE_STATION &&
> params && params->use_4addr >= 0)
> sdata->u.mgd.use_4addr = params->use_4addr;
> @@ -1033,7 +1033,7 @@ static int ieee80211_start_ap(struct wiphy
> *wiphy, struct net_device *dev,
>
> if (old)
> kfree_rcu(old, rcu_head);
> - RCU_INIT_POINTER(sdata->u.ap.beacon, NULL);
> + rcu_init_pointer(sdata->u.ap.beacon, NULL);
> ieee80211_vif_release_channel(sdata);
> return err;
> }
> @@ -1102,8 +1102,8 @@ static int ieee80211_stop_ap(struct wiphy
> *wiphy, struct net_device *dev)
> netif_carrier_off(dev);
>
> /* remove beacon and probe response */
> - RCU_INIT_POINTER(sdata->u.ap.beacon, NULL);
> - RCU_INIT_POINTER(sdata->u.ap.probe_resp, NULL);
> + rcu_init_pointer(sdata->u.ap.beacon, NULL);
> + rcu_init_pointer(sdata->u.ap.probe_resp, NULL);
> kfree_rcu(old_beacon, rcu_head);
> if (old_probe_resp)
> kfree_rcu(old_probe_resp, rcu_head);
> diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
> index 06d2878..bd477c2 100644
> --- a/net/mac80211/ibss.c
> +++ b/net/mac80211/ibss.c
> @@ -365,7 +365,7 @@ static void __ieee80211_sta_join_ibss(struct
> ieee80211_sub_if_data *sdata,
> sdata->vif.bss_conf.ibss_creator = false;
> sdata->vif.bss_conf.enable_beacon = false;
> sdata->vif.bss_conf.ssid_len = 0;
> - RCU_INIT_POINTER(ifibss->presp, NULL);
> + rcu_init_pointer(ifibss->presp, NULL);
> kfree_rcu(presp, rcu_head);
> mutex_lock(&local->mtx);
> ieee80211_vif_release_channel(sdata);
> @@ -735,7 +735,7 @@ static void ieee80211_ibss_disconnect(struct
> ieee80211_sub_if_data *sdata)
> /* remove beacon */
> presp = rcu_dereference_protected(ifibss->presp,
> lockdep_is_held(&sdata->wdev.mtx));
> - RCU_INIT_POINTER(sdata->u.ibss.presp, NULL);
> + rcu_init_pointer(sdata->u.ibss.presp, NULL);
> if (presp)
> kfree_rcu(presp, rcu_head);
>
> diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
> index f70e9cd..9271537 100644
> --- a/net/mac80211/mesh.c
> +++ b/net/mac80211/mesh.c
> @@ -1341,7 +1341,7 @@ void ieee80211_mesh_init_sdata(struct
> ieee80211_sub_if_data *sdata)
> skb_queue_head_init(&ifmsh->ps.bc_buf);
> spin_lock_init(&ifmsh->mesh_preq_queue_lock);
> spin_lock_init(&ifmsh->sync_offset_lock);
> - RCU_INIT_POINTER(ifmsh->beacon, NULL);
> + rcu_init_pointer(ifmsh->beacon, NULL);
>
> sdata->vif.bss_conf.bssid = zero_addr;
> }
> diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c
> index 7d050ed..5db5430 100644
> --- a/net/mac80211/mesh_pathtbl.c
> +++ b/net/mac80211/mesh_pathtbl.c
> @@ -1068,8 +1068,8 @@ int mesh_pathtbl_init(void)
> INIT_HLIST_HEAD(tbl_mpp->known_gates);
>
> /* Need no locking since this is during init */
> - RCU_INIT_POINTER(mesh_paths, tbl_path);
> - RCU_INIT_POINTER(mpp_paths, tbl_mpp);
> + rcu_init_pointer(mesh_paths, tbl_path);
> + rcu_init_pointer(mpp_paths, tbl_mpp);
>
> return 0;
>
> diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
> index 137a192..0d2c0bf 100644
> --- a/net/mac80211/sta_info.c
> +++ b/net/mac80211/sta_info.c
> @@ -860,7 +860,7 @@ static int __must_check
> __sta_info_destroy_part1(struct sta_info *sta)
>
> if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
> rcu_access_pointer(sdata->u.vlan.sta) == sta)
> - RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
> + rcu_init_pointer(sdata->u.vlan.sta, NULL);
>
> return 0;
> }
> diff --git a/net/netfilter/core.c b/net/netfilter/core.c
> index 1fbab0c..5f88a73 100644
> --- a/net/netfilter/core.c
> +++ b/net/netfilter/core.c
> @@ -40,7 +40,7 @@ int nf_register_afinfo(const struct nf_afinfo *afinfo)
> err = mutex_lock_interruptible(&afinfo_mutex);
> if (err < 0)
> return err;
> - RCU_INIT_POINTER(nf_afinfo[afinfo->family], afinfo);
> + rcu_init_pointer(nf_afinfo[afinfo->family], afinfo);
> mutex_unlock(&afinfo_mutex);
> return 0;
> }
> @@ -49,7 +49,7 @@ EXPORT_SYMBOL_GPL(nf_register_afinfo);
> void nf_unregister_afinfo(const struct nf_afinfo *afinfo)
> {
> mutex_lock(&afinfo_mutex);
> - RCU_INIT_POINTER(nf_afinfo[afinfo->family], NULL);
> + rcu_init_pointer(nf_afinfo[afinfo->family], NULL);
> mutex_unlock(&afinfo_mutex);
> synchronize_rcu();
> }
> diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
> index c42e83d..e8b609d 100644
> --- a/net/netfilter/ipvs/ip_vs_ctl.c
> +++ b/net/netfilter/ipvs/ip_vs_ctl.c
> @@ -641,7 +641,7 @@ static void __ip_vs_dst_cache_reset(struct ip_vs_dest *dest)
>
> old = rcu_dereference_protected(dest->dest_dst, 1);
> if (old) {
> - RCU_INIT_POINTER(dest->dest_dst, NULL);
> + rcu_init_pointer(dest->dest_dst, NULL);
> call_rcu(&old->rcu_head, ip_vs_dest_dst_rcu_free);
> }
> }
> @@ -1221,7 +1221,7 @@ ip_vs_add_service(struct net *net, struct
> ip_vs_service_user_kern *u,
> sched = NULL;
>
> /* Bind the ct retriever */
> - RCU_INIT_POINTER(svc->pe, pe);
> + rcu_init_pointer(svc->pe, pe);
> pe = NULL;
>
> /* Update the virtual service counters */
> diff --git a/net/netfilter/ipvs/ip_vs_dh.c b/net/netfilter/ipvs/ip_vs_dh.c
> index c3b8454..6cd09c1 100644
> --- a/net/netfilter/ipvs/ip_vs_dh.c
> +++ b/net/netfilter/ipvs/ip_vs_dh.c
> @@ -115,14 +115,14 @@ ip_vs_dh_reassign(struct ip_vs_dh_state *s,
> struct ip_vs_service *svc)
> if (dest)
> ip_vs_dest_put(dest);
> if (empty)
> - RCU_INIT_POINTER(b->dest, NULL);
> + rcu_init_pointer(b->dest, NULL);
> else {
> if (p == &svc->destinations)
> p = p->next;
>
> dest = list_entry(p, struct ip_vs_dest, n_list);
> ip_vs_dest_hold(dest);
> - RCU_INIT_POINTER(b->dest, dest);
> + rcu_init_pointer(b->dest, dest);
>
> p = p->next;
> }
> @@ -146,7 +146,7 @@ static void ip_vs_dh_flush(struct ip_vs_dh_state *s)
> dest = rcu_dereference_protected(b->dest, 1);
> if (dest) {
> ip_vs_dest_put(dest);
> - RCU_INIT_POINTER(b->dest, NULL);
> + rcu_init_pointer(b->dest, NULL);
> }
> b++;
> }
> diff --git a/net/netfilter/ipvs/ip_vs_sh.c b/net/netfilter/ipvs/ip_vs_sh.c
> index cc65b2f..6a3e885 100644
> --- a/net/netfilter/ipvs/ip_vs_sh.c
> +++ b/net/netfilter/ipvs/ip_vs_sh.c
> @@ -182,14 +182,14 @@ ip_vs_sh_reassign(struct ip_vs_sh_state *s,
> struct ip_vs_service *svc)
> if (dest)
> ip_vs_dest_put(dest);
> if (empty)
> - RCU_INIT_POINTER(b->dest, NULL);
> + rcu_init_pointer(b->dest, NULL);
> else {
> if (p == &svc->destinations)
> p = p->next;
>
> dest = list_entry(p, struct ip_vs_dest, n_list);
> ip_vs_dest_hold(dest);
> - RCU_INIT_POINTER(b->dest, dest);
> + rcu_init_pointer(b->dest, dest);
>
> IP_VS_DBG_BUF(6, "assigned i: %d dest: %s weight: %d\n",
> i, IP_VS_DBG_ADDR(svc->af, &dest->addr),
> @@ -222,7 +222,7 @@ static void ip_vs_sh_flush(struct ip_vs_sh_state *s)
> dest = rcu_dereference_protected(b->dest, 1);
> if (dest) {
> ip_vs_dest_put(dest);
> - RCU_INIT_POINTER(b->dest, NULL);
> + rcu_init_pointer(b->dest, NULL);
> }
> b++;
> }
> diff --git a/net/netfilter/nf_conntrack_core.c
> b/net/netfilter/nf_conntrack_core.c
> index 75421f2..57e1308 100644
> --- a/net/netfilter/nf_conntrack_core.c
> +++ b/net/netfilter/nf_conntrack_core.c
> @@ -1498,12 +1498,12 @@ static int untrack_refs(void)
>
> void nf_conntrack_cleanup_start(void)
> {
> - RCU_INIT_POINTER(ip_ct_attach, NULL);
> + rcu_init_pointer(ip_ct_attach, NULL);
> }
>
> void nf_conntrack_cleanup_end(void)
> {
> - RCU_INIT_POINTER(nf_ct_destroy, NULL);
> + rcu_init_pointer(nf_ct_destroy, NULL);
> while (untrack_refs() > 0)
> schedule();
>
> @@ -1778,8 +1778,8 @@ err_expect:
> void nf_conntrack_init_end(void)
> {
> /* For use by REJECT target */
> - RCU_INIT_POINTER(ip_ct_attach, nf_conntrack_attach);
> - RCU_INIT_POINTER(nf_ct_destroy, destroy_conntrack);
> + rcu_init_pointer(ip_ct_attach, nf_conntrack_attach);
> + rcu_init_pointer(nf_ct_destroy, destroy_conntrack);
> }
>
> /*
> diff --git a/net/netfilter/nf_conntrack_ecache.c
> b/net/netfilter/nf_conntrack_ecache.c
> index 1df1761..30ba3b0 100644
> --- a/net/netfilter/nf_conntrack_ecache.c
> +++ b/net/netfilter/nf_conntrack_ecache.c
> @@ -114,7 +114,7 @@ void nf_conntrack_unregister_notifier(struct net *net,
> notify = rcu_dereference_protected(net->ct.nf_conntrack_event_cb,
> lockdep_is_held(&nf_ct_ecache_mutex));
> BUG_ON(notify != new);
> - RCU_INIT_POINTER(net->ct.nf_conntrack_event_cb, NULL);
> + rcu_init_pointer(net->ct.nf_conntrack_event_cb, NULL);
> mutex_unlock(&nf_ct_ecache_mutex);
> }
> EXPORT_SYMBOL_GPL(nf_conntrack_unregister_notifier);
> @@ -150,7 +150,7 @@ void nf_ct_expect_unregister_notifier(struct net *net,
> notify = rcu_dereference_protected(net->ct.nf_expect_event_cb,
> lockdep_is_held(&nf_ct_ecache_mutex));
> BUG_ON(notify != new);
> - RCU_INIT_POINTER(net->ct.nf_expect_event_cb, NULL);
> + rcu_init_pointer(net->ct.nf_expect_event_cb, NULL);
> mutex_unlock(&nf_ct_ecache_mutex);
> }
> EXPORT_SYMBOL_GPL(nf_ct_expect_unregister_notifier);
> diff --git a/net/netfilter/nf_conntrack_extend.c
> b/net/netfilter/nf_conntrack_extend.c
> index 1a95459..bbbea59b 100644
> --- a/net/netfilter/nf_conntrack_extend.c
> +++ b/net/netfilter/nf_conntrack_extend.c
> @@ -183,7 +183,7 @@ EXPORT_SYMBOL_GPL(nf_ct_extend_register);
> void nf_ct_extend_unregister(struct nf_ct_ext_type *type)
> {
> mutex_lock(&nf_ct_ext_type_mutex);
> - RCU_INIT_POINTER(nf_ct_ext_types[type->id], NULL);
> + rcu_init_pointer(nf_ct_ext_types[type->id], NULL);
> update_alloc_size(type);
> mutex_unlock(&nf_ct_ext_type_mutex);
> rcu_barrier(); /* Wait for completion of call_rcu()'s */
> diff --git a/net/netfilter/nf_conntrack_helper.c
> b/net/netfilter/nf_conntrack_helper.c
> index 5b3eae7..a4dce7f 100644
> --- a/net/netfilter/nf_conntrack_helper.c
> +++ b/net/netfilter/nf_conntrack_helper.c
> @@ -222,7 +222,7 @@ int __nf_ct_try_assign_helper(struct nf_conn *ct,
> struct nf_conn *tmpl,
>
> if (helper == NULL) {
> if (help)
> - RCU_INIT_POINTER(help->helper, NULL);
> + rcu_init_pointer(help->helper, NULL);
> goto out;
> }
>
> @@ -239,7 +239,7 @@ int __nf_ct_try_assign_helper(struct nf_conn *ct,
> struct nf_conn *tmpl,
> struct nf_conntrack_helper *tmp = rcu_dereference(help->helper);
>
> if (tmp && tmp->help != helper->help) {
> - RCU_INIT_POINTER(help->helper, NULL);
> + rcu_init_pointer(help->helper, NULL);
> goto out;
> }
> }
> @@ -259,7 +259,7 @@ static inline int unhelp(struct nf_conntrack_tuple_hash *i,
>
> if (help && rcu_dereference_raw(help->helper) == me) {
> nf_conntrack_event(IPCT_HELPER, ct);
> - RCU_INIT_POINTER(help->helper, NULL);
> + rcu_init_pointer(help->helper, NULL);
> }
> return 0;
> }
> diff --git a/net/netfilter/nf_conntrack_netlink.c
> b/net/netfilter/nf_conntrack_netlink.c
> index ccc46fa..f147656 100644
> --- a/net/netfilter/nf_conntrack_netlink.c
> +++ b/net/netfilter/nf_conntrack_netlink.c
> @@ -1372,7 +1372,7 @@ ctnetlink_change_helper(struct nf_conn *ct,
> const struct nlattr * const cda[])
> if (help && help->helper) {
> /* we had a helper before ... */
> nf_ct_remove_expectations(ct);
> - RCU_INIT_POINTER(help->helper, NULL);
> + rcu_init_pointer(help->helper, NULL);
> }
>
> return 0;
> @@ -1666,7 +1666,7 @@ ctnetlink_create_conntrack(struct net *net, u16 zone,
> helper->from_nlattr(helpinfo, ct);
>
> /* not in hash table yet so not strictly necessary */
> - RCU_INIT_POINTER(help->helper, helper);
> + rcu_init_pointer(help->helper, helper);
> }
> } else {
> /* try an implicit helper assignation */
> @@ -3213,7 +3213,7 @@ static int __init ctnetlink_init(void)
> }
> #ifdef CONFIG_NETFILTER_NETLINK_QUEUE_CT
> /* setup interaction between nf_queue and nf_conntrack_netlink. */
> - RCU_INIT_POINTER(nfq_ct_hook, &ctnetlink_nfqueue_hook);
> + rcu_init_pointer(nfq_ct_hook, &ctnetlink_nfqueue_hook);
> #endif
> return 0;
>
> @@ -3233,7 +3233,7 @@ static void __exit ctnetlink_exit(void)
> nfnetlink_subsys_unregister(&ctnl_exp_subsys);
> nfnetlink_subsys_unregister(&ctnl_subsys);
> #ifdef CONFIG_NETFILTER_NETLINK_QUEUE_CT
> - RCU_INIT_POINTER(nfq_ct_hook, NULL);
> + rcu_init_pointer(nfq_ct_hook, NULL);
> #endif
> }
>
> diff --git a/net/netfilter/nf_conntrack_proto.c
> b/net/netfilter/nf_conntrack_proto.c
> index b65d586..2dc7f72 100644
> --- a/net/netfilter/nf_conntrack_proto.c
> +++ b/net/netfilter/nf_conntrack_proto.c
> @@ -384,7 +384,7 @@ int nf_ct_l4proto_register(struct
> nf_conntrack_l4proto *l4proto)
> }
>
> for (i = 0; i < MAX_NF_CT_PROTO; i++)
> - RCU_INIT_POINTER(proto_array[i], &nf_conntrack_l4proto_generic);
> + rcu_init_pointer(proto_array[i], &nf_conntrack_l4proto_generic);
>
> /* Before making proto_array visible to lockless readers,
> * we must make sure its content is committed to memory.
> diff --git a/net/netfilter/nf_log.c b/net/netfilter/nf_log.c
> index 85296d4..a9580ec 100644
> --- a/net/netfilter/nf_log.c
> +++ b/net/netfilter/nf_log.c
> @@ -58,7 +58,7 @@ void nf_log_unset(struct net *net, const struct
> nf_logger *logger)
> log = rcu_dereference_protected(net->nf.nf_loggers[i],
> lockdep_is_held(&nf_log_mutex));
> if (log == logger)
> - RCU_INIT_POINTER(net->nf.nf_loggers[i], NULL);
> + rcu_init_pointer(net->nf.nf_loggers[i], NULL);
> }
> mutex_unlock(&nf_log_mutex);
> synchronize_rcu();
> @@ -124,7 +124,7 @@ void nf_log_unbind_pf(struct net *net, u_int8_t pf)
> if (pf >= ARRAY_SIZE(net->nf.nf_loggers))
> return;
> mutex_lock(&nf_log_mutex);
> - RCU_INIT_POINTER(net->nf.nf_loggers[pf], NULL);
> + rcu_init_pointer(net->nf.nf_loggers[pf], NULL);
> mutex_unlock(&nf_log_mutex);
> }
> EXPORT_SYMBOL(nf_log_unbind_pf);
> diff --git a/net/netfilter/nf_nat_amanda.c b/net/netfilter/nf_nat_amanda.c
> index eb77238..d5ac5b2 100644
> --- a/net/netfilter/nf_nat_amanda.c
> +++ b/net/netfilter/nf_nat_amanda.c
> @@ -75,14 +75,14 @@ static unsigned int help(struct sk_buff *skb,
>
> static void __exit nf_nat_amanda_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_amanda_hook, NULL);
> + rcu_init_pointer(nf_nat_amanda_hook, NULL);
> synchronize_rcu();
> }
>
> static int __init nf_nat_amanda_init(void)
> {
> BUG_ON(nf_nat_amanda_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_amanda_hook, help);
> + rcu_init_pointer(nf_nat_amanda_hook, help);
> return 0;
> }
>
> diff --git a/net/netfilter/nf_nat_core.c b/net/netfilter/nf_nat_core.c
> index 52ca952..1219b5e 100644
> --- a/net/netfilter/nf_nat_core.c
> +++ b/net/netfilter/nf_nat_core.c
> @@ -562,7 +562,7 @@ int nf_nat_l4proto_register(u8 l3proto, const
> struct nf_nat_l4proto *l4proto)
> }
>
> for (i = 0; i < IPPROTO_MAX; i++)
> - RCU_INIT_POINTER(l4protos[i], &nf_nat_l4proto_unknown);
> + rcu_init_pointer(l4protos[i], &nf_nat_l4proto_unknown);
>
> /* Before making proto_array visible to lockless readers,
> * we must make sure its content is committed to memory.
> @@ -579,7 +579,7 @@ int nf_nat_l4proto_register(u8 l3proto, const
> struct nf_nat_l4proto *l4proto)
> ret = -EBUSY;
> goto out;
> }
> - RCU_INIT_POINTER(nf_nat_l4protos[l3proto][l4proto->l4proto], l4proto);
> + rcu_init_pointer(nf_nat_l4protos[l3proto][l4proto->l4proto], l4proto);
> out:
> mutex_unlock(&nf_nat_proto_mutex);
> return ret;
> @@ -590,7 +590,7 @@ EXPORT_SYMBOL_GPL(nf_nat_l4proto_register);
> void nf_nat_l4proto_unregister(u8 l3proto, const struct
> nf_nat_l4proto *l4proto)
> {
> mutex_lock(&nf_nat_proto_mutex);
> - RCU_INIT_POINTER(nf_nat_l4protos[l3proto][l4proto->l4proto],
> + rcu_init_pointer(nf_nat_l4protos[l3proto][l4proto->l4proto],
> &nf_nat_l4proto_unknown);
> mutex_unlock(&nf_nat_proto_mutex);
> synchronize_rcu();
> @@ -608,13 +608,13 @@ int nf_nat_l3proto_register(const struct
> nf_nat_l3proto *l3proto)
> return err;
>
> mutex_lock(&nf_nat_proto_mutex);
> - RCU_INIT_POINTER(nf_nat_l4protos[l3proto->l3proto][IPPROTO_TCP],
> + rcu_init_pointer(nf_nat_l4protos[l3proto->l3proto][IPPROTO_TCP],
> &nf_nat_l4proto_tcp);
> - RCU_INIT_POINTER(nf_nat_l4protos[l3proto->l3proto][IPPROTO_UDP],
> + rcu_init_pointer(nf_nat_l4protos[l3proto->l3proto][IPPROTO_UDP],
> &nf_nat_l4proto_udp);
> mutex_unlock(&nf_nat_proto_mutex);
>
> - RCU_INIT_POINTER(nf_nat_l3protos[l3proto->l3proto], l3proto);
> + rcu_init_pointer(nf_nat_l3protos[l3proto->l3proto], l3proto);
> return 0;
> }
> EXPORT_SYMBOL_GPL(nf_nat_l3proto_register);
> @@ -622,7 +622,7 @@ EXPORT_SYMBOL_GPL(nf_nat_l3proto_register);
> void nf_nat_l3proto_unregister(const struct nf_nat_l3proto *l3proto)
> {
> mutex_lock(&nf_nat_proto_mutex);
> - RCU_INIT_POINTER(nf_nat_l3protos[l3proto->l3proto], NULL);
> + rcu_init_pointer(nf_nat_l3protos[l3proto->l3proto], NULL);
> mutex_unlock(&nf_nat_proto_mutex);
> synchronize_rcu();
>
> @@ -822,11 +822,11 @@ static int __init nf_nat_init(void)
> nf_ct_untracked_status_or(IPS_NAT_DONE_MASK);
>
> BUG_ON(nfnetlink_parse_nat_setup_hook != NULL);
> - RCU_INIT_POINTER(nfnetlink_parse_nat_setup_hook,
> + rcu_init_pointer(nfnetlink_parse_nat_setup_hook,
> nfnetlink_parse_nat_setup);
> #ifdef CONFIG_XFRM
> BUG_ON(nf_nat_decode_session_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_decode_session_hook, __nf_nat_decode_session);
> + rcu_init_pointer(nf_nat_decode_session_hook, __nf_nat_decode_session);
> #endif
> return 0;
>
> @@ -842,9 +842,9 @@ static void __exit nf_nat_cleanup(void)
> unregister_pernet_subsys(&nf_nat_net_ops);
> nf_ct_extend_unregister(&nat_extend);
> nf_ct_helper_expectfn_unregister(&follow_master_nat);
> - RCU_INIT_POINTER(nfnetlink_parse_nat_setup_hook, NULL);
> + rcu_init_pointer(nfnetlink_parse_nat_setup_hook, NULL);
> #ifdef CONFIG_XFRM
> - RCU_INIT_POINTER(nf_nat_decode_session_hook, NULL);
> + rcu_init_pointer(nf_nat_decode_session_hook, NULL);
> #endif
> for (i = 0; i < NFPROTO_NUMPROTO; i++)
> kfree(nf_nat_l4protos[i]);
> diff --git a/net/netfilter/nf_nat_ftp.c b/net/netfilter/nf_nat_ftp.c
> index e84a578..aaef6c6 100644
> --- a/net/netfilter/nf_nat_ftp.c
> +++ b/net/netfilter/nf_nat_ftp.c
> @@ -122,14 +122,14 @@ out:
>
> static void __exit nf_nat_ftp_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_ftp_hook, NULL);
> + rcu_init_pointer(nf_nat_ftp_hook, NULL);
> synchronize_rcu();
> }
>
> static int __init nf_nat_ftp_init(void)
> {
> BUG_ON(nf_nat_ftp_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_ftp_hook, nf_nat_ftp);
> + rcu_init_pointer(nf_nat_ftp_hook, nf_nat_ftp);
> return 0;
> }
>
> diff --git a/net/netfilter/nf_nat_irc.c b/net/netfilter/nf_nat_irc.c
> index 1fb2258..5bf497d 100644
> --- a/net/netfilter/nf_nat_irc.c
> +++ b/net/netfilter/nf_nat_irc.c
> @@ -95,14 +95,14 @@ static unsigned int help(struct sk_buff *skb,
>
> static void __exit nf_nat_irc_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_irc_hook, NULL);
> + rcu_init_pointer(nf_nat_irc_hook, NULL);
> synchronize_rcu();
> }
>
> static int __init nf_nat_irc_init(void)
> {
> BUG_ON(nf_nat_irc_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_irc_hook, help);
> + rcu_init_pointer(nf_nat_irc_hook, help);
> return 0;
> }
>
> diff --git a/net/netfilter/nf_nat_sip.c b/net/netfilter/nf_nat_sip.c
> index b4d691d..a2a0a39 100644
> --- a/net/netfilter/nf_nat_sip.c
> +++ b/net/netfilter/nf_nat_sip.c
> @@ -625,7 +625,7 @@ static struct nf_ct_helper_expectfn sip_nat = {
>
> static void __exit nf_nat_sip_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_sip_hooks, NULL);
> + rcu_init_pointer(nf_nat_sip_hooks, NULL);
>
> nf_ct_helper_expectfn_unregister(&sip_nat);
> synchronize_rcu();
> @@ -644,7 +644,7 @@ static const struct nf_nat_sip_hooks sip_hooks = {
> static int __init nf_nat_sip_init(void)
> {
> BUG_ON(nf_nat_sip_hooks != NULL);
> - RCU_INIT_POINTER(nf_nat_sip_hooks, &sip_hooks);
> + rcu_init_pointer(nf_nat_sip_hooks, &sip_hooks);
> nf_ct_helper_expectfn_register(&sip_nat);
> return 0;
> }
> diff --git a/net/netfilter/nf_nat_tftp.c b/net/netfilter/nf_nat_tftp.c
> index 7f67e1d..f828ef0 100644
> --- a/net/netfilter/nf_nat_tftp.c
> +++ b/net/netfilter/nf_nat_tftp.c
> @@ -37,14 +37,14 @@ static unsigned int help(struct sk_buff *skb,
>
> static void __exit nf_nat_tftp_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_tftp_hook, NULL);
> + rcu_init_pointer(nf_nat_tftp_hook, NULL);
> synchronize_rcu();
> }
>
> static int __init nf_nat_tftp_init(void)
> {
> BUG_ON(nf_nat_tftp_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_tftp_hook, help);
> + rcu_init_pointer(nf_nat_tftp_hook, help);
> return 0;
> }
>
> diff --git a/net/netfilter/nf_queue.c b/net/netfilter/nf_queue.c
> index 5d24b1f..93fe802 100644
> --- a/net/netfilter/nf_queue.c
> +++ b/net/netfilter/nf_queue.c
> @@ -40,7 +40,7 @@ EXPORT_SYMBOL(nf_register_queue_handler);
> /* The caller must flush their queue before this */
> void nf_unregister_queue_handler(void)
> {
> - RCU_INIT_POINTER(queue_handler, NULL);
> + rcu_init_pointer(queue_handler, NULL);
> synchronize_rcu();
> }
> EXPORT_SYMBOL(nf_unregister_queue_handler);
> diff --git a/net/netfilter/nfnetlink.c b/net/netfilter/nfnetlink.c
> index e8138da..6477a02 100644
> --- a/net/netfilter/nfnetlink.c
> +++ b/net/netfilter/nfnetlink.c
> @@ -440,7 +440,7 @@ static void __net_exit
> nfnetlink_net_exit_batch(struct list_head *net_exit_list)
> struct net *net;
>
> list_for_each_entry(net, net_exit_list, exit_list)
> - RCU_INIT_POINTER(net->nfnl, NULL);
> + rcu_init_pointer(net->nfnl, NULL);
> synchronize_net();
> list_for_each_entry(net, net_exit_list, exit_list)
> netlink_kernel_release(net->nfnl_stash);
> diff --git a/net/netfilter/nfnetlink_cttimeout.c
> b/net/netfilter/nfnetlink_cttimeout.c
> index 476accd..836836c 100644
> --- a/net/netfilter/nfnetlink_cttimeout.c
> +++ b/net/netfilter/nfnetlink_cttimeout.c
> @@ -551,8 +551,8 @@ static int __init cttimeout_init(void)
> goto err_out;
> }
> #ifdef CONFIG_NF_CONNTRACK_TIMEOUT
> - RCU_INIT_POINTER(nf_ct_timeout_find_get_hook, ctnl_timeout_find_get);
> - RCU_INIT_POINTER(nf_ct_timeout_put_hook, ctnl_timeout_put);
> + rcu_init_pointer(nf_ct_timeout_find_get_hook, ctnl_timeout_find_get);
> + rcu_init_pointer(nf_ct_timeout_put_hook, ctnl_timeout_put);
> #endif /* CONFIG_NF_CONNTRACK_TIMEOUT */
> return 0;
>
> @@ -576,8 +576,8 @@ static void __exit cttimeout_exit(void)
> kfree_rcu(cur, rcu_head);
> }
> #ifdef CONFIG_NF_CONNTRACK_TIMEOUT
> - RCU_INIT_POINTER(nf_ct_timeout_find_get_hook, NULL);
> - RCU_INIT_POINTER(nf_ct_timeout_put_hook, NULL);
> + rcu_init_pointer(nf_ct_timeout_find_get_hook, NULL);
> + rcu_init_pointer(nf_ct_timeout_put_hook, NULL);
> #endif /* CONFIG_NF_CONNTRACK_TIMEOUT */
> }
>
> diff --git a/net/netfilter/nft_hash.c b/net/netfilter/nft_hash.c
> index 3b1ad87..539385b 100644
> --- a/net/netfilter/nft_hash.c
> +++ b/net/netfilter/nft_hash.c
> @@ -119,7 +119,7 @@ static void nft_hash_chain_unzip(const struct nft_set *set,
> }
>
> /* Unlink first chain from the old table */
> - RCU_INIT_POINTER(tbl->buckets[n], last->next);
> + rcu_init_pointer(tbl->buckets[n], last->next);
>
> /* If end of chain reached, done */
> if (he == NULL)
> @@ -135,7 +135,7 @@ static void nft_hash_chain_unzip(const struct nft_set *set,
> }
>
> /* Link the two chains */
> - RCU_INIT_POINTER(last->next, next);
> + rcu_init_pointer(last->next, next);
> }
>
> static int nft_hash_tbl_expand(const struct nft_set *set, struct
> nft_hash *priv)
> @@ -157,7 +157,7 @@ static int nft_hash_tbl_expand(const struct
> nft_set *set, struct nft_hash *priv)
> nft_hash_for_each_entry(he, tbl->buckets[h]) {
> if (nft_hash_data(&he->key, ntbl->size, set->klen) != i)
> continue;
> - RCU_INIT_POINTER(ntbl->buckets[i], he);
> + rcu_init_pointer(ntbl->buckets[i], he);
> break;
> }
> }
> @@ -199,7 +199,7 @@ static int nft_hash_tbl_shrink(const struct
> nft_set *set, struct nft_hash *priv)
> for (pprev = &ntbl->buckets[i]; *pprev != NULL;
> pprev = &nft_dereference(*pprev)->next)
> ;
> - RCU_INIT_POINTER(*pprev, tbl->buckets[i + ntbl->size]);
> + rcu_init_pointer(*pprev, tbl->buckets[i + ntbl->size]);
> }
> ntbl->elements = tbl->elements;
>
> @@ -235,7 +235,7 @@ static int nft_hash_insert(const struct nft_set *set,
> nft_data_copy(he->data, &elem->data);
>
> h = nft_hash_data(&he->key, tbl->size, set->klen);
> - RCU_INIT_POINTER(he->next, tbl->buckets[h]);
> + rcu_init_pointer(he->next, tbl->buckets[h]);
> rcu_assign_pointer(tbl->buckets[h], he);
> tbl->elements++;
>
> @@ -265,7 +265,7 @@ static void nft_hash_remove(const struct nft_set *set,
> pprev = elem->cookie;
> he = nft_dereference((*pprev));
>
> - RCU_INIT_POINTER(*pprev, he->next);
> + rcu_init_pointer(*pprev, he->next);
> synchronize_rcu();
> kfree(he);
> tbl->elements--;
> @@ -348,7 +348,7 @@ static int nft_hash_init(const struct nft_set *set,
> tbl = nft_hash_tbl_alloc(NFT_HASH_MIN_SIZE);
> if (tbl == NULL)
> return -ENOMEM;
> - RCU_INIT_POINTER(priv->tbl, tbl);
> + rcu_init_pointer(priv->tbl, tbl);
> return 0;
> }
>
> diff --git a/net/netlabel/netlabel_domainhash.c
> b/net/netlabel/netlabel_domainhash.c
> index f0cb92f..97632af 100644
> --- a/net/netlabel/netlabel_domainhash.c
> +++ b/net/netlabel/netlabel_domainhash.c
> @@ -516,7 +516,7 @@ int netlbl_domhsh_remove_entry(struct netlbl_dom_map *entry,
> if (entry != rcu_dereference(netlbl_domhsh_def))
> list_del_rcu(&entry->list);
> else
> - RCU_INIT_POINTER(netlbl_domhsh_def, NULL);
> + rcu_init_pointer(netlbl_domhsh_def, NULL);
> } else
> ret_val = -ENOENT;
> spin_unlock(&netlbl_domhsh_lock);
> diff --git a/net/netlabel/netlabel_unlabeled.c
> b/net/netlabel/netlabel_unlabeled.c
> index 78a63c1..b7ebdee 100644
> --- a/net/netlabel/netlabel_unlabeled.c
> +++ b/net/netlabel/netlabel_unlabeled.c
> @@ -620,7 +620,7 @@ static void netlbl_unlhsh_condremove_iface(struct
> netlbl_unlhsh_iface *iface)
> if (iface->ifindex > 0)
> list_del_rcu(&iface->list);
> else
> - RCU_INIT_POINTER(netlbl_unlhsh_def, NULL);
> + rcu_init_pointer(netlbl_unlhsh_def, NULL);
> spin_unlock(&netlbl_unlhsh_lock);
>
> call_rcu(&iface->rcu, netlbl_unlhsh_free_iface);
> diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
> index 894cda0..93f0bd6 100644
> --- a/net/netlink/af_netlink.c
> +++ b/net/netlink/af_netlink.c
> @@ -1297,7 +1297,7 @@ static int netlink_release(struct socket *sock)
> struct listeners *old;
>
> old = nl_deref_protected(nl_table[sk->sk_protocol].listeners);
> - RCU_INIT_POINTER(nl_table[sk->sk_protocol].listeners, NULL);
> + rcu_init_pointer(nl_table[sk->sk_protocol].listeners, NULL);
> kfree_rcu(old, rcu);
> nl_table[sk->sk_protocol].module = NULL;
> nl_table[sk->sk_protocol].bind = NULL;
> diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
> index b85c67c..4740dc6 100644
> --- a/net/packet/af_packet.c
> +++ b/net/packet/af_packet.c
> @@ -301,7 +301,7 @@ static void packet_cached_dev_assign(struct packet_sock *po,
>
> static void packet_cached_dev_reset(struct packet_sock *po)
> {
> - RCU_INIT_POINTER(po->cached_dev, NULL);
> + rcu_init_pointer(po->cached_dev, NULL);
> }
>
> static bool packet_use_direct_xmit(const struct packet_sock *po)
> diff --git a/net/phonet/af_phonet.c b/net/phonet/af_phonet.c
> index 5a940db..694d5d8 100644
> --- a/net/phonet/af_phonet.c
> +++ b/net/phonet/af_phonet.c
> @@ -491,7 +491,7 @@ void phonet_proto_unregister(unsigned int
> protocol, struct phonet_protocol *pp)
> {
> mutex_lock(&proto_tab_lock);
> BUG_ON(proto_tab[protocol] != pp);
> - RCU_INIT_POINTER(proto_tab[protocol], NULL);
> + rcu_init_pointer(proto_tab[protocol], NULL);
> mutex_unlock(&proto_tab_lock);
> synchronize_rcu();
> proto_unregister(pp->prot);
> diff --git a/net/phonet/pn_dev.c b/net/phonet/pn_dev.c
> index 56a6146..07d5619 100644
> --- a/net/phonet/pn_dev.c
> +++ b/net/phonet/pn_dev.c
> @@ -276,7 +276,7 @@ static void phonet_route_autodel(struct net_device *dev)
> mutex_lock(&pnn->routes.lock);
> for (i = 0; i < 64; i++)
> if (dev == pnn->routes.table[i]) {
> - RCU_INIT_POINTER(pnn->routes.table[i], NULL);
> + rcu_init_pointer(pnn->routes.table[i], NULL);
> set_bit(i, deleted);
> }
> mutex_unlock(&pnn->routes.lock);
> @@ -389,7 +389,7 @@ int phonet_route_del(struct net_device *dev, u8 daddr)
> daddr = daddr >> 2;
> mutex_lock(&routes->lock);
> if (dev == routes->table[daddr])
> - RCU_INIT_POINTER(routes->table[daddr], NULL);
> + rcu_init_pointer(routes->table[daddr], NULL);
> else
> dev = NULL;
> mutex_unlock(&routes->lock);
> diff --git a/net/phonet/socket.c b/net/phonet/socket.c
> index 008214a..24e0db2 100644
> --- a/net/phonet/socket.c
> +++ b/net/phonet/socket.c
> @@ -693,7 +693,7 @@ int pn_sock_unbind_res(struct sock *sk, u8 res)
>
> mutex_lock(&resource_mutex);
> if (pnres.sk[res] == sk) {
> - RCU_INIT_POINTER(pnres.sk[res], NULL);
> + rcu_init_pointer(pnres.sk[res], NULL);
> ret = 0;
> }
> mutex_unlock(&resource_mutex);
> @@ -712,7 +712,7 @@ void pn_sock_unbind_all_res(struct sock *sk)
> mutex_lock(&resource_mutex);
> for (res = 0; res < 256; res++) {
> if (pnres.sk[res] == sk) {
> - RCU_INIT_POINTER(pnres.sk[res], NULL);
> + rcu_init_pointer(pnres.sk[res], NULL);
> match++;
> }
> }
> diff --git a/net/socket.c b/net/socket.c
> index abf56b2..9350395 100644
> --- a/net/socket.c
> +++ b/net/socket.c
> @@ -260,7 +260,7 @@ static struct inode *sock_alloc_inode(struct
> super_block *sb)
> }
> init_waitqueue_head(&wq->wait);
> wq->fasync_list = NULL;
> - RCU_INIT_POINTER(ei->socket.wq, wq);
> + rcu_init_pointer(ei->socket.wq, wq);
>
> ei->socket.state = SS_UNCONNECTED;
> ei->socket.flags = 0;
> @@ -2638,7 +2638,7 @@ void sock_unregister(int family)
> BUG_ON(family < 0 || family >= NPROTO);
>
> spin_lock(&net_family_lock);
> - RCU_INIT_POINTER(net_families[family], NULL);
> + rcu_init_pointer(net_families[family], NULL);
> spin_unlock(&net_family_lock);
>
> synchronize_rcu();
> diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c
> index 36e431e..1810c54 100644
> --- a/net/sunrpc/auth_gss/auth_gss.c
> +++ b/net/sunrpc/auth_gss/auth_gss.c
> @@ -1262,7 +1262,7 @@ gss_destroy_nullcred(struct rpc_cred *cred)
> struct gss_auth *gss_auth = container_of(cred->cr_auth, struct
> gss_auth, rpc_auth);
> struct gss_cl_ctx *ctx = gss_cred->gc_ctx;
>
> - RCU_INIT_POINTER(gss_cred->gc_ctx, NULL);
> + rcu_init_pointer(gss_cred->gc_ctx, NULL);
> call_rcu(&cred->cr_rcu, gss_free_cred_callback);
> if (ctx)
> gss_put_ctx(ctx);
> diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c
> index 3fef7eb..3a56cd6 100644
> --- a/net/tipc/bearer.c
> +++ b/net/tipc/bearer.c
> @@ -464,7 +464,7 @@ int tipc_enable_l2_media(struct tipc_bearer *b)
> void tipc_disable_l2_media(struct tipc_bearer *b)
> {
> struct net_device *dev = (struct net_device *)b->media_ptr;
> - RCU_INIT_POINTER(dev->tipc_ptr, NULL);
> + rcu_init_pointer(dev->tipc_ptr, NULL);
> dev_put(dev);
> }
>
> diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
> index bb7e8ba..ae855b9 100644
> --- a/net/unix/af_unix.c
> +++ b/net/unix/af_unix.c
> @@ -1187,7 +1187,7 @@ restart:
> newsk->sk_type = sk->sk_type;
> init_peercred(newsk);
> newu = unix_sk(newsk);
> - RCU_INIT_POINTER(newsk->sk_wq, &newu->peer_wq);
> + rcu_init_pointer(newsk->sk_wq, &newu->peer_wq);
> otheru = unix_sk(other);
>
> /* copy address information from listening to new sock*/
> diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c
> index 85d1d47..deb776d 100644
> --- a/net/xfrm/xfrm_input.c
> +++ b/net/xfrm/xfrm_input.c
> @@ -50,7 +50,7 @@ int xfrm_input_unregister_afinfo(struct
> xfrm_input_afinfo *afinfo)
> if (unlikely(xfrm_input_afinfo[afinfo->family] != afinfo))
> err = -EINVAL;
> else
> - RCU_INIT_POINTER(xfrm_input_afinfo[afinfo->family], NULL);
> + rcu_init_pointer(xfrm_input_afinfo[afinfo->family], NULL);
> }
> spin_unlock_bh(&xfrm_input_afinfo_lock);
> synchronize_rcu();
> diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
> index c08fbd1..326d6ed 100644
> --- a/net/xfrm/xfrm_policy.c
> +++ b/net/xfrm/xfrm_policy.c
> @@ -2729,7 +2729,7 @@ int xfrm_policy_unregister_afinfo(struct
> xfrm_policy_afinfo *afinfo)
> if (unlikely(xfrm_policy_afinfo[afinfo->family] != afinfo))
> err = -EINVAL;
> else
> - RCU_INIT_POINTER(xfrm_policy_afinfo[afinfo->family],
> + rcu_init_pointer(xfrm_policy_afinfo[afinfo->family],
> NULL);
> }
> spin_unlock(&xfrm_policy_afinfo_lock);
> diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
> index 8e9c781..cf7e89c 100644
> --- a/net/xfrm/xfrm_state.c
> +++ b/net/xfrm/xfrm_state.c
> @@ -1942,7 +1942,7 @@ int xfrm_state_unregister_afinfo(struct
> xfrm_state_afinfo *afinfo)
> if (unlikely(xfrm_state_afinfo[afinfo->family] != afinfo))
> err = -EINVAL;
> else
> - RCU_INIT_POINTER(xfrm_state_afinfo[afinfo->family], NULL);
> + rcu_init_pointer(xfrm_state_afinfo[afinfo->family], NULL);
> }
> spin_unlock_bh(&xfrm_state_afinfo_lock);
> synchronize_rcu();
> diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
> index 8f131c1..cdf2a66 100644
> --- a/net/xfrm/xfrm_user.c
> +++ b/net/xfrm/xfrm_user.c
> @@ -3040,7 +3040,7 @@ static void __net_exit xfrm_user_net_exit(struct
> list_head *net_exit_list)
> {
> struct net *net;
> list_for_each_entry(net, net_exit_list, exit_list)
> - RCU_INIT_POINTER(net->xfrm.nlsk, NULL);
> + rcu_init_pointer(net->xfrm.nlsk, NULL);
> synchronize_net();
> list_for_each_entry(net, net_exit_list, exit_list)
> netlink_kernel_release(net->xfrm.nlsk_stash);
> --
> 1.7.9.5
> Signed-off-by: Romanov Arya <[email protected]>
> ---
> arch/powerpc/platforms/cell/spu_syscalls.c | 2 +-
> drivers/crypto/nx/nx-842.c | 4 +-
> drivers/infiniband/hw/qib/qib_qp.c | 2 +-
> drivers/infiniband/hw/qib/qib_verbs.c | 10 ++--
> drivers/ipack/carriers/tpci200.c | 2 +-
> drivers/md/dm.c | 2 +-
> drivers/net/bonding/bond_main.c | 2 +-
> drivers/net/bonding/bond_options.c | 2 +-
> drivers/net/ethernet/broadcom/bnx2.c | 2 +-
> drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 +-
> drivers/net/ethernet/broadcom/cnic.c | 6 +--
> drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 4 +-
> drivers/net/macvtap.c | 10 ++--
> drivers/net/ppp/pptp.c | 2 +-
> drivers/net/team/team_mode_activebackup.c | 2 +-
> drivers/net/team/team_mode_loadbalance.c | 2 +-
> drivers/net/tun.c | 8 ++--
> drivers/net/veth.c | 4 +-
> drivers/net/wireless/ath/carl9170/main.c | 12 ++---
> drivers/net/wireless/iwlwifi/mvm/fw.c | 4 +-
> drivers/vhost/vhost.c | 4 +-
> fs/eventpoll.c | 4 +-
> fs/proc/inode.c | 2 +-
> include/linux/rcupdate.h | 20 ++++----
> kernel/audit.c | 2 +-
> kernel/cgroup.c | 14 +++---
> kernel/trace/trace_events_filter.c | 4 +-
> kernel/trace/trace_events_trigger.c | 2 +-
> kernel/workqueue.c | 2 +-
> lib/idr.c | 6 +--
> net/802/garp.c | 4 +-
> net/802/mrp.c | 4 +-
> net/802/stp.c | 4 +-
> net/8021q/vlan_core.c | 2 +-
> net/bridge/br_vlan.c | 8 ++--
> net/bridge/netfilter/ebtable_broute.c | 4 +-
> net/caif/cfmuxl.c | 4 +-
> net/can/af_can.c | 4 +-
> net/core/dev.c | 14 +++---
> net/core/fib_rules.c | 4 +-
> net/core/filter.c | 2 +-
> net/core/neighbour.c | 2 +-
> net/core/net-sysfs.c | 4 +-
> net/core/netpoll.c | 2 +-
> net/core/netprio_cgroup.c | 2 +-
> net/core/sock.c | 4 +-
> net/core/sysctl_net_core.c | 2 +-
> net/decnet/dn_dev.c | 2 +-
> net/decnet/dn_route.c | 2 +-
> net/ipv4/devinet.c | 4 +-
> net/ipv4/fib_semantics.c | 2 +-
> net/ipv4/fib_trie.c | 2 +-
> net/ipv4/igmp.c | 4 +-
> net/ipv4/inetpeer.c | 50 ++++++++++----------
> net/ipv4/ipmr.c | 2 +-
> net/ipv4/netfilter/nf_nat_h323.c | 36 +++++++-------
> net/ipv4/netfilter/nf_nat_pptp.c | 16 +++----
> net/ipv4/netfilter/nf_nat_snmp_basic.c | 4 +-
> net/ipv4/route.c | 4 +-
> net/ipv6/addrconf.c | 2 +-
> net/ipv6/ip6_tunnel.c | 2 +-
> net/ipv6/ip6_vti.c | 2 +-
> net/ipv6/netfilter.c | 4 +-
> net/ipv6/raw.c | 2 +-
> net/ipv6/sit.c | 2 +-
> net/mac80211/agg-rx.c | 2 +-
> net/mac80211/cfg.c | 8 ++--
> net/mac80211/ibss.c | 4 +-
> net/mac80211/mesh.c | 2 +-
> net/mac80211/mesh_pathtbl.c | 4 +-
> net/mac80211/sta_info.c | 2 +-
> net/netfilter/core.c | 4 +-
> net/netfilter/ipvs/ip_vs_ctl.c | 4 +-
> net/netfilter/ipvs/ip_vs_dh.c | 6 +--
> net/netfilter/ipvs/ip_vs_sh.c | 6 +--
> net/netfilter/nf_conntrack_core.c | 8 ++--
> net/netfilter/nf_conntrack_ecache.c | 4 +-
> net/netfilter/nf_conntrack_extend.c | 2 +-
> net/netfilter/nf_conntrack_helper.c | 6 +--
> net/netfilter/nf_conntrack_netlink.c | 8 ++--
> net/netfilter/nf_conntrack_proto.c | 2 +-
> net/netfilter/nf_log.c | 4 +-
> net/netfilter/nf_nat_amanda.c | 4 +-
> net/netfilter/nf_nat_core.c | 22 ++++-----
> net/netfilter/nf_nat_ftp.c | 4 +-
> net/netfilter/nf_nat_irc.c | 4 +-
> net/netfilter/nf_nat_sip.c | 4 +-
> net/netfilter/nf_nat_tftp.c | 4 +-
> net/netfilter/nf_queue.c | 2 +-
> net/netfilter/nfnetlink.c | 2 +-
> net/netfilter/nfnetlink_cttimeout.c | 8 ++--
> net/netfilter/nft_hash.c | 14 +++---
> net/netlabel/netlabel_domainhash.c | 2 +-
> net/netlabel/netlabel_unlabeled.c | 2 +-
> net/netlink/af_netlink.c | 2 +-
> net/packet/af_packet.c | 2 +-
> net/phonet/af_phonet.c | 2 +-
> net/phonet/pn_dev.c | 4 +-
> net/phonet/socket.c | 4 +-
> net/socket.c | 4 +-
> net/sunrpc/auth_gss/auth_gss.c | 2 +-
> net/tipc/bearer.c | 2 +-
> net/unix/af_unix.c | 2 +-
> net/xfrm/xfrm_input.c | 2 +-
> net/xfrm/xfrm_policy.c | 2 +-
> net/xfrm/xfrm_state.c | 2 +-
> net/xfrm/xfrm_user.c | 2 +-
> 107 files changed, 268 insertions(+), 268 deletions(-)
>
> diff --git a/arch/powerpc/platforms/cell/spu_syscalls.c b/arch/powerpc/platforms/cell/spu_syscalls.c
> index 38e0a1a..2feef7c 100644
> --- a/arch/powerpc/platforms/cell/spu_syscalls.c
> +++ b/arch/powerpc/platforms/cell/spu_syscalls.c
> @@ -170,7 +170,7 @@ EXPORT_SYMBOL_GPL(register_spu_syscalls);
> void unregister_spu_syscalls(struct spufs_calls *calls)
> {
> BUG_ON(spufs_calls->owner != calls->owner);
> - RCU_INIT_POINTER(spufs_calls, NULL);
> + rcu_init_pointer(spufs_calls, NULL);
> synchronize_rcu();
> }
> EXPORT_SYMBOL_GPL(unregister_spu_syscalls);
> diff --git a/drivers/crypto/nx/nx-842.c b/drivers/crypto/nx/nx-842.c
> index 1e5481d..e72d3d7 100644
> --- a/drivers/crypto/nx/nx-842.c
> +++ b/drivers/crypto/nx/nx-842.c
> @@ -1262,14 +1262,14 @@ static int __init nx842_init(void)
> struct nx842_devdata *new_devdata;
> pr_info("Registering IBM Power 842 compression driver\n");
>
> - RCU_INIT_POINTER(devdata, NULL);
> + rcu_init_pointer(devdata, NULL);
> new_devdata = kzalloc(sizeof(*new_devdata), GFP_KERNEL);
> if (!new_devdata) {
> pr_err("Could not allocate memory for device data\n");
> return -ENOMEM;
> }
> new_devdata->status = UNAVAILABLE;
> - RCU_INIT_POINTER(devdata, new_devdata);
> + rcu_init_pointer(devdata, new_devdata);
>
> return vio_register_driver(&nx842_driver);
> }
> diff --git a/drivers/infiniband/hw/qib/qib_qp.c b/drivers/infiniband/hw/qib/qib_qp.c
> index 0cad0c4..e967aa5 100644
> --- a/drivers/infiniband/hw/qib/qib_qp.c
> +++ b/drivers/infiniband/hw/qib/qib_qp.c
> @@ -1041,7 +1041,7 @@ struct ib_qp *qib_create_qp(struct ib_pd *ibpd,
> ret = ERR_PTR(-ENOMEM);
> goto bail_swq;
> }
> - RCU_INIT_POINTER(qp->next, NULL);
> + rcu_init_pointer(qp->next, NULL);
> qp->s_hdr = kzalloc(sizeof(*qp->s_hdr), GFP_KERNEL);
> if (!qp->s_hdr) {
> ret = ERR_PTR(-ENOMEM);
> diff --git a/drivers/infiniband/hw/qib/qib_verbs.c b/drivers/infiniband/hw/qib/qib_verbs.c
> index 9bcfbd8..8ed08aa9 100644
> --- a/drivers/infiniband/hw/qib/qib_verbs.c
> +++ b/drivers/infiniband/hw/qib/qib_verbs.c
> @@ -2035,8 +2035,8 @@ static void init_ibport(struct qib_pportdata *ppd)
> ibp->z_excessive_buffer_overrun_errors =
> cntrs.excessive_buffer_overrun_errors;
> ibp->z_vl15_dropped = cntrs.vl15_dropped;
> - RCU_INIT_POINTER(ibp->qp0, NULL);
> - RCU_INIT_POINTER(ibp->qp1, NULL);
> + rcu_init_pointer(ibp->qp0, NULL);
> + rcu_init_pointer(ibp->qp1, NULL);
> }
>
> /**
> @@ -2061,7 +2061,7 @@ int qib_register_ib_device(struct qib_devdata *dd)
> goto err_qpt;
> }
> for (i = 0; i < dev->qp_table_size; i++)
> - RCU_INIT_POINTER(dev->qp_table[i], NULL);
> + rcu_init_pointer(dev->qp_table[i], NULL);
>
> for (i = 0; i < dd->num_pports; i++)
> init_ibport(ppd + i);
> @@ -2094,9 +2094,9 @@ int qib_register_ib_device(struct qib_devdata *dd)
> ret = -ENOMEM;
> goto err_lk;
> }
> - RCU_INIT_POINTER(dev->dma_mr, NULL);
> + rcu_init_pointer(dev->dma_mr, NULL);
> for (i = 0; i < dev->lk_table.max; i++)
> - RCU_INIT_POINTER(dev->lk_table.table[i], NULL);
> + rcu_init_pointer(dev->lk_table.table[i], NULL);
> INIT_LIST_HEAD(&dev->pending_mmaps);
> spin_lock_init(&dev->pending_lock);
> dev->mmap_offset = PAGE_SIZE;
> diff --git a/drivers/ipack/carriers/tpci200.c b/drivers/ipack/carriers/tpci200.c
> index c276fde..86ae582 100644
> --- a/drivers/ipack/carriers/tpci200.c
> +++ b/drivers/ipack/carriers/tpci200.c
> @@ -187,7 +187,7 @@ static int tpci200_free_irq(struct ipack_device *dev)
> tpci200_disable_irq(tpci200, dev->slot);
> slot_irq = tpci200->slots[dev->slot].irq;
> /* uninstall handler */
> - RCU_INIT_POINTER(tpci200->slots[dev->slot].irq, NULL);
> + rcu_init_pointer(tpci200->slots[dev->slot].irq, NULL);
> synchronize_rcu();
> kfree(slot_irq);
> mutex_unlock(&tpci200->mutex);
> diff --git a/drivers/md/dm.c b/drivers/md/dm.c
> index 455e649..19e6e9a 100644
> --- a/drivers/md/dm.c
> +++ b/drivers/md/dm.c
> @@ -2168,7 +2168,7 @@ static struct dm_table *__unbind(struct mapped_device *md)
> return NULL;
>
> dm_table_event_callback(map, NULL, NULL);
> - RCU_INIT_POINTER(md->map, NULL);
> + rcu_init_pointer(md->map, NULL);
> dm_sync_table(md);
>
> return map;
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index 69aff72..d75c7ef 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -1704,7 +1704,7 @@ static int __bond_release_one(struct net_device *bond_dev,
> }
>
> if (all) {
> - RCU_INIT_POINTER(bond->curr_active_slave, NULL);
> + rcu_init_pointer(bond->curr_active_slave, NULL);
> } else if (oldcurrent == slave) {
> /*
> * Note that we hold RTNL over this sequence, so there
> diff --git a/drivers/net/bonding/bond_options.c b/drivers/net/bonding/bond_options.c
> index 724e30f..069c7c3 100644
> --- a/drivers/net/bonding/bond_options.c
> +++ b/drivers/net/bonding/bond_options.c
> @@ -712,7 +712,7 @@ static int bond_option_active_slave_set(struct bonding *bond,
> /* check to see if we are clearing active */
> if (!slave_dev) {
> pr_info("%s: Clearing current active slave\n", bond->dev->name);
> - RCU_INIT_POINTER(bond->curr_active_slave, NULL);
> + rcu_init_pointer(bond->curr_active_slave, NULL);
> bond_select_active_slave(bond);
> } else {
> struct slave *old_active = bond->curr_active_slave;
> diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c
> index 0ab8370..7facbc4 100644
> --- a/drivers/net/ethernet/broadcom/bnx2.c
> +++ b/drivers/net/ethernet/broadcom/bnx2.c
> @@ -409,7 +409,7 @@ static int bnx2_unregister_cnic(struct net_device *dev)
> mutex_lock(&bp->cnic_lock);
> cp->drv_state = 0;
> bnapi->cnic_present = 0;
> - RCU_INIT_POINTER(bp->cnic_ops, NULL);
> + rcu_init_pointer(bp->cnic_ops, NULL);
> mutex_unlock(&bp->cnic_lock);
> synchronize_rcu();
> return 0;
> diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
> index a78edac..83a228e 100644
> --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
> +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
> @@ -14048,7 +14048,7 @@ static int bnx2x_unregister_cnic(struct net_device *dev)
>
> mutex_lock(&bp->cnic_mutex);
> cp->drv_state = 0;
> - RCU_INIT_POINTER(bp->cnic_ops, NULL);
> + rcu_init_pointer(bp->cnic_ops, NULL);
> mutex_unlock(&bp->cnic_mutex);
> synchronize_rcu();
> bp->cnic_enabled = false;
> diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c
> index 09f3fef..42d5ff3a 100644
> --- a/drivers/net/ethernet/broadcom/cnic.c
> +++ b/drivers/net/ethernet/broadcom/cnic.c
> @@ -534,7 +534,7 @@ int cnic_unregister_driver(int ulp_type)
> }
> read_unlock(&cnic_dev_lock);
>
> - RCU_INIT_POINTER(cnic_ulp_tbl[ulp_type], NULL);
> + rcu_init_pointer(cnic_ulp_tbl[ulp_type], NULL);
>
> mutex_unlock(&cnic_lock);
> synchronize_rcu();
> @@ -610,7 +610,7 @@ static int cnic_unregister_device(struct cnic_dev *dev, int ulp_type)
> }
> mutex_lock(&cnic_lock);
> if (rcu_dereference(cp->ulp_ops[ulp_type])) {
> - RCU_INIT_POINTER(cp->ulp_ops[ulp_type], NULL);
> + rcu_init_pointer(cp->ulp_ops[ulp_type], NULL);
> cnic_put(dev);
> } else {
> pr_err("%s: device not registered to this ulp type %d\n",
> @@ -5414,7 +5414,7 @@ static void cnic_stop_hw(struct cnic_dev *dev)
> cp->stop_cm(dev);
> cp->ethdev->drv_state &= ~CNIC_DRV_STATE_HANDLES_IRQ;
> clear_bit(CNIC_F_CNIC_UP, &dev->flags);
> - RCU_INIT_POINTER(cp->ulp_ops[CNIC_ULP_L4], NULL);
> + rcu_init_pointer(cp->ulp_ops[CNIC_ULP_L4], NULL);
> synchronize_rcu();
> cnic_cm_shutdown(dev);
> cp->stop_hw(dev);
> diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
> index c0a9dd5..466f3b2 100644
> --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
> +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
> @@ -1280,7 +1280,7 @@ int cxgb3_offload_activate(struct adapter *adapter)
> INIT_LIST_HEAD(&t->list_node);
> t->dev = dev;
>
> - RCU_INIT_POINTER(dev->l2opt, l2td);
> + rcu_init_pointer(dev->l2opt, l2td);
> T3C_DATA(dev) = t;
> dev->recv = process_rx;
> dev->neigh_update = t3_l2t_update;
> @@ -1324,7 +1324,7 @@ void cxgb3_offload_deactivate(struct adapter *adapter)
> rcu_read_lock();
> d = L2DATA(tdev);
> rcu_read_unlock();
> - RCU_INIT_POINTER(tdev->l2opt, NULL);
> + rcu_init_pointer(tdev->l2opt, NULL);
> call_rcu(&d->rcu_head, clean_l2_data);
> if (t->nofail_skb)
> kfree_skb(t->nofail_skb);
> diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
> index ff111a8..c343c1d 100644
> --- a/drivers/net/macvtap.c
> +++ b/drivers/net/macvtap.c
> @@ -159,7 +159,7 @@ static int macvtap_disable_queue(struct macvtap_queue *q)
> nq->queue_index = index;
>
> rcu_assign_pointer(vlan->taps[index], nq);
> - RCU_INIT_POINTER(vlan->taps[vlan->numvtaps - 1], NULL);
> + rcu_init_pointer(vlan->taps[vlan->numvtaps - 1], NULL);
> q->enabled = false;
>
> vlan->numvtaps--;
> @@ -188,7 +188,7 @@ static void macvtap_put_queue(struct macvtap_queue *q)
> BUG_ON(macvtap_disable_queue(q));
>
> vlan->numqueues--;
> - RCU_INIT_POINTER(q->vlan, NULL);
> + rcu_init_pointer(q->vlan, NULL);
> sock_put(&q->sk);
> list_del_init(&q->next);
> }
> @@ -259,13 +259,13 @@ static void macvtap_del_queues(struct net_device *dev)
> list_for_each_entry_safe(q, tmp, &vlan->queue_list, next) {
> list_del_init(&q->next);
> qlist[j++] = q;
> - RCU_INIT_POINTER(q->vlan, NULL);
> + rcu_init_pointer(q->vlan, NULL);
> if (q->enabled)
> vlan->numvtaps--;
> vlan->numqueues--;
> }
> for (i = 0; i < vlan->numvtaps; i++)
> - RCU_INIT_POINTER(vlan->taps[i], NULL);
> + rcu_init_pointer(vlan->taps[i], NULL);
> BUG_ON(vlan->numvtaps);
> BUG_ON(vlan->numqueues);
> /* guarantee that any future macvtap_set_queue will fail */
> @@ -459,7 +459,7 @@ static int macvtap_open(struct inode *inode, struct file *file)
> if (!q)
> goto out;
>
> - RCU_INIT_POINTER(q->sock.wq, &q->wq);
> + rcu_init_pointer(q->sock.wq, &q->wq);
> init_waitqueue_head(&q->wq.wait);
> q->sock.type = SOCK_RAW;
> q->sock.state = SS_CONNECTED;
> diff --git a/drivers/net/ppp/pptp.c b/drivers/net/ppp/pptp.c
> index 0180531..b7c2acb 100644
> --- a/drivers/net/ppp/pptp.c
> +++ b/drivers/net/ppp/pptp.c
> @@ -162,7 +162,7 @@ static void del_chan(struct pppox_sock *sock)
> {
> spin_lock(&chan_lock);
> clear_bit(sock->proto.pptp.src_addr.call_id, callid_bitmap);
> - RCU_INIT_POINTER(callid_sock[sock->proto.pptp.src_addr.call_id], NULL);
> + rcu_init_pointer(callid_sock[sock->proto.pptp.src_addr.call_id], NULL);
> spin_unlock(&chan_lock);
> synchronize_rcu();
> }
> diff --git a/drivers/net/team/team_mode_activebackup.c b/drivers/net/team/team_mode_activebackup.c
> index 40fd338..91b3066 100644
> --- a/drivers/net/team/team_mode_activebackup.c
> +++ b/drivers/net/team/team_mode_activebackup.c
> @@ -56,7 +56,7 @@ drop:
> static void ab_port_leave(struct team *team, struct team_port *port)
> {
> if (ab_priv(team)->active_port == port) {
> - RCU_INIT_POINTER(ab_priv(team)->active_port, NULL);
> + rcu_init_pointer(ab_priv(team)->active_port, NULL);
> team_option_inst_set_change(ab_priv(team)->ap_opt_inst_info);
> }
> }
> diff --git a/drivers/net/team/team_mode_loadbalance.c b/drivers/net/team/team_mode_loadbalance.c
> index dbde341..deef2c9 100644
> --- a/drivers/net/team/team_mode_loadbalance.c
> +++ b/drivers/net/team/team_mode_loadbalance.c
> @@ -97,7 +97,7 @@ static void lb_tx_hash_to_port_mapping_null_port(struct team *team,
>
> pm = &lb_priv->ex->tx_hash_to_port_mapping[i];
> if (rcu_access_pointer(pm->port) == port) {
> - RCU_INIT_POINTER(pm->port, NULL);
> + rcu_init_pointer(pm->port, NULL);
> team_option_inst_set_change(pm->opt_inst_info);
> changed = true;
> }
> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> index ee328ba..ab06040 100644
> --- a/drivers/net/tun.c
> +++ b/drivers/net/tun.c
> @@ -452,7 +452,7 @@ static void __tun_detach(struct tun_file *tfile, bool clean)
>
> --tun->numqueues;
> if (clean) {
> - RCU_INIT_POINTER(tfile->tun, NULL);
> + rcu_init_pointer(tfile->tun, NULL);
> sock_put(&tfile->sk);
> } else
> tun_disable_queue(tun, tfile);
> @@ -499,12 +499,12 @@ static void tun_detach_all(struct net_device *dev)
> tfile = rtnl_dereference(tun->tfiles[i]);
> BUG_ON(!tfile);
> wake_up_all(&tfile->wq.wait);
> - RCU_INIT_POINTER(tfile->tun, NULL);
> + rcu_init_pointer(tfile->tun, NULL);
> --tun->numqueues;
> }
> list_for_each_entry(tfile, &tun->disabled, next) {
> wake_up_all(&tfile->wq.wait);
> - RCU_INIT_POINTER(tfile->tun, NULL);
> + rcu_init_pointer(tfile->tun, NULL);
> }
> BUG_ON(tun->numqueues != 0);
>
> @@ -2194,7 +2194,7 @@ static int tun_chr_open(struct inode *inode, struct file * file)
> &tun_proto);
> if (!tfile)
> return -ENOMEM;
> - RCU_INIT_POINTER(tfile->tun, NULL);
> + rcu_init_pointer(tfile->tun, NULL);
> tfile->net = get_net(current->nsproxy->net_ns);
> tfile->flags = 0;
> tfile->ifindex = 0;
> diff --git a/drivers/net/veth.c b/drivers/net/veth.c
> index b4a10bc..b8c026f 100644
> --- a/drivers/net/veth.c
> +++ b/drivers/net/veth.c
> @@ -432,12 +432,12 @@ static void veth_dellink(struct net_device *dev, struct list_head *head)
> * before a rcu_synchronize() point. The devices are guaranteed
> * not being freed before one RCU grace period.
> */
> - RCU_INIT_POINTER(priv->peer, NULL);
> + rcu_init_pointer(priv->peer, NULL);
> unregister_netdevice_queue(dev, head);
>
> if (peer) {
> priv = netdev_priv(peer);
> - RCU_INIT_POINTER(priv->peer, NULL);
> + rcu_init_pointer(priv->peer, NULL);
> unregister_netdevice_queue(peer, head);
> }
> }
> diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c
> index 4c8cdb0..9ba9885 100644
> --- a/drivers/net/wireless/ath/carl9170/main.c
> +++ b/drivers/net/wireless/ath/carl9170/main.c
> @@ -450,7 +450,7 @@ static void carl9170_op_stop(struct ieee80211_hw *hw)
>
> mutex_lock(&ar->mutex);
> if (IS_ACCEPTING_CMD(ar)) {
> - RCU_INIT_POINTER(ar->beacon_iter, NULL);
> + rcu_init_pointer(ar->beacon_iter, NULL);
>
> carl9170_led_set_state(ar, 0);
>
> @@ -747,7 +747,7 @@ unlock:
> vif_priv->active = false;
> bitmap_release_region(&ar->vif_bitmap, vif_id, 0);
> ar->vifs--;
> - RCU_INIT_POINTER(ar->vif_priv[vif_id].vif, NULL);
> + rcu_init_pointer(ar->vif_priv[vif_id].vif, NULL);
> list_del_rcu(&vif_priv->list);
> mutex_unlock(&ar->mutex);
> synchronize_rcu();
> @@ -785,7 +785,7 @@ static void carl9170_op_remove_interface(struct ieee80211_hw *hw,
> WARN_ON(vif_priv->enable_beacon);
> vif_priv->enable_beacon = false;
> list_del_rcu(&vif_priv->list);
> - RCU_INIT_POINTER(ar->vif_priv[id].vif, NULL);
> + rcu_init_pointer(ar->vif_priv[id].vif, NULL);
>
> if (vif == main_vif) {
> rcu_read_unlock();
> @@ -1333,7 +1333,7 @@ static int carl9170_op_sta_add(struct ieee80211_hw *hw,
> }
>
> for (i = 0; i < ARRAY_SIZE(sta_info->agg); i++)
> - RCU_INIT_POINTER(sta_info->agg[i], NULL);
> + rcu_init_pointer(sta_info->agg[i], NULL);
>
> sta_info->ampdu_max_len = 1 << (3 + sta->ht_cap.ampdu_factor);
> sta_info->ht_sta = true;
> @@ -1360,7 +1360,7 @@ static int carl9170_op_sta_remove(struct ieee80211_hw *hw,
> struct carl9170_sta_tid *tid_info;
>
> tid_info = rcu_dereference(sta_info->agg[i]);
> - RCU_INIT_POINTER(sta_info->agg[i], NULL);
> + rcu_init_pointer(sta_info->agg[i], NULL);
>
> if (!tid_info)
> continue;
> @@ -1477,7 +1477,7 @@ static int carl9170_op_ampdu_action(struct ieee80211_hw *hw,
> spin_unlock_bh(&ar->tx_ampdu_list_lock);
> }
>
> - RCU_INIT_POINTER(sta_info->agg[tid], NULL);
> + rcu_init_pointer(sta_info->agg[tid], NULL);
> rcu_read_unlock();
>
> ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
> diff --git a/drivers/net/wireless/iwlwifi/mvm/fw.c b/drivers/net/wireless/iwlwifi/mvm/fw.c
> index 7ce2006..751abf0 100644
> --- a/drivers/net/wireless/iwlwifi/mvm/fw.c
> +++ b/drivers/net/wireless/iwlwifi/mvm/fw.c
> @@ -443,7 +443,7 @@ int iwl_mvm_up(struct iwl_mvm *mvm)
>
> /* init the fw <-> mac80211 STA mapping */
> for (i = 0; i < IWL_MVM_STATION_COUNT; i++)
> - RCU_INIT_POINTER(mvm->fw_id_to_mac_id[i], NULL);
> + rcu_init_pointer(mvm->fw_id_to_mac_id[i], NULL);
>
> /* Add auxiliary station for scanning */
> ret = iwl_mvm_add_aux_sta(mvm);
> @@ -520,7 +520,7 @@ int iwl_mvm_load_d3_fw(struct iwl_mvm *mvm)
>
> /* init the fw <-> mac80211 STA mapping */
> for (i = 0; i < IWL_MVM_STATION_COUNT; i++)
> - RCU_INIT_POINTER(mvm->fw_id_to_mac_id[i], NULL);
> + rcu_init_pointer(mvm->fw_id_to_mac_id[i], NULL);
>
> /* Add auxiliary station for scanning */
> ret = iwl_mvm_add_aux_sta(mvm);
> diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
> index 78987e4..92d3fbc 100644
> --- a/drivers/vhost/vhost.c
> +++ b/drivers/vhost/vhost.c
> @@ -419,7 +419,7 @@ void vhost_dev_reset_owner(struct vhost_dev *dev, struct vhost_memory *memory)
>
> /* Restore memory to default empty mapping. */
> memory->nregions = 0;
> - RCU_INIT_POINTER(dev->memory, memory);
> + rcu_init_pointer(dev->memory, memory);
> }
> EXPORT_SYMBOL_GPL(vhost_dev_reset_owner);
>
> @@ -465,7 +465,7 @@ void vhost_dev_cleanup(struct vhost_dev *dev, bool locked)
> kfree(rcu_dereference_protected(dev->memory,
> locked ==
> lockdep_is_held(&dev->mutex)));
> - RCU_INIT_POINTER(dev->memory, NULL);
> + rcu_init_pointer(dev->memory, NULL);
> WARN_ON(!list_empty(&dev->work_list));
> if (dev->worker) {
> kthread_stop(dev->worker);
> diff --git a/fs/eventpoll.c b/fs/eventpoll.c
> index af90312..bc52fb8 100644
> --- a/fs/eventpoll.c
> +++ b/fs/eventpoll.c
> @@ -1250,7 +1250,7 @@ static noinline void ep_destroy_wakeup_source(struct epitem *epi)
> {
> struct wakeup_source *ws = ep_wakeup_source(epi);
>
> - RCU_INIT_POINTER(epi->ws, NULL);
> + rcu_init_pointer(epi->ws, NULL);
>
> /*
> * wait for ep_pm_stay_awake_rcu to finish, synchronize_rcu is
> @@ -1293,7 +1293,7 @@ static int ep_insert(struct eventpoll *ep, struct epoll_event *event,
> if (error)
> goto error_create_wakeup_source;
> } else {
> - RCU_INIT_POINTER(epi->ws, NULL);
> + rcu_init_pointer(epi->ws, NULL);
> }
>
> /* Initialize the poll table using the queue callback */
> diff --git a/fs/proc/inode.c b/fs/proc/inode.c
> index 0adbc02..a8734e0 100644
> --- a/fs/proc/inode.c
> +++ b/fs/proc/inode.c
> @@ -47,7 +47,7 @@ static void proc_evict_inode(struct inode *inode)
> pde_put(de);
> head = PROC_I(inode)->sysctl;
> if (head) {
> - RCU_INIT_POINTER(PROC_I(inode)->sysctl, NULL);
> + rcu_init_pointer(PROC_I(inode)->sysctl, NULL);
> sysctl_head_put(head);
> }
> /* Release any associated namespace */
> diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> index 00a7fd6..d384392 100644
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@ -566,13 +566,13 @@ static inline void rcu_preempt_sleep_check(void)
> * assignment. More importantly, this call documents which pointers
> * will be dereferenced by RCU read-side code.
> *
> - * In some special cases, you may use RCU_INIT_POINTER() instead
> - * of rcu_assign_pointer(). RCU_INIT_POINTER() is a bit faster due
> + * In some special cases, you may use rcu_init_pointer() instead
> + * of rcu_assign_pointer(). rcu_init_pointer() is a bit faster due
> * to the fact that it does not constrain either the CPU or the compiler.
> - * That said, using RCU_INIT_POINTER() when you should have used
> + * That said, using rcu_init_pointer() when you should have used
> * rcu_assign_pointer() is a very bad thing that results in
> * impossible-to-diagnose memory corruption. So please be careful.
> - * See the RCU_INIT_POINTER() comment header for details.
> + * See the rcu_init_pointer() comment header for details.
> *
> * Note that rcu_assign_pointer() evaluates each of its arguments only
> * once, appearances notwithstanding. One of the "extra" evaluations
> @@ -919,13 +919,13 @@ static inline notrace void rcu_read_unlock_sched_notrace(void)
> }
>
> /**
> - * RCU_INIT_POINTER() - initialize an RCU protected pointer
> + * rcu_init_pointer() - initialize an RCU protected pointer
> *
> * Initialize an RCU-protected pointer in special cases where readers
> * do not need ordering constraints on the CPU or the compiler. These
> * special cases are:
> *
> - * 1. This use of RCU_INIT_POINTER() is NULLing out the pointer -or-
> + * 1. This use of rcu_init_pointer() is NULLing out the pointer -or-
> * 2. The caller has taken whatever steps are required to prevent
> * RCU readers from concurrently accessing this pointer -or-
> * 3. The referenced data structure has already been exposed to
> @@ -937,20 +937,20 @@ static inline notrace void rcu_read_unlock_sched_notrace(void)
> * example, the changes were to statistical counters or to
> * other state where exact synchronization is not required.)
> *
> - * Failure to follow these rules governing use of RCU_INIT_POINTER() will
> + * Failure to follow these rules governing use of rcu_init_pointer() will
> * result in impossible-to-diagnose memory corruption. As in the structures
> * will look OK in crash dumps, but any concurrent RCU readers might
> * see pre-initialized values of the referenced data structure. So
> - * please be very careful how you use RCU_INIT_POINTER()!!!
> + * please be very careful how you use rcu_init_pointer()!!!
> *
> * If you are creating an RCU-protected linked structure that is accessed
> * by a single external-to-structure RCU-protected pointer, then you may
> - * use RCU_INIT_POINTER() to initialize the internal RCU-protected
> + * use rcu_init_pointer() to initialize the internal RCU-protected
> * pointers, but you must use rcu_assign_pointer() to initialize the
> * external-to-structure pointer -after- you have completely initialized
> * the reader-accessible portions of the linked structure.
> */
> -#define RCU_INIT_POINTER(p, v) \
> +#define rcu_init_pointer(p, v) \
> do { \
> p = RCU_INITIALIZER(v); \
> } while (0)
> diff --git a/kernel/audit.c b/kernel/audit.c
> index 7c28936..f5bf565 100644
> --- a/kernel/audit.c
> +++ b/kernel/audit.c
> @@ -1102,7 +1102,7 @@ static void __net_exit audit_net_exit(struct net *net)
> audit_sock = NULL;
> }
>
> - RCU_INIT_POINTER(aunet->nlsk, NULL);
> + rcu_init_pointer(aunet->nlsk, NULL);
> synchronize_net();
> netlink_kernel_release(sock);
> }
> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
> index 9fcdaa7..252320b 100644
> --- a/kernel/cgroup.c
> +++ b/kernel/cgroup.c
> @@ -1045,7 +1045,7 @@ static int rebind_subsystems(struct cgroup_root *dst_root,
>
> WARN_ON(!css || cgroup_css(&dst_root->cgrp, ss));
>
> - RCU_INIT_POINTER(src_root->cgrp.subsys[ssid], NULL);
> + rcu_init_pointer(src_root->cgrp.subsys[ssid], NULL);
> rcu_assign_pointer(dst_root->cgrp.subsys[ssid], css);
> ss->root = dst_root;
> css->cgroup = &dst_root->cgrp;
> @@ -3567,7 +3567,7 @@ static void css_release(struct percpu_ref *ref)
> struct cgroup_subsys_state *css =
> container_of(ref, struct cgroup_subsys_state, refcnt);
>
> - RCU_INIT_POINTER(css->cgroup->subsys[css->ss->id], NULL);
> + rcu_init_pointer(css->cgroup->subsys[css->ss->id], NULL);
> call_rcu(&css->rcu_head, css_free_rcu_fn);
> }
>
> @@ -3621,7 +3621,7 @@ static void offline_css(struct cgroup_subsys_state *css)
>
> css->flags &= ~CSS_ONLINE;
> css->cgroup->nr_css--;
> - RCU_INIT_POINTER(css->cgroup->subsys[ss->id], css);
> + rcu_init_pointer(css->cgroup->subsys[ss->id], css);
> }
>
> /**
> @@ -4044,7 +4044,7 @@ static int cgroup_destroy_locked(struct cgroup *cgrp)
> * after all files under it have been removed.
> */
> kernfs_remove(cgrp->kn); /* @cgrp has an extra ref on its kn */
> - RCU_INIT_POINTER(*(void __rcu __force **)&cgrp->kn->priv, NULL);
> + rcu_init_pointer(*(void __rcu __force **)&cgrp->kn->priv, NULL);
>
> mutex_lock(&cgroup_mutex);
>
> @@ -4169,7 +4169,7 @@ int __init cgroup_init_early(void)
> int i;
>
> init_cgroup_root(&cgrp_dfl_root, &opts);
> - RCU_INIT_POINTER(init_task.cgroups, &init_css_set);
> + rcu_init_pointer(init_task.cgroups, &init_css_set);
>
> for_each_subsys(ss, i) {
> WARN(!ss->css_alloc || !ss->css_free || ss->name || ss->id,
> @@ -4377,7 +4377,7 @@ static const struct file_operations proc_cgroupstats_operations = {
> */
> void cgroup_fork(struct task_struct *child)
> {
> - RCU_INIT_POINTER(child->cgroups, &init_css_set);
> + rcu_init_pointer(child->cgroups, &init_css_set);
> INIT_LIST_HEAD(&child->cg_list);
> }
>
> @@ -4481,7 +4481,7 @@ void cgroup_exit(struct task_struct *tsk)
>
> /* Reassign the task to the init_css_set. */
> cset = task_css_set(tsk);
> - RCU_INIT_POINTER(tsk->cgroups, &init_css_set);
> + rcu_init_pointer(tsk->cgroups, &init_css_set);
>
> if (need_forkexit_callback) {
> /* see cgroup_post_fork() for details */
> diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
> index 8a86319..93b0d89 100644
> --- a/kernel/trace/trace_events_filter.c
> +++ b/kernel/trace/trace_events_filter.c
> @@ -1708,9 +1708,9 @@ static inline void event_clear_filter(struct ftrace_event_file *file)
> struct ftrace_event_call *call = file->event_call;
>
> if (call->flags & TRACE_EVENT_FL_USE_CALL_FILTER)
> - RCU_INIT_POINTER(call->filter, NULL);
> + rcu_init_pointer(call->filter, NULL);
> else
> - RCU_INIT_POINTER(file->filter, NULL);
> + rcu_init_pointer(file->filter, NULL);
> }
>
> static inline void
> diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c
> index 925f537..07dc2eb 100644
> --- a/kernel/trace/trace_events_trigger.c
> +++ b/kernel/trace/trace_events_trigger.c
> @@ -1212,7 +1212,7 @@ event_enable_trigger_func(struct event_command *cmd_ops,
> trigger_data->ops = trigger_ops;
> trigger_data->cmd_ops = cmd_ops;
> INIT_LIST_HEAD(&trigger_data->list);
> - RCU_INIT_POINTER(trigger_data->filter, NULL);
> + rcu_init_pointer(trigger_data->filter, NULL);
>
> enable_data->enable = enable;
> enable_data->file = event_enable_file;
> diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> index 0ee63af..3c897f5 100644
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -4343,7 +4343,7 @@ void destroy_workqueue(struct workqueue_struct *wq)
> */
> for_each_node(node) {
> pwq = rcu_access_pointer(wq->numa_pwq_tbl[node]);
> - RCU_INIT_POINTER(wq->numa_pwq_tbl[node], NULL);
> + rcu_init_pointer(wq->numa_pwq_tbl[node], NULL);
> put_pwq_unlocked(pwq);
> }
>
> diff --git a/lib/idr.c b/lib/idr.c
> index 2642fa8..b885650 100644
> --- a/lib/idr.c
> +++ b/lib/idr.c
> @@ -152,7 +152,7 @@ static void idr_layer_rcu_free(struct rcu_head *head)
> static inline void free_layer(struct idr *idr, struct idr_layer *p)
> {
> if (idr->hint && idr->hint == p)
> - RCU_INIT_POINTER(idr->hint, NULL);
> + rcu_init_pointer(idr->hint, NULL);
> call_rcu(&p->rcu_head, idr_layer_rcu_free);
> }
>
> @@ -533,7 +533,7 @@ static void sub_remove(struct idr *idp, int shift, int id)
> n = id & IDR_MASK;
> if (likely(p != NULL && test_bit(n, p->bitmap))) {
> __clear_bit(n, p->bitmap);
> - RCU_INIT_POINTER(p->ary[n], NULL);
> + rcu_init_pointer(p->ary[n], NULL);
> to_free = NULL;
> while(*paa && ! --((**paa)->count)){
> if (to_free)
> @@ -602,7 +602,7 @@ static void __idr_remove_all(struct idr *idp)
>
> n = idp->layers * IDR_BITS;
> p = idp->top;
> - RCU_INIT_POINTER(idp->top, NULL);
> + rcu_init_pointer(idp->top, NULL);
> max = idr_max(idp->layers);
>
> id = 0;
> diff --git a/net/802/garp.c b/net/802/garp.c
> index b38ee6d..4bc98ac 100644
> --- a/net/802/garp.c
> +++ b/net/802/garp.c
> @@ -552,7 +552,7 @@ static void garp_release_port(struct net_device *dev)
> if (rtnl_dereference(port->applicants[i]))
> return;
> }
> - RCU_INIT_POINTER(dev->garp_port, NULL);
> + rcu_init_pointer(dev->garp_port, NULL);
> kfree_rcu(port, rcu);
> }
>
> @@ -604,7 +604,7 @@ void garp_uninit_applicant(struct net_device *dev, struct garp_application *appl
>
> ASSERT_RTNL();
>
> - RCU_INIT_POINTER(port->applicants[appl->type], NULL);
> + rcu_init_pointer(port->applicants[appl->type], NULL);
>
> /* Delete timer and generate a final TRANSMIT_PDU event to flush out
> * all pending messages before the applicant is gone. */
> diff --git a/net/802/mrp.c b/net/802/mrp.c
> index 72db278..e57b50e 100644
> --- a/net/802/mrp.c
> +++ b/net/802/mrp.c
> @@ -834,7 +834,7 @@ static void mrp_release_port(struct net_device *dev)
> if (rtnl_dereference(port->applicants[i]))
> return;
> }
> - RCU_INIT_POINTER(dev->mrp_port, NULL);
> + rcu_init_pointer(dev->mrp_port, NULL);
> kfree_rcu(port, rcu);
> }
>
> @@ -890,7 +890,7 @@ void mrp_uninit_applicant(struct net_device *dev, struct mrp_application *appl)
>
> ASSERT_RTNL();
>
> - RCU_INIT_POINTER(port->applicants[appl->type], NULL);
> + rcu_init_pointer(port->applicants[appl->type], NULL);
>
> /* Delete timer and generate a final TX event to flush out
> * all pending messages before the applicant is gone.
> diff --git a/net/802/stp.c b/net/802/stp.c
> index 2c40ba0..75c1a32 100644
> --- a/net/802/stp.c
> +++ b/net/802/stp.c
> @@ -89,9 +89,9 @@ void stp_proto_unregister(const struct stp_proto *proto)
> {
> mutex_lock(&stp_proto_mutex);
> if (is_zero_ether_addr(proto->group_address))
> - RCU_INIT_POINTER(stp_proto, NULL);
> + rcu_init_pointer(stp_proto, NULL);
> else
> - RCU_INIT_POINTER(garp_protos[proto->group_address[5] -
> + rcu_init_pointer(garp_protos[proto->group_address[5] -
> GARP_ADDR_MIN], NULL);
> synchronize_rcu();
>
> diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c
> index 3c32bd2..252d777 100644
> --- a/net/8021q/vlan_core.c
> +++ b/net/8021q/vlan_core.c
> @@ -343,7 +343,7 @@ void vlan_vid_del(struct net_device *dev, __be16 proto, u16 vid)
> if (vid_info->refcount == 0) {
> __vlan_vid_del(vlan_info, vid_info);
> if (vlan_info->nr_vids == 0) {
> - RCU_INIT_POINTER(dev->vlan_info, NULL);
> + rcu_init_pointer(dev->vlan_info, NULL);
> call_rcu(&vlan_info->rcu, vlan_info_rcu_free);
> }
> }
> diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c
> index 4a37161..99ffd42 100644
> --- a/net/bridge/br_vlan.c
> +++ b/net/bridge/br_vlan.c
> @@ -99,9 +99,9 @@ static int __vlan_del(struct net_port_vlans *v, u16 vid)
> v->num_vlans--;
> if (bitmap_empty(v->vlan_bitmap, VLAN_N_VID)) {
> if (v->port_idx)
> - RCU_INIT_POINTER(v->parent.port->vlan_info, NULL);
> + rcu_init_pointer(v->parent.port->vlan_info, NULL);
> else
> - RCU_INIT_POINTER(v->parent.br->vlan_info, NULL);
> + rcu_init_pointer(v->parent.br->vlan_info, NULL);
> kfree_rcu(v, rcu);
> }
> return 0;
> @@ -113,9 +113,9 @@ static void __vlan_flush(struct net_port_vlans *v)
> v->pvid = 0;
> bitmap_zero(v->vlan_bitmap, VLAN_N_VID);
> if (v->port_idx)
> - RCU_INIT_POINTER(v->parent.port->vlan_info, NULL);
> + rcu_init_pointer(v->parent.port->vlan_info, NULL);
> else
> - RCU_INIT_POINTER(v->parent.br->vlan_info, NULL);
> + rcu_init_pointer(v->parent.br->vlan_info, NULL);
> kfree_rcu(v, rcu);
> }
>
> diff --git a/net/bridge/netfilter/ebtable_broute.c b/net/bridge/netfilter/ebtable_broute.c
> index d2cdf5d..13445ac 100644
> --- a/net/bridge/netfilter/ebtable_broute.c
> +++ b/net/bridge/netfilter/ebtable_broute.c
> @@ -83,14 +83,14 @@ static int __init ebtable_broute_init(void)
> if (ret < 0)
> return ret;
> /* see br_input.c */
> - RCU_INIT_POINTER(br_should_route_hook,
> + rcu_init_pointer(br_should_route_hook,
> (br_should_route_hook_t *)ebt_broute);
> return 0;
> }
>
> static void __exit ebtable_broute_fini(void)
> {
> - RCU_INIT_POINTER(br_should_route_hook, NULL);
> + rcu_init_pointer(br_should_route_hook, NULL);
> synchronize_net();
> unregister_pernet_subsys(&broute_net_ops);
> }
> diff --git a/net/caif/cfmuxl.c b/net/caif/cfmuxl.c
> index 8c5d638..15d5d6d 100644
> --- a/net/caif/cfmuxl.c
> +++ b/net/caif/cfmuxl.c
> @@ -108,7 +108,7 @@ struct cflayer *cfmuxl_remove_dnlayer(struct cflayer *layr, u8 phyid)
> int idx = phyid % DN_CACHE_SIZE;
>
> spin_lock_bh(&muxl->transmit_lock);
> - RCU_INIT_POINTER(muxl->dn_cache[idx], NULL);
> + rcu_init_pointer(muxl->dn_cache[idx], NULL);
> dn = get_from_id(&muxl->frml_list, phyid);
> if (dn == NULL)
> goto out;
> @@ -164,7 +164,7 @@ struct cflayer *cfmuxl_remove_uplayer(struct cflayer *layr, u8 id)
> if (up == NULL)
> goto out;
>
> - RCU_INIT_POINTER(muxl->up_cache[idx], NULL);
> + rcu_init_pointer(muxl->up_cache[idx], NULL);
> list_del_rcu(&up->node);
> out:
> spin_unlock_bh(&muxl->receive_lock);
> diff --git a/net/can/af_can.c b/net/can/af_can.c
> index a27f8aa..8df0f52 100644
> --- a/net/can/af_can.c
> +++ b/net/can/af_can.c
> @@ -761,7 +761,7 @@ int can_proto_register(const struct can_proto *cp)
> pr_err("can: protocol %d already registered\n", proto);
> err = -EBUSY;
> } else
> - RCU_INIT_POINTER(proto_tab[proto], cp);
> + rcu_init_pointer(proto_tab[proto], cp);
>
> mutex_unlock(&proto_tab_lock);
>
> @@ -782,7 +782,7 @@ void can_proto_unregister(const struct can_proto *cp)
>
> mutex_lock(&proto_tab_lock);
> BUG_ON(proto_tab[proto] != cp);
> - RCU_INIT_POINTER(proto_tab[proto], NULL);
> + rcu_init_pointer(proto_tab[proto], NULL);
> mutex_unlock(&proto_tab_lock);
>
> synchronize_rcu();
> diff --git a/net/core/dev.c b/net/core/dev.c
> index d2c8a06..a0a93bd 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -1836,7 +1836,7 @@ static struct xps_map *remove_xps_queue(struct xps_dev_maps *dev_maps,
> if (map->len > 1) {
> map->queues[pos] = map->queues[--map->len];
> } else {
> - RCU_INIT_POINTER(dev_maps->cpu_map[cpu], NULL);
> + rcu_init_pointer(dev_maps->cpu_map[cpu], NULL);
> kfree_rcu(map, rcu);
> map = NULL;
> }
> @@ -1869,7 +1869,7 @@ static void netif_reset_xps_queues_gt(struct net_device *dev, u16 index)
> }
>
> if (!active) {
> - RCU_INIT_POINTER(dev->xps_maps, NULL);
> + rcu_init_pointer(dev->xps_maps, NULL);
> kfree_rcu(dev_maps, rcu);
> }
>
> @@ -1948,7 +1948,7 @@ int netif_set_xps_queue(struct net_device *dev, const struct cpumask *mask,
> if (!map)
> goto error;
>
> - RCU_INIT_POINTER(new_dev_maps->cpu_map[cpu], map);
> + rcu_init_pointer(new_dev_maps->cpu_map[cpu], map);
> }
>
> if (!new_dev_maps)
> @@ -1974,7 +1974,7 @@ int netif_set_xps_queue(struct net_device *dev, const struct cpumask *mask,
> } else if (dev_maps) {
> /* fill in the new device map from the old device map */
> map = xmap_dereference(dev_maps->cpu_map[cpu]);
> - RCU_INIT_POINTER(new_dev_maps->cpu_map[cpu], map);
> + rcu_init_pointer(new_dev_maps->cpu_map[cpu], map);
> }
>
> }
> @@ -2016,7 +2016,7 @@ out_no_new_maps:
>
> /* free map if not active */
> if (!active) {
> - RCU_INIT_POINTER(dev->xps_maps, NULL);
> + rcu_init_pointer(dev->xps_maps, NULL);
> kfree_rcu(dev_maps, rcu);
> }
>
> @@ -3476,13 +3476,13 @@ void netdev_rx_handler_unregister(struct net_device *dev)
> {
>
> ASSERT_RTNL();
> - RCU_INIT_POINTER(dev->rx_handler, NULL);
> + rcu_init_pointer(dev->rx_handler, NULL);
> /* a reader seeing a non NULL rx_handler in a rcu_read_lock()
> * section has a guarantee to see a non NULL rx_handler_data
> * as well.
> */
> synchronize_net();
> - RCU_INIT_POINTER(dev->rx_handler_data, NULL);
> + rcu_init_pointer(dev->rx_handler_data, NULL);
> }
> EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
>
> diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
> index 185c341..e11fc01 100644
> --- a/net/core/fib_rules.c
> +++ b/net/core/fib_rules.c
> @@ -368,7 +368,7 @@ static int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr* nlh)
>
> list_for_each_entry(r, &ops->rules_list, list) {
> if (r->pref == rule->target) {
> - RCU_INIT_POINTER(rule->ctarget, r);
> + rcu_init_pointer(rule->ctarget, r);
> break;
> }
> }
> @@ -509,7 +509,7 @@ static int fib_nl_delrule(struct sk_buff *skb, struct nlmsghdr* nlh)
> if (ops->nr_goto_rules > 0) {
> list_for_each_entry(tmp, &ops->rules_list, list) {
> if (rtnl_dereference(tmp->ctarget) == rule) {
> - RCU_INIT_POINTER(tmp->ctarget, NULL);
> + rcu_init_pointer(tmp->ctarget, NULL);
> ops->unresolved_rules++;
> }
> }
> diff --git a/net/core/filter.c b/net/core/filter.c
> index cd58614..cb9125d 100644
> --- a/net/core/filter.c
> +++ b/net/core/filter.c
> @@ -1697,7 +1697,7 @@ int sk_detach_filter(struct sock *sk)
> filter = rcu_dereference_protected(sk->sk_filter,
> sock_owned_by_user(sk));
> if (filter) {
> - RCU_INIT_POINTER(sk->sk_filter, NULL);
> + rcu_init_pointer(sk->sk_filter, NULL);
> sk_filter_uncharge(sk, filter);
> ret = 0;
> }
> diff --git a/net/core/neighbour.c b/net/core/neighbour.c
> index 8f8a96e..73d7640 100644
> --- a/net/core/neighbour.c
> +++ b/net/core/neighbour.c
> @@ -1550,7 +1550,7 @@ static void neigh_table_init_no_netlink(struct neigh_table *tbl)
> panic("cannot create neighbour proc dir entry");
> #endif
>
> - RCU_INIT_POINTER(tbl->nht, neigh_hash_alloc(3));
> + rcu_init_pointer(tbl->nht, neigh_hash_alloc(3));
>
> phsize = (PNEIGH_HASHMASK + 1) * sizeof(struct pneigh_entry *);
> tbl->phash_buckets = kzalloc(phsize, GFP_KERNEL);
> diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
> index 1cac29e..cbbf952 100644
> --- a/net/core/net-sysfs.c
> +++ b/net/core/net-sysfs.c
> @@ -742,13 +742,13 @@ static void rx_queue_release(struct kobject *kobj)
>
> map = rcu_dereference_protected(queue->rps_map, 1);
> if (map) {
> - RCU_INIT_POINTER(queue->rps_map, NULL);
> + rcu_init_pointer(queue->rps_map, NULL);
> kfree_rcu(map, rcu);
> }
>
> flow_table = rcu_dereference_protected(queue->rps_flow_table, 1);
> if (flow_table) {
> - RCU_INIT_POINTER(queue->rps_flow_table, NULL);
> + rcu_init_pointer(queue->rps_flow_table, NULL);
> call_rcu(&flow_table->rcu, rps_dev_flow_table_release);
> }
> #endif
> diff --git a/net/core/netpoll.c b/net/core/netpoll.c
> index e33937f..496ba90 100644
> --- a/net/core/netpoll.c
> +++ b/net/core/netpoll.c
> @@ -820,7 +820,7 @@ void __netpoll_cleanup(struct netpoll *np)
> if (ops->ndo_netpoll_cleanup)
> ops->ndo_netpoll_cleanup(np->dev);
>
> - RCU_INIT_POINTER(np->dev->npinfo, NULL);
> + rcu_init_pointer(np->dev->npinfo, NULL);
> call_rcu_bh(&npinfo->rcu, rcu_cleanup_netpoll_info);
> }
> }
> diff --git a/net/core/netprio_cgroup.c b/net/core/netprio_cgroup.c
> index 3825f66..15c63ac 100644
> --- a/net/core/netprio_cgroup.c
> +++ b/net/core/netprio_cgroup.c
> @@ -266,7 +266,7 @@ static int netprio_device_event(struct notifier_block *unused,
> switch (event) {
> case NETDEV_UNREGISTER:
> old = rtnl_dereference(dev->priomap);
> - RCU_INIT_POINTER(dev->priomap, NULL);
> + rcu_init_pointer(dev->priomap, NULL);
> if (old)
> kfree_rcu(old, rcu);
> break;
> diff --git a/net/core/sock.c b/net/core/sock.c
> index b4fff00..ea565ba 100644
> --- a/net/core/sock.c
> +++ b/net/core/sock.c
> @@ -481,7 +481,7 @@ struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
>
> if (dst && dst->obsolete && dst->ops->check(dst, cookie) == NULL) {
> sk_tx_queue_clear(sk);
> - RCU_INIT_POINTER(sk->sk_dst_cache, NULL);
> + rcu_init_pointer(sk->sk_dst_cache, NULL);
> dst_release(dst);
> return NULL;
> }
> @@ -1365,7 +1365,7 @@ static void __sk_free(struct sock *sk)
> atomic_read(&sk->sk_wmem_alloc) == 0);
> if (filter) {
> sk_filter_uncharge(sk, filter);
> - RCU_INIT_POINTER(sk->sk_filter, NULL);
> + rcu_init_pointer(sk->sk_filter, NULL);
> }
>
> sock_disable_timestamp(sk, SK_FLAGS_TIMESTAMP);
> diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
> index cf9cd13..f3016f9 100644
> --- a/net/core/sysctl_net_core.c
> +++ b/net/core/sysctl_net_core.c
> @@ -118,7 +118,7 @@ static int flow_limit_cpu_sysctl(struct ctl_table *table, int write,
> cur = rcu_dereference_protected(sd->flow_limit,
> lockdep_is_held(&flow_limit_update_mutex));
> if (cur && !cpumask_test_cpu(i, mask)) {
> - RCU_INIT_POINTER(sd->flow_limit, NULL);
> + rcu_init_pointer(sd->flow_limit, NULL);
> synchronize_rcu();
> kfree(cur);
> } else if (!cur && cpumask_test_cpu(i, mask)) {
> diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c
> index a603823..1680884 100644
> --- a/net/decnet/dn_dev.c
> +++ b/net/decnet/dn_dev.c
> @@ -1100,7 +1100,7 @@ static struct dn_dev *dn_dev_create(struct net_device *dev, int *err)
>
> dn_db->neigh_parms = neigh_parms_alloc(dev, &dn_neigh_table);
> if (!dn_db->neigh_parms) {
> - RCU_INIT_POINTER(dev->dn_ptr, NULL);
> + rcu_init_pointer(dev->dn_ptr, NULL);
> kfree(dn_db);
> return NULL;
> }
> diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c
> index daccc4a..42d4bf0 100644
> --- a/net/decnet/dn_route.c
> +++ b/net/decnet/dn_route.c
> @@ -380,7 +380,7 @@ static void dn_run_flush(unsigned long dummy)
>
> for(; rt; rt = next) {
> next = rcu_dereference_raw(rt->dst.dn_next);
> - RCU_INIT_POINTER(rt->dst.dn_next, NULL);
> + rcu_init_pointer(rt->dst.dn_next, NULL);
> dst_free((struct dst_entry *)rt);
> }
>
> diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
> index bdbf68b..5e2891c 100644
> --- a/net/ipv4/devinet.c
> +++ b/net/ipv4/devinet.c
> @@ -294,7 +294,7 @@ static void inetdev_destroy(struct in_device *in_dev)
> inet_free_ifa(ifa);
> }
>
> - RCU_INIT_POINTER(dev->ip_ptr, NULL);
> + rcu_init_pointer(dev->ip_ptr, NULL);
>
> devinet_sysctl_unregister(in_dev);
> neigh_parms_release(&arp_tbl, in_dev->arp_parms);
> @@ -1367,7 +1367,7 @@ static int inetdev_event(struct notifier_block *this, unsigned long event,
> switch (event) {
> case NETDEV_REGISTER:
> pr_debug("%s: bug\n", __func__);
> - RCU_INIT_POINTER(dev->ip_ptr, NULL);
> + rcu_init_pointer(dev->ip_ptr, NULL);
> break;
> case NETDEV_UP:
> if (!inetdev_valid_mtu(dev->mtu))
> diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
> index 8a043f0..aadbeda 100644
> --- a/net/ipv4/fib_semantics.c
> +++ b/net/ipv4/fib_semantics.c
> @@ -147,7 +147,7 @@ static void rt_fibinfo_free(struct rtable __rcu **rtp)
> if (!rt)
> return;
>
> - /* Not even needed : RCU_INIT_POINTER(*rtp, NULL);
> + /* Not even needed : rcu_init_pointer(*rtp, NULL);
> * because we waited an RCU grace period before calling
> * free_fib_info_rcu()
> */
> diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c
> index 5afeb5a..b632346 100644
> --- a/net/ipv4/fib_trie.c
> +++ b/net/ipv4/fib_trie.c
> @@ -1602,7 +1602,7 @@ static void trie_leaf_remove(struct trie *t, struct leaf *l)
> put_child(tp, cindex, NULL);
> trie_rebalance(t, tp);
> } else
> - RCU_INIT_POINTER(t->trie, NULL);
> + rcu_init_pointer(t->trie, NULL);
>
> free_leaf(l);
> }
> diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
> index 97e4d16..54122f1 100644
> --- a/net/ipv4/igmp.c
> +++ b/net/ipv4/igmp.c
> @@ -1276,7 +1276,7 @@ static void ip_mc_hash_add(struct in_device *in_dev,
> for_each_pmc_rtnl(in_dev, im) {
> hash = ip_mc_hash(im);
> im->next_hash = mc_hash[hash];
> - RCU_INIT_POINTER(mc_hash[hash], im);
> + rcu_init_pointer(mc_hash[hash], im);
> }
>
> rcu_assign_pointer(in_dev->mc_hash, mc_hash);
> @@ -1928,7 +1928,7 @@ static int ip_mc_leave_src(struct sock *sk, struct ip_mc_socklist *iml,
> }
> err = ip_mc_del_src(in_dev, &iml->multi.imr_multiaddr.s_addr,
> iml->sfmode, psf->sl_count, psf->sl_addr, 0);
> - RCU_INIT_POINTER(iml->sflist, NULL);
> + rcu_init_pointer(iml->sflist, NULL);
> /* decrease mem now to avoid the memleak warning */
> atomic_sub(IP_SFLSIZE(psf->sl_max), &sk->sk_omem_alloc);
> kfree_rcu(psf, rcu);
> diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c
> index 48f4244..3983400 100644
> --- a/net/ipv4/inetpeer.c
> +++ b/net/ipv4/inetpeer.c
> @@ -309,26 +309,26 @@ static void peer_avl_rebalance(struct inet_peer __rcu **stack[],
> lr = rcu_deref_locked(l->avl_right, base);
> lrh = node_height(lr);
> if (lrh <= node_height(ll)) { /* ll: RH+1 */
> - RCU_INIT_POINTER(node->avl_left, lr); /* lr: RH or RH+1 */
> - RCU_INIT_POINTER(node->avl_right, r); /* r: RH */
> + rcu_init_pointer(node->avl_left, lr); /* lr: RH or RH+1 */
> + rcu_init_pointer(node->avl_right, r); /* r: RH */
> node->avl_height = lrh + 1; /* RH+1 or RH+2 */
> - RCU_INIT_POINTER(l->avl_left, ll); /* ll: RH+1 */
> - RCU_INIT_POINTER(l->avl_right, node); /* node: RH+1 or RH+2 */
> + rcu_init_pointer(l->avl_left, ll); /* ll: RH+1 */
> + rcu_init_pointer(l->avl_right, node); /* node: RH+1 or RH+2 */
> l->avl_height = node->avl_height + 1;
> - RCU_INIT_POINTER(*nodep, l);
> + rcu_init_pointer(*nodep, l);
> } else { /* ll: RH, lr: RH+1 */
> lrl = rcu_deref_locked(lr->avl_left, base);/* lrl: RH or RH-1 */
> lrr = rcu_deref_locked(lr->avl_right, base);/* lrr: RH or RH-1 */
> - RCU_INIT_POINTER(node->avl_left, lrr); /* lrr: RH or RH-1 */
> - RCU_INIT_POINTER(node->avl_right, r); /* r: RH */
> + rcu_init_pointer(node->avl_left, lrr); /* lrr: RH or RH-1 */
> + rcu_init_pointer(node->avl_right, r); /* r: RH */
> node->avl_height = rh + 1; /* node: RH+1 */
> - RCU_INIT_POINTER(l->avl_left, ll); /* ll: RH */
> - RCU_INIT_POINTER(l->avl_right, lrl); /* lrl: RH or RH-1 */
> + rcu_init_pointer(l->avl_left, ll); /* ll: RH */
> + rcu_init_pointer(l->avl_right, lrl); /* lrl: RH or RH-1 */
> l->avl_height = rh + 1; /* l: RH+1 */
> - RCU_INIT_POINTER(lr->avl_left, l); /* l: RH+1 */
> - RCU_INIT_POINTER(lr->avl_right, node); /* node: RH+1 */
> + rcu_init_pointer(lr->avl_left, l); /* l: RH+1 */
> + rcu_init_pointer(lr->avl_right, node); /* node: RH+1 */
> lr->avl_height = rh + 2;
> - RCU_INIT_POINTER(*nodep, lr);
> + rcu_init_pointer(*nodep, lr);
> }
> } else if (rh > lh + 1) { /* r: LH+2 */
> struct inet_peer *rr, *rl, *rlr, *rll;
> @@ -337,26 +337,26 @@ static void peer_avl_rebalance(struct inet_peer __rcu **stack[],
> rl = rcu_deref_locked(r->avl_left, base);
> rlh = node_height(rl);
> if (rlh <= node_height(rr)) { /* rr: LH+1 */
> - RCU_INIT_POINTER(node->avl_right, rl); /* rl: LH or LH+1 */
> - RCU_INIT_POINTER(node->avl_left, l); /* l: LH */
> + rcu_init_pointer(node->avl_right, rl); /* rl: LH or LH+1 */
> + rcu_init_pointer(node->avl_left, l); /* l: LH */
> node->avl_height = rlh + 1; /* LH+1 or LH+2 */
> - RCU_INIT_POINTER(r->avl_right, rr); /* rr: LH+1 */
> - RCU_INIT_POINTER(r->avl_left, node); /* node: LH+1 or LH+2 */
> + rcu_init_pointer(r->avl_right, rr); /* rr: LH+1 */
> + rcu_init_pointer(r->avl_left, node); /* node: LH+1 or LH+2 */
> r->avl_height = node->avl_height + 1;
> - RCU_INIT_POINTER(*nodep, r);
> + rcu_init_pointer(*nodep, r);
> } else { /* rr: RH, rl: RH+1 */
> rlr = rcu_deref_locked(rl->avl_right, base);/* rlr: LH or LH-1 */
> rll = rcu_deref_locked(rl->avl_left, base);/* rll: LH or LH-1 */
> - RCU_INIT_POINTER(node->avl_right, rll); /* rll: LH or LH-1 */
> - RCU_INIT_POINTER(node->avl_left, l); /* l: LH */
> + rcu_init_pointer(node->avl_right, rll); /* rll: LH or LH-1 */
> + rcu_init_pointer(node->avl_left, l); /* l: LH */
> node->avl_height = lh + 1; /* node: LH+1 */
> - RCU_INIT_POINTER(r->avl_right, rr); /* rr: LH */
> - RCU_INIT_POINTER(r->avl_left, rlr); /* rlr: LH or LH-1 */
> + rcu_init_pointer(r->avl_right, rr); /* rr: LH */
> + rcu_init_pointer(r->avl_left, rlr); /* rlr: LH or LH-1 */
> r->avl_height = lh + 1; /* r: LH+1 */
> - RCU_INIT_POINTER(rl->avl_right, r); /* r: LH+1 */
> - RCU_INIT_POINTER(rl->avl_left, node); /* node: LH+1 */
> + rcu_init_pointer(rl->avl_right, r); /* r: LH+1 */
> + rcu_init_pointer(rl->avl_left, node); /* node: LH+1 */
> rl->avl_height = lh + 2;
> - RCU_INIT_POINTER(*nodep, rl);
> + rcu_init_pointer(*nodep, rl);
> }
> } else {
> node->avl_height = (lh > rh ? lh : rh) + 1;
> @@ -400,7 +400,7 @@ static void unlink_from_pool(struct inet_peer *p, struct inet_peer_base *base,
> /* t is removed, t->daddr > x->daddr for any
> * x in p->avl_left subtree.
> * Put t in the old place of p. */
> - RCU_INIT_POINTER(*delp[0], t);
> + rcu_init_pointer(*delp[0], t);
> t->avl_left = p->avl_left;
> t->avl_right = p->avl_right;
> t->avl_height = p->avl_height;
> diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
> index d84dc8d..19700ee 100644
> --- a/net/ipv4/ipmr.c
> +++ b/net/ipv4/ipmr.c
> @@ -1253,7 +1253,7 @@ static void mrtsock_destruct(struct sock *sk)
> inet_netconf_notify_devconf(net, NETCONFA_MC_FORWARDING,
> NETCONFA_IFINDEX_ALL,
> net->ipv4.devconf_all);
> - RCU_INIT_POINTER(mrt->mroute_sk, NULL);
> + rcu_init_pointer(mrt->mroute_sk, NULL);
> mroute_clean_tables(mrt);
> }
> }
> diff --git a/net/ipv4/netfilter/nf_nat_h323.c b/net/ipv4/netfilter/nf_nat_h323.c
> index 574f7eb..c927fb1 100644
> --- a/net/ipv4/netfilter/nf_nat_h323.c
> +++ b/net/ipv4/netfilter/nf_nat_h323.c
> @@ -590,15 +590,15 @@ static int __init init(void)
> BUG_ON(nat_callforwarding_hook != NULL);
> BUG_ON(nat_q931_hook != NULL);
>
> - RCU_INIT_POINTER(set_h245_addr_hook, set_h245_addr);
> - RCU_INIT_POINTER(set_h225_addr_hook, set_h225_addr);
> - RCU_INIT_POINTER(set_sig_addr_hook, set_sig_addr);
> - RCU_INIT_POINTER(set_ras_addr_hook, set_ras_addr);
> - RCU_INIT_POINTER(nat_rtp_rtcp_hook, nat_rtp_rtcp);
> - RCU_INIT_POINTER(nat_t120_hook, nat_t120);
> - RCU_INIT_POINTER(nat_h245_hook, nat_h245);
> - RCU_INIT_POINTER(nat_callforwarding_hook, nat_callforwarding);
> - RCU_INIT_POINTER(nat_q931_hook, nat_q931);
> + rcu_init_pointer(set_h245_addr_hook, set_h245_addr);
> + rcu_init_pointer(set_h225_addr_hook, set_h225_addr);
> + rcu_init_pointer(set_sig_addr_hook, set_sig_addr);
> + rcu_init_pointer(set_ras_addr_hook, set_ras_addr);
> + rcu_init_pointer(nat_rtp_rtcp_hook, nat_rtp_rtcp);
> + rcu_init_pointer(nat_t120_hook, nat_t120);
> + rcu_init_pointer(nat_h245_hook, nat_h245);
> + rcu_init_pointer(nat_callforwarding_hook, nat_callforwarding);
> + rcu_init_pointer(nat_q931_hook, nat_q931);
> nf_ct_helper_expectfn_register(&q931_nat);
> nf_ct_helper_expectfn_register(&callforwarding_nat);
> return 0;
> @@ -607,15 +607,15 @@ static int __init init(void)
> /****************************************************************************/
> static void __exit fini(void)
> {
> - RCU_INIT_POINTER(set_h245_addr_hook, NULL);
> - RCU_INIT_POINTER(set_h225_addr_hook, NULL);
> - RCU_INIT_POINTER(set_sig_addr_hook, NULL);
> - RCU_INIT_POINTER(set_ras_addr_hook, NULL);
> - RCU_INIT_POINTER(nat_rtp_rtcp_hook, NULL);
> - RCU_INIT_POINTER(nat_t120_hook, NULL);
> - RCU_INIT_POINTER(nat_h245_hook, NULL);
> - RCU_INIT_POINTER(nat_callforwarding_hook, NULL);
> - RCU_INIT_POINTER(nat_q931_hook, NULL);
> + rcu_init_pointer(set_h245_addr_hook, NULL);
> + rcu_init_pointer(set_h225_addr_hook, NULL);
> + rcu_init_pointer(set_sig_addr_hook, NULL);
> + rcu_init_pointer(set_ras_addr_hook, NULL);
> + rcu_init_pointer(nat_rtp_rtcp_hook, NULL);
> + rcu_init_pointer(nat_t120_hook, NULL);
> + rcu_init_pointer(nat_h245_hook, NULL);
> + rcu_init_pointer(nat_callforwarding_hook, NULL);
> + rcu_init_pointer(nat_q931_hook, NULL);
> nf_ct_helper_expectfn_unregister(&q931_nat);
> nf_ct_helper_expectfn_unregister(&callforwarding_nat);
> synchronize_rcu();
> diff --git a/net/ipv4/netfilter/nf_nat_pptp.c b/net/ipv4/netfilter/nf_nat_pptp.c
> index 657d230..63b58b2 100644
> --- a/net/ipv4/netfilter/nf_nat_pptp.c
> +++ b/net/ipv4/netfilter/nf_nat_pptp.c
> @@ -285,25 +285,25 @@ static int __init nf_nat_helper_pptp_init(void)
> nf_nat_need_gre();
>
> BUG_ON(nf_nat_pptp_hook_outbound != NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_outbound, pptp_outbound_pkt);
> + rcu_init_pointer(nf_nat_pptp_hook_outbound, pptp_outbound_pkt);
>
> BUG_ON(nf_nat_pptp_hook_inbound != NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_inbound, pptp_inbound_pkt);
> + rcu_init_pointer(nf_nat_pptp_hook_inbound, pptp_inbound_pkt);
>
> BUG_ON(nf_nat_pptp_hook_exp_gre != NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_exp_gre, pptp_exp_gre);
> + rcu_init_pointer(nf_nat_pptp_hook_exp_gre, pptp_exp_gre);
>
> BUG_ON(nf_nat_pptp_hook_expectfn != NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_expectfn, pptp_nat_expected);
> + rcu_init_pointer(nf_nat_pptp_hook_expectfn, pptp_nat_expected);
> return 0;
> }
>
> static void __exit nf_nat_helper_pptp_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_pptp_hook_expectfn, NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_exp_gre, NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_inbound, NULL);
> - RCU_INIT_POINTER(nf_nat_pptp_hook_outbound, NULL);
> + rcu_init_pointer(nf_nat_pptp_hook_expectfn, NULL);
> + rcu_init_pointer(nf_nat_pptp_hook_exp_gre, NULL);
> + rcu_init_pointer(nf_nat_pptp_hook_inbound, NULL);
> + rcu_init_pointer(nf_nat_pptp_hook_outbound, NULL);
> synchronize_rcu();
> }
>
> diff --git a/net/ipv4/netfilter/nf_nat_snmp_basic.c b/net/ipv4/netfilter/nf_nat_snmp_basic.c
> index 7c67667..9b786d1 100644
> --- a/net/ipv4/netfilter/nf_nat_snmp_basic.c
> +++ b/net/ipv4/netfilter/nf_nat_snmp_basic.c
> @@ -1291,7 +1291,7 @@ static int __init nf_nat_snmp_basic_init(void)
> int ret = 0;
>
> BUG_ON(nf_nat_snmp_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_snmp_hook, help);
> + rcu_init_pointer(nf_nat_snmp_hook, help);
>
> ret = nf_conntrack_helper_register(&snmp_trap_helper);
> if (ret < 0) {
> @@ -1303,7 +1303,7 @@ static int __init nf_nat_snmp_basic_init(void)
>
> static void __exit nf_nat_snmp_basic_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_snmp_hook, NULL);
> + rcu_init_pointer(nf_nat_snmp_hook, NULL);
> nf_conntrack_helper_unregister(&snmp_trap_helper);
> }
>
> diff --git a/net/ipv4/route.c b/net/ipv4/route.c
> index db1e0da..186ff04 100644
> --- a/net/ipv4/route.c
> +++ b/net/ipv4/route.c
> @@ -563,12 +563,12 @@ static void fnhe_flush_routes(struct fib_nh_exception *fnhe)
>
> rt = rcu_dereference(fnhe->fnhe_rth_input);
> if (rt) {
> - RCU_INIT_POINTER(fnhe->fnhe_rth_input, NULL);
> + rcu_init_pointer(fnhe->fnhe_rth_input, NULL);
> rt_free(rt);
> }
> rt = rcu_dereference(fnhe->fnhe_rth_output);
> if (rt) {
> - RCU_INIT_POINTER(fnhe->fnhe_rth_output, NULL);
> + rcu_init_pointer(fnhe->fnhe_rth_output, NULL);
> rt_free(rt);
> }
> }
> diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
> index 6c7fa08..563a9e4 100644
> --- a/net/ipv6/addrconf.c
> +++ b/net/ipv6/addrconf.c
> @@ -3017,7 +3017,7 @@ static int addrconf_ifdown(struct net_device *dev, int how)
> idev->dead = 1;
>
> /* protected by rtnl_lock */
> - RCU_INIT_POINTER(dev->ip6_ptr, NULL);
> + rcu_init_pointer(dev->ip6_ptr, NULL);
>
> /* Step 1.5: remove snmp6 entry */
> snmp6_unregister_dev(idev);
> diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
> index b05b609..652e28a 100644
> --- a/net/ipv6/ip6_tunnel.c
> +++ b/net/ipv6/ip6_tunnel.c
> @@ -386,7 +386,7 @@ ip6_tnl_dev_uninit(struct net_device *dev)
> struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id);
>
> if (dev == ip6n->fb_tnl_dev)
> - RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
> + rcu_init_pointer(ip6n->tnls_wc[0], NULL);
> else
> ip6_tnl_unlink(ip6n, t);
> ip6_tnl_dst_reset(t);
> diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c
> index b7c0f82..bff37b3 100644
> --- a/net/ipv6/ip6_vti.c
> +++ b/net/ipv6/ip6_vti.c
> @@ -275,7 +275,7 @@ static void vti6_dev_uninit(struct net_device *dev)
> struct vti6_net *ip6n = net_generic(net, vti6_net_id);
>
> if (dev == ip6n->fb_tnl_dev)
> - RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
> + rcu_init_pointer(ip6n->tnls_wc[0], NULL);
> else
> vti6_tnl_unlink(ip6n, t);
> dev_put(dev);
> diff --git a/net/ipv6/netfilter.c b/net/ipv6/netfilter.c
> index 95f3f1d..88d73a1 100644
> --- a/net/ipv6/netfilter.c
> +++ b/net/ipv6/netfilter.c
> @@ -203,7 +203,7 @@ static const struct nf_afinfo nf_ip6_afinfo = {
>
> int __init ipv6_netfilter_init(void)
> {
> - RCU_INIT_POINTER(nf_ipv6_ops, &ipv6ops);
> + rcu_init_pointer(nf_ipv6_ops, &ipv6ops);
> return nf_register_afinfo(&nf_ip6_afinfo);
> }
>
> @@ -212,6 +212,6 @@ int __init ipv6_netfilter_init(void)
> */
> void ipv6_netfilter_fini(void)
> {
> - RCU_INIT_POINTER(nf_ipv6_ops, NULL);
> + rcu_init_pointer(nf_ipv6_ops, NULL);
> nf_unregister_afinfo(&nf_ip6_afinfo);
> }
> diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
> index 1f29996..594ac2f 100644
> --- a/net/ipv6/raw.c
> +++ b/net/ipv6/raw.c
> @@ -140,7 +140,7 @@ EXPORT_SYMBOL(rawv6_mh_filter_register);
>
> int rawv6_mh_filter_unregister(mh_filter_t filter)
> {
> - RCU_INIT_POINTER(mh_filter, NULL);
> + rcu_init_pointer(mh_filter, NULL);
> synchronize_rcu();
> return 0;
> }
> diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
> index e5a453c..bbde433 100644
> --- a/net/ipv6/sit.c
> +++ b/net/ipv6/sit.c
> @@ -470,7 +470,7 @@ static void ipip6_tunnel_uninit(struct net_device *dev)
> struct sit_net *sitn = net_generic(tunnel->net, sit_net_id);
>
> if (dev == sitn->fb_tunnel_dev) {
> - RCU_INIT_POINTER(sitn->tunnels_wc[0], NULL);
> + rcu_init_pointer(sitn->tunnels_wc[0], NULL);
> } else {
> ipip6_tunnel_unlink(sitn, tunnel);
> ipip6_tunnel_del_prl(tunnel, NULL);
> diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
> index 31bf258..22d4d35 100644
> --- a/net/mac80211/agg-rx.c
> +++ b/net/mac80211/agg-rx.c
> @@ -72,7 +72,7 @@ void ___ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid,
> if (!tid_rx)
> return;
>
> - RCU_INIT_POINTER(sta->ampdu_mlme.tid_rx[tid], NULL);
> + rcu_init_pointer(sta->ampdu_mlme.tid_rx[tid], NULL);
>
> ht_dbg(sta->sdata,
> "Rx BA session stop requested for %pM tid %u %s reason: %d\n",
> diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
> index aaa59d7..3839764 100644
> --- a/net/mac80211/cfg.c
> +++ b/net/mac80211/cfg.c
> @@ -64,7 +64,7 @@ static int ieee80211_change_iface(struct wiphy *wiphy,
>
> if (type == NL80211_IFTYPE_AP_VLAN &&
> params && params->use_4addr == 0)
> - RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
> + rcu_init_pointer(sdata->u.vlan.sta, NULL);
> else if (type == NL80211_IFTYPE_STATION &&
> params && params->use_4addr >= 0)
> sdata->u.mgd.use_4addr = params->use_4addr;
> @@ -1033,7 +1033,7 @@ static int ieee80211_start_ap(struct wiphy *wiphy, struct net_device *dev,
>
> if (old)
> kfree_rcu(old, rcu_head);
> - RCU_INIT_POINTER(sdata->u.ap.beacon, NULL);
> + rcu_init_pointer(sdata->u.ap.beacon, NULL);
> ieee80211_vif_release_channel(sdata);
> return err;
> }
> @@ -1102,8 +1102,8 @@ static int ieee80211_stop_ap(struct wiphy *wiphy, struct net_device *dev)
> netif_carrier_off(dev);
>
> /* remove beacon and probe response */
> - RCU_INIT_POINTER(sdata->u.ap.beacon, NULL);
> - RCU_INIT_POINTER(sdata->u.ap.probe_resp, NULL);
> + rcu_init_pointer(sdata->u.ap.beacon, NULL);
> + rcu_init_pointer(sdata->u.ap.probe_resp, NULL);
> kfree_rcu(old_beacon, rcu_head);
> if (old_probe_resp)
> kfree_rcu(old_probe_resp, rcu_head);
> diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
> index 06d2878..bd477c2 100644
> --- a/net/mac80211/ibss.c
> +++ b/net/mac80211/ibss.c
> @@ -365,7 +365,7 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
> sdata->vif.bss_conf.ibss_creator = false;
> sdata->vif.bss_conf.enable_beacon = false;
> sdata->vif.bss_conf.ssid_len = 0;
> - RCU_INIT_POINTER(ifibss->presp, NULL);
> + rcu_init_pointer(ifibss->presp, NULL);
> kfree_rcu(presp, rcu_head);
> mutex_lock(&local->mtx);
> ieee80211_vif_release_channel(sdata);
> @@ -735,7 +735,7 @@ static void ieee80211_ibss_disconnect(struct ieee80211_sub_if_data *sdata)
> /* remove beacon */
> presp = rcu_dereference_protected(ifibss->presp,
> lockdep_is_held(&sdata->wdev.mtx));
> - RCU_INIT_POINTER(sdata->u.ibss.presp, NULL);
> + rcu_init_pointer(sdata->u.ibss.presp, NULL);
> if (presp)
> kfree_rcu(presp, rcu_head);
>
> diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
> index f70e9cd..9271537 100644
> --- a/net/mac80211/mesh.c
> +++ b/net/mac80211/mesh.c
> @@ -1341,7 +1341,7 @@ void ieee80211_mesh_init_sdata(struct ieee80211_sub_if_data *sdata)
> skb_queue_head_init(&ifmsh->ps.bc_buf);
> spin_lock_init(&ifmsh->mesh_preq_queue_lock);
> spin_lock_init(&ifmsh->sync_offset_lock);
> - RCU_INIT_POINTER(ifmsh->beacon, NULL);
> + rcu_init_pointer(ifmsh->beacon, NULL);
>
> sdata->vif.bss_conf.bssid = zero_addr;
> }
> diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c
> index 7d050ed..5db5430 100644
> --- a/net/mac80211/mesh_pathtbl.c
> +++ b/net/mac80211/mesh_pathtbl.c
> @@ -1068,8 +1068,8 @@ int mesh_pathtbl_init(void)
> INIT_HLIST_HEAD(tbl_mpp->known_gates);
>
> /* Need no locking since this is during init */
> - RCU_INIT_POINTER(mesh_paths, tbl_path);
> - RCU_INIT_POINTER(mpp_paths, tbl_mpp);
> + rcu_init_pointer(mesh_paths, tbl_path);
> + rcu_init_pointer(mpp_paths, tbl_mpp);
>
> return 0;
>
> diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
> index 137a192..0d2c0bf 100644
> --- a/net/mac80211/sta_info.c
> +++ b/net/mac80211/sta_info.c
> @@ -860,7 +860,7 @@ static int __must_check __sta_info_destroy_part1(struct sta_info *sta)
>
> if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
> rcu_access_pointer(sdata->u.vlan.sta) == sta)
> - RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
> + rcu_init_pointer(sdata->u.vlan.sta, NULL);
>
> return 0;
> }
> diff --git a/net/netfilter/core.c b/net/netfilter/core.c
> index 1fbab0c..5f88a73 100644
> --- a/net/netfilter/core.c
> +++ b/net/netfilter/core.c
> @@ -40,7 +40,7 @@ int nf_register_afinfo(const struct nf_afinfo *afinfo)
> err = mutex_lock_interruptible(&afinfo_mutex);
> if (err < 0)
> return err;
> - RCU_INIT_POINTER(nf_afinfo[afinfo->family], afinfo);
> + rcu_init_pointer(nf_afinfo[afinfo->family], afinfo);
> mutex_unlock(&afinfo_mutex);
> return 0;
> }
> @@ -49,7 +49,7 @@ EXPORT_SYMBOL_GPL(nf_register_afinfo);
> void nf_unregister_afinfo(const struct nf_afinfo *afinfo)
> {
> mutex_lock(&afinfo_mutex);
> - RCU_INIT_POINTER(nf_afinfo[afinfo->family], NULL);
> + rcu_init_pointer(nf_afinfo[afinfo->family], NULL);
> mutex_unlock(&afinfo_mutex);
> synchronize_rcu();
> }
> diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
> index c42e83d..e8b609d 100644
> --- a/net/netfilter/ipvs/ip_vs_ctl.c
> +++ b/net/netfilter/ipvs/ip_vs_ctl.c
> @@ -641,7 +641,7 @@ static void __ip_vs_dst_cache_reset(struct ip_vs_dest *dest)
>
> old = rcu_dereference_protected(dest->dest_dst, 1);
> if (old) {
> - RCU_INIT_POINTER(dest->dest_dst, NULL);
> + rcu_init_pointer(dest->dest_dst, NULL);
> call_rcu(&old->rcu_head, ip_vs_dest_dst_rcu_free);
> }
> }
> @@ -1221,7 +1221,7 @@ ip_vs_add_service(struct net *net, struct ip_vs_service_user_kern *u,
> sched = NULL;
>
> /* Bind the ct retriever */
> - RCU_INIT_POINTER(svc->pe, pe);
> + rcu_init_pointer(svc->pe, pe);
> pe = NULL;
>
> /* Update the virtual service counters */
> diff --git a/net/netfilter/ipvs/ip_vs_dh.c b/net/netfilter/ipvs/ip_vs_dh.c
> index c3b8454..6cd09c1 100644
> --- a/net/netfilter/ipvs/ip_vs_dh.c
> +++ b/net/netfilter/ipvs/ip_vs_dh.c
> @@ -115,14 +115,14 @@ ip_vs_dh_reassign(struct ip_vs_dh_state *s, struct ip_vs_service *svc)
> if (dest)
> ip_vs_dest_put(dest);
> if (empty)
> - RCU_INIT_POINTER(b->dest, NULL);
> + rcu_init_pointer(b->dest, NULL);
> else {
> if (p == &svc->destinations)
> p = p->next;
>
> dest = list_entry(p, struct ip_vs_dest, n_list);
> ip_vs_dest_hold(dest);
> - RCU_INIT_POINTER(b->dest, dest);
> + rcu_init_pointer(b->dest, dest);
>
> p = p->next;
> }
> @@ -146,7 +146,7 @@ static void ip_vs_dh_flush(struct ip_vs_dh_state *s)
> dest = rcu_dereference_protected(b->dest, 1);
> if (dest) {
> ip_vs_dest_put(dest);
> - RCU_INIT_POINTER(b->dest, NULL);
> + rcu_init_pointer(b->dest, NULL);
> }
> b++;
> }
> diff --git a/net/netfilter/ipvs/ip_vs_sh.c b/net/netfilter/ipvs/ip_vs_sh.c
> index cc65b2f..6a3e885 100644
> --- a/net/netfilter/ipvs/ip_vs_sh.c
> +++ b/net/netfilter/ipvs/ip_vs_sh.c
> @@ -182,14 +182,14 @@ ip_vs_sh_reassign(struct ip_vs_sh_state *s, struct ip_vs_service *svc)
> if (dest)
> ip_vs_dest_put(dest);
> if (empty)
> - RCU_INIT_POINTER(b->dest, NULL);
> + rcu_init_pointer(b->dest, NULL);
> else {
> if (p == &svc->destinations)
> p = p->next;
>
> dest = list_entry(p, struct ip_vs_dest, n_list);
> ip_vs_dest_hold(dest);
> - RCU_INIT_POINTER(b->dest, dest);
> + rcu_init_pointer(b->dest, dest);
>
> IP_VS_DBG_BUF(6, "assigned i: %d dest: %s weight: %d\n",
> i, IP_VS_DBG_ADDR(svc->af, &dest->addr),
> @@ -222,7 +222,7 @@ static void ip_vs_sh_flush(struct ip_vs_sh_state *s)
> dest = rcu_dereference_protected(b->dest, 1);
> if (dest) {
> ip_vs_dest_put(dest);
> - RCU_INIT_POINTER(b->dest, NULL);
> + rcu_init_pointer(b->dest, NULL);
> }
> b++;
> }
> diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
> index 75421f2..57e1308 100644
> --- a/net/netfilter/nf_conntrack_core.c
> +++ b/net/netfilter/nf_conntrack_core.c
> @@ -1498,12 +1498,12 @@ static int untrack_refs(void)
>
> void nf_conntrack_cleanup_start(void)
> {
> - RCU_INIT_POINTER(ip_ct_attach, NULL);
> + rcu_init_pointer(ip_ct_attach, NULL);
> }
>
> void nf_conntrack_cleanup_end(void)
> {
> - RCU_INIT_POINTER(nf_ct_destroy, NULL);
> + rcu_init_pointer(nf_ct_destroy, NULL);
> while (untrack_refs() > 0)
> schedule();
>
> @@ -1778,8 +1778,8 @@ err_expect:
> void nf_conntrack_init_end(void)
> {
> /* For use by REJECT target */
> - RCU_INIT_POINTER(ip_ct_attach, nf_conntrack_attach);
> - RCU_INIT_POINTER(nf_ct_destroy, destroy_conntrack);
> + rcu_init_pointer(ip_ct_attach, nf_conntrack_attach);
> + rcu_init_pointer(nf_ct_destroy, destroy_conntrack);
> }
>
> /*
> diff --git a/net/netfilter/nf_conntrack_ecache.c b/net/netfilter/nf_conntrack_ecache.c
> index 1df1761..30ba3b0 100644
> --- a/net/netfilter/nf_conntrack_ecache.c
> +++ b/net/netfilter/nf_conntrack_ecache.c
> @@ -114,7 +114,7 @@ void nf_conntrack_unregister_notifier(struct net *net,
> notify = rcu_dereference_protected(net->ct.nf_conntrack_event_cb,
> lockdep_is_held(&nf_ct_ecache_mutex));
> BUG_ON(notify != new);
> - RCU_INIT_POINTER(net->ct.nf_conntrack_event_cb, NULL);
> + rcu_init_pointer(net->ct.nf_conntrack_event_cb, NULL);
> mutex_unlock(&nf_ct_ecache_mutex);
> }
> EXPORT_SYMBOL_GPL(nf_conntrack_unregister_notifier);
> @@ -150,7 +150,7 @@ void nf_ct_expect_unregister_notifier(struct net *net,
> notify = rcu_dereference_protected(net->ct.nf_expect_event_cb,
> lockdep_is_held(&nf_ct_ecache_mutex));
> BUG_ON(notify != new);
> - RCU_INIT_POINTER(net->ct.nf_expect_event_cb, NULL);
> + rcu_init_pointer(net->ct.nf_expect_event_cb, NULL);
> mutex_unlock(&nf_ct_ecache_mutex);
> }
> EXPORT_SYMBOL_GPL(nf_ct_expect_unregister_notifier);
> diff --git a/net/netfilter/nf_conntrack_extend.c b/net/netfilter/nf_conntrack_extend.c
> index 1a95459..bbbea59b 100644
> --- a/net/netfilter/nf_conntrack_extend.c
> +++ b/net/netfilter/nf_conntrack_extend.c
> @@ -183,7 +183,7 @@ EXPORT_SYMBOL_GPL(nf_ct_extend_register);
> void nf_ct_extend_unregister(struct nf_ct_ext_type *type)
> {
> mutex_lock(&nf_ct_ext_type_mutex);
> - RCU_INIT_POINTER(nf_ct_ext_types[type->id], NULL);
> + rcu_init_pointer(nf_ct_ext_types[type->id], NULL);
> update_alloc_size(type);
> mutex_unlock(&nf_ct_ext_type_mutex);
> rcu_barrier(); /* Wait for completion of call_rcu()'s */
> diff --git a/net/netfilter/nf_conntrack_helper.c b/net/netfilter/nf_conntrack_helper.c
> index 5b3eae7..a4dce7f 100644
> --- a/net/netfilter/nf_conntrack_helper.c
> +++ b/net/netfilter/nf_conntrack_helper.c
> @@ -222,7 +222,7 @@ int __nf_ct_try_assign_helper(struct nf_conn *ct, struct nf_conn *tmpl,
>
> if (helper == NULL) {
> if (help)
> - RCU_INIT_POINTER(help->helper, NULL);
> + rcu_init_pointer(help->helper, NULL);
> goto out;
> }
>
> @@ -239,7 +239,7 @@ int __nf_ct_try_assign_helper(struct nf_conn *ct, struct nf_conn *tmpl,
> struct nf_conntrack_helper *tmp = rcu_dereference(help->helper);
>
> if (tmp && tmp->help != helper->help) {
> - RCU_INIT_POINTER(help->helper, NULL);
> + rcu_init_pointer(help->helper, NULL);
> goto out;
> }
> }
> @@ -259,7 +259,7 @@ static inline int unhelp(struct nf_conntrack_tuple_hash *i,
>
> if (help && rcu_dereference_raw(help->helper) == me) {
> nf_conntrack_event(IPCT_HELPER, ct);
> - RCU_INIT_POINTER(help->helper, NULL);
> + rcu_init_pointer(help->helper, NULL);
> }
> return 0;
> }
> diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
> index ccc46fa..f147656 100644
> --- a/net/netfilter/nf_conntrack_netlink.c
> +++ b/net/netfilter/nf_conntrack_netlink.c
> @@ -1372,7 +1372,7 @@ ctnetlink_change_helper(struct nf_conn *ct, const struct nlattr * const cda[])
> if (help && help->helper) {
> /* we had a helper before ... */
> nf_ct_remove_expectations(ct);
> - RCU_INIT_POINTER(help->helper, NULL);
> + rcu_init_pointer(help->helper, NULL);
> }
>
> return 0;
> @@ -1666,7 +1666,7 @@ ctnetlink_create_conntrack(struct net *net, u16 zone,
> helper->from_nlattr(helpinfo, ct);
>
> /* not in hash table yet so not strictly necessary */
> - RCU_INIT_POINTER(help->helper, helper);
> + rcu_init_pointer(help->helper, helper);
> }
> } else {
> /* try an implicit helper assignation */
> @@ -3213,7 +3213,7 @@ static int __init ctnetlink_init(void)
> }
> #ifdef CONFIG_NETFILTER_NETLINK_QUEUE_CT
> /* setup interaction between nf_queue and nf_conntrack_netlink. */
> - RCU_INIT_POINTER(nfq_ct_hook, &ctnetlink_nfqueue_hook);
> + rcu_init_pointer(nfq_ct_hook, &ctnetlink_nfqueue_hook);
> #endif
> return 0;
>
> @@ -3233,7 +3233,7 @@ static void __exit ctnetlink_exit(void)
> nfnetlink_subsys_unregister(&ctnl_exp_subsys);
> nfnetlink_subsys_unregister(&ctnl_subsys);
> #ifdef CONFIG_NETFILTER_NETLINK_QUEUE_CT
> - RCU_INIT_POINTER(nfq_ct_hook, NULL);
> + rcu_init_pointer(nfq_ct_hook, NULL);
> #endif
> }
>
> diff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c
> index b65d586..2dc7f72 100644
> --- a/net/netfilter/nf_conntrack_proto.c
> +++ b/net/netfilter/nf_conntrack_proto.c
> @@ -384,7 +384,7 @@ int nf_ct_l4proto_register(struct nf_conntrack_l4proto *l4proto)
> }
>
> for (i = 0; i < MAX_NF_CT_PROTO; i++)
> - RCU_INIT_POINTER(proto_array[i], &nf_conntrack_l4proto_generic);
> + rcu_init_pointer(proto_array[i], &nf_conntrack_l4proto_generic);
>
> /* Before making proto_array visible to lockless readers,
> * we must make sure its content is committed to memory.
> diff --git a/net/netfilter/nf_log.c b/net/netfilter/nf_log.c
> index 85296d4..a9580ec 100644
> --- a/net/netfilter/nf_log.c
> +++ b/net/netfilter/nf_log.c
> @@ -58,7 +58,7 @@ void nf_log_unset(struct net *net, const struct nf_logger *logger)
> log = rcu_dereference_protected(net->nf.nf_loggers[i],
> lockdep_is_held(&nf_log_mutex));
> if (log == logger)
> - RCU_INIT_POINTER(net->nf.nf_loggers[i], NULL);
> + rcu_init_pointer(net->nf.nf_loggers[i], NULL);
> }
> mutex_unlock(&nf_log_mutex);
> synchronize_rcu();
> @@ -124,7 +124,7 @@ void nf_log_unbind_pf(struct net *net, u_int8_t pf)
> if (pf >= ARRAY_SIZE(net->nf.nf_loggers))
> return;
> mutex_lock(&nf_log_mutex);
> - RCU_INIT_POINTER(net->nf.nf_loggers[pf], NULL);
> + rcu_init_pointer(net->nf.nf_loggers[pf], NULL);
> mutex_unlock(&nf_log_mutex);
> }
> EXPORT_SYMBOL(nf_log_unbind_pf);
> diff --git a/net/netfilter/nf_nat_amanda.c b/net/netfilter/nf_nat_amanda.c
> index eb77238..d5ac5b2 100644
> --- a/net/netfilter/nf_nat_amanda.c
> +++ b/net/netfilter/nf_nat_amanda.c
> @@ -75,14 +75,14 @@ static unsigned int help(struct sk_buff *skb,
>
> static void __exit nf_nat_amanda_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_amanda_hook, NULL);
> + rcu_init_pointer(nf_nat_amanda_hook, NULL);
> synchronize_rcu();
> }
>
> static int __init nf_nat_amanda_init(void)
> {
> BUG_ON(nf_nat_amanda_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_amanda_hook, help);
> + rcu_init_pointer(nf_nat_amanda_hook, help);
> return 0;
> }
>
> diff --git a/net/netfilter/nf_nat_core.c b/net/netfilter/nf_nat_core.c
> index 52ca952..1219b5e 100644
> --- a/net/netfilter/nf_nat_core.c
> +++ b/net/netfilter/nf_nat_core.c
> @@ -562,7 +562,7 @@ int nf_nat_l4proto_register(u8 l3proto, const struct nf_nat_l4proto *l4proto)
> }
>
> for (i = 0; i < IPPROTO_MAX; i++)
> - RCU_INIT_POINTER(l4protos[i], &nf_nat_l4proto_unknown);
> + rcu_init_pointer(l4protos[i], &nf_nat_l4proto_unknown);
>
> /* Before making proto_array visible to lockless readers,
> * we must make sure its content is committed to memory.
> @@ -579,7 +579,7 @@ int nf_nat_l4proto_register(u8 l3proto, const struct nf_nat_l4proto *l4proto)
> ret = -EBUSY;
> goto out;
> }
> - RCU_INIT_POINTER(nf_nat_l4protos[l3proto][l4proto->l4proto], l4proto);
> + rcu_init_pointer(nf_nat_l4protos[l3proto][l4proto->l4proto], l4proto);
> out:
> mutex_unlock(&nf_nat_proto_mutex);
> return ret;
> @@ -590,7 +590,7 @@ EXPORT_SYMBOL_GPL(nf_nat_l4proto_register);
> void nf_nat_l4proto_unregister(u8 l3proto, const struct nf_nat_l4proto *l4proto)
> {
> mutex_lock(&nf_nat_proto_mutex);
> - RCU_INIT_POINTER(nf_nat_l4protos[l3proto][l4proto->l4proto],
> + rcu_init_pointer(nf_nat_l4protos[l3proto][l4proto->l4proto],
> &nf_nat_l4proto_unknown);
> mutex_unlock(&nf_nat_proto_mutex);
> synchronize_rcu();
> @@ -608,13 +608,13 @@ int nf_nat_l3proto_register(const struct nf_nat_l3proto *l3proto)
> return err;
>
> mutex_lock(&nf_nat_proto_mutex);
> - RCU_INIT_POINTER(nf_nat_l4protos[l3proto->l3proto][IPPROTO_TCP],
> + rcu_init_pointer(nf_nat_l4protos[l3proto->l3proto][IPPROTO_TCP],
> &nf_nat_l4proto_tcp);
> - RCU_INIT_POINTER(nf_nat_l4protos[l3proto->l3proto][IPPROTO_UDP],
> + rcu_init_pointer(nf_nat_l4protos[l3proto->l3proto][IPPROTO_UDP],
> &nf_nat_l4proto_udp);
> mutex_unlock(&nf_nat_proto_mutex);
>
> - RCU_INIT_POINTER(nf_nat_l3protos[l3proto->l3proto], l3proto);
> + rcu_init_pointer(nf_nat_l3protos[l3proto->l3proto], l3proto);
> return 0;
> }
> EXPORT_SYMBOL_GPL(nf_nat_l3proto_register);
> @@ -622,7 +622,7 @@ EXPORT_SYMBOL_GPL(nf_nat_l3proto_register);
> void nf_nat_l3proto_unregister(const struct nf_nat_l3proto *l3proto)
> {
> mutex_lock(&nf_nat_proto_mutex);
> - RCU_INIT_POINTER(nf_nat_l3protos[l3proto->l3proto], NULL);
> + rcu_init_pointer(nf_nat_l3protos[l3proto->l3proto], NULL);
> mutex_unlock(&nf_nat_proto_mutex);
> synchronize_rcu();
>
> @@ -822,11 +822,11 @@ static int __init nf_nat_init(void)
> nf_ct_untracked_status_or(IPS_NAT_DONE_MASK);
>
> BUG_ON(nfnetlink_parse_nat_setup_hook != NULL);
> - RCU_INIT_POINTER(nfnetlink_parse_nat_setup_hook,
> + rcu_init_pointer(nfnetlink_parse_nat_setup_hook,
> nfnetlink_parse_nat_setup);
> #ifdef CONFIG_XFRM
> BUG_ON(nf_nat_decode_session_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_decode_session_hook, __nf_nat_decode_session);
> + rcu_init_pointer(nf_nat_decode_session_hook, __nf_nat_decode_session);
> #endif
> return 0;
>
> @@ -842,9 +842,9 @@ static void __exit nf_nat_cleanup(void)
> unregister_pernet_subsys(&nf_nat_net_ops);
> nf_ct_extend_unregister(&nat_extend);
> nf_ct_helper_expectfn_unregister(&follow_master_nat);
> - RCU_INIT_POINTER(nfnetlink_parse_nat_setup_hook, NULL);
> + rcu_init_pointer(nfnetlink_parse_nat_setup_hook, NULL);
> #ifdef CONFIG_XFRM
> - RCU_INIT_POINTER(nf_nat_decode_session_hook, NULL);
> + rcu_init_pointer(nf_nat_decode_session_hook, NULL);
> #endif
> for (i = 0; i < NFPROTO_NUMPROTO; i++)
> kfree(nf_nat_l4protos[i]);
> diff --git a/net/netfilter/nf_nat_ftp.c b/net/netfilter/nf_nat_ftp.c
> index e84a578..aaef6c6 100644
> --- a/net/netfilter/nf_nat_ftp.c
> +++ b/net/netfilter/nf_nat_ftp.c
> @@ -122,14 +122,14 @@ out:
>
> static void __exit nf_nat_ftp_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_ftp_hook, NULL);
> + rcu_init_pointer(nf_nat_ftp_hook, NULL);
> synchronize_rcu();
> }
>
> static int __init nf_nat_ftp_init(void)
> {
> BUG_ON(nf_nat_ftp_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_ftp_hook, nf_nat_ftp);
> + rcu_init_pointer(nf_nat_ftp_hook, nf_nat_ftp);
> return 0;
> }
>
> diff --git a/net/netfilter/nf_nat_irc.c b/net/netfilter/nf_nat_irc.c
> index 1fb2258..5bf497d 100644
> --- a/net/netfilter/nf_nat_irc.c
> +++ b/net/netfilter/nf_nat_irc.c
> @@ -95,14 +95,14 @@ static unsigned int help(struct sk_buff *skb,
>
> static void __exit nf_nat_irc_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_irc_hook, NULL);
> + rcu_init_pointer(nf_nat_irc_hook, NULL);
> synchronize_rcu();
> }
>
> static int __init nf_nat_irc_init(void)
> {
> BUG_ON(nf_nat_irc_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_irc_hook, help);
> + rcu_init_pointer(nf_nat_irc_hook, help);
> return 0;
> }
>
> diff --git a/net/netfilter/nf_nat_sip.c b/net/netfilter/nf_nat_sip.c
> index b4d691d..a2a0a39 100644
> --- a/net/netfilter/nf_nat_sip.c
> +++ b/net/netfilter/nf_nat_sip.c
> @@ -625,7 +625,7 @@ static struct nf_ct_helper_expectfn sip_nat = {
>
> static void __exit nf_nat_sip_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_sip_hooks, NULL);
> + rcu_init_pointer(nf_nat_sip_hooks, NULL);
>
> nf_ct_helper_expectfn_unregister(&sip_nat);
> synchronize_rcu();
> @@ -644,7 +644,7 @@ static const struct nf_nat_sip_hooks sip_hooks = {
> static int __init nf_nat_sip_init(void)
> {
> BUG_ON(nf_nat_sip_hooks != NULL);
> - RCU_INIT_POINTER(nf_nat_sip_hooks, &sip_hooks);
> + rcu_init_pointer(nf_nat_sip_hooks, &sip_hooks);
> nf_ct_helper_expectfn_register(&sip_nat);
> return 0;
> }
> diff --git a/net/netfilter/nf_nat_tftp.c b/net/netfilter/nf_nat_tftp.c
> index 7f67e1d..f828ef0 100644
> --- a/net/netfilter/nf_nat_tftp.c
> +++ b/net/netfilter/nf_nat_tftp.c
> @@ -37,14 +37,14 @@ static unsigned int help(struct sk_buff *skb,
>
> static void __exit nf_nat_tftp_fini(void)
> {
> - RCU_INIT_POINTER(nf_nat_tftp_hook, NULL);
> + rcu_init_pointer(nf_nat_tftp_hook, NULL);
> synchronize_rcu();
> }
>
> static int __init nf_nat_tftp_init(void)
> {
> BUG_ON(nf_nat_tftp_hook != NULL);
> - RCU_INIT_POINTER(nf_nat_tftp_hook, help);
> + rcu_init_pointer(nf_nat_tftp_hook, help);
> return 0;
> }
>
> diff --git a/net/netfilter/nf_queue.c b/net/netfilter/nf_queue.c
> index 5d24b1f..93fe802 100644
> --- a/net/netfilter/nf_queue.c
> +++ b/net/netfilter/nf_queue.c
> @@ -40,7 +40,7 @@ EXPORT_SYMBOL(nf_register_queue_handler);
> /* The caller must flush their queue before this */
> void nf_unregister_queue_handler(void)
> {
> - RCU_INIT_POINTER(queue_handler, NULL);
> + rcu_init_pointer(queue_handler, NULL);
> synchronize_rcu();
> }
> EXPORT_SYMBOL(nf_unregister_queue_handler);
> diff --git a/net/netfilter/nfnetlink.c b/net/netfilter/nfnetlink.c
> index e8138da..6477a02 100644
> --- a/net/netfilter/nfnetlink.c
> +++ b/net/netfilter/nfnetlink.c
> @@ -440,7 +440,7 @@ static void __net_exit nfnetlink_net_exit_batch(struct list_head *net_exit_list)
> struct net *net;
>
> list_for_each_entry(net, net_exit_list, exit_list)
> - RCU_INIT_POINTER(net->nfnl, NULL);
> + rcu_init_pointer(net->nfnl, NULL);
> synchronize_net();
> list_for_each_entry(net, net_exit_list, exit_list)
> netlink_kernel_release(net->nfnl_stash);
> diff --git a/net/netfilter/nfnetlink_cttimeout.c b/net/netfilter/nfnetlink_cttimeout.c
> index 476accd..836836c 100644
> --- a/net/netfilter/nfnetlink_cttimeout.c
> +++ b/net/netfilter/nfnetlink_cttimeout.c
> @@ -551,8 +551,8 @@ static int __init cttimeout_init(void)
> goto err_out;
> }
> #ifdef CONFIG_NF_CONNTRACK_TIMEOUT
> - RCU_INIT_POINTER(nf_ct_timeout_find_get_hook, ctnl_timeout_find_get);
> - RCU_INIT_POINTER(nf_ct_timeout_put_hook, ctnl_timeout_put);
> + rcu_init_pointer(nf_ct_timeout_find_get_hook, ctnl_timeout_find_get);
> + rcu_init_pointer(nf_ct_timeout_put_hook, ctnl_timeout_put);
> #endif /* CONFIG_NF_CONNTRACK_TIMEOUT */
> return 0;
>
> @@ -576,8 +576,8 @@ static void __exit cttimeout_exit(void)
> kfree_rcu(cur, rcu_head);
> }
> #ifdef CONFIG_NF_CONNTRACK_TIMEOUT
> - RCU_INIT_POINTER(nf_ct_timeout_find_get_hook, NULL);
> - RCU_INIT_POINTER(nf_ct_timeout_put_hook, NULL);
> + rcu_init_pointer(nf_ct_timeout_find_get_hook, NULL);
> + rcu_init_pointer(nf_ct_timeout_put_hook, NULL);
> #endif /* CONFIG_NF_CONNTRACK_TIMEOUT */
> }
>
> diff --git a/net/netfilter/nft_hash.c b/net/netfilter/nft_hash.c
> index 3b1ad87..539385b 100644
> --- a/net/netfilter/nft_hash.c
> +++ b/net/netfilter/nft_hash.c
> @@ -119,7 +119,7 @@ static void nft_hash_chain_unzip(const struct nft_set *set,
> }
>
> /* Unlink first chain from the old table */
> - RCU_INIT_POINTER(tbl->buckets[n], last->next);
> + rcu_init_pointer(tbl->buckets[n], last->next);
>
> /* If end of chain reached, done */
> if (he == NULL)
> @@ -135,7 +135,7 @@ static void nft_hash_chain_unzip(const struct nft_set *set,
> }
>
> /* Link the two chains */
> - RCU_INIT_POINTER(last->next, next);
> + rcu_init_pointer(last->next, next);
> }
>
> static int nft_hash_tbl_expand(const struct nft_set *set, struct nft_hash *priv)
> @@ -157,7 +157,7 @@ static int nft_hash_tbl_expand(const struct nft_set *set, struct nft_hash *priv)
> nft_hash_for_each_entry(he, tbl->buckets[h]) {
> if (nft_hash_data(&he->key, ntbl->size, set->klen) != i)
> continue;
> - RCU_INIT_POINTER(ntbl->buckets[i], he);
> + rcu_init_pointer(ntbl->buckets[i], he);
> break;
> }
> }
> @@ -199,7 +199,7 @@ static int nft_hash_tbl_shrink(const struct nft_set *set, struct nft_hash *priv)
> for (pprev = &ntbl->buckets[i]; *pprev != NULL;
> pprev = &nft_dereference(*pprev)->next)
> ;
> - RCU_INIT_POINTER(*pprev, tbl->buckets[i + ntbl->size]);
> + rcu_init_pointer(*pprev, tbl->buckets[i + ntbl->size]);
> }
> ntbl->elements = tbl->elements;
>
> @@ -235,7 +235,7 @@ static int nft_hash_insert(const struct nft_set *set,
> nft_data_copy(he->data, &elem->data);
>
> h = nft_hash_data(&he->key, tbl->size, set->klen);
> - RCU_INIT_POINTER(he->next, tbl->buckets[h]);
> + rcu_init_pointer(he->next, tbl->buckets[h]);
> rcu_assign_pointer(tbl->buckets[h], he);
> tbl->elements++;
>
> @@ -265,7 +265,7 @@ static void nft_hash_remove(const struct nft_set *set,
> pprev = elem->cookie;
> he = nft_dereference((*pprev));
>
> - RCU_INIT_POINTER(*pprev, he->next);
> + rcu_init_pointer(*pprev, he->next);
> synchronize_rcu();
> kfree(he);
> tbl->elements--;
> @@ -348,7 +348,7 @@ static int nft_hash_init(const struct nft_set *set,
> tbl = nft_hash_tbl_alloc(NFT_HASH_MIN_SIZE);
> if (tbl == NULL)
> return -ENOMEM;
> - RCU_INIT_POINTER(priv->tbl, tbl);
> + rcu_init_pointer(priv->tbl, tbl);
> return 0;
> }
>
> diff --git a/net/netlabel/netlabel_domainhash.c b/net/netlabel/netlabel_domainhash.c
> index f0cb92f..97632af 100644
> --- a/net/netlabel/netlabel_domainhash.c
> +++ b/net/netlabel/netlabel_domainhash.c
> @@ -516,7 +516,7 @@ int netlbl_domhsh_remove_entry(struct netlbl_dom_map *entry,
> if (entry != rcu_dereference(netlbl_domhsh_def))
> list_del_rcu(&entry->list);
> else
> - RCU_INIT_POINTER(netlbl_domhsh_def, NULL);
> + rcu_init_pointer(netlbl_domhsh_def, NULL);
> } else
> ret_val = -ENOENT;
> spin_unlock(&netlbl_domhsh_lock);
> diff --git a/net/netlabel/netlabel_unlabeled.c b/net/netlabel/netlabel_unlabeled.c
> index 78a63c1..b7ebdee 100644
> --- a/net/netlabel/netlabel_unlabeled.c
> +++ b/net/netlabel/netlabel_unlabeled.c
> @@ -620,7 +620,7 @@ static void netlbl_unlhsh_condremove_iface(struct netlbl_unlhsh_iface *iface)
> if (iface->ifindex > 0)
> list_del_rcu(&iface->list);
> else
> - RCU_INIT_POINTER(netlbl_unlhsh_def, NULL);
> + rcu_init_pointer(netlbl_unlhsh_def, NULL);
> spin_unlock(&netlbl_unlhsh_lock);
>
> call_rcu(&iface->rcu, netlbl_unlhsh_free_iface);
> diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
> index 894cda0..93f0bd6 100644
> --- a/net/netlink/af_netlink.c
> +++ b/net/netlink/af_netlink.c
> @@ -1297,7 +1297,7 @@ static int netlink_release(struct socket *sock)
> struct listeners *old;
>
> old = nl_deref_protected(nl_table[sk->sk_protocol].listeners);
> - RCU_INIT_POINTER(nl_table[sk->sk_protocol].listeners, NULL);
> + rcu_init_pointer(nl_table[sk->sk_protocol].listeners, NULL);
> kfree_rcu(old, rcu);
> nl_table[sk->sk_protocol].module = NULL;
> nl_table[sk->sk_protocol].bind = NULL;
> diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
> index b85c67c..4740dc6 100644
> --- a/net/packet/af_packet.c
> +++ b/net/packet/af_packet.c
> @@ -301,7 +301,7 @@ static void packet_cached_dev_assign(struct packet_sock *po,
>
> static void packet_cached_dev_reset(struct packet_sock *po)
> {
> - RCU_INIT_POINTER(po->cached_dev, NULL);
> + rcu_init_pointer(po->cached_dev, NULL);
> }
>
> static bool packet_use_direct_xmit(const struct packet_sock *po)
> diff --git a/net/phonet/af_phonet.c b/net/phonet/af_phonet.c
> index 5a940db..694d5d8 100644
> --- a/net/phonet/af_phonet.c
> +++ b/net/phonet/af_phonet.c
> @@ -491,7 +491,7 @@ void phonet_proto_unregister(unsigned int protocol, struct phonet_protocol *pp)
> {
> mutex_lock(&proto_tab_lock);
> BUG_ON(proto_tab[protocol] != pp);
> - RCU_INIT_POINTER(proto_tab[protocol], NULL);
> + rcu_init_pointer(proto_tab[protocol], NULL);
> mutex_unlock(&proto_tab_lock);
> synchronize_rcu();
> proto_unregister(pp->prot);
> diff --git a/net/phonet/pn_dev.c b/net/phonet/pn_dev.c
> index 56a6146..07d5619 100644
> --- a/net/phonet/pn_dev.c
> +++ b/net/phonet/pn_dev.c
> @@ -276,7 +276,7 @@ static void phonet_route_autodel(struct net_device *dev)
> mutex_lock(&pnn->routes.lock);
> for (i = 0; i < 64; i++)
> if (dev == pnn->routes.table[i]) {
> - RCU_INIT_POINTER(pnn->routes.table[i], NULL);
> + rcu_init_pointer(pnn->routes.table[i], NULL);
> set_bit(i, deleted);
> }
> mutex_unlock(&pnn->routes.lock);
> @@ -389,7 +389,7 @@ int phonet_route_del(struct net_device *dev, u8 daddr)
> daddr = daddr >> 2;
> mutex_lock(&routes->lock);
> if (dev == routes->table[daddr])
> - RCU_INIT_POINTER(routes->table[daddr], NULL);
> + rcu_init_pointer(routes->table[daddr], NULL);
> else
> dev = NULL;
> mutex_unlock(&routes->lock);
> diff --git a/net/phonet/socket.c b/net/phonet/socket.c
> index 008214a..24e0db2 100644
> --- a/net/phonet/socket.c
> +++ b/net/phonet/socket.c
> @@ -693,7 +693,7 @@ int pn_sock_unbind_res(struct sock *sk, u8 res)
>
> mutex_lock(&resource_mutex);
> if (pnres.sk[res] == sk) {
> - RCU_INIT_POINTER(pnres.sk[res], NULL);
> + rcu_init_pointer(pnres.sk[res], NULL);
> ret = 0;
> }
> mutex_unlock(&resource_mutex);
> @@ -712,7 +712,7 @@ void pn_sock_unbind_all_res(struct sock *sk)
> mutex_lock(&resource_mutex);
> for (res = 0; res < 256; res++) {
> if (pnres.sk[res] == sk) {
> - RCU_INIT_POINTER(pnres.sk[res], NULL);
> + rcu_init_pointer(pnres.sk[res], NULL);
> match++;
> }
> }
> diff --git a/net/socket.c b/net/socket.c
> index abf56b2..9350395 100644
> --- a/net/socket.c
> +++ b/net/socket.c
> @@ -260,7 +260,7 @@ static struct inode *sock_alloc_inode(struct super_block *sb)
> }
> init_waitqueue_head(&wq->wait);
> wq->fasync_list = NULL;
> - RCU_INIT_POINTER(ei->socket.wq, wq);
> + rcu_init_pointer(ei->socket.wq, wq);
>
> ei->socket.state = SS_UNCONNECTED;
> ei->socket.flags = 0;
> @@ -2638,7 +2638,7 @@ void sock_unregister(int family)
> BUG_ON(family < 0 || family >= NPROTO);
>
> spin_lock(&net_family_lock);
> - RCU_INIT_POINTER(net_families[family], NULL);
> + rcu_init_pointer(net_families[family], NULL);
> spin_unlock(&net_family_lock);
>
> synchronize_rcu();
> diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c
> index 36e431e..1810c54 100644
> --- a/net/sunrpc/auth_gss/auth_gss.c
> +++ b/net/sunrpc/auth_gss/auth_gss.c
> @@ -1262,7 +1262,7 @@ gss_destroy_nullcred(struct rpc_cred *cred)
> struct gss_auth *gss_auth = container_of(cred->cr_auth, struct gss_auth, rpc_auth);
> struct gss_cl_ctx *ctx = gss_cred->gc_ctx;
>
> - RCU_INIT_POINTER(gss_cred->gc_ctx, NULL);
> + rcu_init_pointer(gss_cred->gc_ctx, NULL);
> call_rcu(&cred->cr_rcu, gss_free_cred_callback);
> if (ctx)
> gss_put_ctx(ctx);
> diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c
> index 3fef7eb..3a56cd6 100644
> --- a/net/tipc/bearer.c
> +++ b/net/tipc/bearer.c
> @@ -464,7 +464,7 @@ int tipc_enable_l2_media(struct tipc_bearer *b)
> void tipc_disable_l2_media(struct tipc_bearer *b)
> {
> struct net_device *dev = (struct net_device *)b->media_ptr;
> - RCU_INIT_POINTER(dev->tipc_ptr, NULL);
> + rcu_init_pointer(dev->tipc_ptr, NULL);
> dev_put(dev);
> }
>
> diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
> index bb7e8ba..ae855b9 100644
> --- a/net/unix/af_unix.c
> +++ b/net/unix/af_unix.c
> @@ -1187,7 +1187,7 @@ restart:
> newsk->sk_type = sk->sk_type;
> init_peercred(newsk);
> newu = unix_sk(newsk);
> - RCU_INIT_POINTER(newsk->sk_wq, &newu->peer_wq);
> + rcu_init_pointer(newsk->sk_wq, &newu->peer_wq);
> otheru = unix_sk(other);
>
> /* copy address information from listening to new sock*/
> diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c
> index 85d1d47..deb776d 100644
> --- a/net/xfrm/xfrm_input.c
> +++ b/net/xfrm/xfrm_input.c
> @@ -50,7 +50,7 @@ int xfrm_input_unregister_afinfo(struct xfrm_input_afinfo *afinfo)
> if (unlikely(xfrm_input_afinfo[afinfo->family] != afinfo))
> err = -EINVAL;
> else
> - RCU_INIT_POINTER(xfrm_input_afinfo[afinfo->family], NULL);
> + rcu_init_pointer(xfrm_input_afinfo[afinfo->family], NULL);
> }
> spin_unlock_bh(&xfrm_input_afinfo_lock);
> synchronize_rcu();
> diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
> index c08fbd1..326d6ed 100644
> --- a/net/xfrm/xfrm_policy.c
> +++ b/net/xfrm/xfrm_policy.c
> @@ -2729,7 +2729,7 @@ int xfrm_policy_unregister_afinfo(struct xfrm_policy_afinfo *afinfo)
> if (unlikely(xfrm_policy_afinfo[afinfo->family] != afinfo))
> err = -EINVAL;
> else
> - RCU_INIT_POINTER(xfrm_policy_afinfo[afinfo->family],
> + rcu_init_pointer(xfrm_policy_afinfo[afinfo->family],
> NULL);
> }
> spin_unlock(&xfrm_policy_afinfo_lock);
> diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
> index 8e9c781..cf7e89c 100644
> --- a/net/xfrm/xfrm_state.c
> +++ b/net/xfrm/xfrm_state.c
> @@ -1942,7 +1942,7 @@ int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo)
> if (unlikely(xfrm_state_afinfo[afinfo->family] != afinfo))
> err = -EINVAL;
> else
> - RCU_INIT_POINTER(xfrm_state_afinfo[afinfo->family], NULL);
> + rcu_init_pointer(xfrm_state_afinfo[afinfo->family], NULL);
> }
> spin_unlock_bh(&xfrm_state_afinfo_lock);
> synchronize_rcu();
> diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
> index 8f131c1..cdf2a66 100644
> --- a/net/xfrm/xfrm_user.c
> +++ b/net/xfrm/xfrm_user.c
> @@ -3040,7 +3040,7 @@ static void __net_exit xfrm_user_net_exit(struct list_head *net_exit_list)
> {
> struct net *net;
> list_for_each_entry(net, net_exit_list, exit_list)
> - RCU_INIT_POINTER(net->xfrm.nlsk, NULL);
> + rcu_init_pointer(net->xfrm.nlsk, NULL);
> synchronize_net();
> list_for_each_entry(net, net_exit_list, exit_list)
> netlink_kernel_release(net->xfrm.nlsk_stash);
> --
> 1.7.9.5
>