sunrpc: Use kuid_t and kgid_t where appropriate

Convert variables that store uids and gids to be of type
kuid_t and kgid_t instead of type uid_t and gid_t.

Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
This commit is contained in:
Eric W. Biederman 2013-02-01 16:31:17 -08:00
parent bf37f79437
commit 7eaf040b72
5 changed files with 16 additions and 15 deletions

View File

@ -17,14 +17,15 @@
#include <linux/atomic.h> #include <linux/atomic.h>
#include <linux/rcupdate.h> #include <linux/rcupdate.h>
#include <linux/uidgid.h>
/* size of the nodename buffer */ /* size of the nodename buffer */
#define UNX_MAXNODENAME 32 #define UNX_MAXNODENAME 32
/* Work around the lack of a VFS credential */ /* Work around the lack of a VFS credential */
struct auth_cred { struct auth_cred {
uid_t uid; kuid_t uid;
gid_t gid; kgid_t gid;
struct group_info *group_info; struct group_info *group_info;
const char *principal; const char *principal;
unsigned char machine_cred : 1; unsigned char machine_cred : 1;
@ -48,7 +49,7 @@ struct rpc_cred {
unsigned long cr_flags; /* various flags */ unsigned long cr_flags; /* various flags */
atomic_t cr_count; /* ref count */ atomic_t cr_count; /* ref count */
uid_t cr_uid; kuid_t cr_uid;
/* per-flavor data */ /* per-flavor data */
}; };

View File

@ -18,8 +18,8 @@
#include <linux/cred.h> #include <linux/cred.h>
struct svc_cred { struct svc_cred {
uid_t cr_uid; kuid_t cr_uid;
gid_t cr_gid; kgid_t cr_gid;
struct group_info *cr_group_info; struct group_info *cr_group_info;
u32 cr_flavor; /* pseudoflavor */ u32 cr_flavor; /* pseudoflavor */
char *cr_principal; /* for gss */ char *cr_principal; /* for gss */

View File

@ -256,7 +256,7 @@ err:
struct gss_upcall_msg { struct gss_upcall_msg {
atomic_t count; atomic_t count;
uid_t uid; kuid_t uid;
struct rpc_pipe_msg msg; struct rpc_pipe_msg msg;
struct list_head list; struct list_head list;
struct gss_auth *auth; struct gss_auth *auth;
@ -303,7 +303,7 @@ gss_release_msg(struct gss_upcall_msg *gss_msg)
} }
static struct gss_upcall_msg * static struct gss_upcall_msg *
__gss_find_upcall(struct rpc_pipe *pipe, uid_t uid) __gss_find_upcall(struct rpc_pipe *pipe, kuid_t uid)
{ {
struct gss_upcall_msg *pos; struct gss_upcall_msg *pos;
list_for_each_entry(pos, &pipe->in_downcall, list) { list_for_each_entry(pos, &pipe->in_downcall, list) {
@ -445,7 +445,7 @@ static void gss_encode_msg(struct gss_upcall_msg *gss_msg,
static struct gss_upcall_msg * static struct gss_upcall_msg *
gss_alloc_msg(struct gss_auth *gss_auth, struct rpc_clnt *clnt, gss_alloc_msg(struct gss_auth *gss_auth, struct rpc_clnt *clnt,
uid_t uid, const char *service_name) kuid_t uid, const char *service_name)
{ {
struct gss_upcall_msg *gss_msg; struct gss_upcall_msg *gss_msg;
int vers; int vers;
@ -475,7 +475,7 @@ gss_setup_upcall(struct rpc_clnt *clnt, struct gss_auth *gss_auth, struct rpc_cr
struct gss_cred *gss_cred = container_of(cred, struct gss_cred *gss_cred = container_of(cred,
struct gss_cred, gc_base); struct gss_cred, gc_base);
struct gss_upcall_msg *gss_new, *gss_msg; struct gss_upcall_msg *gss_new, *gss_msg;
uid_t uid = cred->cr_uid; kuid_t uid = cred->cr_uid;
gss_new = gss_alloc_msg(gss_auth, clnt, uid, gss_cred->gc_principal); gss_new = gss_alloc_msg(gss_auth, clnt, uid, gss_cred->gc_principal);
if (IS_ERR(gss_new)) if (IS_ERR(gss_new))

View File

@ -18,8 +18,8 @@
struct unx_cred { struct unx_cred {
struct rpc_cred uc_base; struct rpc_cred uc_base;
gid_t uc_gid; kgid_t uc_gid;
gid_t uc_gids[NFS_NGROUPS]; kgid_t uc_gids[NFS_NGROUPS];
}; };
#define uc_uid uc_base.cr_uid #define uc_uid uc_base.cr_uid

View File

@ -415,7 +415,7 @@ svcauth_unix_info_release(struct svc_xprt *xpt)
struct unix_gid { struct unix_gid {
struct cache_head h; struct cache_head h;
uid_t uid; kuid_t uid;
struct group_info *gi; struct group_info *gi;
}; };
@ -475,7 +475,7 @@ static int unix_gid_upcall(struct cache_detail *cd, struct cache_head *h)
return sunrpc_cache_pipe_upcall(cd, h, unix_gid_request); return sunrpc_cache_pipe_upcall(cd, h, unix_gid_request);
} }
static struct unix_gid *unix_gid_lookup(struct cache_detail *cd, uid_t uid); static struct unix_gid *unix_gid_lookup(struct cache_detail *cd, kuid_t uid);
static int unix_gid_parse(struct cache_detail *cd, static int unix_gid_parse(struct cache_detail *cd,
char *mesg, int mlen) char *mesg, int mlen)
@ -615,7 +615,7 @@ void unix_gid_cache_destroy(struct net *net)
cache_destroy_net(cd, net); cache_destroy_net(cd, net);
} }
static struct unix_gid *unix_gid_lookup(struct cache_detail *cd, uid_t uid) static struct unix_gid *unix_gid_lookup(struct cache_detail *cd, kuid_t uid)
{ {
struct unix_gid ug; struct unix_gid ug;
struct cache_head *ch; struct cache_head *ch;
@ -628,7 +628,7 @@ static struct unix_gid *unix_gid_lookup(struct cache_detail *cd, uid_t uid)
return NULL; return NULL;
} }
static struct group_info *unix_gid_find(uid_t uid, struct svc_rqst *rqstp) static struct group_info *unix_gid_find(kuid_t uid, struct svc_rqst *rqstp)
{ {
struct unix_gid *ug; struct unix_gid *ug;
struct group_info *gi; struct group_info *gi;