1
0
Fork 0
alistair23-linux/fs/nfsd
Eric W. Biederman ab8e4aee0a nfsd: Handle kuids and kgids in the nfs4acl to posix_acl conversion
In struct nfs4_ace remove the member who and replace it with an
anonymous union holding who_uid and who_gid.  Allowing typesafe
storage uids and gids.

Add a helper pace_gt for sorting posix_acl_entries.

In struct posix_user_ace_state to replace uid with a union
of kuid_t uid and kgid_t gid.

Remove all initializations of the deprecated posic_acl_entry
e_id field.  Which is not present when user namespaces are enabled.

Split find_uid into two functions find_uid and find_gid that work
in a typesafe manner.

In nfs4xdr update nfsd4_encode_fattr to deal with the changes
in struct nfs4_ace.

Rewrite nfsd4_encode_name to take a kuid_t and a kgid_t instead
of a generic id and flag if it is a group or a uid.  Replace
the group flag with a test for a valid gid.

Modify nfsd4_encode_user to take a kuid_t and call the modifed
nfsd4_encode_name.

Modify nfsd4_encode_group to take a kgid_t and call the modified
nfsd4_encode_name.

Modify nfsd4_encode_aclname to take an ace instead of taking the
fields of an ace broken out.  This allows it to detect if the ace is
for a user or a group and to pass the appropriate value while still
being typesafe.

Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2013-02-13 06:16:06 -08:00
..
Kconfig NFSD: Added fault injection 2011-11-07 21:10:47 -05:00
Makefile NFSD: Added fault injection 2011-11-07 21:10:47 -05:00
acl.h nfsd: Remove declaration of nonexistent nfs4_acl_permisison 2013-02-13 06:15:35 -08:00
auth.c Merge branch 'for-3.5' of git://linux-nfs.org/~bfields/linux 2012-06-01 08:32:58 -07:00
auth.h nfsd: Remove nfsd_luid, nfsd_lgid, nfsd_ruid and nfsd_rgid 2013-02-13 06:15:51 -08:00
cache.h nfsd: turn on reply cache for NFSv4 2011-07-18 09:39:01 -04:00
current_stateid.h nfsd41: use current stateid by value 2012-02-15 11:20:45 -05:00
export.c SUNRPC: service request network namespace helper introduced 2012-07-27 16:49:21 -04:00
fault_inject.c NFSD: Correct the size calculation in fault_inject_write 2012-12-10 18:24:22 -05:00
idmap.h nfsd: Convert idmap to use kuids and kgids 2013-02-13 06:15:49 -08:00
lockd.c nfsd: Remove deprecated nfsctl system call and related code. 2011-07-15 18:58:42 -04:00
netns.h nfsd: make NFSd service structure allocated per net 2012-12-10 16:25:39 -05:00
nfs2acl.c nfsd4: cleanup: replace rq_resused count by rq_next_page pointer 2012-12-17 22:00:16 -05:00
nfs3acl.c nfsd4: cleanup: replace rq_resused count by rq_next_page pointer 2012-12-17 22:00:16 -05:00
nfs3proc.c nfsd4: cleanup: replace rq_resused count by rq_next_page pointer 2012-12-17 22:00:16 -05:00
nfs3xdr.c nfsd: Convert nfs3xdr to use kuids and kgids 2013-02-13 06:16:04 -08:00
nfs4acl.c nfsd: Handle kuids and kgids in the nfs4acl to posix_acl conversion 2013-02-13 06:16:06 -08:00
nfs4callback.c nfsd: make NFSv4 lease time per net 2012-11-28 10:39:46 -05:00
nfs4idmap.c nfsd: Convert idmap to use kuids and kgids 2013-02-13 06:15:49 -08:00
nfs4proc.c nfsd4: free_stateid can use the current stateid 2012-12-17 22:00:27 -05:00
nfs4recover.c nfsd: make NFSv4 recovery client tracking options per net 2012-12-10 16:25:30 -05:00
nfs4state.c nfsd4: don't leave freed stateid hashed 2012-12-17 22:00:28 -05:00
nfs4xdr.c nfsd: Handle kuids and kgids in the nfs4acl to posix_acl conversion 2013-02-13 06:16:06 -08:00
nfscache.c nfsd: turn on reply cache for NFSv4 2011-07-18 09:39:01 -04:00
nfsctl.c nfsd: make NFSd service structure allocated per net 2012-12-10 16:25:39 -05:00
nfsd.h nfsd: make NFSd service structure allocated per net 2012-12-10 16:25:39 -05:00
nfsfh.c exportfs: add FILEID_INVALID to indicate invalid fid_type 2012-11-07 19:22:30 -05:00
nfsfh.h fs: propagate umode_t, misc bits 2012-01-03 22:55:10 -05:00
nfsproc.c nfsd: Push mnt_want_write() outside of i_mutex 2012-07-31 01:02:51 +04:00
nfssvc.c nfsd: pass proper net to nfsd_destroy() from NFSd kthreads 2012-12-10 16:25:42 -05:00
nfsxdr.c nfsd: Convert nfsxdr to use kuids and kgids 2013-02-13 06:16:05 -08:00
state.h NFSD: Forget state for a specific client 2012-12-03 09:59:03 -05:00
stats.c SUNRPC: register service stats /proc entries in passed network namespace context 2012-01-31 19:28:18 -05:00
vfs.c Revert "nfsd: warn on odd reply state in nfsd_vfs_read" 2012-12-21 17:07:45 -08:00
vfs.h nfsd: Push mnt_want_write() outside of i_mutex 2012-07-31 01:02:51 +04:00
xdr.h nfsd: remove pointless paths in file headers 2009-12-15 15:01:47 -05:00
xdr3.h nfsd: remove pointless paths in file headers 2009-12-15 15:01:47 -05:00
xdr4.h nfsd4: disable zero-copy on non-final read ops 2012-12-17 16:02:41 -05:00