scm: Stop passing struct cred
Now that uids and gids are completely encapsulated in kuid_t and kgid_t we no longer need to pass struct cred which allowed us to test both the uid and the user namespace for equality. Passing struct cred potentially allows us to pass the entire group list as BSD does but I don't believe the cost of cache line misses justifies retaining code for a future potential application. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
d978a6361a
commit
6b0ee8c036
@@ -187,22 +187,6 @@ int __scm_send(struct socket *sock, struct msghdr *msg, struct scm_cookie *p)
|
||||
|
||||
p->creds.uid = uid;
|
||||
p->creds.gid = gid;
|
||||
|
||||
if (!p->cred ||
|
||||
!uid_eq(p->cred->euid, uid) ||
|
||||
!gid_eq(p->cred->egid, gid)) {
|
||||
struct cred *cred;
|
||||
err = -ENOMEM;
|
||||
cred = prepare_creds();
|
||||
if (!cred)
|
||||
goto error;
|
||||
|
||||
cred->uid = cred->euid = uid;
|
||||
cred->gid = cred->egid = gid;
|
||||
if (p->cred)
|
||||
put_cred(p->cred);
|
||||
p->cred = cred;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
Reference in New Issue
Block a user