[PATCH v4 43/59] do_readlinkat(): switch to CLASS(filename_flags)

Al Viro
2026-01-08T07:36:57Z

fs/stat.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/fs/stat.c b/fs/stat.c
index ee9ae2c3273a..d18577f3688c 100644
--- a/fs/stat.c
+++ b/fs/stat.c
@@ -564,20 +564,17 @@ static int do_readlinkat(int dfd, const char __user *pathname,
char __user *buf, int bufsiz)
{
struct path path;
- struct filename *name;
int error;
unsigned int lookup_flags = 0;

if (bufsiz <= 0)
return -EINVAL;

- name = getname_flags(pathname, LOOKUP_EMPTY);
+ CLASS(filename_flags, name)(pathname, LOOKUP_EMPTY);
retry:
error = filename_lookup(dfd, name, lookup_flags, &path, NULL);
- if (unlikely(error)) {
- putname(name);
+ if (unlikely(error))
return error;
- }

/*
* AFS mountpoints allow readlink(2) but are not symlinks
@@ -597,7 +594,6 @@ static int do_readlinkat(int dfd, const char __user *pathname,
lookup_flags |= LOOKUP_REVAL;
goto retry;
}
- putname(name);
return error;
}

--
2.47.3