From nobody Sat Jul 5 17:07:24 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bZH4D2mXHz61J11; Sat, 05 Jul 2025 17:07:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bZH4D1mgyz3Vcy; Sat, 05 Jul 2025 17:07:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1751735244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X/XTmNn2J8CHSQ9IdlpJAyTNqDcN9qZIEWQhkesO27g=; b=OnmOeGv0xJhEzwu5GDBsyUYY4lzzRxe3Lrd0Ws8XLc77Z4blmlBqkp86lOZDqJFOWENX/K my/BZhFfRLQdk+ypqXIqt5ErExYVe6WndJoOef4tZTDZsFWxoPm7GCone+VrXIf1QDBjT3 LFUSDVxCyJ0jYfz92OV9fFgD9fIyA4E88mnhxhR2n5ht1pqNfhvhxDV7o4MufufiPHyLpa GUHwHpTdIAIADn0VX/K03+6RFhT6obDJbjsQv5pU0FtBF/mohiOpmHpK78lOhXe+JNM6DO MOtiU4EqsHyjx7nQ54YNa9HvVcBgkM6TcXHgzX8/bQBQL8SZekJXx7XupGx0/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1751735244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X/XTmNn2J8CHSQ9IdlpJAyTNqDcN9qZIEWQhkesO27g=; b=XEpnMvsHxsTxYCKaWWoF95e65dEdG5atwy3brKYXURfVuq2cx1pzLuUinuppcgifCUvb1O p9h4v2XSH5sMOUtKQpcPncDQM/mIdRY5lO9xhiKh7ZaebW+62w4BwOcHMvh/g+i1TnTNqa 4iakBihJQ5vc4Aja55ZZupk/vDfWXuTBZ4DmqiRwnVnWMHR30xqregE0H8e0NYUM0ghN+u ev37vvvEpYWDgDI6TF37FsSxG5TUtRG4m3BYAnUhQNihd6v0G+jAuSw7M3d+5d3GjFuLAV BljnG4DJF6ZM+YssQOCNq1jEdLA7R3sBjiv4ib6GtW1IMc4v16XEMtcQXR2u0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1751735244; a=rsa-sha256; cv=none; b=ZVtBm181Iisk24UEn5KJ7Bq7/4ujYvSFoA0by2kijPUGO88D/AERWoatSWSi+TaRB3SDhK WbUqw3aB6TmS1eVUxukp/ysDlpb1neAEtnGFsU0wT/6GCv97UThU6Jv5KdsJAceZ9WVoy5 Ox04z0kUojtZOtjjyV5qbAcCZb97NertQogUaRb3+CJznY+1s/zOB1ODaC4Qia7XKJ6mUU oD4JxXH6HmTOayVbzLqY15NwwU7j2juvJScL9F4nTQENc+JyGIeeAH/T/bds5acvYCFbZC KQS5cq++slkhhGR+pVjnMOiEAZacSApA3nhDLH0GtZ5zhMGvSThQI4KpMnP5cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bZH4D12mqzkXy; Sat, 05 Jul 2025 17:07:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 565H7OaN029005; Sat, 5 Jul 2025 17:07:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 565H7O6d029002; Sat, 5 Jul 2025 17:07:24 GMT (envelope-from git) Date: Sat, 5 Jul 2025 17:07:24 GMT Message-Id: <202507051707.565H7O6d029002@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 7134ad650bc4 - main - kern: add some extra metadata to the coredump devctl notification List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7134ad650bc47d8f7719c059e2f14f647af803d7 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=7134ad650bc47d8f7719c059e2f14f647af803d7 commit 7134ad650bc47d8f7719c059e2f14f647af803d7 Author: Kyle Evans AuthorDate: 2025-07-05 03:25:14 +0000 Commit: Kyle Evans CommitDate: 2025-07-05 17:07:17 +0000 kern: add some extra metadata to the coredump devctl notification We already have a chance of cutting it close to the devctl limit depending on the path, but this should be less than 50 bytes extra on average. The jid gives us enough for userland to be able to actually locate the corefile on disk in case it was produced in a jailed process, the rest is just icing on the cake. We could extract pid/signo from the core itself, but it's nice to be able to do some pre-filtering before we even touch the core. I'd like to use this in a (near-future) ucored port that will hoover up corefiles from all over the system depending on some criteria. Reviewed by: imp (earlier version), kib Differential Revision: https://reviews.freebsd.org/D51164 --- sys/kern/kern_sig.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 4565abc4b540..a61ebfc5c7c8 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -4139,7 +4139,7 @@ coredump(struct thread *td) struct flock lf; struct vattr vattr; size_t fullpathsize; - int error, error1, locked; + int error, error1, jid, locked, ppid, sig; char *name; /* name of corefile */ void *rl_cookie; off_t limit; @@ -4168,6 +4168,10 @@ coredump(struct thread *td) PROC_UNLOCK(p); return (EFBIG); } + + ppid = p->p_oppid; + sig = p->p_sig; + jid = p->p_ucred->cr_prison->pr_id; PROC_UNLOCK(p); error = corefile_open(p->p_comm, cred->cr_uid, p->p_pid, td, @@ -4253,6 +4257,9 @@ coredump(struct thread *td) } devctl_safe_quote_sb(sb, name); sbuf_putc(sb, '"'); + + sbuf_printf(sb, " jid=%d pid=%d ppid=%d signo=%d", + jid, p->p_pid, ppid, sig); if (sbuf_finish(sb) == 0) devctl_notify("kernel", "signal", "coredump", sbuf_data(sb)); out2: