diff options
author | trasz <trasz@FreeBSD.org> | 2011-03-05 14:41:49 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2011-03-05 14:41:49 +0000 |
commit | 1618438630910db9238a8bf1808fd696eba7c86f (patch) | |
tree | 24572b457547ac678a031b594014ab4d5aa60b4a /sys/kern/kern_proc.c | |
parent | 1a2c2ccf00d839e96bbb9cb391027b14ec4e0d05 (diff) | |
download | FreeBSD-src-1618438630910db9238a8bf1808fd696eba7c86f.zip FreeBSD-src-1618438630910db9238a8bf1808fd696eba7c86f.tar.gz |
Export login class information via kinfo and make it possible to view
it using "ps -o class".
Diffstat (limited to 'sys/kern/kern_proc.c')
-rw-r--r-- | sys/kern/kern_proc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 1e576ed..e02b5b2 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include <sys/kernel.h> #include <sys/limits.h> #include <sys/lock.h> +#include <sys/loginclass.h> #include <sys/malloc.h> #include <sys/mount.h> #include <sys/mutex.h> @@ -745,6 +746,8 @@ fill_kinfo_proc_only(struct proc *p, struct kinfo_proc *kp) if (cred->cr_prison != curthread->td_ucred->cr_prison) kp->ki_jid = cred->cr_prison->pr_id; } + strlcpy(kp->ki_loginclass, cred->cr_loginclass->lc_name, + sizeof(kp->ki_loginclass)); } ps = p->p_sigacts; if (ps) { @@ -1059,6 +1062,7 @@ freebsd32_kinfo_proc_out(const struct kinfo_proc *ki, struct kinfo_proc32 *ki32) bcopy(ki->ki_lockname, ki32->ki_lockname, LOCKNAMELEN + 1); bcopy(ki->ki_comm, ki32->ki_comm, COMMLEN + 1); bcopy(ki->ki_emul, ki32->ki_emul, KI_EMULNAMELEN + 1); + bcopy(ki->ki_loginclass, ki32->ki_loginclass, LOGINCLASSLEN + 1); CP(*ki, *ki32, ki_cr_flags); CP(*ki, *ki32, ki_jid); CP(*ki, *ki32, ki_numthreads); |