Commit c956674b authored by Monam Agarwal's avatar Monam Agarwal Committed by David S. Miller

drivers/net: Use RCU_INIT_POINTER(x, NULL) in tun.c

This patch replaces rcu_assign_pointer(x, NULL) with RCU_INIT_POINTER(x, NULL)

The rcu_assign_pointer() ensures that the initialization of a structure
is carried out before storing a pointer to that structure.
And in the case of the NULL pointer, there is no structure to initialize.
So, rcu_assign_pointer(p, NULL) can be safely converted to RCU_INIT_POINTER(p, NULL)
Signed-off-by: default avatarMonam Agarwal <monamagarwal123@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8800a244
...@@ -452,7 +452,7 @@ static void __tun_detach(struct tun_file *tfile, bool clean) ...@@ -452,7 +452,7 @@ static void __tun_detach(struct tun_file *tfile, bool clean)
--tun->numqueues; --tun->numqueues;
if (clean) { if (clean) {
rcu_assign_pointer(tfile->tun, NULL); RCU_INIT_POINTER(tfile->tun, NULL);
sock_put(&tfile->sk); sock_put(&tfile->sk);
} else } else
tun_disable_queue(tun, tfile); tun_disable_queue(tun, tfile);
...@@ -499,12 +499,12 @@ static void tun_detach_all(struct net_device *dev) ...@@ -499,12 +499,12 @@ static void tun_detach_all(struct net_device *dev)
tfile = rtnl_dereference(tun->tfiles[i]); tfile = rtnl_dereference(tun->tfiles[i]);
BUG_ON(!tfile); BUG_ON(!tfile);
wake_up_all(&tfile->wq.wait); wake_up_all(&tfile->wq.wait);
rcu_assign_pointer(tfile->tun, NULL); RCU_INIT_POINTER(tfile->tun, NULL);
--tun->numqueues; --tun->numqueues;
} }
list_for_each_entry(tfile, &tun->disabled, next) { list_for_each_entry(tfile, &tun->disabled, next) {
wake_up_all(&tfile->wq.wait); wake_up_all(&tfile->wq.wait);
rcu_assign_pointer(tfile->tun, NULL); RCU_INIT_POINTER(tfile->tun, NULL);
} }
BUG_ON(tun->numqueues != 0); BUG_ON(tun->numqueues != 0);
...@@ -2194,7 +2194,7 @@ static int tun_chr_open(struct inode *inode, struct file * file) ...@@ -2194,7 +2194,7 @@ static int tun_chr_open(struct inode *inode, struct file * file)
&tun_proto); &tun_proto);
if (!tfile) if (!tfile)
return -ENOMEM; return -ENOMEM;
rcu_assign_pointer(tfile->tun, NULL); RCU_INIT_POINTER(tfile->tun, NULL);
tfile->net = get_net(current->nsproxy->net_ns); tfile->net = get_net(current->nsproxy->net_ns);
tfile->flags = 0; tfile->flags = 0;
tfile->ifindex = 0; tfile->ifindex = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment