]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
switch __getname_maybe_null() to CLASS(filename_flags)
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 7 Jan 2026 02:00:10 +0000 (21:00 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 13 Jan 2026 20:18:07 +0000 (15:18 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namei.c

index 06d60808b0ff5afcdbb40fba8eed2f0b5cc48fc6..f1a2161bd691fe68682a3fff64cf413031d74934 100644 (file)
@@ -227,7 +227,6 @@ struct filename *getname_uflags(const char __user *filename, int uflags)
 
 struct filename *__getname_maybe_null(const char __user *pathname)
 {
-       struct filename *name;
        char c;
 
        /* try to save on allocations; loss on um, though */
@@ -236,12 +235,11 @@ struct filename *__getname_maybe_null(const char __user *pathname)
        if (!c)
                return NULL;
 
-       name = getname_flags(pathname, LOOKUP_EMPTY);
-       if (!IS_ERR(name) && !(name->name[0])) {
-               putname(name);
-               name = NULL;
-       }
-       return name;
+       CLASS(filename_flags, name)(pathname, LOOKUP_EMPTY);
+       /* empty pathname translates to NULL */
+       if (!IS_ERR(name) && !(name->name[0]))
+               return NULL;
+       return no_free_ptr(name);
 }
 
 struct filename *getname_kernel(const char * filename)