From nobody Sat Aug 1 00:55:07 2026 X-Original-To: dev-commits-doc-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 4hBkxS2gyzz6mTKX for ; Sat, 01 Aug 2026 00:55:08 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hBkxS1Q4Cz41LN for ; Sat, 01 Aug 2026 00:55:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785545708; 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=JroqDJm0kweBSzyjCMOCUuXBMxK+s2g4QqTA1Dc6NsM=; b=jR2Rar7V5Z3t/YXZXD+hDzDKcED/RCEGpWV0AzgLIilsf3NF1zfQ9rJXNoESUzYDPamfgv 1EQTbFlfoaw+UXG+rDbcIpcOYrcP6RAkjRH8DSv9zBaFQunVPumNAuUUr683MAZJDOzbVi AsB+HkYoFSi+QowmYFs8M9gaymtUDItZKxqNuVfj6ypKzu4KDTNqzpHtOgBJQ3Yu8d8/R8 5p8iGcHMi5HCC3wBrH+feXfiQePu1vWD2QZjG+nmyEKxcBbopJxwCEOqMz7aShn8Q6yGvZ ShjMl+DjWg1W95IwjAhzMHOTmUyRGjuR2DLApjD7eWQpOdnacKoUbkFPt8QedA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785545708; a=rsa-sha256; cv=none; b=LfptX4WhFzQbi1/OM2uE3mzk/uQpDjKR/uqljPB4kW23awwpsQe6PL4UZ2RAiaCGL0lj6X gOPGEliecoTHkORoOT0u/1C/GR2R22RKd0tCHdcd0oR6Zfn2BbNio4LKIDfda/50c/Ldyr SGMUB6f2jGiost8IUvob+A1tC5e6yCezNXwSbpFImzabRtW9dq436vF68Fm6lAAiP8YSev 5MtltbMiKCSblWjptV/ECiyUj5r1xQO3SoE7xOh+E94OTyZLUJSPIvi/F26eECu/GRvQEz SRE4NA915sFVNqBFPPrHosdNSnunms2whLvBQ0RkJ2BwHU/UqL866HHrafjSZA== 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=1785545708; 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=JroqDJm0kweBSzyjCMOCUuXBMxK+s2g4QqTA1Dc6NsM=; b=BZXaZLeeKJpiv2nOx1UFtVWQUQjuILaVun17/VjwQBrs8PRzpP3QWf+3Tu+4jtTXzUdVwo lVXtRXdYvgpsoWvHyV8oCZII2KCOVJA0D0Q+c+C75bEPK5rgo8AgE6+iBVtfrtoCi+jR2t 2MPRCcwqQP1+7l4YGpx/ckbV6qZYoQT/nY764bTR1Q6Po3d9mg6v7+NpcIuZkRoEFuChhs RehGP/7iLaa65bhZyunQWQm5IY2sPsiHrGEjdPb4d0xIRRhDeTVzH2mrHI2g8Ps6URRuCg x+vj/5Br39iGuntGyOWJ1Yyw/ai2eUu+fHRA83DybGJhNUfO8Z4VgrzMRziQ2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hBkxR72zCz8CK for ; Sat, 01 Aug 2026 00:55:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a348 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 01 Aug 2026 00:55:07 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Maxim Konovalov Subject: git: b5bc268a69 - main - Status/2026Q2/pdopenpid.adoc: man references markup fixes List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@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: maxim X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b5bc268a69c479e0351701a797ffd10fc492e069 Auto-Submitted: auto-generated Date: Sat, 01 Aug 2026 00:55:07 +0000 Message-Id: <6a6d43eb.1a348.55156b1e@gitrepo.freebsd.org> The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/doc/commit/?id=b5bc268a69c479e0351701a797ffd10fc492e069 commit b5bc268a69c479e0351701a797ffd10fc492e069 Author: Maxim Konovalov AuthorDate: 2026-08-01 00:54:46 +0000 Commit: Maxim Konovalov CommitDate: 2026-08-01 00:54:46 +0000 Status/2026Q2/pdopenpid.adoc: man references markup fixes --- website/content/en/status/report-2026-04-2026-06/pdopenpid.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/content/en/status/report-2026-04-2026-06/pdopenpid.adoc b/website/content/en/status/report-2026-04-2026-06/pdopenpid.adoc index 8439605cf7..eddabb86ce 100644 --- a/website/content/en/status/report-2026-04-2026-06/pdopenpid.adoc +++ b/website/content/en/status/report-2026-04-2026-06/pdopenpid.adoc @@ -13,21 +13,21 @@ Currently only one file descriptor may reference an internal struct procdesc in The work added the ability for procdescs to be pointed to by more than one file. Attributes controlling the procdesc behavior, e.g. the daemon (closing the file does not terminate the process) were moved from procdesc to the file. -This change allowed to extend the procdesc internal interfaces to implement the man:pdopenid(2) system call. +This change allowed to extend the procdesc internal interfaces to implement the man:pdopenid[2] system call. A facility implemented e.g. by the Linux pidfd descriptors is the pidfd_getfd() system call, that duplicates specified file descriptor from the target process, into the caller. -The implementation of it for FreeBSD, named man:pddupfd(2) is relatively straightforward once we get the fget_remote(9) helper. +The implementation of it for FreeBSD, named man:pddupfd[2] is relatively straightforward once we get the fget_remote(9) helper. A problem with it started when the algorithm to check for privileges required to allow the operation was developed. The kernel checks the result of p_candebug() to see if something should be allowed that directly accesses programming resources of the remote process. But p_candebug() result is only valid while the target process lock is owned. -Besides, p_candebug() denies actions if the target process changes the executing program with man:execve(2), which might change the privileges of the process if the image is set-uid or set-gid. +Besides, p_candebug() denies actions if the target process changes the executing program with man:execve[2], which might change the privileges of the process if the image is set-uid or set-gid. Overall, this makes the plain check with p_candebug() inadequate, because we cannot own the process lock over fget_remote(). For that, a facility was developed that provides mutual exclusion for execing in the target process vs. the caller, called execblock. Also, helpers to reference the current vmspace for a process were added, to avoid using execblock when only a consistent target address space is required for the action, like reading of the process strings or copying the process memory. Existing places in system that are affected by the race were identified, and the usage of execblock or vmspace referencing interfaces applied as needed. -Then, the man:pddupfd(2) was implemented with the help of fget_remote() and execblock. +Then, the man:pddupfd[2] was implemented with the help of fget_remote() and execblock. Sponsor: The FreeBSD Foundation