Signed-off-by: Al Viro <[email protected]>
---
 fs/utimes.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/fs/utimes.c b/fs/utimes.c
index 84889ea1780e..e22664e4115f 100644
--- a/fs/utimes.c
+++ b/fs/utimes.c
@@ -84,27 +84,24 @@ static int do_utimes_path(int dfd, const char __user 
*filename,
 {
        struct path path;
        int lookup_flags = 0, error;
-       struct filename *name;
 
        if (flags & ~(AT_SYMLINK_NOFOLLOW | AT_EMPTY_PATH))
                return -EINVAL;
 
        if (!(flags & AT_SYMLINK_NOFOLLOW))
                lookup_flags |= LOOKUP_FOLLOW;
-       name = getname_uflags(filename, flags);
 
+       CLASS(filename_uflags, name)(filename, flags);
 retry:
        error = filename_lookup(dfd, name, lookup_flags, &path, NULL);
        if (error)
-               goto out;
+               return error;
        error = vfs_utimes(&path, times);
        path_put(&path);
        if (retry_estale(error, lookup_flags)) {
                lookup_flags |= LOOKUP_REVAL;
                goto retry;
        }
-out:
-       putname(name);
        return error;
 }
 
-- 
2.47.3


Reply via email to