UNIXCB
UNIXCB(skb).fp = scm->fp;
if (unix_prepare_fpl(UNIXCB(skb).fp))
scm->fp = UNIXCB(skb).fp;
UNIXCB(skb).fp = NULL;
scm->fp = scm_fp_dup(UNIXCB(skb).fp);
scm.pid = UNIXCB(skb).pid;
if (UNIXCB(skb).fp)
UNIXCB(skb).pid = get_pid(scm->pid);
UNIXCB(skb).uid = scm->creds.uid;
UNIXCB(skb).gid = scm->creds.gid;
UNIXCB(skb).fp = NULL;
scm_set_cred(scm, UNIXCB(skb).pid, UNIXCB(skb).uid, UNIXCB(skb).gid);
if (UNIXCB(skb).pid)
UNIXCB(skb).pid = get_pid(pid);
current_uid_gid(&UNIXCB(skb).uid, &UNIXCB(skb).gid);
return UNIXCB(skb).pid == scm->pid &&
uid_eq(UNIXCB(skb).uid, scm->creds.uid) &&
gid_eq(UNIXCB(skb).gid, scm->creds.gid) &&
struct scm_fp_list *fp = UNIXCB(skb).fp;
struct scm_fp_list *fp = UNIXCB(skb).fp;
if (UNIXCB(skb).fp && !other->sk_scm_rights) {
if (UNIXCB(skb).fp && !other->sk_scm_rights) {
if (UNIXCB(skb).fp && !other->sk_scm_rights) {
UNIXCB(skb).secid = scm->secid;
if (UNIXCB(skb).fp)
scm->secid = UNIXCB(skb).secid;
if (UNIXCB(skb).fp)
return (scm->secid == UNIXCB(skb).secid);
UNIXCB(oob_skb).consumed += 1;
UNIXCB(skb).consumed += chunk;
if (UNIXCB(skb).fp) {
if (UNIXCB(skb).fp)
if (UNIXCB(skb).fp)
ret = skb_copy_datagram_msg(skb, UNIXCB(skb).consumed + skip,
UNIXCB(skb).consumed + skip,
return skb->len - UNIXCB(skb).consumed;
if (UNIXCB(skb).fp)
UNIXCB(skb).fp->dead = true;