diff options
author | Kristof Provost <kp@FreeBSD.org> | 2018-12-29 14:48:51 +0000 |
---|---|---|
committer | Kristof Provost <kp@FreeBSD.org> | 2018-12-29 14:48:51 +0000 |
commit | af8becca15bdd0d99b669e18f40d6f6f1cfc9547 (patch) | |
tree | 265d6e7e7424a1b1c2127be5452ec1ba9bf87a7c /sys | |
parent | ac8e938122706537a27556f0ad55d8fa55106e44 (diff) | |
download | src-af8becca15bdd0d99b669e18f40d6f6f1cfc9547.tar.gz src-af8becca15bdd0d99b669e18f40d6f6f1cfc9547.zip |
Make kernel print jail ID when logging a process exit
Kernel now includes jail ID when logging a process exit. jid is 0 for unjailed
processes.
Submitted by: Marie Helene Kvello-Aune <freebsd@mhka.no>
Relnotes: yes
Sponsored by: Modirum MDPay
Differential Revision: https://reviews.freebsd.org/D18618
Notes
Notes:
svn path=/head/; revision=342591
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_sig.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index d3ec97e88cd5..c7a6ec6209ba 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -3094,12 +3094,17 @@ proc_wkilled(struct proc *p) void killproc(struct proc *p, char *why) { + int jid = -1; + + if (p->p_ucred && p->p_ucred->cr_prison) + jid = p->p_ucred->cr_prison->pr_id; PROC_LOCK_ASSERT(p, MA_OWNED); CTR3(KTR_PROC, "killproc: proc %p (pid %d, %s)", p, p->p_pid, p->p_comm); - log(LOG_ERR, "pid %d (%s), uid %d, was killed: %s\n", p->p_pid, - p->p_comm, p->p_ucred ? p->p_ucred->cr_uid : -1, why); + log(LOG_ERR, "pid %d (%s), jid %d, uid %d, was killed: %s\n", + p->p_pid, p->p_comm, jid, + p->p_ucred ? p->p_ucred->cr_uid : -1, why); proc_wkilled(p); kern_psignal(p, SIGKILL); } @@ -3116,6 +3121,10 @@ void sigexit(struct thread *td, int sig) { struct proc *p = td->td_proc; + int jid = -1; + + if (p->p_ucred && p->p_ucred->cr_prison) + jid = p->p_ucred->cr_prison->pr_id; PROC_LOCK_ASSERT(p, MA_OWNED); p->p_acflag |= AXSIG; @@ -3142,8 +3151,8 @@ sigexit(struct thread *td, int sig) sig |= WCOREFLAG; if (kern_logsigexit) log(LOG_INFO, - "pid %d (%s), uid %d: exited on signal %d%s\n", - p->p_pid, p->p_comm, + "pid %d (%s), jid %d, uid %d: exited on " + "signal %d%s\n", p->p_pid, p->p_comm, jid, td->td_ucred ? td->td_ucred->cr_uid : -1, sig &~ WCOREFLAG, sig & WCOREFLAG ? " (core dumped)" : ""); |