ucred
struct ucred creds;
if (cmsg->cmsg_len != CMSG_LEN(sizeof(struct ucred)))
memcpy(&creds, CMSG_DATA(cmsg), sizeof(struct ucred));
static __inline__ int scm_check_creds(struct ucred *creds)
struct ucred ucreds = {
struct ucred *ucred)
ucred->pid = pid_vnr(pid);
ucred->uid = ucred->gid = -1;
ucred->uid = from_kuid_munged(current_ns, cred->euid);
ucred->gid = from_kgid_munged(current_ns, cred->egid);
struct ucred peercred;
struct ucred *ucred;
if (cmsg->cmsg_len < sizeof(*res->ucred)) {
res->ucred = (void *)CMSG_DATA(cmsg);
if (!res->ucred) {
char control[CMSG_SPACE(sizeof(struct ucred)) +
char control[CMSG_SPACE(sizeof(struct ucred)) +
struct ucred peer_cred;
char control[CMSG_SPACE(sizeof(struct ucred))];