From patchwork Sun Mar 23 18:32:32 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Monam Agarwal X-Patchwork-Id: 332903 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 06AC62C00CA for ; Mon, 24 Mar 2014 05:33:52 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751274AbaCWSde (ORCPT ); Sun, 23 Mar 2014 14:33:34 -0400 Received: from mail-pa0-f47.google.com ([209.85.220.47]:48944 "EHLO mail-pa0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751134AbaCWSdd (ORCPT ); Sun, 23 Mar 2014 14:33:33 -0400 Received: by mail-pa0-f47.google.com with SMTP id lj1so4481683pab.34 for ; Sun, 23 Mar 2014 11:33:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id; bh=9h5kuvsn/Mi64cLAcp++gn21ILsSPDKNNG1paWwyFC4=; b=R4ZhnZVL36wcmP7wH5eUBrQNT2dwu0YgZW7htVTFE7E4y3TwDWsswx+yHCbjs6POQV dniyUCVW+D901N+N/wc4qnohNP0ojtFzlMlHdOxI7KVelBguBTl8Z1yJv91ogBzmuUsY WSOJc8IAqP2GwJWDjIpKkjJ28UhVNX3f+Y4x2FYo4QkDVNZvrM/Q3uTYWISvP2HPIYOf PRVC4EaDJ6Q8aEeLyD79TJwVoH3q9op25z7WzcXmWmcNDNMCPO3s1s907tFMbYR+6gNM OrIJL+TRT8D90k+7KRBPmv0KvaIPKreWV5J/n5Z+qS1GxHd64nJcmlCkvCao6MXCSXwj scfQ== X-Received: by 10.66.158.68 with SMTP id ws4mr5335809pab.122.1395599613075; Sun, 23 Mar 2014 11:33:33 -0700 (PDT) Received: from hacker.iiit.ac.in ([14.139.82.6]) by mx.google.com with ESMTPSA id yv5sm26261640pbb.49.2014.03.23.11.33.28 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 23 Mar 2014 11:33:32 -0700 (PDT) From: Monam Agarwal To: davem@davemloft.net, jasowang@redhat.com, mst@redhat.com, xemul@parallels.com, wuzhy@linux.vnet.ibm.com, therbert@google.com, yamato@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] drivers/net: Use RCU_INIT_POINTER(x, NULL) in tun.c Date: Mon, 24 Mar 2014 00:02:32 +0530 Message-Id: <1395599552-7486-1-git-send-email-monamagarwal123@gmail.com> X-Mailer: git-send-email 1.7.9.5 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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: Monam Agarwal --- drivers/net/tun.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 26f8635..ee328ba 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_assign_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_assign_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_assign_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_assign_pointer(tfile->tun, NULL); + RCU_INIT_POINTER(tfile->tun, NULL); tfile->net = get_net(current->nsproxy->net_ns); tfile->flags = 0; tfile->ifindex = 0;