Unverified Commit 7517ce5d authored by Jan Kara's avatar Jan Kara Committed by Christian Brauner
Browse files

Revert "udf: Protect rename against modification of moved directory"



This reverts commit f950fd05. The
locking is going to be provided by vfs_rename() in the following
patches.

CC: stable@vger.kernel.org
Signed-off-by: default avatarJan Kara <jack@suse.cz>
Message-Id: <20230601105830.13168-2-jack@suse.cz>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 3658840c
Loading
Loading
Loading
Loading
+2 −12
Original line number Diff line number Diff line
@@ -793,11 +793,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) {
@@ -806,10 +801,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) !=
@@ -889,7 +882,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)
@@ -901,10 +893,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;