提交 72cda3d1 编写于 作者: E Eric W. Biederman

userns: Convert in_group_p and in_egroup_p to use kgid_t

Acked-by: NSerge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
上级 92361636
...@@ -73,8 +73,8 @@ extern int groups_search(const struct group_info *, kgid_t); ...@@ -73,8 +73,8 @@ extern int groups_search(const struct group_info *, kgid_t);
#define GROUP_AT(gi, i) \ #define GROUP_AT(gi, i) \
((gi)->blocks[(i) / NGROUPS_PER_BLOCK][(i) % NGROUPS_PER_BLOCK]) ((gi)->blocks[(i) / NGROUPS_PER_BLOCK][(i) % NGROUPS_PER_BLOCK])
extern int in_group_p(gid_t); extern int in_group_p(kgid_t);
extern int in_egroup_p(gid_t); extern int in_egroup_p(kgid_t);
/* /*
* The common credentials for a thread group * The common credentials for a thread group
......
...@@ -256,27 +256,25 @@ SYSCALL_DEFINE2(setgroups, int, gidsetsize, gid_t __user *, grouplist) ...@@ -256,27 +256,25 @@ SYSCALL_DEFINE2(setgroups, int, gidsetsize, gid_t __user *, grouplist)
/* /*
* Check whether we're fsgid/egid or in the supplemental group.. * Check whether we're fsgid/egid or in the supplemental group..
*/ */
int in_group_p(gid_t grp) int in_group_p(kgid_t grp)
{ {
const struct cred *cred = current_cred(); const struct cred *cred = current_cred();
int retval = 1; int retval = 1;
if (grp != cred->fsgid) if (!gid_eq(grp, cred->fsgid))
retval = groups_search(cred->group_info, retval = groups_search(cred->group_info, grp);
make_kgid(cred->user_ns, grp));
return retval; return retval;
} }
EXPORT_SYMBOL(in_group_p); EXPORT_SYMBOL(in_group_p);
int in_egroup_p(gid_t grp) int in_egroup_p(kgid_t grp)
{ {
const struct cred *cred = current_cred(); const struct cred *cred = current_cred();
int retval = 1; int retval = 1;
if (grp != cred->egid) if (!gid_eq(grp, cred->egid))
retval = groups_search(cred->group_info, retval = groups_search(cred->group_info, grp);
make_kgid(cred->user_ns, grp));
return retval; return retval;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册