vfs: force reval of target when following LAST_BIND symlinks (try #7)
authorJeff Layton <jlayton@redhat.com>
Mon, 7 Dec 2009 17:01:50 +0000 (12:01 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 16 Dec 2009 17:16:48 +0000 (12:16 -0500)
commit39159de2a091a35ea86b188ebdc5e642f5cfc832
tree793c0c95fe22ddb06c4cc4271428ad41386ccf6b
parentd1625436b4fe526fa463bc0519ba37d7e4b37bbc
vfs: force reval of target when following LAST_BIND symlinks (try #7)

procfs-style symlinks return a last_type of LAST_BIND without an actual
path string. This causes __follow_link to skip calling __vfs_follow_link
and so the dentry isn't revalidated.

This is a problem when the link target sits on NFSv4 as it depends on
the VFS to revalidate the dentry before using it on an open call. Ensure
that this occurs by forcing a revalidation of the target dentry of
LAST_BIND symlinks.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Acked-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namei.c