mirror of https://gitee.com/openkylin/linux.git
sunrpc: Use uid_eq and gid_eq where appropriate
When comparing uids use uid_eq instead of ==. When comparing gids use gid_eq instead of ==. And unfortunate cost of type safety. 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:
parent
7eaf040b72
commit
0b4d51b02a
|
@ -129,8 +129,8 @@ machine_cred_match(struct auth_cred *acred, struct generic_cred *gcred, int flag
|
||||||
{
|
{
|
||||||
if (!gcred->acred.machine_cred ||
|
if (!gcred->acred.machine_cred ||
|
||||||
gcred->acred.principal != acred->principal ||
|
gcred->acred.principal != acred->principal ||
|
||||||
gcred->acred.uid != acred->uid ||
|
!uid_eq(gcred->acred.uid, acred->uid) ||
|
||||||
gcred->acred.gid != acred->gid)
|
!gid_eq(gcred->acred.gid, acred->gid))
|
||||||
return 0;
|
return 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -147,8 +147,8 @@ generic_match(struct auth_cred *acred, struct rpc_cred *cred, int flags)
|
||||||
if (acred->machine_cred)
|
if (acred->machine_cred)
|
||||||
return machine_cred_match(acred, gcred, flags);
|
return machine_cred_match(acred, gcred, flags);
|
||||||
|
|
||||||
if (gcred->acred.uid != acred->uid ||
|
if (!uid_eq(gcred->acred.uid, acred->uid) ||
|
||||||
gcred->acred.gid != acred->gid ||
|
!gid_eq(gcred->acred.gid, acred->gid) ||
|
||||||
gcred->acred.machine_cred != 0)
|
gcred->acred.machine_cred != 0)
|
||||||
goto out_nomatch;
|
goto out_nomatch;
|
||||||
|
|
||||||
|
|
|
@ -307,7 +307,7 @@ __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) {
|
||||||
if (pos->uid != uid)
|
if (!uid_eq(pos->uid, uid))
|
||||||
continue;
|
continue;
|
||||||
atomic_inc(&pos->count);
|
atomic_inc(&pos->count);
|
||||||
dprintk("RPC: %s found msg %p\n", __func__, pos);
|
dprintk("RPC: %s found msg %p\n", __func__, pos);
|
||||||
|
@ -1115,7 +1115,7 @@ gss_match(struct auth_cred *acred, struct rpc_cred *rc, int flags)
|
||||||
}
|
}
|
||||||
if (gss_cred->gc_principal != NULL)
|
if (gss_cred->gc_principal != NULL)
|
||||||
return 0;
|
return 0;
|
||||||
return rc->cr_uid == acred->uid;
|
return uid_eq(rc->cr_uid, acred->uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -123,7 +123,7 @@ unx_match(struct auth_cred *acred, struct rpc_cred *rcred, int flags)
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
|
||||||
if (cred->uc_uid != acred->uid || cred->uc_gid != acred->gid)
|
if (!uid_eq(cred->uc_uid, acred->uid) || !gid_eq(cred->uc_gid, acred->gid))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (acred->group_info != NULL)
|
if (acred->group_info != NULL)
|
||||||
|
|
|
@ -433,7 +433,7 @@ static int unix_gid_match(struct cache_head *corig, struct cache_head *cnew)
|
||||||
{
|
{
|
||||||
struct unix_gid *orig = container_of(corig, struct unix_gid, h);
|
struct unix_gid *orig = container_of(corig, struct unix_gid, h);
|
||||||
struct unix_gid *new = container_of(cnew, struct unix_gid, h);
|
struct unix_gid *new = container_of(cnew, struct unix_gid, h);
|
||||||
return orig->uid == new->uid;
|
return uid_eq(orig->uid, new->uid);
|
||||||
}
|
}
|
||||||
static void unix_gid_init(struct cache_head *cnew, struct cache_head *citem)
|
static void unix_gid_init(struct cache_head *cnew, struct cache_head *citem)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue