Merge tag 'locking-core-2023-05-05' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / fs / ubifs / dir.c
index 1505539f6fe974ae73990e57773a8c96628136f4..ef0499edc248f2a21380398273dd4777203e5286 100644 (file)
@@ -358,7 +358,6 @@ static struct inode *create_whiteout(struct inode *dir, struct dentry *dentry)
        umode_t mode = S_IFCHR | WHITEOUT_MODE;
        struct inode *inode;
        struct ubifs_info *c = dir->i_sb->s_fs_info;
-       struct fscrypt_name nm;
 
        /*
         * Create an inode('nlink = 1') for whiteout without updating journal,
@@ -369,10 +368,6 @@ static struct inode *create_whiteout(struct inode *dir, struct dentry *dentry)
        dbg_gen("dent '%pd', mode %#hx in dir ino %lu",
                dentry, mode, dir->i_ino);
 
-       err = fscrypt_setup_filename(dir, &dentry->d_name, 0, &nm);
-       if (err)
-               return ERR_PTR(err);
-
        inode = ubifs_new_inode(c, dir, mode, false);
        if (IS_ERR(inode)) {
                err = PTR_ERR(inode);
@@ -395,7 +390,6 @@ out_inode:
        make_bad_inode(inode);
        iput(inode);
 out_free:
-       fscrypt_free_filename(&nm);
        ubifs_err(c, "cannot create whiteout file, error %d", err);
        return ERR_PTR(err);
 }
@@ -492,6 +486,7 @@ static int ubifs_tmpfile(struct mnt_idmap *idmap, struct inode *dir,
        unlock_2_inodes(dir, inode);
 
        ubifs_release_budget(c, &req);
+       fscrypt_free_filename(&nm);
 
        return finish_open_simple(file, 0);