summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_proc.c
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2011-03-05 14:41:49 +0000
committertrasz <trasz@FreeBSD.org>2011-03-05 14:41:49 +0000
commit1618438630910db9238a8bf1808fd696eba7c86f (patch)
tree24572b457547ac678a031b594014ab4d5aa60b4a /sys/kern/kern_proc.c
parent1a2c2ccf00d839e96bbb9cb391027b14ec4e0d05 (diff)
downloadFreeBSD-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.c4
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);
OpenPOWER on IntegriCloud