From nobody Fri Aug 28 12:05:18 2026 X-Original-To: dev-commits-src-main@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 4hWcXH0bLgz6qHTf for ; Fri, 28 Aug 2026 12:05:19 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hWcXG1dLMz3BnR for ; Fri, 28 Aug 2026 12:05:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787918718; 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=dxGrDru/UtWNQw4BGSu7JbIVvsgfla0jMQt6dB9cUZU=; b=KTa8rCYoNddZnhCQD3pTTf8O1KW78nJtVZGbwfkN+nrGvC91zspa4Dbzex2SteEnDC1x4x zSjd98plpy3k9Pam9VI0i5CziyBTPRk7jGNSJCfRu6TBynTiKUtP480iiA0DXzE92hTo/Z sVtaKd9fTCJoSkDIhpvbM93tLNjAHE+ky8E81vxo2+W0f/Hh0mMI1RBUaSSLxSApc3Y7OO Af5fyp2swqAAyt6V+PTZsFY75bWECKdj5UUcal1+7+9SJVN8Vj3z4lBMFFbNRVa1dRUynM 8IcfJ7zyPf3a0sQ6PamhubKWOyRQKYR/G7icsQnuOVFNn0eMGaB3uargFGDczw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787918718; a=rsa-sha256; cv=none; b=Uok16xXf7kwzaljsRwCUpT7jhXvcEuiI7R1hANEaK9qZPvfEJyA22bBmrnE6a64IccH8fh 7uzNimml55pHtNHZcXAdpXbPEe9+hCQa2ycbx884HstToldkK1FSE27lnUUlyOPbAz9VXi ErICkC9y07jRfZNxRkCPnFXxwusQci4qT1qQyV8dF2QiHFyKLqSH1BuvdIe/cQB93WXT42 0Q3l+L5CmqQtM63zmUYXApmfHevTg4CoM9527PjaXHX7kw3N5E5ug8Rp4fHhdIyum41alZ JXh20SBcAY9n4OXmsUsdjYeaSMh+6yNam4CtWmmiUHnwbjTkUEJqPGVb0sbDKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787918718; 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=dxGrDru/UtWNQw4BGSu7JbIVvsgfla0jMQt6dB9cUZU=; b=aaPnh4/TXnwRNhtUKJKtzNU+7ZbD3MLnpCWWXRdQ8qBQPyQwTxQrq3pk02W9ca3eQBzcZ7 tGGTsydjyyBKNBq2YwVHJkMKGXcSupwYPWt5QXXjVXX1ehI2e466uhIYqkYkpLgpn3zNnv O+QtG7qCgamF85QzuSu4XJM7kNOui3FJtzBsyWlEkYYg5B1ONPR5Pr976PHw6SGm1o35+D HVhk7xoSL/6eSdweuk8KK5alGhFdFzZirafiSY565y/v8PAy3XQywEc4Pa2dG/vjQDl/UD ifjctMh/vGmgLWYrsbGYpenWMOYiq2zjmjtIxfjv73Zx+jaqVuTXekXSxfLLkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hWcXG0BL5z18JM for ; Fri, 28 Aug 2026 12:05:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24d52 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 28 Aug 2026 12:05:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 73c92a978cce - main - pdopenpid(2): allow in capability mode with restrictions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73c92a978ccef5e1683914510ea35e6e338646d1 Auto-Submitted: auto-generated Date: Fri, 28 Aug 2026 12:05:18 +0000 Message-Id: <6a91797e.24d52.55ee8fb@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=73c92a978ccef5e1683914510ea35e6e338646d1 commit 73c92a978ccef5e1683914510ea35e6e338646d1 Author: Konstantin Belousov AuthorDate: 2026-07-07 23:46:56 +0000 Commit: Konstantin Belousov CommitDate: 2026-08-28 11:55:11 +0000 pdopenpid(2): allow in capability mode with restrictions The pdopenpid() syscall is allowed to open processes which are either direct children of the caller, or are debuggees already attached to the calling process. This is reasonable because we could have controlled the child on fork anyway. The procdesc-less debuggee can legitimately appear due to ptrace FOLLOW-FORK mode. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D58989 --- sys/kern/sys_procdesc.c | 6 ++++++ sys/kern/syscalls.master | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/kern/sys_procdesc.c b/sys/kern/sys_procdesc.c index 5ee8a4734248..b9329cd38088 100644 --- a/sys/kern/sys_procdesc.c +++ b/sys/kern/sys_procdesc.c @@ -665,6 +665,12 @@ pdopenpid1(struct thread *td, pid_t pid, struct procdesc **pdf, struct file *fp) PROC_UNLOCK(p); return (EBUSY); } + error = p_canopen(td, p); + if (error != 0) { + PROC_UNLOCK(p); + return (error); + } + pd = p->p_procdesc; if (pd != NULL) { MPASS((p->p_zombieref & PZOMBIEREF_PROCDESC) != 0); diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index 656c73da348f..a3d16a6131c0 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -3429,7 +3429,7 @@ int flags ); } -603 AUE_PDOPENPID STD { +603 AUE_PDOPENPID STD|CAPENABLED { int pdopenpid( pid_t pid, int flags