NFS: Ensure we revalidate attributes before using execute_ok()
authorTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 29 Dec 2015 00:30:05 +0000 (19:30 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Jun 2017 11:16:26 +0000 (13:16 +0200)
commit53302082836607e38d4cb7e239dbd77ff5d8b137
tree7eff9d7d7b60af77b73100fe8718aacfa7596da1
parentcb1fb15c8355eb8118fd9f223aea12574985aad3
NFS: Ensure we revalidate attributes before using execute_ok()

commit 5c5fc09a1157a11dbe84e6421c3e0b37d05238cb upstream.

Donald Buczek reports that NFS clients can also report incorrect
results for access() due to lack of revalidation of attributes
before calling execute_ok().
Looking closely, it seems chdir() is afflicted with the same problem.

Fix is to ensure we call nfs_revalidate_inode_rcu() or
nfs_revalidate_inode() as appropriate before deciding to trust
execute_ok().

Reported-by: Donald Buczek <buczek@molgen.mpg.de>
Link: http://lkml.kernel.org/r/1451331530-3748-1-git-send-email-buczek@molgen.mpg.de
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfs/dir.c