• Jan Kara's avatar
    fs: no need to check source · 66d8fc05
    Jan Kara authored
    The @source inode must be valid. It is even checked via IS_SWAPFILE()
    above making it pretty clear. So no need to check it when we unlock.
    
    What doesn't need to exist is the @target inode. The lock_two_inodes()
    helper currently swaps the @inode1 and @inode2 arguments if @inode1 is
    NULL to have consistent lock class usage. However, we know that at least
    for vfs_rename() that @inode1 is @source and thus is never NULL as per
    above. We also know that @source is a different inode than @target as
    that is checked right at the beginning of vfs_rename(). So we know that
    @source is valid and locked and that @target is locked. So drop the
    check whether @source is non-NULL.
    
    Fixes: 28eceeda ("fs: Lock moved directories")
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
    Closes: https://lore.kernel.org/r/202307030026.9sE2pk2x-lkp@intel.com
    Message-Id: <20230703-vfs-rename-source-v1-1-37eebb29b65b@kernel.org>
    [brauner: use commit message from patch I sent concurrently]
    Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
    66d8fc05
namei.c 138 KB