Index: head/sys/kern/kern_sig.c =================================================================== --- head/sys/kern/kern_sig.c +++ head/sys/kern/kern_sig.c @@ -3094,12 +3094,17 @@ 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,7 +3121,11 @@ 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 @@ 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)" : "");