Merge tag 'fs_for_v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack...
[platform/kernel/linux-starfive.git] / fs / udf / namei.c
index 49e1e0f..a95579b 100644 (file)
@@ -789,11 +789,6 @@ static int udf_rename(struct mnt_idmap *idmap, struct inode *old_dir,
                        if (!empty_dir(new_inode))
                                goto out_oiter;
                }
-               /*
-                * We need to protect against old_inode getting converted from
-                * ICB to normal directory.
-                */
-               inode_lock_nested(old_inode, I_MUTEX_NONDIR2);
                retval = udf_fiiter_find_entry(old_inode, &dotdot_name,
                                               &diriter);
                if (retval == -ENOENT) {
@@ -802,10 +797,8 @@ static int udf_rename(struct mnt_idmap *idmap, struct inode *old_dir,
                                old_inode->i_ino);
                        retval = -EFSCORRUPTED;
                }
-               if (retval) {
-                       inode_unlock(old_inode);
+               if (retval)
                        goto out_oiter;
-               }
                has_diriter = true;
                tloc = lelb_to_cpu(diriter.fi.icb.extLocation);
                if (udf_get_lb_pblock(old_inode->i_sb, &tloc, 0) !=
@@ -885,7 +878,6 @@ static int udf_rename(struct mnt_idmap *idmap, struct inode *old_dir,
                               udf_dir_entry_len(&diriter.fi));
                udf_fiiter_write_fi(&diriter, NULL);
                udf_fiiter_release(&diriter);
-               inode_unlock(old_inode);
 
                inode_dec_link_count(old_dir);
                if (new_inode)
@@ -897,10 +889,8 @@ static int udf_rename(struct mnt_idmap *idmap, struct inode *old_dir,
        }
        return 0;
 out_oiter:
-       if (has_diriter) {
+       if (has_diriter)
                udf_fiiter_release(&diriter);
-               inode_unlock(old_inode);
-       }
        udf_fiiter_release(&oiter);
 
        return retval;