cr1
#define VFPSCR cr1
uint8_t cr0, cr1, fc;
cr1 = CSR_READ_1(sc, VR_CR1);
mfdx = (cr1 & VR_CR1_FULLDUPLEX) != 0;
cr1 |= VR_CR1_FULLDUPLEX;
cr1 &= ~VR_CR1_FULLDUPLEX;
CSR_WRITE_1(sc, VR_CR1, cr1);
#define CANSIGIO(cr1, cr2) \
((cr1)->cr_uid == 0 || \
(cr1)->cr_ruid == (cr2)->cr_ruid || \
(cr1)->cr_uid == (cr2)->cr_ruid || \
(cr1)->cr_ruid == (cr2)->cr_uid || \
(cr1)->cr_uid == (cr2)->cr_uid)
mac_cred_check_visible(struct ucred *cr1, struct ucred *cr2)
MAC_POLICY_CHECK_NOSLEEP(cred_check_visible, cr1, cr2);
MAC_CHECK_PROBE2(cred_check_visible, error, cr1, cr2);
int mac_cred_check_visible(struct ucred *cr1, struct ucred *cr2);
void mac_cred_copy(struct ucred *cr1, struct ucred *cr2);
typedef int (*mpo_cred_check_visible_t)(struct ucred *cr1,
lomac_cred_check_visible(struct ucred *cr1, struct ucred *cr2)
subj = SLOT(cr1->cr_label);
mls_cred_check_visible(struct ucred *cr1, struct ucred *cr2)
subj = SLOT(cr1->cr_label);
partition_cred_check_visible(struct ucred *cr1, struct ucred *cr2)
error = partition_check(cr1->cr_label, cr2->cr_label);
seeotheruids_check(struct ucred *cr1, struct ucred *cr2)
if (cr1->cr_rgid == cr2->cr_rgid)
if (cr1->cr_rgid == specificgid ||
groupmember(specificgid, cr1))
if (cr1->cr_ruid == cr2->cr_ruid)
if (priv_check_cred(cr1, PRIV_SEEOTHERUIDS) == 0)
seeotheruids_cred_check_visible(struct ucred *cr1, struct ucred *cr2)
return (seeotheruids_check(cr1, cr2));
stub_cred_check_visible(struct ucred *cr1, struct ucred *cr2)
static void cr1(void);
static void (*functions[])(void) = {&cr1, &cr2, &cr3, &rn1, &rw1, &rw2};
compare_cred(struct expcred *cr0, struct expcred *cr1)
if (cr0->cr_uid != cr1->cr_uid || cr0->cr_ngroups != cr1->cr_ngroups)
COMPARE_ARRAYS(cr0->cr_groups, cr1->cr_groups, cr0->cr_ngroups);