android_kernel_xiaomi_sm8350/fs/nfs
Frank Filz 7ee2cb7f32 nfs: Fix NFS v4 client handling of MAY_EXEC in nfs_permission.
The problem is that permission checking is skipped if atomic open is
possible, but when exec opens a file, it just opens it O_READONLY which
means EXEC permission will not be checked at that time.

This problem is observed by the following sequence (executed as root):

  mount -t nfs4 server:/ /mnt4
  echo "ls" >/mnt4/foo
  chmod 744 /mnt4/foo
  su guest -c "mnt4/foo"

Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@kernel.org
Tested-by: Eugene Teo <eugeneteo@kernel.sg>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-05-18 20:11:12 -07:00
..
callback_proc.c
callback_xdr.c
callback.c NFS: Start PF_INET6 callback listener only if IPv6 support is available 2009-03-28 16:02:43 -04:00
callback.h NFS: Start PF_INET6 callback listener only if IPv6 support is available 2009-03-28 16:02:43 -04:00
client.c NFS: Add mount options to enable local caching on NFS 2009-04-03 16:42:48 +01:00
delegation.c
delegation.h
dir.c nfs: Fix NFS v4 client handling of MAY_EXEC in nfs_permission. 2009-05-18 20:11:12 -07:00
direct.c
file.c NFS: Close page_mkwrite() races 2009-05-02 19:42:39 -07:00
fscache-index.c NFS: Add read context retention for FS-Cache to call back with 2009-04-03 16:42:44 +01:00
fscache.c NFS: Store pages from an NFS inode into a local cache 2009-04-03 16:42:45 +01:00
fscache.h NFS: Display local caching state 2009-04-03 16:42:47 +01:00
getroot.c NFS: Fix the type of struct nfs_fattr->mode 2009-03-11 14:10:26 -04:00
idmap.c
inode.c NFS: Use local disk inode cache 2009-04-03 16:42:43 +01:00
internal.h NFS: Add mount options to enable local caching on NFS 2009-04-03 16:42:48 +01:00
iostat.h NFS: Add some new I/O counters for FS-Cache doing things for NFS 2009-04-03 16:42:43 +01:00
Kconfig NFS: Permit local filesystem caching to be enabled for NFS 2009-04-03 16:42:42 +01:00
Makefile NFS: Define and create server-level objects 2009-04-03 16:42:42 +01:00
mount_clnt.c
namespace.c
nfs2xdr.c NFS: Fix the type of struct nfs_fattr->mode 2009-03-11 14:10:26 -04:00
nfs3acl.c NFSv3: Fix posix ACL code 2009-03-10 20:33:18 -04:00
nfs3proc.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-04-02 21:09:10 -07:00
nfs3xdr.c NFS: Fix the XDR iovec calculation in nfs3_xdr_setaclargs 2009-04-21 07:46:49 -07:00
nfs4_fs.h constify dentry_operations: NFS 2009-03-27 14:43:59 -04:00
nfs4namespace.c
nfs4proc.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-04-02 21:09:10 -07:00
nfs4renewd.c
nfs4state.c NFS: Start PF_INET6 callback listener only if IPv6 support is available 2009-03-28 16:02:43 -04:00
nfs4xdr.c NFSv4: Make decode_getfattr() set fattr->valid to reflect what was decoded 2009-03-11 14:10:27 -04:00
nfsroot.c
pagelist.c NFS: Throttle page dirtying while we're flushing to disk 2009-03-11 14:10:30 -04:00
proc.c NFS: Optimise NFS close() 2009-03-19 15:35:50 -04:00
read.c NFS: Store pages from an NFS inode into a local cache 2009-04-03 16:42:45 +01:00
super.c Convert obvious places to deactivate_locked_super() 2009-05-09 10:49:40 -04:00
symlink.c
sysctl.c
unlink.c
write.c NFS: Fix up a mismerged patch 2009-03-19 15:17:40 -04:00