linux/fs/nfsd
J. Bruce Fields 864f0f61f8 nfsd: simplify fh_verify access checks
All nfsd security depends on the security checks in fh_verify, and
especially on nfsd_setuser().

It therefore bothers me that the nfsd_setuser call may be made from
three different places, depending on whether the filehandle has already
been mapped to a dentry, and on whether subtreechecking is in force.

Instead, make an unconditional call in fh_verify(), so it's trivial to
verify that the call always occurs.

That leaves us with a redundant nfsd_setuser() call in the subtreecheck
case--it needs the correct user set earlier in order to check execute
permissions on the path to this filehandle--but I'm willing to accept
that minor inefficiency in the subtreecheck case in return for more
straightforward permission checking.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2009-11-25 17:55:46 -05:00
..
auth.c CRED: Add some configurable debugging [try #6] 2009-09-02 21:29:01 +10:00
auth.h nfsd: minor fs/nfsd/auth.h cleanup 2008-02-01 16:42:05 -05:00
export.c nfsd4: fix error return when pseudoroot missing 2009-09-28 12:21:26 -04:00
Kconfig nfsd : Define NFSD only when FILE_LOCKING is enabled 2009-03-18 17:30:48 -04:00
lockd.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
Makefile knfsd: trivial makefile cleanup 2007-05-09 12:30:54 -07:00
nfs2acl.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
nfs3acl.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
nfs3proc.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
nfs3xdr.c Fix memory corruption caused by nfsd readdir+ 2009-11-14 12:55:55 -08:00
nfs4acl.c nfsd: Fix sort_pacl in fs/nfsd/nf4acl.c to actually sort groups 2009-10-27 19:34:44 -04:00
nfs4callback.c nfsd41: modify nfsd4.1 backchannel to use new xprt class 2009-09-15 20:52:13 -04:00
nfs4idmap.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
nfs4proc.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
nfs4recover.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
nfs4state.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
nfs4xdr.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
nfscache.c knfsd: fix reply cache memory corruption 2009-05-27 14:14:02 -04:00
nfsctl.c const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
nfsfh.c nfsd: simplify fh_verify access checks 2009-11-25 17:55:46 -05:00
nfsproc.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
nfssvc.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
nfsxdr.c Use struct path in struct svc_export 2008-02-14 21:17:08 -08:00
stats.c [PATCH] knfsd: nfsd4: add per-operation server stats 2006-07-10 13:24:27 -07:00
vfs.c nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
vfs.h nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00