]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
VFS: discard err2 in filename_create()
authorNeilBrown <neil@brown.name>
Mon, 22 Sep 2025 04:29:49 +0000 (14:29 +1000)
committerChristian Brauner <brauner@kernel.org>
Tue, 23 Sep 2025 10:37:35 +0000 (12:37 +0200)
Since 204a575e91f3 "VFS: add common error checks to lookup_one_qstr_excl()"
filename_create() does not need to stash the error value from mnt_want_write()
into a separate variable - the logic that used to clobber 'error' after the
call of mnt_want_write() has migrated into lookup_one_qstr_excl().

So there is no need for two different err variables.
This patch discards "err2" and uses "error' throughout.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: NeilBrown <neil@brown.name>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/namei.c

index c7c6b255db2c559cdad106a30621e18172d35a6f..e2c2ab286bc032660d4a78301b7435d5835d5ef0 100644 (file)
@@ -4169,7 +4169,6 @@ static struct dentry *filename_create(int dfd, struct filename *name,
        unsigned int reval_flag = lookup_flags & LOOKUP_REVAL;
        unsigned int create_flags = LOOKUP_CREATE | LOOKUP_EXCL;
        int type;
-       int err2;
        int error;
 
        error = filename_parentat(dfd, name, reval_flag, path, &last, &type);
@@ -4184,7 +4183,7 @@ static struct dentry *filename_create(int dfd, struct filename *name,
                goto out;
 
        /* don't fail immediately if it's r/o, at least try to report other errors */
-       err2 = mnt_want_write(path->mnt);
+       error = mnt_want_write(path->mnt);
        /*
         * Do the final lookup.  Suppress 'create' if there is a trailing
         * '/', and a directory wasn't requested.
@@ -4197,17 +4196,16 @@ static struct dentry *filename_create(int dfd, struct filename *name,
        if (IS_ERR(dentry))
                goto unlock;
 
-       if (unlikely(err2)) {
-               error = err2;
+       if (unlikely(error))
                goto fail;
-       }
+
        return dentry;
 fail:
        dput(dentry);
        dentry = ERR_PTR(error);
 unlock:
        inode_unlock(path->dentry->d_inode);
-       if (!err2)
+       if (!error)
                mnt_drop_write(path->mnt);
 out:
        path_put(path);