filename_mountpoint(): make LOOKUP_NO_EVAL unconditional there
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 14 Jul 2019 16:19:57 +0000 (12:19 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 21 Jul 2019 22:24:45 +0000 (18:24 -0400)
user_path_mountpoint_at() always gets it and the reasons to have it
there (i.e. in umount(2)) apply to kern_path_mountpoint() callers
as well.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namei.c
fs/namespace.c

index 83e5fb3fad76d5d09cd5fd860211fad163c6f84f..5b8c72dc0217a86e4b7470717ff14fd99dfd644c 100644 (file)
@@ -2718,7 +2718,7 @@ filename_mountpoint(int dfd, struct filename *name, struct path *path,
        if (unlikely(error == -ESTALE))
                error = path_mountpoint(&nd, flags | LOOKUP_REVAL, path);
        if (likely(!error))
-               audit_inode(name, path->dentry, flags & LOOKUP_NO_EVAL);
+               audit_inode(name, path->dentry, LOOKUP_NO_EVAL);
        restore_nameidata();
        putname(name);
        return error;
index 6464ea4acba9418f489fe8d5f867f55ef232b4e3..697f8820dff5a9d15d578cf0a2cd11bf1bd278b6 100644 (file)
@@ -1675,8 +1675,6 @@ int ksys_umount(char __user *name, int flags)
        if (!(flags & UMOUNT_NOFOLLOW))
                lookup_flags |= LOOKUP_FOLLOW;
 
-       lookup_flags |= LOOKUP_NO_EVAL;
-
        retval = user_path_mountpoint_at(AT_FDCWD, name, lookup_flags, &path);
        if (retval)
                goto out;