Signed-off-by: Al Viro <[email protected]>
---
 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


Reply via email to