Filipe Manana bf101e
From: Filipe Manana <fdmanana@suse.com>
Filipe Manana bf101e
Date: Thu, 29 Jul 2021 15:28:34 +0100
Filipe Manana bf101e
Subject: [PATCH] btrfs: remove unnecessary NULL check for the new inode during
Filipe Manana bf101e
 rename exchange
Filipe Manana bf101e
Git-commit: 1c167b87f4f9c89e33dcffb92a45e30f937f04d6
Filipe Manana bf101e
Patch-mainline: v5.15-rc1
Filipe Manana bf101e
References: bsc#1207263
Filipe Manana bf101e
Filipe Manana bf101e
At the very end of btrfs_rename_exchange(), in case an error happened, we
Filipe Manana bf101e
are checking if 'new_inode' is NULL, but that is not needed since during a
Filipe Manana bf101e
rename exchange, unlike regular renames, 'new_inode' can never be NULL,
Filipe Manana bf101e
and if it were, we would have a crashed much earlier when we dereference it
Filipe Manana bf101e
multiple times.
Filipe Manana bf101e
Filipe Manana bf101e
So remove the check because it is not necessary and because it is causing
Filipe Manana bf101e
static checkers to emit a warning. I probably introduced the check by
Filipe Manana bf101e
copy-pasting similar code from btrfs_rename(), where 'new_inode' can be
Filipe Manana bf101e
NULL, in commit 86e8aa0e772cab ("Btrfs: unpin logs if rename exchange
Filipe Manana bf101e
operation fails").
Filipe Manana bf101e
Filipe Manana bf101e
Reported-by: kernel test robot <lkp@intel.com>
Filipe Manana bf101e
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Filipe Manana bf101e
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Filipe Manana bf101e
Reviewed-by: David Sterba <dsterba@suse.com>
Filipe Manana bf101e
Signed-off-by: David Sterba <dsterba@suse.com>
Filipe Manana bf101e
---
Filipe Manana bf101e
 fs/btrfs/inode.c | 3 +--
Filipe Manana bf101e
 1 file changed, 1 insertion(+), 2 deletions(-)
Filipe Manana bf101e
Filipe Manana bf101e
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
Filipe Manana bf101e
index bc41d6c8d8d8..d8a1e58b4bc8 100644
Filipe Manana bf101e
--- a/fs/btrfs/inode.c
Filipe Manana bf101e
+++ b/fs/btrfs/inode.c
Filipe Manana bf101e
@@ -9523,8 +9523,7 @@ static int btrfs_rename_exchange(struct inode *old_dir,
Filipe Manana bf101e
 		if (btrfs_inode_in_log(BTRFS_I(old_dir), fs_info->generation) ||
Filipe Manana bf101e
 		    btrfs_inode_in_log(BTRFS_I(new_dir), fs_info->generation) ||
Filipe Manana bf101e
 		    btrfs_inode_in_log(BTRFS_I(old_inode), fs_info->generation) ||
Filipe Manana bf101e
-		    (new_inode &&
Filipe Manana bf101e
-		     btrfs_inode_in_log(BTRFS_I(new_inode), fs_info->generation)))
Filipe Manana bf101e
+		    btrfs_inode_in_log(BTRFS_I(new_inode), fs_info->generation))
Filipe Manana bf101e
 			btrfs_set_log_full_commit(trans);
Filipe Manana bf101e
 
Filipe Manana bf101e
 		if (root_log_pinned) {
Filipe Manana bf101e
-- 
Filipe Manana bf101e
2.26.2
Filipe Manana bf101e