31 #include "opt_kdtrace.h"
33 #include <sys/cdefs.h>
36 #include <sys/param.h>
38 #include <sys/kernel.h>
42 #include <sys/sysctl.h>
43 #include <sys/systm.h>
45 #include <security/mac/mac_framework.h>
80 KASSERT(PRIV_VALID(priv), (
"priv_check_cred: invalid privilege %d",
88 error = mac_priv_check(cred, priv);
108 case PRIV_VM_MUNLOCK:
129 case PRIV_PROC_LIMIT:
130 if (cred->cr_ruid == 0) {
137 if (cred->cr_uid == 0) {
150 if (mac_priv_grant(cred, priv) == 0) {
163 SDT_PROBE1(priv, kernel,
priv_check, priv__err, priv);
165 SDT_PROBE1(priv, kernel,
priv_check, priv__ok, priv);
173 KASSERT(td == curthread, (
"priv_check: td != curthread"));
int priv_check_cred(struct ucred *cred, int priv, int flags)
TUNABLE_INT("security.bsd.suser_enabled",&suser_enabled)
SDT_PROVIDER_DEFINE(priv)
int priv_check(struct thread *td, int priv)
SYSCTL_INT(_security_bsd, OID_AUTO, suser_enabled, CTLFLAG_RW,&suser_enabled, 0,"processes with uid 0 have privilege")
int prison_priv_check(struct ucred *cred, int priv)
static int unprivileged_mlock
SDT_PROBE_DEFINE1(priv, kernel, priv_check, priv__ok,"int")