aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2018-12-29 14:48:51 +0000
committerKristof Provost <kp@FreeBSD.org>2018-12-29 14:48:51 +0000
commitaf8becca15bdd0d99b669e18f40d6f6f1cfc9547 (patch)
tree265d6e7e7424a1b1c2127be5452ec1ba9bf87a7c /sys
parentac8e938122706537a27556f0ad55d8fa55106e44 (diff)
downloadsrc-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.c17
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)" : "");