Message ID | 8dd8e8f3020a5bd13ae22a1f21b8328adc1f4636.1627568438.git.fdmanana@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: remove unnecessary NULL check for the new inode during rename exchange | expand |
On Thu, Jul 29, 2021 at 03:28:34PM +0100, fdmanana@kernel.org wrote: > From: Filipe Manana <fdmanana@suse.com> > > At the very end of btrfs_rename_exchange(), in case an error happened, we > are checking if 'new_inode' is NULL, but that is not needed since during a > rename exchange, unlike regular renames, 'new_inode' can never be NULL, > and if it were, we would have a crash much earlier when we dereference it > multiple times. > > So remove the check because it is not necessary and because it is causing > static checkers to emit a warning. I probably introduced the check by > copy-pasting similar code from btrfs_rename(), where 'new_inode' can be > NULL, in commit 86e8aa0e772cab ("Btrfs: unpin logs if rename exchange > operation fails"). > > Reported-by: kernel test robot <lkp@intel.com> > Reported-by: Dan Carpenter <dan.carpenter@oracle.com> > Signed-off-by: Filipe Manana <fdmanana@suse.com> Added to misc-next, thanks.
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 59b35e12bb81..ef76bde10913 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -9421,8 +9421,7 @@ static int btrfs_rename_exchange(struct inode *old_dir, if (btrfs_inode_in_log(BTRFS_I(old_dir), fs_info->generation) || btrfs_inode_in_log(BTRFS_I(new_dir), fs_info->generation) || btrfs_inode_in_log(BTRFS_I(old_inode), fs_info->generation) || - (new_inode && - btrfs_inode_in_log(BTRFS_I(new_inode), fs_info->generation))) + btrfs_inode_in_log(BTRFS_I(new_inode), fs_info->generation)) btrfs_set_log_full_commit(trans); if (root_log_pinned) {