summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2026-01-06 21:00:10 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2026-01-13 15:18:07 -0500
commita9900a27dfe58e638690a6c3e8d477daa548d192 (patch)
tree29358c650a92892ff3286b707f0edfc234525a50 /fs
parent7ca83f8ebe86706c4164ac21871f4a5adb86a430 (diff)
switch __getname_maybe_null() to CLASS(filename_flags)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r--fs/namei.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/fs/namei.c b/fs/namei.c
index 06d60808b0ff..f1a2161bd691 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -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)