Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752664AbcD3UJa (ORCPT ); Sat, 30 Apr 2016 16:09:30 -0400 Received: from mail-pa0-f67.google.com ([209.85.220.67]:33680 "EHLO mail-pa0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750759AbcD3UJ3 (ORCPT ); Sat, 30 Apr 2016 16:09:29 -0400 From: Muhammad Falak R Wani To: Alexander Viro Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] vfs: use RCU_INIT_POINTER when NULLing Date: Sun, 1 May 2016 01:39:12 +0530 Message-Id: <1462046952-30147-1-git-send-email-falakreyaz@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1332 Lines: 51 It is always safe to use RCU_INIT_POINTER to NULL a pointer. This results in slightly smaller/faster code. The following semantic patch used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Muhammad Falak R Wani --- fs/file.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/file.c b/fs/file.c index 1fbc5c0..e027b33 100644 --- a/fs/file.c +++ b/fs/file.c @@ -543,7 +543,7 @@ repeat: /* Sanity check */ if (rcu_access_pointer(fdt->fd[fd]) != NULL) { printk(KERN_WARNING "alloc_fd: slot %d not NULL!\n", fd); - rcu_assign_pointer(fdt->fd[fd], NULL); + RCU_INIT_POINTER(fdt->fd[fd], NULL); } #endif @@ -644,7 +644,7 @@ int __close_fd(struct files_struct *files, unsigned fd) file = fdt->fd[fd]; if (!file) goto out_unlock; - rcu_assign_pointer(fdt->fd[fd], NULL); + RCU_INIT_POINTER(fdt->fd[fd], NULL); __clear_close_on_exec(fd, fdt); __put_unused_fd(files, fd); spin_unlock(&files->file_lock); @@ -679,7 +679,7 @@ void do_close_on_exec(struct files_struct *files) file = fdt->fd[fd]; if (!file) continue; - rcu_assign_pointer(fdt->fd[fd], NULL); + RCU_INIT_POINTER(fdt->fd[fd], NULL); __put_unused_fd(files, fd); spin_unlock(&files->file_lock); filp_close(file, files); -- 1.9.1