Signed-off-by: Al Viro --- 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