Lines Matching defs:newcred

873 	struct ucred *newcred, *oldcred;
880 newcred = crget();
886 oldcred = crcopysafe(p, newcred);
938 change_ruid(newcred, uip);
949 change_svuid(newcred, uid);
958 change_euid(newcred, uip);
964 proc_set_cred(p, newcred);
966 racct_proc_ucred_changed(p, oldcred, newcred);
967 crhold(newcred);
971 rctl_proc_ucred_changed(p, newcred);
972 crfree(newcred);
981 crfree(newcred);
995 struct ucred *newcred, *oldcred;
1002 newcred = crget();
1008 oldcred = crcopysafe(p, newcred);
1025 change_euid(newcred, euip);
1028 proc_set_cred(p, newcred);
1037 crfree(newcred);
1051 struct ucred *newcred, *oldcred;
1057 newcred = crget();
1059 oldcred = crcopysafe(p, newcred);
1105 change_rgid(newcred, gid);
1116 change_svgid(newcred, gid);
1125 change_egid(newcred, gid);
1128 proc_set_cred(p, newcred);
1135 crfree(newcred);
1149 struct ucred *newcred, *oldcred;
1155 newcred = crget();
1157 oldcred = crcopysafe(p, newcred);
1171 change_egid(newcred, egid);
1174 proc_set_cred(p, newcred);
1181 crfree(newcred);
1234 struct ucred *newcred, *oldcred;
1248 newcred = crget();
1250 crextend(newcred, ngrp);
1252 oldcred = crcopysafe(p, newcred);
1274 newcred->cr_ngroups = 1;
1276 crsetgroups_internal(newcred, ngrp, groups);
1279 proc_set_cred(p, newcred);
1286 crfree(newcred);
1301 struct ucred *newcred, *oldcred;
1310 newcred = crget();
1314 oldcred = crcopysafe(p, newcred);
1330 change_euid(newcred, euip);
1334 change_ruid(newcred, ruip);
1337 if ((ruid != (uid_t)-1 || newcred->cr_uid != newcred->cr_ruid) &&
1338 newcred->cr_svuid != newcred->cr_uid) {
1339 change_svuid(newcred, newcred->cr_uid);
1342 proc_set_cred(p, newcred);
1344 racct_proc_ucred_changed(p, oldcred, newcred);
1345 crhold(newcred);
1349 rctl_proc_ucred_changed(p, newcred);
1350 crfree(newcred);
1361 crfree(newcred);
1376 struct ucred *newcred, *oldcred;
1384 newcred = crget();
1386 oldcred = crcopysafe(p, newcred);
1402 change_egid(newcred, egid);
1406 change_rgid(newcred, rgid);
1409 if ((rgid != (gid_t)-1 || newcred->cr_groups[0] != newcred->cr_rgid) &&
1410 newcred->cr_svgid != newcred->cr_groups[0]) {
1411 change_svgid(newcred, newcred->cr_groups[0]);
1414 proc_set_cred(p, newcred);
1421 crfree(newcred);
1441 struct ucred *newcred, *oldcred;
1452 newcred = crget();
1456 oldcred = crcopysafe(p, newcred);
1477 change_euid(newcred, euip);
1481 change_ruid(newcred, ruip);
1485 change_svuid(newcred, suid);
1488 proc_set_cred(p, newcred);
1490 racct_proc_ucred_changed(p, oldcred, newcred);
1491 crhold(newcred);
1495 rctl_proc_ucred_changed(p, newcred);
1496 crfree(newcred);
1507 crfree(newcred);
1528 struct ucred *newcred, *oldcred;
1538 newcred = crget();
1540 oldcred = crcopysafe(p, newcred);
1561 change_egid(newcred, egid);
1565 change_rgid(newcred, rgid);
1569 change_svgid(newcred, sgid);
1572 proc_set_cred(p, newcred);
1579 crfree(newcred);
2651 _proc_set_cred(struct proc *p, struct ucred *newcred, bool enforce_proc_lim)
2657 KASSERT(newcred->cr_users == 0, ("%s: users %d not 0 on cred %p",
2658 __func__, newcred->cr_users, newcred));
2659 KASSERT(newcred->cr_ref == 1, ("%s: ref %ld not 1 on cred %p",
2660 __func__, newcred->cr_ref, newcred));
2662 if (newcred->cr_ruidinfo != oldcred->cr_ruidinfo) {
2671 const int proccnt_changed = chgproccnt(newcred->cr_ruidinfo, 1,
2677 (void)chgproccnt(newcred->cr_ruidinfo, 1, 0);
2686 p->p_ucred = newcred;
2687 newcred->cr_users = 1;
2689 if (newcred->cr_ruidinfo != oldcred->cr_ruidinfo)
2695 proc_set_cred(struct proc *p, struct ucred *newcred)
2697 bool success __diagused = _proc_set_cred(p, newcred, false);
2703 proc_set_cred_enforce_proc_lim(struct proc *p, struct ucred *newcred)
2705 return (_proc_set_cred(p, newcred, true));
2980 * Side effects: newcred->cr_uid and newcred->cr_uidinfo will be modified.
2981 * References: newcred must be an exclusive credential reference for the
2985 change_euid(struct ucred *newcred, struct uidinfo *euip)
2988 newcred->cr_uid = euip->ui_uid;
2990 uifree(newcred->cr_uidinfo);
2991 newcred->cr_uidinfo = euip;
2996 * Side effects: newcred->cr_gid will be modified.
2997 * References: newcred must be an exclusive credential reference for the
3001 change_egid(struct ucred *newcred, gid_t egid)
3004 newcred->cr_groups[0] = egid;
3009 * Side effects: newcred->cr_ruid will be updated, newcred->cr_ruidinfo
3011 * References: newcred must be an exclusive credential reference for the
3015 change_ruid(struct ucred *newcred, struct uidinfo *ruip)
3018 newcred->cr_ruid = ruip->ui_uid;
3020 uifree(newcred->cr_ruidinfo);
3021 newcred->cr_ruidinfo = ruip;
3026 * Side effects: newcred->cr_rgid will be updated.
3027 * References: newcred must be an exclusive credential reference for the
3031 change_rgid(struct ucred *newcred, gid_t rgid)
3034 newcred->cr_rgid = rgid;
3039 * Side effects: newcred->cr_svuid will be updated.
3040 * References: newcred must be an exclusive credential reference for the
3044 change_svuid(struct ucred *newcred, uid_t svuid)
3047 newcred->cr_svuid = svuid;
3052 * Side effects: newcred->cr_svgid will be updated.
3053 * References: newcred must be an exclusive credential reference for the
3057 change_svgid(struct ucred *newcred, gid_t svgid)
3060 newcred->cr_svgid = svgid;