]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
namei.c: convert getname_kernel() callers to CLASS(filename_kernel)
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 6 Dec 2025 17:51:13 +0000 (12:51 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 16 Jan 2026 17:52:03 +0000 (12:52 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namei.c

index ba6e15339ad656dd7cf5fb96be997dd113c5eebb..1158beb9a399df8645984e8ad31f7792786c3fcb 100644 (file)
@@ -3002,7 +3002,7 @@ drop:
 struct dentry *kern_path_parent(const char *name, struct path *path)
 {
        struct path parent_path __free(path_put) = {};
-       struct filename *filename __free(putname) = getname_kernel(name);
+       CLASS(filename_kernel, filename)(name);
        struct dentry *d;
        struct qstr last;
        int type, error;
@@ -3023,11 +3023,8 @@ struct dentry *kern_path_parent(const char *name, struct path *path)
 
 struct dentry *start_removing_path(const char *name, struct path *path)
 {
-       struct filename *filename = getname_kernel(name);
-       struct dentry *res = __start_removing_path(AT_FDCWD, filename, path);
-
-       putname(filename);
-       return res;
+       CLASS(filename_kernel, filename)(name);
+       return __start_removing_path(AT_FDCWD, filename, path);
 }
 
 struct dentry *start_removing_user_path_at(int dfd,
@@ -3044,12 +3041,8 @@ EXPORT_SYMBOL(start_removing_user_path_at);
 
 int kern_path(const char *name, unsigned int flags, struct path *path)
 {
-       struct filename *filename = getname_kernel(name);
-       int ret = filename_lookup(AT_FDCWD, filename, flags, path, NULL);
-
-       putname(filename);
-       return ret;
-
+       CLASS(filename_kernel, filename)(name);
+       return filename_lookup(AT_FDCWD, filename, flags, path, NULL);
 }
 EXPORT_SYMBOL(kern_path);
 
@@ -3083,15 +3076,11 @@ int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt,
                    const char *name, unsigned int flags,
                    struct path *path)
 {
-       struct filename *filename;
+       CLASS(filename_kernel, filename)(name);
        struct path root = {.mnt = mnt, .dentry = dentry};
-       int ret;
 
-       filename = getname_kernel(name);
        /* the first argument of filename_lookup() is ignored with root */
-       ret = filename_lookup(AT_FDCWD, filename, flags, path, &root);
-       putname(filename);
-       return ret;
+       return filename_lookup(AT_FDCWD, filename, flags, path, &root);
 }
 EXPORT_SYMBOL(vfs_path_lookup);
 
@@ -4888,13 +4877,12 @@ struct file *do_file_open_root(const struct path *root,
 {
        struct nameidata nd;
        struct file *file;
-       struct filename *filename;
        int flags = op->lookup_flags;
 
        if (d_is_symlink(root->dentry) && op->intent & LOOKUP_OPEN)
                return ERR_PTR(-ELOOP);
 
-       filename = getname_kernel(name);
+       CLASS(filename_kernel, filename)(name);
        if (IS_ERR(filename))
                return ERR_CAST(filename);
 
@@ -4905,7 +4893,6 @@ struct file *do_file_open_root(const struct path *root,
        if (unlikely(file == ERR_PTR(-ESTALE)))
                file = path_openat(&nd, op, flags | LOOKUP_REVAL);
        restore_nameidata();
-       putname(filename);
        return file;
 }
 
@@ -4961,11 +4948,8 @@ out:
 struct dentry *start_creating_path(int dfd, const char *pathname,
                                   struct path *path, unsigned int lookup_flags)
 {
-       struct filename *filename = getname_kernel(pathname);
-       struct dentry *res = filename_create(dfd, filename, path, lookup_flags);
-
-       putname(filename);
-       return res;
+       CLASS(filename_kernel, filename)(pathname);
+       return filename_create(dfd, filename, path, lookup_flags);
 }
 EXPORT_SYMBOL(start_creating_path);