From nobody Mon Feb 2 15:44:33 2026 X-Original-To: dev-commits-src-branches@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 4f4WBp0mmBz6QdTs for ; Mon, 02 Feb 2026 15:44:34 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4WBn70vwz3DgK for ; Mon, 02 Feb 2026 15:44:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770047074; 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=9YE/1G3pRQbIr6kxtIkjzfum3OMWUtVarRgt8BK33XM=; b=I/VgPb2OVhHsf1FjtcVwK3CGvL2Bu66zrxUoNHk84oc3iRqgoF3HqyvHbUqBd0p5+bNLrC 93Gfu5KoS3JC5I4HAFZmTE0nOmmyoIKl+9LEoos6nnSzXdFZYAgaO9CZZaiXbiYDnS4HB5 HZ+OVHgHH8vw7m1VOtooFgvHyN+Hn9YKuIChvKiohdjYeH5SNOJFl2aN/NFhQM+Ustv2Tc Oa0C3dt7g6ZKlciSnpBqnAtnXAkhBcXsksViDRxrX0JXjU7UnFaj0q4/ClcwC0FdAG7OpO rUZojhJSEhMYgVGWh6hAU7CwCOKDKDuwKsVvBD0eSL5pAbshNKQjyL5aOYzgYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770047074; a=rsa-sha256; cv=none; b=RemNXdFikfQln3k0rFZ4088i/mLtDOsR3jhkUyYN/QULvxF+ayesuxNKnJVuxpohWwvYXP dVqiAHRBwB8zKG2nnSWwD50JmJ9HoIP/45MmuV8YZZ5f7ym1aPWRIc1bJFO/9EFMvrUgVZ 2WlEaRSLOTh+ZIu2kBzv98Xj3zcQWt0bgqWziDHIcVlS1iyHzvRmpXb4CYtjddRjI7f8yU WipLtYlqEHsi0hcL+9u7jPBcieUIpul0whPGGuLjPW1Xqc0UDKyWcLGmpIscOMTpuJC/Xt K3BGCy25tuqf1LCJzV2dqO0CIsCvshzcA2IgOfHTHZdsYnYsdSGE0aVmUzNJmQ== 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=1770047074; 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=9YE/1G3pRQbIr6kxtIkjzfum3OMWUtVarRgt8BK33XM=; b=pqQS2LSuR7aO4pyIH6QE3LI8/gb9bWUotfoQ75PPHcpgwckX+y3odUTRJC7tWOoxP1ogLw fwPLtqsn42d0w9hgCRmOdbaCWtukpCAgbiqL7Lv9RBV0yM41ZLRAg8nmEIlvgzAe1V48/e 9kNYHKNRZdrgt7Y3AJaFGt8j4mHZ95o5pH7tbvUEuF26EpwhrRNLw8wLIpRCfMg5s41Bfd NoMhqRdG+Nc2gYGemvuGEb85w7Dj63E+CjQV5PvTlwxefQmzRzbatodMLLccpUEuk+JRk7 RmbcU1uLReIdvgF3Y7pgS7qVkHD2Ax6qZQcgmOeQIzqPFdMKpdO25UVHfcIxXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4WBn6b3SzYml for ; Mon, 02 Feb 2026 15:44:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3df1a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 15:44:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: ea2d34436286 - stable/14 - native-xtools: use static LLVM libraries List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ea2d344362867b22a1a13b2af984570d93a49687 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 15:44:33 +0000 Message-Id: <6980c661.3df1a.7af56542@gitrepo.freebsd.org> The branch stable/14 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=ea2d344362867b22a1a13b2af984570d93a49687 commit ea2d344362867b22a1a13b2af984570d93a49687 Author: Mitchell Horne AuthorDate: 2026-01-26 14:58:55 +0000 Commit: Mitchell Horne CommitDate: 2026-02-02 15:43:13 +0000 native-xtools: use static LLVM libraries Set the MK_LLVM_LINK_STATIC_LIBRARIES knob to "yes" when building the native-xtools target. This reverts to the behaviour prior to 2e47f35be5dc. This avoids a build failure that occurs otherwise, where compilation fails looking for a libllvmprivate.so that was not built. It is unclear if this addresses the issue in all instances---some replies in the PRs indicate otherwise. Still, some report success, and in my own testing this fixed creation of a cross-compiled poudriere jail. Commit this while we continue to investigate... PR: 286710, 291409 Tested by: marck, rdunkle@smallcatbrain.com Reviewed by: emaste MFC after: 3 days Fixes: 2e47f35be5dc ("Convert libllvm, libclang and liblldb into private shared libraries"). Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54815 (cherry picked from commit 38e5564ecef53064c984d086a040c01100023f40) --- Makefile.inc1 | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index f4396b839e9a..87e67925698e 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3008,6 +3008,7 @@ NXBMAKEARGS+= \ MK_DEBUG_FILES=no \ MK_HTML=no \ MK_LLDB=no \ + MK_LLVM_LINK_STATIC_LIBRARIES=yes \ MK_MAN=no \ MK_MAN_UTILS=yes \ MK_OFED=no \ From nobody Mon Feb 2 15:44:45 2026 X-Original-To: dev-commits-src-branches@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 4f4WC13YLvz6Qdbp for ; Mon, 02 Feb 2026 15:44:45 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4WC12wGDz3FTJ for ; Mon, 02 Feb 2026 15:44:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770047085; 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=3rGaN7HYY92taLUIJ3Y3HTtZeW6FyFNjsTly8XzUS78=; b=IScIjMizjZuBhzn9jJ90loKN/8xJ/iZEaWLANIUPo82nMyf4TEoJN9Srk0BsHkdjWhnKli b26VKK6BGM0yXZBozE6vz98k3FB8XQWFFyWgHk103fr/EsWXAsq1H4DonZpkU5x+lPEA78 FhdGPBAFjXpOkDl9ji9DTzDQGN1O+RdNx9dj96N4E/NOvYE47KoME8qKAW5y1P/GxNW9DF hEgHgnWeBNvQxbVZDxAFpLRMbQ3xRoDuzEBZIAAcNYEaAkNJVj3aYPgwKTnoJGLxvSZOVQ dQi6YGp2tshBkhG5nBpbLPYhOS1p8F6qqvrIJHPSAwJfzaLB4ITeZYK643G6Vw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770047085; a=rsa-sha256; cv=none; b=mOe550zwCLMYkK5HlUpm/j2j5zkQByfl7FIkVD6fvIcuYUKWGiGqRLowc+3oZvuxvuKW+T g5y/l0gAzfBhSYcExO3bG6Ojf5fLh8Cs+IWRh+q8qu8Qub+7zsOaKdRWuE29DyAy33NTor kellLDvJr/h+CHwHl2d8WvmxYNZ8q8PtuipVtxjlEkVQdl0a7/XgLvCzYzps7EAwb/1PlZ 1pjf7D/WjUqGk5UziY+Kcl01DgNhBgOp7dtutwxd8MxZEKAWmsxO9kUwLcuOrpzfCkW3bM ujzf5FwqsN10RncMwwm+WVUnzOPJgQCuJz30JNuxzz+82ssPm/0simm9qAM77w== 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=1770047085; 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=3rGaN7HYY92taLUIJ3Y3HTtZeW6FyFNjsTly8XzUS78=; b=Us9epZ9lPudJSMbzIPC69WIH3LqKYuLG6Sn3GJXAR88FBWlTTRR7+ZkOls+sXbyM7QuFJR Dh+SnH6oImAATnODIAHW/wdSTAk5IY4W4HqtLUtPTHklBw9Pjj8EZAPkCvqmb+xJ8nc3wZ zCOh0UjfekRaFyV3B9xeAdQokaoCDlX/72o86cowqlf/iLKPZ1is0685KVIMesKRer5Z4K 6FNIqg7ci2hzWFCiPdGGn91Vn+y2wp6CaTBMv0+HNZZywe+C4BZmORs450F2OwwcJ9K7WB glh49NA2zN0FX1U898zyItM5pP7DGt3U7Viu7y9LlmdgIipC+tQarWMA5a+lag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4WC12WdKzYjK for ; Mon, 02 Feb 2026 15:44:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3df1e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 15:44:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: cc9d0192edfd - stable/13 - native-xtools: use static LLVM libraries List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cc9d0192edfde5b7b66e9a7c81dca7c5d230eac7 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 15:44:45 +0000 Message-Id: <6980c66d.3df1e.23782169@gitrepo.freebsd.org> The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=cc9d0192edfde5b7b66e9a7c81dca7c5d230eac7 commit cc9d0192edfde5b7b66e9a7c81dca7c5d230eac7 Author: Mitchell Horne AuthorDate: 2026-01-26 14:58:55 +0000 Commit: Mitchell Horne CommitDate: 2026-02-02 15:44:19 +0000 native-xtools: use static LLVM libraries Set the MK_LLVM_LINK_STATIC_LIBRARIES knob to "yes" when building the native-xtools target. This reverts to the behaviour prior to 2e47f35be5dc. This avoids a build failure that occurs otherwise, where compilation fails looking for a libllvmprivate.so that was not built. It is unclear if this addresses the issue in all instances---some replies in the PRs indicate otherwise. Still, some report success, and in my own testing this fixed creation of a cross-compiled poudriere jail. Commit this while we continue to investigate... PR: 286710, 291409 Tested by: marck, rdunkle@smallcatbrain.com Reviewed by: emaste MFC after: 3 days Fixes: 2e47f35be5dc ("Convert libllvm, libclang and liblldb into private shared libraries"). Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54815 (cherry picked from commit 38e5564ecef53064c984d086a040c01100023f40) --- Makefile.inc1 | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index 3b954936be23..523877540ab2 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2850,6 +2850,7 @@ NXBMAKEARGS+= \ MK_DEBUG_FILES=no \ MK_HTML=no \ MK_LLDB=no \ + MK_LLVM_LINK_STATIC_LIBRARIES=yes \ MK_MAN=no \ MK_MAN_UTILS=yes \ MK_OFED=no \ From nobody Mon Feb 2 17:24:35 2026 X-Original-To: dev-commits-src-branches@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 4f4YQC3WT3z6Qm3V for ; Mon, 02 Feb 2026 17:24:35 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4YQC2JyTz3ZGf for ; Mon, 02 Feb 2026 17:24:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770053075; 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=2tIkevx5fZ8dKFrTy8VMyhSB0Vkq8ro45iVFWweklDk=; b=TKIKKPpBZtb5peGdv7E+mYMJEqK8N+F596Qofrm/EJqvEYGIwe9C+dhWPS2VLMXFL46Xdc Oco5YFO1BzzgcqmEp4wL17Mwk31WoFF7+KYpDyaIp7TTxd9u8XsrvTfo8XYCsNCa4feREv lo8IUW7kpvIFKklJW+Cv4HV31kMLQmFsQWOkkxEvol1ofLLArdX0i63c7akN01GfRQgyjO zSwLJ3jOvviLFXK8b918rQI2WVW5nu7h+4+Bm09qEyMcHuD7Fms7j2OKZDOTR64KYUUjww Wi2XVVkMNZf7Iyjo6TpcF/qUtdvjIUapldmVpLupQPj6TbT0S8k5WGsGT7Gb0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770053075; a=rsa-sha256; cv=none; b=OJp+92icHcZRvEA+cARW9HetAHm5SHqGx1LU4D7MVKtMWf16KR5u7fMk2uo8bbaufNZZa2 33YwdqyGR8ev88VPmsmSJQ4V5d7vh8fWP6QwxZpUuYyxwhQ9pxvVkpsxYiNcBU9HBcTIJ+ 0ot1Xnr1gCdVkF++FdObmcUit77XBBZ7wQP8/7HRRNTVEGNbMQUPYH5w1Fe/gjKFNgh+JG e2JtwWSSpPmy21WQULOP+CDIkDzOPHii9T/GL62dN9SIFsv2QFqhQd3hdq2w7gM6BpAP5y gtlo/gG07LFvNlEtb3orOv1E9ZI81ndW5t/kVo3rFaRzzSySFrezZSRY9NB3Zg== 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=1770053075; 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=2tIkevx5fZ8dKFrTy8VMyhSB0Vkq8ro45iVFWweklDk=; b=tz/JzAgNuccwoGBMvNFqtmFpcu3l65gvEOzKLAD3pVaOpI0nMuMU9fjEq4C7CfzPO6oZAL ewwyLa+XdPn2BmawPUnlSKj+aEbE7OF3yVhdtjTCyZJh3CC4osdEUKwZa+RHUYOifD0JNY vi9xOLF9bPYn4D5g3KA6bqmEo0v+Bgl1GD45PrLsEiTip6/pyW3OGYJ/BuOeCanfMMusJf +1/T1o0P3tc3hPsMVHAP99rOWYpSTh/KHWbHJeMFrIQINcw8cRUnKtNJzTIcWzb90DFaXE qSZLgmBSue67RkTvz2qHayboBNXUW47aAHva8oX5VAnKMxuPh8pw2ivNUAlvkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4YQC1syxzcDR for ; Mon, 02 Feb 2026 17:24:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22196 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 17:24:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 5004b384a657 - stable/14 - linux: Make the macro LINUX_IOCTL_SET public List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5004b384a6571c7abbcd0bc64bbc60a08ac72557 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 17:24:35 +0000 Message-Id: <6980ddd3.22196.3ef13501@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=5004b384a6571c7abbcd0bc64bbc60a08ac72557 commit 5004b384a6571c7abbcd0bc64bbc60a08ac72557 Author: Zhenlei Huang AuthorDate: 2025-10-20 04:28:41 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-02 17:19:15 +0000 linux: Make the macro LINUX_IOCTL_SET public There're some other drivers want to register and unregister linux ioctl handler. Move the macro LINUX_IOCTL_SET from tdfx_linux.h to linux_ioctl.h so that they can also benefit it. While here, rename the declaration of linux ioctl function to be consistent with the name of the handler. Meanwhile, drop a comment about the macro, since its function is obvious. Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53158 (cherry picked from commit 790c27317ec1a997a4e5c2bdee9e4acc610c8e3c) (cherry picked from commit 087e77b52399b8a64bb7a12979322d6027bf550b) --- sys/compat/linux/linux_ioctl.h | 12 ++++++++++++ sys/dev/tdfx/tdfx_linux.c | 2 +- sys/dev/tdfx/tdfx_linux.h | 12 ------------ 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/sys/compat/linux/linux_ioctl.h b/sys/compat/linux/linux_ioctl.h index 8a56e35d10c6..1972d02b6e7e 100644 --- a/sys/compat/linux/linux_ioctl.h +++ b/sys/compat/linux/linux_ioctl.h @@ -808,4 +808,16 @@ int linux32_ioctl_register_handler(struct linux_ioctl_handler *h); int linux32_ioctl_unregister_handler(struct linux_ioctl_handler *h); #endif +#define LINUX_IOCTL_SET(n, low, high) \ +static linux_ioctl_function_t n##_linux_ioctl; \ +static struct linux_ioctl_handler n##_linux_handler = { \ + n##_linux_ioctl, \ + low, \ + high \ +}; \ +SYSINIT(n##_ioctl_register, SI_SUB_KLD, SI_ORDER_MIDDLE, \ + linux_ioctl_register_handler, &n##_linux_handler); \ +SYSUNINIT(n##_ioctl_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE, \ + linux_ioctl_unregister_handler, &n##_linux_handler) + #endif /* !_LINUX_IOCTL_H_ */ diff --git a/sys/dev/tdfx/tdfx_linux.c b/sys/dev/tdfx/tdfx_linux.c index 2a51ab6d1cc6..197da1856686 100644 --- a/sys/dev/tdfx/tdfx_linux.c +++ b/sys/dev/tdfx/tdfx_linux.c @@ -43,7 +43,7 @@ LINUX_IOCTL_SET(tdfx, LINUX_IOCTL_TDFX_MIN, LINUX_IOCTL_TDFX_MAX); * Linux emulation IOCTL for /dev/tdfx */ static int -linux_ioctl_tdfx(struct thread *td, struct linux_ioctl_args* args) +tdfx_linux_ioctl(struct thread *td, struct linux_ioctl_args* args) { cap_rights_t rights; int error = 0; diff --git a/sys/dev/tdfx/tdfx_linux.h b/sys/dev/tdfx/tdfx_linux.h index b87cb41f38fe..9d012c12274b 100644 --- a/sys/dev/tdfx/tdfx_linux.h +++ b/sys/dev/tdfx/tdfx_linux.h @@ -35,18 +35,6 @@ #include #include -/* - * This code was donated by Vladimir N. Silynaev to allow for defining - * ioctls within modules - */ -#define LINUX_IOCTL_SET(n,low,high) \ -static linux_ioctl_function_t linux_ioctl_##n; \ -static struct linux_ioctl_handler n##_handler = {linux_ioctl_##n, low, high}; \ -SYSINIT(n##register, SI_SUB_KLD, SI_ORDER_MIDDLE,\ -linux_ioctl_register_handler, &n##_handler); \ -SYSUNINIT(n##unregister, SI_SUB_KLD, SI_ORDER_MIDDLE,\ -linux_ioctl_unregister_handler, &n##_handler); - /* Values for /dev/3dfx */ /* Query IOCTLs */ #define LINUX_IOCTL_TDFX_QUERY_BOARDS 0x3302 From nobody Mon Feb 2 17:24:36 2026 X-Original-To: dev-commits-src-branches@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 4f4YQD4vTbz6Qm3W for ; Mon, 02 Feb 2026 17:24:36 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4YQD304Cz3ZD2 for ; Mon, 02 Feb 2026 17:24:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770053076; 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=wm5c3neTC5om2L0YzV3Hq+Cxf+4QJmO9a9q+4OAV/AI=; b=CCPHpqnklX9al2WnxRPYFEj6vzoC8AzKDo+TfngWqfjjIfdua0msT/s3v1d6h22e9rxRfv Z6D209nmSug0EsQFG7wC3ttY3hm3IWM0gDA6diA6wRQTq2gXWixU/2Am1u+3BtsNjkNWft Hp55mxZGPRNfQcG97lEoJrzntW86as9K0YEczwwdUFB90Tqi00ldRHi8fgMdcy7+8aJ57h k8PSlhMZzgsW/ZcMofHpnUyNCqtIOOfFjY7Ve8LjvGqs3f8HUY9+On+6lHiH8Y/JBipKN7 sVkg79922H+CStGqlBRG/idW6Cv+hGxez/nV4SQS6uDcWZamrxpDGp/gORPIFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770053076; a=rsa-sha256; cv=none; b=J5uAAePH9l1UKfGVszqUlphkzrVDqBg8MCIROGztIOvVFHoL5bHBdo0riNg58N7UsJ+pvg rfS1aPsBrQu4MF5ptC8TxLaNDtC9hXwKfw8w5xtY/OvBKQyIFB5WhgHup+Ha6bauccwJJB c94Zk3D0JP9sxwjc8YCGmOf+fRyX+j0N2U25ljOwmxGEYabrCzUqAIv5HZ1S8E4XzLXsFC kjzKtUceznNODA1pIbYoyce2btl8iqKsTzJ//s6oP/rqojNlgSQJPLDbkZiBLuYA7V8MVQ 5Ol29ENGyXePOkDpZEG8Or3YxkbcHUo5Omixdos9AgUdJIM1W0zROw/FYkWbGw== 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=1770053076; 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=wm5c3neTC5om2L0YzV3Hq+Cxf+4QJmO9a9q+4OAV/AI=; b=LHmCXqEzXdP/SuP9CAHqiHOSOh5bUkw1OR+sz9DQYv+pI+fR8hmj0sKSbANWkDolwhAdEz sGA3ialLtsrpptS+5zhUthOVDC0/jQB/17rpBRIaUxPlKEzW7sY29GSwwZ2CsJlH7ZVMO9 oaZMu984wCxjxROZqD3t9n8frruqhVct/rAFQrxvi+Fc/cbgUr2yPJ/j6WmbzZYpzfez7C +WrwfTaYx5y8z7vFzLQft9alN/pzSRY5+CN43DhRSqCtTWczn+qNl5DfL+juiBRn//xvKz GScwsTqQ9ii5BBsEFoc9VIPqy7fjNMB0U7W8zyvjKMN2gUNuXFj68KrCieI4YA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4YQD2WtzzbxC for ; Mon, 02 Feb 2026 17:24:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1edc3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 17:24:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: e36e17552cdf - stable/14 - sgx: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e36e17552cdf374353b0c09c0ccdece2a7f614e0 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 17:24:36 +0000 Message-Id: <6980ddd4.1edc3.13b31a82@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=e36e17552cdf374353b0c09c0ccdece2a7f614e0 commit e36e17552cdf374353b0c09c0ccdece2a7f614e0 Author: Zhenlei Huang AuthorDate: 2025-10-20 04:28:41 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-02 17:19:15 +0000 sgx: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53158 (cherry picked from commit 8350f46d9808e6183d5f6bd4aa73d4d4e563b574) (cherry picked from commit 957babc65d9f9a5d44fefb0c1169682ae599954b) --- sys/amd64/sgx/sgx_linux.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/sys/amd64/sgx/sgx_linux.c b/sys/amd64/sgx/sgx_linux.c index 4a259d1fe3f0..d5d6a76d173c 100644 --- a/sys/amd64/sgx/sgx_linux.c +++ b/sys/amd64/sgx/sgx_linux.c @@ -92,16 +92,7 @@ out: return (error); } -static struct linux_ioctl_handler sgx_linux_handler = { - sgx_linux_ioctl, - SGX_LINUX_IOCTL_MIN, - SGX_LINUX_IOCTL_MAX, -}; - -SYSINIT(sgx_linux_register, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_register_handler, &sgx_linux_handler); -SYSUNINIT(sgx_linux_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_unregister_handler, &sgx_linux_handler); +LINUX_IOCTL_SET(sgx, SGX_LINUX_IOCTL_MIN, SGX_LINUX_IOCTL_MAX); static int sgx_linux_modevent(module_t mod, int type, void *data) From nobody Mon Feb 2 17:24:37 2026 X-Original-To: dev-commits-src-branches@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 4f4YQF68pSz6Qm18 for ; Mon, 02 Feb 2026 17:24:37 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4YQF3Z3Sz3ZK4 for ; Mon, 02 Feb 2026 17:24:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770053077; 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=T18e2QdccGWoj66KC3NRbl+7AuIhkP+wCapnK5DKxLA=; b=udQWaF8BCbTJUnK/NY3LeP/PQ75YSb1qhl2I7U+x9LRda/VFeAtB8k9pXXXgG0FuJGE8Qz MhszrXk90ZUUHSTC4loGQmDTGpc2/8QkewBpnhWADknKXunqorT5xngKcbrb123SongpRz RTS/VeqlYEUEiOYW00CkYL7HIUs0dGgNVTwKygn/63CaM6kTGspecmoCynXFl8FuwV97mA s81isFOvO2RNrw8Pm0sOvAnRE9z7MeQ/O5GYOzZQSlBkctcM554lqy/s3d6EySa5IX/OJw 2+t6HUZxt3SToTnzyGgI9daLoI9bru0TYOUf/B3+OoRAIEkWHikyNXNXuYhnXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770053077; a=rsa-sha256; cv=none; b=BdAO13vy4/kn1zq83+dMGQjpyXZCJB+aOvJt3skWl6WzWNIYSxAORHwpRnZa4CTF1V6dpT lJXx3RqvG0QNByGMjZK5D31B+/ZVG//a8s+GCOHzWsQ/S/lGpz4U4mokgNX2B+56x33D9F cGrwYu/QCaKmlUQpceQ9i4MTIna425zhGCLx7iScfWXJOhm3yyr8oN5e8eD+11kbOcrhNe KnY61Horq7+KohOm4ki6h9Kv01WRw+tPTtXO4TPi9v0m2CP79jDuBdeGZzzrK5uiqlBlga XzHwT4FroBcQgnnUtv23GbfczBUlYg4kquI4tWWpZG8tx7NmhKTuRXN0CsOY7A== 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=1770053077; 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=T18e2QdccGWoj66KC3NRbl+7AuIhkP+wCapnK5DKxLA=; b=uMOq+4+XeRB/YSoiJS+CQMPA1wQi8llw/y+PefbT6iFwC8SQZBqbWTv9LtjQzls0CeWpRU eJqYofD4qEMMKBW8JnCRrH2Znkr8GV3J2fvdWWzSkbf1Vl49EnpZvpNvMOqPKdfUSeWV5Q +A67S2Me48ArP3BfDznBRG/YgJtDGtV6djqPcdX6VSIcUtreP0SkRWgX56sCVa3d7BwTj+ FHEWlqaAx14D8KOtOQAJ7N0tOWi50qSCP7B6/baDgs34Fs65s9gmmUF/fimQf1v5Bupz48 XraNUdpKh9lRg9Xc5Di+3kEY6EyDeMmq/RpI/J3EPixpHZOLn6XA4fyXBk7VwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4YQF35hnzc8j for ; Mon, 02 Feb 2026 17:24:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21b92 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 17:24:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: d6bc614eac5a - stable/14 - aac: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d6bc614eac5a10b7e157892d84f52599b373db38 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 17:24:37 +0000 Message-Id: <6980ddd5.21b92.4813a69a@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=d6bc614eac5a10b7e157892d84f52599b373db38 commit d6bc614eac5a10b7e157892d84f52599b373db38 Author: Zhenlei Huang AuthorDate: 2025-10-20 04:28:42 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-02 17:19:15 +0000 aac: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53158 (cherry picked from commit db1844a0e1bcafeb974215033ed682e7fa18cac8) (cherry picked from commit 7e9fe8e6a1966f559b7985caca7e7c0e19a3f10e) --- sys/dev/aac/aac_linux.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/sys/dev/aac/aac_linux.c b/sys/dev/aac/aac_linux.c index 609315f50939..65008c562342 100644 --- a/sys/dev/aac/aac_linux.c +++ b/sys/dev/aac/aac_linux.c @@ -52,15 +52,7 @@ #define AAC_LINUX_IOCTL_MIN 0x0000 #define AAC_LINUX_IOCTL_MAX 0x21ff -static linux_ioctl_function_t aac_linux_ioctl; -static struct linux_ioctl_handler aac_linux_handler = {aac_linux_ioctl, - AAC_LINUX_IOCTL_MIN, - AAC_LINUX_IOCTL_MAX}; - -SYSINIT (aac_linux_register, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_register_handler, &aac_linux_handler); -SYSUNINIT(aac_linux_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_unregister_handler, &aac_linux_handler); +LINUX_IOCTL_SET(aac, AAC_LINUX_IOCTL_MIN, AAC_LINUX_IOCTL_MAX); static int aac_linux_modevent(module_t mod, int type, void *data) From nobody Mon Feb 2 17:24:38 2026 X-Original-To: dev-commits-src-branches@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 4f4YQH0425z6Qm1B for ; Mon, 02 Feb 2026 17:24:39 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4YQG4w6Xz3ZDF for ; Mon, 02 Feb 2026 17:24:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770053078; 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=wuVDUVE5j4bPYfE5GgUYKFogH+X4kITyYhfTOsh8lYA=; b=ygCjq/0rspMUxqMFVhEjhYek9Krk5Maeq6BW+nGx79oByDbLuqEDOzejEFQ337LXupJI2d 9qi2a5zVL1teW10TeMXX3oSbiGu7Os2htSMChakIEq7GI9VJDvnxgoGzojJdAer9fEyBP3 IsPFZ5gFtk9LyiloSQKIntfIe0w/tN9Ua9MFRrfaCd9u8MVpe2t42g+RTIt8bzGV4SUkey SG0o9gbremKKI+y8JtVm0JETmal3uo/bbadoOsBZxNM5WRmTEGqxTy4eS1KhUN2WR9OfKl XiWAQALwrteUp9WM9hjhOQLczJHOmZ2hSXGfWBdg9djE6ZtTh7uQarTGmIFZjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770053078; a=rsa-sha256; cv=none; b=ja0z5PxI/W2ixHi7jA4k8Y8lFNuPbCy0QSSZoxGFwGFKV0swKNjOzu2Lro8U6vRY2B63Lk 7TP+sup+aF5mHvVVbZWfHMIWcJ2sCCAMdQ8/YbVoIqS1ZRY8qbqONzHC506scOKvrgxZrl JsTxSXwcb0ElRzh0GuykvOVNFHQ4UsBemKX1REbLCQo0y2f8GNKo5b9uGNbwhzGCmIiFRQ Z2hraCILYVOWNEcC8uLAnTGLWOeY1FfQhgwY/jPPKxBmpgzrQn6+I8Dd4bZkRZm2LAatBR xQlqPFw64aB77J8FH/VkCkPOKqiuTy2CCw7Aa3M8RiLJu7y+Bvir16tCKQ/6Yw== 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=1770053078; 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=wuVDUVE5j4bPYfE5GgUYKFogH+X4kITyYhfTOsh8lYA=; b=mEFG+2tw+Qb1i6zp//9G+R6UYEhsYdinWINBYbnchcikTYLM9fgHHbIW8ys8LEIh62b5cu G91ITmQxc9DthSTSpBWd1DwwkPl5esQdlIQrUOtK689Gh2xfUcpH/bpq1u3luDRiS+KWu7 TUhT3w4BrO1r/+9mxgLSpMXioF7Rz3dX+yZzBC78Yp3xa1Q9K/UvgTjQvjH8uUSNDgiQ8f ztxuWyYZmRW8hyP5YjpVgK9XvHB90MUvSLdU06iGbquxL8ZZJyOMp3jZ6hwzk6/XfVr6NO sBk2NbDYt//w2PBqckEBfGp9EpP6CZW2+lEX2SHLMCIz+o74W6RkAv3MAgsIpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4YQG3yKdzc8k for ; Mon, 02 Feb 2026 17:24:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1edc7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 17:24:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 352c1e0f172a - stable/14 - aacraid: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 352c1e0f172a4393fa56733e15f7be2ad62c1a84 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 17:24:38 +0000 Message-Id: <6980ddd6.1edc7.5bb24c06@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=352c1e0f172a4393fa56733e15f7be2ad62c1a84 commit 352c1e0f172a4393fa56733e15f7be2ad62c1a84 Author: Zhenlei Huang AuthorDate: 2025-10-20 04:28:42 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-02 17:19:16 +0000 aacraid: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53158 (cherry picked from commit ff29e5bc53e6fafc49d1caceed88cbc9e9223189) (cherry picked from commit e5d4314fce5a8c1dcc8a01f41858fa115d4f2fb6) --- sys/dev/aacraid/aacraid_linux.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/sys/dev/aacraid/aacraid_linux.c b/sys/dev/aacraid/aacraid_linux.c index 267dd84c65d5..6b6259ed7059 100644 --- a/sys/dev/aacraid/aacraid_linux.c +++ b/sys/dev/aacraid/aacraid_linux.c @@ -54,15 +54,7 @@ #define AAC_LINUX_IOCTL_MIN 0x0000 #define AAC_LINUX_IOCTL_MAX 0x21ff -static linux_ioctl_function_t aacraid_linux_ioctl; -static struct linux_ioctl_handler aacraid_linux_handler = {aacraid_linux_ioctl, - AAC_LINUX_IOCTL_MIN, - AAC_LINUX_IOCTL_MAX}; - -SYSINIT (aacraid_linux_register, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_register_handler, &aacraid_linux_handler); -SYSUNINIT(aacraid_linux_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_unregister_handler, &aacraid_linux_handler); +LINUX_IOCTL_SET(aacraid, AAC_LINUX_IOCTL_MIN, AAC_LINUX_IOCTL_MAX); static int aacraid_linux_modevent(module_t mod, int type, void *data) From nobody Mon Feb 2 17:24:39 2026 X-Original-To: dev-commits-src-branches@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 4f4YQH755qz6QmB2 for ; Mon, 02 Feb 2026 17:24:39 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4YQH5JwVz3ZB7 for ; Mon, 02 Feb 2026 17:24:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770053079; 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=XxKJdkE7EVYZ/rgupIX9Fvs1GMl+0MLNPPAx74kd1nE=; b=K7KipfJVhPHcf+tAFN2iBbgl8dOwqjjwBaEkW2816PmVwslBw2Dpb/rrwOn5msGmdQIl4q oA1Shymot2LlKoQbRtPbk+UJE6yUslkL61F8i/O8zVD++bctqx6t6+FM6NZb/7Res/U5mP K0xZ6yqmeV+ak8bnfDITJ7DEZaJ6otZHoPugksK3yiEGI2BaoKtTi8dJS8OHJih5NRlBmP IfsIkdUNx2ufZNPz0GIhD8944pWjMwv/VE4Z+u+QZdJnKxhBWQY81osFZ10PhgTgA1VBWZ pPdN1p9g1ixqBOc6B62lY7oyVBUiN50KD+leoGYhCyNUnVBnmdlGDatPJZWlug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770053079; a=rsa-sha256; cv=none; b=bKmW2/gGVnFTn8zHaj23JSaPbyOMIDvvN505PrV06l6QpCwihZEVao1nmdoerMeR9IZlIX w5BWBVGLTj/sPYaF1VxyXxcRaMSawutwHqIFYE48HWXSFghC6wDJDK/zv8NK/DRUrzL614 5YCoGSNNDw0d3f53Ib7IlrKum1XRJG7my2l338F6qmy2crMKWJtOkoIiYl8s3LgY8DdXw9 ZHB/JshtlbQrWe4DWyrFDR64/dW07Wvci0R8US7lQsrxdxzKYtEqybWEAuuvFzwaJ3Syf+ Qm7GdKw+7J2fRG+0To2fGBETBmZFsAlf/yWNwAmiLq0df2eAjm9FFJfep4dSjg== 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=1770053079; 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=XxKJdkE7EVYZ/rgupIX9Fvs1GMl+0MLNPPAx74kd1nE=; b=LXI8A+oIZ6mUATi1pGRxX5JlN0Ng7V2Ubylrw1LXtIn2FFGuJOxgTCdxAs3Fd2757EVCis ICLqdIyjo4iIJmGgHFEKggGptU0W8ZknSPxqvRbgPPxiWezJJAkzBE+Nbx68HsGxeYW7vw FFaUBmtotQ/OYtGf42HsrcXXOT4V/j6iLrk8ZIC2FoOjaKDhlPr3OIlcbOXUj7k/fe7BS9 VTzSGbWyxD2g326Ks/ypUROxthYy47/vl3FV4H7MOFYZDvBRo7xgymGBBGKT2ewWu+enMD Hq5Q6Hiijhz8MiLWNPr8m5+5hpFUxFlGG7jnQ44L60EM7+wJv1k4LOjQWTyUJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4YQH4nkVzcBB for ; Mon, 02 Feb 2026 17:24:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fd44 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 17:24:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 9280324325f3 - stable/14 - ipmi: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9280324325f3a84d66257b8a43141b3db515d071 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 17:24:39 +0000 Message-Id: <6980ddd7.1fd44.6e9e82f@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=9280324325f3a84d66257b8a43141b3db515d071 commit 9280324325f3a84d66257b8a43141b3db515d071 Author: Zhenlei Huang AuthorDate: 2025-10-20 04:28:42 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-02 17:19:16 +0000 ipmi: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53158 (cherry picked from commit cb0116af7ac794238b0fa569f2722607924fcad6) (cherry picked from commit 0b0ddadf39f6499e4b8ef250023b6d7e68c7e2b0) --- sys/dev/ipmi/ipmi_linux.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/sys/dev/ipmi/ipmi_linux.c b/sys/dev/ipmi/ipmi_linux.c index 05eb30a0aa77..58872de12003 100644 --- a/sys/dev/ipmi/ipmi_linux.c +++ b/sys/dev/ipmi/ipmi_linux.c @@ -66,15 +66,7 @@ #define L_IPMICTL_SET_MY_LUN_CMD _IOW(IPMI_IOC_MAGIC, 19, unsigned int) #define L_IPMICTL_GET_MY_LUN_CMD _IOW(IPMI_IOC_MAGIC, 20, unsigned int) -static linux_ioctl_function_t ipmi_linux_ioctl; -static struct linux_ioctl_handler ipmi_linux_handler = {ipmi_linux_ioctl, - IPMI_LINUX_IOCTL_MIN, - IPMI_LINUX_IOCTL_MAX}; - -SYSINIT (ipmi_linux_register, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_register_handler, &ipmi_linux_handler); -SYSUNINIT(ipmi_linux_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_unregister_handler, &ipmi_linux_handler); +LINUX_IOCTL_SET(ipmi, IPMI_LINUX_IOCTL_MIN, IPMI_LINUX_IOCTL_MAX); static int ipmi_linux_modevent(module_t mod, int type, void *data) From nobody Mon Feb 2 17:24:40 2026 X-Original-To: dev-commits-src-branches@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 4f4YQK2d91z6Qm7c for ; Mon, 02 Feb 2026 17:24:41 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4YQJ65Xcz3Zbw for ; Mon, 02 Feb 2026 17:24:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770053080; 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=MCYNvFjY+jsVMicCYPHhca+aKeKw6+BxjVpVCjI1+FQ=; b=KJkJtUhsN+ZFd3BScwN69Bzn5om/BBLvdqpyXrfpNhpxpS/w41GrKpyXdTNKvgJvEOEaA5 maTC+U7p34bbYoSyc+NuerMGKKTGUmeC4Oa3tvVHbMV3aQGtqR841fVrxUdYc4ton7vIKw df08Y678Pq1LGxpIBUCTm3FydBmQN9ZB2BPjvzHCyHAwzzUAGplIMKNZRf0XY8tmYZ3lZ1 bOnAMAJ87v3xi0AlezhVE4utj/KUTDqG1ayYm94b1vc4b/oKk9CqcIybmWBMS4TR2PnZyd WCbieSRh4yaodk6aNGbuj71sVxDNYflXV6PqWToYUM3dYXMvOqIUhZCV38iMfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770053080; a=rsa-sha256; cv=none; b=WDzUg28e/gbp7Ltj01RtVkiO+ayeTwaw42GG4i0ow06AyAm8ZeoJymwQgCwzXcZHwUOb2R 4hKYIjPNvLQdWSukZt4//0bzO7p4jsCaYSPO7QFT4UkVKyajk/WJHqssGg+nA+tQaN2I3P jXGwPhlrbLAdAYuxL3DcycVLsmBsqm1HhFBkks5CTrun9Ud3In9CmJ1g5oXLw/YE/zUr5O eyyMtGA5fiIU/7kKrrjW3Z1ZOntu5uGVMrICZIR4jrsqEzPURkDxFeVxszdEaKhtTGFE5o aSfCX7WqqpuA+LAfuYYonNtxatvy3ycpKO6WFRjpmnTqWmFLO2/DfudVOnm5nA== 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=1770053080; 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=MCYNvFjY+jsVMicCYPHhca+aKeKw6+BxjVpVCjI1+FQ=; b=FT629dFu/GNHWu4MDhVdp1JeMke88Ctc5L2Nm01h2KU6tw661eIJHHe1RyR8lQ/rHgJXzX 53mfiWgZsMDWH5EN0fyUcN4CZQnI+5/eURz+OMwtqcJv1oWeE3pF9hgRTciBFsZO8FwABO 8gx80lAfm3it0QfQTbYF+u5U4DjsBpqQ+VH/xhoFoCjg1LWMkCiM/SGgn3G9jvMwRkuhOz zte4TKIObNwX9i+0ZxKH4+yts2Uf2VJWhKekLqh3y8BrcX3+SGq3h0HCXM67IWvrJ38r2A vUNv0xpYTrMlwh3LwcFDrzSC/PzH16FPehPQ7ecfbxMxU8mVgXtCHZ1xS3b6Dg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4YQJ5cwmzbGb for ; Mon, 02 Feb 2026 17:24:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22292 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 17:24:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 44dfede815d8 - stable/14 - mfi: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 44dfede815d802a7cda74939719263da31c35bf1 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 17:24:40 +0000 Message-Id: <6980ddd8.22292.26a0bedb@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=44dfede815d802a7cda74939719263da31c35bf1 commit 44dfede815d802a7cda74939719263da31c35bf1 Author: Zhenlei Huang AuthorDate: 2025-10-20 04:28:42 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-02 17:19:16 +0000 mfi: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53158 (cherry picked from commit d12ce84b0d338958b26f6eec86b4967fca8d3bd6) (cherry picked from commit 270b9f2a4888b19b8434a831effa3c8426dbb934) --- sys/dev/mfi/mfi_linux.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/sys/dev/mfi/mfi_linux.c b/sys/dev/mfi/mfi_linux.c index f9a6cad52d72..1adf4af90676 100644 --- a/sys/dev/mfi/mfi_linux.c +++ b/sys/dev/mfi/mfi_linux.c @@ -54,15 +54,7 @@ #define MFI_LINUX_IOCTL_MIN 0x4d00 #define MFI_LINUX_IOCTL_MAX 0x4d04 -static linux_ioctl_function_t mfi_linux_ioctl; -static struct linux_ioctl_handler mfi_linux_handler = {mfi_linux_ioctl, - MFI_LINUX_IOCTL_MIN, - MFI_LINUX_IOCTL_MAX}; - -SYSINIT (mfi_register, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_register_handler, &mfi_linux_handler); -SYSUNINIT(mfi_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_unregister_handler, &mfi_linux_handler); +LINUX_IOCTL_SET(mfi, MFI_LINUX_IOCTL_MIN, MFI_LINUX_IOCTL_MAX); static struct linux_device_handler mfi_device_handler = { "mfi", "megaraid_sas", "mfi0", "megaraid_sas_ioctl_node", -1, 0, 1}; From nobody Mon Feb 2 17:24:41 2026 X-Original-To: dev-commits-src-branches@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 4f4YQL4yp1z6Qm67 for ; Mon, 02 Feb 2026 17:24:42 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4YQL0tg2z3ZHN for ; Mon, 02 Feb 2026 17:24:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770053082; 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=Ehmxg7JCokPtrNu76G2EWQtp9z8+cmbrxLkZcenbEDc=; b=x0IPXzzolA5mYqkmN7hw3YsdeBUL6nFIqW3n6lyJcdQowJphDPAmNpBSXI9LXWCkAobA4d BxskIhZjBrzNt4PchqdvIXhz3It+Dy4k6/SKa3EbfOk0TREhp1xMLGfz6UhCwBaQ6Ck2BV hlX63ZYVMtOIOJmXjsjIr0SF8Wxku3+e+LJEIfK/E57dF9UliftcsTFu41XfK+h45jXlII Y1vLP3TKnALl1NyPx1ntvDUGLzXc7y+DjKV22eFZ8scx+eAlEhnzV7oso6RD0OmMv5GiWJ 413YKjdH7yPT+i2aW3akt4tBu85vTD3TPgVfOv3uVQ8qo0YCEN9h8uU2kv/AbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770053082; a=rsa-sha256; cv=none; b=FgOpyOUqdMmUZj8QRAdDxjBDtCU5jNrp9Nj2OhjbPaZ65nkX+sFd/1aHEe8k/OBrqROvJ1 dTrBMvVFKDvULxxsczyeTrt2oUSUH8FFcNS+V6jR8QT3gHp28zrw5IncolDMXCHapoe1jk sKi881phRsOT0Dc2xZUqxY0h680D3I042HTzH4zAWCf96GCvj6ECqIRwfxktVAtNjiqTck jtqOQHvGE9i8GD53D6WrqKwpWhxv1BeG8e/qqrs8wfdOdyLzdNY+U+hTLswNM7MFj6RMzH Gte0DbWb/lx/E4ngP2Y7F6PEFZDbasYcnZVRab6AzFtpGbMTCYoOCeWWRZUr4w== 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=1770053082; 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=Ehmxg7JCokPtrNu76G2EWQtp9z8+cmbrxLkZcenbEDc=; b=vlgOnvIyixZcCWQNSBDRw+7JfAMG0+R+/Sn1X2ONUZhzbD1dm3pVN2zV5aSCZi+sGwTydG GOBrb99+o1bo++Y/XOrp7ue5Eq+biEEud31k2u3bKWJUYzY8AWYaIA0kNeJ9USNgOHcgZO HDRchMV5xweo1OSJMN7Fdx6XHmPMq1soWNIJt992v3FLbuXkeJHbKJFvwvx15hNlm21NSN Ik2dPVI+P+I6ka2Lqgzs/PifkJCRKpVJZbl2skTCio/sAHvwO+5NL73plzGpwxQJ/slI56 2ReXuNFqTua8WltFTyN2d68Houw16vmIAEyuvXSpTfq0fiDOaD4AzNMNNhz9NQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4YQK6VFSzcBD for ; Mon, 02 Feb 2026 17:24:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 218c8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 17:24:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 7621b6eded12 - stable/14 - mrsas: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7621b6eded126daae08d356a19457a069fc274e2 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 17:24:41 +0000 Message-Id: <6980ddd9.218c8.1a58e224@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=7621b6eded126daae08d356a19457a069fc274e2 commit 7621b6eded126daae08d356a19457a069fc274e2 Author: Zhenlei Huang AuthorDate: 2025-10-20 04:28:43 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-02 17:19:16 +0000 mrsas: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53158 (cherry picked from commit 0a2fb63b4954c540686d387254b65cc6878bd19e) (cherry picked from commit 3aa4ae2006b50018d9dfa660bcbba1041c104ee1) --- sys/dev/mrsas/mrsas_linux.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/sys/dev/mrsas/mrsas_linux.c b/sys/dev/mrsas/mrsas_linux.c index becc42e6d8a3..23e2b48efaad 100644 --- a/sys/dev/mrsas/mrsas_linux.c +++ b/sys/dev/mrsas/mrsas_linux.c @@ -68,15 +68,7 @@ #define MRSAS_LINUX_IOCTL_MIN 0x4d00 #define MRSAS_LINUX_IOCTL_MAX 0x4d01 -static linux_ioctl_function_t mrsas_linux_ioctl; -static struct linux_ioctl_handler mrsas_linux_handler = {mrsas_linux_ioctl, - MRSAS_LINUX_IOCTL_MIN, -MRSAS_LINUX_IOCTL_MAX}; - -SYSINIT(mrsas_register, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_register_handler, &mrsas_linux_handler); -SYSUNINIT(mrsas_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE, - linux_ioctl_unregister_handler, &mrsas_linux_handler); +LINUX_IOCTL_SET(mrsas, MRSAS_LINUX_IOCTL_MIN, MRSAS_LINUX_IOCTL_MAX); static struct linux_device_handler mrsas_device_handler = {"mrsas", "megaraid_sas", "mrsas0", "megaraid_sas_ioctl_node", -1, 0, 1}; From nobody Mon Feb 2 17:24:43 2026 X-Original-To: dev-commits-src-branches@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 4f4YQM3xFnz6Qm68 for ; Mon, 02 Feb 2026 17:24:43 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4YQM0yrRz3ZQS for ; Mon, 02 Feb 2026 17:24:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770053083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Teg8XiGqWpuEdfP8Y/+H6Ww6gAxVX1qs5K4s7CSWRmU=; b=LYaxYTjh6USyNrBP1XNJvoOQtZZRpPYHZjc1jrvwDKXX42EAhVq7jiGnZgHwrJ5iT/xHj3 3ti7aI8U8l8lpwuyoG1JhuBl6LFXrzhi7D9FWcWm0mvLxUzOx1Iq4l3QhKYAtvvfbqKGXv 9CgRk9SYLOctEAWDtDCi/lWjPhIqo+YKd7Vsy4tLDR51KGpGJGjgkYjEeqOdGJlBYiAB2u YnNFrACQ25IuhTFDVIkbFI+ARoavvpIb89v89McUMguPMEhYtALL+eOf+keBsEHKrKCMu3 OTdPqz+BmaZHX1AeRFwawGIJoEZlXVAm71elFDi6M5gvuCBJu3YfifOjUYcR8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770053083; a=rsa-sha256; cv=none; b=URmQPZmfbUarwwQwdVXawU9NpOH2eBM4NV4Kpwmjva/oBO/QVN3qpIECNlHzKFfxI/h8DO St36XTpiIPx1c8g6NyGNoCZ130UdfaKrHZ9Zxsd38PU97xI6P1cP/0CCb4JQN5UkJvhc+V sxGs1NwoH4i99uosqQ7FpLNKlJvTW2n1cEwMAJ+uyyx5tLdoMp/0nscLPj69IRbx9xwLq+ ZCE3uTn6wFh3et15ieNP5miBQNNm7FRG4roTlq3l0gL7pV5CPDt0T9H59s4YyoUSaaFLzB S+P1ZA1caS61e4rRcafM6MiL6suuViMjuRt0CFlfGcBic8+ye2b6YTz+T1vvlA== 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=1770053083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Teg8XiGqWpuEdfP8Y/+H6Ww6gAxVX1qs5K4s7CSWRmU=; b=gU9RIcVfehgfBVmBc4A+OETkmiNcYWMiSyYTX1xZFnBR6vO8sHwl+zY493BFtFqhALbgpa m//C7aL2sFSGHb0wupjVRGwe+3E63X+Jhg3BmWfXPaVGDnavmjOoSE9BjEgBoCfqwiroqr 9/wVYpBu+F8isVJ9GB6tguokMLj/0tTthj7+493aAF398obQCX2C7oYwCZfjBDRZrgMnZ2 s3Clwcozh6Sk1V/BHligg9pe3pc3XchH9pMjL3IHGWEeXwgPJUVrnbgDnIrnNVzUVdSpil Xldu6kdkVMd+CgZRjUMk7vwevWrI4v4UP7IdVqTzCF3o2MPDwHhZDkZMWwfJ6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4YQM0DVLzcBF for ; Mon, 02 Feb 2026 17:24:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fce0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 17:24:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Jamie Gritton From: Zhenlei Huang Subject: git: 04911babef1b - stable/14 - netgraph: teach ngctl to attach and run itself in a jail List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 04911babef1b22cb4ff9cff08a34ec1e6bf80d45 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 17:24:43 +0000 Message-Id: <6980dddb.1fce0.31933cf2@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=04911babef1b22cb4ff9cff08a34ec1e6bf80d45 commit 04911babef1b22cb4ff9cff08a34ec1e6bf80d45 Author: Jamie Gritton AuthorDate: 2025-08-29 23:02:14 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-02 17:19:16 +0000 netgraph: teach ngctl to attach and run itself in a jail Add -j flag to ngctl to allow ngctl to attach and run inside a jail. This allow parent to manipulate netgraph nodes in the jail even if ngctl is not available. Submitted by: David Marker Reviewed by: kevans, zlei, jamie Relnotes: yes Differential Revision: https://reviews.freebsd.org/D50241 (cherry picked from commit 72d01e62b082de39ecf1ff3ced67dcf7259e5084) ngctl: Fix build without JAIL Reported by: Michael Dexter Fixes: 72d01e62b082 netgraph: teach ngctl to attach and run itself in a jail MFC after: 1 day (cherry picked from commit 685e60e860d61f6e1bcf981f5c30647e0c025702) (cherry picked from commit ab7858d90eba6d8b5829ad974da91ee30dcf92f4) --- usr.sbin/ngctl/Makefile | 5 +++++ usr.sbin/ngctl/main.c | 45 +++++++++++++++++++++++++++++++++++++++------ usr.sbin/ngctl/ngctl.8 | 25 +++++++++++++++++++++++-- 3 files changed, 67 insertions(+), 8 deletions(-) diff --git a/usr.sbin/ngctl/Makefile b/usr.sbin/ngctl/Makefile index 72a5ccaa96d7..997841272376 100644 --- a/usr.sbin/ngctl/Makefile +++ b/usr.sbin/ngctl/Makefile @@ -13,4 +13,9 @@ LIBADD= netgraph CFLAGS+= -DEDITLINE LIBADD+= edit pthread +.if ${MK_JAIL} != "no" +CFLAGS+= -DJAIL +LIBADD+= jail +.endif + .include diff --git a/usr.sbin/ngctl/main.c b/usr.sbin/ngctl/main.c index b9e88681d593..bdc6e0d10af0 100644 --- a/usr.sbin/ngctl/main.c +++ b/usr.sbin/ngctl/main.c @@ -56,6 +56,10 @@ #include #include #endif +#ifdef JAIL +#include +#include +#endif #include @@ -138,16 +142,19 @@ int csock, dsock; int main(int ac, char *av[]) { - char name[NG_NODESIZ]; - int interactive = isatty(0) && isatty(1); - FILE *fp = NULL; - int ch, rtn = 0; + char name[NG_NODESIZ]; + int interactive = isatty(0) && isatty(1); + FILE *fp = NULL; +#ifdef JAIL + const char *jail_name = NULL; +#endif + int ch, rtn = 0; /* Set default node name */ snprintf(name, sizeof(name), "ngctl%d", getpid()); /* Parse command line */ - while ((ch = getopt(ac, av, "df:n:")) != -1) { + while ((ch = getopt(ac, av, "df:j:n:")) != -1) { switch (ch) { case 'd': NgSetDebug(NgSetDebug(-1) + 1); @@ -158,6 +165,13 @@ main(int ac, char *av[]) else if ((fp = fopen(optarg, "r")) == NULL) err(EX_NOINPUT, "%s", optarg); break; + case 'j': +#ifdef JAIL + jail_name = optarg; +#else + errx(EX_UNAVAILABLE, "not built with jail support"); +#endif + break; case 'n': snprintf(name, sizeof(name), "%s", optarg); break; @@ -170,6 +184,24 @@ main(int ac, char *av[]) ac -= optind; av += optind; +#ifdef JAIL + if (jail_name != NULL) { + int jid; + + if (jail_name[0] == '\0') + Usage("invalid jail name"); + + jid = jail_getid(jail_name); + + if (jid == -1) + errx((errno == EPERM) ? EX_NOPERM : EX_NOHOST, + "%s", jail_errmsg); + if (jail_attach(jid) != 0) + errx((errno == EPERM) ? EX_NOPERM : EX_OSERR, + "cannot attach to jail"); + } +#endif + /* Create a new socket node */ if (NgMkSockNode(name, &csock, &dsock) < 0) err(EX_OSERR, "can't create node"); @@ -658,6 +690,7 @@ Usage(const char *msg) if (msg) warnx("%s", msg); fprintf(stderr, - "usage: ngctl [-d] [-f file] [-n name] [command ...]\n"); + "usage: ngctl [-j jail] [-d] [-f filename] [-n nodename] " + "[command [argument ...]]\n"); exit(EX_USAGE); } diff --git a/usr.sbin/ngctl/ngctl.8 b/usr.sbin/ngctl/ngctl.8 index 2225c836674a..63b8f58ed3df 100644 --- a/usr.sbin/ngctl/ngctl.8 +++ b/usr.sbin/ngctl/ngctl.8 @@ -31,7 +31,7 @@ .\" OF SUCH DAMAGE. .\" $Whistle: ngctl.8,v 1.6 1999/01/20 03:19:44 archie Exp $ .\" -.Dd January 19, 1999 +.Dd August 29, 2025 .Dt NGCTL 8 .Os .Sh NAME @@ -39,9 +39,11 @@ .Nd netgraph control utility .Sh SYNOPSIS .Nm +.Op Fl j Ar jail .Op Fl d .Op Fl f Ar filename .Op Fl n Ar nodename +.Op Ar command Op Ns Ar argument ... .Op Ar command ... .Sh DESCRIPTION The @@ -73,12 +75,31 @@ form if the originating node supports conversion. .Pp The options are as follows: .Bl -tag -width indent -.It Fl f Ar nodeinfo +.It Fl f Ar filename Read commands from the named file. A single dash represents the standard input. Blank lines and lines starting with a .Dq # are ignored. +Note that when the +.Fl j Ar jail +option is specified, the file will be opened before attaching to the jail and +then be processed inside the jail. +.It Fl j Ar jail +Perform the actions inside the +.Ar jail . +.Pp +.Nm +will first attach to the +.Ar jail +(by jail id or jail name) before performing the effects. +.Pp +This allows netgraph nodes of +.Ar jail +to be created, modified, and destroyed even if the +.Nm +binary is not available in +.Ar jail . .It Fl n Ar nodename Assign .Em nodename From nobody Mon Feb 2 22:42:40 2026 X-Original-To: dev-commits-src-branches@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 4f4hTD2FJWz6Qdp5 for ; Mon, 02 Feb 2026 22:42:40 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4hTD1cQQz4LLZ for ; Mon, 02 Feb 2026 22:42:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770072160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RSpshKMvW/ImQ1w8xMjRUWtdFvrQVooFF7pVnhIu7aI=; b=p+5Q3xwhChVHqta6z6PepNs6pPwNUDqZfPVgI/iEeZcrh5nD/vx5bIZOkHzyEhlzrJexIx KJgVJqiw4TOOE6XeRMYIkxe313g/ftQUoNMgHSZB/RTjOwBHuYhJdMEmk9j+XPtsoKH4mt dqugJEXwRrHse9m7UTTlKUTsbgKNOlCgU+/5+nzuqAJcn5hfAAK2+1nJWtVdGvNukktMw+ MMK/2r9irm2vGiOfABiOyUZDzoX+9VITclaRQo092k3OZJDpE6cI8Onl+Pf9HLpUJvjJmG U/G85zqoOifVt0rNh0vuiRum4bfw3vrJdLKhEukSDmVNYR0qfmtzudbAd9exrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770072160; a=rsa-sha256; cv=none; b=oN4Yi5xna8TXUBb/8rhsDKCbWkjMw7amOBjyU3N3i2UeGCaJHWTZPE/q6Asj+yH1GQFhpi C3qVaMz9c7gRXtPkj7pXhnchmauuffX8O/RGCbU8iwKKHg7/2QoblZ3QXBOY3KcimZLejr marl5p8XZn5zTVmDW5Ws6o/3oPN4bLZ56e+oci3+PkY9Bz0EacZ27aSZzc13cm6IlXPSSe DJnUTZNicot8xHxf7HiBodUHfECpzGOvDsbfQ6Lcv1fkr+fR91kNOpNlo6gKHLMERJ5XUu u23tx3ceoXEpBDT4X/VXcfdiCt2sY9O90+jn9ZKVdEC1A158io0kkA5/l1Xgiw== 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=1770072160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RSpshKMvW/ImQ1w8xMjRUWtdFvrQVooFF7pVnhIu7aI=; b=gBEl7NM+lN9CXrUlzyTeg3f+39Y5zLuFaUFIoqUnEHvQworK6W7gNvQSdt4bABzHpYL3ix gw7Wfl+NngPlbryp5V6CNbPqrZiTZT1p8N7OYTzVzYAsFJlvt5SLEWvfy1e7j+jg2j19eV 8m2riCo5SHvyBHsKPZtNfvl3bC7fzsNfy9/1f99chTVCdSaB+Av7Gl1Yys/szG4uufDeqv 6a9D7YDenRP2mosHPT0jFm5tTNDfjBAF0sF/U7WGeuVcILMoybGIpMHkPtmm5HzV1iRdaw YVoTsvKAs4d9viE9MGSnUL2mM2iYZonetHbFZHvZodTqpF2DFg7wAuuMjlZA1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4hTD11jpzmLm for ; Mon, 02 Feb 2026 22:42:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19286 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 22:42:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Warner Losh From: Enji Cooper Subject: git: fc0c9210cca7 - stable/15 - iicbb: Fix gcc12 complaint List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: fc0c9210cca7a8ed0b3dde92ddbe625dd794ab3c Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 22:42:40 +0000 Message-Id: <69812860.19286.365b2e68@gitrepo.freebsd.org> The branch stable/15 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=fc0c9210cca7a8ed0b3dde92ddbe625dd794ab3c commit fc0c9210cca7a8ed0b3dde92ddbe625dd794ab3c Author: Warner Losh AuthorDate: 2025-09-14 17:12:38 +0000 Commit: Enji Cooper CommitDate: 2026-02-02 22:42:21 +0000 iicbb: Fix gcc12 complaint So gcc12 doesn't understand that t->udelay is >= 1, so thinks that noack might be unset sometimes. While we specifically constrain this on direct assignment, there's a sysctl that might not. This is likely also a bug. Instead of uglifying everything by using MAX(1, sc->udelay), I rewrote the for loop as a do-while loop (which arguably dictates intent better because this code clearly assumes it will be executed once). Sponsored by: Netflix (cherry picked from commit 4b301f7e7ab43bb61561786c2ab33f3a3c4a725d) --- sys/dev/iicbus/iicbb.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/dev/iicbus/iicbb.c b/sys/dev/iicbus/iicbb.c index c344bda930b0..5f6423135f46 100644 --- a/sys/dev/iicbus/iicbb.c +++ b/sys/dev/iicbus/iicbb.c @@ -331,7 +331,7 @@ iicbb_getack(device_t dev) { struct iicbb_softc *sc = device_get_softc(dev); int noack, err; - int t; + int t = 0; /* Release SDA so that the slave can drive it. */ err = iicbb_clockin(dev, 1); @@ -341,12 +341,13 @@ iicbb_getack(device_t dev) } /* Sample SDA until ACK (low) or udelay runs out. */ - for (t = 0; t < sc->udelay; t++) { + do { noack = I2C_GETSDA(dev); if (!noack) break; DELAY(1); - } + t++; + } while(t < sc->udelay); DELAY(sc->udelay - t); iicbb_clockout(dev); From nobody Mon Feb 2 22:45:44 2026 X-Original-To: dev-commits-src-branches@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 4f4hXs58Rqz6QfN1 for ; Mon, 02 Feb 2026 22:45:49 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4hXs2zrSz4M0X for ; Mon, 02 Feb 2026 22:45:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770072349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mlhOEy0mFfjWwbYFvQR4KMeoJFaT+Q5B/3PUzg7saRQ=; b=WssCiiMzhZhMObkDt3D451PnsGfHvpQZjVvhc8SwdFNe5Tvvex72sDCGcGYLDi0EhHklnf u0ImZdLMzRa9BSdJf4eoYtRRGz5sGBF3JZjQonLMusVbEOULCqsDdhoz/0GirXnKOwbYSo NdhmiWUQBFmRU+xML0FiFN1xgqa5aKTDYBJyPUJmDN2pmQ6uqsJlU19DLssgo17bKd2AM8 d6w2UmmRhvUZW6aFbsLx93O7ScYjUAra+oem+8Mnpaet0JxaFd9nm3tJFJeKQFHfFATQab voXXkWjBGdX9T0npoJOMb49NxXyqO6Z8bNSxMMW8f63Cbbm6ukm8me72gNqNbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770072349; a=rsa-sha256; cv=none; b=i0VriboosdXS3rIfG6tuJgo4GUKOAK94SP+ELygK2lgBYORsWcB0Mkaj3KP2HjeR9i18Vx iG65yXEuoyPPscZA1UZ4a/h76rFUNJu6uoq7di4V43CKylfZs5dd3lrsqRuIep9cM8xtYv G9WriH2abvCbruUv0aTDw1OOLFcM9irIRDDFX2EzhEPt9PcFn5VUz14ZrKA9YgDJ6qNNjO t0bnagYzUOHkdjLL5Z1djcNCn1oPVAyQRV0zgpIxL0nJtx4STVtZaENIja1Myo1eUjpxBe LAas68nkCg3V+B3tRQecS955Ic1s9IAa5ndHiYzgOoR0mlg0cT7A2m7LyxLfwg== 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=1770072349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mlhOEy0mFfjWwbYFvQR4KMeoJFaT+Q5B/3PUzg7saRQ=; b=QcfKAM71BXNO/7i4S+Vht9p+BoJkMU7BuqTl2NrC5/1SMc9GLhkB/Y+5rphN9MD8K+e3yY 6PvP+r+5WGahhF4yvBQSSGvGEqp4W7ObT1Z+h8hdEuB0+d2l0nNF6w6B2vV4lNhyUsEn3s nyjfdoJPgmSNAI6jQ2+4oWRDNT9bGAGkDOPKuoNPsvnjS+nToWwCQ1PED6I5cBepwoRanw TkuXkLISV31uyuwiXqfcn9ZkZlhitCFO/tjpgCnNbluOeF5SpKavd/gfL16qz5w/212U2b /lfAt8Rxn1PfV/L/tIek+9gRwBnl2M5Y6zgWHBOK+qx+4ePIezZ2oIbUTQo5yw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4hXs2ZtVzmZq for ; Mon, 02 Feb 2026 22:45:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 180b2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 22:45:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: John Baldwin From: Enji Cooper Subject: git: a2a9a77ce005 - stable/15 - heimdal: Pass the correct pointer to realloc when growing a string buffer List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a2a9a77ce005ac3a07b68d98f6451fa90b9827d6 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 22:45:44 +0000 Message-Id: <69812918.180b2.1c755da5@gitrepo.freebsd.org> The branch stable/15 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=a2a9a77ce005ac3a07b68d98f6451fa90b9827d6 commit a2a9a77ce005ac3a07b68d98f6451fa90b9827d6 Author: John Baldwin AuthorDate: 2026-02-02 17:18:11 +0000 Commit: Enji Cooper CommitDate: 2026-02-02 22:45:33 +0000 heimdal: Pass the correct pointer to realloc when growing a string buffer The realloc in my_fgetln was trying to grow the pointer to the string buffer, not the string buffer itself. In function 'my_fgetln', inlined from 'mit_prop_dump' at crypto/heimdal/kdc/mit_dump.c:156:19: crypto/heimdal/kdc/mit_dump.c:119:13: error: 'realloc' called on unallocated object 'line' [-Werror=free-nonheap-object] 119 | n = realloc(buf, *sz + (*sz >> 1)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ crypto/heimdal/kdc/mit_dump.c: In function 'mit_prop_dump': crypto/heimdal/kdc/mit_dump.c:139:11: note: declared here 139 | char *line = NULL; | ^~~~ Reviewed by: rmacklem, cy Fixes: a93e1b731ae4 ("heimdal-kadmin: Add support for the -f dump option") Differential Revision: https://reviews.freebsd.org/D54933 (cherry picked from commit 03d8ac948b1ad9c419b294c3129b7da58d818363) --- crypto/heimdal/kdc/mit_dump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/heimdal/kdc/mit_dump.c b/crypto/heimdal/kdc/mit_dump.c index 4397d1ad897d..d790b145af11 100644 --- a/crypto/heimdal/kdc/mit_dump.c +++ b/crypto/heimdal/kdc/mit_dump.c @@ -116,7 +116,7 @@ my_fgetln(FILE *f, char **buf, size_t *sz, size_t *len) return 0; } *len += strlen(&(*buf)[*len]); /* *len should be == *sz */ - n = realloc(buf, *sz + (*sz >> 1)); + n = realloc(*buf, *sz + (*sz >> 1)); if (!n) { free(*buf); *buf = NULL; From nobody Tue Feb 3 02:32:17 2026 X-Original-To: dev-commits-src-branches@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 4f4nZB0z7mz6Qx0q for ; Tue, 03 Feb 2026 02:32:18 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4nZ95v4Nz3chc for ; Tue, 03 Feb 2026 02:32:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770085937; 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=VdaB8FaiPd4/0gvhmOTmGZVCFMWnsC7Cq2s/mO7NS+4=; b=xCMQBVMw48xnHFiNTb4rchx8K7yP+nsj5zePWkIwOqADp2ePv70qcnM6b5UOpANpXqJT6Q L09UJXqWiwZisERFq/Rqq0fr8BRWb/NwbbxHUsBkznRAv13tApOZ2twhXHAGZ4ZqbgwTaT iZllTNSx4uzWe64Sfh5B5DfkeOWgNYJxomG/ELp9Xkh9H/SxwDHXXBM9iLj9V9OK8FtYub b1T20J3aZ/prESZp8ASmw3QaTJWVp6KQD6ksNZwWfoB4E7pM5bLuX9wpdnwrjHLh42AS9X gQY6Fi34fZc5zOoUnDWw8w0wa+0PMYT+tayf6CG3ZGJgwpBXoiq1UdIYSxc5ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770085937; a=rsa-sha256; cv=none; b=xBQe4wrOJ1365TqwejQJ/EkQPbZ7Q2cXFbnzqrGRZ1SasWDaN7uoBEnMyoFx/9q9m/0yzU 75cStvHEX8NwPph9/iobps0VBsDXgaUr+s5b3BqMBVG1rnKcIwOc8fciXSNt/u/QVCqStU xuoanjbvH3T3MNfdPcDtJs7ddqh0Ci1SzDI//DAgcXkpON+4R6CHdh1CgJu9lttPdba6bJ zNAE6nkT2JDYcFQsDoaamGCJw2SWj7nMcUZotmzjTryP5Cx5mrq844ce0F0zRVhU/bSqjQ aYD/sy21eLjpcRzGpCyfE8DNYO5ckUuMnAQ5aQN7gkL89aiPkf94ymE1G117VA== 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=1770085937; 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=VdaB8FaiPd4/0gvhmOTmGZVCFMWnsC7Cq2s/mO7NS+4=; b=EaldgyxOMZ/X2wHhAuamDOVbInFINc3T6Y4k/xki1awElfmJ8dPC/kfukrfvpRFXqQ6aUf Nhsz/yHAH6EuOeY8PWRFVRo1Wr/b3tqNYC8g5ExslENHxq+3J59mVFMZUi9NMbw17d92ki 4bReyo6tkICq6LQ4hN5VMXvx0Ezol/JF6j/P39GnuQ1dzOHLwGepyzUVA/wzjFfdmfDS2R 1bm7diuedrIr9qDru5EK3sShNShlbxRuH3l2tUe6QVIe1T1VwRbA+TZxg+D6HVck/REZzw SMvmGW5o6kW89u5dwVFxQggkg5hdkvisf2c8YsxyP2dNjvgvigscp+5VZNtA0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4nZ950KmztXQ for ; Tue, 03 Feb 2026 02:32:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 396aa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 02:32:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: b29f674d9a28 - stable/15 - pflog: tests: Fix rdr_action_head() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b29f674d9a28b0a7894440b4fcd34c4ec114d6c6 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 02:32:17 +0000 Message-Id: <69815e31.396aa.31f758c@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=b29f674d9a28b0a7894440b4fcd34c4ec114d6c6 commit b29f674d9a28b0a7894440b4fcd34c4ec114d6c6 Author: Jose Luis Duran AuthorDate: 2026-01-17 23:30:33 +0000 Commit: Jose Luis Duran CommitDate: 2026-02-03 02:26:51 +0000 pflog: tests: Fix rdr_action_head() Fix a typo in the rdr_action_head() test. Fixes: 685fb4253819 ("pf: Log the intended action when a NAT rule matches a packet") MFC after: 1 week (cherry picked from commit 964d91ee1d7a1405383aeb4fce72c4e3bc80af35) --- tests/sys/netpfil/pf/pflog.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/netpfil/pf/pflog.sh b/tests/sys/netpfil/pf/pflog.sh index a34ec893a75c..b2fa2da8a0e9 100644 --- a/tests/sys/netpfil/pf/pflog.sh +++ b/tests/sys/netpfil/pf/pflog.sh @@ -335,7 +335,7 @@ unspecified_v6_cleanup() } atf_test_case "rdr_action" "cleanup" -rdr_head() +rdr_action_head() { atf_set descr 'Ensure that NAT rule actions are logged correctly' atf_set require.user root From nobody Tue Feb 3 02:32:18 2026 X-Original-To: dev-commits-src-branches@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 4f4nZC0sxGz6Qx0s for ; Tue, 03 Feb 2026 02:32: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4nZB6YNtz3d65 for ; Tue, 03 Feb 2026 02:32:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770085939; 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=Wr5Co+gAHJLP3JVX7SFaau24ygKv9FKwSPXZ2JJ7Pm0=; b=hTNcnQa+qIJLRvvQGCOWLZSsc1PR4x/Y8NHDzBUE6a7iSS1AR1WnxIgpQVokGminodGRG3 7vW0A+xqjqUpRX3hnCN05DIBXz8R6oa5oOYtJN1ikR+RR3jnImf3Y9Wd7CC7qGcl7qs6+y ayKcPTRdJWaTcDy5PrDB4izZXG7xZmkZiQ3mSZfxMjqrD701K16HSerVUSKku1doDrYDOS 1QqNozycaULmgG2shVqCoQ1lBgUbBar04aE1bQIID0skhcr6vihNR01RE3kWjCTmrGRdr4 ORy6la3XZ5tc2cb57zoQYiUaoHFkykJxCXxgLpizpZij19Qc+w1gV6KYF1SrLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770085939; a=rsa-sha256; cv=none; b=lZtoGaDoD8tDhGgunpwwtT4unnbbh+oPG+Nf5ThuNGms1spn3FK6K+17QA7HebMgT2cAXS ypvhG9u+KX2xeC9GjyPZsbpim6033DbSWXkx4LWstgru7+n5I5X3epP9jrLsWSaD9W2L6q oJ+8MR58GoCVq33EO4Kf6bAIU8YVD4MO/lxLToVHs42uO0WKUdQ7pwM1jzrrd6ZXDOQKU8 Z+yZrya9QK0pOx3FLvumAfV8gjRDVzHuFZ9hPPOESq7T1cpZ7MzWtQa9zSrtRX/JzSu1OI sl31b1km9QTr24Eg+ulKBvw8Mc+Lxr9h6+U3mJLZJ6BL/rVlBmHH9pmSBZbcrg== 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=1770085939; 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=Wr5Co+gAHJLP3JVX7SFaau24ygKv9FKwSPXZ2JJ7Pm0=; b=rabuSJE1qUiVbUameGXcS5BYaRHI8qOTVlW3NmeGxB2cQJb2jkV4GG/iDcEOPZRY77J8tT JUwqpOQABQtL3+0Qz0Tj/ucfNnjlncyoomhRNPJRIVXHHEQTPrDFQ/RqfsX69TFhq6y85B EgPujY8kFA0Yq6zNgMyaaE2VbD1KPoHKEOHbnHE5ATyLEoN4eMFJOGJzAw5d//t99cyc0M dHkuC3uVNQyhUfz+7dJmzNVFlXQGDhjuRpkqMBtIuvUR5rWrO1SU9tFdAtK8amIkDaxYTu JnQn5TRN6uEVgJzXVfOgcVXL/CqKPnqv+xF93BVNgWzt0pcxqzglZ+6iO7uvhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4nZB5pBVztjQ for ; Tue, 03 Feb 2026 02:32:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39567 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 02:32:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 4fe60704ca37 - stable/15 - METALOG: Order keyword entries List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4fe60704ca377fde39e4576638189d6b74a38e0c Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 02:32:18 +0000 Message-Id: <69815e32.39567.283dd59b@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=4fe60704ca377fde39e4576638189d6b74a38e0c commit 4fe60704ca377fde39e4576638189d6b74a38e0c Author: Jose Luis Duran AuthorDate: 2026-01-26 20:19:44 +0000 Commit: Jose Luis Duran CommitDate: 2026-02-03 02:28:03 +0000 METALOG: Order keyword entries To facilitate comparison with mtree -C generated output, keep the keywords ordered. No functional change intended. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54872 (cherry picked from commit fe962e33d86f888b496b17251c8bedebf92be8ee) --- lib/libc/gen/Makefile.inc | 6 +++--- share/man/Makefile | 4 ++-- sys/conf/kmod.mk | 2 +- sys/modules/Makefile | 2 +- usr.sbin/services_mkdb/Makefile | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index b274874973a3..3e68f8400c5c 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -587,8 +587,8 @@ install-passwd: .PHONY ${PWD_MKDB_CMD} -i -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd .if defined(NO_ROOT) && defined(METALOG) ( \ - echo ".${DISTBASE}/etc/pwd.db type=file mode=0644 uname=root gname=wheel"; \ - echo ".${DISTBASE}/etc/spwd.db type=file mode=0600 uname=root gname=wheel"; \ - echo ".${DISTBASE}/etc/passwd type=file mode=0644 uname=root gname=wheel"; \ + echo ".${DISTBASE}/etc/pwd.db type=file uname=root gname=wheel mode=0644"; \ + echo ".${DISTBASE}/etc/spwd.db type=file uname=root gname=wheel mode=0600"; \ + echo ".${DISTBASE}/etc/passwd type=file uname=root gname=wheel mode=0644"; \ ) | cat -l >> ${METALOG} .endif diff --git a/share/man/Makefile b/share/man/Makefile index 51e560e199a5..9a8054f0651a 100644 --- a/share/man/Makefile +++ b/share/man/Makefile @@ -10,13 +10,13 @@ makedb: .if ${MK_MAN_UTILS} != "no" ${MAKEWHATIS} ${DESTDIR}${BINDIR}/man .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}${BINDIR}/man/mandoc.db type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}${BINDIR}/man/mandoc.db type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .if ${MK_OPENSSL} != "no" ${MAKEWHATIS} ${DESTDIR}${BINDIR}/openssl/man .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}${BINDIR}/openssl/man/mandoc.db type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}${BINDIR}/openssl/man/mandoc.db type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 6e20dce0653f..00335f24e2e4 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -383,7 +383,7 @@ afterinstall: _kldxref _kldxref: .PHONY ${KLDXREF_CMD} ${DESTDIR}${KMODDIR} .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}${KMODDIR}/linker.hints type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}${KMODDIR}/linker.hints type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 924ddd880000..27b96d68a94c 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -957,7 +957,7 @@ SUBDIR:= ${SUBDIR:N${reject}} afterinstall: .PHONY ${KLDXREF_CMD} ${DESTDIR}${KMODDIR} .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}${KMODDIR}/linker.hints type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}${KMODDIR}/linker.hints type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif diff --git a/usr.sbin/services_mkdb/Makefile b/usr.sbin/services_mkdb/Makefile index c1c7ca0bfcff..175b190d4982 100644 --- a/usr.sbin/services_mkdb/Makefile +++ b/usr.sbin/services_mkdb/Makefile @@ -15,7 +15,7 @@ afterinstallconfig: ${SERVICES_MKDB_CMD} ${CAP_MKDB_ENDIAN} -q -o ${DESTDIR}/var/db/services.db \ ${DESTDIR}/etc/services .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}/var/db/services.db type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}/var/db/services.db type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif From nobody Tue Feb 3 02:32:48 2026 X-Original-To: dev-commits-src-branches@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 4f4nZn228lz6Qwpf for ; Tue, 03 Feb 2026 02:32:49 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4nZm4nd1z3dfp for ; Tue, 03 Feb 2026 02:32:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770085968; 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+HFkCiRfmV/TOfdwqG2EokH+9gRfTwrKrR0Lhzk+iI=; b=M1M9bnR+I1rUDIaAntQ+LMZB+R+7Fa3AyIa4TJZyEcw7Zpuya+I/6w9aWq5l//kPdvFr9m B+VdFVyuu0s0QOzfMN5nWspZp5p/kLvVDIavuiZeQXvcQ2eQPJR4wsPoN3DMHgVRqcCXN5 9Fi3qh21B5Yo60S+GYZpR4L/h4lallTnMeLRqiciz17BB63GOQNMxatDfXp3IL32gVdqpX aboy4RG1QcXMb8qqv8Fi3tRQSNdj1O4h55DpkRrN3tvJ2sirIyhBXr1ek/KIwNISsFpvCf mj3Yefq7O2sy474XWoOAqs5D2lKKw8eBXZ4s1mzfDncqE4yLllYK96YXNmxHbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770085968; a=rsa-sha256; cv=none; b=G6/sjEmeicytKCnWlRxQSOboOXpSiMvR7aVFSPuPOAo6XxG1a15Y02VpuR9JngrkZ31e8w 33qOtlq/dyA4LWoCqQFlbiackVHa9mvApzby3WwMVPC1B8Mx/WJPlfBnIUOU+RJUHhRScZ PQaBpbkQtjj4G0+idKTqNmyBJYLOUqDEM17RUtRBliTKI1kCBroOVBUs8oQO5+TaFi1aZ9 MmjDpDFhKI4bDx3+2Z3Q1WSSr8bGWUTNOnjeXJqj4s67LalXS9BNG2D/xPfgCvbOgbKSEc 7niug7glXq70De/zhoGkVf7euIoMyBY7/sy0FMdrg5ftBhkck6tSeFZHdm1cHQ== 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=1770085968; 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+HFkCiRfmV/TOfdwqG2EokH+9gRfTwrKrR0Lhzk+iI=; b=uevoEMXOYcSXxvMQmvwqbhpoFjNK10Z4lU3AeqWjV4jUXe+A315pRGksnvt9iifKf+k5D6 gtvSsMyluobr1cdQtP7kGzkFvzIgR4rv1K6lS2RhmxHpKTFaythX3+dn07DhFy8o5SJCOt rT2gyZ/NbVGoZC1kM3XJK0ryqYEAgvECo7U7fVJ5MDrNWailMNxhitnHz5494l/yo+WLDY OpT1Iob1y/FooWQOXfpa9VzncjRhiK//t3+GoUwkbHatjg5pmDKFh/C3ysXt1oM6+azMSu 7JUW0A9yA/au7DXyhFeTlDaglf/K0rTJGJsvZ/gD07xwHOR81taAghzTuIv7DQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4nZm49NWzskh for ; Tue, 03 Feb 2026 02:32:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38ce4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 02:32:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 1cd151e7bdff - stable/14 - METALOG: Order keyword entries List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1cd151e7bdff43a5fcf560aeb8ec66b1793de4ce Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 02:32:48 +0000 Message-Id: <69815e50.38ce4.15f8012b@gitrepo.freebsd.org> The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=1cd151e7bdff43a5fcf560aeb8ec66b1793de4ce commit 1cd151e7bdff43a5fcf560aeb8ec66b1793de4ce Author: Jose Luis Duran AuthorDate: 2026-01-26 20:19:44 +0000 Commit: Jose Luis Duran CommitDate: 2026-02-03 02:30:22 +0000 METALOG: Order keyword entries To facilitate comparison with mtree -C generated output, keep the keywords ordered. No functional change intended. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54872 (cherry picked from commit fe962e33d86f888b496b17251c8bedebf92be8ee) --- lib/libc/gen/Makefile.inc | 6 +++--- sys/conf/kmod.mk | 2 +- sys/modules/Makefile | 2 +- usr.sbin/services_mkdb/Makefile | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 6423091f48be..220453266d44 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -587,8 +587,8 @@ install-passwd: .PHONY ${PWD_MKDB_CMD} -i -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd .if defined(NO_ROOT) && defined(METALOG) ( \ - echo ".${DISTBASE}/etc/pwd.db type=file mode=0644 uname=root gname=wheel"; \ - echo ".${DISTBASE}/etc/spwd.db type=file mode=0600 uname=root gname=wheel"; \ - echo ".${DISTBASE}/etc/passwd type=file mode=0644 uname=root gname=wheel"; \ + echo ".${DISTBASE}/etc/pwd.db type=file uname=root gname=wheel mode=0644"; \ + echo ".${DISTBASE}/etc/spwd.db type=file uname=root gname=wheel mode=0600"; \ + echo ".${DISTBASE}/etc/passwd type=file uname=root gname=wheel mode=0644"; \ ) | cat -l >> ${METALOG} .endif diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 68b37e7efbff..84b7ccbb3ffa 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -383,7 +383,7 @@ afterinstall: _kldxref _kldxref: .PHONY ${KLDXREF_CMD} ${DESTDIR}${KMODDIR} .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}${KMODDIR}/linker.hints type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}${KMODDIR}/linker.hints type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif diff --git a/sys/modules/Makefile b/sys/modules/Makefile index cca51592c7ca..dfcb31f74106 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -917,7 +917,7 @@ SUBDIR:= ${SUBDIR:N${reject}} afterinstall: .PHONY ${KLDXREF_CMD} ${DESTDIR}${KMODDIR} .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}${KMODDIR}/linker.hints type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}${KMODDIR}/linker.hints type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif diff --git a/usr.sbin/services_mkdb/Makefile b/usr.sbin/services_mkdb/Makefile index 8d8e0f1c0626..6e61ff7b2a04 100644 --- a/usr.sbin/services_mkdb/Makefile +++ b/usr.sbin/services_mkdb/Makefile @@ -16,7 +16,7 @@ afterinstallconfig: ${SERVICES_MKDB_CMD} ${CAP_MKDB_ENDIAN} -q -o ${DESTDIR}/var/db/services.db \ ${DESTDIR}/etc/services .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}/var/db/services.db type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}/var/db/services.db type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif From nobody Tue Feb 3 04:38:08 2026 X-Original-To: dev-commits-src-branches@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 4f4rMP3kqLz6R5Kx for ; Tue, 03 Feb 2026 04:38:09 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4rMP01z9z3sLW for ; Tue, 03 Feb 2026 04:38:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770093489; 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=TlmRSkWq5qhmZRbcEv4zqTCaAaRTj0HwVfF/hH2s+S0=; b=pHlac3woNPalyOJama7I/vRDXarHhUarUMtkL4kJE+JuPaQ9T2jncDuA7RUOZL3v/WG5di JPjCAOzak+fqYEyE3jiRIn7hha2rm4YtJ7zCq8c3smftPJFqAKCHEfvkHAAWLPuzsVPoeB ckITTgHR5554+0ltxrd1XNSftUSO5ycKBq8MhALfOBwTwpAbRmhxYOmVxOPsWKrY4MVY73 Uy4MUQQMU/Tb3xETpqXVcC2GQ1OBFAhBrz16YjlVTjGdhYtYNeOWBH+HYNpp5zr5XqobsH XWUr6yAmUrv1hKMYKWGUCBJhGeO3Dob0R6R747PDfdEbZs4JaY9cxgyvPDN7nQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770093489; a=rsa-sha256; cv=none; b=am/MvhRwSCpRatWTLlkhiT/aWQqih9bXe1hI+VVvDNFXTSsjoRYDi8pSg3ybObGtGEy3ZU E4PtCyc0dktRZf90v/XjLFm4Szx21TlwLdoJ5le58HxYqpVkzbgBCDp3cMC0Xiqg2d9EAK 29PFhL3B5QDRpMQnlaYo4M+TpVkb30sakL0ogXUXBdN+EjfYwkk0sCvAi1HKV03FZFBYia wtnuMVJx1ubo9xS/ep60a4boXAviSTn0f8AedsyjwTsWD1c5mqTFmmGOrx+fvr2BMbp80I pdaqgiHGKfLnis4tU8VTf6qOiElQ+TXRd2seNE46lyq9305Hc9vsIcEzK/womA== 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=1770093489; 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=TlmRSkWq5qhmZRbcEv4zqTCaAaRTj0HwVfF/hH2s+S0=; b=KnBt3CRY122Iu6bmvWIU9SKt5Ew26rCpCkGqaMcgBKC71+SGw3262rS8T7NIDOeXRn5NIZ 7K/KrXzzFPpLmZcx0wfT7GvXTJR4XrHK97yRRw7AR9dmnpz7mDLNLpEA4S8u0k9VpDcUFS /ZHAYzXMxOBj/x0EOgZnOUkql959Hz+OFk8bTLZYFtLaUUk61BcOiMY4vIKIwKqpBQpUbM A51YCnJUFh5l4TCrYnnVUournYBajYWTkHkjAO4KKZnrl4d6qYYfxec0U7jOqWFhLC2p/i dQgC/DeLmlq7P9d6e/Z/dO5hitCQ7UiekT15qwyA4yUx+aVJyoHXYQAkf0Rotw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4rMN6hKSzxYX for ; Tue, 03 Feb 2026 04:38:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 449b7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 04:38:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 5c6949e12ee6 - stable/14 - kern: disallow user scheduling/debugging/signalling of jailed procs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 5c6949e12ee6143505a200b37f2d0bbaf2611656 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 04:38:08 +0000 Message-Id: <69817bb0.449b7.44290de5@gitrepo.freebsd.org> The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=5c6949e12ee6143505a200b37f2d0bbaf2611656 commit 5c6949e12ee6143505a200b37f2d0bbaf2611656 Author: Kyle Evans AuthorDate: 2026-02-03 04:37:23 +0000 Commit: Kyle Evans CommitDate: 2026-02-03 04:37:23 +0000 kern: disallow user scheduling/debugging/signalling of jailed procs Currently, jails are generally ignored when determining whether the current process/thread can take action upon another, except to determine if the target's jail is somewhere in the source's hierarchy. Notably, uid 1001 in a jail (including prison0) can take action upon a process run by uid 1001 inside of a subordinate jail by default. While this could be considered a feature at times, it is a scenario that really should be deliberately crafted; there is no guarantee that uid 1001 in the parent jail is at all related to uid 1001 in a subordinate. This changes introduces three new privileges that grant a process this kind of insight into other jails: - PRIV_DEBUG_DIFFJAIL - PRIV_SCHED_DIFFJAIl - PRIV_SIGNAL_DIFFJAIL These can be granted independently or in conjunction with the accompanying *_DIFFCRED privileges, i.e.: - PRIV_DEBUG_DIFFCRED alone will let uid 1001 debug uid 1002, but PRIV_DEBUG_DIFFJAIL is additionally needed to let it debug uid 1002 in a jail. - PRIV_DEBUG_DIFFJAIL alone will let uid 1001 debug uid 1001 in a jail, but will not allow it to debug uid 1002 in a jail. Note that security.bsd.see_jail_proc can be used for similar effects, but does not prevent a user from learning the pid of a jailed process with matching creds and signalling it or rescheduling it (e.g., cpuset). Debugging is restricted by visibility in all cases, so that one is less of a concern. This change adds a new jail(8) parameter for the parent to indicate on a per-jail basis if its users are open to being tampered with by the parent's unprivileged users: allow.unprivileged_parent_tampering. This is enabled by default in 14.x, but may be disabled to honor the new priv(9) checks for earlier testing of the new behavior in FreeBSD 15.x. Development setups that involve regularly debugging jailed processes from outside the jail, will want to consider adding a default `allow.unprivileged_parent_tampering;` to your /etc/jail.conf before transitioning to 15.x. Reviewed by: jamie Relnotes: yes (added, off by default) (cherry picked from commit 8a5ceebece0311bc41180b3ca0ce7237def1e253) (cherry picked from commit bd21c672a868f039edb109b73757ad560252ca0f) --- sys/kern/kern_jail.c | 13 +++++++++++- sys/kern/kern_prot.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sys/sys/jail.h | 7 +++++-- sys/sys/priv.h | 3 +++ usr.sbin/jail/jail.8 | 8 +++++++- 5 files changed, 83 insertions(+), 4 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 30b77090434e..786a4d804115 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -232,6 +232,9 @@ static struct bool_flags pr_flag_allow[NBBY * NBPW] = { {"allow.nfsd", "allow.nonfsd", PR_ALLOW_NFSD}, #endif {"allow.routing", "allow.norouting", PR_ALLOW_ROUTING}, + {"allow.unprivileged_parent_tampering", + "allow.nounprivileged_parent_tampering", + PR_ALLOW_UNPRIV_PARENT_TAMPER}, }; static unsigned pr_allow_all = PR_ALLOW_ALL_STATIC; const size_t pr_flag_allow_size = sizeof(pr_flag_allow); @@ -239,7 +242,8 @@ const size_t pr_flag_allow_size = sizeof(pr_flag_allow); #define JAIL_DEFAULT_ALLOW (PR_ALLOW_SET_HOSTNAME | \ PR_ALLOW_RESERVED_PORTS | \ PR_ALLOW_UNPRIV_DEBUG | \ - PR_ALLOW_SUSER) + PR_ALLOW_SUSER | \ + PR_ALLOW_UNPRIV_PARENT_TAMPER) #define JAIL_DEFAULT_ENFORCE_STATFS 2 #define JAIL_DEFAULT_DEVFS_RSNUM 0 static unsigned jail_default_allow = JAIL_DEFAULT_ALLOW; @@ -3987,6 +3991,7 @@ prison_priv_check(struct ucred *cred, int priv) case PRIV_DEBUG_DIFFCRED: case PRIV_DEBUG_SUGID: case PRIV_DEBUG_UNPRIV: + case PRIV_DEBUG_DIFFJAIL: /* * Allow jail to set various resource limits and login @@ -4019,8 +4024,10 @@ prison_priv_check(struct ucred *cred, int priv) */ case PRIV_SCHED_DIFFCRED: case PRIV_SCHED_CPUSET: + case PRIV_SCHED_DIFFJAIL: case PRIV_SIGNAL_DIFFCRED: case PRIV_SIGNAL_SUGID: + case PRIV_SIGNAL_DIFFJAIL: /* * Allow jailed processes to write to sysctls marked as jail @@ -4630,6 +4637,10 @@ SYSCTL_JAIL_PARAM(_allow, read_msgbuf, CTLTYPE_INT | CTLFLAG_RW, "B", "Jail may read the kernel message buffer"); SYSCTL_JAIL_PARAM(_allow, unprivileged_proc_debug, CTLTYPE_INT | CTLFLAG_RW, "B", "Unprivileged processes may use process debugging facilities"); +SYSCTL_JAIL_PARAM(_allow, unprivileged_parent_tampering, + CTLTYPE_INT | CTLFLAG_RW, "B", + "Unprivileged parent jail processes may tamper with same-uid processes" + " (signal/debug/cpuset)"); SYSCTL_JAIL_PARAM(_allow, suser, CTLTYPE_INT | CTLFLAG_RW, "B", "Processes in jail with uid 0 have privilege"); #ifdef VIMAGE diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 872645da8614..246413a54903 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1915,6 +1915,38 @@ cr_canseejailproc(struct ucred *u1, struct ucred *u2) return (ESRCH); } +/* + * Determine if u1 can tamper with the subject specified by u2, if they are in + * different jails and 'unprivileged_parent_tampering' jail policy allows it. + * + * May be called if u1 and u2 are in the same jail, but it is expected that the + * caller has already done a prison_check() prior to calling it. + * + * Returns: 0 for permitted, EPERM otherwise + */ +static int +cr_can_tamper_with_subjail(struct ucred *u1, struct ucred *u2, int priv) +{ + + MPASS(prison_check(u1, u2) == 0); + if (u1->cr_prison == u2->cr_prison) + return (0); + + if (priv_check_cred(u1, priv) == 0) + return (0); + + /* + * Jails do not maintain a distinct UID space, so process visibility is + * all that would control an unprivileged process' ability to tamper + * with a process in a subjail by default if we did not have the + * allow.unprivileged_parent_tampering knob to restrict it by default. + */ + if (prison_allow(u2, PR_ALLOW_UNPRIV_PARENT_TAMPER)) + return (0); + + return (EPERM); +} + /* * Helper for cr_cansee*() functions to abide by system-wide security.bsd.see_* * policies. Determines if u1 "can see" u2 according to these policies. @@ -2064,6 +2096,19 @@ cr_cansignal(struct ucred *cred, struct proc *proc, int signum) return (error); } + /* + * At this point, the target may be in a different jail than the + * subject -- the subject must be in a parent jail to the target, + * whether it is prison0 or a subordinate of prison0 that has + * children. Additional privileges are required to allow this, as + * whether the creds are truly equivalent or not must be determined on + * a case-by-case basis. + */ + error = cr_can_tamper_with_subjail(cred, proc->p_ucred, + PRIV_SIGNAL_DIFFJAIL); + if (error) + return (error); + return (0); } @@ -2140,6 +2185,12 @@ p_cansched(struct thread *td, struct proc *p) if (error) return (error); } + + error = cr_can_tamper_with_subjail(td->td_ucred, p->p_ucred, + PRIV_SCHED_DIFFJAIL); + if (error) + return (error); + return (0); } @@ -2246,6 +2297,11 @@ p_candebug(struct thread *td, struct proc *p) return (error); } + error = cr_can_tamper_with_subjail(td->td_ucred, p->p_ucred, + PRIV_DEBUG_DIFFJAIL); + if (error) + return (error); + /* Can't trace init when securelevel > 0. */ if (p == initproc) { error = securelevel_gt(td->td_ucred, 0); diff --git a/sys/sys/jail.h b/sys/sys/jail.h index 504dedc277df..5fed00436a75 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -257,6 +257,8 @@ struct prison_racct { #define PR_ALLOW_KMEM_ACCESS 0x00010000 /* reserved, not used yet */ #define PR_ALLOW_NFSD 0x00020000 #define PR_ALLOW_ROUTING 0x00040000 +/* Bits assigned in main */ +#define PR_ALLOW_UNPRIV_PARENT_TAMPER 0x00400000 /* * PR_ALLOW_PRISON0 are the allow flags that we apply by default to prison0, @@ -264,14 +266,15 @@ struct prison_racct { * build time. PR_ALLOW_ALL_STATIC should contain any bit above that we expect * to be used on the system, while PR_ALLOW_PRISON0 will be some subset of that. */ -#define PR_ALLOW_ALL_STATIC 0x000787ff +#define PR_ALLOW_ALL_STATIC 0x004787ff #define PR_ALLOW_PRISON0 (PR_ALLOW_ALL_STATIC) /* * PR_ALLOW_DIFFERENCES determines which flags are able to be * different between the parent and child jail upon creation. */ -#define PR_ALLOW_DIFFERENCES (PR_ALLOW_UNPRIV_DEBUG) +#define PR_ALLOW_DIFFERENCES \ + (PR_ALLOW_UNPRIV_DEBUG | PR_ALLOW_UNPRIV_PARENT_TAMPER) /* * OSD methods diff --git a/sys/sys/priv.h b/sys/sys/priv.h index 0dec78427933..090e2b25ce5d 100644 --- a/sys/sys/priv.h +++ b/sys/sys/priv.h @@ -115,6 +115,7 @@ #define PRIV_DEBUG_SUGID 81 /* Exempt debugging setuid proc. */ #define PRIV_DEBUG_UNPRIV 82 /* Exempt unprivileged debug limit. */ #define PRIV_DEBUG_DENIED 83 /* Exempt P2_NOTRACE. */ +#define PRIV_DEBUG_DIFFJAIL 84 /* Exempt debugging other jails. */ /* * Dtrace privileges. @@ -193,6 +194,7 @@ #define PRIV_SCHED_CPUSET 206 /* Can manipulate cpusets. */ #define PRIV_SCHED_CPUSET_INTR 207 /* Can adjust IRQ to CPU binding. */ #define PRIV_SCHED_IDPRIO 208 /* Can set idle time scheduling. */ +#define PRIV_SCHED_DIFFJAIL 209 /* Exempt scheduling other jails. */ /* * POSIX semaphore privileges. @@ -204,6 +206,7 @@ */ #define PRIV_SIGNAL_DIFFCRED 230 /* Exempt signalling other users. */ #define PRIV_SIGNAL_SUGID 231 /* Non-conserv signal setuid proc. */ +#define PRIV_SIGNAL_DIFFJAIL 232 /* Exempt signalling other jails. */ /* * Sysctl privileges. diff --git a/usr.sbin/jail/jail.8 b/usr.sbin/jail/jail.8 index c5a88bbff4b7..d4b6addfa5ec 100644 --- a/usr.sbin/jail/jail.8 +++ b/usr.sbin/jail/jail.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 11, 2025 +.Dd August 7, 2025 .Dt JAIL 8 .Os .Sh NAME @@ -669,6 +669,12 @@ in the file outside of the jails. .It Va allow.reserved_ports The jail root may bind to ports lower than 1024. +.It Va allow.unprivileged_parent_tampering +Unprivileged processes in the jail's parent may tamper with processes of the +same UID in the jail. +This includes the ability to signal, debug, and +.Xr cpuset 1 +processes that belong to the jail. .It Va allow.unprivileged_proc_debug Unprivileged processes in the jail may use debugging facilities. .It Va allow.suser From nobody Tue Feb 3 04:38:07 2026 X-Original-To: dev-commits-src-branches@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 4f4rMT3wd7z6R5Fk for ; Tue, 03 Feb 2026 04:38:13 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4rMN0T3Lz3scN for ; Tue, 03 Feb 2026 04:38:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770093488; 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=tcLDD1glXsGkRz/1yTrb6eBDDveTcdENtBl21HU97nw=; b=PAzBPDO1lRHyB21i5VAIv8ez3YZdBAd7qQ1w1i3P+mhN1SZJnbq/L7llGjO3d8+CYdGMUz CcIBOoHeQPDcIDqdDRJU8UunbyiGYlmpE+RqNdOHSLPay8ytEdKxTBnkdBBXJOvbTiOVw3 CBzi1hxkgvhdE/fBy7c4ia3uDjP3JBtnYZLVWCicg4Rzsp9WMhdpZK53tzlFzZKogl6n09 cbezO3xaNx0JGprlbbzHQAjcLPKeFH+iNDvsnPm2gimQ7+lgngycDcTYhvfwgSpBtZyWqt gUSHxi6eobAFVSITyKdeKBjkGR7IujdNU0dBH3kfaYyCRCDwAKU/kAKhYvJU0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770093488; a=rsa-sha256; cv=none; b=Gc8AUQ4jXPehea5v+JXOxafgnCO5sa5FwtgAktP9DptUKpmrVGE/vtsQ7wdnoxs9gotOwe 6ZJsEygRQr8ZmYzmdpAz7wWzWced9gLHjqg0cCJhf5qzcbp4/OwVBbBfQ7fvcucODZKb2G VisAsnj4MzYSGdUEjGv3fVcr2bMB7vR6Tcsn2XHeJ3OVGQ4bkTQAtnas83zgK9HzkUhekt hejg9Ggijz4F3cY7di4wx8rtVQYZxh8nBd7v0AUCtfDiuoVIL65jNV2sOiJvu214nlMaci 2OHHDZerHxzxJ/M2hex9HKQ9CORCNCEI3PF9EevsLMmsz1txRT+6wEIJ9h76kQ== 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=1770093488; 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=tcLDD1glXsGkRz/1yTrb6eBDDveTcdENtBl21HU97nw=; b=yvinY2abWUI2HYIm5eLwqEnqmeUW1PW/UX1ppQS8WoKDL+Y6sZvSOFYc1ugE6iDe0Rj3JC vkAZPfU4wlf6dERF7awKwxS/jZS5kJZE/ZY9NRY+3v1+Gvf5EZ8ZowmqQc5f5QvVa+YZIM 5fDvagHj5+X3bkZk1EEpSk/B65/w42XhK3hgsFC0/Gyrrt+5jwtxbK+e5FR+/W5p3wKQmz /L9KDFOVyzZ4yg6I4T6CfvCLpeTzpktuQcMrk5XMaIUE+ALoTR6FRCq7Y4VrwTapI1gNbE WY33d9UVzMhuixGesJ/eB9z9H1foDw+msjAmiIi1qvdDve8tR8+soC2n8hxBrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4rMM6LFBzxMJ for ; Tue, 03 Feb 2026 04:38:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45d28 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 04:38:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 56b9de5484bc - stable/14 - jail: separate "statically valid allow flags" from "prison0 allow flags" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 56b9de5484bc035304290d83fb2dc92d55b98eb4 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 04:38:07 +0000 Message-Id: <69817baf.45d28.45285012@gitrepo.freebsd.org> The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=56b9de5484bc035304290d83fb2dc92d55b98eb4 commit 56b9de5484bc035304290d83fb2dc92d55b98eb4 Author: Kyle Evans AuthorDate: 2026-02-03 04:37:23 +0000 Commit: Kyle Evans CommitDate: 2026-02-03 04:37:23 +0000 jail: separate "statically valid allow flags" from "prison0 allow flags" The current setup means that we can't add an allow flag in sys/jail.h that's disabled by default without removing it from the pr_flags assignment in kern_jail.c. That's technically fine, but I think it's better to make it more prevalent at the PR_ALLOW_* definition site so that it's top-of-mind when adding a new flag. This is a preparatory change for adding an allow flag that prison0 will also have disabled by default, but with an allow.* knob and sysctl to enable it. Reviewed by: jamie (cherry picked from commit 58c92776d1580717934e29ca2c0ef9bf2fbb7397) --- sys/kern/kern_jail.c | 5 ++++- sys/sys/jail.h | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 03a5eaabdf34..30b77090434e 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -117,8 +117,11 @@ struct prison prison0 = { #else .pr_flags = PR_HOST|_PR_IP_SADDRSEL, #endif - .pr_allow = PR_ALLOW_ALL_STATIC, + .pr_allow = PR_ALLOW_PRISON0, }; +_Static_assert((PR_ALLOW_PRISON0 & ~PR_ALLOW_ALL_STATIC) == 0, + "Bits enabled in PR_ALLOW_PRISON0 that are not statically reserved"); + MTX_SYSINIT(prison0, &prison0.pr_mtx, "jail mutex", MTX_DEF); struct bool_flags { diff --git a/sys/sys/jail.h b/sys/sys/jail.h index 0291d99ec5af..504dedc277df 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -257,7 +257,15 @@ struct prison_racct { #define PR_ALLOW_KMEM_ACCESS 0x00010000 /* reserved, not used yet */ #define PR_ALLOW_NFSD 0x00020000 #define PR_ALLOW_ROUTING 0x00040000 + +/* + * PR_ALLOW_PRISON0 are the allow flags that we apply by default to prison0, + * while PR_ALLOW_ALL_STATIC are all of the allow bits that we have allocated at + * build time. PR_ALLOW_ALL_STATIC should contain any bit above that we expect + * to be used on the system, while PR_ALLOW_PRISON0 will be some subset of that. + */ #define PR_ALLOW_ALL_STATIC 0x000787ff +#define PR_ALLOW_PRISON0 (PR_ALLOW_ALL_STATIC) /* * PR_ALLOW_DIFFERENCES determines which flags are able to be From nobody Tue Feb 3 07:37:54 2026 X-Original-To: dev-commits-src-branches@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 4f4wLq0Bx0z6RMrp for ; Tue, 03 Feb 2026 07:37:55 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4wLp6FBYz45gZ for ; Tue, 03 Feb 2026 07:37:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770104274; 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=IhapixeBzU0eWLj59PaQp1anysPLXO8wCHMzYOkaZ+M=; b=hrVXBZIylylexLHMF83IJwS/mw1lwlrKfR4wIby9gxD1hwfUvBKKBq2bu0J/LPSeEDcHwe 3Uj+KDeNPNdi6RoyWW3i3mADY2DrKEZgJSpCYO+a+gnRc5BMcgyi4OpcuJ88YcU8h2IvLd DlzddaI66+YhfTCX7vI9j/MKdUUCY9vRwy8MJcCsW7Pd9iEm7mg8Srd/25U8aoJve4HIYg 1ppF0Aj80keoxbZLG33VvEhdTYZNz8pCZJyttzWhyR90wXehQYCE67eKPprTzrn51XUYWf 79fd7ypx4b8WJx3kPBHgR99bLD7EktoSYNLL9oPzCGJoM5roGlchaoP7QzE10Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770104274; a=rsa-sha256; cv=none; b=wwZQxy3MVgH+uJoNhameBHt8ozb6DVLPFeK/dtyZGV8xxBkp6UdDgAhiVuEpTozB5++m0D NB4cKWZdQ7NVJLeYJ2YrRe33YaKWfAvrtW6wydlRabTQNxh2Sc5hPBfjqfWWW1G7OrD3oN kR38WNDhBPFRSGEcXmsZQrpRzd0XyIuuNwRkfMh74Nbg+448fpJ4ItEObcyY69cB+BgZhj mYfWbITdg7wQUUQIHzFIyAPd0iP7k7/vs1/CEA4MCobfLA2EJvyab0JwUiqzeq9FFQ7abn zAb8BoXuXcc40xD9ylirwSbWVnRyD/+BRDEEC/fzvsVyKYGadE4tsV4MoZSODA== 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=1770104274; 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=IhapixeBzU0eWLj59PaQp1anysPLXO8wCHMzYOkaZ+M=; b=xT1KAg8FU/I1kCHRq5ud8ZDjJ3RJyVDLutGc8G6F8DCuO+DiXgFhLJGQV7XkKmfJfJilDB kCUvZTlWmhcxmL80+dI/0uLoAwHWSC8s/FUL/FAVYoCaygPNrm1M/pG+F4+PoOUFERZe+C X3nf32/f1tCn9jOz0HaDuzFwNBXPY9BhOjjDZ3xSPlwp05Z1l60VSRcoxtnblTpC7tW+Qq Bso2/j/3PCrbpJRU5kWjpRwFA3hoC6jq2QpXVupdD/Shm/cNfel/gFn2yBqvjkcNO2WSFF 6A1iTpc5PIzexRN5DX/1f06EgS78ACkEHTLu5K7wCwokIqC3+8VkE44ka027dA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4wLp5rY1z13Rq for ; Tue, 03 Feb 2026 07:37:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33081 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 07:37:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Enji Cooper Subject: git: 026e3d12ba24 - stable/14 - crypto/openssl: fix importing new versions from pristine trees List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 026e3d12ba24188fbe84207e55195defb31bf81a Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 07:37:54 +0000 Message-Id: <6981a5d2.33081.23edbc24@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=026e3d12ba24188fbe84207e55195defb31bf81a commit 026e3d12ba24188fbe84207e55195defb31bf81a Author: Enji Cooper AuthorDate: 2025-09-17 05:57:32 +0000 Commit: Enji Cooper CommitDate: 2026-02-03 06:23:58 +0000 crypto/openssl: fix importing new versions from pristine trees Prior to this change, CC was not being passed through to Configure, which was resulting in failures when Configure was running compiler checks. Pass through CC via `WRK_ENV` to Configure so the compiler is defined properly as part of the initial build. MFC after: 1 month Fixes: d18058b7b850 ("crypto/openssl: apply polish to new vendor import process") Differential Revision: https://reviews.freebsd.org/D52595 (cherry picked from commit 52c4b76d1dd385fbe33b78172e39a10749b83d13) --- crypto/openssl/BSDmakefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crypto/openssl/BSDmakefile b/crypto/openssl/BSDmakefile index 514c87ae3a8e..d260808ffac3 100644 --- a/crypto/openssl/BSDmakefile +++ b/crypto/openssl/BSDmakefile @@ -12,7 +12,9 @@ LCRYPTO_SRC= ${SRCTOP}/crypto/openssl LCRYPTO_DOC= ${LCRYPTO_SRC}/doc CAT?= /bin/cat +CC?= cc GMAKE?= gmake +LD?= ld MV?= /bin/mv PERL?= perl SETENVI= /usr/bin/env -i @@ -26,10 +28,13 @@ CONFIGURATION_H_ORIG= ${CONFIGURATION_H}.orig .ORDER: configure patch all LOCALBASE= /usr/local -WRK_ENV= PATH=${LOCALBASE}/bin:/bin:/usr/bin +WRK_ENV= CC=${CC} \ + LD=${LD} \ + PATH=${LOCALBASE}/bin:/bin:/usr/bin configure: @(cd ${.CURDIR} && ${SETENVI} \ + ${WRK_ENV} \ ${PERL} ./Configure \ disable-aria \ disable-egd \ From nobody Tue Feb 3 07:37:55 2026 X-Original-To: dev-commits-src-branches@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 4f4wLr10mwz6RMpv for ; Tue, 03 Feb 2026 07:37:56 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4wLq71znz45K5 for ; Tue, 03 Feb 2026 07:37:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770104276; 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=K93s0YwWG1HqCu68ysuWQkRdAIFyV27PvtDNdQN2eG0=; b=dALVTZW/vHunxnw+uYMWKN3B5d7q6dTU0he/0LYh7x3RO8g5x22/p1ptyU8Edp/zopT6pw sNtjKAGeEhkVHyvglaEeki6G86PPvUMapP315n02FVFZjl3O0fJ2/GFZmGDwBgI/J42L7g v1z5eLVGMyUuYLEV1/DgPMQnf7ySvD6v5s4tnGEndoUzxB4B0a5T3v+RQQdzljCrFO54ni vZEUhtwollze+ml1uZV7JI8pNgV470tMJmmF5h6xoEJuyp9OrWxZZvH/bS9NX6Ag1rC5jA r2cweR9Yx657m1Gh6/LYosQQmlYUihPhj4yDONdNgEnsbf7Os0iAHsPd1XAG/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770104276; a=rsa-sha256; cv=none; b=l3lldGAZSWU+tMeg/5JbR+SuCocjpXlzm2vfoH3CEnoVmd4pT5dWCrf7jj5URdM3YpxS84 0cwGoa2cs+ZbvVShpvOc7La6VaC6LdiM7/a9zkQqR3cfEDsACPWuuGDd54h6YkWpzDVxqi Odi4NVlXlTS+X7ZoPOy1ngR9glA+p9wPalhPzSW0lekBAMwVctWiJddwW7zWvkvStzpAz6 X2pLrE3Kc+2fCavfEWeyM6QuV9k+a4IMlhRvDwJsMQcMvsq66Lw9LGfYoZVkBXMnjAfaZ2 ye/RPB1u4mWOchfX4/k5RJxHH2p1BDrIUd6h+adaShraetAmf7w2vNLxMIzNYA== 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=1770104276; 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=K93s0YwWG1HqCu68ysuWQkRdAIFyV27PvtDNdQN2eG0=; b=QgPdGG4hfsPRjtWT2eGiL9EVAFyL4mQ9KnpLMgJoxc7FjswzAsxzNPqW7/d16+7xjmVlxa xxr2tYT/d3L0dGSA3I5sGZL31flOsE16ZIKKi9/Y3OVygnuKRQghvhR0xW7ZDcRkfAGc5F 8Lle2x8oynlaKHCuz/fkwiWCId0M/RWvZvOiD1rBUVbMUs3aoRQoz6iCWQOGoryKcM9XxS fkcTCqxzxtBbpm0qcLOK9xZiIzk5BrM3yI1zjbncdgNsvZWvnMblECvmaQhKAAdmwmsiou MCyTjF0grU8FNtSwbbAcn7dDMKo0proOuSpnDBQ3Rgt5u/cTbNhBYFFBjbIthQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4wLq6dDLz13Rr for ; Tue, 03 Feb 2026 07:37:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32a43 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 07:37:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Enji Cooper Subject: git: 913d1916e3e2 - stable/14 - crypto/openssl: remove autogenerated files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 913d1916e3e265098fdd87d9b9f6c12a930c71bc Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 07:37:55 +0000 Message-Id: <6981a5d3.32a43.40d6829c@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=913d1916e3e265098fdd87d9b9f6c12a930c71bc commit 913d1916e3e265098fdd87d9b9f6c12a930c71bc Author: Enji Cooper AuthorDate: 2025-10-11 16:48:10 +0000 Commit: Enji Cooper CommitDate: 2026-02-03 06:24:14 +0000 crypto/openssl: remove autogenerated files These files contain build host paths and other configuration details that can be regenerated via the standard vendor import process. Don't clutter up the FreeBSD tree with these files. Add the paths to .gitignore to prevent them from accidentally being added in a future update. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D53044 Conflicts: crypto/openssl/libcrypto.pc crypto/openssl/libssl.pc crypto/openssl/openssl.pc (cherry picked from commit d271d2ce152435b14e309bd8b25f47a0f4a2040f) --- crypto/.gitignore | 78 +++++++++++++++++++++++++++++++++++++++++++++ crypto/openssl/libcrypto.pc | 13 -------- crypto/openssl/libssl.pc | 11 ------- crypto/openssl/openssl.pc | 9 ------ 4 files changed, 78 insertions(+), 33 deletions(-) diff --git a/crypto/.gitignore b/crypto/.gitignore new file mode 100644 index 000000000000..4c6e1f0fe03f --- /dev/null +++ b/crypto/.gitignore @@ -0,0 +1,78 @@ +# OpenSSL: the following are generated paths that generally should not be committed to FreeBSD. +openssl/apps/tsget.pl +openssl/crypto/buildinf.h +openssl/doc/html +openssl/doc/man +openssl/test/buildtest_*.c +openssl/util/wrap.pl +openssl/**/*.cmake +openssl/**/*.ld +openssl/**/*.s +openssl/*.pc +openssl/Makefile +openssl/Makefile.in +openssl/builddata.pm +openssl/configdata.pm +openssl/installdata.pm +openssl/pod2htmd.tmp + +# .pod files generated from .pod.in files. +# +# List can be easily updated via this command: +# +# % find openssl/doc -name \*.pod.in | sed -e 's,\.in,,g' +openssl/doc/man1/openssl-asn1parse.pod +openssl/doc/man1/openssl-ca.pod +openssl/doc/man1/openssl-ciphers.pod +openssl/doc/man1/openssl-cmds.pod +openssl/doc/man1/openssl-cmp.pod +openssl/doc/man1/openssl-cms.pod +openssl/doc/man1/openssl-crl.pod +openssl/doc/man1/openssl-crl2pkcs7.pod +openssl/doc/man1/openssl-dgst.pod +openssl/doc/man1/openssl-dhparam.pod +openssl/doc/man1/openssl-dsa.pod +openssl/doc/man1/openssl-dsaparam.pod +openssl/doc/man1/openssl-ec.pod +openssl/doc/man1/openssl-ecparam.pod +openssl/doc/man1/openssl-enc.pod +openssl/doc/man1/openssl-engine.pod +openssl/doc/man1/openssl-errstr.pod +openssl/doc/man1/openssl-fipsinstall.pod +openssl/doc/man1/openssl-gendsa.pod +openssl/doc/man1/openssl-genpkey.pod +openssl/doc/man1/openssl-genrsa.pod +openssl/doc/man1/openssl-info.pod +openssl/doc/man1/openssl-kdf.pod +openssl/doc/man1/openssl-list.pod +openssl/doc/man1/openssl-mac.pod +openssl/doc/man1/openssl-nseq.pod +openssl/doc/man1/openssl-ocsp.pod +openssl/doc/man1/openssl-passwd.pod +openssl/doc/man1/openssl-pkcs12.pod +openssl/doc/man1/openssl-pkcs7.pod +openssl/doc/man1/openssl-pkcs8.pod +openssl/doc/man1/openssl-pkey.pod +openssl/doc/man1/openssl-pkeyparam.pod +openssl/doc/man1/openssl-pkeyutl.pod +openssl/doc/man1/openssl-prime.pod +openssl/doc/man1/openssl-rand.pod +openssl/doc/man1/openssl-rehash.pod +openssl/doc/man1/openssl-req.pod +openssl/doc/man1/openssl-rsa.pod +openssl/doc/man1/openssl-rsautl.pod +openssl/doc/man1/openssl-s_client.pod +openssl/doc/man1/openssl-s_server.pod +openssl/doc/man1/openssl-s_time.pod +openssl/doc/man1/openssl-sess_id.pod +openssl/doc/man1/openssl-skeyutl.pod +openssl/doc/man1/openssl-smime.pod +openssl/doc/man1/openssl-speed.pod +openssl/doc/man1/openssl-spkac.pod +openssl/doc/man1/openssl-srp.pod +openssl/doc/man1/openssl-storeutl.pod +openssl/doc/man1/openssl-ts.pod +openssl/doc/man1/openssl-verify.pod +openssl/doc/man1/openssl-version.pod +openssl/doc/man1/openssl-x509.pod +openssl/doc/man7/openssl_user_macros.pod diff --git a/crypto/openssl/libcrypto.pc b/crypto/openssl/libcrypto.pc deleted file mode 100644 index 97725059adfb..000000000000 --- a/crypto/openssl/libcrypto.pc +++ /dev/null @@ -1,13 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix} -includedir=${prefix}/include ${prefix}/./include -enginesdir=${libdir}/engines -modulesdir=${libdir}/providers - -Name: OpenSSL-libcrypto -Description: OpenSSL cryptography library -Version: 3.5.1 -Libs: -L${libdir} -lcrypto -Libs.private: -pthread -Cflags: -I${prefix}/include -I${prefix}/./include diff --git a/crypto/openssl/libssl.pc b/crypto/openssl/libssl.pc deleted file mode 100644 index e2662ee9e5fa..000000000000 --- a/crypto/openssl/libssl.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix} -includedir=${prefix}/include ${prefix}/./include - -Name: OpenSSL-libssl -Description: Secure Sockets Layer and cryptography libraries -Version: 3.5.1 -Requires.private: libcrypto -Libs: -L${libdir} -lssl -Cflags: -I${prefix}/include -I${prefix}/./include diff --git a/crypto/openssl/openssl.pc b/crypto/openssl/openssl.pc deleted file mode 100644 index ff0a0c2f4e09..000000000000 --- a/crypto/openssl/openssl.pc +++ /dev/null @@ -1,9 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix} -includedir=${prefix}/include ${prefix}/./include - -Name: OpenSSL -Description: Secure Sockets Layer and cryptography libraries and tools -Version: 3.5.1 -Requires: libssl libcrypto From nobody Tue Feb 3 07:37:53 2026 X-Original-To: dev-commits-src-branches@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 4f4wLn710Nz6RMtw for ; Tue, 03 Feb 2026 07:37:53 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4wLn5xxqz45q0 for ; Tue, 03 Feb 2026 07:37:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770104273; 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=82ln3lfHCFjiUvcKXcTblkP9jw65b+ZCYJXBdBm478k=; b=X5xARGbyI/dVUwi/2GcdLMW6XeumMNGkQews3E2uF3R/YD+Sw4nBDmf5KBniDj3fLy4fzf nJBfr6JAnKQLq8SsF6cTOmg+NGLWxOiisMyB7EV+LridrYGtNTIgDCDvvBKRs1GPEOEK+L cPbRggKPRI25oHBSk5eQ+t6TaCSWbxRVYox/3m0ro0GO0LrST73wDKDIoC2MB/2Y35naCa hOXQLtB5HV7KXguKCeokctreY2K/5yVtB6WPw7ctHKeri9RML05uor+YRmW5wIe3ZRkE3v ptldnsbuZT7mel5keSLggH71UgszbrsndObd50mNMA28H8b/isJSULuJ/GqJOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770104273; a=rsa-sha256; cv=none; b=XytntCsDRcI6P9L2QbxKNwduabCTMTSPqlTNt7E6HbrVU89gu25ad//5SOtKJXPKpcgmOU KQ3APHiWjTlNqixNEurkPXeVsZfRa2N1C0tg7iVBWIwOkJGZBVWum5ji6DUCTzWDHWcT3c lBEYb9Cj2F7uEH16S6ZIkhl2cp2SYBjtEnXFWOLfF/oi+i03hQnofdhPF+R6gtxK6WWlXy KdmfBjP5NbuLy6qVuchwvCuXEBRctViewC3m50Odgx11CyJ1Q09JmOlnNMkcUfEbTYO0AV sz7wtQ1uZ0HZ4v8RkEi453wd/aWptTCZg4cQVEK4FXd6QsXFADSvn5e6+iBRTQ== 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=1770104273; 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=82ln3lfHCFjiUvcKXcTblkP9jw65b+ZCYJXBdBm478k=; b=g67W7HIxwSKyLkgZjXoQHHxY9vjgjAYCdF0myl65SDEy0aRewQm83nSlToDYCFW3x3vGP7 BV91/7Ddqi3q5sFp0s3Mow336D8RTt/b0XqnBg2Bjz1YUx4M+URucPjKNwc/DlbnWMTiUt Gc5fqVxoJxUHZOnWjEfv7ZtS6q4i2hxXzRRgRl+MWM7PINaNXOZKodFrS1LtQ6jymlqR+Y 4scQPgmD79KMhF1ZVhQ3eF+nVPtBuTFvtofpxdyQx7fogBHecSPDKDNj6P4KA0C2eFiemI nNzj24y+RU7IU6Ze9lDTH4xNz/jQ+da/hwOUkKgnUsuVYfUyYeJJxsOMCXTNKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4wLn5Pjnz141C for ; Tue, 03 Feb 2026 07:37:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3265e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 07:37:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Enji Cooper Subject: git: 79f62601c73d - stable/14 - crypto/openssl: apply polish to new vendor import process List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 79f62601c73d875123b9c800e688f3c4b70e0b73 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 07:37:53 +0000 Message-Id: <6981a5d1.3265e.28821e95@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=79f62601c73d875123b9c800e688f3c4b70e0b73 commit 79f62601c73d875123b9c800e688f3c4b70e0b73 Author: Enji Cooper AuthorDate: 2025-08-22 00:19:25 +0000 Commit: Enji Cooper CommitDate: 2026-02-03 06:23:58 +0000 crypto/openssl: apply polish to new vendor import process This change does the following 2 things: - Makes the build more repeatable by isolating the environment. This prevents bmake from leaking variables into gmake and makes the overall process a bit more robust. - Add debug printouts to make the process more straightforward to the reader and whoever is executing doing the current vendor import. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D52420 (cherry picked from commit d18058b7b850c78f2ca1be746ab411c0bed5acc9) --- crypto/openssl/BSDmakefile | 73 ++++++++++++++++++++++++++++------------------ 1 file changed, 45 insertions(+), 28 deletions(-) diff --git a/crypto/openssl/BSDmakefile b/crypto/openssl/BSDmakefile index bd2bfe0ea033..514c87ae3a8e 100644 --- a/crypto/openssl/BSDmakefile +++ b/crypto/openssl/BSDmakefile @@ -12,8 +12,10 @@ LCRYPTO_SRC= ${SRCTOP}/crypto/openssl LCRYPTO_DOC= ${LCRYPTO_SRC}/doc CAT?= /bin/cat +GMAKE?= gmake MV?= /bin/mv PERL?= perl +SETENVI= /usr/bin/env -i BN_CONF_H= include/crypto/bn_conf.h BN_CONF_H_ORIG= ${BN_CONF_H}.orig @@ -23,8 +25,11 @@ CONFIGURATION_H_ORIG= ${CONFIGURATION_H}.orig .PHONY: configure patch all .ORDER: configure patch all +LOCALBASE= /usr/local +WRK_ENV= PATH=${LOCALBASE}/bin:/bin:/usr/bin + configure: - @cd ${.CURDIR} && \ + @(cd ${.CURDIR} && ${SETENVI} \ ${PERL} ./Configure \ disable-aria \ disable-egd \ @@ -37,34 +42,45 @@ configure: enable-ktls \ enable-sctp \ --openssldir=etc \ - --prefix=/usr - @cd ${.CURDIR} && gmake configdata.pm - @cd ${LCRYPTO_SRC} && ${PERL} \ - ${LCRYPTO_SRC}/freebsd/dump_version_from_configdata.pl > \ - ${SRCTOP}/secure/lib/libcrypto/Makefile.version + --prefix=/usr) + @echo "Building configdata.pm for later use." + @(cd ${.CURDIR} && \ + ${SETENVI} ${WRK_ENV} ${GMAKE} -j ${.MAKE.JOBS} configdata.pm) -all: patch - # Passing `-j ${.MAKE.JOBS}` doesn't work here for some reason. - @cd ${.CURDIR} && gmake build_all_generated + @echo "Populating Makefile.version with release information" + @(cd ${LCRYPTO_SRC} && ${SETENVI} ${WRK_ENV} ${PERL} \ + ${LCRYPTO_SRC}/freebsd/dump_version_from_configdata.pl > \ + ${SRCTOP}/secure/lib/libcrypto/Makefile.version) - # Clean the pkgconfig files: - # 1. Fix --prefix (not sure why configure --prefix isn't honored properly). +all: patch + @echo "==> Building generated files (headers, manpages, etc)" + @(cd ${.CURDIR} && \ + ${SETENVI} ${WRK_ENV} ${GMAKE} -j ${.MAKE.JOBS} build_all_generated) + + # 1. Fix --prefix. + # a. Not sure why --prefix isn't honored properly, even though it's + # passed to Configure; the files might be getting rebuilt + # post-Configure, somehow. # 2. Remove duplicate path in CFLAGS. # 3. Remove duplicate path in includedir(s). + @echo "==> Fixing pkgconfig files" @find . -name \*.pc -print -exec sed -i '' -E \ -e 's,^prefix=.+,prefix=/usr,' \ -e 's,[[:space:]]+(\-I)?\$\{prefix\}/\./include[[:space:]]*,,g' \ {} + - @cd ${SRCTOP}/secure/lib/libcrypto && \ - ${MAKE} cleanasm && \ - ${MAKE} buildasm + @echo "==> Cleaning / rebuilding ASM" + @(cd ${SRCTOP}/secure/lib/libcrypto && \ + ${SETENVI} ${WRK_ENV} ${MAKE} cleanasm && \ + ${SETENVI} ${WRK_ENV} ${MAKE} buildasm) + @echo "==> Syncing manpages (section 1)" @rsync -a --delete \ --exclude 'Makefile*' --exclude '*.1' \ ${LCRYPTO_DOC}/man/ \ ${SRCTOP}/secure/lib/libcrypto/man + @echo "==> Syncing manpages (sections {3,5,7})" @rsync -a --delete \ --exclude 'Makefile*' --exclude '*.[357]' \ ${LCRYPTO_DOC}/man/man1/ \ @@ -75,25 +91,26 @@ all: patch # depending on the host architecture. patch: configure # Spam arch-specific overrides to config files. + @echo "==> Patching headers" + @(cd ${.CURDIR} && ${SETENVI} ${WRK_ENV} ${GMAKE} ${BN_CONF_H} && \ + ${MV} ${BN_CONF_H} ${BN_CONF_H_ORIG} && \ + ${CAT} ${BN_CONF_H}.orig \ + ${LCRYPTO_SRC}/freebsd/${BN_CONF_H} >> \ + ${BN_CONF_H}) - @cd ${.CURDIR} && gmake ${BN_CONF_H} && \ - ${MV} ${BN_CONF_H} ${BN_CONF_H_ORIG} && \ - ${CAT} ${BN_CONF_H}.orig \ - ${LCRYPTO_SRC}/freebsd/${BN_CONF_H} >> \ - ${BN_CONF_H} - - @cd ${.CURDIR} && \ - ${MV} ${CONFIGURATION_H} ${CONFIGURATION_H_ORIG} && \ - ${CAT} ${CONFIGURATION_H_ORIG} \ - ${LCRYPTO_SRC}/freebsd/${CONFIGURATION_H} >> \ - ${CONFIGURATION_H} + @(cd ${.CURDIR} && \ + ${MV} ${CONFIGURATION_H} ${CONFIGURATION_H_ORIG} && \ + ${CAT} ${CONFIGURATION_H_ORIG} \ + ${LCRYPTO_SRC}/freebsd/${CONFIGURATION_H} >> \ + ${CONFIGURATION_H}) clean: .PHONY - @cd ${.CURDIR} && rm -f ${BN_CONF_H_ORIG} ${CONFIGURATION_H_ORIG} + @(cd ${.CURDIR} && rm -f ${BN_CONF_H_ORIG} ${CONFIGURATION_H_ORIG}) - @cd ${SRCTOP}/secure/lib/libcrypto && ${MAKE} cleanasm + @(cd ${SRCTOP}/secure/lib/libcrypto && \ + ${SETENVI} ${WRK_ENV} ${MAKE} cleanasm) - -@cd ${.CURDIR} && gmake ${.TARGET} + -@(cd ${.CURDIR} && ${GMAKE} ${.TARGET}) .include From nobody Tue Feb 3 07:37:52 2026 X-Original-To: dev-commits-src-branches@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 4f4wLn1JQJz6RMrh for ; Tue, 03 Feb 2026 07:37:53 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4wLm6TCwz45gX for ; Tue, 03 Feb 2026 07:37:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770104272; 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=ajnZdfTcoKMSh6BcJWlclCOzJB/p0p8/afFkDoVlljo=; b=NEJrXxrPWC171zoVh7d4we0STtaRgLguU06PCVMOB/PXTSUor2WOB7sz1H6dxCJXFOW7Vo sL54EBmSzu5pW0AHjd4fY1kud6ojgFgnchOlZ1v3SoeWNPBBj32LYcim041kZ7cxjUM3k9 oVK3t/6MN2yy4voxvh6a6AVxecTaVEVHTP5g54fRDHIsasR4MyYKEWkxh/q6CDHsvt3TN+ RU4vC+dpekMVd4nDWtGdQFsd4LJHWQCQLIK3uXNB6xmT5wVLzPO1Xsq6uiTggJ6kGVx4xI m36tuxODZKTUdtbmKMiz/Q1ZRryufKVPSbwtvoZMdJiumf6Q99NKKUKzIB56WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770104272; a=rsa-sha256; cv=none; b=NGZgN27kVFXUk2SkRYVK0z+HaWdBG+JZiDq4U07KOcBeXGVj4evteYAU8JRFBlPjAdd4ES yFUhYIvzjPOed3MRI14bE/jQHi5vZr63iIoTL+0Vl/qk2xKasdbbn9T9vWt1flYEDVX0xW 3RpkYfqIbbyTeJqn32i703hTSKiqmseubB5LNhOmDHOqn3YXOkFxMJq89DcFkx3xYCrjrd mzs7RNRPips04HKDiYKVZLEwQWXnZzGLsWBTwvVdIcnt5iO57P5fzwekna83vNcnWqaPEG b0c1yrLI1fPoEkArAaVnuqCnKVeFbenaywjj08xc/ukaaudNRG425Q7mTpLo5g== 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=1770104272; 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=ajnZdfTcoKMSh6BcJWlclCOzJB/p0p8/afFkDoVlljo=; b=VAIFA3zXJmvsZUx28OgrPuIQR91HrhhoXSqUyNl6EmvYcSAK3EfQNVNLNW0v95nKa0Dlaj Pp9+XJXDgbje1rWdzIzwd1vVPD5Ko30B3CJ2PBMD00BFAN56MPTlTd2Ucbz0iVB9pj00r2 fi+16g7+G6XyaSwIpJgxPwGR+8daIai7JRQxL8gPde4xLeHbJYUYhwtGAMz1hBbBpdj2J6 5mJ7VBClovVtysI3+rhSBbWY8vqzNBwvgR54S0WnQsRRI1HLMahpKYBq9yWDNv0gdko7pU LdAFHsfrwHMsMQkeUI0fq8z2dB/bC5pP7XUGE03ISMMIfSIOO6rFCEe0ogL0OQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4wLm5Pvfz12sC for ; Tue, 03 Feb 2026 07:37:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 311d7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 07:37:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Enji Cooper Subject: git: d03be8cf3346 - stable/14 - crypto/openssl: make vendor imports easier/less error prone List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d03be8cf3346dae1e438ded3aae4453045b77486 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 07:37:52 +0000 Message-Id: <6981a5d0.311d7.601675d9@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=d03be8cf3346dae1e438ded3aae4453045b77486 commit d03be8cf3346dae1e438ded3aae4453045b77486 Author: Enji Cooper AuthorDate: 2025-08-01 04:03:33 +0000 Commit: Enji Cooper CommitDate: 2026-02-03 06:23:29 +0000 crypto/openssl: make vendor imports easier/less error prone This change adds a custom BSD makefile containing multiple high-level PHONY targets, similar to targets provided by the ports framework. The Makefile does the following: - Reruns Configure with a deterministic set of arguments to ensure that all appropriate features have been enabled/disabled in OpenSSL. - Preens the pkgconfig files to remove duplicate paths in their `CFLAGS` and `includedir` variables. - Rebuilds all ASM files to ensure that the content contained is fresh. - Rebuilds all manpages to ensure that the content contained in the manpages is fresh. Some additional work needs to be done to make the manpage regeneration "operation" reproducible (the date the manpages were generated is embedded in the files). All dynamic configuration previously captured in `include/openssl/configuration.h` and `include/crypto/bn_conf.h` has been moved to `freebsd/include/dynamic_freebsd_configuration.h` and `freebsd/include/crypto/bn_conf.h`, respectively. This helps ensure that future updates don't wipe out FreeBSD customizations to these files, which tune behavior on a per-target architecture basis, e.g., ARM vs x86, 32-bit vs 64-bit, etc. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D51663 Conflicts: crypto/openssl/apps/CA.pl crypto/openssl/configdata.pm crypto/openssl/include/openssl/configuration.h crypto/openssl/include/openssl/fipskey.h crypto/openssl/tools/c_rehash crypto/openssl/util/shlib_wrap.sh crypto/openssl/util/wrap.pl secure/lib/libcrypto/Makefile.inc (cherry picked from commit 267f8c1f4b09431b335d5f48d84586047471f978) --- crypto/openssl/BSDmakefile | 99 ++++++++++++++++++++++ crypto/openssl/apps/progs.c | 11 ++- crypto/openssl/apps/progs.h | 4 +- crypto/openssl/exporters/libcrypto.pc | 13 +++ crypto/openssl/exporters/libssl.pc | 11 +++ crypto/openssl/exporters/openssl.pc | 9 ++ .../freebsd/dump_version_from_configdata.pl | 21 +++++ crypto/openssl/freebsd/include/crypto/bn_conf.h | 27 ++++++ .../freebsd/include/openssl/configuration.h | 38 +++++++++ crypto/openssl/include/crypto/bn_conf.h | 27 ++++++ crypto/openssl/libcrypto.pc | 13 +++ crypto/openssl/libssl.pc | 11 +++ crypto/openssl/openssl.pc | 9 ++ secure/lib/libcrypto/Makefile.inc | 3 +- secure/lib/libcrypto/Makefile.version | 2 + 15 files changed, 293 insertions(+), 5 deletions(-) diff --git a/crypto/openssl/BSDmakefile b/crypto/openssl/BSDmakefile new file mode 100644 index 000000000000..bd2bfe0ea033 --- /dev/null +++ b/crypto/openssl/BSDmakefile @@ -0,0 +1,99 @@ +# This BSD makefile helps provide a deterministic means of doing a "clean" +# vendor import of OpenSSL. +# +# Recommended use: +# +# % make clean +# % make all + +NO_OBJ= + +LCRYPTO_SRC= ${SRCTOP}/crypto/openssl +LCRYPTO_DOC= ${LCRYPTO_SRC}/doc + +CAT?= /bin/cat +MV?= /bin/mv +PERL?= perl + +BN_CONF_H= include/crypto/bn_conf.h +BN_CONF_H_ORIG= ${BN_CONF_H}.orig +CONFIGURATION_H= include/openssl/configuration.h +CONFIGURATION_H_ORIG= ${CONFIGURATION_H}.orig + +.PHONY: configure patch all +.ORDER: configure patch all + +configure: + @cd ${.CURDIR} && \ + ${PERL} ./Configure \ + disable-aria \ + disable-egd \ + disable-idea \ + disable-mdc2 \ + disable-sm2 \ + disable-sm3 \ + disable-sm4 \ + enable-ec_nistp_64_gcc_128 \ + enable-ktls \ + enable-sctp \ + --openssldir=etc \ + --prefix=/usr + @cd ${.CURDIR} && gmake configdata.pm + @cd ${LCRYPTO_SRC} && ${PERL} \ + ${LCRYPTO_SRC}/freebsd/dump_version_from_configdata.pl > \ + ${SRCTOP}/secure/lib/libcrypto/Makefile.version + +all: patch + # Passing `-j ${.MAKE.JOBS}` doesn't work here for some reason. + @cd ${.CURDIR} && gmake build_all_generated + + # Clean the pkgconfig files: + # 1. Fix --prefix (not sure why configure --prefix isn't honored properly). + # 2. Remove duplicate path in CFLAGS. + # 3. Remove duplicate path in includedir(s). + @find . -name \*.pc -print -exec sed -i '' -E \ + -e 's,^prefix=.+,prefix=/usr,' \ + -e 's,[[:space:]]+(\-I)?\$\{prefix\}/\./include[[:space:]]*,,g' \ + {} + + + @cd ${SRCTOP}/secure/lib/libcrypto && \ + ${MAKE} cleanasm && \ + ${MAKE} buildasm + + @rsync -a --delete \ + --exclude 'Makefile*' --exclude '*.1' \ + ${LCRYPTO_DOC}/man/ \ + ${SRCTOP}/secure/lib/libcrypto/man + + @rsync -a --delete \ + --exclude 'Makefile*' --exclude '*.[357]' \ + ${LCRYPTO_DOC}/man/man1/ \ + ${SRCTOP}/secure/usr.bin/openssl/man + + +# This doesn't use standard patching since the generated files can vary +# depending on the host architecture. +patch: configure + # Spam arch-specific overrides to config files. + + @cd ${.CURDIR} && gmake ${BN_CONF_H} && \ + ${MV} ${BN_CONF_H} ${BN_CONF_H_ORIG} && \ + ${CAT} ${BN_CONF_H}.orig \ + ${LCRYPTO_SRC}/freebsd/${BN_CONF_H} >> \ + ${BN_CONF_H} + + @cd ${.CURDIR} && \ + ${MV} ${CONFIGURATION_H} ${CONFIGURATION_H_ORIG} && \ + ${CAT} ${CONFIGURATION_H_ORIG} \ + ${LCRYPTO_SRC}/freebsd/${CONFIGURATION_H} >> \ + ${CONFIGURATION_H} + + +clean: .PHONY + @cd ${.CURDIR} && rm -f ${BN_CONF_H_ORIG} ${CONFIGURATION_H_ORIG} + + @cd ${SRCTOP}/secure/lib/libcrypto && ${MAKE} cleanasm + + -@cd ${.CURDIR} && gmake ${.TARGET} + +.include diff --git a/crypto/openssl/apps/progs.c b/crypto/openssl/apps/progs.c index 2646a1a35bf3..acc204a3e6e7 100644 --- a/crypto/openssl/apps/progs.c +++ b/crypto/openssl/apps/progs.c @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -89,6 +89,7 @@ FUNCTION functions[] = { {FT_general, "s_time", s_time_main, s_time_options, NULL, NULL}, #endif {FT_general, "sess_id", sess_id_main, sess_id_options, NULL, NULL}, + {FT_general, "skeyutl", skeyutl_main, skeyutl_options, NULL, NULL}, {FT_general, "smime", smime_main, smime_options, NULL, NULL}, {FT_general, "speed", speed_main, speed_options, NULL, NULL}, {FT_general, "spkac", spkac_main, spkac_options, NULL, NULL}, @@ -225,9 +226,15 @@ FUNCTION functions[] = { {FT_cipher, "camellia-256-ecb", enc_main, enc_options, NULL}, #endif {FT_cipher, "base64", enc_main, enc_options, NULL}, -#ifdef ZLIB +#ifndef OPENSSL_NO_ZLIB {FT_cipher, "zlib", enc_main, enc_options, NULL}, #endif +#ifndef OPENSSL_NO_BROTLI + {FT_cipher, "brotli", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ZSTD + {FT_cipher, "zstd", enc_main, enc_options, NULL}, +#endif #ifndef OPENSSL_NO_DES {FT_cipher, "des", enc_main, enc_options, NULL}, #endif diff --git a/crypto/openssl/apps/progs.h b/crypto/openssl/apps/progs.h index 83c829a721bf..1b62ec37dec1 100644 --- a/crypto/openssl/apps/progs.h +++ b/crypto/openssl/apps/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -56,6 +56,7 @@ extern int s_client_main(int argc, char *argv[]); extern int s_server_main(int argc, char *argv[]); extern int s_time_main(int argc, char *argv[]); extern int sess_id_main(int argc, char *argv[]); +extern int skeyutl_main(int argc, char *argv[]); extern int smime_main(int argc, char *argv[]); extern int speed_main(int argc, char *argv[]); extern int spkac_main(int argc, char *argv[]); @@ -110,6 +111,7 @@ extern const OPTIONS s_client_options[]; extern const OPTIONS s_server_options[]; extern const OPTIONS s_time_options[]; extern const OPTIONS sess_id_options[]; +extern const OPTIONS skeyutl_options[]; extern const OPTIONS smime_options[]; extern const OPTIONS speed_options[]; extern const OPTIONS spkac_options[]; diff --git a/crypto/openssl/exporters/libcrypto.pc b/crypto/openssl/exporters/libcrypto.pc new file mode 100644 index 000000000000..e7f3953b7eae --- /dev/null +++ b/crypto/openssl/exporters/libcrypto.pc @@ -0,0 +1,13 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include +enginesdir=${libdir}/engines-3 +modulesdir=${libdir}/ossl-modules + +Name: OpenSSL-libcrypto +Description: OpenSSL cryptography library +Version: 3.5.1 +Libs: -L${libdir} -lcrypto +Libs.private: -pthread +Cflags: -I${includedir} diff --git a/crypto/openssl/exporters/libssl.pc b/crypto/openssl/exporters/libssl.pc new file mode 100644 index 000000000000..ed6fd275ca26 --- /dev/null +++ b/crypto/openssl/exporters/libssl.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: OpenSSL-libssl +Description: Secure Sockets Layer and cryptography libraries +Version: 3.5.1 +Requires.private: libcrypto +Libs: -L${libdir} -lssl +Cflags: -I${includedir} diff --git a/crypto/openssl/exporters/openssl.pc b/crypto/openssl/exporters/openssl.pc new file mode 100644 index 000000000000..892ef113ca0f --- /dev/null +++ b/crypto/openssl/exporters/openssl.pc @@ -0,0 +1,9 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: OpenSSL +Description: Secure Sockets Layer and cryptography libraries and tools +Version: 3.5.1 +Requires: libssl libcrypto diff --git a/crypto/openssl/freebsd/dump_version_from_configdata.pl b/crypto/openssl/freebsd/dump_version_from_configdata.pl new file mode 100644 index 000000000000..b6137718ba54 --- /dev/null +++ b/crypto/openssl/freebsd/dump_version_from_configdata.pl @@ -0,0 +1,21 @@ +#!/usr/bin/env perl +# +# This dumps out the values needed to generate manpages and other artifacts +# which include the release version/date. +# +# See also: `secure/lib/libcrypto/Makefile.version`. + +use Cwd qw(realpath); +use File::Basename qw(dirname); +use Time::Piece; + +use lib dirname(dirname(realpath($0))); + +use configdata qw(%config); + +$OPENSSL_DATE = Time::Piece->strptime($config{"release_date"}, "%d %b %Y")->strftime("%Y-%m-%d"); + +$OPENSSL_VER = "$config{'major'}.$config{'minor'}.$config{'patch'}"; + +print("OPENSSL_VER=\t${OPENSSL_VER}\n"); +print("OPENSSL_DATE=\t${OPENSSL_DATE}\n"); diff --git a/crypto/openssl/freebsd/include/crypto/bn_conf.h b/crypto/openssl/freebsd/include/crypto/bn_conf.h new file mode 100644 index 000000000000..442931b63339 --- /dev/null +++ b/crypto/openssl/freebsd/include/crypto/bn_conf.h @@ -0,0 +1,27 @@ + +/** + * OpenSSL's Configure script generates these values automatically for the host + * architecture, but FreeBSD provides values which are universal for all + * supported target architectures. + */ + +#ifndef __FREEBSD_BN_CONF_H__ +#define __FREEBSD_BN_CONF_H__ + +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT + +# if __SIZEOF_LONG__ == 8 +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# elif __SIZEOF_LONG__ == 4 +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# define THIRTY_TWO_BIT +# else +# error Unsupported size of long +# endif + +#endif /* __FREEBSD_BN_CONF_H__ */ diff --git a/crypto/openssl/freebsd/include/openssl/configuration.h b/crypto/openssl/freebsd/include/openssl/configuration.h new file mode 100644 index 000000000000..faea78cb32c8 --- /dev/null +++ b/crypto/openssl/freebsd/include/openssl/configuration.h @@ -0,0 +1,38 @@ + +/** + * OpenSSL's Configure script generates these values automatically for the host + * architecture, but FreeBSD provides values which are universal for all + * supported target architectures. + */ + +#ifndef __FREEBSD_CONFIGURATION_H__ +#define __FREEBSD_CONFIGURATION_H__ + +# undef OPENSSL_NO_EC_NISTP_64_GCC_128 +# if __SIZEOF_LONG__ == 4 || __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +# endif +# endif + +# undef BN_LLONG +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# if !defined(OPENSSL_SYS_UEFI) +# if __SIZEOF_LONG__ == 8 +# undef BN_LLONG +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# elif __SIZEOF_LONG__ == 4 +# define BN_LLONG +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# define THIRTY_TWO_BIT +# else +# error Unsupported size of long +# endif +# endif + +#endif /* __FREEBSD_CONFIGURATION_H__ */ diff --git a/crypto/openssl/include/crypto/bn_conf.h b/crypto/openssl/include/crypto/bn_conf.h index 1252fd60e816..95eb5b22e5b3 100644 --- a/crypto/openssl/include/crypto/bn_conf.h +++ b/crypto/openssl/include/crypto/bn_conf.h @@ -35,3 +35,30 @@ # endif #endif + +/** + * OpenSSL's Configure script generates these values automatically for the host + * architecture, but FreeBSD provides values which are universal for all + * supported target architectures. + */ + +#ifndef __FREEBSD_BN_CONF_H__ +#define __FREEBSD_BN_CONF_H__ + +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT + +# if __SIZEOF_LONG__ == 8 +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# elif __SIZEOF_LONG__ == 4 +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# define THIRTY_TWO_BIT +# else +# error Unsupported size of long +# endif + +#endif /* __FREEBSD_BN_CONF_H__ */ diff --git a/crypto/openssl/libcrypto.pc b/crypto/openssl/libcrypto.pc new file mode 100644 index 000000000000..97725059adfb --- /dev/null +++ b/crypto/openssl/libcrypto.pc @@ -0,0 +1,13 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix} +includedir=${prefix}/include ${prefix}/./include +enginesdir=${libdir}/engines +modulesdir=${libdir}/providers + +Name: OpenSSL-libcrypto +Description: OpenSSL cryptography library +Version: 3.5.1 +Libs: -L${libdir} -lcrypto +Libs.private: -pthread +Cflags: -I${prefix}/include -I${prefix}/./include diff --git a/crypto/openssl/libssl.pc b/crypto/openssl/libssl.pc new file mode 100644 index 000000000000..e2662ee9e5fa --- /dev/null +++ b/crypto/openssl/libssl.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix} +includedir=${prefix}/include ${prefix}/./include + +Name: OpenSSL-libssl +Description: Secure Sockets Layer and cryptography libraries +Version: 3.5.1 +Requires.private: libcrypto +Libs: -L${libdir} -lssl +Cflags: -I${prefix}/include -I${prefix}/./include diff --git a/crypto/openssl/openssl.pc b/crypto/openssl/openssl.pc new file mode 100644 index 000000000000..ff0a0c2f4e09 --- /dev/null +++ b/crypto/openssl/openssl.pc @@ -0,0 +1,9 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix} +includedir=${prefix}/include ${prefix}/./include + +Name: OpenSSL +Description: Secure Sockets Layer and cryptography libraries and tools +Version: 3.5.1 +Requires: libssl libcrypto diff --git a/secure/lib/libcrypto/Makefile.inc b/secure/lib/libcrypto/Makefile.inc index 8a20f1478bd5..5969b82d9ee0 100644 --- a/secure/lib/libcrypto/Makefile.inc +++ b/secure/lib/libcrypto/Makefile.inc @@ -2,8 +2,7 @@ .include # OpenSSL version used for manual page generation -OPENSSL_VER= 3.0.16 -OPENSSL_DATE= 2025-02-11 +.include "Makefile.version" LCRYPTO_SRC= ${SRCTOP}/crypto/openssl LCRYPTO_DOC= ${LCRYPTO_SRC}/doc diff --git a/secure/lib/libcrypto/Makefile.version b/secure/lib/libcrypto/Makefile.version new file mode 100644 index 000000000000..e802a1f11618 --- /dev/null +++ b/secure/lib/libcrypto/Makefile.version @@ -0,0 +1,2 @@ +OPENSSL_VER= 3.5.1 +OPENSSL_DATE= 2025-07-01 From nobody Tue Feb 3 07:37:57 2026 X-Original-To: dev-commits-src-branches@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 4f4wLs34V7z6RMpw for ; Tue, 03 Feb 2026 07:37:57 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4wLs0z64z45q1 for ; Tue, 03 Feb 2026 07:37:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770104277; 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=3HDEYz5YluRNCXeJPBubLoxU7eGX+HwgtYVewo5K/04=; b=QAwiC1NvhMrms8fn3Me386cfFbQOjKPeEb0s06Mc/nFQrY/xuKRuGWZGAvJvsPxfxbGXMn ylm8kdDgixZmaHhEUJmIG8QGLEhtdLd87gH5DYBbt4ikRyq3+Q9p/rRojG1FpIGtvoeacp 7pPNy77ctELljeE3Lsxn3S4zCexjWmyGJDsr1FhuOEsCPO6TOAGKwuoshTaPGSjw0Fp/HI m46cIgwWZHe5jQAkHl9ntoDSZfMbH7VsRUZCYHqxW5itaS0LSnbHekhyRSHTYFVN+bJ8Mk vTdiv2G31cUVx9O9HjvXrJ+YyLR/v/iKqqbCWFbajVcfy5EaoqhXsZmiC3Mi+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770104277; a=rsa-sha256; cv=none; b=eX0iPa25/JxdII/HNdxNoQmI6vfoEyJ2/INaYdLZzDsGb8O5Q8UIDFP5zpIuIFxdMdReqE B+cAGFYr56pVg35VYBMSYWGU6xAS8WajtYe2DDEqTqrpvW3oHActbtAoJO92zCWzf7AyLn u5lpBGFnaKeNS1mIYx8NcWc+wjFYbRp7WJ6M0gOnflcUh8XpEp4xvjy5sONnimJC8AwOES nzrFhvWU21p+vkulFRn20nur7rH+QOCzd0zyevNJBhLiyelBIHpo+/D5vMEqHU28J8s1Ch t3IEGgflkIaiVRC420+K7JE7uvobhkt4RUqiiN3Boi9T4dVQubKrK/ZTmY5PcA== 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=1770104277; 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=3HDEYz5YluRNCXeJPBubLoxU7eGX+HwgtYVewo5K/04=; b=Qr+7heMBTOIfQ4tCPrCIggCiXWuu4jHjvuGQmYVOrq74pBfHB2CyAc2QnsTixxS21tjRSG 1xhjGcBbFMBEKdLXuHyFeIwXswC68D9c8KPpAP4XXPwi7HaQvjGEpbEhqo9SfX7m+S1EFz KydV/a3vTAg7e5uSUt5Y8TeMKKYk6qxf9j1Q8CCyL5yVfp3ujU8FLkAOimP5Kvp/gCVpi6 PQeS7M+VnE3SBuF5EYcMattbJ7m/frXGgutgtEqAhbEnITeju8o+Y6IVE6ZtU4nx5HaHd6 NDZyq1XgN7xeuF8ncK9a3bIT6D8nPH31yzILJyiiFJkpd9tVaJH2o6csQUNKEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4wLs0K6Xz143g for ; Tue, 03 Feb 2026 07:37:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3249b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 07:37:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Enji Cooper Subject: git: 7752bb84c45d - stable/14 - crypto/openssl: update vendor update instructions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7752bb84c45d39a266910f98f5cc097aa017a19c Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 07:37:57 +0000 Message-Id: <6981a5d5.3249b.3b581b15@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=7752bb84c45d39a266910f98f5cc097aa017a19c commit 7752bb84c45d39a266910f98f5cc097aa017a19c Author: Enji Cooper AuthorDate: 2025-10-11 21:12:55 +0000 Commit: Enji Cooper CommitDate: 2026-02-03 06:25:44 +0000 crypto/openssl: update vendor update instructions This change fills out the requirements for doing vendor updates, documents the new vendor update process, and guides whoever needs to do the next version update a bit better than the documentation did prior to this change so everyone can pitch in with version updates a bit better. Convert the document to Markdown while here to make it easier to render/print out the directions in a structured format. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53190 Conflicts: crypto/openssl/FREEBSD-upgrade (cherry picked from commit 08cdcff58acb2aec881e42c7f097d6492d864898) --- crypto/openssl/FREEBSD-upgrade | 130 ------------------------ crypto/openssl/FREEBSD-upgrade.md | 202 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 202 insertions(+), 130 deletions(-) diff --git a/crypto/openssl/FREEBSD-upgrade b/crypto/openssl/FREEBSD-upgrade deleted file mode 100644 index 76943efdbde6..000000000000 --- a/crypto/openssl/FREEBSD-upgrade +++ /dev/null @@ -1,130 +0,0 @@ - FreeBSD maintainer's guide to OpenSSL - ===================================== - - These instructions assume you have a clone of the FreeBSD git repo - main branch in src/freebsd/main, and will store vendor trees under - src/freebsd/vendor/. In addition, this assumes there is a "freebsd" - origin pointing to git(repo).freebsd.org/src.git. - -01) Switch to the vendor branch: - - $ cd src/freebsd/main - $ git worktree add ../vendor/openssl-X.Y freebsd/vendor/openssl-X.Y - $ cd ../vendor/openssl-X.Y - -02) Download the latest OpenSSL tarball and signature from the official - website (https://www.openssl.org/source/). - - $ (cd .. && fetch https://openssl.org/source/openssl-X.Y.Z.tar.gz) - $ (cd .. && fetch https://openssl.org/source/openssl-X.Y.Z.tar.gz.asc) - -03) Verify the signature: - - $ gpg --verify ../openssl-X.Y.Z.tar.gz.asc ../openssl-X.Y.Z.tar.gz - -04) Unpack the OpenSSL tarball to the parent directory: - - $ tar -x -X FREEBSD-Xlist -f ../openssl-X.Y.Z.tar.gz -C .. - -05) Copy to the vendor branch: - - $ rsync --exclude FREEBSD.* --delete -av ../openssl-X.Y.Z/* . - -06) Take care of added / deleted files: - - $ git add -A - -07) Commit: - - $ git commit -m "openssl: Vendor import of OpenSSL X.Y.Z" - -08) Tag: - - $ git tag -a -m "Tag OpenSSL X.Y.Z" vendor/openssl/X.Y.Z - - At this point the vendor branch can be pushed to the FreeBSD repo via: - - $ git push freebsd vendor/openssl-X.Y - $ git push freebsd vendor/openssl/X.Y.Z - - Note the second "git push" command is used to push the tag, which is - not pushed by default. - - It is also possible to push the branch and tag together, but use - --dry-run first to ensure that no undesired tags will be pushed: - - $ git push --dry-run --follow-tags freebsd vendor/openssl-X.Y - $ git push --follow-tags freebsd vendor/openssl-X.Y - - The update and tag could instead be pushed later, along with the merge - to main, but pushing now allows others to collaborate. - -09) Merge from the vendor branch: - - $ git subtree merge -P crypto/openssl vendor/openssl-X.Y - - A number of files have been deleted from FreeBSD's copy of OpenSSL. - If git prompts for these deleted files during the merge, choose 'd' - (leaving them deleted). - -10) Resolve conflicts. Remember to bump the version and date in - secure/lib/libcrypto/Makefile.inc and - crypto/openssl/include/openssl/opensslv.h. - -11) Diff against the vendor branch: - - $ git diff --diff-filter=M vendor/openssl/X.Y.Z HEAD:crypto/openssl - - Review the diff for any unexpected changes. - -12) Re-generate the assembly files: - - $ cd secure/lib/libcrypto - $ make cleanasm buildasm - -13) Update the appropriate makefiles to reflect changes in the vendor's - build.info files. This is especially important if source files have - been added or removed. Keep in mind that the assembly files generated - belong to sys/crypto/openssl, and will therefore affect the kernel as - well. - -14) If symbols have been added or removed, update the appropriate - Version.map to reflect these changes. - -15) Compare compilation flags, the list of files built and included, the - list of symbols generated with the corresponding port if available. - -16) Re-generate the manual files: - - $ tar xzf openssl-X.Y.Z.tar.gz - $ (cd openssl-X.Y.Z && ./Configure --prefix=/usr --openssldir=/etc/ssl && - make build_man_docs) - [...] - $ find openssl-X.Y.Z/doc/man/man1 -name '*.1' -exec cp {} secure/usr.bin/openssl/man/ \; - $ find openssl-X.Y.Z/doc/man/man3 -name '*.3' -exec cp {} secure/lib/libcrypto/man/man3/ \; - $ find openssl-X.Y.Z/doc/man/man5 -name '*.5' -exec cp {} secure/lib/libcrypto/man/man5/ \; - $ find openssl-X.Y.Z/doc/man/man7 -name '*.7' -exec cp {} secure/lib/libcrypto/man/man7/ \; - $ grep -nrF usr/local secure/lib/libcrypto/man secure/usr.bin/openssl/man - [correct the references to the prefix and OpenSSL directories] - $ git commit --amend secure/lib/libcrypto/man secure/usr.bin/openssl/man - - Review the diff and tree status for anything requiring attention. - -16) Build and install world, reboot, test. - -17) Test the legacy and fips providers as well: (here with "test" as the password) - - $ echo test | openssl rc4 -provider legacy -e -a -pbkdf2 - enter RC4 encryption password: - Verifying - enter RC4 encryption password: - U2FsdGVkX1+JvhqxLMOvlxvTi1/h - - # openssl fipsinstall -out /etc/ssl/fipsmodule.cnf -module /usr/lib/ossl-modules/fips.so - INSTALL PASSED - # vi /etc/ssl/openssl.cnf - [enable the FIPS module] - # echo test | openssl aes-256-cbc -provider fips -e -a -pbkdf2 - U2FsdGVkX19lTexiYsnMX83ZLSojBOFwv7GB0Plhgmw= - -18) Commit and hope you did not miss anything. - diff --git a/crypto/openssl/FREEBSD-upgrade.md b/crypto/openssl/FREEBSD-upgrade.md new file mode 100644 index 000000000000..1fc38c4dd17f --- /dev/null +++ b/crypto/openssl/FREEBSD-upgrade.md @@ -0,0 +1,202 @@ +# FreeBSD maintainer's guide to OpenSSL + +## Assumptions + +These instructions assume the following: + +- A git clone of FreeBSD will be available at `$GIT_ROOT/src/freebsd/main` with + an origin named `freebsd`. Example: + `git clone -o freebsd git@gitrepo.freebsd.org:src.git "$GIT_ROOT/src/freebsd/main"` +- The vendor trees will be stored under `$GIT_ROOT/src/freebsd/vendor/`. + +## Software requirements + +The following additional software must be installed from ports: + +- lang/perl5 +- lang/python +- net/rsync +- security/gnupg + +## Warning + +This is a long and complicated process, in part because OpenSSL is a large, +complex, and foundational software component in the FreeBSD distribution. A +lot of the overall process has been automated to reduce potential human error, +but some rough edges still exist. These rough edges have been highlighted in +the directions. + +## Process + +### Notes + +The following directions use X.Y.Z to describe the major, minor, subminor +versions, respectively for the OpenSSL release. Please substitute the values as +appropriate in the directions below. + +All single commands are prefixed with `%`. + +### Variables + +``` +% OPENSSL_VER_MAJOR_MINOR=X.Y +% OPENSSL_VER_FULL=X.Y.Z +% RELEASE_TARFILE="openssl-${OPENSSL_VER_FULL}.tar.gz" +% BASE_URL="https://github.com/openssl/openssl/releases/download/openssl-${OPENSSL_VER_FULL}/${RELEASE_TARFILE}" +``` + +### Switch to the vendor branch + +``` +% cd "$GIT_ROOT/src/freebsd/main" +% git worktree add -b vendor/openssl-${OPENSSL_VER_MAJOR_MINOR} \ + ../vendor/openssl-${OPENSSL_VER_MAJOR_MINOR} \ + freebsd/vendor/openssl-${OPENSSL_VER_MAJOR_MINOR} +% cd "$GIT_ROOT/src/freebsd/vendor/openssl-${OPENSSL_VER_MAJOR_MINOR} +``` + +### Download the latest OpenSSL release + +The following instructions demonstrate how to fetch a recent OpenSSL release +and its corresponding artifacts (release SHA256 checksum; release PGP +signature) from the [official website](https://www.openssl.org/source/). + +``` +% (cd .. && fetch ${BASE_URL} ${BASE_URL}.asc ${BASE_URL}.sha256) +``` + +### Verify the release authenticity and integrity + +**NOTE**: this step requires importing the project author's PGP keys beforehand. +See the [sources webpage](https://openssl-library.org/source/) for more +details. + +This step uses the PGP signature and SHA256 checksum files to verify the release +authenticity and integrity, respectively. + +``` +% (cd .. && sha256sum -c ${RELEASE_TARFILE}.sha256) +% (cd .. && gpg --verify ${RELEASE_TARFILE}.asc) +``` + +### Unpack the OpenSSL tarball to the parent directory + +``` +% (cd .. && tar xf ../${RELEASE_TARFILE}) +``` + +### Update the sources in the vendor branch + +**IMPORTANT**: the trailing slash in the source directory is required! + +``` +% rsync --exclude .git --delete -av ../openssl-${OPENSSL_VER_FULL}/ . +``` + +### Take care of added / deleted files + +``` +% git add -A +``` + +### Commit, tag, and push + +``` +% git commit -m "openssl: Vendor import of OpenSSL ${OPENSSL_VER_FULL}" +% git tag -a -m "Tag OpenSSL ${OPENSSL_VER_FULL}" vendor/openssl/${OPENSSL_VER_FULL} +``` + +The update and tag could instead be pushed later, along with the merge +to main, but pushing now allows others to collaborate. + +#### Push branch update and tag separately + +At this point the vendor branch can be pushed to the FreeBSD repo via: +``` +% git push freebsd vendor/openssl-${OPENSSL_VER_MAJOR_MINOR} +% git push freebsd vendor/openssl/${OPENSSL_VER_FULL} +``` + +**NOTE**: the second "git push" command is used to push the tag, which is not +pushed by default. + +#### Push branch update and tag simultaneously + +It is also possible to push the branch and tag together, but use +`--dry-run` first to ensure that no undesired tags will be pushed: + +``` +% git push --dry-run --follow-tags freebsd vendor/openssl-${OPENSSL_VER_MAJOR_MINOR} +% git push --follow-tags freebsd vendor/openssl-${OPENSSL_VER_MAJOR_MINOR} +``` + +### Remove any existing patches and generated files. + +``` +% make clean +``` + +Please note that this step does not remove any generated manpages: this happens +in a later step. + +### Merge from the vendor branch and resolve conflicts + +``` +% git subtree merge -P crypto/openssl vendor/openssl-${OPENSSL_VER_MAJOR_MINOR} +``` + +**NOTE**: Some files may have been deleted from FreeBSD's copy of OpenSSL. +If git prompts for these deleted files during the merge, choose 'd' +(leaving them deleted). + +### Patch, configure, and regenerate all files + +The following commands turn the crank associated with the vendor release +update: + +``` +% make patch +% make configure +% make all +``` + +This process updates all generated files, syncs the manpages with the new release, +regenerates assembly files, etc. + +For now, any build-related changes, e.g., a assembly source was removed, a manpage +was added, etc, will require makefile updates. + +### Diff against the vendor branch + +Review the diff for any unexpected changes: + +``` +% git diff --diff-filter=M vendor/openssl/${OPENSSL_VER_FULL} HEAD:crypto/openssl +``` + +The net-result should be just the applied patches from the freebsd/ directory. + +### Make build-related changes + +**IMPORTANT**: manual adjustments/care needed here. + +Update the appropriate makefiles to reflect changes in the vendor's +`build.info` metadata file. This is especially important if source files have +been added or removed. Keep in mind that the assembly files generated belong in +`sys/crypto/openssl`, and will therefore affect the kernel as well. + +If symbols have been added or removed, update the appropriate `Version.map` to +reflect these changes. Please try to stick to the new versioning scheme in the +target OpenSSL release to improve interoperability with binaries compiled +dynamically against the ports version of OpenSSL, for instance. + +Compare compilation flags, the list of files built and included, the list of +symbols generated with the corresponding port if available. + +### Build, install, and test + +Build and install a new version of world and the kernel with the newer release +of OpenSSL. Reboot the test host and run any appropriate tests using kyua, +`make checkworld`, etc. + +### Commit and push From nobody Tue Feb 3 07:37:58 2026 X-Original-To: dev-commits-src-branches@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 4f4wLw3lhKz6RMv1 for ; Tue, 03 Feb 2026 07:38:00 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4wLw2Xdqz45kK for ; Tue, 03 Feb 2026 07:38:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770104280; 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=4xHee+gI/qtI2q1w7XF2mKoxzQPFjRQecwUcDd+J7Tg=; b=k5FEI0Zv2cUoOI4oSz/v5NPnioO+VlbETXyVvqzcGZ0cq+Cj9XZH/IWL1XegoxCK6zdgSU IIGFhGim6W3cpw2Q9rspCNTQdDyEc/MSa4OTJcuxmGlqH5h2KKPFiB1UKhti8/k3IPbBsH 0Jhfyz30yPO2VMKBrWWXbRpRyE+ekFhI030o4OrHgRBGGv/ojdN2gLB4suRc7h84N3nJno 7LccfBI6Yb/el8472EuVmN1b6X30q50OuTKCe27QssdynzigoxTQp1oGxAvM+Ra5AmdCf3 EUD3EaWD8BpZSVf0BNGvxhXy7l6YyPX4/y7S4XTQ/iClEnhl5BVEtjaPRjvQdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770104280; a=rsa-sha256; cv=none; b=jA0Eo/vK+pn23RDWuVCCqWSrQDsVvqN9oaXD/DmpL8qmcUY8hk0MEBw2MwoI5Wljy5swTG 79YdNqLc/fwjGlowOHuAqT3M8mOzN5HX8l2yUOz6Es9Wu7Fm1X2Va0i7H9TAqvM1YNnkro sWjZId1KqOfxHjprCcTUXw+RzA6hYqj6c1Ts2+yeL0XK7tWYSJUYkvUMyblZBLhcZsDMcC 60AFm0AAn4nhLFW6yZTWOU3n4oMEX3/WjG/1jdCQ1xvwy/R3bfW5Jn35Qhr30jQlduoyS2 yOw3vDGK2GL6mF/vEi4DarZCxHPWPQvC0+/T27uZuHI9KyUa2VlZWsBscdA3vA== 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=1770104280; 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=4xHee+gI/qtI2q1w7XF2mKoxzQPFjRQecwUcDd+J7Tg=; b=ZS8ASVxlmp4r3CwaAKYhTXS0oxIuXZvh2a/Ujt7i5ZAT8kd8VC+DYtvYhqXr+yUCs2mcCJ H1qgxgHCx+uhoU+SwnEq+sOBoSpHddwSXsMhGzFZXX31VCVzB8AmCW9qcY0ZQwROnJUqE7 +LQCxfTQ0haAeipTbnRv+RDzLNOCqeixZyftwpNuwhHvc/K23nAP8vnbV8vbnLmAQpK+bJ 4Oft8GkY+IbbgJ0J0zY0bGcD54ek/UvIfXlT2Hgcgx93kLA6WAWJjvNGZEmQrovXJ53H+k cYB48NerOrw7moSSs4g05HT/uPltBPnlU2nWZCSl80BqGAtZxeuL4aaY23odxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4wLw1vzXz1462 for ; Tue, 03 Feb 2026 07:38:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32313 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 07:37:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Enji Cooper Subject: git: aed5a47b3a8a - stable/14 - OpenSSL: update build artifacts to match 3.0.16 release List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: aed5a47b3a8a105f1452554a176a7d6c0a750854 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 07:37:58 +0000 Message-Id: <6981a5d6.32313.798f1d27@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=aed5a47b3a8a105f1452554a176a7d6c0a750854 commit aed5a47b3a8a105f1452554a176a7d6c0a750854 Author: Enji Cooper AuthorDate: 2026-02-03 07:35:24 +0000 Commit: Enji Cooper CommitDate: 2026-02-03 07:35:24 +0000 OpenSSL: update build artifacts to match 3.0.16 release The files committed match the output of the new vendor process. Much of this involves regenerating manpages to catch up to content from the initial 3.0 import. This is a direct commit to stable/14. --- crypto/openssl/apps/progs.c | 11 +- crypto/openssl/apps/progs.h | 4 +- crypto/openssl/include/crypto/bn_conf.h | 20 +- crypto/openssl/include/crypto/dso_conf.h | 1 - crypto/openssl/include/openssl/bio.h | 2 +- crypto/openssl/include/openssl/configuration.h | 57 +- crypto/openssl/include/openssl/pkcs7.h | 6 +- secure/lib/libcrypto/Makefile.version | 4 +- secure/lib/libcrypto/man/man3/ADMISSIONS.3 | 123 +- secure/lib/libcrypto/man/man3/ASN1_EXTERN_FUNCS.3 | 197 +-- .../libcrypto/man/man3/ASN1_INTEGER_get_int64.3 | 141 +- secure/lib/libcrypto/man/man3/ASN1_INTEGER_new.3 | 110 +- secure/lib/libcrypto/man/man3/ASN1_ITEM_lookup.3 | 109 +- secure/lib/libcrypto/man/man3/ASN1_OBJECT_new.3 | 117 +- .../lib/libcrypto/man/man3/ASN1_STRING_TABLE_add.3 | 123 +- secure/lib/libcrypto/man/man3/ASN1_STRING_length.3 | 123 +- secure/lib/libcrypto/man/man3/ASN1_STRING_new.3 | 111 +- .../lib/libcrypto/man/man3/ASN1_STRING_print_ex.3 | 165 +- secure/lib/libcrypto/man/man3/ASN1_TIME_set.3 | 199 +-- secure/lib/libcrypto/man/man3/ASN1_TYPE_get.3 | 161 +- secure/lib/libcrypto/man/man3/ASN1_aux_cb.3 | 307 ++-- .../lib/libcrypto/man/man3/ASN1_generate_nconf.3 | 215 +-- secure/lib/libcrypto/man/man3/ASN1_item_d2i_bio.3 | 143 +- secure/lib/libcrypto/man/man3/ASN1_item_new.3 | 113 +- secure/lib/libcrypto/man/man3/ASN1_item_sign.3 | 135 +- secure/lib/libcrypto/man/man3/ASYNC_WAIT_CTX_new.3 | 190 +-- secure/lib/libcrypto/man/man3/ASYNC_start_job.3 | 185 +-- secure/lib/libcrypto/man/man3/BF_encrypt.3 | 139 +- secure/lib/libcrypto/man/man3/BIO_ADDR.3 | 164 +- secure/lib/libcrypto/man/man3/BIO_ADDRINFO.3 | 151 +- secure/lib/libcrypto/man/man3/BIO_connect.3 | 143 +- secure/lib/libcrypto/man/man3/BIO_ctrl.3 | 163 +- secure/lib/libcrypto/man/man3/BIO_f_base64.3 | 149 +- secure/lib/libcrypto/man/man3/BIO_f_buffer.3 | 133 +- secure/lib/libcrypto/man/man3/BIO_f_cipher.3 | 129 +- secure/lib/libcrypto/man/man3/BIO_f_md.3 | 145 +- secure/lib/libcrypto/man/man3/BIO_f_null.3 | 113 +- secure/lib/libcrypto/man/man3/BIO_f_prefix.3 | 109 +- secure/lib/libcrypto/man/man3/BIO_f_readbuffer.3 | 125 +- secure/lib/libcrypto/man/man3/BIO_f_ssl.3 | 205 +-- secure/lib/libcrypto/man/man3/BIO_find_type.3 | 123 +- secure/lib/libcrypto/man/man3/BIO_get_data.3 | 123 +- .../lib/libcrypto/man/man3/BIO_get_ex_new_index.3 | 119 +- secure/lib/libcrypto/man/man3/BIO_meth_new.3 | 155 +- secure/lib/libcrypto/man/man3/BIO_new.3 | 135 +- secure/lib/libcrypto/man/man3/BIO_new_CMS.3 | 123 +- secure/lib/libcrypto/man/man3/BIO_parse_hostserv.3 | 105 +- secure/lib/libcrypto/man/man3/BIO_printf.3 | 105 +- secure/lib/libcrypto/man/man3/BIO_push.3 | 135 +- secure/lib/libcrypto/man/man3/BIO_read.3 | 159 +- secure/lib/libcrypto/man/man3/BIO_s_accept.3 | 201 +-- secure/lib/libcrypto/man/man3/BIO_s_bio.3 | 157 +- secure/lib/libcrypto/man/man3/BIO_s_connect.3 | 167 +-- secure/lib/libcrypto/man/man3/BIO_s_core.3 | 129 +- secure/lib/libcrypto/man/man3/BIO_s_datagram.3 | 193 +-- secure/lib/libcrypto/man/man3/BIO_s_fd.3 | 123 +- secure/lib/libcrypto/man/man3/BIO_s_file.3 | 149 +- secure/lib/libcrypto/man/man3/BIO_s_mem.3 | 199 +-- secure/lib/libcrypto/man/man3/BIO_s_null.3 | 113 +- secure/lib/libcrypto/man/man3/BIO_s_socket.3 | 113 +- secure/lib/libcrypto/man/man3/BIO_set_callback.3 | 151 +- secure/lib/libcrypto/man/man3/BIO_should_retry.3 | 165 +- secure/lib/libcrypto/man/man3/BIO_socket_wait.3 | 105 +- secure/lib/libcrypto/man/man3/BN_BLINDING_new.3 | 165 +- secure/lib/libcrypto/man/man3/BN_CTX_new.3 | 129 +- secure/lib/libcrypto/man/man3/BN_CTX_start.3 | 115 +- secure/lib/libcrypto/man/man3/BN_add.3 | 153 +- secure/lib/libcrypto/man/man3/BN_add_word.3 | 103 +- secure/lib/libcrypto/man/man3/BN_bn2bin.3 | 153 +- secure/lib/libcrypto/man/man3/BN_cmp.3 | 101 +- secure/lib/libcrypto/man/man3/BN_copy.3 | 121 +- secure/lib/libcrypto/man/man3/BN_generate_prime.3 | 198 +-- secure/lib/libcrypto/man/man3/BN_mod_exp_mont.3 | 105 +- secure/lib/libcrypto/man/man3/BN_mod_inverse.3 | 114 +- .../lib/libcrypto/man/man3/BN_mod_mul_montgomery.3 | 115 +- .../lib/libcrypto/man/man3/BN_mod_mul_reciprocal.3 | 113 +- secure/lib/libcrypto/man/man3/BN_new.3 | 113 +- secure/lib/libcrypto/man/man3/BN_num_bytes.3 | 117 +- secure/lib/libcrypto/man/man3/BN_rand.3 | 137 +- secure/lib/libcrypto/man/man3/BN_security_bits.3 | 113 +- secure/lib/libcrypto/man/man3/BN_set_bit.3 | 108 +- secure/lib/libcrypto/man/man3/BN_swap.3 | 99 +- secure/lib/libcrypto/man/man3/BN_zero.3 | 115 +- secure/lib/libcrypto/man/man3/BUF_MEM_new.3 | 114 +- .../libcrypto/man/man3/CMS_EncryptedData_decrypt.3 | 105 +- .../libcrypto/man/man3/CMS_EncryptedData_encrypt.3 | 115 +- .../libcrypto/man/man3/CMS_EnvelopedData_create.3 | 111 +- secure/lib/libcrypto/man/man3/CMS_add0_cert.3 | 115 +- .../libcrypto/man/man3/CMS_add1_recipient_cert.3 | 119 +- secure/lib/libcrypto/man/man3/CMS_add1_signer.3 | 147 +- secure/lib/libcrypto/man/man3/CMS_compress.3 | 129 +- secure/lib/libcrypto/man/man3/CMS_data_create.3 | 109 +- secure/lib/libcrypto/man/man3/CMS_decrypt.3 | 143 +- secure/lib/libcrypto/man/man3/CMS_digest_create.3 | 111 +- secure/lib/libcrypto/man/man3/CMS_encrypt.3 | 155 +- secure/lib/libcrypto/man/man3/CMS_final.3 | 107 +- .../libcrypto/man/man3/CMS_get0_RecipientInfos.3 | 135 +- .../lib/libcrypto/man/man3/CMS_get0_SignerInfos.3 | 111 +- secure/lib/libcrypto/man/man3/CMS_get0_type.3 | 121 +- .../libcrypto/man/man3/CMS_get1_ReceiptRequest.3 | 115 +- secure/lib/libcrypto/man/man3/CMS_sign.3 | 167 +-- secure/lib/libcrypto/man/man3/CMS_sign_receipt.3 | 109 +- .../lib/libcrypto/man/man3/CMS_signed_get_attr.3 | 263 ++++ secure/lib/libcrypto/man/man3/CMS_uncompress.3 | 111 +- secure/lib/libcrypto/man/man3/CMS_verify.3 | 151 +- secure/lib/libcrypto/man/man3/CMS_verify_receipt.3 | 105 +- secure/lib/libcrypto/man/man3/CONF_modules_free.3 | 105 +- .../libcrypto/man/man3/CONF_modules_load_file.3 | 129 +- .../libcrypto/man/man3/CRYPTO_THREAD_run_once.3 | 163 +- .../libcrypto/man/man3/CRYPTO_get_ex_new_index.3 | 155 +- secure/lib/libcrypto/man/man3/CRYPTO_memcmp.3 | 101 +- .../man/man3/CTLOG_STORE_get0_log_by_id.3 | 113 +- secure/lib/libcrypto/man/man3/CTLOG_STORE_new.3 | 133 +- secure/lib/libcrypto/man/man3/CTLOG_new.3 | 137 +- .../libcrypto/man/man3/CT_POLICY_EVAL_CTX_new.3 | 158 +- secure/lib/libcrypto/man/man3/DEFINE_STACK_OF.3 | 291 ++-- secure/lib/libcrypto/man/man3/DES_random_key.3 | 203 +-- secure/lib/libcrypto/man/man3/DH_generate_key.3 | 119 +- .../libcrypto/man/man3/DH_generate_parameters.3 | 155 +- secure/lib/libcrypto/man/man3/DH_get0_pqg.3 | 151 +- secure/lib/libcrypto/man/man3/DH_get_1024_160.3 | 117 +- secure/lib/libcrypto/man/man3/DH_meth_new.3 | 173 +-- secure/lib/libcrypto/man/man3/DH_new.3 | 115 +- secure/lib/libcrypto/man/man3/DH_new_by_nid.3 | 111 +- secure/lib/libcrypto/man/man3/DH_set_method.3 | 153 +- secure/lib/libcrypto/man/man3/DH_size.3 | 115 +- secure/lib/libcrypto/man/man3/DSA_SIG_new.3 | 110 +- secure/lib/libcrypto/man/man3/DSA_do_sign.3 | 111 +- secure/lib/libcrypto/man/man3/DSA_dup_DH.3 | 113 +- secure/lib/libcrypto/man/man3/DSA_generate_key.3 | 111 +- .../libcrypto/man/man3/DSA_generate_parameters.3 | 149 +- secure/lib/libcrypto/man/man3/DSA_get0_pqg.3 | 137 +- secure/lib/libcrypto/man/man3/DSA_meth_new.3 | 181 +-- secure/lib/libcrypto/man/man3/DSA_new.3 | 113 +- secure/lib/libcrypto/man/man3/DSA_set_method.3 | 153 +- secure/lib/libcrypto/man/man3/DSA_sign.3 | 119 +- secure/lib/libcrypto/man/man3/DSA_size.3 | 113 +- secure/lib/libcrypto/man/man3/DTLS_get_data_mtu.3 | 105 +- secure/lib/libcrypto/man/man3/DTLS_set_timer_cb.3 | 105 +- secure/lib/libcrypto/man/man3/DTLSv1_listen.3 | 167 +-- secure/lib/libcrypto/man/man3/ECDSA_SIG_new.3 | 140 +- secure/lib/libcrypto/man/man3/ECDSA_sign.3 | 163 +- .../lib/libcrypto/man/man3/ECPKParameters_print.3 | 107 +- .../lib/libcrypto/man/man3/EC_GFp_simple_method.3 | 117 +- secure/lib/libcrypto/man/man3/EC_GROUP_copy.3 | 181 +-- secure/lib/libcrypto/man/man3/EC_GROUP_new.3 | 153 +- .../lib/libcrypto/man/man3/EC_KEY_get_enc_flags.3 | 113 +- secure/lib/libcrypto/man/man3/EC_KEY_new.3 | 207 +-- secure/lib/libcrypto/man/man3/EC_POINT_add.3 | 111 +- secure/lib/libcrypto/man/man3/EC_POINT_new.3 | 169 +-- secure/lib/libcrypto/man/man3/ENGINE_add.3 | 414 +++-- secure/lib/libcrypto/man/man3/ERR_GET_LIB.3 | 123 +- secure/lib/libcrypto/man/man3/ERR_clear_error.3 | 101 +- secure/lib/libcrypto/man/man3/ERR_error_string.3 | 117 +- secure/lib/libcrypto/man/man3/ERR_get_error.3 | 131 +- .../libcrypto/man/man3/ERR_load_crypto_strings.3 | 103 +- secure/lib/libcrypto/man/man3/ERR_load_strings.3 | 105 +- secure/lib/libcrypto/man/man3/ERR_new.3 | 105 +- secure/lib/libcrypto/man/man3/ERR_print_errors.3 | 103 +- secure/lib/libcrypto/man/man3/ERR_put_error.3 | 151 +- secure/lib/libcrypto/man/man3/ERR_remove_state.3 | 105 +- secure/lib/libcrypto/man/man3/ERR_set_mark.3 | 99 +- .../lib/libcrypto/man/man3/EVP_ASYM_CIPHER_free.3 | 125 +- secure/lib/libcrypto/man/man3/EVP_BytesToKey.3 | 133 +- .../man/man3/EVP_CIPHER_CTX_get_cipher_data.3 | 107 +- .../man/man3/EVP_CIPHER_CTX_get_original_iv.3 | 127 +- .../lib/libcrypto/man/man3/EVP_CIPHER_meth_new.3 | 204 +-- secure/lib/libcrypto/man/man3/EVP_DigestInit.3 | 438 +++--- secure/lib/libcrypto/man/man3/EVP_DigestSignInit.3 | 209 +-- .../lib/libcrypto/man/man3/EVP_DigestVerifyInit.3 | 189 +-- secure/lib/libcrypto/man/man3/EVP_EncodeInit.3 | 143 +- secure/lib/libcrypto/man/man3/EVP_EncryptInit.3 | 1210 +++++++-------- secure/lib/libcrypto/man/man3/EVP_KDF.3 | 268 ++-- secure/lib/libcrypto/man/man3/EVP_KEM_free.3 | 122 +- secure/lib/libcrypto/man/man3/EVP_KEYEXCH_free.3 | 123 +- secure/lib/libcrypto/man/man3/EVP_KEYMGMT.3 | 140 +- secure/lib/libcrypto/man/man3/EVP_MAC.3 | 355 ++--- secure/lib/libcrypto/man/man3/EVP_MD_meth_new.3 | 162 +- secure/lib/libcrypto/man/man3/EVP_OpenInit.3 | 109 +- secure/lib/libcrypto/man/man3/EVP_PBE_CipherInit.3 | 131 +- secure/lib/libcrypto/man/man3/EVP_PKEY2PKCS8.3 | 113 +- .../lib/libcrypto/man/man3/EVP_PKEY_ASN1_METHOD.3 | 259 ++-- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_ctrl.3 | 403 ++--- .../libcrypto/man/man3/EVP_PKEY_CTX_get0_libctx.3 | 113 +- .../libcrypto/man/man3/EVP_PKEY_CTX_get0_pkey.3 | 123 +- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_new.3 | 147 +- .../man/man3/EVP_PKEY_CTX_set1_pbe_pass.3 | 105 +- .../libcrypto/man/man3/EVP_PKEY_CTX_set_hkdf_md.3 | 169 +-- .../libcrypto/man/man3/EVP_PKEY_CTX_set_params.3 | 149 +- .../man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 | 133 +- .../libcrypto/man/man3/EVP_PKEY_CTX_set_scrypt_N.3 | 125 +- .../man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 | 137 +- .../libcrypto/man/man3/EVP_PKEY_asn1_get_count.3 | 125 +- secure/lib/libcrypto/man/man3/EVP_PKEY_check.3 | 132 +- .../libcrypto/man/man3/EVP_PKEY_copy_parameters.3 | 121 +- .../lib/libcrypto/man/man3/EVP_PKEY_decapsulate.3 | 122 +- secure/lib/libcrypto/man/man3/EVP_PKEY_decrypt.3 | 111 +- secure/lib/libcrypto/man/man3/EVP_PKEY_derive.3 | 113 +- .../man/man3/EVP_PKEY_digestsign_supports_digest.3 | 101 +- .../lib/libcrypto/man/man3/EVP_PKEY_encapsulate.3 | 126 +- secure/lib/libcrypto/man/man3/EVP_PKEY_encrypt.3 | 113 +- secure/lib/libcrypto/man/man3/EVP_PKEY_fromdata.3 | 161 +- secure/lib/libcrypto/man/man3/EVP_PKEY_get_attr.3 | 169 +++ .../man/man3/EVP_PKEY_get_default_digest_nid.3 | 111 +- .../libcrypto/man/man3/EVP_PKEY_get_field_type.3 | 117 +- .../libcrypto/man/man3/EVP_PKEY_get_group_name.3 | 113 +- secure/lib/libcrypto/man/man3/EVP_PKEY_get_size.3 | 125 +- .../libcrypto/man/man3/EVP_PKEY_gettable_params.3 | 143 +- secure/lib/libcrypto/man/man3/EVP_PKEY_is_a.3 | 125 +- secure/lib/libcrypto/man/man3/EVP_PKEY_keygen.3 | 135 +- .../libcrypto/man/man3/EVP_PKEY_meth_get_count.3 | 109 +- secure/lib/libcrypto/man/man3/EVP_PKEY_meth_new.3 | 185 +-- secure/lib/libcrypto/man/man3/EVP_PKEY_new.3 | 189 +-- .../libcrypto/man/man3/EVP_PKEY_print_private.3 | 111 +- secure/lib/libcrypto/man/man3/EVP_PKEY_set1_RSA.3 | 191 +-- .../man/man3/EVP_PKEY_set1_encoded_public_key.3 | 121 +- secure/lib/libcrypto/man/man3/EVP_PKEY_set_type.3 | 119 +- .../libcrypto/man/man3/EVP_PKEY_settable_params.3 | 119 +- secure/lib/libcrypto/man/man3/EVP_PKEY_sign.3 | 113 +- secure/lib/libcrypto/man/man3/EVP_PKEY_todata.3 | 119 +- secure/lib/libcrypto/man/man3/EVP_PKEY_verify.3 | 109 +- .../libcrypto/man/man3/EVP_PKEY_verify_recover.3 | 115 +- secure/lib/libcrypto/man/man3/EVP_RAND.3 | 341 ++--- secure/lib/libcrypto/man/man3/EVP_SIGNATURE.3 | 125 +- secure/lib/libcrypto/man/man3/EVP_SealInit.3 | 127 +- secure/lib/libcrypto/man/man3/EVP_SignInit.3 | 131 +- secure/lib/libcrypto/man/man3/EVP_VerifyInit.3 | 121 +- secure/lib/libcrypto/man/man3/EVP_aes_128_gcm.3 | 163 +- secure/lib/libcrypto/man/man3/EVP_aria_128_gcm.3 | 121 +- secure/lib/libcrypto/man/man3/EVP_bf_cbc.3 | 113 +- secure/lib/libcrypto/man/man3/EVP_blake2b512.3 | 119 +- .../lib/libcrypto/man/man3/EVP_camellia_128_ecb.3 | 115 +- secure/lib/libcrypto/man/man3/EVP_cast5_cbc.3 | 113 +- secure/lib/libcrypto/man/man3/EVP_chacha20.3 | 129 +- secure/lib/libcrypto/man/man3/EVP_des_cbc.3 | 125 +- secure/lib/libcrypto/man/man3/EVP_desx_cbc.3 | 113 +- secure/lib/libcrypto/man/man3/EVP_idea_cbc.3 | 113 +- secure/lib/libcrypto/man/man3/EVP_md2.3 | 117 +- secure/lib/libcrypto/man/man3/EVP_md4.3 | 117 +- secure/lib/libcrypto/man/man3/EVP_md5.3 | 127 +- secure/lib/libcrypto/man/man3/EVP_mdc2.3 | 117 +- secure/lib/libcrypto/man/man3/EVP_rc2_cbc.3 | 121 +- secure/lib/libcrypto/man/man3/EVP_rc4.3 | 129 +- .../lib/libcrypto/man/man3/EVP_rc5_32_12_16_cbc.3 | 123 +- secure/lib/libcrypto/man/man3/EVP_ripemd160.3 | 119 +- secure/lib/libcrypto/man/man3/EVP_seed_cbc.3 | 113 +- .../man/man3/EVP_set_default_properties.3 | 119 +- secure/lib/libcrypto/man/man3/EVP_sha1.3 | 119 +- secure/lib/libcrypto/man/man3/EVP_sha224.3 | 121 +- secure/lib/libcrypto/man/man3/EVP_sha3_224.3 | 119 +- secure/lib/libcrypto/man/man3/EVP_sm3.3 | 119 +- secure/lib/libcrypto/man/man3/EVP_sm4_cbc.3 | 113 +- secure/lib/libcrypto/man/man3/EVP_whirlpool.3 | 117 +- secure/lib/libcrypto/man/man3/HMAC.3 | 165 +- secure/lib/libcrypto/man/man3/MD5.3 | 151 +- secure/lib/libcrypto/man/man3/MDC2_Init.3 | 121 +- secure/lib/libcrypto/man/man3/Makefile | 5 + secure/lib/libcrypto/man/man3/NCONF_new_ex.3 | 121 +- secure/lib/libcrypto/man/man3/OBJ_nid2obj.3 | 181 +-- secure/lib/libcrypto/man/man3/OCSP_REQUEST_new.3 | 140 +- secure/lib/libcrypto/man/man3/OCSP_cert_to_id.3 | 128 +- .../libcrypto/man/man3/OCSP_request_add1_nonce.3 | 113 +- .../lib/libcrypto/man/man3/OCSP_resp_find_status.3 | 169 +-- .../lib/libcrypto/man/man3/OCSP_response_status.3 | 162 +- secure/lib/libcrypto/man/man3/OCSP_sendreq_new.3 | 137 +- secure/lib/libcrypto/man/man3/OPENSSL_Applink.3 | 105 +- secure/lib/libcrypto/man/man3/OPENSSL_FILE.3 | 115 +- .../lib/libcrypto/man/man3/OPENSSL_LH_COMPFUNC.3 | 295 ++-- secure/lib/libcrypto/man/man3/OPENSSL_LH_stats.3 | 123 +- secure/lib/libcrypto/man/man3/OPENSSL_config.3 | 123 +- .../lib/libcrypto/man/man3/OPENSSL_fork_prepare.3 | 105 +- secure/lib/libcrypto/man/man3/OPENSSL_gmtime.3 | 111 +- .../lib/libcrypto/man/man3/OPENSSL_hexchar2int.3 | 119 +- secure/lib/libcrypto/man/man3/OPENSSL_ia32cap.3 | 183 +-- .../lib/libcrypto/man/man3/OPENSSL_init_crypto.3 | 212 +-- secure/lib/libcrypto/man/man3/OPENSSL_init_ssl.3 | 117 +- .../libcrypto/man/man3/OPENSSL_instrument_bus.3 | 115 +- .../man/man3/OPENSSL_load_builtin_modules.3 | 107 +- secure/lib/libcrypto/man/man3/OPENSSL_malloc.3 | 150 +- secure/lib/libcrypto/man/man3/OPENSSL_s390xcap.3 | 127 +- .../lib/libcrypto/man/man3/OPENSSL_secure_malloc.3 | 121 +- secure/lib/libcrypto/man/man3/OPENSSL_strcasecmp.3 | 111 +- secure/lib/libcrypto/man/man3/OSSL_ALGORITHM.3 | 165 +- secure/lib/libcrypto/man/man3/OSSL_CALLBACK.3 | 111 +- secure/lib/libcrypto/man/man3/OSSL_CMP_CTX_new.3 | 437 +++--- .../man/man3/OSSL_CMP_HDR_get0_transactionID.3 | 111 +- secure/lib/libcrypto/man/man3/OSSL_CMP_ITAV_set0.3 | 135 +- .../libcrypto/man/man3/OSSL_CMP_MSG_get0_header.3 | 167 +-- .../libcrypto/man/man3/OSSL_CMP_MSG_http_perform.3 | 129 +- .../lib/libcrypto/man/man3/OSSL_CMP_SRV_CTX_new.3 | 146 +- .../libcrypto/man/man3/OSSL_CMP_STATUSINFO_new.3 | 121 +- .../lib/libcrypto/man/man3/OSSL_CMP_exec_certreq.3 | 185 +-- secure/lib/libcrypto/man/man3/OSSL_CMP_log_open.3 | 133 +- .../lib/libcrypto/man/man3/OSSL_CMP_validate_msg.3 | 140 +- .../lib/libcrypto/man/man3/OSSL_CORE_MAKE_FUNC.3 | 101 +- .../libcrypto/man/man3/OSSL_CRMF_MSG_get0_tmpl.3 | 117 +- .../man/man3/OSSL_CRMF_MSG_set0_validity.3 | 147 +- .../man/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.3 | 139 +- .../man/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.3 | 115 +- secure/lib/libcrypto/man/man3/OSSL_CRMF_pbmp_new.3 | 139 +- secure/lib/libcrypto/man/man3/OSSL_DECODER.3 | 142 +- secure/lib/libcrypto/man/man3/OSSL_DECODER_CTX.3 | 174 +-- .../man/man3/OSSL_DECODER_CTX_new_for_pkey.3 | 145 +- .../lib/libcrypto/man/man3/OSSL_DECODER_from_bio.3 | 119 +- secure/lib/libcrypto/man/man3/OSSL_DISPATCH.3 | 117 +- secure/lib/libcrypto/man/man3/OSSL_ENCODER.3 | 138 +- secure/lib/libcrypto/man/man3/OSSL_ENCODER_CTX.3 | 170 +-- .../man/man3/OSSL_ENCODER_CTX_new_for_pkey.3 | 145 +- .../lib/libcrypto/man/man3/OSSL_ENCODER_to_bio.3 | 123 +- .../man/man3/OSSL_ESS_check_signing_certs.3 | 127 +- secure/lib/libcrypto/man/man3/OSSL_HTTP_REQ_CTX.3 | 246 ++- .../lib/libcrypto/man/man3/OSSL_HTTP_parse_url.3 | 138 +- secure/lib/libcrypto/man/man3/OSSL_HTTP_transfer.3 | 267 ++-- secure/lib/libcrypto/man/man3/OSSL_ITEM.3 | 113 +- secure/lib/libcrypto/man/man3/OSSL_LIB_CTX.3 | 135 +- secure/lib/libcrypto/man/man3/OSSL_PARAM.3 | 249 ++-- secure/lib/libcrypto/man/man3/OSSL_PARAM_BLD.3 | 174 +-- .../man/man3/OSSL_PARAM_allocate_from_text.3 | 155 +- secure/lib/libcrypto/man/man3/OSSL_PARAM_dup.3 | 118 +- secure/lib/libcrypto/man/man3/OSSL_PARAM_int.3 | 275 ++-- secure/lib/libcrypto/man/man3/OSSL_PROVIDER.3 | 149 +- secure/lib/libcrypto/man/man3/OSSL_SELF_TEST_new.3 | 157 +- .../man/man3/OSSL_SELF_TEST_set_callback.3 | 109 +- secure/lib/libcrypto/man/man3/OSSL_STORE_INFO.3 | 202 +-- secure/lib/libcrypto/man/man3/OSSL_STORE_LOADER.3 | 222 +-- secure/lib/libcrypto/man/man3/OSSL_STORE_SEARCH.3 | 164 +- secure/lib/libcrypto/man/man3/OSSL_STORE_attach.3 | 109 +- secure/lib/libcrypto/man/man3/OSSL_STORE_expect.3 | 117 +- secure/lib/libcrypto/man/man3/OSSL_STORE_open.3 | 181 +-- secure/lib/libcrypto/man/man3/OSSL_trace_enabled.3 | 175 +-- .../man/man3/OSSL_trace_get_category_num.3 | 105 +- .../libcrypto/man/man3/OSSL_trace_set_channel.3 | 213 +-- .../man/man3/OpenSSL_add_all_algorithms.3 | 103 +- secure/lib/libcrypto/man/man3/OpenSSL_version.3 | 209 +-- .../libcrypto/man/man3/PEM_X509_INFO_read_bio_ex.3 | 113 +- secure/lib/libcrypto/man/man3/PEM_bytes_read_bio.3 | 129 +- secure/lib/libcrypto/man/man3/PEM_read.3 | 147 +- secure/lib/libcrypto/man/man3/PEM_read_CMS.3 | 131 +- .../libcrypto/man/man3/PEM_read_bio_PrivateKey.3 | 289 ++-- secure/lib/libcrypto/man/man3/PEM_read_bio_ex.3 | 117 +- .../libcrypto/man/man3/PEM_write_bio_CMS_stream.3 | 105 +- .../man/man3/PEM_write_bio_PKCS7_stream.3 | 105 +- .../lib/libcrypto/man/man3/PKCS12_PBE_keyivgen.3 | 117 +- .../man/man3/PKCS12_SAFEBAG_create_cert.3 | 129 +- .../libcrypto/man/man3/PKCS12_SAFEBAG_get0_attrs.3 | 111 +- .../libcrypto/man/man3/PKCS12_SAFEBAG_get1_cert.3 | 115 +- .../libcrypto/man/man3/PKCS12_add1_attr_by_NID.3 | 105 +- .../libcrypto/man/man3/PKCS12_add_CSPName_asc.3 | 103 +- secure/lib/libcrypto/man/man3/PKCS12_add_cert.3 | 117 +- .../man/man3/PKCS12_add_friendlyname_asc.3 | 105 +- .../lib/libcrypto/man/man3/PKCS12_add_localkeyid.3 | 101 +- secure/lib/libcrypto/man/man3/PKCS12_add_safe.3 | 127 +- secure/lib/libcrypto/man/man3/PKCS12_create.3 | 161 +- .../lib/libcrypto/man/man3/PKCS12_decrypt_skey.3 | 105 +- secure/lib/libcrypto/man/man3/PKCS12_gen_mac.3 | 119 +- .../libcrypto/man/man3/PKCS12_get_friendlyname.3 | 105 +- secure/lib/libcrypto/man/man3/PKCS12_init.3 | 105 +- .../libcrypto/man/man3/PKCS12_item_decrypt_d2i.3 | 109 +- .../libcrypto/man/man3/PKCS12_key_gen_utf8_ex.3 | 137 +- secure/lib/libcrypto/man/man3/PKCS12_newpass.3 | 119 +- .../lib/libcrypto/man/man3/PKCS12_pack_p7encdata.3 | 111 +- secure/lib/libcrypto/man/man3/PKCS12_parse.3 | 123 +- secure/lib/libcrypto/man/man3/PKCS5_PBE_keyivgen.3 | 135 +- secure/lib/libcrypto/man/man3/PKCS5_PBKDF2_HMAC.3 | 122 +- secure/lib/libcrypto/man/man3/PKCS7_decrypt.3 | 107 +- secure/lib/libcrypto/man/man3/PKCS7_encrypt.3 | 147 +- .../libcrypto/man/man3/PKCS7_get_octet_string.3 | 107 +- secure/lib/libcrypto/man/man3/PKCS7_sign.3 | 163 +- .../lib/libcrypto/man/man3/PKCS7_sign_add_signer.3 | 149 +- .../lib/libcrypto/man/man3/PKCS7_type_is_other.3 | 99 +- secure/lib/libcrypto/man/man3/PKCS7_verify.3 | 167 +-- secure/lib/libcrypto/man/man3/PKCS8_encrypt.3 | 107 +- .../lib/libcrypto/man/man3/PKCS8_pkey_add1_attr.3 | 111 +- secure/lib/libcrypto/man/man3/RAND_add.3 | 125 +- secure/lib/libcrypto/man/man3/RAND_bytes.3 | 151 +- secure/lib/libcrypto/man/man3/RAND_cleanup.3 | 109 +- secure/lib/libcrypto/man/man3/RAND_egd.3 | 117 +- secure/lib/libcrypto/man/man3/RAND_get0_primary.3 | 139 +- secure/lib/libcrypto/man/man3/RAND_load_file.3 | 115 +- secure/lib/libcrypto/man/man3/RAND_set_DRBG_type.3 | 113 +- .../lib/libcrypto/man/man3/RAND_set_rand_method.3 | 129 +- secure/lib/libcrypto/man/man3/RC4_set_key.3 | 123 +- secure/lib/libcrypto/man/man3/RIPEMD160_Init.3 | 121 +- secure/lib/libcrypto/man/man3/RSA_blinding_on.3 | 113 +- secure/lib/libcrypto/man/man3/RSA_check_key.3 | 149 +- secure/lib/libcrypto/man/man3/RSA_generate_key.3 | 143 +- secure/lib/libcrypto/man/man3/RSA_get0_key.3 | 179 +-- secure/lib/libcrypto/man/man3/RSA_meth_new.3 | 177 +-- secure/lib/libcrypto/man/man3/RSA_new.3 | 115 +- .../man/man3/RSA_padding_add_PKCS1_type_1.3 | 151 +- secure/lib/libcrypto/man/man3/RSA_print.3 | 111 +- .../lib/libcrypto/man/man3/RSA_private_encrypt.3 | 121 +- secure/lib/libcrypto/man/man3/RSA_public_encrypt.3 | 143 +- secure/lib/libcrypto/man/man3/RSA_set_method.3 | 189 +-- secure/lib/libcrypto/man/man3/RSA_sign.3 | 115 +- .../man/man3/RSA_sign_ASN1_OCTET_STRING.3 | 119 +- secure/lib/libcrypto/man/man3/RSA_size.3 | 109 +- secure/lib/libcrypto/man/man3/SCT_new.3 | 203 +-- secure/lib/libcrypto/man/man3/SCT_print.3 | 125 +- secure/lib/libcrypto/man/man3/SCT_validate.3 | 153 +- secure/lib/libcrypto/man/man3/SHA256_Init.3 | 147 +- secure/lib/libcrypto/man/man3/SMIME_read_ASN1.3 | 141 +- secure/lib/libcrypto/man/man3/SMIME_read_CMS.3 | 133 +- secure/lib/libcrypto/man/man3/SMIME_read_PKCS7.3 | 131 +- secure/lib/libcrypto/man/man3/SMIME_write_ASN1.3 | 133 +- secure/lib/libcrypto/man/man3/SMIME_write_CMS.3 | 127 +- secure/lib/libcrypto/man/man3/SMIME_write_PKCS7.3 | 125 +- secure/lib/libcrypto/man/man3/SRP_Calc_B.3 | 117 +- secure/lib/libcrypto/man/man3/SRP_VBASE_new.3 | 137 +- .../lib/libcrypto/man/man3/SRP_create_verifier.3 | 143 +- secure/lib/libcrypto/man/man3/SRP_user_pwd_new.3 | 111 +- .../lib/libcrypto/man/man3/SSL_CIPHER_get_name.3 | 197 +-- .../man/man3/SSL_COMP_add_compression_method.3 | 125 +- secure/lib/libcrypto/man/man3/SSL_CONF_CTX_new.3 | 111 +- .../libcrypto/man/man3/SSL_CONF_CTX_set1_prefix.3 | 119 +- .../libcrypto/man/man3/SSL_CONF_CTX_set_flags.3 | 117 +- .../libcrypto/man/man3/SSL_CONF_CTX_set_ssl_ctx.3 | 119 +- secure/lib/libcrypto/man/man3/SSL_CONF_cmd.3 | 429 +++--- secure/lib/libcrypto/man/man3/SSL_CONF_cmd_argv.3 | 105 +- .../libcrypto/man/man3/SSL_CTX_add1_chain_cert.3 | 145 +- .../man/man3/SSL_CTX_add_extra_chain_cert.3 | 113 +- .../lib/libcrypto/man/man3/SSL_CTX_add_session.3 | 121 +- secure/lib/libcrypto/man/man3/SSL_CTX_config.3 | 109 +- secure/lib/libcrypto/man/man3/SSL_CTX_ctrl.3 | 101 +- .../lib/libcrypto/man/man3/SSL_CTX_dane_enable.3 | 259 ++-- .../libcrypto/man/man3/SSL_CTX_flush_sessions.3 | 101 +- secure/lib/libcrypto/man/man3/SSL_CTX_free.3 | 111 +- secure/lib/libcrypto/man/man3/SSL_CTX_get0_param.3 | 109 +- .../libcrypto/man/man3/SSL_CTX_get_verify_mode.3 | 105 +- .../man/man3/SSL_CTX_has_client_custom_ext.3 | 99 +- .../man/man3/SSL_CTX_load_verify_locations.3 | 155 +- secure/lib/libcrypto/man/man3/SSL_CTX_new.3 | 183 +-- .../lib/libcrypto/man/man3/SSL_CTX_sess_number.3 | 109 +- .../man/man3/SSL_CTX_sess_set_cache_size.3 | 103 +- .../libcrypto/man/man3/SSL_CTX_sess_set_get_cb.3 | 121 +- secure/lib/libcrypto/man/man3/SSL_CTX_sessions.3 | 109 +- .../lib/libcrypto/man/man3/SSL_CTX_set0_CA_list.3 | 173 +-- .../lib/libcrypto/man/man3/SSL_CTX_set1_curves.3 | 155 +- .../lib/libcrypto/man/man3/SSL_CTX_set1_sigalgs.3 | 127 +- .../man/man3/SSL_CTX_set1_verify_cert_store.3 | 129 +- .../man/man3/SSL_CTX_set_alpn_select_cb.3 | 195 +-- .../lib/libcrypto/man/man3/SSL_CTX_set_cert_cb.3 | 119 +- .../libcrypto/man/man3/SSL_CTX_set_cert_store.3 | 127 +- .../man/man3/SSL_CTX_set_cert_verify_callback.3 | 125 +- .../libcrypto/man/man3/SSL_CTX_set_cipher_list.3 | 139 +- .../man/man3/SSL_CTX_set_client_cert_cb.3 | 143 +- .../man/man3/SSL_CTX_set_client_hello_cb.3 | 131 +- .../man/man3/SSL_CTX_set_ct_validation_callback.3 | 157 +- .../man/man3/SSL_CTX_set_ctlog_list_file.3 | 107 +- .../man/man3/SSL_CTX_set_default_passwd_cb.3 | 117 +- .../man/man3/SSL_CTX_set_generate_session_id.3 | 107 +- .../libcrypto/man/man3/SSL_CTX_set_info_callback.3 | 165 +- .../man/man3/SSL_CTX_set_keylog_callback.3 | 115 +- .../libcrypto/man/man3/SSL_CTX_set_max_cert_list.3 | 123 +- .../man/man3/SSL_CTX_set_min_proto_version.3 | 111 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_mode.3 | 171 +-- .../libcrypto/man/man3/SSL_CTX_set_msg_callback.3 | 153 +- .../libcrypto/man/man3/SSL_CTX_set_num_tickets.3 | 109 +- .../lib/libcrypto/man/man3/SSL_CTX_set_options.3 | 359 ++--- .../man/man3/SSL_CTX_set_psk_client_callback.3 | 173 +-- .../man/man3/SSL_CTX_set_quiet_shutdown.3 | 119 +- .../libcrypto/man/man3/SSL_CTX_set_read_ahead.3 | 125 +- .../man/man3/SSL_CTX_set_record_padding_callback.3 | 133 +- .../man/man3/SSL_CTX_set_security_level.3 | 165 +- .../man/man3/SSL_CTX_set_session_cache_mode.3 | 153 +- .../man/man3/SSL_CTX_set_session_id_context.3 | 117 +- .../man/man3/SSL_CTX_set_session_ticket_cb.3 | 159 +- .../man/man3/SSL_CTX_set_split_send_fragment.3 | 149 +- .../libcrypto/man/man3/SSL_CTX_set_srp_password.3 | 175 +-- .../libcrypto/man/man3/SSL_CTX_set_ssl_version.3 | 131 +- .../SSL_CTX_set_stateless_cookie_generate_cb.3 | 111 +- .../lib/libcrypto/man/man3/SSL_CTX_set_timeout.3 | 103 +- .../man3/SSL_CTX_set_tlsext_servername_callback.3 | 149 +- .../man/man3/SSL_CTX_set_tlsext_status_cb.3 | 137 +- .../man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3 | 161 +- .../man/man3/SSL_CTX_set_tlsext_use_srtp.3 | 163 +- .../man/man3/SSL_CTX_set_tmp_dh_callback.3 | 167 +-- .../lib/libcrypto/man/man3/SSL_CTX_set_tmp_ecdh.3 | 101 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_verify.3 | 230 +-- .../libcrypto/man/man3/SSL_CTX_use_certificate.3 | 170 +-- .../man/man3/SSL_CTX_use_psk_identity_hint.3 | 161 +- .../libcrypto/man/man3/SSL_CTX_use_serverinfo.3 | 121 +- secure/lib/libcrypto/man/man3/SSL_SESSION_free.3 | 137 +- .../libcrypto/man/man3/SSL_SESSION_get0_cipher.3 | 111 +- .../libcrypto/man/man3/SSL_SESSION_get0_hostname.3 | 121 +- .../man/man3/SSL_SESSION_get0_id_context.3 | 115 +- .../lib/libcrypto/man/man3/SSL_SESSION_get0_peer.3 | 105 +- .../man/man3/SSL_SESSION_get_compress_id.3 | 101 +- .../man/man3/SSL_SESSION_get_protocol_version.3 | 109 +- .../lib/libcrypto/man/man3/SSL_SESSION_get_time.3 | 103 +- .../libcrypto/man/man3/SSL_SESSION_has_ticket.3 | 103 +- .../libcrypto/man/man3/SSL_SESSION_is_resumable.3 | 105 +- secure/lib/libcrypto/man/man3/SSL_SESSION_print.3 | 107 +- .../lib/libcrypto/man/man3/SSL_SESSION_set1_id.3 | 105 +- secure/lib/libcrypto/man/man3/SSL_accept.3 | 137 +- .../lib/libcrypto/man/man3/SSL_alert_type_string.3 | 274 ++-- secure/lib/libcrypto/man/man3/SSL_alloc_buffers.3 | 101 +- secure/lib/libcrypto/man/man3/SSL_check_chain.3 | 137 +- secure/lib/libcrypto/man/man3/SSL_clear.3 | 123 +- secure/lib/libcrypto/man/man3/SSL_connect.3 | 151 +- secure/lib/libcrypto/man/man3/SSL_do_handshake.3 | 135 +- .../man/man3/SSL_export_keying_material.3 | 113 +- .../libcrypto/man/man3/SSL_extension_supported.3 | 175 +-- secure/lib/libcrypto/man/man3/SSL_free.3 | 115 +- secure/lib/libcrypto/man/man3/SSL_get0_peer_scts.3 | 107 +- secure/lib/libcrypto/man/man3/SSL_get_SSL_CTX.3 | 103 +- .../lib/libcrypto/man/man3/SSL_get_all_async_fds.3 | 127 +- .../lib/libcrypto/man/man3/SSL_get_certificate.3 | 123 +- secure/lib/libcrypto/man/man3/SSL_get_ciphers.3 | 135 +- .../lib/libcrypto/man/man3/SSL_get_client_random.3 | 139 +- .../libcrypto/man/man3/SSL_get_current_cipher.3 | 111 +- .../libcrypto/man/man3/SSL_get_default_timeout.3 | 103 +- secure/lib/libcrypto/man/man3/SSL_get_error.3 | 217 +-- .../lib/libcrypto/man/man3/SSL_get_extms_support.3 | 99 +- secure/lib/libcrypto/man/man3/SSL_get_fd.3 | 105 +- .../libcrypto/man/man3/SSL_get_peer_cert_chain.3 | 121 +- .../libcrypto/man/man3/SSL_get_peer_certificate.3 | 120 +- .../man/man3/SSL_get_peer_signature_nid.3 | 115 +- .../lib/libcrypto/man/man3/SSL_get_peer_tmp_key.3 | 109 +- .../lib/libcrypto/man/man3/SSL_get_psk_identity.3 | 115 +- secure/lib/libcrypto/man/man3/SSL_get_rbio.3 | 107 +- secure/lib/libcrypto/man/man3/SSL_get_session.3 | 139 +- .../libcrypto/man/man3/SSL_get_shared_sigalgs.3 | 121 +- .../lib/libcrypto/man/man3/SSL_get_verify_result.3 | 105 +- secure/lib/libcrypto/man/man3/SSL_get_version.3 | 127 +- secure/lib/libcrypto/man/man3/SSL_group_to_name.3 | 111 +- secure/lib/libcrypto/man/man3/SSL_in_init.3 | 123 +- secure/lib/libcrypto/man/man3/SSL_key_update.3 | 127 +- secure/lib/libcrypto/man/man3/SSL_library_init.3 | 111 +- .../libcrypto/man/man3/SSL_load_client_CA_file.3 | 135 +- secure/lib/libcrypto/man/man3/SSL_new.3 | 137 +- secure/lib/libcrypto/man/man3/SSL_pending.3 | 111 +- secure/lib/libcrypto/man/man3/SSL_read.3 | 161 +- .../lib/libcrypto/man/man3/SSL_read_early_data.3 | 207 +-- secure/lib/libcrypto/man/man3/SSL_rstate_string.3 | 129 +- secure/lib/libcrypto/man/man3/SSL_session_reused.3 | 105 +- secure/lib/libcrypto/man/man3/SSL_set1_host.3 | 145 +- .../libcrypto/man/man3/SSL_set_async_callback.3 | 143 +- secure/lib/libcrypto/man/man3/SSL_set_bio.3 | 130 +- .../lib/libcrypto/man/man3/SSL_set_connect_state.3 | 107 +- secure/lib/libcrypto/man/man3/SSL_set_fd.3 | 119 +- .../lib/libcrypto/man/man3/SSL_set_retry_verify.3 | 107 +- secure/lib/libcrypto/man/man3/SSL_set_session.3 | 123 +- secure/lib/libcrypto/man/man3/SSL_set_shutdown.3 | 123 +- .../lib/libcrypto/man/man3/SSL_set_verify_result.3 | 101 +- secure/lib/libcrypto/man/man3/SSL_shutdown.3 | 167 +-- secure/lib/libcrypto/man/man3/SSL_state_string.3 | 109 +- secure/lib/libcrypto/man/man3/SSL_want.3 | 145 +- secure/lib/libcrypto/man/man3/SSL_write.3 | 161 +- secure/lib/libcrypto/man/man3/TS_RESP_CTX_new.3 | 112 +- .../libcrypto/man/man3/TS_VERIFY_CTX_set_certs.3 | 117 +- secure/lib/libcrypto/man/man3/UI_STRING.3 | 169 +-- secure/lib/libcrypto/man/man3/UI_UTIL_read_pw.3 | 113 +- secure/lib/libcrypto/man/man3/UI_create_method.3 | 169 +-- secure/lib/libcrypto/man/man3/UI_new.3 | 213 +-- secure/lib/libcrypto/man/man3/X509V3_get_d2i.3 | 164 +- secure/lib/libcrypto/man/man3/X509V3_set_ctx.3 | 116 +- secure/lib/libcrypto/man/man3/X509_ALGOR_dup.3 | 109 +- secure/lib/libcrypto/man/man3/X509_ATTRIBUTE.3 | 324 ++++ .../libcrypto/man/man3/X509_CRL_get0_by_serial.3 | 117 +- .../libcrypto/man/man3/X509_EXTENSION_set_object.3 | 121 +- secure/lib/libcrypto/man/man3/X509_LOOKUP.3 | 140 +- .../lib/libcrypto/man/man3/X509_LOOKUP_hash_dir.3 | 135 +- .../lib/libcrypto/man/man3/X509_LOOKUP_meth_new.3 | 110 +- .../man/man3/X509_NAME_ENTRY_get_object.3 | 117 +- .../man/man3/X509_NAME_add_entry_by_txt.3 | 129 +- secure/lib/libcrypto/man/man3/X509_NAME_get0_der.3 | 99 +- .../man/man3/X509_NAME_get_index_by_NID.3 | 119 +- secure/lib/libcrypto/man/man3/X509_NAME_print_ex.3 | 165 +- secure/lib/libcrypto/man/man3/X509_PUBKEY_new.3 | 139 +- secure/lib/libcrypto/man/man3/X509_REQ_get_attr.3 | 167 +++ .../libcrypto/man/man3/X509_REQ_get_extensions.3 | 108 ++ secure/lib/libcrypto/man/man3/X509_SIG_get0.3 | 99 +- .../libcrypto/man/man3/X509_STORE_CTX_get_error.3 | 241 ++- secure/lib/libcrypto/man/man3/X509_STORE_CTX_new.3 | 170 +-- .../man/man3/X509_STORE_CTX_set_verify_cb.3 | 113 +- .../lib/libcrypto/man/man3/X509_STORE_add_cert.3 | 127 +- .../lib/libcrypto/man/man3/X509_STORE_get0_param.3 | 105 +- secure/lib/libcrypto/man/man3/X509_STORE_new.3 | 106 +- .../man/man3/X509_STORE_set_verify_cb_func.3 | 121 +- .../man/man3/X509_VERIFY_PARAM_set_flags.3 | 233 +-- secure/lib/libcrypto/man/man3/X509_add_cert.3 | 110 +- secure/lib/libcrypto/man/man3/X509_check_ca.3 | 109 +- secure/lib/libcrypto/man/man3/X509_check_host.3 | 195 +-- secure/lib/libcrypto/man/man3/X509_check_issued.3 | 103 +- .../libcrypto/man/man3/X509_check_private_key.3 | 105 +- secure/lib/libcrypto/man/man3/X509_check_purpose.3 | 115 +- secure/lib/libcrypto/man/man3/X509_cmp.3 | 119 +- secure/lib/libcrypto/man/man3/X509_cmp_time.3 | 135 +- secure/lib/libcrypto/man/man3/X509_digest.3 | 119 +- secure/lib/libcrypto/man/man3/X509_dup.3 | 153 +- .../man/man3/X509_get0_distinguishing_id.3 | 117 +- .../lib/libcrypto/man/man3/X509_get0_notBefore.3 | 111 +- .../lib/libcrypto/man/man3/X509_get0_signature.3 | 119 +- secure/lib/libcrypto/man/man3/X509_get0_uids.3 | 103 +- .../libcrypto/man/man3/X509_get_extension_flags.3 | 189 +-- secure/lib/libcrypto/man/man3/X509_get_pubkey.3 | 109 +- .../lib/libcrypto/man/man3/X509_get_serialNumber.3 | 107 +- .../lib/libcrypto/man/man3/X509_get_subject_name.3 | 113 +- secure/lib/libcrypto/man/man3/X509_get_version.3 | 105 +- secure/lib/libcrypto/man/man3/X509_load_http.3 | 114 +- secure/lib/libcrypto/man/man3/X509_new.3 | 122 +- secure/lib/libcrypto/man/man3/X509_sign.3 | 109 +- secure/lib/libcrypto/man/man3/X509_verify.3 | 107 +- secure/lib/libcrypto/man/man3/X509_verify_cert.3 | 119 +- .../lib/libcrypto/man/man3/X509v3_get_ext_by_NID.3 | 127 +- secure/lib/libcrypto/man/man3/b2i_PVK_bio_ex.3 | 109 +- .../libcrypto/man/man3/d2i_PKCS8PrivateKey_bio.3 | 117 +- secure/lib/libcrypto/man/man3/d2i_PrivateKey.3 | 127 +- secure/lib/libcrypto/man/man3/d2i_RSAPrivateKey.3 | 233 +-- secure/lib/libcrypto/man/man3/d2i_SSL_SESSION.3 | 117 +- secure/lib/libcrypto/man/man3/d2i_X509.3 | 261 ++-- secure/lib/libcrypto/man/man3/i2d_CMS_bio_stream.3 | 109 +- .../lib/libcrypto/man/man3/i2d_PKCS7_bio_stream.3 | 109 +- secure/lib/libcrypto/man/man3/i2d_re_X509_tbs.3 | 117 +- secure/lib/libcrypto/man/man3/o2i_SCT_LIST.3 | 107 +- secure/lib/libcrypto/man/man3/s2i_ASN1_IA5STRING.3 | 139 +- secure/lib/libcrypto/man/man5/config.5 | 271 ++-- secure/lib/libcrypto/man/man5/fips_config.5 | 149 +- secure/lib/libcrypto/man/man5/x509v3_config.5 | 261 ++-- .../lib/libcrypto/man/man7/EVP_ASYM_CIPHER-RSA.7 | 194 +-- .../lib/libcrypto/man/man7/EVP_ASYM_CIPHER-SM2.7 | 117 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-AES.7 | 186 +-- secure/lib/libcrypto/man/man7/EVP_CIPHER-ARIA.7 | 143 +- .../lib/libcrypto/man/man7/EVP_CIPHER-BLOWFISH.7 | 123 +- .../lib/libcrypto/man/man7/EVP_CIPHER-CAMELLIA.7 | 133 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-CAST.7 | 123 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-CHACHA.7 | 113 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-DES.7 | 174 +-- secure/lib/libcrypto/man/man7/EVP_CIPHER-IDEA.7 | 123 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-NULL.7 | 142 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-RC2.7 | 133 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-RC4.7 | 118 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-RC5.7 | 123 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-SEED.7 | 123 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-SM4.7 | 128 +- secure/lib/libcrypto/man/man7/EVP_KDF-HKDF.7 | 204 +-- secure/lib/libcrypto/man/man7/EVP_KDF-KB.7 | 205 +-- secure/lib/libcrypto/man/man7/EVP_KDF-KRB5KDF.7 | 159 +- secure/lib/libcrypto/man/man7/EVP_KDF-PBKDF1.7 | 150 +- secure/lib/libcrypto/man/man7/EVP_KDF-PBKDF2.7 | 163 +- secure/lib/libcrypto/man/man7/EVP_KDF-PKCS12KDF.7 | 161 +- secure/lib/libcrypto/man/man7/EVP_KDF-SCRYPT.7 | 178 +-- secure/lib/libcrypto/man/man7/EVP_KDF-SS.7 | 189 +-- secure/lib/libcrypto/man/man7/EVP_KDF-SSHKDF.7 | 197 +-- secure/lib/libcrypto/man/man7/EVP_KDF-TLS13_KDF.7 | 213 +-- secure/lib/libcrypto/man/man7/EVP_KDF-TLS1_PRF.7 | 161 +- secure/lib/libcrypto/man/man7/EVP_KDF-X942-ASN1.7 | 214 +-- .../lib/libcrypto/man/man7/EVP_KDF-X942-CONCAT.7 | 109 +- secure/lib/libcrypto/man/man7/EVP_KDF-X963.7 | 149 +- secure/lib/libcrypto/man/man7/EVP_KEM-RSA.7 | 129 +- secure/lib/libcrypto/man/man7/EVP_KEYEXCH-DH.7 | 179 +-- secure/lib/libcrypto/man/man7/EVP_KEYEXCH-ECDH.7 | 167 +-- secure/lib/libcrypto/man/man7/EVP_KEYEXCH-X25519.7 | 118 +- secure/lib/libcrypto/man/man7/EVP_MAC-BLAKE2.7 | 175 +-- secure/lib/libcrypto/man/man7/EVP_MAC-CMAC.7 | 145 +- secure/lib/libcrypto/man/man7/EVP_MAC-GMAC.7 | 147 +- secure/lib/libcrypto/man/man7/EVP_MAC-HMAC.7 | 168 +-- secure/lib/libcrypto/man/man7/EVP_MAC-KMAC.7 | 174 +-- secure/lib/libcrypto/man/man7/EVP_MAC-Poly1305.7 | 134 +- secure/lib/libcrypto/man/man7/EVP_MAC-Siphash.7 | 138 +- secure/lib/libcrypto/man/man7/EVP_MD-BLAKE2.7 | 109 +- secure/lib/libcrypto/man/man7/EVP_MD-MD2.7 | 103 +- secure/lib/libcrypto/man/man7/EVP_MD-MD4.7 | 103 +- secure/lib/libcrypto/man/man7/EVP_MD-MD5-SHA1.7 | 118 +- secure/lib/libcrypto/man/man7/EVP_MD-MD5.7 | 103 +- secure/lib/libcrypto/man/man7/EVP_MD-MDC2.7 | 114 +- secure/lib/libcrypto/man/man7/EVP_MD-NULL.7 | 104 +- secure/lib/libcrypto/man/man7/EVP_MD-RIPEMD160.7 | 107 +- secure/lib/libcrypto/man/man7/EVP_MD-SHA1.7 | 120 +- secure/lib/libcrypto/man/man7/EVP_MD-SHA2.7 | 133 +- secure/lib/libcrypto/man/man7/EVP_MD-SHA3.7 | 125 +- secure/lib/libcrypto/man/man7/EVP_MD-SHAKE.7 | 149 +- secure/lib/libcrypto/man/man7/EVP_MD-SM3.7 | 103 +- secure/lib/libcrypto/man/man7/EVP_MD-WHIRLPOOL.7 | 103 +- secure/lib/libcrypto/man/man7/EVP_MD-common.7 | 124 +- secure/lib/libcrypto/man/man7/EVP_PKEY-DH.7 | 329 ++-- secure/lib/libcrypto/man/man7/EVP_PKEY-DSA.7 | 161 +- secure/lib/libcrypto/man/man7/EVP_PKEY-EC.7 | 342 ++--- secure/lib/libcrypto/man/man7/EVP_PKEY-FFC.7 | 314 ++-- secure/lib/libcrypto/man/man7/EVP_PKEY-HMAC.7 | 167 +-- secure/lib/libcrypto/man/man7/EVP_PKEY-RSA.7 | 416 ++---- secure/lib/libcrypto/man/man7/EVP_PKEY-SM2.7 | 149 +- secure/lib/libcrypto/man/man7/EVP_PKEY-X25519.7 | 154 +- secure/lib/libcrypto/man/man7/EVP_RAND-CTR-DRBG.7 | 192 +-- secure/lib/libcrypto/man/man7/EVP_RAND-HASH-DRBG.7 | 187 +-- secure/lib/libcrypto/man/man7/EVP_RAND-HMAC-DRBG.7 | 194 +-- secure/lib/libcrypto/man/man7/EVP_RAND-SEED-SRC.7 | 131 +- secure/lib/libcrypto/man/man7/EVP_RAND-TEST-RAND.7 | 187 +-- secure/lib/libcrypto/man/man7/EVP_RAND.7 | 275 ++-- secure/lib/libcrypto/man/man7/EVP_SIGNATURE-DSA.7 | 123 +- .../lib/libcrypto/man/man7/EVP_SIGNATURE-ECDSA.7 | 123 +- .../lib/libcrypto/man/man7/EVP_SIGNATURE-ED25519.7 | 132 +- secure/lib/libcrypto/man/man7/EVP_SIGNATURE-HMAC.7 | 111 +- secure/lib/libcrypto/man/man7/EVP_SIGNATURE-RSA.7 | 201 +-- secure/lib/libcrypto/man/man7/OSSL_PROVIDER-FIPS.7 | 485 +++--- secure/lib/libcrypto/man/man7/OSSL_PROVIDER-base.7 | 158 +- .../lib/libcrypto/man/man7/OSSL_PROVIDER-default.7 | 266 ++-- .../lib/libcrypto/man/man7/OSSL_PROVIDER-legacy.7 | 146 +- secure/lib/libcrypto/man/man7/OSSL_PROVIDER-null.7 | 101 +- secure/lib/libcrypto/man/man7/RAND.7 | 141 +- secure/lib/libcrypto/man/man7/RSA-PSS.7 | 123 +- secure/lib/libcrypto/man/man7/X25519.7 | 109 +- secure/lib/libcrypto/man/man7/bio.7 | 141 +- secure/lib/libcrypto/man/man7/crypto.7 | 315 ++-- secure/lib/libcrypto/man/man7/ct.7 | 115 +- secure/lib/libcrypto/man/man7/des_modes.7 | 213 +-- secure/lib/libcrypto/man/man7/evp.7 | 152 +- secure/lib/libcrypto/man/man7/fips_module.7 | 295 ++-- secure/lib/libcrypto/man/man7/life_cycle-cipher.7 | 141 +- secure/lib/libcrypto/man/man7/life_cycle-digest.7 | 133 +- secure/lib/libcrypto/man/man7/life_cycle-kdf.7 | 133 +- secure/lib/libcrypto/man/man7/life_cycle-mac.7 | 139 +- secure/lib/libcrypto/man/man7/life_cycle-pkey.7 | 163 +- secure/lib/libcrypto/man/man7/life_cycle-rand.7 | 145 +- secure/lib/libcrypto/man/man7/migration_guide.7 | 1575 ++++++++++---------- secure/lib/libcrypto/man/man7/openssl-core.h.7 | 113 +- .../libcrypto/man/man7/openssl-core_dispatch.h.7 | 107 +- .../lib/libcrypto/man/man7/openssl-core_names.h.7 | 113 +- secure/lib/libcrypto/man/man7/openssl-env.7 | 217 ++- secure/lib/libcrypto/man/man7/openssl-glossary.7 | 191 +-- secure/lib/libcrypto/man/man7/openssl-threads.7 | 155 +- .../lib/libcrypto/man/man7/openssl_user_macros.7 | 119 +- secure/lib/libcrypto/man/man7/ossl_store-file.7 | 137 +- secure/lib/libcrypto/man/man7/ossl_store.7 | 144 +- .../lib/libcrypto/man/man7/passphrase-encoding.7 | 197 +-- secure/lib/libcrypto/man/man7/property.7 | 165 +- .../lib/libcrypto/man/man7/provider-asym_cipher.7 | 224 +-- secure/lib/libcrypto/man/man7/provider-base.7 | 384 ++--- secure/lib/libcrypto/man/man7/provider-cipher.7 | 173 +-- secure/lib/libcrypto/man/man7/provider-decoder.7 | 243 +-- secure/lib/libcrypto/man/man7/provider-digest.7 | 214 +-- secure/lib/libcrypto/man/man7/provider-encoder.7 | 249 ++-- secure/lib/libcrypto/man/man7/provider-kdf.7 | 407 ++--- secure/lib/libcrypto/man/man7/provider-kem.7 | 151 +- secure/lib/libcrypto/man/man7/provider-keyexch.7 | 185 +-- secure/lib/libcrypto/man/man7/provider-keymgmt.7 | 254 ++-- secure/lib/libcrypto/man/man7/provider-mac.7 | 188 +-- secure/lib/libcrypto/man/man7/provider-object.7 | 205 +-- secure/lib/libcrypto/man/man7/provider-rand.7 | 265 ++-- secure/lib/libcrypto/man/man7/provider-signature.7 | 236 +-- secure/lib/libcrypto/man/man7/provider-storemgmt.7 | 208 +-- secure/lib/libcrypto/man/man7/provider.7 | 214 +-- secure/lib/libcrypto/man/man7/proxy-certificates.7 | 145 +- secure/lib/libcrypto/man/man7/ssl.7 | 161 +- secure/lib/libcrypto/man/man7/x509.7 | 121 +- secure/usr.bin/openssl/man/CA.pl.1 | 187 +-- secure/usr.bin/openssl/man/openssl-asn1parse.1 | 181 +-- secure/usr.bin/openssl/man/openssl-ca.1 | 435 +++--- secure/usr.bin/openssl/man/openssl-ciphers.1 | 447 +++--- secure/usr.bin/openssl/man/openssl-cmds.1 | 115 +- secure/usr.bin/openssl/man/openssl-cmp.1 | 588 ++++---- secure/usr.bin/openssl/man/openssl-cms.1 | 448 +++--- secure/usr.bin/openssl/man/openssl-crl.1 | 180 +-- secure/usr.bin/openssl/man/openssl-crl2pkcs7.1 | 151 +- secure/usr.bin/openssl/man/openssl-dgst.1 | 209 +-- secure/usr.bin/openssl/man/openssl-dhparam.1 | 153 +- secure/usr.bin/openssl/man/openssl-dsa.1 | 159 +- secure/usr.bin/openssl/man/openssl-dsaparam.1 | 147 +- secure/usr.bin/openssl/man/openssl-ec.1 | 167 +-- secure/usr.bin/openssl/man/openssl-ecparam.1 | 183 +-- secure/usr.bin/openssl/man/openssl-enc.1 | 238 ++- secure/usr.bin/openssl/man/openssl-engine.1 | 123 +- secure/usr.bin/openssl/man/openssl-errstr.1 | 105 +- secure/usr.bin/openssl/man/openssl-fipsinstall.1 | 212 +-- .../usr.bin/openssl/man/openssl-format-options.1 | 139 +- secure/usr.bin/openssl/man/openssl-gendsa.1 | 127 +- secure/usr.bin/openssl/man/openssl-genpkey.1 | 384 ++--- secure/usr.bin/openssl/man/openssl-genrsa.1 | 129 +- secure/usr.bin/openssl/man/openssl-info.1 | 125 +- secure/usr.bin/openssl/man/openssl-kdf.1 | 213 +-- secure/usr.bin/openssl/man/openssl-list.1 | 179 +-- secure/usr.bin/openssl/man/openssl-mac.1 | 242 ++- .../openssl/man/openssl-namedisplay-options.1 | 189 +-- secure/usr.bin/openssl/man/openssl-nseq.1 | 111 +- secure/usr.bin/openssl/man/openssl-ocsp.1 | 375 ++--- .../openssl/man/openssl-passphrase-options.1 | 137 +- secure/usr.bin/openssl/man/openssl-passwd.1 | 147 +- secure/usr.bin/openssl/man/openssl-pkcs12.1 | 299 ++-- secure/usr.bin/openssl/man/openssl-pkcs7.1 | 137 +- secure/usr.bin/openssl/man/openssl-pkcs8.1 | 199 +-- secure/usr.bin/openssl/man/openssl-pkey.1 | 173 +-- secure/usr.bin/openssl/man/openssl-pkeyparam.1 | 121 +- secure/usr.bin/openssl/man/openssl-pkeyutl.1 | 340 ++--- secure/usr.bin/openssl/man/openssl-prime.1 | 115 +- secure/usr.bin/openssl/man/openssl-rand.1 | 123 +- secure/usr.bin/openssl/man/openssl-rehash.1 | 153 +- secure/usr.bin/openssl/man/openssl-req.1 | 348 ++--- secure/usr.bin/openssl/man/openssl-rsa.1 | 163 +- secure/usr.bin/openssl/man/openssl-rsautl.1 | 165 +- secure/usr.bin/openssl/man/openssl-s_client.1 | 585 ++++---- secure/usr.bin/openssl/man/openssl-s_server.1 | 549 +++---- secure/usr.bin/openssl/man/openssl-s_time.1 | 154 +- secure/usr.bin/openssl/man/openssl-sess_id.1 | 167 +-- secure/usr.bin/openssl/man/openssl-smime.1 | 287 ++-- secure/usr.bin/openssl/man/openssl-speed.1 | 159 +- secure/usr.bin/openssl/man/openssl-spkac.1 | 165 +- secure/usr.bin/openssl/man/openssl-srp.1 | 141 +- secure/usr.bin/openssl/man/openssl-storeutl.1 | 142 +- secure/usr.bin/openssl/man/openssl-ts.1 | 389 ++--- .../openssl/man/openssl-verification-options.1 | 585 ++++---- secure/usr.bin/openssl/man/openssl-verify.1 | 139 +- secure/usr.bin/openssl/man/openssl-version.1 | 135 +- secure/usr.bin/openssl/man/openssl-x509.1 | 415 +++--- secure/usr.bin/openssl/man/openssl.1 | 548 +++---- secure/usr.bin/openssl/man/tsget.1 | 157 +- 806 files changed, 32333 insertions(+), 90855 deletions(-) diff --git a/crypto/openssl/apps/progs.c b/crypto/openssl/apps/progs.c index acc204a3e6e7..c98aae435d73 100644 --- a/crypto/openssl/apps/progs.c +++ b/crypto/openssl/apps/progs.c @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -89,7 +89,6 @@ FUNCTION functions[] = { {FT_general, "s_time", s_time_main, s_time_options, NULL, NULL}, #endif {FT_general, "sess_id", sess_id_main, sess_id_options, NULL, NULL}, - {FT_general, "skeyutl", skeyutl_main, skeyutl_options, NULL, NULL}, {FT_general, "smime", smime_main, smime_options, NULL, NULL}, {FT_general, "speed", speed_main, speed_options, NULL, NULL}, {FT_general, "spkac", spkac_main, spkac_options, NULL, NULL}, @@ -226,15 +225,9 @@ FUNCTION functions[] = { {FT_cipher, "camellia-256-ecb", enc_main, enc_options, NULL}, #endif {FT_cipher, "base64", enc_main, enc_options, NULL}, -#ifndef OPENSSL_NO_ZLIB +#ifdef ZLIB {FT_cipher, "zlib", enc_main, enc_options, NULL}, #endif -#ifndef OPENSSL_NO_BROTLI - {FT_cipher, "brotli", enc_main, enc_options, NULL}, -#endif -#ifndef OPENSSL_NO_ZSTD - {FT_cipher, "zstd", enc_main, enc_options, NULL}, -#endif #ifndef OPENSSL_NO_DES {FT_cipher, "des", enc_main, enc_options, NULL}, #endif diff --git a/crypto/openssl/apps/progs.h b/crypto/openssl/apps/progs.h index 1b62ec37dec1..b07681563c17 100644 --- a/crypto/openssl/apps/progs.h +++ b/crypto/openssl/apps/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -56,7 +56,6 @@ extern int s_client_main(int argc, char *argv[]); extern int s_server_main(int argc, char *argv[]); extern int s_time_main(int argc, char *argv[]); extern int sess_id_main(int argc, char *argv[]); -extern int skeyutl_main(int argc, char *argv[]); extern int smime_main(int argc, char *argv[]); extern int speed_main(int argc, char *argv[]); extern int spkac_main(int argc, char *argv[]); @@ -111,7 +110,6 @@ extern const OPTIONS s_client_options[]; extern const OPTIONS s_server_options[]; extern const OPTIONS s_time_options[]; extern const OPTIONS sess_id_options[]; -extern const OPTIONS skeyutl_options[]; extern const OPTIONS smime_options[]; extern const OPTIONS speed_options[]; extern const OPTIONS spkac_options[]; diff --git a/crypto/openssl/include/crypto/bn_conf.h b/crypto/openssl/include/crypto/bn_conf.h index 95eb5b22e5b3..408242f0f8d0 100644 --- a/crypto/openssl/include/crypto/bn_conf.h +++ b/crypto/openssl/include/crypto/bn_conf.h @@ -1,10 +1,9 @@ -/* $FreeBSD$ */ /* WARNING: do not edit! */ /* Generated by Makefile from include/crypto/bn_conf.h.in */ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the OpenSSL license (the "License"). You may not use + * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html @@ -12,6 +11,7 @@ #ifndef OSSL_CRYPTO_BN_CONF_H # define OSSL_CRYPTO_BN_CONF_H +# pragma once /* * The contents of this file are not used in the UEFI build, as @@ -22,17 +22,9 @@ /* Should we define BN_DIV2W here? */ /* Only one for the following should be defined */ -# if __SIZEOF_LONG__ == 8 -# define SIXTY_FOUR_BIT_LONG -# undef SIXTY_FOUR_BIT -# undef THIRTY_TWO_BIT -# elif __SIZEOF_LONG__ == 4 -# undef SIXTY_FOUR_BIT_LONG -# undef SIXTY_FOUR_BIT -# define THIRTY_TWO_BIT -# else -# error Unsupported size of long -# endif +#define SIXTY_FOUR_BIT_LONG +#undef SIXTY_FOUR_BIT +#undef THIRTY_TWO_BIT #endif diff --git a/crypto/openssl/include/crypto/dso_conf.h b/crypto/openssl/include/crypto/dso_conf.h index f8b305056d2b..795dfa0f1a66 100644 --- a/crypto/openssl/include/crypto/dso_conf.h +++ b/crypto/openssl/include/crypto/dso_conf.h @@ -1,4 +1,3 @@ -/* $FreeBSD$ */ /* WARNING: do not edit! */ /* Generated by Makefile from include/crypto/dso_conf.h.in */ /* diff --git a/crypto/openssl/include/openssl/bio.h b/crypto/openssl/include/openssl/bio.h index e16cf622c69d..f9aa74731c83 100644 --- a/crypto/openssl/include/openssl/bio.h +++ b/crypto/openssl/include/openssl/bio.h @@ -867,7 +867,7 @@ int BIO_meth_set_puts(BIO_METHOD *biom, int (*puts) (BIO *, const char *)); int (*BIO_meth_get_gets(const BIO_METHOD *biom)) (BIO *, char *, int); int BIO_meth_set_gets(BIO_METHOD *biom, - int (*gets) (BIO *, char *, int)); + int (*ossl_gets) (BIO *, char *, int)); long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *); int BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl) (BIO *, int, long, void *)); diff --git a/crypto/openssl/include/openssl/configuration.h b/crypto/openssl/include/openssl/configuration.h index 0238d4200b4f..7e734877da4b 100644 --- a/crypto/openssl/include/openssl/configuration.h +++ b/crypto/openssl/include/openssl/configuration.h @@ -34,6 +34,9 @@ extern "C" { # ifndef OPENSSL_THREADS # define OPENSSL_THREADS # endif +# ifndef OPENSSL_NO_ACVP_TESTS +# define OPENSSL_NO_ACVP_TESTS +# endif # ifndef OPENSSL_NO_AFALGENG # define OPENSSL_NO_AFALGENG # endif @@ -49,17 +52,15 @@ extern "C" { # ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE # define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE # endif -# if !defined(__LP64__) || __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ -# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -# define OPENSSL_NO_EC_NISTP_64_GCC_128 -# endif -# endif # ifndef OPENSSL_NO_EGD # define OPENSSL_NO_EGD # endif *** 202639 LINES SKIPPED *** From nobody Tue Feb 3 07:55:02 2026 X-Original-To: dev-commits-src-branches@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 4f4wkb2K0yz6RNpr for ; Tue, 03 Feb 2026 07:55:03 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4wkZ6Vdyz48w5 for ; Tue, 03 Feb 2026 07:55:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770105302; 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=wdOP2UMp1P50GG0WY0KrJtbm1JpHP1CZCa5Llqiuy/Q=; b=GJVEe9LVr4vQHIGLVvv/CrFnos2o53+KYWUESk1zRyhFbGugB/P2WRT3Nr8/ZP6YRls9/S Ua+x1eCrpszADaBVdL5BTgjiooRB4IIjYaT9f11bV7dp2NQ3RDa34PnKNmm9iYPU5A3vB/ aODQb55w7QELQszfghX28zu3BQisRoc4INHwRmqv347MwC6uWTl38ENdzmb36QsRuIrPQa r91kltzcDRofZ77w0eAg/Y2kKD81rHwiAsYwZkF5y6F79Y7pGwcH0bZWCsYoe8It/79cRx w8cmEGo1Zg2CIzzhHrEsWPZCnucZPc3L8QA7sBQSVQFU9v4koGMFtarqgUK3Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770105302; a=rsa-sha256; cv=none; b=o1ZKR7dVvkqAU0yx19pK94FHxBRQ5CssUsz+vbrxMg1ztwge7j1QR6l88Oi6vHS++wuCFk Eu/nIC7PIsqhQnreUFpCYBIDlNZQxhhLivXogOuPlv6RBw0R++Y4VLQAP8PVNPiQOVWbqj UGfKbRkPREmJw/HdgTh8CoXBIJXpm1ry5HRyMOzQXwkC9zpu5Dqebj8QTrjM2VZq+gcPF3 NCA4MhHn/qbDBRjxi6SIisxbAfV8UiwTdxHWafy044HIhbHQY34MrXkMwJhKLvk38UlGU2 CuZ2GYMK5rhylRISqRsONSjluPtG6+K7TkRm6weUvl9GmqyZMORY76KyTLGtfg== 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=1770105302; 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=wdOP2UMp1P50GG0WY0KrJtbm1JpHP1CZCa5Llqiuy/Q=; b=gi4Xv8XqEkLjqoyk/gPKwJJ0GJE7Y/3ueZ58s8I3qL3gplo+W1luE09Bak5mtqPIVxeowR yosJA4vFqOq1Xl2JlyoZVAWlVmfqorS9OQFLAspVnjUSZvAZvndtGWq8mC3dsEoS78YNgX b63Hkb/HASXmEkP5zhrkQlq05CZVFMHbHDgoYyGEYGjJd7wsKlY/kPHQd37lQGfH4GNVmK SScQkx/T+pvoGnaSujeWUI6xDHFI86jOuwHH8pPN4AjGUsBgNGUjLO8jI9ivtLs8s5j40u pRatNmF+jsscbWir9g/mttdb4WAy48bsoBN5QS5sM1bRbcseS2KXtnPlOQqPwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4wkZ5bTgz14PP for ; Tue, 03 Feb 2026 07:55:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34292 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 07:55:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Enji Cooper Subject: git: 9a64f277bf5b - stable/14 - OpenSSL: install .pc files from the exporters subdir List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9a64f277bf5b422d1ebb3d960f8f6a5920dc3131 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 07:55:02 +0000 Message-Id: <6981a9d6.34292.77dc02cd@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=9a64f277bf5b422d1ebb3d960f8f6a5920dc3131 commit 9a64f277bf5b422d1ebb3d960f8f6a5920dc3131 Author: Enji Cooper AuthorDate: 2025-10-11 20:47:20 +0000 Commit: Enji Cooper CommitDate: 2026-02-03 07:54:20 +0000 OpenSSL: install .pc files from the exporters subdir The .pc files generated in the root directory are used as part of the build; they should never be installed. Use the versions from the exporters subdirectory--which should be installed--as the .pc files which are distributed with FreeBSD. This avoids the need for "fixing up" these files after the fact (see `crypto/openssl/BSDmakefile` for more details as part of this change). Garbage collect `secure/lib/libcrypto/Makefile.version`, et al, as they're orphaned files. They were technically unused prior to this change as the vendor process properly embeds the version numbers in various files, but this commit formalizes the removal. This correction/clarification on the .pc files will be made in an upcoming release of OpenSSL [1]. References: 1. https://github.com/openssl/openssl/issues/28803 Suggested by: Richard Levitte (OpenSSL project) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53043 (cherry picked from commit 97388e7215e080f2cb9fd446f4be4e46a9aeb114) --- crypto/openssl/BSDmakefile | 20 -------------------- .../openssl/freebsd/dump_version_from_configdata.pl | 21 --------------------- secure/lib/libcrypto/Makefile.inc | 12 +++--------- secure/lib/libcrypto/Makefile.version | 2 -- 4 files changed, 3 insertions(+), 52 deletions(-) diff --git a/crypto/openssl/BSDmakefile b/crypto/openssl/BSDmakefile index d260808ffac3..a45dc2b532f3 100644 --- a/crypto/openssl/BSDmakefile +++ b/crypto/openssl/BSDmakefile @@ -48,32 +48,12 @@ configure: enable-sctp \ --openssldir=etc \ --prefix=/usr) - @echo "Building configdata.pm for later use." - @(cd ${.CURDIR} && \ - ${SETENVI} ${WRK_ENV} ${GMAKE} -j ${.MAKE.JOBS} configdata.pm) - - @echo "Populating Makefile.version with release information" - @(cd ${LCRYPTO_SRC} && ${SETENVI} ${WRK_ENV} ${PERL} \ - ${LCRYPTO_SRC}/freebsd/dump_version_from_configdata.pl > \ - ${SRCTOP}/secure/lib/libcrypto/Makefile.version) all: patch @echo "==> Building generated files (headers, manpages, etc)" @(cd ${.CURDIR} && \ ${SETENVI} ${WRK_ENV} ${GMAKE} -j ${.MAKE.JOBS} build_all_generated) - # 1. Fix --prefix. - # a. Not sure why --prefix isn't honored properly, even though it's - # passed to Configure; the files might be getting rebuilt - # post-Configure, somehow. - # 2. Remove duplicate path in CFLAGS. - # 3. Remove duplicate path in includedir(s). - @echo "==> Fixing pkgconfig files" - @find . -name \*.pc -print -exec sed -i '' -E \ - -e 's,^prefix=.+,prefix=/usr,' \ - -e 's,[[:space:]]+(\-I)?\$\{prefix\}/\./include[[:space:]]*,,g' \ - {} + - @echo "==> Cleaning / rebuilding ASM" @(cd ${SRCTOP}/secure/lib/libcrypto && \ ${SETENVI} ${WRK_ENV} ${MAKE} cleanasm && \ diff --git a/crypto/openssl/freebsd/dump_version_from_configdata.pl b/crypto/openssl/freebsd/dump_version_from_configdata.pl deleted file mode 100644 index b6137718ba54..000000000000 --- a/crypto/openssl/freebsd/dump_version_from_configdata.pl +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env perl -# -# This dumps out the values needed to generate manpages and other artifacts -# which include the release version/date. -# -# See also: `secure/lib/libcrypto/Makefile.version`. - -use Cwd qw(realpath); -use File::Basename qw(dirname); -use Time::Piece; - -use lib dirname(dirname(realpath($0))); - -use configdata qw(%config); - -$OPENSSL_DATE = Time::Piece->strptime($config{"release_date"}, "%d %b %Y")->strftime("%Y-%m-%d"); - -$OPENSSL_VER = "$config{'major'}.$config{'minor'}.$config{'patch'}"; - -print("OPENSSL_VER=\t${OPENSSL_VER}\n"); -print("OPENSSL_DATE=\t${OPENSSL_DATE}\n"); diff --git a/secure/lib/libcrypto/Makefile.inc b/secure/lib/libcrypto/Makefile.inc index 5969b82d9ee0..ff59f9856acd 100644 --- a/secure/lib/libcrypto/Makefile.inc +++ b/secure/lib/libcrypto/Makefile.inc @@ -1,9 +1,6 @@ .include -# OpenSSL version used for manual page generation -.include "Makefile.version" - LCRYPTO_SRC= ${SRCTOP}/crypto/openssl LCRYPTO_DOC= ${LCRYPTO_SRC}/doc @@ -12,10 +9,7 @@ CFLAGS+= -I${LCRYPTO_SRC}/include CFLAGS+= -I${LCRYPTO_SRC}/providers/common/include CFLAGS+= -I${LCRYPTO_SRC}/providers/implementations/include -.include "Makefile.common" +.SUFFIXES: .pc +.PATH.pc: ${LCRYPTO_SRC}/exporters -.for pcfile in ${PCFILES} -${pcfile}: ${pcfile}.in - sed -e 's,@openssl_ver@,${OPENSSL_VER},g' ${.ALLSRC} > ${.TARGET} -.endfor -CLEANFILES+= ${PCFILES} +.include "Makefile.common" diff --git a/secure/lib/libcrypto/Makefile.version b/secure/lib/libcrypto/Makefile.version deleted file mode 100644 index 30be32f0bd8a..000000000000 --- a/secure/lib/libcrypto/Makefile.version +++ /dev/null @@ -1,2 +0,0 @@ -OPENSSL_VER= 3.0.16 -OPENSSL_DATE= 2025-02-11 From nobody Tue Feb 3 09:34:06 2026 X-Original-To: dev-commits-src-branches@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 4f4ywt6BTmz6RV4S for ; Tue, 03 Feb 2026 09:34:06 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4ywt29x6z4NT7 for ; Tue, 03 Feb 2026 09:34:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770111246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0pibf/3IPZbVJDPAPPKo+/Z0cuIdNaSF/X/sQiInqis=; b=hiv9VTXEuQOgjxerzeY9WbgCD1lptfr1uoNOvZnJgRJy+iUEnYMNo4BViiNxE0by9xwKYI Sx+ik76QBIrxJpArCIjUTJIyMICOxTYzLz38x0ZvqmcVaf+62yOpPYCRw9oHq+eX063/Bj bt05+VD7tvypq5rBr6wyQTOPU9nrkTsYYeQE4yDCzs1VlOPCkNu/A5cwrMGI+OUqgXEDiq C3XVM9UxIGcwpexFQv+YbhBhxJENLQd2Wz+Y7eUyjiSV12tTCQyz3wikVE+p3ih9WpgsfV ZITT/tRts0jLJSqrC+Npn8msfloTatsE4/fude237dnr3XVyYZrViHV8bGXpFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770111246; a=rsa-sha256; cv=none; b=mQIl+xJ2VWunewBa/4wYPm+/1Q2PHm/8kyoEnw/XppgAYtPeqM0xlgh7gb8U207G2JVmcH mRFurAHHy9AN+oCtgUFlw/fnrQIqvvlsX6fQIJYN769Cpm9QhDlEB0O5r0fadYaKUP++i1 U2u5rDJU37Tv3PLZCYLkg6ZFPpYQDWqFq1uPwNb4zmsgjEKbtdMbbYjVAjZIz2QWtTuQ8s ucCOXRPiAryQunRKclchsEVLtiXRzGD4g6im+5c6TZNwPsfY7aZG2l7xp1pq045Lz7T7SP z8Ah5cR4zwuGDI5rDI5LLXC5eu4DZsMiTIO5jAeSCBv5NTtmqquMCkXK8a0Q5A== 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=1770111246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0pibf/3IPZbVJDPAPPKo+/Z0cuIdNaSF/X/sQiInqis=; b=v47lBOxzSw0+v8AodLJ5zTwRqUGRABlH6PSvL2/aOXpsa+5UVa/Lqq/VlN2v+krb5JCCkK TzxlNnTUINYgo7cU3SgBoqin9vBDxD2Z0WTgbld4iqVsg42+aPAR2SplG+DlRGpg4TnTMd WZ4efInzHD1hFQX1IxdQufE2hwlraPJHZOmbeado+5KD0Amp8M6jYRcR3H4N8Ohl5j3ZtK 2bXFpjzeaY7Fa6n39sVyHDEzWvWfqoGt0suVEUCEmjTEMx6LMSzk/ZWj87r+1z6+YaSBcY INdXWCqUp0sH2/X2uV4On6ATf3IeAtmTY2gg7gYzYFaNLPqzP1kkNRACDUXzRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4ywt1Xr7z1747 for ; Tue, 03 Feb 2026 09:34:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e429 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 09:34:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Ana=C3=ABll?=e CAZUC From: Pouria Mousavizadeh Tehrani Subject: git: 79c748ed4343 - stable/15 - bnxt: don't set media status if link is down List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 79c748ed4343a80fa1cf1d908c916d27ee277503 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 09:34:06 +0000 Message-Id: <6981c10e.3e429.106f04d9@gitrepo.freebsd.org> The branch stable/15 has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=79c748ed4343a80fa1cf1d908c916d27ee277503 commit 79c748ed4343a80fa1cf1d908c916d27ee277503 Author: Anaëlle CAZUC AuthorDate: 2026-01-26 23:06:02 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-02-03 09:31:02 +0000 bnxt: don't set media status if link is down When the link is down don't set flags other than IFM_AVALID & IFM_ETHER This avoids `media: Ethernet autoselect (Unknown )` on ifconfig Reviewed by: zlei, pouria Approved by: glebius (mentor) MFC after: 1 week Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D54573 (cherry picked from commit 69de2b4e96794793f04d1b323d354fcde3c480f6) --- sys/dev/bnxt/bnxt_en/if_bnxt.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index fa37d04e0884..a34bd1a7e511 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -3280,11 +3280,10 @@ bnxt_media_status(if_ctx_t ctx, struct ifmediareq * ifmr) ifmr->ifm_status = IFM_AVALID; ifmr->ifm_active = IFM_ETHER; - if (link_info->link_up) - ifmr->ifm_status |= IFM_ACTIVE; - else - ifmr->ifm_status &= ~IFM_ACTIVE; + if (!link_info->link_up) + return; + ifmr->ifm_status |= IFM_ACTIVE; if (link_info->duplex == HWRM_PORT_PHY_QCFG_OUTPUT_DUPLEX_CFG_FULL) ifmr->ifm_active |= IFM_FDX; else From nobody Tue Feb 3 09:42:43 2026 X-Original-To: dev-commits-src-branches@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 4f4z6q5WRwz6RVfW for ; Tue, 03 Feb 2026 09:42:43 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4z6q1RqJz4Qc0 for ; Tue, 03 Feb 2026 09:42:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770111763; 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=Ffwyxu5JkPzAeKyqeP5NRCL4y7AElYVv4dL4i7FXmrE=; b=LxjxYr2AylO4MFuBzTfxA+xrOpTNpA1DcWucajb5RtHUuv+G1IdJlM1uox+fTqqHuVdEyA 8MzOUci5YUf5cDB2UtPenDRvVebaS4mcKKuXRjdfH6sUrgaXgTRR8huyiraLtI73OKhp7K 44IaiFahxxr+0tAuqtmwTfqgVes3IURJ0jhozolcMsLlYuhJRnL1zM1AqkpCL6byRD37BS 9ZoR0oJqx2o7lnouQq5bm4YhE3jpX5licmRHZU+ga9HmCynb0rWgMv9TELBEI0zzR0gJ7T YHtzf55upoOeagWvNP4TfxAkfnmCx5n91pLwgxp1x2NCeMlNKE1zPXTnwAueZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770111763; a=rsa-sha256; cv=none; b=wFnj0EGPyNC6lTvZpFrl8Ni/ZeGm8aZtiMP15+8vNYaSiITmpr3Uj6IN2f3SKMyYuiWa8d fLHGLxLtssRATbtnKaS96cXCMPrIryhV2kyOqWXV7Hy+5q8gKCc4wVrxk3IARHvgtvLGu0 L8l691wZQ2iqz3KhwamuKPFreJWw9egTfQB6+cpq4581/9GvJc3+yB5z9z3yOHMr+u4WR3 OS3FAuBqiGMfm2UtICMfauODhRJxUSR3LidA9WeyzzSBMz+k2TQ51ymXV9ORVKgfByqsQN riVyg8jA1NXrCQ72Rnapzk11bFEFDMUW9YPM1yQJZEgGZeCMLEflxOiljW8CvA== 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=1770111763; 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=Ffwyxu5JkPzAeKyqeP5NRCL4y7AElYVv4dL4i7FXmrE=; b=hI1om4owzKJ5nSNxUs9gN+DBOqI5bEM0dRkZJ0tqXGcF2r1FUg2mCFDPrCUNn9GIuW6HBB h9IVgTQv8MGTvta6tUUL5yj0HJGkSk7tCgb88o34Y1Qx75htP6x1F7f40BcKGWCrqWDxeG FxUWl2pxNoLnsR+R3YD+N9Am1qZ58IuviGrUW6f5kX6bO+wfdlfU+yVHvj2c5GfPveYl4l 45QE1Dxc9cGryfhqIEIJn9AQGN8e37jBLxiLOhncE9of71JiGcxY7lrWc5S2+aZbTax6vV UQhwEmjD5OmB8vm1IJwuujMIhcPiQ8SHSfoAajU1Wu3BoDI3I+KSHjhq4sBliA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4z6q106jz17G4 for ; Tue, 03 Feb 2026 09:42:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f0e8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 09:42:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: a9f9496dee2d - stable/15 - src.opts: Remove MK_SOUND artifact List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a9f9496dee2d2b57008264591973bd2db3a08075 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 09:42:43 +0000 Message-Id: <6981c313.3f0e8.25baa9f6@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a9f9496dee2d2b57008264591973bd2db3a08075 commit a9f9496dee2d2b57008264591973bd2db3a08075 Author: Christos Margiolis AuthorDate: 2026-01-30 16:14:28 +0000 Commit: Christos Margiolis CommitDate: 2026-02-03 09:42:34 +0000 src.opts: Remove MK_SOUND artifact Fixes: f74f891581bc ("src.opts: Introduce MK_SOUND") PR: 291853 Sponsored by: The FreeBSD Foundation MFC after: 4 days (cherry picked from commit b9289743f40dae677f910be1d3e56198a3a3ff9b) --- share/mk/src.opts.mk | 5 ----- 1 file changed, 5 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index a472ac137b86..88fd83a3c723 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -504,11 +504,6 @@ MK_CLANG_FULL:= no MK_LLVM_COV:= no .endif -# CUSE is needed only by virtual_oss, but virtual_oss is part of MK_SOUND. -.if ${MK_CUSE} == "no" -MK_SOUND:= no -.endif - .if ${MK_ASAN} == "yes" # In order to get sensible backtraces from ASAN we have to install # llvm-symbolizer as /usr/bin/addr2line instead of the elftoolchain version. From nobody Tue Feb 3 19:08:55 2026 X-Original-To: dev-commits-src-branches@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 4f5Ch75sHlz6Qb3j for ; Tue, 03 Feb 2026 19:08:55 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f5Ch736klz3Z0q for ; Tue, 03 Feb 2026 19:08:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770145735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sJsNkgaUQ5o8tCC4ze9cLcyP+x6p7Jd0yL0R/dJzDmM=; b=BzyU9f8Ds4jjkjb0HLA88YKMeV/GQyGmvmSgagQDQ6jzNnyI81POxVxj03mUJSrEwJ4x/l aJ1z0S7vLuTrH1/6V3opjfVq8xp0Nhqima1dkxUVGNVu9AYwGtrbh37yflDbfoBB4/Rlvv tfGUE8lcyV7rSsuJuJ/jZaBt4XojtoX29xFBNR0J4T5w+LVc3LilDj/cP6VaptNPfIpKyx 27E4gC8PeehKvCb0N1CXeEHRYj099TW6rX3SWX/qyf4Y5B7KBLZqidpuNo3O88YwfhOlfB SWua3ivlaTeIiWogoefjlMeEcxyb5wp0l1Qhn81rlWDfJKT2EMbxL4OpRHI72A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770145735; a=rsa-sha256; cv=none; b=xShW1kGthLwDNwV5CTzQJbTJSBSxd5n9IUPiRZc0KYWeqtx9toO126/58MmDeui784gZ8o HMQ9sgCwYadMWFAt6BIb28p9hk9JlcTqDT4pWGU7Fj/Mg5uFI+llVJRw9L9DiDalMfKsS+ HxTOvS94ks+dOLTGij5oL90oCtIQWp5DMuzrc1V36ZFAGyU83/5GM57VYCdQ6GemRtSvm5 2fWE+QOf52+VNW2dWfDuUspQEB+AMkUEcEDLDVCeSgNxV1UvMy7eKghvQ6wmey8mXD6F+u nILMttZXPTSXw8TLiKlMsSsuQreS7rIfIouCFqDjiZjMSnb6VHxq+mlFvKDcoQ== 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=1770145735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sJsNkgaUQ5o8tCC4ze9cLcyP+x6p7Jd0yL0R/dJzDmM=; b=gVP7Uw1RTxYLCXbPjutnJQD6IdcenzDb/SlCB0W2WSFm8O8ni/J4Ynbj629poFVntvm1R7 H3LbHhaPJz5j4QTdyVjBPk86FgtDnF39A/PlVu6vxWHKLnBfhw9852U6CndFtGRm7bLr8c P6aNaAWAZcVvCs2ia7ljcvZOUTFMuIWoi9D2X5kvI8b4k4DFx4pwtLjR3fiLlfYeu1eBhh MLvTOkRhDXavO9cZwpUvbK4TmDr/ulSeycckPh+/PyX9uw12snx9rorU2X1Fm2UVKgBPqh JCx8WO5Xz26hiJJSCiDS/abwTY7Z8P8gwD1EKokOqefJBhLG0jHnyCDiC+rH4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f5Ch71dxmz9yf for ; Tue, 03 Feb 2026 19:08:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32429 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 19:08:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: John Baldwin From: Enji Cooper Subject: git: 2255b09a75b7 - stable/14 - heimdal: Add missing function prototypes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2255b09a75b73d32a8ef27d3935e8fa2c492d872 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 19:08:55 +0000 Message-Id: <698247c7.32429.343e900e@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=2255b09a75b73d32a8ef27d3935e8fa2c492d872 commit 2255b09a75b73d32a8ef27d3935e8fa2c492d872 Author: John Baldwin AuthorDate: 2026-01-31 17:00:15 +0000 Commit: Enji Cooper CommitDate: 2026-02-03 19:08:34 +0000 heimdal: Add missing function prototypes This fixes the build with GCC 14 on stable/14 which raises fatal -Wimplicit-function-declaration warnings. Reviewed by: rmacklem, cy Fixes: 5000d023a446 ("heimdal-kadmin: Add support for the -f dump option") Differential Revision: https://reviews.freebsd.org/D54931 (cherry picked from commit 8a8dc73ef87b538c369abc1b642e2a40b52c53c2) --- crypto/heimdal/lib/hdb/hdb-private.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/crypto/heimdal/lib/hdb/hdb-private.h b/crypto/heimdal/lib/hdb/hdb-private.h index 8a748694424f..1a307bccc199 100644 --- a/crypto/heimdal/lib/hdb/hdb-private.h +++ b/crypto/heimdal/lib/hdb/hdb-private.h @@ -24,6 +24,12 @@ _hdb_keytab2hdb_entry ( const krb5_keytab_entry */*ktentry*/, hdb_entry_ex */*entry*/); +int +_hdb_mit_dump2mitdb_entry( + krb5_context /*context*/, + char */*line*/, + krb5_storage */*sp*/); + int _hdb_mkey_decrypt ( krb5_context /*context*/, @@ -51,6 +57,12 @@ _hdb_remove ( HDB */*db*/, krb5_const_principal /*principal*/); +krb5_error_code +_hdb_set_master_key_usage ( + krb5_context /*context*/, + HDB */*db*/, + unsigned int /*key_usage*/); + krb5_error_code _hdb_store ( krb5_context /*context*/, From nobody Tue Feb 3 19:10:05 2026 X-Original-To: dev-commits-src-branches@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 4f5CjT6xYSz6QbMv for ; Tue, 03 Feb 2026 19:10:05 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f5CjT5sjrz3ZL9 for ; Tue, 03 Feb 2026 19:10:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770145805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9euvnliA1Ruj919hn5Ct1FMPcEWxb97P6XM920aU+Vs=; b=tmSVoNTEH3Noifwfbt18+55x1kQIvkUqtIcAjxMuMPLVz2juWI5aN8/YAKi2ffkQxZwTCl imF+/6PAjXsQiJ8A+uVs1iIu7b7l5+2y6TsZjbhQmjjCh4AF1crVBbmIrc7gCBi+scolCp yQHjR86t4I7O0u3JlQt/9+HBeHURbv6tW9m4mODKSrcst/M8wlDoX1ItrabN4lDwHjT4JF Q4fzL9cqOw7gaXWWDz8akhuZJiS1pxYQR7N/JzF4ziVU5QEnsp8K+E6LCyYts7Xc8wukWO HRry3XZ6zrdPEpW7lFTztYbppfQzFq+oKBap6YK7T8/54euksbTt+urw/hBl5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770145805; a=rsa-sha256; cv=none; b=hSW0tJcvN1s2f7xAPkicM4Tv/0Fb6DgWytS0OFudIM7mw39a0k7wWmwrGbn19IfEb3XAa5 iRfMOfh3NLkGJKYJbVOI2Joh0phtypULb1NgjCbh0GkvTcAkQvJby7Jfale1YEysnMSagw NHtsw/X+1b+dfLQk6QF6aD1yVank4UwUZvfDJRUSATs8vWosqLy3vplP/p9wCe8biZUp7W geELNSPbe/Vk9ria5JiSxyM6uH/zTLADLw7nL3SJL5gzWwKQiTtuN7SqNGJCzwwa+Sf2hi oncjuNX1f3sqLA+hG9guzN0sQrhMpZwQ/Yb96vc3lt0xjc/A2Hke3XUCY83Sew== 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=1770145805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9euvnliA1Ruj919hn5Ct1FMPcEWxb97P6XM920aU+Vs=; b=HSMuZDO+eoOg/CC2vUSPklRfs2hkTCgfmP7MSk30XJJaQ4WpvSxEaTtiPSPwpW03Y6d4Su 7t30MrbqSOQNE7A/VFzWZHXGc2woBTvCrdpXJmRVvEufj5Qv5dVRR1gXwi+U462N8+VuWh rwSyaIgn4FsroCL1KvMb/wN/a9mkt+73YmgyVUnjyTaPX9CgR1YkbqGwimoLkF5UqKodPk 433Hbk1VCKVO/y5E9Y4oHitS2RkLh3GQ5ueTdvuhraUzqVzftloMNiWTHW6vf8VH+dtaI4 dwXMH+Td/0UpnG1ryDwGjWr7igOls9OLp/tWDCSmREamhyHN2GRgtJOu8H5l7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f5CjT5R4Mz9T5 for ; Tue, 03 Feb 2026 19:10:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32576 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 19:10:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: John Baldwin From: Enji Cooper Subject: git: 472fe29a536d - stable/15 - heimdal: Add missing function prototypes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 472fe29a536d783b4cd625ac786eed0895efca4b Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 19:10:05 +0000 Message-Id: <6982480d.32576.5c73e762@gitrepo.freebsd.org> The branch stable/15 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=472fe29a536d783b4cd625ac786eed0895efca4b commit 472fe29a536d783b4cd625ac786eed0895efca4b Author: John Baldwin AuthorDate: 2026-01-31 17:00:15 +0000 Commit: Enji Cooper CommitDate: 2026-02-03 19:09:55 +0000 heimdal: Add missing function prototypes This fixes the build with GCC 14 on stable/14 which raises fatal -Wimplicit-function-declaration warnings. Reviewed by: rmacklem, cy Fixes: 5000d023a446 ("heimdal-kadmin: Add support for the -f dump option") Differential Revision: https://reviews.freebsd.org/D54931 (cherry picked from commit 8a8dc73ef87b538c369abc1b642e2a40b52c53c2) --- crypto/heimdal/lib/hdb/hdb-private.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/crypto/heimdal/lib/hdb/hdb-private.h b/crypto/heimdal/lib/hdb/hdb-private.h index 8a748694424f..1a307bccc199 100644 --- a/crypto/heimdal/lib/hdb/hdb-private.h +++ b/crypto/heimdal/lib/hdb/hdb-private.h @@ -24,6 +24,12 @@ _hdb_keytab2hdb_entry ( const krb5_keytab_entry */*ktentry*/, hdb_entry_ex */*entry*/); +int +_hdb_mit_dump2mitdb_entry( + krb5_context /*context*/, + char */*line*/, + krb5_storage */*sp*/); + int _hdb_mkey_decrypt ( krb5_context /*context*/, @@ -51,6 +57,12 @@ _hdb_remove ( HDB */*db*/, krb5_const_principal /*principal*/); +krb5_error_code +_hdb_set_master_key_usage ( + krb5_context /*context*/, + HDB */*db*/, + unsigned int /*key_usage*/); + krb5_error_code _hdb_store ( krb5_context /*context*/, From nobody Tue Feb 3 19:10:06 2026 X-Original-To: dev-commits-src-branches@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 4f5CjW0L9Yz6Qb8S for ; Tue, 03 Feb 2026 19:10:07 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f5CjV6GY7z3ZLC for ; Tue, 03 Feb 2026 19:10:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770145806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jQFs/yV6k4SmsQeuEk8uE3zCEukhllm4jpiVCGc6f64=; b=MWbzCuOyj/irg5TiTZnQLbqFK8Ae121Vje4cxFYf9Jc8LCgZhRRLfekvMzFXXhYKy66C8p VpZA75JtLQrmb/Hq1BcQcHVU/pe0398CP481sH19M8KxRuBswY1xLBZAT+Ca9MiPK8ukpc IoE/Lym6vMbryE6bYhM0lJLcaNkNXly49Fr8U1LQRpg6LqD7xPfXrDB6PMjNyumZ5BA5RR 33ZhbU0KgArEEvyH7cIqDBlLC7i6kxHITClkvGtnDzeV2/O3kWN+RrjMFySsnK1x5pYFMS i34Vz3pm2Sur/p1ZyHGNg3hJ473YX9TkPgP4AUJZNp0CmCaqb7+lY23qbKZeMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770145806; a=rsa-sha256; cv=none; b=IfyklePJSPVofUc4u1J4RY5K7WrEuYwi6DnJ8gae07y4fG8ej+vT5s4KldACJs84NSBXQ6 Ql5kAmFTBOcgAn37CMsVFopTREvFhTd3xehUsx0Nv+yHZcf94GaOoie4yjXvz7FBnHVybh tnDtyV+kOWCoPzJsPm19sQ6NFDX7p0b3G/lJxSqNPCzY0G5Ua2jseIwUf2SXJ314+FGO9F hamxKZ6rTYFPoKMbVID7yesUjM6WtRT/53OVljJIHQXa8/ZpH+CwhiQNurMFznB7Hj4KsC H+X6NssgNQWL/2yMhORO5rn+gDkQjOavk+BU73bNLjNxRETuwZVhY4tBlhXQRA== 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=1770145806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jQFs/yV6k4SmsQeuEk8uE3zCEukhllm4jpiVCGc6f64=; b=L0RhljCztLgM1Mr/roFUm1TQFrksFln2oTPlOVcG1k1EBbDAgMcnu7Qy0WJTQjTcQqgVfq 2uyGim1JE8dqVGDJacNJfLCgsKVZLy9mGtM6Pl31bQ0SM1ctEPlEbI04ei3S3w5Gj5Fi57 tJFYfZ0yCK35vplm5Is+0YT+bA3K7VlYD3lNCnJcyOC8Lbi35J3qEhx9DCGVgQUn9IIIu0 iocpuhTXKkSlfkbPY/mpiJZ09iHWfY5jcybv1IEH/JYfgLU+x6ZwTUFD+xuT7dJNYG7usR FgaLl+elsnAW6E6LOjbPshJUks0v6RkR+e0A7wX+212x7DW9T2gsPloOlKrWKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f5CjV5nMyz9WZ for ; Tue, 03 Feb 2026 19:10:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3097b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 19:10:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: John Baldwin From: Enji Cooper Subject: git: 70aab985c300 - stable/15 - heimdal: Pass the correct pointer to free in an error case List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 70aab985c30092483b5b32cdd3750570ec3d9364 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 19:10:06 +0000 Message-Id: <6982480e.3097b.628edb67@gitrepo.freebsd.org> The branch stable/15 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=70aab985c30092483b5b32cdd3750570ec3d9364 commit 70aab985c30092483b5b32cdd3750570ec3d9364 Author: John Baldwin AuthorDate: 2026-01-31 17:00:44 +0000 Commit: Enji Cooper CommitDate: 2026-02-03 19:09:55 +0000 heimdal: Pass the correct pointer to free in an error case This fixes a warning reported by GCC 14 on stable/14: crypto/heimdal/lib/hdb/keys.c:241:13: warning: 'free' called on pointer 'ext' with nonzero offset 16 [-Wfree-nonheap-object] 241 | free(hist_keys); | ^~~~~~~~~~~~~~~ crypto/heimdal/lib/hdb/keys.c:234:15: note: returned from 'calloc' 234 | ext = calloc(1, sizeof (*ext)); | ^~~~~~~~~~~~~~~~~~~~~~~~ Reviewed by: rmacklem, cy Fixes: 5000d023a446 ("heimdal-kadmin: Add support for the -f dump option") Differential Revision: https://reviews.freebsd.org/D54932 (cherry picked from commit b26a7af438f36dcde86f39a681123cc2140affb2) --- crypto/heimdal/lib/hdb/keys.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/heimdal/lib/hdb/keys.c b/crypto/heimdal/lib/hdb/keys.c index 9c0af5c47f23..ef6113610009 100644 --- a/crypto/heimdal/lib/hdb/keys.c +++ b/crypto/heimdal/lib/hdb/keys.c @@ -238,7 +238,7 @@ hdb_add_current_keys_to_history(krb5_context context, hdb_entry *entry) hist_keys = &ext->data.u.hist_keys; hist_keys->val = calloc(1, sizeof (*hist_keys->val)); if (hist_keys->val == NULL) { - free(hist_keys); + free(ext); return ENOMEM; } hist_keys->len = 1; From nobody Wed Feb 4 03:55:10 2026 X-Original-To: dev-commits-src-branches@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 4f5RML1zmrz6FZKH for ; Wed, 04 Feb 2026 03:55:10 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f5RML0X7tz3ZR3 for ; Wed, 04 Feb 2026 03:55:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770177310; 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=Ae9GXFsxDxHUPu3Whh9jDOU4Ov1hJH02zM0HKRxygHg=; b=UxbplKgHvpVr2SWs9loZ/0WJSi/tOg5xFTcfA3bT0uahLUZwFG6fhW/r3VNx9pJFg59TQ5 0HlvL6W9+8fOI9LXC9IfFfATKWs4dHb2cdVIN2Ei1Ma2xER66/JwhT0kcUmJNcJI30DVu0 B9wP5UYxWWz/eZPLt7yrMBpiKwvaLJH6f7P75Ql1d1N+ozsrDEb7LtjwBFc8bGj/z/wVJi 8TzR+KNU12sXVwa5RrI+WNkiEpKQIbuQkIcAClmk/Wt0vMmtqhw0kngaiGeRuysvSn5Ktt VJd8/l8bEp/knwAZ0ksAKnTuh4asht8vl7jP8wN4i3vtHDnYNtwbWaRmI+9RZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770177310; a=rsa-sha256; cv=none; b=dDRN7yyqfa14Xer0ksvwcE8Z0Rbv0tHIerQSQh2D84ueYUj5LGi13FTCnGMlIEbso7//AV EQFHGp04YZKsWKQNEJOSrI7YAaIgdnadAkIaTeSWm3QH77/TFVWwLJjoSPhDMWhYVg271V cTwRauKLq+nheI3SoS1TrzuqV6yNV60ewgiUJrjANO/MzQwSbxpmkCYsVruYvog2ZDCJyj jh7mxe7s9a5oR0m/4yF3PmXFtRKRUXtIcnFXnHrrDCxer4JRmdXqNkUWhvgVkWLpWkA0EH 4pry02g8JtA4BVvcY/t2+U2b/TmYvwJSiY9RwtqGdaLmAVh6bZOnQByvud+GDA== 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=1770177310; 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=Ae9GXFsxDxHUPu3Whh9jDOU4Ov1hJH02zM0HKRxygHg=; b=Mz/H7scrwhlVmCVhmkm+8WU59Dq8vPGx80G+AzCZ4mb+/CI4HSazOrBWa9QqE3FHz5t+TM kDAnqa/PVGSEvtmmoB7Vbas8sgnpeAqMse/M5e8t4Fu2VfNmsGhyTp9iaw3i0PcWGbEydv Vl48wzppUP2/ARp6cgB7hsMtMqeN2bYSnDeePLRtQIE10lNnwZGcTovGo0bQwvlMFpw6fF U2ZSxrXBfalTazqN1Oh87VuAiPUA+zGOKBaxtUZQhNrXK4rJPdcDLLVlWQczvlg/likIZ6 G3rLWQkyGJfoF5DDw8VbAdb4sOcGZ2MNy2MgiXkqHEUupwJm7ttCT6ODE9q1SA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f5RML07RZzk2h for ; Wed, 04 Feb 2026 03:55:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f7f9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 04 Feb 2026 03:55:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 770479c4cea0 - stable/15 - cron: Implement full PAM session lifecycle for user jobs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 770479c4cea0d80b24112640a6309b4e5e7d8c4e Auto-Submitted: auto-generated Date: Wed, 04 Feb 2026 03:55:10 +0000 Message-Id: <6982c31e.3f7f9.3294a22b@gitrepo.freebsd.org> The branch stable/15 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=770479c4cea0d80b24112640a6309b4e5e7d8c4e commit 770479c4cea0d80b24112640a6309b4e5e7d8c4e Author: Xin LI AuthorDate: 2025-12-29 09:32:24 +0000 Commit: Xin LI CommitDate: 2026-02-04 03:54:50 +0000 cron: Implement full PAM session lifecycle for user jobs Extend PAM integration beyond account checks to include credential establishment and session management, allowing PAM modules to configure the execution environment for user cron jobs. Previously, cron only called pam_acct_mgmt() to verify account validity but immediately terminated the PAM handle before job execution. This prevented PAM modules from establishing sessions, setting credentials (e.g., Kerberos tickets), or exporting environment variables needed by jobs. The PAM handle now persists in the intermediate process throughout the job execution, enabling proper session open/close pairing. Credentials are established and sessions opened while still running as root, before dropping privileges in the grandchild. PAM environment variables are exported in the job process with user crontab variables taking precedence. A session rule (pam_permit.so) is added to /etc/pam.d/cron to enable session support without changing default behavior. Administrators can replace this with other modules as needed. System crontab entries continue to bypass all PAM operations. PR: bin/244844 Reviewed by: des Differential Revision: https://reviews.freebsd.org/D54415 (cherry picked from commit 12444a4da514e91fdf984b31e1691d042d5f88d2) --- lib/libpam/pam.d/cron | 3 + usr.sbin/cron/cron/do_command.c | 144 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 142 insertions(+), 5 deletions(-) diff --git a/lib/libpam/pam.d/cron b/lib/libpam/pam.d/cron index 733631306641..490663508a72 100644 --- a/lib/libpam/pam.d/cron +++ b/lib/libpam/pam.d/cron @@ -6,3 +6,6 @@ # account account required pam_nologin.so account required pam_unix.so + +# session +session required pam_permit.so diff --git a/usr.sbin/cron/cron/do_command.c b/usr.sbin/cron/cron/do_command.c index 43b3269d3087..fde76b8c60d1 100644 --- a/usr.sbin/cron/cron/do_command.c +++ b/usr.sbin/cron/cron/do_command.c @@ -76,6 +76,41 @@ do_command(entry *e, user *u) Debug(DPROC, ("[%d] main process returning to work\n", getpid())) } +#ifdef PAM +static void +pam_cleanup(pam_handle_t **pamhp, int *session_opened, int *cred_established, + char ***pam_envp, const char *usernm, pid_t pid, int log_errors, + int end_status) +{ + int pam_err; + + if (*pamhp == NULL) + return; + if (*session_opened) { + pam_err = pam_close_session(*pamhp, PAM_SILENT); + if (log_errors && pam_err != PAM_SUCCESS) { + log_it(usernm, pid, "SESSION-CLOSE", + pam_strerror(*pamhp, pam_err)); + } + *session_opened = 0; + } + if (*cred_established) { + pam_err = pam_setcred(*pamhp, PAM_DELETE_CRED); + if (log_errors && pam_err != PAM_SUCCESS) { + log_it(usernm, pid, "CRED-DELETE", + pam_strerror(*pamhp, pam_err)); + } + *cred_established = 0; + } + if (*pam_envp != NULL) { + openpam_free_envlist(*pam_envp); + *pam_envp = NULL; + } + pam_end(*pamhp, end_status); + *pamhp = NULL; +} +#endif + static void child_process(entry *e, user *u) @@ -88,6 +123,14 @@ child_process(entry *e, user *u) int bytes = 1; int status = 0; const char *homedir = NULL; +#ifdef PAM + pam_handle_t *pamh = NULL; + int pam_err = PAM_SUCCESS; + int pam_session_opened = 0; + int pam_cred_established = 0; + /* Keep PAM env list in the middle process for the grandchild to use. */ + char **pam_envp = NULL; +#endif # if defined(LOGIN_CAP) struct passwd *pwd; login_cap_t *lc; @@ -113,8 +156,6 @@ child_process(entry *e, user *u) * as any user. */ if (strcmp(u->name, SYS_NAME)) { /* not equal */ - pam_handle_t *pamh = NULL; - int pam_err; struct pam_conv pamc = { .conv = openpam_nullconv, .appdata_ptr = NULL @@ -137,14 +178,50 @@ child_process(entry *e, user *u) exit(ERROR_EXIT); } + pam_err = pam_set_item(pamh, PAM_TTY, "cron"); + if (pam_err != PAM_SUCCESS) { + log_it("CRON", getpid(), "error", "can't set PAM_TTY"); + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 0, pam_err); + exit(ERROR_EXIT); + } + pam_err = pam_acct_mgmt(pamh, PAM_SILENT); /* Expired password shouldn't prevent the job from running. */ if (pam_err != PAM_SUCCESS && pam_err != PAM_NEW_AUTHTOK_REQD) { log_it(usernm, getpid(), "USER", "account unavailable"); + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 0, pam_err); + exit(ERROR_EXIT); + } + + pam_err = pam_setcred(pamh, PAM_ESTABLISH_CRED); + if (pam_err != PAM_SUCCESS) { + log_it(usernm, getpid(), "CRED", + pam_strerror(pamh, pam_err)); + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 0, pam_err); + exit(ERROR_EXIT); + } + pam_cred_established = 1; + + /* Establish the session while still root in the middle process. */ + pam_err = pam_open_session(pamh, PAM_SILENT); + if (pam_err != PAM_SUCCESS) { + log_it(usernm, getpid(), "SESSION", + pam_strerror(pamh, pam_err)); + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 0, pam_err); exit(ERROR_EXIT); } + pam_session_opened = 1; - pam_end(pamh, pam_err); + /* Collect PAM env now; apply only in grandchild before exec. */ + pam_envp = pam_getenvlist(pamh); } #endif @@ -159,6 +236,13 @@ child_process(entry *e, user *u) */ if (pipe(stdin_pipe) != 0 || pipe(stdout_pipe) != 0) { log_it("CRON", getpid(), "error", "can't pipe"); +#ifdef PAM + if (pamh != NULL && strcmp(u->name, SYS_NAME)) { + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 1, pam_err); + } +#endif exit(ERROR_EXIT); } @@ -205,12 +289,23 @@ child_process(entry *e, user *u) switch (jobpid = fork()) { case -1: log_it("CRON", getpid(), "error", "can't fork"); +#ifdef PAM + if (pamh != NULL && strcmp(u->name, SYS_NAME)) { + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 1, pam_err); + } +#endif exit(ERROR_EXIT); /*NOTREACHED*/ case 0: Debug(DPROC, ("[%d] grandchild process fork()'ed\n", getpid())) +#ifdef PAM + /* Grandchild runs the user job; PAM handle remains in parent. */ + pamh = NULL; +#endif if (e->uid == ROOT_UID) Jitter = RootJitter; if (Jitter != 0) { @@ -327,8 +422,8 @@ child_process(entry *e, user *u) * the homedir given by the pw entry otherwise. * * If !LOGIN_CAP, then HOME is always set in e->envp. - * - * XXX: probably should also consult PAM. + * PAM environment is applied later for the job; we do not + * use it for cwd to avoid changing historical behavior. */ { char *new_home = env_get("HOME", e->envp); @@ -349,6 +444,29 @@ child_process(entry *e, user *u) char *shell = env_get("SHELL", e->envp); char **p; +#ifdef PAM + if (pam_envp != NULL) { + char **pp; + + /* Apply PAM-provided env only to the job process. */ + for (pp = pam_envp; *pp != NULL; pp++) { + /* + * Hand off each PAM string directly to the + * environment; this process must not free + * pam_envp after putenv() since the strings + * must persist until exec. The parent will + * free its copy after fork. + */ + if (putenv(*pp) != 0) { + warn("putenv"); + _exit(ERROR_EXIT); + } + } + /* Free the pointer array; strings stay for exec. */ + free(pam_envp); + pam_envp = NULL; + } +#endif /* Apply the environment from the entry, overriding * existing values (this will always set LOGNAME and * SHELL). putenv should not fail unless malloc does. @@ -398,6 +516,14 @@ child_process(entry *e, user *u) break; } +#ifdef PAM + if (jobpid > 0 && pam_envp != NULL) { + /* Parent doesn't need PAM env list after the fork. */ + openpam_free_envlist(pam_envp); + pam_envp = NULL; + } +#endif + /* middle process, child of original cron, parent of process running * the user's command. */ @@ -636,6 +762,14 @@ child_process(entry *e, user *u) if (*input_data && stdinjob > 0) wait_on_child(stdinjob, "grandchild stdinjob"); + +#ifdef PAM + if (pamh != NULL && strcmp(u->name, SYS_NAME)) { + /* Close the PAM session after the job finishes. */ + pam_cleanup(&pamh, &pam_session_opened, &pam_cred_established, + &pam_envp, usernm, getpid(), 1, PAM_SUCCESS); + } +#endif } static WAIT_T From nobody Wed Feb 4 03:56:42 2026 X-Original-To: dev-commits-src-branches@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 4f5RP70s4Dz6FZyw for ; Wed, 04 Feb 2026 03:56:43 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f5RP63KXRz3Zrb for ; Wed, 04 Feb 2026 03:56:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770177402; 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=qxXn1cw8mzvwgCyWmCQLO2UKDMMO5LvGUR/3wTCO0d4=; b=su2yYatfE4UB42c+jn98OZODqZVAQrgs3Ntlw/yA/nQsoXoBagfWi9VZHxAf3Uxesw11xr LYlixNRBkS/ulHPXnzVejlErn1vEDnSNhGtCwoCy1H2vTpRjtsK62npWsFO0W114lN8ZbP /5Jl2iq7dFt/19niMZUJJy+6e2abxKA55aQxIACD9rgrneVXKnamSE+yDtwaiTw9X1EFEx p3Qws143xz+miL44OWcaEaL5iZOLK7YyrmDPPOROctJMdihdhGpjTupUVeRhq16YbWh+1d BEr8gq/1XAYy1nJ07Bbb0Mz1AwiKTOk2ZWttPRtmmoIPUdNjTWxMWVdl9maLEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770177402; a=rsa-sha256; cv=none; b=jrNMyj4KF4XRdqBYTD55rvvreoBNTQQwGnX9/RaIHtRkK/sEdKSDlYba396fwp9zpzWJpr J6OQelqDGtXcaUh06qBFI+DA/QGdNZBECyFGuW2fNa4RaYsd+/tSPv2UqV8ONBYCxpjAvC i7J1yOaOZkiPdZkdLOaULPvgVbK7AH9/vocFdNjuQH951PnZX5IZq2xBuzjZJ7yYfIchSP bEkMnRB/8K6NEPJcZUY5hfiOsMe/c6llWP19XtS3XvNqwROmf4pSz7eNyfWxZnqHhEmTsk RwtzZF8/mVdlXHQNYMmkJ+RCK5F88wJXd38ioYdRP5aqYyMrVFzHcjxOgn0T9A== 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=1770177402; 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=qxXn1cw8mzvwgCyWmCQLO2UKDMMO5LvGUR/3wTCO0d4=; b=pc6Zem/hipV9N49UGKKowD7dPx+jfIwKvCvUd7aBYxYp+D8E6gig0hylMe7/+QFhHCwLda f/BnamcKOkepVrmlzddGN1ORvKNoLmx347NifE1PWyKmjvGT6wQn4TwoSeARicpnWsPcRG qZ+2d3Pb6lXLQEwJAl7BnlP6/jd4PpY5SsCqk37kcLDcMfDhk/1Fo1T9t7w8q3WRyMoihi 7pjgizNnEYWQsV9NvCfMl8nrhhZOoOwJrMs+gy8vsTYV0Punc+kwasM30rkiZuOMWT9YZh eURIXJlwyX/c8uuPGXvFUD9KoQa4Z9MAr2X3nGu62KRy9i1vfDELzzpXEMpXGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f5RP62k9MzjlC for ; Wed, 04 Feb 2026 03:56:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e67c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 04 Feb 2026 03:56:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: b5e328b19456 - stable/14 - cron: Implement full PAM session lifecycle for user jobs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b5e328b194561a50a6991e0a506a2532eec32ecc Auto-Submitted: auto-generated Date: Wed, 04 Feb 2026 03:56:42 +0000 Message-Id: <6982c37a.3e67c.a3002a@gitrepo.freebsd.org> The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=b5e328b194561a50a6991e0a506a2532eec32ecc commit b5e328b194561a50a6991e0a506a2532eec32ecc Author: Xin LI AuthorDate: 2025-12-29 09:32:24 +0000 Commit: Xin LI CommitDate: 2026-02-04 03:56:22 +0000 cron: Implement full PAM session lifecycle for user jobs Extend PAM integration beyond account checks to include credential establishment and session management, allowing PAM modules to configure the execution environment for user cron jobs. Previously, cron only called pam_acct_mgmt() to verify account validity but immediately terminated the PAM handle before job execution. This prevented PAM modules from establishing sessions, setting credentials (e.g., Kerberos tickets), or exporting environment variables needed by jobs. The PAM handle now persists in the intermediate process throughout the job execution, enabling proper session open/close pairing. Credentials are established and sessions opened while still running as root, before dropping privileges in the grandchild. PAM environment variables are exported in the job process with user crontab variables taking precedence. A session rule (pam_permit.so) is added to /etc/pam.d/cron to enable session support without changing default behavior. Administrators can replace this with other modules as needed. System crontab entries continue to bypass all PAM operations. PR: bin/244844 Reviewed by: des Differential Revision: https://reviews.freebsd.org/D54415 (cherry picked from commit 12444a4da514e91fdf984b31e1691d042d5f88d2) --- lib/libpam/pam.d/cron | 3 + usr.sbin/cron/cron/do_command.c | 144 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 142 insertions(+), 5 deletions(-) diff --git a/lib/libpam/pam.d/cron b/lib/libpam/pam.d/cron index 733631306641..490663508a72 100644 --- a/lib/libpam/pam.d/cron +++ b/lib/libpam/pam.d/cron @@ -6,3 +6,6 @@ # account account required pam_nologin.so account required pam_unix.so + +# session +session required pam_permit.so diff --git a/usr.sbin/cron/cron/do_command.c b/usr.sbin/cron/cron/do_command.c index 43b3269d3087..fde76b8c60d1 100644 --- a/usr.sbin/cron/cron/do_command.c +++ b/usr.sbin/cron/cron/do_command.c @@ -76,6 +76,41 @@ do_command(entry *e, user *u) Debug(DPROC, ("[%d] main process returning to work\n", getpid())) } +#ifdef PAM +static void +pam_cleanup(pam_handle_t **pamhp, int *session_opened, int *cred_established, + char ***pam_envp, const char *usernm, pid_t pid, int log_errors, + int end_status) +{ + int pam_err; + + if (*pamhp == NULL) + return; + if (*session_opened) { + pam_err = pam_close_session(*pamhp, PAM_SILENT); + if (log_errors && pam_err != PAM_SUCCESS) { + log_it(usernm, pid, "SESSION-CLOSE", + pam_strerror(*pamhp, pam_err)); + } + *session_opened = 0; + } + if (*cred_established) { + pam_err = pam_setcred(*pamhp, PAM_DELETE_CRED); + if (log_errors && pam_err != PAM_SUCCESS) { + log_it(usernm, pid, "CRED-DELETE", + pam_strerror(*pamhp, pam_err)); + } + *cred_established = 0; + } + if (*pam_envp != NULL) { + openpam_free_envlist(*pam_envp); + *pam_envp = NULL; + } + pam_end(*pamhp, end_status); + *pamhp = NULL; +} +#endif + static void child_process(entry *e, user *u) @@ -88,6 +123,14 @@ child_process(entry *e, user *u) int bytes = 1; int status = 0; const char *homedir = NULL; +#ifdef PAM + pam_handle_t *pamh = NULL; + int pam_err = PAM_SUCCESS; + int pam_session_opened = 0; + int pam_cred_established = 0; + /* Keep PAM env list in the middle process for the grandchild to use. */ + char **pam_envp = NULL; +#endif # if defined(LOGIN_CAP) struct passwd *pwd; login_cap_t *lc; @@ -113,8 +156,6 @@ child_process(entry *e, user *u) * as any user. */ if (strcmp(u->name, SYS_NAME)) { /* not equal */ - pam_handle_t *pamh = NULL; - int pam_err; struct pam_conv pamc = { .conv = openpam_nullconv, .appdata_ptr = NULL @@ -137,14 +178,50 @@ child_process(entry *e, user *u) exit(ERROR_EXIT); } + pam_err = pam_set_item(pamh, PAM_TTY, "cron"); + if (pam_err != PAM_SUCCESS) { + log_it("CRON", getpid(), "error", "can't set PAM_TTY"); + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 0, pam_err); + exit(ERROR_EXIT); + } + pam_err = pam_acct_mgmt(pamh, PAM_SILENT); /* Expired password shouldn't prevent the job from running. */ if (pam_err != PAM_SUCCESS && pam_err != PAM_NEW_AUTHTOK_REQD) { log_it(usernm, getpid(), "USER", "account unavailable"); + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 0, pam_err); + exit(ERROR_EXIT); + } + + pam_err = pam_setcred(pamh, PAM_ESTABLISH_CRED); + if (pam_err != PAM_SUCCESS) { + log_it(usernm, getpid(), "CRED", + pam_strerror(pamh, pam_err)); + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 0, pam_err); + exit(ERROR_EXIT); + } + pam_cred_established = 1; + + /* Establish the session while still root in the middle process. */ + pam_err = pam_open_session(pamh, PAM_SILENT); + if (pam_err != PAM_SUCCESS) { + log_it(usernm, getpid(), "SESSION", + pam_strerror(pamh, pam_err)); + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 0, pam_err); exit(ERROR_EXIT); } + pam_session_opened = 1; - pam_end(pamh, pam_err); + /* Collect PAM env now; apply only in grandchild before exec. */ + pam_envp = pam_getenvlist(pamh); } #endif @@ -159,6 +236,13 @@ child_process(entry *e, user *u) */ if (pipe(stdin_pipe) != 0 || pipe(stdout_pipe) != 0) { log_it("CRON", getpid(), "error", "can't pipe"); +#ifdef PAM + if (pamh != NULL && strcmp(u->name, SYS_NAME)) { + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 1, pam_err); + } +#endif exit(ERROR_EXIT); } @@ -205,12 +289,23 @@ child_process(entry *e, user *u) switch (jobpid = fork()) { case -1: log_it("CRON", getpid(), "error", "can't fork"); +#ifdef PAM + if (pamh != NULL && strcmp(u->name, SYS_NAME)) { + pam_cleanup(&pamh, &pam_session_opened, + &pam_cred_established, &pam_envp, usernm, + getpid(), 1, pam_err); + } +#endif exit(ERROR_EXIT); /*NOTREACHED*/ case 0: Debug(DPROC, ("[%d] grandchild process fork()'ed\n", getpid())) +#ifdef PAM + /* Grandchild runs the user job; PAM handle remains in parent. */ + pamh = NULL; +#endif if (e->uid == ROOT_UID) Jitter = RootJitter; if (Jitter != 0) { @@ -327,8 +422,8 @@ child_process(entry *e, user *u) * the homedir given by the pw entry otherwise. * * If !LOGIN_CAP, then HOME is always set in e->envp. - * - * XXX: probably should also consult PAM. + * PAM environment is applied later for the job; we do not + * use it for cwd to avoid changing historical behavior. */ { char *new_home = env_get("HOME", e->envp); @@ -349,6 +444,29 @@ child_process(entry *e, user *u) char *shell = env_get("SHELL", e->envp); char **p; +#ifdef PAM + if (pam_envp != NULL) { + char **pp; + + /* Apply PAM-provided env only to the job process. */ + for (pp = pam_envp; *pp != NULL; pp++) { + /* + * Hand off each PAM string directly to the + * environment; this process must not free + * pam_envp after putenv() since the strings + * must persist until exec. The parent will + * free its copy after fork. + */ + if (putenv(*pp) != 0) { + warn("putenv"); + _exit(ERROR_EXIT); + } + } + /* Free the pointer array; strings stay for exec. */ + free(pam_envp); + pam_envp = NULL; + } +#endif /* Apply the environment from the entry, overriding * existing values (this will always set LOGNAME and * SHELL). putenv should not fail unless malloc does. @@ -398,6 +516,14 @@ child_process(entry *e, user *u) break; } +#ifdef PAM + if (jobpid > 0 && pam_envp != NULL) { + /* Parent doesn't need PAM env list after the fork. */ + openpam_free_envlist(pam_envp); + pam_envp = NULL; + } +#endif + /* middle process, child of original cron, parent of process running * the user's command. */ @@ -636,6 +762,14 @@ child_process(entry *e, user *u) if (*input_data && stdinjob > 0) wait_on_child(stdinjob, "grandchild stdinjob"); + +#ifdef PAM + if (pamh != NULL && strcmp(u->name, SYS_NAME)) { + /* Close the PAM session after the job finishes. */ + pam_cleanup(&pamh, &pam_session_opened, &pam_cred_established, + &pam_envp, usernm, getpid(), 1, PAM_SUCCESS); + } +#endif } static WAIT_T From nobody Thu Feb 5 01:23:00 2026 X-Original-To: dev-commits-src-branches@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 4f5zxJ290Bz6QxRS for ; Thu, 05 Feb 2026 01:23:00 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f5zxJ1SBQz3cDT for ; Thu, 05 Feb 2026 01:23:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770254580; 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=GmNSJ+3SagvbD73P+pTWpj4EZPUS15FGYRc8qIySEYE=; b=PiIxULxhlchBp+py8ViDoKSPsjiteqmi9f4MKC3Yt0zlbqzcrPAS8rnVZ4CVzJy2GOIi8t 6PiNhH/g3KFQszvnrA3gDz56nfpPMXLjgy5tZ6ve7ZqhRLHMGaz7/oLMqP6wIFUpe8eA+8 TeAf9TZPjU2Oum/lVvAlYOO7Ot+zRXrHS/dZ9POiUr9zCMUNOR+Mylqazya0wbm4vIfw+c RPpxe7H0QurPDqwt8MOtVQu0DPWT+7YZdCXyw8ECBJjE7bikHWV8PZllxlu4VHE6Jhpnb/ zDiod0xD4yTKCpasDVXMHYXyXWLFd/auQMai8N8tkfMaZjKu79CZB4TI3uokYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770254580; a=rsa-sha256; cv=none; b=cNhYKZO+lhs3kdbUJe0iKuVYOb0sIpdyJ5a8FEijnHHkTiV5RTybTlqfwWhVpRnHUv25c4 iwQ/VSf3IC0zGrA1hlZTlnNLm0ygjGeh54Lx4Wn+uqc3idJc9Zrouc9kYXS3S5HkIUm78m 3arIyu3AnZLYgdpH3sP5tZIWtdaCYye6ty5G879GraXB2zPR22zg3Oqj5pmAZsMHHQf78L +0FAYHP8fa4h0vUaEhFHa1Wxy/pa1ad2utxWeJoQo8VDsKTKc9KEreCIA+BZDqtwBk8Tvo TMvxwiBldVErABIz0y3hjex8Nl6az0Wt2vpJ0R5pYXSbh/u2sxM8alXX7sgw2A== 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=1770254580; 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=GmNSJ+3SagvbD73P+pTWpj4EZPUS15FGYRc8qIySEYE=; b=j3WUQdR8W1CvTeXJSlWLQu7AJsHJwYS2Nzk4ROSUyNKhEOEvAOx/7M5bcDOYx7oK9UdDJe /8zRFAWVN0rGbIdWB2Rv9/YQ+IfLtZ/In600pHKHfPuSpL4TFoqq4EtZyHAbBgdWwe6J50 dGmQpFSuadR4h4JKeZeSks4geAg2zKggTfV8E45lsO8SiqcfdVA5DiU92/YLk8pcM2BIO9 FvyB15bvVOYgRdaEZOuXyNnP0QZ3DzOGHDTO7y7QQZRejC8hRToEl6MM8cAwFqsiESuDye n2va+8yzamQBhxi3IzZqsPN9dRGHZpyFLfi/xPaNBKjPk589P1xMC3qe3fbWNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f5zxJ0z6fz1MhG for ; Thu, 05 Feb 2026 01:23:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38305 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 01:23:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: e00ce2fe6536 - stable/15 - nfscommon: Add some support for POSIX draft ACLs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e00ce2fe6536c7a986cd4fac42e9b6d7f2d66357 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 01:23:00 +0000 Message-Id: <6983f0f4.38305.f5d21bb@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=e00ce2fe6536c7a986cd4fac42e9b6d7f2d66357 commit e00ce2fe6536c7a986cd4fac42e9b6d7f2d66357 Author: Rick Macklem AuthorDate: 2025-12-21 22:28:12 +0000 Commit: Rick Macklem CommitDate: 2026-02-05 01:19:36 +0000 nfscommon: Add some support for POSIX draft ACLs An internet draft (expected to become an RFC someday) https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls describes an extension to NFSv4.2 to handle POSIX draft ACLs. This is the first of several patches that implement the above draft. This patch should not result in a semantics change. (cherry picked from commit a35bbd5d9f5f887a6f3de15cfe61fcc73fe22dc8) --- sys/fs/nfs/nfs.h | 5 +++++ sys/fs/nfs/nfs_commonport.c | 20 ++++++++++++++++++++ sys/fs/nfs/nfs_var.h | 2 ++ sys/fs/nfs/nfsproto.h | 30 +++++++++++++++++++++++++++++- 4 files changed, 56 insertions(+), 1 deletion(-) diff --git a/sys/fs/nfs/nfs.h b/sys/fs/nfs/nfs.h index e6a125b388a8..ecff9b8e6849 100644 --- a/sys/fs/nfs/nfs.h +++ b/sys/fs/nfs/nfs.h @@ -867,6 +867,11 @@ typedef enum { NOTRUNNING=0, STARTSTOP=1, RUNNING=2 } nfsuserd_state; typedef enum { UNKNOWN=0, DELETED=1, NLINK_ZERO=2, VALID=3 } nfsremove_status; +/* Values for supports_nfsv4acls. */ +#define SUPPACL_NONE 0 +#define SUPPACL_NFSV4 1 +#define SUPPACL_POSIX 2 + #endif /* _KERNEL */ #endif /* _NFS_NFS_H */ diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index 862780741ee7..44fcbe2d5722 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -820,6 +820,26 @@ nfs_supportsnfsv4acls(struct vnode *vp) return (0); } +/* + * Determine if the file system supports POSIX draft ACLs. + * Return 1 if it does, 0 otherwise. + */ +int +nfs_supportsposixacls(struct vnode *vp) +{ + int error; + long retval; + + ASSERT_VOP_LOCKED(vp, "nfs supports posixacls"); + + if (nfsrv_useacl == 0) + return (0); + error = VOP_PATHCONF(vp, _PC_ACL_EXTENDED, &retval); + if (error == 0 && retval != 0) + return (1); + return (0); +} + /* * These are the first fields of all the context structures passed into * nfs_pnfsio(). diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 7db3952ecf5c..6b14c8486272 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -437,6 +437,7 @@ struct nfsreferral *nfsv4root_getreferral(vnode_t, vnode_t, u_int32_t); int nfsvno_pathconf(vnode_t, int, long *, struct ucred *, NFSPROC_T *); int nfsrv_atroot(vnode_t, uint64_t *); int nfs_supportsnfsv4acls(vnode_t); +int nfs_supportsposixacls(struct vnode *); /* nfs_commonacl.c */ int nfsrv_dissectace(struct nfsrv_descript *, struct acl_entry *, @@ -784,6 +785,7 @@ void nfsm_trimtrailing(struct nfsrv_descript *, struct mbuf *, char *, int, int); bool nfsrv_checkwrongsec(struct nfsrv_descript *, int, __enum_uint8(vtype)); void nfsrv_checknospc(void); +int nfs_supportsacls(struct vnode *); /* nfs_commonkrpc.c */ int newnfs_nmcancelreqs(struct nfsmount *); diff --git a/sys/fs/nfs/nfsproto.h b/sys/fs/nfs/nfsproto.h index 13fec8a102a3..41150ef88188 100644 --- a/sys/fs/nfs/nfsproto.h +++ b/sys/fs/nfs/nfsproto.h @@ -1025,6 +1025,10 @@ struct nfsv3_sattr { #define NFSATTRBIT_SECLABEL 80 #define NFSATTRBIT_MODEUMASK 81 #define NFSATTRBIT_XATTRSUPPORT 82 +#define NFSATTRBIT_ACLTRUEFORM 89 +#define NFSATTRBIT_ACLTRUEFORMSCOPE 90 +#define NFSATTRBIT_POSIXDEFAULTACL 91 +#define NFSATTRBIT_POSIXACCESSACL 92 #define NFSATTRBM_SUPPORTEDATTRS 0x00000001 #define NFSATTRBM_TYPE 0x00000002 @@ -1109,8 +1113,12 @@ struct nfsv3_sattr { #define NFSATTRBM_SECLABEL 0x00010000 #define NFSATTRBM_MODEUMASK 0x00020000 #define NFSATTRBM_XATTRSUPPORT 0x00040000 +#define NFSATTRBM_ACLTRUEFORM 0x02000000 +#define NFSATTRBM_ACLTRUEFORMSCOPE 0x04000000 +#define NFSATTRBM_POSIXDEFAULTACL 0x08000000 +#define NFSATTRBM_POSIXACCESSACL 0x10000000 -#define NFSATTRBIT_MAX 83 +#define NFSATTRBIT_MAX 93 /* * Sets of attributes that are supported, by words in the bitmap. @@ -1693,6 +1701,26 @@ typedef struct nfsv4stateid nfsv4stateid_t; #define NFSV4SXATTR_CREATE 1 #define NFSV4SXATTR_REPLACE 2 +/* Definitions for POSIX draft ACLs for NFSv4.2. */ +#define NFSV4_ACL_MODEL_NFS4 1 +#define NFSV4_ACL_MODEL_POSIX_DRAFT 2 +#define NFSV4_ACL_MODEL_NONE 3 + +#define NFSV4_ACL_SCOPE_FILE_OBJECT 1 +#define NFSV4_ACL_SCOPE_FILE_SYSTEM 2 +#define NFSV4_ACL_SCOPE_SERVER 3 + +#define NFSV4_POSIXACL_TAG_USER_OBJ 1 +#define NFSV4_POSIXACL_TAG_USER 2 +#define NFSV4_POSIXACL_TAG_GROUP_OBJ 3 +#define NFSV4_POSIXACL_TAG_GROUP 4 +#define NFSV4_POSIXACL_TAG_MASK 5 +#define NFSV4_POSIXACL_TAG_OTHER 6 + +#define NFSV4_POSIXACL_PERM_PERM_EXECUTE 0x00000001 +#define NFSV4_POSIXACL_PERM_PERM_WRITE 0x00000002 +#define NFSV4_POSIXACL_PERM_PERM_READ 0x00000004 + /* Values for ChangeAttrType (RFC-7862). */ #define NFSV4CHANGETYPE_MONOTONIC_INCR 0 #define NFSV4CHANGETYPE_VERS_COUNTER 1 From nobody Thu Feb 5 01:24:49 2026 X-Original-To: dev-commits-src-branches@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 4f5zzP4nYxz6Qxmg for ; Thu, 05 Feb 2026 01:24:49 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f5zzP4Ls5z3cR8 for ; Thu, 05 Feb 2026 01:24:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770254689; 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=brYvB6dzKguVEuNWWiC6TvU+DiFnIA9dY7n7dhCGLP8=; b=XwBoRQIbdp9mnX2zCrnUnazVW+vj3bDA5IbnyVFTD59Le/G8UmbOLe7U+Y2ttfX1BWe6pn VwW0Kf5l5g9SPgAzWgpB1aQbt2a1W0nfdL8YHVHrQp7jXz/eZ7vtb9jOt6xttYeulIFfsQ 4uE0DDDIE/ZDJZhsPhucevztz4qJK1uHESyt7+rXMcmpyIklkk8gGCOkmpSgX80LPlAUKq ebmQFHcVV8qZvLJtfyvix4YfrmDytQkckpUMh8wVm/r1eR/YdfLiW+g/IJKp5f/gzlvnm7 gMSzSBzuMdOeZ/XCKVet1zH65gM14XjUDObMu82rKbYjUVvPOCe7hlRm7CwCCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770254689; a=rsa-sha256; cv=none; b=x7GSX/0Ww5wKzgIq9vrNXIpgDGwHqI7N5KdnadnNcxn+G+cZCHrnXYOfsuQTkw+RBBDeGX G6pzvKwlHaP2ltEp/MvQw/imN/yoIP88WFR2J6nvuwXn30ItOM+OlG2fiGTVc7kOrCEmL5 ap9OjxTCcItmeen91CFw+V0G//G0bwOBrW26UfXTrqpMOeHnulag0RzfLTviqPjgIdqNEC 7c+fG1V5gWM11B9NnYyVh331yvrguLnUPl6Ap7rx9OYRriV3P/GRNC6o+4lTN1pbWz0Low Z/PD4Y7Mg4b/iHzZ+CTJPCf7L+XuwoJp8YhLfqUTcbKqdecAle4c/mON70FCPg== 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=1770254689; 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=brYvB6dzKguVEuNWWiC6TvU+DiFnIA9dY7n7dhCGLP8=; b=lTvn8Ujs5ZWbs6RMfXQaodaKfIiJzFp8xkcZ8qy6DRzkjFvVuU8OGIZGckXer5Qii35FyI 9zMokEAUFP3qoynUW5yU7ltqNek8S/nIsjmjFGpOITHPQZhp1JichbrnocnjpSSdnwFDZK lHkFpZ2Yxj1juV5oiPGaammj38zlaZ8iBu3KmYEID+i0zg0JafPHfmlA9g8QKDIkXkN8nG KmxMCLZsurXuGyI+fYBPWIngQZQTwf5wHzPYSVulmX43C+fggKS0orz2JEasnZHgoCvx4U 9evRDAOBLEzxrVZibPZ7P8+/JSJY7z4ZnjbeZ+t35ACehO5IOUr7TpKaFhSNyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f5zzP3f04z1MxB for ; Thu, 05 Feb 2026 01:24:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3857e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 01:24:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 20bfa56c514b - stable/15 - nfsd: Add some support for POSIX draft ACLs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 20bfa56c514b8bbbae1e4d4be63ace0a68add412 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 01:24:49 +0000 Message-Id: <6983f161.3857e.26572f67@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=20bfa56c514b8bbbae1e4d4be63ace0a68add412 commit 20bfa56c514b8bbbae1e4d4be63ace0a68add412 Author: Rick Macklem AuthorDate: 2025-12-22 00:04:24 +0000 Commit: Rick Macklem CommitDate: 2026-02-05 01:23:05 +0000 nfsd: Add some support for POSIX draft ACLs An internet draft (expected to become an RFC someday) https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls describes an extension to NFSv4.2 to handle POSIX draft ACLs. This is the second of several patches that implement the above draft. The only semantics change would be if you have exported a UFS file system mounted with the "acl" option. In that case, you would see the acl attribute supported. This is bogus, but will be handled in the next commit. (cherry picked from commit 8e3fd450cc53d37fcf4e7f460f559d03c22c0d84) --- sys/fs/nfs/nfs_var.h | 15 +++---- sys/fs/nfsserver/nfs_nfsdport.c | 84 ++++++++++++++++++++++++++++++++++------ sys/fs/nfsserver/nfs_nfsdserv.c | 86 ++++++++++++++++++++++++++++++----------- sys/fs/nfsserver/nfs_nfsdsubs.c | 38 +++++++++++++----- 4 files changed, 172 insertions(+), 51 deletions(-) diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 6b14c8486272..49a94323a572 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -409,7 +409,7 @@ void nfsv4_gidtostr(gid_t, u_char **, int *); int nfsv4_strtogid(struct nfsrv_descript *, u_char *, int, gid_t *); int nfsrv_checkuidgid(struct nfsrv_descript *, struct nfsvattr *); void nfsrv_fixattr(struct nfsrv_descript *, vnode_t, - struct nfsvattr *, NFSACL_T *, NFSPROC_T *, nfsattrbit_t *, + struct nfsvattr *, NFSACL_T *, NFSACL_T *, NFSPROC_T *, nfsattrbit_t *, struct nfsexstuff *); int nfsrv_errmoved(int); int nfsrv_putreferralattr(struct nfsrv_descript *, nfsattrbit_t *, @@ -734,7 +734,7 @@ int nfsvno_statfs(vnode_t, struct statfs *); void nfsvno_getfs(struct nfsfsinfo *, int); void nfsvno_open(struct nfsrv_descript *, struct nameidata *, nfsquad_t, nfsv4stateid_t *, struct nfsstate *, int *, struct nfsvattr *, int32_t *, - int, NFSACL_T *, nfsattrbit_t *, struct ucred *, bool, + int, NFSACL_T *, NFSACL_T *, nfsattrbit_t *, struct ucred *, bool, struct nfsexstuff *, vnode_t *); int nfsvno_updfilerev(vnode_t, struct nfsvattr *, struct nfsrv_descript *, NFSPROC_T *); @@ -742,10 +742,10 @@ int nfsvno_fillattr(struct nfsrv_descript *, struct mount *, vnode_t, struct nfsvattr *, fhandle_t *, int, nfsattrbit_t *, struct ucred *, NFSPROC_T *, int, int, int, int, uint64_t, bool, bool, bool, uint32_t, bool); -int nfsrv_sattr(struct nfsrv_descript *, vnode_t, struct nfsvattr *, nfsattrbit_t *, - NFSACL_T *, NFSPROC_T *); -int nfsv4_sattr(struct nfsrv_descript *, vnode_t, struct nfsvattr *, nfsattrbit_t *, - NFSACL_T *, NFSPROC_T *); +int nfsrv_sattr(struct nfsrv_descript *, vnode_t, struct nfsvattr *, + nfsattrbit_t *, NFSACL_T *, NFSACL_T *, NFSPROC_T *); +int nfsv4_sattr(struct nfsrv_descript *, vnode_t, struct nfsvattr *, + nfsattrbit_t *, NFSACL_T *, NFSACL_T *, NFSPROC_T *); int nfsvno_checkexp(mount_t, NFSSOCKADDR_T, struct nfsexstuff *, struct ucred **); int nfsvno_fhtovp(mount_t, fhandle_t *, NFSSOCKADDR_T, int, @@ -767,7 +767,8 @@ int nfsrv_dscreate(struct vnode *, struct vattr *, struct vattr *, struct ucred *, NFSPROC_T *, struct vnode **); int nfsrv_updatemdsattr(struct vnode *, struct nfsvattr *, NFSPROC_T *); void nfsrv_killrpcs(struct nfsmount *); -int nfsrv_setacl(struct vnode *, NFSACL_T *, struct ucred *, NFSPROC_T *); +int nfsrv_setacl(struct vnode *, + NFSACL_T *, acl_type_t, struct ucred *, NFSPROC_T *); int nfsvno_seek(struct nfsrv_descript *, struct vnode *, u_long, off_t *, int, bool *, struct ucred *, NFSPROC_T *); int nfsvno_allocate(struct vnode *, off_t, off_t, struct ucred *, NFSPROC_T *); diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 18e5813596c6..61d0f2aa8f90 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -1457,7 +1457,7 @@ nfsvno_getsymlink(struct nfsrv_descript *nd, struct nfsvattr *nvap, *pathcpp = NULL; *lenp = 0; if ((nd->nd_flag & ND_NFSV3) && - (error = nfsrv_sattr(nd, NULL, nvap, NULL, NULL, p))) + (error = nfsrv_sattr(nd, NULL, nvap, NULL, NULL, NULL, p))) goto nfsmout; NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); len = fxdr_unsigned(int, *tl); @@ -1969,8 +1969,8 @@ void nfsvno_open(struct nfsrv_descript *nd, struct nameidata *ndp, nfsquad_t clientid, nfsv4stateid_t *stateidp, struct nfsstate *stp, int *exclusive_flagp, struct nfsvattr *nvap, int32_t *cverf, int create, - NFSACL_T *aclp, nfsattrbit_t *attrbitp, struct ucred *cred, bool done_namei, - struct nfsexstuff *exp, struct vnode **vpp) + NFSACL_T *aclp, NFSACL_T *daclp, nfsattrbit_t *attrbitp, struct ucred *cred, + bool done_namei, struct nfsexstuff *exp, struct vnode **vpp) { struct vnode *vp = NULL; u_quad_t tempsize; @@ -2034,7 +2034,7 @@ nfsvno_open(struct nfsrv_descript *nd, struct nameidata *ndp, NFSATTRBIT_TIMEACCESS); } else { nfsrv_fixattr(nd, ndp->ni_vp, nvap, - aclp, p, attrbitp, exp); + aclp, daclp, p, attrbitp, exp); } } vp = ndp->ni_vp; @@ -2964,7 +2964,7 @@ ateof: clone_blksize = 0; if (nvp != NULL) { supports_nfsv4acls = - nfs_supportsnfsv4acls(nvp); + nfs_supportsacls(nvp); if (NFSISSET_ATTRBIT(&attrbits, NFSATTRBIT_XATTRSUPPORT)) { ret = VOP_GETEXTATTR(nvp, @@ -3086,7 +3086,7 @@ nfsmout: */ int nfsrv_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, - nfsattrbit_t *attrbitp, NFSACL_T *aclp, struct thread *p) + nfsattrbit_t *attrbitp, NFSACL_T *aclp, NFSACL_T *daclp, struct thread *p) { u_int32_t *tl; struct nfsv2_sattr *sp; @@ -3167,7 +3167,7 @@ nfsrv_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, } break; case ND_NFSV4: - error = nfsv4_sattr(nd, vp, nvap, attrbitp, aclp, p); + error = nfsv4_sattr(nd, vp, nvap, attrbitp, aclp, daclp, p); } nfsmout: NFSEXITCODE2(error, nd); @@ -3180,7 +3180,7 @@ nfsmout: */ int nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, - nfsattrbit_t *attrbitp, NFSACL_T *aclp, struct thread *p) + nfsattrbit_t *attrbitp, NFSACL_T *aclp, NFSACL_T *daclp, struct thread *p) { u_int32_t *tl; int attrsum = 0; @@ -3214,6 +3214,10 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_HIDDEN) || NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_SYSTEM)) nvap->na_flags = 0; + if (NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_ACL) && + (NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_POSIXDEFAULTACL) || + NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_POSIXACCESSACL))) + nd->nd_repstat = NFSERR_INVAL; } moderet = 0; for (; bitpos < NFSATTRBIT_MAX; bitpos++) { @@ -3427,6 +3431,38 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, } attrsum += 2 * NFSX_UNSIGNED; break; + case NFSATTRBIT_POSIXACCESSACL: + error = nfsrv_dissectacl(nd, aclp, true, &aceerr, + &aclsize, p); + if (error != 0) + goto nfsmout; + if (!nd->nd_repstat) { + if ((nd->nd_flag & ND_NFSV42) == 0) + nd->nd_repstat = NFSERR_ATTRNOTSUPP; + else if (aclp != NULL && aclp->acl_cnt == 0) + nd->nd_repstat = NFSERR_INVAL; + else if (aceerr != 0) + nd->nd_repstat = aceerr; + } + attrsum += aclsize; + break; + case NFSATTRBIT_POSIXDEFAULTACL: + error = nfsrv_dissectacl(nd, daclp, true, &aceerr, + &aclsize, p); + if (error != 0) + goto nfsmout; + if (!nd->nd_repstat) { + if ((nd->nd_flag & ND_NFSV42) == 0) + nd->nd_repstat = NFSERR_ATTRNOTSUPP; + else if (aclp != NULL && aclp->acl_cnt == 0) + nd->nd_repstat = NFSERR_INVAL; + else if (aceerr != 0) + nd->nd_repstat = aceerr; + else if (vp != NULL && vp->v_type != VDIR) + nd->nd_repstat = NFSERR_INVAL; + } + attrsum += aclsize; + break; default: nd->nd_repstat = NFSERR_ATTRNOTSUPP; /* @@ -6835,14 +6871,17 @@ nfsrv_pnfsstatfs(struct statfs *sf, struct mount *mp) } /* - * Set an NFSv4 acl. + * Set an acl. */ int -nfsrv_setacl(struct vnode *vp, NFSACL_T *aclp, struct ucred *cred, NFSPROC_T *p) +nfsrv_setacl(struct vnode *vp, NFSACL_T *aclp, acl_type_t atype, + struct ucred *cred, NFSPROC_T *p) { int error; - if (nfsrv_useacl == 0 || nfs_supportsnfsv4acls(vp) == 0) { + if (nfsrv_useacl == 0 || (atype == ACL_TYPE_NFS4 && + nfs_supportsnfsv4acls(vp) == 0) || (atype != ACL_TYPE_NFS4 && + nfs_supportsposixacls(vp) == 0)) { error = NFSERR_ATTRNOTSUPP; goto out; } @@ -6856,7 +6895,14 @@ nfsrv_setacl(struct vnode *vp, NFSACL_T *aclp, struct ucred *cred, NFSPROC_T *p) error = NFSERR_ATTRNOTSUPP; goto out; } - error = VOP_SETACL(vp, ACL_TYPE_NFS4, aclp, cred, p); + if (aclp->acl_cnt == 0) { + if (atype != ACL_TYPE_DEFAULT || vp->v_type != VDIR) { + error = NFSERR_INVAL; + goto out; + } + error = VOP_SETACL(vp, atype, NULL, cred, p); + } else + error = VOP_SETACL(vp, atype, aclp, cred, p); if (error == 0) { error = nfsrv_dssetacl(vp, aclp, cred, p); if (error == ENOENT) @@ -7390,6 +7436,20 @@ nfsrv_checknospc(void) free(devid, M_TEMP); } +/* + * Return the correct ACL support value for a vnode. + */ +int +nfs_supportsacls(struct vnode *vp) +{ + + if (nfs_supportsnfsv4acls(vp) != 0) + return (SUPPACL_NFSV4); + else if (nfs_supportsposixacls(vp) != 0) + return (SUPPACL_POSIX); + return (SUPPACL_NONE); +} + /* * Initialize everything that needs to be initialized for a vnet. */ diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index 71b32082a91e..faccb174d998 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -122,7 +122,7 @@ static void nfsrvd_symlinksub(struct nfsrv_descript *nd, struct nameidata *ndp, static void nfsrvd_mkdirsub(struct nfsrv_descript *nd, struct nameidata *ndp, struct nfsvattr *nvap, fhandle_t *fhp, vnode_t *vpp, vnode_t dirp, struct nfsvattr *dirforp, struct nfsvattr *diraftp, - int *diraft_retp, nfsattrbit_t *attrbitp, NFSACL_T *aclp, + int *diraft_retp, nfsattrbit_t *attrbitp, NFSACL_T *aclp, NFSACL_T *daclp, NFSPROC_T *p, struct nfsexstuff *exp); /* @@ -310,7 +310,7 @@ nfsrvd_getattr(struct nfsrv_descript *nd, int isdgram, nd->nd_repstat = nfsrv_checkgetattr(nd, vp, &nva, &attrbits, p); if (nd->nd_repstat == 0) { - supports_nfsv4acls = nfs_supportsnfsv4acls(vp); + supports_nfsv4acls = nfs_supportsacls(vp); xattrsupp = false; if (NFSISSET_ATTRBIT(&attrbits, NFSATTRBIT_XATTRSUPPORT)) { @@ -409,7 +409,7 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, struct timespec guard = { 0, 0 }; nfsattrbit_t attrbits, retbits; nfsv4stateid_t stateid; - NFSACL_T *aclp = NULL; + NFSACL_T *aclp = NULL, *daclp = NULL; struct thread *p = curthread; NFSZERO_ATTRBIT(&retbits); @@ -420,6 +420,8 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, #ifdef NFS4_ACL_EXTATTR_NAME aclp = acl_alloc(M_WAITOK); aclp->acl_cnt = 0; + daclp = acl_alloc(M_WAITOK); + daclp->acl_cnt = 0; #endif gotproxystateid = 0; NFSVNO_ATTRINIT(&nva); @@ -435,7 +437,7 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, stateid.seqid == 0xffffffff) gotproxystateid = 1; } - error = nfsrv_sattr(nd, vp, &nva, &attrbits, aclp, p); + error = nfsrv_sattr(nd, vp, &nva, &attrbits, aclp, daclp, p); if (error) goto nfsmout; @@ -464,6 +466,7 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, vput(vp); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif nfsrv_wcc(nd, preat_ret, &nva2, postat_ret, &nva); goto out; @@ -613,10 +616,28 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, #ifdef NFS4_ACL_EXTATTR_NAME if (!nd->nd_repstat && aclp->acl_cnt > 0 && NFSISSET_ATTRBIT(&attrbits, NFSATTRBIT_ACL)) { - nd->nd_repstat = nfsrv_setacl(vp, aclp, nd->nd_cred, p); - if (!nd->nd_repstat) + nd->nd_repstat = nfsrv_setacl(vp, aclp, ACL_TYPE_NFS4, + nd->nd_cred, p); + if (!nd->nd_repstat) NFSSETBIT_ATTRBIT(&retbits, NFSATTRBIT_ACL); } + if (!nd->nd_repstat && aclp->acl_cnt > 0 && + NFSISSET_ATTRBIT(&attrbits, NFSATTRBIT_POSIXACCESSACL)) { + nd->nd_repstat = nfsrv_setacl(vp, aclp, ACL_TYPE_ACCESS, + nd->nd_cred, p); + if (!nd->nd_repstat) + NFSSETBIT_ATTRBIT(&retbits, NFSATTRBIT_POSIXACCESSACL); + } + if (!nd->nd_repstat && + NFSISSET_ATTRBIT(&attrbits, NFSATTRBIT_POSIXDEFAULTACL)) { + if (daclp == NULL) + nd->nd_repstat = NFSERR_INVAL; + if (nd->nd_repstat == 0) + nd->nd_repstat = nfsrv_setacl(vp, daclp, + ACL_TYPE_DEFAULT, nd->nd_cred, p); + if (nd->nd_repstat == 0) + NFSSETBIT_ATTRBIT(&retbits, NFSATTRBIT_POSIXDEFAULTACL); + } #endif } else if (!nd->nd_repstat) { nd->nd_repstat = nfsvno_setattr(vp, &nva, nd->nd_cred, p, @@ -630,6 +651,7 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, vput(vp); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif if (nd->nd_flag & ND_NFSV3) nfsrv_wcc(nd, preat_ret, &nva2, postat_ret, &nva); @@ -645,6 +667,7 @@ nfsmout: vput(vp); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif if (nd->nd_flag & ND_NFSV4) { /* @@ -1290,7 +1313,8 @@ nfsrvd_create(struct nfsrv_descript *nd, __unused int isdgram, switch (how) { case NFSCREATE_GUARDED: case NFSCREATE_UNCHECKED: - error = nfsrv_sattr(nd, NULL, &nva, NULL, NULL, p); + error = nfsrv_sattr(nd, NULL, &nva, NULL, NULL, + NULL, p); if (error) goto nfsmout; break; @@ -1415,7 +1439,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, nfsattrbit_t attrbits; char *bufp = NULL, *pathcp = NULL; u_long *hashp, cnflags; - NFSACL_T *aclp = NULL; + NFSACL_T *aclp = NULL, *daclp = NULL; struct thread *p = curthread; NFSVNO_ATTRINIT(&nva); @@ -1427,6 +1451,8 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, #ifdef NFS4_ACL_EXTATTR_NAME aclp = acl_alloc(M_WAITOK); aclp->acl_cnt = 0; + daclp = acl_alloc(M_WAITOK); + daclp->acl_cnt = 0; #endif /* @@ -1473,6 +1499,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, vrele(dp); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif goto out; } @@ -1487,7 +1514,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); vtyp = nfsv34tov_type(*tl); } - error = nfsrv_sattr(nd, NULL, &nva, &attrbits, aclp, p); + error = nfsrv_sattr(nd, NULL, &nva, &attrbits, aclp, daclp, p); if (error) goto nfsmout; nva.na_type = vtyp; @@ -1511,6 +1538,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, vrele(dp); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif nfsvno_relpathbuf(&named); if (pathcp) @@ -1544,6 +1572,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, } #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif if (nd->nd_flag & ND_NFSV3) nfsrv_wcc(nd, dirfor_ret, &dirfor, diraft_ret, @@ -1556,10 +1585,11 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, if ((nd->nd_flag & ND_NFSV4) && (vtyp == VDIR || vtyp == VLNK)) { if (vtyp == VDIR) { nfsrvd_mkdirsub(nd, &named, &nva, fhp, vpp, dirp, - &dirfor, &diraft, &diraft_ret, &attrbits, aclp, p, - exp); + &dirfor, &diraft, &diraft_ret, &attrbits, aclp, + daclp, p, exp); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif goto out; } else if (vtyp == VLNK) { @@ -1568,6 +1598,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, aclp, p, exp, pathcp, pathlen); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif free(pathcp, M_TEMP); goto out; @@ -1577,7 +1608,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, nd->nd_repstat = nfsvno_mknod(&named, &nva, nd->nd_cred, p); if (!nd->nd_repstat) { vp = named.ni_vp; - nfsrv_fixattr(nd, vp, &nva, aclp, p, &attrbits, exp); + nfsrv_fixattr(nd, vp, &nva, aclp, daclp, p, &attrbits, exp); nd->nd_repstat = nfsvno_getfh(vp, fhp, p); if ((nd->nd_flag & ND_NFSV3) && !nd->nd_repstat) nd->nd_repstat = nfsvno_getattr(vp, &nva, nd, p, 1, @@ -1608,6 +1639,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, nfsrv_wcc(nd, dirfor_ret, &dirfor, diraft_ret, &diraft); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif out: @@ -1617,6 +1649,7 @@ nfsmout: vrele(dp); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif if (bufp) nfsvno_relpathbuf(&named); @@ -2086,7 +2119,8 @@ nfsrvd_symlinksub(struct nfsrv_descript *nd, struct nameidata *ndp, nd->nd_repstat = nfsvno_symlink(ndp, nvap, pathcp, pathlen, !(nd->nd_flag & ND_NFSV2), nd->nd_saveduid, nd->nd_cred, p, exp); if (!nd->nd_repstat && !(nd->nd_flag & ND_NFSV2)) { - nfsrv_fixattr(nd, ndp->ni_vp, nvap, aclp, p, attrbitp, exp); + nfsrv_fixattr(nd, ndp->ni_vp, nvap, aclp, NULL, p, attrbitp, + exp); if (nd->nd_flag & ND_NFSV3) { nd->nd_repstat = nfsvno_getfh(ndp->ni_vp, fhp, p); if (!nd->nd_repstat) @@ -2143,7 +2177,8 @@ nfsrvd_mkdir(struct nfsrv_descript *nd, __unused int isdgram, if (!nd->nd_repstat) { NFSVNO_ATTRINIT(&nva); if (nd->nd_flag & ND_NFSV3) { - error = nfsrv_sattr(nd, NULL, &nva, NULL, NULL, p); + error = nfsrv_sattr(nd, NULL, &nva, NULL, NULL, NULL, + p); if (error) goto nfsmout; } else { @@ -2179,7 +2214,7 @@ nfsrvd_mkdir(struct nfsrv_descript *nd, __unused int isdgram, * Call nfsrvd_mkdirsub() for the code common to V4 as well. */ nfsrvd_mkdirsub(nd, &named, &nva, fhp, vpp, dirp, &dirfor, &diraft, - &diraft_ret, NULL, NULL, p, exp); + &diraft_ret, NULL, NULL, NULL, p, exp); if (nd->nd_flag & ND_NFSV3) { if (!nd->nd_repstat) { @@ -2209,7 +2244,7 @@ static void nfsrvd_mkdirsub(struct nfsrv_descript *nd, struct nameidata *ndp, struct nfsvattr *nvap, fhandle_t *fhp, vnode_t *vpp, vnode_t dirp, struct nfsvattr *dirforp, struct nfsvattr *diraftp, - int *diraft_retp, nfsattrbit_t *attrbitp, NFSACL_T *aclp, + int *diraft_retp, nfsattrbit_t *attrbitp, NFSACL_T *aclp, NFSACL_T *daclp, NFSPROC_T *p, struct nfsexstuff *exp) { vnode_t vp; @@ -2220,7 +2255,7 @@ nfsrvd_mkdirsub(struct nfsrv_descript *nd, struct nameidata *ndp, nd->nd_cred, p, exp); if (!nd->nd_repstat) { vp = ndp->ni_vp; - nfsrv_fixattr(nd, vp, nvap, aclp, p, attrbitp, exp); + nfsrv_fixattr(nd, vp, nvap, aclp, daclp, p, attrbitp, exp); nd->nd_repstat = nfsvno_getfh(vp, fhp, p); if (!(nd->nd_flag & ND_NFSV4) && !nd->nd_repstat) nd->nd_repstat = nfsvno_getattr(vp, nvap, nd, p, 1, @@ -2941,7 +2976,7 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, nfsquad_t clientid; char *bufp = NULL; u_long *hashp; - NFSACL_T *aclp = NULL; + NFSACL_T *aclp = NULL, *daclp = NULL; struct thread *p = curthread; bool done_namei; __enum_uint8_decl(wdelegace) { USENONE, USEMODE, USENFSV4ACL } @@ -2950,6 +2985,8 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, #ifdef NFS4_ACL_EXTATTR_NAME aclp = acl_alloc(M_WAITOK); aclp->acl_cnt = 0; + daclp = acl_alloc(M_WAITOK); + daclp->acl_cnt = 0; #endif NFSZERO_ATTRBIT(&attrbits); done_namei = false; @@ -3060,7 +3097,8 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, switch (how) { case NFSCREATE_UNCHECKED: case NFSCREATE_GUARDED: - error = nfsv4_sattr(nd, NULL, &nva, &attrbits, aclp, p); + error = nfsv4_sattr(nd, NULL, &nva, &attrbits, aclp, + daclp, p); if (error) goto nfsmout; /* @@ -3086,7 +3124,8 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, NFSM_DISSECT(tl, u_int32_t *, NFSX_VERF); cverf[0] = *tl++; cverf[1] = *tl; - error = nfsv4_sattr(nd, NULL, &nva, &attrbits, aclp, p); + error = nfsv4_sattr(nd, NULL, &nva, &attrbits, aclp, + daclp, p); if (error != 0) goto nfsmout; if ((vn_irflag_read(dp) & VIRF_NAMEDDIR) != 0 || @@ -3153,6 +3192,7 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, vrele(dp); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif free(stp, M_NFSDSTATE); nfsvno_relpathbuf(&named); @@ -3209,8 +3249,8 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, } } nfsvno_open(nd, &named, clientid, &stateid, stp, - &exclusive_flag, &nva, cverf, create, aclp, &attrbits, - nd->nd_cred, done_namei, exp, &vp); + &exclusive_flag, &nva, cverf, create, aclp, daclp, + &attrbits, nd->nd_cred, done_namei, exp, &vp); } else if (claim == NFSV4OPEN_CLAIMPREVIOUS || claim == NFSV4OPEN_CLAIMFH || claim == NFSV4OPEN_CLAIMDELEGATECURFH || claim == NFSV4OPEN_CLAIMDELEGATEPREVFH) { @@ -3465,6 +3505,7 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, vrele(dirp); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif NFSEXITCODE2(0, nd); return (0); @@ -3472,6 +3513,7 @@ nfsmout: vrele(dp); #ifdef NFS4_ACL_EXTATTR_NAME acl_free(aclp); + acl_free(daclp); #endif if (stp) free(stp, M_NFSDSTATE); diff --git a/sys/fs/nfsserver/nfs_nfsdsubs.c b/sys/fs/nfsserver/nfs_nfsdsubs.c index cc0e169af9b7..c8c78d98be72 100644 --- a/sys/fs/nfsserver/nfs_nfsdsubs.c +++ b/sys/fs/nfsserver/nfs_nfsdsubs.c @@ -1644,8 +1644,8 @@ out: */ void nfsrv_fixattr(struct nfsrv_descript *nd, vnode_t vp, - struct nfsvattr *nvap, NFSACL_T *aclp, NFSPROC_T *p, nfsattrbit_t *attrbitp, - struct nfsexstuff *exp) + struct nfsvattr *nvap, NFSACL_T *aclp, NFSACL_T *daclp, NFSPROC_T *p, + nfsattrbit_t *attrbitp, struct nfsexstuff *exp) { int change = 0; struct nfsvattr nva; @@ -1747,16 +1747,34 @@ nfsrv_fixattr(struct nfsrv_descript *nd, vnode_t vp, } #ifdef NFS4_ACL_EXTATTR_NAME if (NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_ACL) && - nfsrv_useacl != 0 && aclp != NULL) { - if (aclp->acl_cnt > 0) { - error = nfsrv_setacl(vp, aclp, nd->nd_cred, p); - if (error) { - NFSCLRBIT_ATTRBIT(attrbitp, NFSATTRBIT_ACL); - } - } + nfsrv_useacl != 0 && aclp != NULL && aclp->acl_cnt > 0) { + error = nfsrv_setacl(vp, aclp, ACL_TYPE_NFS4, + nd->nd_cred, p); + if (error != 0) + NFSCLRBIT_ATTRBIT(attrbitp, NFSATTRBIT_ACL); } else -#endif + NFSCLRBIT_ATTRBIT(attrbitp, NFSATTRBIT_ACL); + if (NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_POSIXACCESSACL) && + nfsrv_useacl != 0 && aclp != NULL && aclp->acl_cnt > 0) { + error = nfsrv_setacl(vp, aclp, ACL_TYPE_ACCESS, + nd->nd_cred, p); + if (error != 0) + NFSCLRBIT_ATTRBIT(attrbitp, NFSATTRBIT_POSIXACCESSACL); + } else + NFSCLRBIT_ATTRBIT(attrbitp, NFSATTRBIT_POSIXACCESSACL); + if (NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_POSIXDEFAULTACL) && + nfsrv_useacl != 0 && daclp != NULL && daclp->acl_cnt > 0) { + error = nfsrv_setacl(vp, daclp, ACL_TYPE_DEFAULT, + nd->nd_cred, p); + if (error != 0) + NFSCLRBIT_ATTRBIT(attrbitp, NFSATTRBIT_POSIXDEFAULTACL); + } else + NFSCLRBIT_ATTRBIT(attrbitp, NFSATTRBIT_POSIXDEFAULTACL); +#else NFSCLRBIT_ATTRBIT(attrbitp, NFSATTRBIT_ACL); + NFSCLRBIT_ATTRBIT(attrbitp, NFSATTRBIT_POSIXACCESSACL); + NFSCLRBIT_ATTRBIT(attrbitp, NFSATTRBIT_POSIXDEFAULTACL); +#endif nd->nd_cred->cr_uid = tuid; out: From nobody Thu Feb 5 01:26:18 2026 X-Original-To: dev-commits-src-branches@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 4f601C6w6wz6QxlR for ; Thu, 05 Feb 2026 01:26:23 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f601C551bz3cwW for ; Thu, 05 Feb 2026 01:26:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770254783; 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=s92FsoiYf/oxDCJzdmqUBi3eUtkmLi/KYNt6evBsOxo=; b=wXeCEM5m6HloS9Q27e/wbsabwNxoY0O5fu5Q1JdhPo7vY8Cvh0GMVdEtn/DwyrdeT9xN0m 0A+OOIz8q3b6wGM2ip6hTF7HPkUjUQAMwbK1w4jIFCnaw3o/ihKDv96SOccP9zbv9gE41f aDU0Y5hsF5FgS+bPCdt9TQFQr5Z61ELxeZbTwa4Bzp0dUY5064AOD+El5mNNPMUYgc37E3 3YCbPulqD8fl2UJMGep1gjT9WlOYjmhThysM1vUjQkEDRCYiDUeZWT7karqVmdaCc+YK6N cuG7w2AhlhRatM1IkUeO1ElBB0tftWCj08tiRhHcRH2TXMZPKtbdmcM3HdQavg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770254783; a=rsa-sha256; cv=none; b=Nk1oNIY/BRES9te5mCuA3DwAGt+Io2YpDWq2+jjx6OxVMUIQxyeXFXF18WUMIrU+O4z31W BZpbFc0cYiS+DLF3WhC7UNAiQ/XNGlAMtFXptCIETF/jjfxQptNqxkhWdAYC5BBkNMeNM8 Tr7W/kQvpFWMjT3RtGhHhoDtdzn31Z7E3/SSUtcMUzalkZCOvdT5oycZ2sCQnQZkyr7B5d nuTTVjRBHAAfpYkYphsnBQTLAhtMm0PIiHp4VoOS0aThY4Z3H6PJbiKSuRNvSVliSRyWur tAjNbm9p/jb20xIw+bOaNGpUcCnpg9INayopjhsoWZ+2fS24VQGlqey0kr+0zg== 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=1770254783; 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=s92FsoiYf/oxDCJzdmqUBi3eUtkmLi/KYNt6evBsOxo=; b=aNRbu4MzWvaEb4TWZcMCWJKIVi46+M04YctkQkHKn3PQS4W3CT9Qkm/GF4OPhS8WNBDI1J xMe1pe0UM56uzFrDDomPoB6atHToZ8+YQZBnG/dLhPKtlCCvSNJYHEFoEU3qDBbG1bihyZ VFz+3kLFdsAtUMhS5xPsaljMb6D0+pK8zkdKTsMtTOO+5J2KeQP8dAI4FOuPFUinj3SmrU 0NcL1SOZolx7tI+TnL5Uk9zZBfhlU4ulc3qRIut7xbOUhv5jd4uqrzLgoemwmRbxl4iSux iJe0u7lyUA6RMxbXXaJZw++9oe+AgARpR7kVxd05x+253zXUDyOon3Vnxt37mA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f60163sPwz1MxF for ; Thu, 05 Feb 2026 01:26:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 376e8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 01:26:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 2eddaeb3e505 - stable/15 - nfscommon: Add some support for POSIX draft ACLs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2eddaeb3e505fa9e619cd3caefa1122ab5511498 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 01:26:18 +0000 Message-Id: <6983f1ba.376e8.46281dda@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=2eddaeb3e505fa9e619cd3caefa1122ab5511498 commit 2eddaeb3e505fa9e619cd3caefa1122ab5511498 Author: Rick Macklem AuthorDate: 2025-12-22 01:07:10 +0000 Commit: Rick Macklem CommitDate: 2026-02-05 01:24:45 +0000 nfscommon: Add some support for POSIX draft ACLs An internet draft (expected to become an RFC someday) https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls describes an extension to NFSv4.2 to handle POSIX draft ACLs. This is the third of several patches that implement the above draft. There should be no semantics change for the series at this point. (cherry picked from commit 949cff4dceffdbee70fa7741c1d61cf6c5255aeb) --- sys/fs/nfs/nfs_commonacl.c | 195 ++++++++++++++++++++++++++++++- sys/fs/nfs/nfs_commonsubs.c | 272 ++++++++++++++++++++++++++++++++++++++++---- sys/fs/nfs/nfs_var.h | 3 + 3 files changed, 445 insertions(+), 25 deletions(-) diff --git a/sys/fs/nfs/nfs_commonacl.c b/sys/fs/nfs/nfs_commonacl.c index bba1d8821a9b..2120b095823b 100644 --- a/sys/fs/nfs/nfs_commonacl.c +++ b/sys/fs/nfs/nfs_commonacl.c @@ -36,7 +36,7 @@ static int nfsrv_acemasktoperm(u_int32_t acetype, u_int32_t mask, int owner, __enum_uint8(vtype) type, acl_perm_t *permp); /* - * Handle xdr for an ace. + * Handle xdr for an NFSv4 ace. */ int nfsrv_dissectace(struct nfsrv_descript *nd, struct acl_entry *acep, @@ -181,6 +181,84 @@ nfsmout: return (error); } +static acl_tag_t nfsv4_to_posixacltag[NFSV4_POSIXACL_TAG_OTHER + 1] = + { ACL_UNDEFINED_TAG, ACL_USER_OBJ, ACL_USER, ACL_GROUP_OBJ, + ACL_GROUP, ACL_MASK, ACL_OTHER }; + +/* + * Handle xdr for a POSIX draft ace. + */ +int +nfsrv_dissectposixace(struct nfsrv_descript *nd, struct acl_entry *acep, + bool server, int *aceerrp, int *acesizep) +{ + uint32_t *tl, tag; + int len, error = 0, aceerr = 0; + u_char *name, namestr[NFSV4_SMALLSTR + 1]; + gid_t gid; + uid_t uid; + + *aceerrp = 0; + NFSM_DISSECT(tl, uint32_t *, 3 * NFSX_UNSIGNED); + tag = fxdr_unsigned(uint32_t, *tl++); + acep->ae_perm = fxdr_unsigned(acl_perm_t, *tl++); + len = fxdr_unsigned(int, *tl); + /* + * The RFCs do not specify a limit to the length of the "who", but + * NFSV4_OPAQUELIMIT (1024) should be sufficient. + */ + if (len < 0 || len > NFSV4_OPAQUELIMIT) { + error = NFSERR_BADXDR; + goto nfsmout; + } + if (tag < NFSV4_POSIXACL_TAG_USER_OBJ || + tag > NFSV4_POSIXACL_TAG_OTHER) { + error = NFSERR_ATTRNOTSUPP; + goto nfsmout; + } + acep->ae_tag = nfsv4_to_posixacltag[tag]; + if (len > NFSV4_SMALLSTR) + name = malloc(len + 1, M_NFSSTRING, M_WAITOK); + else + name = namestr; + if (len > 0) + error = nfsrv_mtostr(nd, name, len); + if (error != 0) { + if (len > NFSV4_SMALLSTR) + free(name, M_NFSSTRING); + goto nfsmout; + } + switch (acep->ae_tag) { + case ACL_USER: + aceerr = nfsv4_strtouid(nd, name, len, &uid); + if (aceerr == 0) + acep->ae_id = uid; + break; + case ACL_GROUP: + aceerr = nfsv4_strtogid(nd, name, len, &gid); + if (aceerr == 0) + acep->ae_id = (uid_t)gid; + break; + case ACL_USER_OBJ: + case ACL_GROUP_OBJ: + case ACL_MASK: + case ACL_OTHER: + break; + default: + aceerr = NFSERR_ATTRNOTSUPP; + } + if (len > NFSV4_SMALLSTR) + free(name, M_NFSSTRING); + + *aceerrp = aceerr; + if (acesizep != NULL) + *acesizep = NFSM_RNDUP(len) + (3 * NFSX_UNSIGNED); + error = 0; +nfsmout: + NFSEXITCODE(error); + return (error); +} + /* * Turn an NFSv4 ace mask into R/W/X flag bits. */ @@ -277,9 +355,11 @@ out: /* local functions */ static int nfsrv_buildace(struct nfsrv_descript *, u_char *, int, __enum_uint8(vtype), int, int, struct acl_entry *); +static int nfsrv_buildposixace(struct nfsrv_descript *, u_char *, int, + struct acl_entry *); /* - * This function builds an NFS ace. + * This function builds an NFSv4 ace. */ static int nfsrv_buildace(struct nfsrv_descript *nd, u_char *name, int namelen, @@ -399,6 +479,59 @@ nfs_aceperm(acl_perm_t ae_perm) return (acemask); } +/* + * This function builds a POSIX draft ace. + */ +static int +nfsrv_buildposixace(struct nfsrv_descript *nd, u_char *name, int namelen, + struct acl_entry *ace) +{ + uint32_t *tl; + int full_len; + + full_len = NFSM_RNDUP(namelen); + NFSM_BUILD(tl, uint32_t *, 3 * NFSX_UNSIGNED + full_len); + + /* + * Fill in the ace tag. + */ + switch (ace->ae_tag) { + case ACL_USER_OBJ: + *tl++ = txdr_unsigned(NFSV4_POSIXACL_TAG_USER_OBJ); + break; + case ACL_USER: + *tl++ = txdr_unsigned(NFSV4_POSIXACL_TAG_USER); + break; + case ACL_GROUP_OBJ: + *tl++ = txdr_unsigned(NFSV4_POSIXACL_TAG_GROUP_OBJ); + break; + case ACL_GROUP: + *tl++ = txdr_unsigned(NFSV4_POSIXACL_TAG_GROUP); + break; + case ACL_MASK: + *tl++ = txdr_unsigned(NFSV4_POSIXACL_TAG_MASK); + break; + case ACL_OTHER: + *tl++ = txdr_unsigned(NFSV4_POSIXACL_TAG_OTHER); + break; + default: + printf("nfsrv_buildposixace: bad ae_tag 0x%x\n", ace->ae_tag); + *tl++ = txdr_unsigned(0); + } + + /* + * Fill in the permission bits. + */ + *tl++ = txdr_unsigned(ace->ae_perm); + *tl++ = txdr_unsigned(namelen); + if (namelen > 0) { + if (full_len - namelen) + *(tl + (namelen / NFSX_UNSIGNED)) = 0x0; + memcpy(tl, name, namelen); + } + return (full_len + 3 * NFSX_UNSIGNED); +} + /* * Build an NFSv4 ACL. */ @@ -461,6 +594,64 @@ nfsrv_buildacl(struct nfsrv_descript *nd, NFSACL_T *aclp, __enum_uint8(vtype) ty return (retlen); } +/* + * Build a POSIX draft ACL. + */ +int +nfsrv_buildposixacl(struct nfsrv_descript *nd, NFSACL_T *aclp, + acl_type_t acltype) +{ + int i, entrycnt = 0, retlen; + uint32_t *entrycntp; + unsigned int cnt; + int namelen; + u_char *name, namestr[NFSV4_SMALLSTR]; + bool malloced; + + NFSM_BUILD(entrycntp, uint32_t *, NFSX_UNSIGNED); + retlen = NFSX_UNSIGNED; + cnt = 0; + if (aclp != NULL) + cnt = aclp->acl_cnt; + /* + * Loop through the acl entries, building each one. + */ + for (i = 0; i < cnt; i++) { + malloced = false; + switch (aclp->acl_entry[i].ae_tag) { + case ACL_USER_OBJ: + case ACL_GROUP_OBJ: + case ACL_OTHER: + case ACL_MASK: + namelen = 0; + break; + case ACL_USER: + name = namestr; + nfsv4_uidtostr(aclp->acl_entry[i].ae_id, &name, + &namelen); + if (name != namestr) + malloced = true; + break; + case ACL_GROUP: + name = namestr; + nfsv4_gidtostr((gid_t)aclp->acl_entry[i].ae_id, &name, + &namelen); + if (name != namestr) + malloced = true; + break; + default: + continue; + } + retlen += nfsrv_buildposixace(nd, name, namelen, + &aclp->acl_entry[i]); + entrycnt++; + if (malloced) + free(name, M_NFSSTRING); + } + *entrycntp = txdr_unsigned(entrycnt); + return (retlen); +} + /* * Compare two NFSv4 acls. * Return 0 if they are the same, 1 if not the same. diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 707ad5749ab2..2b0ce45d05dd 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -228,7 +228,7 @@ static bool nfs_bigreply[NFSV42_NPROCS] = { }; /* local functions */ -static int nfsrv_skipace(struct nfsrv_descript *nd, int *acesizep); +static int nfsrv_skipace(struct nfsrv_descript *nd, acl_type_t, int *acesizep); static void nfsv4_wanted(struct nfsv4lock *lp); static uint32_t nfsv4_filesavail(struct statfs *, struct mount *); static int nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name); @@ -240,6 +240,7 @@ static uint32_t vtonfsv4_type(struct vattr *); static __enum_uint8(vtype) nfsv4tov_type(uint32_t, uint16_t *); static void nfsv4_setsequence(struct nfsmount *, struct nfsrv_descript *, struct nfsclsession *, bool, struct ucred *); +static uint32_t nfs_trueform(struct vnode *); static struct { int op; @@ -1149,18 +1150,19 @@ int nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, bool server, int *aclerrp, int *aclsizep, __unused NFSPROC_T *p) { - u_int32_t *tl; + uint32_t *tl; int i, aclsize; int acecnt, error = 0, aceerr = 0, acesize; + bool posixacl = false; *aclerrp = 0; - if (aclp) + if (aclp != NULL) aclp->acl_cnt = 0; /* * Parse out the ace entries and expect them to conform to * what can be supported by R/W/X bits. */ - NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); aclsize = NFSX_UNSIGNED; acecnt = fxdr_unsigned(int, *tl); /* @@ -1176,20 +1178,28 @@ nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, bool server, if (nfsrv_useacl == 0) aceerr = NFSERR_ATTRNOTSUPP; for (i = 0; i < acecnt; i++) { - if (aclp && !aceerr) - error = nfsrv_dissectace(nd, &aclp->acl_entry[i], - server, &aceerr, &acesize, p); + if (aclp != NULL && aceerr == 0) { + if (posixacl) + error = nfsrv_dissectposixace(nd, + &aclp->acl_entry[i], server, &aceerr, + &acesize); + else + error = nfsrv_dissectace(nd, + &aclp->acl_entry[i], server, &aceerr, + &acesize, p); + } else if (posixacl) + error = nfsrv_skipace(nd, ACL_TYPE_ACCESS, &acesize); else - error = nfsrv_skipace(nd, &acesize); - if (error) + error = nfsrv_skipace(nd, ACL_TYPE_NFS4, &acesize); + if (error != 0) goto nfsmout; aclsize += acesize; } - if (aclp && !aceerr) + if (aclp != NULL && aceerr == 0) aclp->acl_cnt = acecnt; - if (aceerr) + if (aceerr != 0) *aclerrp = aceerr; - if (aclsizep) + if (aclsizep != NULL) *aclsizep = aclsize; nfsmout: NFSEXITCODE2(error, nd); @@ -1200,16 +1210,22 @@ nfsmout: * Skip over an NFSv4 ace entry. Just dissect the xdr and discard it. */ static int -nfsrv_skipace(struct nfsrv_descript *nd, int *acesizep) +nfsrv_skipace(struct nfsrv_descript *nd, acl_type_t acltype, int *acesizep) { - u_int32_t *tl; + uint32_t *tl; int error, len = 0; - NFSM_DISSECT(tl, u_int32_t *, 4 * NFSX_UNSIGNED); - len = fxdr_unsigned(int, *(tl + 3)); + if (acltype == ACL_TYPE_NFS4) { + NFSM_DISSECT(tl, uint32_t *, 4 * NFSX_UNSIGNED); + len = fxdr_unsigned(int, *(tl + 3)); + *acesizep = NFSM_RNDUP(len) + (4 * NFSX_UNSIGNED); + } else { + NFSM_DISSECT(tl, uint32_t *, 3 * NFSX_UNSIGNED); + len = fxdr_unsigned(int, *(tl + 2)); + *acesizep = NFSM_RNDUP(len) + (3 * NFSX_UNSIGNED); + } error = nfsm_advance(nd, NFSM_RNDUP(len), -1); nfsmout: - *acesizep = NFSM_RNDUP(len) + (4 * NFSX_UNSIGNED); NFSEXITCODE2(error, nd); return (error); } @@ -1437,6 +1453,11 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, NFSCLRBIT_ATTRBIT(&checkattrbits, NFSATTRBIT_ACL); NFSCLRBIT_ATTRBIT(&checkattrbits, NFSATTRBIT_ACLSUPPORT); } + /* Some filesystem do not support POSIX ACL */ + if (nfsrv_useacl == 0 || nfs_supportsposixacls(vp) == 0) { + NFSCLRBIT_ATTRBIT(&checkattrbits, NFSATTRBIT_POSIXACCESSACL); + NFSCLRBIT_ATTRBIT(&checkattrbits, NFSATTRBIT_POSIXDEFAULTACL); + } /* Some filesystems do not support uf_hidden */ if (vp == NULL || VOP_PATHCONF(vp, _PC_HAS_HIDDENSYSTEM, &has_pathconf) != 0) @@ -1655,7 +1676,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, if (error) goto nfsmout; } - + attrsum += cnt; break; case NFSATTRBIT_ACLSUPPORT: @@ -2440,6 +2461,111 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } attrsum += NFSX_UNSIGNED; break; + case NFSATTRBIT_ACLTRUEFORM: + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); + if (compare) { + if (!(*retcmpp)) { + tuint = nfs_trueform(vp); + if (tuint != fxdr_unsigned(uint32_t, + *tl)) + *retcmpp = NFSERR_NOTSAME; + } +#ifdef notyet + } else if (trueformp != NULL) { + *trueformp = fxdr_unsigned(uint32_t, *tl); + } +#else + } +#endif + attrsum += NFSX_UNSIGNED; + break; + case NFSATTRBIT_ACLTRUEFORMSCOPE: + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); + if (compare) { + if (!(*retcmpp)) { + if (fxdr_unsigned(uint32_t, *tl) != + NFSV4_ACL_SCOPE_FILE_SYSTEM) + *retcmpp = NFSERR_NOTSAME; + } + } + attrsum += NFSX_UNSIGNED; + break; + case NFSATTRBIT_POSIXACCESSACL: + if (compare) { + if (!(*retcmpp)) { + if (nfsrv_useacl && nfs_supportsposixacls(vp)) { + NFSACL_T *naclp; + + naclp = acl_alloc(M_WAITOK); + error = nfsrv_dissectacl(nd, naclp, true, + &aceerr, &cnt, p); + if (error) { + acl_free(naclp); + goto nfsmout; + } + if (aceerr || aclp == NULL || + nfsrv_compareacl(aclp, naclp)) + *retcmpp = NFSERR_NOTSAME; + acl_free(naclp); + } else { + error = nfsrv_dissectacl(nd, NULL, true, + &aceerr, &cnt, p); + if (error) + goto nfsmout; + *retcmpp = NFSERR_ATTRNOTSUPP; + } + } + } else { + if (vp != NULL && aclp != NULL) + error = nfsrv_dissectacl(nd, aclp, false, + &aceerr, &cnt, p); + else + error = nfsrv_dissectacl(nd, NULL, false, + &aceerr, &cnt, p); + if (error) + goto nfsmout; + } + + attrsum += cnt; + break; + case NFSATTRBIT_POSIXDEFAULTACL: + if (compare) { + if (!(*retcmpp)) { + if (nfsrv_useacl && nfs_supportsposixacls(vp)) { + NFSACL_T *naclp; + + naclp = acl_alloc(M_WAITOK); + error = nfsrv_dissectacl(nd, naclp, true, + &aceerr, &cnt, p); + if (error) { + acl_free(naclp); + goto nfsmout; + } + if (aceerr || aclp == NULL || + nfsrv_compareacl(aclp, naclp)) + *retcmpp = NFSERR_NOTSAME; + acl_free(naclp); + } else { + error = nfsrv_dissectacl(nd, NULL, true, + &aceerr, &cnt, p); + if (error) + goto nfsmout; + *retcmpp = NFSERR_ATTRNOTSUPP; + } + } + } else { + if (vp != NULL && aclp != NULL) + error = nfsrv_dissectacl(nd, aclp, false, + &aceerr, &cnt, p); + else + error = nfsrv_dissectacl(nd, NULL, false, + &aceerr, &cnt, p); + if (error) + goto nfsmout; + } + + attrsum += cnt; + break; default: printf("EEK! nfsv4_loadattr unknown attr=%d\n", bitpos); @@ -2711,7 +2837,8 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, struct statfs *fs; struct nfsfsinfo fsinf; struct timespec temptime; - NFSACL_T *aclp, *naclp = NULL; + NFSACL_T *aclp, *naclp = NULL, *paclp, *npaclp = NULL, *daclp; + NFSACL_T *ndaclp = NULL; short irflag; #ifdef QUOTA struct dqblk dqb; @@ -2730,11 +2857,21 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, */ if (p == NULL && cred == NULL) { NFSCLRNOTSETABLE_ATTRBIT(retbitp, nd); - aclp = saclp; + /* Only one of the ACL types can be set for a call. */ + if (NFSISSET_ATTRBIT(retbitp, NFSATTRBIT_ACL)) + aclp = saclp; + else if (NFSISSET_ATTRBIT(retbitp, NFSATTRBIT_POSIXACCESSACL)) + paclp = saclp; + else if (NFSISSET_ATTRBIT(retbitp, NFSATTRBIT_POSIXDEFAULTACL)) + daclp = saclp; } else { NFSCLRNOTFILLABLE_ATTRBIT(retbitp, nd); naclp = acl_alloc(M_WAITOK); aclp = naclp; + npaclp = acl_alloc(M_WAITOK); + paclp = npaclp; + ndaclp = acl_alloc(M_WAITOK); + daclp = ndaclp; } nfsvno_getfs(&fsinf, isdgram); /* @@ -2769,12 +2906,12 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, */ if (NFSISSET_ATTRBIT(retbitp, NFSATTRBIT_ACLSUPPORT) && (nfsrv_useacl == 0 || ((cred != NULL || p != NULL) && - supports_nfsv4acls == 0))) { + supports_nfsv4acls != SUPPACL_NFSV4))) { NFSCLRBIT_ATTRBIT(retbitp, NFSATTRBIT_ACLSUPPORT); } if (NFSISSET_ATTRBIT(retbitp, NFSATTRBIT_ACL)) { if (nfsrv_useacl == 0 || ((cred != NULL || p != NULL) && - supports_nfsv4acls == 0)) { + supports_nfsv4acls != SUPPACL_NFSV4)) { NFSCLRBIT_ATTRBIT(retbitp, NFSATTRBIT_ACL); } else if (naclp != NULL) { if (NFSVOPLOCK(vp, LK_SHARED) == 0) { @@ -2796,6 +2933,49 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, } } + /* and the POSIX draft ACL. */ + if (NFSISSET_ATTRBIT(retbitp, NFSATTRBIT_POSIXACCESSACL)) { + if (nfsrv_useacl == 0 || ((cred != NULL || p != NULL) && + supports_nfsv4acls != SUPPACL_POSIX)) { + NFSCLRBIT_ATTRBIT(retbitp, NFSATTRBIT_POSIXACCESSACL); + } else if (npaclp != NULL) { + if (NFSVOPLOCK(vp, LK_SHARED) == 0) { + error = VOP_ACCESSX(vp, VREAD_ACL, cred, p); + if (error == 0) + error = VOP_GETACL(vp, ACL_TYPE_ACCESS, + npaclp, cred, p); + NFSVOPUNLOCK(vp); + } else + error = NFSERR_PERM; + if (error != 0) { + if (reterr) { + nd->nd_repstat = NFSERR_INVAL; + free(fs, M_STATFS); + return (0); + } + NFSCLRBIT_ATTRBIT(retbitp, + NFSATTRBIT_POSIXACCESSACL); + } + } + } + if (NFSISSET_ATTRBIT(retbitp, NFSATTRBIT_POSIXDEFAULTACL)) { + if (nfsrv_useacl == 0 || ((cred != NULL || p != NULL) && + supports_nfsv4acls != SUPPACL_POSIX)) { + NFSCLRBIT_ATTRBIT(retbitp, NFSATTRBIT_POSIXDEFAULTACL); + } else if (ndaclp != NULL) { + if (NFSVOPLOCK(vp, LK_SHARED) == 0) { + error = VOP_ACCESSX(vp, VREAD_ACL, cred, p); + if (error == 0) + error = VOP_GETACL(vp, ACL_TYPE_DEFAULT, + ndaclp, cred, p); + NFSVOPUNLOCK(vp); + } else + error = NFSERR_PERM; + if (error != 0) + ndaclp->acl_cnt = 0; + } + } + /* * Put out the attribute bitmap for the ones being filled in * and get the field for the number of attributes returned. @@ -2813,10 +2993,17 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, case NFSATTRBIT_SUPPORTEDATTRS: NFSSETSUPP_ATTRBIT(&attrbits, nd); if (nfsrv_useacl == 0 || ((cred != NULL || p != NULL) - && supports_nfsv4acls == 0)) { + && supports_nfsv4acls != SUPPACL_NFSV4)) { NFSCLRBIT_ATTRBIT(&attrbits,NFSATTRBIT_ACLSUPPORT); NFSCLRBIT_ATTRBIT(&attrbits,NFSATTRBIT_ACL); } + if (nfsrv_useacl == 0 || ((cred != NULL || p != NULL) + && supports_nfsv4acls != SUPPACL_POSIX)) { + NFSCLRBIT_ATTRBIT(&attrbits, + NFSATTRBIT_POSIXACCESSACL); + NFSCLRBIT_ATTRBIT(&attrbits, + NFSATTRBIT_POSIXDEFAULTACL); + } if (!has_hiddensystem) { NFSCLRBIT_ATTRBIT(&attrbits, NFSATTRBIT_HIDDEN); NFSCLRBIT_ATTRBIT(&attrbits, NFSATTRBIT_SYSTEM); @@ -3321,6 +3508,24 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, *tl = txdr_unsigned(clone_blksize); retnum += NFSX_UNSIGNED; break; + case NFSATTRBIT_ACLTRUEFORM: + NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED); + *tl = txdr_unsigned(nfs_trueform(vp)); + retnum += NFSX_UNSIGNED; + break; + case NFSATTRBIT_ACLTRUEFORMSCOPE: + NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED); + *tl = txdr_unsigned(NFSV4_ACL_SCOPE_FILE_SYSTEM); + retnum += NFSX_UNSIGNED; + break; + case NFSATTRBIT_POSIXACCESSACL: + retnum += nfsrv_buildposixacl(nd, paclp, + ACL_TYPE_ACCESS); + break; + case NFSATTRBIT_POSIXDEFAULTACL: + retnum += nfsrv_buildposixacl(nd, daclp, + ACL_TYPE_DEFAULT); + break; default: printf("EEK! Bad V4 attribute bitpos=%d\n", bitpos); } @@ -3328,6 +3533,10 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, } if (naclp != NULL) acl_free(naclp); + if (npaclp != NULL) + acl_free(npaclp); + if (ndaclp != NULL) + acl_free(ndaclp); free(fs, M_STATFS); *retnump = txdr_unsigned(retnum); return (retnum + prefixnum); @@ -5346,6 +5555,23 @@ nfsrpc_destroysession(struct nfsmount *nmp, struct nfsclsession *tsep, return (error); } +/* + * Determine the true form (the type of ACL stored on the file) for the + * vnode argument. + */ +static uint32_t +nfs_trueform(struct vnode *vp) +{ + uint32_t trueform; + + trueform = NFSV4_ACL_MODEL_NONE; + if ((vp->v_mount->mnt_flag & MNT_NFS4ACLS) != 0) + trueform = NFSV4_ACL_MODEL_NFS4; + else if ((vp->v_mount->mnt_flag & MNT_ACLS) != 0) + trueform = NFSV4_ACL_MODEL_POSIX_DRAFT; + return (trueform); +} + /* * Translate a vnode type into an NFSv4 type, including the named * attribute types. diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 49a94323a572..c04c3951d42d 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -443,8 +443,11 @@ int nfs_supportsposixacls(struct vnode *); int nfsrv_dissectace(struct nfsrv_descript *, struct acl_entry *, bool, int *, int *, NFSPROC_T *); uint32_t nfs_aceperm(acl_perm_t); +int nfsrv_dissectposixace(struct nfsrv_descript *, struct acl_entry *, + bool, int *, int *); int nfsrv_buildacl(struct nfsrv_descript *, NFSACL_T *, __enum_uint8(vtype), NFSPROC_T *); +int nfsrv_buildposixacl(struct nfsrv_descript *, NFSACL_T *, acl_type_t); int nfsrv_compareacl(NFSACL_T *, NFSACL_T *); /* nfs_clrpcops.c */ From nobody Thu Feb 5 01:27:45 2026 X-Original-To: dev-commits-src-branches@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 4f602n71JMz6QxwX for ; Thu, 05 Feb 2026 01:27:45 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f602n5CBPz3dD9 for ; Thu, 05 Feb 2026 01:27:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770254865; 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=RrElpbFJZH8EMNZknB9cfrfVvEfniYQJHsXVl809uN4=; b=W8YglbTGxYvVKyssabMoz/zyUIjh3HaKV1I0OWTO3Osh1iKHp1aEjbn5BgFOQtTWiAdAbU xAHbJsTeXygqavICz9mnanxxMjLVu4KSZmG+JCo/5ktYkT0jowy8z05V0/Frw80c4/XyBy gDitLEOFWshKAIs6wumObHasXJII4tx5LLJRU1YfFMZXzpIUqnysigFVxCXJ2QHTuKhsf9 y1Cz7ECZadSJLz+l3CalK4DfRdrJUOBc7xMCw1ayVImJHIBFHuxzAyUkKHijalrCvs+GkH 8mCh5Gjdeg3XRZCcq8TBKEQjF+KfN3UlGHeykjh2HoMLVEupmJfyc8+DV8/FLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770254865; a=rsa-sha256; cv=none; b=h9vsTcp2fXe+8PmH/MmKrIvuaDJDsNUFv8DeoUMFK9dWCXuZT8iXS3DvUy7wigMBWaKaYL jjgvKRITO3oy4/8Ww+vjYmAROEkiPvZrJpwQ/lo91hgg2nPuVNeotVqdhrAAMKVEFe0d5v EoWXngAmJbIRG2KxlTDAJL/+RZo+9irmALIT4k30SFyuZ5Pu4nDEWH6LqVs4X3gaMbv8V+ +hrF7TLpq14V3BhmRA+VwJmurds7BTntZa1SbVh0BxY524LwAOcZwYLnATbtrSamHttVa7 sbDl/WzMHmU2EC73l8eb2/XghdgNCxXhRU+Ixi8+Ar5BVF2Hy23WZ4A8akqzHA== 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=1770254865; 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=RrElpbFJZH8EMNZknB9cfrfVvEfniYQJHsXVl809uN4=; b=VFJeChIeLbAO4puKflNeK8hJTHI476ql1T5NJslq9iLsMf+Kuao4JVejKjVpq7adOZpCm4 Ou+tGBOFqFXDTN63qdvX/0a1QzcWPih1uHRBZGARMzDJn24XDGLO2GA5DFcax7GEscvCgM PubffykeDl2JWQQFbz3rih7dBtjNkF0srEH2R7euy6rJJDLuQSKBUgCqs24vsrCYJ0Df5V KjjtvmT5RHFyxDvVzQBFNaWOtxO4gfKRsyZqNE4P3sjonA4dYxkx4+tUrPlyKwjG+F5yvC hGXdyHLXuY3EURPzhiwlxacQXa6VcRnttq+i1Xm7aDnrRJsCR2h9AvxK7gWjrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f602n4mRNz1MTt for ; Thu, 05 Feb 2026 01:27:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38773 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 01:27:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: d842c511d84c - stable/15 - nfscl: Add some support for POSIX draft ACLs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d842c511d84c56bd95cc3491847ee48b28264182 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 01:27:45 +0000 Message-Id: <6983f211.38773.1d121d41@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=d842c511d84c56bd95cc3491847ee48b28264182 commit d842c511d84c56bd95cc3491847ee48b28264182 Author: Rick Macklem AuthorDate: 2025-12-22 02:05:04 +0000 Commit: Rick Macklem CommitDate: 2026-02-05 01:26:31 +0000 nfscl: Add some support for POSIX draft ACLs An internet draft (expected to become an RFC someday) https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls describes an extension to NFSv4.2 to handle POSIX draft ACLs. This is the fourth of several patches that implement the above draft. There should be no semantics change for the series at this point. (cherry picked from commit 0e724de9ed6f2d2914cb79686a4ceee7f6dd31a1) --- sys/fs/nfs/nfs_var.h | 12 ++++--- sys/fs/nfsclient/nfs_clrpcops.c | 69 +++++++++++++++++++++++++++++++---------- sys/fs/nfsclient/nfs_clvnops.c | 60 ++++++++++++++++++++++++++--------- 3 files changed, 105 insertions(+), 36 deletions(-) diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index c04c3951d42d..fe2462d94fd5 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -472,8 +472,8 @@ int nfsrpc_setclient(struct nfsmount *, struct nfsclclient *, int, int nfsrpc_getattr(vnode_t, struct ucred *, NFSPROC_T *, struct nfsvattr *); int nfsrpc_getattrnovp(struct nfsmount *, u_int8_t *, int, int, struct ucred *, NFSPROC_T *, struct nfsvattr *, u_int64_t *, uint32_t *); -int nfsrpc_setattr(vnode_t, struct vattr *, NFSACL_T *, struct ucred *, - NFSPROC_T *, struct nfsvattr *, int *); +int nfsrpc_setattr(vnode_t, struct vattr *, NFSACL_T *, acl_type_t, + struct ucred *, NFSPROC_T *, struct nfsvattr *, int *); int nfsrpc_lookup(vnode_t, char *, int, struct ucred *, NFSPROC_T *, struct nfsvattr *, struct nfsvattr *, struct nfsfh **, int *, int *, uint32_t); @@ -526,7 +526,7 @@ int nfsrpc_statfs(vnode_t, struct nfsstatfs *, struct nfsfsinfo *, uint32_t *, int nfsrpc_fsinfo(vnode_t, struct nfsfsinfo *, struct ucred *, NFSPROC_T *, struct nfsvattr *, int *); int nfsrpc_pathconf(vnode_t, struct nfsv3_pathconf *, bool *, uint32_t *, - struct ucred *, NFSPROC_T *, struct nfsvattr *, int *); + struct ucred *, NFSPROC_T *, struct nfsvattr *, int *, uint32_t *); int nfsrpc_renew(struct nfsclclient *, struct nfsclds *, struct ucred *, NFSPROC_T *); int nfsrpc_rellockown(struct nfsmount *, struct nfscllockowner *, uint8_t *, @@ -535,8 +535,10 @@ int nfsrpc_getdirpath(struct nfsmount *, u_char *, struct ucred *, NFSPROC_T *); int nfsrpc_delegreturn(struct nfscldeleg *, struct ucred *, struct nfsmount *, NFSPROC_T *, int); -int nfsrpc_getacl(vnode_t, struct ucred *, NFSPROC_T *, NFSACL_T *); -int nfsrpc_setacl(vnode_t, struct ucred *, NFSPROC_T *, NFSACL_T *); +int nfsrpc_getacl(struct vnode *, acl_type_t, struct ucred *, NFSPROC_T *, + NFSACL_T *); +int nfsrpc_setacl(struct vnode *, acl_type_t, struct ucred *, NFSPROC_T *, + NFSACL_T *); int nfsrpc_exchangeid(struct nfsmount *, struct nfsclclient *, struct nfssockreq *, int, uint32_t, struct nfsclds **, struct ucred *, NFSPROC_T *); diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 8cbfaa7a8996..0047be031ad5 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -147,7 +147,7 @@ static int nfsrpc_locku(struct nfsrv_descript *, struct nfsmount *, struct nfscllockowner *, u_int64_t, u_int64_t, u_int32_t, struct ucred *, NFSPROC_T *, int); static int nfsrpc_setaclrpc(vnode_t, struct ucred *, NFSPROC_T *, - struct acl *, nfsv4stateid_t *); + struct acl *, acl_type_t, nfsv4stateid_t *); static int nfsrpc_layouterror(struct nfsmount *, uint8_t *, int, uint64_t, uint64_t, nfsv4stateid_t *, struct ucred *, NFSPROC_T *, uint32_t, uint32_t, char *); @@ -1371,7 +1371,7 @@ nfsrpc_getattrnovp(struct nfsmount *nmp, u_int8_t *fhp, int fhlen, int syscred, * Do an nfs setattr operation. */ int -nfsrpc_setattr(vnode_t vp, struct vattr *vap, NFSACL_T *aclp, +nfsrpc_setattr(vnode_t vp, struct vattr *vap, NFSACL_T *aclp, acl_type_t aclt, struct ucred *cred, NFSPROC_T *p, struct nfsvattr *rnap, int *attrflagp) { int error, expireret = 0, openerr, retrycnt; @@ -1418,7 +1418,8 @@ nfsrpc_setattr(vnode_t vp, struct vattr *vap, NFSACL_T *aclp, error = nfsrpc_setattrrpc(vp, vap, &stateid, cred, p, rnap, attrflagp); else - error = nfsrpc_setaclrpc(vp, cred, p, aclp, &stateid); + error = nfsrpc_setaclrpc(vp, cred, p, aclp, aclt, + &stateid); if (error == NFSERR_OPENMODE && mode == NFSV4OPEN_ACCESSREAD) { NFSLOCKMNT(nmp); nmp->nm_state |= NFSSTA_OPENMODE; @@ -5072,7 +5073,7 @@ nfsmout: int nfsrpc_pathconf(vnode_t vp, struct nfsv3_pathconf *pc, bool *has_namedattrp, uint32_t *clone_blksizep, struct ucred *cred, NFSPROC_T *p, - struct nfsvattr *nap, int *attrflagp) + struct nfsvattr *nap, int *attrflagp, uint32_t *trueformp) { struct nfsrv_descript nfsd, *nd = &nfsd; struct nfsmount *nmp; @@ -5102,6 +5103,8 @@ nfsrpc_pathconf(vnode_t vp, struct nfsv3_pathconf *pc, bool *has_namedattrp, */ NFSCL_REQSTART(nd, NFSPROC_GETATTR, vp, cred); NFSPATHCONF_GETATTRBIT(&attrbits); + if (nmp->nm_minorvers >= NFSV42_MINORVERSION) + NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_ACLTRUEFORM); (void) nfsrv_putattrbit(nd, &attrbits); nd->nd_flag |= ND_USEGSSNAME; error = nfscl_request(nd, vp, p, cred); @@ -5391,26 +5394,43 @@ nfsrpc_delegreturn(struct nfscldeleg *dp, struct ucred *cred, * nfs getacl call. */ int -nfsrpc_getacl(vnode_t vp, struct ucred *cred, NFSPROC_T *p, struct acl *aclp) +nfsrpc_getacl(struct vnode *vp, acl_type_t acltype, struct ucred *cred, + NFSPROC_T *p, struct acl *aclp) { struct nfsrv_descript nfsd, *nd = &nfsd; int error; nfsattrbit_t attrbits; struct nfsmount *nmp = VFSTONFS(vp->v_mount); + struct nfsnode *np; if (nfsrv_useacl == 0 || !NFSHASNFSV4(nmp)) return (EOPNOTSUPP); + np = VTONFS(vp); + if (!NFSISSET_ATTRBIT(&np->n_vattr.na_suppattr, NFSATTRBIT_ACL) && + acltype == ACL_TYPE_NFS4) + return (EOPNOTSUPP); + if ((!NFSISSET_ATTRBIT(&np->n_vattr.na_suppattr, + NFSATTRBIT_POSIXACCESSACL) || + !NFSISSET_ATTRBIT(&np->n_vattr.na_suppattr, + NFSATTRBIT_POSIXDEFAULTACL)) && + (acltype == ACL_TYPE_ACCESS || acltype == ACL_TYPE_DEFAULT)) + return (EOPNOTSUPP); NFSCL_REQSTART(nd, NFSPROC_GETACL, vp, cred); NFSZERO_ATTRBIT(&attrbits); - NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_ACL); + if (acltype == ACL_TYPE_NFS4) + NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_ACL); + else if (acltype == ACL_TYPE_ACCESS) + NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_POSIXACCESSACL); + else + NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_POSIXDEFAULTACL); (void) nfsrv_putattrbit(nd, &attrbits); error = nfscl_request(nd, vp, p, cred); if (error) return (error); if (!nd->nd_repstat) error = nfsv4_loadattr(nd, vp, NULL, NULL, NULL, 0, NULL, - NULL, NULL, NULL, aclp, 0, NULL, NULL, NULL, NULL, NULL, p, - cred); + NULL, NULL, NULL, aclp, 0, NULL, NULL, NULL, NULL, NULL, + p, cred); else error = nd->nd_repstat; m_freem(nd->nd_mrep); @@ -5421,14 +5441,26 @@ nfsrpc_getacl(vnode_t vp, struct ucred *cred, NFSPROC_T *p, struct acl *aclp) * nfs setacl call. */ int -nfsrpc_setacl(vnode_t vp, struct ucred *cred, NFSPROC_T *p, struct acl *aclp) +nfsrpc_setacl(struct vnode *vp, acl_type_t acltype, struct ucred *cred, + NFSPROC_T *p, struct acl *aclp) { int error; struct nfsmount *nmp = VFSTONFS(vp->v_mount); + struct nfsnode *np; if (nfsrv_useacl == 0 || !NFSHASNFSV4(nmp)) return (EOPNOTSUPP); - error = nfsrpc_setattr(vp, NULL, aclp, cred, p, NULL, NULL); + np = VTONFS(vp); + if (!NFSISSET_ATTRBIT(&np->n_vattr.na_suppattr, NFSATTRBIT_ACL) && + acltype == ACL_TYPE_NFS4) + return (EOPNOTSUPP); + if ((!NFSISSET_ATTRBIT(&np->n_vattr.na_suppattr, + NFSATTRBIT_POSIXACCESSACL) || + !NFSISSET_ATTRBIT(&np->n_vattr.na_suppattr, + NFSATTRBIT_POSIXDEFAULTACL)) && + (acltype == ACL_TYPE_ACCESS || acltype == ACL_TYPE_DEFAULT)) + return (EOPNOTSUPP); + error = nfsrpc_setattr(vp, NULL, aclp, acltype, cred, p, NULL, NULL); return (error); } @@ -5436,8 +5468,8 @@ nfsrpc_setacl(vnode_t vp, struct ucred *cred, NFSPROC_T *p, struct acl *aclp) * nfs setacl call. */ static int -nfsrpc_setaclrpc(vnode_t vp, struct ucred *cred, NFSPROC_T *p, - struct acl *aclp, nfsv4stateid_t *stateidp) +nfsrpc_setaclrpc(struct vnode *vp, struct ucred *cred, NFSPROC_T *p, + struct acl *aclp, acl_type_t aclt, nfsv4stateid_t *stateidp) { struct nfsrv_descript nfsd, *nd = &nfsd; int error; @@ -5449,10 +5481,15 @@ nfsrpc_setaclrpc(vnode_t vp, struct ucred *cred, NFSPROC_T *p, NFSCL_REQSTART(nd, NFSPROC_SETACL, vp, cred); nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); NFSZERO_ATTRBIT(&attrbits); - NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_ACL); - (void) nfsv4_fillattr(nd, vp->v_mount, vp, aclp, NULL, NULL, 0, - &attrbits, NULL, NULL, 0, 0, 0, 0, (uint64_t)0, NULL, false, false, - false, 0, NULL, false); + if (aclt == ACL_TYPE_NFS4) + NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_ACL); + else if (aclt == ACL_TYPE_ACCESS) + NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_POSIXACCESSACL); + else + NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_POSIXDEFAULTACL); + (void)nfsv4_fillattr(nd, vp->v_mount, vp, aclp, NULL, NULL, 0, + &attrbits, NULL, NULL, 0, 0, 0, 0, (uint64_t)0, NULL, false, + false, false, 0, NULL, false); error = nfscl_request(nd, vp, p, cred); if (error) return (error); diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 714c37de271f..7ecd1619a0ad 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -1215,7 +1215,7 @@ nfs_setattrrpc(struct vnode *vp, struct vattr *vap, struct ucred *cred, NFSUNLOCKNODE(np); KDTRACE_NFS_ACCESSCACHE_FLUSH_DONE(vp); } - error = nfsrpc_setattr(vp, vap, NULL, cred, td, &nfsva, &attrflag); + error = nfsrpc_setattr(vp, vap, NULL, 0, cred, td, &nfsva, &attrflag); if (attrflag) { ret = nfscl_loadattrcache(&vp, &nfsva, NULL, 0, 1); if (ret && !error) @@ -1967,14 +1967,14 @@ again: } } else if (NFS_ISV34(dvp) && (fmode & O_EXCL)) { if (nfscl_checksattr(vap, &nfsva)) { - error = nfsrpc_setattr(newvp, vap, NULL, cnp->cn_cred, - curthread, &nfsva, &attrflag); + error = nfsrpc_setattr(newvp, vap, NULL, 0, + cnp->cn_cred, curthread, &nfsva, &attrflag); if (error && (vap->va_uid != (uid_t)VNOVAL || vap->va_gid != (gid_t)VNOVAL)) { /* try again without setting uid/gid */ vap->va_uid = (uid_t)VNOVAL; vap->va_gid = (uid_t)VNOVAL; - error = nfsrpc_setattr(newvp, vap, NULL, + error = nfsrpc_setattr(newvp, vap, NULL, 0, cnp->cn_cred, curthread, &nfsva, &attrflag); } if (attrflag) @@ -3772,9 +3772,15 @@ nfs_getacl(struct vop_getacl_args *ap) { int error; - if (ap->a_type != ACL_TYPE_NFS4) + if (ap->a_type != ACL_TYPE_NFS4 && ap->a_type != ACL_TYPE_ACCESS && + ap->a_type != ACL_TYPE_DEFAULT) + return (EOPNOTSUPP); + if (ap->a_type == ACL_TYPE_DEFAULT && ap->a_vp->v_type != VDIR) + return (EINVAL); + error = nfsrpc_getacl(ap->a_vp, ap->a_type, ap->a_cred, ap->a_td, + ap->a_aclp); + if (error == 0 && ap->a_aclp->acl_cnt == 0) return (EOPNOTSUPP); - error = nfsrpc_getacl(ap->a_vp, ap->a_cred, ap->a_td, ap->a_aclp); if (error > NFSERR_STALE) { (void) nfscl_maperr(ap->a_td, error, (uid_t)0, (gid_t)0); error = EPERM; @@ -3787,9 +3793,17 @@ nfs_setacl(struct vop_setacl_args *ap) { int error; - if (ap->a_type != ACL_TYPE_NFS4) + if (ap->a_type != ACL_TYPE_NFS4 && ap->a_type != ACL_TYPE_ACCESS && + ap->a_type != ACL_TYPE_DEFAULT) return (EOPNOTSUPP); - error = nfsrpc_setacl(ap->a_vp, ap->a_cred, ap->a_td, ap->a_aclp); + if (ap->a_aclp == NULL) { + if (ap->a_type != ACL_TYPE_DEFAULT) + return (EINVAL); + if (ap->a_vp->v_type != VDIR) + return (ENOTDIR); + } + error = nfsrpc_setacl(ap->a_vp, ap->a_type, ap->a_cred, ap->a_td, + ap->a_aclp); if (error > NFSERR_STALE) { (void) nfscl_maperr(ap->a_td, error, (uid_t)0, (gid_t)0); error = EPERM; @@ -4188,8 +4202,8 @@ relock: va.va_vaflags = VA_UTIMES_NULL; inattrflag = 0; error = nfsrpc_setattr(invp, &va, NULL, - ap->a_incred, curthread, &innfsva, - &inattrflag); + 0, ap->a_incred, curthread, + &innfsva, &inattrflag); if (inattrflag != 0) ret = nfscl_loadattrcache(&invp, &innfsva, NULL, 0, 1); @@ -4669,6 +4683,7 @@ nfs_pathconf(struct vop_pathconf_args *ap) bool eof, has_namedattr, named_enabled; int attrflag, error; struct nfsnode *np; + uint32_t trueform; nmp = VFSTONFS(vp->v_mount); np = VTONFS(vp); @@ -4681,16 +4696,18 @@ nfs_pathconf(struct vop_pathconf_args *ap) ap->a_name == _PC_CASE_INSENSITIVE)) || (NFS_ISV4(vp) && (ap->a_name == _PC_ACL_NFS4 || ap->a_name == _PC_HAS_NAMEDATTR || - ap->a_name == _PC_CLONE_BLKSIZE))) { + ap->a_name == _PC_CLONE_BLKSIZE || + ap->a_name == _PC_ACL_EXTENDED))) { /* * Since only the above 5 a_names are returned by the NFSv3 * Pathconf RPC, there is no point in doing it for others. * For NFSv4, the Pathconf RPC (actually a Getattr Op.) can - * be used for _PC_ACL_NFS4, _PC_HAS_NAMEDATTR and - * _PC_CLONE_BLKSIZE as well. + * be used for _PC_ACL_NFS4, _PC_HAS_NAMEDATTR, + * and _PC_ACL_EXTENDED as well. */ + trueform = UINT32_MAX; error = nfsrpc_pathconf(vp, &pc, &has_namedattr, &clone_blksize, - td->td_ucred, td, &nfsva, &attrflag); + td->td_ucred, td, &nfsva, &attrflag, &trueform); if (attrflag != 0) (void) nfscl_loadattrcache(&vp, &nfsva, NULL, 0, 1); if (error != 0) @@ -4750,7 +4767,20 @@ nfs_pathconf(struct vop_pathconf_args *ap) break; case _PC_ACL_NFS4: if (NFS_ISV4(vp) && nfsrv_useacl != 0 && attrflag != 0 && - NFSISSET_ATTRBIT(&nfsva.na_suppattr, NFSATTRBIT_ACL)) + NFSISSET_ATTRBIT(&nfsva.na_suppattr, NFSATTRBIT_ACL) && + (trueform == NFSV4_ACL_MODEL_NFS4 || + trueform == UINT32_MAX)) + *ap->a_retval = 1; + else + *ap->a_retval = 0; + break; + case _PC_ACL_EXTENDED: + if (NFS_ISV4(vp) && nfsrv_useacl != 0 && attrflag != 0 && + NFSISSET_ATTRBIT(&nfsva.na_suppattr, + NFSATTRBIT_POSIXACCESSACL) && + NFSISSET_ATTRBIT(&nfsva.na_suppattr, + NFSATTRBIT_POSIXDEFAULTACL) && + trueform == NFSV4_ACL_MODEL_POSIX_DRAFT) *ap->a_retval = 1; else *ap->a_retval = 0; From nobody Thu Feb 5 01:29:10 2026 X-Original-To: dev-commits-src-branches@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 4f604Q6mq0z6Qxjl for ; Thu, 05 Feb 2026 01:29:10 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f604Q6KZFz3dcm for ; Thu, 05 Feb 2026 01:29:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770254950; 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=boNPZPUpNTsYNAqz1PWeFnxZnyrwh0dVJSjUWNFrl1Q=; b=my0qWsFmJQTkbgKXltUqccjRe67y7PtUlQoQPph0V96GE6lixRdSz4BBvyPpJgA4WxcBlc TAHUt5A32NovP5nh7JcnWxdKv87lhzSY+yLv+oCbVkE//8rNXhqwfeA6GI199u65A5uzZF LkLaXrCvIRxbgLeaecyGQ95iHV43wZUJArKClZg7LdUJceD9lA2HtT0XQavuTeQ7Bbm0rZ 4mNlDt9ZneCXbEZnYTvn0O4zd/JJ/VaHjZh06PPkUDh5OMw4I2PkxXkd12YNj8wf1NodkV boA8vwAyO4YUYqdbRX6dpn30ACjfoAhKrs9ZsO/p4jzE4/7H3Tan9KY+Qr5OSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770254950; a=rsa-sha256; cv=none; b=rSTHisy59DnoaqOzgrpYXQALY6WZYlqcJHbjrNf6Ubnq7LbGYSOcUGmuI7HUMD+fhu8B6Y gqaeBuUKLzdphyXzE/qSxRhnTVHetUOQKX0i89Zu4YJ4yUgB8StQdZCuihiL08bWcNfpdP D8niEKanY+CyzGHinlp38NMJHBaQSPQxOxssGjBWpcJqs/TOjsAt4uRrlMHka3t+7O7TxQ wVFp5ANEoghfmYWGchGYPWKExsyMGGrEnFK/DQ6P8k8WGjz9XEtRm/CaaJNQaf9kCkTIzg qSbkikad1klpUNsAdtTzILowCmEdd3SrqR3aZcsnMY1VXFNJDYhLF3ebRHtgqg== 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=1770254950; 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=boNPZPUpNTsYNAqz1PWeFnxZnyrwh0dVJSjUWNFrl1Q=; b=TIsfke2jA92fyZ6RJB5Q/m0S9ARTtmsTEuPlw3IMBkFcbOLSVEO/sSVRKqUKdUJarrZbxN yPLczA5ctRFq2zDGZZ8NEz1M3xKiKNw75aTgy2ukJ0M/D28ZU3tUK6rojhkG+fmf57E9Cy IQgTYPA7+Rp1IEFQ+7IqtN+K52G+XAplOsjrGRewFTm3rGQ4ZlIu8+aluInyF+0Ok/qFsd 7m3nTQy57DGPuYWcnJjPdYk6Pzv9CHu1VTShAsD7UMqPdJnb1OJ9bPwOmnhKNARUigprTf 9rdstx6ErPagQkqgkqe1tyuA6uP35NuQ8NBRdfcip6bGjxhZM+L8oEkjMcej5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f604Q5wgnz1MvV for ; Thu, 05 Feb 2026 01:29:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 373aa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 01:29:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: dccf41dd1834 - stable/15 - nfs: Add some support for POSIX draft ACLs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: dccf41dd183493a26fef0100060e865f408e743e Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 01:29:10 +0000 Message-Id: <6983f266.373aa.766de4d1@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=dccf41dd183493a26fef0100060e865f408e743e commit dccf41dd183493a26fef0100060e865f408e743e Author: Rick Macklem AuthorDate: 2025-12-22 21:51:15 +0000 Commit: Rick Macklem CommitDate: 2026-02-05 01:27:41 +0000 nfs: Add some support for POSIX draft ACLs An internet draft (expected to become an RFC someday) https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls describes an extension to NFSv4.2 to handle POSIX draft ACLs. This is the fifth of several patches that implement the above draft. This one mostly adds an extra argument to two functions in nfscommon.ko. Unfortunately, these functions are called in many places, so the changes are numerous, but straightforward. Since the internal KAPI between the NFS modules is changed by this commit, all of nfscommon.ko, nfscl.ko and nfsd.ko must be rebuilt from sources. There should be no semantics change for the series at this point. (cherry picked from commit 9f49f436a9ec9441dacae8117280a83ddea7b9c6) --- sys/fs/nfs/nfs_commonacl.c | 2 +- sys/fs/nfs/nfs_commonsubs.c | 51 +++++++++++++++++----------------------- sys/fs/nfs/nfs_var.h | 10 ++++---- sys/fs/nfsclient/nfs_clcomsubs.c | 2 +- sys/fs/nfsclient/nfs_clport.c | 2 +- sys/fs/nfsclient/nfs_clrpcops.c | 32 ++++++++++++++----------- sys/fs/nfsserver/nfs_nfsdport.c | 28 +++++++++++----------- sys/fs/nfsserver/nfs_nfsdserv.c | 4 ++-- sys/fs/nfsserver/nfs_nfsdstate.c | 2 +- 9 files changed, 65 insertions(+), 68 deletions(-) diff --git a/sys/fs/nfs/nfs_commonacl.c b/sys/fs/nfs/nfs_commonacl.c index 2120b095823b..64272b35a82d 100644 --- a/sys/fs/nfs/nfs_commonacl.c +++ b/sys/fs/nfs/nfs_commonacl.c @@ -40,7 +40,7 @@ static int nfsrv_acemasktoperm(u_int32_t acetype, u_int32_t mask, int owner, */ int nfsrv_dissectace(struct nfsrv_descript *nd, struct acl_entry *acep, - bool server, int *aceerrp, int *acesizep, NFSPROC_T *p) + bool server, int *aceerrp, int *acesizep) { u_int32_t *tl; int len, gotid = 0, owner = 0, error = 0, aceerr = 0; diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 2b0ce45d05dd..950288027d76 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -1148,12 +1148,11 @@ nfsmout: */ int nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, bool server, - int *aclerrp, int *aclsizep, __unused NFSPROC_T *p) + bool posixacl, int *aclerrp, int *aclsizep) { uint32_t *tl; int i, aclsize; int acecnt, error = 0, aceerr = 0, acesize; - bool posixacl = false; *aclerrp = 0; if (aclp != NULL) @@ -1186,7 +1185,7 @@ nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, bool server, else error = nfsrv_dissectace(nd, &aclp->acl_entry[i], server, &aceerr, - &acesize, p); + &acesize); } else if (posixacl) error = nfsrv_skipace(nd, ACL_TYPE_ACCESS, &acesize); else @@ -1328,7 +1327,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsv3_pathconf *pc, struct statfs *sbp, struct nfsstatfs *sfp, struct nfsfsinfo *fsp, NFSACL_T *aclp, int compare, int *retcmpp, u_int32_t *leasep, u_int32_t *rderrp, bool *has_namedattrp, - uint32_t *clone_blksizep, NFSPROC_T *p, struct ucred *cred) + uint32_t *clone_blksizep, uint32_t *trueformp, NFSPROC_T *p, + struct ucred *cred) { u_int32_t *tl; int i = 0, j, k, l = 0, m, bitpos, attrsum = 0; @@ -1648,8 +1648,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *naclp; naclp = acl_alloc(M_WAITOK); - error = nfsrv_dissectacl(nd, naclp, true, - &aceerr, &cnt, p); + error = nfsrv_dissectacl(nd, naclp, true, false, + &aceerr, &cnt); if (error) { acl_free(naclp); goto nfsmout; @@ -1659,8 +1659,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, *retcmpp = NFSERR_NOTSAME; acl_free(naclp); } else { - error = nfsrv_dissectacl(nd, NULL, true, - &aceerr, &cnt, p); + error = nfsrv_dissectacl(nd, NULL, true, false, + &aceerr, &cnt); if (error) goto nfsmout; *retcmpp = NFSERR_ATTRNOTSUPP; @@ -1669,14 +1669,13 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } else { if (vp != NULL && aclp != NULL) error = nfsrv_dissectacl(nd, aclp, false, - &aceerr, &cnt, p); + false, &aceerr, &cnt); else error = nfsrv_dissectacl(nd, NULL, false, - &aceerr, &cnt, p); + false, &aceerr, &cnt); if (error) goto nfsmout; } - attrsum += cnt; break; case NFSATTRBIT_ACLSUPPORT: @@ -2470,13 +2469,9 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, *tl)) *retcmpp = NFSERR_NOTSAME; } -#ifdef notyet } else if (trueformp != NULL) { *trueformp = fxdr_unsigned(uint32_t, *tl); } -#else - } -#endif attrsum += NFSX_UNSIGNED; break; case NFSATTRBIT_ACLTRUEFORMSCOPE: @@ -2497,8 +2492,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *naclp; naclp = acl_alloc(M_WAITOK); - error = nfsrv_dissectacl(nd, naclp, true, - &aceerr, &cnt, p); + error = nfsrv_dissectacl(nd, naclp, true, true, + &aceerr, &cnt); if (error) { acl_free(naclp); goto nfsmout; @@ -2508,8 +2503,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, *retcmpp = NFSERR_NOTSAME; acl_free(naclp); } else { - error = nfsrv_dissectacl(nd, NULL, true, - &aceerr, &cnt, p); + error = nfsrv_dissectacl(nd, NULL, true, true, + &aceerr, &cnt); if (error) goto nfsmout; *retcmpp = NFSERR_ATTRNOTSUPP; @@ -2518,14 +2513,13 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } else { if (vp != NULL && aclp != NULL) error = nfsrv_dissectacl(nd, aclp, false, - &aceerr, &cnt, p); + true, &aceerr, &cnt); else error = nfsrv_dissectacl(nd, NULL, false, - &aceerr, &cnt, p); + true, &aceerr, &cnt); if (error) goto nfsmout; } - attrsum += cnt; break; case NFSATTRBIT_POSIXDEFAULTACL: @@ -2535,8 +2529,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *naclp; naclp = acl_alloc(M_WAITOK); - error = nfsrv_dissectacl(nd, naclp, true, - &aceerr, &cnt, p); + error = nfsrv_dissectacl(nd, naclp, true, true, + &aceerr, &cnt); if (error) { acl_free(naclp); goto nfsmout; @@ -2546,8 +2540,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, *retcmpp = NFSERR_NOTSAME; acl_free(naclp); } else { - error = nfsrv_dissectacl(nd, NULL, true, - &aceerr, &cnt, p); + error = nfsrv_dissectacl(nd, NULL, true, true, + &aceerr, &cnt); if (error) goto nfsmout; *retcmpp = NFSERR_ATTRNOTSUPP; @@ -2556,14 +2550,13 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } else { if (vp != NULL && aclp != NULL) error = nfsrv_dissectacl(nd, aclp, false, - &aceerr, &cnt, p); + true, &aceerr, &cnt); else error = nfsrv_dissectacl(nd, NULL, false, - &aceerr, &cnt, p); + true, &aceerr, &cnt); if (error) goto nfsmout; } - attrsum += cnt; break; default: diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index fe2462d94fd5..0211acf7f00b 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -334,8 +334,8 @@ int nfsm_advance(struct nfsrv_descript *, int, int); void *nfsm_dissct(struct nfsrv_descript *, int, int); void newnfs_copycred(struct nfscred *, struct ucred *); void newnfs_copyincred(struct ucred *, struct nfscred *); -int nfsrv_dissectacl(struct nfsrv_descript *, NFSACL_T *, bool, int *, - int *, NFSPROC_T *); +int nfsrv_dissectacl(struct nfsrv_descript *, NFSACL_T *, bool, bool, int *, + int *); int nfsrv_getattrbits(struct nfsrv_descript *, nfsattrbit_t *, int *, int *); int nfsrv_getopbits(struct nfsrv_descript *, nfsopbit_t *, int *); @@ -343,8 +343,8 @@ int nfsv4_loadattr(struct nfsrv_descript *, vnode_t, struct nfsvattr *, struct nfsfh **, fhandle_t *, int, struct nfsv3_pathconf *, struct statfs *, struct nfsstatfs *, struct nfsfsinfo *, NFSACL_T *, - int, int *, u_int32_t *, u_int32_t *, bool *, uint32_t *, NFSPROC_T *, - struct ucred *); + int, int *, u_int32_t *, u_int32_t *, bool *, uint32_t *, uint32_t *, + NFSPROC_T *, struct ucred *); int nfsv4_lock(struct nfsv4lock *, int, int *, struct mtx *, struct mount *); void nfsv4_unlock(struct nfsv4lock *, int); void nfsv4_relref(struct nfsv4lock *); @@ -441,7 +441,7 @@ int nfs_supportsposixacls(struct vnode *); /* nfs_commonacl.c */ int nfsrv_dissectace(struct nfsrv_descript *, struct acl_entry *, - bool, int *, int *, NFSPROC_T *); + bool, int *, int *); uint32_t nfs_aceperm(acl_perm_t); int nfsrv_dissectposixace(struct nfsrv_descript *, struct acl_entry *, bool, int *, int *); diff --git a/sys/fs/nfsclient/nfs_clcomsubs.c b/sys/fs/nfsclient/nfs_clcomsubs.c index 05963074e53d..2b48e257381e 100644 --- a/sys/fs/nfsclient/nfs_clcomsubs.c +++ b/sys/fs/nfsclient/nfs_clcomsubs.c @@ -272,7 +272,7 @@ nfsm_loadattr(struct nfsrv_descript *nd, struct nfsvattr *nap) if (nd->nd_flag & ND_NFSV4) { error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, - NULL, NULL); + NULL, NULL, NULL); } else if (nd->nd_flag & ND_NFSV3) { NFSM_DISSECT(fp, struct nfs_fattr *, NFSX_V3FATTR); nap->na_type = nfsv34tov_type(fp->fa_type); diff --git a/sys/fs/nfsclient/nfs_clport.c b/sys/fs/nfsclient/nfs_clport.c index 77e71d4153c9..c5f7ce0a12c7 100644 --- a/sys/fs/nfsclient/nfs_clport.c +++ b/sys/fs/nfsclient/nfs_clport.c @@ -828,7 +828,7 @@ nfscl_wcc_data(struct nfsrv_descript *nd, struct vnode *vp, == (ND_NFSV4 | ND_V4WCCATTR)) { error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, - NULL, NULL, NULL, NULL, NULL, NULL, NULL); + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); if (error) return (error); /* diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 0047be031ad5..9bdc2b776575 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -678,7 +678,7 @@ nfsrpc_openrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, int fhlen, if (ret) ndp->nfsdl_flags |= NFSCLDL_RECALL; error = nfsrv_dissectace(nd, &ndp->nfsdl_ace, false, - &ret, &acesize, p); + &ret, &acesize); if (error) goto nfsmout; } else if (deleg == NFSV4OPEN_DELEGATENONEEXT && @@ -699,7 +699,7 @@ nfsrpc_openrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, int fhlen, ("nfsrpc_openrpc: Getattr repstat")); error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, - NULL, NULL, NULL, NULL, NULL, p, cred); + NULL, NULL, NULL, NULL, NULL, NULL, p, cred); if (error) goto nfsmout; } @@ -1358,7 +1358,7 @@ nfsrpc_getattrnovp(struct nfsmount *nmp, u_int8_t *fhp, int fhlen, int syscred, if ((nd->nd_flag & ND_NFSV4) != 0) error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, leasep, NULL, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL, NULL, NULL); else error = nfsm_loadattr(nd, nap); } else @@ -2754,7 +2754,7 @@ nfsrpc_createv4(vnode_t dvp, char *name, int namelen, struct vattr *vap, if (ret) dp->nfsdl_flags |= NFSCLDL_RECALL; error = nfsrv_dissectace(nd, &dp->nfsdl_ace, false, - &ret, &acesize, p); + &ret, &acesize); if (error) goto nfsmout; } else if (deleg == NFSV4OPEN_DELEGATENONEEXT && @@ -3601,7 +3601,8 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 *cookiep, nfsva.na_mntonfileno = UINT64_MAX; error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, - NULL, NULL, NULL, NULL, NULL, p, cred); + NULL, NULL, NULL, NULL, NULL, NULL, + p, cred); if (error) { dotdotfileid = dotfileid; } else if (gotmnton) { @@ -3851,7 +3852,8 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 *cookiep, nfsva.na_mntonfileno = UINT64_MAX; error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, - NULL, NULL, &rderr, NULL, NULL, p, cred); + NULL, NULL, &rderr, NULL, NULL, NULL, + p, cred); if (error) goto nfsmout; NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); @@ -4076,7 +4078,8 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsuint64 *cookiep, nfsva.na_mntonfileno = UINT64_MAX; error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, - NULL, NULL, NULL, NULL, NULL, p, cred); + NULL, NULL, NULL, NULL, NULL, NULL, + p, cred); if (error) { dotdotfileid = dotfileid; } else if (gotmnton) { @@ -4353,7 +4356,8 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsuint64 *cookiep, nfsva.na_mntonfileno = 0xffffffff; error = nfsv4_loadattr(nd, NULL, &nfsva, &nfhp, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, - NULL, NULL, &rderr, NULL, NULL, p, cred); + NULL, NULL, &rderr, NULL, NULL, NULL, + p, cred); if (error) goto nfsmout; } @@ -5018,7 +5022,7 @@ nfsrpc_statfs(vnode_t vp, struct nfsstatfs *sbp, struct nfsfsinfo *fsp, if (nd->nd_repstat == 0) { error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, sbp, fsp, NULL, 0, NULL, leasep, NULL, - NULL, cloneblksizep, p, cred); + NULL, cloneblksizep, NULL, p, cred); if (!error) { nmp->nm_fsid[0] = nap->na_filesid[0]; nmp->nm_fsid[1] = nap->na_filesid[1]; @@ -5113,7 +5117,7 @@ nfsrpc_pathconf(vnode_t vp, struct nfsv3_pathconf *pc, bool *has_namedattrp, if (nd->nd_repstat == 0) { error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, pc, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, - has_namedattrp, clone_blksizep, p, cred); + has_namedattrp, clone_blksizep, trueformp, p, cred); if (!error) *attrflagp = 1; } else { @@ -5430,7 +5434,7 @@ nfsrpc_getacl(struct vnode *vp, acl_type_t acltype, struct ucred *cred, if (!nd->nd_repstat) error = nfsv4_loadattr(nd, vp, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, aclp, 0, NULL, NULL, NULL, NULL, NULL, - p, cred); + NULL, p, cred); else error = nd->nd_repstat; m_freem(nd->nd_mrep); @@ -8532,7 +8536,7 @@ nfsrpc_openlayoutrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, if (ret != 0) ndp->nfsdl_flags |= NFSCLDL_RECALL; error = nfsrv_dissectace(nd, &ndp->nfsdl_ace, false, - &ret, &acesize, p); + &ret, &acesize); if (error != 0) goto nfsmout; } else if (deleg == NFSV4OPEN_DELEGATENONEEXT && @@ -8556,7 +8560,7 @@ nfsrpc_openlayoutrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, if (*++tl == 0) { error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, - NULL, NULL, NULL, NULL, NULL, p, cred); + NULL, NULL, NULL, NULL, NULL, NULL, p, cred); if (error != 0) goto nfsmout; if (ndp != NULL) { @@ -8759,7 +8763,7 @@ nfsrpc_createlayout(vnode_t dvp, char *name, int namelen, struct vattr *vap, if (ret != 0) dp->nfsdl_flags |= NFSCLDL_RECALL; error = nfsrv_dissectace(nd, &dp->nfsdl_ace, false, - &ret, &acesize, p); + &ret, &acesize); if (error != 0) goto nfsmout; } else if (deleg == NFSV4OPEN_DELEGATENONEEXT && diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 61d0f2aa8f90..58a9b17caab9 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -3239,8 +3239,8 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, attrsum += NFSX_HYPER; break; case NFSATTRBIT_ACL: - error = nfsrv_dissectacl(nd, aclp, true, &aceerr, - &aclsize, p); + error = nfsrv_dissectacl(nd, aclp, true, false, &aceerr, + &aclsize); if (error) goto nfsmout; if (aceerr && !nd->nd_repstat) @@ -3432,8 +3432,8 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, attrsum += 2 * NFSX_UNSIGNED; break; case NFSATTRBIT_POSIXACCESSACL: - error = nfsrv_dissectacl(nd, aclp, true, &aceerr, - &aclsize, p); + error = nfsrv_dissectacl(nd, aclp, true, true, &aceerr, + &aclsize); if (error != 0) goto nfsmout; if (!nd->nd_repstat) { @@ -3447,8 +3447,8 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, attrsum += aclsize; break; case NFSATTRBIT_POSIXDEFAULTACL: - error = nfsrv_dissectacl(nd, daclp, true, &aceerr, - &aclsize, p); + error = nfsrv_dissectacl(nd, daclp, true, true, &aceerr, + &aclsize); if (error != 0) goto nfsmout; if (!nd->nd_repstat) { @@ -5757,7 +5757,7 @@ nfsrv_writedsdorpc(struct nfsmount *nmp, fhandle_t *fhp, off_t off, int len, (ND_NFSV4 | ND_V4WCCATTR)) { error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, - NULL); + NULL, NULL); NFSD_DEBUG(4, "nfsrv_writedsdorpc: wcc attr=%d\n", error); if (error != 0) goto nfsmout; @@ -5789,7 +5789,7 @@ nfsrv_writedsdorpc(struct nfsmount *nmp, fhandle_t *fhp, off_t off, int len, NFSM_DISSECT(tl, uint32_t *, 2 * NFSX_UNSIGNED); error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, - NULL); + NULL, NULL); } NFSD_DEBUG(4, "nfsrv_writedsdorpc: aft loadattr=%d\n", error); nfsmout: @@ -5956,7 +5956,7 @@ nfsrv_allocatedsdorpc(struct nfsmount *nmp, fhandle_t *fhp, off_t off, NFSM_DISSECT(tl, uint32_t *, 2 * NFSX_UNSIGNED); error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, - NULL); + NULL, NULL); } else error = nd->nd_repstat; NFSD_DEBUG(4, "nfsrv_allocatedsdorpc: aft loadattr=%d\n", error); @@ -6124,7 +6124,7 @@ nfsrv_deallocatedsdorpc(struct nfsmount *nmp, fhandle_t *fhp, off_t off, (ND_NFSV4 | ND_V4WCCATTR)) { error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, - NULL); + NULL, NULL); NFSD_DEBUG(4, "nfsrv_deallocatedsdorpc: wcc attr=%d\n", error); if (error != 0) goto nfsmout; @@ -6139,7 +6139,7 @@ nfsrv_deallocatedsdorpc(struct nfsmount *nmp, fhandle_t *fhp, off_t off, NFSM_DISSECT(tl, uint32_t *, 2 * NFSX_UNSIGNED); error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, - NULL); + NULL, NULL); } else error = nd->nd_repstat; NFSD_DEBUG(4, "nfsrv_deallocatedsdorpc: aft loadattr=%d\n", error); @@ -6288,7 +6288,7 @@ nfsrv_setattrdsdorpc(fhandle_t *fhp, struct ucred *cred, NFSPROC_T *p, (ND_NFSV4 | ND_V4WCCATTR)) { error = nfsv4_loadattr(nd, NULL, dsnap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, - NULL, NULL); + NULL, NULL, NULL); NFSD_DEBUG(4, "nfsrv_setattrdsdorpc: wcc attr=%d\n", error); if (error != 0) goto nfsmout; @@ -6313,7 +6313,7 @@ nfsrv_setattrdsdorpc(fhandle_t *fhp, struct ucred *cred, NFSPROC_T *p, NFSM_DISSECT(tl, uint32_t *, 2 * NFSX_UNSIGNED); error = nfsv4_loadattr(nd, NULL, dsnap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, - NULL, NULL); + NULL, NULL, NULL); } NFSD_DEBUG(4, "nfsrv_setattrdsdorpc: aft setattr loadattr=%d\n", error); nfsmout: @@ -6602,7 +6602,7 @@ nfsrv_getattrdsrpc(fhandle_t *fhp, struct ucred *cred, NFSPROC_T *p, if (nd->nd_repstat == 0) { error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL, NULL, NULL); /* * We can only save the updated values in the extended * attribute if the vp is exclusively locked. diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index faccb174d998..bc877d94283a 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -4410,8 +4410,8 @@ nfsrvd_verify(struct nfsrv_descript *nd, int isdgram, if (!nd->nd_repstat) { nfsvno_getfs(&fs, isdgram); error = nfsv4_loadattr(nd, vp, &nva, NULL, &fh, fhsize, NULL, - sf, NULL, &fs, NULL, 1, &ret, NULL, NULL, NULL, NULL, p, - nd->nd_cred); + sf, NULL, &fs, NULL, 1, &ret, NULL, NULL, NULL, NULL, NULL, + p, nd->nd_cred); if (!error) { if (nd->nd_procnum == NFSV4OP_NVERIFY) { if (ret == 0) diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c index 3fae2be5af46..cb8bbc45b379 100644 --- a/sys/fs/nfsserver/nfs_nfsdstate.c +++ b/sys/fs/nfsserver/nfs_nfsdstate.c @@ -4689,7 +4689,7 @@ errout: } else if (error == 0 && procnum == NFSV4OP_CBGETATTR) error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, - NULL, NULL, p, NULL); + NULL, NULL, NULL, p, NULL); m_freem(nd->nd_mrep); } NFSLOCKSTATE(); From nobody Thu Feb 5 01:30:11 2026 X-Original-To: dev-commits-src-branches@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 4f605b1SPfz6QxpK for ; Thu, 05 Feb 2026 01:30:11 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f605b0qx7z3f3J for ; Thu, 05 Feb 2026 01:30:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770255011; 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=amLg900TQ3MDJc4pn7cTtri9NoVCDTkhF2NHDtS5TFc=; b=f7Rykk/XmefI6kcrJdNMNWSxoOs+uPSwkatIU+KzgWZHn3ueZosKEy3zR/JEGuKXaiaNka jsL5EXMb0/xWGE4A+dnGTLGGZS3ydxWWmaVhR72fQweNgtgui6Ra/6DLjCGzdVEaXiXSMO BcTVPpdIlSw2Esil7K67U4suVoUEzJAkxpyjWPPf4fM53gqMwxm+e+6qgxnW0pE3IteuuH A74MBlCiHnJS+iria2DoP6bQ7l/31XH2ukRfn4LxuC/godBk9NNsDLLUpV07/DPDbkc3/4 nfDy9q9AC50mDf9MWlbtv29apjMGc2FkJTiVhqZV4MqIMrwbaqmV3aKlcDTfcA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770255011; a=rsa-sha256; cv=none; b=doJwSrF1BGMSuPYrSUFHfZzMmUTd+eSapDhSeCz6rdcjTG4ME2+TVh7j79S/MjElyGnMBC kJT+UUpjkCgmAxvh+zPliOdjuvUPVRT6/04NXLCdnmKi1PJkdmkxONJv5V1XWsAA4NzoLI 52zEwe15tX61BxDsCoxVlq2WEzY+aod86sWlJk3asrhfEP5pU7UNthWVFRwJkmL6rKuu7C SCXEDvhmjiN9YYvo11/7skirVzMocuSb9KpZUa9ARpPYC3RiKT8oO348wPlfeYg1tFnUvc UNzcs88V+x+bpnE/tkgIev449pTLihwuQCZbBLpgDn9k6+owv/7EpLcCxswNOQ== 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=1770255011; 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=amLg900TQ3MDJc4pn7cTtri9NoVCDTkhF2NHDtS5TFc=; b=DJndOFmScvIan3KakLHsYYxz33ULmDrna4fzGnAz/2zF1icPfWcAcN2+YPgL9kBFSZx+vq a9HG8mrsUi+cgTOeSzeVNtFmM1GWBRhZ9vV+/zQ2bwdAJJhhMQyzKg1ze+5BZOk65lM6sX oNkRfT1WnD/NQek8qtaXWDKSOv06BtQq3MgeKGLS4MEnv1Ikc46beYpzOoB+XqyGcvj3UC RJbnr6JuPGFlGa+WDkfkq/Hnjyc47wqB4HXepHpijdpfhtivveapYhIxla4tmTGDb/I3sO Y7oJqRyp2PJm4ut7xmkNQsIzZp2mCDAk4TBCiky08yXFyAyeTJ+4arypJcM7pQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f605b0Jy3z1MhQ for ; Thu, 05 Feb 2026 01:30:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3920e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 01:30:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 144c1eda3973 - stable/15 - nfs: Add some support for POSIX draft ACLs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 144c1eda397330eeb79cd6fe312f80f5d3f1952f Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 01:30:11 +0000 Message-Id: <6983f2a3.3920e.6823530@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=144c1eda397330eeb79cd6fe312f80f5d3f1952f commit 144c1eda397330eeb79cd6fe312f80f5d3f1952f Author: Rick Macklem AuthorDate: 2025-12-22 23:22:09 +0000 Commit: Rick Macklem CommitDate: 2026-02-05 01:29:11 +0000 nfs: Add some support for POSIX draft ACLs An internet draft (expected to become an RFC someday) https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls describes an extension to NFSv4.2 to handle POSIX draft ACLs. This is the final patch in the series that enables the extension of NFSv4.2 to support POSIX draft ACLs. At this time, only UFS mounted with the "acls" option will work, and only for FreeBSD built with these patches. Patches for client and server for the Linux kernel are in the works. (I'll admit my next little project is cleaning the Linux patches up for submission for upstream.) To make these changes really useful, the FreeBSD port of OpenZFS needs to be patched to add POSIX draft ACL support. (Support for POSIX draft ACLs is already in the Linux port of OpenZFS.) Interopeability with NFSv4.2 clients and servers that do not support this extension should not be a problem. (cherry picked from commit e35191ccf3b3bdf02905f7e11dc0dd4796593c07) --- sys/fs/nfs/nfsproto.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/sys/fs/nfs/nfsproto.h b/sys/fs/nfs/nfsproto.h index 41150ef88188..6e67c5be3416 100644 --- a/sys/fs/nfs/nfsproto.h +++ b/sys/fs/nfs/nfsproto.h @@ -1208,7 +1208,11 @@ struct nfsv3_sattr { NFSATTRBM_SUPPATTREXCLCREAT | \ NFSATTRBM_CLONEBLKSIZE | \ NFSATTRBM_CHANGEATTRTYPE | \ - NFSATTRBM_XATTRSUPPORT) + NFSATTRBM_XATTRSUPPORT | \ + NFSATTRBM_ACLTRUEFORM | \ + NFSATTRBM_ACLTRUEFORMSCOPE | \ + NFSATTRBM_POSIXDEFAULTACL | \ + NFSATTRBM_POSIXACCESSACL) /* * These are the set only attributes. @@ -1238,7 +1242,9 @@ struct nfsv3_sattr { NFSATTRBM_TIMEMODIFYSET) #define NFSATTRBIT_SETABLE2 \ (NFSATTRBM_MODESETMASKED | \ - NFSATTRBM_MODEUMASK) + NFSATTRBM_MODEUMASK | \ + NFSATTRBM_POSIXDEFAULTACL | \ + NFSATTRBM_POSIXACCESSACL) /* * NFSATTRBIT_NFSV41 - Attributes only supported by NFSv4.1. @@ -1259,7 +1265,11 @@ struct nfsv3_sattr { (NFSATTRBM_CLONEBLKSIZE | \ NFSATTRBM_CHANGEATTRTYPE | \ NFSATTRBM_XATTRSUPPORT | \ - NFSATTRBM_MODEUMASK) + NFSATTRBM_MODEUMASK | \ + NFSATTRBM_ACLTRUEFORM | \ + NFSATTRBM_ACLTRUEFORMSCOPE | \ + NFSATTRBM_POSIXDEFAULTACL | \ + NFSATTRBM_POSIXACCESSACL) /* * Set of attributes that the getattr vnode op needs. From nobody Thu Feb 5 05:13:45 2026 X-Original-To: dev-commits-src-branches@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 4f653Z154Xz6RF8n for ; Thu, 05 Feb 2026 05:13:46 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f653Z08Z8z48vn for ; Thu, 05 Feb 2026 05:13:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770268426; 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=fIxAkreTMemihXWgyOnV5sO4y6TA0w7DXgSOY8mjKSk=; b=Uw0n9t24nNCaSCr5/ccayiKGfgt64gqOsQg2kGbOFHrPYT9ZjYrhJqrKhQEZ1h1VL8X5IT IDVQw+7Cw99bOp860CwHesJ88lRFeD38xyHcq5lBmuJCjedYVNhPGg8hLB8y4B7Hd/IRPm /u3us/io1aGO3lK5gxbFkDKpSt0tnjApkZMjVNGNy1HzCabxsf7eJ7voDcsMLlvZ8MhDGg gMRdZfNUpefVqBTc0YEWW3jSmdY4Fyk+/qZszJK06K4Qa9LYS+EzP378NRGjSWFjGnK8SU PYW5x5hLTqJSAW7rqrtTXq9A+cs/Vm5My4cMnRTtzOZ3egCfbu6p95cDVATWlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770268426; a=rsa-sha256; cv=none; b=fzWbSwHfRohsFIZNkKULFUIzzQ4FTkm/3lNdKTnOOfoqhyWETzxpO+YInDbrFDkJ01fUbW PFiCp09/1VGCXYNLZEDoGujwQniDPQauiM9ZH01SmG4cwq82G+rYIolBfKqVvaGCGi7cTa 9WscRisz0Z2W7vzpEUzqM3QtXlM7IXhZcnqSuD0Con5rCCLWfOaDbkpx6NRw4/78+lg7Zs 4bpwJKWH3y+PuJHNWDY1nQ5uZGj/Sw52xPSXq5t0+gf5Eiy2lRuia42GEkKsOIrYnm3uNJ AML2l9eSg84Gzah6YIBkb3AFpM5f94jW9baHuxsEr1CF6U0QrlGOtT16jEJqZg== 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=1770268426; 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=fIxAkreTMemihXWgyOnV5sO4y6TA0w7DXgSOY8mjKSk=; b=kb38UQHROvREt+RdPkv3OSbyKcoqW8L+n+RBJqa3tTzkY6P8mw5JuuJ7T33i82ZmyE+JMP ubUa40yGMJOfnDWShbToIeNnxohTE2ZpAuwB2jhpHE7XHAHhaLsGXoGR8mtPvHFiG1NIj3 oKQkGJ5atPwxw2nZofJW3j9VurwIRYm12i3hrKwmotapdX+Ajbr1MI7M/lJQtTNQ+kcj8T tPH1snZeUgFbJ+9likHpZaiH6/SBztVNuQINGSFfks/WMX0GZ1lXywct+fLVcj+nP/R2Am hdT9dFG2RI1kroQLTcXXt6fF/E7MUrQIAByyqeFpW9+JGkOtYOOsTpY3EiVGbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f653Y6ZBtz1Rh for ; Thu, 05 Feb 2026 05:13:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ecb7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 05:13:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 8880678b7a47 - stable/15 - e1000: Fix setting the promiscuous mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8880678b7a47ccfdcc14d3e7cad7f137862dccea Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 05:13:45 +0000 Message-Id: <69842709.1ecb7.3b9aebfd@gitrepo.freebsd.org> The branch stable/15 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=8880678b7a47ccfdcc14d3e7cad7f137862dccea commit 8880678b7a47ccfdcc14d3e7cad7f137862dccea Author: Zhenlei Huang AuthorDate: 2026-02-02 12:26:31 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-05 05:12:36 +0000 e1000: Fix setting the promiscuous mode The variable reg_rctl stores the value read from reg E1000_RCTL. It may contain bits E1000_RCTL_VFE and E1000_RCTL_CFIEN which control VLAN hardware filter feature. The promiscuous mode implies all tagged or untagged packets should be accepted, so the VLAN hardware filter feature should be disabled when enabling the promiscuous mode. Calling em_if_vlan_filter_disable() did the task, but later writing the value of reg_rctl back to the reg E1000_RCTL may restore the feature. Move the calling of em_if_vlan_filter_disable() after writing the reg to fix that. PR: 292759 Reviewed by: kbowling Tested by: vova@zote.me Fixes: 2796f7cab107 e1000: Fix up HW vlan ops MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54973 (cherry picked from commit e63ee5fedb8dab51f1bd6d24cc650b68d9663db5) --- sys/dev/e1000/if_em.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 444b16912fee..49adc8caa325 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -2106,11 +2106,11 @@ em_if_set_promisc(if_ctx_t ctx, int flags) if (flags & IFF_PROMISC) { reg_rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); - em_if_vlan_filter_disable(sc); /* Turn this on if you want to see bad packets */ if (em_debug_sbp) reg_rctl |= E1000_RCTL_SBP; E1000_WRITE_REG(&sc->hw, E1000_RCTL, reg_rctl); + em_if_vlan_filter_disable(sc); } else { if (flags & IFF_ALLMULTI) { reg_rctl |= E1000_RCTL_MPE; From nobody Thu Feb 5 05:15:52 2026 X-Original-To: dev-commits-src-branches@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 4f65603qT6z6RDx0 for ; Thu, 05 Feb 2026 05:15:52 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f656031GVz4B1F for ; Thu, 05 Feb 2026 05:15:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770268552; 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=RxChxwBfC123ebWxFJb4mB+GBA8+iFKdghVe+0JRuyw=; b=Iylf/ws2JPnq6zHABWCqM/YrPOYQdXF5hY5EF0vr7WuNp+zjCycaQzkRGmV5eMtYL7nzjQ 1uIvAnjlCFX/3Lcty4rhkUl/VGC7602n1uBo4K8ohKdwMLcboGF8nM2uC5uR8tT8Fk8rlM ns9fKIRIvYKSKa++J/fEq+St5tMTDCRTD8U4TtCpwEjKloLsniz6Uw+TiVLMws9dO+NyiS +ELA0jJEx550lBNcXSzLWm19gvtiuobD/G3ebinTeOSnjDuvE1hLBizF5c1RqBJGh0tiTa sWgBRXLK4y2RSPRNkgQwYmwjRrFMY/i5pHPXthuaJlGL59LMhITWk3jeY3d7ZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770268552; a=rsa-sha256; cv=none; b=PFjXtxPU74Sg49CihXNyOxAvfvcFuGdmdkM54/YNPvdzyT24cfzqFpiykRwqQpjmheCm3w uxqqQ3fgwI1kgUWGSQfz7cRbWEfZVaymucmkVZ4d4dBfgLehW3F2IuOBBECLBMmuz0Wlkw rnVwMkHwjbyMMi5XD+gGhf8LgytebKXI6XHbI5lEqKUtn7w4VA0sbbHd5jnpnduwZqWhOH DUy0SSiFscC/NQV1ldIRDEYtDrr7ISw8mvaC5Ln9Zpa7e9b8CVNaHDNiAkA3QCfzz52YzF 7ww6ldcDgtEE3Nx3iKt7GLveMn7ZEzS6sVFE4zAuba9EdGXVaQ5VV9sAt9jNhQ== 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=1770268552; 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=RxChxwBfC123ebWxFJb4mB+GBA8+iFKdghVe+0JRuyw=; b=CmrZFHWNM5NcwZC+rg/YUAMeiZU9VFf3ynlAEGAe/eR5dcYfs3fjqrjGfkd8vVktqWUHyn JmH6/XK1dh8CDaZntbFodWpYvLp0LKJoa/wYEWRMw8zj+y0ptQk4EUlHc0wL3Wj68nP5HE lwXgduULguVmlR6EqzO6DocT+FFujUqZQpvtpwvl4Hi7euivReztk6wlUWjOOm5jUQKXbB ufg+UcemFzVmTpk/ffGcSJzpTLKimK6n75xqhEmC2+belOhYUShw1VCZhCPyZWTdBoLp1x 5loA7nfKuasjakgh8u76s4Yyb+9F/PmcA3laFe1w44POi6bFxgh8jDF/PkWxOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f65602FKyz14x for ; Thu, 05 Feb 2026 05:15:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fae2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 05:15:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 3cfe90545f01 - stable/14 - e1000: Fix setting the promiscuous mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3cfe90545f016fa190158aa4830f3256e01a7cb2 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 05:15:52 +0000 Message-Id: <69842788.1fae2.25d3fbde@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=3cfe90545f016fa190158aa4830f3256e01a7cb2 commit 3cfe90545f016fa190158aa4830f3256e01a7cb2 Author: Zhenlei Huang AuthorDate: 2026-02-02 12:26:31 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-05 05:14:43 +0000 e1000: Fix setting the promiscuous mode The variable reg_rctl stores the value read from reg E1000_RCTL. It may contain bits E1000_RCTL_VFE and E1000_RCTL_CFIEN which control VLAN hardware filter feature. The promiscuous mode implies all tagged or untagged packets should be accepted, so the VLAN hardware filter feature should be disabled when enabling the promiscuous mode. Calling em_if_vlan_filter_disable() did the task, but later writing the value of reg_rctl back to the reg E1000_RCTL may restore the feature. Move the calling of em_if_vlan_filter_disable() after writing the reg to fix that. PR: 292759 Reviewed by: kbowling Tested by: vova@zote.me Fixes: 2796f7cab107 e1000: Fix up HW vlan ops MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54973 (cherry picked from commit e63ee5fedb8dab51f1bd6d24cc650b68d9663db5) (cherry picked from commit 8880678b7a47ccfdcc14d3e7cad7f137862dccea) --- sys/dev/e1000/if_em.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 553a334efd6d..318620c944a3 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -2099,11 +2099,11 @@ em_if_set_promisc(if_ctx_t ctx, int flags) if (flags & IFF_PROMISC) { reg_rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); - em_if_vlan_filter_disable(sc); /* Turn this on if you want to see bad packets */ if (em_debug_sbp) reg_rctl |= E1000_RCTL_SBP; E1000_WRITE_REG(&sc->hw, E1000_RCTL, reg_rctl); + em_if_vlan_filter_disable(sc); } else { if (flags & IFF_ALLMULTI) { reg_rctl |= E1000_RCTL_MPE; From nobody Thu Feb 5 05:31:01 2026 X-Original-To: dev-commits-src-branches@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 4f65RV0QbHz6RFgk for ; Thu, 05 Feb 2026 05:31:02 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f65RT6Fv2z3Crc for ; Thu, 05 Feb 2026 05:31:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770269461; 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=nzFYOUwyNEJmQIDr6QnQ/EqFzx/N8JuINKpty9bWBUE=; b=YbkS21eRDmMGSUV6oakAb7TB2kqpOWAb+dEq1zCnsX0P9lKRzawcBelKuvxFZEdomlw76i uuHyLbsBOrKXawgcvRLef3d5W+ui4GwGY6t/WcT1CDPoV6xmAMzOudNHTHeePo9S5bxuKY JAG/ChsRNAQwmi7mXPEcZjKZlDWP2f8Ik0+qr/wziHw8UI1pW508q0Z+28oW6KE0A4VjDA g5B+sUnZ3CZPhyUo50cpPyBwtgm184TmCzTay/4RB+cth4rBrDXxdU/vjxrDtqsmA4QKCM l4pNgBEJAxq8JqST3GzZXdH2i2ohQGa6Fnd6j0mkd2PHWv50b7UsUc19oWXm2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770269461; a=rsa-sha256; cv=none; b=Sdbhf9oFLWsEFsG/3ThAf3F71BSl5vwUOpYemQyMyZQN/JhpTSZQa5cFcFTY575SLgfY3d ajRj3nfzGAq+cNLiYtw675qErRc5RbkhD/cixtyeQoHwUfBai8qJcsCWWNHNWqWwxca0To CW6zx7/bjFed1teuBQIFFVWj8V7G+Q5VfEAkAjmxQF71uZDMo1yYtcIC3axlwcq8GiiD8f X6Q+83XR2ihmqc505Or+WtM+Jv7MKxGFU+eflIKL8FsC4mhPthdYNKUCQkElR9ii0RWTzv R7PBWhnZeFm5vkhNvMynAVp553etm17abQcsQcZNS7jTnA5KKs2pW4Q0rcJecg== 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=1770269461; 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=nzFYOUwyNEJmQIDr6QnQ/EqFzx/N8JuINKpty9bWBUE=; b=g9BKTjcC3lxsHjHwwkg4GYNerZRd+KTzhPTiDAV+SIpcTIkjdTJonTMfUYQo8Kmu+qtPTk 8PZx4gGTFyyh+kDLbzMC7jneK/AgDePbCl9NmoIgaaaMO5Rer71OR5t3oSS2+TcKAFs0Nk hA6TA5OTbe7GZ3/3nYoD3cu7Z7KRfEjLCxzmJC+hglWn9laGqXmPIjeh7sbVT9QitzinwM 6ZphRwzUx0GjiJjl0DrdJXR0KImXCR0aufLx7jmQL8bT/ra7xR+B/Yr5a56rsR5P1USsJ9 7rzmf5Ne8h4Zi2Nn1WrC8P+7eDxEnPmee1lQaNWul6YFfRJ7dEAWGItho+sBeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f65RT5X2sz1ZL for ; Thu, 05 Feb 2026 05:31:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 229a0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 05:31:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: b562bbc06adf - stable/13 - e1000: Fix setting the promiscuous mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b562bbc06adf2039e00676440c83dcd7f6900fa8 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 05:31:01 +0000 Message-Id: <69842b15.229a0.c7d95b8@gitrepo.freebsd.org> The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b562bbc06adf2039e00676440c83dcd7f6900fa8 commit b562bbc06adf2039e00676440c83dcd7f6900fa8 Author: Zhenlei Huang AuthorDate: 2026-02-02 12:26:31 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-05 05:28:50 +0000 e1000: Fix setting the promiscuous mode The variable reg_rctl stores the value read from reg E1000_RCTL. It may contain bits E1000_RCTL_VFE and E1000_RCTL_CFIEN which control VLAN hardware filter feature. The promiscuous mode implies all tagged or untagged packets should be accepted, so the VLAN hardware filter feature should be disabled when enabling the promiscuous mode. Calling em_if_vlan_filter_disable() did the task, but later writing the value of reg_rctl back to the reg E1000_RCTL may restore the feature. Move the calling of em_if_vlan_filter_disable() after writing the reg to fix that. PR: 292759 Reviewed by: kbowling Tested by: vova@zote.me Fixes: 2796f7cab107 e1000: Fix up HW vlan ops MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54973 (cherry picked from commit e63ee5fedb8dab51f1bd6d24cc650b68d9663db5) (cherry picked from commit 8880678b7a47ccfdcc14d3e7cad7f137862dccea) (cherry picked from commit 3cfe90545f016fa190158aa4830f3256e01a7cb2) --- sys/dev/e1000/if_em.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 75b8940587f6..3244dc9fa348 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -2094,11 +2094,11 @@ em_if_set_promisc(if_ctx_t ctx, int flags) if (flags & IFF_PROMISC) { reg_rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); - em_if_vlan_filter_disable(sc); /* Turn this on if you want to see bad packets */ if (em_debug_sbp) reg_rctl |= E1000_RCTL_SBP; E1000_WRITE_REG(&sc->hw, E1000_RCTL, reg_rctl); + em_if_vlan_filter_disable(sc); } else { if (flags & IFF_ALLMULTI) { reg_rctl |= E1000_RCTL_MPE; From nobody Thu Feb 5 08:46:48 2026 X-Original-To: dev-commits-src-branches@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 4f69nN57JMz6RRY9 for ; Thu, 05 Feb 2026 08:46:48 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f69nN4f74z3VxT for ; Thu, 05 Feb 2026 08:46:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770281208; 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=wzreisPPjXb25HKoMjVpw+AMp8amDTFnisXnn/wQ3lE=; b=teno6P5sBhYSgSf8SCUMKtdJ0fYLyLMTHDH0VwgYWkMb+f/EI5Sc4nQUy3FEXnkuSjrq0I OkWMk/EgO+R7CuvhgWMtS52VPkoe4quQSy9DVDS0gtlOGLxx0nFvGmYwbInz/ERdw0m5Z3 cvJzMOamXuLjI+pQl2kSCYcFmR8TlpCeZXoHSHloj+QTrNHnXscscYZCIGvZsWP9ClGIQU +xgMOhCCQhoolkUOXUzCbNkKZ0WRn6rLi1YMXqv0euXcpBPWG8Ic8082s3EjZDNhRFfKUn nGEzqe0a+Lx8uOwrwUhBAAB+6VnO5VBu4pCztx48j59Gs/6MGBR9x7hJB31H+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770281208; a=rsa-sha256; cv=none; b=IMUN0QI845DIBDmcgkRHuxJbMcGZBxr3lJAZ+yAf5gPE7hK4JyEQTPzn5jcUM11A2/KYmy lvJhJLg//bxu4FfLNjgLeeckE1fPLyPIGf3TjXH3fBJw4QL7hYfrVFSaT6Z3NWDJjZjXDw feemO++iTHRTzE5T23861C/E33sB7hazsIJg8hT3jW1scN9w4KWT580Myz9CuSaWPlskeR jzUlv6gCU+8UEN9rmfUO7Vz5A0nK0i4R5fIJz6xSkP9mM0hXolUgAzIVgym1lOEw9qIcrQ kiCH7q6/VzTyUnMn236Uw7RALEqA+ruqdEr0SUm9VavzPbF9deGnfjuT4Px8xw== 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=1770281208; 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=wzreisPPjXb25HKoMjVpw+AMp8amDTFnisXnn/wQ3lE=; b=ljWCKlBMDZgIsZdv+Wb+PA4hGu2UyS3KDcRn+Psbu4OOBXZKSGrWL36bX5jjSQ095HWr// oevqRltOoBgoSVgmTvMu0wKLffy7sLHvJ1nSnNQgFCmifgD0VQF8VR6Y+VlN3x5JWwLbK9 8DcaG/ABaqBHBOONKzTcR7gqpNUg32+AAmqRXm4zrMqGrcc7G73LSCQ6oDkoLowyVCmxEz MgH85WmRkgFdMrr2PDrTwjdWgiFcruDLbi3W77GEpMHFyYnfwrKmhH535EYkjMJ9SZpQu2 Fcq+dHzMBoPDIzsd54KVTxEa6DODwvC3NK/iymzvV1i+zM3mATEHctCjANFAgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f69nN3bDWz6sl for ; Thu, 05 Feb 2026 08:46:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cdd6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 08:46:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 8514035b0a6c - stable/15 - loader: Prefer comma-separated list of values for "console" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8514035b0a6c3b17700eb8d37bb4f23c404dfb61 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 08:46:48 +0000 Message-Id: <698458f8.3cdd6.70353cd3@gitrepo.freebsd.org> The branch stable/15 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=8514035b0a6c3b17700eb8d37bb4f23c404dfb61 commit 8514035b0a6c3b17700eb8d37bb4f23c404dfb61 Author: Michael Osipov AuthorDate: 2026-01-28 09:02:33 +0000 Commit: Michael Osipov CommitDate: 2026-02-05 08:46:29 +0000 loader: Prefer comma-separated list of values for "console" PR: 292595 Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54923 (cherry picked from commit 56970c3c4b0bc61d972837661a31cc2b9e8e8d7c) --- release/tools/azure.conf | 2 +- release/tools/openstack.conf | 2 +- stand/efi/loader/main.c | 4 ++-- stand/i386/loader/main.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/release/tools/azure.conf b/release/tools/azure.conf index 981e40566a1c..4fa6ba4d924d 100644 --- a/release/tools/azure.conf +++ b/release/tools/azure.conf @@ -59,7 +59,7 @@ autoboot_delay="-1" beastie_disable="YES" loader_logo="none" hw.memtest.tests="0" -console="comconsole efi vidconsole" +console="comconsole,efi,vidconsole" comconsole_speed="115200" boot_multicons="YES" boot_serial="YES" diff --git a/release/tools/openstack.conf b/release/tools/openstack.conf index 9ce65a75c3c5..6cfb02bab9af 100644 --- a/release/tools/openstack.conf +++ b/release/tools/openstack.conf @@ -33,7 +33,7 @@ vm_extra_pre_umount() { echo 'autoboot_delay="-1"' >> ${DESTDIR}/boot/loader.conf echo 'beastie_disable="YES"' >> ${DESTDIR}/boot/loader.conf echo 'boot_multicons="YES"' >> ${DESTDIR}/boot/loader.conf - echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf + echo 'console="comconsole,vidconsole"' >> ${DESTDIR}/boot/loader.conf echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf # Reboot quickly, Don't wait at the panic screen diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 607d765a3245..d1671d9e5c82 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -1331,10 +1331,10 @@ main(int argc, CHAR16 *argv[]) setenv("console", "comconsole", 1); break; case VID_SER_BOTH: - setenv("console", "efi comconsole", 1); + setenv("console", "efi,comconsole", 1); break; case SER_VID_BOTH: - setenv("console", "comconsole efi", 1); + setenv("console", "comconsole,efi", 1); break; /* case VIDEO_ONLY can't happen -- it's the first if above */ } diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index a70b3a253b90..7538c6d4fb3f 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -162,9 +162,9 @@ main(void) bi_setboothowto(initial_howto); if (initial_howto & RB_MULTIPLE) { if (initial_howto & RB_SERIAL) - setenv("console", "comconsole vidconsole", 1); + setenv("console", "comconsole,vidconsole", 1); else - setenv("console", "vidconsole comconsole", 1); + setenv("console", "vidconsole,comconsole", 1); } else if (initial_howto & RB_SERIAL) { setenv("console", "comconsole", 1); } else if (initial_howto & RB_MUTE) { From nobody Thu Feb 5 08:47:27 2026 X-Original-To: dev-commits-src-branches@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 4f69p72G58z6RRYK for ; Thu, 05 Feb 2026 08:47:27 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f69p71S78z3WJp for ; Thu, 05 Feb 2026 08:47:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770281247; 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=TClFPcO3et2ZvVfXN0ZIU3sVPQcdK2aYXMmwZjC81tE=; b=DpWcCVAoaFdHX8a/A8Cb0OiBz8fsHPxdNMWgMUOQSaRABm5Orv68j7HfTwL5XtwIlbQ+B7 5j6dmPgloDpXM+0v0uBqFRBTdWsgV8BOQTLquRly8x6dsyNgsNhI+kA0eXN0KlkrVd+XhS VyX/+XKviCR9GIMsOuKx+hN2HS7JybG8pTmKWVP9qq4Jyoo/442RL0m/h1LSWZuovD2D/N Zdqf0s0AdNtoPV5udBl6xBVcIIn9UNHnoh7mCsCd7YECZXVIEn94pTot2u5HIPT+VJtkjd gtQK9f5XFOwGuRMNqrn3LOSx7Kj0WdpXW/2tC7y3t5CV2/Lm7Wc7GrP0UOtHkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770281247; a=rsa-sha256; cv=none; b=Py7zjbmG1FZY8Vde3FFaoYBw4U4Wu5kPwKx8xmFahNRgxR4YeUObaY4fe6S9nlpTWk+xWq zByqwoSDiwG0R6RV0fssUUkDuEcu6aj0h4f92GOdacrOla1lJtRfiGC62+gRg5rs9uUVX+ geBbS6PcGHql5OPA5UrT9EkcVLZaxEEJ7Umj5vcEf/fLn5uhWZfkPDw/omaRSuuP3UFQLt LgqEs3AEVzyjp0sMy/oP50eI+FITmnx+7RRjbiGYwKGCs68Biy4Cwx5lwV4QdJ1FVkzWiz 3/FXQLbVVhRvwdV7XGLK+ZSSYamID5T63aJ8r7Gv3tRLfYXZbXUQjn2pQFATRA== 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=1770281247; 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=TClFPcO3et2ZvVfXN0ZIU3sVPQcdK2aYXMmwZjC81tE=; b=n36+qvrfp9CYQTeo5AZqGLv5bsFNOKuJZsauc+EEKS2zFBsYDUE93fa6Bmep0vvjSNob8d uFuwKXau/1SUAoPqhpPUPpkQ8dUxCPqAT2kWWVN3KJDGeMRYKJsOG5FkVazmU1Ja5iE8X2 irs8VRmJ3tYad5hovY078x02cXa0DTGjqqD10/u9GHa0dRMAUKUAibZAorbrLFTrJd5aa3 an+YjqpgLSPLXrm979qNJabTyT0KPh2tcV2w4BibMv80pRxv6FW3Zg5fdgZAj+DuoQkiVK c3Q7bu9Zk5p5jX3eoQqgQizKc7Wir/Z6B2cqoO6vj+LMZnTJBkdmrHPyxMGddQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f69p70hcSz6sm for ; Thu, 05 Feb 2026 08:47:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d4cd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 08:47:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: edde7a7a9313 - stable/14 - loader: Prefer comma-separated list of values for "console" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: edde7a7a9313c0590d8a371d9336ae2cc7369e62 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 08:47:27 +0000 Message-Id: <6984591f.3d4cd.617c9574@gitrepo.freebsd.org> The branch stable/14 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=edde7a7a9313c0590d8a371d9336ae2cc7369e62 commit edde7a7a9313c0590d8a371d9336ae2cc7369e62 Author: Michael Osipov AuthorDate: 2026-01-28 09:02:33 +0000 Commit: Michael Osipov CommitDate: 2026-02-05 08:47:13 +0000 loader: Prefer comma-separated list of values for "console" PR: 292595 Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54923 (cherry picked from commit 56970c3c4b0bc61d972837661a31cc2b9e8e8d7c) --- release/tools/azure.conf | 2 +- release/tools/openstack.conf | 2 +- stand/efi/loader/main.c | 4 ++-- stand/i386/loader/main.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/release/tools/azure.conf b/release/tools/azure.conf index 9e698b93fa91..17d78ab8c2b7 100644 --- a/release/tools/azure.conf +++ b/release/tools/azure.conf @@ -44,7 +44,7 @@ autoboot_delay="-1" beastie_disable="YES" loader_logo="none" hw.memtest.tests="0" -console="comconsole efi vidconsole" +console="comconsole,efi,vidconsole" comconsole_speed="115200" boot_multicons="YES" boot_serial="YES" diff --git a/release/tools/openstack.conf b/release/tools/openstack.conf index eed0bf62da3a..819752fd6044 100644 --- a/release/tools/openstack.conf +++ b/release/tools/openstack.conf @@ -33,7 +33,7 @@ vm_extra_pre_umount() { echo 'autoboot_delay="-1"' >> ${DESTDIR}/boot/loader.conf echo 'beastie_disable="YES"' >> ${DESTDIR}/boot/loader.conf echo 'boot_multicons="YES"' >> ${DESTDIR}/boot/loader.conf - echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf + echo 'console="comconsole,vidconsole"' >> ${DESTDIR}/boot/loader.conf echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf # Reboot quickly, Don't wait at the panic screen diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index ccde939581fc..1df1547f23b8 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -1118,10 +1118,10 @@ main(int argc, CHAR16 *argv[]) setenv("console", "comconsole", 1); break; case VID_SER_BOTH: - setenv("console", "efi comconsole", 1); + setenv("console", "efi,comconsole", 1); break; case SER_VID_BOTH: - setenv("console", "comconsole efi", 1); + setenv("console", "comconsole,efi", 1); break; /* case VIDEO_ONLY can't happen -- it's the first if above */ } diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index e7a42c194326..5a2e98b9046a 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -148,9 +148,9 @@ main(void) bi_setboothowto(initial_howto); if (initial_howto & RB_MULTIPLE) { if (initial_howto & RB_SERIAL) - setenv("console", "comconsole vidconsole", 1); + setenv("console", "comconsole,vidconsole", 1); else - setenv("console", "vidconsole comconsole", 1); + setenv("console", "vidconsole,comconsole", 1); } else if (initial_howto & RB_SERIAL) { setenv("console", "comconsole", 1); } else if (initial_howto & RB_MUTE) { From nobody Thu Feb 5 08:56:36 2026 X-Original-To: dev-commits-src-branches@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 4f6B0j0s3lz6RSSZ for ; Thu, 05 Feb 2026 08:56:37 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6B0h4dDZz3XlQ for ; Thu, 05 Feb 2026 08:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770281796; 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=pTvuf0YOUQejPrkNuuglmfAcFIIRe1mjpUMXhmFMksY=; b=Rw4fpYDUi6vS007tTKDb/Kc+R/02oryk+Fkmv/M8nF1u2oittdN0tzI25dzXvSqr4lQJfN 0K6v5adpaZdOTE7VsMsNQYUg3QvDYFYJ5xEdgywZ9yQMUV5YqZm7KYMYxlErBkwVPMxNJi u5ljWUrVRBHdju+qh2Y1C0DKF/khMqfAf9Jht/TcvVMx/xWOoHDFlUENGlsgrAQiAvjvt4 Gcenb6+xeMvyexHWqaN2TFgI98Afr/ruiErFhj5T5uv0Ti013oRcuoBx/ebdFrSA4CbihO FjofW3WyIjlFs93Eqe0IGjumIfVbLP8eCqumefq0BlJ1A7PvRGIx4zdloNogaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770281796; a=rsa-sha256; cv=none; b=k4Yh4xfzHbxMEzWnPdP69FhkT5hY3pY54c+32OO1BTXYYElzB9xZAaUHKCXntaKpq2w3vA x2oZMkfSLe/+TgUmhdu/yf22dvhJ0JNMTyjBbB/IAcq+aG5zMTMIkwM7qul++5hfbEdA3M RnSut6b3RDhA+LQPwcakkNndyF/uFwW0G8SFchtr65GMzy+4GkQZ6VImzqdQMIHtGbjCPJ T0Tc9LBLaVrUQyZEIW9tVmUQpBDEBiPRsxMMVAyk3TVSsy+DHT8RizSZjZ7c/FyQqiOk6D gYrpG94aRFo9q2/03wPBs/YP7No1FAT9NY3/xsFADCujF1vH3bx1o0cFTbOKjg== 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=1770281796; 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=pTvuf0YOUQejPrkNuuglmfAcFIIRe1mjpUMXhmFMksY=; b=UrHwyMAkko4a0SBmXcrgLaRUUxI7j8Ss3iqOo80E8z9PlBOJrjyfdkYRCPs2b/zFfXnKh3 SKHlePHCdHBRxFz8ne6MrnqOj/nboKUgg8RrZ9aTC6kP/a/iPo85nDzQhfxLf+YT74vglL 5RsOp4+LYE2no4M/YYPxMmSXSnjFfxdvOXEWribvknEqXaGxUzGMlR013LKas7THrfglUj jACR7EVOwDUymlWO8ux82KkA4k0Ib7ceBO3k4z10FPINu6E6FPBlU++OZLE1ElzYitAGjD 5sAqGNqujqEs2dJBuYUwwiqGJMTSvs/9zvxdoNUz+UP16KR8ZHYhOzewQ4+Sxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6B0h3h49z7CF for ; Thu, 05 Feb 2026 08:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e339 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 08:56:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 93fbf353b62c - stable/13 - loader: Prefer comma-separated list of values for "console" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 93fbf353b62c02cebd42e08e1ed97225fe526447 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 08:56:36 +0000 Message-Id: <69845b44.3e339.4c1e7a38@gitrepo.freebsd.org> The branch stable/13 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=93fbf353b62c02cebd42e08e1ed97225fe526447 commit 93fbf353b62c02cebd42e08e1ed97225fe526447 Author: Michael Osipov AuthorDate: 2026-01-28 09:02:33 +0000 Commit: Michael Osipov CommitDate: 2026-02-05 08:55:28 +0000 loader: Prefer comma-separated list of values for "console" PR: 292595 Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54923 (cherry picked from commit 56970c3c4b0bc61d972837661a31cc2b9e8e8d7c) --- release/tools/azure.conf | 2 +- release/tools/openstack.conf | 2 +- stand/efi/loader/main.c | 4 ++-- stand/i386/loader/main.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/release/tools/azure.conf b/release/tools/azure.conf index aa284b150c25..5bb4c0839beb 100644 --- a/release/tools/azure.conf +++ b/release/tools/azure.conf @@ -19,7 +19,7 @@ vm_extra_pre_umount() { echo 'sshd_enable="YES"' >> ${DESTDIR}/etc/rc.conf echo 'ifconfig_hn0="SYNCDHCP"' >> ${DESTDIR}/etc/rc.conf echo 'waagent_enable="YES"' >> ${DESTDIR}/etc/rc.conf - echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf + echo 'console="comconsole,vidconsole"' >> ${DESTDIR}/boot/loader.conf echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf rm -f ${DESTDIR}/etc/resolv.conf diff --git a/release/tools/openstack.conf b/release/tools/openstack.conf index 4c905fbae4ba..d927c9efcf79 100644 --- a/release/tools/openstack.conf +++ b/release/tools/openstack.conf @@ -41,7 +41,7 @@ vm_extra_pre_umount() { echo 'autoboot_delay="-1"' >> ${DESTDIR}/boot/loader.conf echo 'beastie_disable="YES"' >> ${DESTDIR}/boot/loader.conf echo 'boot_multicons="YES"' >> ${DESTDIR}/boot/loader.conf - echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf + echo 'console="comconsole,vidconsole"' >> ${DESTDIR}/boot/loader.conf echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf # Reboot quickly, Don't wait at the panic screen diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index e8a5b738aef9..0330ab15db9a 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -1041,10 +1041,10 @@ main(int argc, CHAR16 *argv[]) setenv("console", "comconsole", 1); break; case VID_SER_BOTH: - setenv("console", "efi comconsole", 1); + setenv("console", "efi,comconsole", 1); break; case SER_VID_BOTH: - setenv("console", "comconsole efi", 1); + setenv("console", "comconsole,efi", 1); break; /* case VIDEO_ONLY can't happen -- it's the first if above */ } diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index aecc45352ad7..28c1af05dee6 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -150,9 +150,9 @@ main(void) bi_setboothowto(initial_howto); if (initial_howto & RB_MULTIPLE) { if (initial_howto & RB_SERIAL) - setenv("console", "comconsole vidconsole", 1); + setenv("console", "comconsole,vidconsole", 1); else - setenv("console", "vidconsole comconsole", 1); + setenv("console", "vidconsole,comconsole", 1); } else if (initial_howto & RB_SERIAL) { setenv("console", "comconsole", 1); } else if (initial_howto & RB_MUTE) { From nobody Thu Feb 5 09:50:29 2026 X-Original-To: dev-commits-src-branches@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 4f6CBs6FMDz6RVgF for ; Thu, 05 Feb 2026 09:50:29 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6CBs3f1Kz3d1c for ; Thu, 05 Feb 2026 09:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770285029; 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=l36qHTRqGVWAAS3k/0ONZ/RrqyjOJfEIlqpfXKklinM=; b=W6/v6KvnvFY1X1Y9ROs6sJbz7QY1sswiBoPj/j6dzzL2kRvKwKUWWjkwV68Cmcwl76Ycob xBNpN4GqVbHIncM1Im6XFtPGwKszdPvrsvNhvWjMllTjl+ehgglsGyBAI5BQfR5+MH0v0D JpRia0rF2CcWKwFEXHLymtmJUsMl2X6VnHAv3QlP/D1W7ncYcUDrxFszJyKgB+Stq1/VTw mIWdlHBEziSZUn5Pr+xU41tg0LIw5Uo2D7DTW2YMNhaBvKADoQYC1fjQEJeKh099OqHdTM OnJx/5E7/PnCo9tavqUDhPzgqIoIM8+zp9uxJR9WYSPuUuQV577Xu0pSj9hLaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770285029; a=rsa-sha256; cv=none; b=NO/Vy2RheH1rCQRplzKSBYmgiCARY+8n3Ssb9VXmeOmzoSwdxZxzTURxEfmgaaQ3Chd+ao ytJzVe7Q7fld1s1vse1yKlSRUXh4m4VafALSkdCBTGIe0Oo/ZcrwROkAa65B2jLj2AzsEq nzvqvWSGEEc0s72M/ajXAMMjVXinySP+Kz0lKoxyOXi/u/DOifnz0aJWIvbRi+w0uIyxSo tiC0IOge5q/5xKhFhyThTQeGm/EAOq78RiThoPMB/UMlE/61eYP2ZGrZa7BMa0rPjp0d+I qHfMmRMyuNzJ/k5ZRR29USceHsAQzRYvAyrhbKfaMABkTkMlUX8nkKNboSTS6Q== 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=1770285029; 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=l36qHTRqGVWAAS3k/0ONZ/RrqyjOJfEIlqpfXKklinM=; b=jWkJ+uuP2IScZOoGTsyChmEmDqXndp0cpiEt/vVfU/VwAmvclfi3L92S816Oq2eVd2gz5/ 2+Cvw2qCqwU6EB4iNBVhl64ZahfjX7F1mxSy1ldQsVST/0xBWr5+FCAFifJUKqjucMbnse hDZVz2xsPA8twPp/p/RzObuAkSdk9QpolmkQ/NX87MhOzKQldZwXUPUtcGGeP5spOAv0OQ eOB6VEjhUw/9nRYOXM5UgGDeVtG/vmmjuqVA/uaLm8A2ovgrcBrhbuNlgTQn7clpbZDDe/ LjZ19W9N+8tjcgSftJ+OrA6yJbN49poZipXT3YsYdCfTIaTcqchMMJ0yJcZBwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6CBs3Bdpz8YT for ; Thu, 05 Feb 2026 09:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44026 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 09:50:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 6fd6fa4de1fb - stable/15 - ifconfig: fix gre(4) status List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6fd6fa4de1fbf54c9b78ea97f13c82a57d18c851 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 09:50:29 +0000 Message-Id: <698467e5.44026.2fb6842a@gitrepo.freebsd.org> The branch stable/15 has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=6fd6fa4de1fbf54c9b78ea97f13c82a57d18c851 commit 6fd6fa4de1fbf54c9b78ea97f13c82a57d18c851 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-02-04 11:03:22 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-02-05 09:49:48 +0000 ifconfig: fix gre(4) status Set `ifr->ifr_name` to display gre options for the interface. Reviewed by: glebius, zlei Approved by: glebius (mentor) MFC after: 1 day Differential Revision: https://reviews.freebsd.org/D55099 (cherry picked from commit c2ba906fa63982d7aa799466d83716d39fe91d2b) --- sbin/ifconfig/ifgre.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/ifconfig/ifgre.c b/sbin/ifconfig/ifgre.c index 43c86a546167..c3d3856e0b09 100644 --- a/sbin/ifconfig/ifgre.c +++ b/sbin/ifconfig/ifgre.c @@ -53,11 +53,11 @@ gre_status(if_ctx *ctx) uint32_t opts = 0, port; struct ifreq ifr = { .ifr_data = (caddr_t)&opts }; - if (ioctl_ctx(ctx, GREGKEY, &ifr) == 0) + if (ioctl_ctx_ifr(ctx, GREGKEY, &ifr) == 0) if (opts != 0) printf("\tgrekey: 0x%x (%u)\n", opts, opts); opts = 0; - if (ioctl_ctx(ctx, GREGOPTS, &ifr) != 0 || opts == 0) + if (ioctl_ctx_ifr(ctx, GREGOPTS, &ifr) != 0 || opts == 0) return; port = 0; From nobody Thu Feb 5 09:56:34 2026 X-Original-To: dev-commits-src-branches@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 4f6CKt4zxjz6FNvc for ; Thu, 05 Feb 2026 09:56:34 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6CKt20Bcz3dLS for ; Thu, 05 Feb 2026 09:56:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770285394; 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=xZYFnAG0uUvGI3Ghgngz39qPOcKWslV3+m8iX1idGhI=; b=OBWqr+1tJzF17NRauGkA4Kha6DZ8dgRZ+SEC+5yj9/MhvVTqoHfiQs7n7wCUoe6wS05kR6 nF9NApf2MNK6R/jvqPLSoe81T6d7qCp764SSQBrB1V7t1ijKdtlQcOQLHQ/cXCl6+N/95c CwFY8ahWyUMOczi8a+8+yh5OV3bnjKGpUrv9/YkFSj9zeI2rcssPudtVgHag+6mfIoXUQY mBWXlgwWSot+cn5GTHs8S+yNVhU8GQk7524qUjBuuz684kEQQWEp/XFl1q50n0Y3U29UgW Dp593wRjP3pXvxh8KcSw1faYjhYy/toEgUeZPtCcN3zq0mPyNn/NYmtg8fDduQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770285394; a=rsa-sha256; cv=none; b=jTnC1v9fqXJlW+6UvwwmwZIH202uhnimPOrTU2BEteT27qzP0ZU7mZKtEsgF4e6Dj2pox/ X/5exML0fWWvHPnz1bkikYPI7pL6y/T6qWQMMNr6l0yqBTq7fGsPS4R+EY5e6cBGzCEmWR zHY5MOdgARLicANlOXDoFjXpSJcaPk8sSHk7EZHiedh6Ckoy/RNEuB8fnZdIP6W5H1FIZ0 gVxkLM4lPNjbYTqq3m/+g5GgHkAq/vwNvc/yR3qqnlndJh70m3kByvKZ4rLgMrzRQfEvsc oa0wYO87zi9B1IWLV3fcVHM+x/kqjZowkYNkxBk5WzXr6TIs/8P7QQDB3Ee7GQ== 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=1770285394; 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=xZYFnAG0uUvGI3Ghgngz39qPOcKWslV3+m8iX1idGhI=; b=Y1HS1nK9wmwgNV9N6J4b60QOv6Mq9Ky1lPY068z+4FXa1BAqn0AkkvTfZZtJJb9XP0n9Nt h5hX28SIwGZRWWpxjSgCHZBXkBRJdQtOTPdYA8E5giFFMNSepDU/qSxVo7fhgerWyrVEQd /Tz4Yod7uY1qJ2mkISQUbTV5mygMua379lR5WLDdmw+DQSQmgCisx/Ta7bkvsrhay1QtZM RtDMQ+drSbaG+0BvPAn6fnH0l9Tk4tS/+l7lNybS32xBSDLp45hXuDNnZ6PZxYn2Y8XApJ jqcBs0k9GXtHDfsr0uPRBBaqW/sUcbS8UROIsmm9KDuVXlevdPXr0LlT737Wgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6CKt0zlJz8WR for ; Thu, 05 Feb 2026 09:56:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4430c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 09:56:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 484bf5a664c4 - stable/14 - ifconfig: fix gre(4) status List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 484bf5a664c40a92b4f3acf9c81c57c62624c0c0 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 09:56:34 +0000 Message-Id: <69846952.4430c.7632e642@gitrepo.freebsd.org> The branch stable/14 has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=484bf5a664c40a92b4f3acf9c81c57c62624c0c0 commit 484bf5a664c40a92b4f3acf9c81c57c62624c0c0 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-02-04 11:03:22 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-02-05 09:55:59 +0000 ifconfig: fix gre(4) status Set `ifr->ifr_name` to display gre options for the interface. Reviewed by: glebius, zlei Approved by: glebius (mentor) MFC after: 1 day Differential Revision: https://reviews.freebsd.org/D55099 (cherry picked from commit c2ba906fa63982d7aa799466d83716d39fe91d2b) --- sbin/ifconfig/ifgre.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/ifconfig/ifgre.c b/sbin/ifconfig/ifgre.c index 6f7bf56f0513..d620a8ae86b0 100644 --- a/sbin/ifconfig/ifgre.c +++ b/sbin/ifconfig/ifgre.c @@ -54,11 +54,11 @@ gre_status(if_ctx *ctx) uint32_t opts = 0, port; struct ifreq ifr = { .ifr_data = (caddr_t)&opts }; - if (ioctl_ctx(ctx, GREGKEY, &ifr) == 0) + if (ioctl_ctx_ifr(ctx, GREGKEY, &ifr) == 0) if (opts != 0) printf("\tgrekey: 0x%x (%u)\n", opts, opts); opts = 0; - if (ioctl_ctx(ctx, GREGOPTS, &ifr) != 0 || opts == 0) + if (ioctl_ctx_ifr(ctx, GREGOPTS, &ifr) != 0 || opts == 0) return; port = 0; From nobody Thu Feb 5 13:52:55 2026 X-Original-To: dev-commits-src-branches@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 4f6JZb4Fxdz6QZG3 for ; Thu, 05 Feb 2026 13:52:55 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6JZb3DTZz44Dl for ; Thu, 05 Feb 2026 13:52:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770299575; 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=MvIZDlXU6gMAXPMz7/pX/LtJL15kWUDhM4xx6btba8w=; b=d+kAIASCOv/3rJsRSoLMOTiFFRD9PSUnzadC8cXrQEg+sWYsdcMZW/ustF6oJ7f4f/dSjc IzCgo+QJtl2FqjnAtoHW8EAmUGvKpXFrLQ4XliEh++EkB/h7LJnNwtmox4Vn1AGBNh0iQb IzZ0vIDMt1FO4MN47kvxIGgOwHpq3mY3womk91OSlBZ33nbYma62D/qz02Uc7oxm4b4Wsj d/FX2tPrcSbvd0hYtRIpA8xqLc3cTbvuyWPfUkugNdtSTyKM2QECN429O8i8KZbrhGdH4B /HUw0Cmut8KhVKwBrkK+wvvZy/Af1dr05DwgD+I3d8c1b/gbwLNU8WiKglQHMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770299575; a=rsa-sha256; cv=none; b=GlHJF5FOW1GyhSlcrWcQBmtHSMGJN9fWvCvH0xT2Mc4JHDRd4PNRMyFKP0xBwS7oMJj4vA I0zZHIY9X/fz0OgHBq7RhbwtDyLrHIAiJ1TdQe8U5gxiweygn4cQzFg/mghSDqKoIzkcdb jyCfvQ1kgc38fQjj4joMbQkN6Tmu+Z/rmYFjYTAZTOxyGC9VAku97B7yFaXsAaNXBJmgnu vlo9Cvh8i6FWGVDxyRlHsW0kF483A00kO2Y43LD9oaqpT6Mms/sDbzjEAgRBnma3V1J5D2 x+I05OEglN934m4XwcAOyjBaMerbw1CSBASgm4jMOIdQKQPlzCXKxSEFVSBDeg== 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=1770299575; 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=MvIZDlXU6gMAXPMz7/pX/LtJL15kWUDhM4xx6btba8w=; b=qO3YeDiXjyfdAUROmLYPObxVs4TdIF0RHwr5botTUun9qRAr9zonY0R3zJVdQTWqipHDpo szR5ijU4HbImq/lVTzWISBs8FvQvXn7fUw/uUwHVB2TJxfXzUPyf4F2L5jFSWKmTWVLjgD nQUOVxWIxjbWPuAmuE/NwQDAOe31M0ucZxl/T2f/mZInn7Oy9BlAsjYtPlmCI4RT4gQD60 hWsz4ZQJZyyLV4PpDAyuPAkmbTFvaU3xFBGYB+fKjnvcH4y8Oy98CK6G3TshQ9VrTjYjnZ FfjL6eivLsxPxF8LoNrhFeb+6MjTO9M64wLaRMTVbwdMM0JpUp21m6AFuswo6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6JZb2WQ3zXht for ; Thu, 05 Feb 2026 13:52:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 378ac by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 13:52:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 69e12701ccd9 - stable/15 - ath_hal(4): Fix a typo in a source code comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 69e12701ccd9774c4a282cf7f1e96faa0dc13182 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 13:52:55 +0000 Message-Id: <6984a0b7.378ac.43ddf21d@gitrepo.freebsd.org> The branch stable/15 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=69e12701ccd9774c4a282cf7f1e96faa0dc13182 commit 69e12701ccd9774c4a282cf7f1e96faa0dc13182 Author: Gordon Bergling AuthorDate: 2026-01-31 15:20:32 +0000 Commit: Gordon Bergling CommitDate: 2026-02-05 13:52:13 +0000 ath_hal(4): Fix a typo in a source code comment - s/arithmatic/arithmetic/ (cherry picked from commit a17659fe260ce16c1e373b543ca9f13cc14340ea) --- sys/dev/ath/ath_hal/ar5211/ar5211_reset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c b/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c index fa5293777f02..c5a86ef78edb 100644 --- a/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c +++ b/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c @@ -1800,7 +1800,7 @@ ar5211GetInterpolatedValue(uint16_t target, /* * Look for value being within 0.1 of the search values * however, NDIS can't do float calculations, so multiply everything - * up by EEP_SCALE so can do integer arithmatic + * up by EEP_SCALE so can do integer arithmetic * * INPUT value -value to search for * INPUT pList -ptr to the list to search From nobody Thu Feb 5 13:52:56 2026 X-Original-To: dev-commits-src-branches@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 4f6JZc71FNz6QZCm for ; Thu, 05 Feb 2026 13:52:56 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6JZc3c2fz44Vb for ; Thu, 05 Feb 2026 13:52:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770299576; 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=QInuHS4CFBAWy6CrcPdrlMflBtERkZvNoWd1gfFIn7c=; b=XpIgLzTcCOK7KUxHKvFdtVVNzT6iCWrnM7ISkvnlJnnlduwxdoeyPwP2fyEcr4yYJgabcA Zp+UKPFLVQ+72Nti6CAXBt6Od6JVkIYNFHueKwKt/t7hXRB1qBQvISnDiBcgo3e9+9UKPo +tKnWxcxmWXxxdbRCSS7CdFMXUO1aGsn75IW0dn4f7KiGCeK3lAMQpOaUvMPCpX92I1NJw 2lK6NcJPZfgLUnn2k0RLBX3xeQpdzTmQgQwX/t0q0zGtf/Rn87zhvMOWldb5HXBht/TKQQ Y85DTVsgKoI/PaGCZHASoSxO5YCKmprYughZi3/CGTBb/AhWy0zXlcdJXOCgmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770299576; a=rsa-sha256; cv=none; b=Fpf9+U9sz1Zo0wherAz4kkZGEMPqsdHS6//XR7/9dQUcw8zpAbA45xgg57F5vZIVhIZuV6 zsOpAwhAwPEvAwG8BGTdQnOuNumHcrdDpfBbQQUFRbpycsnh2hGXeq64CJO/svEVI/FZTt uIu2ewh2U/kL1/79lOoCv2vm8bUzMo1t2sSDz6A1qdsBSAhQO826WAtIwydRK0gm8g52JD UiHe9m183ZgqMXZPf1dn5N7hxuuwEZdMJhJdabqIMoKrv8xr+jGemITeQCEx+oQTn6I77o D0RgYtjgjZ6RkYil2K9e/nQjEH8evkMmyt7KpV3owa0hNFey4k/AX0yKbIqcBw== 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=1770299576; 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=QInuHS4CFBAWy6CrcPdrlMflBtERkZvNoWd1gfFIn7c=; b=f8CwSOt022HGrgbrFZiUU0KU8PSJxnYFwTON7aZD6+ujk/I1Dpjyl2YBezoaGAYtxdOPfJ eDHk+OwQ9yIMPsnKRLR2RGe/6QdklMIBAgR+iVijjHYjYTATjOgCawV8nol2d7oNqsaOKH wXo2ZMBFkrvKqL5zrK8551avQw9HSEynbFzIqPvUsUq4KeIsTulUcdGKXPzN49ssPS0Wgg DDNL7ERRyGKjALgDY6z28hEMxImNDK3EpmwUroqpOx2RHO4vfYGE2fgywfJpPFQlJ2FTeo UM9l2+NLst0O9CKe9rP/iXccvTDd53xdvGXMKprzulLl5GKqZ+TiJt4OMmBP/w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6JZc36NWzXg5 for ; Thu, 05 Feb 2026 13:52:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36444 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 13:52:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 17d4a7c320a0 - stable/15 - cpufreq(4): Fix a typo in a source code comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 17d4a7c320a0923bbbc2e5d51595a4b115febe54 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 13:52:56 +0000 Message-Id: <6984a0b8.36444.407891bf@gitrepo.freebsd.org> The branch stable/15 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=17d4a7c320a0923bbbc2e5d51595a4b115febe54 commit 17d4a7c320a0923bbbc2e5d51595a4b115febe54 Author: Gordon Bergling AuthorDate: 2026-01-31 15:22:00 +0000 Commit: Gordon Bergling CommitDate: 2026-02-05 13:52:38 +0000 cpufreq(4): Fix a typo in a source code comment - s/transcation/transaction/ (cherry picked from commit 0a3e7ba466376b46672b56c991c09cde528b9729) --- sys/powerpc/cpufreq/pcr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/powerpc/cpufreq/pcr.c b/sys/powerpc/cpufreq/pcr.c index 335a1d011a66..c58176997470 100644 --- a/sys/powerpc/cpufreq/pcr.c +++ b/sys/powerpc/cpufreq/pcr.c @@ -141,7 +141,7 @@ read_scom(register_t address) __asm __volatile ("mfspr %0,%1;" " mr %0+1, %0; srdi %0,%0,32" : "=r" (ret) : "K" (SPR_SCOMD)); - (void)mfspr(SPR_SCOMC); /* Complete transcation */ + (void)mfspr(SPR_SCOMC); /* Complete transaction */ mtmsr(msr); isync(); From nobody Thu Feb 5 13:53:40 2026 X-Original-To: dev-commits-src-branches@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 4f6JbS25mNz6QZG9 for ; Thu, 05 Feb 2026 13:53:40 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6JbS1X2Mz44xf for ; Thu, 05 Feb 2026 13:53:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770299620; 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=zfiapMu0XgB0nGOOtaWMY51PJ7TUSRfiBAitDp5pOVA=; b=uOksy/0qF1z5EyOrLRToOIBexEZPZD3hD3yDdSfwRvhxATpdFbOl+4YvZYmXcwBNH3u4nC mxPl7uaPmkKQzC1GTXVwmpplB/ztv9c5rDXQ7Nb9AMvYvGqPFoz0yEng/tv9BsK6oVW0Rn F18I/9Pi5FGqr25KvytrzErSnqbHre+C0ywwGNrTRa7UVy93CV3cZeD8Eke0fOJlqxWQls A0xUY9Z3Ny/W+IjqLX6eNzoMnEvv4Vv2MjaT6t75w3J5mvPm9aDhE3Mj0cJwscX1XQrWKW f0WH3T+hDpOXVbq+0r9xXCjd0TjZA/nSzAuiR9xtEHPNVHP8VZSA9d8axPEgHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770299620; a=rsa-sha256; cv=none; b=yr5LUVh5jyOfeG/8nJNMHF6XqgM11xq4DZTfXhT6Xl/6xdeFgtj8egcu/RM92Ce1wleJ28 ntCHkdGYQI83S8sP2noY980N36tZqwP/s/3KmHJVy0M1qobr76Uc1Gd8PowX3VsNfqbErC 1PaVeD5/hffyPShUovalxPQtqb0SmMEtFBOAGKe1JNP/w3U8lfOzjuIvytYW8qx+5e2iUZ fynOvs6f2Qd1iw7gxqfmomVEwRyn1RkFzVDCX5PN+Ag6EhQ84H35uJkgqwCYrA17iEfwKZ cojWwXQosyP1McXqZF1RUvkF08XvFbW5ZfrNkPBO9dkh0cwNVaEGbi6+QbXwCA== 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=1770299620; 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=zfiapMu0XgB0nGOOtaWMY51PJ7TUSRfiBAitDp5pOVA=; b=ozxfwlNvS1AvnZdmEqUq6ObBBjpNgdldPNyOv7K1OiGE7gojNTVh6DOZL84dqynVT8aRlS IlwaV1o3c1svkib6t6ZJfH9mXlJT2kToxamhvKbdet6WRNe9JoJluC5J0YOJ9y+QcOM0Wl J+dE5wAa5nGTpvFduVxx68vRfG+vhwgeviBpVXk9uJYB7UYcV6kX6W4xa/S2fLMPa59hbg pSQJYeh0fEEr7kHofB7vvyAq6zVaRGYD6uXO5gyUg7xEjXtmHQTSqWXDIkLZY2wsg6nE58 4zzU5jhmx43vz8F+0mpUifViXdvYxXnBlzSeMrTcBVTsodgIfaQpg/cM+DyZ3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6JbS0y8tzYhd for ; Thu, 05 Feb 2026 13:53:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36158 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 13:53:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: c36e2278f4ca - stable/14 - ath_hal(4): Fix a typo in a source code comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c36e2278f4caaf22e55946f908927dcd46c479e4 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 13:53:40 +0000 Message-Id: <6984a0e4.36158.6b3a3076@gitrepo.freebsd.org> The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=c36e2278f4caaf22e55946f908927dcd46c479e4 commit c36e2278f4caaf22e55946f908927dcd46c479e4 Author: Gordon Bergling AuthorDate: 2026-01-31 15:20:32 +0000 Commit: Gordon Bergling CommitDate: 2026-02-05 13:53:21 +0000 ath_hal(4): Fix a typo in a source code comment - s/arithmatic/arithmetic/ (cherry picked from commit a17659fe260ce16c1e373b543ca9f13cc14340ea) --- sys/dev/ath/ath_hal/ar5211/ar5211_reset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c b/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c index fa5293777f02..c5a86ef78edb 100644 --- a/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c +++ b/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c @@ -1800,7 +1800,7 @@ ar5211GetInterpolatedValue(uint16_t target, /* * Look for value being within 0.1 of the search values * however, NDIS can't do float calculations, so multiply everything - * up by EEP_SCALE so can do integer arithmatic + * up by EEP_SCALE so can do integer arithmetic * * INPUT value -value to search for * INPUT pList -ptr to the list to search From nobody Thu Feb 5 13:53:41 2026 X-Original-To: dev-commits-src-branches@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 4f6JbT3lDQz6QZZ0 for ; Thu, 05 Feb 2026 13:53:41 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6JbT2Bz7z4546 for ; Thu, 05 Feb 2026 13:53:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770299621; 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=fiGwthaA4KwwdX+HdhXCc8MBpCLViEkoCJN1VnCnl78=; b=BZ6CSLLrXxeRcuHd3O6wCMHEHVPz1jJyDA7VljDEqaWDyhn5sIyf/rhwrknjGahVinyOLY Pk4YJ8LplQfStodCF38oSTqxJgraXBhxr4MoxIi85IzGyhdxKfiSG4n00v9aLNULpM3aJW ATfJh1Wua2WN2HFpDY10+ukOXGI+SqGSQNm8yRXciaozbZ8/c8kZTm3b5Wj4iVj5oOdzb2 zUt+g7paU8ftKv1r+x+3aVXr/TucPdXIE9oCNGAQJKY6XBsJmcMDtwYY/eECVv2QN7Pi05 SusNfYdexAsLoqi7ZuIlKlpk+nOTq6kK9Vhadoz/eG1fYsqlsY9zxF7kb+1+Aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770299621; a=rsa-sha256; cv=none; b=XTrTIgo31r9AE2Rg+Sqtiia49P+2LYwmPY49fWHOMK1YG/w7f8XIbmtHRFRCJ4DRiHl0xg OCxqbdfmZb7ywC0p53ZKem9ID2cqm4QdFwzS+yqburKicXDsllCYhVvgSIs5tPd2vw4fR7 sC3NJJI0a/xS0KyzdTphxCuBwPJCr6MCHF7Sw33S/wX1H8HkrufSjTos0Bvg3EHhDi08+O lWCcP2TqK7pEkAmf7XB3ATiZvpHCVBM4N/LCHrT1m2+xyXYVggPU3CPdjgqCerT4cNQtZ9 vk/FUaEFmKp24R/COdFPJhWDYHLhXHv/2fuKKBZlfKTjtKe50WWQJsmhcObK0w== 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=1770299621; 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=fiGwthaA4KwwdX+HdhXCc8MBpCLViEkoCJN1VnCnl78=; b=AEg0w3hiFFj9bLuyTI39YzCaG4TOORHlWRl3NIMAmsuqpWUCeEEdgKLYmLsnj17jyu0laa 7KgBz0CrlUPlgSjMJZCJLTZQeIg1Hj6H+8lZA6ZKhLSBPi4o8Eb3GEzOhBlQ5m2jJ2nu2e gKdUZLT62EcqUdpu3PT7yT5xPDYdlXiaRiqu4hUR9FxWqo4TRAlJcdfIoiY9tM39mNZezO oNE97MzQ0BMKEZZXgGnU951O73AvXOWilt3hThyHttkwx78KUYk/PnExMf1+X6xRBoOcNQ ZwGnfHGiS/QRYWW2UIKnuJNAVu2CxLFqgkaN8B3OEB+MXxr5HJy/VL6or/Pt/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6JbT1kzhzYhh for ; Thu, 05 Feb 2026 13:53:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 369d5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 13:53:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 6415be5503db - stable/14 - cpufreq(4): Fix a typo in a source code comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6415be5503dbfae1dbd8a954c6a52a225fbfc284 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 13:53:41 +0000 Message-Id: <6984a0e5.369d5.2a24f87e@gitrepo.freebsd.org> The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=6415be5503dbfae1dbd8a954c6a52a225fbfc284 commit 6415be5503dbfae1dbd8a954c6a52a225fbfc284 Author: Gordon Bergling AuthorDate: 2026-01-31 15:22:00 +0000 Commit: Gordon Bergling CommitDate: 2026-02-05 13:53:30 +0000 cpufreq(4): Fix a typo in a source code comment - s/transcation/transaction/ (cherry picked from commit 0a3e7ba466376b46672b56c991c09cde528b9729) --- sys/powerpc/cpufreq/pcr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/powerpc/cpufreq/pcr.c b/sys/powerpc/cpufreq/pcr.c index 6c2c3de1ef43..17bc41534603 100644 --- a/sys/powerpc/cpufreq/pcr.c +++ b/sys/powerpc/cpufreq/pcr.c @@ -142,7 +142,7 @@ read_scom(register_t address) __asm __volatile ("mfspr %0,%1;" " mr %0+1, %0; srdi %0,%0,32" : "=r" (ret) : "K" (SPR_SCOMD)); - (void)mfspr(SPR_SCOMC); /* Complete transcation */ + (void)mfspr(SPR_SCOMC); /* Complete transaction */ mtmsr(msr); isync(); From nobody Thu Feb 5 14:09:53 2026 X-Original-To: dev-commits-src-branches@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 4f6Jy95Zkbz6QbLm for ; Thu, 05 Feb 2026 14:09:53 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Jy94xQrz48L0 for ; Thu, 05 Feb 2026 14:09:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770300593; 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=H6sMwx+23L9GODEh48F8fmQjFjIsBr7aAEXxuN8PlEE=; b=MueyclYqwM8Kphpar/dxpm/MLY5NNjW4aNWF7ppCLfh4rQeGzYopLpz+NYShDv9cQNAeN9 K0k4JaueDt/OqlE09rTfulWBOMad0ztJDqMESVwmXeFIs5UTekllrMzI2UB3nnnfGuxMt9 dgd7jYePc1g2RVNHCioSD4G2fJykrTH49/BcSfuHizDIHRmPeOf8FtvCntznHtV5o5e76W bGem/jjIOXSQWF7cUMe8eeHHofvHIApYOJgwUXoK+UVSNgX5sT9nBa4HfEEIodBqAMyljD K5pCA8COoIaTqBQugsQtKTNWIZwW/9pPwGJcSR+Si7vfeQJJ7Hd+qxP7J7IdSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770300593; a=rsa-sha256; cv=none; b=GRYGaQRV35L8k3uq+rCFPH8ymWv9truFvIEPIfL3hT/LZCropDSt0uYcm1FDUoGPzhAANz 36UWpGoYcKQ46rY+Lbt/IpMhmR79ywmC9khUVhGT/L8fIqHoN7rM6Hq+dJhdaMqvZIBDYP FOZb+Y7+mDwvS8bFeD+N/7luXZVY0bwxigOsSLe74iqW+rFO7/oOncLa7fORYiiS8HNnSA Itmv7GoJHx2U16iNGQq0CvH/K21NRUnhYo2flxHj+3pO2psk7pPQ/OpBUPCEfV54gthUBP gh051dYzPqcxBnqvAddE0cB8Tg/9uKIbRJEYizeAlAfHHnLIWLPgM4kQA4280Q== 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=1770300593; 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=H6sMwx+23L9GODEh48F8fmQjFjIsBr7aAEXxuN8PlEE=; b=K3a9Q26PAlkZLBPePUDNXgBcPHRJK45WOuniabnYDNVugaJx/tfyn8GschjVSWx8SyQzrZ CTTWd+RWMotegnPexUhnjDoPjqC0Q1i52RZds9keOXWt8/7AR0EegmaFNkbCDa4uaBVvaq jqXnng4z/dBcphIvlaecxqYYi8Knq279gxeUJ05lMfq+GZtkXNkmgiK3WXHB0GOKiSXUnJ tud3nsu1kMxD49iIX9M6vqsPLB2Hg3/ixuiEAWaWoybOn468q9/ipvnhC+oUXrloZm+MZj q8HxHvWywsya5wMYCXZnDRhfAKLSY/t/PBJZv3CXXff9TclVArrz5neT0bjvRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Jy93yMVzYvM for ; Thu, 05 Feb 2026 14:09:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3809e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 14:09:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: cfd1ade5c712 - stable/15 - nuageinit: support fetching configuration on multiple iface List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: cfd1ade5c7125eda8d055d896004a18fc33b961d Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 14:09:53 +0000 Message-Id: <6984a4b1.3809e.6459d4b2@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=cfd1ade5c7125eda8d055d896004a18fc33b961d commit cfd1ade5c7125eda8d055d896004a18fc33b961d Author: Baptiste Daroussin AuthorDate: 2026-01-29 09:56:33 +0000 Commit: Baptiste Daroussin CommitDate: 2026-02-05 14:09:50 +0000 nuageinit: support fetching configuration on multiple iface On some environement a VM can be connected to multiple ifaces but only one will respond to dhcp and able to fetch the metadata. Launch the early dhclient on all available ifaces and as soon as one dhcp has successfully configured an iface, proceed with fetching the metadata. MFC After: 1 week Reported by: mateusz.klejn@ovhcloud.com Tested by: mateusz.klejn@ovhcloud.com Sponsored by: OVHcloud (cherry picked from commit 90a7728cd8905cd26b90d06f7873df8bad43ae9a) --- libexec/rc/rc.d/nuageinit | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libexec/rc/rc.d/nuageinit b/libexec/rc/rc.d/nuageinit index c901971488bd..259ce3c138e5 100755 --- a/libexec/rc/rc.d/nuageinit +++ b/libexec/rc/rc.d/nuageinit @@ -56,10 +56,15 @@ nuageinit_start() OpenStack*) mkdir -p /media/nuageinit/openstack/latest ifaces=$(ifconfig -l ether) - set -- $ifaces - dhclient -p /tmp/ephemeraldhcp.pid $1 + for iface in $ifaces; do + dhclient -p /tmp/ephemeraldhcp.$iface.pid $iface + done + pids=$(cat /tmp/ephemeraldhcp.*.pid) + left=$(pwait -op $pids 2>/dev/null) + for iface in $left; do + kill -15 $left + done fetch_openstack - pkill -F /tmp/ephemeraldhcp.pid citype=config-2 ;; *) From nobody Thu Feb 5 14:10:11 2026 X-Original-To: dev-commits-src-branches@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 4f6JyW4Nv5z6QZhb for ; Thu, 05 Feb 2026 14:10:11 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6JyW3kCwz48x7 for ; Thu, 05 Feb 2026 14:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770300611; 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=Kd/jciOhAUDCbagjKhJyg9TY0ioyLj/Z8YO8e7Rt+dk=; b=pJRtJLo1dLOjswCdZ0YMWfFXoB2VNLAMxVSk1ZIc58kTfAOhJpiv5+5Lnk9eCP61K08cYD AfzfuB8mKcU7DbKVoXhwFNPm69JKXekq7obSgvxCNTw+fM+haNEaR24HzOzQVRmXaepBRj h00FK9TY/upTerpyIDxNzyub5IEbvQTbGAtF5z1pcjOc+vgrqJRZ0fVTBdYVrTcgLwNPAX XAMSe5NrdHHL6BzyD16tA3WLOhnAjgqkyDJ5xEl5d/abBipdrBngmdFtQ7ctcqs2a5cJtD 3ewwUOkYUyvywxEzDAcLd0YhoKns8LPclQQudXcKICKrwfPwvBz5W5wlUIbhWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770300611; a=rsa-sha256; cv=none; b=ggWWlyeYnRXBkbYBbeWDsYGGlZ8r4HecgWRfNTsNcoSGVTw/2KaRWDX9j4IhSHJpIclhKg MG6xkIN6gMQCYrLVlWaknpFD835pjQgPAsKZMNvesU5BIvFq2bJFgWf898OPz4z7XZdnyS g4TEgMP017DEEPUceOPWPRL2Y0U6ev3dMaryU/fSMzN0x5ScjDQ2MM7Oi3xe+C/RTYKPxW Z8O9tg9nf0QPP50NSR23Ltj13UpTZcNpDDCZfJTL+vItcpeiZL7gIgTMIWj8kWnQ8UgYeN JC0XeQsnJLsL/V80fLsAqycl970vYSx3GfmFna3xdSG85tbHD23y81QeLiR20Q== 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=1770300611; 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=Kd/jciOhAUDCbagjKhJyg9TY0ioyLj/Z8YO8e7Rt+dk=; b=OQgTELq4GaZx0CisfxZIi4dHMlhXgvymk7M61lI6QgBGogAOGQEKBbSJAvmi2IbE4pEmgB loF3TLTTuii2sw2d2j7RS8qKVWkMQkurecsEUv3quN2nIwhh8e4je/HUhZlv9X+Ar5OZFG BZowaDPdIm0YfQzDvtXVAI5F+RLp/YYZY2dvCEBK8fLaMIcu9+RcMv81j9WIatbqbKEUSO suMuif9m87imLTMrAmwnTsZEh8ycOQVQkU7xf0rquIGwqjrSfJ/QtD/9799/n36A4d4rz4 W8WwNxEgwCgLkcITOt7Qu9wBCe5V2UFTMLZBb2r3CmZ1g8MkrTB8C61l1VcqTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6JyW3BjVzYr0 for ; Thu, 05 Feb 2026 14:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39015 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 14:10:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: f2f6f1467b85 - stable/14 - nuageinit: support fetching configuration on multiple iface List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f2f6f1467b8530cb6fa454e86f94277bb18a7829 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 14:10:11 +0000 Message-Id: <6984a4c3.39015.67058564@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=f2f6f1467b8530cb6fa454e86f94277bb18a7829 commit f2f6f1467b8530cb6fa454e86f94277bb18a7829 Author: Baptiste Daroussin AuthorDate: 2026-01-29 09:56:33 +0000 Commit: Baptiste Daroussin CommitDate: 2026-02-05 14:10:08 +0000 nuageinit: support fetching configuration on multiple iface On some environement a VM can be connected to multiple ifaces but only one will respond to dhcp and able to fetch the metadata. Launch the early dhclient on all available ifaces and as soon as one dhcp has successfully configured an iface, proceed with fetching the metadata. MFC After: 1 week Reported by: mateusz.klejn@ovhcloud.com Tested by: mateusz.klejn@ovhcloud.com Sponsored by: OVHcloud (cherry picked from commit 90a7728cd8905cd26b90d06f7873df8bad43ae9a) --- libexec/rc/rc.d/nuageinit | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libexec/rc/rc.d/nuageinit b/libexec/rc/rc.d/nuageinit index c901971488bd..259ce3c138e5 100755 --- a/libexec/rc/rc.d/nuageinit +++ b/libexec/rc/rc.d/nuageinit @@ -56,10 +56,15 @@ nuageinit_start() OpenStack*) mkdir -p /media/nuageinit/openstack/latest ifaces=$(ifconfig -l ether) - set -- $ifaces - dhclient -p /tmp/ephemeraldhcp.pid $1 + for iface in $ifaces; do + dhclient -p /tmp/ephemeraldhcp.$iface.pid $iface + done + pids=$(cat /tmp/ephemeraldhcp.*.pid) + left=$(pwait -op $pids 2>/dev/null) + for iface in $left; do + kill -15 $left + done fetch_openstack - pkill -F /tmp/ephemeraldhcp.pid citype=config-2 ;; *) From nobody Thu Feb 5 14:10:48 2026 X-Original-To: dev-commits-src-branches@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 4f6JzD5phFz6QbYr for ; Thu, 05 Feb 2026 14:10:48 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6JzD5G86z49Nw for ; Thu, 05 Feb 2026 14:10:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770300648; 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=U+SFf6oW7TJaSmLMHxWwvU6XKMYPRVQO76LaYdSdcnc=; b=DrDeVgtIWv/U9OmOv7i3oFd47G/7Vs29/rvVxe2mpjwVZbve5PdUsbyO5/OeZPBNJmeWb2 uXhCqV+teFxQcX9oHE0oJkfMmDEYy48455XaiQd/P9Moa2xP0XDVK1fU1e3dI7Xrn1GcZ1 bSQDb1EfuU8R3XIwGdYrt4qs/ba58Ljn3MZeL0mzdUCm4rReYHBQ8NIZoDMbLVgCRK7UV/ 55uBEtxYPUwj/iDWI9Cu8nipToHdyZgnwTHwYhIJx5lF3G7lKfW0JeRnAJH9tIIVPgAD1r GgbHdLql72CYbOt6+qqf2kpemq08BYStf7W4dfBEmB5lvQ/uuz5dGMii4z05VA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770300648; a=rsa-sha256; cv=none; b=i7qvFWuKwRJ6Yw2nxrqdLyP1s8FO8//mBUmfmEnoVUAGyrgrFbF++epMc8i6DHPB0whQpU 8kgZt1FSYZuWuczbMK1MLd+r35zcSevTsm/2JdHG0vLmSsHBZ/P1/e7ns/HuOfmS0S51ir hLPfUcmkfKF5hLthPLBJ8Uh+1H445zRFu3jRwVcQdcQI+h7Hv+EUmRUeplLFBp7SCpyaFL 0zPlpyVQifdOe7PA3UY+BJ2GTdj+4GjqKhxZDUA3VLxbgBgs43LQP/qNSRfraYJhPLKB8P gEHKW+xLYYhNqRDPy8a9eGeP5+22/3l1IvV/tuQdqS7tOYsv2YlpvogkF95BHQ== 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=1770300648; 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=U+SFf6oW7TJaSmLMHxWwvU6XKMYPRVQO76LaYdSdcnc=; b=ItQQ5bvGKM6FTnggmxspVuO6vgGACd1x5CyWf5XlRyGJFNW9v6yerI7Ldp08QGMuG78F/A tx8uY4BxG3//dbL2GxcYIJM4sBMebIkxoKOz70gi4plTNEKf72SotNZ5a/EHx5LS0+k0RF 6dz4eiLErTKE+t7cN/0IFwCDF++U9aEzCEFPpESmh2aSIfv20EQJxbCiyHvw5ia0gupNLr ssN+oogHYA6tsCr1dpgiCnV3GAzCSFW6CdIfziakAjemUdcNrFPZIEqmQw6+kTWh3jcLQr 5LEvSPcye/w/GC4oSMGb8tgDZYuK4l53LsPTZSltt8T50mrPX0koFJw0XKLubA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6JzD4pd8zZ1l for ; Thu, 05 Feb 2026 14:10:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38f25 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 14:10:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: a3cb42ca632d - stable/15 - diff: use pdwait(2) instead of homemade one List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a3cb42ca632d674b76dc6c880d57d4980746477e Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 14:10:48 +0000 Message-Id: <6984a4e8.38f25.18aebd92@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=a3cb42ca632d674b76dc6c880d57d4980746477e commit a3cb42ca632d674b76dc6c880d57d4980746477e Author: Baptiste Daroussin AuthorDate: 2026-02-02 15:44:34 +0000 Commit: Baptiste Daroussin CommitDate: 2026-02-05 14:10:44 +0000 diff: use pdwait(2) instead of homemade one MFC After: 3 days Reviewed by: des Differential Revision: https://reviews.freebsd.org/D55053 (cherry picked from commit 0ec58e7c2e533a15eabfe8dca4a14e9ae93de4b5) --- usr.bin/diff/pr.c | 19 ++++++------------- usr.bin/diff/pr.h | 3 +-- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/usr.bin/diff/pr.c b/usr.bin/diff/pr.c index c3ea280073af..f254fbab28b7 100644 --- a/usr.bin/diff/pr.c +++ b/usr.bin/diff/pr.c @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -72,7 +73,7 @@ start_pr(char *file1, char *file2) execl(_PATH_PR, _PATH_PR, "-h", header, (char *)0); _exit(127); default: - + pr->pidfd = pr_pd; /* parent */ if (pfd[1] != STDOUT_FILENO) { pr->ostdout = dup(STDOUT_FILENO); @@ -82,14 +83,6 @@ start_pr(char *file1, char *file2) close(pfd[0]); rewind(stdout); free(header); - pr->kq = kqueue(); - if (pr->kq == -1) - err(2, "kqueue"); - pr->e = xmalloc(sizeof(struct kevent)); - EV_SET(pr->e, pr_pd, EVFILT_PROCDESC, EV_ADD, NOTE_EXIT, 0, - NULL); - if (kevent(pr->kq, pr->e, 1, NULL, 0, NULL) == -1) - err(2, "kevent"); } return (pr); } @@ -109,10 +102,10 @@ stop_pr(struct pr *pr) dup2(pr->ostdout, STDOUT_FILENO); close(pr->ostdout); } - if (kevent(pr->kq, NULL, 0, pr->e, 1, NULL) == -1) - err(2, "kevent"); - wstatus = pr->e[0].data; - close(pr->kq); + while (pdwait(pr->pidfd, &wstatus, WEXITED, NULL, NULL) == -1) { + if (errno != EINTR) + err(2, "pdwait"); + } free(pr); if (WIFEXITED(wstatus) && WEXITSTATUS(wstatus) != 0) errx(2, "pr exited abnormally"); diff --git a/usr.bin/diff/pr.h b/usr.bin/diff/pr.h index 2ff5949f282f..80f20ca7c329 100644 --- a/usr.bin/diff/pr.h +++ b/usr.bin/diff/pr.h @@ -28,8 +28,7 @@ struct pr { int ostdout; - int kq; - struct kevent *e; + int pidfd; }; struct pr *start_pr(char *file1, char *file2); From nobody Thu Feb 5 14:10:49 2026 X-Original-To: dev-commits-src-branches@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 4f6JzG1G09z6QbYw for ; Thu, 05 Feb 2026 14:10:50 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6JzF60RWz49RX for ; Thu, 05 Feb 2026 14:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770300649; 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=o09/Yq3IhBV5SP12uS6xTHvQpiXSlhRGcbF7cyz+DKQ=; b=cF0X3lN1P3NXX5h9mxWpdSzF5XfWPfjn5zloRaPQGcqBuMmqXsrJ1OqlC2vAnY+AqHQURz y/T7HG+Jdt3S5ikJEvKyvFqSQBEd+5nvVK2zRCEACs00nUFEZO+NM7hc1p+FDLGv+m1fUd iAG532EvcbSVl5yLY3aFFzxvIdsGB0JXiWcu++2BpZY+9W/0ZcYYTDdfIBiPNmMckkX4yh aQI8xv2AcWb5fddcoC62P38Y4Vh4t3Z9FPA3eUTmriTDJ56aj9DqjvAtlRZjCmtS9WvQqP EYZWRBm0qqDoo+63hNa3ihYC8/WgxQPIldsO+7TIQWkZlOmV2Ki2O86fJB04lA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770300649; a=rsa-sha256; cv=none; b=xqdHmsZyrDCp5ckA9QvWYii+dfBwFUSnAkpRhPUIFvtBLYA8VzUx3vkQSaUDDeY0s1qq2I ei0S+phhTcNuEG+Zj1Q7H1AzshkLmCKTIu4792ThM22sMvLCuZjBOmH3B561M+ErO/VyzS 2bVoVSoqzG3x/MjHEX097KeGJGyVkzTqkrdP0VN9NHYHDCV3qjTo2gs/b0MHnWrTMYPWnf GvdvuwoIdDIZLYO/VDVJf6BDFXuiHxXr7vaSpY13M04cTQssKjjwvikTxKFU63lDTlQsNx 4Ou00W/AjSg5r3y1VAu+sBnyaCpg4j/m0r9LJB4rUM9Yso1XEdHfSpIkWom/0A== 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=1770300649; 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=o09/Yq3IhBV5SP12uS6xTHvQpiXSlhRGcbF7cyz+DKQ=; b=ln7WNh1Fb/MPeMM1rqJRa0xwaxfwKoD4AZZjSUKS3iyAmHSQyZE6vsIvUEOnOMEjYR+MLi /ciK7+0yB0k37NMr8LtVMcTWWz8zzJgt1x+e9f17liwMGllqx/SH/z7smGEKlo1BrPeKfT MeE5T+o32CTiU5MRakd+2U8Xo7SGeLse8E/xZYbTfoxh/i3ZV6HVl8SN+jC9/OAtEj8t/p c1X1MVq8c4u2OomlQO2i7BtvO0mofCe4ook3arQcIJYE2qJV/wP1Uy1d43yOwNtw1dVXyz hnWDJS4hOR6pEw7Ifi/qagJVYxUVz7RY/h5GeiqOuEkYKQRaK6fMqJKDSPajzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6JzF5bL5zYjt for ; Thu, 05 Feb 2026 14:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3914f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 14:10:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: c47b4439da80 - stable/15 - diff: fix support for -l with new diff algorithm List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c47b4439da8072390bafd0f58e38bce85c91e2af Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 14:10:49 +0000 Message-Id: <6984a4e9.3914f.711daaac@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c47b4439da8072390bafd0f58e38bce85c91e2af commit c47b4439da8072390bafd0f58e38bce85c91e2af Author: Baptiste Daroussin AuthorDate: 2026-02-02 15:43:29 +0000 Commit: Baptiste Daroussin CommitDate: 2026-02-05 14:10:44 +0000 diff: fix support for -l with new diff algorithm MFC After: 3 days Reviewed by: des Differential Revision: https://reviews.freebsd.org/D55052 (cherry picked from commit 4d73b07d02d12cdff0558d3ca6c4b3224cae831f) --- usr.bin/diff/diff.c | 1 + usr.bin/diff/diff.h | 1 + usr.bin/diff/diffreg_new.c | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/usr.bin/diff/diff.c b/usr.bin/diff/diff.c index 83aa20c52cf3..1aba09f7a5f7 100644 --- a/usr.bin/diff/diff.c +++ b/usr.bin/diff/diff.c @@ -249,6 +249,7 @@ main(int argc, char **argv) usage(); break; case 'l': + dflags |= D_PAGINATION; lflag = true; break; case 'N': diff --git a/usr.bin/diff/diff.h b/usr.bin/diff/diff.h index 74be55db8a33..4bea23db1ab8 100644 --- a/usr.bin/diff/diff.h +++ b/usr.bin/diff/diff.h @@ -80,6 +80,7 @@ #define D_STRIPCR 0x400 /* Strip trailing cr */ #define D_SKIPBLANKLINES 0x800 /* Skip blank lines */ #define D_MATCHLAST 0x1000 /* Display last line matching provided regex */ +#define D_PAGINATION 0x2000 /* Paginate via pr(1) */ /* Features supported by new algorithms */ #define D_NEWALGO_FLAGS (D_FORCEASCII | D_PROTOTYPE | D_IGNOREBLANKS) diff --git a/usr.bin/diff/diffreg_new.c b/usr.bin/diff/diffreg_new.c index f54cd554ccad..d932764bb6da 100644 --- a/usr.bin/diff/diffreg_new.c +++ b/usr.bin/diff/diffreg_new.c @@ -33,6 +33,7 @@ #include #include +#include "pr.h" #include "diff.h" #include #include @@ -146,6 +147,7 @@ diffreg_new(char *file1, char *file2, int flags, int capsicum) { char *str1, *str2; FILE *f1, *f2; + struct pr *pr = NULL; struct stat st1, st2; struct diff_input_info info; struct diff_data left = {}, right = {}; @@ -178,6 +180,9 @@ diffreg_new(char *file1, char *file2, int flags, int capsicum) f1 = openfile(file1, &str1, &st1); f2 = openfile(file2, &str2, &st2); + if (flags & D_PAGINATION) + pr = start_pr(file1, file2); + if (capsicum) { cap_rights_init(&rights_ro, CAP_READ, CAP_FSTAT, CAP_SEEK); if (caph_rights_limit(fileno(f1), &rights_ro) < 0) @@ -271,6 +276,8 @@ diffreg_new(char *file1, char *file2, int flags, int capsicum) status |= 1; } done: + if (pr != NULL) + stop_pr(pr); diff_result_free(result); diff_data_free(&left); diff_data_free(&right); From nobody Thu Feb 5 14:10:50 2026 X-Original-To: dev-commits-src-branches@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 4f6JzH1mrCz6QbRH for ; Thu, 05 Feb 2026 14:10:51 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6JzG6r8Zz49Y4 for ; Thu, 05 Feb 2026 14:10:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770300651; 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=6IlSDvL6loJdGvRoyiev4URxTOAPHk9B8e+TtuUTSn0=; b=gDY5VWYILdYeSOYSUxByl2MPpPglU71CA19b+PONIv+ElhoTnSQvGOqw5zD6MaBlyfx06r Fc4ALtkJO2ocng1IBzpZJ0Unppwv1dHb89BrVRlcBexY04PVCqwRh64ZR3T6WRz1yUcAWe 2BG+zCubMN1WKVgcYCQ34WEL+bdRh4AnCfPIloVMJBBE8GFkewWA3Zwr4KA/yZJgW3MtHj zXiZW7adaiE0GLwj5aFu5YCrerhDK3c0madNVLJrevEp8P7aW60U795r/59PwHdD8vF+QZ tkeFpmI7Xaq5t7HY9ND19nA22Ml1XyRF8M7kfEGhqTdw6hQxmDiLqU4jfetGfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770300651; a=rsa-sha256; cv=none; b=vJXXq8BbDdyILuwsNu8jFNsbPJo1qqMSNuRffb8t45aRry4AmKL7abDvh8TRIooElvkPfQ o50S5uUhsBGYeEueBaHI9R7r2bvbFNzQbkMtJw6+eMl7p4zJ8ovprLUWhYgSdh7utGYVFH iUkNoUSxNHNEDK4XQfxZsHXRudJ7Nf3VbCgqIEdUYt2h/nMa6xD6Gol6jjIR6e8+ePOxHc jV4yRQSeH/KJLcwzOCutGXDKxQHu+tCethEOaVn/pmupOrvr8FLCpQbyhaW598KpzfoCez 0tTgQR5gNwJ/PinkGyf/62jhzJfZF25HfM4N8ZPLUPk0UF6lARMzJuzdRZhxkg== 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=1770300651; 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=6IlSDvL6loJdGvRoyiev4URxTOAPHk9B8e+TtuUTSn0=; b=AOCt//UgjPwXnmwYQOTzWrwdDlFxowzq+FpF0Uf50ppPjnU1TYc0ikcwFsdxN93EvkHcVn 0jjg1l92ApVXQfW8vwUC0Yg84D9C3zozWjaMkQpxoCH517ca3vIeJSXztkDC7FXn/MTptE fEAXgGNU9gy4T617ff4VHupYXNbNCBxRj3e/Mc6SENsOD6ol5077HOHCCsbHRrJks32K/U B6kTQkYHYKLla7TJ7EcoeGuVZtFIWJ+Y3g0ea5JcjwD1AUJ+Hh+yuCm86qat4jDQCedMb1 WfkpiB6milHPeW4CtQEaHpR63Iwf+TC/qdc0GwsMy0nFj/X8R43bcVhVaabbdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6JzG6NkjzYsW for ; Thu, 05 Feb 2026 14:10:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 390ab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 14:10:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: a40fd4e65bb2 - stable/15 - diff: remove useless include as kevent is not used anymore List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a40fd4e65bb23c3468874f12b3e8feb72de656d9 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 14:10:50 +0000 Message-Id: <6984a4ea.390ab.62ce1dd5@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=a40fd4e65bb23c3468874f12b3e8feb72de656d9 commit a40fd4e65bb23c3468874f12b3e8feb72de656d9 Author: Baptiste Daroussin AuthorDate: 2026-02-02 16:13:55 +0000 Commit: Baptiste Daroussin CommitDate: 2026-02-05 14:10:44 +0000 diff: remove useless include as kevent is not used anymore MFC After: 3 days (cherry picked from commit c479817f30b2d2500c9663a1a07c74ba19321416) --- usr.bin/diff/pr.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/usr.bin/diff/pr.h b/usr.bin/diff/pr.h index 80f20ca7c329..b2ff7e5d6798 100644 --- a/usr.bin/diff/pr.h +++ b/usr.bin/diff/pr.h @@ -24,8 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include - struct pr { int ostdout; int pidfd; From nobody Thu Feb 5 14:10:52 2026 X-Original-To: dev-commits-src-branches@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 4f6JzJ1rBDz6QbPM for ; Thu, 05 Feb 2026 14:10:52 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6JzJ0XY6z49YG for ; Thu, 05 Feb 2026 14:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770300652; 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=LkYbGmzmyzLapQHiThK60GDpI9gaKoVvmjlxuqE4mio=; b=jzRKVjbyvjB+UtkOAZGBj+udjnLknSU1LIQ+fU8uGv41C4Zefx8yZ7RNKZ6xiJs23lyNyt Gk1X98QW3tTWe7FXDPrj+MV1D3zUK5T5F23KZvdxoeVx8RQIfe5WvbPKZMKqXmZgLaC4tq xM8bGzb/GbMumski0q+GFRzJ3VVyjb7p6+cJiYQTv4tylBBYuOkIgXcB7vl8ApzJfTZ3VE C8YzncWthAYA7mHp0Ndu4tXZA1WvpS91MvwXS1lep2NIqMrWj2IRkg5hJWSzlU1CPrpyOt cC4Au2hy66w6mojHLCvDTXEVE56AHkQOcRsL8skCAi7r9bTp78hNi7fYr8i8Dw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770300652; a=rsa-sha256; cv=none; b=rVocNjaIgzaBPtY68UF4/b+GCBTneeA6RZnR6sJaZv5hcgJ7FBKY2IVbqBD0eL/ee44hMi LER4bbaxlrjp0DrqHWOHgwpiM5a506V9O5G0bCK3jYQInFWlUy8Oa6cnodTNmwvS/ST3XW woaFF4JPA1ytsrvLToZ9Zq7lF+9+veL0Hj4gALTHbI2BG5uCO9r1hD2V3Elyoog2Raph70 18cTtE2uFP6vx54Q0BM3T0Bs+brO6jlkZwev3cpCS7sjSzmqJ5sc/knxIcb12jEeqLFAVm IlmxpC7Jpy+u30qDFdOXzZT514iCXDzttaqwIwNLKcFdXts3ibfWlRGqU87DwA== 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=1770300652; 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=LkYbGmzmyzLapQHiThK60GDpI9gaKoVvmjlxuqE4mio=; b=rQh4atkMVKhK70cn6Smsx3+m8JnmU7Zauo7vPplf+h3NCiQ1wdnYA9aPxgQdpjE2r6LwFP aYLPuRw3vdHYnXX6osOupbr0qR70Ram+bLa8N79fTtPFTlU+bljgj6iFvAxrBiioQS1+xf hbOPqhvGZyHmMHpppjtEyLW2ADqCdImpyDuBN3p6FMlbQ6jj2icAzkq5wOlX3mcLilsuju eIw+Z2HHDN/G9H+Cy3gic11nJVSebQNiaXbYm7y1XV7PoOd8Gkso26s2arxmviT4ie9eqa 8CusJTyn4kXrTHnUZgwrn+7wdPlwjDuNjO3BrWiQxsrgIL6GiOPp5Iog/zbodw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6JzJ06wqzYjy for ; Thu, 05 Feb 2026 14:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38235 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 14:10:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 27bc6a345c43 - stable/15 - diff3: use pdwait instead of homemade one List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 27bc6a345c432978b42ae6536b3b93fec11e02e2 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 14:10:52 +0000 Message-Id: <6984a4ec.38235.2aaf616b@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=27bc6a345c432978b42ae6536b3b93fec11e02e2 commit 27bc6a345c432978b42ae6536b3b93fec11e02e2 Author: Baptiste Daroussin AuthorDate: 2026-02-02 16:29:49 +0000 Commit: Baptiste Daroussin CommitDate: 2026-02-05 14:10:44 +0000 diff3: use pdwait instead of homemade one MFC After: 3 days (cherry picked from commit 404753664a5e145d98f1749d1c7bc046c8aa32c3) --- usr.bin/diff3/diff3.c | 56 +++++++++++++++++---------------------------------- 1 file changed, 19 insertions(+), 37 deletions(-) diff --git a/usr.bin/diff3/diff3.c b/usr.bin/diff3/diff3.c index 39523f6e6b38..d010a0b1d067 100644 --- a/usr.bin/diff3/diff3.c +++ b/usr.bin/diff3/diff3.c @@ -65,7 +65,6 @@ #include #include #include -#include #include #include @@ -921,11 +920,26 @@ increase(void) szchanges = newsz; } +static void +wait_and_check(int pd) +{ + int status; + + while (pdwait(pd, &status, WEXITED, NULL, NULL) == -1) { + if (errno != EINTR) + err(2, "pdwait"); + } + + if (WIFEXITED(status) && WEXITSTATUS(status) >= 2) + errx(2, "diff exited abnormally"); + if (WIFSIGNALED(status)) + errx(2, "diff killed by signal %d", WTERMSIG(status)); +} int main(int argc, char **argv) { - int ch, nblabels, status, m, n, kq, nke, nleft, i; + int ch, nblabels, m, n; char *labels[] = { NULL, NULL, NULL }; const char *diffprog = DIFF_PATH; char *file1, *file2, *file3; @@ -934,7 +948,6 @@ main(int argc, char **argv) int fd13[2], fd23[2]; int pd13, pd23; cap_rights_t rights_ro; - struct kevent *e; nblabels = 0; eflag = EFLAG_NONE; @@ -1016,14 +1029,6 @@ main(int argc, char **argv) cap_rights_init(&rights_ro, CAP_READ, CAP_FSTAT, CAP_SEEK); - kq = kqueue(); - if (kq == -1) - err(2, "kqueue"); - - e = malloc(2 * sizeof(*e)); - if (e == NULL) - err(2, "malloc"); - /* TODO stdio */ file1 = argv[0]; file2 = argv[1]; @@ -1069,20 +1074,10 @@ main(int argc, char **argv) diffargv[diffargc] = file1; diffargv[diffargc + 1] = file3; diffargv[diffargc + 2] = NULL; - - nleft = 0; pd13 = diffexec(diffprog, diffargv, fd13); - EV_SET(e + nleft , pd13, EVFILT_PROCDESC, EV_ADD, NOTE_EXIT, 0, NULL); - if (kevent(kq, e + nleft, 1, NULL, 0, NULL) == -1) - err(2, "kevent1"); - nleft++; diffargv[diffargc] = file2; pd23 = diffexec(diffprog, diffargv, fd23); - EV_SET(e + nleft , pd23, EVFILT_PROCDESC, EV_ADD, NOTE_EXIT, 0, NULL); - if (kevent(kq, e + nleft, 1, NULL, 0, NULL) == -1) - err(2, "kevent2"); - nleft++; caph_cache_catpages(); if (caph_enter() < 0) @@ -1093,22 +1088,9 @@ main(int argc, char **argv) m = readin(fd13[0], &d13); n = readin(fd23[0], &d23); - /* waitpid cooked over pdforks */ - while (nleft > 0) { - nke = kevent(kq, NULL, 0, e, nleft, NULL); - if (nke == -1) - err(2, "kevent"); - for (i = 0; i < nke; i++) { - status = e[i].data; - if (WIFEXITED(status) && WEXITSTATUS(status) >= 2) - errx(2, "diff exited abnormally"); - else if (WIFSIGNALED(status)) - errx(2, "diff killed by signal %d", - WTERMSIG(status)); - } - nleft -= nke; - } - free(e); + wait_and_check(pd13); + wait_and_check(pd23); + merge(m, n); return (EXIT_SUCCESS); From nobody Thu Feb 5 14:36:40 2026 X-Original-To: dev-commits-src-branches@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 4f6KY95zTYz6QdBS for ; Thu, 05 Feb 2026 14:36:45 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6KY93nd0z3HDy for ; Thu, 05 Feb 2026 14:36:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770302205; 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=qfO7IcUzTDiKueWZKMgGkGY8lC2C8YwuqSKd/Xm1Mi8=; b=E9F16jPhUK8TUKKzaSmh/7oNSFZxDuIUkmw08Fkm44emlId2SSteiJMpJWiCbD4QjIVVBw juAy7p7w3BaBZPznULzaVqwO+GOwkDamuKKWJh4I5UWxJG8pfhSfo4kE+jINCTpE/GgHPY ODJgt+xTAn5+KF/3kuaMqjgx7VHIcqgofDQcwJxApx7NUjz5Db8NOOiKbvoJjiBMsrFTSO dsmQJZpmFqdL0BIQSZXIQ5zzmDy4diSbUFBpaXzVqz8oYdm3TfIDPQvunCLfdZjD5OwqeR 5Ic2u5p7qsLCWUrwB8USjP+j72CtR+Kmf9CN//56rqYa8uuodAH2NTnDgQC5fw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770302205; a=rsa-sha256; cv=none; b=CnmuNkIbIX7wbw8rRG4uUAP9rSZaTrSRHmc3XppZO7I1THM5w+ljvYMBpUjHSBDxL6DOAz af8jtSCz0ciC4Kvs5lnhi9Cs7Jx9meQmnZ+LLtkl2+Bo2PPQV2h6rTlQL4P6SK5dRO3rU4 ZxpdYwQOa30GmAOumllaTEuT0644Y0IP12+3XKOf4CYHI2SIrHw+wXleBYVns6055qAtjr UsY/C1vk5oTQYktRJzoAFDt1ndIZFdndxWhhBx7lN0xAEjg8l5PBV8RYWrNQUvSsWfhj8U 0LzXjGZekB11yXCXzXSYhRaBWTyAUZFwgoTL8g6Fx6qR1yGcT4Rxc+d3YMZlxA== 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=1770302205; 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=qfO7IcUzTDiKueWZKMgGkGY8lC2C8YwuqSKd/Xm1Mi8=; b=B8xzOCbITt864cdORGTZIV7KqWPHfnGXHR9CZp9QH0CoxbI7Gi2czHWBP4gGv0fq6gRuI/ sf3J94o4XcwHoeMeD7/IR7LZLaYPuo+zCwMWKHNuYqp4hWLFzcMdsQnTCl2rZLMfXiShPi +B95/x2srF7c+W6R1DxPtaZqNchsyqc9FcK/HvODMGwuFYo+6ytfVvasDOGmfpSgKjpcUB tA/iBO6cCaDyKNBcRxMhvk87kTvT7jd9vz2B2Vn+ujbhwZNUcTljRXbi6OLXAM9mhzZsiu q+VEzqdpUH4fqGe8Gj6FAcBsx7iTGvMOsQNXj0I9WCw1m/qZYqJ8/Ql1dzsPPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6KY93LFgzZ9X for ; Thu, 05 Feb 2026 14:36:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ae95 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 14:36:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: c137555c3f39 - stable/15 - libc/resolv: Switch default to loopback address List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c137555c3f39a7defa61c53e357d83638bec8c66 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 14:36:40 +0000 Message-Id: <6984aaf8.3ae95.654222a0@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c137555c3f39a7defa61c53e357d83638bec8c66 commit c137555c3f39a7defa61c53e357d83638bec8c66 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-31 17:52:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:36:19 +0000 libc/resolv: Switch default to loopback address If no resolver configuration was found, we would fall back to INADDR_ANY and IN6ADDR_ANY. This made sense when it was first written thirty or forty years ago but not today, especially since connecting to INADDR_ANY or IN6ADDR_ANY is no longer supported. Switch to the loopback address and simplify the code. Note that (as the pre-existing comment in the code states) running without a resolver configuration is not really supported. Still, if we're going to have a hardcoded fallback, it might as well work. PR: 291790 MFC after: 1 week Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D55011 (cherry picked from commit 1538284a5fddfce546db678cb873b7edc6adb9ed) --- lib/libc/resolv/res_init.c | 67 ++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 41 deletions(-) diff --git a/lib/libc/resolv/res_init.c b/lib/libc/resolv/res_init.c index 5a2fce013c8c..b21a3fa1670f 100644 --- a/lib/libc/resolv/res_init.c +++ b/lib/libc/resolv/res_init.c @@ -118,21 +118,12 @@ static u_int32_t net_mask(struct in_addr); /*% * Set up default settings. If the configuration file exist, the values * there will have precedence. Otherwise, the server address is set to - * INADDR_ANY and the default domain name comes from the gethostname(). - * - * An interim version of this code (BIND 4.9, pre-4.4BSD) used 127.0.0.1 - * rather than INADDR_ANY ("0.0.0.0") as the default name server address - * since it was noted that INADDR_ANY actually meant ``the first interface - * you "ifconfig"'d at boot time'' and if this was a SLIP or PPP interface, - * it had to be "up" in order for you to reach your own name server. It - * was later decided that since the recommended practice is to always - * install local static routes through 127.0.0.1 for all your network - * interfaces, that we could solve this problem without a code change. + * the loopback address the default domain name comes from gethostname(). * * The configuration file should always be used, since it is the only way - * to specify a default domain. If you are running a server on your local - * machine, you should say "nameserver 0.0.0.0" or "nameserver 127.0.0.1" - * in the configuration file. + * to specify options and a default domain. If you are running a server + * on your local machine, you should say "nameserver 127.0.0.1" or + * "nameserver ::1" in the configuration file. * * Return 0 if completes successfully, -1 on error */ @@ -146,6 +137,26 @@ res_ninit(res_state statp) { /*% This function has to be reachable by res_data.c but not publicly. */ int __res_vinit(res_state statp, int preinit) { + union res_sockaddr_union u[] = { + { .sin = { + .sin_family = AF_INET, +#ifdef HAVE_SA_LEN + .sin_len = sizeof(struct sockaddr_in), +#endif + .sin_port = htons(NAMESERVER_PORT), + .sin_addr = { htonl(INADDR_LOOPBACK) }, + } }, +#ifdef HAS_INET6_STRUCTS + { .sin6 = { + .sin6_family = AF_INET6, +#ifdef HAVE_SA_LEN + .sin6_len = sizeof(struct sockaddr_in6), +#endif + .sin6_port = htons(NAMESERVER_PORT), + .sin6_addr = IN6ADDR_LOOPBACK_INIT, + } }, +#endif + }; FILE *fp; char *cp, **pp; int n; @@ -158,7 +169,6 @@ __res_vinit(res_state statp, int preinit) { char *net; #endif int dots; - union res_sockaddr_union u[2]; int maxns = MAXNS; RES_SET_H_ERRNO(statp, 0); @@ -173,23 +183,6 @@ __res_vinit(res_state statp, int preinit) { statp->id = res_nrandomid(statp); - memset(u, 0, sizeof(u)); - u[nserv].sin.sin_addr.s_addr = INADDR_ANY; - u[nserv].sin.sin_family = AF_INET; - u[nserv].sin.sin_port = htons(NAMESERVER_PORT); -#ifdef HAVE_SA_LEN - u[nserv].sin.sin_len = sizeof(struct sockaddr_in); -#endif - nserv++; -#ifdef HAS_INET6_STRUCTS - u[nserv].sin6.sin6_addr = in6addr_any; - u[nserv].sin6.sin6_family = AF_INET6; - u[nserv].sin6.sin6_port = htons(NAMESERVER_PORT); -#ifdef HAVE_SA_LEN - u[nserv].sin6.sin6_len = sizeof(struct sockaddr_in6); -#endif - nserv++; -#endif statp->nscount = 0; statp->ndots = 1; statp->pfcode = 0; @@ -224,7 +217,7 @@ __res_vinit(res_state statp, int preinit) { #ifdef RESOLVSORT statp->nsort = 0; #endif - res_setservers(statp, u, nserv); + res_setservers(statp, u, nitems(u)); #ifdef SOLARIS2 /* @@ -288,7 +281,6 @@ __res_vinit(res_state statp, int preinit) { (line[sizeof(name) - 1] == ' ' || \ line[sizeof(name) - 1] == '\t')) - nserv = 0; if ((fp = fopen(_PATH_RESCONF, "re")) != NULL) { struct stat sb; struct timespec now; @@ -507,15 +499,8 @@ __res_vinit(res_state statp, int preinit) { #endif (void) fclose(fp); } -/* - * Last chance to get a nameserver. This should not normally - * be necessary - */ -#ifdef NO_RESOLV_CONF - if(nserv == 0) - nserv = get_nameservers(statp); -#endif + /* guess default domain if not set */ if (statp->defdname[0] == 0 && gethostname(buf, sizeof(statp->defdname) - 1) == 0 && (cp = strchr(buf, '.')) != NULL) From nobody Thu Feb 5 14:37:01 2026 X-Original-To: dev-commits-src-branches@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 4f6KYV0wPzz6QchK for ; Thu, 05 Feb 2026 14:37:02 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6KYT71Z8z3J2H for ; Thu, 05 Feb 2026 14:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770302222; 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=v/tIDbQXTlgdcxUfP1UrIeZdDuDb0kXTp0jnbpu7vwg=; b=GKUtWtpIS6emnND0UdflJfIgmDOb/QyPOpMDNh3pFMMrNjFqlOCCH+bzjCsycmcA7XcAzi /Pv5y3TPxhIKQW7yMN+gm3uEGRowjWx1rCa3MdDSUrBWVauTBTvU5eUB2uBHpqwwx/zAT1 ysg2bqTHwHRno7DjZ3rdfm++BPZ2OOqvULSMuDMzfjYVzZyL7BRgC7ttdj7MrfkvXHsW1v ZXDE5NCPKOKTEIp1Jh0MW+yTMqx83MfQ/XfOQC1rPDE3pxv+Xg2v8Vf9knpoPJjpzlH+o/ ez7OBgReKhkeK4WMPZU5CHUFe3W9/HlA/1TROIl+i2TG/qW++jrIlyHMiUtxnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770302222; a=rsa-sha256; cv=none; b=xf3PK0oL0pP121wg45aBZq6m5mwk2gVRYyr/yBvXw51dN2TEQ7J9Ulf+6A2AcwLjBPm+P8 DBWW6BNq/Oo02msIOAHLok5SVIjUxO5TgU+ebbP9waiczWD19iVkF9Qf0svY0T1ZUcMvGN xFspMJVR4sMgvHQXDVNE6641UQ7v7tYNVin1P4QPTLMmTn04da/GWTTit5OePWWL/ZAyPh 0RJTfZXsT7G0zA/ZBo3vMsOiLi3CjHVXYJx7yMYjQ58SMsaRmXxqfooWUDG9L7zNotYh0E hm4rZ5GNLXFSXvzaxquQgc/H2/J4ZxDfmf5EvMPfWcfQCV5KvioFznn6AsBd+A== 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=1770302222; 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=v/tIDbQXTlgdcxUfP1UrIeZdDuDb0kXTp0jnbpu7vwg=; b=k0ZeUPKDQwsX9d7FsLl9GiWm2s2DWWD0S6SBmip5v+/0HjTzkoRmbHzbNN1zf94NMZLbdm 0+bZYrurSVueevO1f3dp7WycrWZ+FqFbi84f6kNQkhNz/9HM9QAC0XoRiwIQ6XXZa+0a5b zRAsD2C+UqFFQmFpn6ACzt7wE0EvZJLZk4asemQOmwh3dupBvL41iPBSsk6GydtOtLOjVc JTvQbb4H9k5nhe7C5uVa//bNVVTHkohl4cie5SSj9jZiuQYccLKGyDHtOVKoZdt3uekHQZ 58T2CeuIPpZEDuXpErVvt+1R9ONk0tTL8QLntK+jyrauN0fe3wf6dQBLwV+JMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6KYT6TGPzZKf for ; Thu, 05 Feb 2026 14:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a848 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 14:37:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 6b0a4d67a952 - stable/14 - libc/resolv: Switch default to loopback address List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6b0a4d67a952e999c39ee21a5e50122b13a6d391 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 14:37:01 +0000 Message-Id: <6984ab0d.3a848.75b89aac@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=6b0a4d67a952e999c39ee21a5e50122b13a6d391 commit 6b0a4d67a952e999c39ee21a5e50122b13a6d391 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-31 17:52:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:36:49 +0000 libc/resolv: Switch default to loopback address If no resolver configuration was found, we would fall back to INADDR_ANY and IN6ADDR_ANY. This made sense when it was first written thirty or forty years ago but not today, especially since connecting to INADDR_ANY or IN6ADDR_ANY is no longer supported. Switch to the loopback address and simplify the code. Note that (as the pre-existing comment in the code states) running without a resolver configuration is not really supported. Still, if we're going to have a hardcoded fallback, it might as well work. PR: 291790 MFC after: 1 week Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D55011 (cherry picked from commit 1538284a5fddfce546db678cb873b7edc6adb9ed) --- lib/libc/resolv/res_init.c | 67 ++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 41 deletions(-) diff --git a/lib/libc/resolv/res_init.c b/lib/libc/resolv/res_init.c index f221d75ce972..ea7d09518746 100644 --- a/lib/libc/resolv/res_init.c +++ b/lib/libc/resolv/res_init.c @@ -141,21 +141,12 @@ static u_int32_t net_mask(struct in_addr); /*% * Set up default settings. If the configuration file exist, the values * there will have precedence. Otherwise, the server address is set to - * INADDR_ANY and the default domain name comes from the gethostname(). - * - * An interim version of this code (BIND 4.9, pre-4.4BSD) used 127.0.0.1 - * rather than INADDR_ANY ("0.0.0.0") as the default name server address - * since it was noted that INADDR_ANY actually meant ``the first interface - * you "ifconfig"'d at boot time'' and if this was a SLIP or PPP interface, - * it had to be "up" in order for you to reach your own name server. It - * was later decided that since the recommended practice is to always - * install local static routes through 127.0.0.1 for all your network - * interfaces, that we could solve this problem without a code change. + * the loopback address the default domain name comes from gethostname(). * * The configuration file should always be used, since it is the only way - * to specify a default domain. If you are running a server on your local - * machine, you should say "nameserver 0.0.0.0" or "nameserver 127.0.0.1" - * in the configuration file. + * to specify options and a default domain. If you are running a server + * on your local machine, you should say "nameserver 127.0.0.1" or + * "nameserver ::1" in the configuration file. * * Return 0 if completes successfully, -1 on error */ @@ -169,6 +160,26 @@ res_ninit(res_state statp) { /*% This function has to be reachable by res_data.c but not publicly. */ int __res_vinit(res_state statp, int preinit) { + union res_sockaddr_union u[] = { + { .sin = { + .sin_family = AF_INET, +#ifdef HAVE_SA_LEN + .sin_len = sizeof(struct sockaddr_in), +#endif + .sin_port = htons(NAMESERVER_PORT), + .sin_addr = { htonl(INADDR_LOOPBACK) }, + } }, +#ifdef HAS_INET6_STRUCTS + { .sin6 = { + .sin6_family = AF_INET6, +#ifdef HAVE_SA_LEN + .sin6_len = sizeof(struct sockaddr_in6), +#endif + .sin6_port = htons(NAMESERVER_PORT), + .sin6_addr = IN6ADDR_LOOPBACK_INIT, + } }, +#endif + }; FILE *fp; char *cp, **pp; int n; @@ -181,7 +192,6 @@ __res_vinit(res_state statp, int preinit) { char *net; #endif int dots; - union res_sockaddr_union u[2]; int maxns = MAXNS; RES_SET_H_ERRNO(statp, 0); @@ -198,23 +208,6 @@ __res_vinit(res_state statp, int preinit) { res_rndinit(statp); statp->id = res_nrandomid(statp); - memset(u, 0, sizeof(u)); - u[nserv].sin.sin_addr.s_addr = INADDR_ANY; - u[nserv].sin.sin_family = AF_INET; - u[nserv].sin.sin_port = htons(NAMESERVER_PORT); -#ifdef HAVE_SA_LEN - u[nserv].sin.sin_len = sizeof(struct sockaddr_in); -#endif - nserv++; -#ifdef HAS_INET6_STRUCTS - u[nserv].sin6.sin6_addr = in6addr_any; - u[nserv].sin6.sin6_family = AF_INET6; - u[nserv].sin6.sin6_port = htons(NAMESERVER_PORT); -#ifdef HAVE_SA_LEN - u[nserv].sin6.sin6_len = sizeof(struct sockaddr_in6); -#endif - nserv++; -#endif statp->nscount = 0; statp->ndots = 1; statp->pfcode = 0; @@ -249,7 +242,7 @@ __res_vinit(res_state statp, int preinit) { #ifdef RESOLVSORT statp->nsort = 0; #endif - res_setservers(statp, u, nserv); + res_setservers(statp, u, nitems(u)); #ifdef SOLARIS2 /* @@ -313,7 +306,6 @@ __res_vinit(res_state statp, int preinit) { (line[sizeof(name) - 1] == ' ' || \ line[sizeof(name) - 1] == '\t')) - nserv = 0; if ((fp = fopen(_PATH_RESCONF, "re")) != NULL) { struct stat sb; struct timespec now; @@ -532,15 +524,8 @@ __res_vinit(res_state statp, int preinit) { #endif (void) fclose(fp); } -/* - * Last chance to get a nameserver. This should not normally - * be necessary - */ -#ifdef NO_RESOLV_CONF - if(nserv == 0) - nserv = get_nameservers(statp); -#endif + /* guess default domain if not set */ if (statp->defdname[0] == 0 && gethostname(buf, sizeof(statp->defdname) - 1) == 0 && (cp = strchr(buf, '.')) != NULL) From nobody Thu Feb 5 15:01:34 2026 X-Original-To: dev-commits-src-branches@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 4f6L5p73CMz6QjR0 for ; Thu, 05 Feb 2026 15:01:34 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6L5p1mNHz3Rhw for ; Thu, 05 Feb 2026 15:01:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770303694; 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=ddCW6u3TxxeugZz2+yZOf6UZv/+o987cbwiyElf/9zw=; b=i/+wgW+v6lVi4hPhV0ydCWcGMv/zlA2RJr5ZO8CkRdlNwIsNc5RPmGt0AYmEigBeW/JeCw cPaOYHu9uTVzthwDSX2zUDiVxfez+4kXsFFrn7Tsw7eUFdPI/2+TQI+pVqgC5aOAZDn7FH uyhRE95p8uINV+T5pM5EMYRy2dxZJqX6KbAotozQdIoyb8usebq9VIHfpUswoCClcWjkcN ZYJiy55FX/HN9p0KKgKm+Bi9fz+HsM9cg9LekzhKYb95tfvCnR5/UwO1LBIRs9tM9DBbAY VNy/pXqtLXZux+hA6vXJG+SUER4Bhi3wOzNa/Bc/IUm8YJ1L1o4pdYqUaKmiJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770303694; a=rsa-sha256; cv=none; b=Vc7Z0kPmvrkbow83ZfucaMCzNq87GNkk25In8LbX6DxCB287MJinB/LO3ldLN4Zo6IMnJ3 +yv2xKjrsqVxFlhwJ+QtFtJJABTfFkUzHckqmNucHJMW6/LhM9AERR/REWXneyMB4VZmiQ X7FTCWoEmUwHIRzUWIWxdBtgnbpLx+pyruYWkdMNIdoa4aaQ3s7N7xoip0ZZHYdk8AGLCH Yev/rIx3ZdHAs9EAfPSgWt6BEBcZhhFWgvIz2ESMGMgcB50JRU34db4snpA+PsysTSe2mD p6ZkjD6geKJFuS12/sEgVHpx/5rfAl5riD9/khUJ41IkidkvaSe07p/rz8nB6g== 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=1770303694; 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=ddCW6u3TxxeugZz2+yZOf6UZv/+o987cbwiyElf/9zw=; b=C5VWmtHZaeAqVfpnhjF41kqpeqSgpBCsV1PfA93LzBJdcCPaAwL2lAlCuVdIt38F2Qe0Z6 DRXXnGVrsDIn/6cX2fMbvUslWMydW5HB1lUId7v3hIF2fQTSOtfkxW1QR85OYgfv4CGatZ RUzAQS4S9nuo47FMKIOYhvFJ31HlF8zTPXqgePUyO1l8CST7lhk1q5o6QH4eG5EiYfF92w X5NMGrzTKBsJtQ7+BpT0EbaNcs/GdHJmxNiWzZ269QzArR8KhcoOV5G3C0iubIfOL4dRGZ TnoW0mGYDedxEpWZ0Uz4OGd8pi1bOWDtBmG/6NN6RAck/Uza19qNm278xdAVQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6L5p13dzzbL3 for ; Thu, 05 Feb 2026 15:01:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d035 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:01:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: b3f23ae1e22b - stable/13 - nextboot: Reimplement missing -a option List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b3f23ae1e22bf88de5ec09c524e7e0beb16b5c76 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:01:34 +0000 Message-Id: <6984b0ce.3d035.71705e7@gitrepo.freebsd.org> The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b3f23ae1e22bf88de5ec09c524e7e0beb16b5c76 commit b3f23ae1e22bf88de5ec09c524e7e0beb16b5c76 Author: Dag-Erling Smørgrav AuthorDate: 2025-12-13 22:46:25 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 15:01:12 +0000 nextboot: Reimplement missing -a option PR: 260520 MFC after: 3 days Fixes: e307eb94ae52 ("loader: zfs should support bootonce an nextboot") (cherry picked from commit 33510b16e663bde5be5e4a56ccb17f848c41ef4e) --- sbin/reboot/nextboot.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sbin/reboot/nextboot.sh b/sbin/reboot/nextboot.sh index 4b34001677ff..d68c865da4e5 100644 --- a/sbin/reboot/nextboot.sh +++ b/sbin/reboot/nextboot.sh @@ -115,6 +115,10 @@ set -e nextboot_tmp=$(mktemp $(dirname ${nextboot_file})/nextboot.XXXXXX) +if [ ${append} = "YES" -a -f ${nextboot_file} ]; then + cp -f ${nextboot_file} ${nextboot_tmp} +fi + if [ -n "${zfs}" ]; then zfsbootcfg -z ${zfs} -n freebsd:nvstore -k nextboot_enable -v YES cat >> ${nextboot_tmp} << EOF From nobody Thu Feb 5 15:26:55 2026 X-Original-To: dev-commits-src-branches@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 4f6Lg33SG7z6Qks8 for ; Thu, 05 Feb 2026 15:26:55 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lg32jgBz3W9g for ; Thu, 05 Feb 2026 15:26:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305215; 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=86lCfoz8nfGdc63k1u6uLzc6qQ/Bzo+pfn22ucP3QtM=; b=E7vj3tVlqLH2UT7vmN5kSHqoyx00iQZ9kLapfcPvU1At6kD+Xs3vlx/bHUqGcQuFI6RSMt Uq7+Lu/0hmvdDtEfCfaX5TeWlZGjX4cw6b0EIk10E3wpk5bUpGQ3seemK932MklUGO9JoD yw54GhFbEaW88xkE7qzd8OlMYL8REoSB02vtoFgZPL0JG09N8xddm84CcUdUX3/bG5tHNX eUAmiVby1XifeO93xivTZ4M/6YVB2teSQX7nuxB4QRC2lHyuuW4xJYos83BQyr4+85+4N4 B9cZ58yKDpv49/hsFe02EsYKINEaOD5Q+jf6IiL8yKODeTw2zc+XuKqL5LKJ8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305215; a=rsa-sha256; cv=none; b=QIZYTPdqnU4+StZTH/CA8Q2n2I901rSiIx65KZKynYHgNyGjQaPWcFtieRkEjtWBVbvE6M 54NRLX1mbzHCtV7SMHrqNwOy7jLUqrFf3AaVcoVS5ppXGuTHBhVNpjhedMJbAoSjjEpH2p VeXI0k3jvXP5Q4c0UJGXhTvAh3KNSHkETE3/RzKgUJ4g38DS0er5h8DVwyNI2YrXmHmsDr Okwx7jQCFqwAvn/lndcCQooigJK+UWz956WuI3wpq952oBkgP/a3TTBp5ja8TjfBDp8xoh El56KUsKHaRU05xdc1cHJIrH16G/0BcUcF6I7baratXX6X2F29iEnIqBC6ka1w== 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=1770305215; 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=86lCfoz8nfGdc63k1u6uLzc6qQ/Bzo+pfn22ucP3QtM=; b=pLnbtiHNqtgnZB1YGLAfzL1/r8zFyrYltggpG+AlUg6u5p8Y1ePPyPmKyiuYEGX0HKlljB sm5VcpmZS9wQWjwjphaux6ZmXaNc/XdHgHpC7KHSi1Mhus6l/j+kK/NcSMG2QcTWPLqIoC FTRxN3WRKBJ8YXPZOeHUWWIPBJfQ34kaV1VTdh8htghoEC1kpGpZFjvXQEz7VI/0PHwzkc z0H8KK4NW5gw9M/H38IlveW1SS0Z79bcIgfFgGOaepAKQlYd2TLJPwCUdX5IHL0uM/RpwM FCf8VJJ9wIHIstSM+l12Z74IxjyP7tr5BfJhcPQJTx1oyuqtQ2EYdrOAvtzUEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lg31gTCzc0w for ; Thu, 05 Feb 2026 15:26:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1808f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:26:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 762729bdd4d3 - stable/15 - libc: Clean up *dir() code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 762729bdd4d3dd350de4dc2339d38c21cad68f25 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:26:55 +0000 Message-Id: <6984b6bf.1808f.3c065e9a@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=762729bdd4d3dd350de4dc2339d38c21cad68f25 commit 762729bdd4d3dd350de4dc2339d38c21cad68f25 Author: Dag-Erling Smørgrav AuthorDate: 2026-02-02 15:46:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:50:19 +0000 libc: Clean up *dir() code Fix style nits (mostly whitespace issues) and clean up the manual page. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55024 (cherry picked from commit 387ae6390534b6e9b48931840e7bc76eeb0b258d) --- lib/libc/gen/closedir.c | 1 - lib/libc/gen/directory.3 | 78 +++++++++++++++++++++++++----------------------- lib/libc/gen/dirfd.c | 3 -- lib/libc/gen/fdopendir.c | 1 + lib/libc/gen/opendir.c | 1 - lib/libc/gen/opendir2.c | 1 - lib/libc/gen/rewinddir.c | 1 - lib/libc/gen/scandir.c | 2 -- lib/libc/gen/telldir.c | 4 +-- 9 files changed, 43 insertions(+), 49 deletions(-) diff --git a/lib/libc/gen/closedir.c b/lib/libc/gen/closedir.c index 6015114d6c47..73070d171cd1 100644 --- a/lib/libc/gen/closedir.c +++ b/lib/libc/gen/closedir.c @@ -68,6 +68,5 @@ fdclosedir(DIR *dirp) int closedir(DIR *dirp) { - return (_close(fdclosedir(dirp))); } diff --git a/lib/libc/gen/directory.3 b/lib/libc/gen/directory.3 index 263dfdd6eb95..ccbc60b03776 100644 --- a/lib/libc/gen/directory.3 +++ b/lib/libc/gen/directory.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 1, 2020 +.Dd January 31, 2026 .Dt DIRECTORY 3 .Os .Sh NAME @@ -86,13 +86,6 @@ and returns a pointer to be used to identify the .Em directory stream in subsequent operations. -The pointer -.Dv NULL -is returned if -.Fa filename -cannot be accessed, or if it cannot -.Xr malloc 3 -enough memory to hold the whole thing. .Pp The .Fn fdopendir @@ -134,14 +127,6 @@ or .Fn closedir on the same .Em directory stream . -The function returns -.Dv NULL -upon reaching the end of the directory or on error. -In the event of an error, -.Va errno -may be set to any of the values documented for the -.Xr getdirentries 2 -system call. .Pp The .Fn readdir_r @@ -166,10 +151,6 @@ upon reaching the end of the directory .Fa result is set to .Dv NULL . -The -.Fn readdir_r -function -returns 0 on success or an error number to indicate failure. .Pp The .Fn telldir @@ -179,12 +160,9 @@ returns a token representing the current location associated with the named Values returned by .Fn telldir are good only for the lifetime of the -.Dv DIR -pointer, -.Fa dirp , +.Em directory stream from which they are derived. -If the directory is closed and then -reopened, prior values returned by +If the directory is closed and then reopened, prior values returned by .Fn telldir will no longer be valid. Values returned by @@ -217,28 +195,22 @@ The function closes the named .Em directory stream -and frees the structure associated with the -.Fa dirp -pointer, -returning 0 on success. -On failure, \-1 is returned and the global variable -.Va errno -is set to indicate the error. +and frees the structure associated with +.Fa dirp . .Pp The .Fn fdclosedir function is equivalent to the .Fn closedir -function except that this function returns directory file descriptor instead of -closing it. +function except that it returns the file descriptor associated with +.Fa dirp +instead of closing it. .Pp The .Fn dirfd function -returns the integer file descriptor associated with the named -.Em directory stream , -see -.Xr open 2 . +returns the file descriptor associated with +.Fa dirp . .Sh EXAMPLES Sample code which searches a directory for entry ``name'' is: .Bd -literal -offset indent @@ -255,6 +227,36 @@ while ((dp = readdir(dirp)) != NULL) { (void)closedir(dirp); return (NOT_FOUND); .Ed +.Sh RETURN VALUES +The +.Fn opendir +and +.Fn fdopendir +functions return a pointer to the new +.Em directory stream +on success and +.Dv NULL +on failure. +.Pp +The +.Fn readdir +function returns a pointer to a directory entry on success and +.Dv NULL +on failure. +The +.Fn readdir_r +function returns 0 on success and an error number on failure. +.Pp +The +.Fn telldir +function returns a nonnegative value on success and -1 on failure. +.Pp +The +.Fn closedir +function returns 0 on success and -1 on failure. +The +.Fn fdclosedir +function returns an open file descriptor on success and -1 on failure. .Sh ERRORS The .Fn opendir diff --git a/lib/libc/gen/dirfd.c b/lib/libc/gen/dirfd.c index 85090bd4da6c..ba8f52845b4e 100644 --- a/lib/libc/gen/dirfd.c +++ b/lib/libc/gen/dirfd.c @@ -27,8 +27,6 @@ */ #include "namespace.h" -#include - #include #include "un-namespace.h" @@ -37,6 +35,5 @@ int dirfd(DIR *dirp) { - return (_dirfd(dirp)); } diff --git a/lib/libc/gen/fdopendir.c b/lib/libc/gen/fdopendir.c index 9393cbe28f85..05e1a09fd00c 100644 --- a/lib/libc/gen/fdopendir.c +++ b/lib/libc/gen/fdopendir.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "un-namespace.h" #include "gen-private.h" diff --git a/lib/libc/gen/opendir.c b/lib/libc/gen/opendir.c index 08d9eb10eaa2..4c08b7156055 100644 --- a/lib/libc/gen/opendir.c +++ b/lib/libc/gen/opendir.c @@ -42,6 +42,5 @@ DIR * opendir(const char *name) { - return (__opendir2(name, DTF_HIDEW | DTF_NODUP)); } diff --git a/lib/libc/gen/opendir2.c b/lib/libc/gen/opendir2.c index c5c2e662efd8..321cb2261b8c 100644 --- a/lib/libc/gen/opendir2.c +++ b/lib/libc/gen/opendir2.c @@ -68,7 +68,6 @@ __opendir2(const char *name, int flags) static int opendir_compar(const void *p1, const void *p2) { - return (strcmp((*(const struct dirent * const *)p1)->d_name, (*(const struct dirent * const *)p2)->d_name)); } diff --git a/lib/libc/gen/rewinddir.c b/lib/libc/gen/rewinddir.c index df829e98d138..5cead2adc6d4 100644 --- a/lib/libc/gen/rewinddir.c +++ b/lib/libc/gen/rewinddir.c @@ -43,7 +43,6 @@ void rewinddir(DIR *dirp) { - if (__isthreaded) _pthread_mutex_lock(&dirp->dd_lock); dirp->dd_flags &= ~__DTF_SKIPREAD; /* current contents are invalid */ diff --git a/lib/libc/gen/scandir.c b/lib/libc/gen/scandir.c index fb589f4b36b6..84b20fbafa03 100644 --- a/lib/libc/gen/scandir.c +++ b/lib/libc/gen/scandir.c @@ -232,14 +232,12 @@ scandirat(int dirfd, const char *dirname, struct dirent ***namelist, int alphasort(const struct dirent **d1, const struct dirent **d2) { - return (strcoll((*d1)->d_name, (*d2)->d_name)); } int versionsort(const struct dirent **d1, const struct dirent **d2) { - return (strverscmp((*d1)->d_name, (*d2)->d_name)); } diff --git a/lib/libc/gen/telldir.c b/lib/libc/gen/telldir.c index 1731cc4d7a2c..d71b7bed158c 100644 --- a/lib/libc/gen/telldir.c +++ b/lib/libc/gen/telldir.c @@ -53,7 +53,7 @@ telldir(DIR *dirp) if (__isthreaded) _pthread_mutex_lock(&dirp->dd_lock); - /* + /* * Outline: * 1) If the directory position fits in a packed structure, return that. * 2) Otherwise, see if it's already been recorded in the linked list @@ -95,7 +95,7 @@ telldir(DIR *dirp) LIST_INSERT_HEAD(&dirp->dd_td->td_locq, lp, loc_lqe); } ddloc.i.is_packed = 0; - /* + /* * Technically this assignment could overflow on 32-bit architectures, * but we would get ENOMEM long before that happens. */ From nobody Thu Feb 5 15:26:56 2026 X-Original-To: dev-commits-src-branches@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 4f6Lg459RKz6QkvW for ; Thu, 05 Feb 2026 15:26:56 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lg42wwzz3WPY for ; Thu, 05 Feb 2026 15:26:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305216; 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=q6qSesjOxhBb7IIxsVJD9tn8k79HxD7zn9YC8wsppqY=; b=r4RApD+cr2CeVQq90JHHiriHWS2IQrTJUq+Vd6HCniT8Q7P1Ioz8c3mu58za4DK246YyQp cKBQg/JpuAssEjwXPiV/29+mZk4mNyHrG6uRUWgKOaRCuDiRVx+BCfQ5tskn1Ch6BHZj7f mDI90agH7rOwIMjV8MxgjTiuHuKFYabQEgmfnQ3Gy6pvvE7NzIbLKzMfnpjI6l+kMEr/5c 5BIjG30C926UXgzvjtwuf6YBCefeuS9tTrChOy2IDPHPKW8IGKONbtTDfPuSHMjpcKqie2 yoSgHsbq9eVyv08Gb6p5jmt3YMvLeOrMKMmRjCkkNBUCNMB2dy6Q1xXrMUcmQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305216; a=rsa-sha256; cv=none; b=B6Kko1A3SK1kyXGfD5/JELRlC+Zndvl36KQ94TVTVrqBSQ72J4D7+enhrpDxIrsFpGe9ZN UxQ4mPN+AqAbO1TTiXeiySxupQ4rT0aYGK8nayx+EP185mxcARQHovFw5pOr0jCrJK/2cX vIo9Q2vQGHp47UZPqvjhMlZR30HyVOEqMeEHEgTMUHN1LtUt7xkNlEUiSUENY0uzopchk9 p+fp53Ki9e02AP6bgWJSpjJIJrF2qkaboD8HKeT4S3zQWBJlzlvFmPuDhFDwxhY6mE85Jy DuqCIMkijIhYrp08ZzPf90r23ZLJjV3Z3Ja65WSB0nXAex5J6efdAHM5uz8W0w== 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=1770305216; 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=q6qSesjOxhBb7IIxsVJD9tn8k79HxD7zn9YC8wsppqY=; b=SMeFoDjUbl1W5OkuJP+zDHmeGAtF2RQEKPNcUK8uGjorejp1P/+TTnuCOH9fWYBVHVBWyN 748Mnes4WN2wrpwjESnhCRWSWhLYW4D7GM/8nMTDSY1tBNhHbZgYb0/QT5kCpqJI6Y+TzP RfNBw/dpapDivhGMjqsl6PwKa1YDIYc4ZnVhTq3p0pGJX7cVFurrjMvD1Ov/VBzt4JdtFu hPoQcRAGG/55hw9Hfqw+fIXCiNaqIugrqOICtad6njQqoPPmSW0BgnA2uibnxXGffkuvgh Qukbo3c8ytX08zm4NpiQInCRvVfXFQ8Vaif1AyPWwxGwS+CPwCGB1kKzzcZw0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lg42VHDzZwT for ; Thu, 05 Feb 2026 15:26:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fcb6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:26:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 6ff3a186c5b8 - stable/15 - libc: Improve POSIX conformance of dirfd() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6ff3a186c5b8a67c597dc57081077972eccf7c87 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:26:56 +0000 Message-Id: <6984b6c0.3fcb6.4f1cac59@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=6ff3a186c5b8a67c597dc57081077972eccf7c87 commit 6ff3a186c5b8a67c597dc57081077972eccf7c87 Author: Dag-Erling Smørgrav AuthorDate: 2026-02-02 15:46:57 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:50:19 +0000 libc: Improve POSIX conformance of dirfd() POSIX states that dirfd() should set errno to EINVAL and return -1 if dirp does not refer to a valid directory stream. Our interpretation is that this applies if dirp is null or the file descriptor associated with it is negative. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55025 (cherry picked from commit 5074d5c9845e142883cdbb9ad212be66e57615d0) --- lib/libc/gen/directory.3 | 14 +++++++++++++- lib/libc/gen/dirfd.c | 5 +++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/libc/gen/directory.3 b/lib/libc/gen/directory.3 index ccbc60b03776..270abb2d2371 100644 --- a/lib/libc/gen/directory.3 +++ b/lib/libc/gen/directory.3 @@ -256,7 +256,9 @@ The function returns 0 on success and -1 on failure. The .Fn fdclosedir -function returns an open file descriptor on success and -1 on failure. +and +.Fn dirfd +functions return an open file descriptor on success and -1 on failure. .Sh ERRORS The .Fn opendir @@ -327,6 +329,16 @@ function may also fail and set .Va errno for any of the errors specified for the routine .Xr close 2 . +.Pp +The +.Fn dirfd +function will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa dirp +argument does not refer to a valid directory stream. +.El .Sh SEE ALSO .Xr close 2 , .Xr lseek 2 , diff --git a/lib/libc/gen/dirfd.c b/lib/libc/gen/dirfd.c index ba8f52845b4e..fbbf703b5a2e 100644 --- a/lib/libc/gen/dirfd.c +++ b/lib/libc/gen/dirfd.c @@ -28,6 +28,7 @@ #include "namespace.h" #include +#include #include "un-namespace.h" #include "gen-private.h" @@ -35,5 +36,9 @@ int dirfd(DIR *dirp) { + if (dirp == NULL || _dirfd(dirp) < 0) { + errno = EINVAL; + return (-1); + } return (_dirfd(dirp)); } From nobody Thu Feb 5 15:26:57 2026 X-Original-To: dev-commits-src-branches@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 4f6Lg5643tz6Ql1Q for ; Thu, 05 Feb 2026 15:26:57 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lg53VHyz3W5Y for ; Thu, 05 Feb 2026 15:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305217; 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=V8oqYnp9GCqsfGH0cWkXQqRRX208zLe7k3ZNOdOGSBY=; b=A+nFs4Emlp2XV8cGdZkOp0jL6ieQ9170UaVkOi8q2dS6lqa1x8vBLxq+KS+LMPWevb6Tzq qHbyPqt9MjIe3Tu+djVHNyKsQEbO6wi1oGY/3ma+Oa0LMTv8L8c1cK11KUy/FICT3wqhn+ bKm1ItJ3dgI8zsAnzqmTFBqp44tdyr63s29laEEfKYFBE3sFrA4WKZHRBDkF3F8uI6XZtV ZoSmcvsHlPxTfZh1Z2c5DYNi5Gc8pKRYb8AQv9r72gvnjUM/y+iX2bgQwdxWFWF3Ky8a0H GJGeXl8cLqqySUIFDuEn1RyNGuaBuuY63y7sYRh0lEPDgDppFlnFFZRhJYLI0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305217; a=rsa-sha256; cv=none; b=HXHdLrFd8B8RCV2WfuLyMl5v2eErl6Er7ZFHLKMaAViTGggdl16FNLshcFQ9AAqvVtNuRT RP12ksKom/Q6c05HJgJUvIUw9+uUD1ljZ7FhWXRZolXP0O7rt4kE69FdzvWxx7/Ull1o96 nAGHb3jGWULyypeREqm3M80Yt1xSFDeCWRfTBgt9VWKQ1BngRG3kcnehDErfoh6i+ptK9I fW8pXmRfiHzasL7inuaX6GnkMk65RlYxau0pzgm/D7FOEFURecm0+EVcQm1oHtksba/a1l J3PXlu9s60bXIK+u/RqN4apyX64j6qO38W0QK0XAhi4ea+dezkj9NuIBB5ymIA== 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=1770305217; 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=V8oqYnp9GCqsfGH0cWkXQqRRX208zLe7k3ZNOdOGSBY=; b=JsV4/rpgfIiGBnKrzQzJGcePxqCu1uN056qrLDOOQb8a3EouyLOSfdTzWBa/pqgAOFsnNG 0jLXMzXtNwFBasLNNcMdvmpfy4FcTwSEuib20ddtESo6nB4kUVjtiC2NgDyGFbin0w4EWN L63a8UBVFTnSWX9BShDZuGI9JL0sKUQJWWT2XkHh455g9q95E8qgXhp0UGfJCrMHbtMrrE z4VTxzLQmNCZJW5y1J63sW5trEgj/uRDS6vC4zRnYQUKEFMPrOeOBZ+K2xNwzVER2NvxJW 3iaxU3NSiOgTuGj8lI7PQ22kXDCGsj9YDuOqb0iw4nuCkQp9dwyPpv8jF2+DKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lg5332Nzbx6 for ; Thu, 05 Feb 2026 15:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f255 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:26:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: e3d430c9147c - stable/15 - libc: Fix missing include List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e3d430c9147ccedb51b2ac23d4bef90d7b6cfb41 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:26:57 +0000 Message-Id: <6984b6c1.3f255.63a42447@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e3d430c9147ccedb51b2ac23d4bef90d7b6cfb41 commit e3d430c9147ccedb51b2ac23d4bef90d7b6cfb41 Author: Dag-Erling Smørgrav AuthorDate: 2026-02-02 16:26:17 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:50:19 +0000 libc: Fix missing include Although not needed on FreeBSD due to namespace pollution, we should technically #include to secure a definition of NULL. Fixes: 5074d5c9845e ("libc: Improve POSIX conformance of dirfd()") (cherry picked from commit 1c00d5a3b234ef937d848956027e9de5ea8010f9) --- lib/libc/gen/dirfd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libc/gen/dirfd.c b/lib/libc/gen/dirfd.c index fbbf703b5a2e..984e69b9ae9a 100644 --- a/lib/libc/gen/dirfd.c +++ b/lib/libc/gen/dirfd.c @@ -29,6 +29,7 @@ #include "namespace.h" #include #include +#include #include "un-namespace.h" #include "gen-private.h" From nobody Thu Feb 5 15:26:58 2026 X-Original-To: dev-commits-src-branches@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 4f6Lg73BTjz6Ql1V for ; Thu, 05 Feb 2026 15:26:59 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lg64NDYz3WXn for ; Thu, 05 Feb 2026 15:26:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305218; 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=DMRB5fswWQqTplqdBwH/KZ8peSZDamftUdPy2VrCmCk=; b=htaHrQA7ninzPMhMV1sKXyL6To5sNjxGzDsXfmj8ZNTXkPdqzvTtU9pP+KviW1ImmIz024 EisQ8awd2U8K2BI7kpFG3cpUFnOn/WNo5tUhjZRcjaNaIJIPauozYLXqf+Sk5YyabF4vKT 4eKjp6e6IcJEdvDCGCDlqQhpeGrxtFwdt9TyhT4Xp1CVoJuYfRlzial3Dmi4XG6qY43oX5 LrIjovM54OzNyzZkcvHjb8AhrVYn+6NzIpzMCO6rE6m5wx4XkI0ofGX7IsAIA/BbEPHk0M Q7r7Xb6PJ5dYmjua8dB9Fh0+93hoQxLOXCPX1VioMbpXH8txs36AUEE3sf5vZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305218; a=rsa-sha256; cv=none; b=RnZoN5sXAc4LYuTjXn1zNszh/neS8YX/XMkyhSqTcQGUSaLiq0/Lf5o6qsj1Jiuz41NAwS CKgOapiKGb8lVRMs7MAPeCbOZO0LSqGJJ7IJ5e9L0fTHDtHiyaoyusIQvlu9I3Vv67Cl7l 25isdjeSXyJ8tsZ/7ASzU0gA75H4hLlzG4IkS64O9pMSkhkI4e27PthX3+D/w9/qVvEyvN yCQvei4YVhWG6/o53/DE8/cUroi858d6Q3H1HPsPlORuAheG/vK0OxqA3lD4cw0aP3pxu+ Dk6ClbmyVJ/CJZSWgCU3hsex7EeQXcWS+6rEsYK4tBbBsGEUsN4yp8dxtmgBBg== 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=1770305218; 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=DMRB5fswWQqTplqdBwH/KZ8peSZDamftUdPy2VrCmCk=; b=p32R5ClTHHum69YqiwO95wMY2DQJvTLHshH6qFf6r8eYixTdPBLxnKWOIQG+8iMZ6ug+qO XFDLVZ8C/LMIbg5AdUaU88MR2KPGeTTrcFT2rXoWL4EMptK+xktOQm0lNgy7+/r6IxXuri F4yjupRf4n+Vu9V6Z7wJE0pMbB59uAN28F0V+DcpF/Zjcyn/lMgBrNSxRmW3wcFIoIlf8d TR9cEnhQmBB1XlyljmWT5hPYGKYyYvU4DEasZDMlSPyBth/WzpEVa4ozutCW80SnCRHXey L+GhaZuZdR7AoDyMDk+t5XXLYCY8kkJMj7M6/p0y06IKf2OT1LpwTsSl7/YHxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lg63tXJzbGx for ; Thu, 05 Feb 2026 15:26:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fd89 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:26:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 27e73a1802a9 - stable/15 - libc/tests: Clean up *dir() tests List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 27e73a1802a98f0d4d509ed3350e8c319ecbb140 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:26:58 +0000 Message-Id: <6984b6c2.3fd89.3dc85a5d@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=27e73a1802a98f0d4d509ed3350e8c319ecbb140 commit 27e73a1802a98f0d4d509ed3350e8c319ecbb140 Author: Dag-Erling Smørgrav AuthorDate: 2026-02-03 14:39:21 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:50:20 +0000 libc/tests: Clean up *dir() tests Mainly, avoid reusing the name of one of the functions we should be testing (but aren't) for local variables. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55054 (cherry picked from commit d70b9eb74fc4aa430bd2ff4bca37e6a9b6c8004f) --- lib/libc/tests/gen/dir2_test.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/lib/libc/tests/gen/dir2_test.c b/lib/libc/tests/gen/dir2_test.c index 4ec5a1759d06..dac8ccbe472a 100644 --- a/lib/libc/tests/gen/dir2_test.c +++ b/lib/libc/tests/gen/dir2_test.c @@ -41,7 +41,6 @@ ATF_TC(telldir_after_seekdir); ATF_TC_HEAD(telldir_after_seekdir, tc) { - atf_tc_set_md_var(tc, "descr", "Calling telldir(3) after seekdir(3) " "should return the argument passed to seekdir."); } @@ -50,7 +49,7 @@ ATF_TC_BODY(telldir_after_seekdir, tc) const int NUMFILES = 1000; char template[] = "dXXXXXX"; char *tmpdir; - int i, dirfd; + int i, dd; DIR *dirp; struct dirent *de; long beginning, middle, end, td; @@ -58,8 +57,8 @@ ATF_TC_BODY(telldir_after_seekdir, tc) /* Create a temporary directory */ tmpdir = mkdtemp(template); ATF_REQUIRE_MSG(tmpdir != NULL, "mkdtemp failed"); - dirfd = open(tmpdir, O_RDONLY | O_DIRECTORY); - ATF_REQUIRE(dirfd > 0); + dd = open(tmpdir, O_RDONLY | O_DIRECTORY); + ATF_REQUIRE(dd > 0); /* * Fill it with files. Must be > 128 to ensure that the directory @@ -70,14 +69,14 @@ ATF_TC_BODY(telldir_after_seekdir, tc) char filename[16]; snprintf(filename, sizeof(filename), "%d", i); - fd = openat(dirfd, filename, O_WRONLY | O_CREAT, 0600); + fd = openat(dd, filename, O_WRONLY | O_CREAT, 0600); ATF_REQUIRE(fd > 0); close(fd); } /* Get some directory bookmarks in various locations */ - dirp = fdopendir(dirfd); - ATF_REQUIRE_MSG(dirfd >= 0, "fdopendir failed"); + dirp = fdopendir(dd); + ATF_REQUIRE_MSG(dd >= 0, "fdopendir failed"); beginning = telldir(dirp); for (i = 0; i < NUMFILES / 2; i = i+1) { de = readdir(dirp); @@ -126,7 +125,7 @@ ATF_TC_BODY(telldir_at_end_of_block, tc) const int NUMFILES = 129; char template[] = "dXXXXXX"; char *tmpdir; - int i, dirfd; + int i, dd; DIR *dirp; struct dirent *de; long td; @@ -135,8 +134,8 @@ ATF_TC_BODY(telldir_at_end_of_block, tc) /* Create a temporary directory */ tmpdir = mkdtemp(template); ATF_REQUIRE_MSG(tmpdir != NULL, "mkdtemp failed"); - dirfd = open(tmpdir, O_RDONLY | O_DIRECTORY); - ATF_REQUIRE(dirfd > 0); + dd = open(tmpdir, O_RDONLY | O_DIRECTORY); + ATF_REQUIRE(dd > 0); /* * Fill it with files. Must be > 128 to ensure that the directory @@ -147,14 +146,14 @@ ATF_TC_BODY(telldir_at_end_of_block, tc) char filename[16]; snprintf(filename, sizeof(filename), "%d", i); - fd = openat(dirfd, filename, O_WRONLY | O_CREAT, 0600); + fd = openat(dd, filename, O_WRONLY | O_CREAT, 0600); ATF_REQUIRE(fd > 0); close(fd); } /* Read all entries within the first page */ - dirp = fdopendir(dirfd); - ATF_REQUIRE_MSG(dirfd >= 0, "fdopendir failed"); + dirp = fdopendir(dd); + ATF_REQUIRE_MSG(dd >= 0, "fdopendir failed"); for (i = 0; i < NUMFILES - 1; i = i + 1) ATF_REQUIRE_MSG(readdir(dirp) != NULL, "readdir failed"); @@ -178,9 +177,8 @@ ATF_TC_BODY(telldir_at_end_of_block, tc) ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, telldir_after_seekdir); ATF_TP_ADD_TC(tp, telldir_at_end_of_block); - return atf_no_error(); + return (atf_no_error()); } From nobody Thu Feb 5 15:27:22 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgb28Mkz6Ql3w for ; Thu, 05 Feb 2026 15:27:23 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6LgZ6nZLz3XKb for ; Thu, 05 Feb 2026 15:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305243; 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=WW4fo4aP7sLL4puY/vNuKX5v4Lz/P5QvYkNxLbctOB8=; b=mpd4uARZQVaTYk/25XY5EpNB4FOHICetznvzhqzKsyHTFQtijdefCcMbXErYXS9pGQvrYq ipTUGQZNBeJawyqRbfMClb1Q4FWEgJCT7JeGtpmeHpep2VZLUiwlRvtF4DhHDrO8VwQyhS MlHoJGxtykB4m3mjo5FXXKxRoHYdTYPjVUgrQHUCFi4bIp/OwmanoUmxQVmhkATp9yty4n eckOOc06RBngKCFrksS32/ssc5d7SXBi/NSPKIMaZjgazK/7FFsLKJC6hy71Dk87qDw+Q2 gpxTI49GNu1/bCZ3Zka3yxUvvE9ftZSAmgaFL9pCMCeatfLtggTAFKAb1H+nwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305243; a=rsa-sha256; cv=none; b=xfm2Jrfe4xI97vwHnH3B1uk1KCeFwjGZpPu1JAkNB3D9qnSAzfrJIl8Z3velnbQsiEfK0P jqMzA7qXfIEiYl95cxbTeM3BFlTHDHfpQ/C33RnrVo7AF7lpZXYXzG9GLnEyWtYssfmAdm LCEF36DihcK9GCtPKQhuX8PHIoTzBvnb5ytXcMNkGTSOoQOQgJ/UBZSOcMPjfuEZ6YaLom 4LzJvoZKFKTUw98pR0XMzyhB4o1M0HfI7U4LUcTN/DYL7Ortaa5Zazbv+8CpxevuHBoqsl btTacCkKar/Ujaybx8trUBJaGj0X5FJyrVx+mOQPjr5V3t4SYNVNNiWXJghXLQ== 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=1770305243; 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=WW4fo4aP7sLL4puY/vNuKX5v4Lz/P5QvYkNxLbctOB8=; b=aBqCIfAec6l1jxbIIFzZ3dXPJRBvgYc9f5aLH1GQPk7AFHEYpbV/QZLYP1ZaMycXFhlhln MyhQ9jcsz9F+Qx+TPXI10HeO/S2OL/OQh0Bvwaq1kF7jv1DuS7IRNyd7SJ5xZeXpm+8byA CN/RwsZ8A2RRceXKxTe2SISIvOPKrp3JGUYcpRtpygqb93A3FeGic6lzoO7JA6oBGFzp5/ x2u9Ppc6r/lFimmoeZMThwKO2mqhhHab8czH+RWKM4EcKBYQ1OCkcjR7HzPxcdFQgI8p/8 C7+QMV20KvSEaXrV3i/jZNY53HOqmH7sULeJNAP14/LSjAe7lamSIhE7l47q9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6LgZ6GH8zc2N for ; Thu, 05 Feb 2026 15:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18324 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 90c5d1b5f423 - stable/14 - scandir: Fix behavior when no entries match. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 90c5d1b5f4238823414a82b72e7f80d9e83a3de6 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:22 +0000 Message-Id: <6984b6da.18324.3945b4d7@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=90c5d1b5f4238823414a82b72e7f80d9e83a3de6 commit 90c5d1b5f4238823414a82b72e7f80d9e83a3de6 Author: Dag-Erling Smørgrav AuthorDate: 2025-06-20 16:13:48 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:47:46 +0000 scandir: Fix behavior when no entries match. In the previous commit, I removed the initial initialization of the `names` array, not realizing that `scandir()` is expected to return a non-null (but empty) array of entries if no entries matched. Restore the historical behavior, document it, and add a test. Fixes: deeebfdecab5 Sponsored by: Klara, Inc. Reviewed by: kevans, allanjude, markj Differential Revision: https://reviews.freebsd.org/D50949 (cherry picked from commit c187b673bb79905b5d5db1eb34d5a893c4464eeb) --- lib/libc/gen/scandir.3 | 5 +++-- lib/libc/gen/scandir.c | 6 +++++- lib/libc/tests/gen/scandir_test.c | 22 ++++++++++++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/lib/libc/gen/scandir.3 b/lib/libc/gen/scandir.3 index d9ae8f687168..c55c69eeca24 100644 --- a/lib/libc/gen/scandir.3 +++ b/lib/libc/gen/scandir.3 @@ -27,7 +27,7 @@ .\" .\" @(#)scandir.3 8.1 (Berkeley) 6/4/93 .\" -.Dd June 19, 2025 +.Dd June 20, 2025 .Dt SCANDIR 3 .Os .Sh NAME @@ -104,7 +104,8 @@ entries using It returns the number of entries in the array. A pointer to the array of directory entries is stored in the location referenced by -.Fa namelist . +.Fa namelist +(even if no entries were selected). .Pp The .Fa select diff --git a/lib/libc/gen/scandir.c b/lib/libc/gen/scandir.c index 54f92bafc115..36abe9f37047 100644 --- a/lib/libc/gen/scandir.c +++ b/lib/libc/gen/scandir.c @@ -76,9 +76,13 @@ scandir_dirp(DIR *dirp, struct dirent ***namelist, #endif { struct dirent *d, *p = NULL, **names = NULL, **names2; - size_t arraysz = 0, numitems = 0; + size_t arraysz = 32, numitems = 0; int serrno; + names = malloc(arraysz * sizeof(*names)); + if (names == NULL) + return (-1); + while ((d = readdir(dirp)) != NULL) { if (select != NULL && !SELECT(d)) continue; /* just selected names */ diff --git a/lib/libc/tests/gen/scandir_test.c b/lib/libc/tests/gen/scandir_test.c index 54848c0572ca..dcd73fe94df5 100644 --- a/lib/libc/tests/gen/scandir_test.c +++ b/lib/libc/tests/gen/scandir_test.c @@ -103,10 +103,32 @@ ATF_TC_BODY(scandirat_test, tc) ATF_REQUIRE_EQ(0, close(fd)); } +static int +scandir_none(const struct dirent *ent __unused) +{ + return (0); +} + +ATF_TC(scandir_none); +ATF_TC_HEAD(scandir_none, tc) +{ + atf_tc_set_md_var(tc, "descr", + "Test scandir() when no entries are selected"); +} +ATF_TC_BODY(scandir_none, tc) +{ + struct dirent **namelist = NULL; + + ATF_REQUIRE_EQ(0, scandir(".", &namelist, scandir_none, alphasort)); + ATF_REQUIRE(namelist); + free(namelist); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, scandir_test); ATF_TP_ADD_TC(tp, fscandir_test); ATF_TP_ADD_TC(tp, scandirat_test); + ATF_TP_ADD_TC(tp, scandir_none); return (atf_no_error()); } From nobody Thu Feb 5 15:27:23 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgc1yWYz6Ql42 for ; Thu, 05 Feb 2026 15:27: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgc0QlWz3XRs for ; Thu, 05 Feb 2026 15:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305244; 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=CUD3buur6hmF3dsaAHLXNIfr0Pyrmm1i+QbmyUOFtgk=; b=NMbswe1TqbHc7RrUQqKW8rBoiifC2PZxfkQGFZ84X5wEpOdE0mVfwh18Z9ElwBGZs+yDPM 6U2CFLTqBRJDEIqyfHn0pIqb8drKNrkhVFxN6RfuTxDrRezfeu3AIx90ls7sr5TGXKtvTq ZGjdC68BezhzfpHpSrQ+H7238AhQe3y8JziJHcdr3I7G3C2yq+DZ1jH3hyw4X+uFTESWDH KiwkoYY+AnxjQajzgyBoCR0TUyD4/o05RlLF4d5BBITdwEM+PRJ2iDBVtawRZbhLm5lTfi t62q1W/WrsBf/t4jB9z7ps0QSdn5kqKNbO4u6e+V9jPVrJ4yRtT8pY791a8SLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305244; a=rsa-sha256; cv=none; b=Id+VNjJWGsH8u7YH5xhAQQPKW0I7US4VFwJk8MmPNnD/CeGS4+QOl7ArC6MiNqG33ZlNmg yooFEkQtxrRoypwV6WN7H79u7OWIVrVs5cPumrVHMkrx/aNhjZ62YSW/mGiPrqDs+TG3d5 r1iduPjM288YIeyxpqjEfxCNOvYoZ/Efv6zghnDyuz/pXG5dx/QR1v+PFXY4e113sczg+u 4JAftBKtDUnfG5VGD8h6GPX/H4ZFdlY6wqOdMh4slc9WP/T3IbdjAwmIk4lPEPcKkMNlSn r0DBE7do+UToJZBj/s6jwU7fS6KZ0l8fEnTvaEwpeXEyRu7jLcV4ynnUzEmWvg== 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=1770305244; 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=CUD3buur6hmF3dsaAHLXNIfr0Pyrmm1i+QbmyUOFtgk=; b=tdw6U3QrkdO3hRLZ9HwuX5GlUH03VaWCGPnyKR7iTjwEqwcBuOkybR0CNLFkRk76HKvHeU 9szV1A89rT5woGBli392le9J3C5IgC+1GeJvoX+YIrySzdWxPBLoNHu50KHshNNejjt/b+ eBDWyO0NQlxLu97plykF2SR/5txQm+iDi/06AzzmHYPBNbw1oB1GDXAL5ODlxrabgoowPw SfnMJybQXAgrmq17zpAysQExc2ZjpZNUlpaDtK7CerHd3oJ37QwkNo2o9mwGOAAryPk3w0 Npx1gkHXdqVg2EIfjN5uDF2eW3jjQ+CRmSx+xqvJqgFjsWOBV6UCOyvO69J7UQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgb74zczbxB for ; Thu, 05 Feb 2026 15:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fc7b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: e8009e02e967 - stable/14 - diff: Detect loops when diffing directories. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e8009e02e967618c58a033ace838561ba3400d38 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:23 +0000 Message-Id: <6984b6db.3fc7b.6a40e336@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e8009e02e967618c58a033ace838561ba3400d38 commit e8009e02e967618c58a033ace838561ba3400d38 Author: Dag-Erling Smørgrav AuthorDate: 2025-06-20 11:10:35 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:47:46 +0000 diff: Detect loops when diffing directories. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50936 (cherry picked from commit 42092e1b6625b8226de5f34d22b9a96c713626cb) --- usr.bin/diff/diffdir.c | 85 ++++++++++++++++++++++++++++++++++++----- usr.bin/diff/tests/diff_test.sh | 17 +++++++++ 2 files changed, 92 insertions(+), 10 deletions(-) diff --git a/usr.bin/diff/diffdir.c b/usr.bin/diff/diffdir.c index 798229e990df..08c2efd119ca 100644 --- a/usr.bin/diff/diffdir.c +++ b/usr.bin/diff/diffdir.c @@ -22,10 +22,12 @@ #include #include +#include #include #include #include +#include #include #include #include @@ -42,6 +44,61 @@ static void print_only(const char *, size_t, const char *); #define d_status d_type /* we need to store status for -l */ +struct inode { + dev_t dev; + ino_t ino; + RB_ENTRY(inode) entry; +}; + +static int +inodecmp(struct inode *a, struct inode *b) +{ + return (a->dev < b->dev ? -1 : a->dev > b->dev ? 1 : + a->ino < b->ino ? -1 : a->ino > b->ino ? 1 : 0); +} + +RB_HEAD(inodetree, inode); +static struct inodetree v1 = RB_INITIALIZER(&v1); +static struct inodetree v2 = RB_INITIALIZER(&v2); +RB_GENERATE_STATIC(inodetree, inode, entry, inodecmp); + +static int +vscandir(struct inodetree *tree, const char *path, struct dirent ***dirp, + int (*select)(const struct dirent *), + int (*compar)(const struct dirent **, const struct dirent **)) +{ + struct stat sb; + struct inode *ino = NULL; + int fd = -1, ret, serrno; + + if ((fd = open(path, O_DIRECTORY | O_RDONLY)) < 0 || + (ino = calloc(1, sizeof(*ino))) == NULL || + fstat(fd, &sb) != 0) + goto fail; + ino->dev = sb.st_dev; + ino->ino = sb.st_ino; + if (RB_FIND(inodetree, tree, ino)) { + free(ino); + close(fd); + warnx("%s: Directory loop detected", path); + *dirp = NULL; + return (0); + } + if ((ret = fscandir(fd, dirp, select, compar)) < 0) + goto fail; + RB_INSERT(inodetree, tree, ino); + close(fd); + return (ret); +fail: + serrno = errno; + if (ino != NULL) + free(ino); + if (fd >= 0) + close(fd); + errno = serrno; + return (-1); +} + /* * Diff directory traversal. Will be called recursively if -r was specified. */ @@ -62,26 +119,22 @@ diffdir(char *p1, char *p2, int flags) status |= 2; return; } - if (path1[dirlen1 - 1] != '/') { - path1[dirlen1++] = '/'; - path1[dirlen1] = '\0'; - } + while (dirlen1 > 1 && path1[dirlen1 - 1] == '/') + path1[--dirlen1] = '\0'; dirlen2 = strlcpy(path2, *p2 ? p2 : ".", sizeof(path2)); if (dirlen2 >= sizeof(path2) - 1) { warnc(ENAMETOOLONG, "%s", p2); status |= 2; return; } - if (path2[dirlen2 - 1] != '/') { - path2[dirlen2++] = '/'; - path2[dirlen2] = '\0'; - } + while (dirlen2 > 1 && path2[dirlen2 - 1] == '/') + path2[--dirlen2] = '\0'; /* * Get a list of entries in each directory, skipping "excluded" files * and sorting alphabetically. */ - pos = scandir(path1, &dirp1, selectfile, alphasort); + pos = vscandir(&v1, path1, &dirp1, selectfile, alphasort); if (pos == -1) { if (errno == ENOENT && (Nflag || Pflag)) { pos = 0; @@ -93,7 +146,7 @@ diffdir(char *p1, char *p2, int flags) dp1 = dirp1; edp1 = dirp1 + pos; - pos = scandir(path2, &dirp2, selectfile, alphasort); + pos = vscandir(&v2, path2, &dirp2, selectfile, alphasort); if (pos == -1) { if (errno == ENOENT && Nflag) { pos = 0; @@ -115,6 +168,18 @@ diffdir(char *p1, char *p2, int flags) dp2++; } + /* + * Append separator so children's names can be appended directly. + */ + if (path1[dirlen1 - 1] != '/') { + path1[dirlen1++] = '/'; + path1[dirlen1] = '\0'; + } + if (path2[dirlen2 - 1] != '/') { + path2[dirlen2++] = '/'; + path2[dirlen2] = '\0'; + } + /* * Iterate through the two directory lists, diffing as we go. */ diff --git a/usr.bin/diff/tests/diff_test.sh b/usr.bin/diff/tests/diff_test.sh index c29c0a93d5d8..2efb2a844078 100755 --- a/usr.bin/diff/tests/diff_test.sh +++ b/usr.bin/diff/tests/diff_test.sh @@ -23,6 +23,7 @@ atf_test_case binary atf_test_case functionname atf_test_case noderef atf_test_case ignorecase +atf_test_case dirloop simple_body() { @@ -360,6 +361,21 @@ ignorecase_body() atf_check -o empty -s exit:0 diff -u -r --ignore-file-name-case A B } +dirloop_head() +{ + atf_set "timeout" "10" +} +dirloop_body() +{ + atf_check mkdir -p a/foo/bar + atf_check ln -s .. a/foo/bar/up + atf_check cp -a a b + atf_check \ + -e match:"a/foo/bar/up: Directory loop detected" \ + -e match:"b/foo/bar/up: Directory loop detected" \ + diff -r a b +} + atf_init_test_cases() { atf_add_test_case simple @@ -386,4 +402,5 @@ atf_init_test_cases() atf_add_test_case functionname atf_add_test_case noderef atf_add_test_case ignorecase + atf_add_test_case dirloop } From nobody Thu Feb 5 15:27:21 2026 X-Original-To: dev-commits-src-branches@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 4f6LgZ0R8hz6Ql3v for ; Thu, 05 Feb 2026 15:27:22 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6LgY6PTtz3XX2 for ; Thu, 05 Feb 2026 15:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305241; 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=c/bVazALeo8+IB6jvelV91uQI2i5RykyYQiBAmIcI+o=; b=uJOHufxvXnHL9b5+a4IAlAq/4b+0q5qFdIWINqc1tNxSRljdE8bVUC6/zVKoJIC6nyoS3T Xuka1UhRcgSp29cqkyLCzdu4UYYJ7CLEXIt/+SpEEQTeQEwdQBmP482Sb/t9jLb1V6SYzD 9hUHfTMfVadG8oH1Uj0OpF4Op9Les4jNvIC9UAcd4fpAagzfo3pXSxD//BjKBcYRzyxDHb wQ7hKNcAYjWl3IAHzCGtnqkISyI/h9W07QkCYLT8rkB+BEgXCqA6z8I9Kofl/Tm/MOMdiT FJsQw5L/M/Z1zkcaMbzXWLNneUGFrOl7+TIlCez/3BEMDcgfHZGwzGybW14wMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305241; a=rsa-sha256; cv=none; b=h9F7VbtnM41RZQwixwJRv9Eo3oRSV3B4wKPRn5bI6HVz01oIm4lCzZ6dmzxRPTmv1aCtWp fXJEbtS2UKeROq5cTgbIFD3izPqHkFhBQc9GgvCwSMOe5GJaUGRtMvoT7ezmeMnBEGGmpj RgWJ/3Sjnfz0WAQyWLgNJblNdBBIPjqm92uIIJxVn4M5mD0uJiP3FB2rQeyFeQAnIwa3/L ibB6cKiiqY9Wkb+5mqufg8AUtqFgyIoeL+/2vZjCgVWvdp/nszLRQgqEjMUWhkHiVIZnBH P7yL9GXnkzOay5YmY3OhdFTkgBRyqTeysPe3anhbzV3nXsx75bCS/62OvQt5nQ== 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=1770305241; 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=c/bVazALeo8+IB6jvelV91uQI2i5RykyYQiBAmIcI+o=; b=ClhEhnmxBwu9hnnyl7/MUnTT8sIf6K0CNUh+iXk1+d+s34hJV6cV/VWLNnlyx7tqieNLpN wOG3RLqNKDh2PStDqepVYad3GkWuOpw06yiFB4bE7Iv2allEK/Z7DywV2+K6hvGA/twCD6 /G2yKgE0taCXlGRTq6PIyjX9tp6ERW0RzQia/9wTsW3Xtdv4Q9QKOqn/UHYrPpxxoq8Jm2 KVpwjVSgpS/NomQ2l0p8YJxV1j23/jXpArOu2j6rHAVlMVR7Q+3/VACItsKS3u1DCYVlJD g9TCIWJcXRTCAMuAjDmWjsoHnMwYym22MlMbgx1zVYoDEK6pWy0onxP3dJaP2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6LgY5nTSzc0x for ; Thu, 05 Feb 2026 15:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ef7c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 8b2062419c33 - stable/14 - libc: Add fscandir(), fscandir_b(), scandirat_b(). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8b2062419c33c0f5b9b5d83f831bc7f54aff42a7 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:21 +0000 Message-Id: <6984b6d9.3ef7c.7b10e168@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=8b2062419c33c0f5b9b5d83f831bc7f54aff42a7 commit 8b2062419c33c0f5b9b5d83f831bc7f54aff42a7 Author: Dag-Erling Smørgrav AuthorDate: 2025-06-20 11:10:23 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:47:46 +0000 libc: Add fscandir(), fscandir_b(), scandirat_b(). While here, clean up scandir() a bit and improve the documentation. MFC after: never Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50935 (cherry picked from commit deeebfdecab56729fa898271ae53d01c8e156302) --- include/dirent.h | 13 ++++ lib/libc/gen/Makefile.inc | 5 +- lib/libc/gen/Symbol.map | 3 + lib/libc/gen/scandir.3 | 94 ++++++++++++++++++++++-- lib/libc/gen/scandir.c | 101 +++++++++++++++++--------- lib/libc/tests/gen/Makefile | 10 +++ lib/libc/tests/gen/scandir_blocks_test.c | 118 +++++++++++++++++++++++++++++++ lib/libc/tests/gen/scandir_test.c | 112 +++++++++++++++++++++++++++++ 8 files changed, 415 insertions(+), 41 deletions(-) diff --git a/include/dirent.h b/include/dirent.h index 5db7fe43b243..eef335694bfb 100644 --- a/include/dirent.h +++ b/include/dirent.h @@ -132,9 +132,22 @@ int scandir_b(const char *, struct dirent ***, #endif #endif #if __BSD_VISIBLE +int fscandir(int, struct dirent ***, + int (*)(const struct dirent *), int (*)(const struct dirent **, + const struct dirent **)); +#ifdef __BLOCKS__ +int fscandir_b(int, struct dirent ***, + int (^)(const struct dirent *), + int (^)(const struct dirent **, const struct dirent **)); +#endif int scandirat(int, const char *, struct dirent ***, int (*)(const struct dirent *), int (*)(const struct dirent **, const struct dirent **)); +#ifdef __BLOCKS__ +int scandirat_b(int, const char *, struct dirent ***, + int (^)(const struct dirent *), + int (^)(const struct dirent **, const struct dirent **)); +#endif #endif #if __XSI_VISIBLE void seekdir(DIR *, long); diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 220453266d44..de7866429aee 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -506,8 +506,11 @@ MLINKS+=recv.2 recvmmsg.2 MLINKS+=rtld_get_var.3 \ rtld_set_var.3 MLINKS+=scandir.3 alphasort.3 \ - scandir.3 scandirat.3 \ + scandir.3 fscandir.3 \ + scandir.3 fscandir_b.3 \ scandir.3 scandir_b.3 \ + scandir.3 scandirat.3 \ + scandir.3 scandirat_b.3 \ scandir.3 versionsort.3 MLINKS+=sem_open.3 sem_close.3 \ sem_open.3 sem_unlink.3 diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 93cd5fb410b5..b2e9d4da0669 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -461,9 +461,12 @@ FBSD_1.8 { aio_read2; aio_write2; execvpe; + fscandir; + fscandir_b; psiginfo; rtld_get_var; rtld_set_var; + scandirat_b; }; FBSDprivate_1.0 { diff --git a/lib/libc/gen/scandir.3 b/lib/libc/gen/scandir.3 index 033042acbb05..d9ae8f687168 100644 --- a/lib/libc/gen/scandir.3 +++ b/lib/libc/gen/scandir.3 @@ -27,13 +27,16 @@ .\" .\" @(#)scandir.3 8.1 (Berkeley) 6/4/93 .\" -.Dd August 31, 2023 +.Dd June 19, 2025 .Dt SCANDIR 3 .Os .Sh NAME .Nm scandir , +.Nm fscandir , .Nm scandirat , .Nm scandir_b , +.Nm fscandir_b , +.Nm fscandirat_b , .Nm alphasort , .Nm versionsort .Nd scan a directory @@ -49,6 +52,13 @@ .Fa "int \*(lp*compar\*(rp\*(lpconst struct dirent **, const struct dirent **\*(rp" .Fc .Ft int +.Fo fscandir +.Fa "int dirfd" +.Fa "struct dirent ***namelist" +.Fa "int \*(lp*select\*(rp\*(lpconst struct dirent *\*(rp" +.Fa "int \*(lp*compar\*(rp\*(lpconst struct dirent **, const struct dirent **\*(rp" +.Fc +.Ft int .Fo scandirat .Fa "int dirfd" .Fa "const char *dirname" @@ -64,6 +74,21 @@ .Fa "int \*(lp^compar\*(rp\*(lpconst struct dirent **, const struct dirent **\*(rp" .Fc .Ft int +.Fo fscandir_b +.Fa "int dirfd" +.Fa "struct dirent ***namelist" +.Fa "int \*(lp^select\*(rp\*(lpconst struct dirent *\*(rp" +.Fa "int \*(lp^compar\*(rp\*(lpconst struct dirent **, const struct dirent **\*(rp" +.Fc +.Ft int +.Fo scandirat_b +.Fa "int dirfd" +.Fa "const char *dirname" +.Fa "struct dirent ***namelist" +.Fa "int \*(lp^select\*(rp\*(lpconst struct dirent *\*(rp" +.Fa "int \*(lp^compar\*(rp\*(lpconst struct dirent **, const struct dirent **\*(rp" +.Fc +.Ft int .Fn alphasort "const struct dirent **d1" "const struct dirent **d2" .Ft int .Fn versionsort "const struct dirent **d1" "const struct dirent **d2" @@ -120,6 +145,13 @@ The memory allocated for the array can be deallocated with by freeing each pointer in the array and then the array itself. .Pp The +.Fn fscandir +function is similar to +.Fn scandir , +but takes a file descriptor referencing a directory instead of a path. +The file descriptor is left open on return, regardless of outcome. +.Pp +The .Fn scandirat function is similar to .Fn scandir , @@ -153,17 +185,37 @@ See for additional details. .Pp The -.Fn scandir_b -function behaves in the same way as +.Fn scandir_b , +.Fn fscandir_b , +and +.Fn scandirat_b +functions behave in the same way as .Fn scandir , -but takes blocks as arguments instead of function pointers and calls +.Fn fscandir , +and +.Fn scandirat , +respectively, +but take blocks as arguments instead of function pointers and call .Fn qsort_b rather than .Fn qsort . .Sh DIAGNOSTICS -Returns \-1 if the directory cannot be opened for reading or if +The +.Fn scandir , +.Fn fscandir , +.Fn scandirat , +.Fn scandir_b , +.Fn fscandir_b , +and +.Fn scandirat_b +functions return the number of directory entries found on succes. +If the directory cannot be opened for reading, an error occurs +while reading the directory, or .Xr malloc 3 -cannot allocate enough memory to hold all the data structures. +cannot allocate enough memory to hold all the directory entries, +they return \-1 and set +.Va errno +to an appropriate value. .Sh SEE ALSO .Xr openat 2 , .Xr directory 3 , @@ -174,8 +226,25 @@ cannot allocate enough memory to hold all the data structures. .Xr dir 5 .Sh STANDARDS The +.Fn alphasort +and +.Fn scandir +functions are expected to conform to +.St -p1003.1-2008 . +The +.Fn scandirat +and .Fn versionsort -function is a GNU extension and conforms to no standard. +functions are GNU extensions and conform to no standard. +The +.Fn fscandir , +.Fn scandir_b , +.Fn fscandir_b , +and +.Fn scandirat_b +functions are +.Fx +extensions. .Sh HISTORY The .Fn scandir @@ -184,8 +253,19 @@ and functions appeared in .Bx 4.2 . The +.Fn scandir_b +function was added in +.Fx 11.0 . +The .Fn scandirat and .Fn versionsort functions were added in .Fx 13.2 . +The +.Fn fscandir , +.Fn fscandir_b , +and +.Fn scandirat_b +functions were added in +.Fx 15.0 . diff --git a/lib/libc/gen/scandir.c b/lib/libc/gen/scandir.c index 28565150a035..54f92bafc115 100644 --- a/lib/libc/gen/scandir.c +++ b/lib/libc/gen/scandir.c @@ -40,6 +40,7 @@ __SCCSID("@(#)scandir.c 8.3 (Berkeley) 1/2/94"); #include "namespace.h" #include +#include #include #include #include @@ -66,7 +67,7 @@ static int scandir_thunk_cmp(const void *p1, const void *p2, void *thunk); static int #ifdef I_AM_SCANDIR_B -scandir_b_dirp(DIR *dirp, struct dirent ***namelist, select_block select, +scandir_dirp_b(DIR *dirp, struct dirent ***namelist, select_block select, dcomp_block dcomp) #else scandir_dirp(DIR *dirp, struct dirent ***namelist, @@ -74,14 +75,9 @@ scandir_dirp(DIR *dirp, struct dirent ***namelist, const struct dirent **)) #endif { - struct dirent *d, *p, **names = NULL; - size_t arraysz, numitems; - - numitems = 0; - arraysz = 32; /* initial estimate of the array size */ - names = (struct dirent **)malloc(arraysz * sizeof(struct dirent *)); - if (names == NULL) - goto fail; + struct dirent *d, *p = NULL, **names = NULL, **names2; + size_t arraysz = 0, numitems = 0; + int serrno; while ((d = readdir(dirp)) != NULL) { if (select != NULL && !SELECT(d)) @@ -89,33 +85,27 @@ scandir_dirp(DIR *dirp, struct dirent ***namelist, /* * Make a minimum size copy of the data */ - p = (struct dirent *)malloc(_GENERIC_DIRSIZ(d)); + p = malloc(_GENERIC_DIRSIZ(d)); if (p == NULL) goto fail; p->d_fileno = d->d_fileno; p->d_type = d->d_type; p->d_reclen = d->d_reclen; p->d_namlen = d->d_namlen; - bcopy(d->d_name, p->d_name, p->d_namlen + 1); + memcpy(p->d_name, d->d_name, p->d_namlen + 1); /* * Check to make sure the array has space left and * realloc the maximum size. */ if (numitems >= arraysz) { - struct dirent **names2; - - names2 = reallocarray(names, arraysz, - 2 * sizeof(struct dirent *)); - if (names2 == NULL) { - free(p); + arraysz = arraysz ? arraysz * 2 : 32; + names2 = reallocarray(names, arraysz, sizeof(*names)); + if (names2 == NULL) goto fail; - } names = names2; - arraysz *= 2; } names[numitems++] = p; } - closedir(dirp); if (numitems && dcomp != NULL) #ifdef I_AM_SCANDIR_B qsort_b(names, numitems, sizeof(struct dirent *), (void*)dcomp); @@ -127,10 +117,12 @@ scandir_dirp(DIR *dirp, struct dirent ***namelist, return (numitems); fail: + serrno = errno; + free(p); while (numitems > 0) free(names[--numitems]); free(names); - closedir(dirp); + errno = serrno; return (-1); } @@ -145,39 +137,82 @@ scandir(const char *dirname, struct dirent ***namelist, #endif { DIR *dirp; + int ret, serrno; dirp = opendir(dirname); if (dirp == NULL) return (-1); - return ( + ret = #ifdef I_AM_SCANDIR_B - scandir_b_dirp + scandir_dirp_b #else scandir_dirp #endif - (dirp, namelist, select, dcomp)); + (dirp, namelist, select, dcomp); + serrno = errno; + closedir(dirp); + errno = serrno; + return (ret); } -#ifndef I_AM_SCANDIR_B int -scandirat(int dirfd, const char *dirname, struct dirent ***namelist, +#ifdef I_AM_SCANDIR_B +fscandir_b(int dirfd, struct dirent ***namelist, select_block select, + dcomp_block dcomp) +#else +fscandir(int dirfd, struct dirent ***namelist, int (*select)(const struct dirent *), int (*dcomp)(const struct dirent **, const struct dirent **)) +#endif { DIR *dirp; - int fd; + int ret, serrno; + + dirp = fdopendir(dirfd); + if (dirp == NULL) + return (-1); + ret = +#ifdef I_AM_SCANDIR_B + scandir_dirp_b +#else + scandir_dirp +#endif + (dirp, namelist, select, dcomp); + serrno = errno; + fdclosedir(dirp); + errno = serrno; + return (ret); +} + +int +#ifdef I_AM_SCANDIR_B +scandirat_b(int dirfd, const char *dirname, struct dirent ***namelist, + select_block select, dcomp_block dcomp) +#else +scandirat(int dirfd, const char *dirname, struct dirent ***namelist, + int (*select)(const struct dirent *), int (*dcomp)(const struct dirent **, + const struct dirent **)) +#endif +{ + int fd, ret, serrno; fd = _openat(dirfd, dirname, O_RDONLY | O_DIRECTORY | O_CLOEXEC); if (fd == -1) return (-1); - dirp = fdopendir(fd); - if (dirp == NULL) { - _close(fd); - return (-1); - } - return (scandir_dirp(dirp, namelist, select, dcomp)); + ret = +#ifdef I_AM_SCANDIR_B + fscandir_b +#else + fscandir +#endif + (fd, namelist, select, dcomp); + serrno = errno; + _close(fd); + errno = serrno; + return (ret); } +#ifndef I_AM_SCANDIR_B /* * Alphabetic order comparison routine for those who want it. * POSIX 2008 requires that alphasort() uses strcoll(). diff --git a/lib/libc/tests/gen/Makefile b/lib/libc/tests/gen/Makefile index edffdc98b35e..9f352558e5ed 100644 --- a/lib/libc/tests/gen/Makefile +++ b/lib/libc/tests/gen/Makefile @@ -16,6 +16,10 @@ ATF_TESTS_C+= makecontext_test ATF_TESTS_C+= popen_test ATF_TESTS_C+= posix_spawn_test ATF_TESTS_C+= realpath2_test +ATF_TESTS_C+= scandir_test +.if ${COMPILER_FEATURES:Mblocks} +ATF_TESTS_C+= scandir_blocks_test +.endif ATF_TESTS_C+= sigsetops_test ATF_TESTS_C+= wordexp_test @@ -93,6 +97,12 @@ TEST_METADATA.setdomainname_test+= is_exclusive=true TESTS_SUBDIRS= execve TESTS_SUBDIRS+= posix_spawn +# Tests that require blocks support +.for t in scandir_blocks_test +CFLAGS.${t}.c+= -fblocks +LIBADD.${t}+= BlocksRuntime +.endfor + # The old testcase name TEST_FNMATCH= test-fnmatch CLEANFILES+= ${GEN_SH_CASE_TESTCASES} diff --git a/lib/libc/tests/gen/scandir_blocks_test.c b/lib/libc/tests/gen/scandir_blocks_test.c new file mode 100644 index 000000000000..28aeef4e7d4c --- /dev/null +++ b/lib/libc/tests/gen/scandir_blocks_test.c @@ -0,0 +1,118 @@ +/*- + * Copyright (c) 2025 Klara, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include + +#include +#include +#include + +#include + +static void +scandir_blocks_prepare(const struct atf_tc *tc) +{ + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, mkdir("dir/dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + ATF_REQUIRE_EQ(0, symlink("file", "dir/link")); + ATF_REQUIRE_EQ(0, mkdir("dir/skip", 0755)); +} + +static void +scandir_blocks_verify(const struct atf_tc *tc, int n, struct dirent **namelist) +{ + ATF_REQUIRE_EQ_MSG(5, n, "return value is %d", n); + ATF_CHECK_STREQ("link", namelist[0]->d_name); + ATF_CHECK_STREQ("file", namelist[1]->d_name); + ATF_CHECK_STREQ("dir", namelist[2]->d_name); + ATF_CHECK_STREQ("..", namelist[3]->d_name); + ATF_CHECK_STREQ(".", namelist[4]->d_name); +} + +ATF_TC(scandir_b_test); +ATF_TC_HEAD(scandir_b_test, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test scandir_b()"); +} +ATF_TC_BODY(scandir_b_test, tc) +{ + struct dirent **namelist = NULL; + int i, ret; + + scandir_blocks_prepare(tc); + ret = scandir_b("dir", &namelist, + ^(const struct dirent *ent) { + return (strcmp(ent->d_name, "skip") != 0); + }, + ^(const struct dirent **a, const struct dirent **b) { + return (strcmp((*b)->d_name, (*a)->d_name)); + }); + scandir_blocks_verify(tc, ret, namelist); + for (i = 0; i < ret; i++) + free(namelist[i]); + free(namelist); +} + +ATF_TC(fscandir_b_test); +ATF_TC_HEAD(fscandir_b_test, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test fscandir_b()"); +} +ATF_TC_BODY(fscandir_b_test, tc) +{ + struct dirent **namelist = NULL; + int fd, i, ret; + + scandir_blocks_prepare(tc); + ATF_REQUIRE((fd = open("dir", O_DIRECTORY | O_RDONLY)) >= 0); + ret = fscandir_b(fd, &namelist, + ^(const struct dirent *ent) { + return (strcmp(ent->d_name, "skip") != 0); + }, + ^(const struct dirent **a, const struct dirent **b) { + return (strcmp((*b)->d_name, (*a)->d_name)); + }); + scandir_blocks_verify(tc, ret, namelist); + for (i = 0; i < ret; i++) + free(namelist[i]); + free(namelist); + ATF_REQUIRE_EQ(0, close(fd)); +} + +ATF_TC(scandirat_b_test); +ATF_TC_HEAD(scandirat_b_test, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test scandirat_b()"); +} +ATF_TC_BODY(scandirat_b_test, tc) +{ + struct dirent **namelist = NULL; + int fd, i, ret; + + scandir_blocks_prepare(tc); + ATF_REQUIRE((fd = open("dir", O_DIRECTORY | O_SEARCH)) >= 0); + ret = scandirat_b(fd, ".", &namelist, + ^(const struct dirent *ent) { + return (strcmp(ent->d_name, "skip") != 0); + }, + ^(const struct dirent **a, const struct dirent **b) { + return (strcmp((*b)->d_name, (*a)->d_name)); + }); + scandir_blocks_verify(tc, ret, namelist); + for (i = 0; i < ret; i++) + free(namelist[i]); + free(namelist); + ATF_REQUIRE_EQ(0, close(fd)); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, scandir_b_test); + ATF_TP_ADD_TC(tp, fscandir_b_test); + ATF_TP_ADD_TC(tp, scandirat_b_test); + return (atf_no_error()); +} diff --git a/lib/libc/tests/gen/scandir_test.c b/lib/libc/tests/gen/scandir_test.c new file mode 100644 index 000000000000..54848c0572ca --- /dev/null +++ b/lib/libc/tests/gen/scandir_test.c @@ -0,0 +1,112 @@ +/*- + * Copyright (c) 2025 Klara, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include + +#include +#include +#include + +#include + +static void +scandir_prepare(const struct atf_tc *tc) +{ + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, mkdir("dir/dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + ATF_REQUIRE_EQ(0, symlink("file", "dir/link")); + ATF_REQUIRE_EQ(0, mkdir("dir/skip", 0755)); +} + +static void +scandir_verify(const struct atf_tc *tc, int n, struct dirent **namelist) +{ + ATF_REQUIRE_EQ_MSG(5, n, "return value is %d", n); + ATF_CHECK_STREQ("link", namelist[0]->d_name); + ATF_CHECK_STREQ("file", namelist[1]->d_name); + ATF_CHECK_STREQ("dir", namelist[2]->d_name); + ATF_CHECK_STREQ("..", namelist[3]->d_name); + ATF_CHECK_STREQ(".", namelist[4]->d_name); +} + +static int +scandir_select(const struct dirent *ent) +{ + return (strcmp(ent->d_name, "skip") != 0); +} + +static int +scandir_compare(const struct dirent **a, const struct dirent **b) +{ + return (strcmp((*b)->d_name, (*a)->d_name)); +} + +ATF_TC(scandir_test); +ATF_TC_HEAD(scandir_test, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test scandir()"); +} +ATF_TC_BODY(scandir_test, tc) +{ + struct dirent **namelist = NULL; + int i, ret; + + scandir_prepare(tc); + ret = scandir("dir", &namelist, scandir_select, scandir_compare); + scandir_verify(tc, ret, namelist); + for (i = 0; i < ret; i++) + free(namelist[i]); + free(namelist); +} + +ATF_TC(fscandir_test); +ATF_TC_HEAD(fscandir_test, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test fscandir()"); +} +ATF_TC_BODY(fscandir_test, tc) +{ + struct dirent **namelist = NULL; + int fd, i, ret; + + scandir_prepare(tc); + ATF_REQUIRE((fd = open("dir", O_DIRECTORY | O_RDONLY)) >= 0); + ret = fscandir(fd, &namelist, scandir_select, scandir_compare); + scandir_verify(tc, ret, namelist); + for (i = 0; i < ret; i++) + free(namelist[i]); + free(namelist); + ATF_REQUIRE_EQ(0, close(fd)); +} + +ATF_TC(scandirat_test); +ATF_TC_HEAD(scandirat_test, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test scandirat()"); +} +ATF_TC_BODY(scandirat_test, tc) +{ + struct dirent **namelist = NULL; + int fd, i, ret; + + scandir_prepare(tc); + ATF_REQUIRE((fd = open("dir", O_DIRECTORY | O_SEARCH)) >= 0); + ret = scandirat(fd, ".", &namelist, scandir_select, scandir_compare); + scandir_verify(tc, ret, namelist); + for (i = 0; i < ret; i++) + free(namelist[i]); + free(namelist); + ATF_REQUIRE_EQ(0, close(fd)); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, scandir_test); + ATF_TP_ADD_TC(tp, fscandir_test); + ATF_TP_ADD_TC(tp, scandirat_test); + return (atf_no_error()); +} From nobody Thu Feb 5 15:27:25 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgd3b3nz6QkVM for ; Thu, 05 Feb 2026 15:27:25 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgd1MQcz3XPf for ; Thu, 05 Feb 2026 15:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305245; 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=EJUNUe1xP2CN4ym6d0HgaMZUtfA5R13wGiH9gfESX74=; b=A6gaJJEBBhzb+AtVSobO2t5N6AAjLeQV+y6nuIXJi74IpjBG5GuExXajNVC3mwFhSORBbk FFxpk0gpxM41gMjwZsUtFt3JRDvImDayo2VR18mgAyRxLOi5WOc0bxkQxiC/rOy0rJUXIf /m5c4AMblE1rHuuDmLxTe2eWiESyDX1SRu+RYxVlEiIMTgOObloQVVoDUrJwmgNeraWyPa yNx1S4Qkjm6RaalRESPeiUK0EQjE84YvRBEAacL+kywIAz/DLUe6oCzj9Yj6eBREwPxZfl GcNk6EjLv8KRznoFvremVoHQ983Dx3urbmqYnjn3Yg/66wRvGO9/Suh/PWatkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305245; a=rsa-sha256; cv=none; b=QcdrGa57O3uNOZ0OpmmNgazjUWP72HuAz9K0IZ53yEKlVxcB3xDW9yrqr+1dJO2vcQaVpZ EhPeSVmiQs3D235v0NqUcvKrTKBclaTVFQC5M+c20/kbYuC2x4PSI2IlRo/xdE3/mLdFlk 8g2/zgSaR6+IvImx4YZs0yM0TAe+p/h6MPTUvSFG3cj8yogBtxHVttBerJQtuduJ2ychO/ vkpMvcGt3yhR/4EG+4G5bBLfzRX8h8RxerXktAtp++330I2zGzPyZFYDLKP3HnRNTDROZ6 lyZy5OmAB1Iqeu1zB8/cRZ9XZ7zwmmQllHsojG7N0VPdh1fF0cmg55ktIKZ/+w== 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=1770305245; 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=EJUNUe1xP2CN4ym6d0HgaMZUtfA5R13wGiH9gfESX74=; b=sIJQaNmmZSz/HoCr1VbXwvMvb0VEJp3+GWEW2WHAEUGRrbgFzhbYhGv7SIwt8/lhof1J9V Olv2stAUXoAR4gieWcTKobeSBy4m5dolp06EfR3OTd5yo7EQEO9ippSPSiTXIkmICLny6i uVIIF7rCbYsEQ7yRLXWpyq6GfshmYwUkzgdH/4naytcAMppoWleVhECJFEKMHiuAdDdPkT /6oHhzJxDZTIVkptkpy1HrJ7plI/TaZE4pcqqaBnzb+js6fjqi9gGvOdx90ENWr2brAzMW EerNGM6yVMy8tkfhWPS3LE3EKTtUK4dkD0I2z/d9/0LFEq6zXSdQ7C4zr9bO2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgd0g2Yzbdm for ; Thu, 05 Feb 2026 15:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1853b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: c7582d56d29f - stable/14 - diff: Fix gcc build. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c7582d56d29f072b4b18c90569b596d2b37f6b12 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:25 +0000 Message-Id: <6984b6dd.1853b.603f7257@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c7582d56d29f072b4b18c90569b596d2b37f6b12 commit c7582d56d29f072b4b18c90569b596d2b37f6b12 Author: Dag-Erling Smørgrav AuthorDate: 2025-06-20 15:30:03 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:47:46 +0000 diff: Fix gcc build. Sponsored by: Klara, Inc. (cherry picked from commit 28d9586cde8dc783f7b698b10c2b564fde14ae74) --- usr.bin/diff/diffdir.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.bin/diff/diffdir.c b/usr.bin/diff/diffdir.c index 08c2efd119ca..0eb0d07cd347 100644 --- a/usr.bin/diff/diffdir.c +++ b/usr.bin/diff/diffdir.c @@ -64,8 +64,8 @@ RB_GENERATE_STATIC(inodetree, inode, entry, inodecmp); static int vscandir(struct inodetree *tree, const char *path, struct dirent ***dirp, - int (*select)(const struct dirent *), - int (*compar)(const struct dirent **, const struct dirent **)) + int (*selectf)(const struct dirent *), + int (*comparf)(const struct dirent **, const struct dirent **)) { struct stat sb; struct inode *ino = NULL; @@ -84,7 +84,7 @@ vscandir(struct inodetree *tree, const char *path, struct dirent ***dirp, *dirp = NULL; return (0); } - if ((ret = fscandir(fd, dirp, select, compar)) < 0) + if ((ret = fscandir(fd, dirp, selectf, comparf)) < 0) goto fail; RB_INSERT(inodetree, tree, ino); close(fd); From nobody Thu Feb 5 15:27:26 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgf3VD8z6QktG for ; Thu, 05 Feb 2026 15:27:26 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgf1fFtz3XMn for ; Thu, 05 Feb 2026 15:27:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305246; 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=b9W20OrwnIXDsUy97h+mOQQsTa1jKGbaNlD13py6wEM=; b=hQNngA6vx4tuToqW0DgvTte0w0PFUSCkBR4pN7/qV+DdvZNZwazu0piH2K/Rdjjkm+BwQu uAV8bp3kH6c9FHqZfjlo51WP8GKqwPL/wP5+7j5jAhy+p7NmIlvNtFmL6AR93em7q1u252 V2Ah7oHunjcQzXTuj7tzxGgrDh5rj+yw+Xugyo3Jzonj4fHyvH79wbsXcD+Lg5HqTh1V6o pEilsNVgbsfizildMPG4FuwBidfQlVxRiI5l2vmPo2TZUjADnWzlnGcD3eYQKIE9HJjnak CVERURmB/TCQtmC4C4OSUXLVBQOnriJZV6OVaPDGU97NjaY+J5Bor42/FMw/Dw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305246; a=rsa-sha256; cv=none; b=dA/JXVJ1+DPD6QWnJPDj+6OlWp9Dk8VPhgQ0jtJwSFJgYTwZH3b/1I1b8xqOFHtZDD2k/M hEaC5RB8TUkiOxETjPXaJrMrtoIO8Rvo9pWMkX+JNt4MLC84guwlGjaGofWEOy3lD+TNTf Ks5X0PVrw+n6jvkMvZInDVbs+znhdOjSSsx0y2PB3zmaw5VwJRnAVePLktpOpGSFxqE42f AISgHck+RRHzUUyMHtorlb/7Wp4v7TTklnMhotx906Yx8YVSzX2dPQx90zVRYu33a/nLSk 75qERxhLJMg899gwXYL1Xxo8jRK1qHaKfMstYmDUpYJHswD1Uepmdi75VWJGww== 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=1770305246; 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=b9W20OrwnIXDsUy97h+mOQQsTa1jKGbaNlD13py6wEM=; b=CL5iY6Lt63sSnqNrP1Ns9H2ZkCualFyRcS9Ku/orzpHP7Q6VNYOQkLy2uZrsNXb+OT9d0o ihdRy4GDqrDGNTm0kQBoLj/iXb6wq0JuiLSahrO3Imm04DuGyMVBQIPdAQbUrYDLmpJfRo vYGhSv/CpytfevFscpnIoNUf3UCIkDsEK4zPhwUofQB8LabS7RIVJz1MwKNKVQk7B3XW95 A5bp7fShEnrWoGOCJ6ey7pBnyj9MalbBrIi8DpJyQ8Y4lO7g29CArhkyhkNjZCn1q1UIX3 7oKfOzPolnpDtzaLOuM+jH9f45Bmu+7N/85PvTjgBhejQYfm18p1NhhEt2nXaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgf1B5VzbxD for ; Thu, 05 Feb 2026 15:27:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18a80 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 35f8b56a4123 - stable/14 - libc: Rename fscandir{,_b}() to fdscandir{,_b}(). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 35f8b56a41230f5c0853c2e096af72e9e65fa0e5 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:26 +0000 Message-Id: <6984b6de.18a80.12e381f6@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=35f8b56a41230f5c0853c2e096af72e9e65fa0e5 commit 35f8b56a41230f5c0853c2e096af72e9e65fa0e5 Author: Dag-Erling Smørgrav AuthorDate: 2025-06-23 13:02:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:47:46 +0000 libc: Rename fscandir{,_b}() to fdscandir{,_b}(). This seems to fit the pattern better (e.g. fdopendir()). I've added weak references to ease the transition, but since it's only been a few days, we can remove them (and the ObsoleteFiles entries for the manual pages) before we branch stable/15. Fixes: deeebfdecab5 Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D50980 (cherry picked from commit 0a5b763d98b921f921243525ff25a70bbe00cfaa) libc: Finish removing fscandir{,_b}(). These only existed for a few days before being renamed, so there's no reason to continue to carry compatibility shims for them. Fixes: deeebfdecab5 Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D50981 (cherry picked from commit ccf937320a1a7383a2c33698007b7244f66dc022) --- include/dirent.h | 4 ++-- lib/libc/gen/Makefile.inc | 4 ++-- lib/libc/gen/Symbol.map | 4 ++-- lib/libc/gen/scandir.3 | 28 ++++++++++++++-------------- lib/libc/gen/scandir.c | 8 ++++---- lib/libc/tests/gen/scandir_blocks_test.c | 12 ++++++------ lib/libc/tests/gen/scandir_test.c | 12 ++++++------ usr.bin/diff/diffdir.c | 2 +- 8 files changed, 37 insertions(+), 37 deletions(-) diff --git a/include/dirent.h b/include/dirent.h index eef335694bfb..6679f28284b9 100644 --- a/include/dirent.h +++ b/include/dirent.h @@ -132,11 +132,11 @@ int scandir_b(const char *, struct dirent ***, #endif #endif #if __BSD_VISIBLE -int fscandir(int, struct dirent ***, +int fdscandir(int, struct dirent ***, int (*)(const struct dirent *), int (*)(const struct dirent **, const struct dirent **)); #ifdef __BLOCKS__ -int fscandir_b(int, struct dirent ***, +int fdscandir_b(int, struct dirent ***, int (^)(const struct dirent *), int (^)(const struct dirent **, const struct dirent **)); #endif diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index de7866429aee..ea926d23b325 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -506,8 +506,8 @@ MLINKS+=recv.2 recvmmsg.2 MLINKS+=rtld_get_var.3 \ rtld_set_var.3 MLINKS+=scandir.3 alphasort.3 \ - scandir.3 fscandir.3 \ - scandir.3 fscandir_b.3 \ + scandir.3 fdscandir.3 \ + scandir.3 fdscandir_b.3 \ scandir.3 scandir_b.3 \ scandir.3 scandirat.3 \ scandir.3 scandirat_b.3 \ diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index b2e9d4da0669..890d826c3c6e 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -461,8 +461,8 @@ FBSD_1.8 { aio_read2; aio_write2; execvpe; - fscandir; - fscandir_b; + fdscandir; + fdscandir_b; psiginfo; rtld_get_var; rtld_set_var; diff --git a/lib/libc/gen/scandir.3 b/lib/libc/gen/scandir.3 index c55c69eeca24..1d26d9f8be34 100644 --- a/lib/libc/gen/scandir.3 +++ b/lib/libc/gen/scandir.3 @@ -32,11 +32,11 @@ .Os .Sh NAME .Nm scandir , -.Nm fscandir , +.Nm fdscandir , .Nm scandirat , .Nm scandir_b , -.Nm fscandir_b , -.Nm fscandirat_b , +.Nm fdscandir_b , +.Nm fdscandirat_b , .Nm alphasort , .Nm versionsort .Nd scan a directory @@ -52,7 +52,7 @@ .Fa "int \*(lp*compar\*(rp\*(lpconst struct dirent **, const struct dirent **\*(rp" .Fc .Ft int -.Fo fscandir +.Fo fdscandir .Fa "int dirfd" .Fa "struct dirent ***namelist" .Fa "int \*(lp*select\*(rp\*(lpconst struct dirent *\*(rp" @@ -74,7 +74,7 @@ .Fa "int \*(lp^compar\*(rp\*(lpconst struct dirent **, const struct dirent **\*(rp" .Fc .Ft int -.Fo fscandir_b +.Fo fdscandir_b .Fa "int dirfd" .Fa "struct dirent ***namelist" .Fa "int \*(lp^select\*(rp\*(lpconst struct dirent *\*(rp" @@ -146,7 +146,7 @@ The memory allocated for the array can be deallocated with by freeing each pointer in the array and then the array itself. .Pp The -.Fn fscandir +.Fn fdscandir function is similar to .Fn scandir , but takes a file descriptor referencing a directory instead of a path. @@ -187,12 +187,12 @@ for additional details. .Pp The .Fn scandir_b , -.Fn fscandir_b , +.Fn fdscandir_b , and .Fn scandirat_b functions behave in the same way as .Fn scandir , -.Fn fscandir , +.Fn fdscandir , and .Fn scandirat , respectively, @@ -203,10 +203,10 @@ rather than .Sh DIAGNOSTICS The .Fn scandir , -.Fn fscandir , +.Fn fdscandir , .Fn scandirat , .Fn scandir_b , -.Fn fscandir_b , +.Fn fdscandir_b , and .Fn scandirat_b functions return the number of directory entries found on succes. @@ -238,9 +238,9 @@ and .Fn versionsort functions are GNU extensions and conform to no standard. The -.Fn fscandir , +.Fn fdscandir , .Fn scandir_b , -.Fn fscandir_b , +.Fn fdscandir_b , and .Fn scandirat_b functions are @@ -264,8 +264,8 @@ and functions were added in .Fx 13.2 . The -.Fn fscandir , -.Fn fscandir_b , +.Fn fdscandir , +.Fn fdscandir_b , and .Fn scandirat_b functions were added in diff --git a/lib/libc/gen/scandir.c b/lib/libc/gen/scandir.c index 36abe9f37047..eee8e39cb7eb 100644 --- a/lib/libc/gen/scandir.c +++ b/lib/libc/gen/scandir.c @@ -161,10 +161,10 @@ scandir(const char *dirname, struct dirent ***namelist, int #ifdef I_AM_SCANDIR_B -fscandir_b(int dirfd, struct dirent ***namelist, select_block select, +fdscandir_b(int dirfd, struct dirent ***namelist, select_block select, dcomp_block dcomp) #else -fscandir(int dirfd, struct dirent ***namelist, +fdscandir(int dirfd, struct dirent ***namelist, int (*select)(const struct dirent *), int (*dcomp)(const struct dirent **, const struct dirent **)) #endif @@ -205,9 +205,9 @@ scandirat(int dirfd, const char *dirname, struct dirent ***namelist, return (-1); ret = #ifdef I_AM_SCANDIR_B - fscandir_b + fdscandir_b #else - fscandir + fdscandir #endif (fd, namelist, select, dcomp); serrno = errno; diff --git a/lib/libc/tests/gen/scandir_blocks_test.c b/lib/libc/tests/gen/scandir_blocks_test.c index 28aeef4e7d4c..b94270bc410e 100644 --- a/lib/libc/tests/gen/scandir_blocks_test.c +++ b/lib/libc/tests/gen/scandir_blocks_test.c @@ -57,19 +57,19 @@ ATF_TC_BODY(scandir_b_test, tc) free(namelist); } -ATF_TC(fscandir_b_test); -ATF_TC_HEAD(fscandir_b_test, tc) +ATF_TC(fdscandir_b_test); +ATF_TC_HEAD(fdscandir_b_test, tc) { - atf_tc_set_md_var(tc, "descr", "Test fscandir_b()"); + atf_tc_set_md_var(tc, "descr", "Test fdscandir_b()"); } -ATF_TC_BODY(fscandir_b_test, tc) +ATF_TC_BODY(fdscandir_b_test, tc) { struct dirent **namelist = NULL; int fd, i, ret; scandir_blocks_prepare(tc); ATF_REQUIRE((fd = open("dir", O_DIRECTORY | O_RDONLY)) >= 0); - ret = fscandir_b(fd, &namelist, + ret = fdscandir_b(fd, &namelist, ^(const struct dirent *ent) { return (strcmp(ent->d_name, "skip") != 0); }, @@ -112,7 +112,7 @@ ATF_TC_BODY(scandirat_b_test, tc) ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, scandir_b_test); - ATF_TP_ADD_TC(tp, fscandir_b_test); + ATF_TP_ADD_TC(tp, fdscandir_b_test); ATF_TP_ADD_TC(tp, scandirat_b_test); return (atf_no_error()); } diff --git a/lib/libc/tests/gen/scandir_test.c b/lib/libc/tests/gen/scandir_test.c index dcd73fe94df5..9a9940aca881 100644 --- a/lib/libc/tests/gen/scandir_test.c +++ b/lib/libc/tests/gen/scandir_test.c @@ -63,19 +63,19 @@ ATF_TC_BODY(scandir_test, tc) free(namelist); } -ATF_TC(fscandir_test); -ATF_TC_HEAD(fscandir_test, tc) +ATF_TC(fdscandir_test); +ATF_TC_HEAD(fdscandir_test, tc) { - atf_tc_set_md_var(tc, "descr", "Test fscandir()"); + atf_tc_set_md_var(tc, "descr", "Test fdscandir()"); } -ATF_TC_BODY(fscandir_test, tc) +ATF_TC_BODY(fdscandir_test, tc) { struct dirent **namelist = NULL; int fd, i, ret; scandir_prepare(tc); ATF_REQUIRE((fd = open("dir", O_DIRECTORY | O_RDONLY)) >= 0); - ret = fscandir(fd, &namelist, scandir_select, scandir_compare); + ret = fdscandir(fd, &namelist, scandir_select, scandir_compare); scandir_verify(tc, ret, namelist); for (i = 0; i < ret; i++) free(namelist[i]); @@ -127,7 +127,7 @@ ATF_TC_BODY(scandir_none, tc) ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, scandir_test); - ATF_TP_ADD_TC(tp, fscandir_test); + ATF_TP_ADD_TC(tp, fdscandir_test); ATF_TP_ADD_TC(tp, scandirat_test); ATF_TP_ADD_TC(tp, scandir_none); return (atf_no_error()); diff --git a/usr.bin/diff/diffdir.c b/usr.bin/diff/diffdir.c index 0eb0d07cd347..9ca9b5e1774e 100644 --- a/usr.bin/diff/diffdir.c +++ b/usr.bin/diff/diffdir.c @@ -84,7 +84,7 @@ vscandir(struct inodetree *tree, const char *path, struct dirent ***dirp, *dirp = NULL; return (0); } - if ((ret = fscandir(fd, dirp, selectf, comparf)) < 0) + if ((ret = fdscandir(fd, dirp, selectf, comparf)) < 0) goto fail; RB_INSERT(inodetree, tree, ino); close(fd); From nobody Thu Feb 5 15:27:27 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgg51Zhz6QkVN for ; Thu, 05 Feb 2026 15:27:27 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgg2S9Pz3XSH for ; Thu, 05 Feb 2026 15:27:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305247; 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=IzKYa0bk0MeoGrJI9CsfiIeY0p+CJ3D09r5j/D5YpM4=; b=lj1CbpKtVRvwe9qLtXD4Uv+m2S19S98rZQMMjU8214YSB26yIpMIBOkaN5yUYApzh+KjWr A6RUiWElEBjS7v5PleFbp6n4ffBlkxVYQtGGxzoiKi5pAx7NQRvjAVbrRs/izXs32G3gvZ ccHVlMnc3Wx11rvs05mN32S3n04iChg3l84WlrBqO+9IYHkqGBDzCnh+4qb6EcrGxzfST5 u5Yv6TzN31gzl3t9ALD6KludwDXxKWGDBcbQT/ocqSX4QEwZsAsnyXBIXBbkVb592/X1iL W28tsOnX/zUafTCuVdxFiZW0/TpfLbpHp0Lb+nssgSwbWZXbKNeiotUJOGZEhw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305247; a=rsa-sha256; cv=none; b=qbyzL/wCzw0uzlW+Oxa9FmvZBaTKQybHUR7tZHl+yqgLhO1fi0JJ969LHoCtUBJ/N7D4QI +qywNt8X4zURpbXUR9fVnSGcFoLGlG6iiVNuBM4WWjNoCX46vjfi8+iabwQxoKme05K+tG 7SVea6lrkfGnZN2sPJOJ8gC/ayAbfJzyjhQfoYX8eA82rho7P//sJ4Z/fcAMbSoG3BOb39 cJ9POy/eTMtHTFun4qKaDXQHdKAVI+HtEE3qLgimH9rxH4QtlyRN8jbhvJy6V3DWmYuzDM fezFHAskFN4gmiAdKH7njUhALj1TL+lexh4OPI5mzvOTWQoHkWkDiL+taNIf0Q== 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=1770305247; 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=IzKYa0bk0MeoGrJI9CsfiIeY0p+CJ3D09r5j/D5YpM4=; b=bhVQLTUr1/R2hukcXpKINOw8By6y58whqKvCNRbu65XzBUis+RkP0UA2PpWJWSyNWVePhV wOA0Fk7jOSocQ14buMasgLR2p574RGiiDGMJrrY5OIVnEj6pGIOKkjfDCUjiKZB6jP3M6W rYrRw9Ltv9RReGHtOVcA3lLVCvYrxPTpUT//bmgnT8NY2t7ijx4zZ/lKns8LbWQMXIiKoe qlbcJ7aRx54X6m2KI4P/ptmO606aytiYmOR/T1BKcmhh2mS59sc52Q5bEmPvhDCXeihx2B VNIl8lLaSvAwuCoaQYTdvCmgRtn7Hx0ZH8e/WpyXQXJ2MctlYzwxsI/i8pc7Ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgg23rGzc2S for ; Thu, 05 Feb 2026 15:27:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 181ab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 1a3c32bac0f0 - stable/14 - scandir: Propagate errors from readdir(). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1a3c32bac0f029b0186bb856373fe3bcd2d5e18f Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:27 +0000 Message-Id: <6984b6df.181ab.2a9659a6@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=1a3c32bac0f029b0186bb856373fe3bcd2d5e18f commit 1a3c32bac0f029b0186bb856373fe3bcd2d5e18f Author: Dag-Erling Smørgrav AuthorDate: 2025-06-26 07:37:00 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:47:46 +0000 scandir: Propagate errors from readdir(). Currently, if `readdir()` fails, `scandir()` simply returns a partial result (or a null result if it fails before any entries were selected). There is no way within the current API design to return both a partial result and an error indicator, so err on the side of caution: if an error occurs, discard any partial result and return the error instead. MFC after: 1 week Reported by: Maxim Suhanov Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D51046 (cherry picked from commit 62e0f12f5104585b7346fee183e5c667b39ddbad) --- lib/libc/gen/scandir.3 | 32 +++++++++++++++++++- lib/libc/gen/scandir.c | 12 ++++++-- lib/libc/tests/gen/scandir_test.c | 63 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+), 3 deletions(-) diff --git a/lib/libc/gen/scandir.3 b/lib/libc/gen/scandir.3 index 1d26d9f8be34..82365adcad29 100644 --- a/lib/libc/gen/scandir.3 +++ b/lib/libc/gen/scandir.3 @@ -27,7 +27,7 @@ .\" .\" @(#)scandir.3 8.1 (Berkeley) 6/4/93 .\" -.Dd June 20, 2025 +.Dd June 25, 2025 .Dt SCANDIR 3 .Os .Sh NAME @@ -217,6 +217,36 @@ cannot allocate enough memory to hold all the directory entries, they return \-1 and set .Va errno to an appropriate value. +.Sh ERRORS +The +.Fn scandir , +.Fn scandirat , +.Fn scandir_b , +and +.Fn scandirat_b +functions may fail and set +.Va errno +for any of the errors specified for the +.Xr opendir 3 , +.Xr malloc 3 , +.Xr readdir 3 , +and +.Xr closedir 3 +functions. +.Pp +The +.Fn fdscandir +and +.Fn fdscandir_b +functions may fail and set +.Va errno +for any of the errors specified for the +.Xr fdopendir 3 , +.Xr malloc 3 , +.Xr readdir 3 , +and +.Xr closedir 3 +functions. .Sh SEE ALSO .Xr openat 2 , .Xr directory 3 , diff --git a/lib/libc/gen/scandir.c b/lib/libc/gen/scandir.c index eee8e39cb7eb..4d1ccab14f91 100644 --- a/lib/libc/gen/scandir.c +++ b/lib/libc/gen/scandir.c @@ -83,7 +83,7 @@ scandir_dirp(DIR *dirp, struct dirent ***namelist, if (names == NULL) return (-1); - while ((d = readdir(dirp)) != NULL) { + while (errno = 0, (d = readdir(dirp)) != NULL) { if (select != NULL && !SELECT(d)) continue; /* just selected names */ /* @@ -110,6 +110,13 @@ scandir_dirp(DIR *dirp, struct dirent ***namelist, } names[numitems++] = p; } + /* + * Since we can't simultaneously return both -1 and a count, we + * must either suppress the error or discard the partial result. + * The latter seems the lesser of two evils. + */ + if (errno != 0) + goto fail; if (numitems && dcomp != NULL) #ifdef I_AM_SCANDIR_B qsort_b(names, numitems, sizeof(struct dirent *), (void*)dcomp); @@ -122,7 +129,8 @@ scandir_dirp(DIR *dirp, struct dirent ***namelist, fail: serrno = errno; - free(p); + if (numitems == 0 || names[numitems - 1] != p) + free(p); while (numitems > 0) free(names[--numitems]); free(names); diff --git a/lib/libc/tests/gen/scandir_test.c b/lib/libc/tests/gen/scandir_test.c index 9a9940aca881..f7b52b5e3616 100644 --- a/lib/libc/tests/gen/scandir_test.c +++ b/lib/libc/tests/gen/scandir_test.c @@ -7,7 +7,9 @@ #include #include +#include #include +#include #include #include @@ -124,11 +126,72 @@ ATF_TC_BODY(scandir_none, tc) free(namelist); } +/* + * Test that scandir() propagates errors from readdir(): we create a + * directory with enough entries that it can't be read in a single + * getdirentries() call, then abuse the selection callback to close the + * file descriptor scandir() is using after the first call, causing the + * next one to fail, and verify that readdir() returns an error instead of + * a partial result. We make two passes, one in which nothing was + * selected before the error occurred, and one in which everything was. + */ +static int scandir_error_count; +static int scandir_error_fd; +static int scandir_error_select_return; + +static int +scandir_error_select(const struct dirent *ent __unused) +{ + if (scandir_error_count++ == 0) + close(scandir_error_fd); + return (scandir_error_select_return); +} + +ATF_TC(scandir_error); +ATF_TC_HEAD(scandir_error, tc) +{ + atf_tc_set_md_var(tc, "descr", + "Test that scandir() propagates errors from readdir()"); +} +ATF_TC_BODY(scandir_error, tc) +{ + char path[16]; + struct dirent **namelist = NULL; + int fd, i, ret; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + for (i = 0; i < 1024; i++) { + snprintf(path, sizeof(path), "dir/%04x", i); + ATF_REQUIRE_EQ(0, symlink(path + 4, path)); + } + + /* first pass, select nothing */ + ATF_REQUIRE((fd = open("dir", O_DIRECTORY | O_RDONLY)) >= 0); + scandir_error_count = 0; + scandir_error_fd = fd; + scandir_error_select_return = 0; + ret = fdscandir(fd, &namelist, scandir_error_select, NULL); + ATF_CHECK_EQ(-1, ret); + ATF_CHECK_ERRNO(EBADF, ret < 0); + ATF_CHECK_EQ(NULL, namelist); + + /* second pass, select everything */ + ATF_REQUIRE((fd = open("dir", O_DIRECTORY | O_RDONLY)) >= 0); + scandir_error_count = 0; + scandir_error_fd = fd; + scandir_error_select_return = 1; + ret = fdscandir(fd, &namelist, scandir_error_select, NULL); + ATF_CHECK_EQ(-1, ret); + ATF_CHECK_ERRNO(EBADF, ret < 0); + ATF_CHECK_EQ(NULL, namelist); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, scandir_test); ATF_TP_ADD_TC(tp, fdscandir_test); ATF_TP_ADD_TC(tp, scandirat_test); ATF_TP_ADD_TC(tp, scandir_none); + ATF_TP_ADD_TC(tp, scandir_error); return (atf_no_error()); } From nobody Thu Feb 5 15:27:28 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgh5dZcz6Qkw7 for ; Thu, 05 Feb 2026 15:27:28 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgh3Wkvz3XVb for ; Thu, 05 Feb 2026 15:27:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305248; 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=FHrTrJGFuKJPMkuWCvtvUhADmimYr4qNU62jjlyObIA=; b=C4ZIKWY9DnTb4JBHwzoT4nQDsKt6t6TJJO0GVuSlmsppBQUHwaNkctWttt7OJHF/p2TD03 itS/sUSAOQi3Bg28wCIXgmVVDLBhivDnhrJpDCuQKsZ7XN8EGJ69kjSybtH0/T+PNyRPUC wDI5RfcdelmqdNFDcghYusp1E045gTLPM9hdV+F4J5KE/QjsEPEvm9+lmOJsqnuIjTeYeL yclSzV/JL/wuzfdpKbjjBt9WszuNx7S18OCJBwWR3QSBFXRTqCzAQsATjeu++o8ylzVufT Tb9QV2ICnfDqPkm6e0dpEYVEwu484/KhP+GL1NLgrTM+cig9hLCHr+Tp9fAHlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305248; a=rsa-sha256; cv=none; b=O9eoa7/FQKX0SeiqXOVd4ZCckQwbgrUcyEAHB2bL0jowME3RDu9c3zGu6lJxnM9M3vS6ik aiPWomXfrhUx4Fets98vD9rqsbjKbwrJTa1QXfEIRJ4ONyINziUp6KMz3BH1cL5ZcAl45c owCAjkfg6BpdooFiNFIekcrDrrlPyHC+9LEpm2e+T4xCeP1vsjEg9u3aeHhVeL1mcw9iJ4 VxE5G0XB8djmdf44RmAxyzpEtsn664q71Jn8yQ8sfV4fwIbhubYhAdzxzeplo3iNlBx7Vb peEtFjERO9nHV1kFMo3DiW2j8eeg3CRQqS3ytRxE/kKLBsf8wIdhjzCru5FQ1A== 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=1770305248; 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=FHrTrJGFuKJPMkuWCvtvUhADmimYr4qNU62jjlyObIA=; b=KwYPb9e2900hSF64L7JRi6m1+T76JU3JtMwZuFkuU2WSSQkPMOhtEnMLOTRwR3IbmeZ78L BLv7G2CLHYXZOYqFuGd+rQ8bu1SjYmv0Qbr4er5fGb6nqpxppG+czXX9Kf5tZ8G2kkaRU4 8c2raknjeWrVO50R/+tIZLvdlESOsA980wja/QhE+SfwYW5850XIGxI22auuwGhekd6RVy sNWK8ZH9GnkflYQrXN+UmqGFJNS7qAZNcDBjtwySn1TEDDFC4teDcMbIEJEtH6FBDppo5J zirV65D1beJA3hdOomKLGgXqEsHb4WvLI0qkoZc1i+WnqIYOiNCG0ZfZf1MUaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgh2tRdzc2T for ; Thu, 05 Feb 2026 15:27:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18a84 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: d2f8f53385b3 - stable/14 - scandir: Code cleanup. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d2f8f53385b3f2b42e38c387cb1ccba4518167e9 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:28 +0000 Message-Id: <6984b6e0.18a84.1b018149@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=d2f8f53385b3f2b42e38c387cb1ccba4518167e9 commit d2f8f53385b3f2b42e38c387cb1ccba4518167e9 Author: Dag-Erling Smørgrav AuthorDate: 2025-06-26 07:37:06 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:47:46 +0000 scandir: Code cleanup. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D51050 (cherry picked from commit 8ebc0768663b0ea9f78a0b8cffb93ee1684a9b08) --- lib/libc/gen/scandir.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/libc/gen/scandir.c b/lib/libc/gen/scandir.c index 4d1ccab14f91..3f13248a3f2b 100644 --- a/lib/libc/gen/scandir.c +++ b/lib/libc/gen/scandir.c @@ -71,8 +71,8 @@ scandir_dirp_b(DIR *dirp, struct dirent ***namelist, select_block select, dcomp_block dcomp) #else scandir_dirp(DIR *dirp, struct dirent ***namelist, - int (*select)(const struct dirent *), int (*dcomp)(const struct dirent **, - const struct dirent **)) + int (*select)(const struct dirent *), + int (*dcomp)(const struct dirent **, const struct dirent **)) #endif { struct dirent *d, *p = NULL, **names = NULL, **names2; @@ -102,7 +102,7 @@ scandir_dirp(DIR *dirp, struct dirent ***namelist, * realloc the maximum size. */ if (numitems >= arraysz) { - arraysz = arraysz ? arraysz * 2 : 32; + arraysz = arraysz * 2; names2 = reallocarray(names, arraysz, sizeof(*names)); if (names2 == NULL) goto fail; @@ -117,13 +117,15 @@ scandir_dirp(DIR *dirp, struct dirent ***namelist, */ if (errno != 0) goto fail; - if (numitems && dcomp != NULL) + if (numitems > 0 && dcomp != NULL) { #ifdef I_AM_SCANDIR_B - qsort_b(names, numitems, sizeof(struct dirent *), (void*)dcomp); + qsort_b(names, numitems, sizeof(struct dirent *), + (void *)dcomp); #else qsort_r(names, numitems, sizeof(struct dirent *), scandir_thunk_cmp, &dcomp); #endif + } *namelist = names; return (numitems); @@ -144,8 +146,8 @@ scandir_b(const char *dirname, struct dirent ***namelist, select_block select, dcomp_block dcomp) #else scandir(const char *dirname, struct dirent ***namelist, - int (*select)(const struct dirent *), int (*dcomp)(const struct dirent **, - const struct dirent **)) + int (*select)(const struct dirent *), + int (*dcomp)(const struct dirent **, const struct dirent **)) #endif { DIR *dirp; @@ -173,8 +175,8 @@ fdscandir_b(int dirfd, struct dirent ***namelist, select_block select, dcomp_block dcomp) #else fdscandir(int dirfd, struct dirent ***namelist, - int (*select)(const struct dirent *), int (*dcomp)(const struct dirent **, - const struct dirent **)) + int (*select)(const struct dirent *), + int (*dcomp)(const struct dirent **, const struct dirent **)) #endif { DIR *dirp; @@ -202,8 +204,8 @@ scandirat_b(int dirfd, const char *dirname, struct dirent ***namelist, select_block select, dcomp_block dcomp) #else scandirat(int dirfd, const char *dirname, struct dirent ***namelist, - int (*select)(const struct dirent *), int (*dcomp)(const struct dirent **, - const struct dirent **)) + int (*select)(const struct dirent *), + int (*dcomp)(const struct dirent **, const struct dirent **)) #endif { int fd, ret, serrno; From nobody Thu Feb 5 15:27:30 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgk6sWpz6QknJ for ; Thu, 05 Feb 2026 15:27:30 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgk51szz3Xk1 for ; Thu, 05 Feb 2026 15:27:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305250; 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=uvXsdaxP6mmOzMD1hNUdfWaTIeZ62bz61POQA2YJGzo=; b=Q/0OfuqTuFBJJCozI0RsSoQU7U3rigty97KTEvu+JiZK/bpkAcXJs59c5aOf96r9pW/BtD 345kG1x72IzhPhAwXJ+/Lv30y37Uxk2POb0zEXQzA3mM7KJasb3WxmUuXTzciYPvffzoJD eDj56QJRHtb0O7uraWLD/6N780WlMk2QtGc9F8ip0BQYIcDalGMl02mbvhLovONIFqAgAs ZqSyXB8Nch8dlJLs+vDW/1Pbm8ioOnkQNqwMHQ9/A+g1GSV0LzTYSET742WCdfRaIVfvag zK8DVuQ9PlKG7xFvu20QFKZfOg5Y9oR7kJmU+gKLvivALLajXLKckA71eDralw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305250; a=rsa-sha256; cv=none; b=do3URVpRaQ8G1AQTlvvvO/L80TOa9tzjV2DM6MYhIXrnCR8us4Sv8H+HtMUr+q2UrNeF8B Q8eCAx7Vq92eUjD6IoVH+MYOv4MKWh4uINxBFmZlpOtqj6mNEGGIVvsLekq5FsGA6UgYN4 4/O/pB31n4cpHw1ap6HKw1WEAj+YAENpctSHYC5+cqBdSZRum2q8IlIDCiC8doTKivIKdT OGSN3xQfqQ3Nd/KiPEiumxyoVYCdkkXEm/PFCB21xX/nTLJulKUPTRCpNEbVBGVt9GXh12 QnLzBljEo4AyBo5g/8qTFvg5U6Y6fs+b25bWT/SqXTLVYzSnqW+GWAaDWpyTqg== 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=1770305250; 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=uvXsdaxP6mmOzMD1hNUdfWaTIeZ62bz61POQA2YJGzo=; b=PCbVoQU55zy8SPiH0cKFaREzPj84DSBKa9y1ir04V8axS631HRhHdQ8UAQamGGvQELPoJF opOPZWd/BhSTpsvCGVt0C0eov9IT7LTxRdoqistljfxXdLqpXi5RATmFA3I9fDMlx7nvZc RisQuCoZJHy5y/lsYQSBVEa3pACaXdRQKHC69XTuh0NmVrJEBECrIo5NWTN1Ksk0BfJ6Dt RUxtxbPSgZq2Gr0NgyEg55b6no3j339ocle6czy106W4U0Im8LR4y/u0Z3Uu54X+hv1W5g W5C03nZBUzZOaPyU9C/XjaxIPnPKnSVaAlS+R3WYi/TGRTNMOMCotjAH0cveFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgk4YDDzc2W for ; Thu, 05 Feb 2026 15:27:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fd0f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 9d7a0f817cef - stable/14 - opendir, fdopendir: Add tests, clean up. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9d7a0f817cef4c7d94fe584f3f85754996678ed4 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:30 +0000 Message-Id: <6984b6e2.3fd0f.14b23610@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=9d7a0f817cef4c7d94fe584f3f85754996678ed4 commit 9d7a0f817cef4c7d94fe584f3f85754996678ed4 Author: Dag-Erling Smørgrav AuthorDate: 2025-07-08 19:40:55 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:47:47 +0000 opendir, fdopendir: Add tests, clean up. * Add test cases for opendir() and fdopendir(). * Drop O_NONBLOCK from opendir(); it was added a long time ago to avoid blocking if given a closed named pipe, but now we use O_DIRECTORY, which ensures that we get ENOTDIR in that case. * While here, remove unused #includes left over from the split. Sponsored by: Klara, Inc. Reviewed by: kevans, markj Differential Revision: https://reviews.freebsd.org/D51126 (cherry picked from commit c08e019c6ce4fc637b195f1bb0878763c3fefe9e) --- lib/libc/gen/fdopendir.c | 7 +- lib/libc/gen/opendir.c | 7 -- lib/libc/gen/opendir2.c | 6 +- lib/libc/tests/gen/Makefile | 1 + lib/libc/tests/gen/opendir_test.c | 144 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 151 insertions(+), 14 deletions(-) diff --git a/lib/libc/gen/fdopendir.c b/lib/libc/gen/fdopendir.c index 85c4451f9b48..9393cbe28f85 100644 --- a/lib/libc/gen/fdopendir.c +++ b/lib/libc/gen/fdopendir.c @@ -30,14 +30,13 @@ */ #include "namespace.h" -#include +#include +#include #include #include #include -#include -#include -#include +#include #include "un-namespace.h" #include "gen-private.h" diff --git a/lib/libc/gen/opendir.c b/lib/libc/gen/opendir.c index df288d416a2f..af36e0077ef1 100644 --- a/lib/libc/gen/opendir.c +++ b/lib/libc/gen/opendir.c @@ -32,14 +32,7 @@ #include __SCCSID("@(#)opendir.c 8.8 (Berkeley) 5/1/95"); #include "namespace.h" -#include - #include -#include -#include -#include -#include -#include #include "un-namespace.h" #include "gen-private.h" diff --git a/lib/libc/gen/opendir2.c b/lib/libc/gen/opendir2.c index b9ac23e6d9fd..928145b468c1 100644 --- a/lib/libc/gen/opendir2.c +++ b/lib/libc/gen/opendir2.c @@ -30,11 +30,12 @@ */ #include "namespace.h" -#include +#include #include #include #include +#include #include #include #include @@ -52,8 +53,7 @@ __opendir2(const char *name, int flags) if ((flags & (__DTF_READALL | __DTF_SKIPREAD)) != 0) return (NULL); - if ((fd = _open(name, - O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC)) == -1) + if ((fd = _open(name, O_DIRECTORY | O_RDONLY | O_CLOEXEC)) == -1) return (NULL); dir = __opendir_common(fd, flags, false); diff --git a/lib/libc/tests/gen/Makefile b/lib/libc/tests/gen/Makefile index 9f352558e5ed..f4390d328642 100644 --- a/lib/libc/tests/gen/Makefile +++ b/lib/libc/tests/gen/Makefile @@ -13,6 +13,7 @@ ATF_TESTS_C+= getentropy_test ATF_TESTS_C+= getmntinfo_test ATF_TESTS_C+= glob2_test ATF_TESTS_C+= makecontext_test +ATF_TESTS_C+= opendir_test ATF_TESTS_C+= popen_test ATF_TESTS_C+= posix_spawn_test ATF_TESTS_C+= realpath2_test diff --git a/lib/libc/tests/gen/opendir_test.c b/lib/libc/tests/gen/opendir_test.c new file mode 100644 index 000000000000..89be2becc607 --- /dev/null +++ b/lib/libc/tests/gen/opendir_test.c @@ -0,0 +1,144 @@ +/*- + * Copyright (c) 2025 Klara, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include + +#include +#include +#include +#include +#include + +#include + +/* + * Create a directory with a single subdirectory. + */ +static void +opendir_prepare(const struct atf_tc *tc) +{ + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, mkdir("dir/subdir", 0755)); +} + +/* + * Assuming dirp represents the directory created by opendir_prepare(), + * verify that readdir() returns what we expected to see there. + */ +static void +opendir_check(const struct atf_tc *tc, DIR *dirp) +{ + struct dirent *ent; + + ATF_REQUIRE((ent = readdir(dirp)) != NULL); + ATF_CHECK_EQ(1, ent->d_namlen); + ATF_CHECK_STREQ(".", ent->d_name); + ATF_CHECK_EQ(DT_DIR, ent->d_type); + ATF_REQUIRE((ent = readdir(dirp)) != NULL); + ATF_CHECK_EQ(2, ent->d_namlen); + ATF_CHECK_STREQ("..", ent->d_name); + ATF_CHECK_EQ(DT_DIR, ent->d_type); + ATF_REQUIRE((ent = readdir(dirp)) != NULL); + ATF_CHECK_EQ(sizeof("subdir") - 1, ent->d_namlen); + ATF_CHECK_STREQ("subdir", ent->d_name); + ATF_CHECK_EQ(DT_DIR, ent->d_type); + ATF_CHECK(readdir(dirp) == NULL); +} + +ATF_TC(opendir_ok); +ATF_TC_HEAD(opendir_ok, tc) +{ + atf_tc_set_md_var(tc, "descr", "Open a directory."); +} +ATF_TC_BODY(opendir_ok, tc) +{ + DIR *dirp; + + opendir_prepare(tc); + ATF_REQUIRE((dirp = opendir("dir")) != NULL); + opendir_check(tc, dirp); + ATF_CHECK_EQ(0, closedir(dirp)); +} + +ATF_TC(opendir_fifo); +ATF_TC_HEAD(opendir_fifo, tc) +{ + atf_tc_set_md_var(tc, "descr", "Do not hang if given a named pipe."); +} +ATF_TC_BODY(opendir_fifo, tc) +{ + DIR *dirp; + int fd; + + ATF_REQUIRE((fd = mkfifo("fifo", 0644)) >= 0); + ATF_REQUIRE_EQ(0, close(fd)); + ATF_REQUIRE((dirp = opendir("fifo")) == NULL); + ATF_CHECK_EQ(ENOTDIR, errno); +} + +ATF_TC(fdopendir_ok); +ATF_TC_HEAD(fdopendir_ok, tc) +{ + atf_tc_set_md_var(tc, "descr", + "Open a directory from a directory descriptor."); +} +ATF_TC_BODY(fdopendir_ok, tc) +{ + DIR *dirp; + int dd; + + opendir_prepare(tc); + ATF_REQUIRE((dd = open("dir", O_DIRECTORY | O_RDONLY)) >= 0); + ATF_REQUIRE((dirp = fdopendir(dd)) != NULL); + opendir_check(tc, dirp); + ATF_CHECK_EQ(dd, fdclosedir(dirp)); + ATF_CHECK_EQ(0, close(dd)); +} + +ATF_TC(fdopendir_ebadf); +ATF_TC_HEAD(fdopendir_ebadf, tc) +{ + atf_tc_set_md_var(tc, "descr", + "Open a directory from an invalid descriptor."); +} +ATF_TC_BODY(fdopendir_ebadf, tc) +{ + DIR *dirp; + int dd; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE((dd = open("dir", O_DIRECTORY | O_RDONLY)) >= 0); + ATF_CHECK_EQ(0, close(dd)); + ATF_REQUIRE((dirp = fdopendir(dd)) == NULL); + ATF_CHECK_EQ(EBADF, errno); +} + +ATF_TC(fdopendir_enotdir); +ATF_TC_HEAD(fdopendir_enotdir, tc) +{ + atf_tc_set_md_var(tc, "descr", + "Open a directory from a non-directory descriptor."); +} +ATF_TC_BODY(fdopendir_enotdir, tc) +{ + DIR *dirp; + int fd; + + ATF_REQUIRE((fd = open("file", O_CREAT | O_RDWR, 0644)) >= 0); + ATF_REQUIRE((dirp = fdopendir(fd)) == NULL); + ATF_CHECK_EQ(ENOTDIR, errno); + ATF_CHECK_EQ(0, close(fd)); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, opendir_ok); + ATF_TP_ADD_TC(tp, fdopendir_ok); + ATF_TP_ADD_TC(tp, fdopendir_ebadf); + ATF_TP_ADD_TC(tp, fdopendir_enotdir); + ATF_TP_ADD_TC(tp, opendir_fifo); + return (atf_no_error()); +} From nobody Thu Feb 5 15:27:29 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgj6FzTz6Qkw8 for ; Thu, 05 Feb 2026 15:27:29 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgj4hWWz3Xjm for ; Thu, 05 Feb 2026 15:27:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305249; 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=C7HUubp45J6rgX7Xiqne/L5iehgwqRiBpdMUJ9pMpEw=; b=R82o+UcuPcqHVnwxrqpmPU9NPmzFOHhfi8Tw6VspwjEHJjrmYc4AHvN39Ycw0bCokGYP5n deqfGfkUXzjKtq8dNFvkBxmiKFR9DTJmnPegOiHLwuW1eM9vwhjmtIHKMW4coG/dHE185a ZQgI9hqIrSj1WmmUhti+Hzmv8kWmTZfDLgx8v9dqA1L+pt/l15eboa8QhF6c9rISXDdvnS wlmtCSVNufAGuxK6k/gRAYFIWfN8Beck1+huaqxcEczIXP1QFW7TPkdYDRJ20mgRq/XQnA Wu8+WStFyGAA+Rxm226J/nF6af4z+z8xxiYF2BSMxoOh+gp9eJ+A75JjMcQ8jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305249; a=rsa-sha256; cv=none; b=PPBQ0l26makAThVfENAsd2KcJtvLkn+H2EUyfjNCHPpEAY+k/IEik7VF0dmA8vltdYfZ5W GbkSjBJ8iQfDbNsOIR9LzJGUSnJs5fKc/uDyhV/dwSqXrh9O3J4zAr1Dwiu89CsMR9yqFv drcE49PeduBiRRamJ8BWBDVacORQO/vFocjUL7bDTKMs75Uqwt7rfYOP9A7JdoIm/Xt2oJ KooemsYJY840uh4//du0a85GUpDchqm/4MFshQhsYa4D8KfxS/H80Vfc1AkHsonWeFKRX0 zTn3YlstBuvUM8bBgS6E6Ra5T6/LIebYTApckwMw/D9zEWK5QwYJy7gRkOeeeQ== 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=1770305249; 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=C7HUubp45J6rgX7Xiqne/L5iehgwqRiBpdMUJ9pMpEw=; b=b7eKRFmqwx3E+2M6wbiEAc7Zk1ftlCnM6AmtfiQAZO+/m0UFopAmvF2SuLgX3+++7U91S9 512YzvhobUmfNL0+HnN93vHpf85q9ZCqZ+YeMULUhkhbnvjaCgD5mbFHcN3HREIATAPpyu n5XbzFeJOZ0ae46WWxPC/aYvfGlEEdofzYZad121Md5+/cykH9clBYNvNtMAdrURuP0hM1 B7dpfmde7VRsHIz4/W9DdSrrvSi256PghgI7C2M48OYrHbLumV/ThMV/tg2IcOWABBNPsd fAXOStm8ZwWndrqLzdO4SgywZL802VuXqnhwM9sHSzh2thn9aIksiOnC3Yu/DA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgj3htxzc2V for ; Thu, 05 Feb 2026 15:27:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fb9e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: b10a31f4e0f4 - stable/14 - opendir: Simplify is_unionstack(). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b10a31f4e0f43857f63390a451857fb3c733e26f Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:29 +0000 Message-Id: <6984b6e1.3fb9e.2350bef5@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b10a31f4e0f43857f63390a451857fb3c733e26f commit b10a31f4e0f43857f63390a451857fb3c733e26f Author: Dag-Erling Smørgrav AuthorDate: 2025-07-02 10:22:21 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:47:47 +0000 opendir: Simplify is_unionstack(). Sponsored by: Klara, Inc. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D51118 (cherry picked from commit 5e96f4006d2e5f165531a53b6c1393a1c7604f42) --- lib/libc/gen/opendir2.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/libc/gen/opendir2.c b/lib/libc/gen/opendir2.c index 30a9030693e4..b9ac23e6d9fd 100644 --- a/lib/libc/gen/opendir2.c +++ b/lib/libc/gen/opendir2.c @@ -243,20 +243,18 @@ _filldir(DIR *dirp, bool use_current_pos) return (true); } +/* + * Return true if the file descriptor is associated with a file from a + * union file system or from a file system mounted with the union flag. + */ static bool is_unionstack(int fd) { - int unionstack; - - unionstack = _fcntl(fd, F_ISUNIONSTACK, 0); - if (unionstack != -1) - return (unionstack); - /* - * Should not happen unless running on a kernel without the op, - * but no use rendering the system useless in such a case. + * This call shouldn't fail, but if it does, just assume that the + * answer is no. */ - return (0); + return (_fcntl(fd, F_ISUNIONSTACK, 0) > 0); } /* From nobody Thu Feb 5 15:27:31 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgm1H8Bz6QkVg for ; Thu, 05 Feb 2026 15:27:32 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgl5yW5z3XhY for ; Thu, 05 Feb 2026 15:27:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305251; 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=i7vXDIEZ8uX4IxpFVZJyRbbnHjEnZAJJZYN3toNIED8=; b=nwJeT8V2bnQ3kmfUdQmDSIuBBnmeDG3JksMQqoK1JCPkeLD5kKNvf8wrlPIi3NHZQluWvq nja+I0xr5dz/C06TtZPl3QBfFLIboZqBeQxb7aWSb2TJqOl31z2tRCv7j0TBpoertmvXcb zoVtrvRDEr3oZDQL07ULu1qAL1VsTXqGp4TlEn7wUgGdz4o3kVxQz1YE5pyMIG++5IWErG nCytWvV3MjeiVfcVAiG5Ei4cCLCpipe+IVcMammKP1NERl+NqOIMaD+wMiDziDsWxyInU7 euK/oQAjo2Pcp2kGLIap5o1OuwxsGK0pTHVOkJ5pUWVpSVm/8boiTHDLi3ZylQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305251; a=rsa-sha256; cv=none; b=f0IHkUMzrCNw1L7Mw6YcOfxBZh2uIQX7mfmxJ+2j6omYBMYv//g6097JXNPUAI11w0ZAJG e3A2XcOJFzcXNKeRvZiiR0ZmADMEYfbVfq0273Td2W5M3H5t9o20NLnhlXDbp7MPGfgZR0 CO68kbIs18KqG7EmhoBb0wlNi0NVQXCUh0Z0bpim8f7KJTALojaus9eh7E5jFadFSntb0u DOettVrybVgmbEs2SLjtBJfQ7/HFjWe8r2QI4Hn6N3ZzOBNFWNnCz+T6b9GL1EnPQKkIfc 033iF8eNOMI3Jxw3plTT4/BhHzOaZ7ci/BAm7PIXUSgjHvH3T27Nu8oG44M2xg== 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=1770305251; 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=i7vXDIEZ8uX4IxpFVZJyRbbnHjEnZAJJZYN3toNIED8=; b=QWLyieXkO0McO9lQqB4h6mSe2SDcKafrlqv6WxHw477e1UXAQ6MDnUi/r38mfZbT87EYeD TZ1tylGqahKQWNS970Vs13z67V5cgBngsSh7SnKVYAF8EP/mrjr6NRoW6UPWNcmfyles+m t1GLwVkjivt92nDfVt+XWD8Z7QzJvQteoLLq3QyVAe3sBf4zCCEdPvN6CHkFbJKTtz7kpf jGoG7w3Fc/IOb4JyWl1f4NwYjMC/dH4vND5TO7IuFMMFP2u5lV7F6E+CHoSf+bXxQ7JLEp ZH5F5B/ahprR/24MqMkwYLh7e+mC9G8q/tluzCvmJtkYx/TfaGgFhhHRdyGouw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgl5QPRzZwX for ; Thu, 05 Feb 2026 15:27:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f4c7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 98b041239c25 - stable/14 - opendir, readdir, telldir: Use the correct types. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 98b041239c252d0c2433e5d412d74f90a235d0f2 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:31 +0000 Message-Id: <6984b6e3.3f4c7.5e82e266@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=98b041239c252d0c2433e5d412d74f90a235d0f2 commit 98b041239c252d0c2433e5d412d74f90a235d0f2 Author: Dag-Erling Smørgrav AuthorDate: 2025-07-09 20:34:22 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:48:34 +0000 opendir, readdir, telldir: Use the correct types. Use either size_t or off_t (as appropriate) instead of long. Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D51210 (cherry picked from commit 42e613018da50ee6877d24815c7626d79629e707) readdir: Fix error check. Now that dd_size is unsigned, we need to check if the return value from getdirentries() was negative before assigning it to dd_size. While here, simplify the scandir_error test case slightly, and verify that calling readdir() again after EOF still returns NULL. Fixes: 42e613018da5 Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D51266 (cherry picked from commit 920b2183919e430cf85c4aa1fa337bfded12aee5) --- lib/libc/gen/gen-private.h | 4 ++-- lib/libc/gen/opendir2.c | 6 ++++-- lib/libc/gen/readdir.c | 11 +++++++---- lib/libc/gen/telldir.c | 4 ++-- lib/libc/gen/telldir.h | 6 +++--- lib/libc/tests/gen/opendir_test.c | 1 + lib/libc/tests/gen/scandir_test.c | 12 +++++------- 7 files changed, 24 insertions(+), 20 deletions(-) diff --git a/lib/libc/gen/gen-private.h b/lib/libc/gen/gen-private.h index 3792a61ff942..b6749b3435cd 100644 --- a/lib/libc/gen/gen-private.h +++ b/lib/libc/gen/gen-private.h @@ -43,8 +43,8 @@ struct pthread_mutex; */ struct _dirdesc { int dd_fd; /* file descriptor associated with directory */ - long dd_loc; /* offset in current buffer */ - long dd_size; /* amount of data returned by getdirentries */ + size_t dd_loc; /* offset in current buffer */ + size_t dd_size; /* amount of data returned by getdirentries */ char *dd_buf; /* data buffer */ int dd_len; /* size of data buffer */ off_t dd_seek; /* magic cookie returned by getdirentries */ diff --git a/lib/libc/gen/opendir2.c b/lib/libc/gen/opendir2.c index 928145b468c1..f85cdb9f6c75 100644 --- a/lib/libc/gen/opendir2.c +++ b/lib/libc/gen/opendir2.c @@ -264,6 +264,7 @@ DIR * __opendir_common(int fd, int flags, bool use_current_pos) { DIR *dirp; + ssize_t ret; int incr; int saved_errno; bool unionstack; @@ -313,13 +314,14 @@ __opendir_common(int fd, int flags, bool use_current_pos) * to prime dd_seek. This also checks if the * fd passed to fdopendir() is a directory. */ - dirp->dd_size = _getdirentries(dirp->dd_fd, + ret = _getdirentries(dirp->dd_fd, dirp->dd_buf, dirp->dd_len, &dirp->dd_seek); - if (dirp->dd_size < 0) { + if (ret < 0) { if (errno == EINVAL) errno = ENOTDIR; goto fail; } + dirp->dd_size = (size_t)ret; dirp->dd_flags |= __DTF_SKIPREAD; } else { dirp->dd_size = 0; diff --git a/lib/libc/gen/readdir.c b/lib/libc/gen/readdir.c index d2c8636651ff..823ffc49b476 100644 --- a/lib/libc/gen/readdir.c +++ b/lib/libc/gen/readdir.c @@ -50,8 +50,9 @@ struct dirent * _readdir_unlocked(DIR *dirp, int flags) { struct dirent *dp; - long initial_seek; - long initial_loc = 0; + off_t initial_seek; + size_t initial_loc = 0; + ssize_t ret; for (;;) { if (dirp->dd_loc >= dirp->dd_size) { @@ -63,11 +64,13 @@ _readdir_unlocked(DIR *dirp, int flags) } if (dirp->dd_loc == 0 && !(dirp->dd_flags & (__DTF_READALL | __DTF_SKIPREAD))) { + dirp->dd_size = 0; initial_seek = dirp->dd_seek; - dirp->dd_size = _getdirentries(dirp->dd_fd, + ret = _getdirentries(dirp->dd_fd, dirp->dd_buf, dirp->dd_len, &dirp->dd_seek); - if (dirp->dd_size <= 0) + if (ret <= 0) return (NULL); + dirp->dd_size = (size_t)ret; _fixtelldir(dirp, initial_seek, initial_loc); } dirp->dd_flags &= ~__DTF_SKIPREAD; diff --git a/lib/libc/gen/telldir.c b/lib/libc/gen/telldir.c index 9b60093ac472..ac0e2e50f9b3 100644 --- a/lib/libc/gen/telldir.c +++ b/lib/libc/gen/telldir.c @@ -120,7 +120,7 @@ _seekdir(DIR *dirp, long loc) struct dirent *dp; union ddloc_packed ddloc; off_t loc_seek; - long loc_loc; + size_t loc_loc; ddloc.l = loc; @@ -173,7 +173,7 @@ _seekdir(DIR *dirp, long loc) * fetching a new block to fix any such telldir locations. */ void -_fixtelldir(DIR *dirp, long oldseek, long oldloc) +_fixtelldir(DIR *dirp, off_t oldseek, size_t oldloc) { struct ddloc_mem *lp; diff --git a/lib/libc/gen/telldir.h b/lib/libc/gen/telldir.h index 6d113491e819..02fd52af9060 100644 --- a/lib/libc/gen/telldir.h +++ b/lib/libc/gen/telldir.h @@ -46,9 +46,9 @@ */ struct ddloc_mem { LIST_ENTRY(ddloc_mem) loc_lqe; /* entry in list */ - long loc_index; /* key associated with structure */ + size_t loc_index; /* key associated with structure */ off_t loc_seek; /* magic cookie returned by getdirentries */ - long loc_loc; /* offset of entry in buffer */ + size_t loc_loc; /* offset of entry in buffer */ }; #ifdef __LP64__ @@ -102,7 +102,7 @@ bool _filldir(DIR *, bool); struct dirent *_readdir_unlocked(DIR *, int); void _reclaim_telldir(DIR *); void _seekdir(DIR *, long); -void _fixtelldir(DIR *dirp, long oldseek, long oldloc); +void _fixtelldir(DIR *dirp, off_t oldseek, size_t oldloc); DIR *__opendir_common(int, int, bool); #define RDU_SKIP 0x0001 diff --git a/lib/libc/tests/gen/opendir_test.c b/lib/libc/tests/gen/opendir_test.c index 89be2becc607..b7481255654f 100644 --- a/lib/libc/tests/gen/opendir_test.c +++ b/lib/libc/tests/gen/opendir_test.c @@ -46,6 +46,7 @@ opendir_check(const struct atf_tc *tc, DIR *dirp) ATF_CHECK_STREQ("subdir", ent->d_name); ATF_CHECK_EQ(DT_DIR, ent->d_type); ATF_CHECK(readdir(dirp) == NULL); + ATF_CHECK(readdir(dirp) == NULL); } ATF_TC(opendir_ok); diff --git a/lib/libc/tests/gen/scandir_test.c b/lib/libc/tests/gen/scandir_test.c index f7b52b5e3616..afd25bf7c0b2 100644 --- a/lib/libc/tests/gen/scandir_test.c +++ b/lib/libc/tests/gen/scandir_test.c @@ -157,7 +157,7 @@ ATF_TC_BODY(scandir_error, tc) { char path[16]; struct dirent **namelist = NULL; - int fd, i, ret; + int fd, i; ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); for (i = 0; i < 1024; i++) { @@ -170,9 +170,8 @@ ATF_TC_BODY(scandir_error, tc) scandir_error_count = 0; scandir_error_fd = fd; scandir_error_select_return = 0; - ret = fdscandir(fd, &namelist, scandir_error_select, NULL); - ATF_CHECK_EQ(-1, ret); - ATF_CHECK_ERRNO(EBADF, ret < 0); + ATF_CHECK_ERRNO(EBADF, + fdscandir(fd, &namelist, scandir_error_select, NULL) < 0); ATF_CHECK_EQ(NULL, namelist); /* second pass, select everything */ @@ -180,9 +179,8 @@ ATF_TC_BODY(scandir_error, tc) scandir_error_count = 0; scandir_error_fd = fd; scandir_error_select_return = 1; - ret = fdscandir(fd, &namelist, scandir_error_select, NULL); - ATF_CHECK_EQ(-1, ret); - ATF_CHECK_ERRNO(EBADF, ret < 0); + ATF_CHECK_ERRNO(EBADF, + fdscandir(fd, &namelist, scandir_error_select, NULL) < 0); ATF_CHECK_EQ(NULL, namelist); } From nobody Thu Feb 5 15:27:34 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgq2gs9z6QkwJ for ; Thu, 05 Feb 2026 15:27:35 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgq0kl3z3Xn5 for ; Thu, 05 Feb 2026 15:27:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305255; 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=wXey5Pevl0k1Ob18bJ1zp5vzrRTfh7Sgw/O726V8OUk=; b=ny6fBJtNirZR536OmBcKzGdVqfWZUm3dDp3xRfapn56RlshOV9gzg4aq3n6Y02+M9Fv1pD wsEl1iN9kJYNOo5qSP+vHc6NY5LaE4n42P2gR2iuIIw1iCTc3a/yd+dOhgQj6iTKlBiobw 46FpL1n7amEQ2lblsgGKmGMSXGzWqlRbZJsFJ+Fwtydx47U9iEDhjcMVpK5MdIncMOxJkY 4iBAjtKzZuavDkiFeH6YkcKqsYuWaB821RPqwgiHll+b9u+919LB4fO51Xi4PIXcviaAsw 5+i9o+aTDJGO08/5KIPaHkyfedET9HR41QXU/rVXgafxPZjGBNzDf1zrTcxv6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305255; a=rsa-sha256; cv=none; b=jzG+sFaLtFKtytXds5M9bJhT99J5ojzbqT80bTgrF6p1fURf9AkvayhGbRY+n4+H08uVG7 48xnXjHupynYntcXMjsuQPQ8fh3boP22n02vLZ53LNtuKwcgIkY5Xv0cMYZzetfsCCeitr t2Ur96sPjyqw2zmqKCZzw/cqfMg+HOJ9Kniu9yfRHQ222qe5p7vSQSq6pQe8DmqNNqsZBP Y6xQFR4Bzo7hWU2oTM4KavLx7aL8gRHDfjhlAUnMO3I6BOLMVav0ia4/4UjM9zPekwMd2A v69mnQRJj6JLDd2s2D4LAuLquj/TuORLIOXmqKvgs313OAzWQvI351WJC6Yk4w== 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=1770305255; 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=wXey5Pevl0k1Ob18bJ1zp5vzrRTfh7Sgw/O726V8OUk=; b=kRBjF86C6quIzRflE1d9MyoBLYunft3NB5fLL/rh8LxDzI3t20UW6esnCL3LTNXyeCXkur LT4uQXfuD2IBMPuuOWKXWktv/FsI5/9fpDcNDhUHajNdLXn0GIP6Mw4lOOTu+QShbpL0od 0WZyV5IA1jEQz2uX4hziQxCYY0bJPmr+y2yVusHXIaNfFLEGT52XSG1gXO/cFtdf/j6Eo7 02Iq/0slbUPB0qVTp2OEw5tlDLql27WoDOxUVp7e6ZyzV6fSZ6zKxcC9dbfRtlen6BQadJ CcrFUcGxuyn4RZuTzuGcA0f+3xuMnvwnCpNmBJcTJ0Y1msuSUnkq6SKLpixubw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgq02DHzc13 for ; Thu, 05 Feb 2026 15:27:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fd13 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 0018cfdb91c3 - stable/14 - libc/tests: Clean up *dir() tests List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0018cfdb91c399342a0facd04dfe72cb689d86ea Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:34 +0000 Message-Id: <6984b6e6.3fd13.89bce56@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=0018cfdb91c399342a0facd04dfe72cb689d86ea commit 0018cfdb91c399342a0facd04dfe72cb689d86ea Author: Dag-Erling Smørgrav AuthorDate: 2026-02-03 14:39:21 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:50:01 +0000 libc/tests: Clean up *dir() tests Mainly, avoid reusing the name of one of the functions we should be testing (but aren't) for local variables. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55054 (cherry picked from commit d70b9eb74fc4aa430bd2ff4bca37e6a9b6c8004f) --- lib/libc/tests/gen/dir2_test.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/lib/libc/tests/gen/dir2_test.c b/lib/libc/tests/gen/dir2_test.c index 4ec5a1759d06..dac8ccbe472a 100644 --- a/lib/libc/tests/gen/dir2_test.c +++ b/lib/libc/tests/gen/dir2_test.c @@ -41,7 +41,6 @@ ATF_TC(telldir_after_seekdir); ATF_TC_HEAD(telldir_after_seekdir, tc) { - atf_tc_set_md_var(tc, "descr", "Calling telldir(3) after seekdir(3) " "should return the argument passed to seekdir."); } @@ -50,7 +49,7 @@ ATF_TC_BODY(telldir_after_seekdir, tc) const int NUMFILES = 1000; char template[] = "dXXXXXX"; char *tmpdir; - int i, dirfd; + int i, dd; DIR *dirp; struct dirent *de; long beginning, middle, end, td; @@ -58,8 +57,8 @@ ATF_TC_BODY(telldir_after_seekdir, tc) /* Create a temporary directory */ tmpdir = mkdtemp(template); ATF_REQUIRE_MSG(tmpdir != NULL, "mkdtemp failed"); - dirfd = open(tmpdir, O_RDONLY | O_DIRECTORY); - ATF_REQUIRE(dirfd > 0); + dd = open(tmpdir, O_RDONLY | O_DIRECTORY); + ATF_REQUIRE(dd > 0); /* * Fill it with files. Must be > 128 to ensure that the directory @@ -70,14 +69,14 @@ ATF_TC_BODY(telldir_after_seekdir, tc) char filename[16]; snprintf(filename, sizeof(filename), "%d", i); - fd = openat(dirfd, filename, O_WRONLY | O_CREAT, 0600); + fd = openat(dd, filename, O_WRONLY | O_CREAT, 0600); ATF_REQUIRE(fd > 0); close(fd); } /* Get some directory bookmarks in various locations */ - dirp = fdopendir(dirfd); - ATF_REQUIRE_MSG(dirfd >= 0, "fdopendir failed"); + dirp = fdopendir(dd); + ATF_REQUIRE_MSG(dd >= 0, "fdopendir failed"); beginning = telldir(dirp); for (i = 0; i < NUMFILES / 2; i = i+1) { de = readdir(dirp); @@ -126,7 +125,7 @@ ATF_TC_BODY(telldir_at_end_of_block, tc) const int NUMFILES = 129; char template[] = "dXXXXXX"; char *tmpdir; - int i, dirfd; + int i, dd; DIR *dirp; struct dirent *de; long td; @@ -135,8 +134,8 @@ ATF_TC_BODY(telldir_at_end_of_block, tc) /* Create a temporary directory */ tmpdir = mkdtemp(template); ATF_REQUIRE_MSG(tmpdir != NULL, "mkdtemp failed"); - dirfd = open(tmpdir, O_RDONLY | O_DIRECTORY); - ATF_REQUIRE(dirfd > 0); + dd = open(tmpdir, O_RDONLY | O_DIRECTORY); + ATF_REQUIRE(dd > 0); /* * Fill it with files. Must be > 128 to ensure that the directory @@ -147,14 +146,14 @@ ATF_TC_BODY(telldir_at_end_of_block, tc) char filename[16]; snprintf(filename, sizeof(filename), "%d", i); - fd = openat(dirfd, filename, O_WRONLY | O_CREAT, 0600); + fd = openat(dd, filename, O_WRONLY | O_CREAT, 0600); ATF_REQUIRE(fd > 0); close(fd); } /* Read all entries within the first page */ - dirp = fdopendir(dirfd); - ATF_REQUIRE_MSG(dirfd >= 0, "fdopendir failed"); + dirp = fdopendir(dd); + ATF_REQUIRE_MSG(dd >= 0, "fdopendir failed"); for (i = 0; i < NUMFILES - 1; i = i + 1) ATF_REQUIRE_MSG(readdir(dirp) != NULL, "readdir failed"); @@ -178,9 +177,8 @@ ATF_TC_BODY(telldir_at_end_of_block, tc) ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, telldir_after_seekdir); ATF_TP_ADD_TC(tp, telldir_at_end_of_block); - return atf_no_error(); + return (atf_no_error()); } From nobody Thu Feb 5 15:27:33 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgp5bhlz6Ql4G for ; Thu, 05 Feb 2026 15:27:34 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgp08wlz3XWN for ; Thu, 05 Feb 2026 15:27:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305254; 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=qUhuPGo7cC5ncfyC88SDHIiOj8MxWHmI4SUE56ntIUI=; b=KYnwF5MHVmuEQYs19HdamX9fRPbB9dQR6VtqJZsNG2zRp13ExeH6rF+VnWkqDqdxycwoYt KCa7HtT050IlS3qu6te1unh73/PyftmUhiVe6azW5T4AbpAhiGnNOBfh5v11jIa5c7TmWu NGO1SbbezQnxufMvUZevnN/C7nEdYurJ9CVQXlkZN5JZ7a6a/syTg03YbOLIdHZZLDahJ1 33U0hEw4HAg8saYH+0royedo3NHf2jjL2imlqs3tENRT4dkIz6Zgp00GFgsPxnQuj/8uCT 0QSjULgOigQjTFaI4entOloR4+A3ipp5ze7ac+fBrnh8kYNVTHckMVVA34wE5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305254; a=rsa-sha256; cv=none; b=UToS0Cwy+O59iLcaiaq6+uGtUkXwV539JZvndy1OUzO17fz+97wY6pnMryIH4bOSOaePTV HsVoZKw/vif26wMZyEJG5yvU6Extb/MnMWSUu4F8na/Xx6DXeTzUbkOGxe+tZObXVH+3+d cbWumCJ8S/K0t2u4dDSeZD3ReCA7BV4v+zDup5gMCdPMUcGl2YkrRJV0W9g84Nv2FcHKCq hJK5MmivKwa33O2+wrM0wnWeeGw77KoSUv5gRR+ejV9LxHmj927er+oE5hgQUFYUpxMCG4 576JosngM1HcjACi3dnnXOaumvnrWJh4S+321lSR5e0h2FVPLJjSHzTU+iosBw== 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=1770305254; 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=qUhuPGo7cC5ncfyC88SDHIiOj8MxWHmI4SUE56ntIUI=; b=JZ1StKmejIFyKqYCM9lSHV+B2H4cTbB7hClmpL/tBIwkJpbI4wbOUKcPLCBA3Szy/gpHIq CpkBfhLTGxD7+//UYrTJnLObUSOCZkpkLGAigO1Ma8F1EPQAR2OldODcZEg21uggWg2PcS t+MNiSLpDlT2cH4/mnxT7k1VygUpjAK30kIA0WDE3RKZN+F3eeYU6Rr3SrtF/oC4/aXEZg 9E7n909+5pSlzrLLg5klt793X/0z1was49CdOvcln9/UiilZytM14FotDHOd8cVy5x3wLR J/8L8/v6As7hwIu5neU333mT6yjaN7Te5GN2uq5w6I9ucqAYRl0qkS0SFDHWZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgn6Z1WzbH1 for ; Thu, 05 Feb 2026 15:27:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fcba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 77dedead8539 - stable/14 - libc: Improve POSIX conformance of dirfd() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 77dedead8539c76d1f452c2c0073ee13ed7cf54a Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:33 +0000 Message-Id: <6984b6e5.3fcba.488124be@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=77dedead8539c76d1f452c2c0073ee13ed7cf54a commit 77dedead8539c76d1f452c2c0073ee13ed7cf54a Author: Dag-Erling Smørgrav AuthorDate: 2026-02-02 15:46:57 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:48:36 +0000 libc: Improve POSIX conformance of dirfd() POSIX states that dirfd() should set errno to EINVAL and return -1 if dirp does not refer to a valid directory stream. Our interpretation is that this applies if dirp is null or the file descriptor associated with it is negative. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55025 (cherry picked from commit 5074d5c9845e142883cdbb9ad212be66e57615d0) libc: Fix missing include Although not needed on FreeBSD due to namespace pollution, we should technically #include to secure a definition of NULL. Fixes: 5074d5c9845e ("libc: Improve POSIX conformance of dirfd()") (cherry picked from commit 1c00d5a3b234ef937d848956027e9de5ea8010f9) --- lib/libc/gen/directory.3 | 14 +++++++++++++- lib/libc/gen/dirfd.c | 6 ++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/libc/gen/directory.3 b/lib/libc/gen/directory.3 index 3a121dcafb8c..ee78202ddc3e 100644 --- a/lib/libc/gen/directory.3 +++ b/lib/libc/gen/directory.3 @@ -258,7 +258,9 @@ The function returns 0 on success and -1 on failure. The .Fn fdclosedir -function returns an open file descriptor on success and -1 on failure. +and +.Fn dirfd +functions return an open file descriptor on success and -1 on failure. .Sh ERRORS The .Fn opendir @@ -329,6 +331,16 @@ function may also fail and set .Va errno for any of the errors specified for the routine .Xr close 2 . +.Pp +The +.Fn dirfd +function will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa dirp +argument does not refer to a valid directory stream. +.El .Sh SEE ALSO .Xr close 2 , .Xr lseek 2 , diff --git a/lib/libc/gen/dirfd.c b/lib/libc/gen/dirfd.c index ba8f52845b4e..984e69b9ae9a 100644 --- a/lib/libc/gen/dirfd.c +++ b/lib/libc/gen/dirfd.c @@ -28,6 +28,8 @@ #include "namespace.h" #include +#include +#include #include "un-namespace.h" #include "gen-private.h" @@ -35,5 +37,9 @@ int dirfd(DIR *dirp) { + if (dirp == NULL || _dirfd(dirp) < 0) { + errno = EINVAL; + return (-1); + } return (_dirfd(dirp)); } From nobody Thu Feb 5 15:27:32 2026 X-Original-To: dev-commits-src-branches@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 4f6Lgn2fvQz6Ql20 for ; Thu, 05 Feb 2026 15:27:33 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Lgm6JqGz3Xhn for ; Thu, 05 Feb 2026 15:27:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770305252; 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=DcriEgjb1rjQ/hsh/V0yqCnw5Q6E9Q9pRh1F0y2ZRoQ=; b=JXavN01f1+WCm/ZvXEqYpjxXFuZSV22Pf+IBhh8mDPQudHwaMyQarHQHWmnvkk/anXCNHs QuqnL27o5p4jMMJ0SlhRmkverVZox97E5cX8u1W1AxdFh0O1K1vroLgQnaBV6aJ3VMrzm8 hB7wwehOpLks3CJWw+SXpe1tECtrYNjn4a6A6yIKX+JHfh2z3KB51HPm5nIFjgoVJ/C+Kq mIKx/M+WhdGsCcZrwEQDtDyCEJgIUAOzeE3rAs7hUFWIoCQQqpygUwFmKsnv4hwz7yFigk a4uTAe+AuHjNU716ncFPmLTZ+ThIqCVBACG32tPVpMBeUc/fHVSW94BIKtDK4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770305252; a=rsa-sha256; cv=none; b=B0tyxQ5VK4nsWUySIxNognfquJ46gS/BFvna6T1L+jWsV1XTGPlWe8HnvMA8wS0Z1eVIpD e7fTrEmJMB24gSWPpHocO6rRJE8QaAq3BJZpM0OS2b+WMnZDfL9xOHs2PdjennNEBlhH7p m+xZZKQtHwnlsc74lFK+kli5FZ4CxoEsA9Xrx55WNfJkIWPM4GBtaBYxSr2lSbR87JHqcv qnexTIlIyY2dUnuFVjdrLRhNjIsI2Ci1C1sutizAw0IEuq3VBEC2Gy+xHRH991qzv3T7u4 IvP5zVyLNINLTwTlRB8BwWDWIVxZkxcKefWBiXg4VECQhzaL0EjCSbQK/gE2pQ== 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=1770305252; 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=DcriEgjb1rjQ/hsh/V0yqCnw5Q6E9Q9pRh1F0y2ZRoQ=; b=D2UZomnUwgty2znS0sEPJUXiGt+KPWeAcEbtstUDXDSeGBojov61ECarAKUmsB/M+sZLOL tOunftChRU3OGqjsEjcY3EnYnp9DlWsDFYW7PnXojap6hxr+E+swFSluxjW6nJML7RRWSe gldUpPXscUORtYeUJB1mjo43gUKMijt+x1zNtDESOANvTZ4HjFjFmQ7iA0i6FBx4jbI5ll co3yDZo4E59aldSvXOPtZPYbd/NXutV0FwAq5eay8OvmEfTGc23i9rArLnVPlzmP8DF4Lt Oy2njRjPpxQFIqe/OxFAdeVky0ly5O/PK4MFBAMULNnFZZJc1Z19/XQGeGltjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Lgm5v7Czc2X for ; Thu, 05 Feb 2026 15:27:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 182dc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 15:27:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: b614c9893fa3 - stable/14 - libc: Clean up *dir() code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b614c9893fa38771075d1f329763a0151b53b86d Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 15:27:32 +0000 Message-Id: <6984b6e4.182dc.694db3be@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b614c9893fa38771075d1f329763a0151b53b86d commit b614c9893fa38771075d1f329763a0151b53b86d Author: Dag-Erling Smørgrav AuthorDate: 2026-02-02 15:46:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-05 14:48:36 +0000 libc: Clean up *dir() code Fix style nits (mostly whitespace issues) and clean up the manual page. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55024 (cherry picked from commit 387ae6390534b6e9b48931840e7bc76eeb0b258d) --- lib/libc/gen/closedir.c | 1 - lib/libc/gen/directory.3 | 78 +++++++++++++++++++++++++----------------------- lib/libc/gen/dirfd.c | 3 -- lib/libc/gen/fdopendir.c | 1 + lib/libc/gen/opendir.c | 1 - lib/libc/gen/opendir2.c | 1 - lib/libc/gen/rewinddir.c | 1 - lib/libc/gen/scandir.c | 2 -- lib/libc/gen/telldir.c | 4 +-- 9 files changed, 43 insertions(+), 49 deletions(-) diff --git a/lib/libc/gen/closedir.c b/lib/libc/gen/closedir.c index 16f9bff452e4..18444bb984fb 100644 --- a/lib/libc/gen/closedir.c +++ b/lib/libc/gen/closedir.c @@ -70,6 +70,5 @@ fdclosedir(DIR *dirp) int closedir(DIR *dirp) { - return (_close(fdclosedir(dirp))); } diff --git a/lib/libc/gen/directory.3 b/lib/libc/gen/directory.3 index 0314ab90ca24..3a121dcafb8c 100644 --- a/lib/libc/gen/directory.3 +++ b/lib/libc/gen/directory.3 @@ -27,7 +27,7 @@ .\" .\" @(#)directory.3 8.1 (Berkeley) 6/4/93 .\" -.Dd August 1, 2020 +.Dd January 31, 2026 .Dt DIRECTORY 3 .Os .Sh NAME @@ -88,13 +88,6 @@ and returns a pointer to be used to identify the .Em directory stream in subsequent operations. -The pointer -.Dv NULL -is returned if -.Fa filename -cannot be accessed, or if it cannot -.Xr malloc 3 -enough memory to hold the whole thing. .Pp The .Fn fdopendir @@ -136,14 +129,6 @@ or .Fn closedir on the same .Em directory stream . -The function returns -.Dv NULL -upon reaching the end of the directory or on error. -In the event of an error, -.Va errno -may be set to any of the values documented for the -.Xr getdirentries 2 -system call. .Pp The .Fn readdir_r @@ -168,10 +153,6 @@ upon reaching the end of the directory .Fa result is set to .Dv NULL . -The -.Fn readdir_r -function -returns 0 on success or an error number to indicate failure. .Pp The .Fn telldir @@ -181,12 +162,9 @@ returns a token representing the current location associated with the named Values returned by .Fn telldir are good only for the lifetime of the -.Dv DIR -pointer, -.Fa dirp , +.Em directory stream from which they are derived. -If the directory is closed and then -reopened, prior values returned by +If the directory is closed and then reopened, prior values returned by .Fn telldir will no longer be valid. Values returned by @@ -219,28 +197,22 @@ The function closes the named .Em directory stream -and frees the structure associated with the -.Fa dirp -pointer, -returning 0 on success. -On failure, \-1 is returned and the global variable -.Va errno -is set to indicate the error. +and frees the structure associated with +.Fa dirp . .Pp The .Fn fdclosedir function is equivalent to the .Fn closedir -function except that this function returns directory file descriptor instead of -closing it. +function except that it returns the file descriptor associated with +.Fa dirp +instead of closing it. .Pp The .Fn dirfd function -returns the integer file descriptor associated with the named -.Em directory stream , -see -.Xr open 2 . +returns the file descriptor associated with +.Fa dirp . .Sh EXAMPLES Sample code which searches a directory for entry ``name'' is: .Bd -literal -offset indent @@ -257,6 +229,36 @@ while ((dp = readdir(dirp)) != NULL) { (void)closedir(dirp); return (NOT_FOUND); .Ed +.Sh RETURN VALUES +The +.Fn opendir +and +.Fn fdopendir +functions return a pointer to the new +.Em directory stream +on success and +.Dv NULL +on failure. +.Pp +The +.Fn readdir +function returns a pointer to a directory entry on success and +.Dv NULL +on failure. +The +.Fn readdir_r +function returns 0 on success and an error number on failure. +.Pp +The +.Fn telldir +function returns a nonnegative value on success and -1 on failure. +.Pp +The +.Fn closedir +function returns 0 on success and -1 on failure. +The +.Fn fdclosedir +function returns an open file descriptor on success and -1 on failure. .Sh ERRORS The .Fn opendir diff --git a/lib/libc/gen/dirfd.c b/lib/libc/gen/dirfd.c index 85090bd4da6c..ba8f52845b4e 100644 --- a/lib/libc/gen/dirfd.c +++ b/lib/libc/gen/dirfd.c @@ -27,8 +27,6 @@ */ #include "namespace.h" -#include - #include #include "un-namespace.h" @@ -37,6 +35,5 @@ int dirfd(DIR *dirp) { - return (_dirfd(dirp)); } diff --git a/lib/libc/gen/fdopendir.c b/lib/libc/gen/fdopendir.c index 9393cbe28f85..05e1a09fd00c 100644 --- a/lib/libc/gen/fdopendir.c +++ b/lib/libc/gen/fdopendir.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "un-namespace.h" #include "gen-private.h" diff --git a/lib/libc/gen/opendir.c b/lib/libc/gen/opendir.c index af36e0077ef1..c38a5e753e6b 100644 --- a/lib/libc/gen/opendir.c +++ b/lib/libc/gen/opendir.c @@ -44,6 +44,5 @@ __SCCSID("@(#)opendir.c 8.8 (Berkeley) 5/1/95"); DIR * opendir(const char *name) { - return (__opendir2(name, DTF_HIDEW | DTF_NODUP)); } diff --git a/lib/libc/gen/opendir2.c b/lib/libc/gen/opendir2.c index f85cdb9f6c75..7102974e7eca 100644 --- a/lib/libc/gen/opendir2.c +++ b/lib/libc/gen/opendir2.c @@ -68,7 +68,6 @@ __opendir2(const char *name, int flags) static int opendir_compar(const void *p1, const void *p2) { - return (strcmp((*(const struct dirent * const *)p1)->d_name, (*(const struct dirent * const *)p2)->d_name)); } diff --git a/lib/libc/gen/rewinddir.c b/lib/libc/gen/rewinddir.c index bc072d2826ea..aaa7ffbeeed9 100644 --- a/lib/libc/gen/rewinddir.c +++ b/lib/libc/gen/rewinddir.c @@ -45,7 +45,6 @@ __SCCSID("@(#)rewinddir.c 8.1 (Berkeley) 6/8/93"); void rewinddir(DIR *dirp) { - if (__isthreaded) _pthread_mutex_lock(&dirp->dd_lock); dirp->dd_flags &= ~__DTF_SKIPREAD; /* current contents are invalid */ diff --git a/lib/libc/gen/scandir.c b/lib/libc/gen/scandir.c index 3f13248a3f2b..a223ef258569 100644 --- a/lib/libc/gen/scandir.c +++ b/lib/libc/gen/scandir.c @@ -234,14 +234,12 @@ scandirat(int dirfd, const char *dirname, struct dirent ***namelist, int alphasort(const struct dirent **d1, const struct dirent **d2) { - return (strcoll((*d1)->d_name, (*d2)->d_name)); } int versionsort(const struct dirent **d1, const struct dirent **d2) { - return (strverscmp((*d1)->d_name, (*d2)->d_name)); } diff --git a/lib/libc/gen/telldir.c b/lib/libc/gen/telldir.c index ac0e2e50f9b3..97df95ea8416 100644 --- a/lib/libc/gen/telldir.c +++ b/lib/libc/gen/telldir.c @@ -55,7 +55,7 @@ telldir(DIR *dirp) if (__isthreaded) _pthread_mutex_lock(&dirp->dd_lock); - /* + /* * Outline: * 1) If the directory position fits in a packed structure, return that. * 2) Otherwise, see if it's already been recorded in the linked list @@ -97,7 +97,7 @@ telldir(DIR *dirp) LIST_INSERT_HEAD(&dirp->dd_td->td_locq, lp, loc_lqe); } ddloc.i.is_packed = 0; - /* + /* * Technically this assignment could overflow on 32-bit architectures, * but we would get ENOMEM long before that happens. */ From nobody Thu Feb 5 18:12:17 2026 X-Original-To: dev-commits-src-branches@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 4f6QKs65SDz6QylX for ; Thu, 05 Feb 2026 18:12:17 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6QKs4mPpz45XN for ; Thu, 05 Feb 2026 18:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770315137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kyCb21orIyTndQ6XpWNyJc9qvxy0M93Kd3OCIteOfNQ=; b=hPe5ladGNXkhn2kvRFNQd2gkq4Jp/wTA7N4GGhsQ22PohFa8+LxWaLdK7+NTBwnmQljfAL JnYYwOLogn3ZHS5B2kEHqa8V4VC9RWlj2Ib5eHuIE1pzHkIOxr6tN85psmkpFwCBEwVapM 5kGQi4z3kqBGdvDCtT1RjBXaZlydh9a6qMnJJxduNECzqdeG1nz5jcYxF52UQ4cqA82GKB gPLiDMAbwQ/SkZVvNixOjkWikXAh2JIjqOMQrAmPvuydt29xvSQzlzfXgsXVFK8hM62S2I zu12ltVdjmxIMEIakophz124KLIZ2ybVBuRmZYmLqkDfBQF4Kfhq6eaqCrb9xQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770315137; a=rsa-sha256; cv=none; b=x9Uz4wdsZuurYZ1Mqyay7MlLjpXs4Uh0qNREVI1LHEr2N25S+bGH5ofreSoHmtA7+EyiF2 mi8vDl6cHd2h06MHTwopbLQwMrycy34aN6QHz90jNlA6xzvF5CA6vgnzPKPAX68+AHd4YL u4CaA5l3w38HmTVshFrHAuj94TGjmYSABjIa5qFweufe/1NDB3QmimKE7F0jglMiQqtwOf jYH9LOciOGjAZdjsd+niN/fV5ojTzdfD6SCGlsCwnQhe8MY/pZ4qrhRDgYtvimzA25j/Mx 9cp2sbtxKJAq/8LPDROsAHxqi2BIYkGL6+tGPlFllYp8U4tMDM7osc6c/8PCBw== 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=1770315137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kyCb21orIyTndQ6XpWNyJc9qvxy0M93Kd3OCIteOfNQ=; b=ECnKfvJBVL27xUAbxzi3aciygxWXKQwYzmt6Bc5NshW3VEZSTOVJBAq7ZeHiVOyFR9q7va BqFRAJCuTSfartcPuZo/Nwdo+2vTWKyJGnMLxTQ8HpQQQ9faonY6sjBqcIeRIP0616MrWB qHMbRMm5fx+3fgck3q/nRxPG1YPxoRHw+h55ImpQ2vNksvGm+JEaPSagBp9H8E6LNj6EMP Z0fsAUzNsyw0hnkhQysbnneQH/vjBn3UMuhkJL52SCfs75BcixCN6qccvN0l4gXL7ml8jw JbncXy89P+IuiV26B/3Xcyez8pOUcA8Hb8kqcZHDCK5NgK0dfWlnu/sb4+qBxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6QKs4K2DzhVM for ; Thu, 05 Feb 2026 18:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3278e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 18:12:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Gleb Smirnoff From: Zhenlei Huang Subject: git: 7bdf066ad212 - stable/14 - ifconfig: fix logical error in interface matching for '-l ether' List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7bdf066ad2123709cd190dc7610c21c8bb4df5e4 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 18:12:17 +0000 Message-Id: <6984dd81.3278e.d778052@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=7bdf066ad2123709cd190dc7610c21c8bb4df5e4 commit 7bdf066ad2123709cd190dc7610c21c8bb4df5e4 Author: Gleb Smirnoff AuthorDate: 2023-08-25 17:30:25 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-05 18:10:35 +0000 ifconfig: fix logical error in interface matching for '-l ether' This affects only ifconfig(8) compiled WITHOUT_NETLINK_SUPPORT, which is not the default. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D41584 Fixes: d1cd0344f7b7d81beda04c3cb8cfee99351c3eb8 (cherry picked from commit 24a81a968d21b3eef1a0a2d786859b274546bd34) --- sbin/ifconfig/ifconfig.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index ccc783c64ff9..f4ac045bccea 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -771,7 +771,7 @@ match_afp(const struct afswtch *afp, int sa_family, const struct sockaddr_dl *sd return (true); /* special case for "ether" address family */ if (!strcmp(afp->af_name, "ether")) { - if (sdl == NULL && !match_ether(sdl)) + if (sdl == NULL || !match_ether(sdl)) return (false); return (true); } From nobody Thu Feb 5 18:12:18 2026 X-Original-To: dev-commits-src-branches@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 4f6QKv0cXkz6Qyhj for ; Thu, 05 Feb 2026 18:12: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6QKt5rXLz45T2 for ; Thu, 05 Feb 2026 18:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770315138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=45T44o3JVNHKGq6K/Kiah0IBt8G+W3vSiGdbPY/cL7k=; b=VB0QHD3VJNwCJBKIRwM6/8mGqBvdpFpRzkBZAsXnRAkfy7VMYdzp2Iz70hdsRh2JLm4oB5 4k14aasvUihGtivk73hMhcASS3qI5IZhfjmDZ4qSzeEjzYoWNKeQ2widSeobvvwBs54odY NYR/V8uFgRAqRVXxx5/Yei2SMnCD4Moflg0oHHPOhEDGsWXIFZHyNos/qlAUmBP8RlR0Tw BZHf/wu9iW+oBPASrmwE4pMxfYamWJuAWFNxeCZziGExdrw8rA0Dg4c/CtHJzTxPfpUULy 1vikT6ubn2ehlLas7DaT3ycEyNHwZf60F7iGsL5NtaEB3wd2wsw5tVkTtxpkNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770315138; a=rsa-sha256; cv=none; b=EzuMX5xdYX1+9yi0Pt3ToOcRggn36Qnpu7HObNzn41jfma0r3wb+ydTFE6ujzNennVz+XV 6AxEuX2JVKrL2FHw/iPeqc4EkVUQKYj7+DWjwDKxf54IjLQ6xCe882Wywt+OXz9ybLK3Du j+tqFrCtn3s71BxQko7vT2m2P9JaC1RZrNDZdOvqer6DUClTO1s6Z7tdUee+QNZNdnR29i 5I7yiV0zEQ8PKM0Y2w+i+fhSeNQlYlMo1dxzzqjMA8KFjMPU15FlQiI6+F3+MMju40OnnJ FUp0gJA5nIFhGC1IyocmkwPwrfKfox9dff4lhWAFWutfsAFL7aopSP4E6p2aDQ== 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=1770315138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=45T44o3JVNHKGq6K/Kiah0IBt8G+W3vSiGdbPY/cL7k=; b=sTh82eJfiRvCPULAhj6OlsNUMYJc5oXEwbLMpMBQkuzEcYIS5fmuvPd7pUbK/z9XLSUm6+ ZnbzOI+0t1tXNpvLpF/C5J3FI/vQ0B6OKbZyJEaayPvrozXfjxUqNRYrwPEQ5eajqFu3st idOeybvFjbL0faFSuSGrQfwhB6+/8U7WFhdNJGLqfSIVnoz3cVQL/AsCjI8cLH6f/W9ZLt Yc8XCCBDETvAO92W43bcGCyVS1UvSZ0opNWuYozOZIzxsycdKh4ukMpCYTwBwQ5VFCvMmp 9Z2HMVNx1EGcsgA9gpydzKNm6EXw/2KmUYaz3I+rR2jM6XHR8Y7heCA2m83utQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6QKt56cPzh4v for ; Thu, 05 Feb 2026 18:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31d4f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 18:12:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Gleb Smirnoff From: Zhenlei Huang Subject: git: 151dcad51394 - stable/14 - ifconfig: fix 'ifconfig -l ether' List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 151dcad51394e841f1cf3e798e5cdb4dd8131949 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 18:12:18 +0000 Message-Id: <6984dd82.31d4f.78d19e9b@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=151dcad51394e841f1cf3e798e5cdb4dd8131949 commit 151dcad51394e841f1cf3e798e5cdb4dd8131949 Author: Gleb Smirnoff AuthorDate: 2023-08-25 17:31:26 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-05 18:10:35 +0000 ifconfig: fix 'ifconfig -l ether' When matching interfaces for being Ethernet, use same trick that the link module does - pass if_type through convert_iftype(). That restores historicaly behaviour of listing lagg(4) ports. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D41585 (cherry picked from commit 31016aa0be6dbf7556a91dda14cfe1ff0dcf933b) --- sbin/ifconfig/af_link.c | 11 ----------- sbin/ifconfig/ifconfig.h | 2 ++ sbin/ifconfig/ifconfig_netlink.c | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/sbin/ifconfig/af_link.c b/sbin/ifconfig/af_link.c index be58a22c0e66..55b75d847c16 100644 --- a/sbin/ifconfig/af_link.c +++ b/sbin/ifconfig/af_link.c @@ -160,17 +160,6 @@ pcp: } #else -static uint8_t -convert_iftype(uint8_t iftype) -{ - switch (iftype) { - case IFT_IEEE8023ADLAG: - return (IFT_ETHER); - case IFT_INFINIBANDLAG: - return (IFT_INFINIBAND); - } - return (iftype); -} static void link_status_nl(if_ctx *ctx, if_link_t *link, if_addr_t *ifa __unused) diff --git a/sbin/ifconfig/ifconfig.h b/sbin/ifconfig/ifconfig.h index 1ea6c29e4ddb..672020443b8c 100644 --- a/sbin/ifconfig/ifconfig.h +++ b/sbin/ifconfig/ifconfig.h @@ -38,6 +38,7 @@ #include #include +#include #define __constructor __attribute__((constructor)) @@ -291,6 +292,7 @@ struct afswtch *af_getbyfamily(int af); void af_other_status(if_ctx *ctx); void print_ifstatus(if_ctx *ctx); void print_metric(if_ctx *ctx); +ifType convert_iftype(ifType iftype); /* Netlink-related functions */ void list_interfaces_nl(struct ifconfig_args *args); diff --git a/sbin/ifconfig/ifconfig_netlink.c b/sbin/ifconfig/ifconfig_netlink.c index 0ec63e3a0b99..aadd7d1096c3 100644 --- a/sbin/ifconfig/ifconfig_netlink.c +++ b/sbin/ifconfig/ifconfig_netlink.c @@ -203,6 +203,19 @@ if_nametoindex_nl(struct snl_state *ss, const char *ifname) return (link.ifi_index); } +ifType +convert_iftype(ifType iftype) +{ + switch (iftype) { + case IFT_IEEE8023ADLAG: + return (IFT_ETHER); + case IFT_INFINIBANDLAG: + return (IFT_INFINIBAND); + default: + return (iftype); + } +} + static void prepare_ifaddrs(struct snl_state *ss, struct ifmap *ifmap) { @@ -261,7 +274,7 @@ match_iface(struct ifconfig_args *args, struct iface *iface) struct sockaddr_dl sdl = { .sdl_len = sizeof(struct sockaddr_dl), .sdl_family = AF_LINK, - .sdl_type = link->ifi_type, + .sdl_type = convert_iftype(link->ifi_type), .sdl_alen = NLA_DATA_LEN(link->ifla_address), }; return (match_ether(&sdl)); From nobody Thu Feb 5 18:12:19 2026 X-Original-To: dev-commits-src-branches@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 4f6QKw1pW2z6Qyyl for ; Thu, 05 Feb 2026 18:12:20 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6QKv6CSdz45nD for ; Thu, 05 Feb 2026 18:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770315139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I0ItzLywtB2Qk9IRdoT/ab/38EbCSLM7HElipbm+N9Q=; b=qU5gxXWRI6A01S4OdIR6rg/r79A5wzB+AM/b3uP+nWalRasXOmrIg4ObWF6fyJ4VIDhYME yuBsEnwrEP4QQf2Be2xlsqhkbxb2v0hmw1R3h7Ri33H9ip2XESeyJ0a9u/n/QVfJ82PBfq 4M/BojlHq6HIj/jxJd1y1vWnqLjcRV/krNdI1oh5RvUpgKK7eYdUPBkx2hSKvH/3d7Wtc1 +PKvRsLTaN7AN3jK7czULCmP3C9Wyx4VSXY9TT55jWMa+lnO0arzrl0DGMYQuc4DkH1CGO nTULF5XuZ5PHmcFRvV/pP/kppdiWJEqtqZLLRRAIbkEQl/KD48/Pv+bIKxpYZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770315139; a=rsa-sha256; cv=none; b=Wpjs3CSKz9yREQvflIgMVEpKYe7T5cXAe75k2qKo92Blq7Ibq0BFxVEUn2wjh7UWNdRBdh VFKusjjkjt2JXYhanQYjHiehAIj4/rH2baEN8HUdrPPXYwXbQcg9GWoM1S6ZftvL4qXw7j Kk258YwST+gBdSy2Vt6rjueHVT9nV30MQGSNlyi5M/twPDtVKvrp+Di3oedKnetL11sXjS /sI08CX8CLRi9Qfjn4z4xRqLxIDDHBS+wIinlOmtv340eeT4i2htmN3JmtWQ1txPTaaQz8 tstg/iHfXBmoFh698nFQS7Es2q0TIqTi1NhhiHZwqRWpj5wCw7pyKfbX7aJ3ow== 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=1770315139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I0ItzLywtB2Qk9IRdoT/ab/38EbCSLM7HElipbm+N9Q=; b=KBzaeEkB9e3uOutes0Iu9nWC2yJ2qztyd0NKp2qUO2mJVBJYMX5rEbDmXfLnGezhDAAobp 1xcLp/8+Akw5fNp9LyguB7RHNxFecZSkl+NV7HVdCyDBhPbFUwdLZ2pgUzghP92RXNxuBi leoE0Nmlblqa5QquAN0h9Ah9cn4ErsmjYaPXrUjy+0AI1Gu6S4VaemPJ7xzPao9TapH64t 2w63xYQoVNGO+jtCzKL5dRqpi8/9KVyngO4bnmzm/4jLONvD4ofZ/R30Wpzd8hIsBFhWFq gGWEZFOoMWz5oJ5zILMtYoKopWHlH+ibbz6slP0KZpNQVq8kHJfCR4ltg/H6HA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6QKv5jDpzgyr for ; Thu, 05 Feb 2026 18:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31735 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 18:12:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Gleb Smirnoff From: Zhenlei Huang Subject: git: 52ebb8a7d4f8 - stable/14 - ifconfig: fix 'ifconfig -l link' List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 52ebb8a7d4f8c77b9dacdeef1dff3caec1394bea Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 18:12:19 +0000 Message-Id: <6984dd83.31735.4fcf7909@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=52ebb8a7d4f8c77b9dacdeef1dff3caec1394bea commit 52ebb8a7d4f8c77b9dacdeef1dff3caec1394bea Author: Gleb Smirnoff AuthorDate: 2023-08-25 17:31:55 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-05 18:10:36 +0000 ifconfig: fix 'ifconfig -l link' The rtnetlink(4) RTM_GETADDR does not list link level addresses, thus the correct match for interfaces that have a link level address should be based on what was returned by RTM_GETLINK. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D41586 (cherry picked from commit 6f3947be2aff9350514b5a414104d0afaeb53cdf) --- sbin/ifconfig/ifconfig_netlink.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sbin/ifconfig/ifconfig_netlink.c b/sbin/ifconfig/ifconfig_netlink.c index aadd7d1096c3..7145c037e54e 100644 --- a/sbin/ifconfig/ifconfig_netlink.c +++ b/sbin/ifconfig/ifconfig_netlink.c @@ -278,7 +278,13 @@ match_iface(struct ifconfig_args *args, struct iface *iface) .sdl_alen = NLA_DATA_LEN(link->ifla_address), }; return (match_ether(&sdl)); - } + } else if (args->afp->af_af == AF_LINK) + /* + * The rtnetlink(4) RTM_GETADDR does not list link level + * addresses, so latter cycle won't match anything. Short + * circuit on RTM_GETLINK has provided us an address. + */ + return (link->ifla_address != NULL); for (struct ifa *ifa = iface->ifa; ifa != NULL; ifa = ifa->next) { if (args->afp->af_af == ifa->addr.ifa_family) From nobody Thu Feb 5 18:12:20 2026 X-Original-To: dev-commits-src-branches@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 4f6QKx3nC4z6QyqL for ; Thu, 05 Feb 2026 18:12:21 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6QKw6p9gz45nG for ; Thu, 05 Feb 2026 18:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770315141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jL7k6aHYuFDsDTXQPIKmxUxmMZG+fnbDcUuUvgs16Iw=; b=NKiItw329E82P1x3nnswMfugBSIiusKjTMjZpA1tZbRPx90BWhWNb0PcvgsvhMt3VV4u5E yQFdGHDdFH+8VaNbG6xkzP3bPHkEbSQBpilRKDdKW+kUf4TqYbCt2rloymB51PLOk5J0F7 yEm9xpz+4sEUbPaWFwxW97OjNr0WOwLf/nMmPI5BtCS5rlgERh4xqIep84TCStFQKRFyo8 r+HDnSo4DkkEVBWJRhJD+THV/MpxHKb9ZvQyXLpCrPgm/S7kNGW29ZgXG8ZVJzsVhaEM5i CJG2+4I9lfnDluI1IIgAqpQ1T3jx+ULrrsPzdO2Od4H5Dbnf1YG+T6EBMIE8LQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770315141; a=rsa-sha256; cv=none; b=Ll4T/inQf79z6KaMOar3AdQfgCBDU16LdE4cBplBijslZ9a23tqbdswAPVW2AHv0MYM7Sw iB917UyQGwWVgmdbx5W+rPIDIqjyEdfciRaNjSswFfjmct8w+nFzc9MfawQAxQCriVr8yR 1rHqlwacRlwBUELOLGe/G82AlE6GVKwyrbJj4mdkIaHxFxnAvphJHa638QsG5IuNpjE/Iw 8yw5w4cV55h1+TKP/t24Ecv7yW8zwxgSP2G/UhMzSSeBHVlSu980pNpk4axDWz6n4vNpxY +STRwbbaD3s2XSt+YRa4vlXmIZX8OkS/tQlZ37NfHhCiJxIL5Wo5bqGTISnDaQ== 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=1770315141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jL7k6aHYuFDsDTXQPIKmxUxmMZG+fnbDcUuUvgs16Iw=; b=K2FMtDoUSF6k6tvsPLKMvz91K8kVJ8KBaE1FPXgCB19Hz58Su4Q6i6XmXHfAWyt9eWP7MM uwXtylcGKQdITpzBRCIsBViRBFEVRlYh9oItRXj98/TVBS1fO+6U8jEM4cOqywDxNJfOUq 6uaSnr8JEOI6LTwQbI+N60SdH4rnG87iv29WV25R9X5FayXnKWVB2ACyRHJUnn8zZyu74v id9h3eGeL7Hs4TIJRPM6MfF5N559bvIbxuT98EyUL5BfitYQjs+OV9SkXdpOzwPWgWddOo qs0XYNLMCJY0FN4htjSrM5HngUSL1PrA2JueUz+rBWNVuK6K5OJRVP8sL1if4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6QKw6HSQzhG1 for ; Thu, 05 Feb 2026 18:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33401 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 18:12:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kristof Provost From: Zhenlei Huang Subject: git: 0e82cd099e2a - stable/14 - ifconfig: fix removing IPv6 addresses List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0e82cd099e2ab5ad8aa67f98fa4b8b430c23947c Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 18:12:20 +0000 Message-Id: <6984dd84.33401.2c0d119c@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=0e82cd099e2ab5ad8aa67f98fa4b8b430c23947c commit 0e82cd099e2ab5ad8aa67f98fa4b8b430c23947c Author: Kristof Provost AuthorDate: 2025-07-29 09:50:11 +0000 Commit: Zhenlei Huang CommitDate: 2026-02-05 18:10:36 +0000 ifconfig: fix removing IPv6 addresses Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit da50f49977cc4e6aae55cb2379313599249a8dd2) --- sbin/ifconfig/af_inet6.c | 2 +- sbin/ifconfig/tests/inet6.sh | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c index 511b25580f07..a5c406db8a0c 100644 --- a/sbin/ifconfig/af_inet6.c +++ b/sbin/ifconfig/af_inet6.c @@ -761,7 +761,7 @@ static struct afswtch af_inet6 = { #else .af_difaddr = NL_RTM_DELADDR, .af_aifaddr = NL_RTM_NEWADDR, - .af_ridreq = &in6_add, + .af_ridreq = &in6_del, .af_addreq = &in6_add, .af_exec = in6_exec_nl, #endif diff --git a/sbin/ifconfig/tests/inet6.sh b/sbin/ifconfig/tests/inet6.sh index edfd88d93af7..22399915a64d 100644 --- a/sbin/ifconfig/tests/inet6.sh +++ b/sbin/ifconfig/tests/inet6.sh @@ -76,8 +76,38 @@ broadcast_cleanup() vnet_cleanup } +atf_test_case "delete6" "cleanup" +delete6_head() +{ + atf_set descr 'Test removing IPv6 addresses' + atf_set require.user root +} + +delete6_body() +{ + vnet_init + + ep=$(vnet_mkepair) + + atf_check -s exit:0 \ + ifconfig ${ep}a inet6 fe80::42/64 + atf_check -s exit:0 -o match:"fe80::42%${ep}" \ + ifconfig ${ep}a inet6 + + atf_check -s exit:0 \ + ifconfig ${ep}a inet6 -alias fe80::42 + atf_check -s exit:0 -o not-match:"fe80::42%${ep}" \ + ifconfig ${ep}a inet6 +} + +delete6_cleanup() +{ + vnet_cleanup +} + atf_init_test_cases() { atf_add_test_case netmask atf_add_test_case broadcast + atf_add_test_case delete6 } From nobody Thu Feb 5 18:20:50 2026 X-Original-To: dev-commits-src-branches@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 4f6QWl020Pz6R0L5 for ; Thu, 05 Feb 2026 18:20:51 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6QWk6YgJz47by for ; Thu, 05 Feb 2026 18:20:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770315650; 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=EGK3VZ89CkaNbaRPthFGF9Z++qW5vwOmbeHGuP9AvKE=; b=j40PG7nn3VVY080uv05s375iAMzYTxFujlc9q1HAWnzueVYqfSgQFiYHd4r8VcwN3FdNW6 +iTw4f2Xb1Fz/cgVdx8ujd/46wj1J03GTbibWu9ZuwFkPB+AK3oSjEvc0ejtfYrePao/LW AtMCYSz6lmaN6wUtNZQINl3RCyHOAJQes++yxGcidZkk2nWccYmxI5fhz5XQsoC2Wfiqam UcNsyN8cJgnNz9cCCQIXnfgNc8Fm4iApmjGfVi+JU7EsDtDSePEOYZ9JRl50jwTi42Z2zp 18kR9nkyeH712IuiyF0J5MfVBzoCk0nWjtT+nYPlxjCb1bgXiB5G7tmGuPVOXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770315650; a=rsa-sha256; cv=none; b=IODDbGLVXK029iNvDp1jZVjv9KqN37kL/GdFNkkKAtR+/qqIE6MPnE5tiUrOTEnixidJqf FE7RSd/6bInaS9yFIWz+afRkpJ94EJEWcPyRq55h1bXKW3SvHS1rvzUWbsNXc/wbd/EgIY bhPNW0aYxX4D+T8oc4DD8TbAmg9YLmsT4GE1kv0p7ohe5jmoBdjlJSVRFwM5XaBCFgwMjF r9hJiigoeHrgzQ7R4zgUndIQgxYU2Vd4ljdvRsVSyFxUM4dAUwjSpHZy84U/85TAfCMqVj 1/9hlES/Mknk56CNVIwCRE8f7THn08/tSr+q+CfPQ3bGo0TLu8hdEeoraYI1IQ== 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=1770315650; 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=EGK3VZ89CkaNbaRPthFGF9Z++qW5vwOmbeHGuP9AvKE=; b=Kr+4iIIQicTvgDnN6d6RX+8RVi283Gd54wCS/YvGbUZLCVbt2h4ptzx1UGFmtn+guxlYHh PKUv2NOV7+AjrOAJQJdsG8g4mXXIvY0Tt0JO7QoTxRpAWKpxkZPx5TBN01gResd84wsOux /S/8aEF6DwTt7UdzPQ44V+DRfxIcWG2FWP40vOaQJMjQgH5aujjbKkaO2yW1Pz7erP6NHj 6YvXJwEHTfPi+hz1G3rPwLY6VSKVpzUcI80FWJT+o/YXpyTRFtfv+//U2JhD4EPuHroFUR nvVhke5jrBLN53GjMI2MGNUAI27ofH2dAiucWHuPUluTLv/V1qG0dOTkYxSRhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6QWk5t4dzhVY for ; Thu, 05 Feb 2026 18:20:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33647 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 18:20:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: b0fbed20ceb9 - stable/15 - release: Ship firmware from kmods repo on DVD List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b0fbed20ceb9b899e7e20bf785e9d303608bc7a0 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 18:20:50 +0000 Message-Id: <6984df82.33647.6600aa5@gitrepo.freebsd.org> The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=b0fbed20ceb9b899e7e20bf785e9d303608bc7a0 commit b0fbed20ceb9b899e7e20bf785e9d303608bc7a0 Author: Colin Percival AuthorDate: 2025-09-16 18:43:36 +0000 Commit: Colin Percival CommitDate: 2026-02-05 18:20:41 +0000 release: Ship firmware from kmods repo on DVD The packages for X.Y-RELEASE are a snapshot of the quarterly branch for stable/X, i.e. typically built on X.(Y-1)-RELEASE. (The case of Y=0 is an exception for obvious reasons.) This works for most ports but not for kernel modules, which may need to be built on the release in question; this is why we have a separate "kmods" repository. Make sure that we put the packages from the kmods repository onto the mini-pkg-repo on the DVD rather than shipping unusable firmware. Reviewed by: bz MFC after: 1 week Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D52581 (cherry picked from commit bda8028146694ee490543b35e3349e060936fde4) --- release/pkg_repos/release-dvd.conf | 7 +++++++ release/scripts/pkg-stage.sh | 25 ++++++++++++++++++------- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/release/pkg_repos/release-dvd.conf b/release/pkg_repos/release-dvd.conf index c2e64c43a56f..d2db295c53c8 100644 --- a/release/pkg_repos/release-dvd.conf +++ b/release/pkg_repos/release-dvd.conf @@ -5,3 +5,10 @@ release: { fingerprints: "/usr/share/keys/pkg", enabled: yes } +release-kmods: { + url: "pkg+http://pkg.FreeBSD.org/${ABI}/kmods_latest", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index b64fe5e5f1e5..5d4d267b150f 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -13,7 +13,7 @@ export REPO_AUTOUPDATE="NO" export ROOTDIR="$PWD/dvd" export PORTSDIR="${PORTSDIR:-/usr/ports}" -_DVD_PACKAGES=" +_DVD_PACKAGES_MAIN=" comms/usbmuxd devel/git@lite editors/emacs@nox @@ -21,7 +21,6 @@ editors/vim misc/freebsd-doc-all net/mpd5 net/rsync -net/wifi-firmware-kmod@release ports-mgmt/pkg shells/bash shells/zsh @@ -37,6 +36,10 @@ x11/xorg x11-wm/sway " +_DVD_PACKAGES_KMODS=" +net/wifi-firmware-kmod@release +" + # If NOPORTS is set for the release, do not attempt to build pkg(8). if [ ! -f ${PORTSDIR}/Makefile ]; then echo "*** ${PORTSDIR} is missing! ***" @@ -78,18 +81,25 @@ if [ -n "${PKG_ALTABI}" ]; then ln -s ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} fi -# Ensure the ports listed in _DVD_PACKAGES exist to sanitize the +# Ensure the ports listed in _DVD_PACKAGES_* exist to sanitize the # final list. -for _P in ${_DVD_PACKAGES}; do +for _P in ${_DVD_PACKAGES_MAIN}; do + if [ -d "${PORTSDIR}/${_P%%@*}" ]; then + DVD_PACKAGES_MAIN="${DVD_PACKAGES_MAIN} ${_P}" + else + echo "*** Skipping nonexistent port: ${_P%%@*}" + fi +done +for _P in ${_DVD_PACKAGES_KMODS}; do if [ -d "${PORTSDIR}/${_P%%@*}" ]; then - DVD_PACKAGES="${DVD_PACKAGES} ${_P}" + DVD_PACKAGES_KMODS="${DVD_PACKAGES_KMODS} ${_P}" else echo "*** Skipping nonexistent port: ${_P%%@*}" fi done # Make sure the package list is not empty. -if [ -z "${DVD_PACKAGES}" ]; then +if [ -z "${DVD_PACKAGES_MAIN}${DVD_PACKAGES_KMODS}" ]; then echo "*** The package list is empty." echo "*** Something is very wrong." # Exit '0' so the rest of the build process continues @@ -100,7 +110,8 @@ fi # Print pkg(8) information to make debugging easier. ${PKGCMD} -vv ${PKGCMD} update -f -${PKGCMD} fetch -o ${PKG_REPODIR} -d ${DVD_PACKAGES} +${PKGCMD} fetch -o ${PKG_REPODIR} -r release -d ${DVD_PACKAGES_MAIN} +${PKGCMD} fetch -o ${PKG_REPODIR} -r release-kmods -d ${DVD_PACKAGES_KMODS} # Create the 'Latest/pkg.pkg' symlink so 'pkg bootstrap' works # using the on-disc packages. From nobody Thu Feb 5 18:21:27 2026 X-Original-To: dev-commits-src-branches@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 4f6QXS0qpKz6R0Rd for ; Thu, 05 Feb 2026 18:21:28 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6QXR6qbSz47qY for ; Thu, 05 Feb 2026 18:21:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770315688; 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=m6VdpsMug0pgWQcWKySyw4fV/l8COnvqHvis3RjnvWs=; b=CCe27XA9XwsMTHujoXI0AKWg68IF0cAskvYBWS4hD1AGrIL0ljthGJDfjKNMiym3zAuQh8 Ejw+JZKyNBdiRf1fifnKEvPW5IyMIyXR0a4SOvE2HX0zjoMMV+TKTSr1iDeUSUMrA/sCVa LzDsiWVloGmmcbUAHvpFGdsNkWVDHX8/wv6XSDkEv/jIR9NM5DwUu1fwDeNleZjQvJI4fh wJQxkbsTZH52REpMu8SORVvnwgzMtKDuNWIwraNfY5VaH3PcxiCv0uSsY5KIwq2X3XWy77 ZAAV3Uub/37GZ4uZuBnfHuMyAvCK5jn8nuib7+0jLfbuLm1hGdjxd/lTfKU1rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770315688; a=rsa-sha256; cv=none; b=BmeHvQOTn70UlgFvlvVb+R29Ny3bjOorFnKCyCjE7tjZLDv5/UrpEy+IkVn0mrhV9Swr2H iKv73378s9wrHLCGOX7Csuaya/WU78tDjkKb4XqD2A4XUP42jCe4boFFtl+bQz43B0zIcT vKT24FcCYeK3Buz8LPNF2rNqkFeNObE1A/euVEn0E1mQF9/HCvfweuDkXJzLRS6vQXBL5f aStipVoTp+AwastQQw50pRQ8wBBtO1iM0jugmZjTHv9QmdxBnKNixkKVLopV1j9PqSiYRT khTNh6PKp2Jrusa4opjW3Os/j84MF5lA1+slsF048hAZMZmx93a+yKLrQ7pccQ== 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=1770315688; 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=m6VdpsMug0pgWQcWKySyw4fV/l8COnvqHvis3RjnvWs=; b=ZAv7DVQXlKGRPObV/F6H52xG8KDNXy+H5Mkjkwfo18DxXZuV7ImUKGR2JTZaB/YjYmtsNq Y9Xu9Yj1mikeZH0T2xgvQjqpsViEGbDmesfkYjehNqPW+wzZPP2sHNG6ZEPkWZxyM/hbDN I2GI0jlQ3kln66em+s/gpdANkQ7S8rpFmPwY2hDqABuN5GV0oO1NV9cnZ4BD3xY9eUywIU mChiCWw7mUYLVP8tPW/uBHiqi2poHuFNU6z/l8IbcsRBhS/hDBKSrM1YRsou6ieAaXumbg gNpzLN9z7DujCciAdNFOYunYQEYYAJTbJGwoGSc6hkiFGDV8u8i0KvlMTc/8zQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6QXR6LybzhY3 for ; Thu, 05 Feb 2026 18:21:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32deb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 18:21:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 8c1de3109776 - stable/14 - release: Ship firmware from kmods repo on DVD List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8c1de31097763ce1d918a3f82c61fd8d30edbe75 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 18:21:27 +0000 Message-Id: <6984dfa7.32deb.7fdc90a7@gitrepo.freebsd.org> The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=8c1de31097763ce1d918a3f82c61fd8d30edbe75 commit 8c1de31097763ce1d918a3f82c61fd8d30edbe75 Author: Colin Percival AuthorDate: 2025-09-16 18:43:36 +0000 Commit: Colin Percival CommitDate: 2026-02-05 18:21:17 +0000 release: Ship firmware from kmods repo on DVD The packages for X.Y-RELEASE are a snapshot of the quarterly branch for stable/X, i.e. typically built on X.(Y-1)-RELEASE. (The case of Y=0 is an exception for obvious reasons.) This works for most ports but not for kernel modules, which may need to be built on the release in question; this is why we have a separate "kmods" repository. Make sure that we put the packages from the kmods repository onto the mini-pkg-repo on the DVD rather than shipping unusable firmware. Reviewed by: bz MFC after: 1 week Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D52581 (cherry picked from commit bda8028146694ee490543b35e3349e060936fde4) --- release/pkg_repos/release-dvd.conf | 7 +++++++ release/scripts/pkg-stage.sh | 25 ++++++++++++++++++------- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/release/pkg_repos/release-dvd.conf b/release/pkg_repos/release-dvd.conf index c2e64c43a56f..d2db295c53c8 100644 --- a/release/pkg_repos/release-dvd.conf +++ b/release/pkg_repos/release-dvd.conf @@ -5,3 +5,10 @@ release: { fingerprints: "/usr/share/keys/pkg", enabled: yes } +release-kmods: { + url: "pkg+http://pkg.FreeBSD.org/${ABI}/kmods_latest", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index 2c70b59be241..d490e83ba9ec 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -12,13 +12,12 @@ export ROOTDIR="$PWD/dvd" export PKGCMD="/usr/sbin/pkg -d --rootdir ${ROOTDIR}" export PORTSDIR="${PORTSDIR:-/usr/ports}" -_DVD_PACKAGES=" +_DVD_PACKAGES_MAIN=" comms/usbmuxd devel/git@lite misc/freebsd-doc-all net/mpd5 net/rsync -net/wifi-firmware-kmod@release ports-mgmt/pkg shells/bash shells/zsh @@ -35,6 +34,10 @@ x11/xorg x11-wm/sway " +_DVD_PACKAGES_KMODS=" +net/wifi-firmware-kmod@release +" + # If NOPORTS is set for the release, do not attempt to build pkg(8). if [ ! -f ${PORTSDIR}/Makefile ]; then echo "*** ${PORTSDIR} is missing! ***" @@ -57,18 +60,25 @@ if [ ! -z "${PKG_ALTABI}" ]; then ln -s ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} fi -# Ensure the ports listed in _DVD_PACKAGES exist to sanitize the +# Ensure the ports listed in _DVD_PACKAGES_* exist to sanitize the # final list. -for _P in ${_DVD_PACKAGES}; do +for _P in ${_DVD_PACKAGES_MAIN}; do + if [ -d "${PORTSDIR}/${_P%%@*}" ]; then + DVD_PACKAGES_MAIN="${DVD_PACKAGES_MAIN} ${_P}" + else + echo "*** Skipping nonexistent port: ${_P%%@*}" + fi +done +for _P in ${_DVD_PACKAGES_KMODS}; do if [ -d "${PORTSDIR}/${_P%%@*}" ]; then - DVD_PACKAGES="${DVD_PACKAGES} ${_P}" + DVD_PACKAGES_KMODS="${DVD_PACKAGES_KMODS} ${_P}" else echo "*** Skipping nonexistent port: ${_P%%@*}" fi done # Make sure the package list is not empty. -if [ -z "${DVD_PACKAGES}" ]; then +if [ -z "${DVD_PACKAGES_MAIN}${DVD_PACKAGES_KMODS}" ]; then echo "*** The package list is empty." echo "*** Something is very wrong." # Exit '0' so the rest of the build process continues @@ -79,7 +89,8 @@ fi # Print pkg(8) information to make debugging easier. ${PKGCMD} -vv ${PKGCMD} update -f -${PKGCMD} fetch -o ${PKG_REPODIR} -d ${DVD_PACKAGES} +${PKGCMD} fetch -o ${PKG_REPODIR} -r release -d ${DVD_PACKAGES_MAIN} +${PKGCMD} fetch -o ${PKG_REPODIR} -r release-kmods -d ${DVD_PACKAGES_KMODS} # Create the 'Latest/pkg.txz' symlink so 'pkg bootstrap' works # using the on-disc packages. From nobody Thu Feb 5 18:36:59 2026 X-Original-To: dev-commits-src-branches@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 4f6QtN0v2rz6R24T for ; Thu, 05 Feb 2026 18:37:00 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6QtM5byvz4CRq for ; Thu, 05 Feb 2026 18:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770316619; 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=vh1u7IWsqGfLg4ii5CEAETUwPgZnITjOKnbGBZeHShY=; b=Tb6zxKXf0Dl/CqaOKdBhQFeyAB+MKNV8gQhnqx+kx4+mxq7UusW0pItchdOu7d0aq8LB9+ 0nJBwmeww4CTDyFw+aDeM9lJaaCz0t6Wxo7rLfnOfXni0k0nFGyqU1cjg2DRLdbMmu3f/T BlTcCMaZSJ7NGKhzTbS165MG4ujBZeexgdBEyjDbXVG7JT83WM2pv8YlicuP+xJGAtmODC LFZPZ7aogWj5d6iDCevLvfNiye0fkmks4rLJTLeP/g9MB7RQ2eH7Pv1w92mHayPs98yW/v dBA7VnevqaYDlfXTg99Du2+li9DZv4lXKrFg5TDhT2tUVvh6FdtcepEE/IJrcA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770316619; a=rsa-sha256; cv=none; b=h+2hbmqxIHZf7qtffWzmawZgL7Y4PJHIyE6y4jgCsACmXWKG+VoZP0zaoVpWyDYR2zt84v y+vPjjqTVtsyK7tRKoB+pNBoJ0FjZXoxwE7dpEx5vB9BwuUn3qdGxGRW/5NRXoUdK3M4ck pmhjkgl8Ck/J1xGZpsKjBRlB9tm+1MpDPPhJKqouueCwPlHiMqKSEIZ1Zk3hkF14fyuwos S0OsU4fCujrtxTswisi/xOMDC+897IfR3dpth1mcgchybh9kyMZVwaK9jLhhUfPc8qiHUN c+oVC9PGDuoytszU6qXwEFI8qQdRCCewN6tX3V6HDvaL8SUA3hSSdXU5mrFe0A== 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=1770316619; 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=vh1u7IWsqGfLg4ii5CEAETUwPgZnITjOKnbGBZeHShY=; b=stOqbzzTYkwh9zY0KCHVzbDtNA7NutINOMg2yl6DgyuZRNmpgO9n0EnCyCUvsg74rUTL+0 TAqJv5ZK++UldOFnJ7IIiBbkMG6mLIfKi9wjbovj53RHbY9nt/xARCZucUscHtdun4PnUC zA2HMkoYQzVZw3EcNJUVkvtgi3ynRLxa6oiu4BxzLxLHhZaQJYlQl0IqUCMgHcFaIVmISi 6FfdMMBIS1cSLPj6yga/8DAX5KYirESHQIW0iJtXAaqa4r8QzMxSTLWDAzfO0UvyUErfZl 5hyfAuEGhhRM9X6tIwwKPvBTEyQ2gNUAR1H/jXVpGYmBMl2dP/xqvr9k5HEjNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6QtM4gcWzhx9 for ; Thu, 05 Feb 2026 18:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 324e5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 18:36:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: e676efa58239 - stable/14 - in6: Add a helper function to compute expiry times List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e676efa58239aee11cac81f041afed2f9e9ee928 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 18:36:59 +0000 Message-Id: <6984e34b.324e5.1c307454@gitrepo.freebsd.org> The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e676efa58239aee11cac81f041afed2f9e9ee928 commit e676efa58239aee11cac81f041afed2f9e9ee928 Author: Mark Johnston AuthorDate: 2026-01-12 13:49:34 +0000 Commit: Mark Johnston CommitDate: 2026-02-05 18:36:43 +0000 in6: Add a helper function to compute expiry times Tidy up a bunch of places that have the same duplicated logic. Simplify callers of in6_init_prefix_ltimes(). No functional change intended. Reviewed by: pouria, zlei, tuexen, glebius MFC after: 2 weeks Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54561 (cherry picked from commit fb08f80eaf90eb7ace202d8604634fc181be8980) --- sys/netinet6/in6.c | 23 +++++++++++++---------- sys/netinet6/in6.h | 2 ++ sys/netinet6/nd6_rtr.c | 38 +++++++------------------------------- 3 files changed, 22 insertions(+), 41 deletions(-) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index b2b3c64d0a77..86e59283f9b1 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1034,6 +1034,15 @@ in6_alloc_ifa(struct ifnet *ifp, struct in6_aliasreq *ifra, int flags) return (ia); } +time_t +in6_expire_time(uint32_t ltime) +{ + if (ltime == ND6_INFINITE_LIFETIME) + return (0); + else + return (time_uptime + ltime); +} + /* * Update/configure interface address parameters: * @@ -1056,16 +1065,10 @@ in6_update_ifa_internal(struct ifnet *ifp, struct in6_aliasreq *ifra, * these members for applications. */ ia->ia6_lifetime = ifra->ifra_lifetime; - if (ia->ia6_lifetime.ia6t_vltime != ND6_INFINITE_LIFETIME) { - ia->ia6_lifetime.ia6t_expire = - time_uptime + ia->ia6_lifetime.ia6t_vltime; - } else - ia->ia6_lifetime.ia6t_expire = 0; - if (ia->ia6_lifetime.ia6t_pltime != ND6_INFINITE_LIFETIME) { - ia->ia6_lifetime.ia6t_preferred = - time_uptime + ia->ia6_lifetime.ia6t_pltime; - } else - ia->ia6_lifetime.ia6t_preferred = 0; + ia->ia6_lifetime.ia6t_expire = + in6_expire_time(ifra->ifra_lifetime.ia6t_vltime); + ia->ia6_lifetime.ia6t_preferred = + in6_expire_time(ifra->ifra_lifetime.ia6t_pltime); /* * backward compatibility - if IN6_IFF_DEPRECATED is set from the diff --git a/sys/netinet6/in6.h b/sys/netinet6/in6.h index 04af972abf9f..1d0a2d57a350 100644 --- a/sys/netinet6/in6.h +++ b/sys/netinet6/in6.h @@ -670,6 +670,8 @@ int in6_cksum_partial_l2(struct mbuf *m, uint8_t nxt, uint32_t off_l3, uint32_t off_l4, uint32_t len, uint32_t cov); int in6_cksum_pseudo(struct ip6_hdr *, uint32_t, uint8_t, uint16_t); +time_t in6_expire_time(uint32_t); + int in6_localaddr(struct in6_addr *); int in6_localip(struct in6_addr *); bool in6_localip_fib(struct in6_addr *, uint16_t); diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c index c145af7d3ffc..18abb12e2640 100644 --- a/sys/netinet6/nd6_rtr.c +++ b/sys/netinet6/nd6_rtr.c @@ -1139,39 +1139,18 @@ restart: return (n); } -static int +static void in6_init_prefix_ltimes(struct nd_prefix *ndpr) { - if (ndpr->ndpr_pltime == ND6_INFINITE_LIFETIME) - ndpr->ndpr_preferred = 0; - else - ndpr->ndpr_preferred = time_uptime + ndpr->ndpr_pltime; - if (ndpr->ndpr_vltime == ND6_INFINITE_LIFETIME) - ndpr->ndpr_expire = 0; - else - ndpr->ndpr_expire = time_uptime + ndpr->ndpr_vltime; - - return 0; + ndpr->ndpr_preferred = in6_expire_time(ndpr->ndpr_pltime); + ndpr->ndpr_expire = in6_expire_time(ndpr->ndpr_vltime); } static void in6_init_address_ltimes(struct nd_prefix *new, struct in6_addrlifetime *lt6) { - /* init ia6t_expire */ - if (lt6->ia6t_vltime == ND6_INFINITE_LIFETIME) - lt6->ia6t_expire = 0; - else { - lt6->ia6t_expire = time_uptime; - lt6->ia6t_expire += lt6->ia6t_vltime; - } - - /* init ia6t_preferred */ - if (lt6->ia6t_pltime == ND6_INFINITE_LIFETIME) - lt6->ia6t_preferred = 0; - else { - lt6->ia6t_preferred = time_uptime; - lt6->ia6t_preferred += lt6->ia6t_pltime; - } + lt6->ia6t_preferred = in6_expire_time(lt6->ia6t_pltime); + lt6->ia6t_expire = in6_expire_time(lt6->ia6t_vltime); } static struct in6_ifaddr * @@ -1355,11 +1334,8 @@ nd6_prelist_add(struct nd_prefixctl *pr, struct nd_defrouter *dr, new->ndpr_vltime = pr->ndpr_vltime; new->ndpr_pltime = pr->ndpr_pltime; new->ndpr_flags = pr->ndpr_flags; - if ((error = in6_init_prefix_ltimes(new)) != 0) { - free(new, M_IP6NDP); - return (error); - } new->ndpr_lastupdate = time_uptime; + in6_init_prefix_ltimes(new); /* initialization */ LIST_INIT(&new->ndpr_advrtrs); @@ -1502,7 +1478,7 @@ prelist_update(struct nd_prefixctl *new, struct nd_defrouter *dr, if (new->ndpr_raf_onlink) { pr->ndpr_vltime = new->ndpr_vltime; pr->ndpr_pltime = new->ndpr_pltime; - (void)in6_init_prefix_ltimes(pr); /* XXX error case? */ + in6_init_prefix_ltimes(pr); pr->ndpr_lastupdate = time_uptime; } From nobody Thu Feb 5 18:37:00 2026 X-Original-To: dev-commits-src-branches@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 4f6QtP0KKjz6R2Gd for ; Thu, 05 Feb 2026 18:37:01 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6QtN5P9Rz4CSW for ; Thu, 05 Feb 2026 18:37:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770316620; 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=ubVG3ehRFcfw+gzQ9GH+6VBEjiMDDb8x0IJwWQqiLjM=; b=q4l8YrWm9ZFcFhZvoN466WfdFYXgtvosVc0zvAXwSu+eLQwbi/7Yw3i83LD4Jrk6IVLUor weKJxYOCn48LQK0qC/O7cR0NrWDn2dXG9+B4fdAev8OoG0uGoCKg+JjtAe+V84V7wI9RCD VMeyImYHuVm6d8xI+7LRnpvms1G9/audI5m91PN0YIJaUeeNPMIDRGl2xwA0iUKAispBaa 0jkGluvWviWU7KQ7VtEuNgdBP5Zx30cVlLbSoWMgeYCfEyQJ/Rt5hJEi12UYVC7p2ievqP KgKGQ7Pf0dAkTwSKzImwNzkCkcBBwQuOooNC+Y5+g9IJ5xryjGsJBsEzP8NXiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770316620; a=rsa-sha256; cv=none; b=b1dBXcpDuq3Yx80rZycGn4R7/Pr3EmeorQrC1YtUNMTgy/9m5mqgpYPXFgpmQlBScgcG/q vX8rjSxFaLSWLNeiSMuN6ALCQZ7pYAyXfsZx/YAnv0mRTFeEJSJLO1aar+NCSVq9Mdg8XU zmgftmMlpXDOsxPJy5jQ77yhQKcn5Ejv9g5NfzGu3M4dxpDGvWKEr7ONxb/KaCwpx6fDlh l93LV/AaO1H4pp7O3ZtooDmSs5iIbgrc7OfK/no2M269QaUJxGOsIg+kC8CvEOSuDIQeTN jd9gmZON9zS9Q+9PFqsM/XjiRpdP5ilzI/bJ5J7tX81KgaMQz2mfcWfTlETlPg== 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=1770316620; 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=ubVG3ehRFcfw+gzQ9GH+6VBEjiMDDb8x0IJwWQqiLjM=; b=aAweuz8TRyteLbBp18Zkam18/u3ssx9Lrv1/iarZvrPI++EA1am83VxWxgwsZHsLXweXtK vLsabBXrmbXfeHPQz1vnU80olBmkm84Mn7ivlcUZVNi68hUUKa1nKI1zPNqrWDLhJ2SJBm REYXcMGXp4sJM7b6TUCJ2MqFVfO9MSwQrqzyaq7YA+nFGQ6eCnaZ9WHbPfoaZGLMtWjeLa mtc5fE2XWEOY7zh7x0PX8DoyDBZ9fHzX+rxSAiotc17Vcc/wVa3rZzfAzWYBwSayVfW0sT Kzjygs/6x+TsedXfxLHESsagEMRjGov8LGlRIDlbEH27U9YOAgoBpktyXC94mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6QtN4wdbzhxB for ; Thu, 05 Feb 2026 18:37:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33eba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 18:37:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: b0037260b73f - stable/14 - in6: Modify address prefix lifetimes when updating address lifetimes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b0037260b73f405d7ae5140f50cd279c0a9a30cd Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 18:37:00 +0000 Message-Id: <6984e34c.33eba.506f8082@gitrepo.freebsd.org> The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b0037260b73f405d7ae5140f50cd279c0a9a30cd commit b0037260b73f405d7ae5140f50cd279c0a9a30cd Author: Mark Johnston AuthorDate: 2026-01-12 13:49:54 +0000 Commit: Mark Johnston CommitDate: 2026-02-05 18:36:43 +0000 in6: Modify address prefix lifetimes when updating address lifetimes When one uses SIOCAIFADDR_IN6 to add a v6 address, it's possible to set the preferred and valid lifetimes of the address. If the address already exists, this ioctl will recalculate and update the expiry times based on the provided timestamps. When adding a new address, the lifetimes are inherited by the prefix as well, but only if we create a new prefix. If the prefix already exists, as it will in the case where an address is being updated rather than being added, we do not touch the prefix lifetimes at all. This means that the original address lifetime still applies to the route associated with that prefix, so when the prefix expires, the route goes away. This behaviour doesn't make a lot of sense: if the admin updates an address lifetime, we should ensure that the prefix lifetime is updated too. Make that change, ensuring that we do not shorten the prefix lifetime, as the prefix might be shared among multiple interface addresses. Add a regression test. Co-authored by: Franco Fichtner Reviewed by: pouria, zlei, ae MFC after: 2 weeks Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54562 (cherry picked from commit 74999aac5effb9b32d12f413ef51e87b15c8a0d8) --- sys/netinet6/in6.c | 22 ++++++++++++++ tests/sys/netinet6/ndp.sh | 76 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 86e59283f9b1..fb661ade438d 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1326,6 +1326,28 @@ in6_addifaddr(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *i (*carp_detach_p)(&ia->ia_ifa, false); goto out; } + } else if (pr->ndpr_raf_onlink) { + time_t expiry; + + /* + * If the prefix already exists, update lifetimes, but avoid + * shortening them. + */ + ND6_WLOCK(); + expiry = in6_expire_time(pr0.ndpr_pltime); + if (pr->ndpr_preferred != 0 && + (pr->ndpr_preferred < expiry || expiry == 0)) { + pr->ndpr_pltime = pr0.ndpr_pltime; + pr->ndpr_preferred = expiry; + } + expiry = in6_expire_time(pr0.ndpr_vltime); + if (pr->ndpr_expire != 0 && + (pr->ndpr_expire < expiry || expiry == 0)) { + pr->ndpr_vltime = pr0.ndpr_vltime; + pr->ndpr_expire = expiry; + } + pr->ndpr_lastupdate = time_uptime; + ND6_WUNLOCK(); } /* relate the address to the prefix */ diff --git a/tests/sys/netinet6/ndp.sh b/tests/sys/netinet6/ndp.sh index 10c101c09a19..03fab97fed43 100755 --- a/tests/sys/netinet6/ndp.sh +++ b/tests/sys/netinet6/ndp.sh @@ -249,10 +249,86 @@ ndp_prefix_lifetime_cleanup() { vnet_cleanup } +atf_test_case "ndp_prefix_lifetime_extend" +ndp_prefix_lifetime_extend_head() { + atf_set descr 'Test prefix lifetime updates via ifconfig' + atf_set require.user root + atf_set require.progs jq +} + +get_prefix_attr() { + local prefix=$1 + local attr=$2 + + ndp -p --libxo json | \ + jq -r '.ndp.["prefix-list"][] | + select(.prefix == "'${prefix}'") | .["'${attr}'"]' +} + +# Given a prefix, return its expiry time in seconds. +prefix_expiry() { + get_prefix_attr $1 "expires_sec" +} + +# Given a prefix, return its valid and preferred lifetimes. +prefix_lifetimes() { + local p v + + v=$(get_prefix_attr $1 "valid-lifetime") + p=$(get_prefix_attr $1 "preferred-lifetime") + echo $v $p +} + +ndp_prefix_lifetime_extend_body() { + local epair ex1 ex2 ex3 prefix pltime vltime + + atf_check -o save:epair ifconfig epair create + epair=$(cat epair) + atf_check ifconfig ${epair} up + + prefix="2001:db8:ffff:1000::" + + atf_check ifconfig ${epair} inet6 ${prefix}1/64 pltime 5 vltime 10 + t=$(prefix_lifetimes ${prefix}/64) + if [ "${t}" != "10 5" ]; then + atf_fail "Unexpected lifetimes: ${t}" + fi + ex1=$(prefix_expiry ${prefix}/64) + if [ "${ex1}" -gt 10 ]; then + atf_fail "Unexpected expiry time: ${ex1}" + fi + + # Double the address lifetime and verify that the prefix is + # updated. + atf_check ifconfig ${epair} inet6 ${prefix}1/64 pltime 10 vltime 20 + t=$(prefix_lifetimes ${prefix}/64) + if [ "${t}" != "20 10" ]; then + atf_fail "Unexpected lifetimes: ${t}" + fi + ex2=$(prefix_expiry ${prefix}/64) + if [ "${ex2}" -le "${ex1}" ]; then + atf_fail "Expiry time was not extended: ${ex1} <= ${ex2}" + fi + + # Add a second address from the same prefix with a shorter + # lifetime, and make sure that the prefix lifetime is not + # shortened. + atf_check ifconfig ${epair} inet6 ${prefix}2/64 pltime 5 vltime 10 + t=$(prefix_lifetimes ${prefix}/64) + if [ "${t}" != "20 10" ]; then + atf_fail "Unexpected lifetimes: ${t}" + fi + ex3=$(prefix_expiry ${prefix}/64) + if [ "${ex3}" -lt "${ex2}" ]; then + atf_fail "Expiry time was shortened: ${ex2} <= ${ex3}" + fi +} + atf_init_test_cases() { atf_add_test_case "ndp_add_gu_success" atf_add_test_case "ndp_del_gu_success" atf_add_test_case "ndp_slaac_default_route" atf_add_test_case "ndp_prefix_lifetime" + atf_add_test_case "ndp_prefix_lifetime_extend" } From nobody Thu Feb 5 18:37:01 2026 X-Original-To: dev-commits-src-branches@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 4f6QtQ1PLkz6R2Gh for ; Thu, 05 Feb 2026 18:37:02 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6QtP68jcz4Bq5 for ; Thu, 05 Feb 2026 18:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770316621; 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=vzLhRgvXjI6O4EcNLavpKBwB2Ev0f0K+3Lw1a8QW5vo=; b=NJwaviTEVCyqDsZ6pa4+/D/eBIo4pEquL19ZmeeDUXs40JSUGiodWFkP1hxBvIlCHhT9Ms A9CMqlBjDVkVmAKDh/b80AFvgTJHpHCooamIOQ8UELvd7wJMREGjspjb9XW69/B0XTHjog anBzqum7e5hiP9UbZwuTl1CdFprO2he9czDJcY/xLv9o0m4ltkUEZQZf/irkqLp08gi9kZ WHJ/Nx+st+NLGmkP5/NVGUszCs0whMve0T7k98MUgOf2JBADJeKWrfIZ5d9Iq7hHCy62ch rX2imcbaqq47e9AAbwdHM2acQ97bHuxDAtlNEFfTfIDF8PuKBn0UDoj1HrbPQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770316621; a=rsa-sha256; cv=none; b=FdedT7EGhLqLsVi8lQAmHVrXT7a0Eo2R/LizoiYRxOYgVrKJdKw0PDEeISEzt7+wEBbm1/ vribfVcetZDxqXJe8IF1kZfDAJQrf4iu7bhJ6lZ5Kg1+vDxcn/52yVGH+8wwQp0NDL6+q8 Tm7+OBEUc4dgUzcf+wP3602EBDtKkN+UqPh+iNjqoXR8cufGghbEqjQQ8SjR8BFmwYDoql pdFNPY2hA8mOtiyERxLQSdCiwZiW68rQywqi2T281qZ2M2i50Nl92KGxFVoLdbbjchEm1t ARdYYDhyudgVhQ9BjhMwcN5mxiFkkP+A9RCL154aLIiqYeSAs6ejILN8GAGF2A== 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=1770316621; 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=vzLhRgvXjI6O4EcNLavpKBwB2Ev0f0K+3Lw1a8QW5vo=; b=xcFmv24ceiwsXclUxCue/FtsREygqeDEmOYkbc+yX7PASvoolW53f9dYm0f4p4IC/V6y6d fI2O8BZnp0fAJDyZF/wmlRjZx7o5ZneAy0EtwzyhSwFs0CLug1oY6BzLyMJTEBJTe+np4w x9fobCFNyTQDWprBOUjN2ZIpsBQbYI+efdTTAiNE+uqFtHuZnw17t44wLR7nPiViYHnHIu tQKh2AXwgseXQE8QaY0Hs0foCaiZr6PRPHvkiWa5I3xOWdugC3jJcVcPVGwxIg465dbHKy U2QtMeLqpDyTtHrpP0c08M2BoOAtS6ahVTbWYf1VcbOna/HTZi3p8eZTDIS0fw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6QtP5k7pzhxC for ; Thu, 05 Feb 2026 18:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33549 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 18:37:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 0ff1f587ffcd - stable/14 - ip_mroute: EVENTHANDLER_REGISTER does not fail List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0ff1f587ffcde595010dcab31fbbd6bb4a4e6563 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 18:37:01 +0000 Message-Id: <6984e34d.33549.346793fa@gitrepo.freebsd.org> The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0ff1f587ffcde595010dcab31fbbd6bb4a4e6563 commit 0ff1f587ffcde595010dcab31fbbd6bb4a4e6563 Author: Mark Johnston AuthorDate: 2026-01-27 14:56:55 +0000 Commit: Mark Johnston CommitDate: 2026-02-05 18:36:43 +0000 ip_mroute: EVENTHANDLER_REGISTER does not fail No functional change intended. MFC after: 1 week Sponsored by: Stormshield Sponsored by: Klara, Inc. (cherry picked from commit 0f1e1350704af555a4b30136f5f3d16db6f2dc51) --- sys/netinet/ip_mroute.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index f438ec5b45ea..306335ff8b79 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -2812,12 +2812,6 @@ ip_mroute_modevent(module_t mod, int type, void *unused) if_detach_event_tag = EVENTHANDLER_REGISTER(ifnet_departure_event, if_detached_event, NULL, EVENTHANDLER_PRI_ANY); - if (if_detach_event_tag == NULL) { - printf("ip_mroute: unable to register " - "ifnet_departure_event handler\n"); - MRW_LOCK_DESTROY(); - return (EINVAL); - } if (!powerof2(mfchashsize)) { printf("WARNING: %s not a power of 2; using default\n", From nobody Thu Feb 5 19:53:54 2026 X-Original-To: dev-commits-src-branches@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 4f6Sb707Rvz6R6hy for ; Thu, 05 Feb 2026 19:53:55 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Sb66L2pz4KnZ for ; Thu, 05 Feb 2026 19:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770321234; 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=Ie4/Q+VmzxIq48LFvojR8wnMBpmrC1SbegbuiVPCnoI=; b=CLc32MibLtzfk5isD6LcpbBKf8jraZDgyBHFScKb4MoIYktXFt/uu1auONrKzJAN7VT9Y0 Dbj1Qm56dkeufKJKup3vffCRn2pwsggBpaAoJ9mGJ3degjZYqHn09S6FO/1F0Ws3fmnUCb oThFaCpsAR9CxupTv1dMDNqFEPTkQECVD8nY6B79HsfS/ijLfvCJA+GXMNa1zUrajYAGZq vRQioX4eMT9mvzcQSuRCjqbTRPALOZxLtSRGJDr4A3GaCndh6VgeFBIlBThTk1Ck2faPqc CjmNc26M9mEotxDF8THwaIS+HFtoOE9RWX7MD0SInumaMNJ+0W41NntuN6IfAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770321234; a=rsa-sha256; cv=none; b=rBjjCQD88Aih/8TK8bxqmvw90cFPKTs7KuFyFFlpHFQaFVSbY8ojWKvGHv0seauYt5WYim Grx68/JOOgCVoBc7JUDRGEmR2IRuIhVveM4KN7jqbX0c/KfAU9Up/sTovYbBZvPknmz/ef NoaWSCXTUQ91+IcaOcOPTeRS3ezT4DfoKmqkDTKcsSMHlFtjjG39NWf19Lj9W1650I6sxS 6qhkC6MTIaSa/vHDR7wDUq1c5T7nDLxeEftjrb5seQW4EWcuWPr1Jo6qv5jbTJkKJuhneO dfzAPy0ZZKy3AKssD7WhwLv1PDGuTZbayri34J3Bnuy5MzFVXy7BtWOfqttJng== 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=1770321234; 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=Ie4/Q+VmzxIq48LFvojR8wnMBpmrC1SbegbuiVPCnoI=; b=amzwEzJCQvhGyBFJW78SSpa8SnGcrkKkfOW8wR5wZeYGaC5aUqo2DzevFE/KuYLaq7X4br XhPjoDkd9iB0UBVyUSxHmDv75p9O1Faa/AkskrBOo2jJ5s3Xd0/WhjIkDcmsyj7Sh0tBsl tvzHHOaR7HNVeg66Yp60wVbuwnFh2OHvKHn5iNtwEQQvwdXh9HeciIGapTN7Ll39Po02Zk PmBcleOC8ELQD867QfirM7JauhkPHwhbD2iLuHkP/FwssvuDuJB+mTXIuyzSNz0ObrkcWo H9iA8SZm1hyFe5n47eZjE3F5dxPdWbKzPzTcTnR8VE8O5ySuRhfRHw9R0TA7WQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Sb65w6RzkXb for ; Thu, 05 Feb 2026 19:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d7a9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 19:53:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 2e665ce547b5 - stable/15 - nfsd: Fix handling of attributes during Open/Create/Exclusive_41 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2e665ce547b57b938c3a862ca1cce378e5e7d339 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 19:53:54 +0000 Message-Id: <6984f552.3d7a9.15ad6e72@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=2e665ce547b57b938c3a862ca1cce378e5e7d339 commit 2e665ce547b57b938c3a862ca1cce378e5e7d339 Author: Rick Macklem AuthorDate: 2026-01-15 23:27:22 +0000 Commit: Rick Macklem CommitDate: 2026-02-05 19:51:35 +0000 nfsd: Fix handling of attributes during Open/Create/Exclusive_41 When an NFSv4.n client specifies settings for attributes other mode during a Open/Create/Exclusive_41, these other attributes were not being set. This patch resolves the problem by calling nfsrv_fixsattr() after the VOP_CREATE() call in nfsvno_open() for this case. There is no extant NFSv4.n client that currently does this, as far as I know. (cherry picked from commit 4fc11c92d324c9099ecc28f25a96591a2ff6105c) --- sys/fs/nfs/nfs.h | 5 +++++ sys/fs/nfs/nfs_var.h | 2 +- sys/fs/nfs/nfsdport.h | 2 ++ sys/fs/nfsserver/nfs_nfsdport.c | 46 ++++++++++++++++++++++++++++++++++------- sys/fs/nfsserver/nfs_nfsdserv.c | 13 +++++++----- sys/fs/nfsserver/nfs_nfsdsubs.c | 6 +++--- 6 files changed, 57 insertions(+), 17 deletions(-) diff --git a/sys/fs/nfs/nfs.h b/sys/fs/nfs/nfs.h index ecff9b8e6849..7903542be91d 100644 --- a/sys/fs/nfs/nfs.h +++ b/sys/fs/nfs/nfs.h @@ -872,6 +872,11 @@ typedef enum { UNKNOWN=0, DELETED=1, NLINK_ZERO=2, VALID=3 } nfsremove_status; #define SUPPACL_NFSV4 1 #define SUPPACL_POSIX 2 +/* Values NFSv4 uses for exclusive_flag. */ +#define NFSV4_EXCLUSIVE_NONE 0 +#define NFSV4_EXCLUSIVE 1 +#define NFSV4_EXCLUSIVE_41 2 + #endif /* _KERNEL */ #endif /* _NFS_NFS_H */ diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 0211acf7f00b..28088c12d7e7 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -410,7 +410,7 @@ int nfsv4_strtogid(struct nfsrv_descript *, u_char *, int, gid_t *); int nfsrv_checkuidgid(struct nfsrv_descript *, struct nfsvattr *); void nfsrv_fixattr(struct nfsrv_descript *, vnode_t, struct nfsvattr *, NFSACL_T *, NFSACL_T *, NFSPROC_T *, nfsattrbit_t *, - struct nfsexstuff *); + bool); int nfsrv_errmoved(int); int nfsrv_putreferralattr(struct nfsrv_descript *, nfsattrbit_t *, struct nfsreferral *, int, int *); diff --git a/sys/fs/nfs/nfsdport.h b/sys/fs/nfs/nfsdport.h index c863741746c5..6439ef921d29 100644 --- a/sys/fs/nfs/nfsdport.h +++ b/sys/fs/nfs/nfsdport.h @@ -46,6 +46,8 @@ #define NFSVNO_ISSETATIME(n) ((n)->na_atime.tv_sec != VNOVAL) #define NFSVNO_NOTSETMTIME(n) ((n)->na_mtime.tv_sec == VNOVAL) #define NFSVNO_ISSETMTIME(n) ((n)->na_mtime.tv_sec != VNOVAL) +#define NFSVNO_NOTSETFLAGS(n) ((n)->na_flags == VNOVAL) +#define NFSVNO_ISSETFLAGS(n) ((n)->na_flags != VNOVAL) /* * This structure acts as a "catch-all" for information that diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 58a9b17caab9..567de6422b7c 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -1972,6 +1972,7 @@ nfsvno_open(struct nfsrv_descript *nd, struct nameidata *ndp, NFSACL_T *aclp, NFSACL_T *daclp, nfsattrbit_t *attrbitp, struct ucred *cred, bool done_namei, struct nfsexstuff *exp, struct vnode **vpp) { + struct vattr va; struct vnode *vp = NULL; u_quad_t tempsize; struct nfsexstuff nes; @@ -2018,23 +2019,52 @@ nfsvno_open(struct nfsrv_descript *nd, struct nameidata *ndp, &ndp->ni_vp : NULL, false); nfsvno_relpathbuf(ndp); if (!nd->nd_repstat) { - if (*exclusive_flagp) { - *exclusive_flagp = 0; - NFSVNO_ATTRINIT(nvap); - nvap->na_atime.tv_sec = cverf[0]; - nvap->na_atime.tv_nsec = cverf[1]; + if (*exclusive_flagp != NFSV4_EXCLUSIVE_NONE) { + VATTR_NULL(&va); + va.va_atime.tv_sec = cverf[0]; + va.va_atime.tv_nsec = cverf[1]; nd->nd_repstat = VOP_SETATTR(ndp->ni_vp, - &nvap->na_vattr, cred); + &va, cred); if (nd->nd_repstat != 0) { vput(ndp->ni_vp); ndp->ni_vp = NULL; nd->nd_repstat = NFSERR_NOTSUPP; - } else + } else { + /* + * Few clients set these + * attributes in Open/Create + * Exclusive_41. If this + * changes, this should include + * setting atime, instead of + * the above. + */ + if (*exclusive_flagp == + NFSV4_EXCLUSIVE_41 && + (NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_OWNER) || + NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_OWNERGROUP) || + NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_TIMEMODIFYSET)|| + NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_ARCHIVE) || + NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_HIDDEN) || + NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_SYSTEM) || + aclp != NULL || + daclp != NULL)) + nfsrv_fixattr(nd, + ndp->ni_vp, nvap, + aclp, daclp, p, + attrbitp, true); NFSSETBIT_ATTRBIT(attrbitp, NFSATTRBIT_TIMEACCESS); + } + *exclusive_flagp = NFSV4_EXCLUSIVE_NONE; } else { nfsrv_fixattr(nd, ndp->ni_vp, nvap, - aclp, daclp, p, attrbitp, exp); + aclp, daclp, p, attrbitp, false); } } vp = ndp->ni_vp; diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index bc877d94283a..ed1b708187e6 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -1608,7 +1608,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, nd->nd_repstat = nfsvno_mknod(&named, &nva, nd->nd_cred, p); if (!nd->nd_repstat) { vp = named.ni_vp; - nfsrv_fixattr(nd, vp, &nva, aclp, daclp, p, &attrbits, exp); + nfsrv_fixattr(nd, vp, &nva, aclp, daclp, p, &attrbits, false); nd->nd_repstat = nfsvno_getfh(vp, fhp, p); if ((nd->nd_flag & ND_NFSV3) && !nd->nd_repstat) nd->nd_repstat = nfsvno_getattr(vp, &nva, nd, p, 1, @@ -2120,7 +2120,7 @@ nfsrvd_symlinksub(struct nfsrv_descript *nd, struct nameidata *ndp, !(nd->nd_flag & ND_NFSV2), nd->nd_saveduid, nd->nd_cred, p, exp); if (!nd->nd_repstat && !(nd->nd_flag & ND_NFSV2)) { nfsrv_fixattr(nd, ndp->ni_vp, nvap, aclp, NULL, p, attrbitp, - exp); + false); if (nd->nd_flag & ND_NFSV3) { nd->nd_repstat = nfsvno_getfh(ndp->ni_vp, fhp, p); if (!nd->nd_repstat) @@ -2255,7 +2255,7 @@ nfsrvd_mkdirsub(struct nfsrv_descript *nd, struct nameidata *ndp, nd->nd_cred, p, exp); if (!nd->nd_repstat) { vp = ndp->ni_vp; - nfsrv_fixattr(nd, vp, nvap, aclp, daclp, p, attrbitp, exp); + nfsrv_fixattr(nd, vp, nvap, aclp, daclp, p, attrbitp, false); nd->nd_repstat = nfsvno_getfh(vp, fhp, p); if (!(nd->nd_flag & ND_NFSV4) && !nd->nd_repstat) nd->nd_repstat = nfsvno_getattr(vp, nvap, nd, p, 1, @@ -2964,7 +2964,8 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, u_int32_t *tl; int i, retext; struct nfsstate *stp = NULL; - int error = 0, create, claim, exclusive_flag = 0, override; + int error = 0, create, claim, override; + int exclusive_flag = NFSV4_EXCLUSIVE_NONE; u_int32_t rflags = NFSV4OPEN_LOCKTYPEPOSIX, acemask; int how = NFSCREATE_UNCHECKED; int32_t cverf[2], tverf[2] = { 0, 0 }; @@ -3229,6 +3230,7 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, case NFSCREATE_EXCLUSIVE: if (nd->nd_repstat == 0 && named.ni_vp == NULL) nva.na_mode = 0; + exclusive_flag = NFSV4_EXCLUSIVE; /* FALLTHROUGH */ case NFSCREATE_EXCLUSIVE41: if (nd->nd_repstat == 0 && named.ni_vp != NULL) { @@ -3244,7 +3246,8 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, if (nd->nd_repstat != 0) done_namei = true; } - exclusive_flag = 1; + if (how == NFSCREATE_EXCLUSIVE41) + exclusive_flag = NFSV4_EXCLUSIVE_41; break; } } diff --git a/sys/fs/nfsserver/nfs_nfsdsubs.c b/sys/fs/nfsserver/nfs_nfsdsubs.c index c8c78d98be72..fdedf959f0e5 100644 --- a/sys/fs/nfsserver/nfs_nfsdsubs.c +++ b/sys/fs/nfsserver/nfs_nfsdsubs.c @@ -1645,7 +1645,7 @@ out: void nfsrv_fixattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, NFSACL_T *aclp, NFSACL_T *daclp, NFSPROC_T *p, - nfsattrbit_t *attrbitp, struct nfsexstuff *exp) + nfsattrbit_t *attrbitp, bool atime_done) { int change = 0; struct nfsvattr nva; @@ -1675,7 +1675,7 @@ nfsrv_fixattr(struct nfsrv_descript *nd, vnode_t vp, } } if (NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_TIMEACCESSSET) && - NFSVNO_ISSETATIME(nvap)) { + !atime_done && NFSVNO_ISSETATIME(nvap)) { nva.na_atime = nvap->na_atime; change++; NFSSETBIT_ATTRBIT(&nattrbits, NFSATTRBIT_TIMEACCESSSET); @@ -1736,7 +1736,7 @@ nfsrv_fixattr(struct nfsrv_descript *nd, vnode_t vp, } } if (change) { - error = nfsvno_setattr(vp, &nva, nd->nd_cred, p, exp); + error = nfsvno_setattr(vp, &nva, nd->nd_cred, p, NULL); if (error) { NFSCLRALL_ATTRBIT(attrbitp, &nattrbits); } From nobody Thu Feb 5 19:55:43 2026 X-Original-To: dev-commits-src-branches@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 4f6SdC4WtRz6R6bL for ; Thu, 05 Feb 2026 19:55:43 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6SdC35hRz4LDD for ; Thu, 05 Feb 2026 19:55:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770321343; 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=dRWuBWDf+IAA7mGoO5vTUJ4NDYv2dt7u5sjK55onl/U=; b=kAUvt9TrMesTbL1KkMRsolQ4OBmZ8EHhDdt0ZsYNA1pWwfXrM/+PGw9YtsWZTJfrqkddov OIfbFsM8w9wFdol0ZKTWSDLgUPb2iJ38PT128N+XdXxaoGFTDfM13FG3kXhP8xsiJm/AcG NRcnOomBIRJGDYsz+i9QiDHiKiD3dygyqyCftohvq7O5KXpZ4fH2+jtdhR5MXjzcCOv212 JWTA/rdYqIBnQ8s2AbA3U5SnuGqI1i4jELNTuNDSxDxAecQKsnszIjOFrAnsdDipMnV2bs 0SZZaItAcRVinsr/PY9Hj4CM3IE9N3hc5H8zrQ31OPZ6x1FaMm0KTiFBiZ88Xw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770321343; a=rsa-sha256; cv=none; b=UCXVZr2F+rCVgiBk9appMlApuU/wUhPTy6q9rkXnEWF+HRqCItv+ALXiWM7TCwkCcqPXOv 0cXjYBIDkT8r4XOjz/bfexiwHl+SEk1BkGKGD6tlNnAOgtFOGr+ra1TfJROZ77IR9q3sYK U7ZQC0jZABR0rvN/2RNAXNUNUEms00rNUJQC+J+VMif9etzCZax2mA6HKg+JCPjgc1OLpy bWT0QDiuq7XwCW012FV3Di36KSGscl1lRcfeF3oLAJrUTWhiQkTNGXlHWA/ZkG8n5M4ZFX PX9I3cM6zg8SGvnKM5qQ13rmpcCR9ucjfLeizpk9a/7DNQyxWFBflIoPSUTF1A== 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=1770321343; 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=dRWuBWDf+IAA7mGoO5vTUJ4NDYv2dt7u5sjK55onl/U=; b=qC0TZO+A0rEDcJwVsz9Jomse7TQyh4IProe0q47YlZsWSvJ/inq7fVpVWRrdwk7rY3vNEp dpt6W2KX5YVrkpCj9zdrLlAy3ByVjUOfFucryqsr1cRyNC+R+O6VnPWT+sB/K5LNjzR5yJ rMlnACWdUW8D2N7w8hw0Lsrzwn9+OL3EBiYDN5M1/ZCI2Hb0JZx+tHio9mcKs+W30intCb rDoCxZlb7xmV2wdSrqxgRkq+mT0tukVvMkpVSgTA6GHWuvF+XK6srBDfYs1CI3WsNPmtLW 2NKLUIhaQ7Gm5CMFQA05YH19jLR5SNxYd2p1ybjjjj1TeB5WXDkvmdbPtUqy1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6SdC2VH1zl19 for ; Thu, 05 Feb 2026 19:55:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3dfc0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 19:55:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 406c98d2ca1d - stable/15 - nfscl: Fix handling of case insensitive file systems List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 406c98d2ca1de620973446034bf487cd47e78598 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 19:55:43 +0000 Message-Id: <6984f5bf.3dfc0.3deb31dd@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=406c98d2ca1de620973446034bf487cd47e78598 commit 406c98d2ca1de620973446034bf487cd47e78598 Author: Rick Macklem AuthorDate: 2026-01-21 00:21:52 +0000 Commit: Rick Macklem CommitDate: 2026-02-05 19:53:58 +0000 nfscl: Fix handling of case insensitive file systems Name caching must be handled somewhat differently for case insensitive file systems. Negative name caching does not work and, for rename, all names associated with the rename'd vnode must be disabled. For a case insensitive ZFS file system that is exported, the unpatched code did work, since the change in mtime or ctime of the directory when other case names were created or rename'd would disable the false name cache hit. However, an export of an msdosfs file system breaks the NFS client, because it only works if ctime/mtime is changed whenever a name is added/removed. Depending on what the server file system is, this may not happen, due to clock resolution or lack of support for these attributes. This patch checks to see if the server file system is case insensitive and modifies the name caching to handle this. There is still a problem if a case insensitive file system is a subtree of a non-case insensitive is exported by the NFSv4 server. This can be fixed someday, when the NFSv4 client gets support for submounts within the mount. (cherry picked from commit f2155a6fb5681c3dca4524a3b2b862a72218a541) --- sys/fs/nfs/nfsport.h | 2 ++ sys/fs/nfsclient/nfs_clrpcops.c | 19 ++++++++++++++++--- sys/fs/nfsclient/nfs_clvnops.c | 12 +++++++++++- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/sys/fs/nfs/nfsport.h b/sys/fs/nfs/nfsport.h index 4e9aae70da6f..f6b6cfb22908 100644 --- a/sys/fs/nfs/nfsport.h +++ b/sys/fs/nfs/nfsport.h @@ -1040,6 +1040,7 @@ void ncl_copy_vattr(struct vnode *vp, struct vattr *dst, struct vattr *src); #define NFSSTA_HASWRITEVERF 0x00040000 /* Has write verifier */ #define NFSSTA_GOTFSINFO 0x00100000 /* Got the fsinfo */ #define NFSSTA_OPENMODE 0x00200000 /* Must use correct open mode */ +#define NFSSTA_CASEINSENSITIVE 0x00400000 /* Case insensitive fs */ #define NFSSTA_FLEXFILE 0x00800000 /* Use Flex File Layout */ #define NFSSTA_NOLAYOUTCOMMIT 0x04000000 /* Don't do LayoutCommit */ #define NFSSTA_SESSPERSIST 0x08000000 /* Has a persistent session */ @@ -1073,6 +1074,7 @@ void ncl_copy_vattr(struct vnode *vp, struct vattr *dst, struct vattr *src); #define NFSHASPNFS(n) ((n)->nm_state & NFSSTA_PNFS) #define NFSHASFLEXFILE(n) ((n)->nm_state & NFSSTA_FLEXFILE) #define NFSHASOPENMODE(n) ((n)->nm_state & NFSSTA_OPENMODE) +#define NFSHASCASEINSENSITIVE(n) ((n)->nm_state & NFSSTA_CASEINSENSITIVE) #define NFSHASONEOPENOWN(n) (((n)->nm_flag & NFSMNT_ONEOPENOWN) != 0 && \ (n)->nm_minorvers > 0) #define NFSHASTLS(n) (((n)->nm_newflag & NFSMNT_TLS) != 0) diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 9bdc2b776575..a0423ab23111 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -4995,11 +4995,13 @@ nfsrpc_statfs(vnode_t vp, struct nfsstatfs *sbp, struct nfsfsinfo *fsp, uint32_t *leasep, uint32_t *cloneblksizep, struct ucred *cred, NFSPROC_T *p, struct nfsvattr *nap, int *attrflagp) { + struct nfsvattr na; + struct nfsv3_pathconf pc; u_int32_t *tl = NULL; struct nfsrv_descript nfsd, *nd = &nfsd; struct nfsmount *nmp; nfsattrbit_t attrbits; - int error; + int attrflag, error; *attrflagp = 0; if (cloneblksizep != NULL) @@ -5066,6 +5068,15 @@ nfsrpc_statfs(vnode_t vp, struct nfsstatfs *sbp, struct nfsfsinfo *fsp, sbp->sf_bfree = fxdr_unsigned(u_int32_t, *tl++); sbp->sf_bavail = fxdr_unsigned(u_int32_t, *tl); } + + /* Try and find out if the server fs is case-insensitive. */ + error = nfsrpc_pathconf(vp, &pc, NULL, NULL, cred, p, &na, &attrflag); + if (error == 0 && pc.pc_caseinsensitive != 0) { + NFSLOCKMNT(nmp); + nmp->nm_state |= NFSSTA_CASEINSENSITIVE; + NFSUNLOCKMNT(nmp); + } + error = 0; nfsmout: m_freem(nd->nd_mrep); return (error); @@ -5086,9 +5097,11 @@ nfsrpc_pathconf(vnode_t vp, struct nfsv3_pathconf *pc, bool *has_namedattrp, int error; struct nfsnode *np; - *has_namedattrp = false; + if (has_namedattrp != NULL) + *has_namedattrp = false; *attrflagp = 0; - *clone_blksizep = 0; + if (clone_blksizep != NULL) + *clone_blksizep = 0; nmp = VFSTONFS(vp->v_mount); if (NFSHASNFSV4(nmp)) { np = VTONFS(vp); diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 7ecd1619a0ad..0d54b869d74c 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -1492,7 +1492,8 @@ handle_error: return (EJUSTRETURN); } - if ((cnp->cn_flags & MAKEENTRY) != 0 && dattrflag) { + if ((cnp->cn_flags & MAKEENTRY) != 0 && dattrflag && + !NFSHASCASEINSENSITIVE(nmp)) { /* * Cache the modification time of the parent * directory from the post-op attributes in @@ -2205,6 +2206,14 @@ nfs_rename(struct vop_rename_args *ap) if ((error = NFSVOPLOCK(fvp, LK_EXCLUSIVE)) != 0) goto out; + /* + * For case insensitive file systems, there may be multiple + * names cached for the one name being rename'd, so purge + * all names from the cache. + */ + if (NFSHASCASEINSENSITIVE(nmp)) + cache_purge(fvp); + /* * We have to flush B_DELWRI data prior to renaming * the file. If we don't, the delayed-write buffers @@ -2221,6 +2230,7 @@ nfs_rename(struct vop_rename_args *ap) if ((nmp->nm_flag & NFSMNT_NOCTO) == 0 || !NFSHASNFSV4(nmp) || !NFSHASNFSV4N(nmp) || nfscl_mustflush(fvp) != 0) error = VOP_FSYNC(fvp, MNT_WAIT, curthread); + NFSVOPUNLOCK(fvp); if (error == 0 && tvp != NULL && ((nmp->nm_flag & NFSMNT_NOCTO) == 0 || !NFSHASNFSV4(nmp) || !NFSHASNFSV4N(nmp) || From nobody Thu Feb 5 19:56:35 2026 X-Original-To: dev-commits-src-branches@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 4f6SfJ3F1kz6R6pF for ; Thu, 05 Feb 2026 19:56:40 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6SfJ2kB4z4Lnn for ; Thu, 05 Feb 2026 19:56:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770321400; 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=ewLa7beAFZ4oO/M7b8l+5q4RFv1lT+DVepmmiYOVMv8=; b=cO2ZbNQMm7af+jrMhZGvlbJkolAE65CA1PNo7+qLcLI4KslDOVXZoGZRk1XrRwuVpW0iUr 1v3ecmsMSL1wLepArwoWe730v0ASAB0h8NDZujaf/6MjW+LdoUFOjdnft6Uq4Xt1UvPv0Q L3ROukUB8yy8wgPUKSXTNJwdp5c+gVHke0fy1D2Jtc6L2ZXr+70ryyYgpmqClDSMB4Mg05 yuU9vBaLE/tP62O2EOToijMUwrrofbDIitTk1gm+ynwKS1Cg4EKZn2YZTDdRNJa9ON7mRi dD1a82ddLOkRvWUCiQRRU91dI6Lfxu45xzY1ZDCHzT2CGl33LgH0PVS+HeGhUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770321400; a=rsa-sha256; cv=none; b=GDfoBut0B8lbs45NXAKo3O+pbvqFsq+j+5UdRwGyCYNtdVG5Dq7oOpWc/4VXAoels3hqeK A9pGbRgNrXi9Dfjc7GbRWz5Ug2J6y0zvDy/h7fd2DZeh6E7caIpvH32u7DeJotN8sHPfLk BhayN4pAhd08KAZ4WLuXMDGpqtLFhGRBehEMEqAfW6eaI+1nm2/UOLh++OkwvioyaaMUuP axox6XAmLu/CtCrm9K2F6XDIMTyml6LRmR2pYuhZK5eIrX0A5cX48AP1fLcJKfhepyXMeI TpZGp6EQdMdIJzyrjv2VK50Low4JWKuNLvdRj2HsR+vueZcK8JarJJwfugp7Hg== 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=1770321400; 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=ewLa7beAFZ4oO/M7b8l+5q4RFv1lT+DVepmmiYOVMv8=; b=iCoGQLQoI7UIbZbAl+QKUwc2Kn6KExOpsA2rMFemv9f75+O6+CyGctJnAr5r+bagLJobxD JOFScqbiFpOa2Tq9DZdpdM7kfxsI8oAXDBp2j5l0tn2VU00V/e86N4by5VtkAJUGnjUNp6 ljfTqoVxmvuNvIhPIgKrpl4FHIZoRx1Ekqq85izl1EyPDMbrrX7siP7y08IRENtqsdIPi6 Abed3ctYJqoFg98cRCQdfaNXNSLzXDZ2nRzWmt92bT1G+nlvN7U/L8N3ygNsOPI+mK49Mf tQINtuld4snLkzb+3s/+HLW5j+LAdQaZ6uj7fiuD5upSZHEGrHpLZ/3+/yYUeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6SfJ2H0WzkFr for ; Thu, 05 Feb 2026 19:56:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d19b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 19:56:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 79b28bc8d1b4 - stable/15 - nfscl: Fix the build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 79b28bc8d1b42775d7a6f107b34f37e60dfabce8 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 19:56:35 +0000 Message-Id: <6984f5f3.3d19b.7b54ae59@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=79b28bc8d1b42775d7a6f107b34f37e60dfabce8 commit 79b28bc8d1b42775d7a6f107b34f37e60dfabce8 Author: Rick Macklem AuthorDate: 2026-01-21 01:32:23 +0000 Commit: Rick Macklem CommitDate: 2026-02-05 19:55:42 +0000 nfscl: Fix the build (cherry picked from commit 053449fa5c6c9fdbff1d1014482a5842bc860811) --- sys/fs/nfsclient/nfs_clrpcops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index a0423ab23111..9c86e0696153 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -5070,7 +5070,8 @@ nfsrpc_statfs(vnode_t vp, struct nfsstatfs *sbp, struct nfsfsinfo *fsp, } /* Try and find out if the server fs is case-insensitive. */ - error = nfsrpc_pathconf(vp, &pc, NULL, NULL, cred, p, &na, &attrflag); + error = nfsrpc_pathconf(vp, &pc, NULL, NULL, cred, p, &na, &attrflag, + NULL); if (error == 0 && pc.pc_caseinsensitive != 0) { NFSLOCKMNT(nmp); nmp->nm_state |= NFSSTA_CASEINSENSITIVE; From nobody Thu Feb 5 21:51:19 2026 X-Original-To: dev-commits-src-branches@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 4f6WBc0jy8z6RGBh for ; Thu, 05 Feb 2026 21:51:20 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBb69YNz3KQt for ; Thu, 05 Feb 2026 21:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328279; 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=W6soGfYJIdiRNfMrfPR0UcrLXs8FNtq2w/UYbsfyn44=; b=jd3oZtEMDLl9d97EODLOogO3z8S/QlVIAjI7DfxZh9dJPd94jr5nDRCwAc0DMGmVB9Ylgr 2Y6REgD6+p2yucCuZGJC0Avl3lvexs0AYGR4Mm6G0uP4wBgijGdgisW5r5Qwxj+1lShjoI vzen0jvIXGBoUy34n4yNCXqLtsfItG570c3q/x4dSCrmb9dLHVt4o1vwWVX2EJ0k/3bfHR 72kFvJOqjAIHZOXdjFlfQldWdfvcxyiQP3mR5ZSWGvfOA39W+f06ZBJTgQS4PcL9o2f0Qp sH6PI0Si3l2AQxBB/8oKfkeAf6UnzR4vEc72eQepnNRX7JRae9xwh8yT7Z2wtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328279; a=rsa-sha256; cv=none; b=fORZ0TRv9PV9BelVjB5HaGhO0CN2Q+/k/PTTf99SEd2xu3h5NOV+zL2gnDnGgpxGwXDD2u TaYbwHPv3S4y7G3rStPidrKnHoNafUcpUsyzFhUTsMSJbvNprlZwPaN6ILCQRNRzOyEZaX UIhgCDIlWelxKSTmR8rnOiBb+D5/f16Sisq/980c7ZanLKrYsEdFH7Z055MOIBxI8JoEtX TPocSSibZpkJIIwrs32kNE3doWGCjHDqYI6LdmIIKS0ZMxNkMyPJMHaqEXTpe98FChldM1 KT+UoSsCyIryLtmNmfCgVKCRl+9dJQN6HYQNaoLBXaBIftA+pPmTBaK4/TZazg== 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=1770328279; 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=W6soGfYJIdiRNfMrfPR0UcrLXs8FNtq2w/UYbsfyn44=; b=bA/FdTCW5jRaKlq5K6L8nviavPqVkuRJfVrwr3ig7H9chER/99BesajKfzUA6aKisgbpvF xQK6O0hssFVxKjCNdSBcMWZwdPAvDvnxkL1qvqt7MEwnk2G4EujFueSqmK8qsAVwS9fvAE 0YQa8ay9q+6lUHSlLbbOAlJb+Hb4rDAuGBhTfE4YId2quTn0RS1e3lLCRWyt6wz/HB+w5J eELFks046XJ63pcxRcjQfP2BgbpS/UjkAjNr3J04oquBT/M3LBWNthjDe7ddVfMBZ8Lla7 LJlD+TtiSNnCmQscFgaAEzEyOj15q9gyiVesKORkuFSBmtyNXUeudljCqpNatg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBb5YzjznTT for ; Thu, 05 Feb 2026 21:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18427 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 89fc636ba224 - stable/15 - cxgbe.4: Update for recent HARDWARE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 89fc636ba2248ef476ed19c44525e6eb3681aaa1 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:19 +0000 Message-Id: <698510d7.18427.4f497fb9@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=89fc636ba2248ef476ed19c44525e6eb3681aaa1 commit 89fc636ba2248ef476ed19c44525e6eb3681aaa1 Author: Alexander Ziaee AuthorDate: 2026-01-06 14:52:42 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:49:53 +0000 cxgbe.4: Update for recent HARDWARE Adjust document description, description section, and hardware section to include Chelsio T7. Since this driver now supports many generations, order reverse chronologically. Compare language to ice.4 and bnxt.4, the other terabit ethernet drivers. This list of HARDWARE is obtained from the Chelsio prouduct selector. MFC after: 3 days (T7 support shipped with 15.0) Discussed with: jhb, np Differential Revision: https://reviews.freebsd.org/D54276 (cherry picked from commit 03e1605cdf17c48d5e0d6d42a9f15b78b3b7adb0) --- share/man/man4/cxgbe.4 | 58 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/share/man/man4/cxgbe.4 b/share/man/man4/cxgbe.4 index 77465a3ae590..c401deea9577 100644 --- a/share/man/man4/cxgbe.4 +++ b/share/man/man4/cxgbe.4 @@ -29,12 +29,12 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.Dd September 29, 2025 +.Dd December 17, 2025 .Dt CXGBE 4 .Os .Sh NAME .Nm cxgbe -.Nd "Chelsio T4-, T5-, and T6-based 100Gb, 40Gb, 25Gb, 10Gb, and 1Gb Ethernet adapter driver" +.Nd Chelsio T7, T6, T5, and T4 based 1Gb to 400Gb Ethernet driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -47,20 +47,22 @@ To load the driver as a module at boot time, place the following lines in .Xr loader.conf 5 : .Bd -literal -offset indent -t4fw_cfg_load="YES" -t5fw_cfg_load="YES" +t7fw_cfg_load="YES" t6fw_cfg_load="YES" +t5fw_cfg_load="YES" +t4fw_cfg_load="YES" if_cxgbe_load="YES" .Ed .Sh DESCRIPTION The .Nm driver provides support for PCI Express Ethernet adapters based on -the Chelsio Terminator 4, Terminator 5, and Terminator 6 ASICs (T4, T5, and T6). +the Chelsio Terminator 7, Terminator 6, Terminator 5, and Terminator 4 +ASICs (T7, T6, T5, and T4). The driver supports Jumbo Frames, Transmit/Receive checksum offload, TCP segmentation offload (TSO), Large Receive Offload (LRO), VLAN -tag insertion/extraction, VLAN checksum offload, VLAN TSO, VXLAN checksum -offload, VXLAN TSO, and Receive Side Steering (RSS). +tag insertion/extraction, VLAN checksum offload, VLAN TSO, +VXLAN checksum offload, VXLAN TSO, and Receive Side Steering (RSS). For further hardware information and questions related to hardware requirements, see .Pa http://www.chelsio.com/ . @@ -70,10 +72,10 @@ The driver uses different names for devices based on the associated ASIC: .Bl -column -offset indent "ASIC" "Port Name" "Parent Device" .It Sy ASIC Ta Sy Port Name Ta Sy Parent Device Ta Sy Virtual Interface -.It T4 Ta cxgbe Ta t4nex Ta vcxgbe -.It T5 Ta cxl Ta t5nex Ta vcxl -.It T6 Ta cc Ta t6nex Ta vcc .It T7 Ta che Ta chnex Ta vche +.It T6 Ta cc Ta t6nex Ta vcc +.It T5 Ta cxl Ta t5nex Ta vcxl +.It T4 Ta cxgbe Ta t4nex Ta vcxgbe .El .Pp Loader tunables with the hw.cxgbe prefix apply to all cards. @@ -89,6 +91,42 @@ For more information on configuring this device, see .Sh HARDWARE The .Nm +driver supports +400Gb, 200Gb, 50Gb, and 10Gb Ethernet adapters based on the T7 ASIC: +.Pp +.Bl -bullet -compact +.It +Chelsio S71400 +.It +Chelsio S72200 +.It +Chelsio S72200-OCP +.It +Chelsio T72200 +.It +Chelsio T72200-DPU +.It +Chelsio T72200-FH +.It +Chelsio T72200-FH-DPU +.It +Chelsio T72200-OCP +.It +Chelsio S7450-DPU +.It +Chelsio S7450-OCP +.It +Chelsio T71200-iNIC +.It +Chelsio T7250 +.It +Chelsio T7210-BT +.It +Chelsio T7410-BT-OCP +.El +.Pp +The +.Nm driver supports 100Gb and 25Gb Ethernet adapters based on the T6 ASIC: .Pp .Bl -bullet -compact From nobody Thu Feb 5 21:51:20 2026 X-Original-To: dev-commits-src-branches@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 4f6WBd1V3lz6RGKZ for ; Thu, 05 Feb 2026 21:51:21 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBc6ThNz3KTs for ; Thu, 05 Feb 2026 21:51:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328280; 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=i+4tVPt9RIRDyzQQRSHEAVtgtBvW1NPlhtArkOcUzPc=; b=ilx31T+qnYWhiZz5XoTcP2A+XBKJoI+B1IMVHPl8XllqtjC9a7PTkp9kmwiAV7ixTFZBhc PsfPfrCSK/Ky3iFl7AU9ArKRZDo/HwIuzHv1o2W7faBconH1yYXI2rKqFundw4BbE1DVuy lfQo1H8/BBfVAchR6EmgW5cmHU0HAsQL4w5Vk0pEFWLm8xGEHHyV/sLMc1JS0bpP/iTDNj XmD3d2JvTS81NHxH0oks4axCoNPnFL8woHQn9fGPjVVNrTLlxKYpXsBBQG1aVMEs+BbH2w sBCyNF2qhm3Z/rHAoJ0lZA00L8yFOVGok/Jf4DfyF7JYRovUbjFrZtU3W3/tFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328280; a=rsa-sha256; cv=none; b=ykdK8I0ZUqmwnkA3oi4bk7mjpcSv9r7TzLzgVj6xnQourGIpkzyhpDBv+qoVYsS8FDQJ18 ax329+D/Qq2V60kpG2iP27R56X9FKVxXbex8DD7uUtC7jx6sbxsufbPlPHPx/7V5RoFaom crS01exfbnyuQGNrxEgL1c6CNfqO+nLOE9Q+o29GmLsyPfHG1gVBs4SV5/f8vgVwsUe2gk Cr95zmyfiiknFAawN2uPysjuBz1wZHu5cocS2B5MN8G7mwnHiGeauQWkopx4GjVu4nBAzm tko7bl6OFrY064EXuQe8map0TslOIpUuyaUh9x//4kj28O3jnx3IJRNVdFrXAg== 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=1770328280; 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=i+4tVPt9RIRDyzQQRSHEAVtgtBvW1NPlhtArkOcUzPc=; b=jG6tu3ZX0ImbS4zd93AnxYhPdvZ4vkVZhA9SmgqB8wqJJa7FwAg0XEEPCBmv3Qt3jUveyE 9MMiSYGsNQXCyBSvK+q34a+euFGHFFYuqOrjAWpUqUESzh2DpLIrtBv7WJ66hXDqjTV6+6 FlDUQ8zzqhqXoXT5cChPo2+9afy4tugz4PNEhbvjwn8MrTKWJF3q1/BRJD14hpaOZ/BB3x IdJy42kEtl09Nzzdxs7xnW3K21xmx2HugksxsqKQCWgSui4tNGeSr03AEN6YZmunz+sia0 UaB9zT5Wh7MyuGreTadSYGcNV/FoakkZR0qGFox3DVBccWyYhEDt6IwsRr7OfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBc643TznRW for ; Thu, 05 Feb 2026 21:51:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18ef2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 9229de71e48c - stable/15 - manuals: Correct some sysctl markup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9229de71e48c153b0a270e579dbdb1706c8e3f8c Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:20 +0000 Message-Id: <698510d8.18ef2.65995ea2@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=9229de71e48c153b0a270e579dbdb1706c8e3f8c commit 9229de71e48c153b0a270e579dbdb1706c8e3f8c Author: Alexander Ziaee AuthorDate: 2026-01-06 16:02:24 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:49:53 +0000 manuals: Correct some sysctl markup This enables additional searching the manual by sysctl variable. This syntax is standardized in style.mdoc(5). Reported by: bapt MFC after: 3 days (cherry picked from commit 75866d71e8d93fe1a1ff469b8a9c6c6c9908a6c8) --- lib/libsys/chroot.2 | 6 ++--- lib/libsys/ptrace.2 | 10 ++++---- share/man/man7/security.7 | 58 +++++++++++++++++++++++------------------------ usr.sbin/chroot/chroot.8 | 2 +- 4 files changed, 38 insertions(+), 38 deletions(-) diff --git a/lib/libsys/chroot.2 b/lib/libsys/chroot.2 index 3347df5cceee..809dbaad2f65 100644 --- a/lib/libsys/chroot.2 +++ b/lib/libsys/chroot.2 @@ -62,7 +62,7 @@ It should be noted that has no effect on the process's current directory. .Pp This call is restricted to the super-user, unless the -.Ql security.bsd.unprivileged_chroot +.Ql Va security.bsd.unprivileged_chroot sysctl variable is set to 1 and the process has enabled the .Dv PROC_NO_NEW_PRIVS_CTL @@ -118,7 +118,7 @@ will fail and the root directory will be unchanged if: .Bl -tag -width Er .It Bq Er EPERM The effective user ID is not the super-user and the -.Ql security.bsd.unprivileged_chroot +.Ql Va security.bsd.unprivileged_chroot sysctl is 0. .It Bq Er EPERM The effective user ID is not the super-user and the @@ -127,7 +127,7 @@ process has not enabled the .Xr procctl 2 . .It Bq Er EPERM One or more filedescriptors are open directories and the -.Ql kern.chroot_allow_open_directories +.Ql Va kern.chroot_allow_open_directories sysctl is not set to permit this. .It Bq Er EIO An I/O error occurred while reading from or writing to the file system. diff --git a/lib/libsys/ptrace.2 b/lib/libsys/ptrace.2 index 7aa24a3f820b..a6798bb22b27 100644 --- a/lib/libsys/ptrace.2 +++ b/lib/libsys/ptrace.2 @@ -148,31 +148,31 @@ Sometimes it may be desirable to disallow it either completely, or limit its scope. The following controls are provided for this: .Bl -tag -width security.bsd.unprivileged_proc_debug -.It Dv security.bsd.allow_ptrace +.It Va security.bsd.allow_ptrace Setting this sysctl to zero makes .Nm return .Er ENOSYS always as if the syscall is not implemented by the kernel. -.It Dv security.bsd.unprivileged_proc_debug +.It Va security.bsd.unprivileged_proc_debug Setting this sysctl to zero disallows the use of .Fn ptrace by unprivileged processes. -.It Dv security.bsd.see_other_uids +.It Va security.bsd.see_other_uids Setting this sysctl to zero prevents .Fn ptrace requests from targeting processes with a real user identifier different from the caller's. These requests will fail with error .Er ESRCH . -.It Dv security.bsd.see_other_gids +.It Va security.bsd.see_other_gids Setting this sysctl to zero disallows .Fn ptrace requests from processes that have no groups in common with the target process, considering their sets of real and supplementary groups. These requests will fail with error .Er ESRCH . -.It Dv security.bsd.see_jail_proc +.It Va security.bsd.see_jail_proc Setting this sysctl to zero disallows .Fn ptrace requests from processes belonging to a different jail than that of the target diff --git a/share/man/man7/security.7 b/share/man/man7/security.7 index f1035fd093d5..0685da5db437 100644 --- a/share/man/man7/security.7 +++ b/share/man/man7/security.7 @@ -955,7 +955,7 @@ briefly listed there, together with controls which enable some mitigations of the hardware state leaks. .Pp Hardware mitigation sysctl knobs described below have been moved under -.Pa machdep.mitigations , +.Va machdep.mitigations , with backwards-compatibility shims to accept the existing names. A future change will rationalize the sense of the individual sysctls (so that enabled / true always indicates that the mitigation is active). @@ -965,20 +965,20 @@ Backwards compatibility shims for the interim sysctls under .Pa machdep.mitigations will not be added. .Bl -tag -width security.bsd.unprivileged_proc_debug -.It Dv security.bsd.see_other_uids +.It Va security.bsd.see_other_uids Controls visibility and reachability of subjects (e.g., processes) and objects (e.g., sockets) owned by a different uid. The knob directly affects the -.Dv kern.proc +.Va kern.proc sysctls filtering of data, which results in restricted output from utilities like .Xr ps 1 . -.It Dv security.bsd.see_other_gids +.It Va security.bsd.see_other_gids Same, for subjects and objects owned by a different gid. -.It Dv security.bsd.see_jail_proc +.It Va security.bsd.see_jail_proc Same, for subjects and objects belonging to a different jail, including sub-jails. -.It Dv security.bsd.conservative_signals +.It Va security.bsd.conservative_signals When enabled, unprivileged users are only allowed to send job control and usual termination signals like .Dv SIGKILL , @@ -986,13 +986,13 @@ and usual termination signals like and .Dv SIGTERM , to the processes executing programs with changed uids. -.It Dv security.bsd.unprivileged_proc_debug +.It Va security.bsd.unprivileged_proc_debug Controls availability of the process debugging facilities to non-root users. See also .Xr proccontrol 1 mode .Dv trace . -.It Dv vm.pmap.pti +.It Va vm.pmap.pti Tunable, amd64-only. Enables mode of operation of virtual memory system where usermode page tables are sanitized to prevent so-called Meltdown information leak on @@ -1003,25 +1003,25 @@ See also .Xr proccontrol 1 mode .Dv kpti . -.It Dv machdep.mitigations.flush_rsb_ctxsw +.It Va machdep.mitigations.flush_rsb_ctxsw amd64. Controls Return Stack Buffer flush on context switch, to prevent cross-process ret2spec attacks. Only needed, and only enabled by default, if the machine supports SMEP, otherwise IBRS would do necessary flushing on kernel entry anyway. -.It Dv hw.mds_disable +.It Va hw.mds_disable amd64 and i386. Controls Microarchitectural Data Sampling hardware information leak mitigation. -.It Dv hw.spec_store_bypass_disable +.It Va hw.spec_store_bypass_disable amd64 and i386. Controls Speculative Store Bypass hardware information leak mitigation. -.It Dv hw.ibrs_disable +.It Va hw.ibrs_disable amd64 and i386. Controls Indirect Branch Restricted Speculation hardware information leak mitigation. -.It Dv machdep.syscall_ret_flush_l1d +.It Va machdep.syscall_ret_flush_l1d amd64. Controls force-flush of L1D cache on return from syscalls which report errors other than @@ -1036,62 +1036,62 @@ This is mostly a paranoid setting added to prevent hypothetical exploitation of unknown gadgets for unknown hardware issues. The error codes exclusion list is composed of the most common errors which typically occurs on normal system operation. -.It Dv machdep.nmi_flush_l1d_sw +.It Va machdep.nmi_flush_l1d_sw amd64. Controls force-flush of L1D cache on NMI; this provides software assist for bhyve mitigation of L1 terminal fault hardware information leak. -.It Dv hw.vmm.vmx.l1d_flush +.It Va hw.vmm.vmx.l1d_flush amd64. Controls the mitigation of L1 Terminal Fault in bhyve hypervisor. -.It Dv vm.pmap.allow_2m_x_ept +.It Va vm.pmap.allow_2m_x_ept amd64. Allows the use of superpages for executable mappings under the EPT page table format used by hypervisors on Intel CPUs to map the guest physical address space to machine physical memory. May be disabled to work around a CPU Erratum called Machine Check Error Avoidance on Page Size Change. -.It Dv machdep.mitigations.rngds.enable +.It Va machdep.mitigations.rngds.enable amd64 and i386. Controls mitigation of Special Register Buffer Data Sampling versus optimization of the MCU access. When set to zero, the mitigation is disabled, and the RDSEED and RDRAND instructions do not incur serialization overhead for shared buffer accesses, and do not serialize off-core memory accesses. -.It Dv kern.elf32.aslr.enable +.It Va kern.elf32.aslr.enable Controls system-global Address Space Layout Randomization (ASLR) for normal non-PIE (Position Independent Executable) 32-bit ELF binaries. See also the .Xr proccontrol 1 .Dv aslr mode, also affected by the per-image control note flag. -.It Dv kern.elf32.aslr.pie_enable +.It Va kern.elf32.aslr.pie_enable Controls system-global Address Space Layout Randomization for position-independent (PIE) 32-bit binaries. -.It Dv kern.elf32.aslr.honor_sbrk +.It Va kern.elf32.aslr.honor_sbrk Makes ASLR less aggressive and more compatible with old binaries relying on the sbrk area. -.It Dv kern.elf32.aslr.stack +.It Va kern.elf32.aslr.stack Enable randomization of the stack for 32-bit binaries. Otherwise, the stack is mapped at a fixed location determined by the process ABI. -.It Dv kern.elf64.aslr.enable +.It Va kern.elf64.aslr.enable ASLR control for 64-bit ELF binaries. -.It Dv kern.elf64.aslr.pie_enable +.It Va kern.elf64.aslr.pie_enable ASLR control for 64-bit ELF PIEs. -.It Dv kern.elf64.aslr.honor_sbrk +.It Va kern.elf64.aslr.honor_sbrk ASLR sbrk compatibility control for 64-bit binaries. -.It Dv kern.elf64.aslr.stack +.It Va kern.elf64.aslr.stack Controls stack address randomization for 64-bit binaries. -.It Dv kern.elf32.nxstack +.It Va kern.elf32.nxstack Enables non-executable stack for 32-bit processes. Enabled by default if supported by hardware and corresponding binary. -.It Dv kern.elf64.nxstack +.It Va kern.elf64.nxstack Enables non-executable stack for 64-bit processes. -.It Dv kern.elf32.allow_wx +.It Va kern.elf32.allow_wx Enables mapping of simultaneously writable and executable pages for 32-bit processes. -.It Dv kern.elf64.allow_wx +.It Va kern.elf64.allow_wx Enables mapping of simultaneously writable and executable pages for 64-bit processes. .El diff --git a/usr.sbin/chroot/chroot.8 b/usr.sbin/chroot/chroot.8 index 4a1a5a396631..58d5ec8f1a5b 100644 --- a/usr.sbin/chroot/chroot.8 +++ b/usr.sbin/chroot/chroot.8 @@ -68,7 +68,7 @@ Use the command before chrooting, effectively disabling SUID/SGID bits for the calling process and its descendants. If -.Dv security.bsd.unprivileged_chroot +.Va security.bsd.unprivileged_chroot sysctl is set to 1, it will make it possible to chroot without superuser privileges. .El From nobody Thu Feb 5 21:51:21 2026 X-Original-To: dev-commits-src-branches@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 4f6WBf2KWfz6RGFc for ; Thu, 05 Feb 2026 21:51:22 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBd73nzz3Kbq for ; Thu, 05 Feb 2026 21:51:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328282; 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=oJN3GfWem9vGOkiU5d0qOEblVvOgSoUS67xGFKZIi8w=; b=le0RaTA5jNHk68Gb/AEYNUi/AHfVoV0L0r8fJvYDizTkqaEfwEEbm1GKkjY012luGqdlR6 DM4zIn+3TL7eXIzUqd0zFOloDSuuNo3xyM/xoYtGOeY9u1VwN3WxPqMyCsqX3kGkHC0zZ/ cUYm5OepBXWBoSAJMrHoaNjd5kPWNkSDNgC8Bfkbv1cL4JUM0PGSYH4xz9B4yk3vSTnRpm FqVpMleUwINDD4eaGakJ/9pO6txxYmtY4Do1GK0+vQTawADG219WUXdCmbiajfDZUYrGaX VDnm5Xo85B1ckXW9Avdc0x6afl4l33ACeHEQibNiMUJWwg12NQAeI3rDLnHrWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328282; a=rsa-sha256; cv=none; b=JWQ7kfIOcgMilKwuAX+vGAxiB4oKDnELllgQwdRQguBDdHg04tvgq22/nEtpBlaRejr3p0 wDApYBBMBmTpAa52SAYNG1hAXdH+bg0kvtKF702myrfHoQ16Meqzuvk+iXj9PAVhef+yvf Cm36UaCCzYI+KsKznhr6QP+4X77ZXGndzr0CrgI+Senx3T8oUgZCIVXO7YRNn4zNSPw64z bXP8E44Q4wN9ILgD0zoOcoK6umdKbUf7kx1jBI8eT/3cw4QUVOQjCgKxRMqvkbrimpZF77 LBXjgFsGmX+8ATg0GHpJrmIAAXF7LTMBQsiDHKDgQYo8NbkXwQy7MrcUtHCGVw== 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=1770328282; 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=oJN3GfWem9vGOkiU5d0qOEblVvOgSoUS67xGFKZIi8w=; b=FJ7twkZX+/lqADoniMBYeTLPn4wpM/B+dae//TlUgl/TMNQJlzSdv/EKx2DVxUk0MjYkRb UbItFY4SfLr2JE5It2uXnWwB1afcUHFNbySVKUMpVceSFAL3rXK8vfhkDEJli9uIs8Bo6e IHVO4OUIOJpmhhw6nPYntlHEdm9934nzsFCtFIJCYLA90jCVoocczcLkpUhMQ0UTbiEQ6P WmmEm5VdplcoSAirOwE32YQUmpAJKG6VDvIxKpECHpdxGwLHIeGeJFyGaeSIVQDJoYT0Il HY9tplZX3Pa5SXfFHd2StZSy5MuAlZgYS4cqijP95NRgaWwlNOhmlIjSTO/WpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBd6R0XznTV for ; Thu, 05 Feb 2026 21:51:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 192b7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: f807836f38fa - stable/15 - sh.1: Restore missing builtin commands List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f807836f38faeff7b627dd346c1df9c3c66f2268 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:21 +0000 Message-Id: <698510d9.192b7.fd275de@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=f807836f38faeff7b627dd346c1df9c3c66f2268 commit f807836f38faeff7b627dd346c1df9c3c66f2268 Author: Alexander Ziaee AuthorDate: 2026-01-06 17:25:26 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:49:53 +0000 sh.1: Restore missing builtin commands PR: 292221 Fixes: 2980318b2747 (sh.1: extend the section about getopts) MFC after: 3 days (cherry picked from commit 2962dc76877538508944a441fd1570322e969380) --- bin/sh/sh.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sh/sh.1 b/bin/sh/sh.1 index affb653cd3ae..b37e4785c871 100644 --- a/bin/sh/sh.1 +++ b/bin/sh/sh.1 @@ -2373,7 +2373,7 @@ is not specified by .Va optstring or if it is missing a required argument, the option is considered invalid and: -.Bl -offset indent +.Bl -enum .It If the first character of .Va optstring From nobody Thu Feb 5 21:51:22 2026 X-Original-To: dev-commits-src-branches@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 4f6WBg3QLbz6RG6k for ; Thu, 05 Feb 2026 21:51:23 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBg0LG1z3KYT for ; Thu, 05 Feb 2026 21:51:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328283; 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=rljM+PwYMH9Gd2g2orrpWY7y/PkN5si1PeA26r7BZiY=; b=k883WTVfhfTJTTXuC7cMhkGWgAER2LwJccEmjnSzi77w5phPJVyDh8yPfze+ZcsmCuryAe PU8BrdR91XNyybvtgtPHogK4zxxuUqE2S4RfgBMVMYARgIYIeu0JxH39b+320nqEPQ6rw0 rlWTQ5iwO7x3Cxalq7sUIKYLrFWligeqIZk69jzn/LEGXQ/PXR1q927gk3VefSAfqS8gXN H7tdiFZm5xmAkzFcevPy5RwL9q+WAztY//iBaHJuOUsVq7d1MKB5/rJQ5oE+Ecz1mSBsT4 iGoSCLxGvNyCdxAdjTfmc40XwSjORnHUESXha5sOYKDlEAESmJnFYGCs3Krzmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328283; a=rsa-sha256; cv=none; b=lRzLcisZFgh/IiACb0FIIbWJg2K+0NQEqWbPYwiicy2ksUGz8k1lFb8mfsqG72udSLgSaF XCnufDT92m4UxCXb6BxhNoZmXscVDMbg9HGW491tYswB6gfrMLxD5q/+UubSdci89rxEIn HFJu3S2wE/Fgb27QY8RkKr+wONhfGlK+KEAo6i7FFCMwP5b49QKnOKeTLkuV9arEGBsKEr 2jxrD7NAazKY45urD0bq37h7aUZ6x+lVWqU4i6AZf/79CK5dYjsjuCkT9YMVhR1jCa4Mze Jdg5UPYHZQswjK/LYuGT8hzTyQ1hAwczb2klisRPJaVJ9mpJ+X1lOPkCl3BYDQ== 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=1770328283; 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=rljM+PwYMH9Gd2g2orrpWY7y/PkN5si1PeA26r7BZiY=; b=gT9hgzjVL8sFpZneUUXYMNnK+z4CJF+8R04qfOpVR1JFck82GH4CVcxvCykVcEpM0a8t38 gps1mq1H3kxcRv+GLz/YKjAv7zJoxgUwGDPEjjfzRkRh4NXywp1UUKhMar/ov9dmPaw/m0 ibktaHMwVy2oACZZkkbWWkOkGMQHiNp5TknYEKyyOm45NRVKClRRKY6PsJHH2DwFXiE/aZ 9DFtFPdDj0GsFbUxqbmdJAGc7c3UmfGVycaY2u772XZIPul6UWFqYBn1yPRn1hnEjfG4kC i6lP/xyxW1VMTmJaoYoxc8c66cljoYMn1brHGPeEArS8++GG2seXtMAiF+pNjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBf732rznjl for ; Thu, 05 Feb 2026 21:51:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18b85 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 89c2d3380aac - stable/15 - pxeboot.8: Fix mdoc typo for emails, tag spdx List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 89c2d3380aacf83c3523f4a45aa58cb5b50424e4 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:22 +0000 Message-Id: <698510da.18b85.415c1b69@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=89c2d3380aacf83c3523f4a45aa58cb5b50424e4 commit 89c2d3380aacf83c3523f4a45aa58cb5b50424e4 Author: Alexander Ziaee AuthorDate: 2026-01-06 22:45:42 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:49:54 +0000 pxeboot.8: Fix mdoc typo for emails, tag spdx Fixes: a37825313f62 (Fix mdoc typos for emails, tag spdx) MFC after: 3 days (cherry picked from commit 1961785e35484a89e49672c5ac7f9da6a7f56b3c) --- stand/i386/pxeldr/pxeboot.8 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/stand/i386/pxeldr/pxeboot.8 b/stand/i386/pxeldr/pxeboot.8 index e10e570edf54..496b244cf00f 100644 --- a/stand/i386/pxeldr/pxeboot.8 +++ b/stand/i386/pxeldr/pxeboot.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 1999 Doug White .\" All rights reserved. .\" @@ -142,8 +145,8 @@ bootloader first appeared in The .Nm bootloader was written by -.An John Baldwin Aq jhb@FreeBSD.org +.An John Baldwin Aq Mt jhb@FreeBSD.org and -.An Paul Saab Aq ps@FreeBSD.org . +.An Paul Saab Aq Mt ps@FreeBSD.org . This manual page was written by -.An Doug White Aq dwhite@FreeBSD.org . +.An Doug White Aq Mt dwhite@FreeBSD.org . From nobody Thu Feb 5 21:51:24 2026 X-Original-To: dev-commits-src-branches@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 4f6WBj07mKz6RGHB for ; Thu, 05 Feb 2026 21:51:25 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBh2WNbz3Klk for ; Thu, 05 Feb 2026 21:51:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xtllcoLOYfxJkoiHBIslKo2aBogD0igOejnISx7OytA=; b=J4gt7PVbiYmHgnnz9+2ztPspyiSAkVwzYQpziSk73QmZkL6sCLvyRUuoULjKTKZ8FtR+Ae vWUpTbFeZBF8WYBQwK1fIUK+uMzqP8mnIcekCfue9x3uq6ii2w/dBFnTxQWShVsB8RS+fV aZlsnKmV33m2dWwiNwgBykN1VmqzudCXxue4fSWKhCsLn57MIFVszQuJXTlKlQ89ZBvyzA 5MumT2c9cPHbiprZNXQdrBg2QqV85X2N4Xob+LXNFFRGfB7VY9lSQuJQLVD+u8jRBy2gSO J8UrmUhvcujwg5cKDepzA55Ya7ttusJtMS3jAEJgbZIwZgT1UYC726cgzRacuw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328284; a=rsa-sha256; cv=none; b=wFYzH7JdllqwaCa6YN8negzOHKyiJVlfdnKBpiO9GDZRFTOKf/Ed+M9/nygGRI3tV938bA EUF+Brnnk0LmE2nUrcnXXswnoQbssP3f9tHjgozrg4E7wQLm5Pg8VmZ0G1iqQZFxgBZVTR zBVHzys72oK4cuJG4o+2qcyZddikT3vLWUwmaKI+zvptF54Bftt+PutyZ1g7nD2y31Wvsu ksZzvSMTXymx7bPhqXrRfR0UcViZhJvKNNA80uWleAhWPyLvn3uv4n+abyIOsKeOxeuyBp iGXiGdmwPjokwS1fkp6dKkb9Qn5A+L4Z9nca8BjB9RL2Q2HAk+b0do92KQnJfQ== 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=1770328284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xtllcoLOYfxJkoiHBIslKo2aBogD0igOejnISx7OytA=; b=U1DSvvKDTw/XR5e9AaiOsOLhKF4Op4xG3J/e4LiaOG/spRc7+d0rp6MMHjNfAKiBEOy4Z4 hQafSMaI02oXJVKbPCI2CgF06BXftdtdterfN8JYdv7jaz/73Vn5k37KgPJmXJgfD9jTaz 52qFcId0dmkcfYfUa9UySWalypD3RXfiPeRxa4fIsQyh0p0DH7dmi/Qnq/wcjGNmOYE535 /yHtFlsRcPofqw3D3jokoAfaKoGBvaE4FX5Jmd/72k0QDTAAS2EeibKccpC/JwNG6Xq3vk /of+twOLNob56D3cbu4abP2OxK83BqknxtFqJdDXh7h/iBbNGTX21jqTH2l6Ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBh0QK0znRb for ; Thu, 05 Feb 2026 21:51:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46e69 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Minsoo Choo From: Alexander Ziaee Subject: git: 74786473843e - stable/15 - Makefile: Update doxygen requirements List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 74786473843ea890438c9f775a61e51e13e8af74 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:24 +0000 Message-Id: <698510dc.46e69.3838e635@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=74786473843ea890438c9f775a61e51e13e8af74 commit 74786473843ea890438c9f775a61e51e13e8af74 Author: Minsoo Choo AuthorDate: 2026-01-06 18:11:11 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:49:54 +0000 Makefile: Update doxygen requirements MFC after: 3 days Reviewed by: imp, ziaee Signed-off-by: Minsoo Choo Closes: https://github.com/freebsd/freebsd-src/pull/1869 (cherry picked from commit d2f1c8e0d1bebab9fba32d69d261abc101f368ba) --- Makefile | 4 ++-- Makefile.inc1 | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 5f27f22d7a3f..da4bac4673fa 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ # kernel - buildkernel + installkernel. # kernel-toolchain - Builds the subset of world necessary to build a kernel # kernel-toolchains - Build kernel-toolchain for all universe targets. -# doxygen - Build API documentation of the kernel, needs doxygen. +# doxygen - Build API documentation of the kernel, needs doxygen, TeX, and graphviz. # checkworld - Run test suite on installed world. # check-old - List obsolete directories/files/libraries. # check-old-dirs - List obsolete directories. @@ -804,7 +804,7 @@ universe_epilogue: .PHONY .MAKE.MODE= normal # Normally the things we run from here don't either. # Using -DWITH_META_MODE -# we can buildworld with meta files created which are useful +# we can buildworld with meta files created which are useful # for debugging, but without any of the rest of a meta mode build. MK_DIRDEPS_BUILD= no MK_STAGING= no diff --git a/Makefile.inc1 b/Makefile.inc1 index 7282bb34de2e..dd47b53bf681 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2435,6 +2435,14 @@ doxygen: .PHONY echo "You need doxygen (devel/doxygen) to generate the API documentation of the kernel." | /usr/bin/fmt; \ exit 1; \ fi + @if [ ! -x "${LOCALBASE}/bin/tex" ]; then \ + echo "You need TeX (print/texlive-full) to generate the API documentation of the kernel." | /usr/bin/fmt; \ + exit 1; \ + fi + @if [ ! -x "${LOCALBASE}/bin/dot" ]; then \ + echo "You need graphviz (graphics/graphviz) to generate the API documentation of the kernel." | /usr/bin/fmt; \ + exit 1; \ + fi ${_+_}cd ${.CURDIR}/tools/kerneldoc/subsys; ${MAKE} obj all # From nobody Thu Feb 5 21:51:25 2026 X-Original-To: dev-commits-src-branches@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 4f6WBj5hhlz6RG23 for ; Thu, 05 Feb 2026 21:51:25 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBj18Wgz3KcL for ; Thu, 05 Feb 2026 21:51:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LJDQs2odqoQNwGqvizIiHDhQWiZs2IhUp4urjxp/1zo=; b=ZVLEoCoCGYxu0hDJn8F8L4mgmz+F2xYZWcVAXE43/MBCoA5Peb+oFSUbOzQNgFF2M7jqIE DF34ib58Kur4Fbc8YugpbG/8qsKNnSp8fyp0s4UbyXtQk0F461/+/ToP0Y5OvbGEfy0wq5 Ix1oHbqAH6Wlpe+XtkKy9nYpK+qIicTTE3W0lxKQWcqmVIDlUm9dFQEdt/PsMBZBG5o2HD 6R8Rp5WIDjK4QD7MI2Kf5F7LFgxpsqMkXhqbE7XnmHvk6uKAtUo9PjcTc6Ho9v2rXXAWZN hSJVvsJMAFSKXUNV8C0+gYevT3SSajVNLM0l39ipsCQMA9F/arJLoaXJaKdQ+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328285; a=rsa-sha256; cv=none; b=AZVeJ6eR+Akr8ot0LTwLV2IjnHn7B2LbL7QdGSQ3giWiOG7vKaThoWIA9pMw9ewENfYiq1 mG7W/GWFJT4QFTTOtzu1CdJkSAi7NZmxh3RY6mg69ceYshPPsj5JsB+WjRg+dxvWdeMXZp 4tqNHTcbwDJkenj9DCqSjuH3JjgNPf06QXtc/l7IIcqdtQIOSCId85smVVG6MPu5xwBHVq HwJp9iHpDP/9bh0m+fWvDXFtlUrKmTOHV1xXGnb9ikAdUoNDSqtLIqQ5b4IeClawa7TK6j 6zyoZrnSGQPMgZUcOPJoyMyaLZw/UqFUVpAH1kefMOr3WnnX9ixfpTzh+Sg6Ag== 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=1770328285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LJDQs2odqoQNwGqvizIiHDhQWiZs2IhUp4urjxp/1zo=; b=ACHsY1QTVf0++4ql8aObw4iz7jvqHx/3/YDiaCEEaSr08UIPjwV9GEtlIkIbF8E7OViWCI XHj46KddH9HSVseKX40w4uC9n2N5J02DtPyuPUMe+mZkbTQnId1qQ9jwqXuFT5NGPkGWWW Hzc095wuHFHdt2iBlF91pFB9fxBBL8pbNXeYXLB8qw/8OUh2l5X4l1ZfuM5DFrJOGwb3xx JrYToJs7S6Ghkk4uly84P7ZU0cxpQytAl382+pfCiQXMRbNZx8eW98OQVIXW1VGVEsgQV+ CZWAWmSZA81AhuYtQs5YrwyGv5/wUU1xMLStemJFRHE5Ylo3hlHLzXOelManGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBj0kpbznvW for ; Thu, 05 Feb 2026 21:51:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 472fb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Graham Perrin From: Alexander Ziaee Subject: git: 8a36a29d7ddc - stable/15 - pkgbase.7: Show pkg upgrade to apply updates List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8a36a29d7ddc8f21c05ec988014ea1bfe33152ad Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:25 +0000 Message-Id: <698510dd.472fb.1e1fa1cd@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=8a36a29d7ddc8f21c05ec988014ea1bfe33152ad commit 8a36a29d7ddc8f21c05ec988014ea1bfe33152ad Author: Graham Perrin AuthorDate: 2026-01-09 04:45:29 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:49:54 +0000 pkgbase.7: Show pkg upgrade to apply updates MFC after: 3 days Reviewed by: ziaee Closes: https://github.com/freebsd/freebsd-src/pull/1945 (cherry picked from commit d1f93ea2e1646f1a844f37a855a70de1b186dbd7) --- share/man/man7/freebsd-base.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man7/freebsd-base.7 b/share/man/man7/freebsd-base.7 index 9b2d60fffa67..be1cd8e35d42 100644 --- a/share/man/man7/freebsd-base.7 +++ b/share/man/man7/freebsd-base.7 @@ -178,7 +178,7 @@ pkg install FreeBSD-set-devel .Pp Apply available updates to the running system: .Bd -literal -offset indent -pkg update -r FreeBSD-base +pkg upgrade -r FreeBSD-base .Ed .Pp Install the development toolchain for FreeBSD/powerpc64le in an From nobody Thu Feb 5 21:51:26 2026 X-Original-To: dev-commits-src-branches@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 4f6WBk4SPyz6RGN4 for ; Thu, 05 Feb 2026 21:51:26 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBk1p3Pz3KrB for ; Thu, 05 Feb 2026 21:51:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328286; 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=erfYsnfbdB34tiNKwvNvd+QBQZzZuSHE5ZsHn5MhOCE=; b=QwchCUxMMaPZl2PiNKP+lQDZkDWsvzm3jnqt/NuZBT0lNT4seIo/n/Y4D4mPY4ujaD6O64 LvVLo42oIztI5M8pEMluk2MnDvRNZEwIx8YYJayTevWVL58siddaWSBAt4WQxyXZq9IrHX q4W4jzVxAtLtoPFcFW7Bz4JRw5aQ1Z6eFbn5rQR6TIZ39OYB2xlSCsoAfejhpj+tqLMmcX ptPCrP6kt8R3hIsZaXrFEsFD83S19PH4H/jyqbE9qMEYumHfO97q1Vp7AHYSHwcvzkoZCr yQV6uXVhC+QTkydYS1//fL0uWIx+YcHt1Imq//53eyyAsGqQ17JBQncYCUZXYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328286; a=rsa-sha256; cv=none; b=LSHwGxo5DKTM+jkrnVKohIzXvgoslbUMsx9Q6KphTViI6SIGgqb+m5+6PJWn1jB37cjOEe 1JegzemL1v1YwfUBgt7Z5mPcUJCMbUKlHfXAsRAxAkSrj2PF5I7gxrLhVAcLHrUSZZqU+K BE2+awo6DiazHFwr9DdMxWOp5VsynwvAAZjYNB75N9UmLwGI7q6+jXtB6ZSEsE9BnYvV2E m5ejaqbxNJQOnSfUDVKd+HMB4eW94gmiAw3YMSLShC3De69BHlzKLFjFoAtx6eyNnIbcUx jzYBTCgm8PEVBzfoi4iEHGe9l1BDbCZkU3G2NXF6Rze+sa5LtHSb8Sz6hRb93Q== 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=1770328286; 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=erfYsnfbdB34tiNKwvNvd+QBQZzZuSHE5ZsHn5MhOCE=; b=ea9boVspSchZO9VmsnUTYgA+bJqzg4ILH/J5cUDRzCnP2Yz4xJtxnLtbcWcgeNCWcSTm35 i/j3T4BO6cOjKvNYv2grk3OzFq9NnDocIp4j8hSOzEc+zJ7BQBYpvi1VxbNW6TPzi9o/0X mpCHntHmzeoIw801dYzSL+8qgkwFKUC0xcL5XZvVd/3pIqt0LonAJ8k/RNz7lrhFmoQMEI dJ1AMiKd2jG1YTdvQfPh2fKqSbwF9/Elxq6L3WtiyuYDhseCjCNoUF6cMMwGJRl82Wcw2Z SL42uumm/4bU4/0dfAZtxzmYVSNtxDjc9beFAgk6Nvl+Qyn7tyvMRHyOpcABIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBk1N09znjn for ; Thu, 05 Feb 2026 21:51:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1815f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 093b16a63674 - stable/15 - wc: Fix usage and manual SYNOPSIS + nits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 093b16a63674a8ac3087020b92072936d15df7bf Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:26 +0000 Message-Id: <698510de.1815f.41658687@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=093b16a63674a8ac3087020b92072936d15df7bf commit 093b16a63674a8ac3087020b92072936d15df7bf Author: Alexander Ziaee AuthorDate: 2026-01-12 21:04:54 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:49:54 +0000 wc: Fix usage and manual SYNOPSIS + nits The -c and -m flags are mututally exclusive. Also minor manual fixes: + Angle quotes do not work in prose, use double quote matching extant + Align manual page options list + Tag SPDX license identifier for manual PR: 292408 MFC after: 3 days (cherry picked from commit 4cb65fde79a2412558d10fdbf3427fc0e4536d80) --- usr.bin/wc/wc.1 | 12 ++++++++---- usr.bin/wc/wc.c | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/usr.bin/wc/wc.1 b/usr.bin/wc/wc.1 index 656408794950..d41976c1e6d3 100644 --- a/usr.bin/wc/wc.1 +++ b/usr.bin/wc/wc.1 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" @@ -37,7 +40,8 @@ .Sh SYNOPSIS .Nm .Op Fl -libxo -.Op Fl Lclmw +.Op Fl c | Fl m +.Op Fl Llw .Op Ar .Sh DESCRIPTION The @@ -47,10 +51,10 @@ input .Ar file , or standard input (if no file is specified) to the standard output. A line is defined as a string of characters delimited by a -.Aq newline +.Dq newline character. Characters beyond the final -.Aq newline +.Dq newline character will not be included in the line count. .Pp @@ -64,7 +68,7 @@ for all the files is displayed on a separate line after the output for the last file. .Pp The following options are available: -.Bl -tag -width indent +.Bl -tag -width "--libxo" .It Fl -libxo Generate output via .Xr libxo 3 diff --git a/usr.bin/wc/wc.c b/usr.bin/wc/wc.c index 7b83412f3c42..d00a1a64da29 100644 --- a/usr.bin/wc/wc.c +++ b/usr.bin/wc/wc.c @@ -353,6 +353,6 @@ word: gotsp = true; static void usage(void) { - xo_error("usage: wc [-Lclmw] [file ...]\n"); + xo_error("usage: wc [-c | -m] [-Llw] [file ...]\n"); exit(EXIT_FAILURE); } From nobody Thu Feb 5 21:51:27 2026 X-Original-To: dev-commits-src-branches@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 4f6WBl6fGcz6RGHG for ; Thu, 05 Feb 2026 21:51:27 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBl2TYgz3Knk for ; Thu, 05 Feb 2026 21:51:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328287; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RYa7bELEzVlFxlJSAq4Wc2TGiREdUwP+RXM/YYOKiXk=; b=XheZpEm+TX39zmTtKdasxbtW+SRI40BxNPST5NkuLY9NsbS17VDQe5hizKH1fXV9rXWZJC iiR0f6TquzGKxN2pYOxD30cW2rJMpXy2vpClqn5mpehTWXRKvZtl2TFP8JCtCUoVUXI86l SEIEi5PhFVsk/8eeql5CY2PAS1WV2XN9SJ5OknaRlY39lB8CrufC/8/omj4NbabQcFYpdu YQa/fBih46UCbjWj4bX24cLc8GLS2uiXYNtWxoEgUaSKeH4/CFlG0XqIp5Z6+mE2P0RXGf efYHMVSaW0+lLASpSe3XVKNtzMET50DkfT6Q6rV0RNToIJyYWGVRGueSSKpq1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328287; a=rsa-sha256; cv=none; b=TLSU/Uti2zY53p4Zyhcful4XD1oqUXvqWpGf5ZO9a5jJhX1ENRlKynPwG1vlxK0fLHQ2IH 8lgs3dvw3Nxs6ijo0QlBA7VOe375DG0b2p5+bHvh5Gxd+5ln8zgIfr9qN/aqoIU+JfeBi2 uA1Fbw2qu1LMxsvQsBWnxOEAmTDbiGoca9ny0NgwP7ZHFPjImK1S1L5VxZUNdUO2Rvs79h cAQeBoGYsSEneu0TVEOiQsJ/ybaHMsxRmaS4HZzLpxZKz5LpWQiACdChVSx5Rh81HDpcBT ml7IYaldBcdKlkKCHYvePkk9gA1VQV6uFDiXZKdw02UvisSKYQzgztxZdVjXXg== 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=1770328287; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RYa7bELEzVlFxlJSAq4Wc2TGiREdUwP+RXM/YYOKiXk=; b=HBju63kncP8rePZyx7dRhvN9wJzJLHj56kPemhR6XMszs3BoZPWckKa6mEq++KbSqE00XC y1hMU381FvOiDSv4v8O7npZxkoyAjaYSeZd4Q2o/osQvHE1lBeiLG0H9t4rMfpYXLOdEa6 bWaYR4nZAnovWmDNcnuTaCYhWb2QyiYR56NBQjEePIu+sacAosUPJqFbpkfTeR7Egx2Nzq HjVfFUPsCAjsQtKExuC2y2PIaCT86De7EKseI+jsKn0ZIfOy9gbtUGz0/d0UjxG98vQz7o w4Mp7ukqY0196SU6oumIV9P40yGUgd8MrQJS9nRPYZsZfGKTnSKL/pcHvV99jQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBl1zpWznjp for ; Thu, 05 Feb 2026 21:51:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18f4a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Artem Bunichev From: Alexander Ziaee Subject: git: 40b0783ffa1a - stable/15 - termios.4: Cross-reference stack(9) for STATUS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 40b0783ffa1ae683516db4d4272472c8d74bf891 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:27 +0000 Message-Id: <698510df.18f4a.24d6868d@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=40b0783ffa1ae683516db4d4272472c8d74bf891 commit 40b0783ffa1ae683516db4d4272472c8d74bf891 Author: Artem Bunichev AuthorDate: 2026-01-16 20:22:21 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:49:54 +0000 termios.4: Cross-reference stack(9) for STATUS If the kernel is built without stack(9) (options STACK), then the mentioned sysctl(8) kern.tty_info_kstacks will not be found. MFC after: 3 days Reviewed by: kib, ziaee Differential Revision: https://reviews.freebsd.org/D54701 (cherry picked from commit fd34f549b711f0481336a838a99af710ab24644a) --- share/man/man4/termios.4 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/share/man/man4/termios.4 b/share/man/man4/termios.4 index 08b0b81126c3..26402d94a872 100644 --- a/share/man/man4/termios.4 +++ b/share/man/man4/termios.4 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 28, 2020 +.Dd January 14, 2026 .Dt TERMIOS 4 .Os .Sh NAME @@ -759,7 +759,9 @@ wait channel, the number of user and system seconds used, the percentage of cpu the process is getting, and the resident set size of the process. .Pp -In case the +In case the kernel has +.Xr stack 9 +support configured and the .Xr sysctl 8 variable .Va kern.tty_info_kstacks From nobody Thu Feb 5 21:51:29 2026 X-Original-To: dev-commits-src-branches@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 4f6WBp03dtz6RGHP for ; Thu, 05 Feb 2026 21:51:30 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBn3lpkz3Kp3 for ; Thu, 05 Feb 2026 21:51:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328289; 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=w/KSXEqMcw9/GsRoUxSitt5XYfAxlhGd01IoqDCzNMI=; b=lREddJrjYcgpAVCtOAgAlssSSf2axJNpLJjzO3WUv+ybmrXfCzKKaHEvcjCVUUU1wOaKVM YUbWQPpSOSqM3XE4TVlYxa5KJA471lc3O5RhAv/FriO7mC9R8awlccErd7GW4pIM4mxKfD uiqscc9cLRIHda0q9c02OgVNnwZx4WflHsll1qVAO8NzfLiN/hQHnh96kVCnWQZ30ujYul ab6elbqRK9aAJjvi/z6DwKNyd78wlDsQAoWY6kL9mHkil6bPlyXTy8pIQXXMUmLgHVfo3g gQnVEkBGh5hMinFXZmLJZKM38rzrxNP70a71ZRbb5IQI8fds65FvYIhh4mVrhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328289; a=rsa-sha256; cv=none; b=qvpfVvIYwgdiHLHgwyXR5eEUfPJrNomjUQO/IgR9u2wLw7u8td0K5FPtBU+cATiAzvaPk8 HbCC2stGgqkhknC6om9dbS6kBWr8bMXkvGYbBl8w0IROguuJw7BKedhSnCJfO1rOOYDFXP EV6/i9wTcx3mmcYQ8In7DIfg1wqcgS2L6I+H515ZyCobvUupRpxcapeyUpEy2rrYVxA36U 2tK7btMvHcxeptmcUX4/CByTxmv5GvdwY3zTB7+5C9vPSyTFp0TmC4a+dcqYPWERi5bdvR MR6bkWo/BawdNoFoXL9H4oO6m/fn4h89BDF+VYn+2b9atEcbAXPQegy+keod8w== 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=1770328289; 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=w/KSXEqMcw9/GsRoUxSitt5XYfAxlhGd01IoqDCzNMI=; b=LKL5HIS2hGYcsS0URh8FAC3xwTfoaX4PMTdFq97Yd90xBeq92SOqnh7h4i9tDDBaiURL1D mv8SHwwnZxor+mEIr42K37vY9y3kG9A4UX6rC1am2fxLZjTVfCUDI9viuCRqtxCoj4Xm5H qdR4CPLk9IaDp6R+sK33RvYnwr6VdzB/JsKSIZhMYDEiuR7M1ZqlHspTl+NwCATc6/Rnk1 W41KyMu1c7Bms7l6XKSkgTNm83tZ5ZAl7Sh7VLaEbVgXwTGDfRpzs6QzFSozVE5No9p3f4 FrEqpuXCxrhSNCR4+aX8eWov2mXXBnawO6nuzd3gsPUMB1fMtILBV3o5cDR9Ug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBn37VKznjr for ; Thu, 05 Feb 2026 21:51:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18c18 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 8836e4876aec - stable/15 - INDEX.fonts: Minor maintenance List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8836e4876aec75359ed58557e83dbc41f4f6bf83 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:29 +0000 Message-Id: <698510e1.18c18.70e1248d@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=8836e4876aec75359ed58557e83dbc41f4f6bf83 commit 8836e4876aec75359ed58557e83dbc41f4f6bf83 Author: Alexander Ziaee AuthorDate: 2026-02-01 00:24:22 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:50:11 +0000 INDEX.fonts: Minor maintenance + Mention relevance of this file in the vt manual screen.font entry + The vidfont manual is in section one, not eight + Remove leftover blank line from freebsd tag removal MFC after: 3 days (cherry picked from commit 1f5795b6422a1c6e4b71fd7e93717522ccb822f9) --- share/man/man4/vt.4 | 3 +++ share/syscons/fonts/INDEX.fonts | 3 +-- share/vt/fonts/INDEX.fonts | 3 +-- stand/fonts/INDEX.fonts | 3 +-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/share/man/man4/vt.4 b/share/man/man4/vt.4 index 71682d23221c..1acd4e7c63e0 100644 --- a/share/man/man4/vt.4 +++ b/share/man/man4/vt.4 @@ -285,6 +285,9 @@ to the number. .It Va screen.font Set this value to the base name of the desired font file located in .Pa /boot/fonts . +The font must be specified in the +.Pa INDEX.fonts +file located there. Fonts can be converted for use with .Xr vtfontcvt 8 . .El diff --git a/share/syscons/fonts/INDEX.fonts b/share/syscons/fonts/INDEX.fonts index 3dc1f74f2bb0..104c260485f3 100644 --- a/share/syscons/fonts/INDEX.fonts +++ b/share/syscons/fonts/INDEX.fonts @@ -1,6 +1,5 @@ # -# -# database for vidfont(8) +# database for vidfont(1) # # Format :: # diff --git a/share/vt/fonts/INDEX.fonts b/share/vt/fonts/INDEX.fonts index dee9e855c42e..d398358299a3 100644 --- a/share/vt/fonts/INDEX.fonts +++ b/share/vt/fonts/INDEX.fonts @@ -1,6 +1,5 @@ # -# -# database for vidfont(8) +# database for vidfont(1) # # Format :: # diff --git a/stand/fonts/INDEX.fonts b/stand/fonts/INDEX.fonts index fc035c6b2e4e..d4287a570863 100644 --- a/stand/fonts/INDEX.fonts +++ b/stand/fonts/INDEX.fonts @@ -1,6 +1,5 @@ # -# -# database for vidfont(8) +# database for vidfont(1) # # Format :: # From nobody Thu Feb 5 21:51:28 2026 X-Original-To: dev-commits-src-branches@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 4f6WBm4T4vz6RGFv for ; Thu, 05 Feb 2026 21:51:28 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBm3CRzz3KxN for ; Thu, 05 Feb 2026 21:51:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L7zkImWbLxZe9bWIE8DgEO5Ww3KSnzlFWzLH5YVh58I=; b=sPX5QKyRslqVbOKEm+irAmovVlFIhB5UBAvu8g6iIZTi6CKJX9cgn6fnXeq0EQx0sC3TnJ KpkaP13Ygsq2khzuPgCn58kySZGLfzK6OQuQXotlwc3rJ+PClmz5yfINLp4iN42HM3xPeL WkugCZ2ad1f8yLeZL9rDg07MIBhgA1mTPreDBAiBKGZJpOjDZ/dYTAFoyenPUtyqnm8pJT suRKuL6b7a7d9ZPiTUWrYF9kESFjt1PbO6pN0vELMWU7pV9tIV8xvi/n+1ZxHU7UHOSg0G +FgHzqhdzplw67OjTWIygnBvjyag++ssldyGsvSUqqT68qvM9qZxmISZYIfmSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328288; a=rsa-sha256; cv=none; b=Grl5QzMwVrlhfNq2wff5lT3hLuxEYskhMjoORqKZdCTLUbZSw7Cpq/It3a+Nb4Cq7D7ZSR jqCnDVLKo0CsWOrF3kCcGRM1Lqu3vPQnZ+IqV7RLBLGxGDQFA47cj3UPljqrqo8dWyWixU pp3MPyXch+fl7XUl7x8VVVBzoaG0U2kKnTgdT1Ksdf1cAq8qg+mE3AWL3hA4oH+YxPDChF KMm5ApzTFGaIr0KFmCx3Vq9ihHioC7qkDXqhDnSRJg0Zrd+MfAwYJaXCg9wU4wgJVp6Xl5 66rStFRGRaRnYRDeAhijvNc8Qn7KQW1EgQB5asdUCuR5helKKezTVsOtJs5mPQ== 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=1770328288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L7zkImWbLxZe9bWIE8DgEO5Ww3KSnzlFWzLH5YVh58I=; b=oDQsqlcPT4T8eMlpBUmBwOVL5O5ALNdRnNI7xekOEa65QAcYKSFfC0zZOIrMgW/2a/YjXG v6w2+xfKle/M4/FsKfuPoDaemP1HyDE8vF8L54m70/ehZwCq9Wml1Qgop+lEn5e/Fk6Ggc kiw1gzZ5F0ATDd4enrL3NnTQ3SNe25sRw1olp5gqoC54ykmUxm/u61mL6ZVAtpKly2ZH18 D39y4YJArmJQYJe/pJLYBRLtBVjA/zvlhlwyn07HlPyoUb3RhkI0oG8ds1KopHkShgeEqP QeMyccWuLWrumydqYpL+9u5DeuwYkcNMsOQMH4440knrOM3j07C9HgUq0jgWlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBm2ZyBzngN for ; Thu, 05 Feb 2026 21:51:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47e95 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Artem Bunichev From: Alexander Ziaee Subject: git: 0b5ced487a28 - stable/15 - sh.1: Provide detailed job control documentation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0b5ced487a2889e6ff812bd23d5a52d4aeef598c Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:28 +0000 Message-Id: <698510e0.47e95.23f5688b@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=0b5ced487a2889e6ff812bd23d5a52d4aeef598c commit 0b5ced487a2889e6ff812bd23d5a52d4aeef598c Author: Artem Bunichev AuthorDate: 2026-01-29 17:08:11 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:50:02 +0000 sh.1: Provide detailed job control documentation Adopt the POSIX standard text to our implementation. PR: 206284 Reviewed by: des, jilles, ziaee Differential Revision: https://reviews.freebsd.org/D49895 (cherry picked from commit 2711852bd9ac3ab78d2b128d3549ff437d2a09af) --- bin/sh/sh.1 | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 182 insertions(+), 9 deletions(-) diff --git a/bin/sh/sh.1 b/bin/sh/sh.1 index b37e4785c871..dc3ebfb17215 100644 --- a/bin/sh/sh.1 +++ b/bin/sh/sh.1 @@ -31,7 +31,17 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 17, 2025 +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. +.\" +.Dd January 27, 2026 .Dt SH 1 .Os .Sh NAME @@ -254,10 +264,9 @@ Force the shell to behave interactively. .It Fl l Force the shell to act as if it has been invoked as a login shell. .It Fl m Li monitor -Turn on job control (set automatically when interactive). -A new process group is created for each pipeline (called a job). -It is possible to suspend jobs or to have them run in the foreground or -in the background. +Turn on job control (see +.Sx Job Control ) . +Set automatically when interactive. In a non-interactive shell, this option can be set even if no terminal is available and is useful to place processes in separate process groups. @@ -1120,7 +1129,9 @@ and known jobs are cleared. Any changes do not affect the parent shell environment. .Pp A subshell environment may be implemented as a child process or differently. -If job control is enabled in an interactive shell, +If job control is enabled in an interactive shell +(see +.Sx Job Control ) , commands grouped in parentheses can be suspended and continued as a unit. .Pp For compatibility with other shells, @@ -1940,6 +1951,58 @@ if any). To include a .Ql - , make it the first or last character listed. +.Ss Job Control +A job is a set of processes, comprising a shell pipeline +(see +.Sx Pipelines ) , +and any processes descended from it, that are all +in the same process group. +.Pp +The job control facility allows users to +selectively suspend the execution of processes (by pressing +.Sq Ctrl-Z , +if not adjusted using +.Xr stty 1 ) , +continue their execution at a later point, +and run them in the foreground or in the background (using builtins +.Ic fg +and +.Ic bg ) . +.Pp +A job ID is a handle that is used to refer to a job. +It can take any of the following forms: +.Bl -tag -width "%?string" +.It Cm %% +Current job. +.It Cm %+ +Current job. +.It Cm %- +Previous job. +.It Cm % Ns Ar n +Job number +.Ar n . +.It Cm % Ns Ar string +Job whose command begins with +.Ar string . +.It Cm %? Ns Ar string +Job whose command contains +.Ar string . +.El +.Pp +The job control built-in commands +are: +.Ic bg , +.Ic fg , +.Ic jobid +and +.Ic jobs . +Additionally, the following built-in commands accept a job ID +as an argument: +.Ic kill , +.Ic wait . +See +.Sx Built-in Commands +below. .Ss Built-in Commands This section lists the built-in commands. .Bl -tag -width indent @@ -1993,6 +2056,9 @@ subsection. Continue the specified jobs (or the current job if no jobs are given) in the background. +See +.Sx Job Control +for a list of job ID forms. .It Ic bind Oo Fl aeklrsv Oc Oo Ar key Oo Ar command Oc Oc List or alter key bindings for the line editor. This command is documented in @@ -2353,6 +2419,9 @@ The number of previous commands that are accessible. Move the specified .Ar job or the current job to the foreground. +See +.Sx Job Control +for a list of job ID forms. .It Ic getopts Ar optstring var Parse command-line options and arguments. The first argument @@ -2436,19 +2505,118 @@ Print the process IDs of the processes in the specified If the .Ar job argument is omitted, use the current job. +See +.Sx Job Control +for a list of job ID forms. .It Ic jobs Oo Fl lps Oc Op Ar job ... Print information about the specified jobs, or all jobs if no .Ar job argument is given. -The information printed includes job ID, status and command name. +See +.Sx Job Control +for a list of job ID forms. .Pp If the .Fl l -option is specified, the PID of each job is also printed. +option is not specified, the output line is the following +for each job: +.Dl Oo Ar job_number Oc Ar current Ar state Ar command +where: +.Bl -tag -width "job_number" +.It Ar job_number +A number that can be used to identify the process group to the +.Ic bg , +.Ic fg , +.Ic kill +and +.Ic wait +commands. +Using these commands, the job can be identified by prefixing +the +.Ar job_number +with +.Cm % . +See also +.Sx Job Control . +.It Ar current +One of the following characters: +.Bl -tag -width "" +.It Cm + +Identifies the job that would be used as a default for the +.Ic fg +or +.Ic bg +commands. +.It Cm - +Identifies the job that would become the default if the +current default job were to exit. +.It Cm Aq space +For all other jobs that are neither marked with +.Cm + +nor +.Cm - . +.El +.It Ar state +One of the following strings, describing the current job state: +.Bl -tag -width "Stopped (tty output)" +.It Running +Indicates that the job has not been suspended by a signal and +has not exited. +.It Done +Indicates that the job completed and returned exit status zero. +.It Done Ns Pq Ar code +Indicates that the job completed normally and that it exited +with the specified non-zero exit status, +.Ar code . +.It Suspended +Indicates that the job was interrupted by the +.Dv SIGTSTP +signal. +This is typically because +.Sq Ctrl-Z +was pressed. +.It Suspended Pq signal +Indicates that the job was interrupted by the +.Dv SIGSTOP +signal. +.It Stopped Pq tty input +Indicates that the job was interrupted by the +.Dv SIGTTIN +signal. +This is typically because the command attempted to read from the +terminal while in the background. +.It Stopped Pq tty output +Indicates that the job was interrupted by the +.Dv SIGTTOU +signal. +This is typically because the command attempted to change terminal +settings or (if +.Ic stty tostop +is in effect; see +.Xr stty 1 ) +write to the terminal while in the background. +.El +.Pp +See +.Xr signal 3 +for additional information on the meanings of the aforementioned signals. +.El +.It Ar command +The associated command that was given to the shell. +.El +.Pp +If the +.Fl l +option is specified, the PID of the job is +inserted before the +.Ar state +field. +.Pp If the .Fl p option is specified, only the process IDs for the process group leaders are printed, one per line. +.Pp If the .Fl s option is specified, only the PIDs of the job commands are printed, one per @@ -2456,7 +2624,11 @@ line. .It Ic kill A built-in equivalent of .Xr kill 1 -that additionally supports sending signals to jobs. +that additionally supports sending signals to jobs, +by means of specifying their job IDs as arguments. +See +.Sx Job Control +for a list of job ID forms. .It Ic local Oo Ar variable ... Oc Op Fl See the .Sx Functions @@ -2941,6 +3113,7 @@ will return the argument. .Xr execve 2 , .Xr getrlimit 2 , .Xr umask 2 , +.Xr signal 3 , .Xr wctype 3 , .Xr editrc 5 , .Xr shells 5 From nobody Thu Feb 5 21:51:30 2026 X-Original-To: dev-commits-src-branches@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 4f6WBq13bcz6RG2R for ; Thu, 05 Feb 2026 21:51:31 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBp4ljlz3Kms for ; Thu, 05 Feb 2026 21:51:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328290; 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=ZNYP3fYXlaXbbcfl2AH9WrH3/Ef6/KpVMt30fToEuDU=; b=T5qHDH0fndt9Dv82z6J3i318eXx91FcP60SgQpFi55igxe8Ysjp8jeo9hYqWt8Bj0ju848 JQRIJ/mw5VFMrWjYmovg4TFux+d3iV4p+mZuiV/7EMlgoDUJuH/mm+9e5ZTABbc20OQIwA aH84T+sa5mvgoK9koXELJd8MWqy1qk1e+9jzF7XOmZIQCfVFC/u5KePD5GcC41blAb6QgO YwCCLQ423bnFM2jF+OiPUnlnlASjBhiXzdgB1taws2SCx026ZlCyWtQkaz6XLIz/gpczci /PUN+0cf6tom213tNT+zDO9TiI+YK0xsBgsmxx4c+Tk3vT1It6DKNC/zS2R8ig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328290; a=rsa-sha256; cv=none; b=Frywp6XhqSyDSkKZUsPBQsVkwoxITnuHVL1oISefta1LKv5UvJmdthwMm73lFOxMplXMMR SkGPK1RxPYgPW8NmLTGOtgUhkltsUZgo4av0iKzWmo6RCYJQMjSFEzV/tQQejYUiwCvC1K g+vcKYqKxBDDsmEM8rYNCR0eKrZhfIEbJNoFoxN9BXf9VBF0zppa6lBSyDDV0wFVFlVPZi phMy++3331jw9Ei+pnxx39pESKV20H2lKrKee1lMmpedBgSEOl7khKj4mJStd0epqOdfwk Vkvx7LJFAJk6TWh9K9F8ZtLsS1USKBamo0va+QRcir0GewHTrMMAIELrDgR92g== 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=1770328290; 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=ZNYP3fYXlaXbbcfl2AH9WrH3/Ef6/KpVMt30fToEuDU=; b=oTUJgPPBuCnYm1MitYFcoSQKJIYb1PrbLK7C7/0NwTpi2OucLrywb7tgmJxWZIoqfDBqRM r38qFdvZ6e84O2t2XXEe+IqnwZuvk6t0kIBXRxkNj82HaT9E3OI3OaS92W8Lt1gVTJM3q7 hkVEC3oDjxU2QXfethlWAmLgynWXXa+EWpeR/k4TsBJgRjUOg0m1oDavTExIN35cbVTtdt yDNtr3t5v17B8kF5HIsor/zQR/67wl6yeLFx1wJA81qrMnCCaz+dGPdDc7gyKTgmRTEp8p RprbWLrDIa08GNNSgAKT3YjkkYTgDYpihPZp/khz/Sr7KZ7dqKBiH3TQAGDMaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBp43NdznNV for ; Thu, 05 Feb 2026 21:51:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18ef6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: da4c7b4518dd - stable/15 - contrib/spleen: Update to 2.2.O List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: da4c7b4518ddc7c395ea476b1c543ee01034962c Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:30 +0000 Message-Id: <698510e2.18ef6.644e3e17@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=da4c7b4518ddc7c395ea476b1c543ee01034962c commit da4c7b4518ddc7c395ea476b1c543ee01034962c Author: Alexander Ziaee AuthorDate: 2026-02-01 15:25:11 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:50:33 +0000 contrib/spleen: Update to 2.2.O This release adds several new characters critical to the manual pages that were previously missing on high-dpi displays: em-dash, en-dash, hyphen, angle brackets, white square, dagger, and double dagger. It also features improved alignment for numerous characters in different sizes. Thanks: Fredric Cambus MFC after: 3 days Discussed with: emaste (cherry picked from commit 0d602f923ed8a889c3a848ab9f19aa52f917f6ee) --- contrib/spleen/ChangeLog | 24 + contrib/spleen/LICENSE | 2 +- contrib/spleen/README.md | 15 +- contrib/spleen/spleen-12x24.bdf | 364 ++++++++++++-- contrib/spleen/spleen-16x32.bdf | 391 ++++++++++++++- contrib/spleen/spleen-32x64.bdf | 1003 ++++++++++++++++++++++++++++++++------- contrib/spleen/spleen-5x8.bdf | 8 +- contrib/spleen/spleen-6x12.bdf | 8 +- contrib/spleen/spleen-8x16.bdf | 219 ++++++++- 9 files changed, 1787 insertions(+), 247 deletions(-) diff --git a/contrib/spleen/ChangeLog b/contrib/spleen/ChangeLog index bbe2cd4d422e..f5e090671741 100644 --- a/contrib/spleen/ChangeLog +++ b/contrib/spleen/ChangeLog @@ -1,3 +1,27 @@ +Spleen 2.2.0 (2026-02-01) + +- Add stand alone caron in the 8x16, 12x24, 16x32, and 32x64 versions +- Fix stand alone breve in the 12x24 version +- Add white square symbol in the 8x16, 16x32, and 32x64 versions +- Add dagger and double dagger symbols in the 8x16, 12x24, 16x32, and + 32x64 versions +- Fix black and white squares alignment in the 16x32 and 32x64 versions +- Add black and white square characters in the 12x24 version +- Add hyphen, along with en and em dashes in the 8x16, 12x24, 16x32, and + 32x64 versions +- Add mathematical left and right angle brackets in the 8x16, 12x24, 16x32, + and 32x64 versions +- Fix right parenthesis alignment in the 32x64 version +- Fix right curly bracket alignment in the 12x24 version +- Fix less-than sign alignment in the 12x24 version + +- Makefile: replace BSD Make .for loops with portable dependency rules, + the project can now be built with both BSD Make and GNU Make +- Add 'woff' and 'woff2' targets to generate WOFF and WOFF2 versions +- Add tests for validating and sanitizing OTF, WOFF and WOFF2 fonts + + + Spleen 2.1.0 (2024-03-22) - Document how wsfont header files (for OpenBSD and NetBSD) are generated diff --git a/contrib/spleen/LICENSE b/contrib/spleen/LICENSE index 4387948e8467..6928cd0fc323 100644 --- a/contrib/spleen/LICENSE +++ b/contrib/spleen/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2018-2024, Frederic Cambus +Copyright (c) 2018-2026, Frederic Cambus All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/contrib/spleen/README.md b/contrib/spleen/README.md index a80773ec8420..12771f96019e 100644 --- a/contrib/spleen/README.md +++ b/contrib/spleen/README.md @@ -26,8 +26,8 @@ Spleen is a monospaced bitmap font available in 6 sizes: Each size is provided in the Glyph Bitmap Distribution Format (BDF), and release tarballs contain the fonts in the following formats: `PCF`, `PSF` -(for the Linux console), `OTB`, `OTF`, `.dfont` for macOS users, and `FON` -for Windows users. +(for the Linux console), `OTB`, `OTF`, `WOFF`, `WOFF2`, `.dfont` for macOS +users, and `FON` for Windows users. All font sizes contain all ISO/IEC 8859-1 characters (Basic Latin and Latin-1 Supplement Unicode block), Latin Extended-A characters, as well as Box Drawing, @@ -198,6 +198,15 @@ disabled. - Spleen 16x32: 24 Pt (32 pixels) - Spleen 32x64: 48 Pt (64 pixels) +### Web Fonts + +Release tarballs provide WOFF and WOFF2 versions suitable for use on the Web. + +As with the OpenType versions from which they are generated, WOFF and WOFF2 +fonts should be used at their native pixel sizes, with font smoothing and +anti-aliasing disabled when possible, to preserve the original bitmap +appearance. + ## License Spleen is released under the BSD 2-Clause license. See `LICENSE` file for @@ -246,7 +255,7 @@ GitHub: https://github.com/fcambus/spleen [11]: https://www.freshports.org/x11-fonts/spleen/ [12]: https://aur.archlinux.org/packages/spleen-font/ [13]: https://github.com/void-linux/void-packages/tree/master/srcpkgs/font-spleen -[14]: https://github.com/NixOS/nixpkgs/tree/master/pkgs/data/fonts/spleen +[14]: https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/sp/spleen [15]: https://packages.debian.org/search?keywords=spleen [16]: https://packages.ubuntu.com/search?keywords=spleen [17]: https://ports.macports.org/port/font-spleen/ diff --git a/contrib/spleen/spleen-12x24.bdf b/contrib/spleen/spleen-12x24.bdf index 1c4fa12beb9a..5e757ae3d8ad 100644 --- a/contrib/spleen/spleen-12x24.bdf +++ b/contrib/spleen/spleen-12x24.bdf @@ -1,11 +1,11 @@ STARTFONT 2.1 COMMENT /* -COMMENT * Spleen 12x24 2.1.0 -COMMENT * Copyright (c) 2018-2024, Frederic Cambus +COMMENT * Spleen 12x24 2.2.0 +COMMENT * Copyright (c) 2018-2026, Frederic Cambus COMMENT * https://www.cambus.net/ COMMENT * COMMENT * Created: 2018-08-15 -COMMENT * Last Updated: 2024-03-22 +COMMENT * Last Updated: 2026-01-31 COMMENT * COMMENT * Spleen is released under the BSD 2-Clause license. COMMENT * See LICENSE file for details. @@ -18,7 +18,7 @@ FONTBOUNDINGBOX 12 24 0 -5 STARTPROPERTIES 20 FAMILY_NAME "Spleen" WEIGHT_NAME "Medium" -FONT_VERSION "2.1.0" +FONT_VERSION "2.2.0" FOUNDRY "misc" SLANT "R" SETWIDTH_NAME "Normal" @@ -33,11 +33,11 @@ CHARSET_ENCODING "1" MIN_SPACE 12 FONT_ASCENT 19 FONT_DESCENT 5 -COPYRIGHT "Copyright (c) 2018-2024, Frederic Cambus" +COPYRIGHT "Copyright (c) 2018-2026, Frederic Cambus" DEFAULT_CHAR 32 _GBDFED_INFO "Edited with gbdfed 1.6." ENDPROPERTIES -CHARS 916 +CHARS 926 STARTCHAR SPACE ENCODING 32 SWIDTH 500 0 @@ -916,7 +916,6 @@ BITMAP 0000 0000 0000 -0060 00C0 0180 0300 @@ -924,13 +923,14 @@ BITMAP 0C00 1800 3000 +6000 +3000 1800 0C00 0600 0300 0180 00C0 -0060 0000 0000 0000 @@ -2928,28 +2928,28 @@ DWIDTH 12 0 BBX 12 24 0 -5 BITMAP 0000 -3C00 +7800 +0C00 +0600 +0600 +0600 +0600 +0600 +0600 0600 0300 -0300 -0300 -0300 -0300 -0300 -0300 -0180 -00E0 -00E0 -0180 -0300 -0300 -0300 -0300 -0300 -0300 +01C0 +01C0 0300 0600 -3C00 +0600 +0600 +0600 +0600 +0600 +0600 +0C00 +7800 0000 ENDCHAR STARTCHAR TILDE @@ -11725,13 +11725,44 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR CARON +ENCODING 711 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +30C0 +1980 +0F00 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR BREVE ENCODING 728 SWIDTH 500 0 DWIDTH 12 0 BBX 12 24 0 -5 BITMAP -30C0 +1980 1980 0F00 0000 @@ -14236,6 +14267,99 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR HYPHEN +ENCODING 8208 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +1F80 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR EN DASH +ENCODING 8211 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +3FC0 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR EM DASH +ENCODING 8212 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +3FC0 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR DOUBLE VERTICAL LINE ENCODING 8214 SWIDTH 500 0 @@ -14391,6 +14515,68 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR DAGGER +ENCODING 8224 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0600 +0600 +0600 +3FC0 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0000 +0000 +0000 +ENDCHAR +STARTCHAR DOUBLE DAGGER +ENCODING 8225 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0600 +0600 +0600 +3FC0 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +3FC0 +0600 +0600 +0600 +0000 +0000 +0000 +ENDCHAR STARTCHAR BULLET ENCODING 8226 SWIDTH 500 0 @@ -19661,6 +19847,68 @@ FFF0 FFF0 FFF0 ENDCHAR +STARTCHAR BLACK SQUARE +ENCODING 9632 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR WHITE SQUARE +ENCODING 9633 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +3FC0 +30C0 +30C0 +30C0 +30C0 +30C0 +30C0 +30C0 +30C0 +30C0 +30C0 +3FC0 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR BLACK DIAMOND ENCODING 9670 SWIDTH 500 0 @@ -20281,6 +20529,68 @@ FFE0 0000 0000 ENDCHAR +STARTCHAR MATHEMATICAL LEFT ANGLE BRACKET +ENCODING 10216 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0300 +0300 +0600 +0600 +0C00 +0C00 +1800 +1800 +1800 +0C00 +0C00 +0600 +0600 +0300 +0300 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR MATHEMATICAL RIGHT ANGLE BRACKET +ENCODING 10217 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0C00 +0C00 +0600 +0600 +0300 +0300 +0180 +0180 +0180 +0300 +0300 +0600 +0600 +0C00 +0C00 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR BRAILLE PATTERN BLANK ENCODING 10240 SWIDTH 500 0 diff --git a/contrib/spleen/spleen-16x32.bdf b/contrib/spleen/spleen-16x32.bdf index 4d27a4ba1939..48cbf3223799 100644 --- a/contrib/spleen/spleen-16x32.bdf +++ b/contrib/spleen/spleen-16x32.bdf @@ -1,11 +1,11 @@ STARTFONT 2.1 COMMENT /* -COMMENT * Spleen 16x32 2.1.0 -COMMENT * Copyright (c) 2018-2024, Frederic Cambus +COMMENT * Spleen 16x32 2.2.0 +COMMENT * Copyright (c) 2018-2026, Frederic Cambus COMMENT * https://www.cambus.net/ COMMENT * COMMENT * Created: 2018-08-12 -COMMENT * Last Updated: 2024-03-22 +COMMENT * Last Updated: 2026-01-29 COMMENT * COMMENT * Spleen is released under the BSD 2-Clause license. COMMENT * See LICENSE file for details. @@ -18,7 +18,7 @@ FONTBOUNDINGBOX 16 32 0 -6 STARTPROPERTIES 20 FAMILY_NAME "Spleen" WEIGHT_NAME "Medium" -FONT_VERSION "2.1.0" +FONT_VERSION "2.2.0" FOUNDRY "misc" SLANT "R" SETWIDTH_NAME "Normal" @@ -33,11 +33,11 @@ CHARSET_ENCODING "1" MIN_SPACE 16 FONT_ASCENT 26 FONT_DESCENT 6 -COPYRIGHT "Copyright (c) 2018-2024, Frederic Cambus" +COPYRIGHT "Copyright (c) 2018-2026, Frederic Cambus" DEFAULT_CHAR 32 _GBDFED_INFO "Edited with gbdfed 1.6." ENDPROPERTIES -CHARS 969 +CHARS 978 STARTCHAR SPACE ENCODING 32 SWIDTH 500 0 @@ -14780,6 +14780,45 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR CARON +ENCODING 711 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0E70 +07E0 +03C0 +0180 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR BREVE ENCODING 728 SWIDTH 500 0 @@ -18407,6 +18446,123 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR HYPHEN +ENCODING 8208 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +1FF8 +1FF8 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR EN DASH +ENCODING 8211 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +3FFC +3FFC +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR EM DASH +ENCODING 8212 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +3FFC +3FFC +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR DOUBLE VERTICAL LINE ENCODING 8214 SWIDTH 500 0 @@ -18602,6 +18758,84 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR DAGGER +ENCODING 8224 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0180 +0180 +0180 +0180 +1FF8 +1FF8 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR DOUBLE DAGGER +ENCODING 8225 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0180 +0180 +0180 +0180 +1FF8 +1FF8 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +1FF8 +1FF8 +0180 +0180 +0180 +0180 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR BULLET ENCODING 8226 SWIDTH 500 0 @@ -25987,23 +26221,62 @@ BITMAP 0000 0000 0000 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 +0000 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR WHITE SQUARE +ENCODING 9633 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 0000 0000 0000 +1FF8 +1FF8 +1818 +1818 +1818 +1818 +1818 +1818 +1818 +1818 +1818 +1818 +1FF8 +1FF8 +0000 +0000 0000 0000 0000 @@ -27260,6 +27533,84 @@ F800 0000 0000 ENDCHAR +STARTCHAR MATHEMATICAL LEFT ANGLE BRACKET +ENCODING 10216 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0070 +00E0 +00E0 +01C0 +01C0 +0380 +0380 +0700 +0700 +0E00 +0E00 +0700 +0700 +0380 *** 1574 LINES SKIPPED *** From nobody Thu Feb 5 21:51:31 2026 X-Original-To: dev-commits-src-branches@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 4f6WBr1LCgz6RG9q for ; Thu, 05 Feb 2026 21:51:32 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WBq4tm0z3Kdx for ; Thu, 05 Feb 2026 21:51:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328291; 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=3Y8xgxYEkhrYmRkvg+L5Ksek9qAFytdxdQg2VAmaEbA=; b=pMFPbixbQQvcWb9k49eZXi41DtjA2x+H+4/2NQC07qfcxtyckH742EPosPQwYa87mspEbU OjlqoKMsV+zwHAiM+gSvCEmvFInyl7leF5gc6NfTshPBmiENxNhis2RrPnEdDbS7iPLpWP T7cDh7etHRQc83wdNxYeOz4W8ymhTzmjvVNbTfbwP4IrshPrD6tIq/8Qk3BmftjfUoHOUS wLgHt9wxgfpD58QR3NLrjvzadSa9yOlv8kod9vqHFMXpp7eqi3gNdLw758vEyJIVt1dUfB g0ADTNmEJnX46cOveF0wzrq3u7ZctgFIM9G6ERowkEhynlpMQgBMxi9f/kE63g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328291; a=rsa-sha256; cv=none; b=q8VToWFu1rg+AH8+pHo3yacXONDOe/KemTSCLLv1ocoIv8CxQAf9ABIpCQcGj38fEuJ7JD Bn3sqEB9gx78W/5EffKn5Nb/rnJpYU1K1cKPxnhQcS6cXJLgMA6jWWMR0vkaKo4UTPswKJ djscSI+47ePLj7cl1B9pZDhOuHYgesjhTO7tnxtMlQsiDYldJTMj990elkYnNdrzCr6fer khZEaykDNkoI8ZDYEK5o24wkwKxY7H6CurwX50IPVJkaZAOFGiKGz6yyMiL9TXzwYUQfQH TsIB8hjFfH/oOLOOn4pNS1hMUOot/58/6TOfpKk5OmT6nW2zQW0xCjH2uFXZnQ== 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=1770328291; 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=3Y8xgxYEkhrYmRkvg+L5Ksek9qAFytdxdQg2VAmaEbA=; b=WKIo3xVvOKibCqyVRmO1JoL/DMVGpaJPrbClFyrq/AoK5rOjZ6EZslSJ/nfbWhmprF69Zs vxERHOjzyW7vvFhxIhdvd1pb6JUf37jp+QHxo0GgR/jE8nh2Aygt5Y3cSJTyOKNhVcvLTk FTu1A5CUlgxHIGSu/Aqme7cdc1Fp/wKKg7MrU9LDTSgvN/AnT1NGTFtH25yYB4UNnFMrlF RddcTJt3xkqJDiHdjKIKLPe0TEgWUTo5vlh7R01rc6vPHe6DDVD4v+0JYvF4UrStQRfY86 1zc/ophv+AV8bnM6ZVE3Q4CET7BQZXucYiyzS1gGeoW2qgWTZGjiORObxm9nMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WBq4MNmznjt for ; Thu, 05 Feb 2026 21:51:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18fab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:51:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 51cb927eb716 - stable/15 - vt.4: Sprinkle mdoc macros List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 51cb927eb71682f5dfcebdaa56b6f95623b6038a Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:51:31 +0000 Message-Id: <698510e3.18fab.37b28069@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=51cb927eb71682f5dfcebdaa56b6f95623b6038a commit 51cb927eb71682f5dfcebdaa56b6f95623b6038a Author: Alexander Ziaee AuthorDate: 2026-02-01 00:16:34 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:50:46 +0000 vt.4: Sprinkle mdoc macros Now that we have angle bracket characters for all common display sizes, sprinkle in the correct macros for the structures in this page. While here, fix a mdoc typo, a linter warning, and switch a parenthetical to a much smoother appositive. MFC after: 3 days Fixes: 7cd6da268a8f (vt.4: Style pass) (cherry picked from commit a97ed3a39c1044dd1b8056d68a76de74821f2bff) --- share/man/man4/vt.4 | 70 ++++++++++++++++++++++++++--------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/share/man/man4/vt.4 b/share/man/man4/vt.4 index 1acd4e7c63e0..5454fe0a48e6 100644 --- a/share/man/man4/vt.4 +++ b/share/man/man4/vt.4 @@ -32,38 +32,38 @@ .Nm vt .Nd virtual terminal system video console driver .Sh SYNOPSIS -.Cd "options TERMINAL_KERN_ATTR=" -.Cd "options TERMINAL_NORM_ATTR=" -.Cd "options VT_MAXWINDOWS=" -.Cd "options VT_ALT_TO_ESC_HACK=1" -.Cd "options VT_TWOBUTTON_MOUSE" -.Cd "options VT_FB_MAX_WIDTH=" -.Cd "options VT_FB_MAX_HEIGHT=" -.Cd "options SC_NO_CUTPASTE" -.Cd "device vt" +.Cd options TERMINAL_KERN_ATTR= Ns Ao Ar attribute Ac +.Cd options TERMINAL_NORM_ATTR= Ns Ao Ar attribute Ac +.Cd options VT_MAXWINDOWS= Ns Ao Ar N Ac +.Cd options VT_ALT_TO_ESC_HACK= Ns Ar 1 +.Cd options VT_TWOBUTTON_MOUSE +.Cd options VT_FB_MAX_WIDTH= Ns Ao Ar X Ac +.Cd options VT_FB_MAX_HEIGHT= Ns Ao Ar Y Ac +.Cd options SC_NO_CUTPASTE +.Cd device vt .Pp In .Xr loader.conf 5 : -.Cd "hw.vga.textmode=1" -.Cd "hw.vga.acpi_ignore_no_vga=1" -.Cd "kern.vty=vt" -.Cd "kern.vt.color..rgb=" -.Cd "kern.vt.fb.default_mode=x" -.Cd "kern.vt.fb.modes.=x" -.Cd "kern.vt.slow_down=" -.Cd "screen.font=x" +.Cd hw.vga.textmode= Ns Ar 1 +.Cd hw.vga.acpi_ignore_no_vga= Ns Ar 1 +.Cd kern.vty= Ns Ar vt +.Cd kern.vt.color. Ns Ao Ar colornum Ac Ns .rgb= Ns Ao Ar colorspec Ac +.Cd kern.vt.fb.default_mode= Ns Ao Ar X Ac Ns x Ns Ao Ar Y Ac +.Cd kern.vt.fb.modes. Ns Ao Ar connector Ac Ns = Ns Ao Ar X Ac Ns x Ns Ao Ar Y Ac +.Cd kern.vt.slow_down= Ns Ao Ar delay Ac +.Cd screen.font= Ns Ao Ar X Ac Ns x Ns Ao Ar Y Ac .Pp In .Xr loader.conf 5 or .Xr sysctl.conf 5 : -.Cd kern.consmute=1 -.Cd kern.vt.kbd_halt=1 -.Cd kern.vt.kbd_poweroff=1 -.Cd kern.vt.kbd_reboot=1 -.Cd kern.vt.kbd_debug=1 -.Cd kern.vt.kbd_panic=0 -.Cd kern.vt.enable_altgr=0 -.Cd kern.vt.enable_bell=1 +.Cd kern.consmute= Ns Ar 1 +.Cd kern.vt.kbd_halt= Ns Ar 1 +.Cd kern.vt.kbd_poweroff= Ns Ar 1 +.Cd kern.vt.kbd_reboot= Ns Ar 1 +.Cd kern.vt.kbd_debug= Ns Ar 1 +.Cd kern.vt.kbd_panic= Ns Ar 0 +.Cd kern.vt.enable_altgr= Ns Ar 0 +.Cd kern.vt.enable_bell= Ns Ar 1 .Sh DESCRIPTION The .Nm @@ -130,8 +130,8 @@ These kernel options control the .Nm driver. .Bl -tag -width MAXCONS -.It Dv TERMINAL_NORM_ATTR= -.It Dv TERMINAL_KERN_ATTR= +.It Dv TERMINAL_NORM_ATTR= Ns Ao Ar attribute Ac +.It Dv TERMINAL_KERN_ATTR= Ns Ao Ar attribute Ac These options change the default colors used for normal and kernel text. Available colors are defined in @@ -139,11 +139,11 @@ Available colors are defined in See .Sx EXAMPLES below. -.It Dv VT_MAXWINDOWS= +.It Dv VT_MAXWINDOWS= Ns Ao Ar N Ac Set the number of virtual terminals to be created to .Fa N . The value defaults to 12. -.It Dv VT_ALT_TO_ESC_HACK=1 +.It Dv VT_ALT_TO_ESC_HACK= Ns Ar 1 When the Alt key is held down while pressing another key, send an ESC sequence instead of the Alt key. .It Dv VT_TWOBUTTON_MOUSE @@ -152,10 +152,10 @@ In effect, this makes the right-hand mouse button perform a paste. These options are checked in the order shown. .It Dv SC_NO_CUTPASTE Disable mouse support. -.It VT_FB_MAX_WIDTH= +.It VT_FB_MAX_WIDTH= Ns Ao Ar X Ac Set the maximum width to .Fa X . -.It VT_FB_MAX_HEIGHT= +.It VT_FB_MAX_HEIGHT= Ns Ao Ar Y Ac Set the maximum height to .Fa Y . .El @@ -206,7 +206,7 @@ BIOS boot. Features that require graphics mode, like loadable fonts, will be disabled. .Pp -If a KMS driver is loaded the console will switch to (and remain in) +If a KMS driver is loaded the console will switch to, and remain in, graphics mode. Moreover this tunable has no effect with .Xr UEFI 8 @@ -234,9 +234,9 @@ Note that is not compatible with .Xr UEFI 8 boot. -.It Va kern.vt.color. Ns Ar colornum Ns . Ns Va rgb +.It Va kern.vt.color . Ns Ar colornum . Ns Va rgb Set this value to override default palette entry for color -.Pa colornum +.Ar colornum which should be in a range from 0 to 15 inclusive. The value should be either a comma-separated triplet of red, green, and blue values in a range from 0 to 255 or @@ -256,7 +256,7 @@ The mode is applied to all output connectors. This is currently only supported by the .Cm vt_fb backend when it is paired with a KMS video driver. -.It Va kern.vt.fb.modes. +.It Va kern.vt.fb.modes . Ns Ao Ar connector_name Ac Set this value to a graphic mode to override the default picked by the .Nm backend. From nobody Thu Feb 5 21:53:15 2026 X-Original-To: dev-commits-src-branches@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 4f6WDr545jz6RGgh for ; Thu, 05 Feb 2026 21:53:16 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WDq6yWgz3PwF for ; Thu, 05 Feb 2026 21:53:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aDYAEzHu5XfWtCk0DYmpaaNFmo+spgw9dW8tyqc8t80=; b=f9x7zpIAsWOttwxkMv0bC6B/RdaeEoV0HNa0GBNzrdIDaKI8YRWo7TikBm3hk7n7cRrR0M XyYhIX05peE9PtNgXLIVUZba9CR9OByZIzVqBMrNoD9zy6Y86zBgwl+9fuZn3PO6c58nQv ByB5Nv458tPMf04i9v/h1WRsoKmnMpMA8NJtXucTzTb7tEyLCkUTUfVudCABcVwhnN2xHy vlv+OxyuxTatPrwLdl+b+MfeMW0dncJjg+thoP4LFuCA1OCvAVPzk+qTj4mir83IiPiQbF u1GVnVwRITLuCyTE0vv9pmYUtMEfCS/p7Nrp1vzXonpqCwftwPTzP+PNLosrYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328396; a=rsa-sha256; cv=none; b=Ed9em12lh14UVTlkAj6+2QQrC5sa+Wc21XR1ETN0/taw7XvKxXxdPRBXmwYPV0RDROnsu0 NP1u3YX78Me8LaTWbcJfb89nzboH/3XJVfR+FHDHqbu6VypXEjHGye3H+EBlKTENHpl39K heP7/dVTgg9sG96LfVKx2JBJVX5s4aqq/1Q28FzDFhzWS21caw2GaZU7skiGDdb0iqhZTm 7tcxqmfotGW19T9mt1i+hTYQSKaGkNCohANhOh9kx1WtJfBq/gasuPeMfFmj7HYbZoyRkF +4pZqNwrjfwC/a1JV6xB5c4eX4y3+x1pqCxUIPoVyT9+VxHg6OVroNgCqLQ7mw== 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=1770328396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aDYAEzHu5XfWtCk0DYmpaaNFmo+spgw9dW8tyqc8t80=; b=RgXiK8E+rjliDRsAN8XWc/yYOWnHsiRE/VR5g73RhgWYa5sPliIK/3UnyqtdmOhhQFL3Wl ODhxJE6n7Al/nT5jPAAMStuOkv88xvMtEQd7Icj/meUKvinxiASeX2XidRuHm6J1CWXrrI tMKgr7f7Nd8xh6IRg5k6OC/31DBwJ4rJghYh9KMuHJWeYeBrkqQzIc8JJIXPHkbIZ8g2xr aD/qSuLAmik5MesLLwinwE9yex0Aehhcsbfnrf45gT2jhL+WfnKVYRc59P5287i90T1hHr 7HB4NYEqb4xsQUEqguWb0hn6LxED43Q8pjC/GE1aTt29AcHTKHUYzfYIbnLNqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WDq62KWznS0 for ; Thu, 05 Feb 2026 21:53:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 192be by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:53:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: David E. O'Brien From: Marius Strobl Subject: git: 46cf8869f807 - stable/15 - style(9): white space after ; and around binary operators List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 46cf8869f8079cf9053271786d9c6fd2292b7ce5 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:53:15 +0000 Message-Id: <6985114b.192be.61284d5e@gitrepo.freebsd.org> The branch stable/15 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=46cf8869f8079cf9053271786d9c6fd2292b7ce5 commit 46cf8869f8079cf9053271786d9c6fd2292b7ce5 Author: David E. O'Brien AuthorDate: 2025-10-15 05:22:00 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:52:32 +0000 style(9): white space after ; and around binary operators in for() loops. Also, use 'while', where only the conditional test of 'for' was used. Reviewed by: sjg (cherry picked from commit 0050289464fa56ec79e060b8d8378b9ff7145a0e) --- sys/arm/allwinner/aw_sid.c | 2 +- sys/cam/scsi/scsi_all.c | 2 +- sys/cam/scsi/scsi_enc_ses.c | 6 +++--- sys/crypto/chacha20/chacha.c | 6 +++--- sys/crypto/openssl/ossl_sha256.c | 4 ++-- sys/dev/aic7xxx/aic79xx.c | 4 ++-- sys/dev/aic7xxx/aic7xxx.c | 4 ++-- sys/dev/enetc/if_enetc.c | 6 +++--- sys/dev/hptmv/entry.c | 33 ++++++++++++++++----------------- sys/dev/hptmv/gui_lib.c | 12 +++++------- sys/dev/hptmv/hptproc.c | 2 +- sys/dev/mps/mps_sas.c | 4 ++-- sys/dev/mpt/mpt_raid.c | 4 ++-- sys/dev/nfe/if_nfe.c | 4 ++-- sys/dev/ocs_fc/ocs_mgmt.c | 14 +++++++------- sys/dev/ppc/ppc.c | 2 +- sys/dev/smartpqi/smartpqi_event.c | 6 +++--- sys/dev/smartpqi/smartpqi_queue.c | 4 ++-- sys/dev/sym/sym_hipd.c | 12 ++++++------ sys/dev/tws/tws.c | 13 ++++++------- sys/dev/tws/tws_services.c | 2 +- sys/fs/devfs/devfs_dir.c | 2 +- sys/fs/udf/osta.c | 4 ++-- sys/i386/i386/in_cksum_machdep.c | 2 +- sys/kern/kern_exit.c | 2 +- sys/kern/kern_malloc.c | 2 +- sys/kern/subr_devstat.c | 2 +- sys/kern/subr_prf.c | 2 +- sys/netinet/siftr.c | 2 +- sys/netpfil/ipfw/ip_dummynet.c | 4 ++-- 30 files changed, 82 insertions(+), 86 deletions(-) diff --git a/sys/arm/allwinner/aw_sid.c b/sys/arm/allwinner/aw_sid.c index ba5faca33c5e..932c2f189e51 100644 --- a/sys/arm/allwinner/aw_sid.c +++ b/sys/arm/allwinner/aw_sid.c @@ -297,7 +297,7 @@ aw_sid_attach(device_t dev) /* Register ourself so device can resolve who we are */ OF_device_register_xref(OF_xref_from_node(node), dev); - for (i = 0; i < sc->sid_conf->nfuses ;i++) {\ + for (i = 0; i < sc->sid_conf->nfuses; i++) { SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, sc->sid_conf->efuses[i].name, diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c index 9c097f52d136..fd128e69f1f1 100644 --- a/sys/cam/scsi/scsi_all.c +++ b/sys/cam/scsi/scsi_all.c @@ -686,7 +686,7 @@ scsi_op_desc(uint16_t opcode, struct scsi_inquiry_data *inq_data) opmask = 1 << pd_type; for (j = 0; j < num_tables; j++) { - for (i = 0;i < num_ops[j] && table[j][i].opcode <= opcode; i++){ + for (i = 0; i < num_ops[j] && table[j][i].opcode <= opcode; i++) { if ((table[j][i].opcode == opcode) && ((table[j][i].opmask & opmask) != 0)) return(table[j][i].desc); diff --git a/sys/cam/scsi/scsi_enc_ses.c b/sys/cam/scsi/scsi_enc_ses.c index 57eb2b1155b7..838eecf78ad6 100644 --- a/sys/cam/scsi/scsi_enc_ses.c +++ b/sys/cam/scsi/scsi_enc_ses.c @@ -2302,7 +2302,7 @@ ses_print_addl_data_sas_type0(char *sesname, struct sbuf *sbp, sbuf_putc(sbp, '\n'); if (addl->proto_data.sasdev_phys == NULL) return; - for (i = 0;i < addl->proto_hdr.sas->base_hdr.num_phys;i++) { + for (i = 0; i < addl->proto_hdr.sas->base_hdr.num_phys; i++) { phy = &addl->proto_data.sasdev_phys[i]; sbuf_printf(sbp, "%s: phy %d:", sesname, i); if (ses_elm_sas_dev_phy_sata_dev(phy)) @@ -2349,7 +2349,7 @@ ses_print_addl_data_sas_type1(char *sesname, struct sbuf *sbp, sbuf_printf(sbp, "Expander: %d phys", num_phys); if (addl->proto_data.sasexp_phys == NULL) return; - for (i = 0;i < num_phys;i++) { + for (i = 0; i < num_phys; i++) { exp_phy = &addl->proto_data.sasexp_phys[i]; sbuf_printf(sbp, "%s: phy %d: connector %d other %d\n", sesname, i, exp_phy->connector_index, @@ -2360,7 +2360,7 @@ ses_print_addl_data_sas_type1(char *sesname, struct sbuf *sbp, sbuf_printf(sbp, "Port: %d phys", num_phys); if (addl->proto_data.sasport_phys == NULL) return; - for (i = 0;i < num_phys;i++) { + for (i = 0; i < num_phys; i++) { port_phy = &addl->proto_data.sasport_phys[i]; sbuf_printf(sbp, "%s: phy %d: id %d connector %d other %d\n", diff --git a/sys/crypto/chacha20/chacha.c b/sys/crypto/chacha20/chacha.c index b5f51bd10cc9..0509b05cab22 100644 --- a/sys/crypto/chacha20/chacha.c +++ b/sys/crypto/chacha20/chacha.c @@ -138,7 +138,7 @@ chacha_encrypt_bytes(chacha_ctx *x,const u8 *m,u8 *c,u32 bytes) for (;;) { if (bytes < 64) { #ifndef KEYSTREAM_ONLY - for (i = 0;i < bytes;++i) tmp[i] = m[i]; + for (i = 0; i < bytes; ++i) tmp[i] = m[i]; m = tmp; #endif ctarget = c; @@ -160,7 +160,7 @@ chacha_encrypt_bytes(chacha_ctx *x,const u8 *m,u8 *c,u32 bytes) x13 = j13; x14 = j14; x15 = j15; - for (i = 20;i > 0;i -= 2) { + for (i = 20; i > 0; i -= 2) { QUARTERROUND( x0, x4, x8,x12) QUARTERROUND( x1, x5, x9,x13) QUARTERROUND( x2, x6,x10,x14) @@ -240,7 +240,7 @@ chacha_encrypt_bytes(chacha_ctx *x,const u8 *m,u8 *c,u32 bytes) if (bytes <= 64) { if (bytes < 64) { - for (i = 0;i < bytes;++i) ctarget[i] = c[i]; + for (i = 0; i < bytes; ++i) ctarget[i] = c[i]; } x->input[12] = j12; x->input[13] = j13; diff --git a/sys/crypto/openssl/ossl_sha256.c b/sys/crypto/openssl/ossl_sha256.c index 4613a9409b44..50cb9739d114 100644 --- a/sys/crypto/openssl/ossl_sha256.c +++ b/sys/crypto/openssl/ossl_sha256.c @@ -74,11 +74,11 @@ ossl_sha256_init(void *c_) unsigned int nn; \ switch ((c)->md_len) \ { case SHA224_DIGEST_LENGTH: \ - for (nn=0;nnh[nn]; (void)HOST_l2c(ll,(s)); } \ break; \ case SHA256_DIGEST_LENGTH: \ - for (nn=0;nnh[nn]; (void)HOST_l2c(ll,(s)); } \ break; \ default: \ diff --git a/sys/dev/aic7xxx/aic79xx.c b/sys/dev/aic7xxx/aic79xx.c index c5656177862f..d25f5de282d0 100644 --- a/sys/dev/aic7xxx/aic79xx.c +++ b/sys/dev/aic7xxx/aic79xx.c @@ -7788,8 +7788,8 @@ ahd_abort_scbs(struct ahd_softc *ahd, int target, char channel, } if (role != ROLE_TARGET) { - for (;i < maxtarget; i++) { - for (j = minlun;j < maxlun; j++) { + for (; i < maxtarget; i++) { + for (j = minlun; j < maxlun; j++) { u_int scbid; u_int tcl; diff --git a/sys/dev/aic7xxx/aic7xxx.c b/sys/dev/aic7xxx/aic7xxx.c index 31b07d61e9f4..ce7f8a062b49 100644 --- a/sys/dev/aic7xxx/aic7xxx.c +++ b/sys/dev/aic7xxx/aic7xxx.c @@ -5903,8 +5903,8 @@ ahc_abort_scbs(struct ahc_softc *ahc, int target, char channel, } if (role != ROLE_TARGET) { - for (;i < maxtarget; i++) { - for (j = minlun;j < maxlun; j++) { + for (; i < maxtarget; i++) { + for (j = minlun; j < maxlun; j++) { u_int scbid; u_int tcl; diff --git a/sys/dev/enetc/if_enetc.c b/sys/dev/enetc/if_enetc.c index 3a5d6ec23282..9a854aec2bff 100644 --- a/sys/dev/enetc/if_enetc.c +++ b/sys/dev/enetc/if_enetc.c @@ -848,7 +848,7 @@ enetc_hash_vid(uint16_t vid) bool bit; int i; - for (i = 0;i < 6;i++) { + for (i = 0; i < 6; i++) { bit = vid & BIT(i); bit ^= !!(vid & BIT(i + 6)); hash |= bit << i; @@ -1020,7 +1020,7 @@ enetc_msix_intr_assign(if_ctx_t ctx, int msix) ENETC_RBICR0_ICEN | ENETC_RBICR0_SET_ICPT(ENETC_RX_INTR_PKT_THR)); } vector = 0; - for (i = 0;i < sc->tx_num_queues; i++, vector++) { + for (i = 0; i < sc->tx_num_queues; i++, vector++) { tx_queue = &sc->tx_queues[i]; snprintf(irq_name, sizeof(irq_name), "txq%d", i); iflib_softirq_alloc_generic(ctx, &tx_queue->irq, @@ -1130,7 +1130,7 @@ enetc_isc_txd_encap(void *data, if_pkt_info_t ipi) } /* Now add remaining descriptors. */ - for (;i < ipi->ipi_nsegs; i++) { + for (; i < ipi->ipi_nsegs; i++) { desc = &queue->ring[pidx]; bzero(desc, sizeof(*desc)); desc->addr = segs[i].ds_addr; diff --git a/sys/dev/hptmv/entry.c b/sys/dev/hptmv/entry.c index 5c4718bf582f..f3d58f285b39 100644 --- a/sys/dev/hptmv/entry.c +++ b/sys/dev/hptmv/entry.c @@ -430,7 +430,7 @@ static void device_change(IAL_ADAPTER_T *pAdapter , MV_U8 channelIndex, int plug if(pVDev->pParent) { int iMember; - for(iMember = 0; iMember < pVDev->pParent->u.array.bArnMember; iMember++) + for (iMember = 0; iMember < pVDev->pParent->u.array.bArnMember; iMember++) if((PVDevice)pVDev->pParent->u.array.pMember[iMember] == pVDev) pVDev->pParent->u.array.pMember[iMember] = NULL; pVDev->pParent = NULL; @@ -984,7 +984,7 @@ fRegisterVdevice(IAL_ADAPTER_T *pAdapter) PVBus pVBus; int i,j; - for(i=0;iVDevices[i]); pLogical = pPhysical; while (pLogical->pParent) pLogical = pLogical->pParent; @@ -1027,8 +1027,7 @@ GetSpareDisk(_VBUS_ARG PVDevice pArray) PVDevice pVDevice, pFind = NULL; int i; - for(i=0;iVDevices[i]; if(!pVDevice) continue; @@ -1356,7 +1355,7 @@ unregister: goto unregister; } - for (i=0; ipCommandBlocks[i])); } @@ -1370,7 +1369,7 @@ unregister: memset((void *)pAdapter->pbus_dmamap, 0, sizeof(struct _BUS_DMAMAP) * MAX_QUEUE_COMM); pAdapter->pbus_dmamap_list = 0; - for (i=0; i < MAX_QUEUE_COMM; i++) { + for (i = 0; i < MAX_QUEUE_COMM; i++) { PBUS_DMAMAP pmap = &(pAdapter->pbus_dmamap[i]); pmap->pAdapter = pAdapter; dmamap_put(pmap); @@ -1398,7 +1397,7 @@ unregister: pAdapter->prdTableAlignedAddr = (PUCHAR)(((ULONG_PTR)pAdapter->prdTableAddr + 0x1f) & ~(ULONG_PTR)0x1fL); { PUCHAR PRDTable = pAdapter->prdTableAlignedAddr; - for (i=0; ipFreePRDLink=%p\n",i,pAdapter->pFreePRDLink)); */ FreePRDTable(pAdapter, PRDTable); @@ -1447,7 +1446,7 @@ unregister: } #ifdef SUPPORT_ARRAY - for(i = MAX_ARRAY_DEVICE - 1; i >= 0; i--) { + for (i = MAX_ARRAY_DEVICE - 1; i >= 0; i--) { pVDev = ArrayTables(i); mArFreeArrayTable(pVDev); } @@ -1467,7 +1466,7 @@ unregister: _vbus_p->nInstances = 1; fRegisterVdevice(pAdapter); - for (channel=0;channelpVDevice[channel]; if (pVDev && pVDev->vf_online) fCheckBootable(pVDev); @@ -1567,7 +1566,7 @@ fResetActiveCommands(PVBus _vbus_p) { MV_SATA_ADAPTER *pMvSataAdapter = &((IAL_ADAPTER_T *)_vbus_p->OsExt)->mvSataAdapter; MV_U8 channel; - for (channel=0;channel< MV_SATA_CHANNELS_NUM;channel++) { + for (channel = 0; channel < MV_SATA_CHANNELS_NUM; channel++) { if (pMvSataAdapter->sataChannel[channel] && pMvSataAdapter->sataChannel[channel]->outstandingCommands) MvSataResetChannel(pMvSataAdapter,channel); } @@ -1590,7 +1589,7 @@ check_cmds: dataxfer_poll(); xor_poll(); #endif - for (channel=0;channel< MV_SATA_CHANNELS_NUM;channel++) { + for (channel = 0; channel < MV_SATA_CHANNELS_NUM; channel++) { pMvSataChannel = pMvSataAdapter->sataChannel[channel]; if (pMvSataChannel && pMvSataChannel->outstandingCommands) { @@ -1716,7 +1715,7 @@ fDeviceSendCommand(_VBUS_ARG PCommand pCmd) MV_BOOLEAN is48bit; MV_U8 channel; - int i=0; + int i = 0; DECLARE_BUFFER(FPSCAT_GATH, tmpSg); @@ -2141,7 +2140,7 @@ FlushAdapter(IAL_ADAPTER_T *pAdapter) hpt_printk(("flush all devices\n")); /* flush all devices */ - for (i=0; iVBus.pVDevice[i]; if(pVDev) fFlushVDev(pVDev); } @@ -2174,7 +2173,7 @@ Check_Idle_Call(IAL_ADAPTER_T *pAdapter) { int i; PVDevice pArray; - for(i = 0; i < MAX_ARRAY_PER_VBUS; i++){ + for (i = 0; i < MAX_ARRAY_PER_VBUS; i++) { if ((pArray=ArrayTables(i))->u.array.dArStamp==0) continue; else if (pArray->u.array.rf_auto_rebuild) { @@ -2378,7 +2377,7 @@ hpt_free_ccb(union ccb **ccb_Q, union ccb *ccb) static void hpt_worker_thread(void) { - for(;;) { + for (;;) { mtx_lock(&DpcQueue_Lock); while (DpcQueue_First!=DpcQueue_Last) { ST_HPT_DPC p; @@ -2418,7 +2417,7 @@ static void hpt_worker_thread(void) mtx_lock(&pAdapter->lock); _vbus_p = &pAdapter->VBus; - for (i=0;iu.array.dArStamp==0) continue; @@ -2472,7 +2471,7 @@ launch_worker_thread(void) int i; PVDevice pVDev; - for(i = 0; i < MAX_ARRAY_PER_VBUS; i++) + for (i = 0; i < MAX_ARRAY_PER_VBUS; i++) if ((pVDev=ArrayTables(i))->u.array.dArStamp==0) continue; else{ diff --git a/sys/dev/hptmv/gui_lib.c b/sys/dev/hptmv/gui_lib.c index d78fdcca69d2..f11044db733a 100644 --- a/sys/dev/hptmv/gui_lib.c +++ b/sys/dev/hptmv/gui_lib.c @@ -86,8 +86,7 @@ check_VDevice_valid(PVDevice p) while(pAdapter != NULL) { _vbus_p = &pAdapter->VBus; - for (i=0;iu.array.dArStamp != 0) && (pVDevice == p)) return 0; @@ -244,9 +243,9 @@ static void get_array_info(PVDevice pVDevice, PHPT_ARRAY_INFO pArrayInfo) if(pVDevice->u.array.pMember[i] != NULL) pArrayInfo->Members[pArrayInfo->nDisk++] = VDEV_TO_ID(pVDevice->u.array.pMember[i]); - for(i=pArrayInfo->nDisk; inDisk; i < MAX_ARRAY_MEMBERS; i++) pArrayInfo->Members[i] = INVALID_DEVICEID; - } +} static void get_array_info_v2(PVDevice pVDevice, PHPT_ARRAY_INFO_V2 pArrayInfo) { @@ -266,7 +265,7 @@ static void get_array_info_v2(PVDevice pVDevice, PHPT_ARRAY_INFO_V2 pArrayInfo) if(pVDevice->u.array.pMember[i] != NULL) pArrayInfo->Members[pArrayInfo->nDisk++] = VDEV_TO_ID(pVDevice->u.array.pMember[i]); - for(i=pArrayInfo->nDisk; inDisk; i < MAX_ARRAY_MEMBERS_V2; i++) pArrayInfo->Members[i] = INVALID_DEVICEID; } #endif @@ -461,8 +460,7 @@ found: pInfo->IoPort = 0; pInfo->ControlPort = 0; - for (i=0; i<2 ;i++) - { + for (i = 0; i < 2; i++) { pInfo->Devices[i] = (DEVICEID)INVALID_DEVICEID; } diff --git a/sys/dev/hptmv/hptproc.c b/sys/dev/hptmv/hptproc.c index 38fe61ee7e04..328750d9034c 100644 --- a/sys/dev/hptmv/hptproc.c +++ b/sys/dev/hptmv/hptproc.c @@ -107,7 +107,7 @@ hpt_set_asc_info(IAL_ADAPTER_T *pAdapter, char *buffer,int length) return -EINVAL; } - for (i=0;idevq != NULL) cam_simq_free(sassc->devq); - for(i=0; i< sassc->maxtargets ;i++) { + for (i = 0; i < sassc->maxtargets; i++) { targ = &sassc->targets[i]; SLIST_FOREACH_SAFE(lun, &targ->luns, lun_link, lun_tmp) { free(lun, M_MPT2); @@ -3396,7 +3396,7 @@ mpssas_realloc_targets(struct mps_softc *sc, int maxtargets) * the allocated LUNs for each target and then the target buffer * itself. */ - for (i=0; i< maxtargets; i++) { + for (i = 0; i < maxtargets; i++) { targ = &sassc->targets[i]; SLIST_FOREACH_SAFE(lun, &targ->luns, lun_link, lun_tmp) { free(lun, M_MPT2); diff --git a/sys/dev/mpt/mpt_raid.c b/sys/dev/mpt/mpt_raid.c index 5ff08ffcf2b3..2b868f6ef070 100644 --- a/sys/dev/mpt/mpt_raid.c +++ b/sys/dev/mpt/mpt_raid.c @@ -830,7 +830,7 @@ mpt_is_raid_volume(struct mpt_softc *mpt, target_id_t tgt) } ioc_vol = mpt->ioc_page2->RaidVolume; ioc_last_vol = ioc_vol + mpt->ioc_page2->NumActiveVolumes; - for (;ioc_vol != ioc_last_vol; ioc_vol++) { + for (; ioc_vol != ioc_last_vol; ioc_vol++) { if (ioc_vol->VolumeID == tgt) { return (1); } @@ -1406,7 +1406,7 @@ mpt_refresh_raid_data(struct mpt_softc *mpt) ioc_vol = mpt->ioc_page2->RaidVolume; ioc_last_vol = ioc_vol + mpt->ioc_page2->NumActiveVolumes; - for (;ioc_vol != ioc_last_vol; ioc_vol++) { + for (; ioc_vol != ioc_last_vol; ioc_vol++) { struct mpt_raid_volume *mpt_vol; mpt_vol = mpt->raid_volumes + ioc_vol->VolumePageNumber; diff --git a/sys/dev/nfe/if_nfe.c b/sys/dev/nfe/if_nfe.c index 4625c2616562..265181ef7ad0 100644 --- a/sys/dev/nfe/if_nfe.c +++ b/sys/dev/nfe/if_nfe.c @@ -2078,7 +2078,7 @@ nfe_rxeof(struct nfe_softc *sc, int count, int *rx_npktsp) bus_dmamap_sync(sc->rxq.rx_desc_tag, sc->rxq.rx_desc_map, BUS_DMASYNC_POSTREAD); - for (prog = 0;;NFE_INC(sc->rxq.cur, NFE_RX_RING_COUNT), vtag = 0) { + for (prog = 0; ; NFE_INC(sc->rxq.cur, NFE_RX_RING_COUNT), vtag = 0) { if (count <= 0) break; count--; @@ -2192,7 +2192,7 @@ nfe_jrxeof(struct nfe_softc *sc, int count, int *rx_npktsp) bus_dmamap_sync(sc->jrxq.jrx_desc_tag, sc->jrxq.jrx_desc_map, BUS_DMASYNC_POSTREAD); - for (prog = 0;;NFE_INC(sc->jrxq.jcur, NFE_JUMBO_RX_RING_COUNT), + for (prog = 0; ; NFE_INC(sc->jrxq.jcur, NFE_JUMBO_RX_RING_COUNT), vtag = 0) { if (count <= 0) break; diff --git a/sys/dev/ocs_fc/ocs_mgmt.c b/sys/dev/ocs_fc/ocs_mgmt.c index 726b499f28ba..5b7f6557c017 100644 --- a/sys/dev/ocs_fc/ocs_mgmt.c +++ b/sys/dev/ocs_fc/ocs_mgmt.c @@ -226,7 +226,7 @@ ocs_mgmt_get_list(ocs_t *ocs, ocs_textbuf_t *textbuf) ocs_mgmt_start_unnumbered_section(textbuf, "ocs"); - for (i=0;inum_descriptors; i++) { + for (i = 0; i < result.list->num_descriptors; i++) { sprintf(result_line, "0x%02x:%s\n", result.list->descriptors[i].profile_id, result.list->descriptors[i].profile_description); if (strlen(result_line) < bytes_left) { diff --git a/sys/dev/ppc/ppc.c b/sys/dev/ppc/ppc.c index 9870379e2eba..de75f4747709 100644 --- a/sys/dev/ppc/ppc.c +++ b/sys/dev/ppc/ppc.c @@ -1389,7 +1389,7 @@ ppc_exec_microseq(device_t dev, struct ppb_microseq **p_msq) /* let's suppose the next instr. is the same */ prefetch: - for (;mi->opcode == MS_OP_RASSERT; INCR_PC) + for (; mi->opcode == MS_OP_RASSERT; INCR_PC) w_reg(mi->arg[0].i, ppc, (char)mi->arg[1].i); if (mi->opcode == MS_OP_DELAY) { diff --git a/sys/dev/smartpqi/smartpqi_event.c b/sys/dev/smartpqi/smartpqi_event.c index b61cc233873f..761bb5588ff9 100644 --- a/sys/dev/smartpqi/smartpqi_event.c +++ b/sys/dev/smartpqi/smartpqi_event.c @@ -115,7 +115,7 @@ pqisrc_ack_all_events(void *arg1) pending_event = &softs->pending_events[0]; - for (i=0; i < PQI_NUM_SUPPORTED_EVENTS; i++) { + for (i = 0; i < PQI_NUM_SUPPORTED_EVENTS; i++) { if (pending_event->pending == true) { pending_event->pending = false; pqisrc_acknowledge_event(softs, pending_event); @@ -417,7 +417,7 @@ pqisrc_report_event_config(pqisrc_softstate_t *softs) softs->event_config.num_event_descriptors = MIN(event_config_p->num_event_descriptors, PQI_MAX_EVENT_DESCRIPTORS) ; - for (i=0; i < softs->event_config.num_event_descriptors ;i++){ + for (i = 0; i < softs->event_config.num_event_descriptors; i++) { softs->event_config.descriptors[i].event_type = event_config_p->descriptors[i].event_type; } @@ -477,7 +477,7 @@ pqisrc_set_event_config(pqisrc_softstate_t *softs) event_config_p->num_event_descriptors = softs->event_config.num_event_descriptors; - for (i=0; i < softs->event_config.num_event_descriptors ; i++){ + for (i = 0; i < softs->event_config.num_event_descriptors; i++) { event_config_p->descriptors[i].event_type = softs->event_config.descriptors[i].event_type; if( pqisrc_event_type_to_event_index(event_config_p->descriptors[i].event_type) != -1) diff --git a/sys/dev/smartpqi/smartpqi_queue.c b/sys/dev/smartpqi/smartpqi_queue.c index e0352c37b208..22bc2db572f8 100644 --- a/sys/dev/smartpqi/smartpqi_queue.c +++ b/sys/dev/smartpqi/smartpqi_queue.c @@ -687,7 +687,7 @@ pqisrc_create_op_obq(pqisrc_softstate_t *softs, } else { int i = 0; DBG_WARN("Error Status Descriptors\n"); - for(i = 0; i < 4;i++) + for (i = 0; i < 4; i++) DBG_WARN(" %x ",admin_resp.resp_type.create_op_oq.status_desc[i]); } @@ -730,7 +730,7 @@ pqisrc_create_op_ibq(pqisrc_softstate_t *softs, } else { int i = 0; DBG_WARN("Error Status Decsriptors\n"); - for(i = 0; i < 4;i++) + for (i = 0; i < 4; i++) DBG_WARN(" %x ",admin_resp.resp_type.create_op_iq.status_desc[i]); } diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index fa65d544e17d..b4e5c1075fb4 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -3266,7 +3266,7 @@ static void sym_init (hcb_p np, int reason) * Reinitialize usrwide. * Prepare sync negotiation according to actual SCSI bus mode. */ - for (i=0;itarget[i]; tp->to_reset = 0; @@ -3715,7 +3715,7 @@ static void sym_log_hard_error(hcb_p np, u_short sist, u_char dstat) } printf ("%s: regdump:", sym_name(np)); - for (i=0; i<24;i++) + for (i = 0; i < 24; i++) printf (" %02x", (unsigned)INB_OFF(i)); printf (".\n"); @@ -5527,8 +5527,8 @@ static int sym_show_msg (u_char * msg) u_char i; printf ("%x",*msg); if (*msg==M_EXTENDED) { - for (i=1;i<8;i++) { - if (i-1>msg[1]) break; + for (i = 1; i < 8; i++) { + if (i - 1 > msg[1]) break; printf ("-%x",msg[i]); } return (i+1); @@ -6744,10 +6744,10 @@ restart_test: /* * Wait 'til done (with timeout) */ - for (i=0; i=SYM_SNOOP_TIMEOUT) { + if (i >= SYM_SNOOP_TIMEOUT) { printf ("CACHE TEST FAILED: timeout.\n"); return (0x20); } diff --git a/sys/dev/tws/tws.c b/sys/dev/tws/tws.c index af151c8c4f06..fccd6689a6aa 100644 --- a/sys/dev/tws/tws.c +++ b/sys/dev/tws/tws.c @@ -311,7 +311,7 @@ attach_fail_4: if (sc->cmd_tag) bus_dma_tag_destroy(sc->cmd_tag); attach_fail_3: - for(i=0;iirqs;i++) { + for (i = 0; i < sc->irqs; i++) { if ( sc->irq_res[i] ){ if (bus_release_resource(sc->tws_dev, SYS_RES_IRQ, sc->irq_res_id[i], sc->irq_res[i])) @@ -369,7 +369,7 @@ tws_detach(device_t dev) tws_teardown_intr(sc); /* Release irq resource */ - for(i=0;iirqs;i++) { + for (i = 0; i < sc->irqs; i++) { if ( sc->irq_res[i] ){ if (bus_release_resource(sc->tws_dev, SYS_RES_IRQ, sc->irq_res_id[i], sc->irq_res[i])) @@ -402,7 +402,7 @@ tws_detach(device_t dev) TWS_TRACE(sc, "bus release mem resource", 0, sc->reg_res_id); } - for ( i=0; i< tws_queue_depth; i++) { + for (i = 0; i < tws_queue_depth; i++) { if (sc->reqs[i].dma_map) bus_dmamap_destroy(sc->data_tag, sc->reqs[i].dma_map); callout_drain(&sc->reqs[i].timeout); @@ -432,7 +432,7 @@ tws_setup_intr(struct tws_softc *sc, int irqs) { int i, error; - for(i=0;iintr_handle[i])) { if ((error = bus_setup_intr(sc->tws_dev, sc->irq_res[i], INTR_TYPE_CAM | INTR_MPSAFE, @@ -452,7 +452,7 @@ tws_teardown_intr(struct tws_softc *sc) { int i; - for(i=0;iirqs;i++) { + for (i = 0; i < sc->irqs; i++) { if (sc->intr_handle[i]) { bus_teardown_intr(sc->tws_dev, sc->irq_res[i], sc->intr_handle[i]); @@ -669,8 +669,7 @@ tws_init_reqs(struct tws_softc *sc, u_int32_t dma_mem_size) bzero(cmd_buf, dma_mem_size); TWS_TRACE_DEBUG(sc, "phy cmd", sc->dma_mem_phys, 0); mtx_lock(&sc->q_lock); - for ( i=0; i< tws_queue_depth; i++) - { + for (i = 0; i < tws_queue_depth; i++) { if (bus_dmamap_create(sc->data_tag, 0, &sc->reqs[i].dma_map)) { /* log a ENOMEM failure msg here */ mtx_unlock(&sc->q_lock); diff --git a/sys/dev/tws/tws_services.c b/sys/dev/tws/tws_services.c index da8bbacc39f7..e5c3d45c533f 100644 --- a/sys/dev/tws/tws_services.c +++ b/sys/dev/tws/tws_services.c @@ -200,7 +200,7 @@ tws_init_qs(struct tws_softc *sc) { mtx_lock(&sc->q_lock); - for(int i=0;iq_head[i] = NULL; sc->q_tail[i] = NULL; } diff --git a/sys/fs/devfs/devfs_dir.c b/sys/fs/devfs/devfs_dir.c index 3dc87538017d..aad87606e738 100644 --- a/sys/fs/devfs/devfs_dir.c +++ b/sys/fs/devfs/devfs_dir.c @@ -162,7 +162,7 @@ int devfs_pathpath(const char *p1, const char *p2) { - for (;;p1++, p2++) { + for (;; p1++, p2++) { if (*p1 != *p2) { if (*p1 == '/' && *p2 == '\0') return (1); diff --git a/sys/fs/udf/osta.c b/sys/fs/udf/osta.c index f79b86993367..1a083d8c26b1 100644 --- a/sys/fs/udf/osta.c +++ b/sys/fs/udf/osta.c @@ -383,7 +383,7 @@ int UDFTransName( int maxFilenameLen; /* Translate extension, and store it in ext. */ for(index = 0; indexm_next) { + for (; m && len; m = m->m_next) { if (m->m_len == 0) continue; w = mtod(m, u_short *); diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index f27eecc8a8e6..18ea3a7bd29d 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -807,7 +807,7 @@ kern_abort2(struct thread *td, const char *why, int nargs, void **uargs) } if (nargs > 0) { sbuf_putc(sb, '('); - for (i = 0;i < nargs; i++) + for (i = 0; i < nargs; i++) sbuf_printf(sb, "%s%p", i == 0 ? "" : ", ", uargs[i]); sbuf_putc(sb, ')'); } diff --git a/sys/kern/kern_malloc.c b/sys/kern/kern_malloc.c index e919b15543b2..fcbfbe64f854 100644 --- a/sys/kern/kern_malloc.c +++ b/sys/kern/kern_malloc.c @@ -1302,7 +1302,7 @@ mallocinit(void *dummy) #endif align, UMA_ZONE_MALLOC); } - for (;i <= size; i+= KMEM_ZBASE) + for (; i <= size; i+= KMEM_ZBASE) kmemsize[i >> KMEM_ZSHIFT] = indx; } } diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c index 07a9cc0f57be..c4d0223d484f 100644 --- a/sys/kern/subr_devstat.c +++ b/sys/kern/subr_devstat.c @@ -415,7 +415,7 @@ sysctl_devstat(SYSCTL_HANDLER_ARGS) if (error != 0) return (error); - for (;nds != NULL;) { + while (nds != NULL) { error = SYSCTL_OUT(req, nds, sizeof(struct devstat)); if (error != 0) return (error); diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index 28f41eaf6d4d..bbf81b7a4ffe 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -785,7 +785,7 @@ reswitch: switch (ch = (u_char)*fmt++) { PCHAR(hex2ascii(*up & 0x0f)); up++; if (width) - for (q=p;*q;q++) + for (q = p; *q; q++) PCHAR(*q); } break; diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c index 374b5595fcbc..5b89ca026e85 100644 --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -519,7 +519,7 @@ siftr_pkt_manager_thread(void *arg) if (log_buf != NULL) { alq_post_flags(siftr_alq, log_buf, 0); } - for (;cnt > 0; cnt--) { + for (; cnt > 0; cnt--) { pkt_node = STAILQ_FIRST(&tmp_pkt_queue); STAILQ_REMOVE_HEAD(&tmp_pkt_queue, nodes); free(pkt_node, M_SIFTR_PKTNODE); diff --git a/sys/netpfil/ipfw/ip_dummynet.c b/sys/netpfil/ipfw/ip_dummynet.c index 9c7ae06db294..61442c617753 100644 --- a/sys/netpfil/ipfw/ip_dummynet.c +++ b/sys/netpfil/ipfw/ip_dummynet.c @@ -1150,7 +1150,7 @@ copy_data_helper(void *_o, void *_arg) return 0; /* not a pipe */ /* see if the object is within one of our ranges */ - for (;r < lim; r += 2) { + for (; r < lim; r += 2) { if (n < r[0] || n > r[1]) continue; /* Found a valid entry, copy and we are done */ @@ -1183,7 +1183,7 @@ copy_data_helper(void *_o, void *_arg) if (n >= DN_MAX_ID) return 0; /* see if the object is within one of our ranges */ - for (;r < lim; r += 2) { + for (; r < lim; r += 2) { if (n < r[0] || n > r[1]) continue; if (copy_flowset(a, fs, 0)) From nobody Thu Feb 5 21:53:18 2026 X-Original-To: dev-commits-src-branches@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 4f6WDt5Xq0z6RGRn for ; Thu, 05 Feb 2026 21:53:18 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WDt1SC6z3Q23 for ; Thu, 05 Feb 2026 21:53:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328398; 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=2iVuu+cD+XuvCU55YvwRDGc1mSL5Uw7BRYbX6pnMcWI=; b=UZYZ9hhaHgmTY9ysFUbn/n1qv3Jz4EiyvtW2OQKxW//uj0et9BlFePFvt8HcO5X1HJMJ0/ kA3ypPZCLTGd/wibeLDcDK6HVRFxKCWWNVKeSCFgU0i6p2HZ4MIoebBazEb80qjgTYP5/A tZIwToJTxnfgZmqD9h0uRKATqPGY9/NvO2HcZVET/gxW9RoRQN4rEJh+sJVxQ1iwNaEw/3 cmUNb/fVjcXX9h67bSWaMETUwSS/xboCAHzK+ArLgLDoXPS8XPNK251lcYw+vbIxOGqphn BR+H8Vfs+2Oe0kVt2RxX3J3aoG1bJ+zt7+pylftW6M1BcPNQxOIfCiZoFAuJrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328398; a=rsa-sha256; cv=none; b=gH+FI0KsUvUK+t5Sg6Q4P3TuMKenAUThNIMQIcwOm34dVk8oKdKF2yg7x9guvPUBYs/o7s 0Bbe/flcjAvgiVH6K4L4Lewf62DxrVnMZV7q/LREVBtHtz+U5XpCJKGwU9sNdarNUcubWA Tc41C1k9ztOWHjJud/qGdlG/bVZ6aWDWXdBEbWguXyFVLQdqrs5yUUYoFdK2L0Xp3CZAmd FID3Hw18rZCUPI9TndV2OmDeM4NeAdtLiuKiB59oCo4PoibFelbLPCLMPDwr0uNLdWyorO /yUmQ02kv9vcDSETE+npFVCN+jGXcIq8Jyzm/DCwBDkQ7Jx2R4Sa0I5Ie9F+gQ== 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=1770328398; 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=2iVuu+cD+XuvCU55YvwRDGc1mSL5Uw7BRYbX6pnMcWI=; b=JXl6mKGaoTRk4hgFCLtt6tZcSsoqSvY8/RcoLRM3VzeWJ2JlCEvelWDelY9ddshv7BJiFB AuWF3BDVxPyg8uYz0nS19eu0m1XH5CKtLBtWAaoMVMomCyrSzukqJHR4Berq0kbi1P6NN2 ZrAVfXxI34qHPTvIfy5B7YRP0wejlkwtrhP8BqqutHyg/Id+syHng25Ewxx2q+ZEb/P7dW jaXnEGHg0CXJmiufBoEIy/8v3acoshzijQFxHzwJ7cA4KSGsbjt6blIsn0RJfjLrMxxwVt 0zugfTCyKX3BGbbpy7XoyWFX/oxe852i2SQkwAWSv/CTl0RzM2l0kBAQYlwzhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WDt0fxdzngw for ; Thu, 05 Feb 2026 21:53:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 192bf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:53:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: f99ca315d5fe - stable/15 - sym(4): Use memcpy(9) instead of bcopy(9) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f99ca315d5fe048f96a99505c852026973dbeb8a Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:53:18 +0000 Message-Id: <6985114e.192bf.43bc40d8@gitrepo.freebsd.org> The branch stable/15 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=f99ca315d5fe048f96a99505c852026973dbeb8a commit f99ca315d5fe048f96a99505c852026973dbeb8a Author: Marius Strobl AuthorDate: 2026-01-21 16:47:50 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:52:33 +0000 sym(4): Use memcpy(9) instead of bcopy(9) The overlap handling of bcopy(9) is not required in these cases. Obtained from: BSD-licensed Linux sym53c8xx driver (cherry picked from commit c8e9479c74a2af0f6c665e930091c163bf760fd5) --- sys/dev/sym/sym_hipd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 7e255862aeac..6b7c0bd355ef 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -7151,7 +7151,7 @@ static void sym_complete_error (hcb_p np, ccb_p cp) sense_returned; else csio->sense_resid = 0; - bcopy(cp->sns_bbuf, &csio->sense_data, + memcpy(&csio->sense_data, cp->sns_bbuf, MIN(csio->sense_len, sense_returned)); #if 0 /* @@ -7636,7 +7636,7 @@ static int sym_setup_cdb(hcb_p np, struct ccb_scsiio *csio, ccb_p cp) /* CDB is a pointer */ if (!(ccb_h->flags & CAM_CDB_PHYS)) { /* CDB pointer is virtual */ - bcopy(csio->cdb_io.cdb_ptr, cp->cdb_buf, cmd_len); + memcpy(cp->cdb_buf, csio->cdb_io.cdb_ptr, cmd_len); cmd_ba = CCB_BA (cp, cdb_buf[0]); } else { /* CDB pointer is physical */ @@ -7649,7 +7649,7 @@ static int sym_setup_cdb(hcb_p np, struct ccb_scsiio *csio, ccb_p cp) } } else { /* CDB is in the CAM ccb (buffer) */ - bcopy(csio->cdb_io.cdb_bytes, cp->cdb_buf, cmd_len); + memcpy(cp->cdb_buf, csio->cdb_io.cdb_bytes, cmd_len); cmd_ba = CCB_BA (cp, cdb_buf[0]); } @@ -8636,8 +8636,8 @@ sym_pci_attach(device_t dev) /* * Copy scripts to controller instance. */ - bcopy(fw->a_base, np->scripta0, np->scripta_sz); - bcopy(fw->b_base, np->scriptb0, np->scriptb_sz); + memcpy(np->scripta0, fw->a_base, np->scripta_sz); + memcpy(np->scriptb0, fw->b_base, np->scriptb_sz); /* * Setup variable parts in scripts and compute From nobody Thu Feb 5 21:53:16 2026 X-Original-To: dev-commits-src-branches@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 4f6WDs3bgtz6RGkL for ; Thu, 05 Feb 2026 21:53:17 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WDs0JPCz3QDf for ; Thu, 05 Feb 2026 21:53:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328397; 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=Yf/G3KmplHuTIVy50xXVYi5itkT7zSK38u9BcOzo6gw=; b=JZhlDkHb8Ad3m/0r/jTQEWLM1WnoKCVFMRxF8NT82ei//AE73rQRNAJrBAifC4A+8EhpxR ASyNfhCoW6uWMe0XQDD8sW7JYZAdcGeEcoNAxEbANgelrQn+SbJAykSAwWm/stF6nmYLNF njm6YE/OmkXDyHLo+dFGxh2rPg43VW5Jz3PjhYXXkZsYXZzoo0ljswqP48n0DTPKrFR/HR vW8EI4b3Xn4dED3X25CVXkgVlSOCycgSKog/S+hx5GtRKm87vF1s3gHGtyxKA3RTpZmgNL RRxzaxrADoH61huCTTbMlsBMGSqzHuUDhoqEdM5PSAonXcJtHQe5S5HfNCiKbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328397; a=rsa-sha256; cv=none; b=Wim2S5daYG36XruikWCvrqmgkYWf33KZWEcHhyVUh2PwUANEFNWITbRQGRFPvAvlzIM6KN eoHZUjId9tDk1/zODz3jo89GxZVY/rbax0sMFpfolhYu/NDKLQBG4rASPuirDYX85OR3lx khptjdckswvfryQdSmGr7zlMDTlDaW79sv2QnmhV5HOwpfY59sTMlRxlJ3yNhj/x0FkaC5 MPAdm25WQMrtNNeXJlNFzN66OalXbP+LiZjiD1y5Mzo+uDE3Shhy/jsHWy5wbor79OrXxS fcf9pdfp2m+iV2vJnILVbFIjg8KieAnoHwuOOPyT+2DWQbUBy4QQkf7PDGPRTQ== 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=1770328397; 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=Yf/G3KmplHuTIVy50xXVYi5itkT7zSK38u9BcOzo6gw=; b=JJBZzxOTXJXjv++DPrUBgRMTlHlxs3NIdnf88VXBpWiQWETd0M3JwABslTrd3/wQ3I65P+ rRreAEzJUwW62Xrsskwl8ZNbyzWZFcVrdrqUyRvbBoc/T3jDVzkunq9UDwZo40S+jZ4SZP LYRX8hHjt4rAR9zfXYMCom+N6nI67PVIPvToTzY8brZpDVaJPHmzJjql67MqG3F5HtkdQg WGIC+waNjdplKJDidsJWMb0nHeR2gERiIjWNdQt51SI9BVCLIdwbwws2VVPSg/YNfHsg96 6gQAcoefxMV8to54sH/KpRIH5HQxVt1C7A8Xc0Kwv09UIxcmj5jOrD6v56F8Ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WDr6yTfznCd for ; Thu, 05 Feb 2026 21:53:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18b8c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:53:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 692dd7081b02 - stable/15 - sym(4): Consistently use device_printf(9) where applicable List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 692dd7081b02a497ef48560f3a876b661996fb40 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:53:16 +0000 Message-Id: <6985114c.18b8c.1cee40ad@gitrepo.freebsd.org> The branch stable/15 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=692dd7081b02a497ef48560f3a876b661996fb40 commit 692dd7081b02a497ef48560f3a876b661996fb40 Author: Marius Strobl AuthorDate: 2026-01-21 17:29:35 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:52:32 +0000 sym(4): Consistently use device_printf(9) where applicable (cherry picked from commit 48eee744b540ef0413fa1cb543dde6e49e7f2ac4) --- sys/dev/sym/sym_hipd.c | 222 +++++++++++++++++++++++++------------------------ 1 file changed, 114 insertions(+), 108 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index b4e5c1075fb4..7e255862aeac 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -2012,8 +2012,8 @@ static void sym_fw_bind_script (hcb_p np, u32 *start, int len) * command. */ if (opcode == 0) { - printf ("%s: ERROR0 IN SCRIPT at %d.\n", - sym_name(np), (int) (cur-start)); + device_printf(np->device, "ERROR0 IN SCRIPT at %d.\n", + (int)(cur-start)); MDELAY (10000); ++cur; continue; @@ -2056,8 +2056,9 @@ static void sym_fw_bind_script (hcb_p np, u32 *start, int len) tmp1 = cur[1]; tmp2 = cur[2]; if ((tmp1 ^ tmp2) & 3) { - printf ("%s: ERROR1 IN SCRIPT at %d.\n", - sym_name(np), (int) (cur-start)); + device_printf(np->device, + "ERROR1 IN SCRIPT at %d.\n", + (int)(cur-start)); MDELAY (10000); } /* @@ -2426,8 +2427,8 @@ static void sym_print_targets_flag(hcb_p np, int mask, char *msg) continue; if (np->target[i].usrflags & mask) { if (!cnt++) - printf("%s: %s disabled for targets", - sym_name(np), msg); + device_printf(np->device, + "%s disabled for targets", msg); printf(" %d", i); } } @@ -2750,41 +2751,42 @@ static int sym_prepare_setting(hcb_p np, struct sym_nvram *nvram) * Let user know about the settings. */ i = nvram->type; - printf("%s: %s NVRAM, ID %d, Fast-%d, %s, %s\n", sym_name(np), - i == SYM_SYMBIOS_NVRAM ? "Symbios" : - (i == SYM_TEKRAM_NVRAM ? "Tekram" : "No"), - np->myaddr, - (np->features & FE_ULTRA3) ? 80 : - (np->features & FE_ULTRA2) ? 40 : - (np->features & FE_ULTRA) ? 20 : 10, - sym_scsi_bus_mode(np->scsi_mode), - (np->rv_scntl0 & 0xa) ? "parity checking" : "NO parity"); + device_printf(np->device, "%s NVRAM, ID %d, Fast-%d, %s, %s\n", + i == SYM_SYMBIOS_NVRAM ? "Symbios" : + (i == SYM_TEKRAM_NVRAM ? "Tekram" : "No"), + np->myaddr, + (np->features & FE_ULTRA3) ? 80 : + (np->features & FE_ULTRA2) ? 40 : + (np->features & FE_ULTRA) ? 20 : 10, + sym_scsi_bus_mode(np->scsi_mode), + (np->rv_scntl0 & 0xa) ? "parity checking" : "NO parity"); /* * Tell him more on demand. */ if (sym_verbose) { - printf("%s: %s IRQ line driver%s\n", - sym_name(np), - np->rv_dcntl & IRQM ? "totem pole" : "open drain", - np->ram_ba ? ", using on-chip SRAM" : ""); - printf("%s: using %s firmware.\n", sym_name(np), np->fw_name); + device_printf(np->device, "%s IRQ line driver%s\n", + np->rv_dcntl & IRQM ? "totem pole" : "open drain", + np->ram_ba ? ", using on-chip SRAM" : ""); + device_printf(np->device, "using %s firmware.\n", np->fw_name); if (np->features & FE_NOPM) - printf("%s: handling phase mismatch from SCRIPTS.\n", - sym_name(np)); + device_printf(np->device, + "handling phase mismatch from SCRIPTS.\n"); } /* * And still more. */ if (sym_verbose > 1) { - printf ("%s: initial SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " - "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", - sym_name(np), np->sv_scntl3, np->sv_dmode, np->sv_dcntl, - np->sv_ctest3, np->sv_ctest4, np->sv_ctest5); + device_printf(np->device, + "initial SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " + "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", + np->sv_scntl3, np->sv_dmode, np->sv_dcntl, np->sv_ctest3, + np->sv_ctest4, np->sv_ctest5); - printf ("%s: final SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " - "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", - sym_name(np), np->rv_scntl3, np->rv_dmode, np->rv_dcntl, - np->rv_ctest3, np->rv_ctest4, np->rv_ctest5); + device_printf(np->device, + "final SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " + "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", + np->rv_scntl3, np->rv_dmode, np->rv_dcntl, + np->rv_ctest3, np->rv_ctest4, np->rv_ctest5); } /* * Let user be aware of targets that have some disable flags set. @@ -2911,7 +2913,7 @@ static void sym_put_start_queue(hcb_p np, ccb_p cp) np->squeueput = qidx; if (DEBUG_FLAGS & DEBUG_QUEUE) - printf ("%s: queuepos=%d.\n", sym_name (np), np->squeueput); + device_printf(np->device, "queuepos=%d.\n", np->squeueput); /* * Script processor may be waiting for reselect. @@ -2965,8 +2967,8 @@ static void sym_soft_reset (hcb_p np) } } if (!i) - printf("%s: unable to abort current chip operation.\n", - sym_name(np)); + device_printf(np->device, + "unable to abort current chip operation.\n"); sym_chip_reset (np); } @@ -3016,13 +3018,12 @@ static int sym_reset_scsi_bus(hcb_p np, int enab_int) term &= 0x3ffff; if (term != (2<<7)) { - printf("%s: suspicious SCSI data while resetting the BUS.\n", - sym_name(np)); - printf("%s: %sdp0,d7-0,rst,req,ack,bsy,sel,atn,msg,c/d,i/o = " - "0x%lx, expecting 0x%lx\n", - sym_name(np), - (np->features & FE_WIDE) ? "dp1,d15-8," : "", - (u_long)term, (u_long)(2<<7)); + device_printf(np->device, + "suspicious SCSI data while resetting the BUS.\n"); + device_printf(np->device, + "%sdp0,d7-0,rst,req,ack,bsy,sel,atn,msg,c/d,i/o = " + "0x%lx, expecting 0x%lx\n", (np->features & FE_WIDE) ? + "dp1,d15-8," : "", (u_long)term, (u_long)(2 << 7)); if (SYM_SETUP_SCSI_BUS_CHECK == 1) retv = 1; } @@ -3062,10 +3063,9 @@ static int sym_wakeup_done (hcb_p np) MEMORY_BARRIER(); sym_complete_ok (np, cp); ++n; - } - else - printf ("%s: bad DSA (%x) in done queue.\n", - sym_name(np), (u_int) dsa); + } else + device_printf(np->device, + "bad DSA (%x) in done queue.\n", (u_int)dsa); } np->dqueueget = i; @@ -3286,8 +3286,8 @@ static void sym_init (hcb_p np, int reason) */ if (np->ram_ba) { if (sym_verbose > 1) - printf ("%s: Downloading SCSI SCRIPTS.\n", - sym_name(np)); + device_printf(np->device, + "Downloading SCSI SCRIPTS.\n"); if (np->ram_ws == 8192) { OUTRAM_OFF(4096, np->scriptb0, np->scriptb_sz); OUTL (nc_mmws, np->scr_ram_seg); @@ -3710,11 +3710,11 @@ static void sym_log_hard_error(hcb_p np, u_short sist, u_char dstat) if (((script_ofs & 3) == 0) && (unsigned)script_ofs < script_size) { - printf ("%s: script cmd = %08x\n", sym_name(np), - scr_to_cpu((int) *(u32 *)(script_base + script_ofs))); + device_printf(np->device, "script cmd = %08x\n", + scr_to_cpu((int) *(u32 *)(script_base + script_ofs))); } - printf ("%s: regdump:", sym_name(np)); + device_printf(np->device, "regdump:"); for (i = 0; i < 24; i++) printf (" %02x", (unsigned)INB_OFF(i)); printf (".\n"); @@ -3727,8 +3727,8 @@ static void sym_log_hard_error(hcb_p np, u_short sist, u_char dstat) pci_sts = pci_read_config(np->device, PCIR_STATUS, 2); if (pci_sts & 0xf900) { pci_write_config(np->device, PCIR_STATUS, pci_sts, 2); - printf("%s: PCI STATUS = 0x%04x\n", - sym_name(np), pci_sts & 0xf900); + device_printf(np->device, "PCI STATUS = 0x%04x\n", + pci_sts & 0xf900); } } } @@ -3933,9 +3933,9 @@ unknown_int: * We just miss the cause of the interrupt. :( * Print a message. The timeout will do the real work. */ - printf( "%s: unknown interrupt(s) ignored, " - "ISTAT=0x%x DSTAT=0x%x SIST=0x%x\n", - sym_name(np), istat, dstat, sist); + device_printf(np->device, + "unknown interrupt(s) ignored, ISTAT=0x%x DSTAT=0x%x SIST=0x%x\n", + istat, dstat, sist); } static void sym_intr(void *arg) @@ -4050,7 +4050,7 @@ static void sym_int_sto (hcb_p np) */ static void sym_int_udc (hcb_p np) { - printf ("%s: unexpected disconnect\n", sym_name(np)); + device_printf(np->device, "unexpected disconnect\n"); sym_recover_scsi_int(np, HS_UNEXPECTED); } @@ -4117,8 +4117,9 @@ static void sym_int_par (hcb_p np, u_short sist) int phase = cmd & 7; ccb_p cp = sym_ccb_from_dsa(np, dsa); - printf("%s: SCSI parity error detected: SCR1=%d DBC=%x SBCL=%x\n", - sym_name(np), hsts, dbc, sbcl); + device_printf(np->device, + "SCSI parity error detected: SCR1=%d DBC=%x SBCL=%x\n", hsts, dbc, + sbcl); /* * Check that the chip is connected to the SCSI BUS. @@ -4305,14 +4306,14 @@ static void sym_int_ma (hcb_p np) } if (!vdsp) { - printf ("%s: interrupted SCRIPT address not found.\n", - sym_name (np)); + device_printf(np->device, + "interrupted SCRIPT address not found.\n"); goto reset_all; } if (!cp) { - printf ("%s: SCSI phase error fixup: CCB already dequeued.\n", - sym_name (np)); + device_printf(np->device, + "SCSI phase error fixup: CCB already dequeued.\n"); goto reset_all; } @@ -6757,15 +6758,15 @@ restart_test: dstat = INB (nc_dstat); #if 1 /* Band aiding for broken hardwares that fail PCI parity */ if ((dstat & MDPE) && (np->rv_ctest4 & MPEE)) { - printf ("%s: PCI DATA PARITY ERROR DETECTED - " - "DISABLING MASTER DATA PARITY CHECKING.\n", - sym_name(np)); + device_printf(np->device, "PCI DATA PARITY ERROR DETECTED - " + "DISABLING MASTER DATA PARITY CHECKING.\n"); np->rv_ctest4 &= ~MPEE; goto restart_test; } #endif if (dstat & (MDPE|BF|IID)) { - printf ("CACHE TEST FAILED: DMA error (dstat=0x%02x).", dstat); + device_printf(np->device, + "CACHE TEST FAILED: DMA error (dstat=0x%02x).\n", dstat); return (0x80); } /* @@ -6783,28 +6784,32 @@ restart_test: * Check termination position. */ if (pc != SCRIPTB0_BA (np, snoopend)+8) { - printf ("CACHE TEST FAILED: script execution failed.\n"); - printf ("start=%08lx, pc=%08lx, end=%08lx\n", - (u_long) SCRIPTB0_BA (np, snooptest), (u_long) pc, - (u_long) SCRIPTB0_BA (np, snoopend) +8); + device_printf(np->device, + "CACHE TEST FAILED: script execution failed.\n"); + device_printf(np->device, "start=%08lx, pc=%08lx, end=%08lx\n", + (u_long)SCRIPTB0_BA(np, snooptest), (u_long)pc, + (u_long)SCRIPTB0_BA(np, snoopend) + 8); return (0x40); } /* * Show results. */ if (host_wr != sym_rd) { - printf ("CACHE TEST FAILED: host wrote %d, chip read %d.\n", - (int) host_wr, (int) sym_rd); + device_printf(np->device, + "CACHE TEST FAILED: host wrote %d, chip read %d.\n", + (int)host_wr, (int)sym_rd); err |= 1; } if (host_rd != sym_wr) { - printf ("CACHE TEST FAILED: chip wrote %d, host read %d.\n", - (int) sym_wr, (int) host_rd); + device_printf(np->device, + "CACHE TEST FAILED: chip wrote %d, host read %d.\n", + (int)sym_wr, (int)host_rd); err |= 2; } if (sym_bk != sym_wr) { - printf ("CACHE TEST FAILED: chip wrote %d, read back %d.\n", - (int) sym_wr, (int) sym_bk); + device_printf(np->device, + "CACHE TEST FAILED: chip wrote %d, read back %d.\n", + (int)sym_wr, (int)sym_bk); err |= 4; } @@ -6843,7 +6848,7 @@ static void sym_selectclock(hcb_p np, u_char scntl3) } if (sym_verbose >= 2) - printf ("%s: enabling clock multiplier\n", sym_name(np)); + device_printf(np->device, "enabling clock multiplier\n"); OUTB(nc_stest1, DBLEN); /* Enable clock multiplier */ /* @@ -6855,8 +6860,8 @@ static void sym_selectclock(hcb_p np, u_char scntl3) while (!(INB(nc_stest4) & LCKFRQ) && --i > 0) UDELAY (20); if (!i) - printf("%s: the chip cannot lock the frequency\n", - sym_name(np)); + device_printf(np->device, + "the chip cannot lock the frequency\n"); } else UDELAY (20); OUTB(nc_stest3, HSC); /* Halt the scsi clock */ @@ -6911,8 +6916,8 @@ static unsigned getfreq (hcb_p np, int gen) f = ms ? ((1 << gen) * 4340) / ms : 0; if (sym_verbose >= 2) - printf ("%s: Delay (GEN=%d): %u msec, %u KHz\n", - sym_name(np), gen, ms, f); + device_printf(np->device, "Delay (GEN=%d): %u msec, %u KHz\n", + gen, ms, f); return f; } @@ -6954,7 +6959,7 @@ static void sym_getclock (hcb_p np, int mult) */ if (mult > 1 && (stest1 & (DBLEN+DBLSEL)) == DBLEN+DBLSEL) { if (sym_verbose >= 2) - printf ("%s: clock multiplier found\n", sym_name(np)); + device_printf(np->device, "clock multiplier found\n"); np->multiplier = mult; } @@ -6968,7 +6973,7 @@ static void sym_getclock (hcb_p np, int mult) f1 = sym_getfreq (np); if (sym_verbose) - printf ("%s: chip clock is %uKHz\n", sym_name(np), f1); + device_printf(np->device, "chip clock is %uKHz\n", f1); if (f1 < 45000) f1 = 40000; else if (f1 < 55000) f1 = 50000; @@ -6976,8 +6981,8 @@ static void sym_getclock (hcb_p np, int mult) if (f1 < 80000 && mult > 1) { if (sym_verbose >= 2) - printf ("%s: clock multiplier assumed\n", - sym_name(np)); + device_printf(np->device, + "clock multiplier assumed\n"); np->multiplier = mult; } } else { @@ -7858,9 +7863,9 @@ sym_fast_scatter_sg_physical(hcb_p np, ccb_p cp, data->addr = cpu_to_scr(psegs2->ds_addr); data->size = cpu_to_scr(psegs2->ds_len); if (DEBUG_FLAGS & DEBUG_SCATTER) { - printf ("%s scatter: paddr=%lx len=%ld\n", - sym_name(np), (long) psegs2->ds_addr, - (long) psegs2->ds_len); + device_printf(np->device, + "scatter: paddr=%lx len=%ld\n", + (long)psegs2->ds_addr, (long)psegs2->ds_len); } if (psegs2 != psegs) { --data; @@ -7895,8 +7900,8 @@ sym_scatter_sg_physical(hcb_p np, ccb_p cp, bus_dma_segment_t *psegs, int nsegs) pn = ps; k = pe - pn; if (DEBUG_FLAGS & DEBUG_SCATTER) { - printf ("%s scatter: paddr=%lx len=%ld\n", - sym_name(np), pn, k); + device_printf(np->device, + "scatter: paddr=%lx len=%ld\n", pn, k); } cp->phys.data[s].addr = cpu_to_scr(pn); cp->phys.data[s].size = cpu_to_scr(k); @@ -9057,14 +9062,14 @@ static void sym_display_Symbios_nvram(hcb_p np, Symbios_nvram *nvram) int i; /* display Symbios nvram host data */ - printf("%s: HOST ID=%d%s%s%s%s%s%s\n", - sym_name(np), nvram->host_id & 0x0f, - (nvram->flags & SYMBIOS_SCAM_ENABLE) ? " SCAM" :"", - (nvram->flags & SYMBIOS_PARITY_ENABLE) ? " PARITY" :"", - (nvram->flags & SYMBIOS_VERBOSE_MSGS) ? " VERBOSE" :"", - (nvram->flags & SYMBIOS_CHS_MAPPING) ? " CHS_ALT" :"", - (nvram->flags2 & SYMBIOS_AVOID_BUS_RESET)?" NO_RESET" :"", - (nvram->flags1 & SYMBIOS_SCAN_HI_LO) ? " HI_LO" :""); + device_printf(np->device, "HOST ID=%d%s%s%s%s%s%s\n", + nvram->host_id & 0x0f, + (nvram->flags & SYMBIOS_SCAM_ENABLE) ? " SCAM" : "", + (nvram->flags & SYMBIOS_PARITY_ENABLE) ? " PARITY" : "", + (nvram->flags & SYMBIOS_VERBOSE_MSGS) ? " VERBOSE" : "", + (nvram->flags & SYMBIOS_CHS_MAPPING) ? " CHS_ALT" : "", + (nvram->flags2 & SYMBIOS_AVOID_BUS_RESET) ? " NO_RESET" : "", + (nvram->flags1 & SYMBIOS_SCAN_HI_LO) ? " HI_LO" : ""); /* display Symbios nvram drive data */ for (i = 0 ; i < 15 ; i++) { @@ -9102,17 +9107,18 @@ static void sym_display_Tekram_nvram(hcb_p np, Tekram_nvram *nvram) case 2: rem = " REMOVABLE=all"; break; } - printf("%s: HOST ID=%d%s%s%s%s%s%s%s%s%s BOOT DELAY=%d tags=%d\n", - sym_name(np), nvram->host_id & 0x0f, - (nvram->flags1 & SYMBIOS_SCAM_ENABLE) ? " SCAM" :"", - (nvram->flags & TEKRAM_MORE_THAN_2_DRIVES) ? " >2DRIVES" :"", - (nvram->flags & TEKRAM_DRIVES_SUP_1GB) ? " >1GB" :"", - (nvram->flags & TEKRAM_RESET_ON_POWER_ON) ? " RESET" :"", - (nvram->flags & TEKRAM_ACTIVE_NEGATION) ? " ACT_NEG" :"", - (nvram->flags & TEKRAM_IMMEDIATE_SEEK) ? " IMM_SEEK" :"", - (nvram->flags & TEKRAM_SCAN_LUNS) ? " SCAN_LUNS" :"", - (nvram->flags1 & TEKRAM_F2_F6_ENABLED) ? " F2_F6" :"", - rem, boot_delay, tags); + device_printf(np->device, + "HOST ID=%d%s%s%s%s%s%s%s%s%s BOOT DELAY=%d tags=%d\n", + nvram->host_id & 0x0f, + (nvram->flags1 & SYMBIOS_SCAM_ENABLE) ? " SCAM" : "", + (nvram->flags & TEKRAM_MORE_THAN_2_DRIVES) ? " >2DRIVES" : "", + (nvram->flags & TEKRAM_DRIVES_SUP_1GB) ? " >1GB" : "", + (nvram->flags & TEKRAM_RESET_ON_POWER_ON) ? " RESET" : "", + (nvram->flags & TEKRAM_ACTIVE_NEGATION) ? " ACT_NEG" : "", + (nvram->flags & TEKRAM_IMMEDIATE_SEEK) ? " IMM_SEEK" : "", + (nvram->flags & TEKRAM_SCAN_LUNS) ? " SCAN_LUNS" : "", + (nvram->flags1 & TEKRAM_F2_F6_ENABLED) ? " F2_F6" : "", + rem, boot_delay, tags); /* display Tekram nvram drive data */ for (i = 0; i <= 15; i++) { From nobody Thu Feb 5 21:53:20 2026 X-Original-To: dev-commits-src-branches@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 4f6WDw5ttqz6RGgt for ; Thu, 05 Feb 2026 21:53:20 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WDw3Vvsz3Q8t for ; Thu, 05 Feb 2026 21:53:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328400; 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=QXX+H2JqGq5Rm94ptUyUPSl+hZGq+MEAXBs/3yMBti4=; b=GLap0jHny7JUeXyVCAq53MouRQMOZNMZaOmKp0c2isXizTm1ZtivShff1Cvl1LJpUb0o+C hOop+QljdEMu3PEm4lK5lrUjCwci7A08xPzOv47rjzW5Ri6iKqtYD5liBgEyIwuun6NACv yVs8YE4+ZtefRmqe64o/+jAzaX2PzGnlNAf9Vmb58bvntBdVlMuF5A9nRvpX0cAwPwRt1H 4PqBqJnJPHFFTeyhv6NK1TPuig5a/fjTh4vwknx0dUHfXUd9ANqcS4Zj+uLO+qEOML4oss GG4StT1LPpztcwDcq56QKpEos8Khzk7QSGQ2A5zLNuX7+zqaqsB3/u/OXj9Q/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328400; a=rsa-sha256; cv=none; b=jdl+Kcdy2TVZJZQQqcsKIkACaEEm48UUbDqljnjSQW2O/7i6usWUrBP3i+4M13H2z632qO GuyKK5rz+JT1sdWMdPZSsjYiL0vYQddfyX3/I4KhxioVU0z5aV/QrZt3UUlJaFWBut9AKJ Gxl+mviSOmbRApqzD9Ia5zRex1hYSwpDnuT/RC+wU8AbX3zYg/v/Rd8XVXifGNZo1fDzt9 XDvRib76hwh4T+qs/FB/LU7FLKZHBcgXVv/HIf0xV32CyrNAxfy7PYvqCE+Fn+FLJnApud gossyjx2N4RuhrS3wjjvJXpu5Rl953ZrTCVbl06X6nFgjN52vNkj2tOwRnx9Og== 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=1770328400; 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=QXX+H2JqGq5Rm94ptUyUPSl+hZGq+MEAXBs/3yMBti4=; b=Q6vLkxt5G5LoiV0c4QHjTIq8apAuXZQpaolx8h31Fw1d65QWyAa0X5l7Ipdj0i1AGt/RS1 cnZUA79os3Zrj2cHSC/S9YE2ohGksAFzniW/Isk1FKE+ziprx1Byx3NYBRHTmWAFg8nurD bIXdzGf2WbtsMl+IpZ/T/p5s7chMOTv3pY9cFEKd+miBcM8lc1uTGKe1MRZtjAbuIKSjA3 Mac0dvX2iItIdg495GD8nPPE0Px8yHZZdPvv8c6y8qyjpiI1m7PeIwXyyJL/Cz7VZQM27b hp/DkAn2cQRq41Kw0u30KuzHheIZ7O+dMpTy3t+AURw7phR2W9Lxd8hiD7p1oA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WDw2FRlznxr for ; Thu, 05 Feb 2026 21:53:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18d06 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:53:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 3445fd3d2367 - stable/15 - sym(4): Map HCB memory as uncacheable also on x86 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 3445fd3d2367624a44ba0c1a9a603cef26fa6199 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:53:20 +0000 Message-Id: <69851150.18d06.3745c83@gitrepo.freebsd.org> The branch stable/15 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=3445fd3d2367624a44ba0c1a9a603cef26fa6199 commit 3445fd3d2367624a44ba0c1a9a603cef26fa6199 Author: Marius Strobl AuthorDate: 2026-02-02 21:30:42 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:52:33 +0000 sym(4): Map HCB memory as uncacheable also on x86 As part of making the chip-specific mix and match of different accesses (DMA/bus space) work as desired, the intent is to map the HCB memory as uncacheable. Prior to VM_MEMATTR_*, the !x86 way of indicating this to bus_dmamem_alloc(9) was BUS_DMA_COHERENT. Then later on in 2db99100a4, BUS_DMA_NOCACHE was hooked up to VM_MEMATTR_UNCACHEABLE for x86. As it turns out, still as of today bus_dmamem_alloc(9) differs in this regard across architectures. On arm, it still supports BUS_DMA_COHERENT only for requesting uncacheable DMA and x86 still uses BUS_DMA_NOCACHE only. On arm64 and riscv, BUS_DMA_COHERENT seems to effectively be an alias for BUS_DMA_NOCACHE. Thus, allocate the HCB memory with BUS_DMA_COHERENT | BUS_DMA_NOCACHE, so we get uncacheable memory on all architectures including x86 and so loads and stores from/to HCB won't get reordered. However, even on x86 we still need to use at least compiler barriers to achieve the desired program order. This change should also fix panics due to out-of-sync data seen with FreeBSD VMs on top of OpenStack and HBAs of type lsiLogic as a result of loads and stores getting reordered. [1] While at it: - Nuke the unused SYM_DRIVER_NAME macro. - Remove unused/redundant HCB members and correct a comment typo. PR: 270816 [1] MFC after: 3 days (cherry picked from commit b941d1c64e58708c93621cc07ed1c8e5e709cd48) --- sys/dev/sym/sym_hipd.c | 46 +++++++++++++++++++--------------------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 0e51607fb07a..1399eadb21fb 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -58,7 +58,6 @@ */ #include -#define SYM_DRIVER_NAME "sym-1.6.5-20000902" /* #define SYM_DEBUG_GENERIC_SUPPORT */ @@ -114,17 +113,15 @@ typedef u_int32_t u32; #include /* - * IA32 architecture does not reorder STORES and prevents - * LOADS from passing STORES. It is called `program order' - * by Intel and allows device drivers to deal with memory - * ordering by only ensuring that the code is not reordered - * by the compiler when ordering is required. - * Other architectures implement a weaker ordering that - * requires memory barriers (and also IO barriers when they - * make sense) to be used. + * With uncacheable memory, x86 does not reorder STORES and prevents LOADS + * from passing STORES. For ensuring this program order, we still need to + * employ compiler barriers, though, when the ordering of LOADS and STORES + * matters. + * Other architectures may implement weaker ordering guarantees and, thus, + * require memory barriers (and also IO barriers) to be used. */ #if defined __i386__ || defined __amd64__ -#define MEMORY_BARRIER() do { ; } while(0) +#define MEMORY_BARRIER() __compiler_membar() #elif defined __powerpc__ #define MEMORY_BARRIER() __asm__ volatile("eieio; sync" : : : "memory") #elif defined __arm__ @@ -594,10 +591,10 @@ static m_addr_t ___dma_getp(m_pool_s *mp) goto out_err; if (bus_dmamem_alloc(mp->dmat, &vaddr, - BUS_DMA_COHERENT | BUS_DMA_WAITOK, &vbp->dmamap)) + BUS_DMA_COHERENT | BUS_DMA_NOCACHE | BUS_DMA_WAITOK, &vbp->dmamap)) goto out_err; - bus_dmamap_load(mp->dmat, vbp->dmamap, vaddr, - MEMO_CLUSTER_SIZE, getbaddrcb, &baddr, BUS_DMA_NOWAIT); + bus_dmamap_load(mp->dmat, vbp->dmamap, vaddr, MEMO_CLUSTER_SIZE, + getbaddrcb, &baddr, BUS_DMA_NOWAIT); if (baddr) { int hc = VTOB_HASH_CODE(vaddr); vbp->vaddr = (m_addr_t) vaddr; @@ -1484,7 +1481,7 @@ struct sym_hcb { u32 scr_ram_seg; /* - * Chip and controller indentification. + * Chip and controller identification. */ device_t device; @@ -1534,7 +1531,6 @@ struct sym_hcb { struct resource *io_res; struct resource *mmio_res; struct resource *ram_res; - int ram_id; void *intr; /* @@ -1558,8 +1554,6 @@ struct sym_hcb { * BUS addresses of the chip */ vm_offset_t mmio_ba; /* MMIO BUS address */ - int mmio_ws; /* MMIO Window size */ - vm_offset_t ram_ba; /* RAM BUS address */ int ram_ws; /* RAM window size */ @@ -8528,16 +8522,15 @@ sym_pci_attach(device_t dev) * Alloc/get/map/retrieve the corresponding resources. */ if (np->features & (FE_RAM|FE_RAM8K)) { - int regs_id = SYM_PCI_RAM; + i = SYM_PCI_RAM; if (np->features & FE_64BIT) - regs_id = SYM_PCI_RAM64; - np->ram_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - ®s_id, RF_ACTIVE); + i = SYM_PCI_RAM64; + np->ram_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &i, + RF_ACTIVE); if (!np->ram_res) { device_printf(dev,"failed to allocate RAM resources\n"); goto attach_failed; } - np->ram_id = regs_id; np->ram_ba = rman_get_start(np->ram_res); } @@ -8772,16 +8765,15 @@ sym_pci_detach(device_t dev) */ if (np->ram_res) bus_release_resource(np->device, SYS_RES_MEMORY, - np->ram_id, np->ram_res); + rman_get_rid(np->ram_res), np->ram_res); if (np->mmio_res) bus_release_resource(np->device, SYS_RES_MEMORY, - SYM_PCI_MMIO, np->mmio_res); + rman_get_rid(np->mmio_res), np->mmio_res); if (np->io_res) bus_release_resource(np->device, SYS_RES_IOPORT, - SYM_PCI_IO, np->io_res); + rman_get_rid(np->io_res), np->io_res); if (np->irq_res) - bus_release_resource(np->device, SYS_RES_IRQ, - 0, np->irq_res); + bus_release_resource(np->device, SYS_RES_IRQ, 0, np->irq_res); if (np->scriptb0) sym_mfree_dma(np->scriptb0, np->scriptb_sz, "SCRIPTB0"); From nobody Thu Feb 5 21:53:19 2026 X-Original-To: dev-commits-src-branches@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 4f6WDv5QvRz6RGK9 for ; Thu, 05 Feb 2026 21:53: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WDv2HT0z3QF6 for ; Thu, 05 Feb 2026 21:53:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328399; 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=Vk5EUv0wWWYTCGaUxTrd1QmW3YNe/GOU7j5ZjIhl1xA=; b=SwOSuw6hSIDoxnPF63vrWv1a5zQayd5doLtfMLaf26Yvq7HJKr7NvLz7zKNubUq1zM0QDP /mXZXl+DhsHa2pSMlpoqRLKujaP0AyTSoscsTcQcDA8QcPlciaBBcEX86UoDWp2bIof4Vd u/FMB34yx7DhqHcoag2AghjtCqNeA3pkemMcBzEVcSAvIFJzR4G7UG2jDHq6Y32s5wKZdj jnX9Twc4YzvvU95/bo0ZJHRW2tn+nDuYqEn9FPO4Q0zA7cLC5efeIsoWAhB2+zfUNtEe51 /KbEZqVekVA+DWZd0MQ9q7JRMBOuVO2CNvomuQSkNHUCvR6l/6LTGiXYdSI9DQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328399; a=rsa-sha256; cv=none; b=EcIqXXvefsgRGEZKOVXXJ/XRcmLzmCroTzj05x+tiYorEZHXUCASX2zexC4eiGtVO6WtLR LsRyiVzWajt3zXFYpmAj+hgtvye7TlWOZU2HAqinI9yj1E4cFxkN7oS8FSZaCPYAbQQz0G oIi4++C9deKzLz0J9V8tFnCUoZawLR7Pd2U5w8OOkq0QtLyVSwqUzt79krR9g7c+d9PmN5 y0AdYAXQAdjBjrCv8Cmz+W/3JuB48i4y8GJ9ae5YHWeuA7ezN2jklARqycTlJBA3S36m9j 7P65QtSctDEgm37E4Z9iUTQAu7ou2F4FZSunyyuu0eTPwXLHXyCDuLWur+UPLA== 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=1770328399; 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=Vk5EUv0wWWYTCGaUxTrd1QmW3YNe/GOU7j5ZjIhl1xA=; b=nLplrCdqqAAkygbrlIppDIl8D47NKEaMe96JfyolLPrFYmXglUluQUeaOfdHyOjlCZTSfA 97guVbFUIwISOzlcP/UtUNqmnvcYsyojoH/P1BtfSfH8tsRHp40VpQexiCSEBqvFDwle9N JFCgC82Y5wQFFsuntkgp0LDLBeHdMscgZOY6jRnni3jo3z44YATrB4tGYjKxoP15f9fZqn AvO8ZIsJKHi08x3G48PujUgMC4og8qBvDQ1wTEA82bjBrjl+thIbdEFfjahgqd3PzpvAoV 06jarVMtZmnd2v9jIDyusxsT/aZW8PpmPsIlxP+Ib0xFgT2aH1An+b7v4u4gzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WDv1Q27znS2 for ; Thu, 05 Feb 2026 21:53:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 192c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:53:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 56a09f7f8ff9 - stable/15 - sym(4): Provide a DEVICE_DETACH(9) method List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 56a09f7f8ff9bea6262ca07eb80800471dd86276 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:53:19 +0000 Message-Id: <6985114f.192c3.66d335ff@gitrepo.freebsd.org> The branch stable/15 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=56a09f7f8ff9bea6262ca07eb80800471dd86276 commit 56a09f7f8ff9bea6262ca07eb80800471dd86276 Author: Marius Strobl AuthorDate: 2026-01-22 09:05:38 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:52:33 +0000 sym(4): Provide a DEVICE_DETACH(9) method This also fixes sym_cam_free() to tear things down correctly, i. e. in opposite order of setup, as well as sym_cam_attach() to not free devq and SIM twice in the failure case. (cherry picked from commit 518c01b31e96bbe8353a551885a61e7da6aed5f6) --- sys/dev/sym/sym_hipd.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 6b7c0bd355ef..0e51607fb07a 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -2249,10 +2249,11 @@ static void sym_update_dflags(hcb_p np, u_char *flags, struct ccb_trans_settings *cts); static const struct sym_pci_chip *sym_find_pci_chip (device_t dev); -static int sym_pci_probe (device_t dev); -static int sym_pci_attach (device_t dev); -static void sym_pci_free (hcb_p np); +static device_probe_t sym_pci_probe; +static device_attach_t sym_pci_attach; +static device_detach_t sym_pci_detach; + static int sym_cam_attach (hcb_p np); static void sym_cam_free (hcb_p np); @@ -8237,6 +8238,7 @@ sym_update_dflags(hcb_p np, u_char *flags, struct ccb_trans_settings *cts) static device_method_t sym_pci_methods[] = { DEVMETHOD(device_probe, sym_pci_probe), DEVMETHOD(device_attach, sym_pci_attach), + DEVMETHOD(device_detach, sym_pci_detach), DEVMETHOD_END }; @@ -8740,21 +8742,25 @@ sym_pci_attach(device_t dev) */ attach_failed: if (np) - sym_pci_free(np); + sym_pci_detach(dev); return ENXIO; } /* - * Free everything that have been allocated for this device. + * Detach a device by freeing everything that has been allocated for it. */ -static void sym_pci_free(hcb_p np) +static int +sym_pci_detach(device_t dev) { + hcb_p np; SYM_QUEHEAD *qp; ccb_p cp; tcb_p tp; lcb_p lp; int target, lun; + np = device_get_softc(dev); + /* * First free CAM resources. */ @@ -8829,6 +8835,8 @@ static void sym_pci_free(hcb_p np) SYM_LOCK_DESTROY(); device_set_softc(np->device, NULL); sym_mfree_dma(np, sizeof(*np), "HCB"); + + return (0); } /* @@ -8902,11 +8910,6 @@ static int sym_cam_attach(hcb_p np) return 1; fail: - if (sim) - cam_sim_free(sim, FALSE); - if (devq) - cam_simq_free(devq); - SYM_UNLOCK(); sym_cam_free(np); @@ -8929,15 +8932,16 @@ static void sym_cam_free(hcb_p np) SYM_LOCK(); + if (np->path) { + xpt_async(AC_LOST_DEVICE, np->path, NULL); + xpt_free_path(np->path); + np->path = NULL; + } if (np->sim) { xpt_bus_deregister(cam_sim_path(np->sim)); cam_sim_free(np->sim, /*free_devq*/ TRUE); np->sim = NULL; } - if (np->path) { - xpt_free_path(np->path); - np->path = NULL; - } SYM_UNLOCK(); } From nobody Thu Feb 5 21:53:49 2026 X-Original-To: dev-commits-src-branches@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 4f6WFT3K2hz6RGkY for ; Thu, 05 Feb 2026 21:53:49 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WFT1yf9z3R5P for ; Thu, 05 Feb 2026 21:53:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328429; 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=2jfvI/bUDcBTTFJAv0oQbegaydDVfm3JRqodPNxF2Uw=; b=mM6ckPNSV4cglIfn6bBBrFvKe82/wPVeFMNVhQsqeCdTCZNvZ7GwmqC/nPHk5sG7rGnBed xrIVCNvbUsJUb0XFmWANrXXuK0BCpLS9QLsCVxS25hcXkRvXW481Jk98NIk9lu/qF6gHnp b+DOzveR4n/ypcyERiPIrUzlqJVVCOHqHkkuModqqPFLtU8LDT1EPku54iuLItQQNtoMew /MxasLcNcERATq5A9SfghkLfPBEo8mD/ANkG/5RHPePU0D5ONL1NmQSEhRZUcVWw28sAMA welkVndxxq/333hqEKTdXNZgWQcfABltwjuZ25/FgJYKJTTE8VKAV7UOnBgU/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328429; a=rsa-sha256; cv=none; b=V3K8g6c3TpWl6xe8Oo9kN3ogOU7wcdhFdoU8/UByvqN+Y4X9HYpPy6W0INGHvjW8CMCLp2 DIKCH+xHhYNzackMI2gmPakndTFsePI7dEFy33rwo/tTrKyBGjL/3IsFrngqUjjzwWHfKn x07AXNm6iVs7ey2QsJnyX9GE03zPZeS7sJcl+bJEO/BzNSfHaQqaBam1k5YXjuLfMB/ZLi 7u6nQY/ln603NPZsmX/7AJx8llTIG1Vhmz5aXyHdxOo682tU0ZPY4G2JeAgVHzz+2zGRTQ imGifaSTNEQWa4PjL/tG+eNGeMtTSAxOQE+smv6GS6HqY+yUScSXNS1UbEg2ag== 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=1770328429; 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=2jfvI/bUDcBTTFJAv0oQbegaydDVfm3JRqodPNxF2Uw=; b=bCaT/3TrC/5k7wX/jP0MhEb7tydWd6JHJMWSn4z6ILzHVU3NbSGzphlmYDqfhsI/7Lsut2 r6s1Ld456GTt8inSgu4U9kA1mDUyNMrVV+ks5OPv0PXSe6LW2GHqx+U28mjgR6/DcxjO3C 65dE6ngY4lx9bfwcq99yzbTjXerD6uGFd49mj3IIrfVYBWPsWwIWybfZZOdCMzjWppIh6c JDtZlUYeqs1cIolj16XQ438XKiJY1uoa5mD6n3pQ0cDDu3ENGavkxXHcqQrhucQs/bThO0 /vDDCHTNgnTLS/+LeEvWxJQKXMwBFY4fREImuZV1SH/SuwyY1uwPJTeOxJNsUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WFT11y5znkF for ; Thu, 05 Feb 2026 21:53:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19359 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:53:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: e1eb82fb1844 - stable/14 - wc: Fix usage and manual SYNOPSIS + nits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e1eb82fb18446995359cffcb66162ec1f462ed88 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:53:49 +0000 Message-Id: <6985116d.19359.c701e9e@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=e1eb82fb18446995359cffcb66162ec1f462ed88 commit e1eb82fb18446995359cffcb66162ec1f462ed88 Author: Alexander Ziaee AuthorDate: 2026-01-12 21:04:54 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 21:53:35 +0000 wc: Fix usage and manual SYNOPSIS + nits The -c and -m flags are mututally exclusive. Also minor manual fixes: + Angle quotes do not work in prose, use double quote matching extant + Align manual page options list + Tag SPDX license identifier for manual PR: 292408 MFC after: 3 days (cherry picked from commit 4cb65fde79a2412558d10fdbf3427fc0e4536d80) --- usr.bin/wc/wc.1 | 12 ++++++++---- usr.bin/wc/wc.c | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/usr.bin/wc/wc.1 b/usr.bin/wc/wc.1 index 33d57ce31087..38a38e9f947f 100644 --- a/usr.bin/wc/wc.1 +++ b/usr.bin/wc/wc.1 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" @@ -39,7 +42,8 @@ .Sh SYNOPSIS .Nm .Op Fl -libxo -.Op Fl Lclmw +.Op Fl c | Fl m +.Op Fl Llw .Op Ar .Sh DESCRIPTION The @@ -49,10 +53,10 @@ input .Ar file , or standard input (if no file is specified) to the standard output. A line is defined as a string of characters delimited by a -.Aq newline +.Dq newline character. Characters beyond the final -.Aq newline +.Dq newline character will not be included in the line count. .Pp @@ -66,7 +70,7 @@ for all the files is displayed on a separate line after the output for the last file. .Pp The following options are available: -.Bl -tag -width indent +.Bl -tag -width "--libxo" .It Fl -libxo Generate output via .Xr libxo 3 diff --git a/usr.bin/wc/wc.c b/usr.bin/wc/wc.c index 246edcaec7a8..f4d92e3eb19c 100644 --- a/usr.bin/wc/wc.c +++ b/usr.bin/wc/wc.c @@ -362,6 +362,6 @@ word: gotsp = true; static void usage(void) { - xo_error("usage: wc [-Lclmw] [file ...]\n"); + xo_error("usage: wc [-c | -m] [-Llw] [file ...]\n"); exit(EXIT_FAILURE); } From nobody Thu Feb 5 21:54:15 2026 X-Original-To: dev-commits-src-branches@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 4f6WFz5W10z6RGqC for ; Thu, 05 Feb 2026 21:54:15 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WFz4Frxz3SBT for ; Thu, 05 Feb 2026 21:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hUUUZSW37XWOocxWVzNLeoXAgybLONq4udHDj0qGRss=; b=jlH+zc6WWWt1aMNPhX7vt3++cuM/dnnenArsjcO12vvaui0fIZ2ZyrN5eHbwdlzW2vgB02 7vOrDZk1/14o8zRKc8PhXRHzI61tO19HFS727z4p2MTkD1D9cQmKlg961qmz3bFqTzYNwb Qq0ASe5jY4V+8JBYCBAIHDUM4Yie35fSI49vfmMAVxEUK1erDO/OFpqjOLqNQtjvT70IbA SMjFvi5XVGTW5CFDNumVHItHqqE2hk3iBEbCBkbjPZMCJlBCfipBXyXZr6QPoRmr41TmxV dKwS+QXzhBw1V89qAhjqfSVXm/Xr2AR7dMz3gSNJbKXpCRSEEGz3MScPJoyuvQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328455; a=rsa-sha256; cv=none; b=W7zWuXux+MsGav5Q6hWoPIx28/9S6XnqzVnff43aq6qhYS3ZScCJuuB3+GUFrxACDxeR98 tUrM8QwPIWOTgX0CEGYZlrGCmX+8gSEuB/zPGhZxtixjIt/ZDsh1HAAtzQEZ/R/DtLLkLz Xjjq1Np1jzBCXZvWtmG/uZyQtslc2EBsZqXrgv3W1i8puTlHdwC0eHcAtwLdcg7C73qi2c jBpT204A7WycCA5Iz7STixe/26E1dADSWurwI/RUfBYQV0NFzAl7DPlKsBiuK/TzLqfQbH fS6alyQRU5jyi6iyECSFoApVG0rC+5nfy236bTyXHV1LkRzSrVj5I263Ltueow== 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=1770328455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hUUUZSW37XWOocxWVzNLeoXAgybLONq4udHDj0qGRss=; b=hHLT6uc/dgB4VFtZZCY7e1Q0CZ79iDeZLHwcCBtiWOmjEqq1aPYbl6FwOjNBQHCfynTv7/ MLWZMRPlkoqLJH9ZSEJ5X0PavOVXp+TWmAArLKiccHg3lROg1FbIDM1qJg45iyyUZ/q9Me fN1P5o4Rm8j+cr+0ofEzikleuJW2Q4Jogw6rbVS+K+osgV2C9Lv84miPWaIlU+/XCV3xdL rzhvn+MoQI0681SudJB5+UtxQdRC2Y2HJTSzyDqeH/9VZFGOkbYgN3+WZ6M8b0yqATtCs7 QFdLVb2m/Q6tap5wCtjbrQN0yaM+ClIlfqiAnea2uWXHCg5xJOgySbBBS6W9cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WFz3XgLznkG for ; Thu, 05 Feb 2026 21:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19900 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:54:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Cheng Cui From: Marius Strobl Subject: git: a327d997f5a1 - stable/14 - siftr: flush pkt_nodes to the log file in batch List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a327d997f5a106d8ec2fe5255aaf63127bfe6a69 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:54:15 +0000 Message-Id: <69851187.19900.7246bd28@gitrepo.freebsd.org> The branch stable/14 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=a327d997f5a106d8ec2fe5255aaf63127bfe6a69 commit a327d997f5a106d8ec2fe5255aaf63127bfe6a69 Author: Cheng Cui AuthorDate: 2023-07-25 13:53:55 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:54:06 +0000 siftr: flush pkt_nodes to the log file in batch Reviewed by: rscheff, tuexen Differential Revision: https://reviews.freebsd.org/D41175 (cherry picked from commit fafb03ab4254ab0d3927bc8ec22e4ba432efdbeb) --- sys/netinet/siftr.c | 73 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 55 insertions(+), 18 deletions(-) diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c index 255714cec0b1..9709ced92fd6 100644 --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -372,12 +372,12 @@ siftr_new_hash_node(struct flow_info info, int dir, } } -static void -siftr_process_pkt(struct pkt_node * pkt_node) +static int +siftr_process_pkt(struct pkt_node * pkt_node, char *buf) { struct flow_hash_node *hash_node; struct listhead *counter_list; - struct ale *log_buf; + int ret_sz; if (pkt_node->flowid == 0) { panic("%s: flowid not available", __func__); @@ -387,7 +387,7 @@ siftr_process_pkt(struct pkt_node * pkt_node) hash_node = siftr_find_flow(counter_list, pkt_node->flowid); if (hash_node == NULL) { - return; + return 0; } else if (siftr_pkts_per_log > 1) { /* * Taking the remainder of the counter divided @@ -403,16 +403,11 @@ siftr_process_pkt(struct pkt_node * pkt_node) * we wrote a log message for this connection, return. */ if (hash_node->counter > 0) - return; + return 0; } - log_buf = alq_getn(siftr_alq, MAX_LOG_MSG_LEN, ALQ_WAITOK); - - if (log_buf == NULL) - return; /* Should only happen if the ALQ is shutting down. */ - /* Construct a log message. */ - log_buf->ae_bytesused = snprintf(log_buf->ae_data, MAX_LOG_MSG_LEN, + ret_sz = snprintf(buf, MAX_LOG_MSG_LEN, "%c,%jd.%06ld,%s,%hu,%s,%hu,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u," "%u,%u,%u,%u,%u,%u,%u,%u\n", direction[pkt_node->direction], @@ -444,7 +439,7 @@ siftr_process_pkt(struct pkt_node * pkt_node) pkt_node->flowid, pkt_node->flowtype); - alq_post_flags(siftr_alq, log_buf, 0); + return ret_sz; } static void @@ -454,6 +449,9 @@ siftr_pkt_manager_thread(void *arg) STAILQ_HEAD_INITIALIZER(tmp_pkt_queue); struct pkt_node *pkt_node, *pkt_node_temp; uint8_t draining; + struct ale *log_buf; + int ret_sz, cnt; + char *bufp; draining = 2; @@ -489,12 +487,51 @@ siftr_pkt_manager_thread(void *arg) */ mtx_unlock(&siftr_pkt_mgr_mtx); - /* Flush all pkt_nodes to the log file. */ - STAILQ_FOREACH_SAFE(pkt_node, &tmp_pkt_queue, nodes, - pkt_node_temp) { - siftr_process_pkt(pkt_node); - STAILQ_REMOVE_HEAD(&tmp_pkt_queue, nodes); - free(pkt_node, M_SIFTR_PKTNODE); +try_again: + pkt_node = STAILQ_FIRST(&tmp_pkt_queue); + if (pkt_node != NULL) { + if (STAILQ_NEXT(pkt_node, nodes) != NULL) { + cnt = 3; + } else { + cnt = 1; + } + + log_buf = alq_getn(siftr_alq, MAX_LOG_MSG_LEN * cnt, + ALQ_WAITOK); + + if (log_buf != NULL) { + log_buf->ae_bytesused = 0; + bufp = log_buf->ae_data; + } else { + /* + * Should only happen if the ALQ is shutting + * down. + */ + bufp = NULL; + } + + /* Flush all pkt_nodes to the log file. */ + STAILQ_FOREACH_SAFE(pkt_node, &tmp_pkt_queue, nodes, + pkt_node_temp) { + if (log_buf != NULL) { + ret_sz = siftr_process_pkt(pkt_node, + bufp); + bufp += ret_sz; + log_buf->ae_bytesused += ret_sz; + cnt--; + } + + STAILQ_REMOVE_HEAD(&tmp_pkt_queue, nodes); + free(pkt_node, M_SIFTR_PKTNODE); + + if (cnt <= 0 && !STAILQ_EMPTY(&tmp_pkt_queue)) { + alq_post_flags(siftr_alq, log_buf, 0); + goto try_again; + } + } + if (log_buf != NULL) { + alq_post_flags(siftr_alq, log_buf, 0); + } } KASSERT(STAILQ_EMPTY(&tmp_pkt_queue), From nobody Thu Feb 5 21:54:17 2026 X-Original-To: dev-commits-src-branches@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 4f6WG23457z6RGkd for ; Thu, 05 Feb 2026 21:54:18 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WG15gcZz3S8C for ; Thu, 05 Feb 2026 21:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=92tQgNKXBhZrjm0/6ef/kTk8HOhWJskFqopLEPGfh2c=; b=BbZpZzZ99WG4ep/lMebndwXzhazYP1Xmd9TxC4YxvhwQ5OnzmYs4oTuqPZ+XRxEnN5cxtL UFEuT6jKdAHwq1WyhPlPkYDYB9t05QTQK+KYK9xBkubLyRasrBx7AKIzbxg/8tVEUMgDDK QPJnL1eZ3gJbKLoxQSJrZr6vP6xYtEHuiKPt5NcpGDTsNhwab4DHxA4p+s9KIsWo3lIUwL lX4SMdEaxXDPG0/aIDTPAineaFgN9LK03tXxGYpK/yG8yFgTKVimHoV0rOFNvf7atGAoz1 ybe2snADAN4+l0jSbNkgNOK3nbN4hCTQYboSCktOuA9I27bKocxrgnhndJIRIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328457; a=rsa-sha256; cv=none; b=jxtNUGjLY8LNSOOA7fn+R0OI0xip5ZGkQ8PmFuD8Qnd8vFKxTIj3DKSFaw4jtj11jHJ1d0 gkkldMxaNHuG6Lj+VzBi9xUBo97ItwxbVMO945ml9N6G0U1WlzvEkDLvLfg9iEFyEA4m18 r9K2XKCGG8lXDsUok7UxSqJvNun7V2KUHNGCvOVLxNJb7hogCfigTBlt37HLHAEQLHlM8M yQZORLTCgGmG51c7BoPCr4u8mM4ADzHwWUSBnKN/6jBGlr884ZRbJO/b1/Fpp98Kmst0UR Nc/2w6jjcWCrBAAnxDYWHR32kpLvJ3MRLv3Hz1Z3h+YWau94W7+JiEbBzHLrvQ== 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=1770328457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=92tQgNKXBhZrjm0/6ef/kTk8HOhWJskFqopLEPGfh2c=; b=sZxkClTnAp2ZUbjYhWUwmxYA9R1JOzZ4yXIJ1fb9qkg9hHPvwGYIMyGK3lf4ZvAm1Y0S8F zSAEsTGand/m6llAEehP6DSv/WFzxR8FpowkjmLbtEEcMuseKW0k0D0AjeWDwffkpdcAnx f5ybV4MMkIRGUDxAJ0i4mpfj8+QFsiqq683vJZumZI7tNDX++h9X8iVZCwJ6uMJaoPY4ZN 4YXkckyZFImY5zzzSKess/yAJBLncJX7MjncxrWoI4GYF5SUCarGFS4oMITJQ1WaJi59Od 2VMFZpWAByJR4D7laIXgnxIgzGnvKBPDIAGT6LJdZhBRBV+BkvoTVuPJv+JgsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WG15D78znTv for ; Thu, 05 Feb 2026 21:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 185cb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:54:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Motin From: Marius Strobl Subject: git: 81f577d79d8d - stable/14 - Replace random sbuf_printf() with cheaper cat/putc. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 81f577d79d8dff70428ec1719b440da90f119cf1 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:54:17 +0000 Message-Id: <69851189.185cb.6bd2ae40@gitrepo.freebsd.org> The branch stable/14 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=81f577d79d8dff70428ec1719b440da90f119cf1 commit 81f577d79d8dff70428ec1719b440da90f119cf1 Author: Alexander Motin AuthorDate: 2023-11-22 22:27:17 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:54:06 +0000 Replace random sbuf_printf() with cheaper cat/putc. (cherry picked from commit 0a7139485ccb8192e7c7c6d93653da92bfcdc196) --- sys/kern/kern_cons.c | 2 +- sys/kern/kern_exit.c | 8 ++++---- sys/kern/kern_fail.c | 12 ++++++------ sys/kern/kern_rctl.c | 16 ++++++++-------- sys/kern/kern_sig.c | 12 ++++++------ sys/kern/kern_sysctl.c | 4 ++-- sys/kern/kern_tslog.c | 12 ++++++------ sys/kern/sched_ule.c | 18 +++++++++--------- sys/kern/subr_blist.c | 6 +++--- sys/kern/subr_bus.c | 2 +- sys/kern/subr_prf.c | 14 +++++++------- sys/kern/subr_sleepqueue.c | 4 ++-- sys/kern/subr_stats.c | 6 +++--- sys/kern/subr_witness.c | 6 +++--- sys/kern/tty_info.c | 6 +++--- sys/kern/vfs_mountroot.c | 12 ++++++------ 16 files changed, 70 insertions(+), 70 deletions(-) diff --git a/sys/kern/kern_cons.c b/sys/kern/kern_cons.c index 2b28c51984e1..57d33b88d768 100644 --- a/sys/kern/kern_cons.c +++ b/sys/kern/kern_cons.c @@ -333,7 +333,7 @@ sysctl_kern_console(SYSCTL_HANDLER_ARGS) sbuf_clear(sb); STAILQ_FOREACH(cnd, &cn_devlist, cnd_next) sbuf_printf(sb, "%s,", cnd->cnd_cn->cn_name); - sbuf_printf(sb, "/"); + sbuf_putc(sb, '/'); SET_FOREACH(list, cons_set) { cp = *list; if (cp->cn_name[0] != '\0') diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index 6f772b488b79..eeee05f793d6 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -805,13 +805,13 @@ kern_abort2(struct thread *td, const char *why, int nargs, void **uargs) if (error < 0) goto out; } else { - sbuf_printf(sb, "(null)"); + sbuf_cat(sb, "(null)"); } if (nargs > 0) { - sbuf_printf(sb, "("); + sbuf_putc(sb, '('); for (i = 0;i < nargs; i++) sbuf_printf(sb, "%s%p", i == 0 ? "" : ", ", uargs[i]); - sbuf_printf(sb, ")"); + sbuf_putc(sb, ')'); } /* * Final stage: arguments were proper, string has been @@ -822,7 +822,7 @@ kern_abort2(struct thread *td, const char *why, int nargs, void **uargs) out: if (sig == SIGKILL) { sbuf_trim(sb); - sbuf_printf(sb, " (Reason text inaccessible)"); + sbuf_cat(sb, " (Reason text inaccessible)"); } sbuf_cat(sb, "\n"); sbuf_finish(sb); diff --git a/sys/kern/kern_fail.c b/sys/kern/kern_fail.c index 2c362b68f24b..258268bb874f 100644 --- a/sys/kern/kern_fail.c +++ b/sys/kern/kern_fail.c @@ -720,31 +720,31 @@ fail_point_get(struct fail_point *fp, struct sbuf *sb, if (ent->fe_pid != NO_PID) sbuf_printf(sb, "[pid %d]", ent->fe_pid); if (TAILQ_NEXT(ent, fe_entries)) - sbuf_printf(sb, "->"); + sbuf_cat(sb, "->"); } if (!printed_entry_count) - sbuf_printf(sb, "off"); + sbuf_cat(sb, "off"); fp_free(fp_entry_cpy); if (verbose) { #ifdef STACK /* Print number of sleeping threads. queue=0 is the argument * used by msleep when sending our threads to sleep. */ - sbuf_printf(sb, "\nsleeping_thread_stacks = {\n"); + sbuf_cat(sb, "\nsleeping_thread_stacks = {\n"); sleepq_sbuf_print_stacks(sb, FP_SLEEP_CHANNEL(fp), 0, &cnt_sleeping); - sbuf_printf(sb, "},\n"); + sbuf_cat(sb, "},\n"); #endif sbuf_printf(sb, "sleeping_thread_count = %d,\n", cnt_sleeping); #ifdef STACK - sbuf_printf(sb, "paused_thread_stacks = {\n"); + sbuf_cat(sb, "paused_thread_stacks = {\n"); sleepq_sbuf_print_stacks(sb, FP_PAUSE_CHANNEL(fp), 0, &cnt_sleeping); - sbuf_printf(sb, "},\n"); + sbuf_cat(sb, "},\n"); #endif sbuf_printf(sb, "paused_thread_count = %d\n", cnt_sleeping); diff --git a/sys/kern/kern_rctl.c b/sys/kern/kern_rctl.c index d2bbb764c685..440e561ca39a 100644 --- a/sys/kern/kern_rctl.c +++ b/sys/kern/kern_rctl.c @@ -580,7 +580,7 @@ rctl_enforce(struct proc *p, int resource, uint64_t amount) continue; } sbuf_new(&sb, buf, RCTL_LOG_BUFSIZE, SBUF_FIXEDLEN); - sbuf_printf(&sb, "rule="); + sbuf_cat(&sb, "rule="); rctl_rule_to_sbuf(&sb, rule); sbuf_printf(&sb, " pid=%d ruid=%d jail=%s", p->p_pid, p->p_ucred->cr_ruid, @@ -1484,28 +1484,28 @@ rctl_rule_to_sbuf(struct sbuf *sb, const struct rctl_rule *rule) switch (rule->rr_subject_type) { case RCTL_SUBJECT_TYPE_PROCESS: if (rule->rr_subject.rs_proc == NULL) - sbuf_printf(sb, ":"); + sbuf_putc(sb, ':'); else sbuf_printf(sb, "%d:", rule->rr_subject.rs_proc->p_pid); break; case RCTL_SUBJECT_TYPE_USER: if (rule->rr_subject.rs_uip == NULL) - sbuf_printf(sb, ":"); + sbuf_putc(sb, ':'); else sbuf_printf(sb, "%d:", rule->rr_subject.rs_uip->ui_uid); break; case RCTL_SUBJECT_TYPE_LOGINCLASS: if (rule->rr_subject.rs_loginclass == NULL) - sbuf_printf(sb, ":"); + sbuf_putc(sb, ':'); else sbuf_printf(sb, "%s:", rule->rr_subject.rs_loginclass->lc_name); break; case RCTL_SUBJECT_TYPE_JAIL: if (rule->rr_subject.rs_prison_racct == NULL) - sbuf_printf(sb, ":"); + sbuf_putc(sb, ':'); else sbuf_printf(sb, "%s:", rule->rr_subject.rs_prison_racct->prr_name); @@ -1697,7 +1697,7 @@ rctl_get_rules_callback(struct racct *racct, void *arg2, void *arg3) if (!rctl_rule_matches(link->rrl_rule, filter)) continue; rctl_rule_to_sbuf(sb, link->rrl_rule); - sbuf_printf(sb, ","); + sbuf_putc(sb, ','); } } @@ -1754,7 +1754,7 @@ sys_rctl_get_rules(struct thread *td, struct rctl_get_rules_args *uap) if (!rctl_rule_matches(link->rrl_rule, filter)) continue; rctl_rule_to_sbuf(sb, link->rrl_rule); - sbuf_printf(sb, ","); + sbuf_putc(sb, ','); } RACCT_UNLOCK(); } @@ -1847,7 +1847,7 @@ sys_rctl_get_limits(struct thread *td, struct rctl_get_limits_args *uap) LIST_FOREACH(link, &filter->rr_subject.rs_proc->p_racct->r_rule_links, rrl_next) { rctl_rule_to_sbuf(sb, link->rrl_rule); - sbuf_printf(sb, ","); + sbuf_putc(sb, ','); } RACCT_UNLOCK(); if (sbuf_error(sb) == ENOMEM) { diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index b2ffd716f3dc..5304436f4dd5 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -4051,7 +4051,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, } getcredhostname(td->td_ucred, hostname, MAXHOSTNAMELEN); - sbuf_printf(&sb, "%s", hostname); + sbuf_cat(&sb, hostname); break; case 'I': /* autoincrementing index */ if (indexpos != -1) { @@ -4090,9 +4090,9 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, sx_sunlock(&corefilename_lock); free(hostname, M_TEMP); if (compress == COMPRESS_GZIP) - sbuf_printf(&sb, GZIP_SUFFIX); + sbuf_cat(&sb, GZIP_SUFFIX); else if (compress == COMPRESS_ZSTD) - sbuf_printf(&sb, ZSTD_SUFFIX); + sbuf_cat(&sb, ZSTD_SUFFIX); if (sbuf_error(&sb) != 0) { log(LOG_ERR, "pid %ld (%s), uid (%lu): corename is too " "long\n", (long)pid, comm, (u_long)uid); @@ -4248,10 +4248,10 @@ coredump(struct thread *td) sb = sbuf_new_auto(); if (vn_fullpath_global(p->p_textvp, &fullpath, &freepath) != 0) goto out2; - sbuf_printf(sb, "comm=\""); + sbuf_cat(sb, "comm=\""); devctl_safe_quote_sb(sb, fullpath); free(freepath, M_TEMP); - sbuf_printf(sb, "\" core=\""); + sbuf_cat(sb, "\" core=\""); /* * We can't lookup core file vp directly. When we're replacing a core, and @@ -4270,7 +4270,7 @@ coredump(struct thread *td) sbuf_putc(sb, '/'); } devctl_safe_quote_sb(sb, name); - sbuf_printf(sb, "\""); + sbuf_putc(sb, '"'); if (sbuf_finish(sb) == 0) devctl_notify("kernel", "signal", "coredump", sbuf_data(sb)); out2: diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 46674b9a3ed1..29438e882297 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -421,9 +421,9 @@ sysctl_warn_reuse(const char *func, struct sysctl_oid *leaf) sbuf_printf(&sb, "%s%.*s", nodes[i]->oid_name, i != (rc - 1), "."); } else { - sbuf_printf(&sb, "%s", leaf->oid_name); + sbuf_cat(&sb, leaf->oid_name); } - sbuf_printf(&sb, ")!\n"); + sbuf_cat(&sb, ")!\n"); (void)sbuf_finish(&sb); } diff --git a/sys/kern/kern_tslog.c b/sys/kern/kern_tslog.c index 0f2b1db5f347..eb7c41f94620 100644 --- a/sys/kern/kern_tslog.c +++ b/sys/kern/kern_tslog.c @@ -110,23 +110,23 @@ sysctl_debug_tslog(SYSCTL_HANDLER_ARGS) (unsigned long long)timestamps[i].tsc); switch (timestamps[i].type) { case TS_ENTER: - sbuf_printf(sb, " ENTER"); + sbuf_cat(sb, " ENTER"); break; case TS_EXIT: - sbuf_printf(sb, " EXIT"); + sbuf_cat(sb, " EXIT"); break; case TS_THREAD: - sbuf_printf(sb, " THREAD"); + sbuf_cat(sb, " THREAD"); break; case TS_EVENT: - sbuf_printf(sb, " EVENT"); + sbuf_cat(sb, " EVENT"); break; } sbuf_printf(sb, " %s", timestamps[i].f ? timestamps[i].f : "(null)"); if (timestamps[i].s) sbuf_printf(sb, " %s\n", timestamps[i].s); else - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } error = sbuf_finish(sb); sbuf_delete(sb); @@ -210,7 +210,7 @@ sysctl_debug_tslog_user(SYSCTL_HANDLER_ARGS) procs[pid].execname : ""); sbuf_printf(sb, " \"%s\"", procs[pid].namei ? procs[pid].namei : ""); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } error = sbuf_finish(sb); sbuf_delete(sb); diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index f59b7195f754..bfb0ac9a37d5 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -3363,25 +3363,25 @@ sysctl_kern_sched_topology_spec_internal(struct sbuf *sb, struct cpu_group *cg, for (i = cg->cg_first; i <= cg->cg_last; i++) { if (CPU_ISSET(i, &cg->cg_mask)) { if (!first) - sbuf_printf(sb, ", "); + sbuf_cat(sb, ", "); else first = FALSE; sbuf_printf(sb, "%d", i); } } - sbuf_printf(sb, "\n"); + sbuf_cat(sb, "\n"); if (cg->cg_flags != 0) { sbuf_printf(sb, "%*s ", indent, ""); if ((cg->cg_flags & CG_FLAG_HTT) != 0) - sbuf_printf(sb, "HTT group"); + sbuf_cat(sb, "HTT group"); if ((cg->cg_flags & CG_FLAG_THREAD) != 0) - sbuf_printf(sb, "THREAD group"); + sbuf_cat(sb, "THREAD group"); if ((cg->cg_flags & CG_FLAG_SMT) != 0) - sbuf_printf(sb, "SMT group"); + sbuf_cat(sb, "SMT group"); if ((cg->cg_flags & CG_FLAG_NODE) != 0) - sbuf_printf(sb, "NUMA node"); - sbuf_printf(sb, "\n"); + sbuf_cat(sb, "NUMA node"); + sbuf_cat(sb, "\n"); } if (cg->cg_children > 0) { @@ -3411,9 +3411,9 @@ sysctl_kern_sched_topology_spec(SYSCTL_HANDLER_ARGS) if (topo == NULL) return (ENOMEM); - sbuf_printf(topo, "\n"); + sbuf_cat(topo, "\n"); err = sysctl_kern_sched_topology_spec_internal(topo, cpu_top, 1); - sbuf_printf(topo, "\n"); + sbuf_cat(topo, "\n"); if (err == 0) { err = sbuf_finish(topo); diff --git a/sys/kern/subr_blist.c b/sys/kern/subr_blist.c index 9b04518010e3..ac9d73ce3c6c 100644 --- a/sys/kern/subr_blist.c +++ b/sys/kern/subr_blist.c @@ -479,9 +479,9 @@ dump_gap_stats(const struct gap_stats *stats, struct sbuf *s) sbuf_printf(s, "largest free range: %jd\n", (intmax_t)stats->max); sbuf_printf(s, "average maximal free range size: %jd\n", (intmax_t)stats->avg); - sbuf_printf(s, "number of maximal free ranges of different sizes:\n"); - sbuf_printf(s, " count | size range\n"); - sbuf_printf(s, " ----- | ----------\n"); + sbuf_cat(s, "number of maximal free ranges of different sizes:\n"); + sbuf_cat(s, " count | size range\n"); + sbuf_cat(s, " ----- | ----------\n"); for (i = 0; i < stats->max_bucket; i++) { if (stats->histo[i] != 0) { sbuf_printf(s, "%20jd | ", diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 078ea7002013..ad447abf9971 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -5764,7 +5764,7 @@ device_get_path(device_t dev, const char *locator, struct sbuf *sb) KASSERT(sb != NULL, ("sb is NULL")); parent = device_get_parent(dev); if (parent == NULL) { - error = sbuf_printf(sb, "/"); + error = sbuf_putc(sb, '/'); } else { error = BUS_GET_DEVICE_PATH(parent, dev, locator, sb); if (error == 0) { diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index 23e51d7f456b..0bf5fc9f440d 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -1258,24 +1258,24 @@ sbuf_hexdump(struct sbuf *sb, const void *ptr, int length, const char *hdr, if (k < length) sbuf_printf(sb, "%c%02x", delim, cp[k]); else - sbuf_printf(sb, " "); + sbuf_cat(sb, " "); } } if ((flags & HD_OMIT_CHARS) == 0) { - sbuf_printf(sb, " |"); + sbuf_cat(sb, " |"); for (j = 0; j < cols; j++) { k = i + j; if (k >= length) - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); else if (cp[k] >= ' ' && cp[k] <= '~') - sbuf_printf(sb, "%c", cp[k]); + sbuf_putc(sb, cp[k]); else - sbuf_printf(sb, "."); + sbuf_putc(sb, '.'); } - sbuf_printf(sb, "|"); + sbuf_putc(sb, '|'); } - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } } diff --git a/sys/kern/subr_sleepqueue.c b/sys/kern/subr_sleepqueue.c index ef921df3b64e..bc318c79c0a5 100644 --- a/sys/kern/subr_sleepqueue.c +++ b/sys/kern/subr_sleepqueue.c @@ -1282,7 +1282,7 @@ sleepq_sbuf_print_stacks(struct sbuf *sb, const void *wchan, int queue, sbuf_finish(td_infos[i]); sbuf_printf(sb, "--- thread %s: ---\n", sbuf_data(td_infos[i])); stack_sbuf_print(sb, st[i]); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); error = sbuf_error(sb); if (error == 0) @@ -1427,7 +1427,7 @@ dump_sleepq_prof_stats(SYSCTL_HANDLER_ARGS) if (error != 0) return (error); sb = sbuf_new_for_sysctl(NULL, NULL, SLEEPQ_SBUFSIZE, req); - sbuf_printf(sb, "\nwmesg\tcount\n"); + sbuf_cat(sb, "\nwmesg\tcount\n"); enabled = prof_enabled; mtx_lock_spin(&sleepq_prof_lock); prof_enabled = 0; diff --git a/sys/kern/subr_stats.c b/sys/kern/subr_stats.c index 23908c59c996..22023debe3f4 100644 --- a/sys/kern/subr_stats.c +++ b/sys/kern/subr_stats.c @@ -2089,7 +2089,7 @@ stats_v1_itercb_tostr_freeform(struct statsblobv1 *sb, struct voi *v, "data_off=%hu", vs->flags, vsd_dtype2name[vs->dtype], vs->dsz, vs->data_off); - sbuf_printf(buf, "\n\t\t\tvoistatdata: "); + sbuf_cat(buf, "\n\t\t\tvoistatdata: "); stats_voistatdata_tostr(vsd, v->dtype, vs->dtype, vs->dsz, sctx->fmt, buf, dump); } @@ -2136,7 +2136,7 @@ stats_v1_itercb_tostr_json(struct statsblobv1 *sb, struct voi *v, struct voistat sbuf_printf(buf, "\"[%d]\":{\"id\":%d", ctx->vslot, v->id); if (v->id < 0) { - sbuf_printf(buf, "},"); + sbuf_cat(buf, "},"); return; } @@ -2168,7 +2168,7 @@ stats_v1_itercb_tostr_json(struct statsblobv1 *sb, struct voi *v, struct voistat if (dump) { sbuf_printf(buf, "\"[%hhd]\":", ctx->vsslot); if (vs->stype < 0) { - sbuf_printf(buf, "{\"stype\":-1},"); + sbuf_cat(buf, "{\"stype\":-1},"); return; } sbuf_printf(buf, "{\"stype\":\"%s\",\"errs\":%hu,\"flags\":%hu," diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c index 1cc7c3fd75a0..e97cc2fd22fe 100644 --- a/sys/kern/subr_witness.c +++ b/sys/kern/subr_witness.c @@ -2739,7 +2739,7 @@ restart: tmp_w1->w_name, tmp_w1->w_class->lc_name, tmp_w2->w_name, tmp_w2->w_class->lc_name); stack_sbuf_print(sb, &tmp_data1->wlod_stack); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } if (data2 && data2 != data1) { sbuf_printf(sb, @@ -2747,7 +2747,7 @@ restart: tmp_w2->w_name, tmp_w2->w_class->lc_name, tmp_w1->w_name, tmp_w1->w_class->lc_name); stack_sbuf_print(sb, &tmp_data2->wlod_stack); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } } } @@ -2884,7 +2884,7 @@ sysctl_debug_witness_fullgraph(SYSCTL_HANDLER_ARGS) sb = sbuf_new_for_sysctl(NULL, NULL, FULLGRAPH_SBUF_SIZE, req); if (sb == NULL) return (ENOMEM); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); mtx_lock_spin(&w_mtx); STAILQ_FOREACH(w, &w_all, w_list) diff --git a/sys/kern/tty_info.c b/sys/kern/tty_info.c index 15ba5995cea9..f54fc3a30f5e 100644 --- a/sys/kern/tty_info.c +++ b/sys/kern/tty_info.c @@ -309,17 +309,17 @@ tty_info(struct tty *tp) load / 100, load % 100); if (tp->t_session == NULL) { - sbuf_printf(&sb, "not a controlling terminal\n"); + sbuf_cat(&sb, "not a controlling terminal\n"); goto out; } if (tp->t_pgrp == NULL) { - sbuf_printf(&sb, "no foreground process group\n"); + sbuf_cat(&sb, "no foreground process group\n"); goto out; } PGRP_LOCK(tp->t_pgrp); if (LIST_EMPTY(&tp->t_pgrp->pg_members)) { PGRP_UNLOCK(tp->t_pgrp); - sbuf_printf(&sb, "empty foreground process group\n"); + sbuf_cat(&sb, "empty foreground process group\n"); goto out; } diff --git a/sys/kern/vfs_mountroot.c b/sys/kern/vfs_mountroot.c index a3d2b0c60671..b78eeafbc71c 100644 --- a/sys/kern/vfs_mountroot.c +++ b/sys/kern/vfs_mountroot.c @@ -895,18 +895,18 @@ vfs_mountroot_conf0(struct sbuf *sb) char *s, *tok, *mnt, *opt; int error; - sbuf_printf(sb, ".onfail panic\n"); + sbuf_cat(sb, ".onfail panic\n"); sbuf_printf(sb, ".timeout %d\n", root_mount_timeout); if (boothowto & RB_ASKNAME) - sbuf_printf(sb, ".ask\n"); + sbuf_cat(sb, ".ask\n"); #ifdef ROOTDEVNAME if (boothowto & RB_DFLTROOT) sbuf_printf(sb, "%s\n", ROOTDEVNAME); #endif if (boothowto & RB_CDROM) { - sbuf_printf(sb, "cd9660:/dev/cd0 ro\n"); - sbuf_printf(sb, ".timeout 0\n"); - sbuf_printf(sb, "cd9660:/dev/cd1 ro\n"); + sbuf_cat(sb, "cd9660:/dev/cd0 ro\n"); + sbuf_cat(sb, ".timeout 0\n"); + sbuf_cat(sb, "cd9660:/dev/cd1 ro\n"); sbuf_printf(sb, ".timeout %d\n", root_mount_timeout); } s = kern_getenv("vfs.root.mountfrom"); @@ -933,7 +933,7 @@ vfs_mountroot_conf0(struct sbuf *sb) sbuf_printf(sb, "%s\n", ROOTDEVNAME); #endif if (!(boothowto & RB_ASKNAME)) - sbuf_printf(sb, ".ask\n"); + sbuf_cat(sb, ".ask\n"); } static int From nobody Thu Feb 5 21:54:16 2026 X-Original-To: dev-commits-src-branches@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 4f6WG10QD6z6RGqD for ; Thu, 05 Feb 2026 21:54:17 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WG05WLsz3SJT for ; Thu, 05 Feb 2026 21:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fANTFl7p3mXapfdMvPDlbviBx5pepscgZKvMGSefs30=; b=T4I1N9WqXtdvPMp+85a+a7ltFZwG54dD6wzHv9r+QkYBk44964LxBpittpBgL8QuYdVeys TNmoggt+mNBmYJ3451Ri/6MBL3wMHUVVWj7ndBCBmuFKnUNloAf6AjRheC9TiB8DC6Avnx qn6BsCMhLJGfmrY6xHzp02LUDFhgyujJcdGchfRj5pk/I7tHfN59moyxrM2Z4PeIQJvtjQ QjTthlIgb02JcA/L4RaBg83WXz38O5NoCtu/kI9u7jpj3hXm1n+ea6T2rym04oFobnCTUk ZmM/j0iguIfYXHsAVPvhp12fy74xjzHaiXMGMV4XNujhyEPxSD00gi8gMnDxBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328456; a=rsa-sha256; cv=none; b=OUC7HgzKVSBX0vchubmNsVgPBVl16Ho7QO6eYkD4vsZ0csfO+aI16TQ256dd3CVn6Aa17o V0iUgb+AxNUHG9lrliMPpwgW7yWzIk7GJXPuK3PxUb94e3YBnvpCazo4FFsSZB40UB7avr 6VwtRLta4Yxui0cFmMVFRuRpk5Ca1Q0qwAjba7b98jVjeL2kl6DLs+Pl6SS2UWiv3ABBBg ufuw1Dk4j0Wi8S6KiYvwehwHifNWwe3S7C3d1+p8D02G8Iml5UVfUQyX9gkYBF/xmT9vqy PJvZ8CZ4rJ8RLMEG7nxoKa0b3zqr3100ke3FCmZkvFh6soLfDkFx/nj7BF0SLw== 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=1770328456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fANTFl7p3mXapfdMvPDlbviBx5pepscgZKvMGSefs30=; b=NS2J5jFwD9FPi3RLpiyBvMys1kxCFh6oTxVr2P0h9f3FxF5asJ4QFz+ctjDIXTGDz1XQQ0 RhZ2xasNaZr1FYd/vmKIRDOyUR8ZvunE4ScuOzIcVtivdNcZU0J81DYiKWhQgN6hb+k4Ra OP7a+QwgTkwpMJzfT3A0QqWM3qwMrju+zt1APk01WJ+pjx6XF5m/wmS2TAWTBKawIm53yc QAVZzHGqXvSxtaVREvsby9/82MXRp5RN3cv7GTNixZI+//zeoNQGM/7/sXh2cyVH+LsMvU O1Nro21LVYtFGPPpywbf+M16IrfxTBzmN5h2ZiXw7IHuvwUlmHfG5ZNrFAPdJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WG04Hj9znS5 for ; Thu, 05 Feb 2026 21:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18b71 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:54:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Richard Scheffenegger From: Marius Strobl Subject: git: 55204a088b3b - stable/14 - siftr: refactor batch log processing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 55204a088b3b23a19b008780d8f9c3cbb1b09721 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:54:16 +0000 Message-Id: <69851188.18b71.34b68c2a@gitrepo.freebsd.org> The branch stable/14 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=55204a088b3b23a19b008780d8f9c3cbb1b09721 commit 55204a088b3b23a19b008780d8f9c3cbb1b09721 Author: Richard Scheffenegger AuthorDate: 2023-12-07 13:43:03 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:54:06 +0000 siftr: refactor batch log processing Refactoring to perform the batch processing of log messaged in two phases. First cycling through a limited number of collected packets, and only thereafter freeing the processed packets. This prevents any chance of calling free while in a critical / spinlocked section. Reviewed By: tuexen Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D42949 (cherry picked from commit a95cd6e4870b79178860e03366c4327e533ecf1e) --- sys/netinet/siftr.c | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c index 9709ced92fd6..b714bfef780d 100644 --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -135,6 +135,7 @@ * data fields such that the line length could exceed the below value. */ #define MAX_LOG_MSG_LEN 300 +#define MAX_LOG_BATCH_SIZE 3 /* XXX: Make this a sysctl tunable. */ #define SIFTR_ALQ_BUFLEN (1000*MAX_LOG_MSG_LEN) @@ -447,10 +448,10 @@ siftr_pkt_manager_thread(void *arg) { STAILQ_HEAD(pkthead, pkt_node) tmp_pkt_queue = STAILQ_HEAD_INITIALIZER(tmp_pkt_queue); - struct pkt_node *pkt_node, *pkt_node_temp; + struct pkt_node *pkt_node; uint8_t draining; struct ale *log_buf; - int ret_sz, cnt; + int ret_sz, cnt = 0; char *bufp; draining = 2; @@ -487,17 +488,12 @@ siftr_pkt_manager_thread(void *arg) */ mtx_unlock(&siftr_pkt_mgr_mtx); -try_again: - pkt_node = STAILQ_FIRST(&tmp_pkt_queue); - if (pkt_node != NULL) { - if (STAILQ_NEXT(pkt_node, nodes) != NULL) { - cnt = 3; - } else { - cnt = 1; - } + while ((pkt_node = STAILQ_FIRST(&tmp_pkt_queue)) != NULL) { - log_buf = alq_getn(siftr_alq, MAX_LOG_MSG_LEN * cnt, - ALQ_WAITOK); + log_buf = alq_getn(siftr_alq, MAX_LOG_MSG_LEN * + ((STAILQ_NEXT(pkt_node, nodes) != NULL) ? + MAX_LOG_BATCH_SIZE : 1), + ALQ_WAITOK); if (log_buf != NULL) { log_buf->ae_bytesused = 0; @@ -511,27 +507,24 @@ try_again: } /* Flush all pkt_nodes to the log file. */ - STAILQ_FOREACH_SAFE(pkt_node, &tmp_pkt_queue, nodes, - pkt_node_temp) { + STAILQ_FOREACH(pkt_node, &tmp_pkt_queue, nodes) { if (log_buf != NULL) { ret_sz = siftr_process_pkt(pkt_node, bufp); bufp += ret_sz; log_buf->ae_bytesused += ret_sz; - cnt--; - } - - STAILQ_REMOVE_HEAD(&tmp_pkt_queue, nodes); - free(pkt_node, M_SIFTR_PKTNODE); - - if (cnt <= 0 && !STAILQ_EMPTY(&tmp_pkt_queue)) { - alq_post_flags(siftr_alq, log_buf, 0); - goto try_again; } + if (++cnt >= MAX_LOG_BATCH_SIZE) + break; } if (log_buf != NULL) { alq_post_flags(siftr_alq, log_buf, 0); } + for (;cnt > 0; cnt--) { + pkt_node = STAILQ_FIRST(&tmp_pkt_queue); + STAILQ_REMOVE_HEAD(&tmp_pkt_queue, nodes); + free(pkt_node, M_SIFTR_PKTNODE); + } } KASSERT(STAILQ_EMPTY(&tmp_pkt_queue), From nobody Thu Feb 5 21:54:18 2026 X-Original-To: dev-commits-src-branches@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 4f6WG41svvz6RGVv for ; Thu, 05 Feb 2026 21:54:20 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WG26PGmz3SXQ for ; Thu, 05 Feb 2026 21:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uOEOq5pUCSBKxAz9Dif1d94SGIEDuX5WPYiuyOoy9+I=; b=R12L4r9RPVX/MWTMNwVgn0knPTBhxGXREibN1gRZzeD9xIMoBN4eTfbMcU2WVRZRHrIk0x 2emzEJht8G3u42gsHpvxQujnG1unZvNo3LpoMhrHV2RElqhwU3e6y8t8/1PKEyL6SbCHpI E41D/ZDTwACgTM2j7uYf1wrl8lPfW29faiFmEXDuSDaXaa+jx1PWo3BGap3kIAEWkam+aL Ljnm8Jx297jegJ257fj8jvApjg50YbqZ2BeVWXRmr6qacb6z2z78CcNqg4johYAvDaNbKS QqbrVFVDWndw7Y0xoSstWju9YNfSYQ8Xr2kOg+ZLxY+Ou3cYs3DyDfpOFF7Epw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328458; a=rsa-sha256; cv=none; b=wSWoMC3qmloViFQM9BqTa8Tg4hJdo0ECKxTfdg4UIifSKzjUquweW0oIueC7c0mBlnTXJP 54tq//KWn1bmSH4bGBFafI6+N3ha0jH8drmEeBwh9RRJXRosDhojKLel87O1AI1YNpUU9d jodCTlGl2PtcFuH6g6ImXl8W4hHXshlc3wTeJ2bXpQNFmzaBJYWF3HkgK39Dsqi5v1ZhsO B792W1J4uh21u0jt3z+mpu3JxMXQ9NTfRbAtEfYrO/RoeHFMykAaZ2RR498ypRPa/pKzSF L+/N98WMe/2WX+GHXVI/195gV17LJkuE8ij4mm4sQY8bkA+bw+112/v06fJlNA== 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=1770328458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uOEOq5pUCSBKxAz9Dif1d94SGIEDuX5WPYiuyOoy9+I=; b=KrDFVlfPQvC0Eg26F1DLoaG+obN0DHPMRN/FATcIiUmgd+vaB/dNbVIs56G6VgA2krHU5F FpXjLOd94blh4Rky/COoxVN/a206JlzCH+ihokW65U18lD4b9LRGUhw6x/SWKH6mzscsg6 2qedhfNT6UU1o0CNdRF3Ulo+kpuDuErH5kngOS2a/DnX1/kZ4ihmt0G+HSu7dLF17HQxBs TSg4bzTA6CkCSSpwdRxZj9IxDZqCFMUNAaZSh52FrRgbsxfzX22rahMa0Y3kwCyQ6dDnZF XEuuqdfrMp46chjhYVo8JDffSUcUHiVLH0cVc3DESq199QIcmodzov3dqYDX+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WG25tgYznNp for ; Thu, 05 Feb 2026 21:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1984c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:54:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: David E. O'Brien From: Marius Strobl Subject: git: b149250d344e - stable/14 - style(9): white space after ; and around binary operators List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b149250d344eed15178ad9a151425426823d5bd1 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:54:18 +0000 Message-Id: <6985118a.1984c.14bffb56@gitrepo.freebsd.org> The branch stable/14 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=b149250d344eed15178ad9a151425426823d5bd1 commit b149250d344eed15178ad9a151425426823d5bd1 Author: David E. O'Brien AuthorDate: 2025-10-15 05:22:00 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:54:06 +0000 style(9): white space after ; and around binary operators in for() loops. Also, use 'while', where only the conditional test of 'for' was used. Reviewed by: sjg (cherry picked from commit 0050289464fa56ec79e060b8d8378b9ff7145a0e) --- sys/arm/allwinner/aw_sid.c | 2 +- sys/cam/scsi/scsi_all.c | 2 +- sys/cam/scsi/scsi_enc_ses.c | 6 +++--- sys/crypto/chacha20/chacha.c | 6 +++--- sys/crypto/openssl/ossl_sha256.c | 4 ++-- sys/dev/aic7xxx/aic79xx.c | 4 ++-- sys/dev/aic7xxx/aic7xxx.c | 4 ++-- sys/dev/enetc/if_enetc.c | 6 +++--- sys/dev/hptmv/entry.c | 33 ++++++++++++++++----------------- sys/dev/hptmv/gui_lib.c | 12 +++++------- sys/dev/hptmv/hptproc.c | 2 +- sys/dev/mps/mps_sas.c | 4 ++-- sys/dev/mpt/mpt_raid.c | 4 ++-- sys/dev/nfe/if_nfe.c | 4 ++-- sys/dev/ocs_fc/ocs_mgmt.c | 14 +++++++------- sys/dev/ppc/ppc.c | 2 +- sys/dev/smartpqi/smartpqi_event.c | 6 +++--- sys/dev/smartpqi/smartpqi_queue.c | 4 ++-- sys/dev/sym/sym_hipd.c | 12 ++++++------ sys/dev/tws/tws.c | 13 ++++++------- sys/dev/tws/tws_services.c | 2 +- sys/fs/devfs/devfs_dir.c | 2 +- sys/fs/udf/osta.c | 4 ++-- sys/i386/i386/in_cksum_machdep.c | 2 +- sys/kern/kern_exit.c | 2 +- sys/kern/kern_malloc.c | 2 +- sys/kern/subr_devstat.c | 2 +- sys/kern/subr_prf.c | 2 +- sys/netinet/siftr.c | 2 +- sys/netpfil/ipfw/ip_dummynet.c | 4 ++-- 30 files changed, 82 insertions(+), 86 deletions(-) diff --git a/sys/arm/allwinner/aw_sid.c b/sys/arm/allwinner/aw_sid.c index a333eadc20aa..90bd6141cba8 100644 --- a/sys/arm/allwinner/aw_sid.c +++ b/sys/arm/allwinner/aw_sid.c @@ -270,7 +270,7 @@ aw_sid_attach(device_t dev) /* Register ourself so device can resolve who we are */ OF_device_register_xref(OF_xref_from_node(node), dev); - for (i = 0; i < sc->sid_conf->nfuses ;i++) {\ + for (i = 0; i < sc->sid_conf->nfuses; i++) { SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, sc->sid_conf->efuses[i].name, diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c index 451b801e8060..7b04f29ae56d 100644 --- a/sys/cam/scsi/scsi_all.c +++ b/sys/cam/scsi/scsi_all.c @@ -687,7 +687,7 @@ scsi_op_desc(uint16_t opcode, struct scsi_inquiry_data *inq_data) opmask = 1 << pd_type; for (j = 0; j < num_tables; j++) { - for (i = 0;i < num_ops[j] && table[j][i].opcode <= opcode; i++){ + for (i = 0; i < num_ops[j] && table[j][i].opcode <= opcode; i++) { if ((table[j][i].opcode == opcode) && ((table[j][i].opmask & opmask) != 0)) return(table[j][i].desc); diff --git a/sys/cam/scsi/scsi_enc_ses.c b/sys/cam/scsi/scsi_enc_ses.c index 40efb882d652..bbf36467f6ce 100644 --- a/sys/cam/scsi/scsi_enc_ses.c +++ b/sys/cam/scsi/scsi_enc_ses.c @@ -2306,7 +2306,7 @@ ses_print_addl_data_sas_type0(char *sesname, struct sbuf *sbp, sbuf_printf(sbp, "\n"); if (addl->proto_data.sasdev_phys == NULL) return; - for (i = 0;i < addl->proto_hdr.sas->base_hdr.num_phys;i++) { + for (i = 0; i < addl->proto_hdr.sas->base_hdr.num_phys; i++) { phy = &addl->proto_data.sasdev_phys[i]; sbuf_printf(sbp, "%s: phy %d:", sesname, i); if (ses_elm_sas_dev_phy_sata_dev(phy)) @@ -2353,7 +2353,7 @@ ses_print_addl_data_sas_type1(char *sesname, struct sbuf *sbp, sbuf_printf(sbp, "Expander: %d phys", num_phys); if (addl->proto_data.sasexp_phys == NULL) return; - for (i = 0;i < num_phys;i++) { + for (i = 0; i < num_phys; i++) { exp_phy = &addl->proto_data.sasexp_phys[i]; sbuf_printf(sbp, "%s: phy %d: connector %d other %d\n", sesname, i, exp_phy->connector_index, @@ -2364,7 +2364,7 @@ ses_print_addl_data_sas_type1(char *sesname, struct sbuf *sbp, sbuf_printf(sbp, "Port: %d phys", num_phys); if (addl->proto_data.sasport_phys == NULL) return; - for (i = 0;i < num_phys;i++) { + for (i = 0; i < num_phys; i++) { port_phy = &addl->proto_data.sasport_phys[i]; sbuf_printf(sbp, "%s: phy %d: id %d connector %d other %d\n", diff --git a/sys/crypto/chacha20/chacha.c b/sys/crypto/chacha20/chacha.c index 8ce69226635f..c906f1df7520 100644 --- a/sys/crypto/chacha20/chacha.c +++ b/sys/crypto/chacha20/chacha.c @@ -139,7 +139,7 @@ chacha_encrypt_bytes(chacha_ctx *x,const u8 *m,u8 *c,u32 bytes) for (;;) { if (bytes < 64) { #ifndef KEYSTREAM_ONLY - for (i = 0;i < bytes;++i) tmp[i] = m[i]; + for (i = 0; i < bytes; ++i) tmp[i] = m[i]; m = tmp; #endif ctarget = c; @@ -161,7 +161,7 @@ chacha_encrypt_bytes(chacha_ctx *x,const u8 *m,u8 *c,u32 bytes) x13 = j13; x14 = j14; x15 = j15; - for (i = 20;i > 0;i -= 2) { + for (i = 20; i > 0; i -= 2) { QUARTERROUND( x0, x4, x8,x12) QUARTERROUND( x1, x5, x9,x13) QUARTERROUND( x2, x6,x10,x14) @@ -241,7 +241,7 @@ chacha_encrypt_bytes(chacha_ctx *x,const u8 *m,u8 *c,u32 bytes) if (bytes <= 64) { if (bytes < 64) { - for (i = 0;i < bytes;++i) ctarget[i] = c[i]; + for (i = 0; i < bytes; ++i) ctarget[i] = c[i]; } x->input[12] = j12; x->input[13] = j13; diff --git a/sys/crypto/openssl/ossl_sha256.c b/sys/crypto/openssl/ossl_sha256.c index 4613a9409b44..50cb9739d114 100644 --- a/sys/crypto/openssl/ossl_sha256.c +++ b/sys/crypto/openssl/ossl_sha256.c @@ -74,11 +74,11 @@ ossl_sha256_init(void *c_) unsigned int nn; \ switch ((c)->md_len) \ { case SHA224_DIGEST_LENGTH: \ - for (nn=0;nnh[nn]; (void)HOST_l2c(ll,(s)); } \ break; \ case SHA256_DIGEST_LENGTH: \ - for (nn=0;nnh[nn]; (void)HOST_l2c(ll,(s)); } \ break; \ default: \ diff --git a/sys/dev/aic7xxx/aic79xx.c b/sys/dev/aic7xxx/aic79xx.c index 54b58d387488..4bf96a855cf8 100644 --- a/sys/dev/aic7xxx/aic79xx.c +++ b/sys/dev/aic7xxx/aic79xx.c @@ -7804,8 +7804,8 @@ ahd_abort_scbs(struct ahd_softc *ahd, int target, char channel, } if (role != ROLE_TARGET) { - for (;i < maxtarget; i++) { - for (j = minlun;j < maxlun; j++) { + for (; i < maxtarget; i++) { + for (j = minlun; j < maxlun; j++) { u_int scbid; u_int tcl; diff --git a/sys/dev/aic7xxx/aic7xxx.c b/sys/dev/aic7xxx/aic7xxx.c index f071c55137bd..b76e66f77d5c 100644 --- a/sys/dev/aic7xxx/aic7xxx.c +++ b/sys/dev/aic7xxx/aic7xxx.c @@ -5919,8 +5919,8 @@ ahc_abort_scbs(struct ahc_softc *ahc, int target, char channel, } if (role != ROLE_TARGET) { - for (;i < maxtarget; i++) { - for (j = minlun;j < maxlun; j++) { + for (; i < maxtarget; i++) { + for (j = minlun; j < maxlun; j++) { u_int scbid; u_int tcl; diff --git a/sys/dev/enetc/if_enetc.c b/sys/dev/enetc/if_enetc.c index ec703c09ba77..f8b5575dad9a 100644 --- a/sys/dev/enetc/if_enetc.c +++ b/sys/dev/enetc/if_enetc.c @@ -850,7 +850,7 @@ enetc_hash_vid(uint16_t vid) bool bit; int i; - for (i = 0;i < 6;i++) { + for (i = 0; i < 6; i++) { bit = vid & BIT(i); bit ^= !!(vid & BIT(i + 6)); hash |= bit << i; @@ -1022,7 +1022,7 @@ enetc_msix_intr_assign(if_ctx_t ctx, int msix) ENETC_RBICR0_ICEN | ENETC_RBICR0_SET_ICPT(ENETC_RX_INTR_PKT_THR)); } vector = 0; - for (i = 0;i < sc->tx_num_queues; i++, vector++) { + for (i = 0; i < sc->tx_num_queues; i++, vector++) { tx_queue = &sc->tx_queues[i]; snprintf(irq_name, sizeof(irq_name), "txq%d", i); iflib_softirq_alloc_generic(ctx, &tx_queue->irq, @@ -1132,7 +1132,7 @@ enetc_isc_txd_encap(void *data, if_pkt_info_t ipi) } /* Now add remaining descriptors. */ - for (;i < ipi->ipi_nsegs; i++) { + for (; i < ipi->ipi_nsegs; i++) { desc = &queue->ring[pidx]; bzero(desc, sizeof(*desc)); desc->addr = segs[i].ds_addr; diff --git a/sys/dev/hptmv/entry.c b/sys/dev/hptmv/entry.c index 0157a27c3728..0e8d3f2f4279 100644 --- a/sys/dev/hptmv/entry.c +++ b/sys/dev/hptmv/entry.c @@ -431,7 +431,7 @@ static void device_change(IAL_ADAPTER_T *pAdapter , MV_U8 channelIndex, int plug if(pVDev->pParent) { int iMember; - for(iMember = 0; iMember < pVDev->pParent->u.array.bArnMember; iMember++) + for (iMember = 0; iMember < pVDev->pParent->u.array.bArnMember; iMember++) if((PVDevice)pVDev->pParent->u.array.pMember[iMember] == pVDev) pVDev->pParent->u.array.pMember[iMember] = NULL; pVDev->pParent = NULL; @@ -985,7 +985,7 @@ fRegisterVdevice(IAL_ADAPTER_T *pAdapter) PVBus pVBus; int i,j; - for(i=0;iVDevices[i]); pLogical = pPhysical; while (pLogical->pParent) pLogical = pLogical->pParent; @@ -1028,8 +1028,7 @@ GetSpareDisk(_VBUS_ARG PVDevice pArray) PVDevice pVDevice, pFind = NULL; int i; - for(i=0;iVDevices[i]; if(!pVDevice) continue; @@ -1357,7 +1356,7 @@ unregister: goto unregister; } - for (i=0; ipCommandBlocks[i])); } @@ -1371,7 +1370,7 @@ unregister: memset((void *)pAdapter->pbus_dmamap, 0, sizeof(struct _BUS_DMAMAP) * MAX_QUEUE_COMM); pAdapter->pbus_dmamap_list = 0; - for (i=0; i < MAX_QUEUE_COMM; i++) { + for (i = 0; i < MAX_QUEUE_COMM; i++) { PBUS_DMAMAP pmap = &(pAdapter->pbus_dmamap[i]); pmap->pAdapter = pAdapter; dmamap_put(pmap); @@ -1399,7 +1398,7 @@ unregister: pAdapter->prdTableAlignedAddr = (PUCHAR)(((ULONG_PTR)pAdapter->prdTableAddr + 0x1f) & ~(ULONG_PTR)0x1fL); { PUCHAR PRDTable = pAdapter->prdTableAlignedAddr; - for (i=0; ipFreePRDLink=%p\n",i,pAdapter->pFreePRDLink)); */ FreePRDTable(pAdapter, PRDTable); @@ -1448,7 +1447,7 @@ unregister: } #ifdef SUPPORT_ARRAY - for(i = MAX_ARRAY_DEVICE - 1; i >= 0; i--) { + for (i = MAX_ARRAY_DEVICE - 1; i >= 0; i--) { pVDev = ArrayTables(i); mArFreeArrayTable(pVDev); } @@ -1468,7 +1467,7 @@ unregister: _vbus_p->nInstances = 1; fRegisterVdevice(pAdapter); - for (channel=0;channelpVDevice[channel]; if (pVDev && pVDev->vf_online) fCheckBootable(pVDev); @@ -1568,7 +1567,7 @@ fResetActiveCommands(PVBus _vbus_p) { MV_SATA_ADAPTER *pMvSataAdapter = &((IAL_ADAPTER_T *)_vbus_p->OsExt)->mvSataAdapter; MV_U8 channel; - for (channel=0;channel< MV_SATA_CHANNELS_NUM;channel++) { + for (channel = 0; channel < MV_SATA_CHANNELS_NUM; channel++) { if (pMvSataAdapter->sataChannel[channel] && pMvSataAdapter->sataChannel[channel]->outstandingCommands) MvSataResetChannel(pMvSataAdapter,channel); } @@ -1591,7 +1590,7 @@ check_cmds: dataxfer_poll(); xor_poll(); #endif - for (channel=0;channel< MV_SATA_CHANNELS_NUM;channel++) { + for (channel = 0; channel < MV_SATA_CHANNELS_NUM; channel++) { pMvSataChannel = pMvSataAdapter->sataChannel[channel]; if (pMvSataChannel && pMvSataChannel->outstandingCommands) { @@ -1717,7 +1716,7 @@ fDeviceSendCommand(_VBUS_ARG PCommand pCmd) MV_BOOLEAN is48bit; MV_U8 channel; - int i=0; + int i = 0; DECLARE_BUFFER(FPSCAT_GATH, tmpSg); @@ -2142,7 +2141,7 @@ FlushAdapter(IAL_ADAPTER_T *pAdapter) hpt_printk(("flush all devices\n")); /* flush all devices */ - for (i=0; iVBus.pVDevice[i]; if(pVDev) fFlushVDev(pVDev); } @@ -2175,7 +2174,7 @@ Check_Idle_Call(IAL_ADAPTER_T *pAdapter) { int i; PVDevice pArray; - for(i = 0; i < MAX_ARRAY_PER_VBUS; i++){ + for (i = 0; i < MAX_ARRAY_PER_VBUS; i++) { if ((pArray=ArrayTables(i))->u.array.dArStamp==0) continue; else if (pArray->u.array.rf_auto_rebuild) { @@ -2379,7 +2378,7 @@ hpt_free_ccb(union ccb **ccb_Q, union ccb *ccb) static void hpt_worker_thread(void) { - for(;;) { + for (;;) { mtx_lock(&DpcQueue_Lock); while (DpcQueue_First!=DpcQueue_Last) { ST_HPT_DPC p; @@ -2419,7 +2418,7 @@ static void hpt_worker_thread(void) mtx_lock(&pAdapter->lock); _vbus_p = &pAdapter->VBus; - for (i=0;iu.array.dArStamp==0) continue; @@ -2473,7 +2472,7 @@ launch_worker_thread(void) int i; PVDevice pVDev; - for(i = 0; i < MAX_ARRAY_PER_VBUS; i++) + for (i = 0; i < MAX_ARRAY_PER_VBUS; i++) if ((pVDev=ArrayTables(i))->u.array.dArStamp==0) continue; else{ diff --git a/sys/dev/hptmv/gui_lib.c b/sys/dev/hptmv/gui_lib.c index d78fdcca69d2..f11044db733a 100644 --- a/sys/dev/hptmv/gui_lib.c +++ b/sys/dev/hptmv/gui_lib.c @@ -86,8 +86,7 @@ check_VDevice_valid(PVDevice p) while(pAdapter != NULL) { _vbus_p = &pAdapter->VBus; - for (i=0;iu.array.dArStamp != 0) && (pVDevice == p)) return 0; @@ -244,9 +243,9 @@ static void get_array_info(PVDevice pVDevice, PHPT_ARRAY_INFO pArrayInfo) if(pVDevice->u.array.pMember[i] != NULL) pArrayInfo->Members[pArrayInfo->nDisk++] = VDEV_TO_ID(pVDevice->u.array.pMember[i]); - for(i=pArrayInfo->nDisk; inDisk; i < MAX_ARRAY_MEMBERS; i++) pArrayInfo->Members[i] = INVALID_DEVICEID; - } +} static void get_array_info_v2(PVDevice pVDevice, PHPT_ARRAY_INFO_V2 pArrayInfo) { @@ -266,7 +265,7 @@ static void get_array_info_v2(PVDevice pVDevice, PHPT_ARRAY_INFO_V2 pArrayInfo) if(pVDevice->u.array.pMember[i] != NULL) pArrayInfo->Members[pArrayInfo->nDisk++] = VDEV_TO_ID(pVDevice->u.array.pMember[i]); - for(i=pArrayInfo->nDisk; inDisk; i < MAX_ARRAY_MEMBERS_V2; i++) pArrayInfo->Members[i] = INVALID_DEVICEID; } #endif @@ -461,8 +460,7 @@ found: pInfo->IoPort = 0; pInfo->ControlPort = 0; - for (i=0; i<2 ;i++) - { + for (i = 0; i < 2; i++) { pInfo->Devices[i] = (DEVICEID)INVALID_DEVICEID; } diff --git a/sys/dev/hptmv/hptproc.c b/sys/dev/hptmv/hptproc.c index 8f9fffdc5af1..39cd8814b2bb 100644 --- a/sys/dev/hptmv/hptproc.c +++ b/sys/dev/hptmv/hptproc.c @@ -107,7 +107,7 @@ hpt_set_asc_info(IAL_ADAPTER_T *pAdapter, char *buffer,int length) return -EINVAL; } - for (i=0;idevq != NULL) cam_simq_free(sassc->devq); - for(i=0; i< sassc->maxtargets ;i++) { + for (i = 0; i < sassc->maxtargets; i++) { targ = &sassc->targets[i]; SLIST_FOREACH_SAFE(lun, &targ->luns, lun_link, lun_tmp) { free(lun, M_MPT2); @@ -3397,7 +3397,7 @@ mpssas_realloc_targets(struct mps_softc *sc, int maxtargets) * the allocated LUNs for each target and then the target buffer * itself. */ - for (i=0; i< maxtargets; i++) { + for (i = 0; i < maxtargets; i++) { targ = &sassc->targets[i]; SLIST_FOREACH_SAFE(lun, &targ->luns, lun_link, lun_tmp) { free(lun, M_MPT2); diff --git a/sys/dev/mpt/mpt_raid.c b/sys/dev/mpt/mpt_raid.c index d4761c0fef67..958159e7eb3e 100644 --- a/sys/dev/mpt/mpt_raid.c +++ b/sys/dev/mpt/mpt_raid.c @@ -831,7 +831,7 @@ mpt_is_raid_volume(struct mpt_softc *mpt, target_id_t tgt) } ioc_vol = mpt->ioc_page2->RaidVolume; ioc_last_vol = ioc_vol + mpt->ioc_page2->NumActiveVolumes; - for (;ioc_vol != ioc_last_vol; ioc_vol++) { + for (; ioc_vol != ioc_last_vol; ioc_vol++) { if (ioc_vol->VolumeID == tgt) { return (1); } @@ -1407,7 +1407,7 @@ mpt_refresh_raid_data(struct mpt_softc *mpt) ioc_vol = mpt->ioc_page2->RaidVolume; ioc_last_vol = ioc_vol + mpt->ioc_page2->NumActiveVolumes; - for (;ioc_vol != ioc_last_vol; ioc_vol++) { + for (; ioc_vol != ioc_last_vol; ioc_vol++) { struct mpt_raid_volume *mpt_vol; mpt_vol = mpt->raid_volumes + ioc_vol->VolumePageNumber; diff --git a/sys/dev/nfe/if_nfe.c b/sys/dev/nfe/if_nfe.c index 0ab1c45b600e..74c36600111e 100644 --- a/sys/dev/nfe/if_nfe.c +++ b/sys/dev/nfe/if_nfe.c @@ -2080,7 +2080,7 @@ nfe_rxeof(struct nfe_softc *sc, int count, int *rx_npktsp) bus_dmamap_sync(sc->rxq.rx_desc_tag, sc->rxq.rx_desc_map, BUS_DMASYNC_POSTREAD); - for (prog = 0;;NFE_INC(sc->rxq.cur, NFE_RX_RING_COUNT), vtag = 0) { + for (prog = 0; ; NFE_INC(sc->rxq.cur, NFE_RX_RING_COUNT), vtag = 0) { if (count <= 0) break; count--; @@ -2194,7 +2194,7 @@ nfe_jrxeof(struct nfe_softc *sc, int count, int *rx_npktsp) bus_dmamap_sync(sc->jrxq.jrx_desc_tag, sc->jrxq.jrx_desc_map, BUS_DMASYNC_POSTREAD); - for (prog = 0;;NFE_INC(sc->jrxq.jcur, NFE_JUMBO_RX_RING_COUNT), + for (prog = 0; ; NFE_INC(sc->jrxq.jcur, NFE_JUMBO_RX_RING_COUNT), vtag = 0) { if (count <= 0) break; diff --git a/sys/dev/ocs_fc/ocs_mgmt.c b/sys/dev/ocs_fc/ocs_mgmt.c index 726b499f28ba..5b7f6557c017 100644 --- a/sys/dev/ocs_fc/ocs_mgmt.c +++ b/sys/dev/ocs_fc/ocs_mgmt.c @@ -226,7 +226,7 @@ ocs_mgmt_get_list(ocs_t *ocs, ocs_textbuf_t *textbuf) ocs_mgmt_start_unnumbered_section(textbuf, "ocs"); - for (i=0;inum_descriptors; i++) { + for (i = 0; i < result.list->num_descriptors; i++) { sprintf(result_line, "0x%02x:%s\n", result.list->descriptors[i].profile_id, result.list->descriptors[i].profile_description); if (strlen(result_line) < bytes_left) { diff --git a/sys/dev/ppc/ppc.c b/sys/dev/ppc/ppc.c index b8a80dca76ec..9186b9fe3d62 100644 --- a/sys/dev/ppc/ppc.c +++ b/sys/dev/ppc/ppc.c @@ -1389,7 +1389,7 @@ ppc_exec_microseq(device_t dev, struct ppb_microseq **p_msq) /* let's suppose the next instr. is the same */ prefetch: - for (;mi->opcode == MS_OP_RASSERT; INCR_PC) + for (; mi->opcode == MS_OP_RASSERT; INCR_PC) w_reg(mi->arg[0].i, ppc, (char)mi->arg[1].i); if (mi->opcode == MS_OP_DELAY) { diff --git a/sys/dev/smartpqi/smartpqi_event.c b/sys/dev/smartpqi/smartpqi_event.c index b61cc233873f..761bb5588ff9 100644 --- a/sys/dev/smartpqi/smartpqi_event.c +++ b/sys/dev/smartpqi/smartpqi_event.c @@ -115,7 +115,7 @@ pqisrc_ack_all_events(void *arg1) pending_event = &softs->pending_events[0]; - for (i=0; i < PQI_NUM_SUPPORTED_EVENTS; i++) { + for (i = 0; i < PQI_NUM_SUPPORTED_EVENTS; i++) { if (pending_event->pending == true) { pending_event->pending = false; pqisrc_acknowledge_event(softs, pending_event); @@ -417,7 +417,7 @@ pqisrc_report_event_config(pqisrc_softstate_t *softs) softs->event_config.num_event_descriptors = MIN(event_config_p->num_event_descriptors, PQI_MAX_EVENT_DESCRIPTORS) ; - for (i=0; i < softs->event_config.num_event_descriptors ;i++){ + for (i = 0; i < softs->event_config.num_event_descriptors; i++) { softs->event_config.descriptors[i].event_type = event_config_p->descriptors[i].event_type; } @@ -477,7 +477,7 @@ pqisrc_set_event_config(pqisrc_softstate_t *softs) event_config_p->num_event_descriptors = softs->event_config.num_event_descriptors; - for (i=0; i < softs->event_config.num_event_descriptors ; i++){ + for (i = 0; i < softs->event_config.num_event_descriptors; i++) { event_config_p->descriptors[i].event_type = softs->event_config.descriptors[i].event_type; if( pqisrc_event_type_to_event_index(event_config_p->descriptors[i].event_type) != -1) diff --git a/sys/dev/smartpqi/smartpqi_queue.c b/sys/dev/smartpqi/smartpqi_queue.c index e0352c37b208..22bc2db572f8 100644 --- a/sys/dev/smartpqi/smartpqi_queue.c +++ b/sys/dev/smartpqi/smartpqi_queue.c @@ -687,7 +687,7 @@ pqisrc_create_op_obq(pqisrc_softstate_t *softs, } else { int i = 0; DBG_WARN("Error Status Descriptors\n"); - for(i = 0; i < 4;i++) + for (i = 0; i < 4; i++) DBG_WARN(" %x ",admin_resp.resp_type.create_op_oq.status_desc[i]); } @@ -730,7 +730,7 @@ pqisrc_create_op_ibq(pqisrc_softstate_t *softs, } else { int i = 0; DBG_WARN("Error Status Decsriptors\n"); - for(i = 0; i < 4;i++) + for (i = 0; i < 4; i++) DBG_WARN(" %x ",admin_resp.resp_type.create_op_iq.status_desc[i]); } diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index fa65d544e17d..b4e5c1075fb4 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -3266,7 +3266,7 @@ static void sym_init (hcb_p np, int reason) * Reinitialize usrwide. * Prepare sync negotiation according to actual SCSI bus mode. */ - for (i=0;itarget[i]; tp->to_reset = 0; @@ -3715,7 +3715,7 @@ static void sym_log_hard_error(hcb_p np, u_short sist, u_char dstat) } printf ("%s: regdump:", sym_name(np)); - for (i=0; i<24;i++) + for (i = 0; i < 24; i++) printf (" %02x", (unsigned)INB_OFF(i)); printf (".\n"); @@ -5527,8 +5527,8 @@ static int sym_show_msg (u_char * msg) u_char i; printf ("%x",*msg); if (*msg==M_EXTENDED) { - for (i=1;i<8;i++) { - if (i-1>msg[1]) break; + for (i = 1; i < 8; i++) { + if (i - 1 > msg[1]) break; printf ("-%x",msg[i]); } return (i+1); @@ -6744,10 +6744,10 @@ restart_test: /* * Wait 'til done (with timeout) */ - for (i=0; i=SYM_SNOOP_TIMEOUT) { + if (i >= SYM_SNOOP_TIMEOUT) { printf ("CACHE TEST FAILED: timeout.\n"); return (0x20); } diff --git a/sys/dev/tws/tws.c b/sys/dev/tws/tws.c index af151c8c4f06..fccd6689a6aa 100644 --- a/sys/dev/tws/tws.c +++ b/sys/dev/tws/tws.c @@ -311,7 +311,7 @@ attach_fail_4: if (sc->cmd_tag) bus_dma_tag_destroy(sc->cmd_tag); attach_fail_3: - for(i=0;iirqs;i++) { + for (i = 0; i < sc->irqs; i++) { if ( sc->irq_res[i] ){ if (bus_release_resource(sc->tws_dev, SYS_RES_IRQ, sc->irq_res_id[i], sc->irq_res[i])) @@ -369,7 +369,7 @@ tws_detach(device_t dev) tws_teardown_intr(sc); /* Release irq resource */ - for(i=0;iirqs;i++) { + for (i = 0; i < sc->irqs; i++) { if ( sc->irq_res[i] ){ if (bus_release_resource(sc->tws_dev, SYS_RES_IRQ, sc->irq_res_id[i], sc->irq_res[i])) @@ -402,7 +402,7 @@ tws_detach(device_t dev) TWS_TRACE(sc, "bus release mem resource", 0, sc->reg_res_id); } - for ( i=0; i< tws_queue_depth; i++) { + for (i = 0; i < tws_queue_depth; i++) { if (sc->reqs[i].dma_map) bus_dmamap_destroy(sc->data_tag, sc->reqs[i].dma_map); callout_drain(&sc->reqs[i].timeout); @@ -432,7 +432,7 @@ tws_setup_intr(struct tws_softc *sc, int irqs) { int i, error; - for(i=0;iintr_handle[i])) { if ((error = bus_setup_intr(sc->tws_dev, sc->irq_res[i], INTR_TYPE_CAM | INTR_MPSAFE, @@ -452,7 +452,7 @@ tws_teardown_intr(struct tws_softc *sc) { int i; - for(i=0;iirqs;i++) { + for (i = 0; i < sc->irqs; i++) { if (sc->intr_handle[i]) { bus_teardown_intr(sc->tws_dev, sc->irq_res[i], sc->intr_handle[i]); @@ -669,8 +669,7 @@ tws_init_reqs(struct tws_softc *sc, u_int32_t dma_mem_size) bzero(cmd_buf, dma_mem_size); TWS_TRACE_DEBUG(sc, "phy cmd", sc->dma_mem_phys, 0); mtx_lock(&sc->q_lock); - for ( i=0; i< tws_queue_depth; i++) - { + for (i = 0; i < tws_queue_depth; i++) { if (bus_dmamap_create(sc->data_tag, 0, &sc->reqs[i].dma_map)) { /* log a ENOMEM failure msg here */ mtx_unlock(&sc->q_lock); diff --git a/sys/dev/tws/tws_services.c b/sys/dev/tws/tws_services.c index da8bbacc39f7..e5c3d45c533f 100644 --- a/sys/dev/tws/tws_services.c +++ b/sys/dev/tws/tws_services.c @@ -200,7 +200,7 @@ tws_init_qs(struct tws_softc *sc) { mtx_lock(&sc->q_lock); - for(int i=0;iq_head[i] = NULL; sc->q_tail[i] = NULL; } diff --git a/sys/fs/devfs/devfs_dir.c b/sys/fs/devfs/devfs_dir.c index 3dc87538017d..aad87606e738 100644 --- a/sys/fs/devfs/devfs_dir.c +++ b/sys/fs/devfs/devfs_dir.c @@ -162,7 +162,7 @@ int devfs_pathpath(const char *p1, const char *p2) { - for (;;p1++, p2++) { + for (;; p1++, p2++) { if (*p1 != *p2) { if (*p1 == '/' && *p2 == '\0') return (1); diff --git a/sys/fs/udf/osta.c b/sys/fs/udf/osta.c index f79b86993367..1a083d8c26b1 100644 --- a/sys/fs/udf/osta.c +++ b/sys/fs/udf/osta.c @@ -383,7 +383,7 @@ int UDFTransName( int maxFilenameLen; /* Translate extension, and store it in ext. */ for(index = 0; indexm_next) { + for (; m && len; m = m->m_next) { if (m->m_len == 0) continue; w = mtod(m, u_short *); diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index eeee05f793d6..bbd30dfb9480 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -809,7 +809,7 @@ kern_abort2(struct thread *td, const char *why, int nargs, void **uargs) } if (nargs > 0) { sbuf_putc(sb, '('); - for (i = 0;i < nargs; i++) + for (i = 0; i < nargs; i++) sbuf_printf(sb, "%s%p", i == 0 ? "" : ", ", uargs[i]); sbuf_putc(sb, ')'); } diff --git a/sys/kern/kern_malloc.c b/sys/kern/kern_malloc.c index 994ece982619..cbbe02085579 100644 --- a/sys/kern/kern_malloc.c +++ b/sys/kern/kern_malloc.c @@ -1322,7 +1322,7 @@ mallocinit(void *dummy) #endif align, UMA_ZONE_MALLOC); } - for (;i <= size; i+= KMEM_ZBASE) + for (; i <= size; i+= KMEM_ZBASE) kmemsize[i >> KMEM_ZSHIFT] = indx; } } diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c index 3a107ac30390..a100ac9921c3 100644 --- a/sys/kern/subr_devstat.c +++ b/sys/kern/subr_devstat.c @@ -416,7 +416,7 @@ sysctl_devstat(SYSCTL_HANDLER_ARGS) if (error != 0) return (error); - for (;nds != NULL;) { + while (nds != NULL) { error = SYSCTL_OUT(req, nds, sizeof(struct devstat)); if (error != 0) return (error); diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index 0bf5fc9f440d..253b01529d40 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -781,7 +781,7 @@ reswitch: switch (ch = (u_char)*fmt++) { PCHAR(hex2ascii(*up & 0x0f)); up++; if (width) - for (q=p;*q;q++) + for (q = p; *q; q++) PCHAR(*q); } break; diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c index b714bfef780d..07667333ada1 100644 --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -520,7 +520,7 @@ siftr_pkt_manager_thread(void *arg) if (log_buf != NULL) { alq_post_flags(siftr_alq, log_buf, 0); } - for (;cnt > 0; cnt--) { + for (; cnt > 0; cnt--) { pkt_node = STAILQ_FIRST(&tmp_pkt_queue); STAILQ_REMOVE_HEAD(&tmp_pkt_queue, nodes); free(pkt_node, M_SIFTR_PKTNODE); diff --git a/sys/netpfil/ipfw/ip_dummynet.c b/sys/netpfil/ipfw/ip_dummynet.c index 9c7ae06db294..61442c617753 100644 --- a/sys/netpfil/ipfw/ip_dummynet.c +++ b/sys/netpfil/ipfw/ip_dummynet.c @@ -1150,7 +1150,7 @@ copy_data_helper(void *_o, void *_arg) return 0; /* not a pipe */ /* see if the object is within one of our ranges */ - for (;r < lim; r += 2) { + for (; r < lim; r += 2) { if (n < r[0] || n > r[1]) continue; /* Found a valid entry, copy and we are done */ @@ -1183,7 +1183,7 @@ copy_data_helper(void *_o, void *_arg) if (n >= DN_MAX_ID) return 0; /* see if the object is within one of our ranges */ - for (;r < lim; r += 2) { + for (; r < lim; r += 2) { if (n < r[0] || n > r[1]) continue; if (copy_flowset(a, fs, 0)) From nobody Thu Feb 5 21:54:19 2026 X-Original-To: dev-commits-src-branches@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 4f6WG45dntz6RGSB for ; Thu, 05 Feb 2026 21:54:20 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WG36tRpz3SF9 for ; Thu, 05 Feb 2026 21:54:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328459; 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=lKqYVIfoo3vAWMMCzg13DONtGjmrxt3ZErLM6JQ3TMs=; b=hlOMLf3L2HzhqXIx2Zj8jZd74AyxgAwCW+5cYtFTZNaSMVp6IT44GfoiN5ux3eRx519eee /ntHxhJCw2seTp1aCu0Jocwdjux6nnWb2E6DEHaULb5w0MysAvJnk1lXYibGc6OR1++kUT TGSZj5czsvV1x7m+e32813cduLu4YMzg6iLHkTHncOBV4SkQ1aaEuKXagVRwcu1DUW6jQ8 Lx3CM3mdHqE1c7gq0leROiRjLxdRadf2BJlQy0Rh/IFdwUTn25ZoeL5zOnniax52KZrD/s GIiHf8z+OZZyDC4aUPyoQYASe9j5LRhmnQulkEza+hR5UTZA++RIsNi49fmFiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328459; a=rsa-sha256; cv=none; b=CDRvv4n1TFifSoSHwnrb2BOcfmlIkzrsOj/PYZwi4kmgZbgkeM6XWTZveMM7YLAVP7y3KE Id0X+yPRHa8u5cV0q+fGs/VcD/IPBkXdub048T6exaTb/UX5c/9VTip6KqnqR8A+biroaE CuPh67HHpDLBrM+UeNwWJqQYZAvmcpxzo6FSaIyJsB++DloipXjrKUOY8ZH23b7C2mC3Oj 66K03ZKyndeey6/7A2Iq1jyjEm02qz5kMYdaJl7gKxPvUefY3Ih2WiExFiIjr2qBiC2oDE AD5lyHiwqCmSo9Uo/UCdJ9WgQc6A/CNWBFKqXphQL3GuqwfqkoUKdmNoT06xnw== 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=1770328459; 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=lKqYVIfoo3vAWMMCzg13DONtGjmrxt3ZErLM6JQ3TMs=; b=JmtCx2fTMloaKO+eQ5/f4StyuDN0XVD5sMZIEWRvkHq5Ii44OBgrhMhzxqFIR+AHpb5Sjz toIFJyj0LB6QHDhSi+8j4xcbqAp0eUtZG54aB10F/A0DU38ZT8PxAE/cC1GAIJKRK6albU Y/ONQF71GLWTRpmuHwt5KW6Ij02G4NmkmaBcfz03FFNzOZGjc7FSizB2cO0ZNIOZI4n7gf hQqNfMfEk7OSkubwEaOvReZYee1mp3P5H9r7/tClsCcWk/No8rdQSv+uPhm1zk/acyFDUy 8jU99yL/L/0eltHFcHt+JruPdPokPghAk7p8BUYwOmU6p1BHfwcXj/uhu40CcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WG36TtkznNq for ; Thu, 05 Feb 2026 21:54:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18b76 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:54:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: b56ce48c0f7f - stable/14 - sym(4): Consistently use device_printf(9) where applicable List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b56ce48c0f7ff675f9a09ef98e13dc2bcdea1ce3 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:54:19 +0000 Message-Id: <6985118b.18b76.68a6e9c6@gitrepo.freebsd.org> The branch stable/14 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=b56ce48c0f7ff675f9a09ef98e13dc2bcdea1ce3 commit b56ce48c0f7ff675f9a09ef98e13dc2bcdea1ce3 Author: Marius Strobl AuthorDate: 2026-01-21 17:29:35 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:54:06 +0000 sym(4): Consistently use device_printf(9) where applicable (cherry picked from commit 48eee744b540ef0413fa1cb543dde6e49e7f2ac4) --- sys/dev/sym/sym_hipd.c | 222 +++++++++++++++++++++++++------------------------ 1 file changed, 114 insertions(+), 108 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index b4e5c1075fb4..7e255862aeac 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -2012,8 +2012,8 @@ static void sym_fw_bind_script (hcb_p np, u32 *start, int len) * command. */ if (opcode == 0) { - printf ("%s: ERROR0 IN SCRIPT at %d.\n", - sym_name(np), (int) (cur-start)); + device_printf(np->device, "ERROR0 IN SCRIPT at %d.\n", + (int)(cur-start)); MDELAY (10000); ++cur; continue; @@ -2056,8 +2056,9 @@ static void sym_fw_bind_script (hcb_p np, u32 *start, int len) tmp1 = cur[1]; tmp2 = cur[2]; if ((tmp1 ^ tmp2) & 3) { - printf ("%s: ERROR1 IN SCRIPT at %d.\n", - sym_name(np), (int) (cur-start)); + device_printf(np->device, + "ERROR1 IN SCRIPT at %d.\n", + (int)(cur-start)); MDELAY (10000); } /* @@ -2426,8 +2427,8 @@ static void sym_print_targets_flag(hcb_p np, int mask, char *msg) continue; if (np->target[i].usrflags & mask) { if (!cnt++) - printf("%s: %s disabled for targets", - sym_name(np), msg); + device_printf(np->device, + "%s disabled for targets", msg); printf(" %d", i); } } @@ -2750,41 +2751,42 @@ static int sym_prepare_setting(hcb_p np, struct sym_nvram *nvram) * Let user know about the settings. */ i = nvram->type; - printf("%s: %s NVRAM, ID %d, Fast-%d, %s, %s\n", sym_name(np), - i == SYM_SYMBIOS_NVRAM ? "Symbios" : - (i == SYM_TEKRAM_NVRAM ? "Tekram" : "No"), - np->myaddr, - (np->features & FE_ULTRA3) ? 80 : - (np->features & FE_ULTRA2) ? 40 : - (np->features & FE_ULTRA) ? 20 : 10, - sym_scsi_bus_mode(np->scsi_mode), - (np->rv_scntl0 & 0xa) ? "parity checking" : "NO parity"); + device_printf(np->device, "%s NVRAM, ID %d, Fast-%d, %s, %s\n", + i == SYM_SYMBIOS_NVRAM ? "Symbios" : + (i == SYM_TEKRAM_NVRAM ? "Tekram" : "No"), + np->myaddr, + (np->features & FE_ULTRA3) ? 80 : + (np->features & FE_ULTRA2) ? 40 : + (np->features & FE_ULTRA) ? 20 : 10, + sym_scsi_bus_mode(np->scsi_mode), + (np->rv_scntl0 & 0xa) ? "parity checking" : "NO parity"); /* * Tell him more on demand. */ if (sym_verbose) { - printf("%s: %s IRQ line driver%s\n", - sym_name(np), - np->rv_dcntl & IRQM ? "totem pole" : "open drain", - np->ram_ba ? ", using on-chip SRAM" : ""); - printf("%s: using %s firmware.\n", sym_name(np), np->fw_name); + device_printf(np->device, "%s IRQ line driver%s\n", + np->rv_dcntl & IRQM ? "totem pole" : "open drain", + np->ram_ba ? ", using on-chip SRAM" : ""); + device_printf(np->device, "using %s firmware.\n", np->fw_name); if (np->features & FE_NOPM) - printf("%s: handling phase mismatch from SCRIPTS.\n", - sym_name(np)); + device_printf(np->device, + "handling phase mismatch from SCRIPTS.\n"); } /* * And still more. */ if (sym_verbose > 1) { - printf ("%s: initial SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " - "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", - sym_name(np), np->sv_scntl3, np->sv_dmode, np->sv_dcntl, - np->sv_ctest3, np->sv_ctest4, np->sv_ctest5); + device_printf(np->device, + "initial SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " + "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", + np->sv_scntl3, np->sv_dmode, np->sv_dcntl, np->sv_ctest3, + np->sv_ctest4, np->sv_ctest5); - printf ("%s: final SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " - "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", - sym_name(np), np->rv_scntl3, np->rv_dmode, np->rv_dcntl, - np->rv_ctest3, np->rv_ctest4, np->rv_ctest5); + device_printf(np->device, + "final SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " + "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", + np->rv_scntl3, np->rv_dmode, np->rv_dcntl, + np->rv_ctest3, np->rv_ctest4, np->rv_ctest5); } /* * Let user be aware of targets that have some disable flags set. @@ -2911,7 +2913,7 @@ static void sym_put_start_queue(hcb_p np, ccb_p cp) np->squeueput = qidx; if (DEBUG_FLAGS & DEBUG_QUEUE) - printf ("%s: queuepos=%d.\n", sym_name (np), np->squeueput); + device_printf(np->device, "queuepos=%d.\n", np->squeueput); /* * Script processor may be waiting for reselect. @@ -2965,8 +2967,8 @@ static void sym_soft_reset (hcb_p np) } } if (!i) - printf("%s: unable to abort current chip operation.\n", - sym_name(np)); + device_printf(np->device, + "unable to abort current chip operation.\n"); sym_chip_reset (np); } @@ -3016,13 +3018,12 @@ static int sym_reset_scsi_bus(hcb_p np, int enab_int) term &= 0x3ffff; if (term != (2<<7)) { - printf("%s: suspicious SCSI data while resetting the BUS.\n", - sym_name(np)); - printf("%s: %sdp0,d7-0,rst,req,ack,bsy,sel,atn,msg,c/d,i/o = " - "0x%lx, expecting 0x%lx\n", - sym_name(np), - (np->features & FE_WIDE) ? "dp1,d15-8," : "", - (u_long)term, (u_long)(2<<7)); + device_printf(np->device, + "suspicious SCSI data while resetting the BUS.\n"); + device_printf(np->device, + "%sdp0,d7-0,rst,req,ack,bsy,sel,atn,msg,c/d,i/o = " + "0x%lx, expecting 0x%lx\n", (np->features & FE_WIDE) ? + "dp1,d15-8," : "", (u_long)term, (u_long)(2 << 7)); if (SYM_SETUP_SCSI_BUS_CHECK == 1) retv = 1; } @@ -3062,10 +3063,9 @@ static int sym_wakeup_done (hcb_p np) MEMORY_BARRIER(); sym_complete_ok (np, cp); ++n; - } - else - printf ("%s: bad DSA (%x) in done queue.\n", - sym_name(np), (u_int) dsa); + } else + device_printf(np->device, + "bad DSA (%x) in done queue.\n", (u_int)dsa); } np->dqueueget = i; @@ -3286,8 +3286,8 @@ static void sym_init (hcb_p np, int reason) */ if (np->ram_ba) { if (sym_verbose > 1) - printf ("%s: Downloading SCSI SCRIPTS.\n", - sym_name(np)); + device_printf(np->device, + "Downloading SCSI SCRIPTS.\n"); if (np->ram_ws == 8192) { OUTRAM_OFF(4096, np->scriptb0, np->scriptb_sz); OUTL (nc_mmws, np->scr_ram_seg); @@ -3710,11 +3710,11 @@ static void sym_log_hard_error(hcb_p np, u_short sist, u_char dstat) if (((script_ofs & 3) == 0) && (unsigned)script_ofs < script_size) { - printf ("%s: script cmd = %08x\n", sym_name(np), - scr_to_cpu((int) *(u32 *)(script_base + script_ofs))); + device_printf(np->device, "script cmd = %08x\n", + scr_to_cpu((int) *(u32 *)(script_base + script_ofs))); } - printf ("%s: regdump:", sym_name(np)); + device_printf(np->device, "regdump:"); for (i = 0; i < 24; i++) printf (" %02x", (unsigned)INB_OFF(i)); printf (".\n"); @@ -3727,8 +3727,8 @@ static void sym_log_hard_error(hcb_p np, u_short sist, u_char dstat) pci_sts = pci_read_config(np->device, PCIR_STATUS, 2); if (pci_sts & 0xf900) { pci_write_config(np->device, PCIR_STATUS, pci_sts, 2); - printf("%s: PCI STATUS = 0x%04x\n", - sym_name(np), pci_sts & 0xf900); + device_printf(np->device, "PCI STATUS = 0x%04x\n", + pci_sts & 0xf900); } } } @@ -3933,9 +3933,9 @@ unknown_int: * We just miss the cause of the interrupt. :( * Print a message. The timeout will do the real work. */ - printf( "%s: unknown interrupt(s) ignored, " - "ISTAT=0x%x DSTAT=0x%x SIST=0x%x\n", - sym_name(np), istat, dstat, sist); + device_printf(np->device, + "unknown interrupt(s) ignored, ISTAT=0x%x DSTAT=0x%x SIST=0x%x\n", + istat, dstat, sist); } static void sym_intr(void *arg) @@ -4050,7 +4050,7 @@ static void sym_int_sto (hcb_p np) */ static void sym_int_udc (hcb_p np) { - printf ("%s: unexpected disconnect\n", sym_name(np)); + device_printf(np->device, "unexpected disconnect\n"); sym_recover_scsi_int(np, HS_UNEXPECTED); } @@ -4117,8 +4117,9 @@ static void sym_int_par (hcb_p np, u_short sist) int phase = cmd & 7; ccb_p cp = sym_ccb_from_dsa(np, dsa); - printf("%s: SCSI parity error detected: SCR1=%d DBC=%x SBCL=%x\n", - sym_name(np), hsts, dbc, sbcl); + device_printf(np->device, + "SCSI parity error detected: SCR1=%d DBC=%x SBCL=%x\n", hsts, dbc, + sbcl); /* * Check that the chip is connected to the SCSI BUS. @@ -4305,14 +4306,14 @@ static void sym_int_ma (hcb_p np) } if (!vdsp) { - printf ("%s: interrupted SCRIPT address not found.\n", - sym_name (np)); + device_printf(np->device, + "interrupted SCRIPT address not found.\n"); goto reset_all; } if (!cp) { - printf ("%s: SCSI phase error fixup: CCB already dequeued.\n", - sym_name (np)); + device_printf(np->device, + "SCSI phase error fixup: CCB already dequeued.\n"); goto reset_all; } @@ -6757,15 +6758,15 @@ restart_test: dstat = INB (nc_dstat); #if 1 /* Band aiding for broken hardwares that fail PCI parity */ if ((dstat & MDPE) && (np->rv_ctest4 & MPEE)) { - printf ("%s: PCI DATA PARITY ERROR DETECTED - " - "DISABLING MASTER DATA PARITY CHECKING.\n", - sym_name(np)); + device_printf(np->device, "PCI DATA PARITY ERROR DETECTED - " + "DISABLING MASTER DATA PARITY CHECKING.\n"); np->rv_ctest4 &= ~MPEE; goto restart_test; } #endif if (dstat & (MDPE|BF|IID)) { - printf ("CACHE TEST FAILED: DMA error (dstat=0x%02x).", dstat); + device_printf(np->device, + "CACHE TEST FAILED: DMA error (dstat=0x%02x).\n", dstat); return (0x80); } /* @@ -6783,28 +6784,32 @@ restart_test: * Check termination position. */ if (pc != SCRIPTB0_BA (np, snoopend)+8) { - printf ("CACHE TEST FAILED: script execution failed.\n"); - printf ("start=%08lx, pc=%08lx, end=%08lx\n", - (u_long) SCRIPTB0_BA (np, snooptest), (u_long) pc, - (u_long) SCRIPTB0_BA (np, snoopend) +8); + device_printf(np->device, + "CACHE TEST FAILED: script execution failed.\n"); + device_printf(np->device, "start=%08lx, pc=%08lx, end=%08lx\n", + (u_long)SCRIPTB0_BA(np, snooptest), (u_long)pc, + (u_long)SCRIPTB0_BA(np, snoopend) + 8); return (0x40); } /* * Show results. */ if (host_wr != sym_rd) { - printf ("CACHE TEST FAILED: host wrote %d, chip read %d.\n", - (int) host_wr, (int) sym_rd); + device_printf(np->device, + "CACHE TEST FAILED: host wrote %d, chip read %d.\n", + (int)host_wr, (int)sym_rd); err |= 1; } if (host_rd != sym_wr) { - printf ("CACHE TEST FAILED: chip wrote %d, host read %d.\n", - (int) sym_wr, (int) host_rd); + device_printf(np->device, + "CACHE TEST FAILED: chip wrote %d, host read %d.\n", + (int)sym_wr, (int)host_rd); err |= 2; } if (sym_bk != sym_wr) { - printf ("CACHE TEST FAILED: chip wrote %d, read back %d.\n", - (int) sym_wr, (int) sym_bk); + device_printf(np->device, + "CACHE TEST FAILED: chip wrote %d, read back %d.\n", + (int)sym_wr, (int)sym_bk); err |= 4; } @@ -6843,7 +6848,7 @@ static void sym_selectclock(hcb_p np, u_char scntl3) } if (sym_verbose >= 2) - printf ("%s: enabling clock multiplier\n", sym_name(np)); + device_printf(np->device, "enabling clock multiplier\n"); OUTB(nc_stest1, DBLEN); /* Enable clock multiplier */ /* @@ -6855,8 +6860,8 @@ static void sym_selectclock(hcb_p np, u_char scntl3) while (!(INB(nc_stest4) & LCKFRQ) && --i > 0) UDELAY (20); if (!i) - printf("%s: the chip cannot lock the frequency\n", - sym_name(np)); + device_printf(np->device, + "the chip cannot lock the frequency\n"); } else UDELAY (20); OUTB(nc_stest3, HSC); /* Halt the scsi clock */ @@ -6911,8 +6916,8 @@ static unsigned getfreq (hcb_p np, int gen) f = ms ? ((1 << gen) * 4340) / ms : 0; if (sym_verbose >= 2) - printf ("%s: Delay (GEN=%d): %u msec, %u KHz\n", - sym_name(np), gen, ms, f); + device_printf(np->device, "Delay (GEN=%d): %u msec, %u KHz\n", + gen, ms, f); return f; } @@ -6954,7 +6959,7 @@ static void sym_getclock (hcb_p np, int mult) */ if (mult > 1 && (stest1 & (DBLEN+DBLSEL)) == DBLEN+DBLSEL) { if (sym_verbose >= 2) - printf ("%s: clock multiplier found\n", sym_name(np)); + device_printf(np->device, "clock multiplier found\n"); np->multiplier = mult; } @@ -6968,7 +6973,7 @@ static void sym_getclock (hcb_p np, int mult) f1 = sym_getfreq (np); if (sym_verbose) - printf ("%s: chip clock is %uKHz\n", sym_name(np), f1); + device_printf(np->device, "chip clock is %uKHz\n", f1); if (f1 < 45000) f1 = 40000; else if (f1 < 55000) f1 = 50000; @@ -6976,8 +6981,8 @@ static void sym_getclock (hcb_p np, int mult) if (f1 < 80000 && mult > 1) { if (sym_verbose >= 2) - printf ("%s: clock multiplier assumed\n", - sym_name(np)); + device_printf(np->device, + "clock multiplier assumed\n"); np->multiplier = mult; } } else { @@ -7858,9 +7863,9 @@ sym_fast_scatter_sg_physical(hcb_p np, ccb_p cp, data->addr = cpu_to_scr(psegs2->ds_addr); data->size = cpu_to_scr(psegs2->ds_len); if (DEBUG_FLAGS & DEBUG_SCATTER) { - printf ("%s scatter: paddr=%lx len=%ld\n", - sym_name(np), (long) psegs2->ds_addr, - (long) psegs2->ds_len); + device_printf(np->device, + "scatter: paddr=%lx len=%ld\n", + (long)psegs2->ds_addr, (long)psegs2->ds_len); } if (psegs2 != psegs) { --data; @@ -7895,8 +7900,8 @@ sym_scatter_sg_physical(hcb_p np, ccb_p cp, bus_dma_segment_t *psegs, int nsegs) pn = ps; k = pe - pn; if (DEBUG_FLAGS & DEBUG_SCATTER) { - printf ("%s scatter: paddr=%lx len=%ld\n", - sym_name(np), pn, k); + device_printf(np->device, + "scatter: paddr=%lx len=%ld\n", pn, k); } cp->phys.data[s].addr = cpu_to_scr(pn); cp->phys.data[s].size = cpu_to_scr(k); @@ -9057,14 +9062,14 @@ static void sym_display_Symbios_nvram(hcb_p np, Symbios_nvram *nvram) int i; /* display Symbios nvram host data */ - printf("%s: HOST ID=%d%s%s%s%s%s%s\n", - sym_name(np), nvram->host_id & 0x0f, - (nvram->flags & SYMBIOS_SCAM_ENABLE) ? " SCAM" :"", - (nvram->flags & SYMBIOS_PARITY_ENABLE) ? " PARITY" :"", - (nvram->flags & SYMBIOS_VERBOSE_MSGS) ? " VERBOSE" :"", - (nvram->flags & SYMBIOS_CHS_MAPPING) ? " CHS_ALT" :"", - (nvram->flags2 & SYMBIOS_AVOID_BUS_RESET)?" NO_RESET" :"", - (nvram->flags1 & SYMBIOS_SCAN_HI_LO) ? " HI_LO" :""); + device_printf(np->device, "HOST ID=%d%s%s%s%s%s%s\n", + nvram->host_id & 0x0f, + (nvram->flags & SYMBIOS_SCAM_ENABLE) ? " SCAM" : "", + (nvram->flags & SYMBIOS_PARITY_ENABLE) ? " PARITY" : "", + (nvram->flags & SYMBIOS_VERBOSE_MSGS) ? " VERBOSE" : "", + (nvram->flags & SYMBIOS_CHS_MAPPING) ? " CHS_ALT" : "", + (nvram->flags2 & SYMBIOS_AVOID_BUS_RESET) ? " NO_RESET" : "", + (nvram->flags1 & SYMBIOS_SCAN_HI_LO) ? " HI_LO" : ""); /* display Symbios nvram drive data */ for (i = 0 ; i < 15 ; i++) { @@ -9102,17 +9107,18 @@ static void sym_display_Tekram_nvram(hcb_p np, Tekram_nvram *nvram) case 2: rem = " REMOVABLE=all"; break; } - printf("%s: HOST ID=%d%s%s%s%s%s%s%s%s%s BOOT DELAY=%d tags=%d\n", - sym_name(np), nvram->host_id & 0x0f, - (nvram->flags1 & SYMBIOS_SCAM_ENABLE) ? " SCAM" :"", - (nvram->flags & TEKRAM_MORE_THAN_2_DRIVES) ? " >2DRIVES" :"", - (nvram->flags & TEKRAM_DRIVES_SUP_1GB) ? " >1GB" :"", - (nvram->flags & TEKRAM_RESET_ON_POWER_ON) ? " RESET" :"", - (nvram->flags & TEKRAM_ACTIVE_NEGATION) ? " ACT_NEG" :"", - (nvram->flags & TEKRAM_IMMEDIATE_SEEK) ? " IMM_SEEK" :"", - (nvram->flags & TEKRAM_SCAN_LUNS) ? " SCAN_LUNS" :"", - (nvram->flags1 & TEKRAM_F2_F6_ENABLED) ? " F2_F6" :"", - rem, boot_delay, tags); + device_printf(np->device, + "HOST ID=%d%s%s%s%s%s%s%s%s%s BOOT DELAY=%d tags=%d\n", + nvram->host_id & 0x0f, + (nvram->flags1 & SYMBIOS_SCAM_ENABLE) ? " SCAM" : "", + (nvram->flags & TEKRAM_MORE_THAN_2_DRIVES) ? " >2DRIVES" : "", + (nvram->flags & TEKRAM_DRIVES_SUP_1GB) ? " >1GB" : "", + (nvram->flags & TEKRAM_RESET_ON_POWER_ON) ? " RESET" : "", + (nvram->flags & TEKRAM_ACTIVE_NEGATION) ? " ACT_NEG" : "", + (nvram->flags & TEKRAM_IMMEDIATE_SEEK) ? " IMM_SEEK" : "", + (nvram->flags & TEKRAM_SCAN_LUNS) ? " SCAN_LUNS" : "", + (nvram->flags1 & TEKRAM_F2_F6_ENABLED) ? " F2_F6" : "", + rem, boot_delay, tags); /* display Tekram nvram drive data */ for (i = 0; i <= 15; i++) { From nobody Thu Feb 5 21:54:22 2026 X-Original-To: dev-commits-src-branches@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 4f6WG66tCVz6RGmY for ; Thu, 05 Feb 2026 21:54:22 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WG61gzTz3SRp for ; Thu, 05 Feb 2026 21:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328462; 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=ZScbhLEsVTLMAyHMK7rNFSfpP0j1s7nkxdOiyNHUbuQ=; b=xJ5vvxeBkc3UXRQZgH7geZhlI4fTeShSoIj58QtyEdkRjkPovgeoHYIyL2sbPo5omOatZL xTVxqsLMb3CKCsI2WQFDbu4hIkx/zSxSo+bEWvhCZL9pKpuYCVHzrjepKvTi5Y+TBVMbC1 C366CHDAXbFRuGXNOYp6p5dT9CVoUHoLpuDdndUBky5Q5FPY9INlE+5X04cE42Y+MBqkLH +OCSczWup7EhlSWk7f5dNguPV02Qv9VGWTeU841gov43ryviwBWFy6PjUYrxfuRgw3AeoG z4W2/Z/RlTgRn6GRKaJS/XFkCJem/EEKaiiPGOwRqPhdnyDkjZeEMT9sG78DtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328462; a=rsa-sha256; cv=none; b=MPkCu7gVgOwnQx4QR4+30/3SlkrPaOA/8mQWhD0ExuIJ5Wa78TeiVc5G3bsYU1mOExtzsB Ns2CY4YXpx9H8F1i1y8X2wmgFqtRnoKKjZr7ykj/s5kowR9DuFFfckyWdvlnIVSUs/iHpJ GUw9Xh2D4ad6oyr4LGRjT3jWYL/Oun2NWmiSYJnvTf15VuqPaFk2a9HK5fYzIS5T2bhn87 ciqc5vTl76NQgy/FHu52JJgcKw379A6PaTzQJA+l84UnwYt5AsD3LVojwO1Pwx4Oy+yQ+2 xoozpcTBtYxakEhh4d7nrFxEvJIFhIMwkcjn+3DVBinrac0W18myB/gPdMjRFw== 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=1770328462; 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=ZScbhLEsVTLMAyHMK7rNFSfpP0j1s7nkxdOiyNHUbuQ=; b=PuceA3F5xhdPXnWvd7BsDlclC6dcCidrxkEVO9fDdKaWJO/39ulnxrex4nHDZ06Gajj7Kw y1/5FI4b9SPn2ieYTB1bR0fUTfwJnn8OoKXaTfoMoVvczPUTSL6CMx/JnJ8prRYYuOvidb 85Le8XnSZuaemy973CkbjkdQ5HpcqqdiLYeLhbbqqgDKUggaTvHnU4+OZTZ4VGRdRDbRgC 0bDDhYXUDtzr/XIGsTSBaQKwez+wpgk+3m06r6SKQOTA+s4/QOWltShKrD3C0nVFJxKmkV 0pVktlBvx0yhbZ5wT8i2q0MGbIF8lk84thfwga1PZwG6NzQE5XuoEjvs3LCQKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WG60yjzznxx for ; Thu, 05 Feb 2026 21:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19882 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:54:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 5d546e86517d - stable/14 - sym(4): Provide a DEVICE_DETACH(9) method List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5d546e86517d8052ffb33fccf55f9c5f7438153f Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:54:22 +0000 Message-Id: <6985118e.19882.493994e8@gitrepo.freebsd.org> The branch stable/14 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=5d546e86517d8052ffb33fccf55f9c5f7438153f commit 5d546e86517d8052ffb33fccf55f9c5f7438153f Author: Marius Strobl AuthorDate: 2026-01-22 09:05:38 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:54:07 +0000 sym(4): Provide a DEVICE_DETACH(9) method This also fixes sym_cam_free() to tear things down correctly, i. e. in opposite order of setup, as well as sym_cam_attach() to not free devq and SIM twice in the failure case. (cherry picked from commit 518c01b31e96bbe8353a551885a61e7da6aed5f6) --- sys/dev/sym/sym_hipd.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 6b7c0bd355ef..0e51607fb07a 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -2249,10 +2249,11 @@ static void sym_update_dflags(hcb_p np, u_char *flags, struct ccb_trans_settings *cts); static const struct sym_pci_chip *sym_find_pci_chip (device_t dev); -static int sym_pci_probe (device_t dev); -static int sym_pci_attach (device_t dev); -static void sym_pci_free (hcb_p np); +static device_probe_t sym_pci_probe; +static device_attach_t sym_pci_attach; +static device_detach_t sym_pci_detach; + static int sym_cam_attach (hcb_p np); static void sym_cam_free (hcb_p np); @@ -8237,6 +8238,7 @@ sym_update_dflags(hcb_p np, u_char *flags, struct ccb_trans_settings *cts) static device_method_t sym_pci_methods[] = { DEVMETHOD(device_probe, sym_pci_probe), DEVMETHOD(device_attach, sym_pci_attach), + DEVMETHOD(device_detach, sym_pci_detach), DEVMETHOD_END }; @@ -8740,21 +8742,25 @@ sym_pci_attach(device_t dev) */ attach_failed: if (np) - sym_pci_free(np); + sym_pci_detach(dev); return ENXIO; } /* - * Free everything that have been allocated for this device. + * Detach a device by freeing everything that has been allocated for it. */ -static void sym_pci_free(hcb_p np) +static int +sym_pci_detach(device_t dev) { + hcb_p np; SYM_QUEHEAD *qp; ccb_p cp; tcb_p tp; lcb_p lp; int target, lun; + np = device_get_softc(dev); + /* * First free CAM resources. */ @@ -8829,6 +8835,8 @@ static void sym_pci_free(hcb_p np) SYM_LOCK_DESTROY(); device_set_softc(np->device, NULL); sym_mfree_dma(np, sizeof(*np), "HCB"); + + return (0); } /* @@ -8902,11 +8910,6 @@ static int sym_cam_attach(hcb_p np) return 1; fail: - if (sim) - cam_sim_free(sim, FALSE); - if (devq) - cam_simq_free(devq); - SYM_UNLOCK(); sym_cam_free(np); @@ -8929,15 +8932,16 @@ static void sym_cam_free(hcb_p np) SYM_LOCK(); + if (np->path) { + xpt_async(AC_LOST_DEVICE, np->path, NULL); + xpt_free_path(np->path); + np->path = NULL; + } if (np->sim) { xpt_bus_deregister(cam_sim_path(np->sim)); cam_sim_free(np->sim, /*free_devq*/ TRUE); np->sim = NULL; } - if (np->path) { - xpt_free_path(np->path); - np->path = NULL; - } SYM_UNLOCK(); } From nobody Thu Feb 5 21:54:21 2026 X-Original-To: dev-commits-src-branches@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 4f6WG64cPsz6RGsN for ; Thu, 05 Feb 2026 21:54:22 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WG51Gcbz3SZs for ; Thu, 05 Feb 2026 21:54:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328461; 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=whVr5P1ZKB4YOQyncSWhZdNiFbM0W2Q8r13EcYRCm8Q=; b=up4kCp+ZOf62et3m1anbfkRI6TFPM5oOI2xnM0NwDltYTWkyM1npMWRcf6syDDgnLWeNls 5/U3OUL2xGvMg8rneH3w5Ihucez41MuoSQ4u38IMXFgGSo0soAXPR3newaCv8QCszIr0vD fPJtNH3M+SOAaKfhJH1+g22laFtNNlvi5AwDQzQo7+ka2fMqiZycl++dun9IBfYJMUl9Rb AiQ/JELvpcjIfUpbNsIzObrql/2hp9kXDFfaPiJHjEadenJ/kM9JuZYCD52p+gMJGvZlbe gMUCkAb0LwLR9c64LxHlHMdxIBFrVax8k3LMNNTjEapeKS8iYrpbxAjPKMWROg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328461; a=rsa-sha256; cv=none; b=q97nFqbqA9UfZwMvyYrhqQWJkC/kLjVP0yYqiqkCwkoBaBFCpuTMcxtVvT6e1JPvNqUMt6 Z/n5vubyHrGoxqgibZM1z8TYmJMyE7RvfS3OBvMIzkdbh7gWFWvawP2sz+p4IsDYt8PBc3 rM1ChPYu4EwJndlVKqK1hF2ONw/tSfLUESNaAYU4RB4WZg0xuUtBDN0JFqAkKOyQXn/8+X UBDXztTfwyZacEnYEEgNbVOrurWsNB3Y+qaF16KL7jIi3UcuIpvclNQHD5KTdvs9LISxcn dSrm7FXBKOSo8JNt6V4cHzcNMbjv2YTrj0S82Dr/NYQZ2krrrPdu7c7Fb6Of3Q== 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=1770328461; 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=whVr5P1ZKB4YOQyncSWhZdNiFbM0W2Q8r13EcYRCm8Q=; b=QDcrH5XTtD0rOc1dPB6WPu0cMzxZlMz4hkl1+9spmPdpNLKvovhf+h0UIthvJxsDAQ5SlC WB8jr9sTrwDA3B8FiNhP97+zcpxUZeBYTnXfeJ+jk8d+4aWdS7niVQJVwd639CNlDcItFi 7K3gO+6huLaM2NNfv26reYH5vRQIYJX9vctTYLdqc1jxpmzLrkef9DKi8BxqsKaz94z/bO yYPg4o+bmmiyKaWgkH2gZAE7GoljcvAqH28tZAcU2adMlWuZ8bkrOF1iJuLHo6r4oigLu4 LoTvcwVZNOEMdJfYVt28FoOGPmRIjimZihCpOGtIx3vhfh9tI89nYkqPv7HTsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WG509YWznkH for ; Thu, 05 Feb 2026 21:54:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19905 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:54:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: b5a7c25c4e19 - stable/14 - sym(4): Use memcpy(9) instead of bcopy(9) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b5a7c25c4e19ad57a0b0b23c16ba8523ec60f923 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:54:21 +0000 Message-Id: <6985118d.19905.1d212e@gitrepo.freebsd.org> The branch stable/14 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=b5a7c25c4e19ad57a0b0b23c16ba8523ec60f923 commit b5a7c25c4e19ad57a0b0b23c16ba8523ec60f923 Author: Marius Strobl AuthorDate: 2026-01-21 16:47:50 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:54:06 +0000 sym(4): Use memcpy(9) instead of bcopy(9) The overlap handling of bcopy(9) is not required in these cases. Obtained from: BSD-licensed Linux sym53c8xx driver (cherry picked from commit c8e9479c74a2af0f6c665e930091c163bf760fd5) --- sys/dev/sym/sym_hipd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 7e255862aeac..6b7c0bd355ef 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -7151,7 +7151,7 @@ static void sym_complete_error (hcb_p np, ccb_p cp) sense_returned; else csio->sense_resid = 0; - bcopy(cp->sns_bbuf, &csio->sense_data, + memcpy(&csio->sense_data, cp->sns_bbuf, MIN(csio->sense_len, sense_returned)); #if 0 /* @@ -7636,7 +7636,7 @@ static int sym_setup_cdb(hcb_p np, struct ccb_scsiio *csio, ccb_p cp) /* CDB is a pointer */ if (!(ccb_h->flags & CAM_CDB_PHYS)) { /* CDB pointer is virtual */ - bcopy(csio->cdb_io.cdb_ptr, cp->cdb_buf, cmd_len); + memcpy(cp->cdb_buf, csio->cdb_io.cdb_ptr, cmd_len); cmd_ba = CCB_BA (cp, cdb_buf[0]); } else { /* CDB pointer is physical */ @@ -7649,7 +7649,7 @@ static int sym_setup_cdb(hcb_p np, struct ccb_scsiio *csio, ccb_p cp) } } else { /* CDB is in the CAM ccb (buffer) */ - bcopy(csio->cdb_io.cdb_bytes, cp->cdb_buf, cmd_len); + memcpy(cp->cdb_buf, csio->cdb_io.cdb_bytes, cmd_len); cmd_ba = CCB_BA (cp, cdb_buf[0]); } @@ -8636,8 +8636,8 @@ sym_pci_attach(device_t dev) /* * Copy scripts to controller instance. */ - bcopy(fw->a_base, np->scripta0, np->scripta_sz); - bcopy(fw->b_base, np->scriptb0, np->scriptb_sz); + memcpy(np->scripta0, fw->a_base, np->scripta_sz); + memcpy(np->scriptb0, fw->b_base, np->scriptb_sz); /* * Setup variable parts in scripts and compute From nobody Thu Feb 5 21:54:23 2026 X-Original-To: dev-commits-src-branches@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 4f6WG75vDqz6RGPj for ; Thu, 05 Feb 2026 21:54:23 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WG72Sk4z3SVN for ; Thu, 05 Feb 2026 21:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328463; 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=FBUd+0PkB2fNBVLfV4sVmGwIJ1FtzGXC/6b2JQ8UVX0=; b=uiEZhcwF5/5QfrlCkkDaNxoinzgOF+T9FQOwB2rIy+CuPAVoPLBb/xGiJ61Xxscc8DL+Q4 X8Uqzhu3ZXaJrjhuPMSnr2/rDPwlWBJ1XGSPNBTJHupe7cbJtwz7uBT9g2J3rpE4TMkF3i xm2+Cme0phlH9A0KR+VuA6AYDnB6O/8UuwDWhhb43BTA6k3I+iRUacJXBrl5etY+4/fWO6 9hFibAGcxWlJUm/ynb21kXjfgL/SfPvJUX9qec8Me2xNzcVTP+XH9ruOBskqvUM0C2lL38 OSFYTU1uqsNeVMitGfgfWDQyJslpsVoAeSuwHkQtQTSBvAnuNsaavrDvMffOZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328463; a=rsa-sha256; cv=none; b=QR69a72gK5mx6DYryStxsUwWiqH6ZhQEc/08P/KK/zHv7/QKiqRUg5+akbxmgutZIIfv9G eqz1Vky5Vp1OAD4RSnz8CVYpU+bMqD/fZso7QiSDmzweWqtM2iLdiFtBe+wINMHyBP9A54 pMiBiEu5AsNuAqNmYx3To+J59CSgTR8A4dsZ1Ef5sDnzTD4snrG4hsi4w4hb7eWc4ds1kK 31hiDeXYGF3xRdEVgo6TPjS7DAWTzafnRrda+2wfp2xyb9MC45lwecDVz8JgpdnB4D0y+F 3atJe/m+9HXHmzh3zwkdlRpR9vq47XFHGj62lThbp+I7LbEWIy7g9ZtuCnOLHQ== 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=1770328463; 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=FBUd+0PkB2fNBVLfV4sVmGwIJ1FtzGXC/6b2JQ8UVX0=; b=fVwWRLiZqyqZiqjDXUfHQz4TDEcuwJe9GUAhlCgIJ9HoA/UqRuUMmhMp1q+Gr/2CkZNZDn ovzPYpZEkwqCv0HjI/k/O/RiX/HhEzLAjkTOyOjxF8X0HDk6K52UzM5rEKXKUqarZ2JZwE K7Vj0/FP2uYBdKzV9Antguep6tWs6fWrdHak188G52vqbTM+ps3q5Ia/EXXPHtYKicvLH/ S5yY7YOt16EIZOehuuKyNC81V7HwF6H4PxFC1/gSq80SRMlOpKxBo5y1Bpn9OkrzcATc5U Sl0Eu2wYMZFq4Pt9CbuzkxYNAtIMNwn/5ZcTHfT//UB38D2nI407es0CsfA/sw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WG71mHKznNs for ; Thu, 05 Feb 2026 21:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18166 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:54:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 79da80d56a42 - stable/14 - sym(4): Map HCB memory as uncacheable also on x86 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 79da80d56a427c4c6fe7e35f2d866b84db979a25 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:54:23 +0000 Message-Id: <6985118f.18166.57aeb251@gitrepo.freebsd.org> The branch stable/14 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=79da80d56a427c4c6fe7e35f2d866b84db979a25 commit 79da80d56a427c4c6fe7e35f2d866b84db979a25 Author: Marius Strobl AuthorDate: 2026-02-02 21:30:42 +0000 Commit: Marius Strobl CommitDate: 2026-02-05 21:54:07 +0000 sym(4): Map HCB memory as uncacheable also on x86 As part of making the chip-specific mix and match of different accesses (DMA/bus space) work as desired, the intent is to map the HCB memory as uncacheable. Prior to VM_MEMATTR_*, the !x86 way of indicating this to bus_dmamem_alloc(9) was BUS_DMA_COHERENT. Then later on in 2db99100a4, BUS_DMA_NOCACHE was hooked up to VM_MEMATTR_UNCACHEABLE for x86. As it turns out, still as of today bus_dmamem_alloc(9) differs in this regard across architectures. On arm, it still supports BUS_DMA_COHERENT only for requesting uncacheable DMA and x86 still uses BUS_DMA_NOCACHE only. On arm64 and riscv, BUS_DMA_COHERENT seems to effectively be an alias for BUS_DMA_NOCACHE. Thus, allocate the HCB memory with BUS_DMA_COHERENT | BUS_DMA_NOCACHE, so we get uncacheable memory on all architectures including x86 and so loads and stores from/to HCB won't get reordered. However, even on x86 we still need to use at least compiler barriers to achieve the desired program order. This change should also fix panics due to out-of-sync data seen with FreeBSD VMs on top of OpenStack and HBAs of type lsiLogic as a result of loads and stores getting reordered. [1] While at it: - Nuke the unused SYM_DRIVER_NAME macro. - Remove unused/redundant HCB members and correct a comment typo. PR: 270816 [1] MFC after: 3 days (cherry picked from commit b941d1c64e58708c93621cc07ed1c8e5e709cd48) --- sys/dev/sym/sym_hipd.c | 46 +++++++++++++++++++--------------------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 0e51607fb07a..1399eadb21fb 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -58,7 +58,6 @@ */ #include -#define SYM_DRIVER_NAME "sym-1.6.5-20000902" /* #define SYM_DEBUG_GENERIC_SUPPORT */ @@ -114,17 +113,15 @@ typedef u_int32_t u32; #include /* - * IA32 architecture does not reorder STORES and prevents - * LOADS from passing STORES. It is called `program order' - * by Intel and allows device drivers to deal with memory - * ordering by only ensuring that the code is not reordered - * by the compiler when ordering is required. - * Other architectures implement a weaker ordering that - * requires memory barriers (and also IO barriers when they - * make sense) to be used. + * With uncacheable memory, x86 does not reorder STORES and prevents LOADS + * from passing STORES. For ensuring this program order, we still need to + * employ compiler barriers, though, when the ordering of LOADS and STORES + * matters. + * Other architectures may implement weaker ordering guarantees and, thus, + * require memory barriers (and also IO barriers) to be used. */ #if defined __i386__ || defined __amd64__ -#define MEMORY_BARRIER() do { ; } while(0) +#define MEMORY_BARRIER() __compiler_membar() #elif defined __powerpc__ #define MEMORY_BARRIER() __asm__ volatile("eieio; sync" : : : "memory") #elif defined __arm__ @@ -594,10 +591,10 @@ static m_addr_t ___dma_getp(m_pool_s *mp) goto out_err; if (bus_dmamem_alloc(mp->dmat, &vaddr, - BUS_DMA_COHERENT | BUS_DMA_WAITOK, &vbp->dmamap)) + BUS_DMA_COHERENT | BUS_DMA_NOCACHE | BUS_DMA_WAITOK, &vbp->dmamap)) goto out_err; - bus_dmamap_load(mp->dmat, vbp->dmamap, vaddr, - MEMO_CLUSTER_SIZE, getbaddrcb, &baddr, BUS_DMA_NOWAIT); + bus_dmamap_load(mp->dmat, vbp->dmamap, vaddr, MEMO_CLUSTER_SIZE, + getbaddrcb, &baddr, BUS_DMA_NOWAIT); if (baddr) { int hc = VTOB_HASH_CODE(vaddr); vbp->vaddr = (m_addr_t) vaddr; @@ -1484,7 +1481,7 @@ struct sym_hcb { u32 scr_ram_seg; /* - * Chip and controller indentification. + * Chip and controller identification. */ device_t device; @@ -1534,7 +1531,6 @@ struct sym_hcb { struct resource *io_res; struct resource *mmio_res; struct resource *ram_res; - int ram_id; void *intr; /* @@ -1558,8 +1554,6 @@ struct sym_hcb { * BUS addresses of the chip */ vm_offset_t mmio_ba; /* MMIO BUS address */ - int mmio_ws; /* MMIO Window size */ - vm_offset_t ram_ba; /* RAM BUS address */ int ram_ws; /* RAM window size */ @@ -8528,16 +8522,15 @@ sym_pci_attach(device_t dev) * Alloc/get/map/retrieve the corresponding resources. */ if (np->features & (FE_RAM|FE_RAM8K)) { - int regs_id = SYM_PCI_RAM; + i = SYM_PCI_RAM; if (np->features & FE_64BIT) - regs_id = SYM_PCI_RAM64; - np->ram_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - ®s_id, RF_ACTIVE); + i = SYM_PCI_RAM64; + np->ram_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &i, + RF_ACTIVE); if (!np->ram_res) { device_printf(dev,"failed to allocate RAM resources\n"); goto attach_failed; } - np->ram_id = regs_id; np->ram_ba = rman_get_start(np->ram_res); } @@ -8772,16 +8765,15 @@ sym_pci_detach(device_t dev) */ if (np->ram_res) bus_release_resource(np->device, SYS_RES_MEMORY, - np->ram_id, np->ram_res); + rman_get_rid(np->ram_res), np->ram_res); if (np->mmio_res) bus_release_resource(np->device, SYS_RES_MEMORY, - SYM_PCI_MMIO, np->mmio_res); + rman_get_rid(np->mmio_res), np->mmio_res); if (np->io_res) bus_release_resource(np->device, SYS_RES_IOPORT, - SYM_PCI_IO, np->io_res); + rman_get_rid(np->io_res), np->io_res); if (np->irq_res) - bus_release_resource(np->device, SYS_RES_IRQ, - 0, np->irq_res); + bus_release_resource(np->device, SYS_RES_IRQ, 0, np->irq_res); if (np->scriptb0) sym_mfree_dma(np->scriptb0, np->scriptb_sz, "SCRIPTB0"); From nobody Thu Feb 5 22:07:49 2026 X-Original-To: dev-commits-src-branches@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 4f6WYd2YmTz6RHM4 for ; Thu, 05 Feb 2026 22:07:49 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WYd21Rdz3YPc for ; Thu, 05 Feb 2026 22:07:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329269; 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=/HkaWPMv2htHRtsZZQBZlMNqGDgQ4PV+xD2BtTmNu+Y=; b=bmHOI9BkEmjv1g6wAp2SLORZsZ9CmH0Jxk8U/Fxld8B9IHnmapjK2/0y1EPG7Ctwq/ipO8 jvhCYR8GZJoD51WirQb4riif2EIEW5vOYVNuUyCIg5zNwSahiXqWDOgueH3fBEX7gcbxLG SPq/F89M8ei7lwIFYs/aC6uJZ6u0aHzNy5UN8/DKs0O3Q0saUXgrXG7+AiEJyeBoTVY2bN w7ziapBTRIm4Bz/7dQ/uDS9GIwUfJFqzWIk4YJhZC5/Q64Nj3rk0wLNlDXvdDfM7K7EGfk 7nEA/e3GfC2PrF/LrkQeYxhHYABQb9rCQtPk+gD8Moufwqs7KDcaObxFJbcHUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329269; a=rsa-sha256; cv=none; b=roCWR2/k31cpe+Uc4ngDpWyyjSsLyLwGD6h1msR2YtYCN3AgjejDK0YJgIS7B8ZA5OUqEP k7+Go53l8YWrPu4RkdYfXWMawllsfn7CcyoEB5NCaP8i+rR+WTR4tMqp7AUn9f0yFOV2NV PwysFVR5qj9FBg7o6W1E+8o3iEHxsgfMEFg+zcX62pb0DBzl+d/gk1ocsUmvlOOAFfynhb YItMURIvJcTqe91kg6cLbCtltdj9tzniQPsjBePuXNVBr1q1+6wVdCeyLXJw6AMnJoe2X0 GCQqXDCV5ZEk331ByRV3snxIQmTWoxFEAIognhmRyUTpCctQpkzxlfihiRcHWA== 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=1770329269; 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=/HkaWPMv2htHRtsZZQBZlMNqGDgQ4PV+xD2BtTmNu+Y=; b=x1p8qkCcKIicTJMFdWNtRb53ZpASIwH0UsY0rB4D6b98gVVnwiqy/fNR+SME9ZDqqlCDtg UCtc0IdlQoTGbg+NFH23+tD56U33KDbFVLztiCcHEnSoNe8/Xne/xRSJ6jh/M1vOXd6C2F 3lfugygFB/SLg5SqDN2HuiF1jVN/LuTLXFN6Zs9YiAO5gWn8udKOgRMWWa5RR60o1eCDos rb1C+B439/r6zFZ4LvnWbapaWPYTxEOvCVYRT9w3xyfamOyRJ4NOiskCfFIWVR/e7MBsBF T6jcwWMWz5epQFCrBT0Aw7LobFTGhlK42w54VcTg98udLUxrPDp5Lkh2rDAUjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WYd1Kt5znPW for ; Thu, 05 Feb 2026 22:07:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47e5c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:07:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: a15c821b8416 - stable/14 - nanobsd.8: Shorten title for apropos, tag SPDX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a15c821b8416cd7103fb25632eff0e6f28c345a2 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:07:49 +0000 Message-Id: <698514b5.47e5c.2e84c6d4@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=a15c821b8416cd7103fb25632eff0e6f28c345a2 commit a15c821b8416cd7103fb25632eff0e6f28c345a2 Author: Alexander Ziaee AuthorDate: 2025-07-14 21:14:40 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:02:36 +0000 nanobsd.8: Shorten title for apropos, tag SPDX MFC after: 3 days (cherry picked from commit fbc4e90c5ca6186ade53d29bf3e69aab6ad1cbc3) --- share/man/man8/nanobsd.8 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/share/man/man8/nanobsd.8 b/share/man/man8/nanobsd.8 index 2ba072541ada..838f9ddc9afa 100644 --- a/share/man/man8/nanobsd.8 +++ b/share/man/man8/nanobsd.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2006 Daniel Gerzo .\" All rights reserved. .\" @@ -22,13 +25,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 10, 2024 +.Dd July 14, 2025 .Dt NANOBSD 8 .Os .Sh NAME .Nm nanobsd.sh -.Nd utility used to create a FreeBSD system image suitable for embedded -applications +.Nd create an embedded FreeBSD system image .Sh SYNOPSIS .Nm .Op Fl BbfhIiKknqvWwX From nobody Thu Feb 5 22:07:50 2026 X-Original-To: dev-commits-src-branches@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 4f6WYf4vSzz6RHs2 for ; Thu, 05 Feb 2026 22:07:50 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WYf34LMz3YXk for ; Thu, 05 Feb 2026 22:07:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329270; 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=LgH00wQdg1Ed37PrXO1FFV26ETQ0S0msX9MOcRDcMn4=; b=Ch2RqhYhfxXV9Hy3Dn0NqWmpgWp7JJ8E0Vb6ztQn2zphqK3LqAOh0Y0AsX2XZ5nEIcv83K PiEnDPHstis3JCeXW9eWKbhsv8oILwK0YqpGSJmBVYmPp4uwXmzc5YC6vFohTlcwQlte9s 7fkpM1obWOb4pmqqlplJapzZRIaZA3Zm0pypvEdXaMduR1goaWANQCSU1iafW2ELg05rBr D4/A7WZ3waN3WY7yHYHYRrAq33SuNFMmqYBssvQn3ptS+0wBgRJ3bFdtvK304vhtObnIFS 8X6G/Z2fVVQNCYK/hNIh1110svKBr9jwMGc8BACK8LiegA4PE5J0Q7uIpZpZ/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329270; a=rsa-sha256; cv=none; b=JbUaAlkyAr7CRz0mWlzAMyMzTdLj7fiBUT+97xyjzGTs+k5fwhL8qLV4UUDFFTZN2lcsB+ C7Jk95yY6CvPDpeiJUL9ySNvbjKX9VhkDRltcqil1szwNCDTYAkr80nMHEbxqf96+KOpU7 iE7l3hdERwwovxMwpr9DHoGAb1u2BgjSMAm9C/dLhyR63RpQmekpQ4WFq5oiaUsSPU+iy9 1ZHbVznC9yIIrRZw+GVBRIgh2luybHFhpNq4EaUkqvH79V3vswiFD9gV18DhfCVz0QHc/c 8eftOcYvRs9YcbrmptiTUTqPF8qOPXwGyZGgfXVYQ35BJgqA7msyWthltNPWqg== 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=1770329270; 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=LgH00wQdg1Ed37PrXO1FFV26ETQ0S0msX9MOcRDcMn4=; b=UQpWegj3BUY59R8qtUyizH01PYJj/avVKFv/eadTtBIQ3zk+AD64wLUsU5o5BO0cS3avpk rMncpK7aHMsAUCbjeMzCmipWHrm3sLAOWbPM3FYty1ApMdrugxnPDCRBWrye4rVBntxOif ofA7mfqNyNxCSvgDihKZ+sHJ1uWmxT966hGRzaN3grGGuTCxMBhk52fkrG1m3rWN+SyGGu 3WuFPx0buIs5q78FZao9TXoa2knbtbd8rvEeCrsReNqydjK+qHcH/pV7z75PCiVs6ia4MZ vf0kSihuMfalknOprJFx7BLCIvyi0akgfj4v/tK0Z1hNl0bBjxfUiVgwMsBVDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WYf23gGznVy for ; Thu, 05 Feb 2026 22:07:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47ec4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:07:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: bfa2d8e6ba22 - stable/14 - man bluetooth/fwdownloaders: Clarify descriptions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bfa2d8e6ba22870dc2f0363962c7788e43bdb497 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:07:50 +0000 Message-Id: <698514b6.47ec4.15a8704d@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=bfa2d8e6ba22870dc2f0363962c7788e43bdb497 commit bfa2d8e6ba22870dc2f0363962c7788e43bdb497 Author: Alexander Ziaee AuthorDate: 2025-08-06 14:57:31 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:03:41 +0000 man bluetooth/fwdownloaders: Clarify descriptions s/download/load/ to clarify the difference between these and fwget, our utility to install firmware packages, in apropos results. Also, include rtlbtfw, I missed that one last time. MFC after: 3 days Reviewed by: bz, pauamma Fixes: 2c901189bb65 (terse descriptions) Differential Revision: https://reviews.freebsd.org/D51333 (cherry picked from commit 0790d99e0b951cfee5be0e1db4bc6fae972aeacb) --- usr.sbin/bluetooth/ath3kfw/ath3kfw.8 | 4 ++-- usr.sbin/bluetooth/bcmfw/bcmfw.8 | 4 ++-- usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8 | 4 ++-- usr.sbin/bluetooth/rtlbtfw/rtlbtfw.8 | 4 ++-- usr.sbin/uathload/uathload.8 | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/usr.sbin/bluetooth/ath3kfw/ath3kfw.8 b/usr.sbin/bluetooth/ath3kfw/ath3kfw.8 index beb1b102b194..9e54445a012b 100644 --- a/usr.sbin/bluetooth/ath3kfw/ath3kfw.8 +++ b/usr.sbin/bluetooth/ath3kfw/ath3kfw.8 @@ -26,12 +26,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 31, 2024 +.Dd July 15, 2025 .Dt ATH3KFW 8 .Os .Sh NAME .Nm ath3kfw -.Nd download firmware for Atheros AR3011/AR3012 Bluetooth USB devices +.Nd load firmware for Atheros AR3011/AR3012 Bluetooth USB devices .Sh SYNOPSIS .Nm .Op Fl DI diff --git a/usr.sbin/bluetooth/bcmfw/bcmfw.8 b/usr.sbin/bluetooth/bcmfw/bcmfw.8 index 50e9739340ee..28f0cbbafe00 100644 --- a/usr.sbin/bluetooth/bcmfw/bcmfw.8 +++ b/usr.sbin/bluetooth/bcmfw/bcmfw.8 @@ -25,12 +25,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 31, 2024 +.Dd July 15, 2025 .Dt BCMFW 8 .Os .Sh NAME .Nm bcmfw -.Nd download firmware for Broadcom BCM2033 Bluetooth USB devices +.Nd load firmware for Broadcom BCM2033 Bluetooth USB devices .Sh SYNOPSIS .Nm .Op Fl h diff --git a/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8 b/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8 index 87f34435d3f4..ac32a675aa63 100644 --- a/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8 +++ b/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8 @@ -26,12 +26,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 15, 2024 +.Dd July 15, 2025 .Dt IWMBTFW 8 .Os .Sh NAME .Nm iwmbtfw -.Nd download firmware for Intel Wireless AC Bluetooth USB devices +.Nd load firmware for Intel Wireless AC Bluetooth USB devices .Sh SYNOPSIS .Nm .Op Fl DI diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.8 b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.8 index c3c0b83d97e5..5f037de1862e 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.8 +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.8 @@ -23,12 +23,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 19, 2023 +.Dd July 15, 2025 .Dt RTLBTFW 8 .Os .Sh NAME .Nm rtlbtfw -.Nd firmware download utility for Realtek 87XX/88XX chip based Bluetooth +.Nd load firmware for Realtek 87XX/88XX Bluetooth USB devices USB devices .Sh SYNOPSIS .Nm diff --git a/usr.sbin/uathload/uathload.8 b/usr.sbin/uathload/uathload.8 index 41cb2b4c1da7..758e021a936e 100644 --- a/usr.sbin/uathload/uathload.8 +++ b/usr.sbin/uathload/uathload.8 @@ -23,12 +23,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 11, 2010 +.Dd July 15, 2025 .Dt UATHLOAD 8 .Os .Sh NAME .Nm uathload -.Nd "firmware loader for Atheros USB wireless driver" +.Nd load firmware for Atheros USB wireless devices" .Sh SYNOPSIS .Nm .Op Fl v From nobody Thu Feb 5 22:07:51 2026 X-Original-To: dev-commits-src-branches@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 4f6WYg6D4mz6RHMB for ; Thu, 05 Feb 2026 22:07:51 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WYg4HW1z3Yf8 for ; Thu, 05 Feb 2026 22:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329271; 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=XhkeGarVeluGXoCbB/KBp1uItLP1CAwJliYnihhjhtw=; b=BwhBwLWxL8ISdSgZKtEMKbQmXqOyW2GvFmDwjQyy8kp3oOUXpJn94WrSZMj8CFWv4eey6d FVtXlqXKPRBI3d4mTYfcYJfnnk4F59LM0MzouL+d27c+LPjriTfxas8Axj7fZ0z3ClBu2k tjszw/MEYNxtnRHGI+PpefS0Mem+3NSChSVCjY6TGzd64tSw1TEQKJB6mwQSsr5uVczgvO vN1heSgP5mK0F9nFyTKhLS2KbVAHrbMHOamjNZ0BwlCJBK1zCHcJItByj4lkiWiO2IjfRM Lzd7509cthjAQfGa9XCjkKH0z0rTKhg3cZD5dy9ahPIa0LUmBf/z+bmM5WrYrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329271; a=rsa-sha256; cv=none; b=DVy6HF+kcIXXuktoXfjeSlFy/oT3OZO2A12ANF5RoxwkYxic5cgcuIzb4Emk9+ErpKD/v4 dHMQmUJDgXYeknL6cdBLq5hDol/n/8LoE43G16cM9FH7w+dqMAEzhuo68QA6ek0zvl3dGg 7GMiZ+DY+nLSzh80nbOdfBP8oWuagSeyd9PHtKpmMqKPnihCxHBHc18lg+XTTJiN2ETSbz Q8lya1moKt/+wsWf0SZkHSNP9S8CnPNNfXEHFTA7Whj+7snuBa69ox9mnxtQu1QJUwGykj zeYvCsvyVB54fLv4Tk0bUhmdcsoaSR5x6HXsod7o8LICb+zuEpaaqS0oEHJ2Dw== 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=1770329271; 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=XhkeGarVeluGXoCbB/KBp1uItLP1CAwJliYnihhjhtw=; b=cd1HsoRxo8aHgrYAmnpoVIr1CTpf41j2AUwy3p9b2ho2MEJ4r0QHdtVxhRmMrkF1j9KYDE atEL9fVL91Px70yAKwesZnOLn2T+0Z3zL17DZa9z2GPjZ9hGwwwyfbOZIU6Q+lYAcWwToL SwTTywzIospcyCrRmLbl3DzXlU0S7JmXPEq/1/QPIkrCGatBlaffAUsC+5JWRZ+gL1DKyo fKTNTvVMl7FZ6CufXpXYcDYJhNv3AesPCGX917xhQOUGoptPx+IRFGQYvYH7MSZweuDsL4 OiYNK92d2wGMMDy/Xnz6bPF7aYGNFSq6Dp2THKuroDXG/kEvvVo6U3EBugHaWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WYg2q8kzpBh for ; Thu, 05 Feb 2026 22:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a0d3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:07:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 822afa2bc93c - stable/14 - hv_netvsc.4: Fix hn(4) mlink typo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 822afa2bc93c715f5b7d16c2d465762bcf04d634 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:07:51 +0000 Message-Id: <698514b7.1a0d3.7b53b591@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=822afa2bc93c715f5b7d16c2d465762bcf04d634 commit 822afa2bc93c715f5b7d16c2d465762bcf04d634 Author: Alexander Ziaee AuthorDate: 2025-08-15 16:40:30 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:04:04 +0000 hv_netvsc.4: Fix hn(4) mlink typo MFC after: 3 days Fixes: e47939b3b1106 (hn: fix build on !x86) (cherry picked from commit 429152cb04e4efdb37437fb2b76fbcfd1ad043ab) --- share/man/man4/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 969afafc6a63..2db6e350a401 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -819,7 +819,7 @@ _cpuctl.4= cpuctl.4 _dpms.4= dpms.4 _ftgpio.4= ftgpio.4 _ftwd.4= ftwd.4 -_hn.4= _hn.4 +_hn.4= hn.4 _hpt27xx.4= hpt27xx.4 _hptiop.4= hptiop.4 _hptmv.4= hptmv.4 From nobody Thu Feb 5 22:07:52 2026 X-Original-To: dev-commits-src-branches@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 4f6WYh5dK2z6RHpR for ; Thu, 05 Feb 2026 22:07:52 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WYh3v6rz3Ybk for ; Thu, 05 Feb 2026 22:07:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329272; 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=+IScy9nz2ExrBqVBBfkWTW621BD6Cuw4dZmYW071QxQ=; b=kbsJ7XicD5Tkk5wJM0Cxm+CJozyD/vicnxPGEyTnzK0Tp1h0izoaZEZWDHJQr7lblUIPnz 549NR6GyMhUqKiOzm1+WmFzpQP00bDhHtHzOJAD1bhtYyqKBoMNfUGEa5bTWL93eqK6puo S9Zr80475AxhCRzV6g91xbRdaku+FCO86tzy8AiRhKlx6dWPvTJeMl2+SIrcPBYhW7nOfD xeP026ml/eCed7KBJWSDb92w8SyzqwEhcT1RMoAECnN0/Zuomr+lNqrbvfT1I4KLr8Qtdl ZpWZ+HTFE9BJykxWc3xmeA3Hkf03izE+PnP8fMbdVSreYRRxHdLahHuSGJ6m7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329272; a=rsa-sha256; cv=none; b=ZGXINyyI6CgzvuT99JqzWLVVrloUseIIhj55JZt1wCi6gNih/54ydlT6kW6kVfnUVJ3BZw o/Vlv+t5xiESgvI6DKuo7Hu8qwAhGKd9qkX6ygE7lt9A324BgHVrIhd3HDvDoK2L2LMY8d sqwn9/F0G7zbMryM5A13x8VANjRRlfKDiyfPP+6tF4MmsbVP7sYJ/zLKt5W77Kbdqaj2mO /5p9shQB8Wm5cloyhpIL57SpXJLZvX2C17AzYxXZg+cFHITLvFj7kLgFtx+hJYnNBdI7Uy JRukvKRdeY3pCznfRjmHJKWQhGIxRJ2yFkBbmGxHnm6jqFZ7jzbz4Z17QuuI0g== 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=1770329272; 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=+IScy9nz2ExrBqVBBfkWTW621BD6Cuw4dZmYW071QxQ=; b=jftNmVwbac+W9QhfRz1HUHlQO5KdqdSTGFJKz1JD2BqfHJvsKg5IcTWo8mWKiIoeNPUVyG E6ks8o5odpyIIO/jSnj20ZpPhrZh/HqPe7T0uqVZG+QsFaqrr+WcZ+sxmEWXe+G8hVsy3t jAYBLEidowpuTr0LSXMugSLniyGbLqw809l4QfpjEcqT/t3bFBeQo1up38usQkaepmhYI5 2OgXj8D2YWGtvkjSFGzznXi8xhEjs7gJSMGh/ZBHDIgakxQ5nBoow+Qiu3kbICU/TDjNEf Kn3QtT3HCMS60Ymc1eP0AiJiFDqrOGgVhYZXBV9TUF2aL/bX/1valkgquOS+Bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WYh3JyMznx3 for ; Thu, 05 Feb 2026 22:07:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a1cf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:07:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 1eb2efcdd552 - stable/14 - ata.4: Cleanup HARDWARE for HW Relnotes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1eb2efcdd5524b4cb993794124299bd15f4dd65d Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:07:52 +0000 Message-Id: <698514b8.1a1cf.442a49a2@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=1eb2efcdd5524b4cb993794124299bd15f4dd65d commit 1eb2efcdd5524b4cb993794124299bd15f4dd65d Author: Alexander Ziaee AuthorDate: 2025-05-26 01:23:38 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:04:30 +0000 ata.4: Cleanup HARDWARE for HW Relnotes MFC after: 3 days Reported by: ivy (ata is for ide interface) (cherry picked from commit b03f765f076c6b6170f01681bfcc4dbc3df846c3) --- share/man/man4/ata.4 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/share/man/man4/ata.4 b/share/man/man4/ata.4 index feea1dd3cc85..29b6bbef6838 100644 --- a/share/man/man4/ata.4 +++ b/share/man/man4/ata.4 @@ -155,7 +155,9 @@ The .Va hw.ata.ata_dma_check_80pin tunable can be set to 0 to disable this check. .Sh HARDWARE -The currently supported ATA/SATA controller chips are: +The +.Nm +driver supports the IDE interface on the following ATA/SATA controllers: .Pp .Bl -tag -width "Silicon Image:" -compact .It Acard: From nobody Thu Feb 5 22:07:53 2026 X-Original-To: dev-commits-src-branches@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 4f6WYj5v8Yz6RHxR for ; Thu, 05 Feb 2026 22:07:53 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WYj4cHwz3Ygm for ; Thu, 05 Feb 2026 22:07:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329273; 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=np5ahcuiUSx3XP+/4h+yotYdVBq6Cs7LvUOK2l0sCWc=; b=AT09JQnXSoqbd5Mw5fSkHJCU4dBxG6Ta7bf+BVmChp/IHagcdo14rufZmz3Jey6Cydd1NR 8UmznqG3QLNnXnSgPZ6DI5O0dlA6KeRYNVv02UbPollGQQb+mmDvSGl/C8oZNmVAx3JKTK w0wueBsLIMn7x5SOv86uLcFEqpb4LVcU2Ye4eOOEPWEDxLvzWCwDk5hAR3ZWulUcMq0c3i QsOrpiOXVtnbnZaiI+eeNZPsw6Ys+gqecaWE5UY71WzFEw0Z/DN3Ix9O1+7tmjE8KydAN/ Jr05nLxGCgi5duXyjdnb8FTuA9453NNnZwYFQVgSutPS4ufAmczKPfugq4I6vg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329273; a=rsa-sha256; cv=none; b=Cf/eLHU4x8qPsh+GuQ0kB+/K2KMhQqWltpYdCYrM0gRQ96lxE28/CmMtu0V+UbOO1oQ3om HkM/zr3r9c45qKL2uQ7K6D/qWYNjoD+DBD2nk4guwuOckNP/VpMgPWy5eeua7z9Iv8ohj/ zhzo5pe/1BXbuvdzbr+8ZvlqbBd4a9wFubM4G6/A3+Rvtv/asJwawJGS87XAiqjgFAbwi6 qczXhM8+sFdmxW0CIxkkX+w9GG4lshPnraivBytA+w30avjpI4wuxCySdGu2gWkx8hV0sk MoQWdZ/MG49p+98e4OGWtsWZOYBTVuT3jPEmmj7sZ2U2oTNEgjrddaLq+jtPKg== 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=1770329273; 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=np5ahcuiUSx3XP+/4h+yotYdVBq6Cs7LvUOK2l0sCWc=; b=mRX+yCHU2s8rNfij8G4sHCZhf0gRRqNx2BSQDqBgvlycLE3FKQ0uRzCCFRhyNL0u1lC6oi nO9O4f5eZjP6KObakmli2lPwgKg9LmBLijYH3U7z2xitBSFFQkNkQlAOfsjE6Pxj9XKdkX T4RiWfbNzRUGbAS2llrdgLOlml/gsCtDpPq6vyYvZfe8e5vhrG6r7AeDMBB/wy4Fu0UgBJ JJSOkb0VZaSonGNPSruYROzVVS5CWc7V4zsq75oYXJMbtjxvn7HPkIB9HRqVpmBnKNC9xP 24qAs9BXxVlm4Lto7wKp+CTIZ41mRmhc10RlDEmYdY5aCwGSpWAZR4FmExQ0KA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WYj42vkznW1 for ; Thu, 05 Feb 2026 22:07:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19b21 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:07:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: c44ec96b471e - stable/14 - contrib/spleen: Update to 2.2.O List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c44ec96b471e1c5dc6b0d12c7db693c58527522e Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:07:53 +0000 Message-Id: <698514b9.19b21.18db8f26@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=c44ec96b471e1c5dc6b0d12c7db693c58527522e commit c44ec96b471e1c5dc6b0d12c7db693c58527522e Author: Alexander Ziaee AuthorDate: 2026-02-01 15:25:11 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:05:14 +0000 contrib/spleen: Update to 2.2.O This release adds several new characters critical to the manual pages that were previously missing on high-dpi displays: em-dash, en-dash, hyphen, angle brackets, white square, dagger, and double dagger. It also features improved alignment for numerous characters in different sizes. Thanks: Fredric Cambus MFC after: 3 days Discussed with: emaste (cherry picked from commit 0d602f923ed8a889c3a848ab9f19aa52f917f6ee) --- contrib/spleen/ChangeLog | 24 + contrib/spleen/LICENSE | 2 +- contrib/spleen/README.md | 15 +- contrib/spleen/spleen-12x24.bdf | 364 ++++++++++++-- contrib/spleen/spleen-16x32.bdf | 391 ++++++++++++++- contrib/spleen/spleen-32x64.bdf | 1003 ++++++++++++++++++++++++++++++++------- contrib/spleen/spleen-5x8.bdf | 8 +- contrib/spleen/spleen-6x12.bdf | 8 +- contrib/spleen/spleen-8x16.bdf | 219 ++++++++- 9 files changed, 1787 insertions(+), 247 deletions(-) diff --git a/contrib/spleen/ChangeLog b/contrib/spleen/ChangeLog index bbe2cd4d422e..f5e090671741 100644 --- a/contrib/spleen/ChangeLog +++ b/contrib/spleen/ChangeLog @@ -1,3 +1,27 @@ +Spleen 2.2.0 (2026-02-01) + +- Add stand alone caron in the 8x16, 12x24, 16x32, and 32x64 versions +- Fix stand alone breve in the 12x24 version +- Add white square symbol in the 8x16, 16x32, and 32x64 versions +- Add dagger and double dagger symbols in the 8x16, 12x24, 16x32, and + 32x64 versions +- Fix black and white squares alignment in the 16x32 and 32x64 versions +- Add black and white square characters in the 12x24 version +- Add hyphen, along with en and em dashes in the 8x16, 12x24, 16x32, and + 32x64 versions +- Add mathematical left and right angle brackets in the 8x16, 12x24, 16x32, + and 32x64 versions +- Fix right parenthesis alignment in the 32x64 version +- Fix right curly bracket alignment in the 12x24 version +- Fix less-than sign alignment in the 12x24 version + +- Makefile: replace BSD Make .for loops with portable dependency rules, + the project can now be built with both BSD Make and GNU Make +- Add 'woff' and 'woff2' targets to generate WOFF and WOFF2 versions +- Add tests for validating and sanitizing OTF, WOFF and WOFF2 fonts + + + Spleen 2.1.0 (2024-03-22) - Document how wsfont header files (for OpenBSD and NetBSD) are generated diff --git a/contrib/spleen/LICENSE b/contrib/spleen/LICENSE index 4387948e8467..6928cd0fc323 100644 --- a/contrib/spleen/LICENSE +++ b/contrib/spleen/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2018-2024, Frederic Cambus +Copyright (c) 2018-2026, Frederic Cambus All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/contrib/spleen/README.md b/contrib/spleen/README.md index a80773ec8420..12771f96019e 100644 --- a/contrib/spleen/README.md +++ b/contrib/spleen/README.md @@ -26,8 +26,8 @@ Spleen is a monospaced bitmap font available in 6 sizes: Each size is provided in the Glyph Bitmap Distribution Format (BDF), and release tarballs contain the fonts in the following formats: `PCF`, `PSF` -(for the Linux console), `OTB`, `OTF`, `.dfont` for macOS users, and `FON` -for Windows users. +(for the Linux console), `OTB`, `OTF`, `WOFF`, `WOFF2`, `.dfont` for macOS +users, and `FON` for Windows users. All font sizes contain all ISO/IEC 8859-1 characters (Basic Latin and Latin-1 Supplement Unicode block), Latin Extended-A characters, as well as Box Drawing, @@ -198,6 +198,15 @@ disabled. - Spleen 16x32: 24 Pt (32 pixels) - Spleen 32x64: 48 Pt (64 pixels) +### Web Fonts + +Release tarballs provide WOFF and WOFF2 versions suitable for use on the Web. + +As with the OpenType versions from which they are generated, WOFF and WOFF2 +fonts should be used at their native pixel sizes, with font smoothing and +anti-aliasing disabled when possible, to preserve the original bitmap +appearance. + ## License Spleen is released under the BSD 2-Clause license. See `LICENSE` file for @@ -246,7 +255,7 @@ GitHub: https://github.com/fcambus/spleen [11]: https://www.freshports.org/x11-fonts/spleen/ [12]: https://aur.archlinux.org/packages/spleen-font/ [13]: https://github.com/void-linux/void-packages/tree/master/srcpkgs/font-spleen -[14]: https://github.com/NixOS/nixpkgs/tree/master/pkgs/data/fonts/spleen +[14]: https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/sp/spleen [15]: https://packages.debian.org/search?keywords=spleen [16]: https://packages.ubuntu.com/search?keywords=spleen [17]: https://ports.macports.org/port/font-spleen/ diff --git a/contrib/spleen/spleen-12x24.bdf b/contrib/spleen/spleen-12x24.bdf index 1c4fa12beb9a..5e757ae3d8ad 100644 --- a/contrib/spleen/spleen-12x24.bdf +++ b/contrib/spleen/spleen-12x24.bdf @@ -1,11 +1,11 @@ STARTFONT 2.1 COMMENT /* -COMMENT * Spleen 12x24 2.1.0 -COMMENT * Copyright (c) 2018-2024, Frederic Cambus +COMMENT * Spleen 12x24 2.2.0 +COMMENT * Copyright (c) 2018-2026, Frederic Cambus COMMENT * https://www.cambus.net/ COMMENT * COMMENT * Created: 2018-08-15 -COMMENT * Last Updated: 2024-03-22 +COMMENT * Last Updated: 2026-01-31 COMMENT * COMMENT * Spleen is released under the BSD 2-Clause license. COMMENT * See LICENSE file for details. @@ -18,7 +18,7 @@ FONTBOUNDINGBOX 12 24 0 -5 STARTPROPERTIES 20 FAMILY_NAME "Spleen" WEIGHT_NAME "Medium" -FONT_VERSION "2.1.0" +FONT_VERSION "2.2.0" FOUNDRY "misc" SLANT "R" SETWIDTH_NAME "Normal" @@ -33,11 +33,11 @@ CHARSET_ENCODING "1" MIN_SPACE 12 FONT_ASCENT 19 FONT_DESCENT 5 -COPYRIGHT "Copyright (c) 2018-2024, Frederic Cambus" +COPYRIGHT "Copyright (c) 2018-2026, Frederic Cambus" DEFAULT_CHAR 32 _GBDFED_INFO "Edited with gbdfed 1.6." ENDPROPERTIES -CHARS 916 +CHARS 926 STARTCHAR SPACE ENCODING 32 SWIDTH 500 0 @@ -916,7 +916,6 @@ BITMAP 0000 0000 0000 -0060 00C0 0180 0300 @@ -924,13 +923,14 @@ BITMAP 0C00 1800 3000 +6000 +3000 1800 0C00 0600 0300 0180 00C0 -0060 0000 0000 0000 @@ -2928,28 +2928,28 @@ DWIDTH 12 0 BBX 12 24 0 -5 BITMAP 0000 -3C00 +7800 +0C00 +0600 +0600 +0600 +0600 +0600 +0600 0600 0300 -0300 -0300 -0300 -0300 -0300 -0300 -0180 -00E0 -00E0 -0180 -0300 -0300 -0300 -0300 -0300 -0300 +01C0 +01C0 0300 0600 -3C00 +0600 +0600 +0600 +0600 +0600 +0600 +0C00 +7800 0000 ENDCHAR STARTCHAR TILDE @@ -11725,13 +11725,44 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR CARON +ENCODING 711 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +30C0 +1980 +0F00 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR BREVE ENCODING 728 SWIDTH 500 0 DWIDTH 12 0 BBX 12 24 0 -5 BITMAP -30C0 +1980 1980 0F00 0000 @@ -14236,6 +14267,99 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR HYPHEN +ENCODING 8208 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +1F80 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR EN DASH +ENCODING 8211 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +3FC0 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR EM DASH +ENCODING 8212 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +3FC0 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR DOUBLE VERTICAL LINE ENCODING 8214 SWIDTH 500 0 @@ -14391,6 +14515,68 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR DAGGER +ENCODING 8224 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0600 +0600 +0600 +3FC0 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0000 +0000 +0000 +ENDCHAR +STARTCHAR DOUBLE DAGGER +ENCODING 8225 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0600 +0600 +0600 +3FC0 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +0600 +3FC0 +0600 +0600 +0600 +0000 +0000 +0000 +ENDCHAR STARTCHAR BULLET ENCODING 8226 SWIDTH 500 0 @@ -19661,6 +19847,68 @@ FFF0 FFF0 FFF0 ENDCHAR +STARTCHAR BLACK SQUARE +ENCODING 9632 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3FC0 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR WHITE SQUARE +ENCODING 9633 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +3FC0 +30C0 +30C0 +30C0 +30C0 +30C0 +30C0 +30C0 +30C0 +30C0 +30C0 +3FC0 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR BLACK DIAMOND ENCODING 9670 SWIDTH 500 0 @@ -20281,6 +20529,68 @@ FFE0 0000 0000 ENDCHAR +STARTCHAR MATHEMATICAL LEFT ANGLE BRACKET +ENCODING 10216 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0300 +0300 +0600 +0600 +0C00 +0C00 +1800 +1800 +1800 +0C00 +0C00 +0600 +0600 +0300 +0300 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR MATHEMATICAL RIGHT ANGLE BRACKET +ENCODING 10217 +SWIDTH 500 0 +DWIDTH 12 0 +BBX 12 24 0 -5 +BITMAP +0000 +0000 +0000 +0000 +0C00 +0C00 +0600 +0600 +0300 +0300 +0180 +0180 +0180 +0300 +0300 +0600 +0600 +0C00 +0C00 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR BRAILLE PATTERN BLANK ENCODING 10240 SWIDTH 500 0 diff --git a/contrib/spleen/spleen-16x32.bdf b/contrib/spleen/spleen-16x32.bdf index 4d27a4ba1939..48cbf3223799 100644 --- a/contrib/spleen/spleen-16x32.bdf +++ b/contrib/spleen/spleen-16x32.bdf @@ -1,11 +1,11 @@ STARTFONT 2.1 COMMENT /* -COMMENT * Spleen 16x32 2.1.0 -COMMENT * Copyright (c) 2018-2024, Frederic Cambus +COMMENT * Spleen 16x32 2.2.0 +COMMENT * Copyright (c) 2018-2026, Frederic Cambus COMMENT * https://www.cambus.net/ COMMENT * COMMENT * Created: 2018-08-12 -COMMENT * Last Updated: 2024-03-22 +COMMENT * Last Updated: 2026-01-29 COMMENT * COMMENT * Spleen is released under the BSD 2-Clause license. COMMENT * See LICENSE file for details. @@ -18,7 +18,7 @@ FONTBOUNDINGBOX 16 32 0 -6 STARTPROPERTIES 20 FAMILY_NAME "Spleen" WEIGHT_NAME "Medium" -FONT_VERSION "2.1.0" +FONT_VERSION "2.2.0" FOUNDRY "misc" SLANT "R" SETWIDTH_NAME "Normal" @@ -33,11 +33,11 @@ CHARSET_ENCODING "1" MIN_SPACE 16 FONT_ASCENT 26 FONT_DESCENT 6 -COPYRIGHT "Copyright (c) 2018-2024, Frederic Cambus" +COPYRIGHT "Copyright (c) 2018-2026, Frederic Cambus" DEFAULT_CHAR 32 _GBDFED_INFO "Edited with gbdfed 1.6." ENDPROPERTIES -CHARS 969 +CHARS 978 STARTCHAR SPACE ENCODING 32 SWIDTH 500 0 @@ -14780,6 +14780,45 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR CARON +ENCODING 711 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0E70 +07E0 +03C0 +0180 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR BREVE ENCODING 728 SWIDTH 500 0 @@ -18407,6 +18446,123 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR HYPHEN +ENCODING 8208 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +1FF8 +1FF8 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR EN DASH +ENCODING 8211 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +3FFC +3FFC +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR EM DASH +ENCODING 8212 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +3FFC +3FFC +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR DOUBLE VERTICAL LINE ENCODING 8214 SWIDTH 500 0 @@ -18602,6 +18758,84 @@ BITMAP 0000 0000 ENDCHAR +STARTCHAR DAGGER +ENCODING 8224 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0180 +0180 +0180 +0180 +1FF8 +1FF8 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR DOUBLE DAGGER +ENCODING 8225 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0180 +0180 +0180 +0180 +1FF8 +1FF8 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +0180 +1FF8 +1FF8 +0180 +0180 +0180 +0180 +0000 +0000 +0000 +0000 +ENDCHAR STARTCHAR BULLET ENCODING 8226 SWIDTH 500 0 @@ -25987,23 +26221,62 @@ BITMAP 0000 0000 0000 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 -3FF0 +0000 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +1FF8 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR WHITE SQUARE +ENCODING 9633 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 0000 0000 0000 +1FF8 +1FF8 +1818 +1818 +1818 +1818 +1818 +1818 +1818 +1818 +1818 +1818 +1FF8 +1FF8 +0000 +0000 0000 0000 0000 @@ -27260,6 +27533,84 @@ F800 0000 0000 ENDCHAR +STARTCHAR MATHEMATICAL LEFT ANGLE BRACKET +ENCODING 10216 +SWIDTH 500 0 +DWIDTH 16 0 +BBX 16 32 0 -6 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0070 +00E0 +00E0 +01C0 +01C0 +0380 +0380 +0700 +0700 +0E00 +0E00 +0700 +0700 +0380 *** 1574 LINES SKIPPED *** From nobody Thu Feb 5 22:07:54 2026 X-Original-To: dev-commits-src-branches@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 4f6WYk6vHRz6RHsG for ; Thu, 05 Feb 2026 22:07:54 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WYk4rx1z3Z12 for ; Thu, 05 Feb 2026 22:07:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329274; 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=CKRG/cKhQQtQLg+FiHjTTSHCL3p6BgSUqD4sh2loSpE=; b=KFEUs8LGhE1yAYuppmsCz50Mjpety97u5CdmPekcFkfFEO8Yxtu2NQ1ROg2aSTL/KwglWI CU2pSSz3gBlGtj776pF+ea5EhiW0wM5S/Ha+th8Wkb3Orlby1elwYCCIRyd9MhtK4FSgtz lFy978nACbpiLwRNdTBaDs8fBWepBJ4QIEzkfH5Qr9FRLGQzp2HqygGuyQDh/AFDmDzbpM dtUeH0rbbhus3UvDNZVIw5Zkau1O2JRa/75STghB6eRc1Yr/k/x01nhl8vL7PX8SdAM6+c pgchYm6iXTEYq5OZNYPrgctkS1HuwvH2NDah9bhNTounwHVUHYmpJg+TK3pYbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329274; a=rsa-sha256; cv=none; b=L6rRpDyuotN1MKNBO8GkiyYVSeGjJsEDGppl9r60qtxCQLKY+mNfWSTslQLB9dMorGQGCs xOInErOd8LZs0S09tgpJ2M4xp9dazOd7HjB6e6IKd+qnM2VzbMkcO3Oa9Sp/q5JdBVrasn zOXZv5/Tx7RMRvmOVIK41Cpm8rG8yflH7xsh3BFD5tcMV2tFJJGFZ+5q9cZ48AFBBC9y+h 75FVTx+EpEOG2Z3TQx9bA49+6GZGORnXWVkcuXGzVhFvXWfyHF027JopvSqEAn2neJY9zC PeI7IjfyHzm4O9uTjHcsGvHSbXWawBDcCRUp3DjQOSHp8Lqeu3/Ichj9CMfcwQ== 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=1770329274; 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=CKRG/cKhQQtQLg+FiHjTTSHCL3p6BgSUqD4sh2loSpE=; b=Yua957Jvg3XCIHsIb/1YHkQztvdDqOFXk/L1TJFRxN9tz7/rPGZF2Sy5rgis9WvDWNCTk/ zfSrREqmEkvHe9ftBYEGRDaT42Z03AtvygE9SRZn3vpUmVja1lIObPR8uWv4ESmiivUWSQ ZQuJtupzh34AQC0u7eVmSDQtfg2EKeRAmMtkbPWR2hE6M1CF0GJdXdkDZjuAIR/3LSlXr5 V5t6iCC9CYi7KALGwRQ3fIb0nBDiFLt36+hdlNhCwcDaz6V+DCebUaIpdksGHXAcDcaQ5b SWuSETdcT35ttf4rQeOsipJrgiimX7EExKIaNoRE4bt68Ijbno0axQfpzmccqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WYk4PQnznj4 for ; Thu, 05 Feb 2026 22:07:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 190ef by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:07:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: aad709182296 - stable/14 - INDEX.fonts: Minor maintenance List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: aad7091822965f8a23f7922a5ab3ce2ef1881f55 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:07:54 +0000 Message-Id: <698514ba.190ef.18762093@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=aad7091822965f8a23f7922a5ab3ce2ef1881f55 commit aad7091822965f8a23f7922a5ab3ce2ef1881f55 Author: Alexander Ziaee AuthorDate: 2026-02-01 00:24:22 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:05:29 +0000 INDEX.fonts: Minor maintenance + Mention relevance of this file in the vt manual screen.font entry + The vidfont manual is in section one, not eight + Remove leftover blank line from freebsd tag removal MFC after: 3 days (cherry picked from commit 1f5795b6422a1c6e4b71fd7e93717522ccb822f9) --- share/man/man4/vt.4 | 3 +++ share/syscons/fonts/INDEX.fonts | 3 +-- share/vt/fonts/INDEX.fonts | 3 +-- stand/fonts/INDEX.fonts | 3 +-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/share/man/man4/vt.4 b/share/man/man4/vt.4 index f2b0c4749f38..38bd9503ff50 100644 --- a/share/man/man4/vt.4 +++ b/share/man/man4/vt.4 @@ -274,6 +274,9 @@ backend when it is paired with a KMS video driver. .It Va screen.font Set this value to the base name of the desired font file located in .Pa /boot/fonts . +The font must be specified in the +.Pa INDEX.fonts +file located there. Fonts can be converted for use with .Xr vtfontcvt 8 . .El diff --git a/share/syscons/fonts/INDEX.fonts b/share/syscons/fonts/INDEX.fonts index 3dc1f74f2bb0..104c260485f3 100644 --- a/share/syscons/fonts/INDEX.fonts +++ b/share/syscons/fonts/INDEX.fonts @@ -1,6 +1,5 @@ # -# -# database for vidfont(8) +# database for vidfont(1) # # Format :: # diff --git a/share/vt/fonts/INDEX.fonts b/share/vt/fonts/INDEX.fonts index dee9e855c42e..d398358299a3 100644 --- a/share/vt/fonts/INDEX.fonts +++ b/share/vt/fonts/INDEX.fonts @@ -1,6 +1,5 @@ # -# -# database for vidfont(8) +# database for vidfont(1) # # Format :: # diff --git a/stand/fonts/INDEX.fonts b/stand/fonts/INDEX.fonts index fc035c6b2e4e..d4287a570863 100644 --- a/stand/fonts/INDEX.fonts +++ b/stand/fonts/INDEX.fonts @@ -1,6 +1,5 @@ # -# -# database for vidfont(8) +# database for vidfont(1) # # Format :: # From nobody Thu Feb 5 22:07:55 2026 X-Original-To: dev-commits-src-branches@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 4f6WYm16dNz6RHmR for ; Thu, 05 Feb 2026 22:07:56 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WYl5Xk8z3YpY for ; Thu, 05 Feb 2026 22:07:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329275; 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=JcENwIDcFejEZwJy4k13H8IS+NH0KQDCQEHwA3uOq/o=; b=gNRSvhJK+DMo0Cq3StKjdZHWWGitQkaTxkXcSijfXZBvcEHkrQyQdtYF55cWyFngMJRzry 5aI5ZHimOD5NRGmaumaLj4ViRUaHGYRHyPRMwtG9LFBVufQ+8IhJFzwmCozrueBJ8p3X1k uJe9x+wi2KvBdeJKjrigJH5N81Ntpj9KZYXZDeM7VJwQXq6cwUUEE3H31kVBMgjYgiQceg C9gRON9O8AmTKUcRiP8HtneKxFReKk7VqurqZUOuHp9RK1ObNMbTi+W9WqBJHNTTQF0qsR Piyaxw56opfvRVXlJ8Zs/bpW1SDBehPazNKdreChRXXGx1yDZZYsx6/DOi7JSQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329275; a=rsa-sha256; cv=none; b=scwJly2sHx/L2s+FNqiE3JZR3Gba8zLCQPkBmsv3Yn86QV/bCfrY5+Q72vUtGcMfoZJm/A K4Cz2jzebG0QvdWn8UwvPQmRtVtzt5TMsF5FF30MRbXVYoDzNyyKu3pwXzCW+pj1WLYfja 5oQHBQLIEQT9OzV/e5t2QbpcCBIwlDWXkFntRtmanhdkkDbjEl55SF69ZTsHBkMSZcs0l/ nEYwWaRRCwLsmUbvH4UCl7syd5JCYiB5l9nnAESu/jOk6Um0i/TJSCvgX+FsMiTvJjz0Fk aN749dY0T3/qzKs6PeIzSMXKzZYzL628sZhlo9KV8VxaD13ZjSAzhoglOfpyuA== 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=1770329275; 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=JcENwIDcFejEZwJy4k13H8IS+NH0KQDCQEHwA3uOq/o=; b=ruBFkLKVl7wrosLvo7a4cb7+tTSnFQH2BODIudNRRxtkc8HBr8GrYhYhytj1yNuU1/5Px4 X8ptUlaCtBEBRx5Rdudb+xiO2K1xGg8ZqVGVdw/xDWk6+OLJutrKqEOcK7RSRVzMfZqytA bcHYQYr4W049hzUBpF/UwcpLbD3E9D/8v+9VCap0uachLbGv2AjLhb5nvu11qdMEVMYRwZ psYez5fSztRoaleOqA+vbKckJGo/ViZpvFq9Apv79rTa3STk2JCKJ7ndh2AiPIPrfYFmn7 dBiKG9Eep/vW4lldMZ90e9Fwh3zm1HNh8FIuvM/DzHhdwv6U/6mxSe/4/Erfjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WYl55g3zp3H for ; Thu, 05 Feb 2026 22:07:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a0d7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:07:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: a0cb72d141ff - stable/14 - examples/mdoc: Remove document description quotes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a0cb72d141ff4d2aada1620c898a9236535a945c Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:07:55 +0000 Message-Id: <698514bb.1a0d7.3eac7586@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=a0cb72d141ff4d2aada1620c898a9236535a945c commit a0cb72d141ff4d2aada1620c898a9236535a945c Author: Alexander Ziaee AuthorDate: 2025-12-17 17:15:53 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:06:17 +0000 examples/mdoc: Remove document description quotes Quotes in roff do not work the way quotes in shell do, remove them from the examples to hopefully lead less people astray. MFC after: 3 days (cherry picked from commit 067b62bd5834484c927038aff28d36da6c5d6cca) --- share/examples/mdoc/example.1 | 2 +- share/examples/mdoc/example.3 | 2 +- share/examples/mdoc/example.4 | 2 +- share/examples/mdoc/example.9 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/share/examples/mdoc/example.1 b/share/examples/mdoc/example.1 index daffb8bc0422..8305cf45944c 100644 --- a/share/examples/mdoc/example.1 +++ b/share/examples/mdoc/example.1 @@ -10,7 +10,7 @@ .Os .Sh NAME .Nm example -.Nd "example command manual page" +.Nd example command manual page .Sh SYNOPSIS .Nm .Op Fl abc diff --git a/share/examples/mdoc/example.3 b/share/examples/mdoc/example.3 index 22c398e0491c..a1e47b34064b 100644 --- a/share/examples/mdoc/example.3 +++ b/share/examples/mdoc/example.3 @@ -10,7 +10,7 @@ .Os .Sh NAME .Nm example -.Nd "example library function manual page" +.Nd example library function manual page .Sh LIBRARY .\" Note: list of available libraries is available in mdoc(7) .Lb libc diff --git a/share/examples/mdoc/example.4 b/share/examples/mdoc/example.4 index e627f81af530..0b9e856b01ed 100644 --- a/share/examples/mdoc/example.4 +++ b/share/examples/mdoc/example.4 @@ -10,7 +10,7 @@ .Os .Sh NAME .Nm example -.Nd "example device driver manual page" +.Nd example device driver manual page .Sh SYNOPSIS To compile the driver into the kernel, place the following lines in the diff --git a/share/examples/mdoc/example.9 b/share/examples/mdoc/example.9 index f105f7465f2c..3e56aa4ad89c 100644 --- a/share/examples/mdoc/example.9 +++ b/share/examples/mdoc/example.9 @@ -10,7 +10,7 @@ .Os .Sh NAME .Nm example -.Nd "example kernel interface manual page" +.Nd example kernel interface manual page .Sh SYNOPSIS .In sys/example.h .Ft int From nobody Thu Feb 5 22:10:52 2026 X-Original-To: dev-commits-src-branches@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 4f6Wd92BMMz6RJ18 for ; Thu, 05 Feb 2026 22:10:53 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Wd85Z65z3bj2 for ; Thu, 05 Feb 2026 22:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329452; 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=sVp3Nuk+SoxEGBpIXegF8MuxhpEp8uadB1mXxpS+wSA=; b=XHApDbgIZzzqhbLpcGgeGdmV2akT8/PAsOypOV2NOWFEDtsoZ3enjP/d9uszWbl7cpphNs mQTWZp/nK8GjMaM0W89CxpuqQl/m9wJYSVIW9WA1gMPsVhUyhVdnv5zHFpjqd/c/CZDB9E 9AHEjOM0tcW7UlPVN6v9PMKLoRn0CuGpKI1/328m7SX1of10ojlHAM0fbYb8PrLo+94kNq zmb3qHXYNuqBPP0L5XAmuwSY6cRQF/xkLmOUAMPGnU3X2DWTBm83jzgu90lUrMUrZKnbu9 eh4tsT0VkBgVB7wsL8C5kJO4Xt3Oa9gb+cnIA2B4ha5uLmuq9TrkN0BGYTeY6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329452; a=rsa-sha256; cv=none; b=l2tvTVejb8W5nDhJm9hieex6nL1JG/skHxG/YCqB2c2r9PNnPBsQtJNpzlT6pUnnJBewoQ /NaXMoqbNvq5OOtTkmiNOUURcSIDr09a2EHgdgUQYtvgvg3x0AU0oyL4DTe8/j8uUl875e mw8MT0EuSjJAl8EN+GF5UdZywwlmxKHUWM/75vVQMN1bFeAPU/+UGg4eVCGu/AocsViMn4 oJYzpnpCXxEeO/GvYKFYWuJQGYnrMbmYuZPyIyUrnGiooeJkU7xGeS1fAjMaHjC4E4ELXH ZbsxJPQNqKcaWDbShshI1Iq4h0HIVkfBzCUwlp0rZbn91tmKNGEhDxAEvmghkw== 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=1770329452; 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=sVp3Nuk+SoxEGBpIXegF8MuxhpEp8uadB1mXxpS+wSA=; b=XgqSnW5DDdokTY3jjiiy9zbykx9b0VgtoLswMoE43D/Vgr3OVinuuuc37F8hnzdawULR+m x8bK1us98Mdly+Z0m/gciShwi9/cIvA/Cz2KxanUXH1c5/RU+MWod8dIoRJNheLlL6Oiw1 K1PZqSvMNfJUvRj2EK0koKbSs9KUy4G+ta38ctbWMAE2Cesv2vqWjrER6PGPGk3XphnFkb TNNETMPkcB0aiEBb9qps75149lwMEEvu06BU+mhh4dAjxVZq57oqCDHp/c+0uUtzYe1KEB Osri4fbSuzj/QterkphhN0KgerS+GwHkWHKDp7zS8WWwdIhGhuPvDmAXtqdUeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Wd84kNfzpBt for ; Thu, 05 Feb 2026 22:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1bf2a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:10:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 1a7efb781f9d - stable/14 - blackhole.4: Describe better List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1a7efb781f9d6e40ab266ca3722242cd143f4aaf Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:10:52 +0000 Message-Id: <6985156c.1bf2a.418a4b38@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=1a7efb781f9d6e40ab266ca3722242cd143f4aaf commit 1a7efb781f9d6e40ab266ca3722242cd143f4aaf Author: Alexander Ziaee AuthorDate: 2025-09-23 19:05:18 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:08:34 +0000 blackhole.4: Describe better Rewrite the document description to fit cleanly on one line and omit crossreferences, to clean up apropos results. MFC after: 3 days Reviewed by: tuexen, cperciva Differential Revision: https://reviews.freebsd.org/D52695 (cherry picked from commit 38f6a4467419f5b2344d184baa454c126e2919a9) --- share/man/man4/blackhole.4 | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/share/man/man4/blackhole.4 b/share/man/man4/blackhole.4 index bb955fd4497d..56b1b52b9212 100644 --- a/share/man/man4/blackhole.4 +++ b/share/man/man4/blackhole.4 @@ -10,15 +10,12 @@ .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" -.Dd May 25, 2024 +.Dd September 23, 2025 .Dt BLACKHOLE 4 .Os .Sh NAME .Nm blackhole -.Nd a -.Xr sysctl 8 -MIB for manipulating behaviour in respect of refused SCTP, TCP, or UDP connection -attempts +.Nd quietly drop refused SCTP, TCP, or UDP connections .Sh SYNOPSIS .Cd sysctl net.inet.sctp.blackhole Ns Op = Ns Brq "0 | 1 | 2" .Cd sysctl net.inet.tcp.blackhole Ns Op = Ns Brq "0 | 1 | 2 | 3" From nobody Thu Feb 5 22:10:53 2026 X-Original-To: dev-commits-src-branches@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 4f6WdB1q8Qz6RHk6 for ; Thu, 05 Feb 2026 22:10:54 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Wd95zGBz3blc for ; Thu, 05 Feb 2026 22:10:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329453; 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=rqPLeiIREE3tMzHF38qB2omHg3Chd8kXHGAhnyk0Awk=; b=p/za9rkLisbVLt8WdYN8Z+6XPwOdRMu1rWMjwW12ZgmxjeFbLrOO9WtCKV+miGC4TvlRbX P6T8y9kcRk/NZb3MbIeRZ8Ffo12jp+TdYTLUkasmWzWSCNsXzRWgenASptrLeDXgRkJCxc dCcIjKb0Zy0QqJavcoXbCy2ZVk7HPERW01vgLmt9rf7WTDd6FsSxIG3DgCkYGjVrKnHX9y eCUVNuX2yoHOSOxwzfUmjBSBkL5/wSechyorYArYfKFc8HjqeZgf81WxEbXELAXn9X9SkH 6+KSu/BIY36GUutumKnohSHQbBdDhdMq9rlCr7eDnCV1x0M2DBQnMU/xk3HSnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329453; a=rsa-sha256; cv=none; b=w8eyzglaEM1ycoSSsJJxxQdKfldwSVCICy9RY4uvRl8ghKOfWugMKM9kKpiH9qGdhW59O4 nkPQqOzE6OWXbO8gJloLcyljYVbCklQfHyWBvkR2v55qmtJ0SW9emjuTx1t45oBktQiXZ5 Tmr+fC566xZX7r4a0YIVvMSDsvqmeZZBpLIHmT3vJB81aJdqt22gBgtPICsamMDb0X5ee8 zZwPuQKuZH7Q81OhduPPf6NnnuiZhhe+YFuPSBwNJ5kIHxqq169YGLkDs7vZ1L/DnE5F+j 7VaB5HNeLqAXfRd6HbR/FHGiM2dYJGCp1LTWpHbWduv1BpKKuKMH47NzwtDR9A== 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=1770329453; 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=rqPLeiIREE3tMzHF38qB2omHg3Chd8kXHGAhnyk0Awk=; b=I7K7J/JB4xqOIryB7OiE4WIJ1rzsPnhZo4zllNGE5kQ+6nY9A9DgFBt0likjyHpfNcliks VkjWTKK3Uafge4yIOUbGx6fAX0GTx7IYs6+Ux+F2Zwnkes8rMJKoVN3SyoHyW7JYvFbRa6 PXh7j+TNMp62z6TN1kS0vGRs6mEVgUxZq7Ax3pSTL9AXPWHUnMhTeReMu2/yiSdzIivgBQ BryUQ7FVKjKDGkQgRNjaIrrm3xn2jr7fWvxeABwqvdg6MmlTeH9pHX9b0Mip+HpYGN+8+p HJKY6kUJGgm89BgFfjpLSC15IwWEux3Fo3Famhz4+eklef4oSF1LRi9JHtnL+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Wd95SFRznW6 for ; Thu, 05 Feb 2026 22:10:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19acf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:10:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: e5f941466b58 - stable/14 - blackhole.4: Describe even better List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e5f941466b58ea05d703bab940e3ae85eb3f0f98 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:10:53 +0000 Message-Id: <6985156d.19acf.7672438b@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=e5f941466b58ea05d703bab940e3ae85eb3f0f98 commit e5f941466b58ea05d703bab940e3ae85eb3f0f98 Author: Alexander Ziaee AuthorDate: 2025-09-24 12:22:47 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:08:48 +0000 blackhole.4: Describe even better Rewrite the document description to omit ficticious "UDP connections". Fixes: 38f6a4467419 (blackhole.4: Describe better) MFC after: 3 days Reviewed by: tuexen Reported by: tuexen, zi Differential Revision: https://reviews.freebsd.org/D52696 (cherry picked from commit f9a71840d8ee0cfff4ec983a589be53648e7017d) --- share/man/man4/blackhole.4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man4/blackhole.4 b/share/man/man4/blackhole.4 index 56b1b52b9212..afa1c37709f3 100644 --- a/share/man/man4/blackhole.4 +++ b/share/man/man4/blackhole.4 @@ -15,7 +15,7 @@ .Os .Sh NAME .Nm blackhole -.Nd quietly drop refused SCTP, TCP, or UDP connections +.Nd quietly respond to refused SCTP, TCP, or UDP packets .Sh SYNOPSIS .Cd sysctl net.inet.sctp.blackhole Ns Op = Ns Brq "0 | 1 | 2" .Cd sysctl net.inet.tcp.blackhole Ns Op = Ns Brq "0 | 1 | 2 | 3" From nobody Thu Feb 5 22:10:54 2026 X-Original-To: dev-commits-src-branches@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 4f6WdC1Ybpz6RJ1D for ; Thu, 05 Feb 2026 22:10:55 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WdB6fpxz3btt for ; Thu, 05 Feb 2026 22:10:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329454; 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=+b7BnJmacMuOHJ6EPDVWJ8TkB9F5cQuM/l9mA/+7V8Y=; b=ZJ5LFrNfXEXFz/trfBFCr6AfTs86tE7142g/DPhlPOfo85IJr7jIn7ul6RDCwH92mS0o8L uZo37Q8vHlucdZdrVJuv4Xsf/t9wnTvUgUeXrPzINhEKODbWvJd0t4OeuNDTcsYNCgKqGM 7VUWKkAORgWYNt/M7dYiOfuwppKtLXDEajUlPpz0SxUlTOpmWEp3fUO8jr64wZKj24AtaY 9dY1Bw0qqVc1JSLX+3NBk6OIGj7q/S1v8GJlP8Ampm84bsld/GxU900Xw3vJTLyaPdum76 DFpi3nHhaAs4CrJJvhCEjkwD4XoZgGhTvgMJ2p5qhAx+NcNsleFE7cq3szQj6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329454; a=rsa-sha256; cv=none; b=YXkav1a2UihejUNN0eIRVZtc3rGYSS4Z9XHdD1cE7tztM0zI7/lC/PlXURV8wnIjPuhwpQ 8rUbv8EJYkTOa6pw5JH6tuyHHVtrgjYHmTodHkuXxuFUbt6Wn5ZNQdMJVKYBcxmMZGeNjF xJaHZVppAMUc94Z+wx1awlRR+K62Oeou5JQi+7lqEVt6f52UNNtUIRs4IVNmR6tKIlHkHd SBTXCUqk5VlK+HMmt9whM3ABhTB4HGSKaQtLoXC+4Gj5B7EA0+cBlNMDSzgKB2avLoPR2F i6hPTwPmWqDajkL0fmjQGLBbefJx8GiTgdBs6kfdCLep3fGWwD6aPglLLHw0OA== 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=1770329454; 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=+b7BnJmacMuOHJ6EPDVWJ8TkB9F5cQuM/l9mA/+7V8Y=; b=VdVW+2rBuFUqDu+LO9Mskg52oIffQrGVl/HOALThS+wP8mSBuexieF2LNDcbkWGkebe1e8 kRLx7ri98CDg3QcpO+32V+oS8dS1keCob3rirx0/skKCa0VzGi+tOnNg2sx73fTeo2P6LE zMbOIB+HHBDaZUYYLRPjZRr+pmCMcD+a3kVqekg1DiGfPqTc/c92TZKytcJIIVfs2a02H7 dDJJ3nkuMDKdrc+kJkPrzXfQVrPR8iEGUON8Ww4v0DRLkmzZ6QRYqB1RGiUG2QzsjaGJkB IMWyJYgY9Mm9deQScefWclzuKEoxQ+XMusNHO1actIvolcFogQjRdBCDKjwUgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WdB6BqwznPc for ; Thu, 05 Feb 2026 22:10:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1bf2e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:10:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: e829846c2f59 - stable/14 - blackhole.4: Describe even better, take two List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e829846c2f59fd7c7aa7652cb6ca9d9303e0d382 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:10:54 +0000 Message-Id: <6985156e.1bf2e.4fbe12f1@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=e829846c2f59fd7c7aa7652cb6ca9d9303e0d382 commit e829846c2f59fd7c7aa7652cb6ca9d9303e0d382 Author: Alexander Ziaee AuthorDate: 2025-09-24 12:26:14 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:08:48 +0000 blackhole.4: Describe even better, take two I meant to change this to tuexen's suggestion upon commit but failed. MFC after: 3 days Fixes: 9e02de4ad6c3 (blackhole.4: Describe even better) (cherry picked from commit 1a9ec72022ddce0cacb9aedda3d69aa95cd45ed0) --- share/man/man4/blackhole.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/blackhole.4 b/share/man/man4/blackhole.4 index afa1c37709f3..777a38eedc86 100644 --- a/share/man/man4/blackhole.4 +++ b/share/man/man4/blackhole.4 @@ -10,12 +10,12 @@ .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" -.Dd September 23, 2025 +.Dd September 24, 2025 .Dt BLACKHOLE 4 .Os .Sh NAME .Nm blackhole -.Nd quietly respond to refused SCTP, TCP, or UDP packets +.Nd quietly drop refused SCTP, TCP, or UDP packets .Sh SYNOPSIS .Cd sysctl net.inet.sctp.blackhole Ns Op = Ns Brq "0 | 1 | 2" .Cd sysctl net.inet.tcp.blackhole Ns Op = Ns Brq "0 | 1 | 2 | 3" From nobody Thu Feb 5 22:10:55 2026 X-Original-To: dev-commits-src-branches@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 4f6WdD25Xrz6RHpp for ; Thu, 05 Feb 2026 22:10:56 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WdC71Kyz3brL for ; Thu, 05 Feb 2026 22:10:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pgErAicjuAO6jJutfNexsWC+R4uM9FpwriYyvir0Rc8=; b=B6iAt/gNljJyi7t8C7n8vneMiVKSUr7onC6vL+HuWkjy4At5nkI4jP8wi2FqE1b51pvQcu RgYYorEIXrwsD35vqepDvf43YobVzXjefQXD7InmlIzN585i4lh0KGZOpcf12nn9ZTtL1t Yy0PJhJ4lBX4CYhm2ZoTZ4LvCEDUK/pOKfWX45oEHfduBRTqWi85aFZh5gwY9Gz/XPkyet ioRbrzGysd5icv+kCVUdDMOy5Z2mWLZJXaHEAIp2J9flXw0p6C0z/4iRg0v/pNMzDnp5dW UWrhmkGilEIuBdo5bao0PzF3adnpLtZcpnDZzk3kLXZN32byi1rkIANrloZ1EA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329456; a=rsa-sha256; cv=none; b=LDy7hiPBfAZ4o7CTYaZ4lrM8sw55bAPXUXrgpw/UKw6zIPAPORHL6QdqJarq/9IU1KILbN G9UI8VKwWzXLOA3Efzwuw0UV+p7u0Hy08NgKaFfQU3KmPU0kyDJS/oiqAHBcSCfBCrvAEi sjvk88mwSK0+2QXdLkviKaJxthauSa2/5TxNG8UwBQMZddeFY3jIUMOi3RLzQc09X+4pQ+ GeVKsySHEDC+w0W10DDAhQCjMQiNxrXsGXgJlPCkOp7eBBODr9UJ7tD7gbq6xQc2WUtfdF 1EGH2ubAN+VA6svYhLNS2Qmm2bEHaqMLio/36Gr3usMCjb24c7acrCkgOc2sBA== 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=1770329456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pgErAicjuAO6jJutfNexsWC+R4uM9FpwriYyvir0Rc8=; b=eDecrQN0m5M+Fi2tmBwNBCshypl3ZFvBwNFapc1A4YE3rzsio9CElHU49/w+pZUZhQz1kR 4FWGMUK+fuU/oaokrnpSCxeqDaRL8mqb6FPmCpc8Ri01T6pR/PGcDKMLU9y5eHyvA5qzDt cSx3L5qoEXm2Ux3T8Dke1MQ12sp0wIP4bc7C41cFNT7rB0+9k9ayU+Pht88NRmFWyAxFpx fAAJpokDrQXeYcwLsomejud24uixRqyPVJl1ckWj4uJaAYzY1Zn393s49fr+I65F3loSkD xuEb7mpj3lNkiFO+aWYtI3jud3A6toCC3aKmkIv6DqdBHhkKni1yGAAPFTMSIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WdC6b3Bzp62 for ; Thu, 05 Feb 2026 22:10:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47ef0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:10:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Minsoo Choo From: Alexander Ziaee Subject: git: 9bdba7081f83 - stable/14 - kerneldocs: Update latex package List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9bdba7081f83ee25a00f5f1216306b40be29636c Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:10:55 +0000 Message-Id: <6985156f.47ef0.cb8a16a@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=9bdba7081f83ee25a00f5f1216306b40be29636c commit 9bdba7081f83ee25a00f5f1216306b40be29636c Author: Minsoo Choo AuthorDate: 2025-09-25 02:12:37 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:09:02 +0000 kerneldocs: Update latex package MFC after: 3 days Reviewed by: ziaee Signed-off-by: Minsoo Choo Closes: https://github.com/freebsd/freebsd-src/pull/1853 (cherry picked from commit cd813380ad832a0bfa5b99f22012092cc9d373b1) --- tools/kerneldoc/subsys/README | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/kerneldoc/subsys/README b/tools/kerneldoc/subsys/README index 6679d5cb9055..2ad9a00625ae 100644 --- a/tools/kerneldoc/subsys/README +++ b/tools/kerneldoc/subsys/README @@ -20,12 +20,12 @@ The following environment variables can be used in the Doxyfile: For the PDF generation you may have to change some limits in the latex configuration (the build may fail and an error about e.g. "pool size" is -shown), for print/teTeX this is done in +shown), for print/texlive-full this is done in /usr/local/share/texmf/web2c/texmf.cnf Programs needed to generate the API docs: - devel/doxygen - - print/teTeX + - print/texlive-full - graphics/graphviz -- From nobody Thu Feb 5 22:10:57 2026 X-Original-To: dev-commits-src-branches@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 4f6WdF3qtsz6RHy5 for ; Thu, 05 Feb 2026 22:10:57 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WdF1DN5z3bvV for ; Thu, 05 Feb 2026 22:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770329457; 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=5JV/B3ikMew8EYurDWiqtNrNE1XvNxaaxdqO+ADcUWI=; b=Zwc31lV92lvjHkxM2EUilIO9J5sM2YvTY0G39LsdejwemvCqgobWuxSys0Njt1nFbMePtn HA8kyzNUBJ6kgKlqdnuBzeGxp7TV2QeTAAjfR0esd09NJoS2yxrhYPHoP3944Sc5M7yYm1 Mrnvrxb/A2ECL/xhqGuCQpTtfab4Sxz/XyUFJ/uld3LDAs3MdczDNG51KZChIgSxTwsw/h tMCAjwRlHz5K+SQnBgrOSBba5cPFWnC6yySNUSVnK2uvkkRz9AjLbe9YROPESxRLlEdR2X o9H2eOkiJz0Rsk6MUYJKj93JiWVm5d/BEkM2KYCWuyT9POd9R669aSfYv5rGgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770329457; a=rsa-sha256; cv=none; b=U7B3Erd9uPCwGKrpepza0jbRoDiBmV9G42F1OtRCe+lUrhRh2U82ifo82d2rRfLTD+S7lH mjI5uvljpPNGyrq0HLj43D248g2n5VufUJMxIneKZrSaGXC4QQNJjC7u4OHuw4lfDXBkDW XV3N7kKj92DOCBhMkQ8W7HqjFxO36HWLwUE1z6+g4pwZvN9TWvGdTd0zeGcNRVASOiYYzB 05Yov1Bnj8jeHT8NsOMpET35kv963xX9JR0lgNNj9VovKNaN7BbBLYOD7DrTuGwHxh4fAZ viRqfwWgWZNDWwAn9Qvq+3CAkEuUdoJ68u6tdSYwrU53VQoSAVl3WG33Yfssqw== 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=1770329457; 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=5JV/B3ikMew8EYurDWiqtNrNE1XvNxaaxdqO+ADcUWI=; b=jxKRbOpqJe2sZllj9MC0qaztNOqraDdrC0hJPgsoGvkEYbm+tepkDFdyVbQAcFqlmqkgr9 cwDv3XA/+qdr1VQlq517m9tHscgavE065b2ik67BZwefUBn2OVzdiRC+s6ulJijklKq8DF cnm5CDNKmuoqz1XmEdd9Uzb7ZoC5kvtYzX7BIujJVXhHh1NGi5QU+RqLLFS76ai+AZwrRp D9L8Fnfluu7GZJ/CS5ONho6sXp2S3LUF2ZH96LuXFoz2jnGmGxQNE8c66OUwcxCXgC738I /th9/DF7W/ZExKvZeKzh/Kthx5AxHFI00/kBqlqEL4bKG2Zp5sBqoXVbhK5mNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WdF0H6Tznx7 for ; Thu, 05 Feb 2026 22:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47ef5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 22:10:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 2f5bea924d08 - stable/14 - stand/man: Fix mdoc typos for emails, tag spdx List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2f5bea924d08a6528dc6c25b2932105f7f235a3a Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 22:10:57 +0000 Message-Id: <69851571.47ef5.310f30fc@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=2f5bea924d08a6528dc6c25b2932105f7f235a3a commit 2f5bea924d08a6528dc6c25b2932105f7f235a3a Author: Alexander Ziaee AuthorDate: 2025-09-18 17:12:19 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-05 22:09:13 +0000 stand/man: Fix mdoc typos for emails, tag spdx MFC after: 3 days (cherry picked from commit a37825313f624121c6f07bc03f9cf655c300885b) --- stand/man/boot1.efi.8 | 2 ++ stand/man/loader.8 | 9 ++++++--- stand/man/loader_4th.8 | 7 +++++-- stand/man/loader_lua.8 | 3 +++ stand/man/loader_simp.8 | 5 ++++- 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/stand/man/boot1.efi.8 b/stand/man/boot1.efi.8 index b6135f8e0e12..2c882a595592 100644 --- a/stand/man/boot1.efi.8 +++ b/stand/man/boot1.efi.8 @@ -1,4 +1,6 @@ .\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2020 Netflix, Inc .\" .\" Redistribution and use in source and binary forms, with or without diff --git a/stand/man/loader.8 b/stand/man/loader.8 index 4fc3bbb7cff0..234eabd571e0 100644 --- a/stand/man/loader.8 +++ b/stand/man/loader.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. .\" Copyright (c) 2021 Warner Losh @@ -115,11 +118,11 @@ scripting language changed to Lua by default in The .Nm was written by -.An Michael Smith Aq msmith@FreeBSD.org . +.An Michael Smith Aq Mt msmith@FreeBSD.org . .Pp FICL was written by -.An John Sadler Aq john_sadler@alum.mit.edu . +.An John Sadler Aq Mt john_sadler@alum.mit.edu . .Pp -.An Warner Losh Aq imp@FreeBSD.org +.An Warner Losh Aq Mt imp@FreeBSD.org integrated Lua into the tree based on initial work done by Pedro Souza for the 2014 Google Summer of Code. diff --git a/stand/man/loader_4th.8 b/stand/man/loader_4th.8 index 9e87326f893b..21e907bd8630 100644 --- a/stand/man/loader_4th.8 +++ b/stand/man/loader_4th.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. .\" @@ -576,8 +579,8 @@ first appeared in The .Nm was written by -.An Michael Smith Aq msmith@FreeBSD.org . +.An Michael Smith Aq Mt msmith@FreeBSD.org . .Pp .Tn FICL was written by -.An John Sadler Aq john_sadler@alum.mit.edu . +.An John Sadler Aq Mt john_sadler@alum.mit.edu . diff --git a/stand/man/loader_lua.8 b/stand/man/loader_lua.8 index 0aa467237266..c60de9417abc 100644 --- a/stand/man/loader_lua.8 +++ b/stand/man/loader_lua.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. .\" diff --git a/stand/man/loader_simp.8 b/stand/man/loader_simp.8 index 49214e78b494..2d2d4b80acf5 100644 --- a/stand/man/loader_simp.8 +++ b/stand/man/loader_simp.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. .\" @@ -740,4 +743,4 @@ first appeared in The .Nm was written by -.An Michael Smith Aq msmith@FreeBSD.org . +.An Michael Smith Aq Mt msmith@FreeBSD.org . From nobody Fri Feb 6 00:04:56 2026 X-Original-To: dev-commits-src-branches@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 4f6Z8n1SZGz6RQW8 for ; Fri, 06 Feb 2026 00:04:57 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Z8m6CdYz3rpx for ; Fri, 06 Feb 2026 00:04:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770336296; 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=qZXZkbTiXTDNi+XKdBP9/Rg2EgwymD+MBzgCXPDvoSI=; b=s3gW1+kl/CJx7quAVrf7Hmg0DFaX7bHbdUF/XOCdAvPiAyL8RaiBck6a1WWT0fKJsDGHZv J6DiDahyG6EXIloQvdxn+QSB85P2iO3qT6P4oicOkxHW6wxioopkluCAKHMQVh3dp5rqXR eSkVcUg2gMqmWRwfFEy2YVgLkIsOtb/lGZmg10xSxGEM/vW3/YE1TEGDapCc1ziwBhel2U tqDaaBSYGdUigtGwIC0mCwBM/K7vShY54gxXIjz0NV+xHTOKHAfOkp21FwIkYfb4FaFw6f Q8Rjqoldw/mRFCEOTbZEaRxx8AajaQSxf897gSjCNhOt3qkO6fFNo6CKt3nogg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770336296; a=rsa-sha256; cv=none; b=SK5jSNJXyAfQCTbBKll/FlAplqGzsPGbJTXLDrFq8ufywjkgeyNZLON2XTMg+6jg7NqgsU IJeVOgdtCCwObwVoxcVK4XVhk8LyHlmQfSzHKYIMEcVi+2ikJke5tVx5ACR49EMiNt4pml vbRjVv3Y+K76VLFqjVIp4jC6Vzf3Q0PXuNjnazL0PeI6FXwjdvexf3C1kJLUv2yWSMnJb9 T2wEBI+NYW5zBYokh1vLCtuZEdBvB819aCvLnTDD7AB8HYHc1Uo1iZSvFxZo2WwJLvo/JM rnYR/0NsEf3bpa75SYHcjI28bbpltxVzmQkgJCBB/wdxKNTay39TwhJ4InFsEA== 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=1770336296; 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=qZXZkbTiXTDNi+XKdBP9/Rg2EgwymD+MBzgCXPDvoSI=; b=KL+YhE82Y3ewg6N2+RnVo0xHjeBnR66OrdNN6UEta3oUZ4B/CzGp/eSkdhStOp3oMsxN+h zAo7dzH4G2YO2snA7vk16e6tlfDv0SIk3EUKr9m+jUWjb5+33CjOQEpK/uA13YV2QWH4eD baXkBheHZ045WXXHleGWepeNdMNYxEruZE1wJ6/i3m0UE0wejoKDxKzX6FHXIJoN6FUsHs nKkg2FyVuNnmPJFhpVNITwVqnznbVq3bxrSgT8gLln1McPOWTVxRzoMZhoWN+fbu67+zJm ZlUPngUvydyvOSWaHAAsciYbO/mgdiMz6Y1L7MFjyRzO+D7zHchyGPoZsrzU/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Z8m5VHqzrwv for ; Fri, 06 Feb 2026 00:04:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27c51 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:04:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 9bbe9bfc6633 - releng/14.4 - 14.4: create releng/14.4 branch List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: 9bbe9bfc66333ef134d3a7591f47c528e23c8b89 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:04:56 +0000 Message-Id: <69853028.27c51.5ffa4af4@gitrepo.freebsd.org> The branch releng/14.4 has been created by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=9bbe9bfc66333ef134d3a7591f47c528e23c8b89 commit 9bbe9bfc66333ef134d3a7591f47c528e23c8b89 Author: Colin Percival AuthorDate: 2026-02-06 00:00:00 +0000 Commit: Colin Percival CommitDate: 2026-02-06 00:00:00 +0000 14.4: create releng/14.4 branch Update from PRERELEASE to BETA1 Switch pkg(8) configuration to use the quarterly repository Bump __FreeBSD_version Approved by: re (implicit) Sponsored by: OpenSats Initiative --- release/pkg_repos/release-dvd.conf | 4 ++-- sys/conf/newvers.sh | 2 +- sys/sys/param.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/release/pkg_repos/release-dvd.conf b/release/pkg_repos/release-dvd.conf index d2db295c53c8..ebe29b72df99 100644 --- a/release/pkg_repos/release-dvd.conf +++ b/release/pkg_repos/release-dvd.conf @@ -1,12 +1,12 @@ release: { - url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", + url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/pkg", enabled: yes } release-kmods: { - url: "pkg+http://pkg.FreeBSD.org/${ABI}/kmods_latest", + url: "pkg+http://pkg.FreeBSD.org/${ABI}/kmods_quarterly", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/pkg", diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index a4b3980168cd..b50451c1c674 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.4" -BRANCH="PRERELEASE" +BRANCH="BETA1" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/sys/sys/param.h b/sys/sys/param.h index 03aa6059190a..fb900600b90f 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -76,7 +76,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1403508 +#define __FreeBSD_version 1404000 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Fri Feb 6 00:05:26 2026 X-Original-To: dev-commits-src-branches@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 4f6Z9L2Hkyz6RQ8S for ; Fri, 06 Feb 2026 00:05:26 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Z9L1hFGz3s92 for ; Fri, 06 Feb 2026 00:05:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770336326; 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=/FqGJsXkvXCCnU+x6sSafGC7GiUFGls0MENJ/KfdKUo=; b=JUwlEaTfaVLisS0i6XcfJpIOzul16fudMEprTkSg1lBn2ygveaHT1F5O/W86TNj2slkfLW mlxoi5Dzu/bDhYA09xpOYYW/smv857T9MG8AL48m/PYpqlKyRfdKx8mwTRKiiw7BpYZCM7 UK4+FYNpDc/+8dJDrU4ExeHhbpXuiwBwNPR1I6M+4uJTJSf7gvjU7ZWwpStnRJ+fmPJCGK sz5m2oND4L1e8wc/V2afQfGdUxryKIQDqB617hBZjRtfA1vUUi9hmkTmZXaoMvv0G8tH/C ZOObwz2IZvB0bC7vFkeA28WAUauh4IEPliaUiRM/TbiFA4xca5Yme6XVAH0lGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770336326; a=rsa-sha256; cv=none; b=DM8Gj2RSB/qTGMi7KI5I8jELjl6G/DGkCpuL0x+bUQ6Gh5MS2mEAb3Bi2LeOJchdwBGMpa TUdE3sGDDbISBlFQsbHZu1/gbtX146BC6JXI5CyY/VC0NyWeIcdLcdP7qaaeS5pRJrV99U JDRVSkf3+pbXgVfAVGGlYD/DwOTa6xVxpY+xLz1O6iYe4XJ5CLYZiI3NtHXndV63xP9P8E NoIEGKw+PLfG9NXHSNJRffBRsqdpmobm0TFHg/xn2doSsExO3XpFK6rm3b3hSZAQRjorqD tySKBviMrKsdSXFgUwSKv4hxrQANK4NpZW1lPQm9HMjRl9XHg/jSrUS3XxPDmQ== 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=1770336326; 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=/FqGJsXkvXCCnU+x6sSafGC7GiUFGls0MENJ/KfdKUo=; b=iZzWFZMRroo77OlYnsScfOSDG16HU+Wod0pviqevwJJ5cy21HFgF+RcpWo1mrOI8ppne8Q Hd2iHba2T91iORzcIUh2V82Cdw/ilIc/ENHXv8VsyD+YbwgrUVTwJ2dwxyCa2tfff7j9/6 G+3nL16awZOS0lu+ql8rcTsZUIF4kAHhKfwSQlpOEM7QfX2xonVlXke1+fIPbRv935hxq2 5kA/g7dS9atPhw/nriUKRuI9+SoZxi1FSC9p45ArNh4mZQgJ6kx7WGTUvcCJV02s6+DLZF cAe49W5pr9qWuxxR0GZXIP2s7Bq5CnTiw6Wn0PmcsxaCHCcwJlyehlNtiuWdCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Z9L1Dvyzrqg for ; Fri, 06 Feb 2026 00:05:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2767b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:05:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 567cb65a378f - stable/14 - Post-14.4-branch updates List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 567cb65a378f36caba79672fd72c961b2c99a132 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:05:26 +0000 Message-Id: <69853046.2767b.4bcaea3a@gitrepo.freebsd.org> The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=567cb65a378f36caba79672fd72c961b2c99a132 commit 567cb65a378f36caba79672fd72c961b2c99a132 Author: Colin Percival AuthorDate: 2026-02-06 00:00:00 +0000 Commit: Colin Percival CommitDate: 2026-02-06 00:00:00 +0000 Post-14.4-branch updates Rename stable/14 to -STABLE Bump __FreeBSD_version Approved by: re (implicit) Sponsored by: OpenSats Initiative --- sys/conf/newvers.sh | 2 +- sys/sys/param.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index a4b3980168cd..e90e1ef79902 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.4" -BRANCH="PRERELEASE" +BRANCH="STABLE" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/sys/sys/param.h b/sys/sys/param.h index 03aa6059190a..6930e3387246 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -76,7 +76,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1403508 +#define __FreeBSD_version 1404500 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Fri Feb 6 00:27:57 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgK6yMJz6RRqD for ; Fri, 06 Feb 2026 00:27:57 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgK4lZgz3vVx for ; Fri, 06 Feb 2026 00:27:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WmWexPTwAVcrBarjPICu6u3iweMFvyzMnr81xES/ulk=; b=rleenb82ZE22TZsR0bRV4Br/lXbZlac9gy9/3z0xJLYgP1YBRGeRgoR+UzIA8BsMXO9SHR ufErTkrA12RhrZd8afkG07G9VM0USlZ2NEN4kz2DIdzfTHeJdw99nmYQuDpX5+zmLVPfgY Fz53/zLIQUi9avhayBAbvwNwYXjOgARLagOz07s0gomHzB5d3eocKMoGnjJFgDir0JE9vs dMgOAsrYfjieYHV4NapKAuoPASE5WZNQtBgsGj9MLlWAcCU4FReONuXWDLWar3mtRIR2U4 pzfjdCZs6Csr2x/q5+It8Ul/6/6jsFk0N3QUN/mfGtVyNvO4RGmwpq6KXouhjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337677; a=rsa-sha256; cv=none; b=EEmDUJ9+ThEEnvQ18epOR3wX4izkTWW0RP1vTQJDtecZLAuy0SyoZ+ThFFojYOedOCWyVm OtGUko4UXs3RfkMcY/DqoTICDb2OuoX5oQ7o4iDygkKkq2KOimMSiCkMkSlHXBbc+l6cRN rEsO/jIZuruFw3FkqnBHnHr36SCWBLBzgUVyEPN0hSbhWxcw0Y+l9AdT5NMCzK1VNt3FeV Dk8U3Xx4Xnu89o1mztg2so7n55XLAEDV114Mj/GxP27aGebFiZg45XtjcVSlycw+SNLvcc gMKgoYMH0n1ytKwyqOx5Kz/X3vN5mq2cLnQjpgCo6cyF59H7PUuwtH8RS/WbUQ== 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=1770337677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WmWexPTwAVcrBarjPICu6u3iweMFvyzMnr81xES/ulk=; b=DO+4XFORJWpoF9te9lBLK/VysO3FE2qwkWX77X0rNCg0Xk/RO+gRlPfvSxRnejD0iKcX4f AJKQ+DW2IAd1wb+UQcDiGzhQKFnrCx7nEg/GQ6dNujrfaFdaGD4Skcbf0KDZLvwWyBLExV 2nR6oeiDwdUKiAOnuiufgH0jGoL7CCd9N87RgWXDSR+sY9kc6gDucSXVsW3dtQR8hDrZIy mP8yzZXlAhlY1je067GjipTFluvzAuR7oh62CJUUAmAcJaUlGRzDfUR902e1lVs5fTAZoH eb+liaU65J7oLvynla9WzwZykhB0hVEbXaSzNQKuDxuJyZNtLuG1khYHgtVY5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgK3z3jzsg2 for ; Fri, 06 Feb 2026 00:27:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30be2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:27:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Jose Luis Duran From: Alexander Ziaee Subject: git: 0b90b2f0903d - stable/14 - security.7: Fix typo (triple S) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0b90b2f0903d025373e15daf70b8343ff1616e6d Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:27:57 +0000 Message-Id: <6985358d.30be2.2700183e@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=0b90b2f0903d025373e15daf70b8343ff1616e6d commit 0b90b2f0903d025373e15daf70b8343ff1616e6d Author: Jose Luis Duran AuthorDate: 2023-12-28 03:17:16 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:15:31 +0000 security.7: Fix typo (triple S) Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/955 (cherry picked from commit 2d3d29c29c123803278978a1b9dfc62be39339e1) --- share/man/man7/security.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man7/security.7 b/share/man/man7/security.7 index 0701fd2f8cba..cdb4d066d3e6 100644 --- a/share/man/man7/security.7 +++ b/share/man/man7/security.7 @@ -1058,7 +1058,7 @@ Controls mitigation of Special Register Buffer Data Sampling versus optimization of the MCU access. When set to zero, the mitigation is disabled, and the RDSEED and RDRAND instructions do not incur serialization overhead for shared buffer accesses, -and do not serialize off-core memory accessses. +and do not serialize off-core memory accesses. .It Dv kern.elf32.aslr.enable Controls system-global Address Space Layout Randomization (ASLR) for normal non-PIE (Position Independent Executable) 32-bit ELF binaries. From nobody Fri Feb 6 00:27:58 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgL6X72z6RRMw for ; Fri, 06 Feb 2026 00:27:58 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgL58Clz3vkD for ; Fri, 06 Feb 2026 00:27:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337678; 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=uuAkX4034RhTHcUDryiTeB3V8Xwz4Hc0OTLMxXVH56c=; b=EMtkTjy8tgycCUV7uBh02x+r3Yi1VuMVKWUZtZTeEsejUwpKEOyNgCXDfMQ+BBcwkNat8J 1BPtkaT4KJgYH+HEI94hmDVdMwRokBhJY/fIJ8Tg5t7JO1xx7SNCcu/5mfLdndQnH4iGMg Z17Ko9PqgaklUyTTFfyW7TN7Km1y4FTuKSx9Itm2eXFueiHnbJieesIutY4zhdb2qvMhDA UpOcOd6R8D6kIAukbmgiKQsIGWaU7DvSFI3Hg1lsKL0gRQlrR8gEYftAIMLycXYP1m0S2t Q4E6uUlxG3wzNHrX3Erg1BEzcuI4HyzRBIyEa3UsFcnmgFJNAKorp9homaUbEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337678; a=rsa-sha256; cv=none; b=xwBnabFijPt38zNz88RIVGI3qicwGYLKLeUJC9c7vcu085IchD8GoqcbrIYnfaBhvDK3DH dQ61Zc6104yjfJz9eKPXahZ5fswmXADSxm7B5wzppT9AcWTkj/WHEFQOgRqckB3hoOrfdu eOG5I+rziPRg7QYxTtJg/i2vHIhovszIvg589OCUo5v2TAB3f8pe1IGpPa9C5WLSvfAuO7 o32dwkNbRN5OzVF4rKslMy3BIQuXQo6wt9qLQNDWYQ2WrHhKImfC1Eum3pWHz/3oXBoVnN B8qImaheHTn143LptgZfe5U/UNzoWh5efCgKNRLk2rbwG4f4y93nVo8RuCdeSA== 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=1770337678; 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=uuAkX4034RhTHcUDryiTeB3V8Xwz4Hc0OTLMxXVH56c=; b=X1cPha2c8ae6Tq/wiV8zJrAJLKXatl7C3UgEv4rV6CYDpr2fBxfxlToJJ9UnuT/kf2uzXW f7zAf7yw01jtZcybWcXeXUDL2AyYlErHMDfRA9qla8r6iYhdfEFGq6JY2nfvqf/h0k5rjE 5qZZOFO/zzjLVZ5f+Ds/Isy02ed//cKTF27Ju2GREAPLGrOVJOF84IFzizcQ+P9BTFo2Je iUGzq8cqtJrJ//Bgh697PzleZXFFqodVIMrU/prDtLcDkBlc3uCKrn4pwBy6IiNYg9YOnJ AZuqxXXMb8SQVTOkHpsNJaolfeJNJ/SIVeP0OF8jp5io3ZGZ7san/89y+RMSsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgL4ht2zsg4 for ; Fri, 06 Feb 2026 00:27:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27dfd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:27:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: e11d172209e2 - stable/14 - manuals: Correct some sysctl markup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e11d172209e2c7406ff934d64503ac4ea64b8d31 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:27:58 +0000 Message-Id: <6985358e.27dfd.779f5ea2@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=e11d172209e2c7406ff934d64503ac4ea64b8d31 commit e11d172209e2c7406ff934d64503ac4ea64b8d31 Author: Alexander Ziaee AuthorDate: 2026-01-06 16:02:24 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:15:31 +0000 manuals: Correct some sysctl markup This enables additional searching the manual by sysctl variable. This syntax is standardized in style.mdoc(5). Reported by: bapt MFC after: 3 days (cherry picked from commit 75866d71e8d93fe1a1ff469b8a9c6c6c9908a6c8) --- lib/libc/sys/chroot.2 | 6 ++--- lib/libc/sys/ptrace.2 | 10 ++++---- share/man/man7/security.7 | 58 +++++++++++++++++++++++------------------------ usr.sbin/chroot/chroot.8 | 2 +- 4 files changed, 38 insertions(+), 38 deletions(-) diff --git a/lib/libc/sys/chroot.2 b/lib/libc/sys/chroot.2 index a1cf1adebb97..fa206d04d4fc 100644 --- a/lib/libc/sys/chroot.2 +++ b/lib/libc/sys/chroot.2 @@ -59,7 +59,7 @@ It should be noted that has no effect on the process's current directory. .Pp This call is restricted to the super-user, unless the -.Ql security.bsd.unprivileged_chroot +.Ql Va security.bsd.unprivileged_chroot sysctl variable is set to 1 and the process has enabled the .Dv PROC_NO_NEW_PRIVS_CTL @@ -107,7 +107,7 @@ will fail and the root directory will be unchanged if: .Bl -tag -width Er .It Bq Er EPERM The effective user ID is not the super-user and the -.Ql security.bsd.unprivileged_chroot +.Ql Va security.bsd.unprivileged_chroot sysctl is 0. .It Bq Er EPERM The effective user ID is not the super-user and the @@ -116,7 +116,7 @@ process has not enabled the .Xr procctl 2 . .It Bq Er EPERM One or more filedescriptors are open directories and the -.Ql kern.chroot_allow_open_directories +.Ql Va kern.chroot_allow_open_directories sysctl is not set to permit this. .It Bq Er EIO An I/O error occurred while reading from or writing to the file system. diff --git a/lib/libc/sys/ptrace.2 b/lib/libc/sys/ptrace.2 index 7aa24a3f820b..a6798bb22b27 100644 --- a/lib/libc/sys/ptrace.2 +++ b/lib/libc/sys/ptrace.2 @@ -148,31 +148,31 @@ Sometimes it may be desirable to disallow it either completely, or limit its scope. The following controls are provided for this: .Bl -tag -width security.bsd.unprivileged_proc_debug -.It Dv security.bsd.allow_ptrace +.It Va security.bsd.allow_ptrace Setting this sysctl to zero makes .Nm return .Er ENOSYS always as if the syscall is not implemented by the kernel. -.It Dv security.bsd.unprivileged_proc_debug +.It Va security.bsd.unprivileged_proc_debug Setting this sysctl to zero disallows the use of .Fn ptrace by unprivileged processes. -.It Dv security.bsd.see_other_uids +.It Va security.bsd.see_other_uids Setting this sysctl to zero prevents .Fn ptrace requests from targeting processes with a real user identifier different from the caller's. These requests will fail with error .Er ESRCH . -.It Dv security.bsd.see_other_gids +.It Va security.bsd.see_other_gids Setting this sysctl to zero disallows .Fn ptrace requests from processes that have no groups in common with the target process, considering their sets of real and supplementary groups. These requests will fail with error .Er ESRCH . -.It Dv security.bsd.see_jail_proc +.It Va security.bsd.see_jail_proc Setting this sysctl to zero disallows .Fn ptrace requests from processes belonging to a different jail than that of the target diff --git a/share/man/man7/security.7 b/share/man/man7/security.7 index cdb4d066d3e6..20334edef6c3 100644 --- a/share/man/man7/security.7 +++ b/share/man/man7/security.7 @@ -956,7 +956,7 @@ briefly listed there, together with controls which enable some mitigations of the hardware state leaks. .Pp Hardware mitigation sysctl knobs described below have been moved under -.Pa machdep.mitigations , +.Va machdep.mitigations , with backwards-compatibility shims to accept the existing names. A future change will rationalize the sense of the individual sysctls (so that enabled / true always indicates that the mitigation is active). @@ -966,20 +966,20 @@ Backwards compatibility shims for the interim sysctls under .Pa machdep.mitigations will not be added. .Bl -tag -width security.bsd.unprivileged_proc_debug -.It Dv security.bsd.see_other_uids +.It Va security.bsd.see_other_uids Controls visibility and reachability of subjects (e.g., processes) and objects (e.g., sockets) owned by a different uid. The knob directly affects the -.Dv kern.proc +.Va kern.proc sysctls filtering of data, which results in restricted output from utilities like .Xr ps 1 . -.It Dv security.bsd.see_other_gids +.It Va security.bsd.see_other_gids Same, for subjects and objects owned by a different gid. -.It Dv security.bsd.see_jail_proc +.It Va security.bsd.see_jail_proc Same, for subjects and objects belonging to a different jail, including sub-jails. -.It Dv security.bsd.conservative_signals +.It Va security.bsd.conservative_signals When enabled, unprivileged users are only allowed to send job control and usual termination signals like .Dv SIGKILL , @@ -987,13 +987,13 @@ and usual termination signals like and .Dv SIGTERM , to the processes executing programs with changed uids. -.It Dv security.bsd.unprivileged_proc_debug +.It Va security.bsd.unprivileged_proc_debug Controls availability of the process debugging facilities to non-root users. See also .Xr proccontrol 1 mode .Dv trace . -.It Dv vm.pmap.pti +.It Va vm.pmap.pti Tunable, amd64-only. Enables mode of operation of virtual memory system where usermode page tables are sanitized to prevent so-called Meltdown information leak on @@ -1004,25 +1004,25 @@ See also .Xr proccontrol 1 mode .Dv kpti . -.It Dv machdep.mitigations.flush_rsb_ctxsw +.It Va machdep.mitigations.flush_rsb_ctxsw amd64. Controls Return Stack Buffer flush on context switch, to prevent cross-process ret2spec attacks. Only needed, and only enabled by default, if the machine supports SMEP, otherwise IBRS would do necessary flushing on kernel entry anyway. -.It Dv hw.mds_disable +.It Va hw.mds_disable amd64 and i386. Controls Microarchitectural Data Sampling hardware information leak mitigation. -.It Dv hw.spec_store_bypass_disable +.It Va hw.spec_store_bypass_disable amd64 and i386. Controls Speculative Store Bypass hardware information leak mitigation. -.It Dv hw.ibrs_disable +.It Va hw.ibrs_disable amd64 and i386. Controls Indirect Branch Restricted Speculation hardware information leak mitigation. -.It Dv machdep.syscall_ret_flush_l1d +.It Va machdep.syscall_ret_flush_l1d amd64. Controls force-flush of L1D cache on return from syscalls which report errors other than @@ -1037,62 +1037,62 @@ This is mostly a paranoid setting added to prevent hypothetical exploitation of unknown gadgets for unknown hardware issues. The error codes exclusion list is composed of the most common errors which typically occurs on normal system operation. -.It Dv machdep.nmi_flush_l1d_sw +.It Va machdep.nmi_flush_l1d_sw amd64. Controls force-flush of L1D cache on NMI; this provides software assist for bhyve mitigation of L1 terminal fault hardware information leak. -.It Dv hw.vmm.vmx.l1d_flush +.It Va hw.vmm.vmx.l1d_flush amd64. Controls the mitigation of L1 Terminal Fault in bhyve hypervisor. -.It Dv vm.pmap.allow_2m_x_ept +.It Va vm.pmap.allow_2m_x_ept amd64. Allows the use of superpages for executable mappings under the EPT page table format used by hypervisors on Intel CPUs to map the guest physical address space to machine physical memory. May be disabled to work around a CPU Erratum called Machine Check Error Avoidance on Page Size Change. -.It Dv machdep.mitigations.rngds.enable +.It Va machdep.mitigations.rngds.enable amd64 and i386. Controls mitigation of Special Register Buffer Data Sampling versus optimization of the MCU access. When set to zero, the mitigation is disabled, and the RDSEED and RDRAND instructions do not incur serialization overhead for shared buffer accesses, and do not serialize off-core memory accesses. -.It Dv kern.elf32.aslr.enable +.It Va kern.elf32.aslr.enable Controls system-global Address Space Layout Randomization (ASLR) for normal non-PIE (Position Independent Executable) 32-bit ELF binaries. See also the .Xr proccontrol 1 .Dv aslr mode, also affected by the per-image control note flag. -.It Dv kern.elf32.aslr.pie_enable +.It Va kern.elf32.aslr.pie_enable Controls system-global Address Space Layout Randomization for position-independent (PIE) 32-bit binaries. -.It Dv kern.elf32.aslr.honor_sbrk +.It Va kern.elf32.aslr.honor_sbrk Makes ASLR less aggressive and more compatible with old binaries relying on the sbrk area. -.It Dv kern.elf32.aslr.stack +.It Va kern.elf32.aslr.stack Enable randomization of the stack for 32-bit binaries. Otherwise, the stack is mapped at a fixed location determined by the process ABI. -.It Dv kern.elf64.aslr.enable +.It Va kern.elf64.aslr.enable ASLR control for 64-bit ELF binaries. -.It Dv kern.elf64.aslr.pie_enable +.It Va kern.elf64.aslr.pie_enable ASLR control for 64-bit ELF PIEs. -.It Dv kern.elf64.aslr.honor_sbrk +.It Va kern.elf64.aslr.honor_sbrk ASLR sbrk compatibility control for 64-bit binaries. -.It Dv kern.elf64.aslr.stack +.It Va kern.elf64.aslr.stack Controls stack address randomization for 64-bit binaries. -.It Dv kern.elf32.nxstack +.It Va kern.elf32.nxstack Enables non-executable stack for 32-bit processes. Enabled by default if supported by hardware and corresponding binary. -.It Dv kern.elf64.nxstack +.It Va kern.elf64.nxstack Enables non-executable stack for 64-bit processes. -.It Dv kern.elf32.allow_wx +.It Va kern.elf32.allow_wx Enables mapping of simultaneously writable and executable pages for 32-bit processes. -.It Dv kern.elf64.allow_wx +.It Va kern.elf64.allow_wx Enables mapping of simultaneously writable and executable pages for 64-bit processes. .El diff --git a/usr.sbin/chroot/chroot.8 b/usr.sbin/chroot/chroot.8 index e434a5b99fbf..55679d876fbf 100644 --- a/usr.sbin/chroot/chroot.8 +++ b/usr.sbin/chroot/chroot.8 @@ -70,7 +70,7 @@ Use the command before chrooting, effectively disabling SUID/SGID bits for the calling process and its descendants. If -.Dv security.bsd.unprivileged_chroot +.Va security.bsd.unprivileged_chroot sysctl is set to 1, it will make it possible to chroot without superuser privileges. .El From nobody Fri Feb 6 00:27:59 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgN1TPyz6RRkf for ; Fri, 06 Feb 2026 00:28:00 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgM6VxDz3vfw for ; Fri, 06 Feb 2026 00:27:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UKA+UcnyZ2baOUp+JHYR8qVMVqr2xNSK/zdqWLV9F6A=; b=riB0yzm9CHKR3+5THnmIBhnoEI2uMX2zGUA6dpMgsBUatNOPLKDwGOKVSQo+MnOFekImoY GpHgnW2nDUT5MgA/TBXof3SNV05hWoF8mrRMc69G8ZRH1hFEl32/hdf7zT1MhVcy+TvlwU HTRXVoE+xl2AjkLy3zIlRRBQuxO8Ppsfv9KPl0eN9ghenkhm9FtbOMHblyWsshtm7C2YhD b2S66xFlM+x9QuVZFx0/OKO4OePepu3Kii1Hd4ZYV5cWTb+lc6C2ildujF7eLh0fAcHPf4 ddjCRLrfp0mA4NGd1KzzfFA0vzf6HY2Q5bRg5wS8PAh0Eq/T7i/CmBIRhfBdSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337679; a=rsa-sha256; cv=none; b=b5tXULhhB+4JPsMJOfuy3chqsYE93Iiqkm5MsKjEzrnkIDiLrm2SszDY7ukFLJhy9fQBJe MctSJvur/WGfOzxSAZrHKuxZ3qCQqMw+McwkKLHGyBgulLpGR8nKbj9ri6S7Ds9mthm4zT yd14a+9U1O3qJFsaADXiUBRrVDrciwiS9MkosyIV4RYcdlgV2+Ey3x3BXVb+4bNZ99pcUx mfQtcnJtECHs/J/IEy1flLTfB1QERYh3cMvFUclAGLw/8BgT0es8VUI02v/4LehwD3uBdd DJU/a9DPE3rtnmFEvmt3ka1TXdqw5AcDk3dG3fBOrKMhWBfJSISgk2fkC/SE6Q== 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=1770337679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UKA+UcnyZ2baOUp+JHYR8qVMVqr2xNSK/zdqWLV9F6A=; b=NU/0lJIWTCFU2kQPjtN1prEo8joA4UACYLFr2w52AFPH1hzzNpFtGectGtd4u3Mhoo4P9D Ha0o1r4q1xZlEWdy1yEpICuGY8OpxYryQANkB6jgbmzYXz/1hmJ2F54YoZM1j4ydF8MLu/ gCSlufJHXx8SPYWaPVpgqrBiD7/ttRKt4WXbnqUX21D1PlEbQ2VSd+GrYSXmEfp+TgBpPy 1G39oMLm4uPgCtNOjvlluKmEFZQkNfnLenXcmqQW9fjFpAZDnaFe99i7uUGlun1ewfwsDl Ke0oHmuD54il2/WTd0AGgls8ACvrN/FgKH/yzerZikNUeHapciD0jBOoZVWkjQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgM5TQ8zsrm for ; Fri, 06 Feb 2026 00:27:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32101 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:27:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Rick Parrish From: Alexander Ziaee Subject: git: 11a0cf32a232 - stable/14 - librt/mq_getfd_np.3: Initial manual page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 11a0cf32a23259caff9f6a2c1489947170dfd8b2 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:27:59 +0000 Message-Id: <6985358f.32101.3665a87c@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=11a0cf32a23259caff9f6a2c1489947170dfd8b2 commit 11a0cf32a23259caff9f6a2c1489947170dfd8b2 Author: Rick Parrish AuthorDate: 2025-12-18 22:12:32 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:16:45 +0000 librt/mq_getfd_np.3: Initial manual page The mq_getfd_np function appeared in FreeBSD 11 with no documentation. This function dereferences the mqd_t as a pointer to an int. Relnotes: yes MFC after: 3 days Reviewed by: kib (previous), markj, ziaee Differential Revision: https://reviews.freebsd.org/D43947 (cherry picked from commit ca2413d216197fd55f9363d6f65c641ff1aa3ec5) --- lib/librt/Makefile | 2 ++ lib/librt/mq_getfd_np.3 | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/lib/librt/Makefile b/lib/librt/Makefile index c755bb123c73..1189636d0416 100644 --- a/lib/librt/Makefile +++ b/lib/librt/Makefile @@ -24,4 +24,6 @@ SYMBOL_MAPS=${.CURDIR}/Symbol.map HAS_TESTS= SUBDIR.${MK_TESTS}+= tests +MAN= mq_getfd_np.3 + .include diff --git a/lib/librt/mq_getfd_np.3 b/lib/librt/mq_getfd_np.3 new file mode 100644 index 000000000000..44c29fbdbf73 --- /dev/null +++ b/lib/librt/mq_getfd_np.3 @@ -0,0 +1,57 @@ +.\" +.\" Copyright (c) 2024 Rick Parrish +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd December 18, 2025 +.Dt MQ_GETFD_NP 3 +.Os +.Sh NAME +.Nm mq_getfd_np +.Nd get a file descriptor for an open message queue descriptor +.Sh SYNOPSIS +.Lb librt +.In mqueue.h +.Ft int +.Fn mq_getfd_np "mqd_t mqd" +.Sh DESCRIPTION +The +.Nm +function retrieves the underlying file descriptor +from the given message queue descriptor returned from +.Xr mq_open 2 . +The file descriptor is used by other functions +to refer to that message queue. +The +.Fa mqd +argument must be an open message queue descriptor. +.Sh IMPLEMENTATION NOTES +.Fx +implements retrieval or alteration of message queue attributes +based on the file descriptor. +The open file descriptor is copied into a child after +.Xr fork 2 . +The +.Xr fstat 2 , +.Xr fchmod 2 , +and +.Xr fchown 2 +system calls are supported for the file descriptor. +.Pp +The file descriptor is safe to use so long as +the message queue descriptor remains open. +.Sh RETURN VALUES +Upon successful completion, the function returns a file descriptor. +.Sh ERRORS +The +.Nm +function does not return any errors. +.Sh SEE ALSO +.Xr mq_close 2 , +.Xr mq_open 2 , +.Xr mqueuefs 4 +.Sh HISTORY +Support for the +.Nm +function first appeared in +.Fx 11.0 . From nobody Fri Feb 6 00:28:00 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgP4CCVz6RRWV for ; Fri, 06 Feb 2026 00:28:01 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgP0BGdz3vnP for ; Fri, 06 Feb 2026 00:28:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337681; 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=50CKmriXH4C39TUvx+wngCcWTQrJfKucQ6zSRBqJr78=; b=je7V6W3EEp90kqRv9pToKTvvWJdxOdu1AqlNLONVAYvHiDnMJZIn7j3Ea+S1zmBX+yaGSM XHc/LXoTBPRpYY0jbMGcwiPoArWeN/ExDky2Jr/3HylOKC5+ZdsIq0Hi6YR/QNGim8tDV4 uwN5PYkHupHj2z1UL0ssM7SSMICYXbD+6+Bea3JJnMrME75GDRrQmmxcxegr7jRacI/r4R 9oPy2LsIj3OYI4ohbDXT7ihPTiotc1elH0fpsoqMXwzh9hH0POi/ROSaWzbdZgnwgljkuc sXTgV3nIulybRtpy3Wwtdh9RScx/nL9RrBBr3/u06US05pniHMgPgslKQdCDcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337681; a=rsa-sha256; cv=none; b=rG8hG1lepOT84P70NspVyoDGx3igW1jHTuTzUeDMocM4IjFvBd+R5K6CRdp1JEEgaqvJOQ nT+RirnqVND0Mk+fWVIibNA7Ri2LHm+0I6s9Ae7MF5BvFDoj53jl/bAaG5Ow7o5ALz96J8 yfXjJ/+38dj47j9WRkmrPdDDun9hzpvLUTN90JP+sKNohyEAx2HAg+mYRFQkvRgRdi1xAQ W/h9/mn27Qk9uTTZJd0O14TdXlkQifK+qz1QH5sHv4MfhiZUqQb61DzMB3tODIQzRBZWAZ PlTD98inHqCbxBxuEvG5sleEEjH4sttiTluAe1HFY/TYlvgAP0Tk0j8/6nqH9Q== 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=1770337681; 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=50CKmriXH4C39TUvx+wngCcWTQrJfKucQ6zSRBqJr78=; b=K7E1ptVO4nbyUXIlei3bzwAxFErYR1Ewn8TAspEUgljYw6qLKjH/elAA7Bf49oMv6lZlIp p7d+y9dOrfQ6+FzcOJIUU9lzciBXOmtGE3r7919YsISc6+YW6Bij6bYB4UpyqXagoVLw15 2gVHq/7o+8XgnraGYUY6Wgd4GSfqXcIn+l2P1unMYCDW8zfoney0TCgDXszhK7a0Vj24b0 TEFlpJ0yEatPisXoY148UyMZSvkNvJJEQNgQiIJuHORwZDS/Z4XTZg/WvMzzl1bihSwNeZ AvWQKX/5T9lh7hCD3Orol8jakcFud4ugpAuNtjqiuRZ4a2mMHbzyu4/p2PON1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgN6B3Qzsg6 for ; Fri, 06 Feb 2026 00:28:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31549 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 89f9f9def715 - stable/14 - cdce.4: Minor polish List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 89f9f9def715c115d6a244b53cad24a6ca9353be Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:00 +0000 Message-Id: <69853590.31549.405c22b9@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=89f9f9def715c115d6a244b53cad24a6ca9353be commit 89f9f9def715c115d6a244b53cad24a6ca9353be Author: Alexander Ziaee AuthorDate: 2025-12-23 13:52:13 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:17:06 +0000 cdce.4: Minor polish + Tag spdx license identifier + Fix "e.g.,"s to quiet linter + Remove useless Nd quoting + Put example in EXAMPLES MFC after: 3 days (cherry picked from commit 03752041e41b57af622f3649929789575a48258e) --- share/man/man4/cdce.4 | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/share/man/man4/cdce.4 b/share/man/man4/cdce.4 index 8c5dbb36d197..266d87bca079 100644 --- a/share/man/man4/cdce.4 +++ b/share/man/man4/cdce.4 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2004 Daniel Hartmeier .\" All rights reserved. .\" @@ -27,12 +30,12 @@ .\" .\" $NetBSD: cdce.4,v 1.4 2004/12/08 18:35:56 peter Exp $ .\" -.Dd May 26, 2025 +.Dd December 23, 2025 .Dt CDCE 4 .Os .Sh NAME .Nm cdce -.Nd "USB Communication Device Class Ethernet (CDC ECM/NCM) driver" +.Nd USB Communication Device Class Ethernet (ECM/NCM) driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -46,7 +49,7 @@ kernel configuration file: .Cd "device cdce" .Ed .Pp -Mobile Devices (eg. Huawei E3372, E5573 and others) +Mobile Devices (e.g., Huawei E3372, E5573 and others) may need additionally the u3g command port: .Bd -ragged -offset indent .Cd "device ucom" @@ -83,17 +86,6 @@ received and transmitted over separate USB bulk transfer endpoints. The .Nm driver does not support different media types or options. -.Pp -Mobile -.Nm -Network Devices may need a connect command sequence via u3g -serial command port before they activate the NCM/ECM/ACM network -interface. -For example: -.Dl echo 'AT^NDISUP=1,1,"internet"' > /dev/cuaU[0].0 -where -.Dq internet -is your providers apn name. .Sh HARDWARE The .Nm @@ -113,8 +105,21 @@ Sharp Zaurus PDA .It Terayon TJ-715 DOCSIS Cable Modem .It -Huawei 3G/4G LTE (eg. E3372, E5573) and other mobile network devices +Huawei 3G/4G LTE (e.g., E3372, E5573) and other mobile network devices .El +.Sh EXAMPLES +Mobile +.Nm +Network Devices may need a connect command sequence via the +.Xr u3g 4 +serial command port before activating the NCM/ECM/ACM network interface. +For example: +.Pp +.Dl echo 'AT^NDISUP=1,1,"internet"' > /dev/cuaU[0].0 +.Pp +Wwhere +.Dq internet +is your providers apn name. .Sh DIAGNOSTICS .Bl -diag .It "cdce%d: no union descriptor" From nobody Fri Feb 6 00:28:01 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgQ5wPCz6RRck for ; Fri, 06 Feb 2026 00:28:02 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgQ14Khz3vy8 for ; Fri, 06 Feb 2026 00:28:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337682; 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=di33xGqtgYS1RXIGjn7VwT+YomhvSDe/uBzFD9NArgg=; b=VtYbVzuA1JAlmmRmc05cOoLmgb+SvfooA69FwuT1hCm7DnzLZylX0s56veasFoX6bYJA7l L39t+QLsD9IfjCTjp5oLLAzw6gTrsKTMaT2oWcf3a69LiUtPdQHgOuxWHjBSH2Nu1WKXi7 jWYfASO15Fgu1z3DZlw7sRGWERivp4/pawUdZxGDODnu2AmMmLw9/IU7DS25BkozbcspW4 I11e6JzqWZSAkYh61H9ZybgsP+/YaExwXnakW1FNCa8p3WuDYzAP4d1EcoDmIW5IxBqATq JtVGUh0ypxD75gKgC5cPePGg7EUPrGSZkT9Clte1BunU1rGjpfTyL8kF2+e+vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337682; a=rsa-sha256; cv=none; b=RPc1jBvhyDIPznqnG7Tb4shkVd9Qz8ipnkkY/LezCDN71Vlv2oQu0jb7zro1bk9qFbEw5v Ox8bzLRmaDs95ePCIvcpCzlh2xg4QXo/7bCvl6HqFkO71+ma9MjHVpz9mvWab4u3Gj5b8G x6hAbt6LnuEpSboF0DDu4eTsITKDD9KzG+aI9qOEXr3ctUBf5edGJp8WtS+HpDQVkAyoxd CgswVTnd+c3GGRKHCpRvJwWvOM1iBEhWwmnx4UDZ3BkG3hAAQS9vCh2Kvp1lU5OYaBCSME Mpbnc5Rzi0ZIarapYkrVfNZNzrdAjPM5Fgzy4n7tSSFObeg4p15bG4DGBmxeDA== 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=1770337682; 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=di33xGqtgYS1RXIGjn7VwT+YomhvSDe/uBzFD9NArgg=; b=tfinkT3Tkj5FdfzhyTJ499wn6t3PsL33n2r4KhHMEGsebFw9yNTYWfLNy3xUdmY3bOn/e4 o+JQ2DJhbNV6sjKprPWkTiwhhiJUOTPON+S238EoK67hFxCgpgotwKfJMbAVKeSbGelGrA fhnuKpWY4eYEZkYAQb8isBqHOv+8sAeQ5Pwc2a2qQcAxSWubi37gdlcc3nl+Ihe54z17H2 jCMjzEuqDOKnIchXQOrDKSKQ0Vg+RWl/8vPFQqxGWuF14vTcVsS7KK+v0/rz6By46uvZEb 8doH00gjZvK02TPirEF1sc+OjGgDsAVTyI9e0XcKlZRS6y+gnVd3hJum/Yy4qg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgP6xGlzsrp for ; Fri, 06 Feb 2026 00:28:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27a7f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 9f0e2b6e3183 - stable/14 - loader manuals: Clarify console and boot_serial List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9f0e2b6e318304b2dd6ded00d2f0d0f70f32ee7c Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:01 +0000 Message-Id: <69853591.27a7f.346f22d4@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=9f0e2b6e318304b2dd6ded00d2f0d0f70f32ee7c commit 9f0e2b6e318304b2dd6ded00d2f0d0f70f32ee7c Author: Alexander Ziaee AuthorDate: 2025-11-14 14:41:57 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:17:50 +0000 loader manuals: Clarify console and boot_serial console=comconsole is for the loader and boot_serial is for the kernel. I think we should centralize documentation on the loader settings in one manual, such a loader.8. The current proliferation is not obvious where to find the documentation. To the user, these are all set in loader.conf or at the loader prompt. MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53695 (cherry picked from commit 09ffaa4e07d749c83cc1db13829505f21b025f29) --- stand/defaults/loader.conf.5 | 3 +++ stand/man/loader_simp.8 | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/stand/defaults/loader.conf.5 b/stand/defaults/loader.conf.5 index d8a3009ac606..15cf04170046 100644 --- a/stand/defaults/loader.conf.5 +++ b/stand/defaults/loader.conf.5 @@ -337,6 +337,9 @@ selects the video console which prevents any input and hides all output replacing it with .Dq spinning character (useful for embedded products and such). +This setting is for the +.Xr loader 8 +only and does not set the kernel output. .It Va screen.font Set font size for framebuffer mode. The default font size is selected based on screen resolution. diff --git a/stand/man/loader_simp.8 b/stand/man/loader_simp.8 index 2d2d4b80acf5..a7513192c3d0 100644 --- a/stand/man/loader_simp.8 +++ b/stand/man/loader_simp.8 @@ -343,8 +343,8 @@ utility. .It Va boot_pause During the device probe, pause after each line is printed. .It Va boot_serial -Force the use of a serial console even when an internal console -is present. +Force the use of a serial console for the kernel +even when an internal console is present. .It Va boot_single Prevents the kernel from initiating a multi-user startup; instead, a single-user mode will be entered when the kernel has finished From nobody Fri Feb 6 00:28:03 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgR4Y7wz6RRnM for ; Fri, 06 Feb 2026 00:28:03 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgR1mSfz3w44 for ; Fri, 06 Feb 2026 00:28:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337683; 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=zkC6uJBHH681ZGu+cB7ylhdx37OW8p0DNiVh3binAA0=; b=NqzzPA+kmEWX89HBTJkq4Lmg4T51/a0v4Vj6b9ufn2PnqFw5vQN22aI9+cFSwYK25FPstI AALqK4kXeQwSNPSXCUu+EUgEOdvU2UaYvWl/EUnQB3ouLmNkf9ppWXK5Q6aYuhCxeaitFi zTx95khx27266tZB0XaikuPHKqVuPZ9+9KgBschfqKVosAKFKjdPsmFHEAIAf3yS72MK6C LP125BGKqJhT5NKTKN9wpMhbNf5nK9UmwEyk3Pk02uGaBAf8a4lziJP2CsnNfw+U0qrkiC O72umxXZX/7c0/+OGfpGKn81FyDObsWalrW9m/Do8zt2By7YbtDiZ0tvkcDgtg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337683; a=rsa-sha256; cv=none; b=Nh5QTRwCwyRx6GRAjegqU2PWo/fKhxvveSh+JxWj2nVfEaxGshEDW6u0Wfwg8KcAMJUoOd VieG7c3ENLA/gH8jSY53YCsv8nnVvkxBfWrsRdu0m8MEMDy1gIS10Attaewzm4jnygRzTM ASnR6xHT7pJGGT3RZiHXL0pLq8i63my+CNP+LArEqXQrQKV6vr8DOy94qRDU2XSBbeCOTw kqJbbBSjf84vZbjnPzCvOhjXSNf97MfAwkWDx5MjuXCo8dRc3uWIFmz96NQ/0DlswnCodu FaWvFi8V6HtNXTX+dXFNDhppkktxx88Z4MTev3QZ9dOc1JiFoWZbAHff+4ePnQ== 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=1770337683; 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=zkC6uJBHH681ZGu+cB7ylhdx37OW8p0DNiVh3binAA0=; b=d45dQ+vAovErKS7e79NMqWGqMC/OyoHPf89wkaAOmay9fmDbddnQTcnRKCNHhAeR8jZulR 6V3lqEMj11NOSCNvKypNQ3w1S72sgArPVnrECx9vcb2hz2QRfXWKIo912FN/9HeRfqkusn Qhe2c8HuTB6sb2HY2GVzvDnLzOjDGXfcez0xA7jate36Dd1Ng7F1obtdcJZgjFwwJ0Qetj jCKL2kwYsV97VdUI8RxV11tchu1a+FCVCpgqbQpCe8T8bGJ1jg/eCvck4iQe6o4IWK93bL hZV3Mp0mTNYgcOhwozDoem1qJrCIbUBTenWXiNjZNUiYMPX1aKj0/rpnngj/9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgR0YcxzsYw for ; Fri, 06 Feb 2026 00:28:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 272ef by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 7812565e2ceb - stable/14 - loader.8: Document module commands List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7812565e2ceb1a0337ceeb2322ae122563fa8334 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:03 +0000 Message-Id: <69853593.272ef.2b55e4b3@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=7812565e2ceb1a0337ceeb2322ae122563fa8334 commit 7812565e2ceb1a0337ceeb2322ae122563fa8334 Author: Alexander Ziaee AuthorDate: 2025-11-14 14:59:09 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:18:00 +0000 loader.8: Document module commands Begin documenting module loader commands in loader(8), where the reader would look for them. Segregate them by their availability in individual loader implementations, like build(7) targets. These details were graciously donated by kevans. MFC after: 3 days Reviewed by: kevans Co-authored-by: Kyle Evans Differential Revision: https://reviews.freebsd.org/D50727 (cherry picked from commit 6fb0d67819f730e8def56e139f780eff3c0cab0f) --- stand/man/loader.8 | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/stand/man/loader.8 b/stand/man/loader.8 index 234eabd571e0..484e0a7b300c 100644 --- a/stand/man/loader.8 +++ b/stand/man/loader.8 @@ -26,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 29, 2021 +.Dd November 14, 2025 .Dt LOADER 8 .Os .Sh NAME @@ -89,6 +89,52 @@ The commands common to all interpreters are described in the .Xr loader_simp 8 .Dq BUILTIN COMMANDS section. +.Pp +The following commands are only available in +.Xr loader_lua 8 +and +.Xr loader_4th 8 : +.Pp +.Bl -tag -width indent -compact +.\" sort the following entries according to the second field +.It Ic boot-conf +Load the +.Nm +config and commence the autoboot sequence. +.Pp +.It Ic read-conf Ar file +Load the specified configuration file. +.Pp +.It Ic reload-conf +Revert any previously applied settings, and reload the configuration. +Set comands that were executed at the command line to override variables +previously +.Cm set +by +.Xr loader.conf 5 +configuration will also be reverted, +along with any module options that were toggled. +.Pp +.It Ic enable-module Ar kmod-name +.It Ic disable-module Ar kmod-name +.It Ic toggle-module Ar kmod-name +Enable, disable, or toggle loading of the kernel module named +.Dq Ar kmod-name . +.Pp +.It Ic show-module-options +Describe all modules the +.Nm +is aware of, and show if they are enabled or not. +.El +.Pp +The following command is only available in +.Xr loader_lua 8 : +.Pp +.Bl -tag -width indent -compact +.It Ic disable-device Ar device +Set a newbus hint to disable the +.Ar device . +.El .Ss BUILTIN ENVIRONMENT VARIABLES The environment variables common to all interpreters are described in the .Xr loader_simp 8 From nobody Fri Feb 6 00:28:04 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgS4KGgz6RRN8 for ; Fri, 06 Feb 2026 00:28:04 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgS1YCQz3w4G for ; Fri, 06 Feb 2026 00:28:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337684; 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=eEyOp89ZfQfwbCQjkoEzQVPng4GOYA5JtqQUxUDZBzQ=; b=m3vjZxLf65kTPN3qMazbZq/0tHj/nrikv2NZCmyoc5qdeIhiDsSCetss7SqNbSp1Tvurb5 iDRH2kGIhdjy6OqleCuXMVuv3KRmgj3eUZEM1C7Qn4KrpZsu4+wAMaSkn3avevpBu7lfVh 8e+nJ1hY04rqzd52ODQMekdeOftGugm1tEzSVbfAZdnng5fpNHjKfFt0xvdmTmn/7Gufwf Pjsi5XM00n6WGEXyXmdMYC17RsoFz6nHE6EkTIWxydrumuDHYCH3JAPkJkf19SVfURdYUb GaBTYFSKcefFPHF90eA35WOAcxMyL3Vuv6vwQJnvR3b97tQrGjV2Pjhryx/8rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337684; a=rsa-sha256; cv=none; b=fvNhOIP3AWf6pMiFXrXSwnNdpIEeu6Zrhpf5XYfKIA4oX3jEVbN+ytXfCC/C+Cnj5CQTGr jqzigzsNtob7JRpXEWlbbRDoz3MA02MdHPL4UPiINPnRB2dDu0dYVceYDN7Zsb+mUVgUwg yLr1ps8F45vQXOn5orAjCe77PFIvcFj5cEENvkbcrBMPUlg+d0b8fDWGHp1oAh7WCN1/7e l7j6jRJWJYO0pCf+/J/bfGO1mkjNx+NdW5ZP4jJwg/12TvLbWd3L0mYVu5yaRmRlRYvnAQ Vp3Zp+jvQmmvn4ZUopwNW68b1oL/VvRDylfBrFEEmkvy40qkNzVCFxBJCtoRZA== 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=1770337684; 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=eEyOp89ZfQfwbCQjkoEzQVPng4GOYA5JtqQUxUDZBzQ=; b=SpcPLXyZZPQS6HeZ/nZ/jbkjmvQ1Ua60izaOQ0n7s0KqK8deFu1GZjonKn2BGvLcMhEVd6 omHbUSYyRKYJi4JAOHyeCjCJzXGgePS3vfMk1N8qj40m3HAxQfdooal0U0xLt5n4UjIRGb Mh1IVSdjpwEEW2v9NSz1uZLCHUx5jfDa1VKZZJcNZJ9kJEOskalLEpm65A0hA4Q+7FG+WY J0TT4seGmcNC1y6gs48TEgmF0h7+nhtulM89/q93Uu19RlSYagCi08h3wJ+DjIiwlF20/r u/hoRcSM1ryLumN+5lYQa9j6uH2oZ+k8OthTxUgMd1DDGJSAEybo0aJl4vYvBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgS17DQzsg9 for ; Fri, 06 Feb 2026 00:28:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 276f4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 36a902c39c87 - stable/14 - mx25l.4: Describe better and tag spdx List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 36a902c39c876c4fa4706acd0baf63422874f250 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:04 +0000 Message-Id: <69853594.276f4.58bc1fbb@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=36a902c39c876c4fa4706acd0baf63422874f250 commit 36a902c39c876c4fa4706acd0baf63422874f250 Author: Alexander Ziaee AuthorDate: 2025-11-11 18:56:40 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:18:54 +0000 mx25l.4: Describe better and tag spdx MFC after: 3 days (cherry picked from commit 6f73950475ce6b56974b7cd08cdf0ea771165c50) --- share/man/man4/mx25l.4 | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/share/man/man4/mx25l.4 b/share/man/man4/mx25l.4 index 5dffdebcf43e..bbfc9846c5d8 100644 --- a/share/man/man4/mx25l.4 +++ b/share/man/man4/mx25l.4 @@ -1,4 +1,6 @@ .\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2019 Ian Lepore .\" .\" Redistribution and use in source and binary forms, with or without @@ -22,26 +24,18 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd June 11, 2024 +.Dd November 11, 2025 .Dt MX25L 4 .Os .Sh NAME .Nm mx25l -.Nd driver for SpiFlash(tm) compatible non-volatile storage devices +.Nd SpiFlash compatible non-volatile storage devices driver .Sh SYNOPSIS -To compile this driver into the kernel, -place the following line in your -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device mx25l" -.Ed +.Cd device mx25l .Pp -Alternatively, to load the driver as a -module at boot time, place the following line in +In .Xr loader.conf 5 : -.Bd -literal -offset indent -mx25l_load="YES" -.Ed +.Cd mx25l_load="YES" .Sh DESCRIPTION The .Nm @@ -67,7 +61,7 @@ modules as with any disk device. .Sh HARDWARE The .Nm -driver provides support for the following devices: +driver supports the following spi flash memory devices: .Pp .Bl -bullet -compact .It From nobody Fri Feb 6 00:28:05 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgT3dsPz6RRcq for ; Fri, 06 Feb 2026 00:28:05 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgT2Cdbz3vsw for ; Fri, 06 Feb 2026 00:28:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337685; 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=WDfVsXFRQTTDIJuz9T7xTOcATXDgcW33gX4jvXzkBuk=; b=le30EbSYh7qhdvMozZ2YNg0jUw2xO8OLjDb0M0EeiF3bqChYCbWNHUVWJp1vFBJW9hlWZg /YZszBQWw1Po2XxuMad1OdY6ToXz8Nyv2cn73Po1gLpuYiT2doU+swto/SccRCDQn/mP4N sOrUmW+odbqWSuuvdp/8sc7DyPrdZtoKJ6v2JW0pBVK7VAe9NFu2tPQqRAZnbrjC99/B2p MuZRCQicIldoM+8ulg8sI4r6tWNlVfZRlZUCMEljr7oc4oBqQUkBh7J3FfQtT7ePzpX/5o X7/OuOE8EEFkZ6UcbqfFBlWOnh2jdyEvch8iIPHAh7tmowPY+5AIrrjDRxdpAw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337685; a=rsa-sha256; cv=none; b=XJBnV2yyRsBgbXeeWIyuAzxJ8EiRvbHUZtrI5aj4/xBZZbNZrAyQZERmusKSPdNMujJq3B nveNmAk74IG2WGt8AqNCiLQu4o9jjp0oU5TIw4WLsCJEICXvGV+oth2UvGYSTqQPhRMgw8 1YjSvk5KQw2u3IJrOdApwo4JzRSgOt8+ft8aM18i2HJNrqvNVIs/q9T7N1sZmz6D11xOZB aHKNg5D9eBmFDrtG/duchnpMK43QpQ7DI5uWk+qGhU4zeq4qT/OjwUrhCIALuImWaucGQY El6E+CWFAZa01RkhMlrpvfr/dcnVCxj7ks67n9W9vyM4ZFCjawuIX70EfeSDVQ== 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=1770337685; 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=WDfVsXFRQTTDIJuz9T7xTOcATXDgcW33gX4jvXzkBuk=; b=Griw3kjAxt/l8SFwNqEUppUYZcui4G1LNpGavs/DJpOKaZjzNnp0rriGOO/MFqFzIJFWVO obruYqMD5wL4sA08arE7SNlqszos4l27KH8i6SjMKKiN2rCSprR3pplfpOZOAIvqj1A3aj 3Zzefz8RHxQZgBQlAohfZ8WFforEmuE5YfrQLYXKkMDmEW1WMgONUTkCJ34lX2YTEtnTJl oXTyKtby5NtJT9ll9JPNPjmHC5NwkdruoO9mZaktgFy0jPT0CMPCwbQVzK/rECEOJzMnG6 RVUjP2msCS3lg59kGCMm++CSk5gjNg6GPTgid5dPnz2wD8KPNyVSofg1ZKjrrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgT1nfZzsYx for ; Fri, 06 Feb 2026 00:28:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30be7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 7cc574cefbcf - stable/14 - mx25l.4: Add n25q64 to hardware list List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7cc574cefbcfda26044330cec58fd5130dbffd5b Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:05 +0000 Message-Id: <69853595.30be7.13da67d1@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=7cc574cefbcfda26044330cec58fd5130dbffd5b commit 7cc574cefbcfda26044330cec58fd5130dbffd5b Author: Alexander Ziaee AuthorDate: 2025-11-11 18:58:19 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:18:54 +0000 mx25l.4: Add n25q64 to hardware list MFC after: 3 days Fixes: 76735c74398923a (flash: Add "n25q64" to mx25l driver) (cherry picked from commit 595fcd71a89e8c2d9039528d58b073f5ca712b68) --- share/man/man4/mx25l.4 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/man/man4/mx25l.4 b/share/man/man4/mx25l.4 index bbfc9846c5d8..a48b153e91ec 100644 --- a/share/man/man4/mx25l.4 +++ b/share/man/man4/mx25l.4 @@ -93,6 +93,8 @@ MX25LL32 .It MX25LL64 .It +N25Q64 +.It S25FL032 .It S25FL064 From nobody Fri Feb 6 00:28:06 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgV6Kzwz6RRkp for ; Fri, 06 Feb 2026 00:28:06 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgV3DNFz3vrG for ; Fri, 06 Feb 2026 00:28:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337686; 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=ISLim92lP0P0a8NHVJQwXnreQ0LpP2U2GzofE55ujRg=; b=RXx6WghniZk46hFmkiRusc2ISwaO6YLqpZgZYNfkeq0e/t2C3+ycxZJCigHvHAFld/NHJZ 7Eqxbk5jvD/gVTo+OrvuaT+OKf0X7/0SGi9gw9IzuV8GUo/QFRO+N2FWq0Hf6YPpAzq5UW VT/tMZSjvMPFczz4K3BZ81PQNhufJbXTDRZ5g/qnD0z7TwPvEcx/DKj3RBvkY0KhAAt/0k +HCvFgCutTdi7fVDd6l74fJae57KeIGXWrlaYa9EyXDyaEqSjDSGVjhMnIG6tyL2Q102Mh OdFfuk/xrcMz45+irhJbTNMwHbtpkjnXOzN7jqg9tSA6U0W+y6dudBIKxYdR5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337686; a=rsa-sha256; cv=none; b=wUExHp5d6ocrF4nPNRIomBScQ65fbu2/eaA2RMYZWUKAqdsXLo07/S7Fn2O7VrRwFLgf3g /a+H1vUS34yOgpl+Zc/bcMKLYlki5/EYhDE8OgxmHB6+fdMJWA2AdRMKn0o5ixW+igvMS1 WPR2xkLnjv11X3xe6eWTwKDqK9DnMz9Gl6XFnkkNFkwNMhYAAcm2JE5OHUFq+oDUWwg4Qc P3ym33D1dXDkD4v97ij3smYF11wY6BrpNKTrlgCSqXpwIfmxRuG4mH/hZ5SfFTomNewtT5 LvYowkqiLIt9o7UcLG65Q0G7dkHMIwAi5nQ771oWlbzjSx7tNt9TGVSSAUY7wA== 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=1770337686; 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=ISLim92lP0P0a8NHVJQwXnreQ0LpP2U2GzofE55ujRg=; b=ifFkl7SWHMbr/60vN9zcOKNBvN9G1kJnjxK2FBIHUYpeQ62ZdNSL/oMg2qzTlEeh44oIdk Jqk2QEeJ1kVlN/ip+izW2BL41MPVqmU112Msqg66NdD7ZH6i8EAlGrnFz87f3slgM+Lhn/ 7xErc+PxKJtHzuTJWOt7NRAzgJXNRM2iz/Hx+Wd7/nJd+cdu42k3mp4aHyWCaJeHDcOWa3 +hZwfdWru4e/KnEYWz2N8FZzoSKf2p0jhXJzkhru+Z5KTCERXsrjKSHe3NnJEQ6hnzDViN PNMZn0GicD0ZOaHatQRqtPaMxnw0yUmn5HIec+v9qBcATOqsqEUZWecVR5EUmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgV2d6rzsYy for ; Fri, 06 Feb 2026 00:28:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31455 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: ac567c2908ad - stable/14 - sbp.4: Add a hardware section, fix markup nits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ac567c2908ad37bed0beb6d736ff7e7ca22f2900 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:06 +0000 Message-Id: <69853596.31455.629d814b@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=ac567c2908ad37bed0beb6d736ff7e7ca22f2900 commit ac567c2908ad37bed0beb6d736ff7e7ca22f2900 Author: Alexander Ziaee AuthorDate: 2025-11-11 18:38:04 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:19:11 +0000 sbp.4: Add a hardware section, fix markup nits + tag SPDX + add sysctl to apropos database + fix markup of examples and reflow a overly long line + add a hardware section for hw relnotes MFC after: 3 days (cherry picked from commit dee8e38f52266d9b2fa837607ff3a78f240a806d) --- share/man/man4/sbp.4 | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/share/man/man4/sbp.4 b/share/man/man4/sbp.4 index 2255fa2993ae..1daffd104a2c 100644 --- a/share/man/man4/sbp.4 +++ b/share/man/man4/sbp.4 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-4-Clause +.\" .\" Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa .\" All rights reserved. .\" @@ -29,7 +32,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 8, 2012 +.Dd November 11, 2025 .Dt SBP 4 .Os .Sh NAME @@ -62,19 +65,27 @@ might wonder why the device is not detached at the CAM layer when the device is unplugged. It is detached only if the device has not been plugged again during several bus resets. -This is for preventing to detach an active file system -even when the device cannot be probed correctly for some reason after a bus reset +This is for preventing to detach an active file system even when the +device cannot be probed correctly for some reason after a bus reset or when the device is temporary disconnected because the user changes the bus topology. If you want to force to detach the device, run -.Dq Nm fwcontrol Fl r -several times or set hw.firewire.hold_count=0 by +.Ql fwcontrol -r +several times or set +.Va hw.firewire.hold_count=0 +by .Xr sysctl 8 . .Pp Some (broken) HDDs do not work well with tagged queuing. If you have problems with such drives, try -.Dq Nm camcontrol [device id] tags -N 1 +.Ql camcontrol [device id] tags -N 1 to disable tagged queuing. +.Sh HARDWARE +The +.Nm +driver supports FireWire Serial Bus Protocol 2 +.Pq SBP-2 +storage devices. .Sh SEE ALSO .Xr cam 4 , .Xr firewire 4 , From nobody Fri Feb 6 00:28:07 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgW6pbyz6RRNC for ; Fri, 06 Feb 2026 00:28:07 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgW3wgLz3vrK for ; Fri, 06 Feb 2026 00:28:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337687; 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=Qchg6OTTZUeRwaKSCBm6Y1PP8yomg/11SisL1WLbDAU=; b=sDlRIReWJHjfO5mUbLajqn0KquUhBFJTqkOfU9v6nuXu/ToVoORfpTcqFMjLDzRyIT2OwI Plcy/QAKBENp6hEpudxPHMPrvd/2jcK0z/6txi20Mj7dp1BlIcnYVxixxG0Lipp3x9zldp i/Z2o2XwDbvxOW94I6lXBct8tl8QSlIQJDD7dqUPSHaJrpifgHjR3jc9g5uiLVHKxukx/A i90UpYOEedsZEgt+8qmYylnwjZRJeqQPcnpsaxEahDKGz8bvihgI1Ndx+o7ZZEn2wfVBvm SiCqbZ1XSdnJzRAQj8UN5ew9MNbzPs2XdkICUxa5Nt1xtAbnZTwnR30w3QzdzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337687; a=rsa-sha256; cv=none; b=BNAnQMjrv4lPxQaKXXTvvMcTb9rEgRRT5cM2EtOJLVUhNiOZk9PXNt6Cj522R53Ag1c0Q4 pVnU8+ZcNhSHusqYDibY3h6VIlW/D8QL83lwMzgyEaA3H9IDPPH8Sa5DrOEa7nOYHOCaJ5 KhMf6BrIfug9dbZpnARV7DrbHjunkDr/wjLvnc4WbwnuSLO3ZR6SPGvYITMOn0xdxqzMxa TgnNF1d37XOiNxIw0Up3/ojFh2ZAvNk1JupRwXFaU63BCz4oj7nXIUAOl+whtB3BfHhbXz YuMi6K187/qrJpqmb1hPWgu5GUJKD6g6CSw0I/JomMSM1pExyB+DNu5T3Cokug== 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=1770337687; 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=Qchg6OTTZUeRwaKSCBm6Y1PP8yomg/11SisL1WLbDAU=; b=noMkG2UcWFt6P80PXxM1fyaEddrKFQYJc2gl6KGx8Uc4bx8QagO1NbkuWAG2I5IViHhTz2 BGX2GI9ELjnd7QYb97fc2FcEmzm7pPzC2FCCElW557YIgAvRTgY5MAFRIlyIezjQWvriDw u+ZHKp5f5AaKh8gbP1KIMvkUJXvlUBg5WHEtNRlIahZ0jKZEQibrA/158DZlvhK/rtrML8 DTFLGtx2VU3sSxBleUo6ME+KX/xheShDRh1GFEqVWeczRR7pZCMc/ZrxqJFcWFFWV17f3g DIzo8V2eWDqu3PsVLEwu0kezTWG4d+Ht6Cj/DL8NOlCOLDauVEdQEKrS7p2Dkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgW3Tsxzsd4 for ; Fri, 06 Feb 2026 00:28:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 310bd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 6b1ae329e2a2 - stable/14 - cut.1: Align option list and tag spdx List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6b1ae329e2a2559b90233ac9718bb39aba9a0221 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:07 +0000 Message-Id: <69853597.310bd.bbe338@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=6b1ae329e2a2559b90233ac9718bb39aba9a0221 commit 6b1ae329e2a2559b90233ac9718bb39aba9a0221 Author: Alexander Ziaee AuthorDate: 2025-11-03 23:21:10 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:19:32 +0000 cut.1: Align option list and tag spdx MFC after: 3 days (cherry picked from commit 16f37d97b9500a4fe2d0719161025515d477a5cd) --- usr.bin/cut/cut.1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usr.bin/cut/cut.1 b/usr.bin/cut/cut.1 index cab98805a6e3..52c7df30b6b6 100644 --- a/usr.bin/cut/cut.1 +++ b/usr.bin/cut/cut.1 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" @@ -88,7 +91,7 @@ It is not an error to select columns or fields not present in the input line. .Pp The options are as follows: -.Bl -tag -width indent +.Bl -tag -width "-d delim" .It Fl b Ar list The .Ar list From nobody Fri Feb 6 00:28:08 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgY10Pnz6RRkt for ; Fri, 06 Feb 2026 00:28:09 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgX4pxJz3vx4 for ; Fri, 06 Feb 2026 00:28:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UR8KRWZ0VBAEAu8JQ48rB108B6S+Y3choilgYkGoMoI=; b=XUYc3O8hTq9rX0sEUv+s0C+B97PnBY7drtnRfkIhV66BbgJW+3aTVs+Qiy7aVTeryStndA gJE7hLkOyi0My7vodG39LWVx1kDVjDn/AYAtkrKtW7yv2LZx9UmspFPtVVaP4BO57TiOuk mSjDBvqypIl0wK2lPlqQj6h5AJ1ozuder2gmhBw2lnDrzi/3wgFZGkbAIeIRJxyPl5Fpfd Tj9lrutGvMVbnT5HUMHp1GY27r/YjFNc78ivhWYNqlGCeVSD2YmOhhOHHd/NFo54AKU/h4 oPa7hhRbleLhNPHJBT2bDqLxffHLb9UxtVUWg+BG/xJYUvalR/ju2EDZDHO3SA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337688; a=rsa-sha256; cv=none; b=mu0Hvu7mD/lKsaAMTjIYX8R2XPejoFYeoyZJpGF6QI/6SAYZpydrAffCdmDFyVB5iS5XZ6 zB/ltY6zmPrdsqqpwiNz/01H8Sn9HPNDgnwT+h9kDwelPFkWYetLqDlokPgk3zlD6cGKV8 yKn4ggymEMlY4mVkhV3ZKciz+S0eLp7mQwSaGiDg449pNO11iKlij6+88eUFzXy2sH4tTg 1gc3J1I84pqmeqGUiH1PEkp73KLD1yZH5nPyywz7yqwL5yPMApeaEBjNLDKUgc44JYGgyX 4lcn1D0fU+mvXj2XQNzwb6Yl+eBzJz1FWAQXotlZmUOZRd6oUSxx8qusT8WBwQ== 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=1770337688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UR8KRWZ0VBAEAu8JQ48rB108B6S+Y3choilgYkGoMoI=; b=cYDigsCNQovLZzjOlI1xjLaj9CgNQoMwSglD72GY4evHn+ILXmi5Z05nQ9uKfDRE+C2z4b Lx8I8RV1Q9Qdf5C/vBuMfTEFPmWxLZlCMc6bxJ30FHVRxBaMR7pfzAERHgZqnAegDG7L9U /g2NkXH/2lVRlC4O+PpgZ6jJ7gG2L2EArmr07scQsILaLDVhNGlIljqFcPhIUlGLFdp08+ +lG3HBqPxtHXFOhwKGYglLgp21zkbm9z/eKklDOgpWHYS5cErDEfYq2um3WnZjk8C7R1IL XS9f0hyQOkw8+mvUZy9l9OejjGaVauo3zVgxNyJjpuw5D8s5/bl1uQmKh3dSrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgX4MPczsZ1 for ; Fri, 06 Feb 2026 00:28:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 310c1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: William Carrel From: Alexander Ziaee Subject: git: e71477916c62 - stable/14 - ifconfig.8: Mention max name length List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e71477916c62d65baf17200cfb3f85ec7de0aa65 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:08 +0000 Message-Id: <69853598.310c1.28607f67@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=e71477916c62d65baf17200cfb3f85ec7de0aa65 commit e71477916c62d65baf17200cfb3f85ec7de0aa65 Author: William Carrel AuthorDate: 2025-10-30 18:39:29 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:19:40 +0000 ifconfig.8: Mention max name length PR: 289113 MFC after: 3 days (cherry picked from commit 832cd05905980d0f6547bf02745b054c1f4af1eb) --- sbin/ifconfig/ifconfig.8 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8 index 980d61e9c214..674aae39760f 100644 --- a/sbin/ifconfig/ifconfig.8 +++ b/sbin/ifconfig/ifconfig.8 @@ -631,6 +631,9 @@ This is useful for devices which have multiple physical layer interfaces .It Cm name Ar name Set the interface name to .Ar name . +The +.Ar name +may not be longer than 15 characters. .It Cm rxcsum , txcsum , rxcsum6 , txcsum6 If the driver supports user-configurable checksum offloading, enable receive (or transmit) checksum offloading on the interface. From nobody Fri Feb 6 00:28:09 2026 X-Original-To: dev-commits-src-branches@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 4f6ZgZ1fBbz6RRw8 for ; Fri, 06 Feb 2026 00:28:10 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgY5jw3z3w0V for ; Fri, 06 Feb 2026 00:28:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337689; 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=es3XP64xC8TnlNsp8ioCldNgQsFM6wBnfEpVeWva6pw=; b=H2awEhaE6bJtVRh2lSkiAp4+46qIrZF7IOqwM0uMjyCh55c5V8eW6NHrJz8SdvbC4IId4E 5pBrENN4t5cBttu7USdphL4CxeR7VXRRBsZlVu41G/P6lhldWiJycLf/Q+595NCf6GzVNg Zi3t/HumZdG9j2tSkYKBeTPnSba2YZ/X6VcF8z3qC4raPGYV2aQkhODAzqqQFTsQdRLNgD bFRKiXP282qTGtwPNvxzpNF1ZfXPQQZ7nWn9CM2/eH/Fdt+2Mejj5Vlcrm32FCzRohCHl3 Nkv6aBruzqCc/MrCgmxMMV2D8jx85kNlvWYqDsCC96n2KbZfjgQx9WQUGwjkYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337689; a=rsa-sha256; cv=none; b=ypW+C8Y8KNKsJCDp2rnTgG4Qs78tRyEllKJ5WgMvvcj9sGoDQ2dl3OLpEqE5G8ASRvncE5 N+UIZiPWtPPRohf+zbJMdx57srM5MC8SCkbtGEzXCR4kBBogqR6MGFHXClVWZkcKfbSG9J GPU2/Hc0Km+sOXZv10Fa4enJ3QmkEz4iDsaaVXQOS8ptBXSvIWIQPydYme63zwIlaXviKS GFGch2YnE21Ad2lxIy6QyVzijA1WRc4JczSAxnsP7lrtdWjzQwPl5cBZHYcnOswmpDBK1b Fi/IKUgxtW+AJQ7d9nvZTZynp9drsuzgXnLOL/IB00ENqVQtnxehIMGYjf1dPQ== 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=1770337689; 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=es3XP64xC8TnlNsp8ioCldNgQsFM6wBnfEpVeWva6pw=; b=n52JTKtO1IuBoMdYBT3dE8X2DO949VAZagqKWELB6OaBRh8wTncEIEOoJoh+90/v5UjSqD AuMvYGHqdf3G4YCyfEqAn64xo2PJJ3Cr/5uK6efUONEAgbEUYTtHBjz0ipIkCgjN9wm7wD 8Z3aaKzsfYfKg4qQCw1JgqwHkAP9vnlph+eLMNvhX3raCXrQ91CNYcQnNziwjF/3oSUNvO 2akMzqyoOlBAOiW7/JPnLLdn1ajiPB9Zx3ZCVUVd8vLTFYXkC2iyEHl20I3oHGBHnLP0Hd mc25MV2usLmjtmADKF+pETb9OdpUkVhVNFOwWd4XRkXMe7jum+0cVR4oXAVV+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgY5GpFzsZ2 for ; Fri, 06 Feb 2026 00:28:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31397 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: d31dc797db78 - stable/14 - gshsec.8: Fix list alignment, tag spdx List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d31dc797db78d5ff2b4bc571cffc0ee36fde5f9a Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:09 +0000 Message-Id: <69853599.31397.6e353e39@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=d31dc797db78d5ff2b4bc571cffc0ee36fde5f9a commit d31dc797db78d5ff2b4bc571cffc0ee36fde5f9a Author: Alexander Ziaee AuthorDate: 2025-10-30 15:49:31 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:19:55 +0000 gshsec.8: Fix list alignment, tag spdx MFC after: 3 days (cherry picked from commit 05d48584607221922539bb6917c9c118236d78d5) --- lib/geom/shsec/gshsec.8 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/geom/shsec/gshsec.8 b/lib/geom/shsec/gshsec.8 index 9430fde13c52..8d1c0fa704ae 100644 --- a/lib/geom/shsec/gshsec.8 +++ b/lib/geom/shsec/gshsec.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2005 Pawel Jakub Dawidek .\" All rights reserved. .\" @@ -64,7 +67,7 @@ the rest of them. The first argument to .Nm indicates an action to be performed: -.Bl -tag -width ".Cm destroy" +.Bl -tag -width indent .It Cm label Set up a shared secret device from the given components with the specified .Ar name . @@ -92,7 +95,7 @@ See .El .Pp Additional options: -.Bl -tag -width ".Fl f" +.Bl -tag -width indent .It Fl f Force the removal of the specified shared secret device. .It Fl h From nobody Fri Feb 6 00:28:10 2026 X-Original-To: dev-commits-src-branches@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 4f6Zgb3hmHz6RRWn for ; Fri, 06 Feb 2026 00:28:11 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZgZ6fmdz3w2S for ; Fri, 06 Feb 2026 00:28:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337690; 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=4msncb6mnNjnIATM/aPWr7nxt062pGJ2W8EKlXuiIXs=; b=ZlRjFfGcPNr5sU3H9NmK8lJTA9+Z+PgB2WKzjNQj6OAwgXrpVh7Enew7YH34h0UcYL6TQL Mb2vzgXxZxiU/bf6W+vaSH7yE1B9vwrueeabqIzKqGWY2qsD46lZl3KYDPr4p7tzzvQloS rKyCSzbkekMDOzPMUlBWNecUh7sBhNBlGXwGFVI0apheuTOwjV+rm2Drhiwq5ZdseeyMAf xrq5L0PxHOJ+hrPhQ86CJKzm2FP5irgB9frVZpihcQlet/T0xQh67cg5JV4a4xWazZEAMS V4tXWeSj26+vjlfVdaL3fnvSrnlS32SpIlk/ZSQg+g1Iyz9ouGpmRgIyKme65g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337690; a=rsa-sha256; cv=none; b=MidLnFdYfbpUHqzu5KDsDVUPpd51F0r8JKZNLJlYmtmlfPDcPflbXojj2H4yOtZrK2ZdhE EKtKhwIgXwJO/beXvsfEV6YzuP1gy8Gkn+pnznbo1qFSXKOsOUHphPPbHKITKx57ascNk4 8ZkSILbkQpSKF7YEcmHQ1jI6gRS2Do5wLWBZ4UN+LajB/12xgWNnnK8y4wdGg+yyJXP79J IpN0HtXf4pB3G85Fe8c9GW3Pb8IrVmpSpPLSNXGTJ/5ZDMUlwMGEEt4EmXFFRS+VNy3xRC cNIMohif9ejYMXgEc5YAaskv86K927mVE/N5oEs0DJy0PiKMHVBVIGiEiHtJ1g== 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=1770337690; 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=4msncb6mnNjnIATM/aPWr7nxt062pGJ2W8EKlXuiIXs=; b=fJZt/xJmYTkQBmFcAh6zdt+NgrO1U8n+3uE85Uj+kg7rF8sxpW6Ng7wPrKE5e5P+ky+UuD qbEADnUlKBhhEtB4KevhWa4DLuwVfgMBtmzPUjBKgvsZTpjRlhMGntN8XKmH8VOEylD/Ie pQY3Ik1foFGRRQhn+z8GtZxumV2D17nz0mI0F7A5y1pAHVXdUoqZ8n4Y3ji3as4rkf9qq7 x0uZSh4fKhwgKdDFBxrEz4sekG7y5C9/IY0d/j+pUQUeZRVcqyC4acxo/Y5AaUes+UUUn5 3/Ab501p6y+IIaNoWX/8RrEzD2E/wcLQgzBHIUB3RVVVPrytaPfPk91s/3/FUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZgZ63tWzsrs for ; Fri, 06 Feb 2026 00:28:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 311f7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 5f6144238c54 - stable/14 - cli.lua.8: Reflow literal comments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5f6144238c540b72291b9595c89193034eb6a004 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:10 +0000 Message-Id: <6985359a.311f7.2bae4a8d@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=5f6144238c540b72291b9595c89193034eb6a004 commit 5f6144238c540b72291b9595c89193034eb6a004 Author: Alexander Ziaee AuthorDate: 2025-10-09 21:13:54 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:20:17 +0000 cli.lua.8: Reflow literal comments Reflow comments in literal text blocks so this manual is legible at MANWIDTH 78. MFC after: 1 day (cherry picked from commit de36d0dbaeaf05e9bf949fdf22b560c34b2c0d74) --- stand/lua/cli.lua.8 | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/stand/lua/cli.lua.8 b/stand/lua/cli.lua.8 index aee1d3d53579..e47ecd3d23db 100644 --- a/stand/lua/cli.lua.8 +++ b/stand/lua/cli.lua.8 @@ -52,10 +52,11 @@ For instance: local cli = require("cli") cli.foo = function(...) - -- Expand args to command name and the rest of argv. These arguments - -- are pushed directly to the stack by loader, then handed off to - -- cli_execute. cli_execute then passes them on to the invoked - -- function, where they appear as varargs that must be peeled apart into + -- Expand args to command name and the rest of argv. + -- These arguments are pushed directly to the stack by + -- loader, then handed off to cli_execute. cli_execute + -- then passes them on to the invoked function, where + -- they appear as varargs that must be peeled apart into -- their respective components. local _, argv = cli.arguments(...) @@ -63,10 +64,11 @@ cli.foo = function(...) for k, v in ipairs(argv) do print("arg #" .. tostring(k) .. ": '" .. v .. "'") end - -- Perform a loader command directly. This will not get dispatched back - -- to Lua, so it is acceptable to have a function of the exact same name - -- in loader. Lua will have the first chance to handle any commands - -- executed at the loader prompt. + -- Perform a loader command directly. This will not get + -- dispatched back to Lua, so it is acceptable to have a + -- function of the exact same name in loader. Lua will + -- have the first chance to handle any commands executed + -- at the loader prompt. loader.perform("foo") end .Ed From nobody Fri Feb 6 00:28:13 2026 X-Original-To: dev-commits-src-branches@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 4f6Zgd2fJtz6RRyl for ; Fri, 06 Feb 2026 00:28:13 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zgd11zrz3w66 for ; Fri, 06 Feb 2026 00:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337693; 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=4lmOzp9dlBhjNoM0xe9ZKsP8VbJncl7Xg5GP6azv/Uw=; b=J17unLwD4yI+Ao6C8feRXFVHZqUT35t+dnmvCWS87uB3/kMCbSm7aVwtlKxHoecMci3mft cmSMQO8e4eqW/DXnIzbT3POoYfTdFQCWEyhvFrGJYY9LKYnadzwGFOiyczpsMo+nydmc37 9k6IkkJhIlZAScEjIPw9rn3zOg1cgg/BRFlzcIkB5xtam7SAYU52B4b3xDGyG5PyPLR4kU Q0VkBiHepq91Upk6sgSp5GFGaI+8EOHkwDtfx9Mlo2g8W/0ezCIRele8SLnuZYKw9j5jSW Cf2eE1wyQhz+a5BtkkNUdvmfFw//24id6NxO7Diik5gXcM0/hFErcdLu8po+Ow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337693; a=rsa-sha256; cv=none; b=XhtpqbB/9qkC9I+wKymZObJYitMrBnspl8ITr1ajijWCC+HuTaVPhG8Y7ATKJ0EoQnwQ/1 Akwgf/B13dEgr36i8dDlsNl29Xv8knST8sRxOK+aIi/4N36bGKgfH8xxEdE2QJBJKoPCXm zYnODcLv58ME0A9BSURM61+uMagrm3ie7nYdY1tSFlZ0Map9ZVN7U8OB87xVLG1lZyDH1+ XT9C3q/KWdHKy3moP9WoJsZ2qsKxUtN4BX7YWW3aLT5rz2pJ0UN4pv/50fSWka/4yhClSJ UY3HrzAqZwFutr8uBijPWol61KcHtXA36+Ka24vxxNKA2zqc6I5CTbnx3C9iow== 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=1770337693; 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=4lmOzp9dlBhjNoM0xe9ZKsP8VbJncl7Xg5GP6azv/Uw=; b=C3nEcfeNZLdWv87aSeDtc2zbcy4j9L3KenYQ+0mxON6IdwPSgWWl5ws92vEggR+iP6uHPi Sbfb3FPwIEKAQvbbMLaDlU//GX+m0csjGINbVdJUh1ovzYNIwgJrmojwWn6N+k17sI4+RS PqpunjPf9dvipe5grfpKwpRwUzmeBOVz3zzzmdebVWrTDagsnZqFFiOSMDOleUpe5gWWJD mEE0QzpFSKn4oefK5LLmHRH4NqfvPpYjO9az0zH3YtAuosHxeWJCljQGBIQrC9h0m4qNDk H+jVNCpoTmX/jT3ywd9AhI2Xg4PxSEtPs8hG/f3ziHTQOl/FOp7eEeEKhe1H4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zgd0Z6TzsZ5 for ; Fri, 06 Feb 2026 00:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32183 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 8094ef1d8109 - stable/14 - umass.4: Remove some extra lines which snuck in List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8094ef1d81099b53ed3e24440b8105213f72e912 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:13 +0000 Message-Id: <6985359d.32183.2c240610@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=8094ef1d81099b53ed3e24440b8105213f72e912 commit 8094ef1d81099b53ed3e24440b8105213f72e912 Author: Alexander Ziaee AuthorDate: 2025-10-02 18:02:01 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:21:52 +0000 umass.4: Remove some extra lines which snuck in Fixes: 70993c2fbe1ac (umass.4: Add HISTORY, HARDWARE, and SPDX) MFC with: 70993c2fbe1ac (umass.4: Add HISTORY, HARDWARE, and SPDX) (cherry picked from commit 34a2b5b09afe2a2fa3672f448d522b4665db9272) --- share/man/man4/umass.4 | 3 --- 1 file changed, 3 deletions(-) diff --git a/share/man/man4/umass.4 b/share/man/man4/umass.4 index 9164f02b7d1e..db4e6f0890f2 100644 --- a/share/man/man4/umass.4 +++ b/share/man/man4/umass.4 @@ -87,9 +87,6 @@ USB hard disk drives .It USB floppy drives .El -.Sh CACHE EFFECTS -Many direct access devices are equipped with read and/or write caches. -Parameters affecting the device's cache are stored in mode page 8, .Sh EXAMPLES .Bd -literal -offset indent device umass From nobody Fri Feb 6 00:28:11 2026 X-Original-To: dev-commits-src-branches@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 4f6Zgc31kYz6RRl4 for ; Fri, 06 Feb 2026 00:28:12 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zgc06gLz3w0r for ; Fri, 06 Feb 2026 00:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337692; 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=ZlwNjd9EaFLJEMjpZaB4iq4d1gf39Lyo70lz1mn+9Mc=; b=j1c7oj3VBs0IJy7U2qj+vlUij/ltlJYGhTK+uv3Vzr7hH14dO0LONdZFQFADPjT9KazJf/ 98MuZB/r1Bg8+oXVIpsIGKM+gEUR53KpUS4FBErrVvzlamwVEcLjtwPzCa+ay48tJ3fjvB 6Zwc756JxYL6klXrluinTB9fdTxGUMP4703yvUqn4JaaK+QHwCGKjziOZDIO1TT9fMw8Es Du70glbPP9wNWNBNfMnHzOXo2R+Mk8UuZ8xC9vxRJue+2Ey4/+YaMjZPdQQxzqhGX8xGEc pdF+ZlK1rN/1Ikn0qSB28YqPNuvXz6t+EgJsgrLJbGD87ogNRCAfTyH3bzlWAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337692; a=rsa-sha256; cv=none; b=AkCElBnfQz+2o7Wsjt/VoW7qnEltnEuyCCBe+KD2qHSmaJPMD4HM7nX6jVW/awWl8QC5aQ nilvZr8JR0fGEkp3vodQ+IG4jtGibhBL+4CaByljGbUccXAT5kHuHFJxlPu/8jEJCsaoer z+PFwviI+E7/cv2rLf0/U2U8Kqe2aiz3MiqPXk2oBEDOsdpAvHddk8+ahLEO31OEydJCrk n9Sy0D7s5GMz5Yvn5hoAkVw4L184izkwiJSNOa6LBlrf/V3t921UjjNQrIh72Qyw66EoKt GmALiX+UczcNA80lO1OHN1DzLOyuVXI0FaFVPxgZyI/8IE/x05keNIhw67dEOQ== 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=1770337692; 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=ZlwNjd9EaFLJEMjpZaB4iq4d1gf39Lyo70lz1mn+9Mc=; b=BU0ppvMcUWSf1NaViGT1yAQ4Ej+hDvaMkT5mPiM8v5SQBwY4dV8FTza1O3sgaZC/dK3Gtr F/8wliwAyeA6uYKCfaxHzvtoqNEDezaZdLavZh+HX969uZ0eUMUE1Ra8k7X9UWK6YJDzHD A3kJq+y8QSyr6eXiRqyn7Ev7HWhKuKY7nwjc/i7sNtUfyrsGjJdF8Vm4M/j1F8hfc2GGHb LixqLRseE2xphrrsUsXcHVGIVuFpsGkRrCtE3kI/XL5dFIlW4UINMPvW49+TTPfIkObduJ n0YlGBS25o+1tWObG8BrJawooQKIAnt27cXJXLf03UjD8Bqluv9EFUBsPTWlog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zgb6ft7zsgD for ; Fri, 06 Feb 2026 00:28:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32087 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 220d2e590eda - stable/14 - umass.4: Add HISTORY, HARDWARE, and SPDX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 220d2e590eda32487e9526d77e0a3752b1e74f33 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:11 +0000 Message-Id: <6985359b.32087.7de9bb95@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=220d2e590eda32487e9526d77e0a3752b1e74f33 commit 220d2e590eda32487e9526d77e0a3752b1e74f33 Author: Alexander Ziaee AuthorDate: 2025-10-02 17:37:27 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:21:35 +0000 umass.4: Add HISTORY, HARDWARE, and SPDX While here, break a long line that agitates the linter. Fixes: cc16f1b9d9261f18 (Add umass.c) MFC after: 1 hour Discussed with: imp, ivy diff --git a/sys/dev/usb/FILES b/sys/dev/usb/FILES (cherry picked from commit 70993c2fbe1acb68f45bea5fc5fa086650876e23) --- share/man/man4/umass.4 | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/share/man/man4/umass.4 b/share/man/man4/umass.4 index 03e8b6ff6ef1..9164f02b7d1e 100644 --- a/share/man/man4/umass.4 +++ b/share/man/man4/umass.4 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 1999 .\" Nick Hibma . All rights reserved. .\" @@ -22,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 27, 2020 +.Dd October 2, 2025 .Dt UMASS 4 .Os .Sh NAME @@ -71,6 +74,22 @@ requires and .Xr scbus 4 to be included in the kernel. +.Sh HARDWARE +The +.Nm +driver supports USB Mass Storage devices such as: +.Pp +.Bl -bullet -compact +.It +USB thumb drives +.It +USB hard disk drives +.It +USB floppy drives +.El +.Sh CACHE EFFECTS +Many direct access devices are equipped with read and/or write caches. +Parameters affecting the device's cache are stored in mode page 8, .Sh EXAMPLES .Bd -literal -offset indent device umass @@ -92,7 +111,8 @@ camcontrol rescan 0:0:3 Rescan all slots on a multi-slot flash reader, where the slots map to separate LUNs on a single SCSI ID. Typically only the first slot will be enabled at boot time. -This assumes that the flash reader is the first SCSI bus in the system and has 4 slots. +This assumes that +the flash reader is the first SCSI bus in the system and has 4 slots. .Sh SEE ALSO .Xr cfumass 4 , .Xr ehci 4 , @@ -101,7 +121,11 @@ This assumes that the flash reader is the first SCSI bus in the system and has 4 .Xr usb 4 , .Xr xhci 4 , .Xr camcontrol 8 -.\".Sh HISTORY +.Sh HISTORY +The +.Nm +driver appeared in +.Fx 4.3 . .Sh AUTHORS .An -nosplit The From nobody Fri Feb 6 00:28:14 2026 X-Original-To: dev-commits-src-branches@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 4f6Zgf4ftCz6RRt5 for ; Fri, 06 Feb 2026 00:28:14 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zgf28j8z3wGq for ; Fri, 06 Feb 2026 00:28:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337694; 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=GVjYh0NutOMcMZzoTC1pSRaadA7qet5/VQ2Unx0obvM=; b=xtYPvtwhHg8SmnAsWeEMW+HiF068ZzWkbb1SQONds+N8JipDrxOoPGuHcG7XbueIouXf/D DW+QXgHv6g1wa6bIGu9lS1RE7+/uvzcDJTu4fYFBBNTJJMgN6CXfPZVhloSef4kBmagcsA CgaPbnsvNN6lgGFxcwQCWL0z9Q/OG6YXT3fnxAgMAZIwUiUQm7EjZp3lvJtEB8WF46nNtU XXwGz6jWDKlg8O0MOMY7RWryWmsaoH/vzMy9dVneHEAj/H14vvJkBNGp+oATzUx8SnYVs4 nP7orz0iMoStbLVZLn5VFsG6daEar3kCz9igF5ozRx/MTErgPWTr+5qwht4FVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337694; a=rsa-sha256; cv=none; b=fWTEsEGQS6i56aFkdd/7nyKerbd6+ntAtR/yuc1J6MLx/P+PixcXZsmsW7ERRe859/NYML JiFZje9k18qwGMWARTJL4oq1eCSTYxmpZMjMr8NvgFUscitFnwphUv4T3kZ8qCi3AAyeZQ 0ctLYn0upGIwN7RoXPmPMT0Z3zqOvV5UKBYt8QKPW7eSvtMO/uOVasYXufvKACguYWgfGp 7+zXifAC2hv76NVRLWWz+vHrl3TzTajvWL+8nRU2kYUffoDAH4V5MyLSkNz/B+6XCJcqZ8 IYzYEZF2DTDOrAApeWegWqvSIBiaI6J75+E0W22PHGF8Cs29dz3I3BPDffGVkg== 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=1770337694; 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=GVjYh0NutOMcMZzoTC1pSRaadA7qet5/VQ2Unx0obvM=; b=RbhFMCnuN8KBtSlz2yIJEx7/LN6ycTLiCcHPUROtwzFcvjkJWWvPmD+NXPiaFSJp+t+EKQ 0ouKVwoJClR7ZHyzldEzPMH97ebskU+t2ddJKBCvP5ZLOBrz27DkH7DYttCBfBDTXigrP8 /Nua6cKHWqmGFW1QFkn4RIYgosLOqu/v2Hbqa0budRAO99BJeHFqBvusEex+9DIi5FiR7T 7OaBwSJuZqnstK6fnowde6G7fUXjGogy4jtAZBCdDluwKnYRIbmC6jdgzyb+FCq9j+AGZE 2H3t4dETYdKe4uZaZhZfNAQbY1bn+6l+5B8q1cOx4I2quISWRNA7SK0RZp4LuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zgf13bczsrt for ; Fri, 06 Feb 2026 00:28:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31872 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 3cdb401480a1 - stable/14 - umass.4: Modernize driver loading instructions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3cdb401480a17618ac4bac5dd2281006efaf614e Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:14 +0000 Message-Id: <6985359e.31872.53937c69@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=3cdb401480a17618ac4bac5dd2281006efaf614e commit 3cdb401480a17618ac4bac5dd2281006efaf614e Author: Alexander Ziaee AuthorDate: 2025-10-09 14:55:14 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:22:10 +0000 umass.4: Modernize driver loading instructions + consolidate kernel configuration in SYNOPSIS + explain driver autoloading in DESCRIPTION + s/port/interface/ because of internal USBs + fix flow of remaining example MFC after: 1 day (cherry picked from commit d8a4843cb76ec1b7da8d5defafb7eef9a6cc1c21) --- share/man/man4/umass.4 | 56 +++++++++++++++++++++----------------------------- 1 file changed, 23 insertions(+), 33 deletions(-) diff --git a/share/man/man4/umass.4 b/share/man/man4/umass.4 index db4e6f0890f2..8c6b03a3afea 100644 --- a/share/man/man4/umass.4 +++ b/share/man/man4/umass.4 @@ -25,44 +25,44 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 2, 2025 +.Dd October 9, 2025 .Dt UMASS 4 .Os .Sh NAME .Nm umass .Nd USB Mass Storage Devices driver .Sh SYNOPSIS -To compile this driver into the kernel, -place the following line in your -kernel configuration file: -.Bd -ragged -offset indent +.Cd "device da" .Cd "device scbus" +.Cd "device pass" .Cd "device usb" .Cd "device umass" -.Ed .Pp -Alternatively, to load the driver as a -module at boot time, place the following line in +In .Xr loader.conf 5 : -.Bd -literal -offset indent -umass_load="YES" -.Ed +.Cd umass_load .Sh DESCRIPTION The .Nm driver provides support for Mass Storage devices that attach to the USB -port. +interface. .Pp -To use the -.Nm -driver, +If the appropriate hardware is detected, +the driver will be loaded automatically by +.Xr devmatch 8 . +To load the driver manually at boot time, use the +.Cm umass_load +command at the +.Xr loader 8 +prompt, or add it to +.Xr loader.conf 5 . +.Pp +To use the driver in a custom kernel, .Xr usb 4 -and one of -.Xr uhci 4 -or -.Xr ohci 4 -or -.Xr ehci 4 +and at least one of +.Xr uhci 4 , +.Xr ohci 4 , +.Xr ehci 4 , or .Xr xhci 4 must be configured in the kernel. @@ -88,16 +88,8 @@ USB hard disk drives USB floppy drives .El .Sh EXAMPLES -.Bd -literal -offset indent -device umass -device scbus -device da -device pass -.Ed -.Pp -Add the -.Nm -driver to the kernel. +Rescan all slots on a multi-slot flash reader, +where the slots map to separate LUNs on a single SCSI ID: .Bd -literal -offset indent camcontrol rescan 0:0:0 camcontrol rescan 0:0:1 @@ -105,8 +97,6 @@ camcontrol rescan 0:0:2 camcontrol rescan 0:0:3 .Ed .Pp -Rescan all slots on a multi-slot flash reader, where the slots map to separate -LUNs on a single SCSI ID. Typically only the first slot will be enabled at boot time. This assumes that the flash reader is the first SCSI bus in the system and has 4 slots. From nobody Fri Feb 6 00:28:15 2026 X-Original-To: dev-commits-src-branches@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 4f6Zgg52jXz6RRwV for ; Fri, 06 Feb 2026 00:28:15 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zgg2Q5Tz3wDP for ; Fri, 06 Feb 2026 00:28:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VduHGtPYaInleC4lfVXBDvwE3AAp3RrbtgxwvCnS4S0=; b=inH3Oq+evOTP/wRbbffX15xK+IJCDXaExIH0JLVVzdeBcL+MeH9GokFocpKQzdGOW9pGRP Q9D/J4rDaXczjdMtRm/W+8QquZg4NjK8ATAwWeNlMvSJhd3ECdBgdD8s57lcE+VzXtt29T P+y0gN2M7tg2Nsmp829W4tmnoLRXUtgBYSWggYOP4DuVkUjcyPHgtgWJG4s4NCgkPPd+03 F0rqMagQyLiBWJs6FYVqYGG1xKjm62Z/sbn4HgekaKHf+jf78lcomtglrV3Ixr57wCksIW Iie3ytjkVztc4oUp7C8Rn0kmbmUffQxN2LoXb3zlrtlt2atA2xVibQLz5cekHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337695; a=rsa-sha256; cv=none; b=mZm2TfTmZKtlgsf8/+LUtVdZp9YNEtnqQ1crE0E2v0X1XepA48jF5IX0thCDTyO90OnTNY 0K7GBgpfli80m8z/Pr7WdLwsZr7Xtg5UCKGfLNObFQrgPsFs6J1mpwl/o71Meu88rUxad3 tooQ6+rYgzEu566Y3LNRxNXUCCFlh0yrrcQI04Dx59sNXelOmUkoMx/ZDhfsZHb5ivxZsg IMC3XU61E6KLT4uXDBTi7UtvFlsnzGFH1uoQggKTYMc8C7LmrMDkLSKWkbGBMPl4f82Qqf yMqra3tzHtKma2nUALTEbVthKYD4e7SmpziZjSgBrLb+SazQo8wPABIo3Vwd/g== 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=1770337695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VduHGtPYaInleC4lfVXBDvwE3AAp3RrbtgxwvCnS4S0=; b=D77f9RMsElOZ3Sdw4IfNjpuHIgi+6QydiTFNJze0n+aLtMz7txDkGI1Ye7s1UZDPd+qi3d 9s6Fzs9WY18C4X7TyWehHE0KpezMYwP7ZB4JSN3u/ukadOnXw2xNZAy+Hkt7U1XxXklQ0B nGUmkOtHMo+aK6xZS9jXLxXCvu3gaE/GxGmZcA44QbnM4nimQoWiA/y9qavBHCRrjnRKS1 2MxHK8veDUV4ClXb1X9AIbOxaV2++05iAHSrCDOZKNXVVdL8fPyIEwzw/1trVermtySFaN 7WoCb2qhP3OTNvFPtnqbNa4S0glZ4aPAM17mKozT+G1hSZ5OR1nyw2Dcx72TVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zgg1yF8zsv0 for ; Fri, 06 Feb 2026 00:28:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31127 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Warner Losh From: Alexander Ziaee Subject: git: f1fe71222aca - stable/14 - umass(4): Update to include pointers to quirks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f1fe71222acab989f7a49c0f66a2fb2455b8d0d0 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:15 +0000 Message-Id: <6985359f.31127.1e765270@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=f1fe71222acab989f7a49c0f66a2fb2455b8d0d0 commit f1fe71222acab989f7a49c0f66a2fb2455b8d0d0 Author: Warner Losh AuthorDate: 2025-11-28 20:49:16 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:22:46 +0000 umass(4): Update to include pointers to quirks umass(4), while much improved, still sometimes need quirks. Add a pointer to usb_quirk(4) and usbconfig(8). Sponsored by: Netflix (cherry picked from commit 687ab0dc54a926092548310d71afdbe386150838) --- share/man/man4/umass.4 | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/share/man/man4/umass.4 b/share/man/man4/umass.4 index 8c6b03a3afea..306dc4e851ba 100644 --- a/share/man/man4/umass.4 +++ b/share/man/man4/umass.4 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 9, 2025 +.Dd November 28, 2025 .Dt UMASS 4 .Os .Sh NAME @@ -87,6 +87,25 @@ USB hard disk drives .It USB floppy drives .El +.Pp +The +.Nm +driver tries its best to avoid issues with the drives, not all issues +can be handled automatically, so quirks may be necessary. +See the +.Em USB Mass Sotrage quirks +section of +.Xr usb_quirk 4 +for quirks for the drives. +The +.Cd add_dev_quirk_vplh +and +.Cd add_quirk +commands of +.Xr usbconfig 8 +can manage these dynamically. +Quirks can be specified via tuables, as described in +.Xr usb_quirk 4 . .Sh EXAMPLES Rescan all slots on a multi-slot flash reader, where the slots map to separate LUNs on a single SCSI ID: @@ -106,8 +125,10 @@ the flash reader is the first SCSI bus in the system and has 4 slots. .Xr ohci 4 , .Xr uhci 4 , .Xr usb 4 , +.Xr usb_quirk 4 , .Xr xhci 4 , -.Xr camcontrol 8 +.Xr camcontrol 8 , +.Xr usbconfig 8 . .Sh HISTORY The .Nm From nobody Fri Feb 6 00:28:16 2026 X-Original-To: dev-commits-src-branches@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 4f6Zgh5Ghpz6RRtC for ; Fri, 06 Feb 2026 00:28:16 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zgh2pxWz3w8F for ; Fri, 06 Feb 2026 00:28:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337696; 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=0CGrmz1kpjD91iB0o2ZzI0/vaYzUmGsePQwrffDJEJQ=; b=KToaMFZ8Wt312Ci1EW3qk+PImoERPrqwQYP7NX7PizYYS6OOsD1HQ0OqlvSjdm6pknlx4B LU+SmLw+seXDr6jJe48vHSlPilopCSXmRqErT60snz1WKKO7SH7vreAYsnLpbqg+5kCEcC Bq6/gH1n0ajvk3ML8mpfQoDF4rkrq8TAIlfZGEJzvetaYfnREYSBi2Vb2jgUErVazuHFTt y1GqKb3hSBBYJBO4rifmS03mF7K2plMREXxQEDyj9EfFDoSd41LT+KO6xxzjJ/BBZs5qUe dD7TJ7rgbwyG2r0Ddt2oKINuL8hL9GJ0ggigKE9E/axEy3R7J8ODxKcFwUR5sw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337696; a=rsa-sha256; cv=none; b=wbGD8iWUzoXnwhuVX1AA9bg9C5Pk26gYaluJwy2Rsf1kytrF5FMy47j26IdUQFEwForlYD lIt0ALa1RBMhZSMn4XnFjDQ8JBsKvxyp2aDECdW9+Myb0W0H7MjuaDDTRh6QOHpqcZQaFc pvA2KuIuSH7Oth8fK2dPB/GRhBfOpZKxB3OX29Ja4+eBjvAV3G0/K1Y8LbSrxlIuoEYbDi occdEDl/kFIBDmITC0Y/8S2lcFCW8BHbhpy1CRnws0L1JfD0+9K6OwbstIoGZJXPlmm8V8 omql8oxZuafWdyPUQKYoFwYcOqZ4pWzrlw14pe+UH0xcigesAnn76QQJVKzSDQ== 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=1770337696; 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=0CGrmz1kpjD91iB0o2ZzI0/vaYzUmGsePQwrffDJEJQ=; b=fLX2fTurNtaOsy097Y0V3tXePAaEhsl2wgZX9cXQquJi1c0rHbMYlFT3ttgjSq7/VNK27H CoT896UuGrrXgzN+nvgB930OIvytq/XiYXt5m7xmnlU7VJCH5gojlqXd6JufFd0JM0QZD4 T2iK5EUd5PbuqHsY0Zw2PBvLNpcrjt34xTk/ZlczA4oxRvlxw3FK1K3nZJwkBP/7ZzlNdX 7A0tjLSWItA/+YTbcinR0CMYPrCND1zIgCYs8f+lUJx72JZmknPHikGGfOtSfYuYvqtgC+ 1S+t0hCyhjM0HzQGCBZlh+vkWNyOEAfO9Q2p6dJMGPbhPHRLbX5NT77/8UuxKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zgh2Lh5zsZ6 for ; Fri, 06 Feb 2026 00:28:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 310c6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: d01001fddfe8 - stable/14 - aacraid.4: Fix document description + tag SPDX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d01001fddfe8ebb685e8f6d4a0266065e52a3846 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:16 +0000 Message-Id: <698535a0.310c6.74e1174c@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=d01001fddfe8ebb685e8f6d4a0266065e52a3846 commit d01001fddfe8ebb685e8f6d4a0266065e52a3846 Author: Alexander Ziaee AuthorDate: 2025-10-08 16:48:19 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:23:06 +0000 aacraid.4: Fix document description + tag SPDX The document description previously just stated the name of the driver. Replace this with the name of the controller families and specs that it supports, in a similar fashion to other RAID drivers. MFC after: 3 days (cherry picked from commit d5d1e05efbedf67f1ef8e8428f9107401e369a0b) --- share/man/man4/aacraid.4 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/share/man/man4/aacraid.4 b/share/man/man4/aacraid.4 index 3bf683ac40c8..6de1dba4e305 100644 --- a/share/man/man4/aacraid.4 +++ b/share/man/man4/aacraid.4 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2013 Achim Leubner .\" All rights reserved. .\" @@ -21,12 +24,12 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. -.Dd June 19, 2015 +.Dd September 29, 2025 .Dt AACRAID 4 .Os .Sh NAME .Nm aacraid -.Nd Adaptec AACRAID Controller driver +.Nd Adaptec Series 6/7/8 6G and 12G SAS+SATA RAID controller driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your From nobody Fri Feb 6 00:28:17 2026 X-Original-To: dev-commits-src-branches@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 4f6Zgj5mlfz6RS2C for ; Fri, 06 Feb 2026 00:28:17 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zgj3WhGz3wKX for ; Fri, 06 Feb 2026 00:28:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337697; 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=U2kHNRetdH3kjK+M2qdGBJbAm4D7yeZoTCwO0ELYrBk=; b=rBuUOvOAkWMbb4wx7u3QbAYuXg3ncWsM/OhtI77BPJkhR+XLRF18EHCj75PE34bwPe2ZIN wo0NvlEcNOdhPajrd/3J2RU5L1kcgPNACK9FSeOGtZK+AoMt3CjXnoVIPfQy4IoNyFo9Q+ arvxzjWi6eWOsAAMssmlJgN5y9G3Y66O54dxeE/6bEQ9YBQJvNnbkHr/qlENGBuO8GkIc7 sgbJO6v5XNr4quSsm9gCF/YUyUsKuQTgOJN6rQmh38qSRkcuc78QAVPmxi73ns00FtECyL 6R/vNlyrZ48k5P0903O22+bszXfSWnWJmBzQe6K9nR6SxeodwFFa28DFCfLA/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337697; a=rsa-sha256; cv=none; b=UR3iAzX5xxHuSf8KW/qMOOHDRQPCkFXEdqhhukJk/4KFOroUqsEgdUIjmkQZbv0LTsvb5S m/wSO2FCwiMSCj0HFmOHUT1GGs26DIVJQ7sGU0zs0RBfI/hlFWF7LpcsXFMU3K4o+SEhCo DROI8jl+nZU4ppIXJzbtS7pcmUsWWl4hrOKdkbrdwHrZXUJ97+AP810UQe7umPzYq3tuB0 /toBQCh82oG86PDF/RTavbnXd/38y70NO4nJyMG5Q/IbKfvWz08ZcjKeRVmgVqgrcW28aA Q4AAoMdwQuPJcnPu9uTXTyxbFD/4kGw/0/gTZx88abwbZBbGyDL7cv8OuxFozg== 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=1770337697; 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=U2kHNRetdH3kjK+M2qdGBJbAm4D7yeZoTCwO0ELYrBk=; b=QuoYzv7/7ZcFAnt66knOmPhTiUiCINZ2zR8UzQGacD5XEoPb2uQIIsC+GF1v12OZnXGMqI H+B3+/4IfFQ9sRsgL27Q4VJxAgONMVQQOM/i/JakaAhErS+VNaRlSHfIcQn9DVCgi6IQAl YrCNMBocXHKkuO9UUj094ol6XYJeL7CZrmz0Ox/6Bg3MsVBiD2vtDE5UDgPMkdEi2vSX+0 IF7DJMEW3IHtMixMENxlL0Vx72cFX3TcayqYgYAumfFWtUWWfxSqD9rTFfRPn6VkEzoNe4 rp8b9GP9pvDDEpV79AOeza+w7pvSyYkDaTt3D9Opy4meto76VdhqNR/VIjqpxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zgj2w8vzsd9 for ; Fri, 06 Feb 2026 00:28:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 276f8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 875445a25401 - stable/14 - aacraid.4: Improve HARDWARE introductory sentance List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 875445a25401f67b62cc6e73db9f03dd2f9db8bb Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:17 +0000 Message-Id: <698535a1.276f8.173989f@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=875445a25401f67b62cc6e73db9f03dd2f9db8bb commit 875445a25401f67b62cc6e73db9f03dd2f9db8bb Author: Alexander Ziaee AuthorDate: 2025-10-08 16:45:33 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:23:47 +0000 aacraid.4: Improve HARDWARE introductory sentance To improve HW relnotes MFC after: 3 days (cherry picked from commit 20a8d06034791c8bb2cc733e4fe4fa1bc60273ec) --- share/man/man4/aacraid.4 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/share/man/man4/aacraid.4 b/share/man/man4/aacraid.4 index 6de1dba4e305..0f64f36c493a 100644 --- a/share/man/man4/aacraid.4 +++ b/share/man/man4/aacraid.4 @@ -81,9 +81,10 @@ Linux-compatible interface for the management device will be enabled and will allow Linux-based management applications to control the card. .Sh HARDWARE -Controllers supported by the +The .Nm -driver include: +driver supports the following +Adaptec 6G and 12G SAS/SATA RAID controllers: .Pp .Bl -bullet -compact .It From nobody Fri Feb 6 00:28:18 2026 X-Original-To: dev-commits-src-branches@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 4f6Zgl0nH0z6RRp0 for ; Fri, 06 Feb 2026 00:28: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zgk47Qfz3wHY for ; Fri, 06 Feb 2026 00:28:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337698; 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=7d/CpB+A6vhHmsqtDCToZMptC7Y2vEQApT9qsGKJ/hU=; b=DCygDDfaiAYT616nqKuCH9XHC+sOYpgxOqwzHQOZSNTlfphqy+lW3hiNoPQDuIynIWsiSE ccflkbJAMVO0IPc/VgUMMzaSXGfvuitUPslo8RSmOELoUkUDsW0bMIQU0q0UVQHTPx0bFY 71hxVf2ahDbb63mdC9wOCgEPVNnQCwrRsk+t75uwHHoPfyTxgdgTfkWl13g1Pe5yvW7tlG 3q1XzRBB+u2JZRffLqyHBLKiv5bFdeZGX9KOnUSqwMTFMVDVHD1JXOklFio95NOtak5a5w 45+yR514SJTAVGha3zBDdddyZpgikmyAX5GoLQV7vll7BiBTdSGaEioWdcb7hQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337698; a=rsa-sha256; cv=none; b=Wc2XD6vog2YnCgbFTtnRfjrNNJKG9pGyoWc/ijtBh4tbUlfskqiX3VZg+Hmg9l2zO5e6qM 31kwZ3XvezPwrtVOonflCqStm0KBfu2uEVEZSvxA/kDoH0Cl54S1ffe8OYVjqXrm+26IQm XCfw15sQ9MtnowxTgY+dlKiEwBJ+K3FBNCY0Ij5YIvuyZZo89yNHHxsczIQ/2kJT51Oqt/ sZTSmzriRPFi8bjP4ut2b771efeu5IRlYAPHaOyJGfMJBjJb3+mnK2bUYZsAu6JPkW9Wxw X0PYqefDyuirG1EoP7LczNNwFXfYEJt+mrB7OjDaCslbwIzZSK4ccokZ31YlLg== 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=1770337698; 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=7d/CpB+A6vhHmsqtDCToZMptC7Y2vEQApT9qsGKJ/hU=; b=GT7Kz5NA3TmnLKMYgK3xGnRhaEFI3FaKNcblAk3v2iZkx9Ss8/D9/rgG/ztKug/iea14AG eqNeaC/juGAUiVn+tPMm3wwmhLSN9YF6f9MTcFnMZLrTw6jli7xETlAZUT4UiI+wY+wS90 bOL9wtU9oLFTYNq1p1Aa6/8CVWzh5oBA4Vw+d/hTfeV+7W1AftR8lkuQif48Ktw8sgfPNd vCFCJI07wiSQCY3nTyJPfAf6bq+/oFDzNsli9W5MZOwAvs0zewJU/8nJaT9HEhk+ecsxtA iC/Kp51XD5Rv/6m6L53EeBuoPUpqsz7l+Pc+ihVXDaU0SKAl1CLx84ZSswYEOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zgk3fZtzsdC for ; Fri, 06 Feb 2026 00:28:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32106 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 0dec63d37772 - stable/14 - bsdinstall.8: Minor maintenance List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0dec63d3777254b37aac93e36a35044ff10e5f5f Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:18 +0000 Message-Id: <698535a2.32106.1e3054ad@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=0dec63d3777254b37aac93e36a35044ff10e5f5f commit 0dec63d3777254b37aac93e36a35044ff10e5f5f Author: Alexander Ziaee AuthorDate: 2025-10-03 22:26:05 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:25:02 +0000 bsdinstall.8: Minor maintenance Replace CD-ROMs with "discs, USBs, or network boot environments" to both modernize aesthetic and also nudge youths to think at scale. Since I'm disrupting the flow of these lines anyway, expand the VM acronym because I think this is one of the first manuals people will be looking at. Reset list alignment to seven characters. It was at 19 characters, and that was not enough to align them all, wasting many extra lines by crunching all the words over. Seven actually bought us some lines from six due to avg item size. Tag SPDX. MFC after: 3 days Discussed with: ivy, zi (cherry picked from commit 81d9e08a4df42079d5e163b5991d5d6f3a28d4f0) --- usr.sbin/bsdinstall/bsdinstall.8 | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bsdinstall/bsdinstall.8 b/usr.sbin/bsdinstall/bsdinstall.8 index 5d5cd4fa0a87..acc1ad844e49 100644 --- a/usr.sbin/bsdinstall/bsdinstall.8 +++ b/usr.sbin/bsdinstall/bsdinstall.8 @@ -1,4 +1,6 @@ -.\"- +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2011-2013 Nathan Whitehorn All rights reserved. .\" Copyright (c) 2018 Roberto Fernandez Cueto .\" Copyright (c) 2024 The FreeBSD Foundation @@ -27,7 +29,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd November 4, 2024 +.Dd October 3, 2025 .Dt BSDINSTALL 8 .Os .Sh NAME @@ -40,9 +42,10 @@ .Op Ar ... .Sh DESCRIPTION .Nm -is used for installation of new systems, both for system setup from -installation media, e.g., CD-ROMs, and for use on live systems to prepare -VM images and jails. +is used for installation of new systems, +both for system setup from installation media, +such as discs, USBs, or network boot environments, +and for use on live systems to prepare jails and virtual machine images. .Pp Much like .Xr make 1 , Nm @@ -56,7 +59,7 @@ these subtargets can be invoked separately by an installation script. .Sh OPTIONS .Nm supports the following options, global to all targets: -.Bl -tag -width indent+ +.Bl -tag -width "-D file" .It Fl D Ar file Provide a path for the installation log file .Pq overrides Ev BSDINSTALL_LOG . @@ -73,7 +76,7 @@ For interactive use, most users will be interested only in the and .Cm script targets. -.Bl -tag -width "jail destination" +.Bl -tag -width "-D file" .It Cm auto Run the standard interactive installation, including disk partitioning. .It Cm jail Ar destination @@ -282,7 +285,7 @@ Many are used internally during installation and have reasonable default values for most installation scenarios. Others are set by various interactive user prompts, and can be usefully overridden when making scripted or customized installers. -.Bl -tag -width "BSDINSTALL_DISTSITE" +.Bl -tag -width "-D file" .It Ev TMPDIR The directory to use for temporary files. Default: From nobody Fri Feb 6 00:28:52 2026 X-Original-To: dev-commits-src-branches@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 4f6ZhP286cz6RRx0 for ; Fri, 06 Feb 2026 00:28:53 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZhP00tSz3xNM for ; Fri, 06 Feb 2026 00:28:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337733; 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=/ZbYucHuUFgEL8gXqxxTHBQnvS/UDKlFtYGdkjjVrLI=; b=liWGcDjGtXLFySzvWmYrsp3R0sidksXsufZcI4Dwq7GB4wvJva4E8z1/lu7C1kBOmF9iVH pabyKp0G124m41tq0IipKsi5daDO2+NHoW7vC4Z+UVtjPULF3/K5qXCpeYhnqT9a9UmlIJ cLeT0oRjop73awtuKoRwW5VL+LDMb6JtmcqAH9AtIDZHA/cWzlL/gcj/HsfqTK5c07o1Xf +Fdd5vpSperHFD2n2o1m+jdUle1NF07Ov1Czi4DxAmmXS42K5IJIk1YBAbn4mopulecgVJ j/+iUkdM8XbH2OfIcBUUtWpxmxgN3P327b99L+tvV0js5pKAFsC6nmMWqnSx5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337733; a=rsa-sha256; cv=none; b=uE4d6cyzmFZndvgGTqQInlpgHHx/4AJUBDi6nSH4LkPVHflHaeysC4TaCdNtjBc2jw43IW nHAxrhq2gVxcKnCPgxEvLWEYqgZkbi30ldQfoieeVi/8NLhaKrr9RnqdPw2SigC5lRwRTk zFOIxtgx8D8Z+AodCapIdi6LPdTVr2tuCTwlCukuPtJJP//J+EGEqrBeyZoWWI2EuHbb0F Sw8uTegT6j/CSon9TFaJ4e/QuHhBHrSO4ehpwkpZ5C8XAjct6UmQjt5xVOdU2IqgNGGczK asywVPShxKoI5Z3Q8IT+OPYnR4FzUPy/ZrpSr3iEzOkR0huQJU6hsA/kiG6e/A== 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=1770337733; 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=/ZbYucHuUFgEL8gXqxxTHBQnvS/UDKlFtYGdkjjVrLI=; b=TlG7W+lN42wmwGAYaW7l1OX/LnN1kBC4jSuQbwgShuPbe9DEjnZiR5goiHyZ0BooVSsg1Y govbJTYTS81xfiFoZbwhol65T5G88fl2r3TZ1/peWBJTySoGEYEuaeQxTJ+B0yGCkcZAaE ZaBswQkezbsrAVGObtK1h9FtqKr8mipwWX5tiRzOAAfTGwEm6hRsijwFSYx4DIu8SwUGw0 EZEhbG7SicnLm4FUSa4lcZQHxprASpyUQLDkr8H+RJcWRj5TvczggNAyEri3XYF09IrwNn vSQGVVaTGfvcp/AGvOC5vd0mnTHRvQQ4klguU+onEga4gDqbw9rYGsE+jd3VQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZhN6Xgwzrtx for ; Fri, 06 Feb 2026 00:28:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 275df by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:28:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: a8ac0e63011d - stable/14 - mmcsd.4: s/DESCRIPTION/HARDWARE + HISTORY + SPDX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a8ac0e63011dda7f974543e9a87b61a2f8ea476c Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:28:52 +0000 Message-Id: <698535c4.275df.14436fe9@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=a8ac0e63011dda7f974543e9a87b61a2f8ea476c commit a8ac0e63011dda7f974543e9a87b61a2f8ea476c Author: Alexander Ziaee AuthorDate: 2025-10-02 14:55:18 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:28:45 +0000 mmcsd.4: s/DESCRIPTION/HARDWARE + HISTORY + SPDX This manual only describes a tiny amount suitable for the HW Relnotes. Remove the description section and replace it with a hardware section which will appear there. MFC after: 3 minutes Reported by: ivy History Ref: 5bcb64f20afff21be511cc5 (Add mmc and mmcsd) (cherry picked from commit 0c1c81c479bef8d3e67f93ea00fc5d34ccf5af33) --- share/man/man4/mmcsd.4 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/share/man/man4/mmcsd.4 b/share/man/man4/mmcsd.4 index 7466bc546b91..07d7e963b596 100644 --- a/share/man/man4/mmcsd.4 +++ b/share/man/man4/mmcsd.4 @@ -1,4 +1,6 @@ .\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2007 M. Warner Losh .\" .\" Redistribution and use in source and binary forms, with or without @@ -21,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 10, 2021 +.Dd October 2, 2025 .Dt MMCSD 4 .Os .Sh NAME @@ -29,7 +31,7 @@ .Nd MMC and SD memory card driver .Sh SYNOPSIS .Cd device mmcsd -.Sh DESCRIPTION +.Sh HARDWARE The .Nm driver implements direct access block device for MMC and SD memory cards. @@ -42,3 +44,8 @@ driver implements direct access block device for MMC and SD memory cards. .Rs .%T "The MultiMediaCard System Specification" .Re +.Sh HISTORY +The +.Nm +driver appeared in +.Fx 7.0 . From nobody Fri Feb 6 00:31:51 2026 X-Original-To: dev-commits-src-branches@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 4f6Zlr04lBz6RS7d for ; Fri, 06 Feb 2026 00:31:52 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zlq3YvCz43qN for ; Fri, 06 Feb 2026 00:31:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337911; 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=5LH5nIK31pjrZ5t1Liz5XpSGXaKllYEmKa/LpLF68Ys=; b=i/sAQIegxZPjtlWAcq2PAsk3x5spiOIdNPkoH4cwkZGrxofhll+x6CGqgYRGyaxIbnVo7e E2xQhlOFKiiOJOiob9/aK44QjaTAI1l4lwciVe8FJcH7tx+wl7xQMVjZ4V/uWXj7bagr3h EIjtW6u1fLEq/2eO6JzbTEPFD2DWf76PIcyxzRYs6iho8fOGljs7+U32C9x41Et1MqMcI9 mr7FN3y6BAUYIwNHJDIx6BqsACnPcPODMKfzQVXvF6E+N8OgL80CmJt2UaMgee9IV4aPG6 i0ec+ixSBKhO+ddKQZp0joasMVhCnDkfM1irIZ/NabuG1J6aLYOkbRnA08dgzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337911; a=rsa-sha256; cv=none; b=lnpLHKURgwaWDR0p2e5TwmuidSpw3+RxIs67Khb42aBl6fWYbgkv/fODQIpQSGA6agYbbo +d8ABXasQplG/1t/OdtAU7lscdp9pIvjYDWz6itOgTATk23XTW2Sz1qlXz+HDGnD1uO27B r98Uiu6sTeqBzUVanejeQhELheaPFmanUstKJkg5arffmps3bQt+Mn3356AHllmBk9s+C1 cB6PLnXAAX1+hSkPdI+dervchRevuz/JXfoasbizpf5QfisVJj1ayyuwQSfF7C7KM6CiZA T6tKQNUrhQThwTJqEvroj4vth7UqAPcqDWhpJmKdnuI1MzKCIVNevdn2rluw6g== 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=1770337911; 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=5LH5nIK31pjrZ5t1Liz5XpSGXaKllYEmKa/LpLF68Ys=; b=duKofmwYth0sDdNK22UfgT9LD1UwA0TGobn6YVSPrlVO/lCeyFDjj9uX+yXJjdLsjk3FCt VZ0qZe+xFHxgiPafo4SHVIaSPUO5Eql6B/N7z0HeI5OlrzPQYnhOOwjf2wnMd0Pwc39nt+ vdJl4+BMPMNff6OdRiiBIuxXHl8ZcWc6oVmThxBMGd6ckKyZ3tGLSl+tDnQ64Te0SEGQb6 pYNShNzqFCgwBczSfkrUmcy1bULl7IYIHMZZCeE5UKNJ7WVdmfwuokAheDbntT5Vqedg45 l+BpyibF7ZtHbXK5r8/II8Ip0ZVBElXS0DsKoSQnu9WnPJ5J4hRF/jZ1A+h1Kw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zlq2t4Dzt8W for ; Fri, 06 Feb 2026 00:31:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3136f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:31:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: a1f4ccd6c794 - stable/14 - mandoc: Vendor import of upstream at 2025-07-27 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a1f4ccd6c79470eb0180f4d9a012b24c267d2574 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:31:51 +0000 Message-Id: <69853677.3136f.67cd70e@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=a1f4ccd6c79470eb0180f4d9a012b24c267d2574 commit a1f4ccd6c79470eb0180f4d9a012b24c267d2574 Author: Alexander Ziaee AuthorDate: 2025-08-15 19:03:22 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:30:48 +0000 mandoc: Vendor import of upstream at 2025-07-27 Groff Compat Edition -- Interesting changes: + italics in section/subsection headers are now also bold, like groff + display "LOCAL" in response to invalid section numbers, like groff + tbl(7) rendering has been tweaked to be more like groff + scaling has been improved to better render poorly generated manuals + display "UNTITLED" in response to invalid man(7) titles, like groff + improve mandocd error handling of broken pipes + manual footers now always show NAME(SECTION) on the right, like groff MFC after: 3 days (cherry picked from commit 06410c1b51637e5e1f392d553b5008948af58014) --- contrib/mandoc/Makefile | 2 +- contrib/mandoc/TODO | 11 +- contrib/mandoc/catman.8 | 238 ++++++++++++++++++++++++++++++---- contrib/mandoc/catman.c | 231 +++++++++++++++++++++++++++++---- contrib/mandoc/gmdiff | 4 +- contrib/mandoc/man.7 | 151 +++++++++++++--------- contrib/mandoc/man.options.1 | 9 +- contrib/mandoc/man_html.c | 19 ++- contrib/mandoc/man_term.c | 133 +++++++++---------- contrib/mandoc/man_validate.c | 18 ++- contrib/mandoc/mandoc.1 | 31 ++--- contrib/mandoc/mandoc.css | 4 +- contrib/mandoc/mandocd.8 | 26 +++- contrib/mandoc/mandocd.c | 34 ++++- contrib/mandoc/manpath.c | 11 +- contrib/mandoc/mdoc_html.c | 15 ++- contrib/mandoc/mdoc_man.c | 5 +- contrib/mandoc/mdoc_markdown.c | 10 +- contrib/mandoc/mdoc_term.c | 122 ++++++++++-------- contrib/mandoc/mdoc_validate.c | 10 +- contrib/mandoc/out.c | 63 ++++++--- contrib/mandoc/out.h | 24 ++-- contrib/mandoc/roff.7 | 195 +++++++++++++++++++++------- contrib/mandoc/roff_term.c | 31 +++-- contrib/mandoc/tbl.h | 16 +-- contrib/mandoc/tbl_html.c | 34 +---- contrib/mandoc/tbl_layout.c | 10 +- contrib/mandoc/tbl_term.c | 287 +++++++++++++++++++++++------------------ contrib/mandoc/term.c | 201 ++++++++++++++++------------- contrib/mandoc/term.h | 38 +++--- contrib/mandoc/term_ascii.c | 91 +++++++------ contrib/mandoc/term_ps.c | 18 +-- contrib/mandoc/term_tab.c | 27 +--- 33 files changed, 1365 insertions(+), 754 deletions(-) diff --git a/contrib/mandoc/Makefile b/contrib/mandoc/Makefile index 7ec34a560504..0830c9f289a3 100644 --- a/contrib/mandoc/Makefile +++ b/contrib/mandoc/Makefile @@ -15,7 +15,7 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -VERSION = 1.14.6s20250613 +VERSION = 1.14.6s20250727 # === LIST OF FILES ==================================================== diff --git a/contrib/mandoc/TODO b/contrib/mandoc/TODO index 3f5a449af68f..5d582b85b154 100644 --- a/contrib/mandoc/TODO +++ b/contrib/mandoc/TODO @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.337 2025/04/08 21:53:14 schwarze Exp $ +* $Id: TODO,v 1.338 2025/07/22 13:36:54 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -505,6 +505,15 @@ are mere guesses, and some may be wrong. re-reported by tb@ Mon, 16 Mar 2015 16:47:21 +0100 loc ** exist ** algo ** size * imp ** +- Check for bad line breaks caused by PostScript and PDF using variable- + width fonts, for example in .Bl -width "string". The difficulty line + below describes a naive solution by simply scaling up widths internally + or adding default spacing (like in terminal output). If fixes are + needed in width measurements, it might be a bit harder, but likely + not unreasonably so. + reported by Jan Stary 20 May 2024 10:19:01 +0200 + loc * exist * algo ** size * imp ** + --- HTML issues -------------------------------------------------------- - support the idiom .TP .IP .TP for multi-paragraph list item bodies diff --git a/contrib/mandoc/catman.8 b/contrib/mandoc/catman.8 index 903fa1fa82c9..c0f14872afc6 100644 --- a/contrib/mandoc/catman.8 +++ b/contrib/mandoc/catman.8 @@ -1,6 +1,6 @@ -.\" $Id: catman.8,v 1.8 2017/03/18 19:56:01 schwarze Exp $ +.\" $Id: catman.8,v 1.15 2025/07/13 14:15:26 schwarze Exp $ .\" -.\" Copyright (c) 2017 Ingo Schwarze +.\" Copyright (c) 2017, 2025 Ingo Schwarze .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: March 18 2017 $ +.Dd $Mdocdate: July 13 2025 $ .Dt CATMAN 8 .Os .Sh NAME @@ -37,9 +37,9 @@ and format and formats all of them, storing the formatted versions in the same relative paths below .Ar dstdir . -Subdirectories of +Unless they already exist, .Ar dstdir -are created as needed. +itself and any required subdirectories are created. Existing files are not explicitly deleted, but possibly overwritten. .Pp The options are as follows: @@ -71,6 +71,18 @@ output mode, the .Cm fragment output option is implied. Other output options are not supported. +.It Fl v +Verbose mode, printing additional information to standard error output. +Specifying this once prints a summary about the number of files +and directories processed at the end of the iteration. +Specifying it twice additionally prints debugging information +about the backchannel from +.Xr mandocd 8 +to +.Nm +that is used to limit the number of files in flight at any given time. +For details, see +.Sx DIAGNOSTICS . .El .Sh IMPLEMENTATION NOTES Since this version avoids @@ -87,33 +99,209 @@ implementations. .Sh EXIT STATUS .Ex -std .Pp -Possible errors include: -.Bl -bullet -.It -missing, invalid, or excessive command line arguments -.It -failure to change the current working directory to +Failures while trying to open individual manual pages for reading, +to save individual formatted files to the file system, +or even to read or create subdirectories do not cause +.Nm +to return an error exit status. +In such cases, +.Nm +simply continues with the next file or subdirectory. +.Sh DIAGNOSTICS +Some fatal errors cause +.Nm +to exit before the iteration over input files is even started: +.Bl -tag -width Ds -offset indent +.It unknown option \-\- Ar option +An invalid option was passed on the command line. +.It missing arguments: srcdir and dstdir +No argument was provided. +Both .Ar srcdir -.It -failure to open +and .Ar dstdir -.It -communication failure with +are mandatory. +.It missing argument: dstdir +Only one argument was provided. +The second argument, +.Ar dstdir , +is mandatory, too. +.It too many arguments: Ar third argument +Three or more arguments were provided, but only two are supported. +.It Sy socketpair : Ar reason +The sockets needed for communication with +.Xr mandocd 8 +could not be created, for example due to file descriptor or memory exhaustion. +.It Sy fork : Ar reason +The new process needed to run .Xr mandocd 8 -.It -resource exhaustion, for example file descriptor, process table, -or memory exhaustion +could not be created, for example due to process table exhaustion +or system resource limits. +.It Sy exec Ns Po Sy mandocd Pc : Ar reason +The +.Xr mandocd 8 +child program could not be started, for example because it is not in the +.Ev PATH +or has no execute permission. +.It Sy mkdir No destination Ar dstdir : reason +The +.Ar dstdir +does not exist and could not be created, for example because +the parent directory does not exist or permission is denied. +.It Sy open No destination Ar dstdir : reason +The +.Ar dstdir +could not be opened for reading, for example because +it is not a directory or permission is denied. +.It Sy chdir No to source Ar srcdir : reason +The current working directory could not be changed to +.Ar srcdir , +for example because it does not exist, it is not a directory, +or permission is denied. +.It Sy fts_open : Ar reason +Starting the iteration was attempted but failed, +for example due to memory exhaustion. .El .Pp -Except for memory exhaustion and similar system-level failures, -failures while trying to open, read, parse, or format individual -manual pages, to save individual formatted files to the file system, -or even to create directories do not cause +Some fatal errors cause the iteration over input files to be aborted +prematurely: +.Bl -tag -width Ds -offset indent +.It FATAL: Sy fts_read : Ar reason +A call to +.Xr fts_read 3 +returned +.Dv NULL , +meaning that the iteration failed before being complete. +.It FATAL: mandocd child died: got Ar SIGNAME +This message appears if .Nm -to return an error exit status. -In such cases, +gets the +.Dv SIGCHLD +or +.Dv SIGPIPE +signal, most likely due to a fatal bug in +.Xr mandocd 8 . +.It FATAL: Sy sendmsg : Ar reason +The file descriptors needed to process one of the manual pages +could not be sent to +.Xr mandocd 8 , +for example because +.Xr mandocd 8 +could not be started or died unexpectedly. +.It FATAL: Sy recv : Ar reason +Trying to read a reply message from +.Xr mandocd 8 +failed, most likely because +.Xr mandocd 8 +unexpectedly died or closed the socket. +.It FATAL: signal Ar SIGNAME +This message appears if +.Nm +gets a +.Dv SIGHUP , +.Dv SIGINT , +or +.Dv SIGTERM +signal, for example because the user deliberately killed it. +.El +.Pp +Some non-fatal errors cause a single subdirectory to be skipped. +The iteration is not aborted but continues with the next subdirectory, +and the exit status is unaffected: +.Bl -tag -width Ds -offset indent +.It directory Ar subdirectory No unreadable : Ar reason +A directory below +.Ar srcdir +could not be read and is skipped. +.It directory Ar subdirectory No causes cycle +A directory below +.Ar srcdir +is skipped because it would cause cyclic processing. +.It Sy mkdirat Ar subdirectory : reason +A required directory below +.Ar dstdir +does not exist and could not be created. +The corresponding subdirectory below +.Ar srcdir +is skipped. +.El +.Pp +Some non-fatal errors cause a single source file to be skipped. +The iteration is not aborted but continues with the next file, +and the exit status is unaffected: +.Bl -tag -width Ds -offset indent +.It file Ar filename : reason +The function +.Xr fts_read 3 +reported a non-fatal error with respect to +.Ar filename . +.It file Ar filename : No not a regular file +For example, it might be a symbolic link or a device file. +.It Sy open Ar filename No for reading : Ar reason +A file below +.Ar srcdir +could not be read, for example due to permission problems. +.It Sy openat Ar filename No for writing : Ar reason +A file below +.Ar dstdir +could not be created or truncated, for example due to permission problems. +.El +.Pp +If errors occur, the applicable summary messages appear +after the end of the iteration: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It skipped Ar number No directories due to errors +.It skipped Ar number No files due to errors +.It processing aborted due to fatal error +.El +.Pp +If the +.Fl v +flag is specified, the following summary message also appears: +.Bl -tag -width Ds -offset indent +.It processed Ar nfiles No files in Ar ndirs No directories +A file is counted if it could be opened for reading and the +corresponding output file could be opened for writing; +this does not necessarily mean that it is a useful manual page. +A directory is counted if it could be opened for reading and the +corresponding output directory existed or could be created; +this does not necessarily mean that any files could be +processed inside. +.El +.Pp +If the +.Fl v +flag is specified twice, the following messages also appear: +.Bl -tag -width Ds -offset indent +.It allowing up to Ar number No files in flight +This is printed at the beginning of the iteration, +showing the maximum number of files that +.Nm +allows to be in flight at any given time. +.It files in flight: Ar old No \- Ar decrement No = Ar new +This message is printed when +.Nm +learns about +.Xr mandocd 8 +accepting more than one file at the same time. +The three numbers printed are the old number of files in flight, +the amount this number is being reduced, and the resulting +new number of files in flight. +.It waiting for Ar number No files in flight +This message is printed at the end of the iteration, after +.Nm +has submitted all files to +.Xr mandocd 8 +that it intends to. +THe message informs about the number of files still in flight +at this point. +The .Nm -will simply continue with the next file or subdirectory. +program then waits until +.Xr mandocd 8 +has accepted them all or until an error occurs. +.El .Sh SEE ALSO .Xr mandoc 1 , .Xr mandocd 8 diff --git a/contrib/mandoc/catman.c b/contrib/mandoc/catman.c index e46613eb0e8c..c9eda18bf71c 100644 --- a/contrib/mandoc/catman.c +++ b/contrib/mandoc/catman.c @@ -1,7 +1,7 @@ -/* $Id: catman.c,v 1.23 2021/10/15 15:04:02 schwarze Exp $ */ +/* $Id: catman.c,v 1.30 2025/07/13 14:15:26 schwarze Exp $ */ /* + * Copyright (c) 2017, 2025 Ingo Schwarze * Copyright (c) 2017 Michael Stapelberg - * Copyright (c) 2017 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -25,6 +25,7 @@ #include #include +#include #if HAVE_ERR #include #endif @@ -35,26 +36,44 @@ #else #include "compat_fts.h" #endif +#include +#include #include #include #include #include #include +int verbose_flag = 0; +sig_atomic_t got_signal = 0; + int process_manpage(int, int, const char *); int process_tree(int, int); void run_mandocd(int, const char *, const char *) __attribute__((__noreturn__)); +void signal_handler(int); ssize_t sock_fd_write(int, int, int, int); void usage(void) __attribute__((__noreturn__)); +void +signal_handler(int signum) +{ + got_signal = signum; +} + void run_mandocd(int sockfd, const char *outtype, const char* defos) { char sockfdstr[10]; + int len; - if (snprintf(sockfdstr, sizeof(sockfdstr), "%d", sockfd) == -1) + len = snprintf(sockfdstr, sizeof(sockfdstr), "%d", sockfd); + if (len >= (int)sizeof(sockfdstr)) { + errno = EOVERFLOW; + len = -1; + } + if (len < 0) err(1, "snprintf"); if (defos == NULL) execlp("mandocd", "mandocd", "-T", outtype, @@ -109,10 +128,11 @@ sock_fd_write(int fd, int fd0, int fd1, int fd2) * to neither cause more than a handful of retries * in normal operation nor unnecessary delays. */ - for (;;) { - if ((sz = sendmsg(fd, &msg, 0)) != -1 || - errno != EAGAIN) + while ((sz = sendmsg(fd, &msg, 0)) == -1) { + if (errno != EAGAIN) { + warn("FATAL: sendmsg"); break; + } nanosleep(&timeout, NULL); } return sz; @@ -125,14 +145,16 @@ process_manpage(int srv_fd, int dstdir_fd, const char *path) int irc; if ((in_fd = open(path, O_RDONLY)) == -1) { - warn("open(%s)", path); + warn("open %s for reading", path); + fflush(stderr); return 0; } if ((out_fd = openat(dstdir_fd, path, O_WRONLY | O_NOFOLLOW | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) == -1) { - warn("openat(%s)", path); + warn("openat %s for writing", path); + fflush(stderr); close(in_fd); return 0; } @@ -142,20 +164,22 @@ process_manpage(int srv_fd, int dstdir_fd, const char *path) close(in_fd); close(out_fd); - if (irc < 0) { - warn("sendmsg"); - return -1; - } - return 0; + return irc; } int process_tree(int srv_fd, int dstdir_fd) { + const struct timespec timeout = { 0, 10000000 }; /* 0.01 s */ + const int max_inflight = 16; + FTS *ftsp; FTSENT *entry; const char *argv[2]; const char *path; + int inflight, irc, decr, fatal; + int gooddirs, baddirs, goodfiles, badfiles; + char dummy[1]; argv[0] = "."; argv[1] = (char *)NULL; @@ -166,13 +190,59 @@ process_tree(int srv_fd, int dstdir_fd) return -1; } - while ((entry = fts_read(ftsp)) != NULL) { + if (verbose_flag >= 2) { + warnx("allowing up to %d files in flight", max_inflight); + fflush(stderr); + } + inflight = fatal = gooddirs = baddirs = goodfiles = badfiles = 0; + while (fatal == 0 && got_signal == 0 && + (entry = fts_read(ftsp)) != NULL) { + if (inflight >= max_inflight) { + while (recv(srv_fd, dummy, sizeof(dummy), 0) == -1) { + if (errno != EAGAIN) { + warn("FATAL: recv"); + fatal = errno; + break; + } + nanosleep(&timeout, NULL); + } + if (fatal != 0) + break; + decr = 1; + while ((irc = recv(srv_fd, dummy, sizeof(dummy), + MSG_DONTWAIT)) > 0) + decr++; + assert(inflight >= decr); + if (verbose_flag >= 2 && decr > 1) { + warnx("files in flight: %d - %d = %d", + inflight, decr, inflight - decr); + fflush(stderr); + } + inflight -= decr; + if (irc == 0) { + errno = ECONNRESET; + inflight = -1; + } + if (errno != EAGAIN) { + warn("FATAL: recv"); + fatal = errno; + break; + } + } path = entry->fts_path + 2; switch (entry->fts_info) { case FTS_F: - if (process_manpage(srv_fd, dstdir_fd, path) == -1) { - fts_close(ftsp); - return -1; + switch (process_manpage(srv_fd, dstdir_fd, path)) { + case -1: + fatal = errno; + break; + case 0: + badfiles++; + break; + default: + goodfiles++; + inflight++; + break; } break; case FTS_D: @@ -180,25 +250,96 @@ process_tree(int srv_fd, int dstdir_fd) mkdirat(dstdir_fd, path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) == -1 && errno != EEXIST) { - warn("mkdirat(%s)", path); + warn("mkdirat %s", path); + fflush(stderr); (void)fts_set(ftsp, entry, FTS_SKIP); - } + baddirs++; + } else + gooddirs++; break; case FTS_DP: break; + case FTS_DNR: + warnx("directory %s unreadable: %s", + path, strerror(entry->fts_errno)); + fflush(stderr); + baddirs++; + break; + case FTS_DC: + warnx("directory %s causes cycle", path); + fflush(stderr); + baddirs++; + break; + case FTS_ERR: + case FTS_NS: + warnx("file %s: %s", + path, strerror(entry->fts_errno)); + fflush(stderr); + badfiles++; + break; default: - warnx("%s: not a regular file", path); + warnx("file %s: not a regular file", path); + fflush(stderr); + badfiles++; break; } } + if (got_signal != 0) { + switch (got_signal) { + case SIGCHLD: + warnx("FATAL: mandocd child died: got SIGCHLD"); + break; + case SIGPIPE: + warnx("FATAL: mandocd child died: got SIGPIPE"); + break; + default: + warnx("FATAL: signal SIG%s", sys_signame[got_signal]); + break; + } + inflight = -1; + fatal = 1; + } else if (fatal == 0 && (fatal = errno) != 0) + warn("FATAL: fts_read"); fts_close(ftsp); - return 0; + if (verbose_flag >= 2 && inflight > 0) { + warnx("waiting for %d files in flight", inflight); + fflush(stderr); + } + while (inflight > 0) { + irc = recv(srv_fd, dummy, sizeof(dummy), 0); + if (irc > 0) + inflight--; + else if (irc == -1 && errno == EAGAIN) + nanosleep(&timeout, NULL); + else { + if (irc == 0) + errno = ECONNRESET; + warn("recv"); + inflight = -1; + } + } + if (verbose_flag) + warnx("processed %d files in %d directories", + goodfiles, gooddirs); + if (baddirs > 0) + warnx("skipped %d %s due to errors", baddirs, + baddirs == 1 ? "directory" : "directories"); + if (badfiles > 0) + warnx("skipped %d %s due to errors", badfiles, + badfiles == 1 ? "file" : "files"); + if (fatal != 0) { + warnx("processing aborted due to fatal error, " + "results are probably incomplete"); + inflight = -1; + } + return inflight; } int main(int argc, char **argv) { + struct sigaction sa; const char *defos, *outtype; int srv_fds[2]; int dstdir_fd; @@ -207,7 +348,7 @@ main(int argc, char **argv) defos = NULL; outtype = "ascii"; - while ((opt = getopt(argc, argv, "I:T:")) != -1) { + while ((opt = getopt(argc, argv, "I:T:v")) != -1) { switch (opt) { case 'I': defos = optarg; @@ -215,6 +356,9 @@ main(int argc, char **argv) case 'T': outtype = optarg; break; + case 'v': + verbose_flag += 1; + break; default: usage(); } @@ -224,8 +368,36 @@ main(int argc, char **argv) argc -= optind; argv += optind; } - if (argc != 2) + if (argc != 2) { + switch (argc) { + case 0: + warnx("missing arguments: srcdir and dstdir"); + break; + case 1: + warnx("missing argument: dstdir"); + break; + default: + warnx("too many arguments: %s", argv[2]); + break; + } usage(); + } + + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = &signal_handler; + sa.sa_flags = SA_NOCLDWAIT; + if (sigfillset(&sa.sa_mask) == -1) + err(1, "sigfillset"); + if (sigaction(SIGHUP, &sa, NULL) == -1) + err(1, "sigaction(SIGHUP)"); + if (sigaction(SIGINT, &sa, NULL) == -1) + err(1, "sigaction(SIGINT)"); + if (sigaction(SIGPIPE, &sa, NULL) == -1) + err(1, "sigaction(SIGPIPE)"); + if (sigaction(SIGTERM, &sa, NULL) == -1) + err(1, "sigaction(SIGTERM)"); + if (sigaction(SIGCHLD, &sa, NULL) == -1) + err(1, "sigaction(SIGCHLD)"); if (socketpair(AF_LOCAL, SOCK_STREAM, AF_UNSPEC, srv_fds) == -1) err(1, "socketpair"); @@ -242,11 +414,18 @@ main(int argc, char **argv) } close(srv_fds[1]); - if ((dstdir_fd = open(argv[1], O_RDONLY | O_DIRECTORY)) == -1) - err(1, "open(%s)", argv[1]); + if ((dstdir_fd = open(argv[1], O_RDONLY | O_DIRECTORY)) == -1) { + if (errno != ENOENT) + err(1, "open destination %s", argv[1]); + if (mkdir(argv[1], S_IRWXU | + S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) == -1) + err(1, "mkdir destination %s", argv[1]); + if ((dstdir_fd = open(argv[1], O_RDONLY | O_DIRECTORY)) == -1) + err(1, "open destination %s", argv[1]); + } if (chdir(argv[0]) == -1) - err(1, "chdir(%s)", argv[0]); + err(1, "chdir to source %s", argv[0]); return process_tree(srv_fds[0], dstdir_fd) == -1 ? 1 : 0; } diff --git a/contrib/mandoc/gmdiff b/contrib/mandoc/gmdiff index 69431f703aaf..54025e4cd450 100644 --- a/contrib/mandoc/gmdiff +++ b/contrib/mandoc/gmdiff @@ -45,8 +45,8 @@ while [ -n "$1" ]; do file=$1 shift echo " ========== $file ========== " - $ROFF -mandoc $file | $COLPIPE 2> /tmp/roff.err > /tmp/roff.out - ${MANDOC:=mandoc} $MOPT $file | $COLPIPE \ + ($ROFF -mandoc $file | $COLPIPE) 2> /tmp/roff.err > /tmp/roff.out + (${MANDOC:=mandoc} $MOPT $file | $COLPIPE) \ 2> /tmp/mandoc.err > /tmp/mandoc.out for i in roff mandoc; do [ -s /tmp/$i.err ] && echo "$i errors:" && cat /tmp/$i.err diff --git a/contrib/mandoc/man.7 b/contrib/mandoc/man.7 index 4d27c76ba110..91eafbb35f70 100644 --- a/contrib/mandoc/man.7 +++ b/contrib/mandoc/man.7 @@ -1,7 +1,8 @@ -.\" $Id: man.7,v 1.150 2023/10/23 22:57:54 schwarze Exp $ +.\" $Id: man.7,v 1.154 2025/08/05 21:16:20 schwarze Exp $ .\" +.\" Copyright (c) 2011-2015, 2017-2020, 2023, 2025 +.\" Ingo Schwarze .\" Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons -.\" Copyright (c) 2011-2015,2017-2020,2023 Ingo Schwarze .\" Copyright (c) 2017 Anthony Bentley .\" Copyright (c) 2010 Joerg Sonnenberger .\" @@ -17,7 +18,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: October 23 2023 $ +.Dd $Mdocdate: August 5 2025 $ .Dt MAN 7 .Os .Sh NAME @@ -89,7 +90,7 @@ but can be found in the alphabetical reference below. .Ss Page header and footer meta-data .Bl -column "RS, RE" description .It Ic TH Ta set the title: Ar name section date Op Ar source Op Ar volume -.It Ic AT Ta display AT&T UNIX version in the page footer (<= 1 argument) +.It Ic AT Ta display AT&T UNIX version in the page footer (<= 2 arguments) .It Ic UC Ta display BSD version in the page footer (<= 1 argument) .El .Ss Sections and paragraphs @@ -99,6 +100,7 @@ but can be found in the alphabetical reference below. .It Ic PP Ta start an undecorated paragraph (no arguments) .It Ic IP Ta indented paragraph: Op Ar head Op Ar width .It Ic TP Ta tagged paragraph: Op Ar width +.It Ic HP Ta hanged paragraph: Op Ar width .It Ic PD Ta set vertical paragraph distance: Op Ar height .It Ic EX , EE Ta display an example (no arguments) .It Ic RS , RE Ta reset the left margin: Op Ar width @@ -198,11 +200,6 @@ argument is a scaling width. If specified, it's saved for later paragraph left margins; if unspecified, the saved or default width is used. -.Pp -This macro is portable, but deprecated -because it has no good representation in HTML output, -usually ending up indistinguishable from -.Ic PP . .It Ic I Text is rendered in italics. .It Ic IB @@ -239,6 +236,17 @@ A synonym for End a mailto block started with .Ic MT . This is a GNU extension. +.It Ic MR +Reference another manual page. +This is a Plan 9 extension also supported by GNU. +It has the following syntax: +.Pp +.D1 Pf . Ic MR Ar name section Op Ar suffix +.Pp +The optional, single +.Ar suffix +argument is appended without preceding whitespace +and typically used for trailing punctuation. .It Ic MT Begin a mailto block. This is a GNU extension. @@ -250,8 +258,12 @@ link description to be shown .Ed .It Ic OP Optional command-line argument. -This is a rarely used DWB extension. -It has the following syntax: +This is a deprecated GNU extension. +The name and purpose of the macro match an earlier DWB extension, +but both the syntax and semantics are incompatible. +In GNU and +.Xr mandoc 1 , +it has the following syntax: .Pp .D1 Pf . Ic OP Ar key Op Ar value .Pp @@ -503,43 +515,56 @@ raised. .Pp The syntax is as follows: .Bd -literal -offset indent -\&.YO \(lBbody...\(rB -\(lBbody...\(rB +\&.\e" current-line syntax +\&.YO \(lBbody ...\(rB + +\&.\e" next-line syntax +\&.YO +body ... .Ed -.Bl -column "MacroX" "ArgumentsX" "ScopeXXXXX" "CompatX" -offset indent -.It Em Macro Ta Em Arguments Ta Em Scope Ta Em Notes -.It Ic AT Ta <=1 Ta current Ta \& -.It Ic B Ta n Ta next-line Ta \& -.It Ic BI Ta n Ta current Ta \& -.It Ic BR Ta n Ta current Ta \& -.It Ic DT Ta 0 Ta current Ta \& -.It Ic EE Ta 0 Ta current Ta Version 9 At -.It Ic EX Ta 0 Ta current Ta Version 9 At -.It Ic I Ta n Ta next-line Ta \& -.It Ic IB Ta n Ta current Ta \& -.It Ic IR Ta n Ta current Ta \& -.It Ic OP Ta >=1 Ta current Ta DWB -.It Ic PD Ta 1 Ta current Ta \& -.It Ic RB Ta n Ta current Ta \& -.It Ic RI Ta n Ta current Ta \& -.It Ic SB Ta n Ta next-line Ta \& -.It Ic SM Ta n Ta next-line Ta \& -.It Ic TH Ta >1, <6 Ta current Ta \& -.It Ic UC Ta <=1 Ta current Ta \& -.It Ic in Ta 1 Ta current Ta Xr roff 7 +.Bl -column -offset indent\ + "Macro" "Arguments" "curr and next" "Version 9 AT&T UNIX" +.It Em Macro Ta Em Arguments Ta Em Line Scope Ta Em Notes +.It Ic AT Ta 0 to 2 Ta current Ta \& +.It Ic B Ta 1 or more Ta curr or next Ta \& +.It Ic BI Ta 2 or more Ta current Ta \& +.It Ic BR Ta 2 or more Ta current Ta \& +.It Ic DT Ta 0 Ta none Ta \& +.It Ic EE Ta 0 Ta none Ta Version 9 At +.It Ic EX Ta 0 Ta none Ta Version 9 At +.It Ic I Ta 1 or more Ta curr or next Ta \& +.It Ic IB Ta 2 or more Ta current Ta \& +.It Ic IR Ta 2 or more Ta current Ta \& +.It Ic MR Ta 2 or 3 Ta current Ta Plan 9 +.It Ic OP Ta 1 or 2 Ta current Ta GNU +.It Ic PD Ta 0 or 1 Ta current Ta \& +.It Ic RB Ta 2 or more Ta current Ta \& +.It Ic RI Ta 2 or more Ta current Ta \& +.It Ic SB Ta 1 or more Ta curr or next Ta \& +.It Ic SM Ta 1 or more Ta curr or next Ta \& +.It Ic TH Ta 3 to 5 Ta current Ta \& +.It Ic UC Ta 0 or 1 Ta current Ta \& +.It Ic in Ta 0 or 1 Ta current Ta Xr roff 7 .El .Ss Block Macros Block macros comprise a head and body. -As with in-line macros, the head is scoped to the current line and, in -one circumstance, the next line (the next-line stipulations as in +As with in-line macros, the head is scoped to the current line or, +for some macros, to the next line (the next-line stipulations as in .Sx Line Macros apply here as well). .Pp The syntax is as follows: .Bd -literal -offset indent -\&.YO \(lBhead...\(rB -\(lBhead...\(rB -\(lBbody...\(rB +\&.\e" current-line syntax +\&.YO \(lBhead ...\(rB +body ... +\&... + +\&.\e" next-line syntax +\&.YO \(lBhead\(rB +head ... +body ... +\&... .Ed .Pp The closure of body scope may be to the section, where a macro is closed @@ -547,40 +572,42 @@ by .Ic SH ; sub-section, closed by a section or .Ic SS ; -or paragraph, closed by a section, sub-section, +paragraph, closed by a section, sub-section, .Ic HP , .Ic IP , .Ic LP , .Ic P , .Ic PP , -.Ic RE , +.Ic RS , .Ic SY , +.Ic TP , or -.Ic TP . -No closure refers to an explicit block closing macro. +.Ic TQ ; +or to an explicit block closing macro. .Pp As a rule, block macros may not be nested; thus, calling a block macro while another block macro scope is open, and the open scope is not implicitly closed, is syntactically incorrect. -.Bl -column "MacroX" "ArgumentsX" "Head ScopeX" "sub-sectionX" "compatX" -offset indent -.It Em Macro Ta Em Arguments Ta Em Head Scope Ta Em Body Scope Ta Em Notes -.It Ic HP Ta <2 Ta current Ta paragraph Ta \& -.It Ic IP Ta <3 Ta current Ta paragraph Ta \& -.It Ic LP Ta 0 Ta current Ta paragraph Ta \& -.It Ic ME Ta 0 Ta none Ta none Ta GNU -.It Ic MT Ta 1 Ta current Ta to \&ME Ta GNU -.It Ic P Ta 0 Ta current Ta paragraph Ta \& -.It Ic PP Ta 0 Ta current Ta paragraph Ta \& -.It Ic RE Ta <=1 Ta current Ta none Ta \& -.It Ic RS Ta 1 Ta current Ta to \&RE Ta \& -.It Ic SH Ta >0 Ta next-line Ta section Ta \& -.It Ic SS Ta >0 Ta next-line Ta sub-section Ta \& -.It Ic SY Ta 1 Ta current Ta to \&YS Ta GNU -.It Ic TP Ta n Ta next-line Ta paragraph Ta \& -.It Ic TQ Ta n Ta next-line Ta paragraph Ta GNU -.It Ic UE Ta 0 Ta current Ta none Ta GNU -.It Ic UR Ta 1 Ta current Ta part Ta GNU -.It Ic YS Ta 0 Ta none Ta none Ta GNU *** 3592 LINES SKIPPED *** From nobody Fri Feb 6 00:31:53 2026 X-Original-To: dev-commits-src-branches@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 4f6Zlt31qTz6RRsH for ; Fri, 06 Feb 2026 00:31:54 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zls4L2Cz441Y for ; Fri, 06 Feb 2026 00:31:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337913; 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=1NXozQect641SF4d8vf7eLCjKALMgNLt0M/oSSOv/bM=; b=JNboF4zmSMHTADl4YewWI5TdvYNgkL0yJQaYYYFXLM2oayJJ9+jWRqkBteIp/9KEKI86BA RzyVU+RZ5xaSkbyh6P83DH1n1N3O2ZpRDCRuabyyGgWuqBTdi5heCgNgFUbGXg25qyHotH hbzdbnrhY8660UAdgKQqujRSyBv2wC7AAjm69T3rsJDmemngNsdB+e0JEAHfBsnT25c3yk LZCCujNaLRGuyxe7T757Jfn/a7gDzJ9JGCn9t77R7tu4KLuTKEwhfsFkMfPhiSVVAGkML2 wVdcYHLbhiJhlkadNHQ6+gpAIVYMrnM3EUaM3EEw+6NV2H1bKSAP7TwarfNf+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337913; a=rsa-sha256; cv=none; b=TatU30llwCbgs1uuIGd30K1DbHlHII67eX2UQPNN2kxzNU1FxPtFxgqtJn1vvUU8+Cxc4H mX82vyukmsi87E/xL5374LMBbROrRMpxp/j5OaCcKIskf3hwrva0v2kKfNnt2joGS1LkqN E85sDLvseYcDWOQ4+blRSjRVm9yVsutcqvxo+DEXui3y0ymuMoqTQv4ypX7pCPY3s9cM4s LL2ESaeZmFv25EqQk/Lxr9vb2SMO1qqBUbRZt/ALrWnZTqstA4arsu4wkDyc6ij3opkbcN 5S6aYBr50JAxFZjv2njByn0c1YRzeFB8f9tea+gZOXvrdKVhMuDSBffg1QimxQ== 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=1770337913; 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=1NXozQect641SF4d8vf7eLCjKALMgNLt0M/oSSOv/bM=; b=G5OBHBE6afX1H7Ol2ZnZn9/k9qXQPUJfeXlYr8gnLmZ7DMH05sL2MXn3/fPWwDamy0jkxw xKdOAILF9axUXeAv3+LFSn9Iq61aTi7f5CLjuAOsk2X7SIWDkHU+lGpG/V2rUA5i5ERC2E lTZhiAVYpj0Qmdn+mULW4OJCOoOOhdfZBlR4goRjPyjT0dYHSv34sbsJTO62BBLv+gJ3Po OfDjp+t+i4at9qAwaQg9T+wpAv6Uee/yoEPwfrsPzWZToVkVPmi5e3mMYIktlFinbkHtmw sNWFiVWlQJjOWTAs9P070ngsw8bGceeKMO6n/I8nkwBbUAPqBEo+vU2muLkmaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zls3ffGztBj for ; Fri, 06 Feb 2026 00:31:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3251f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:31:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: f763f12ed5eb - stable/14 - mandoc: Vendor import of upstream at 2025-09-26 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f763f12ed5eba2c95385dd2f93fc47a66dfa927c Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:31:53 +0000 Message-Id: <69853679.3251f.3847463f@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=f763f12ed5eba2c95385dd2f93fc47a66dfa927c commit f763f12ed5eba2c95385dd2f93fc47a66dfa927c Author: Alexander Ziaee AuthorDate: 2025-09-29 17:31:38 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:31:23 +0000 mandoc: Vendor import of upstream at 2025-09-26 Interesting changes: + mandoc db: Improve case sorting, found by our very own markj + history: Add macros for version 8 and 10 AT&T Unix + linter: Warn on blank lines in man(7) like mdoc(7) + manuals: Improve precision, man(7) syntax table, and roff(7) specifics + manuals: Fix PDF/PS footer regression detailed in our PR: 289786 PR: 289786 MFC after: 3 days (cherry picked from commit 59fc2b0166f71c791113379d16b8cef7039f289d) --- contrib/mandoc/Makefile | 2 +- contrib/mandoc/dba.c | 7 +++--- contrib/mandoc/main.c | 52 +++++++++----------------------------------- contrib/mandoc/man.c | 3 ++- contrib/mandoc/man.options.1 | 35 +++++++++++++++++++++++++---- contrib/mandoc/mandoc.1 | 16 ++++++++------ contrib/mandoc/mdoc.7 | 35 +++++++++++++++++++---------- contrib/mandoc/roff_term.c | 2 +- contrib/mandoc/term_ps.c | 6 ++--- 9 files changed, 84 insertions(+), 74 deletions(-) diff --git a/contrib/mandoc/Makefile b/contrib/mandoc/Makefile index 0830c9f289a3..d4a2c794b437 100644 --- a/contrib/mandoc/Makefile +++ b/contrib/mandoc/Makefile @@ -15,7 +15,7 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -VERSION = 1.14.6s20250727 +VERSION = 1.14.6s20250926 # === LIST OF FILES ==================================================== diff --git a/contrib/mandoc/dba.c b/contrib/mandoc/dba.c index ee43933de3bf..ab40798e8eed 100644 --- a/contrib/mandoc/dba.c +++ b/contrib/mandoc/dba.c @@ -1,6 +1,6 @@ -/* $Id: dba.c,v 1.10 2017/02/17 14:43:54 schwarze Exp $ */ +/* $Id: dba.c,v 1.11 2025/09/24 13:13:30 schwarze Exp $ */ /* - * Copyright (c) 2016, 2017 Ingo Schwarze + * Copyright (c) 2016, 2017, 2025 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -318,7 +318,8 @@ compare_names(const void *vp1, const void *vp2) cp1 = *(const char * const *)vp1; cp2 = *(const char * const *)vp2; return (diff = *cp2 - *cp1) ? diff : - strcasecmp(cp1 + 1, cp2 + 1); + (diff = strcasecmp(cp1 + 1, cp2 + 1)) ? diff : + strcmp(cp1 + 1, cp2 + 1); } static int diff --git a/contrib/mandoc/main.c b/contrib/mandoc/main.c index 57b06c9b9e66..d70ff1ce77b4 100644 --- a/contrib/mandoc/main.c +++ b/contrib/mandoc/main.c @@ -1,6 +1,6 @@ -/* $Id: main.c,v 1.361 2022/04/14 16:43:43 schwarze Exp $ */ +/* $Id: main.c,v 1.364 2025/09/24 21:30:20 schwarze Exp $ */ /* - * Copyright (c) 2010-2012, 2014-2021 Ingo Schwarze + * Copyright (c) 2010-2012,2014-2021,2025 Ingo Schwarze * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010 Joerg Sonnenberger * @@ -109,7 +109,7 @@ static void parse(struct mparse *, int, const char *, struct outstate *, struct manconf *); static void passthrough(int, int); static void process_onefile(struct mparse *, struct manpage *, - int, struct outstate *, struct manconf *); + struct outstate *, struct manconf *); static void run_pager(struct outstate *, char *); static pid_t spawn_pager(struct outstate *, char *); static void usage(enum argmode) __attribute__((__noreturn__)); @@ -144,7 +144,6 @@ main(int argc, char *argv[]) int options; /* Parser options. */ int show_usage; /* Invalid argument: give up. */ int prio, best_prio; - int startdir; int c; enum mandoc_os os_e; /* Check base system conventions. */ enum outmode outmode; /* According to command line. */ @@ -514,7 +513,7 @@ main(int argc, char *argv[]) if (resnsz == 0) (void)fs_search(&search, &conf.manpath, *argv, &resn, &resnsz); - if (resnsz == 0 && strchr(*argv, '/') == NULL) { + if (resnsz == 0) { if (search.arch != NULL && arch_valid(search.arch, OSENUM) == 0) warnx("Unknown architecture \"%s\".", @@ -529,20 +528,6 @@ main(int argc, char *argv[]) mandoc_msg_setrc(MANDOCLEVEL_BADARG); continue; } - if (resnsz == 0) { - if (access(*argv, R_OK) == -1) { - mandoc_msg_setinfilename(*argv); - mandoc_msg(MANDOCERR_BADARG_BAD, - 0, 0, "%s", strerror(errno)); - mandoc_msg_setinfilename(NULL); - continue; - } - resnsz = 1; - resn = mandoc_calloc(resnsz, sizeof(*res)); - resn->file = mandoc_strdup(*argv); - resn->ipath = SIZE_MAX; - resn->form = FORM_SRC; - } if (outmode != OUTMODE_ONE || resnsz == 1) { res = mandoc_reallocarray(res, ressz + resnsz, sizeof(*res)); @@ -559,7 +544,8 @@ main(int argc, char *argv[]) best_prio = 40; for (ib = i = 0; i < resnsz; i++) { - sec = resn[i].file; + sec = resn[i].file + + strlen(conf.manpath.paths[resn[i].ipath]); sec += strcspn(sec, "123456789"); if (sec[0] == '\0') continue; /* No section at all. */ @@ -647,23 +633,13 @@ main(int argc, char *argv[]) mchars_alloc(); mp = mparse_alloc(options, os_e, os_s); - /* - * Remember the original working directory, if possible. - * This will be needed if some names on the command line - * are page names and some are relative file names. - * Do not error out if the current directory is not - * readable: Maybe it won't be needed after all. - */ - startdir = open(".", O_RDONLY | O_DIRECTORY); for (i = 0; i < ressz; i++) { - process_onefile(mp, res + i, startdir, &outst, &conf); + if (i > 0) + mparse_reset(mp); + process_onefile(mp, res + i, &outst, &conf); if (outst.wstop && mandoc_msg_getrc() != MANDOCLEVEL_OK) break; } - if (startdir != -1) { - (void)fchdir(startdir); - close(startdir); - } if (conf.output.tag != NULL && conf.output.tag_found == 0) { mandoc_msg(MANDOCERR_TAG, 0, 0, "%s", conf.output.tag); conf.output.tag = NULL; @@ -909,7 +885,7 @@ fs_search(const struct mansearch *cfg, const struct manpaths *paths, } static void -process_onefile(struct mparse *mp, struct manpage *resp, int startdir, +process_onefile(struct mparse *mp, struct manpage *resp, struct outstate *outst, struct manconf *conf) { int fd; @@ -921,8 +897,6 @@ process_onefile(struct mparse *mp, struct manpage *resp, int startdir, */ if (resp->ipath != SIZE_MAX) (void)chdir(conf->manpath.paths[resp->ipath]); - else if (startdir != -1) - (void)fchdir(startdir); mandoc_msg_setinfilename(resp->file); if (resp->file != NULL) { @@ -982,18 +956,12 @@ parse(struct mparse *mp, int fd, const char *file, struct outstate *outst, struct manconf *conf) { static struct manpaths basepaths; - static int previous; struct roff_meta *meta; assert(fd >= 0); if (file == NULL) file = ""; - if (previous) - mparse_reset(mp); - else - previous = 1; - mparse_readfd(mp, fd, file); if (fd != STDIN_FILENO) close(fd); diff --git a/contrib/mandoc/man.c b/contrib/mandoc/man.c index f651efe3de8b..26846f1cf243 100644 --- a/contrib/mandoc/man.c +++ b/contrib/mandoc/man.c @@ -1,4 +1,4 @@ -/* $Id: man.c,v 1.189 2022/08/16 23:01:09 schwarze Exp $ */ +/* $Id: man.c,v 1.190 2025/08/22 13:17:06 schwarze Exp $ */ /* * Copyright (c) 2013-2015,2017-2019,2022 Ingo Schwarze * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons @@ -134,6 +134,7 @@ man_ptext(struct roff_man *man, int line, char *buf, int offs) *ep = '\0'; return 1; } + mandoc_msg(MANDOCERR_FI_BLANK, line, i, NULL); roff_elem_alloc(man, line, offs, ROFF_sp); man->next = ROFF_NEXT_SIBLING; return 1; diff --git a/contrib/mandoc/man.options.1 b/contrib/mandoc/man.options.1 index be65ad98fddc..be101d4b5b62 100644 --- a/contrib/mandoc/man.options.1 +++ b/contrib/mandoc/man.options.1 @@ -1,4 +1,4 @@ -.\" $Id: man.options.1,v 1.8 2025/06/30 00:11:06 schwarze Exp $ +.\" $Id: man.options.1,v 1.9 2025/08/28 13:46:57 schwarze Exp $ .\" .\" Copyright (c) 2017, 2025 Ingo Schwarze .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: June 30 2025 $ +.Dd $Mdocdate: August 28 2025 $ .Dt MAN.OPTIONS 1 .Os .Sh NAME @@ -39,9 +39,18 @@ .de At5 .At V Pq January 1983 \\$1 .. +.de At8 +.No Version 8 At Pq February 1985 \\$1 +.. .de Bx43 .Bx 4.3 Pq June 1986 \\$1 .. +.de At9 +.No Version 9 At Pq September 1986 \\$1 +.. +.de At10 +.No Version 10 At Pq October 1989 \\$1 +.. .\" option was present in groff-1.01 as contained in 4.3BSD-Net/2 .\" and no mention of it could be found in the ChangeLog, .\" so it's probably older than groff-0.4, where the log started @@ -49,7 +58,7 @@ .No probably before groff-0.4 Pq before July 14, 1990 \\$1 .. .de Eaton -.No Eaton Pq before July 7, 1993; 1990/91? \\$1 +.No Eaton Pq before July 7, 1993; 1990/91?\& \\$1 .. .\" man-1.5e was released on July 11, 1998. .de man15e @@ -399,6 +408,12 @@ do not feed out paper nor stop phototypesetter .br .Nm troff : .At7 +.Pp +.Bq superseded by Fl l +interpret arguments as file names +.br +.Nm man : +.At10 .It Fl G preprocess with .Xr grap 1 @@ -549,6 +564,7 @@ mode .br .Nm man : .Bx4 , +.At10 , .Eaton ; .No POSIX , Ox , Fx , Nx , No man-db , man-1.6 , illumos , Solaris 9-11 .br @@ -720,7 +736,9 @@ specify a page number for the first page output mode .br .Nm man : -.At7 +.At7 , +.At8 , +.At10 .Pp do not create the .Xr whatis 1 @@ -852,6 +870,12 @@ invoke the simultaneous input-output mode of the .rd request .Nm nroff , troff : .At7 .Pp +quick mode: prefer preformatted page if available +.br +.Nm man : +.At8 , +.At10 +.Pp issue no warnings .br .Nm manpath : @@ -1046,6 +1070,8 @@ output mode .Bx 2 Pq May 10, 1979 , .At3 , .At5 , +.At8 , +.At10 , .Eaton ; .Fx , No man-db , man-1.6 , illumos , Solaris 9-11 .br @@ -1162,6 +1188,7 @@ list pathnames .At7 , .At3 , .At5 , +.At8 , .Eaton ; .Ox , Fx , Nx , No man-db , man-1.6 .br diff --git a/contrib/mandoc/mandoc.1 b/contrib/mandoc/mandoc.1 index 8b6fe7d19b1e..0f83bcd53f1b 100644 --- a/contrib/mandoc/mandoc.1 +++ b/contrib/mandoc/mandoc.1 @@ -1,4 +1,4 @@ -.\" $Id: mandoc.1,v 1.272 2025/07/09 13:46:05 schwarze Exp $ +.\" $Id: mandoc.1,v 1.273 2025/08/22 13:17:06 schwarze Exp $ .\" .\" Copyright (c) 2012, 2014-2023, 2025 Ingo Schwarze .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: July 9 2025 $ +.Dd $Mdocdate: August 22 2025 $ .Dt MANDOC 1 .Os .Sh NAME @@ -1002,14 +1002,14 @@ macro that could be represented using or .Ic \&Dx . .It Sy "errnos out of order" -.Pq mdoc, Nx +.Pq mdoc , Nx The .Ic \&Er items in a .Ic \&Bl list are not in alphabetical order. .It Sy "duplicate errno" -.Pq mdoc, Nx +.Pq mdoc , Nx A .Ic \&Bl list contains two consecutive @@ -1150,7 +1150,7 @@ The argument is used as provided anyway. Consider checking whether the file name or the argument need a correction. .It Sy "missing date, using \(dq\(dq" -.Pq mdoc, man +.Pq mdoc , man The document was parsed as .Xr mdoc 7 and it has no @@ -1732,7 +1732,7 @@ or macro contains an opening or closing parenthesis; that's probably wrong, parentheses are added automatically. .It Sy "unknown library name" -.Pq mdoc, not on Ox +.Pq mdoc , not on Ox An .Ic \&Lb macro has an unknown name argument and will be rendered as @@ -1790,7 +1790,7 @@ The last character is mapped to the blank character. .Ss "Warnings related to plain text" .Bl -ohang .It Sy "blank line in fill mode, using .sp" -.Pq mdoc +.Pq mdoc , man The meaning of blank input lines is only well-defined in non-fill mode: In fill mode, line breaks of text input lines are not supposed to be significant. @@ -1800,6 +1800,8 @@ are formatted like requests. To request a paragraph break, use .Ic \&Pp +or +.Ic \&PP instead of a blank line. .It Sy "tab in filled text" .Pq mdoc , man diff --git a/contrib/mandoc/mdoc.7 b/contrib/mandoc/mdoc.7 index 55cc7fae688d..6c2d3568baa6 100644 --- a/contrib/mandoc/mdoc.7 +++ b/contrib/mandoc/mdoc.7 @@ -1,4 +1,4 @@ -.\" $Id: mdoc.7,v 1.299 2025/06/13 16:18:28 schwarze Exp $ +.\" $Id: mdoc.7,v 1.300 2025/08/19 14:08:59 schwarze Exp $ .\" .\" Copyright (c) 2010-2021, 2024, 2025 Ingo Schwarze .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: June 13 2025 $ +.Dd $Mdocdate: August 19 2025 $ .Dt MDOC 7 .Os .Sh NAME @@ -979,7 +979,7 @@ Unless the .Fl compact argument is specified, list entries are separated by vertical space. .Pp -A list must specify one of the following list types: +The following list types are commonly used: .Bl -tag -width 12n -offset indent .It Fl bullet No item heads can be specified, but a bullet will be printed at the head @@ -994,7 +994,14 @@ The .Fl width argument has no effect; instead, the string length of each argument specifies the width of one column. -If the first line of the body of a +The width specification for the last column does not affect formatting. +.Pp +For two-column lists, using +.Fl tag +often results in simpler code, identical terminal output, and better HTML +output, especially when the first column contains short identifiers. +.Pp +For compatibility with legacy documents, if the first line of the body of a .Fl column list is not an .Ic \&It @@ -1016,7 +1023,7 @@ Like except that item heads are not parsed for macro invocations. Most often used in the .Em DIAGNOSTICS -section with error constants in the item heads. +section with error messages in the item heads. .It Fl enum A numbered list. No item heads can be specified. @@ -1024,6 +1031,17 @@ Formatted like .Fl bullet , except that ordinal numbers are used in place of bullets, starting at 1. +.It Fl tag +Item bodies are indented according to the +.Fl width +argument. +When an item head fits inside the indentation, the item body follows +this head on the same output line. +Otherwise, the body starts on the output line following the head. +.El +.Pp +The following list types are rarely useful: +.Bl -tag -width 12n -offset indent .It Fl hang Like .Fl tag , @@ -1050,13 +1068,6 @@ Item bodies start on the line following item heads and are not indented. The .Fl width argument is ignored. -.It Fl tag -Item bodies are indented according to the -.Fl width -argument. -When an item head fits inside the indentation, the item body follows -this head on the same output line. -Otherwise, the body starts on the output line following the head. .El .Pp Lists may be nested within lists and displays. diff --git a/contrib/mandoc/roff_term.c b/contrib/mandoc/roff_term.c index 85d2caeb2749..38321c830013 100644 --- a/contrib/mandoc/roff_term.c +++ b/contrib/mandoc/roff_term.c @@ -1,4 +1,4 @@ -/* $Id: roff_term.c,v 1.26 2025/07/16 14:33:08 schwarze Exp $ */ +/* $Id: roff_term.c,v 1.27 2025/08/21 15:38:51 schwarze Exp $ */ /* * Copyright (c) 2010, 2014, 2015, 2017-2021, 2025 * Ingo Schwarze diff --git a/contrib/mandoc/term_ps.c b/contrib/mandoc/term_ps.c index 4c6368ca1d1f..91124152d55a 100644 --- a/contrib/mandoc/term_ps.c +++ b/contrib/mandoc/term_ps.c @@ -1,4 +1,4 @@ -/* $Id: term_ps.c,v 1.94 2025/07/18 15:47:18 schwarze Exp $ */ +/* $Id: term_ps.c,v 1.95 2025/09/26 12:17:12 schwarze Exp $ */ /* * Copyright (c) 2014-2017, 2020, 2025 Ingo Schwarze * Copyright (c) 2010, 2011 Kristaps Dzonsons @@ -1222,6 +1222,8 @@ ps_endline(struct termp *p) ps_plast(p); ps_pclose(p); + p->viscol = 0; + p->minbl = 0; /* * If we're in the margin, don't try to recalculate our current @@ -1235,8 +1237,6 @@ ps_endline(struct termp *p) /* Left-justify. */ p->ps->pscol = p->ps->left; - p->viscol = 0; - p->minbl = 0; /* If we haven't printed anything, return. */ From nobody Fri Feb 6 00:31:52 2026 X-Original-To: dev-commits-src-branches@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 4f6Zlr6wqzz6RSQ4 for ; Fri, 06 Feb 2026 00:31:52 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zlr3t0Yz43sm for ; Fri, 06 Feb 2026 00:31:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N7PjQgEvnLcrsTdRVYJ5k5xOyCfdPCT/Ph2E4oJSYxo=; b=CxBlpnw7/i7KWtnVvHTuwOELVNL6nU0JG/+hepqNU6NtRjcDu1UVFD97vIo2t2EofYztTK DL2W41SpSIdoQbEfUJisKugoLb7KOSdySYJDEd4PPy/GgiYf+Sax7EGihN/AQcuwyRmrss WUlDD+XnVw7B+JbCMqBstC4A9XPZZF82vq7HI2buDNrw6t7d0h0CGufPulU3zR9/6FQ2Oz IF+q87at7LJ2/0ZRSB6She9TebxCDdmVWBY8zKg5IjYq8esIyWGG/of2ufkZ6sODbthcCp 68BpKhzvZeENBpiXuxHihDZIG4y7Pyf9sSZhdYE3U2fjnEJTIdkgFKQgmGSsqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337912; a=rsa-sha256; cv=none; b=skJgbjftxVZ7x2K2Wr5ymD3eGdTifLGQ7u380hEdNvfVLkePa7KLw6Z/eZnm0jFGdnNQl1 lDMrfBOe8GqxLL/mAd5LIItSbIVKvo5mjg/3D7nyY7r8BA8mPTaD3aGg6Jlo6X4SVplItf nj5e6jGad+fjVEEVCjzUg4utq0DubI/vn6eE+FCqHbJD3tiIvsD27dz69Vrt5EkKrPPAJO 7HBUCmqBBs20BckDL2UNYYn05sPq63eMguuJ/gMKm3j0MBjL9YAqb+81xwGoCB5Vd7Otov Ek2U1A/RDdAfezm2m+APHkmNRwEEJhDgvVBk4K2F2mhDMaUtY2InAEjTM1rSOg== 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=1770337912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N7PjQgEvnLcrsTdRVYJ5k5xOyCfdPCT/Ph2E4oJSYxo=; b=EP8al7cl/n1jLwAm/fALwiug4hQKuli8coJTytxNQxVdF9OyPJPdgLav23rUUNJ2WCi3/n mF2qjHmccNoXtaMFwIvhJFkC+hYskjhNvKq6DxbsnG+K94SBjY1sz59lhOhCZbLN9kW/u/ DsVN/nc5RfgXTHbPw5eGF6+stQSp1S31jPZbdZwWYasRbjYVVKAPDDNvBasLTR6tdz8VkC Mi9Iq7ioGwC3BEWy8+gbbHQ1EiNJnTJvfVz2qWVPqpwDevNGogpTxJBIGAbKeemmylYYa8 mJAeIOQMF9RjE8Li6McuIzofxUCxqaKIlTfk/636biV/wU5IY0sZbwm6K32WwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zlr3GPJzt8X for ; Fri, 06 Feb 2026 00:31:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 320ba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:31:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Ingo Schwarze From: Alexander Ziaee Subject: git: 0d066d216681 - stable/14 - mandoc: Improve width calculation for GCC compat List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0d066d21668172aa7fc9bc38f9a0725ae31f0deb Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:31:52 +0000 Message-Id: <69853678.320ba.3018fe2d@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=0d066d21668172aa7fc9bc38f9a0725ae31f0deb commit 0d066d21668172aa7fc9bc38f9a0725ae31f0deb Author: Ingo Schwarze AuthorDate: 2025-08-25 22:58:48 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:31:06 +0000 mandoc: Improve width calculation for GCC compat Avoid implicitly converting a potentially negative page offset to size_t and then back to int. While this was not a bug and the end result was portably correct, Alexander Ziaee@ privately reported to me that the GCC 14 in the FreeBSD Jenkins CI felt uneasy about it. For clarity and readability, rewrite the truncation statement to not mix signed and unsigned types, to not use explicit casts, and make handling of the lower and upper cutoff more similar to each other. Fixes: 6410c1b51637 (mandoc: vendor import of upstream at 2025-07-27) MFC after: 3 days Reported by: ivy Reviewed by: ivy Differential Revision: https://reviews.freebsd.org/D52127 (cherry picked from commit 93bc3d83a11a1dbebd264616d63af3dd32cc1c8c) --- contrib/mandoc/roff_term.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contrib/mandoc/roff_term.c b/contrib/mandoc/roff_term.c index 8f95aa920790..85d2caeb2749 100644 --- a/contrib/mandoc/roff_term.c +++ b/contrib/mandoc/roff_term.c @@ -165,6 +165,7 @@ roff_term_pre_po(ROFF_TERM_ARGS) static int polast; /* Previously requested. */ static int po; /* Currently requested. */ static int pouse; /* Currently used. */ + int pomin; /* Minimum to be used. */ int pomax; /* Maximum to be used. */ int ponew; /* Newly requested. */ @@ -186,9 +187,9 @@ roff_term_pre_po(ROFF_TERM_ARGS) po = ponew; /* Truncate to the range [-offset, 60], remember, and apply it. */ + pomin = -p->tcol->offset; pomax = term_len(p, 60); - pouse = po >= pomax ? pomax : - po < -(int)p->tcol->offset ? -p->tcol->offset : po; + pouse = po > pomax ? pomax : po < pomin ? pomin : po; p->tcol->offset += pouse; } From nobody Fri Feb 6 00:32:52 2026 X-Original-To: dev-commits-src-branches@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 4f6Zn05DdMz6RRPt for ; Fri, 06 Feb 2026 00:32:52 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zn04VCGz459w for ; Fri, 06 Feb 2026 00:32:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770337972; 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=tfS9pD6nwiMTPmF3aoTMSI6to2ktHFcewmHAWpn6uVU=; b=CcgIxEX0oCBnQtg/wy9woXswqN8H7doHt+t98cj38N3mQjt5UqPFRC6JUKkxBY7hhRqRx/ IQt0s9ni0hz3hBZXUIZb2+C91anCmuzJ0+65uv50LHX0LReEmgSYWjnLRKFqSGvHBsaza7 BjOkcGrWKrpHfm2KRDSE8RG9UpFUd4xIPjHzUr2l9opfNvYpijgQYkR5gzFNqOu8l6ZSdK ZgGkqVLHtT87QUJkGwUZtH+ZjSxamkkl3U9f58vHT3IYc5a/xH0rpmpW/ZXj/xzWQo44qH Hwic8CurHasndwEXCfNkC64uh/iPi+h8/B4brBVGy4SMINO8a9PJ4C8HTMd2Ig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770337972; a=rsa-sha256; cv=none; b=pJDc9l8cuGvgpE1Lf0zG9C1rA31+hn4ZNEP3s3GDiaBQxL/yHhZNrEguynAfqM7EqjD+ZL 6iPSjtLvlVRZSyB3u9Y7QKicoAHsfpOaSJSLPurcugOlGblakX7VrNgYrja8mLKFPgZvXp jDbzO5asezLcM/O+ZHQeTf1uFSWY+OaoVUe6qCuWZrjwqav2PmKUbgewGQzZxTaWHEjPVB 8yyi+oI1hL4fh4X7T1tDgR+Hb/YhmUZICQvYydW01afmPTrsO8r/JXBb7e9hRpYzWdIwS8 5cQsNhnopQFZYsj/QgEymITHIARKQqI//XqKlWGyc7d1E3KUlmWy9IywXTN5GA== 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=1770337972; 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=tfS9pD6nwiMTPmF3aoTMSI6to2ktHFcewmHAWpn6uVU=; b=t272bHEzEKYb3RS6UqWCpMX+Opnr2M4kOpoCLP0iH8jkdaMHAXUdQTaDRYvSI2GNas1PHA ezfzyctXT3uPZZ8JdKcpa5hF+so9MBZSd3RIBEJwkPKiu6lDqAM25tLNGFuWt91L6SiYMr GOfwGJ9v/LDMrqu9gjqkEd68qOMIwdYyIgXQpTV3EhXXQOsdRZvV+zf92mMAu6kQaee+Gj Xo8TyaBewN6nwRBsHWiVpNUtxiSNHfHM9HKARxiRQjrB++Iw0XUulMEmuWsM7WyWgE61XB wpH2+YGXlWkC+e4MSRfr8fDSc5QQ83B2+bpEsCGFP+trDrgCYK6CDXhjf6AcDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zn043pFzt8l for ; Fri, 06 Feb 2026 00:32:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33281 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:32:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 090fd9fd3975 - stable/14 - rmuser.sh: Improve prompt consistency with adduser List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 090fd9fd3975fc7b1ff97ebd3caf2a21683fb877 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:32:52 +0000 Message-Id: <698536b4.33281.21552791@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=090fd9fd3975fc7b1ff97ebd3caf2a21683fb877 commit 090fd9fd3975fc7b1ff97ebd3caf2a21683fb877 Author: Alexander Ziaee AuthorDate: 2025-09-09 17:06:29 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:32:44 +0000 rmuser.sh: Improve prompt consistency with adduser While here, improve userlist error message. PR: 289399 MFC after: 3 days Reviewed by: kbowling, rgrimes Approved by: kbowling, rgrimes (src) Reported by: michaeldexter, rgrimes Differential Revision: https://reviews.freebsd.org/D52464 (cherry picked from commit fc68f8aac623b5494484adfa41ac600415609870) --- usr.sbin/adduser/rmuser.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/adduser/rmuser.sh b/usr.sbin/adduser/rmuser.sh index 4c1e4049763a..8e5dd28cf01f 100644 --- a/usr.sbin/adduser/rmuser.sh +++ b/usr.sbin/adduser/rmuser.sh @@ -303,7 +303,7 @@ if [ ! "$userlist" ]; then show_usage exit 1 else - echo -n "Please enter one or more usernames: " + echo -n "Please enter one or more usernames, or press enter to exit: " read userlist fi fi @@ -333,11 +333,11 @@ for _user in $userlist ; do echo echo $userrec echo - if ! prompt_yesno "Is this the entry you wish to remove? " ; then + if ! prompt_yesno "Is this the entry you wish to remove? (yes/no): " ; then continue fi _homedir=`echo $userrec | awk -F: '{print $9}'` - if prompt_yesno "Remove user's home directory ($_homedir)? "; then + if prompt_yesno "Remove user's home directory? [$_homedir] (yes/no): "; then pw_rswitch="-r" fi else From nobody Fri Feb 6 00:35:16 2026 X-Original-To: dev-commits-src-branches@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 4f6Zqm5zhsz6RS6N for ; Fri, 06 Feb 2026 00:35:16 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zqm3J1qz45Vr for ; Fri, 06 Feb 2026 00:35:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770338116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ub1xmbdqWQEYfcXZnYY6vTt6kcBcLc9vTacURQMr91A=; b=cT9G9qN8R2Q1pm3CA1mamxjNPLpbfs3wFk+yGjasuSWXF86h22vuXWiYj+n+ALPSxiwjpl b0oWph0GdDSvbADYv6dQG2f7f2Y44QxZCOrz2D1QP+AKDxxNq+d+q+AByViteLcz3jeBUu CGCBJkRLoG52bfy0ToOA7KYmybbPye3YRiaVv+heNXTiH87YHqaHFUK13Hivs/Pi0hWPRS cz7+aRJ0mLdCWpBJHkdPn92nKzvJiiInTvVhiYbN9CbSkhymZhxTb1/YAlgAL6AcHviv+e hAR3Pp9kWbVjjZ6dfJjLC63z4HQ7yeFg+vggnm1WHVwMLLKhZJZkdG1QpSuzaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770338116; a=rsa-sha256; cv=none; b=lIuFrx6uYKikfZcUCF5/Ai6rYxPOr+jU/Dsn5tHGQsUzEmWN6TJLGQwQeoP99CYaMTc0oo w8yjsE+QO/zq1kpHZV+L10+DiNTWzPEnheJrJsVG3MTBYIEX0aoXAfZgctZNzalpxjD5GR RIMmbY5icdZ2GILYjNjgLd1ukdI/54PaVK4OsmTcAN/7RyZG4fvgHLXGA0n/fpvJmTRINj AXtDh2vEvzT3JbzKD4AdD6oaJLBXqBQ++kEJdB67EukX+sz579IYAE61/fonRqX0uKo/Fj HEXYdDTKKVfMidehL8/YSsMAhFwtOBoeVBeMnxuzM8J7n5h+GZub9VoUFmZu2A== 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=1770338116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ub1xmbdqWQEYfcXZnYY6vTt6kcBcLc9vTacURQMr91A=; b=B5vtIgFGXOxQtlSmaeOR7JVElVYnMEYe+RiXplfJy1etlfhPPmm72A0U198BHKC9MbgEob SHbTZqkft7EsaK042XcJv1EmitVhnNoAMQKrZOPF2Izrmd/DfDCi89zf+WNJIXGbGciTta 5yqKFuEhpKbz3znkWOuhrwO5tVIvZJ4ctGpcQt5Kd7tyHCaxeSQM6gj+ooNHGii/44EKxv fdMNBvhq0eJlEnLXL6xbo9rS3vHKx0fWJdDGDGqi1EwsNaRFmIx6b7oHmihce5NDOviILd 78CA5ufNThHll6Iztzko+MtGlLLZtIqRPGP+HubKavYS6RemP+dbBtBtkBbSpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zqm23TkzssY for ; Fri, 06 Feb 2026 00:35:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32223 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:35:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Fernando Apeste=?utf-8?Q?gu=C3=ADa?= From: Alexander Ziaee Subject: git: e3009524178c - stable/14 - uuidgen(1): Add EXAMPLES to manual page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e3009524178c73831495bb97b4c284b69b0916e8 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:35:16 +0000 Message-Id: <69853744.32223.2837d91@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=e3009524178c73831495bb97b4c284b69b0916e8 commit e3009524178c73831495bb97b4c284b69b0916e8 Author: Fernando Apesteguía AuthorDate: 2023-09-07 15:17:38 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:34:36 +0000 uuidgen(1): Add EXAMPLES to manual page Approved by: manpages@ (gbe@) Reviewed by: gbe@, pauamma Differential Revision: https://reviews.freebsd.org/D43494 (cherry picked from commit 6e74b603fc021761c0a20e08f58b674f45ad5f04) --- bin/uuidgen/uuidgen.1 | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/bin/uuidgen/uuidgen.1 b/bin/uuidgen/uuidgen.1 index 51475c900bbc..1c2e7cce91d3 100644 --- a/bin/uuidgen/uuidgen.1 +++ b/bin/uuidgen/uuidgen.1 @@ -77,6 +77,30 @@ to each other, but operating system latency and processing time will be reflected in the distance between two successive identifiers. .Sh EXIT STATUS .Ex -std +.Sh EXAMPLES +Generate a batch of three UUIDs. +Notice the similarity of the string before the first hyphen of the UUID +(known as +.Em time_low +in +.Em rfc4122 +): +.Bd -literal -offset indent +$ uuidgen -n3 +8bc44345-4d90-11ee-88c7-b42e991fc52e +8bc44346-4d90-11ee-88c7-b42e991fc52e +8bc44347-4d90-11ee-88c7-b42e991fc52e +.Ed +.Pp +Generate a batch of random UUIDs without hyphens: +.Bd -literal -offset indent +$ uuidgen -r -c -n3 +5ad8b60a0f4e41f59c82d273202275f9 +6c41925486cd4bf59720a5bad85de2e4 +8144fdab63f648a1812d12453f975313 +.Ed +.Pp +Notice that the UUIDs are not similar to each other. .Sh SEE ALSO .Xr uuidgen 2 , .Xr uuid 3 From nobody Fri Feb 6 00:35:17 2026 X-Original-To: dev-commits-src-branches@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 4f6Zqn4fxNz6RSBx for ; Fri, 06 Feb 2026 00:35:17 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6Zqn3L5mz45bV for ; Fri, 06 Feb 2026 00:35:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770338117; 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=q7l6qa4NUc4FMAjAHq3vBjZQ/vjJRT84VeCvIbY93mg=; b=NIhbgwU9JCST187c0cSOfI6KPZZcBXMutKQbheEF5HDw1HOY21GsLBXXAFF2QMA8ASOKiH 0igtivZwn2BYnkDE3QlbKTkkP1sSDIcBnFHNNsbqWJM5R+1uH7WfMYTr6CF6C0kFgKeIj3 pypuBmSonbR7ue3Ptqw79AFSxlgdtZxcSVEfEbm7LCBjcSZlNNboWcogT0SVb5rqxZTdhb mCnI+NxzxbdEn71IzLm8PgZ5X25+9vsijsd3nh50A8kTRq9mbk/TBlsaxhnWK/R2JengMy suiUvxc80HnLBzP7NDH6qQ7mWXN16SPb+o/uzNkpMf//JoNEBDS8MmNEmHmQfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770338117; a=rsa-sha256; cv=none; b=CNW1VAzdpnJj/I5WvfVG7OS2uaALVRnZ3ERCY/La5id9Bbf316AFk2Cj9qbHAc4eQucGOz r15Bm3+taekzqKe/vx91K7iYnzA8+EfRImVTmlURmI8wV8PeXDBPhpk8ZVABbxzM5ZWFtE 8vCWPb3SmaRwf8bD1uV/jviFC9f0uGwTDjadCh1h4e68TRmPfFe2B0PbLzQ39CM//ilBrE Y2YQTcOfeWVJzs2PDQpPViRLKZZxczKuK/8JUlHZXTm1sOAeAkNk9N3vRdkpjdjQy6bmqJ wr74PRmTbTZY4EhWuPcFgH+HuoWRCDlbmLqxeFGIVkNJeVwMd2xN5q/22htylA== 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=1770338117; 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=q7l6qa4NUc4FMAjAHq3vBjZQ/vjJRT84VeCvIbY93mg=; b=XDGmpFFfV67V0VVAayDUAYA263qge5C4FZ1eObI5G2P3eLc6PT3SXzf5BaTuY37MZ3cwAg tukjgRBM41NjAkOJyD3JPQc9uwdI+wUMJsKsovRo88PyNSrz9Vtx8rkScS2Ebmf5hzHPYQ qxC3yVylwfUt4RbIFfnGyXS/as4Yd/bd7BaqSh0ReZI9oRkRpagVLxURG9/3VwoOIukVgn tcfb7xnPM9p4TH9psG/yC4YaJcdrns7LNZXE1JbemcGSYCS+YynxLo1u4eoGgGCSeAVuNs UZ9wxVXqh1r5sCOlb1AL8aBQN+FyZ2lW/HL+dvrvHesHL9uVFODm3h0awwzcGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6Zqn2nTfzsh9 for ; Fri, 06 Feb 2026 00:35:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 310e3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:35:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 9b5fbee39168 - stable/14 - uuidgen.1: Correct SYNOPSIS, alphabetize options List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9b5fbee391685effc9828e74535532f6beb31145 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:35:17 +0000 Message-Id: <69853745.310e3.73937aca@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=9b5fbee391685effc9828e74535532f6beb31145 commit 9b5fbee391685effc9828e74535532f6beb31145 Author: Alexander Ziaee AuthorDate: 2025-08-27 16:17:42 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:34:53 +0000 uuidgen.1: Correct SYNOPSIS, alphabetize options Group options that can be used together accordingly in SYNOPSIS. While here, tag SPDX and fix a parenthetical typo in EXAMPLES. MFC after: 3 days (cherry picked from commit abed9ab6eaad625ab9059d9799694876a4ae5b07) --- bin/uuidgen/uuidgen.1 | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/bin/uuidgen/uuidgen.1 b/bin/uuidgen/uuidgen.1 index 1c2e7cce91d3..f7911b408f36 100644 --- a/bin/uuidgen/uuidgen.1 +++ b/bin/uuidgen/uuidgen.1 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2002 Marcel Moolenaar .\" All rights reserved. .\" @@ -22,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd March 1, 2023 +.Dd August 27, 2025 .Dt UUIDGEN 1 .Os .Sh NAME @@ -30,9 +33,7 @@ .Nd generate universally unique identifiers .Sh SYNOPSIS .Nm -.Op Fl 1 -.Op Fl r -.Op Fl c +.Op Fl 1cr .Op Fl n Ar count .Op Fl o Ar filename .Sh DESCRIPTION @@ -50,8 +51,6 @@ This option only has effect if multiple identifiers are to be generated and instructs .Nm to not generate them in batch, but one at a time. -.It Fl r -This option controls creation of random UUID (version 4). .It Fl c This option controls creation of compact UUID (without hyphen). .It Fl n @@ -65,6 +64,8 @@ The upper hard limit is 2048 Redirect output to .Ar filename instead of stdout. +.It Fl r +This option controls creation of random UUID (version 4). .El .Pp Batched generation yields a dense set of identifiers in such a way that there @@ -80,11 +81,11 @@ reflected in the distance between two successive identifiers. .Sh EXAMPLES Generate a batch of three UUIDs. Notice the similarity of the string before the first hyphen of the UUID -(known as +.Po known as .Em time_low in .Em rfc4122 -): +.Pc : .Bd -literal -offset indent $ uuidgen -n3 8bc44345-4d90-11ee-88c7-b42e991fc52e From nobody Fri Feb 6 00:41:01 2026 X-Original-To: dev-commits-src-branches@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 4f6ZyQ17Kmz6RSS4 for ; Fri, 06 Feb 2026 00:41:02 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZyQ0NvMz46vm for ; Fri, 06 Feb 2026 00:41:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770338462; 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=cHqohEhau3U9PQfl1n/s4HJUH4fWmrCLIC6TXwK+jug=; b=MmoUXu5oacG2RX0Bv7fAZnsm4TNpMB0L5/1iz6r0Nua5mpYDa5ZLBrBnpva+A2QoA5nC9Q /IZ9I4gTu6kIDN42GLBlrqd3a7tMVW3rgnMUBL3iz8YbQ09GXxgznWGZbW+V0v0CLf2vxX XdrgoaevVkix+BtJSZleMApeZOnYyclJhZz3F1JGJiL7dVAXhB15OOzojp0i+lNuAt0Ojx xXE00YpMGdVebBlMzvljqJoNmCVzw6O7LeZ2V1AT3g1mnuM42LhLVP7Gi2DSdhuH/IAjaM 4cOqvLBcCLT8xdcKkLHby5/I3vKTnXpH28dJnYuIQivcshbnFNXPKHQWLLcV7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770338462; a=rsa-sha256; cv=none; b=Li33mjRzvqWyZ9YdiOIQ1gOLCgYsJBC93QlXBFYxOCPGgUBCg+M5KR6dcXiLcK87b3pWbw GsdzaqXcEbAlyWPhG3a8ab3o8WiXGm0n0R4ffgWzqR8O1/KmRCkXWcKI8z4gPey26MY9HV CNDSXroMUiFw3bnTUKZeXxeSu1asG/DJzyNN3oGNLM8o+hlhCcTbyA+f0942oAxN70tasO Fv9Gg58uBMOym6GeNDudfPjOLV1awq5WAasefU9mm4ojr7hDvNkS8rQxbY5UYu8oPptPak AN5pR2M5zqcj95Hsh5Dsh3ImZH0TYtSvmIl5x0epVPU2GjXV4qu4jIY1Dhwj5A== 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=1770338462; 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=cHqohEhau3U9PQfl1n/s4HJUH4fWmrCLIC6TXwK+jug=; b=LoCZousdieMp3dzXg0jafCiEajmXUfnNYrybrxCFCkB7TfTpGwurJGVzUUauR/QJbZfB2z Y5tDnuqdAlkDa2BIpV9brF19RUP6IzmjPbhkMU+RB/zROikJTRINC77F2OtvG8ZXAqHDjH WVMiQDC6JdZbm9Zptcdre8Ik0Xlqf3+DnOiaCLA4I74/kUPBfs1eFxXdw7MjP6BsEwxiJY uKl/HsHDiZPGpjxtf6Uhehx9mCNgdV/+o8/fgdea0SYqEe0VD2egNCAMevrgL1g+u6EohO XPzOT9Q8VzH/7NrG9jCGhS5vsKmkCZ4jSC2a9s4ltvWcv87Ib2ENWflGSetbsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZyP71qrzshP for ; Fri, 06 Feb 2026 00:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 336d3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:41:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 33cc7492d044 - stable/14 - watch.8: Align option list List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 33cc7492d0440c37f6034dc24ed77e23ee14fc55 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:41:01 +0000 Message-Id: <6985389d.336d3.4b211f29@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=33cc7492d0440c37f6034dc24ed77e23ee14fc55 commit 33cc7492d0440c37f6034dc24ed77e23ee14fc55 Author: Alexander Ziaee AuthorDate: 2025-08-22 20:12:43 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:38:20 +0000 watch.8: Align option list (cherry picked from commit 9187f64a74698736a5686971b3cfbcb226cb098c) --- usr.sbin/watch/watch.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/watch/watch.8 b/usr.sbin/watch/watch.8 index 7acd79df8710..3cc72267f207 100644 --- a/usr.sbin/watch/watch.8 +++ b/usr.sbin/watch/watch.8 @@ -28,7 +28,7 @@ The utility writes to standard output. .Pp The options are as follows: -.Bl -tag -width indent +.Bl -tag -width "-f snpdev" .It Fl c Reconnect on close. If the tty observed by From nobody Fri Feb 6 00:41:03 2026 X-Original-To: dev-commits-src-branches@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 4f6ZyR40V6z6RSgc for ; Fri, 06 Feb 2026 00:41:03 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZyR1Ybbz477r for ; Fri, 06 Feb 2026 00:41:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770338463; 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=6zst3mjGWgjRNkZcmeV30f9j5/vnLwH9uJCYSgMUVSI=; b=a341oYkuc/MUSR8i5oBPpNSx4a2xPgj/bPPfAJPpOR6juDc8vUk8y5sJFp1Ko8zPniYVlG WzDbO7y2jxzSIgDprbG5wB/bnEPE7JCZFlmNF14yHJf7oI0ryVy5R64jyVPpQLhWVOcQiJ YBicx5YE3PKdMDy4JdcI60WCsoMQW6jA8OEAeCI63ieG2kZrof1kdLbCLHClfmEMo1vH2F 8FPQZCycg11dHATvvWOKH0nhgDnJV4ML3WKZS5yVFEWlQCk3rbfz2/GxmxHwYal+r97BMs QiYFm4YI9ctBSKcO6XS58xYS39BS1OxNghkds28raanCd9FsyXiL3vLto2A+Zg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770338463; a=rsa-sha256; cv=none; b=U2zymU+OAP2/xgVe+JwJv+ccAu3khyawcdWidq7J/xp5pkkQpkFRe9v+pZgwIqqwu9kmqC VSmoaJs3DbMWTm3/EKS710HbetNZCZQlgWo1isQ+4grvfJ0rmIOhYJL/TxfICceGq0Jtiq Ke46rkUfF/JqLaOuxMntcojrLDO9zSMBzDkXikpv45OSQXVjwAjf30t8dfs26CJWZf2dNZ AjpoKrwu7taGv/JTTdqQTuTJ/BA2ENsvPU1jOVNf63ckxrzJUPO04OQ1gvP291kiq90wh5 n2sbEZrfD6u2hZXbWKOF97GSJDmlP98128nvelYlsszO0CWIRsWJl2XpUSO/QQ== 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=1770338463; 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=6zst3mjGWgjRNkZcmeV30f9j5/vnLwH9uJCYSgMUVSI=; b=C7V53YgtSpmjL/925PxSoBx/0vc0HT8HB5XqJ3koMQhUrImgCGtUCe4FXc2w3QebxwpnTR 9t/ZKCu+iioqeSjg3YaqaoH5IsBrzzJ5/WL2kWJ2rF6C5fMPmuUXHnwSvEPJNq8Ltr/sUz e9viEfiy7BoGFdVAXSVDAJzRx3lGKKSrHN0cz8D681A+Y8z/1xzQ7yhHtQtGBtfHERcm/w mNnJ4R3MYf6mX3tewINl72pAj+G02vg/xNWI7HAekt9r/UOEuKKfgI6q9FiJdQng53amRX tq93dUbUWDdSzcrUTVmvtnurrlrkFfcvbTRkrfmJqN9eXVMgG4l34Vr0ah9iDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZyR0LF0zt4H for ; Fri, 06 Feb 2026 00:41:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 329f3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:41:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 42bbc08948fd - stable/14 - efitable.8: Nits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 42bbc08948fddc9982ab34531298f504471eb7c1 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:41:03 +0000 Message-Id: <6985389f.329f3.44fb1206@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=42bbc08948fddc9982ab34531298f504471eb7c1 commit 42bbc08948fddc9982ab34531298f504471eb7c1 Author: Alexander Ziaee AuthorDate: 2025-07-22 20:02:14 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:39:08 +0000 efitable.8: Nits + tag spdx + uncapitalize beginning of Nd, these should not be capitalized + add bars to show that long options XOR short options + remove stray paragraph marker for linter complaints (cherry picked from commit 65e8951711934cbb2fa1d0d836705c59770039c0) --- usr.sbin/efitable/efitable.8 | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/usr.sbin/efitable/efitable.8 b/usr.sbin/efitable/efitable.8 index d1f4cedcdea8..8f0a73bcbdac 100644 --- a/usr.sbin/efitable/efitable.8 +++ b/usr.sbin/efitable/efitable.8 @@ -1,4 +1,6 @@ .\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2021 3mdeb Embedded Systems Consulting .\" .\" Redistribution and use in source and binary forms, with or without @@ -27,7 +29,7 @@ .Os .Sh NAME .Nm efitable -.Nd Dump UEFI tables +.Nd dump UEFI tables .Sh SYNOPSIS .Nm .Op Fl u Ar uuid | Fl t Ar name @@ -39,7 +41,7 @@ This program prints data from tables. .Pp The following options are available: -.Bl -tag -width 20m +.Bl -tag -width "-t name | --table name" .It Fl -libxo Generate output via .Xr libxo 3 @@ -47,7 +49,7 @@ in a selection of different human and machine readable formats. See .Xr xo_parse_args 3 for details on command line arguments. -.It Fl t Ar name Fl -table Ar name +.It Fl t Ar name | Fl -table Ar name Specify the name of the table to print. Currently supported tables: .Pp @@ -57,10 +59,9 @@ EFI System Resource Table .It Cm prop EFI Properties Table .El -.It Fl u Ar uuid Fl -uuid Ar uuid +.It Fl u Ar uuid | Fl -uuid Ar uuid Specify the UUID of the table to print. .El -.Pp .Sh HISTORY The .Nm From nobody Fri Feb 6 00:41:04 2026 X-Original-To: dev-commits-src-branches@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 4f6ZyS4tt4z6RSjN for ; Fri, 06 Feb 2026 00:41:04 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZyS1ttMz47Fd for ; Fri, 06 Feb 2026 00:41:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770338464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=adkqT+jVuP0LmrM/4x+8iRCoCtk1N7XwpcgK/l5zup0=; b=RI7KY0JbvHJyxXcLu01xFdc/4fdzVEh77OBbQ/FyaVRefZbciVt5MkYxholJ1stipRYb3a zZP1r9FiUmbfSGCiDyRY0naVqPU0A6geZPPM2uvkUcWi5rxh09lz/95xo/expqcb9U4IHG cRATfCRmidoD/ER2jtkDrUV99mHeFvgEj8dNl2Q13zapcniTU5peJDOndjEkF9oGPG/QCw HUA1CcvQsipTv70OD1uw1j2L0tRn7bi/WZCGMYDsO/HEupJ4ih1/b+6kAZLn0cNrtXKE+S pSX1ZVkUHwYV7h9x3wo14xCcl5dPl2qgIUWvvurUOIlcV6jtllwCxrsHe/t4Zg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770338464; a=rsa-sha256; cv=none; b=MibmKa6OHLZq/Cv/WZzvpAx3vPmpS//fZxgyyu43eK/9rPK9YL69JZdSSPIN0R9j5B72Kf jw7X3CvhWCYhcDiGxOWVW8TSZbsFY1SxzcNoJ8uJkVa/kHLJsMGbhKXAqMSIwVV2Zu9Sb/ jq+ybgKaS2G0Cao0Jasy33Jje4t3MMyOvUNKv7HHGwPfd3HJkm11jYxqoy5kioCUvBVjTT G/N72bXXMkPNr6uwwo5p9m+GsBdupz5CQra35r9xCHQ8Dgc1Gdg5syDSamx+dA3tmWirPB kQyN7kMh+xGniGGFw1CqDzgKY8IvB8IHpvXuj138olawaBDr3zfOTANP6PVYyg== 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=1770338464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=adkqT+jVuP0LmrM/4x+8iRCoCtk1N7XwpcgK/l5zup0=; b=hkYowJqye4KyygqYFupSmF+iVJq8lpnrecza2lwfDlwGk5tcaDjfnndTK2cyj7rrbCMSfj Ao5WBgV7a5hZHOea/IW26JaE8bmTAR628SHbja00oDlXlIU/uzHnhHDduzEqXf1FWcp5MR GbAM2WrPu8IFk+ZqGPtjMedf1yBcpbvfRu3mRSjFJ4DTPD0EerVqhCahfW9ZsV+X/1Ic9N ZKEMMLTLIIQKKcT1vv/RKHLWu3E8Hiteq+xFDZtcRU4GW2gBcuqbdzVOZGvR1KQRiMkKa/ q2fTfmdlLExCRqfrSl3b6S0s84//iGVT9QeV8UAV7YXyGR6p4nJOymwYizhodQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZyS18Ykzt92 for ; Fri, 06 Feb 2026 00:41:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 329f7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:41:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Artem Bunichev From: Alexander Ziaee Subject: git: fe2e293a4c4f - stable/14 - top.1: Fix incorrect default value for -s option List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fe2e293a4c4fdf14d7b815ee28529efaeb29f70e Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:41:04 +0000 Message-Id: <698538a0.329f7.61aa905b@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=fe2e293a4c4fdf14d7b815ee28529efaeb29f70e commit fe2e293a4c4fdf14d7b815ee28529efaeb29f70e Author: Artem Bunichev AuthorDate: 2025-07-24 20:03:34 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:39:37 +0000 top.1: Fix incorrect default value for -s option The default delay between screen updates was incorrectly transfered from roff(7) register that was used in previous version of man page. Reviewed by: ziaee Fixes: 9d6cce02a78c (initial pass to freebsdize) Differential Revision: https://reviews.freebsd.org/D51503 (cherry picked from commit 6a41fd466701db71da443e1b87b31d463d99d056) --- usr.bin/top/top.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/top/top.1 b/usr.bin/top/top.1 index d8ef763e7a34..784a2289e61a 100644 --- a/usr.bin/top/top.1 +++ b/usr.bin/top/top.1 @@ -189,7 +189,7 @@ This option makes them visible. Set the delay between screen updates to .Ar time seconds, which may be fractional. -The default delay between updates is 1 second. +The default delay between updates is 2 seconds. .It Fl T Toggle displaying thread ID (tid) instead of process id (pid). .It Fl t From nobody Fri Feb 6 00:41:51 2026 X-Original-To: dev-commits-src-branches@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 4f6ZzN1lCLz6RSyk for ; Fri, 06 Feb 2026 00:41:52 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6ZzM678Wz4870 for ; Fri, 06 Feb 2026 00:41:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770338511; 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=9COC+YeyawtqWbCA4j8/PQvxJKFRjMIbn7DeIORc4P8=; b=s58BAmrks1hhEfkhgjJrb0GZ6mEjxRhMeyHiKv+60PfNq+I1YtD50Rq6dQonGbLKrAovtj bt8T0sSh7i84UNZC9vixi6tNBIysy+FoCOJLLIg2kdpHVnOCSJsHcZ3QxlTrhGB1MyPSl1 vKecBlnS1z/LPSqKQXx6qWwqm69IxpIB8t+ejDB8T+ux7lLajXvmZ3h3Lj+a+lkkJjIBfW M3wPnvx81l+3fhu/FzARUD2XvQ/TaMjSQWwgDVccnLLEbbL5FQvgyfZz8LALdXUztCo3NP k0UOyT1QVApSxAm+rBaaTujNDU9/pKYr8fEpsbr6KQYH1Yl0bfDj4GuJpaDk/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770338511; a=rsa-sha256; cv=none; b=pEGFVjlDgUH7yJc9fwLWDMGFG/chbNecgdqMkqT7zn4rn3MRBAD2YKskURIMF7rnqIT9/V TCzCMhlPlMKCFLA8ITWubsuE+Uk9UA6J00ymQxMtoifMncZSbOzqJTu91OYEGig11cw042 LyX7ppGyVtxqsXIBotYRPCAocdeZvdfQog0iSbP9qWcQ/8j8guL084fjHmt4G6Eyc+yLo7 XcNAVsHaR5wZxaLT5SNEfTBzcNUMGODv/SRIewtk8va6Xn0aCPNoQ0AnYDOZgIOPjljOHm XBy7EpibtzYjqIH/JiVCKv3KCALprSiTq0sstgEpS3X/osb+r28Ou367GM8rEQ== 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=1770338511; 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=9COC+YeyawtqWbCA4j8/PQvxJKFRjMIbn7DeIORc4P8=; b=AVC1dCMJMZFtamJ+Q+ir0ph+lsNaCBC9CKcVPsAhm77F1lW05ZSJT/CVpDfSLzpXfEFnmR qgLS5eJEeWh0wkBNcOTCp5lq37OK0pAQM5xYLGyQMxBEwxhsVRt1ueQ70BBr2pzarb+oTa kBqHtUAYms4+9mZYwZflZuk08+15LcMuIpqcFKFTqiOfTad2gsEJA+ITc08pQaZcYtv1kV Fq18TNRyTYWvHDaA7GuwQ5BpKss2+GngMC6ExZTg+WF/lXEo90WPscsTTCVVQUEXV6hzLQ jNCTHo0KNqdp/8X7o+w6MoI66gmgkeXn/+zFXB5BJFXzxT39Ypq4KyaQWKxEJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6ZzM5VZZztNN for ; Fri, 06 Feb 2026 00:41:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32347 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 00:41:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: d7207388cc58 - stable/14 - cxgbetool.8: Fix some minor mechanical issues List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d7207388cc58243bd4a3cf69a24dd1e0054f10d3 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 00:41:51 +0000 Message-Id: <698538cf.32347.8c5224d@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=d7207388cc58243bd4a3cf69a24dd1e0054f10d3 commit d7207388cc58243bd4a3cf69a24dd1e0054f10d3 Author: Alexander Ziaee AuthorDate: 2025-05-13 00:37:38 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-06 00:41:39 +0000 cxgbetool.8: Fix some minor mechanical issues + Tag SPDX + Macros should not appear in titles, write a hopefully better title + Nm needs to be on it's own line in SYNOPSIS, fold it so this page does not appear in unrelated search results (test case `apropos fw`) + Remove Ns's that do nothing and generate linter errors + Move list initializers to where they render, correcting linter errors Unresolved: This page produces an error when rendered due to the macros table. I don't know how to fix that yet, but I'm interested in learning! Reviewed by: mhorne Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D50320 (cherry picked from commit 8f25fac9ce2339ab5599e3af0ef7c6a1ea098aab) --- usr.sbin/cxgbetool/cxgbetool.8 | 177 ++++++++++++++++++++++++----------------- 1 file changed, 103 insertions(+), 74 deletions(-) diff --git a/usr.sbin/cxgbetool/cxgbetool.8 b/usr.sbin/cxgbetool/cxgbetool.8 index a5f345c6b781..f0dee1830a5a 100644 --- a/usr.sbin/cxgbetool/cxgbetool.8 +++ b/usr.sbin/cxgbetool/cxgbetool.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 2015, 2018 Chelsio Inc .\" All rights reserved. .\" @@ -29,68 +32,93 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.Dd December 10, 2024 +.Dd May 11, 2025 .Dt CXGBETOOL 8 .Os .Sh NAME .Nm cxgbetool -.Nd Userspace companion to -.Xr cxgbe 4 +.Nd userspace companion to Chelsio cxgbe Ethernet driver .Sh SYNOPSIS .Bl -item -compact .It -.Nm Ar nexus command Op Ar parameter ... +.Nm +.Ar nexus command Op Ar parameter ... .Pp .It -.Nm Ar nexus Cm clearstats Ar port_id +.Nm +.Ar nexus Cm clearstats Ar port_id .It -.Nm Ar nexus Cm clip Bro Cm hold | release Brc Ar ipv6-address +.Nm +.Ar nexus Cm clip Bro Cm hold | release Brc Ar ipv6-address .It -.Nm Ar nexus Cm clip Cm list +.Nm +.Ar nexus Cm clip Cm list .It -.Nm Ar nexus Cm context Bro Cm ingress | egress | fl | cong Brc Ar cntxt_id +.Nm +.Ar nexus Cm context Bro Cm ingress | egress | fl | cong Brc Ar cntxt_id .It -.Nm Ar nexus Cm hashfilter mode +.Nm +.Ar nexus Cm hashfilter mode .It -.Nm Ar nexus Cm hashfilter Ar filter-specification +.Nm +.Ar nexus Cm hashfilter Ar filter-specification .It -.Nm Ar nexus Cm hashfilter Ar idx Cm delete +.Nm +.Ar nexus Cm hashfilter Ar idx Cm delete .It -.Nm Ar nexus Cm hashfilter list +.Nm +.Ar nexus Cm hashfilter list .It -.Nm Ar nexus Cm filter mode +.Nm +.Ar nexus Cm filter mode .It -.Nm Ar nexus Cm filter Ar idx Ar filter-specification +.Nm +.Ar nexus Cm filter Ar idx Ar filter-specification .It -.Nm Ar nexus Cm filter Ar idx Cm delete Op Cm prio Bro Cm 0 | 1 Brc +.Nm +.Ar nexus Cm filter Ar idx Cm delete Op Cm prio Bro Cm 0 | 1 Brc .It -.Nm Ar nexus Cm filter list +.Nm +.Ar nexus Cm filter list .It -.Nm Ar nexus Cm i2c Ar port_id devaddr addr Op Ar len +.Nm +.Ar nexus Cm i2c Ar port_id devaddr addr Op Ar len .It -.Nm Ar nexus Cm loadcfg Ar fw-config.txt +.Nm +.Ar nexus Cm loadcfg Ar fw-config.txt .It -.Nm Ar nexus Cm loadcfg clear +.Nm +.Ar nexus Cm loadcfg clear .It -.Nm Ar nexus Cm loadfw Ar fw-image.bin +.Nm +.Ar nexus Cm loadfw Ar fw-image.bin .It -.Nm Ar nexus Cm memdump Ar addr len +.Nm +.Ar nexus Cm memdump Ar addr len .It -.Nm Ar nexus Cm policy Ar cop.txt +.Nm +.Ar nexus Cm policy Ar cop.txt .It -.Nm Ar nexus Cm policy clear +.Nm +.Ar nexus Cm policy clear .It -.Nm Ar nexus Bro Cm reg | reg64 Brc Ar addr Ns Op Ar =val +.Nm +.Ar nexus Bro Cm reg | reg64 Brc Ar addr Ns Op Ar =val .It -.Nm Ar nexus Cm regdump Op Ar register-block ... +.Nm +.Ar nexus Cm regdump Op Ar register-block ... .It -.Nm Ar nexus Cm sched-class Ar sub-command Op Ar param Ar value +.Nm +.Ar nexus Cm sched-class Ar sub-command Op Ar param Ar value .It -.Nm Ar nexus Cm sched-queue Ar port Ar queue Ar class +.Nm +.Ar nexus Cm sched-queue Ar port Ar queue Ar class .It -.Nm Ar nexus Cm stdio +.Nm +.Ar nexus Cm stdio .It -.Nm Ar nexus Cm tcb Ar tid +.Nm +.Ar nexus Cm tcb Ar tid .El .Sh DESCRIPTION .Nm @@ -155,22 +183,22 @@ A reference on the address must have been acquired previously. .El Display hardware context for an ingress queue, congestion manager, egress queue, or freelist manager. -.Bl -tag -width ingress_cntxt_id -compact +.Bl -tag -width "ingress_cntxt_id" -compact .It Ar ingress_cntxt_id context id of an ingress queue -- the value listed in one of -.Va dev.t4nex.%d.fwq.cntxt_id Ns , -.Va dev.cxgbe.%d.rxq.%d.cntxt_id Ns , +.Va dev.t4nex.%d.fwq.cntxt_id , +.Va dev.cxgbe.%d.rxq.%d.cntxt_id , or -.Va dev.cxgbe.%d.ofld_rxq.%d.cntxt_id Ns . +.Va dev.cxgbe.%d.ofld_rxq.%d.cntxt_id . .It Ar egress_cntxt_id context id of an egress queue -- the value listed in one of -.Va dev.t4nex.%d.mgmtq.cntxt_id Ns , -.Va dev.cxgbe.%d.txq.%d.cntxt_id Ns , -.Va dev.cxgbe.%d.ctrlq.%d.cntxt_id Ns , -.Va dev.cxgbe.%d.ofld_txq.%d.cntxt_id Ns , -.Va dev.cxgbe.%d.rxq.%d.fl.cntxt_id Ns , +.Va dev.t4nex.%d.mgmtq.cntxt_id , +.Va dev.cxgbe.%d.txq.%d.cntxt_id , +.Va dev.cxgbe.%d.ctrlq.%d.cntxt_id , +.Va dev.cxgbe.%d.ofld_txq.%d.cntxt_id , +.Va dev.cxgbe.%d.rxq.%d.fl.cntxt_id , or -.Va dev.cxgbe.%d.ofld_rxq.%d.fl.cntxt_id Ns . +.Va dev.cxgbe.%d.ofld_rxq.%d.fl.cntxt_id . Note that freelists are egress queues too. .It Ar flm_cntxt_id context id of a freelist manager. @@ -227,7 +255,7 @@ T} T{ bitwise and of the source address in an incoming IP datagram with .Ar mask equals -.Ar addr Ns . +.Ar addr . .Ar addr can be an IPv4 or IPv6 address. T} @@ -238,7 +266,7 @@ T} T{ bitwise and of the destination address in an incoming IP datagram with .Ar mask equals -.Ar addr Ns . +.Ar addr . .Ar addr can be an IPv4 or IPv6 address. T} @@ -249,7 +277,7 @@ T} T{ bitwise and of the source port in an incoming TCP or UDP datagram with .Ar mask equals -.Ar port Ns . +.Ar port . T} _ dport T{ @@ -258,7 +286,7 @@ T} T{ bitwise and of the destination port in an incoming TCP or UDP datagram with .Ar mask equals -.Ar port Ns . +.Ar port . T} _ fcoe T{ @@ -273,7 +301,7 @@ T} T{ bitwise and of the ingress port with .Ar mask equals -.Ar val Ns . +.Ar val . The ingress port is a 3 bit number that identifies the port on which a frame arrived. Physical ports are numbered 0-3 and 4-7 are internal loopback paths @@ -288,7 +316,7 @@ T} T{ bitwise and of the 16-bit outer VLAN tag of an incoming frame with .Ar mask equals -.Ar tag Ns . +.Ar tag . T} _ vlan T{ @@ -297,7 +325,7 @@ T} T{ bitwise and of the 16-bit VLAN tag of an incoming QinQ frame with .Ar mask equals -.Ar tag Ns . +.Ar tag . The inner VLAN tag is used if the incoming frame is QinQ. T} _ @@ -308,7 +336,7 @@ bitwise and of the 8-bit IP Type of Service/IPv6 Traffic Class in an incoming packet with .Ar mask equals -.Ar val Ns . +.Ar val . T} _ proto T{ @@ -317,7 +345,7 @@ T} T{ bitwise and of the 8-bit IP protocol in an incoming packet with .Ar mask equals -.Ar ipproto Ns . +.Ar ipproto . T} _ ethtype T{ @@ -326,7 +354,7 @@ T} T{ bitwise and of the 16-bit Ethernet type field of an incoming frame with .Ar mask equals -.Ar type Ns . +.Ar type . T} _ macidx T{ @@ -335,7 +363,7 @@ T} T{ bitwise and of the MAC Address Match Index of an incoming frame with .Ar mask equals -.Ar idx Ns . +.Ar idx . The MAC Address Match Index refers to an entry in the MPS TCAM or in the MPS hash. See .Cm matchtype @@ -348,7 +376,7 @@ T} T{ bitwise and of the Match Type of an incoming frame with .Ar mask equals -.Ar idx Ns . +.Ar idx . Match Type is one of the following: .Bl -tag -width "n" -compact .It 0 @@ -428,21 +456,21 @@ additional operational parameters. Hashfilters require an exact value for the 5-tuple (sip, dip, sport, dport, proto) and for any other match-criteria listed in "hashfilter mode". Possible filter actions are -.Cm drop Ns , -.Cm pass Ns , or -.Cm switch Ns . +.Cm drop , +.Cm pass , or +.Cm switch . .Pp -.Bl -tag -width nat_dport -offset indent -compact Operational parameters that can be used with all filters: +.Bl -tag -width "nat_dport" -offset indent -compact .It Cm hitcnts Count filter hits: 0 or 1 (default). .It Cm prio Filter has priority over active and server regions of TCAM: 0 (default) or 1. .El .Pp -.Bl -tag -width nat_dport -offset indent -compact Operational parameters that can be used with filters with -.Cm action pass Ns : +.Cm action pass : +.Bl -tag -width "nat_dport" -offset indent -compact .It Cm queue Context id of an ingress queue to which to deliver the packet. The context id is available in @@ -458,9 +486,9 @@ Select TCB hash information in rx descriptor. 0 (default) or 1 .El .Pp -.Bl -tag -width nat_dport -offset indent -compact Operational parameters that can be used with filters with -.Cm action switch Ns : +.Cm action switch : +.Bl -tag -width "nat_dport" -offset indent -compact .It Cm eport Egress port number on which to send the packet matching the filter. 0 to dev...nports - 1. @@ -483,8 +511,9 @@ replaces the existing tag with the one provided, and .Cm + Ns Ar tag inserts the given tag into the frame. .It Cm nat -Specify the desired NAT mode. Valid NAT modes values are: -.Bl -tag -width dip-dp-sip -compact +Specify the desired NAT mode. +Valid NAT modes values are: +.Bl -tag -width "dip-dp-sip" -compact .It Cm dip Perform NAT on destination IP. .It Cm dip-dp @@ -546,12 +575,12 @@ to the card. Display .Ar len bytes of data of the card's memory starting at -.Ar addr Ns . +.Ar addr . The card's memory map is available in -.Va dev.t4nex.%d.misc.meminfo Ns . +.Va dev.t4nex.%d.misc.meminfo . .It Cm policy Ar cop.txt Install the Connection Offload Policy (COP) in -.Ar cop.txt Ns . +.Ar cop.txt . A COP offers fine-grained control over which connections get offloaded and with what parameters. Set @@ -645,7 +674,7 @@ Set ULP mode to ULP_MODE_TLS. Use the specified congestion control algorithm. .Ar algo must be one of -.Cm reno Ns , Cm tahoe Ns , Cm newreno Ns , or Cm highspeed Ns . +.Cm reno , Cm tahoe , Cm newreno , or Cm highspeed . .It Cm class Ar sc Bind the connection to the specified tx scheduling class. Valid range is 0 to 14 (for T4) and 0 to 15 (T5 onwards). @@ -653,17 +682,17 @@ Valid range is 0 to 14 (for T4) and 0 to 15 (T5 onwards). Use the specified offload rx queue. .Ar qnum should be -.Cm random Ns , Cm roundrobin Ns , +.Cm random , Cm roundrobin , or a number between 0 and nofldrxq for the ifnet. .It Cm txq Ar qnum Use the specified offload tx queue. .Ar qnum should be -.Cm random Ns , Cm roundrobin Ns , +.Cm random , Cm roundrobin , or a number between 0 and nofldtxq for the ifnet. .It Cm bind Ar qnum Shorthand for -.Cm rxq Ar qnum Cm txq Ar qnum Ns . +.Cm rxq Ar qnum Cm txq Ar qnum . Use when nofldrxq is the same as nofldtxq. .It Cm mss Ar val Set the advertised TCP MSS in the SYN for this connection to @@ -671,10 +700,10 @@ Set the advertised TCP MSS in the SYN for this connection to (in bytes). The hardware MTU table must already have an entry that is suitable for the MSS. .El -.Pp .It Example of a COP. Note that hardware listener for port 22 will be IPv4 only because the rule -before it will prevent any IPv6 servers other than the first two. Also note +before it will prevent any IPv6 servers other than the first two. +Also note that outgoing connections to 192.168/16 are the only outgoing connections that will get offloaded. .Bd -literal @@ -704,7 +733,7 @@ operation. .Ar register-block can be .Cm sge pci dbg mc ma edc0 edc1 cim tp ulp_rx ulp_tx pmrx pmtx mps cplsw -.Cm smb i2c mi uart pmu sf pl le ncsi xgmac Ns . +.Cm smb i2c mi uart pmu sf pl le ncsi xgmac . .It Cm sched-class config Op Ar param Ar value Configure optional feature capabilities for the TX scheduler. .Bl -ohang -offset indent @@ -794,14 +823,14 @@ Consult the adapter documentation for specific information on any limitations. Bind the indicated port's NIC TX .Ar queue to the specified TX Scheduler -.Ar class. +.Ar class . If the TX .Ar queue is .Cm all, * or any negative value, the binding will apply to all of the TX queues associated with the -.Ar interface. +.Ar interface . If the class is .Cm unbind, clear or any negative value, the TX queue(s) will be unbound from @@ -811,7 +840,7 @@ Switch to interactive mode. .It Cm tcb Ar tid Display contents of the hardware TCB (TCP Control Block) for the connection identfied by -.Ar tid Ns . +.Ar tid . .El .Sh FILES /sys/dev/cxgbe/t4_ioctl.h From nobody Fri Feb 6 01:07:28 2026 X-Original-To: dev-commits-src-branches@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 4f6bXw6lDgz6RV8S for ; Fri, 06 Feb 2026 01:07:28 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6bXw6HqVz3CPs for ; Fri, 06 Feb 2026 01:07:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770340048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uV8QYMyOud2iHfRKHev5vmsjeYHVyCXzA4RafM16tTw=; b=nmcQQrcvHeuJK2L+ZidSgEwvYrz7jsCs9sf5OD7sRxci1VRkzWvQQFaW8MzrCoqwbieACg eMRHnkMW+cJmSjJbYoWu7O54ZGkKlJv6nugoky3J/d88R3cgSFN5jRTjSvjGoNhFZEGieb Gp/iRzu1cU8iXuQAa1rwU7oBk3UijVEf6R8d0PRQFmZC2rcyWZtp5Fv+MeOqJuJDX40HXx Cl9D0qjR3t3JpuOGc0df6zrF5gp4J/j6n6uQ9QFF4n1bjUrh3fXudakAKcCLoaWAIv0rRE qA6PN5d4sdm82pCPHM+7VZZ/fvwhW6PDiNbVoWgBeAp3BvCsKEMY6ZoiLDlthw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770340048; a=rsa-sha256; cv=none; b=jg1RuGm8zP5lxlDF94J7rWDk20WZBHwV8YvRT7T/K8OK2ExUf0ZCCxo5yauoPXxkqxqAeW qBkgo1o3Dx6NndB06GeWnHNuuCci35ymhWr1KMgy5pR0totnPh1PYuu42qZW+8OLD3ARpM wATvDVUezjYZbjBMiIlFgXqI7ZPn8ihC6fq0Oe84OTiXfSlpwVzRDA914MkdW4r/oQ1XXs j9tFr4F3silMo9zCPvsxYDBIpi2QRXCpoR30Z/Y35RRRkamurEaAk2NCydjO2hR8g3HUcz UAW9eL6cIlvuJnhmf6jOUhVQxk+GsBMFlkKq5OowN8o0PIXDszPwo6ozUjS+kQ== 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=1770340048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uV8QYMyOud2iHfRKHev5vmsjeYHVyCXzA4RafM16tTw=; b=cEKdx1oFSFQvUPZaMyq9kF5oyIjSeFW+JBH2d36/eMu75XPIG2UeouaN2IGCKibZPsKA2X evAEbbQeIpHMk4yMv67qDNTYc78L0e7NxqT3/mcquv+e9ntQwAzqSr8XM877OanclDjABh cizJGcZKzE/LTiEZxBxcPZtMBbdeg+hjgd+ExcALgY24z+9kxd8RRfjR+VSEK/8pqsLPdl /BQLQcrofYZ6UuZMlbnrSFisz+UZAk25JhgZ7OLT1GdZb3v0urjBIgFRPridvtX0H+5XVp DrrJNUzpWgTsvPbWWV1xrhRoWpsRzKTtPoLgFXxPWQsXOSPIh+eJtp7ifm1DjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6bXw5L5Lztr1 for ; Fri, 06 Feb 2026 01:07:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 360ba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 01:07:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Ziaee From: Colin Percival Subject: git: 8039d22f6afd - releng/14.4 - mandoc: Vendor import of upstream at 2025-07-27 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: 8039d22f6afde8c6913b2dc48f407fc9fc0752ee Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 01:07:28 +0000 Message-Id: <69853ed0.360ba.53637d43@gitrepo.freebsd.org> The branch releng/14.4 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=8039d22f6afde8c6913b2dc48f407fc9fc0752ee commit 8039d22f6afde8c6913b2dc48f407fc9fc0752ee Author: Alexander Ziaee AuthorDate: 2025-08-15 19:03:22 +0000 Commit: Colin Percival CommitDate: 2026-02-06 01:06:51 +0000 mandoc: Vendor import of upstream at 2025-07-27 Groff Compat Edition -- Interesting changes: + italics in section/subsection headers are now also bold, like groff + display "LOCAL" in response to invalid section numbers, like groff + tbl(7) rendering has been tweaked to be more like groff + scaling has been improved to better render poorly generated manuals + display "UNTITLED" in response to invalid man(7) titles, like groff + improve mandocd error handling of broken pipes + manual footers now always show NAME(SECTION) on the right, like groff Approved by: re (cperciva) MFC after: 3 days (cherry picked from commit 06410c1b51637e5e1f392d553b5008948af58014) (cherry picked from commit a1f4ccd6c79470eb0180f4d9a012b24c267d2574) --- contrib/mandoc/Makefile | 2 +- contrib/mandoc/TODO | 11 +- contrib/mandoc/catman.8 | 238 ++++++++++++++++++++++++++++++---- contrib/mandoc/catman.c | 231 +++++++++++++++++++++++++++++---- contrib/mandoc/gmdiff | 4 +- contrib/mandoc/man.7 | 151 +++++++++++++--------- contrib/mandoc/man.options.1 | 9 +- contrib/mandoc/man_html.c | 19 ++- contrib/mandoc/man_term.c | 133 +++++++++---------- contrib/mandoc/man_validate.c | 18 ++- contrib/mandoc/mandoc.1 | 31 ++--- contrib/mandoc/mandoc.css | 4 +- contrib/mandoc/mandocd.8 | 26 +++- contrib/mandoc/mandocd.c | 34 ++++- contrib/mandoc/manpath.c | 11 +- contrib/mandoc/mdoc_html.c | 15 ++- contrib/mandoc/mdoc_man.c | 5 +- contrib/mandoc/mdoc_markdown.c | 10 +- contrib/mandoc/mdoc_term.c | 122 ++++++++++-------- contrib/mandoc/mdoc_validate.c | 10 +- contrib/mandoc/out.c | 63 ++++++--- contrib/mandoc/out.h | 24 ++-- contrib/mandoc/roff.7 | 195 +++++++++++++++++++++------- contrib/mandoc/roff_term.c | 31 +++-- contrib/mandoc/tbl.h | 16 +-- contrib/mandoc/tbl_html.c | 34 +---- contrib/mandoc/tbl_layout.c | 10 +- contrib/mandoc/tbl_term.c | 287 +++++++++++++++++++++++------------------ contrib/mandoc/term.c | 201 ++++++++++++++++------------- contrib/mandoc/term.h | 38 +++--- contrib/mandoc/term_ascii.c | 91 +++++++------ contrib/mandoc/term_ps.c | 18 +-- contrib/mandoc/term_tab.c | 27 +--- 33 files changed, 1365 insertions(+), 754 deletions(-) diff --git a/contrib/mandoc/Makefile b/contrib/mandoc/Makefile index 7ec34a560504..0830c9f289a3 100644 --- a/contrib/mandoc/Makefile +++ b/contrib/mandoc/Makefile @@ -15,7 +15,7 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -VERSION = 1.14.6s20250613 +VERSION = 1.14.6s20250727 # === LIST OF FILES ==================================================== diff --git a/contrib/mandoc/TODO b/contrib/mandoc/TODO index 3f5a449af68f..5d582b85b154 100644 --- a/contrib/mandoc/TODO +++ b/contrib/mandoc/TODO @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.337 2025/04/08 21:53:14 schwarze Exp $ +* $Id: TODO,v 1.338 2025/07/22 13:36:54 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -505,6 +505,15 @@ are mere guesses, and some may be wrong. re-reported by tb@ Mon, 16 Mar 2015 16:47:21 +0100 loc ** exist ** algo ** size * imp ** +- Check for bad line breaks caused by PostScript and PDF using variable- + width fonts, for example in .Bl -width "string". The difficulty line + below describes a naive solution by simply scaling up widths internally + or adding default spacing (like in terminal output). If fixes are + needed in width measurements, it might be a bit harder, but likely + not unreasonably so. + reported by Jan Stary 20 May 2024 10:19:01 +0200 + loc * exist * algo ** size * imp ** + --- HTML issues -------------------------------------------------------- - support the idiom .TP .IP .TP for multi-paragraph list item bodies diff --git a/contrib/mandoc/catman.8 b/contrib/mandoc/catman.8 index 903fa1fa82c9..c0f14872afc6 100644 --- a/contrib/mandoc/catman.8 +++ b/contrib/mandoc/catman.8 @@ -1,6 +1,6 @@ -.\" $Id: catman.8,v 1.8 2017/03/18 19:56:01 schwarze Exp $ +.\" $Id: catman.8,v 1.15 2025/07/13 14:15:26 schwarze Exp $ .\" -.\" Copyright (c) 2017 Ingo Schwarze +.\" Copyright (c) 2017, 2025 Ingo Schwarze .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: March 18 2017 $ +.Dd $Mdocdate: July 13 2025 $ .Dt CATMAN 8 .Os .Sh NAME @@ -37,9 +37,9 @@ and format and formats all of them, storing the formatted versions in the same relative paths below .Ar dstdir . -Subdirectories of +Unless they already exist, .Ar dstdir -are created as needed. +itself and any required subdirectories are created. Existing files are not explicitly deleted, but possibly overwritten. .Pp The options are as follows: @@ -71,6 +71,18 @@ output mode, the .Cm fragment output option is implied. Other output options are not supported. +.It Fl v +Verbose mode, printing additional information to standard error output. +Specifying this once prints a summary about the number of files +and directories processed at the end of the iteration. +Specifying it twice additionally prints debugging information +about the backchannel from +.Xr mandocd 8 +to +.Nm +that is used to limit the number of files in flight at any given time. +For details, see +.Sx DIAGNOSTICS . .El .Sh IMPLEMENTATION NOTES Since this version avoids @@ -87,33 +99,209 @@ implementations. .Sh EXIT STATUS .Ex -std .Pp -Possible errors include: -.Bl -bullet -.It -missing, invalid, or excessive command line arguments -.It -failure to change the current working directory to +Failures while trying to open individual manual pages for reading, +to save individual formatted files to the file system, +or even to read or create subdirectories do not cause +.Nm +to return an error exit status. +In such cases, +.Nm +simply continues with the next file or subdirectory. +.Sh DIAGNOSTICS +Some fatal errors cause +.Nm +to exit before the iteration over input files is even started: +.Bl -tag -width Ds -offset indent +.It unknown option \-\- Ar option +An invalid option was passed on the command line. +.It missing arguments: srcdir and dstdir +No argument was provided. +Both .Ar srcdir -.It -failure to open +and .Ar dstdir -.It -communication failure with +are mandatory. +.It missing argument: dstdir +Only one argument was provided. +The second argument, +.Ar dstdir , +is mandatory, too. +.It too many arguments: Ar third argument +Three or more arguments were provided, but only two are supported. +.It Sy socketpair : Ar reason +The sockets needed for communication with +.Xr mandocd 8 +could not be created, for example due to file descriptor or memory exhaustion. +.It Sy fork : Ar reason +The new process needed to run .Xr mandocd 8 -.It -resource exhaustion, for example file descriptor, process table, -or memory exhaustion +could not be created, for example due to process table exhaustion +or system resource limits. +.It Sy exec Ns Po Sy mandocd Pc : Ar reason +The +.Xr mandocd 8 +child program could not be started, for example because it is not in the +.Ev PATH +or has no execute permission. +.It Sy mkdir No destination Ar dstdir : reason +The +.Ar dstdir +does not exist and could not be created, for example because +the parent directory does not exist or permission is denied. +.It Sy open No destination Ar dstdir : reason +The +.Ar dstdir +could not be opened for reading, for example because +it is not a directory or permission is denied. +.It Sy chdir No to source Ar srcdir : reason +The current working directory could not be changed to +.Ar srcdir , +for example because it does not exist, it is not a directory, +or permission is denied. +.It Sy fts_open : Ar reason +Starting the iteration was attempted but failed, +for example due to memory exhaustion. .El .Pp -Except for memory exhaustion and similar system-level failures, -failures while trying to open, read, parse, or format individual -manual pages, to save individual formatted files to the file system, -or even to create directories do not cause +Some fatal errors cause the iteration over input files to be aborted +prematurely: +.Bl -tag -width Ds -offset indent +.It FATAL: Sy fts_read : Ar reason +A call to +.Xr fts_read 3 +returned +.Dv NULL , +meaning that the iteration failed before being complete. +.It FATAL: mandocd child died: got Ar SIGNAME +This message appears if .Nm -to return an error exit status. -In such cases, +gets the +.Dv SIGCHLD +or +.Dv SIGPIPE +signal, most likely due to a fatal bug in +.Xr mandocd 8 . +.It FATAL: Sy sendmsg : Ar reason +The file descriptors needed to process one of the manual pages +could not be sent to +.Xr mandocd 8 , +for example because +.Xr mandocd 8 +could not be started or died unexpectedly. +.It FATAL: Sy recv : Ar reason +Trying to read a reply message from +.Xr mandocd 8 +failed, most likely because +.Xr mandocd 8 +unexpectedly died or closed the socket. +.It FATAL: signal Ar SIGNAME +This message appears if +.Nm +gets a +.Dv SIGHUP , +.Dv SIGINT , +or +.Dv SIGTERM +signal, for example because the user deliberately killed it. +.El +.Pp +Some non-fatal errors cause a single subdirectory to be skipped. +The iteration is not aborted but continues with the next subdirectory, +and the exit status is unaffected: +.Bl -tag -width Ds -offset indent +.It directory Ar subdirectory No unreadable : Ar reason +A directory below +.Ar srcdir +could not be read and is skipped. +.It directory Ar subdirectory No causes cycle +A directory below +.Ar srcdir +is skipped because it would cause cyclic processing. +.It Sy mkdirat Ar subdirectory : reason +A required directory below +.Ar dstdir +does not exist and could not be created. +The corresponding subdirectory below +.Ar srcdir +is skipped. +.El +.Pp +Some non-fatal errors cause a single source file to be skipped. +The iteration is not aborted but continues with the next file, +and the exit status is unaffected: +.Bl -tag -width Ds -offset indent +.It file Ar filename : reason +The function +.Xr fts_read 3 +reported a non-fatal error with respect to +.Ar filename . +.It file Ar filename : No not a regular file +For example, it might be a symbolic link or a device file. +.It Sy open Ar filename No for reading : Ar reason +A file below +.Ar srcdir +could not be read, for example due to permission problems. +.It Sy openat Ar filename No for writing : Ar reason +A file below +.Ar dstdir +could not be created or truncated, for example due to permission problems. +.El +.Pp +If errors occur, the applicable summary messages appear +after the end of the iteration: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It skipped Ar number No directories due to errors +.It skipped Ar number No files due to errors +.It processing aborted due to fatal error +.El +.Pp +If the +.Fl v +flag is specified, the following summary message also appears: +.Bl -tag -width Ds -offset indent +.It processed Ar nfiles No files in Ar ndirs No directories +A file is counted if it could be opened for reading and the +corresponding output file could be opened for writing; +this does not necessarily mean that it is a useful manual page. +A directory is counted if it could be opened for reading and the +corresponding output directory existed or could be created; +this does not necessarily mean that any files could be +processed inside. +.El +.Pp +If the +.Fl v +flag is specified twice, the following messages also appear: +.Bl -tag -width Ds -offset indent +.It allowing up to Ar number No files in flight +This is printed at the beginning of the iteration, +showing the maximum number of files that +.Nm +allows to be in flight at any given time. +.It files in flight: Ar old No \- Ar decrement No = Ar new +This message is printed when +.Nm +learns about +.Xr mandocd 8 +accepting more than one file at the same time. +The three numbers printed are the old number of files in flight, +the amount this number is being reduced, and the resulting +new number of files in flight. +.It waiting for Ar number No files in flight +This message is printed at the end of the iteration, after +.Nm +has submitted all files to +.Xr mandocd 8 +that it intends to. +THe message informs about the number of files still in flight +at this point. +The .Nm -will simply continue with the next file or subdirectory. +program then waits until +.Xr mandocd 8 +has accepted them all or until an error occurs. +.El .Sh SEE ALSO .Xr mandoc 1 , .Xr mandocd 8 diff --git a/contrib/mandoc/catman.c b/contrib/mandoc/catman.c index e46613eb0e8c..c9eda18bf71c 100644 --- a/contrib/mandoc/catman.c +++ b/contrib/mandoc/catman.c @@ -1,7 +1,7 @@ -/* $Id: catman.c,v 1.23 2021/10/15 15:04:02 schwarze Exp $ */ +/* $Id: catman.c,v 1.30 2025/07/13 14:15:26 schwarze Exp $ */ /* + * Copyright (c) 2017, 2025 Ingo Schwarze * Copyright (c) 2017 Michael Stapelberg - * Copyright (c) 2017 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -25,6 +25,7 @@ #include #include +#include #if HAVE_ERR #include #endif @@ -35,26 +36,44 @@ #else #include "compat_fts.h" #endif +#include +#include #include #include #include #include #include +int verbose_flag = 0; +sig_atomic_t got_signal = 0; + int process_manpage(int, int, const char *); int process_tree(int, int); void run_mandocd(int, const char *, const char *) __attribute__((__noreturn__)); +void signal_handler(int); ssize_t sock_fd_write(int, int, int, int); void usage(void) __attribute__((__noreturn__)); +void +signal_handler(int signum) +{ + got_signal = signum; +} + void run_mandocd(int sockfd, const char *outtype, const char* defos) { char sockfdstr[10]; + int len; - if (snprintf(sockfdstr, sizeof(sockfdstr), "%d", sockfd) == -1) + len = snprintf(sockfdstr, sizeof(sockfdstr), "%d", sockfd); + if (len >= (int)sizeof(sockfdstr)) { + errno = EOVERFLOW; + len = -1; + } + if (len < 0) err(1, "snprintf"); if (defos == NULL) execlp("mandocd", "mandocd", "-T", outtype, @@ -109,10 +128,11 @@ sock_fd_write(int fd, int fd0, int fd1, int fd2) * to neither cause more than a handful of retries * in normal operation nor unnecessary delays. */ - for (;;) { - if ((sz = sendmsg(fd, &msg, 0)) != -1 || - errno != EAGAIN) + while ((sz = sendmsg(fd, &msg, 0)) == -1) { + if (errno != EAGAIN) { + warn("FATAL: sendmsg"); break; + } nanosleep(&timeout, NULL); } return sz; @@ -125,14 +145,16 @@ process_manpage(int srv_fd, int dstdir_fd, const char *path) int irc; if ((in_fd = open(path, O_RDONLY)) == -1) { - warn("open(%s)", path); + warn("open %s for reading", path); + fflush(stderr); return 0; } if ((out_fd = openat(dstdir_fd, path, O_WRONLY | O_NOFOLLOW | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) == -1) { - warn("openat(%s)", path); + warn("openat %s for writing", path); + fflush(stderr); close(in_fd); return 0; } @@ -142,20 +164,22 @@ process_manpage(int srv_fd, int dstdir_fd, const char *path) close(in_fd); close(out_fd); - if (irc < 0) { - warn("sendmsg"); - return -1; - } - return 0; + return irc; } int process_tree(int srv_fd, int dstdir_fd) { + const struct timespec timeout = { 0, 10000000 }; /* 0.01 s */ + const int max_inflight = 16; + FTS *ftsp; FTSENT *entry; const char *argv[2]; const char *path; + int inflight, irc, decr, fatal; + int gooddirs, baddirs, goodfiles, badfiles; + char dummy[1]; argv[0] = "."; argv[1] = (char *)NULL; @@ -166,13 +190,59 @@ process_tree(int srv_fd, int dstdir_fd) return -1; } - while ((entry = fts_read(ftsp)) != NULL) { + if (verbose_flag >= 2) { + warnx("allowing up to %d files in flight", max_inflight); + fflush(stderr); + } + inflight = fatal = gooddirs = baddirs = goodfiles = badfiles = 0; + while (fatal == 0 && got_signal == 0 && + (entry = fts_read(ftsp)) != NULL) { + if (inflight >= max_inflight) { + while (recv(srv_fd, dummy, sizeof(dummy), 0) == -1) { + if (errno != EAGAIN) { + warn("FATAL: recv"); + fatal = errno; + break; + } + nanosleep(&timeout, NULL); + } + if (fatal != 0) + break; + decr = 1; + while ((irc = recv(srv_fd, dummy, sizeof(dummy), + MSG_DONTWAIT)) > 0) + decr++; + assert(inflight >= decr); + if (verbose_flag >= 2 && decr > 1) { + warnx("files in flight: %d - %d = %d", + inflight, decr, inflight - decr); + fflush(stderr); + } + inflight -= decr; + if (irc == 0) { + errno = ECONNRESET; + inflight = -1; + } + if (errno != EAGAIN) { + warn("FATAL: recv"); + fatal = errno; + break; + } + } path = entry->fts_path + 2; switch (entry->fts_info) { case FTS_F: - if (process_manpage(srv_fd, dstdir_fd, path) == -1) { - fts_close(ftsp); - return -1; + switch (process_manpage(srv_fd, dstdir_fd, path)) { + case -1: + fatal = errno; + break; + case 0: + badfiles++; + break; + default: + goodfiles++; + inflight++; + break; } break; case FTS_D: @@ -180,25 +250,96 @@ process_tree(int srv_fd, int dstdir_fd) mkdirat(dstdir_fd, path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) == -1 && errno != EEXIST) { - warn("mkdirat(%s)", path); + warn("mkdirat %s", path); + fflush(stderr); (void)fts_set(ftsp, entry, FTS_SKIP); - } + baddirs++; + } else + gooddirs++; break; case FTS_DP: break; + case FTS_DNR: + warnx("directory %s unreadable: %s", + path, strerror(entry->fts_errno)); + fflush(stderr); + baddirs++; + break; + case FTS_DC: + warnx("directory %s causes cycle", path); + fflush(stderr); + baddirs++; + break; + case FTS_ERR: + case FTS_NS: + warnx("file %s: %s", + path, strerror(entry->fts_errno)); + fflush(stderr); + badfiles++; + break; default: - warnx("%s: not a regular file", path); + warnx("file %s: not a regular file", path); + fflush(stderr); + badfiles++; break; } } + if (got_signal != 0) { + switch (got_signal) { + case SIGCHLD: + warnx("FATAL: mandocd child died: got SIGCHLD"); + break; + case SIGPIPE: + warnx("FATAL: mandocd child died: got SIGPIPE"); + break; + default: + warnx("FATAL: signal SIG%s", sys_signame[got_signal]); + break; + } + inflight = -1; + fatal = 1; + } else if (fatal == 0 && (fatal = errno) != 0) + warn("FATAL: fts_read"); fts_close(ftsp); - return 0; + if (verbose_flag >= 2 && inflight > 0) { + warnx("waiting for %d files in flight", inflight); + fflush(stderr); + } + while (inflight > 0) { + irc = recv(srv_fd, dummy, sizeof(dummy), 0); + if (irc > 0) + inflight--; + else if (irc == -1 && errno == EAGAIN) + nanosleep(&timeout, NULL); + else { + if (irc == 0) + errno = ECONNRESET; + warn("recv"); + inflight = -1; + } + } + if (verbose_flag) + warnx("processed %d files in %d directories", + goodfiles, gooddirs); + if (baddirs > 0) + warnx("skipped %d %s due to errors", baddirs, + baddirs == 1 ? "directory" : "directories"); + if (badfiles > 0) + warnx("skipped %d %s due to errors", badfiles, + badfiles == 1 ? "file" : "files"); + if (fatal != 0) { + warnx("processing aborted due to fatal error, " + "results are probably incomplete"); + inflight = -1; + } + return inflight; } int main(int argc, char **argv) { + struct sigaction sa; const char *defos, *outtype; int srv_fds[2]; int dstdir_fd; @@ -207,7 +348,7 @@ main(int argc, char **argv) defos = NULL; outtype = "ascii"; - while ((opt = getopt(argc, argv, "I:T:")) != -1) { + while ((opt = getopt(argc, argv, "I:T:v")) != -1) { switch (opt) { case 'I': defos = optarg; @@ -215,6 +356,9 @@ main(int argc, char **argv) case 'T': outtype = optarg; break; + case 'v': + verbose_flag += 1; + break; default: usage(); } @@ -224,8 +368,36 @@ main(int argc, char **argv) argc -= optind; argv += optind; } - if (argc != 2) + if (argc != 2) { + switch (argc) { + case 0: + warnx("missing arguments: srcdir and dstdir"); + break; + case 1: + warnx("missing argument: dstdir"); + break; + default: + warnx("too many arguments: %s", argv[2]); + break; + } usage(); + } + + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = &signal_handler; + sa.sa_flags = SA_NOCLDWAIT; + if (sigfillset(&sa.sa_mask) == -1) + err(1, "sigfillset"); + if (sigaction(SIGHUP, &sa, NULL) == -1) + err(1, "sigaction(SIGHUP)"); + if (sigaction(SIGINT, &sa, NULL) == -1) + err(1, "sigaction(SIGINT)"); + if (sigaction(SIGPIPE, &sa, NULL) == -1) + err(1, "sigaction(SIGPIPE)"); + if (sigaction(SIGTERM, &sa, NULL) == -1) + err(1, "sigaction(SIGTERM)"); + if (sigaction(SIGCHLD, &sa, NULL) == -1) + err(1, "sigaction(SIGCHLD)"); if (socketpair(AF_LOCAL, SOCK_STREAM, AF_UNSPEC, srv_fds) == -1) err(1, "socketpair"); @@ -242,11 +414,18 @@ main(int argc, char **argv) } close(srv_fds[1]); - if ((dstdir_fd = open(argv[1], O_RDONLY | O_DIRECTORY)) == -1) - err(1, "open(%s)", argv[1]); + if ((dstdir_fd = open(argv[1], O_RDONLY | O_DIRECTORY)) == -1) { + if (errno != ENOENT) + err(1, "open destination %s", argv[1]); + if (mkdir(argv[1], S_IRWXU | + S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) == -1) + err(1, "mkdir destination %s", argv[1]); + if ((dstdir_fd = open(argv[1], O_RDONLY | O_DIRECTORY)) == -1) + err(1, "open destination %s", argv[1]); + } if (chdir(argv[0]) == -1) - err(1, "chdir(%s)", argv[0]); + err(1, "chdir to source %s", argv[0]); return process_tree(srv_fds[0], dstdir_fd) == -1 ? 1 : 0; } diff --git a/contrib/mandoc/gmdiff b/contrib/mandoc/gmdiff index 69431f703aaf..54025e4cd450 100644 --- a/contrib/mandoc/gmdiff +++ b/contrib/mandoc/gmdiff @@ -45,8 +45,8 @@ while [ -n "$1" ]; do file=$1 shift echo " ========== $file ========== " - $ROFF -mandoc $file | $COLPIPE 2> /tmp/roff.err > /tmp/roff.out - ${MANDOC:=mandoc} $MOPT $file | $COLPIPE \ + ($ROFF -mandoc $file | $COLPIPE) 2> /tmp/roff.err > /tmp/roff.out + (${MANDOC:=mandoc} $MOPT $file | $COLPIPE) \ 2> /tmp/mandoc.err > /tmp/mandoc.out for i in roff mandoc; do [ -s /tmp/$i.err ] && echo "$i errors:" && cat /tmp/$i.err diff --git a/contrib/mandoc/man.7 b/contrib/mandoc/man.7 index 4d27c76ba110..91eafbb35f70 100644 --- a/contrib/mandoc/man.7 +++ b/contrib/mandoc/man.7 @@ -1,7 +1,8 @@ -.\" $Id: man.7,v 1.150 2023/10/23 22:57:54 schwarze Exp $ +.\" $Id: man.7,v 1.154 2025/08/05 21:16:20 schwarze Exp $ .\" +.\" Copyright (c) 2011-2015, 2017-2020, 2023, 2025 +.\" Ingo Schwarze .\" Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons -.\" Copyright (c) 2011-2015,2017-2020,2023 Ingo Schwarze .\" Copyright (c) 2017 Anthony Bentley .\" Copyright (c) 2010 Joerg Sonnenberger .\" @@ -17,7 +18,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: October 23 2023 $ +.Dd $Mdocdate: August 5 2025 $ .Dt MAN 7 .Os .Sh NAME @@ -89,7 +90,7 @@ but can be found in the alphabetical reference below. .Ss Page header and footer meta-data .Bl -column "RS, RE" description .It Ic TH Ta set the title: Ar name section date Op Ar source Op Ar volume -.It Ic AT Ta display AT&T UNIX version in the page footer (<= 1 argument) +.It Ic AT Ta display AT&T UNIX version in the page footer (<= 2 arguments) .It Ic UC Ta display BSD version in the page footer (<= 1 argument) .El .Ss Sections and paragraphs @@ -99,6 +100,7 @@ but can be found in the alphabetical reference below. .It Ic PP Ta start an undecorated paragraph (no arguments) .It Ic IP Ta indented paragraph: Op Ar head Op Ar width .It Ic TP Ta tagged paragraph: Op Ar width +.It Ic HP Ta hanged paragraph: Op Ar width .It Ic PD Ta set vertical paragraph distance: Op Ar height .It Ic EX , EE Ta display an example (no arguments) .It Ic RS , RE Ta reset the left margin: Op Ar width @@ -198,11 +200,6 @@ argument is a scaling width. If specified, it's saved for later paragraph left margins; if unspecified, the saved or default width is used. -.Pp -This macro is portable, but deprecated -because it has no good representation in HTML output, -usually ending up indistinguishable from -.Ic PP . .It Ic I Text is rendered in italics. .It Ic IB @@ -239,6 +236,17 @@ A synonym for End a mailto block started with .Ic MT . This is a GNU extension. +.It Ic MR +Reference another manual page. +This is a Plan 9 extension also supported by GNU. +It has the following syntax: +.Pp +.D1 Pf . Ic MR Ar name section Op Ar suffix +.Pp +The optional, single +.Ar suffix +argument is appended without preceding whitespace +and typically used for trailing punctuation. .It Ic MT Begin a mailto block. This is a GNU extension. @@ -250,8 +258,12 @@ link description to be shown .Ed .It Ic OP Optional command-line argument. -This is a rarely used DWB extension. -It has the following syntax: +This is a deprecated GNU extension. +The name and purpose of the macro match an earlier DWB extension, +but both the syntax and semantics are incompatible. +In GNU and +.Xr mandoc 1 , +it has the following syntax: .Pp .D1 Pf . Ic OP Ar key Op Ar value .Pp @@ -503,43 +515,56 @@ raised. .Pp The syntax is as follows: .Bd -literal -offset indent -\&.YO \(lBbody...\(rB -\(lBbody...\(rB +\&.\e" current-line syntax +\&.YO \(lBbody ...\(rB + +\&.\e" next-line syntax +\&.YO +body ... .Ed -.Bl -column "MacroX" "ArgumentsX" "ScopeXXXXX" "CompatX" -offset indent -.It Em Macro Ta Em Arguments Ta Em Scope Ta Em Notes -.It Ic AT Ta <=1 Ta current Ta \& -.It Ic B Ta n Ta next-line Ta \& -.It Ic BI Ta n Ta current Ta \& -.It Ic BR Ta n Ta current Ta \& -.It Ic DT Ta 0 Ta current Ta \& -.It Ic EE Ta 0 Ta current Ta Version 9 At -.It Ic EX Ta 0 Ta current Ta Version 9 At -.It Ic I Ta n Ta next-line Ta \& -.It Ic IB Ta n Ta current Ta \& -.It Ic IR Ta n Ta current Ta \& -.It Ic OP Ta >=1 Ta current Ta DWB -.It Ic PD Ta 1 Ta current Ta \& -.It Ic RB Ta n Ta current Ta \& -.It Ic RI Ta n Ta current Ta \& -.It Ic SB Ta n Ta next-line Ta \& -.It Ic SM Ta n Ta next-line Ta \& -.It Ic TH Ta >1, <6 Ta current Ta \& -.It Ic UC Ta <=1 Ta current Ta \& -.It Ic in Ta 1 Ta current Ta Xr roff 7 +.Bl -column -offset indent\ + "Macro" "Arguments" "curr and next" "Version 9 AT&T UNIX" +.It Em Macro Ta Em Arguments Ta Em Line Scope Ta Em Notes +.It Ic AT Ta 0 to 2 Ta current Ta \& +.It Ic B Ta 1 or more Ta curr or next Ta \& +.It Ic BI Ta 2 or more Ta current Ta \& +.It Ic BR Ta 2 or more Ta current Ta \& +.It Ic DT Ta 0 Ta none Ta \& +.It Ic EE Ta 0 Ta none Ta Version 9 At +.It Ic EX Ta 0 Ta none Ta Version 9 At +.It Ic I Ta 1 or more Ta curr or next Ta \& +.It Ic IB Ta 2 or more Ta current Ta \& +.It Ic IR Ta 2 or more Ta current Ta \& +.It Ic MR Ta 2 or 3 Ta current Ta Plan 9 +.It Ic OP Ta 1 or 2 Ta current Ta GNU +.It Ic PD Ta 0 or 1 Ta current Ta \& +.It Ic RB Ta 2 or more Ta current Ta \& +.It Ic RI Ta 2 or more Ta current Ta \& +.It Ic SB Ta 1 or more Ta curr or next Ta \& +.It Ic SM Ta 1 or more Ta curr or next Ta \& +.It Ic TH Ta 3 to 5 Ta current Ta \& +.It Ic UC Ta 0 or 1 Ta current Ta \& +.It Ic in Ta 0 or 1 Ta current Ta Xr roff 7 .El .Ss Block Macros Block macros comprise a head and body. -As with in-line macros, the head is scoped to the current line and, in -one circumstance, the next line (the next-line stipulations as in +As with in-line macros, the head is scoped to the current line or, +for some macros, to the next line (the next-line stipulations as in .Sx Line Macros apply here as well). .Pp The syntax is as follows: .Bd -literal -offset indent -\&.YO \(lBhead...\(rB -\(lBhead...\(rB -\(lBbody...\(rB +\&.\e" current-line syntax +\&.YO \(lBhead ...\(rB +body ... +\&... + +\&.\e" next-line syntax +\&.YO \(lBhead\(rB +head ... +body ... +\&... .Ed .Pp The closure of body scope may be to the section, where a macro is closed @@ -547,40 +572,42 @@ by .Ic SH ; sub-section, closed by a section or .Ic SS ; -or paragraph, closed by a section, sub-section, +paragraph, closed by a section, sub-section, .Ic HP , .Ic IP , .Ic LP , .Ic P , .Ic PP , -.Ic RE , +.Ic RS , .Ic SY , +.Ic TP , or -.Ic TP . -No closure refers to an explicit block closing macro. +.Ic TQ ; +or to an explicit block closing macro. .Pp As a rule, block macros may not be nested; thus, calling a block macro while another block macro scope is open, and the open scope is not implicitly closed, is syntactically incorrect. -.Bl -column "MacroX" "ArgumentsX" "Head ScopeX" "sub-sectionX" "compatX" -offset indent -.It Em Macro Ta Em Arguments Ta Em Head Scope Ta Em Body Scope Ta Em Notes -.It Ic HP Ta <2 Ta current Ta paragraph Ta \& -.It Ic IP Ta <3 Ta current Ta paragraph Ta \& -.It Ic LP Ta 0 Ta current Ta paragraph Ta \& -.It Ic ME Ta 0 Ta none Ta none Ta GNU -.It Ic MT Ta 1 Ta current Ta to \&ME Ta GNU -.It Ic P Ta 0 Ta current Ta paragraph Ta \& -.It Ic PP Ta 0 Ta current Ta paragraph Ta \& -.It Ic RE Ta <=1 Ta current Ta none Ta \& -.It Ic RS Ta 1 Ta current Ta to \&RE Ta \& -.It Ic SH Ta >0 Ta next-line Ta section Ta \& -.It Ic SS Ta >0 Ta next-line Ta sub-section Ta \& -.It Ic SY Ta 1 Ta current Ta to \&YS Ta GNU -.It Ic TP Ta n Ta next-line Ta paragraph Ta \& -.It Ic TQ Ta n Ta next-line Ta paragraph Ta GNU *** 3595 LINES SKIPPED *** From nobody Fri Feb 6 01:07:29 2026 X-Original-To: dev-commits-src-branches@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 4f6bXy1Jx5z6RV6B for ; Fri, 06 Feb 2026 01:07:30 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6bXx6bpjz3CNC for ; Fri, 06 Feb 2026 01:07:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770340050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rk9P2YkOApKV/mAqd7Zted2iGGIFU5uBAJYmVDJNFrY=; b=W1iioQa3Cry9VP2y048qbVV3ohMeeiHq2rd1wgutOk4YeSthhfomnJ/mWLnuWm9gbtH3h2 1U4eSuYJJ09Jk7ve4BdhZlsvNz7zM/K43Dma0/oSVwR2sj1zztP2KO9Yqy1/3WPdT1KVq5 lqRZSb96p9ynmxj88ACA1pGmnqTPkkEIw/XHX852b0mUcU63JE7cwT104GAjf8qKnYKuW0 N91ZRydJKND9rULYQD2QquqMstlwqJTfa6t+vBXwdBm+EM0I6zW/77SUjVQXdY5gAU3i9Y 0UQtQUL67Sj8lRFkiuFdFTSazaILiv/lcXTF7wSxImUMKQt816WmZK0Tju3ayg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770340050; a=rsa-sha256; cv=none; b=v1xndTd06u1IesEKpFHVlhVfW/WSmOAGwTUy3CdYSj2YR8qUakJcsk2HQ7WJKJDiIqeB65 W0EllnZNWQm78IwqbNS1P9ZV78Criv80pagQBP8CI5zk4BIGnQPKmfdLqGulG5dev/fSEF NvXGDNLqPIwt1/jGqHRWbOY6/agCzY6lcMlcjZfL8wdqdfuGgijCWrRkyNiTLPNqhVk/2H vSgXjHlLmrDR642G9zc1NMdbkuIyC7uWd2NfAM03aTw06sWuvFwO/4aKfdBIJ59Tq2BkNU 4rIVxbAOu6WxbwDRc+0k3nhnAn3tUOWgqIA5hl7UZf0fJozhIwoy529FFuJJXg== 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=1770340050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rk9P2YkOApKV/mAqd7Zted2iGGIFU5uBAJYmVDJNFrY=; b=WaCbcc00b/fxH1mVMM/SQ6IeVaRv+FmSCGEvvLEZqVq5WKsNzCjHHTUNgci55erJxsvmeV bzo1csJFnWvHSyvGt6t7tnmoRcmE3jUcXf+qh8QFkgg+k7aFXgG75Go0ks0bOqEXAgLuvP u6RvA6YT3v7PQ1k8tQ3W1LkvG0VHFijoBmBWBcXH/bK97oWs6InmpI1jNJu3/jCv1YK5Vq ixy0N/whwcN+fzkcdEGo3SNirMpFy9jLqlrUD/yH/wQTr6jV9W1SXAloQLi32pK3NJAFVe V+k+yLAIV5Wo5P6PCuuYn8P1vRJM9ze0pPEk1DSa/uwn60IsrYKgUXkufAKJOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6bXx63zRzv2P for ; Fri, 06 Feb 2026 01:07:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36315 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 01:07:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Ingo Schwarze From: Colin Percival Subject: git: e261ea91050c - releng/14.4 - mandoc: Improve width calculation for GCC compat List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: e261ea91050c6955a00d3428c3a3522971789aa1 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 01:07:29 +0000 Message-Id: <69853ed1.36315.512962e7@gitrepo.freebsd.org> The branch releng/14.4 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e261ea91050c6955a00d3428c3a3522971789aa1 commit e261ea91050c6955a00d3428c3a3522971789aa1 Author: Ingo Schwarze AuthorDate: 2025-08-25 22:58:48 +0000 Commit: Colin Percival CommitDate: 2026-02-06 01:06:59 +0000 mandoc: Improve width calculation for GCC compat Avoid implicitly converting a potentially negative page offset to size_t and then back to int. While this was not a bug and the end result was portably correct, Alexander Ziaee@ privately reported to me that the GCC 14 in the FreeBSD Jenkins CI felt uneasy about it. For clarity and readability, rewrite the truncation statement to not mix signed and unsigned types, to not use explicit casts, and make handling of the lower and upper cutoff more similar to each other. Approved by: re (cperciva) Fixes: 6410c1b51637 (mandoc: vendor import of upstream at 2025-07-27) MFC after: 3 days Reported by: ivy Reviewed by: ivy Differential Revision: https://reviews.freebsd.org/D52127 (cherry picked from commit 93bc3d83a11a1dbebd264616d63af3dd32cc1c8c) (cherry picked from commit 0d066d21668172aa7fc9bc38f9a0725ae31f0deb) --- contrib/mandoc/roff_term.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contrib/mandoc/roff_term.c b/contrib/mandoc/roff_term.c index 8f95aa920790..85d2caeb2749 100644 --- a/contrib/mandoc/roff_term.c +++ b/contrib/mandoc/roff_term.c @@ -165,6 +165,7 @@ roff_term_pre_po(ROFF_TERM_ARGS) static int polast; /* Previously requested. */ static int po; /* Currently requested. */ static int pouse; /* Currently used. */ + int pomin; /* Minimum to be used. */ int pomax; /* Maximum to be used. */ int ponew; /* Newly requested. */ @@ -186,9 +187,9 @@ roff_term_pre_po(ROFF_TERM_ARGS) po = ponew; /* Truncate to the range [-offset, 60], remember, and apply it. */ + pomin = -p->tcol->offset; pomax = term_len(p, 60); - pouse = po >= pomax ? pomax : - po < -(int)p->tcol->offset ? -p->tcol->offset : po; + pouse = po > pomax ? pomax : po < pomin ? pomin : po; p->tcol->offset += pouse; } From nobody Fri Feb 6 01:07:30 2026 X-Original-To: dev-commits-src-branches@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 4f6bXz1rYRz6RV40 for ; Fri, 06 Feb 2026 01:07:31 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6bXz0CWpz3CKw for ; Fri, 06 Feb 2026 01:07:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770340051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=llR2R7OmZcP16mu2aY6+VVpCKHbo0wMjq+eSD3a3R8o=; b=UJxeCgK+LgPHjhZSzTVIcpyPMHweTBwoMNz7tEbTUGefUNzn/Kv5pGdSZYKqrWdL6K4YDK 7nAKILSSuPkC4fH42QZFiZIApK9zr3b2ewU+YPtPVo+YmSmZbCcBQG4uj4IW5y5MWMB6rb /C2y1ChSAq7Ymf0w8W2joGRnyE4cPil2myOt/8AeDsWZIZbwq6b+Vp4qQgZ+x+57+XAtKo Q5VwQUnkFm7tUlpES+DcNYcBFYLIVVpgurmXnHJAlCLDY9iKcbdpC8CfMwQoavfQZm6hRe bm3l77DbaiYVQtfYvFo/4Ixsr01UQmo5nYHAz4WlBKzIrdnfQIDg63k/r0z+7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770340051; a=rsa-sha256; cv=none; b=DGnWt/N8Liby4nsnj0cAXfb8gWXhlZOkh8SiPBz8rBUb/P/M1XizflK4V7HbcYvKwAZ6GS zXKXNVktS9y5zrgaJAquf2Jm/8oOesx8kPJ+MFDKQ2yEaNFyoaBMWeGHhtxDOysQGCHuM0 DghH0Fdl4PiWHoYEWGpfoRLrcZrKgPYfq3v43UZkRzCTBeDQSL0ItBVo9eDAQa9PTLY7kB jq2MNYJvNVnqTwFL2YF1mvyUq+Vze9ElJ8Rwc8dfhxMMGthPHgYqrUU7eXnMSBsK8vNJYi zv/4XsVBhVUStmqqmL1wBWDGqyqs8X3QFthAWDLgPYw2iif4vYwb0CVm2rJxOg== 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=1770340051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=llR2R7OmZcP16mu2aY6+VVpCKHbo0wMjq+eSD3a3R8o=; b=SmDbmzuVTFT4PQ3A3nOQot97561uxasWrXQecb2CUqNM+KdYNHfSbnoZNcJm/nbsb2dF3s S74ZFTjO4piasmeXCMdxqajP16B1OsMbxd7Z6zxbnPir/AGgX23ORYQ+PtCjzP5/YrBm5q kmyHzAa8oADnerSuWvSxWj++SLQFNIbAFLjdmIqspiNJheFAqzbm5cmUzAiedjCNc+ypIF 7S1u0EAUw8HITelFh+UdxYLYHnFdATKI1dDuNn+u3eDrD00ScDhdWF7JRrgTp3YjKOXp54 QJR5HIlz5pfpQ9FHv/O6e/CGPlaX1iUEfa2fAgj+aamtpBlIQ5+zpFm/FGwfuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6bXy6vBjztr3 for ; Fri, 06 Feb 2026 01:07:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3665b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 01:07:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Ziaee From: Colin Percival Subject: git: 7fa4ccb8e4e7 - releng/14.4 - mandoc: Vendor import of upstream at 2025-09-26 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: 7fa4ccb8e4e74100583dbddafcb0e1a054963d6e Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 01:07:30 +0000 Message-Id: <69853ed2.3665b.3eb42374@gitrepo.freebsd.org> The branch releng/14.4 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=7fa4ccb8e4e74100583dbddafcb0e1a054963d6e commit 7fa4ccb8e4e74100583dbddafcb0e1a054963d6e Author: Alexander Ziaee AuthorDate: 2025-09-29 17:31:38 +0000 Commit: Colin Percival CommitDate: 2026-02-06 01:07:07 +0000 mandoc: Vendor import of upstream at 2025-09-26 Interesting changes: + mandoc db: Improve case sorting, found by our very own markj + history: Add macros for version 8 and 10 AT&T Unix + linter: Warn on blank lines in man(7) like mdoc(7) + manuals: Improve precision, man(7) syntax table, and roff(7) specifics + manuals: Fix PDF/PS footer regression detailed in our PR: 289786 Approved by: re (cperciva) PR: 289786 MFC after: 3 days (cherry picked from commit 59fc2b0166f71c791113379d16b8cef7039f289d) (cherry picked from commit f763f12ed5eba2c95385dd2f93fc47a66dfa927c) --- contrib/mandoc/Makefile | 2 +- contrib/mandoc/dba.c | 7 +++--- contrib/mandoc/main.c | 52 +++++++++----------------------------------- contrib/mandoc/man.c | 3 ++- contrib/mandoc/man.options.1 | 35 +++++++++++++++++++++++++---- contrib/mandoc/mandoc.1 | 16 ++++++++------ contrib/mandoc/mdoc.7 | 35 +++++++++++++++++++---------- contrib/mandoc/roff_term.c | 2 +- contrib/mandoc/term_ps.c | 6 ++--- 9 files changed, 84 insertions(+), 74 deletions(-) diff --git a/contrib/mandoc/Makefile b/contrib/mandoc/Makefile index 0830c9f289a3..d4a2c794b437 100644 --- a/contrib/mandoc/Makefile +++ b/contrib/mandoc/Makefile @@ -15,7 +15,7 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -VERSION = 1.14.6s20250727 +VERSION = 1.14.6s20250926 # === LIST OF FILES ==================================================== diff --git a/contrib/mandoc/dba.c b/contrib/mandoc/dba.c index ee43933de3bf..ab40798e8eed 100644 --- a/contrib/mandoc/dba.c +++ b/contrib/mandoc/dba.c @@ -1,6 +1,6 @@ -/* $Id: dba.c,v 1.10 2017/02/17 14:43:54 schwarze Exp $ */ +/* $Id: dba.c,v 1.11 2025/09/24 13:13:30 schwarze Exp $ */ /* - * Copyright (c) 2016, 2017 Ingo Schwarze + * Copyright (c) 2016, 2017, 2025 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -318,7 +318,8 @@ compare_names(const void *vp1, const void *vp2) cp1 = *(const char * const *)vp1; cp2 = *(const char * const *)vp2; return (diff = *cp2 - *cp1) ? diff : - strcasecmp(cp1 + 1, cp2 + 1); + (diff = strcasecmp(cp1 + 1, cp2 + 1)) ? diff : + strcmp(cp1 + 1, cp2 + 1); } static int diff --git a/contrib/mandoc/main.c b/contrib/mandoc/main.c index 57b06c9b9e66..d70ff1ce77b4 100644 --- a/contrib/mandoc/main.c +++ b/contrib/mandoc/main.c @@ -1,6 +1,6 @@ -/* $Id: main.c,v 1.361 2022/04/14 16:43:43 schwarze Exp $ */ +/* $Id: main.c,v 1.364 2025/09/24 21:30:20 schwarze Exp $ */ /* - * Copyright (c) 2010-2012, 2014-2021 Ingo Schwarze + * Copyright (c) 2010-2012,2014-2021,2025 Ingo Schwarze * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010 Joerg Sonnenberger * @@ -109,7 +109,7 @@ static void parse(struct mparse *, int, const char *, struct outstate *, struct manconf *); static void passthrough(int, int); static void process_onefile(struct mparse *, struct manpage *, - int, struct outstate *, struct manconf *); + struct outstate *, struct manconf *); static void run_pager(struct outstate *, char *); static pid_t spawn_pager(struct outstate *, char *); static void usage(enum argmode) __attribute__((__noreturn__)); @@ -144,7 +144,6 @@ main(int argc, char *argv[]) int options; /* Parser options. */ int show_usage; /* Invalid argument: give up. */ int prio, best_prio; - int startdir; int c; enum mandoc_os os_e; /* Check base system conventions. */ enum outmode outmode; /* According to command line. */ @@ -514,7 +513,7 @@ main(int argc, char *argv[]) if (resnsz == 0) (void)fs_search(&search, &conf.manpath, *argv, &resn, &resnsz); - if (resnsz == 0 && strchr(*argv, '/') == NULL) { + if (resnsz == 0) { if (search.arch != NULL && arch_valid(search.arch, OSENUM) == 0) warnx("Unknown architecture \"%s\".", @@ -529,20 +528,6 @@ main(int argc, char *argv[]) mandoc_msg_setrc(MANDOCLEVEL_BADARG); continue; } - if (resnsz == 0) { - if (access(*argv, R_OK) == -1) { - mandoc_msg_setinfilename(*argv); - mandoc_msg(MANDOCERR_BADARG_BAD, - 0, 0, "%s", strerror(errno)); - mandoc_msg_setinfilename(NULL); - continue; - } - resnsz = 1; - resn = mandoc_calloc(resnsz, sizeof(*res)); - resn->file = mandoc_strdup(*argv); - resn->ipath = SIZE_MAX; - resn->form = FORM_SRC; - } if (outmode != OUTMODE_ONE || resnsz == 1) { res = mandoc_reallocarray(res, ressz + resnsz, sizeof(*res)); @@ -559,7 +544,8 @@ main(int argc, char *argv[]) best_prio = 40; for (ib = i = 0; i < resnsz; i++) { - sec = resn[i].file; + sec = resn[i].file + + strlen(conf.manpath.paths[resn[i].ipath]); sec += strcspn(sec, "123456789"); if (sec[0] == '\0') continue; /* No section at all. */ @@ -647,23 +633,13 @@ main(int argc, char *argv[]) mchars_alloc(); mp = mparse_alloc(options, os_e, os_s); - /* - * Remember the original working directory, if possible. - * This will be needed if some names on the command line - * are page names and some are relative file names. - * Do not error out if the current directory is not - * readable: Maybe it won't be needed after all. - */ - startdir = open(".", O_RDONLY | O_DIRECTORY); for (i = 0; i < ressz; i++) { - process_onefile(mp, res + i, startdir, &outst, &conf); + if (i > 0) + mparse_reset(mp); + process_onefile(mp, res + i, &outst, &conf); if (outst.wstop && mandoc_msg_getrc() != MANDOCLEVEL_OK) break; } - if (startdir != -1) { - (void)fchdir(startdir); - close(startdir); - } if (conf.output.tag != NULL && conf.output.tag_found == 0) { mandoc_msg(MANDOCERR_TAG, 0, 0, "%s", conf.output.tag); conf.output.tag = NULL; @@ -909,7 +885,7 @@ fs_search(const struct mansearch *cfg, const struct manpaths *paths, } static void -process_onefile(struct mparse *mp, struct manpage *resp, int startdir, +process_onefile(struct mparse *mp, struct manpage *resp, struct outstate *outst, struct manconf *conf) { int fd; @@ -921,8 +897,6 @@ process_onefile(struct mparse *mp, struct manpage *resp, int startdir, */ if (resp->ipath != SIZE_MAX) (void)chdir(conf->manpath.paths[resp->ipath]); - else if (startdir != -1) - (void)fchdir(startdir); mandoc_msg_setinfilename(resp->file); if (resp->file != NULL) { @@ -982,18 +956,12 @@ parse(struct mparse *mp, int fd, const char *file, struct outstate *outst, struct manconf *conf) { static struct manpaths basepaths; - static int previous; struct roff_meta *meta; assert(fd >= 0); if (file == NULL) file = ""; - if (previous) - mparse_reset(mp); - else - previous = 1; - mparse_readfd(mp, fd, file); if (fd != STDIN_FILENO) close(fd); diff --git a/contrib/mandoc/man.c b/contrib/mandoc/man.c index f651efe3de8b..26846f1cf243 100644 --- a/contrib/mandoc/man.c +++ b/contrib/mandoc/man.c @@ -1,4 +1,4 @@ -/* $Id: man.c,v 1.189 2022/08/16 23:01:09 schwarze Exp $ */ +/* $Id: man.c,v 1.190 2025/08/22 13:17:06 schwarze Exp $ */ /* * Copyright (c) 2013-2015,2017-2019,2022 Ingo Schwarze * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons @@ -134,6 +134,7 @@ man_ptext(struct roff_man *man, int line, char *buf, int offs) *ep = '\0'; return 1; } + mandoc_msg(MANDOCERR_FI_BLANK, line, i, NULL); roff_elem_alloc(man, line, offs, ROFF_sp); man->next = ROFF_NEXT_SIBLING; return 1; diff --git a/contrib/mandoc/man.options.1 b/contrib/mandoc/man.options.1 index be65ad98fddc..be101d4b5b62 100644 --- a/contrib/mandoc/man.options.1 +++ b/contrib/mandoc/man.options.1 @@ -1,4 +1,4 @@ -.\" $Id: man.options.1,v 1.8 2025/06/30 00:11:06 schwarze Exp $ +.\" $Id: man.options.1,v 1.9 2025/08/28 13:46:57 schwarze Exp $ .\" .\" Copyright (c) 2017, 2025 Ingo Schwarze .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: June 30 2025 $ +.Dd $Mdocdate: August 28 2025 $ .Dt MAN.OPTIONS 1 .Os .Sh NAME @@ -39,9 +39,18 @@ .de At5 .At V Pq January 1983 \\$1 .. +.de At8 +.No Version 8 At Pq February 1985 \\$1 +.. .de Bx43 .Bx 4.3 Pq June 1986 \\$1 .. +.de At9 +.No Version 9 At Pq September 1986 \\$1 +.. +.de At10 +.No Version 10 At Pq October 1989 \\$1 +.. .\" option was present in groff-1.01 as contained in 4.3BSD-Net/2 .\" and no mention of it could be found in the ChangeLog, .\" so it's probably older than groff-0.4, where the log started @@ -49,7 +58,7 @@ .No probably before groff-0.4 Pq before July 14, 1990 \\$1 .. .de Eaton -.No Eaton Pq before July 7, 1993; 1990/91? \\$1 +.No Eaton Pq before July 7, 1993; 1990/91?\& \\$1 .. .\" man-1.5e was released on July 11, 1998. .de man15e @@ -399,6 +408,12 @@ do not feed out paper nor stop phototypesetter .br .Nm troff : .At7 +.Pp +.Bq superseded by Fl l +interpret arguments as file names +.br +.Nm man : +.At10 .It Fl G preprocess with .Xr grap 1 @@ -549,6 +564,7 @@ mode .br .Nm man : .Bx4 , +.At10 , .Eaton ; .No POSIX , Ox , Fx , Nx , No man-db , man-1.6 , illumos , Solaris 9-11 .br @@ -720,7 +736,9 @@ specify a page number for the first page output mode .br .Nm man : -.At7 +.At7 , +.At8 , +.At10 .Pp do not create the .Xr whatis 1 @@ -852,6 +870,12 @@ invoke the simultaneous input-output mode of the .rd request .Nm nroff , troff : .At7 .Pp +quick mode: prefer preformatted page if available +.br +.Nm man : +.At8 , +.At10 +.Pp issue no warnings .br .Nm manpath : @@ -1046,6 +1070,8 @@ output mode .Bx 2 Pq May 10, 1979 , .At3 , .At5 , +.At8 , +.At10 , .Eaton ; .Fx , No man-db , man-1.6 , illumos , Solaris 9-11 .br @@ -1162,6 +1188,7 @@ list pathnames .At7 , .At3 , .At5 , +.At8 , .Eaton ; .Ox , Fx , Nx , No man-db , man-1.6 .br diff --git a/contrib/mandoc/mandoc.1 b/contrib/mandoc/mandoc.1 index 8b6fe7d19b1e..0f83bcd53f1b 100644 --- a/contrib/mandoc/mandoc.1 +++ b/contrib/mandoc/mandoc.1 @@ -1,4 +1,4 @@ -.\" $Id: mandoc.1,v 1.272 2025/07/09 13:46:05 schwarze Exp $ +.\" $Id: mandoc.1,v 1.273 2025/08/22 13:17:06 schwarze Exp $ .\" .\" Copyright (c) 2012, 2014-2023, 2025 Ingo Schwarze .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: July 9 2025 $ +.Dd $Mdocdate: August 22 2025 $ .Dt MANDOC 1 .Os .Sh NAME @@ -1002,14 +1002,14 @@ macro that could be represented using or .Ic \&Dx . .It Sy "errnos out of order" -.Pq mdoc, Nx +.Pq mdoc , Nx The .Ic \&Er items in a .Ic \&Bl list are not in alphabetical order. .It Sy "duplicate errno" -.Pq mdoc, Nx +.Pq mdoc , Nx A .Ic \&Bl list contains two consecutive @@ -1150,7 +1150,7 @@ The argument is used as provided anyway. Consider checking whether the file name or the argument need a correction. .It Sy "missing date, using \(dq\(dq" -.Pq mdoc, man +.Pq mdoc , man The document was parsed as .Xr mdoc 7 and it has no @@ -1732,7 +1732,7 @@ or macro contains an opening or closing parenthesis; that's probably wrong, parentheses are added automatically. .It Sy "unknown library name" -.Pq mdoc, not on Ox +.Pq mdoc , not on Ox An .Ic \&Lb macro has an unknown name argument and will be rendered as @@ -1790,7 +1790,7 @@ The last character is mapped to the blank character. .Ss "Warnings related to plain text" .Bl -ohang .It Sy "blank line in fill mode, using .sp" -.Pq mdoc +.Pq mdoc , man The meaning of blank input lines is only well-defined in non-fill mode: In fill mode, line breaks of text input lines are not supposed to be significant. @@ -1800,6 +1800,8 @@ are formatted like requests. To request a paragraph break, use .Ic \&Pp +or +.Ic \&PP instead of a blank line. .It Sy "tab in filled text" .Pq mdoc , man diff --git a/contrib/mandoc/mdoc.7 b/contrib/mandoc/mdoc.7 index 55cc7fae688d..6c2d3568baa6 100644 --- a/contrib/mandoc/mdoc.7 +++ b/contrib/mandoc/mdoc.7 @@ -1,4 +1,4 @@ -.\" $Id: mdoc.7,v 1.299 2025/06/13 16:18:28 schwarze Exp $ +.\" $Id: mdoc.7,v 1.300 2025/08/19 14:08:59 schwarze Exp $ .\" .\" Copyright (c) 2010-2021, 2024, 2025 Ingo Schwarze .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: June 13 2025 $ +.Dd $Mdocdate: August 19 2025 $ .Dt MDOC 7 .Os .Sh NAME @@ -979,7 +979,7 @@ Unless the .Fl compact argument is specified, list entries are separated by vertical space. .Pp -A list must specify one of the following list types: +The following list types are commonly used: .Bl -tag -width 12n -offset indent .It Fl bullet No item heads can be specified, but a bullet will be printed at the head @@ -994,7 +994,14 @@ The .Fl width argument has no effect; instead, the string length of each argument specifies the width of one column. -If the first line of the body of a +The width specification for the last column does not affect formatting. +.Pp +For two-column lists, using +.Fl tag +often results in simpler code, identical terminal output, and better HTML +output, especially when the first column contains short identifiers. +.Pp +For compatibility with legacy documents, if the first line of the body of a .Fl column list is not an .Ic \&It @@ -1016,7 +1023,7 @@ Like except that item heads are not parsed for macro invocations. Most often used in the .Em DIAGNOSTICS -section with error constants in the item heads. +section with error messages in the item heads. .It Fl enum A numbered list. No item heads can be specified. @@ -1024,6 +1031,17 @@ Formatted like .Fl bullet , except that ordinal numbers are used in place of bullets, starting at 1. +.It Fl tag +Item bodies are indented according to the +.Fl width +argument. +When an item head fits inside the indentation, the item body follows +this head on the same output line. +Otherwise, the body starts on the output line following the head. +.El +.Pp +The following list types are rarely useful: +.Bl -tag -width 12n -offset indent .It Fl hang Like .Fl tag , @@ -1050,13 +1068,6 @@ Item bodies start on the line following item heads and are not indented. The .Fl width argument is ignored. -.It Fl tag -Item bodies are indented according to the -.Fl width -argument. -When an item head fits inside the indentation, the item body follows -this head on the same output line. -Otherwise, the body starts on the output line following the head. .El .Pp Lists may be nested within lists and displays. diff --git a/contrib/mandoc/roff_term.c b/contrib/mandoc/roff_term.c index 85d2caeb2749..38321c830013 100644 --- a/contrib/mandoc/roff_term.c +++ b/contrib/mandoc/roff_term.c @@ -1,4 +1,4 @@ -/* $Id: roff_term.c,v 1.26 2025/07/16 14:33:08 schwarze Exp $ */ +/* $Id: roff_term.c,v 1.27 2025/08/21 15:38:51 schwarze Exp $ */ /* * Copyright (c) 2010, 2014, 2015, 2017-2021, 2025 * Ingo Schwarze diff --git a/contrib/mandoc/term_ps.c b/contrib/mandoc/term_ps.c index 4c6368ca1d1f..91124152d55a 100644 --- a/contrib/mandoc/term_ps.c +++ b/contrib/mandoc/term_ps.c @@ -1,4 +1,4 @@ -/* $Id: term_ps.c,v 1.94 2025/07/18 15:47:18 schwarze Exp $ */ +/* $Id: term_ps.c,v 1.95 2025/09/26 12:17:12 schwarze Exp $ */ /* * Copyright (c) 2014-2017, 2020, 2025 Ingo Schwarze * Copyright (c) 2010, 2011 Kristaps Dzonsons @@ -1222,6 +1222,8 @@ ps_endline(struct termp *p) ps_plast(p); ps_pclose(p); + p->viscol = 0; + p->minbl = 0; /* * If we're in the margin, don't try to recalculate our current @@ -1235,8 +1237,6 @@ ps_endline(struct termp *p) /* Left-justify. */ p->ps->pscol = p->ps->left; - p->viscol = 0; - p->minbl = 0; /* If we haven't printed anything, return. */ From nobody Fri Feb 6 03:48:59 2026 X-Original-To: dev-commits-src-branches@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 4f6g7J3nB5z6FYXZ for ; Fri, 06 Feb 2026 03:49:00 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6g7J1453z3Rsl for ; Fri, 06 Feb 2026 03:49:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770349740; 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=SCRpQlygPEq0h6ZpHiGLjPH237cbA49NRahZNFxXKKA=; b=aZhdQIuapIqtzcpE938Zk9twM4tS9hyWF/eslQJ7grU0pfLAuUzPGCLx+zPdhEXLB07riI H+Md6JjnSxXWeUix+T8drH9vWEDdfeqfKV5HSrWiWrKsZOb/zWiLh/29gvVf9hCjB0eH8g a7+ztVQPnI94ej6nGnpCzCosBP3yn5ReTwR9yhN20L+ouCpxPgOxEKb/5YxkTSzklme91j st8gKOzK6llDszyBr5lhRBYcKJUOACGU55ZxCN0jxn+bmR/D8TELJcpYIo7tsEeZB8htO4 QaAplyiOGeEOIPGI8GHPsHWgRCUwYS7UAqQoT9rw+UT5pETY6bEDRoMCf50A9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770349740; a=rsa-sha256; cv=none; b=pvXv1etyXlC6Xcp0iDztHGrDm4lVFdKfV1cJ/2YP6RlvUD3Ha0xv9/pYBq4f7FLYaYj9yx 7AiSid40zfyrFx6vHSvWUBa+FE0pAiNOVxIiqRgrqz/j3s8Tz0lCEM5gsypNAZVhfqAxqb G/7hri2BcF0MMVPGAhwRzHOELJIi7QdCKg3iWZDP0/a9eSnlnC3mOb0kprSu6AFGSbpUSK FGIEFyUesG25wpsfurvyS9nI8nSsa2U1cC/t22TD6Nd8kI5QMO95NaFKmj8RUM1ItVqTLZ NGr/wqIgP7AO5nCG44r5uscM7ZBqYx8S7q1SvWkt2HLLbkpgZS+c0wskzC14RA== 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=1770349740; 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=SCRpQlygPEq0h6ZpHiGLjPH237cbA49NRahZNFxXKKA=; b=ZOA/WzufQ0dc2xYQGLCI3wfYzY7PbhX0xEJ0Gw92DwKsvBg0byDaJe3QznRsOxnZPoAVyD mj8g3GEEmXG/3QG1KExdvdfNSOYUo+jBK+WIUhM9KmwIvSgfY4BUecBhvfIEIPnzphSNQI pf5NNegx4LVSVlPAoA0xvFZNHfQfm7CTEe8HJ1rpfehxC0g9/MPwkB0/g5AqHrxcnyQtkU Fs7K6PWubu9L6H+A/eq/WuBLztslT2QPwCa8qCC7gkUYyxP2NR1FtBgBNmzjlO6NRs3N2B rs7KQW++51VGTrDrMlAEg5Nsr68gHKm2MzEY69IaEWSC6wpifVSzLMJqKofGtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6g7J00Vnz106k for ; Fri, 06 Feb 2026 03:49:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 462af by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 03:48:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0b17876c084f - stable/15 - ktrcsw(): should not be called when the thread is owning interlock or on sleepq List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 0b17876c084fe49c34d3db842d4972debbfe3b01 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 03:48:59 +0000 Message-Id: <698564ab.462af.5d171196@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0b17876c084fe49c34d3db842d4972debbfe3b01 commit 0b17876c084fe49c34d3db842d4972debbfe3b01 Author: Konstantin Belousov AuthorDate: 2026-01-22 21:46:01 +0000 Commit: Konstantin Belousov CommitDate: 2026-02-06 03:43:00 +0000 ktrcsw(): should not be called when the thread is owning interlock or on sleepq (cherry picked from commit 245157fd8a382c3989075789ee98582665f3b31d) --- sys/kern/kern_ktrace.c | 18 ++++++++++++++++-- sys/kern/kern_synch.c | 26 +++++++++++--------------- sys/sys/ktrace.h | 1 + 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c index b58e69a3f38e..f3ee1c53fafd 100644 --- a/sys/kern/kern_ktrace.c +++ b/sys/kern/kern_ktrace.c @@ -838,8 +838,8 @@ ktrpsig(int sig, sig_t action, sigset_t *mask, int code) ktrace_exit(td); } -void -ktrcsw(int out, int user, const char *wmesg) +static void +ktrcsw_impl(int out, int user, const char *wmesg, const struct timespec *tv) { struct thread *td = curthread; struct ktr_request *req; @@ -854,6 +854,8 @@ ktrcsw(int out, int user, const char *wmesg) kc = &req->ktr_data.ktr_csw; kc->out = out; kc->user = user; + if (tv != NULL) + req->ktr_header.ktr_time = *tv; if (wmesg != NULL) strlcpy(kc->wmesg, wmesg, sizeof(kc->wmesg)); else @@ -862,6 +864,18 @@ ktrcsw(int out, int user, const char *wmesg) ktrace_exit(td); } +void +ktrcsw(int out, int user, const char *wmesg) +{ + ktrcsw_impl(out, user, wmesg, NULL); +} + +void +ktrcsw_out(const struct timespec *tv, const char *wmesg) +{ + ktrcsw_impl(1, 0, wmesg, tv); +} + void ktrstruct(const char *name, const void *data, size_t datalen) { diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index 8e956324ee23..0ab0ccb3d05b 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -133,6 +133,7 @@ _sleep(const void *ident, struct lock_object *lock, int priority, { struct thread *td __ktrace_used; struct lock_class *class; + struct timespec sw_out_tv __ktrace_used; uintptr_t lock_state; int catch, pri, rval, sleepq_flags; WITNESS_SAVE_DECL(lock_witness); @@ -141,7 +142,7 @@ _sleep(const void *ident, struct lock_object *lock, int priority, td = curthread; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0, wmesg); + nanotime(&sw_out_tv); #endif WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, "Sleeping on \"%s\"", wmesg); @@ -222,8 +223,10 @@ _sleep(const void *ident, struct lock_object *lock, int priority, rval = 0; } #ifdef KTRACE - if (KTRPOINT(td, KTR_CSW)) + if (KTRPOINT(td, KTR_CSW)) { + ktrcsw_out(&sw_out_tv, wmesg); ktrcsw(0, 0, wmesg); + } #endif PICKUP_GIANT(); if (lock != NULL && lock != &Giant.lock_object && !(priority & PDROP)) { @@ -239,6 +242,7 @@ msleep_spin_sbt(const void *ident, struct mtx *mtx, const char *wmesg, sbintime_t sbt, sbintime_t pr, int flags) { struct thread *td __ktrace_used; + struct timespec sw_out_tv __ktrace_used; int rval; WITNESS_SAVE_DECL(mtx); @@ -266,19 +270,9 @@ msleep_spin_sbt(const void *ident, struct mtx *mtx, const char *wmesg, if (sbt != 0) sleepq_set_timeout_sbt(ident, sbt, pr, flags); - /* - * Can't call ktrace with any spin locks held so it can lock the - * ktrace_mtx lock, and WITNESS_WARN considers it an error to hold - * any spin lock. Thus, we have to drop the sleepq spin lock while - * we handle those requests. This is safe since we have placed our - * thread on the sleep queue already. - */ #ifdef KTRACE - if (KTRPOINT(td, KTR_CSW)) { - sleepq_release(ident); - ktrcsw(1, 0, wmesg); - sleepq_lock(ident); - } + if (KTRPOINT(td, KTR_CSW)) + nanotime(&sw_out_tv); #endif #ifdef WITNESS sleepq_release(ident); @@ -293,8 +287,10 @@ msleep_spin_sbt(const void *ident, struct mtx *mtx, const char *wmesg, rval = 0; } #ifdef KTRACE - if (KTRPOINT(td, KTR_CSW)) + if (KTRPOINT(td, KTR_CSW)) { + ktrcsw_out(&sw_out_tv, wmesg); ktrcsw(0, 0, wmesg); + } #endif PICKUP_GIANT(); mtx_lock_spin(mtx); diff --git a/sys/sys/ktrace.h b/sys/sys/ktrace.h index 822822a6ffe7..1ba5c84000b0 100644 --- a/sys/sys/ktrace.h +++ b/sys/sys/ktrace.h @@ -340,6 +340,7 @@ ktr_get_tracevp(struct proc *p, bool ref) void ktr_io_params_free(struct ktr_io_params *); void ktrnamei(const char *); void ktrcsw(int, int, const char *); +void ktrcsw_out(const struct timespec *, const char *); void ktrpsig(int, sig_t, sigset_t *, int); void ktrfault(vm_offset_t, int); void ktrfaultend(int); From nobody Fri Feb 6 14:41:10 2026 X-Original-To: dev-commits-src-branches@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 4f6xbq2l7Nz6RHRN; Fri, 06 Feb 2026 14:41:11 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6xbq22wQz3ksF; Fri, 06 Feb 2026 14:41:11 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770388871; 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: in-reply-to:in-reply-to:references:references; bh=3D4BVww5Ty9bL3D49MTiHbH8xahbORvPsrzW9Z/7T7Y=; b=lOpVgPOjjpOPJympioNH5JUOv8mBjJF2QpoUXUf1fn6mXKhCQLsmqLOk9Y1UDOv/mEKsyk WBJOq5LzdcEK9WAqvrC+FohnloRQBH/Zj9cRY/74sMiYr+2toXrW2jIEp3ec2IE8JIrYtT 2ycnB0lf6yDKQDluM+Jbf3sBxvneUBarul4Rh+XOz9FLF7WMZxesCJfZy7rocJ0zfW0n8Q EggmN1AyA/EPkAnwX8/KgK3Mfwyyz1qjInU0NrBRKNWBIWeqejWlV2y1wGesmNKZbAMyZC raPnJ3PZ9TWDIHffGsvui36TzKv4lY5nbYixaPISjEUBYJk8hivTRRsj35p6hA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770388871; a=rsa-sha256; cv=none; b=tK4t5UXOPdpxIIim97+OHTG8EawpEytgKCE4bINfkAygEVTs2iQ8cYRwi7j18Tv39cXO0h A5rcSxvaCA74+FaDUyYQQcZAr0cNidQ+mQLAqivFplNDybPYcYVaYfpoOGmk8NYPoZkqkA IfC/XC9AOzCkz+pTuUfAp3pLSFimV9lEgLrAITgwJrMm4z5NjImizAwXtvqNbA99Z4x/ks ujXVYcy7H8NMoYBu3OyxOfzC9rjIuYJaNlIwxyWAD+Yh5zP7TzEJ8i2tYtD9BtV4avbVR5 DYewXBAosyyRfPxd5gzqklGi62iNp1AKE0v6TA5G7DKnzLuZhm34HcDd3HU8rg== 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=1770388871; 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: in-reply-to:in-reply-to:references:references; bh=3D4BVww5Ty9bL3D49MTiHbH8xahbORvPsrzW9Z/7T7Y=; b=EGwszruEG7fjKtTSTmL+GO0XEAjwkSQblA/+P7Xldt1JZGxa5Qi4cw0wzcOC2K4hF+eNAB fsfDtFUVPwUY9ox/t9QT84zGDISQ1DfIHGnMVF728OWHh9w2z7SvuykK2c7nHG9DRow3SI OJdQiYMACdC2wiZGoDAyw4U3i9qV+1Zfz/L7GXdS+PFA5p6bhEIai9e0RnH+xgk4u4Jdno Bl1K9oMuke7+oZz4gTf/MMuNzVT/KLwCsQ/80PYzkOiccRx3YJ6IzK6jpQbLLlP/Gz0yN2 umku23nz3fOmCU8GY8+dLyG8DbWBKJZYCARfn1jgIqRrPI8UQIT9FTb0Bo5TvA== Received: from [IPV6:2601:5c0:4202:5670:3056:d8a1:5220:efe] (unknown [IPv6:2601:5c0:4202:5670:3056:d8a1:5220:efe]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4f6xbp73KZzKGB; Fri, 06 Feb 2026 14:41:10 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <11d5cb2d-7460-4bd9-a33c-e52343f30d1d@FreeBSD.org> Date: Fri, 6 Feb 2026 09:41:10 -0500 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 70aab985c300 - stable/15 - heimdal: Pass the correct pointer to free in an error case Content-Language: en-US To: Enji Cooper , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org References: <6982480e.3097b.628edb67@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <6982480e.3097b.628edb67@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2/3/26 14:10, Enji Cooper wrote: > The branch stable/15 has been updated by ngie: > > URL: https://cgit.FreeBSD.org/src/commit/?id=70aab985c30092483b5b32cdd3750570ec3d9364 > > commit 70aab985c30092483b5b32cdd3750570ec3d9364 > Author: John Baldwin > AuthorDate: 2026-01-31 17:00:44 +0000 > Commit: Enji Cooper > CommitDate: 2026-02-03 19:09:55 +0000 > > heimdal: Pass the correct pointer to free in an error case > > This fixes a warning reported by GCC 14 on stable/14: > > crypto/heimdal/lib/hdb/keys.c:241:13: warning: 'free' called on pointer 'ext' with nonzero offset 16 [-Wfree-nonheap-object] > 241 | free(hist_keys); > | ^~~~~~~~~~~~~~~ > crypto/heimdal/lib/hdb/keys.c:234:15: note: returned from 'calloc' > 234 | ext = calloc(1, sizeof (*ext)); > | ^~~~~~~~~~~~~~~~~~~~~~~~ > > Reviewed by: rmacklem, cy > Fixes: 5000d023a446 ("heimdal-kadmin: Add support for the -f dump option") > Differential Revision: https://reviews.freebsd.org/D54932 > > (cherry picked from commit b26a7af438f36dcde86f39a681123cc2140affb2) Why so eager to MFC all the heimdal fixes before the normal time? They aren't even compiled on stable/15 by default? These were at least 3 days later, but I think the last one I committed you merged the next day which seemed a bit odd. -- John Baldwin From nobody Fri Feb 6 15:19:14 2026 X-Original-To: dev-commits-src-branches@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 4f6yRl3lYZz6RKMg for ; Fri, 06 Feb 2026 15:19:15 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6yRl0vTgz3qrg for ; Fri, 06 Feb 2026 15:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770391155; 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=s8SDd2bXwxYrJ+VLYRuKNhkyOTWthNB71hIKARrrw3M=; b=pLkXo4cFKEHgv2uZRqG4Cf54/b7dzNSwOgso+pGTZUVI8AIDgvoW9mvAPKLDW5qlVFNSSg BbSIJKM++PmhLKpBNTn/7exrUbw4uJNJguRF9VWX4EZTkCEyGyypE/uvyJJ+yKrBdv8Rtx sE3QO5N86VqvXTTtJc5EAuQkoU61EfXp/WGv/a6/3O3YawNtVnfft4n8Jz3FJSA5A3KFfV O23YM+ARz+ewrkc0frGrc4UwoIg31t3RGxmr2QahsvSvJJp8MypBc95fvLTAPxm+2iHhpQ P7M/HOdmvoKP2upkm2nNXdEe6FQdhsVUVXNcIlGfrNbmz00w5Oy8sGZalxMUEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770391155; a=rsa-sha256; cv=none; b=cC4YQoMcFh4ZTOXkBIy/pSmmk/2gMMXAodLyf5MAss3j3gte77gCPnoU+7W20U9HKVBtd0 TEHhzz2aBdXxel9f1VawfW+r5DY766T3zePnFYHwCQ4vl+/T7lGZHIejXSb3CSrjyPFOwF ae2+rnbMZDeFgWCkkikktJw1aWzpuYWdVAxyXKk+04H3dQDuqY+zg5RL+rMncl7Oh2waQG NzwmJ9sTSakbD+dgTowB/GZTQZx1x50GDryhxZ/2lilCYMl1TUJLXITdrySAvbyLQiEqXt zXeuxtqawt17/vTGp1HbHI6Y2Trs2v6UHGdvvAWO+9yQPVACWGfrXFAmo/iBQw== 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=1770391155; 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=s8SDd2bXwxYrJ+VLYRuKNhkyOTWthNB71hIKARrrw3M=; b=Rngioo5uFr0BJRjwiAivSzquBgJO3mWtyKXrrOIwJVUiXRSn3dr/eGfO8/Q5W4zqO6Kqhk evDxV5jeWA9QpEjs+RGRAR4GeXHHtFYPz0qhN8piy4V3kf3o7KW9TPMbSSqNzbsLaIEAVD aBXAqde6tMaukg0WxL0Q5fM8/MLjj9jHKLBViHb8j03jrxhCBtZFNnErWB4c/sEQ7GD5mo 5p1TiFCxiE2l5/MLzvf9t2znByHzQhS+zXOS5cGotOqJPMM5Aqi0BFn2pkWvnqg0LCr5Pl jBnWNf9KIFKctMhkAFSwh9poPhwXkEmL7OiNUlUf0aWZGTAekFOX3KXSowtmdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6yRl0BwDz5lX for ; Fri, 06 Feb 2026 15:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d27b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 15:19:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bojan Novk=?utf-8?Q?ovi=C4=87?= Subject: git: 808a573e6e14 - stable/15 - pmc: Import Intel Granite Rapids events List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 808a573e6e14ace5b8fe105bd9bce628bed3bc96 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 15:19:14 +0000 Message-Id: <69860672.3d27b.65d70ac3@gitrepo.freebsd.org> The branch stable/15 has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=808a573e6e14ace5b8fe105bd9bce628bed3bc96 commit 808a573e6e14ace5b8fe105bd9bce628bed3bc96 Author: Bojan Novković AuthorDate: 2026-02-02 10:13:12 +0000 Commit: Bojan Novković CommitDate: 2026-02-06 15:19:02 +0000 pmc: Import Intel Granite Rapids events Reviewed by: mhorne Sponsored by: Klara, Inc. Obtained from: Intel perfmon (JSON event definitions) Differential Revision: https://reviews.freebsd.org/D55081 MFC after: 2 days (cherry picked from commit a3ff85e11925ba1e25465c8ba633356f405f9214) --- .../pmu-events/arch/x86/graniterapids/cache.json | 1230 +++++++ .../arch/x86/graniterapids/floating-point.json | 242 ++ .../arch/x86/graniterapids/frontend.json | 476 +++ .../pmu-events/arch/x86/graniterapids/memory.json | 523 +++ .../pmu-events/arch/x86/graniterapids/other.json | 65 + .../arch/x86/graniterapids/pipeline.json | 1145 ++++++ .../arch/x86/graniterapids/uncore-cache.json | 3745 ++++++++++++++++++++ .../arch/x86/graniterapids/uncore-cxl.json | 29 + .../x86/graniterapids/uncore-interconnect.json | 1979 +++++++++++ .../arch/x86/graniterapids/uncore-io.json | 1925 ++++++++++ .../arch/x86/graniterapids/uncore-memory.json | 890 +++++ .../arch/x86/graniterapids/uncore-power.json | 109 + .../arch/x86/graniterapids/virtual-memory.json | 185 + lib/libpmc/pmu-events/arch/x86/mapfile.csv | 1 + sys/dev/hwpmc/hwpmc_intel.c | 5 + sys/sys/pmc.h | 1 + 16 files changed, 12550 insertions(+) diff --git a/lib/libpmc/pmu-events/arch/x86/graniterapids/cache.json b/lib/libpmc/pmu-events/arch/x86/graniterapids/cache.json new file mode 100644 index 000000000000..135264595c11 --- /dev/null +++ b/lib/libpmc/pmu-events/arch/x86/graniterapids/cache.json @@ -0,0 +1,1230 @@ +[ + { + "BriefDescription": "L1D.HWPF_MISS", + "Counter": "0,1,2,3", + "EventCode": "0x51", + "EventName": "L1D.HWPF_MISS", + "SampleAfterValue": "1000003", + "UMask": "0x20" + }, + { + "BriefDescription": "Counts the number of cache lines replaced in L1 data cache.", + "Counter": "0,1,2,3", + "EventCode": "0x51", + "EventName": "L1D.REPLACEMENT", + "PublicDescription": "Counts L1D data line replacements including opportunistic replacements, and replacements that require stall-for-replace or block-for-replace.", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Number of cycles a demand request has waited due to L1D Fill Buffer (FB) unavailability.", + "Counter": "0,1,2,3", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.FB_FULL", + "PublicDescription": "Counts number of cycles a demand request has waited due to L1D Fill Buffer (FB) unavailability. Demand requests include cacheable/uncacheable demand load, store, lock or SW prefetch accesses.", + "SampleAfterValue": "1000003", + "UMask": "0x2" + }, + { + "BriefDescription": "Number of phases a demand request has waited due to L1D Fill Buffer (FB) unavailability.", + "Counter": "0,1,2,3", + "CounterMask": "1", + "EdgeDetect": "1", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.FB_FULL_PERIODS", + "PublicDescription": "Counts number of phases a demand request has waited due to L1D Fill Buffer (FB) unavailability. Demand requests include cacheable/uncacheable demand load, store, lock or SW prefetch accesses.", + "SampleAfterValue": "1000003", + "UMask": "0x2" + }, + { + "BriefDescription": "Number of cycles a demand request has waited due to L1D due to lack of L2 resources.", + "Counter": "0,1,2,3", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.L2_STALLS", + "PublicDescription": "Counts number of cycles a demand request has waited due to L1D due to lack of L2 resources. Demand requests include cacheable/uncacheable demand load, store, lock or SW prefetch accesses.", + "SampleAfterValue": "1000003", + "UMask": "0x4" + }, + { + "BriefDescription": "Number of L1D misses that are outstanding", + "Counter": "0,1,2,3", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.PENDING", + "PublicDescription": "Counts number of L1D misses that are outstanding in each cycle, that is each cycle the number of Fill Buffers (FB) outstanding required by Demand Reads. FB either is held by demand loads, or it is held by non-demand loads and gets hit at least once by demand. The valid outstanding interval is defined until the FB deallocation by one of the following ways: from FB allocation, if FB is allocated by demand from the demand Hit FB, if it is allocated by hardware or software prefetch. Note: In the L1D, a Demand Read contains cacheable or noncacheable demand loads, including ones causing cache-line splits and reads due to page walks resulted from any request type.", + "SampleAfterValue": "1000003", + "UMask": "0x1" + }, + { + "BriefDescription": "Cycles with L1D load Misses outstanding.", + "Counter": "0,1,2,3", + "CounterMask": "1", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.PENDING_CYCLES", + "PublicDescription": "Counts duration of L1D miss outstanding in cycles.", + "SampleAfterValue": "1000003", + "UMask": "0x1" + }, + { + "BriefDescription": "L2 cache lines filling L2", + "Counter": "0,1,2,3", + "EventCode": "0x25", + "EventName": "L2_LINES_IN.ALL", + "PublicDescription": "Counts the number of L2 cache lines filling the L2. Counting does not cover rejects.", + "SampleAfterValue": "100003", + "UMask": "0x1f" + }, + { + "BriefDescription": "Modified cache lines that are evicted by L2 cache when triggered by an L2 cache fill.", + "Counter": "0,1,2,3", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.NON_SILENT", + "PublicDescription": "Counts the number of lines that are evicted by L2 cache when triggered by an L2 cache fill. Those lines are in Modified state. Modified lines are written back to L3", + "SampleAfterValue": "200003", + "UMask": "0x2" + }, + { + "BriefDescription": "Non-modified cache lines that are silently dropped by L2 cache.", + "Counter": "0,1,2,3", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.SILENT", + "PublicDescription": "Counts the number of lines that are silently dropped by L2 cache. These lines are typically in Shared or Exclusive state. A non-threaded event.", + "SampleAfterValue": "200003", + "UMask": "0x1" + }, + { + "BriefDescription": "Cache lines that have been L2 hardware prefetched but not used by demand accesses", + "Counter": "0,1,2,3", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.USELESS_HWPF", + "PublicDescription": "Counts the number of cache lines that have been prefetched by the L2 hardware prefetcher but not used by demand access when evicted from the L2 cache", + "SampleAfterValue": "200003", + "UMask": "0x4" + }, + { + "BriefDescription": "All accesses to L2 cache [This event is alias to L2_RQSTS.REFERENCES]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_REQUEST.ALL", + "PublicDescription": "Counts all requests that were hit or true misses in L2 cache. True-miss excludes misses that were merged with ongoing L2 misses. [This event is alias to L2_RQSTS.REFERENCES]", + "SampleAfterValue": "200003", + "UMask": "0xff" + }, + { + "BriefDescription": "All requests that hit L2 cache. [This event is alias to L2_RQSTS.HIT]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_REQUEST.HIT", + "PublicDescription": "Counts all requests that hit L2 cache. [This event is alias to L2_RQSTS.HIT]", + "SampleAfterValue": "200003", + "UMask": "0xdf" + }, + { + "BriefDescription": "Read requests with true-miss in L2 cache [This event is alias to L2_RQSTS.MISS]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_REQUEST.MISS", + "PublicDescription": "Counts read requests of any type with true-miss in the L2 cache. True-miss excludes L2 misses that were merged with ongoing L2 misses. [This event is alias to L2_RQSTS.MISS]", + "SampleAfterValue": "200003", + "UMask": "0x3f" + }, + { + "BriefDescription": "L2 code requests", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_CODE_RD", + "PublicDescription": "Counts the total number of L2 code requests.", + "SampleAfterValue": "200003", + "UMask": "0xe4" + }, + { + "BriefDescription": "Demand Data Read access L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_DEMAND_DATA_RD", + "PublicDescription": "Counts Demand Data Read requests accessing the L2 cache. These requests may hit or miss L2 cache. True-miss exclude misses that were merged with ongoing L2 misses. An access is counted once.", + "SampleAfterValue": "200003", + "UMask": "0xe1" + }, + { + "BriefDescription": "Demand requests that miss L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_DEMAND_MISS", + "PublicDescription": "Counts demand requests that miss L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0x27" + }, + { + "BriefDescription": "Demand requests to L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_DEMAND_REFERENCES", + "PublicDescription": "Counts demand requests to L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0xe7" + }, + { + "BriefDescription": "L2_RQSTS.ALL_HWPF", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_HWPF", + "SampleAfterValue": "200003", + "UMask": "0xf0" + }, + { + "BriefDescription": "RFO requests to L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_RFO", + "PublicDescription": "Counts the total number of RFO (read for ownership) requests to L2 cache. L2 RFO requests include both L1D demand RFO misses as well as L1D RFO prefetches.", + "SampleAfterValue": "200003", + "UMask": "0xe2" + }, + { + "BriefDescription": "L2 cache hits when fetching instructions, code reads.", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.CODE_RD_HIT", + "PublicDescription": "Counts L2 cache hits when fetching instructions, code reads.", + "SampleAfterValue": "200003", + "UMask": "0xc4" + }, + { + "BriefDescription": "L2 cache misses when fetching instructions", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.CODE_RD_MISS", + "PublicDescription": "Counts L2 cache misses when fetching instructions.", + "SampleAfterValue": "200003", + "UMask": "0x24" + }, + { + "BriefDescription": "Demand Data Read requests that hit L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.DEMAND_DATA_RD_HIT", + "PublicDescription": "Counts the number of demand Data Read requests initiated by load instructions that hit L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0xc1" + }, + { + "BriefDescription": "Demand Data Read miss L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.DEMAND_DATA_RD_MISS", + "PublicDescription": "Counts demand Data Read requests with true-miss in the L2 cache. True-miss excludes misses that were merged with ongoing L2 misses. An access is counted once.", + "SampleAfterValue": "200003", + "UMask": "0x21" + }, + { + "BriefDescription": "All requests that hit L2 cache. [This event is alias to L2_REQUEST.HIT]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.HIT", + "PublicDescription": "Counts all requests that hit L2 cache. [This event is alias to L2_REQUEST.HIT]", + "SampleAfterValue": "200003", + "UMask": "0xdf" + }, + { + "BriefDescription": "L2_RQSTS.HWPF_MISS", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.HWPF_MISS", + "SampleAfterValue": "200003", + "UMask": "0x30" + }, + { + "BriefDescription": "Read requests with true-miss in L2 cache [This event is alias to L2_REQUEST.MISS]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.MISS", + "PublicDescription": "Counts read requests of any type with true-miss in the L2 cache. True-miss excludes L2 misses that were merged with ongoing L2 misses. [This event is alias to L2_REQUEST.MISS]", + "SampleAfterValue": "200003", + "UMask": "0x3f" + }, + { + "BriefDescription": "All accesses to L2 cache [This event is alias to L2_REQUEST.ALL]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.REFERENCES", + "PublicDescription": "Counts all requests that were hit or true misses in L2 cache. True-miss excludes misses that were merged with ongoing L2 misses. [This event is alias to L2_REQUEST.ALL]", + "SampleAfterValue": "200003", + "UMask": "0xff" + }, + { + "BriefDescription": "RFO requests that hit L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.RFO_HIT", + "PublicDescription": "Counts the RFO (Read-for-Ownership) requests that hit L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0xc2" + }, + { + "BriefDescription": "RFO requests that miss L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.RFO_MISS", + "PublicDescription": "Counts the RFO (Read-for-Ownership) requests that miss L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0x22" + }, + { + "BriefDescription": "SW prefetch requests that hit L2 cache.", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.SWPF_HIT", + "PublicDescription": "Counts Software prefetch requests that hit the L2 cache. Accounts for PREFETCHNTA and PREFETCHT0/1/2 instructions when FB is not full.", + "SampleAfterValue": "200003", + "UMask": "0xc8" + }, + { + "BriefDescription": "SW prefetch requests that miss L2 cache.", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.SWPF_MISS", + "PublicDescription": "Counts Software prefetch requests that miss the L2 cache. Accounts for PREFETCHNTA and PREFETCHT0/1/2 instructions when FB is not full.", + "SampleAfterValue": "200003", + "UMask": "0x28" + }, + { + "BriefDescription": "L2 writebacks that access L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x23", + "EventName": "L2_TRANS.L2_WB", + "PublicDescription": "Counts L2 writebacks that access L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0x40" + }, + { + "BriefDescription": "Core-originated cacheable requests that missed L3 (Except hardware prefetches to the L3)", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x2e", + "EventName": "LONGEST_LAT_CACHE.MISS", + "PublicDescription": "Counts core-originated cacheable requests that miss the L3 cache (Longest Latency cache). Requests include data and code reads, Reads-for-Ownership (RFOs), speculative accesses and hardware prefetches to the L1 and L2. It does not include hardware prefetches to the L3, and may not count other types of requests to the L3.", + "SampleAfterValue": "100003", + "UMask": "0x41" + }, + { + "BriefDescription": "Core-originated cacheable requests that refer to L3 (Except hardware prefetches to the L3)", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x2e", + "EventName": "LONGEST_LAT_CACHE.REFERENCE", + "PublicDescription": "Counts core-originated cacheable requests to the L3 cache (Longest Latency cache). Requests include data and code reads, Reads-for-Ownership (RFOs), speculative accesses and hardware prefetches to the L1 and L2. It does not include hardware prefetches to the L3, and may not count other types of requests to the L3.", + "SampleAfterValue": "100003", + "UMask": "0x4f" + }, + { + "BriefDescription": "Retired load instructions.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.ALL_LOADS", + "PublicDescription": "Counts all retired load instructions. This event accounts for SW prefetch instructions of PREFETCHNTA or PREFETCHT0/1/2 or PREFETCHW. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x81" + }, + { + "BriefDescription": "Retired store instructions.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.ALL_STORES", + "PublicDescription": "Counts all retired store instructions. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x82" + }, + { + "BriefDescription": "All retired memory instructions.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.ANY", + "PublicDescription": "Counts all retired memory instructions - loads and stores. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x83" + }, + { + "BriefDescription": "Retired load instructions with locked access.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.LOCK_LOADS", + "PublicDescription": "Counts retired load instructions with locked access. Available PDIST counters: 0", + "RetirementLatencyMax": "5156", + "RetirementLatencyMean": "63.76", + "RetirementLatencyMin": "15", + "SampleAfterValue": "100007", + "UMask": "0x21" + }, + { + "BriefDescription": "Retired load instructions that split across a cacheline boundary.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.SPLIT_LOADS", + "PublicDescription": "Counts retired load instructions that split across a cacheline boundary. Available PDIST counters: 0", + "RetirementLatencyMax": "4704", + "RetirementLatencyMean": "3.97", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100003", + "UMask": "0x41" + }, + { + "BriefDescription": "Retired store instructions that split across a cacheline boundary.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.SPLIT_STORES", + "PublicDescription": "Counts retired store instructions that split across a cacheline boundary. Available PDIST counters: 0", + "RetirementLatencyMax": "65535", + "RetirementLatencyMean": "19.0", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100003", + "UMask": "0x42" + }, + { + "BriefDescription": "Retired load instructions that hit the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_HIT_LOADS", + "PublicDescription": "Number of retired load instructions with a clean hit in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "RetirementLatencyMax": "3424", + "RetirementLatencyMean": "1.57", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100003", + "UMask": "0x9" + }, + { + "BriefDescription": "Retired store instructions that hit the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_HIT_STORES", + "PublicDescription": "Number of retired store instructions that hit in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "RetirementLatencyMax": "65535", + "RetirementLatencyMean": "5.24", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100003", + "UMask": "0xa" + }, + { + "BriefDescription": "Retired load instructions that miss the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_MISS_LOADS", + "PublicDescription": "Number of retired load instructions that (start a) miss in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x11" + }, + { + "BriefDescription": "Retired store instructions that miss the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_MISS_STORES", + "PublicDescription": "Number of retired store instructions that (start a) miss in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x12" + }, + { + "BriefDescription": "Completed demand load uops that miss the L1 d-cache.", + "Counter": "0,1,2,3", + "EventCode": "0x43", + "EventName": "MEM_LOAD_COMPLETED.L1_MISS_ANY", + "PublicDescription": "Number of completed demand load requests that missed the L1 data cache including shadow misses (FB hits, merge to an ongoing L1D miss)", + "SampleAfterValue": "1000003", + "UMask": "0xfd" + }, + { + "BriefDescription": "Retired load instructions whose data sources were HitM responses from shared L3", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_FWD", + "PublicDescription": "Counts retired load instructions whose data sources were HitM responses from shared L3. Available PDIST counters: 0", + "RetirementLatencyMax": "4472", + "RetirementLatencyMean": "353.04", + "RetirementLatencyMin": "0", + "SampleAfterValue": "20011", + "UMask": "0x4" + }, + { + "BriefDescription": "Retired load instructions whose data sources were L3 hit and cross-core snoop missed in on-pkg core cache.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_MISS", + "PublicDescription": "Counts the retired load instructions whose data sources were L3 hit and cross-core snoop missed in on-pkg core cache. Available PDIST counters: 0", + "RetirementLatencyMax": "830", + "RetirementLatencyMean": "125.27", + "RetirementLatencyMin": "0", + "SampleAfterValue": "20011", + "UMask": "0x1" + }, + { + "BriefDescription": "Retired load instructions whose data sources were hits in L3 without snoops required", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_NONE", + "PublicDescription": "Counts retired load instructions whose data sources were hits in L3 without snoops required. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x8" + }, + { + "BriefDescription": "Retired load instructions whose data sources were L3 and cross-core snoop hits in on-pkg core cache", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_NO_FWD", + "PublicDescription": "Counts retired load instructions whose data sources were L3 and cross-core snoop hits in on-pkg core cache. Available PDIST counters: 0", + "RetirementLatencyMax": "3939", + "RetirementLatencyMean": "289.9", + "RetirementLatencyMin": "0", + "SampleAfterValue": "20011", + "UMask": "0x2" + }, + { + "BriefDescription": "Retired load instructions which data sources missed L3 but serviced from dram homed in the local socket", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.LOCAL_DRAM", + "PublicDescription": "Retired load instructions which data sources missed L3 but serviced from DRAM homed in the local socket. Available PDIST counters: 0", + "RetirementLatencyMax": "4146", + "RetirementLatencyMean": "115.83", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100007", + "UMask": "0x1" + }, + { + "BriefDescription": "Retired load instructions with remote cxl mem as the data source where the data request missed all caches.", + "Counter": "0,1,2,3", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_CXL_MEM", + "PublicDescription": "Counts retired load instructions with remote cxl mem as the data source and the data request missed L3. Available PDIST counters: 0", + "SampleAfterValue": "100007", + "UMask": "0x10" + }, + { + "BriefDescription": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_DRAM", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_DRAM", + "PublicDescription": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_DRAM Available PDIST counters: 0", + "RetirementLatencyMax": "3572", + "RetirementLatencyMean": "430.22", + "RetirementLatencyMin": "0", + "SampleAfterValue": "1000003", + "UMask": "0x2" + }, + { + "BriefDescription": "Retired load instructions whose data sources was forwarded from a remote cache", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_FWD", + "PublicDescription": "Retired load instructions whose data sources was forwarded from a remote cache. Available PDIST counters: 0", + "RetirementLatencyMax": "8552", + "RetirementLatencyMean": "125.36", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100007", + "UMask": "0x8" + }, + { + "BriefDescription": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_HITM", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_HITM", + "PublicDescription": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_HITM Available PDIST counters: 0", + "RetirementLatencyMax": "2580", + "RetirementLatencyMean": "135.29", + "RetirementLatencyMin": "0", + "SampleAfterValue": "1000003", + "UMask": "0x4" + }, + { + "BriefDescription": "Retired instructions with at least 1 uncacheable load or lock.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd4", + "EventName": "MEM_LOAD_MISC_RETIRED.UC", + "PublicDescription": "Retired instructions with at least one load to uncacheable memory-type, or at least one cache-line split locked access (Bus Lock). Available PDIST counters: 0", + "SampleAfterValue": "100007", + "UMask": "0x4" + }, + { + "BriefDescription": "Number of completed demand load requests that missed the L1, but hit the FB(fill buffer), because a preceding miss to the same cacheline initiated the line to be brought into L1, but data is not yet ready in L1.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.FB_HIT", + "PublicDescription": "Counts retired load instructions with at least one uop was load missed in L1 but hit FB (Fill Buffers) due to preceding miss to the same cache line with data not ready. Available PDIST counters: 0", + "SampleAfterValue": "100007", + "UMask": "0x40" + }, + { + "BriefDescription": "Retired load instructions with L1 cache hits as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L1_HIT", + "PublicDescription": "Counts retired load instructions with at least one uop that hit in the L1 data cache. This event includes all SW prefetches and lock instructions regardless of the data source. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x1" + }, + { + "BriefDescription": "Retired load instructions missed L1 cache as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L1_MISS", + "PublicDescription": "Counts retired load instructions with at least one uop that missed in the L1 cache. Available PDIST counters: 0", + "SampleAfterValue": "200003", + "UMask": "0x8" + }, + { + "BriefDescription": "Retired load instructions with L2 cache hits as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L2_HIT", + "PublicDescription": "Counts retired load instructions with L2 cache hits as data sources. Available PDIST counters: 0", + "RetirementLatencyMax": "7140", + "RetirementLatencyMean": "5.71", + "RetirementLatencyMin": "0", + "SampleAfterValue": "200003", + "UMask": "0x2" + }, + { + "BriefDescription": "Retired load instructions missed L2 cache as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L2_MISS", + "PublicDescription": "Counts retired load instructions missed L2 cache as data sources. Available PDIST counters: 0", + "SampleAfterValue": "100021", + "UMask": "0x10" + }, + { + "BriefDescription": "Retired load instructions with L3 cache hits as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L3_HIT", + "PublicDescription": "Counts retired load instructions with at least one uop that hit in the L3 cache. Available PDIST counters: 0", + "RetirementLatencyMax": "5630", + "RetirementLatencyMean": "57.64", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100021", + "UMask": "0x4" + }, + { + "BriefDescription": "Retired load instructions missed L3 cache as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L3_MISS", + "PublicDescription": "Counts retired load instructions with at least one uop that missed in the L3 cache. Available PDIST counters: 0", + "SampleAfterValue": "50021", + "UMask": "0x20" + }, + { + "BriefDescription": "Retired load instructions with local cxl mem as the data source where the data request missed all caches.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.LOCAL_CXL_MEM", + "PublicDescription": "Counts retired load instructions with local cxl mem as the data source and the data request missed L3. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x80" + }, + { + "BriefDescription": "MEM_STORE_RETIRED.L2_HIT", + "Counter": "0,1,2,3", + "EventCode": "0x44", + "EventName": "MEM_STORE_RETIRED.L2_HIT", + "SampleAfterValue": "200003", + "UMask": "0x1" + }, + { + "BriefDescription": "Retired memory uops for any access", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0xe5", + "EventName": "MEM_UOP_RETIRED.ANY", + "PublicDescription": "Number of retired micro-operations (uops) for load or store memory accesses", + "SampleAfterValue": "1000003", + "UMask": "0x3" + }, + { + "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that have any type of response.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_CODE_RD.ANY_RESPONSE", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10004", + "PublicDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that have any type of response. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit in the L3 or were snooped from another core's caches on the same socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_CODE_RD.L3_HIT", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F803C0004", + "PublicDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit in the L3 or were snooped from another core's caches on the same socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that resulted in a snoop hit a modified line in another core's caches which forwarded the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_HITM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10003C0004", + "PublicDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that resulted in a snoop hit a modified line in another core's caches which forwarded the data. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that have any type of response.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.ANY_RESPONSE", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10001", + "PublicDescription": "Counts demand data reads that have any type of response. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 or Type 3).", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x703C00001", + "PublicDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 or Type 3). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that hit in the L3 or were snooped from another core's caches on the same socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.L3_HIT", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F803C0001", + "PublicDescription": "Counts demand data reads that hit in the L3 or were snooped from another core's caches on the same socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that resulted in a snoop hit a modified line in another core's caches which forwarded the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HITM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10003C0001", + "PublicDescription": "Counts demand data reads that resulted in a snoop hit a modified line in another core's caches which forwarded the data. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that resulted in a snoop that hit in another core, which did not forward the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HIT_NO_FWD", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x4003C0001", + "PublicDescription": "Counts demand data reads that resulted in a snoop that hit in another core, which did not forward the data. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that resulted in a snoop hit in another core's caches which forwarded the unmodified data to the requesting core.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HIT_WITH_FWD", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x8003C0001", + "PublicDescription": "Counts demand data reads that resulted in a snoop hit in another core's caches which forwarded the unmodified data to the requesting core. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 and Type 3) attached to local socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.LOCAL_CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x700C00001", + "PublicDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 and Type 3) attached to local socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that were supplied by a cache on a remote socket where a snoop hit a modified line in another core's caches which forwarded the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.REMOTE_CACHE.SNOOP_HITM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x1030000001", + "PublicDescription": "Counts demand data reads that were supplied by a cache on a remote socket where a snoop hit a modified line in another core's caches which forwarded the data. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that were supplied by a cache on a remote socket where a snoop hit in another core's caches which forwarded the unmodified data to the requesting core.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.REMOTE_CACHE.SNOOP_HIT_WITH_FWD", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x830000001", + "PublicDescription": "Counts demand data reads that were supplied by a cache on a remote socket where a snoop hit in another core's caches which forwarded the unmodified data to the requesting core. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 or Type 3) attached to another socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.REMOTE_CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x703000001", + "PublicDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 or Type 3) attached to another socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that hit a modified line in a distant L3 Cache or were snooped from a distant core's L1/L2 caches on this socket when the system is in SNC (sub-NUMA cluster) mode.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.SNC_CACHE.HITM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x1008000001", + "PublicDescription": "Counts demand data reads that hit a modified line in a distant L3 Cache or were snooped from a distant core's L1/L2 caches on this socket when the system is in SNC (sub-NUMA cluster) mode. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that either hit a non-modified line in a distant L3 Cache or were snooped from a distant core's L1/L2 caches on this socket when the system is in SNC (sub-NUMA cluster) mode.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.SNC_CACHE.HIT_WITH_FWD", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x808000001", + "PublicDescription": "Counts demand data reads that either hit a non-modified line in a distant L3 Cache or were snooped from a distant core's L1/L2 caches on this socket when the system is in SNC (sub-NUMA cluster) mode. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that have any type of response.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.ANY_RESPONSE", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F3FFC0002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that have any type of response. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 or Type 3).", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x703C00002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 or Type 3). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit in the L3 or were snooped from another core's caches on the same socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.L3_HIT", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F803C0002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit in the L3 or were snooped from another core's caches on the same socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that resulted in a snoop hit a modified line in another core's caches which forwarded the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_HITM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10003C0002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that resulted in a snoop hit a modified line in another core's caches which forwarded the data. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 and Type 3) attached to local socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.LOCAL_CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x700C00002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 and Type 3) attached to local socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 or Type 3) attached to another socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.REMOTE_CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x703000002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 or Type 3) attached to another socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts writebacks of modified cachelines and streaming stores that have any type of response.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.MODIFIED_WRITE.ANY_RESPONSE", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10808", + "PublicDescription": "Counts writebacks of modified cachelines and streaming stores that have any type of response. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that have any type of response.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.READS_TO_CORE.ANY_RESPONSE", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F3FFC4477", + "PublicDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that have any type of response. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that were supplied by CXL MEM (Type 2 or Type 3).", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.READS_TO_CORE.CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x703C04477", + "PublicDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that were supplied by CXL MEM (Type 2 or Type 3). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that hit in the L3 or were snooped from another core's caches on the same socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.READS_TO_CORE.L3_HIT", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F003C4477", + "PublicDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that hit in the L3 or were snooped from another core's caches on the same socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that resulted in a snoop hit a modified line in another core's caches which forwarded the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.READS_TO_CORE.L3_HIT.SNOOP_HITM", *** 11725 LINES SKIPPED *** From nobody Fri Feb 6 15:20:33 2026 X-Original-To: dev-commits-src-branches@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 4f6yTG1Fpwz6RKL9 for ; Fri, 06 Feb 2026 15:20:34 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6yTG0kpxz3rDv for ; Fri, 06 Feb 2026 15:20:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770391234; 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=dJFDWQuus4GRJUPvrnm+OrvhNaOsWBsE2HIXJRoJBj4=; b=s1cjiswNu4RSQzqCZm/j0kvyMcZUj5egHUCFkKsHyecSRV9ptiO+LQRn2KUoge92UP7QdX vobOHPpcMnH7xA6/FMzNDI8fTMvXIMTA16a3cQ1eoyaFhKZBEUANnq3DRLdrxsfMUwePtf kvEADMJizpsb8V8B4HQx153lfYvz2oDW7AQHyVld3p0ryUljT72+prp4NkTnKA8yN2sphB g/m6wUWf5K3RaMD+SqsiS3WjlxwXNOFRfsBNNT27j9qVLCh2MLxvWnD2NBE+7TEuzyLhJx RS3aLdveIcBJrZWY3vnNwfNb6eoupI8Zo9zi0LcqMxvXakP18k3Ksm4nxUXgeg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770391234; a=rsa-sha256; cv=none; b=xFOKmjML4fDqjgFctbdzfaPjcY4CUA6ieDu//r5AevXWLDWN81BNCV2phaQH2V5JzlQPOl cDsIJE6wGTOvvFA+sAmN8l6Rwqkm8Awjj73+v1GlaqW/HhfASC2ZB1U4qBjeeEM7sqaq0f 2nnwYHWIk5CW1RTRJFAbQJ8NKAiegbwLVBgJwMcs3VKWFP2Xe8hJ37JEGuaRwsaT5CQ0Hr 6mEEA+Joval/zoQJVVApgfeUwO9DgImjg0+TWf8h7OvhadQr9eUfMcZHyfzR7VWhiE8Zep hUePsZeou5rMSO6blXT9FNXHxhTSJqRgrsKPfBHpKPkE1micQS/l8QZtGqQ5UQ== 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=1770391234; 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=dJFDWQuus4GRJUPvrnm+OrvhNaOsWBsE2HIXJRoJBj4=; b=unU8Q2dxDfzhCj0zHIp8gD0BJVpd++0WUzQciKyXBV1T8djSuFCOudaEhXGoZzANfJ8gBR ppYP1RE/0M1n8e279czh4JJHVC3clIJgYs23w+aUxKjjpUJtQG5StbUMvSq7QdGp44P1AT V1EzhGMrmeWWWxCmMpmUan6lvzlH10bjH4LD3a5lNcKoPMtM/i2hcDEsiWkcAdOL1nsZ/o YHdg0iND1cKswcMEvR05og4BFf76NXPe7pD95D8tfevMbnho9nXZr84Om7zi63FuiI/ieU ElUXqHqLDzErJQyqfXSJc+lM2zEaHlsqJrbUVfmXaMelmXXdqV/06W2e7imTZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6yTG0FQgz5WL for ; Fri, 06 Feb 2026 15:20:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 180e1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 15:20:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bojan Novk=?utf-8?Q?ovi=C4=87?= Subject: git: 625ed651833e - stable/14 - pmc: Import Intel Granite Rapids events List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 625ed651833e76a439a7010aa28c93bc83013168 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 15:20:33 +0000 Message-Id: <698606c1.180e1.30ecf513@gitrepo.freebsd.org> The branch stable/14 has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=625ed651833e76a439a7010aa28c93bc83013168 commit 625ed651833e76a439a7010aa28c93bc83013168 Author: Bojan Novković AuthorDate: 2026-02-02 10:13:12 +0000 Commit: Bojan Novković CommitDate: 2026-02-06 15:19:30 +0000 pmc: Import Intel Granite Rapids events Reviewed by: mhorne Sponsored by: Klara, Inc. Obtained from: Intel perfmon (JSON event definitions) Differential Revision: https://reviews.freebsd.org/D55081 MFC after: 2 days (cherry picked from commit a3ff85e11925ba1e25465c8ba633356f405f9214) --- .../pmu-events/arch/x86/graniterapids/cache.json | 1230 +++++++ .../arch/x86/graniterapids/floating-point.json | 242 ++ .../arch/x86/graniterapids/frontend.json | 476 +++ .../pmu-events/arch/x86/graniterapids/memory.json | 523 +++ .../pmu-events/arch/x86/graniterapids/other.json | 65 + .../arch/x86/graniterapids/pipeline.json | 1145 ++++++ .../arch/x86/graniterapids/uncore-cache.json | 3745 ++++++++++++++++++++ .../arch/x86/graniterapids/uncore-cxl.json | 29 + .../x86/graniterapids/uncore-interconnect.json | 1979 +++++++++++ .../arch/x86/graniterapids/uncore-io.json | 1925 ++++++++++ .../arch/x86/graniterapids/uncore-memory.json | 890 +++++ .../arch/x86/graniterapids/uncore-power.json | 109 + .../arch/x86/graniterapids/virtual-memory.json | 185 + lib/libpmc/pmu-events/arch/x86/mapfile.csv | 1 + sys/dev/hwpmc/hwpmc_intel.c | 5 + sys/sys/pmc.h | 1 + 16 files changed, 12550 insertions(+) diff --git a/lib/libpmc/pmu-events/arch/x86/graniterapids/cache.json b/lib/libpmc/pmu-events/arch/x86/graniterapids/cache.json new file mode 100644 index 000000000000..135264595c11 --- /dev/null +++ b/lib/libpmc/pmu-events/arch/x86/graniterapids/cache.json @@ -0,0 +1,1230 @@ +[ + { + "BriefDescription": "L1D.HWPF_MISS", + "Counter": "0,1,2,3", + "EventCode": "0x51", + "EventName": "L1D.HWPF_MISS", + "SampleAfterValue": "1000003", + "UMask": "0x20" + }, + { + "BriefDescription": "Counts the number of cache lines replaced in L1 data cache.", + "Counter": "0,1,2,3", + "EventCode": "0x51", + "EventName": "L1D.REPLACEMENT", + "PublicDescription": "Counts L1D data line replacements including opportunistic replacements, and replacements that require stall-for-replace or block-for-replace.", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Number of cycles a demand request has waited due to L1D Fill Buffer (FB) unavailability.", + "Counter": "0,1,2,3", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.FB_FULL", + "PublicDescription": "Counts number of cycles a demand request has waited due to L1D Fill Buffer (FB) unavailability. Demand requests include cacheable/uncacheable demand load, store, lock or SW prefetch accesses.", + "SampleAfterValue": "1000003", + "UMask": "0x2" + }, + { + "BriefDescription": "Number of phases a demand request has waited due to L1D Fill Buffer (FB) unavailability.", + "Counter": "0,1,2,3", + "CounterMask": "1", + "EdgeDetect": "1", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.FB_FULL_PERIODS", + "PublicDescription": "Counts number of phases a demand request has waited due to L1D Fill Buffer (FB) unavailability. Demand requests include cacheable/uncacheable demand load, store, lock or SW prefetch accesses.", + "SampleAfterValue": "1000003", + "UMask": "0x2" + }, + { + "BriefDescription": "Number of cycles a demand request has waited due to L1D due to lack of L2 resources.", + "Counter": "0,1,2,3", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.L2_STALLS", + "PublicDescription": "Counts number of cycles a demand request has waited due to L1D due to lack of L2 resources. Demand requests include cacheable/uncacheable demand load, store, lock or SW prefetch accesses.", + "SampleAfterValue": "1000003", + "UMask": "0x4" + }, + { + "BriefDescription": "Number of L1D misses that are outstanding", + "Counter": "0,1,2,3", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.PENDING", + "PublicDescription": "Counts number of L1D misses that are outstanding in each cycle, that is each cycle the number of Fill Buffers (FB) outstanding required by Demand Reads. FB either is held by demand loads, or it is held by non-demand loads and gets hit at least once by demand. The valid outstanding interval is defined until the FB deallocation by one of the following ways: from FB allocation, if FB is allocated by demand from the demand Hit FB, if it is allocated by hardware or software prefetch. Note: In the L1D, a Demand Read contains cacheable or noncacheable demand loads, including ones causing cache-line splits and reads due to page walks resulted from any request type.", + "SampleAfterValue": "1000003", + "UMask": "0x1" + }, + { + "BriefDescription": "Cycles with L1D load Misses outstanding.", + "Counter": "0,1,2,3", + "CounterMask": "1", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.PENDING_CYCLES", + "PublicDescription": "Counts duration of L1D miss outstanding in cycles.", + "SampleAfterValue": "1000003", + "UMask": "0x1" + }, + { + "BriefDescription": "L2 cache lines filling L2", + "Counter": "0,1,2,3", + "EventCode": "0x25", + "EventName": "L2_LINES_IN.ALL", + "PublicDescription": "Counts the number of L2 cache lines filling the L2. Counting does not cover rejects.", + "SampleAfterValue": "100003", + "UMask": "0x1f" + }, + { + "BriefDescription": "Modified cache lines that are evicted by L2 cache when triggered by an L2 cache fill.", + "Counter": "0,1,2,3", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.NON_SILENT", + "PublicDescription": "Counts the number of lines that are evicted by L2 cache when triggered by an L2 cache fill. Those lines are in Modified state. Modified lines are written back to L3", + "SampleAfterValue": "200003", + "UMask": "0x2" + }, + { + "BriefDescription": "Non-modified cache lines that are silently dropped by L2 cache.", + "Counter": "0,1,2,3", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.SILENT", + "PublicDescription": "Counts the number of lines that are silently dropped by L2 cache. These lines are typically in Shared or Exclusive state. A non-threaded event.", + "SampleAfterValue": "200003", + "UMask": "0x1" + }, + { + "BriefDescription": "Cache lines that have been L2 hardware prefetched but not used by demand accesses", + "Counter": "0,1,2,3", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.USELESS_HWPF", + "PublicDescription": "Counts the number of cache lines that have been prefetched by the L2 hardware prefetcher but not used by demand access when evicted from the L2 cache", + "SampleAfterValue": "200003", + "UMask": "0x4" + }, + { + "BriefDescription": "All accesses to L2 cache [This event is alias to L2_RQSTS.REFERENCES]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_REQUEST.ALL", + "PublicDescription": "Counts all requests that were hit or true misses in L2 cache. True-miss excludes misses that were merged with ongoing L2 misses. [This event is alias to L2_RQSTS.REFERENCES]", + "SampleAfterValue": "200003", + "UMask": "0xff" + }, + { + "BriefDescription": "All requests that hit L2 cache. [This event is alias to L2_RQSTS.HIT]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_REQUEST.HIT", + "PublicDescription": "Counts all requests that hit L2 cache. [This event is alias to L2_RQSTS.HIT]", + "SampleAfterValue": "200003", + "UMask": "0xdf" + }, + { + "BriefDescription": "Read requests with true-miss in L2 cache [This event is alias to L2_RQSTS.MISS]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_REQUEST.MISS", + "PublicDescription": "Counts read requests of any type with true-miss in the L2 cache. True-miss excludes L2 misses that were merged with ongoing L2 misses. [This event is alias to L2_RQSTS.MISS]", + "SampleAfterValue": "200003", + "UMask": "0x3f" + }, + { + "BriefDescription": "L2 code requests", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_CODE_RD", + "PublicDescription": "Counts the total number of L2 code requests.", + "SampleAfterValue": "200003", + "UMask": "0xe4" + }, + { + "BriefDescription": "Demand Data Read access L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_DEMAND_DATA_RD", + "PublicDescription": "Counts Demand Data Read requests accessing the L2 cache. These requests may hit or miss L2 cache. True-miss exclude misses that were merged with ongoing L2 misses. An access is counted once.", + "SampleAfterValue": "200003", + "UMask": "0xe1" + }, + { + "BriefDescription": "Demand requests that miss L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_DEMAND_MISS", + "PublicDescription": "Counts demand requests that miss L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0x27" + }, + { + "BriefDescription": "Demand requests to L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_DEMAND_REFERENCES", + "PublicDescription": "Counts demand requests to L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0xe7" + }, + { + "BriefDescription": "L2_RQSTS.ALL_HWPF", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_HWPF", + "SampleAfterValue": "200003", + "UMask": "0xf0" + }, + { + "BriefDescription": "RFO requests to L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_RFO", + "PublicDescription": "Counts the total number of RFO (read for ownership) requests to L2 cache. L2 RFO requests include both L1D demand RFO misses as well as L1D RFO prefetches.", + "SampleAfterValue": "200003", + "UMask": "0xe2" + }, + { + "BriefDescription": "L2 cache hits when fetching instructions, code reads.", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.CODE_RD_HIT", + "PublicDescription": "Counts L2 cache hits when fetching instructions, code reads.", + "SampleAfterValue": "200003", + "UMask": "0xc4" + }, + { + "BriefDescription": "L2 cache misses when fetching instructions", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.CODE_RD_MISS", + "PublicDescription": "Counts L2 cache misses when fetching instructions.", + "SampleAfterValue": "200003", + "UMask": "0x24" + }, + { + "BriefDescription": "Demand Data Read requests that hit L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.DEMAND_DATA_RD_HIT", + "PublicDescription": "Counts the number of demand Data Read requests initiated by load instructions that hit L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0xc1" + }, + { + "BriefDescription": "Demand Data Read miss L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.DEMAND_DATA_RD_MISS", + "PublicDescription": "Counts demand Data Read requests with true-miss in the L2 cache. True-miss excludes misses that were merged with ongoing L2 misses. An access is counted once.", + "SampleAfterValue": "200003", + "UMask": "0x21" + }, + { + "BriefDescription": "All requests that hit L2 cache. [This event is alias to L2_REQUEST.HIT]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.HIT", + "PublicDescription": "Counts all requests that hit L2 cache. [This event is alias to L2_REQUEST.HIT]", + "SampleAfterValue": "200003", + "UMask": "0xdf" + }, + { + "BriefDescription": "L2_RQSTS.HWPF_MISS", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.HWPF_MISS", + "SampleAfterValue": "200003", + "UMask": "0x30" + }, + { + "BriefDescription": "Read requests with true-miss in L2 cache [This event is alias to L2_REQUEST.MISS]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.MISS", + "PublicDescription": "Counts read requests of any type with true-miss in the L2 cache. True-miss excludes L2 misses that were merged with ongoing L2 misses. [This event is alias to L2_REQUEST.MISS]", + "SampleAfterValue": "200003", + "UMask": "0x3f" + }, + { + "BriefDescription": "All accesses to L2 cache [This event is alias to L2_REQUEST.ALL]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.REFERENCES", + "PublicDescription": "Counts all requests that were hit or true misses in L2 cache. True-miss excludes misses that were merged with ongoing L2 misses. [This event is alias to L2_REQUEST.ALL]", + "SampleAfterValue": "200003", + "UMask": "0xff" + }, + { + "BriefDescription": "RFO requests that hit L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.RFO_HIT", + "PublicDescription": "Counts the RFO (Read-for-Ownership) requests that hit L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0xc2" + }, + { + "BriefDescription": "RFO requests that miss L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.RFO_MISS", + "PublicDescription": "Counts the RFO (Read-for-Ownership) requests that miss L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0x22" + }, + { + "BriefDescription": "SW prefetch requests that hit L2 cache.", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.SWPF_HIT", + "PublicDescription": "Counts Software prefetch requests that hit the L2 cache. Accounts for PREFETCHNTA and PREFETCHT0/1/2 instructions when FB is not full.", + "SampleAfterValue": "200003", + "UMask": "0xc8" + }, + { + "BriefDescription": "SW prefetch requests that miss L2 cache.", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.SWPF_MISS", + "PublicDescription": "Counts Software prefetch requests that miss the L2 cache. Accounts for PREFETCHNTA and PREFETCHT0/1/2 instructions when FB is not full.", + "SampleAfterValue": "200003", + "UMask": "0x28" + }, + { + "BriefDescription": "L2 writebacks that access L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x23", + "EventName": "L2_TRANS.L2_WB", + "PublicDescription": "Counts L2 writebacks that access L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0x40" + }, + { + "BriefDescription": "Core-originated cacheable requests that missed L3 (Except hardware prefetches to the L3)", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x2e", + "EventName": "LONGEST_LAT_CACHE.MISS", + "PublicDescription": "Counts core-originated cacheable requests that miss the L3 cache (Longest Latency cache). Requests include data and code reads, Reads-for-Ownership (RFOs), speculative accesses and hardware prefetches to the L1 and L2. It does not include hardware prefetches to the L3, and may not count other types of requests to the L3.", + "SampleAfterValue": "100003", + "UMask": "0x41" + }, + { + "BriefDescription": "Core-originated cacheable requests that refer to L3 (Except hardware prefetches to the L3)", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x2e", + "EventName": "LONGEST_LAT_CACHE.REFERENCE", + "PublicDescription": "Counts core-originated cacheable requests to the L3 cache (Longest Latency cache). Requests include data and code reads, Reads-for-Ownership (RFOs), speculative accesses and hardware prefetches to the L1 and L2. It does not include hardware prefetches to the L3, and may not count other types of requests to the L3.", + "SampleAfterValue": "100003", + "UMask": "0x4f" + }, + { + "BriefDescription": "Retired load instructions.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.ALL_LOADS", + "PublicDescription": "Counts all retired load instructions. This event accounts for SW prefetch instructions of PREFETCHNTA or PREFETCHT0/1/2 or PREFETCHW. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x81" + }, + { + "BriefDescription": "Retired store instructions.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.ALL_STORES", + "PublicDescription": "Counts all retired store instructions. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x82" + }, + { + "BriefDescription": "All retired memory instructions.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.ANY", + "PublicDescription": "Counts all retired memory instructions - loads and stores. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x83" + }, + { + "BriefDescription": "Retired load instructions with locked access.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.LOCK_LOADS", + "PublicDescription": "Counts retired load instructions with locked access. Available PDIST counters: 0", + "RetirementLatencyMax": "5156", + "RetirementLatencyMean": "63.76", + "RetirementLatencyMin": "15", + "SampleAfterValue": "100007", + "UMask": "0x21" + }, + { + "BriefDescription": "Retired load instructions that split across a cacheline boundary.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.SPLIT_LOADS", + "PublicDescription": "Counts retired load instructions that split across a cacheline boundary. Available PDIST counters: 0", + "RetirementLatencyMax": "4704", + "RetirementLatencyMean": "3.97", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100003", + "UMask": "0x41" + }, + { + "BriefDescription": "Retired store instructions that split across a cacheline boundary.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.SPLIT_STORES", + "PublicDescription": "Counts retired store instructions that split across a cacheline boundary. Available PDIST counters: 0", + "RetirementLatencyMax": "65535", + "RetirementLatencyMean": "19.0", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100003", + "UMask": "0x42" + }, + { + "BriefDescription": "Retired load instructions that hit the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_HIT_LOADS", + "PublicDescription": "Number of retired load instructions with a clean hit in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "RetirementLatencyMax": "3424", + "RetirementLatencyMean": "1.57", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100003", + "UMask": "0x9" + }, + { + "BriefDescription": "Retired store instructions that hit the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_HIT_STORES", + "PublicDescription": "Number of retired store instructions that hit in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "RetirementLatencyMax": "65535", + "RetirementLatencyMean": "5.24", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100003", + "UMask": "0xa" + }, + { + "BriefDescription": "Retired load instructions that miss the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_MISS_LOADS", + "PublicDescription": "Number of retired load instructions that (start a) miss in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x11" + }, + { + "BriefDescription": "Retired store instructions that miss the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_MISS_STORES", + "PublicDescription": "Number of retired store instructions that (start a) miss in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x12" + }, + { + "BriefDescription": "Completed demand load uops that miss the L1 d-cache.", + "Counter": "0,1,2,3", + "EventCode": "0x43", + "EventName": "MEM_LOAD_COMPLETED.L1_MISS_ANY", + "PublicDescription": "Number of completed demand load requests that missed the L1 data cache including shadow misses (FB hits, merge to an ongoing L1D miss)", + "SampleAfterValue": "1000003", + "UMask": "0xfd" + }, + { + "BriefDescription": "Retired load instructions whose data sources were HitM responses from shared L3", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_FWD", + "PublicDescription": "Counts retired load instructions whose data sources were HitM responses from shared L3. Available PDIST counters: 0", + "RetirementLatencyMax": "4472", + "RetirementLatencyMean": "353.04", + "RetirementLatencyMin": "0", + "SampleAfterValue": "20011", + "UMask": "0x4" + }, + { + "BriefDescription": "Retired load instructions whose data sources were L3 hit and cross-core snoop missed in on-pkg core cache.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_MISS", + "PublicDescription": "Counts the retired load instructions whose data sources were L3 hit and cross-core snoop missed in on-pkg core cache. Available PDIST counters: 0", + "RetirementLatencyMax": "830", + "RetirementLatencyMean": "125.27", + "RetirementLatencyMin": "0", + "SampleAfterValue": "20011", + "UMask": "0x1" + }, + { + "BriefDescription": "Retired load instructions whose data sources were hits in L3 without snoops required", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_NONE", + "PublicDescription": "Counts retired load instructions whose data sources were hits in L3 without snoops required. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x8" + }, + { + "BriefDescription": "Retired load instructions whose data sources were L3 and cross-core snoop hits in on-pkg core cache", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_NO_FWD", + "PublicDescription": "Counts retired load instructions whose data sources were L3 and cross-core snoop hits in on-pkg core cache. Available PDIST counters: 0", + "RetirementLatencyMax": "3939", + "RetirementLatencyMean": "289.9", + "RetirementLatencyMin": "0", + "SampleAfterValue": "20011", + "UMask": "0x2" + }, + { + "BriefDescription": "Retired load instructions which data sources missed L3 but serviced from dram homed in the local socket", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.LOCAL_DRAM", + "PublicDescription": "Retired load instructions which data sources missed L3 but serviced from DRAM homed in the local socket. Available PDIST counters: 0", + "RetirementLatencyMax": "4146", + "RetirementLatencyMean": "115.83", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100007", + "UMask": "0x1" + }, + { + "BriefDescription": "Retired load instructions with remote cxl mem as the data source where the data request missed all caches.", + "Counter": "0,1,2,3", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_CXL_MEM", + "PublicDescription": "Counts retired load instructions with remote cxl mem as the data source and the data request missed L3. Available PDIST counters: 0", + "SampleAfterValue": "100007", + "UMask": "0x10" + }, + { + "BriefDescription": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_DRAM", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_DRAM", + "PublicDescription": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_DRAM Available PDIST counters: 0", + "RetirementLatencyMax": "3572", + "RetirementLatencyMean": "430.22", + "RetirementLatencyMin": "0", + "SampleAfterValue": "1000003", + "UMask": "0x2" + }, + { + "BriefDescription": "Retired load instructions whose data sources was forwarded from a remote cache", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_FWD", + "PublicDescription": "Retired load instructions whose data sources was forwarded from a remote cache. Available PDIST counters: 0", + "RetirementLatencyMax": "8552", + "RetirementLatencyMean": "125.36", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100007", + "UMask": "0x8" + }, + { + "BriefDescription": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_HITM", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_HITM", + "PublicDescription": "MEM_LOAD_L3_MISS_RETIRED.REMOTE_HITM Available PDIST counters: 0", + "RetirementLatencyMax": "2580", + "RetirementLatencyMean": "135.29", + "RetirementLatencyMin": "0", + "SampleAfterValue": "1000003", + "UMask": "0x4" + }, + { + "BriefDescription": "Retired instructions with at least 1 uncacheable load or lock.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd4", + "EventName": "MEM_LOAD_MISC_RETIRED.UC", + "PublicDescription": "Retired instructions with at least one load to uncacheable memory-type, or at least one cache-line split locked access (Bus Lock). Available PDIST counters: 0", + "SampleAfterValue": "100007", + "UMask": "0x4" + }, + { + "BriefDescription": "Number of completed demand load requests that missed the L1, but hit the FB(fill buffer), because a preceding miss to the same cacheline initiated the line to be brought into L1, but data is not yet ready in L1.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.FB_HIT", + "PublicDescription": "Counts retired load instructions with at least one uop was load missed in L1 but hit FB (Fill Buffers) due to preceding miss to the same cache line with data not ready. Available PDIST counters: 0", + "SampleAfterValue": "100007", + "UMask": "0x40" + }, + { + "BriefDescription": "Retired load instructions with L1 cache hits as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L1_HIT", + "PublicDescription": "Counts retired load instructions with at least one uop that hit in the L1 data cache. This event includes all SW prefetches and lock instructions regardless of the data source. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x1" + }, + { + "BriefDescription": "Retired load instructions missed L1 cache as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L1_MISS", + "PublicDescription": "Counts retired load instructions with at least one uop that missed in the L1 cache. Available PDIST counters: 0", + "SampleAfterValue": "200003", + "UMask": "0x8" + }, + { + "BriefDescription": "Retired load instructions with L2 cache hits as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L2_HIT", + "PublicDescription": "Counts retired load instructions with L2 cache hits as data sources. Available PDIST counters: 0", + "RetirementLatencyMax": "7140", + "RetirementLatencyMean": "5.71", + "RetirementLatencyMin": "0", + "SampleAfterValue": "200003", + "UMask": "0x2" + }, + { + "BriefDescription": "Retired load instructions missed L2 cache as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L2_MISS", + "PublicDescription": "Counts retired load instructions missed L2 cache as data sources. Available PDIST counters: 0", + "SampleAfterValue": "100021", + "UMask": "0x10" + }, + { + "BriefDescription": "Retired load instructions with L3 cache hits as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L3_HIT", + "PublicDescription": "Counts retired load instructions with at least one uop that hit in the L3 cache. Available PDIST counters: 0", + "RetirementLatencyMax": "5630", + "RetirementLatencyMean": "57.64", + "RetirementLatencyMin": "0", + "SampleAfterValue": "100021", + "UMask": "0x4" + }, + { + "BriefDescription": "Retired load instructions missed L3 cache as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L3_MISS", + "PublicDescription": "Counts retired load instructions with at least one uop that missed in the L3 cache. Available PDIST counters: 0", + "SampleAfterValue": "50021", + "UMask": "0x20" + }, + { + "BriefDescription": "Retired load instructions with local cxl mem as the data source where the data request missed all caches.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.LOCAL_CXL_MEM", + "PublicDescription": "Counts retired load instructions with local cxl mem as the data source and the data request missed L3. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x80" + }, + { + "BriefDescription": "MEM_STORE_RETIRED.L2_HIT", + "Counter": "0,1,2,3", + "EventCode": "0x44", + "EventName": "MEM_STORE_RETIRED.L2_HIT", + "SampleAfterValue": "200003", + "UMask": "0x1" + }, + { + "BriefDescription": "Retired memory uops for any access", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0xe5", + "EventName": "MEM_UOP_RETIRED.ANY", + "PublicDescription": "Number of retired micro-operations (uops) for load or store memory accesses", + "SampleAfterValue": "1000003", + "UMask": "0x3" + }, + { + "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that have any type of response.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_CODE_RD.ANY_RESPONSE", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10004", + "PublicDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that have any type of response. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit in the L3 or were snooped from another core's caches on the same socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_CODE_RD.L3_HIT", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F803C0004", + "PublicDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit in the L3 or were snooped from another core's caches on the same socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that resulted in a snoop hit a modified line in another core's caches which forwarded the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_HITM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10003C0004", + "PublicDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that resulted in a snoop hit a modified line in another core's caches which forwarded the data. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that have any type of response.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.ANY_RESPONSE", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10001", + "PublicDescription": "Counts demand data reads that have any type of response. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 or Type 3).", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x703C00001", + "PublicDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 or Type 3). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that hit in the L3 or were snooped from another core's caches on the same socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.L3_HIT", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F803C0001", + "PublicDescription": "Counts demand data reads that hit in the L3 or were snooped from another core's caches on the same socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that resulted in a snoop hit a modified line in another core's caches which forwarded the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HITM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10003C0001", + "PublicDescription": "Counts demand data reads that resulted in a snoop hit a modified line in another core's caches which forwarded the data. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that resulted in a snoop that hit in another core, which did not forward the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HIT_NO_FWD", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x4003C0001", + "PublicDescription": "Counts demand data reads that resulted in a snoop that hit in another core, which did not forward the data. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that resulted in a snoop hit in another core's caches which forwarded the unmodified data to the requesting core.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HIT_WITH_FWD", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x8003C0001", + "PublicDescription": "Counts demand data reads that resulted in a snoop hit in another core's caches which forwarded the unmodified data to the requesting core. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 and Type 3) attached to local socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.LOCAL_CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x700C00001", + "PublicDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 and Type 3) attached to local socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that were supplied by a cache on a remote socket where a snoop hit a modified line in another core's caches which forwarded the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.REMOTE_CACHE.SNOOP_HITM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x1030000001", + "PublicDescription": "Counts demand data reads that were supplied by a cache on a remote socket where a snoop hit a modified line in another core's caches which forwarded the data. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that were supplied by a cache on a remote socket where a snoop hit in another core's caches which forwarded the unmodified data to the requesting core.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.REMOTE_CACHE.SNOOP_HIT_WITH_FWD", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x830000001", + "PublicDescription": "Counts demand data reads that were supplied by a cache on a remote socket where a snoop hit in another core's caches which forwarded the unmodified data to the requesting core. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 or Type 3) attached to another socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.REMOTE_CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x703000001", + "PublicDescription": "Counts demand data reads that were supplied by CXL MEM (Type 2 or Type 3) attached to another socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that hit a modified line in a distant L3 Cache or were snooped from a distant core's L1/L2 caches on this socket when the system is in SNC (sub-NUMA cluster) mode.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.SNC_CACHE.HITM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x1008000001", + "PublicDescription": "Counts demand data reads that hit a modified line in a distant L3 Cache or were snooped from a distant core's L1/L2 caches on this socket when the system is in SNC (sub-NUMA cluster) mode. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand data reads that either hit a non-modified line in a distant L3 Cache or were snooped from a distant core's L1/L2 caches on this socket when the system is in SNC (sub-NUMA cluster) mode.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_DATA_RD.SNC_CACHE.HIT_WITH_FWD", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x808000001", + "PublicDescription": "Counts demand data reads that either hit a non-modified line in a distant L3 Cache or were snooped from a distant core's L1/L2 caches on this socket when the system is in SNC (sub-NUMA cluster) mode. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that have any type of response.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.ANY_RESPONSE", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F3FFC0002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that have any type of response. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 or Type 3).", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x703C00002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 or Type 3). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit in the L3 or were snooped from another core's caches on the same socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.L3_HIT", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F803C0002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit in the L3 or were snooped from another core's caches on the same socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that resulted in a snoop hit a modified line in another core's caches which forwarded the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_HITM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10003C0002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that resulted in a snoop hit a modified line in another core's caches which forwarded the data. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 and Type 3) attached to local socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.LOCAL_CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x700C00002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 and Type 3) attached to local socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 or Type 3) attached to another socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.DEMAND_RFO.REMOTE_CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x703000002", + "PublicDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that were supplied by CXL MEM (Type 2 or Type 3) attached to another socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts writebacks of modified cachelines and streaming stores that have any type of response.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.MODIFIED_WRITE.ANY_RESPONSE", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x10808", + "PublicDescription": "Counts writebacks of modified cachelines and streaming stores that have any type of response. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that have any type of response.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.READS_TO_CORE.ANY_RESPONSE", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F3FFC4477", + "PublicDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that have any type of response. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that were supplied by CXL MEM (Type 2 or Type 3).", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.READS_TO_CORE.CXL_MEM", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x703C04477", + "PublicDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that were supplied by CXL MEM (Type 2 or Type 3). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that hit in the L3 or were snooped from another core's caches on the same socket.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.READS_TO_CORE.L3_HIT", + "MSRIndex": "0x1a6,0x1a7", + "MSRValue": "0x3F003C4477", + "PublicDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that hit in the L3 or were snooped from another core's caches on the same socket. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x1" + }, + { + "BriefDescription": "Counts all (cacheable) data read, code read and RFO requests including demands and prefetches to the core caches (L1 or L2) that resulted in a snoop hit a modified line in another core's caches which forwarded the data.", + "Counter": "0,1,2,3", + "EventCode": "0x2A,0x2B", + "EventName": "OCR.READS_TO_CORE.L3_HIT.SNOOP_HITM", *** 11725 LINES SKIPPED *** From nobody Fri Feb 6 18:58:44 2026 X-Original-To: dev-commits-src-branches@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 4f73K11J3Gz6FSnp for ; Fri, 06 Feb 2026 18:58:45 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f73K10fZLz3Nvm for ; Fri, 06 Feb 2026 18:58:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770404325; 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=tfqSOkR1HgBUir7rF6p9M6FgvEHuQdI2B6f6eVMrZ98=; b=gTZ0BWtzW0Juc1vUEkdi/QsTVWprkGc3xhQdUSUYp4kLablJzQEbDTZcnfLt663NqScaw/ MDhkQS4sRD9VvS4couqOwJ9Xgl5b/KLBY3wI8Rq2hlnYPosiQdgUC7h7qyQ3CDi/THs2TK piBURy45rA01InoQvCLMk0KXiCZuOBYRZYIOvQuoJp1Lo5s1G4H0XSmYLpPJLueG8lhouR zQ69iKQ++9b3PVpC4g89R3g7x3dQzryVE1U3k2DvJ3RFSvVmCAZG2ciCjfMIUfwtYpf8PW 81otxC0oIM2Nuchm6RkhcoVwhHl2aj/o2CDKCeYExgez0Zf6wjhSEKbXMaMZ9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770404325; a=rsa-sha256; cv=none; b=m0l6KDGlqRMjns4A0KQuxtoiPFmx6h52L4BWkBeBUvAI0rNECRhDc4dK8KHWbMIGI1K6/s vXjk47Jn3Pvaeu/4/vUtR2nvj6Ay6Lh3DUakXJRtA2UAbCaxUNjqo/QiEtRI5+q+D4FLcm cg8opGCWXS8x+THcWiUZasLclZDI1bWkc9sRwyj//Mr0KbQ8N+feeMDbRXcrdz3mnJY2BH 0Rywa5z/7SKdUaVtf+KrEBUY+OEa6rl1RZ4FYrAuL+Hr06Y2u5SSpgAtlUhTTFqEeortwL gkOtFvuDemPvsLvPYP/yOR60I3/MM6d4aIhw2p5D8DaxPug1BwjEkLbEL27R0A== 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=1770404325; 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=tfqSOkR1HgBUir7rF6p9M6FgvEHuQdI2B6f6eVMrZ98=; b=Dyo36mMFX+u2h/hSHbIzZDjBOmhFk2NVI0vbNYw/EiO4LwqS6SjYeJOyX9eJN19Fa58Fx7 ZOQbc0+/Iy53KRzcm26B/uRfTJhvYIWSnKoWS7syng/H2Y/JxcPcuxrZCOyz1hq+an0NzD nIAZfv4V+ZIfBFe4EfsiRvMsTxzX+dZsMX2OSh/lIfSeuM9PBtozrOWqb6G3obR2NUiv+w YQjph0h3RS7RUXhXgPAHFsuIhGnA7f5FykfZsbNVsKYhO0QsV9eKq2N5c9gDcblP2S3p5M 16liGDl15zjqUji/fL4STzUS31dUe0CkzVyBiQkvDAlL+QZ6WGYlqnKxdjJL5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f73K100XMzC0V for ; Fri, 06 Feb 2026 18:58:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35ecb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 18:58:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 5d53160823fe - stable/15 - capsicum-test: Move out of contrib List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5d53160823fe2469576e85390bcb1cca0f734ccb Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 18:58:44 +0000 Message-Id: <698639e4.35ecb.2612fbdb@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5d53160823fe2469576e85390bcb1cca0f734ccb commit 5d53160823fe2469576e85390bcb1cca0f734ccb Author: Ed Maste AuthorDate: 2026-01-27 15:28:39 +0000 Commit: Ed Maste CommitDate: 2026-02-06 16:15:09 +0000 capsicum-test: Move out of contrib Google developed the Capsicum unit test suite[1] as part of the Capsicum-Linux[2] project, based on unit tests that existed in FreeBSD and unit tests developed as part of the initial Capsicum-Linux port. Capsicum-Linux was archived as of October 31, 2022 and is no longer being maintained. FreeBSD is currently the only consumer of and contributor to the test suite. Move the src into tests/sys/capsicum to simplify ongoing maintenance. The makefiles were deleted as we (continue to) use the existing bespoke FreeBSD Makefile, and CONTRIBUTING.md was removed as the Google CLA is no longer applicable. [1] https://github.com/google/capsicum-test [2] https://github.com/google/capsicum-linux Reviewed by: asomers, oshogbo Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54917 (cherry picked from commit 5b036b25853349cd3cf26495e628276f79f29c42) (cherry picked from commit 670b568ec1c36464c6d55e400382c290b0391ccf) (cherry picked from commit b773da180e02c0c27de48dbba72f3fb7a64656da) --- .github/CODEOWNERS | 2 +- MAINTAINERS | 2 +- contrib/capsicum-test/.gitignore | 19 ----- contrib/capsicum-test/CONTRIBUTING.md | 20 ------ contrib/capsicum-test/GNUmakefile | 82 ---------------------- contrib/capsicum-test/makefile | 36 ---------- .../capsicum-test => tests/sys/capsicum}/LICENSE | 0 tests/sys/capsicum/Makefile | 2 - .../capsicum-test => tests/sys/capsicum}/README.md | 0 .../sys/capsicum}/capability-fd-pair.cc | 0 .../sys/capsicum}/capability-fd.cc | 0 .../sys/capsicum}/capmode.cc | 0 .../sys/capsicum}/capsicum-freebsd.h | 0 .../sys/capsicum}/capsicum-linux.h | 0 .../sys/capsicum}/capsicum-rights.h | 0 .../sys/capsicum}/capsicum-test-main.cc | 0 .../sys/capsicum}/capsicum-test.cc | 0 .../sys/capsicum}/capsicum-test.h | 0 .../sys/capsicum}/capsicum.h | 0 .../sys/capsicum}/copy_file_range.cc | 0 .../capsicum-test => tests/sys/capsicum}/fcntl.cc | 0 .../sys/capsicum}/fexecve.cc | 0 .../capsicum-test => tests/sys/capsicum}/ioctl.cc | 0 .../capsicum-test => tests/sys/capsicum}/linux.cc | 0 .../capsicum-test => tests/sys/capsicum}/mini-me.c | 0 .../capsicum-test => tests/sys/capsicum}/mqueue.cc | 0 .../capsicum-test => tests/sys/capsicum}/openat.cc | 0 .../sys/capsicum}/overhead.cc | 0 .../sys/capsicum}/procdesc.cc | 0 .../capsicum-test => tests/sys/capsicum}/rename.cc | 0 .../capsicum-test => tests/sys/capsicum}/sctp.cc | 0 .../capsicum-test => tests/sys/capsicum}/select.cc | 0 .../sys/capsicum}/showrights | 0 .../sys/capsicum}/smoketest.c | 0 .../capsicum-test => tests/sys/capsicum}/socket.cc | 0 .../sys/capsicum}/syscalls.h | 0 .../capsicum-test => tests/sys/capsicum}/sysctl.cc | 0 .../sys/capsicum}/waittest.c | 0 38 files changed, 2 insertions(+), 161 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 98ef1f5db2ce..a70288941d79 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -33,7 +33,6 @@ /bin/sh @jillest /contrib/atf @ngie-eign -/contrib/capsicum-test @ngie-eign /contrib/googletest @ngie-eign /contrib/libcxxrt @DimitryAndric @emaste /contrib/llvm-project @DimitryAndric @@ -102,6 +101,7 @@ /sys/x86/pci @bsdimp @bsdjhb /tests @ngie-eign /tests/sys/aio/ @asomers +/tests/sys/capsicum/ @ngie-eign @emaste /tests/sys/fs/fusefs/ @asomers /tests/sys/kqueue/ @jmgurney /tests/sys/opencrypto/ @jmgurney diff --git a/MAINTAINERS b/MAINTAINERS index ea9bb4195aa1..c13290ae5611 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -37,7 +37,6 @@ subsystem login notes aio(4) asomers Pre-commit review requested. ath(4) adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org contrib/atf ngie,#test Pre-commit review requested. -contrib/capsicum-test ngie,#capsicum,#test Pre-commit review requested. contrib/googletest ngie,#test Pre-commit review requested. sbin/ipf cy Pre-commit review requested. contrib/libcxxrt dim,emaste Pre-commit review preferred. @@ -109,6 +108,7 @@ sys/netpfil/pf kp,glebius Pre-commit review recommended. sys/x86/xen royger Pre-commit review recommended. sys/xen royger Pre-commit review recommended. tests ngie,#test Pre-commit review requested. +tests/sys/capsicum ngie,#capsicum,#test Pre-commit review requested. tools/build imp Pre-commit review requested, especially to fix bootstrap issues. top(1) eadler Pre-commit review requested. usr.sbin/bsdconfig dteske Pre-commit phabricator review requested. diff --git a/contrib/capsicum-test/.gitignore b/contrib/capsicum-test/.gitignore deleted file mode 100644 index bc8f8f5ce265..000000000000 --- a/contrib/capsicum-test/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -capsicum-test -mini-me -mini-me.noexec -mini-me.setuid -mini-me.32 -mini-me.x32 -mini-me.64 -libgtest.a -smoketest -*.o -libcap*.deb -libcap*.dsc -libcap*.tar.gz -libcap*.changes -casper*.deb -casper*.dsc -casper*.tar.gz -casper*.changes -libcaprights.a \ No newline at end of file diff --git a/contrib/capsicum-test/CONTRIBUTING.md b/contrib/capsicum-test/CONTRIBUTING.md deleted file mode 100644 index 1a054b840c0b..000000000000 --- a/contrib/capsicum-test/CONTRIBUTING.md +++ /dev/null @@ -1,20 +0,0 @@ -## Contributor License Agreement ## - -Contributions to any Google project must be accompanied by a Contributor -License Agreement. This is not a copyright **assignment**, it simply gives -Google permission to use and redistribute your contributions as part of the -project. - - * If you are an individual writing original source code and you're sure you - own the intellectual property, then you'll need to sign an [individual - CLA][]. - - * If you work for a company that wants to allow you to contribute your work, - then you'll need to sign a [corporate CLA][]. - -You generally only need to submit a CLA once, so if you've already submitted -one (even if it was for a different project), you probably don't need to do it -again. - -[individual CLA]: https://developers.google.com/open-source/cla/individual -[corporate CLA]: https://developers.google.com/open-source/cla/corporate diff --git a/contrib/capsicum-test/GNUmakefile b/contrib/capsicum-test/GNUmakefile deleted file mode 100644 index 426eb49cdfa1..000000000000 --- a/contrib/capsicum-test/GNUmakefile +++ /dev/null @@ -1,82 +0,0 @@ -OS:=$(shell uname) - -# Set ARCH to 32 or x32 for i386/x32 ABIs -ARCH?=64 -ARCHFLAG=-m$(ARCH) - -ifeq ($(OS),FreeBSD) -EXTRA_LIBS=-lprocstat -endif - -ifeq ($(OS),Linux) -PROCESSOR:=$(shell uname -p) - -ifneq ($(wildcard /usr/lib/$(PROCESSOR)-linux-gnu),) -# Can use standard Debian location for static libraries. -PLATFORM_LIBDIR=/usr/lib/$(PROCESSOR)-linux-gnu -else -# Attempt to determine library location from gcc configuration. -PLATFORM_LIBDIR=$(shell gcc -v 2>&1 | grep "Configured with:" | sed 's/.*--libdir=\(\/usr\/[^ ]*\).*/\1/g') -endif - -# Override for explicitly specified ARCHFLAG. -# Use locally compiled libcaprights in this case, on the -# assumption that any installed version is 64-bit. -ifeq ($(ARCHFLAG),-m32) -PROCESSOR=i386 -PLATFORM_LIBDIR=/usr/lib32 -LIBCAPRIGHTS=./libcaprights.a -endif -ifeq ($(ARCHFLAG),-mx32) -PROCESSOR=x32 -PLATFORM_LIBDIR=/usr/libx32 -LIBCAPRIGHTS=./libcaprights.a -endif - -# Detect presence of libsctp in normal Debian location -ifneq ($(wildcard $(PLATFORM_LIBDIR)/libsctp.a),) -LIBSCTP=-lsctp -CXXFLAGS=-DHAVE_SCTP -endif - -ifneq ($(LIBCAPRIGHTS),) -# Build local libcaprights.a (assuming ./configure -# has already been done in libcaprights/) -LOCAL_LIBS=$(LIBCAPRIGHTS) -LIBCAPRIGHTS_OBJS=libcaprights/capsicum.o libcaprights/linux-bpf-capmode.o libcaprights/procdesc.o libcaprights/signal.o -LOCAL_CLEAN=$(LOCAL_LIBS) $(LIBCAPRIGHTS_OBJS) -else -# Detect installed libcaprights static library. -ifneq ($(wildcard $(PLATFORM_LIBDIR)/libcaprights.a),) -LIBCAPRIGHTS=$(PLATFORM_LIBDIR)/libcaprights.a -else -ifneq ($(wildcard /usr/lib/libcaprights.a),) -LIBCAPRIGHTS=/usr/lib/libcaprights.a -endif -endif -endif - -endif - -# Extra test programs for arch-transition tests -EXTRA_PROGS = mini-me.32 mini-me.64 -ifneq ($(wildcard /usr/include/gnu/stubs-x32.h),) -EXTRA_PROGS += mini-me.x32 -endif - -# Chain on to the master makefile -include makefile - -./libcaprights.a: $(LIBCAPRIGHTS_OBJS) - ar cr $@ $^ - -# Small static programs of known architectures -# These may require additional packages to be installed; for example, for Debian: -# - libc6-dev-i386 provides 32-bit headers for a 64-bit system -# - libc6-dev-x32 provides headers for the x32 ABI. -mini-me.32: mini-me.c - $(CC) $(CFLAGS) -m32 -static -o $@ $< -mini-me.x32: mini-me.c - $(CC) $(CFLAGS) -mx32 -static -o $@ $< -mini-me.64: mini-me.c - $(CC) $(CFLAGS) -m64 -static -o $@ $< diff --git a/contrib/capsicum-test/makefile b/contrib/capsicum-test/makefile deleted file mode 100644 index e55393bbf131..000000000000 --- a/contrib/capsicum-test/makefile +++ /dev/null @@ -1,36 +0,0 @@ -all: capsicum-test smoketest mini-me mini-me.noexec mini-me.setuid $(EXTRA_PROGS) -OBJECTS=capsicum-test-main.o capsicum-test.o capability-fd.o copy_file_range.o fexecve.o procdesc.o capmode.o fcntl.o ioctl.o openat.o sysctl.o select.o mqueue.o socket.o sctp.o capability-fd-pair.o linux.o overhead.o rename.o - -GTEST_DIR=gtest-1.10.0 -GTEST_INCS=-I$(GTEST_DIR)/include -I$(GTEST_DIR) -GTEST_FLAGS=-DGTEST_USE_OWN_TR1_TUPLE=1 -DGTEST_HAS_TR1_TUPLE=1 -CXXFLAGS+=$(ARCHFLAG) -Wall -g $(GTEST_INCS) $(GTEST_FLAGS) --std=c++11 -CFLAGS+=$(ARCHFLAG) -Wall -g - -capsicum-test: $(OBJECTS) libgtest.a $(LOCAL_LIBS) - $(CXX) $(CXXFLAGS) -g -o $@ $(OBJECTS) libgtest.a -lpthread -lrt $(LIBSCTP) $(LIBCAPRIGHTS) $(EXTRA_LIBS) - -# Small statically-linked program for fexecve tests -# (needs to be statically linked so that execve()ing it -# doesn't involve ld.so traversing the filesystem). -mini-me: mini-me.c - $(CC) $(CFLAGS) -static -o $@ $< -mini-me.noexec: mini-me - cp mini-me $@ && chmod -x $@ -mini-me.setuid: mini-me - rm -f $@ && cp mini-me $@&& sudo chown root $@ && sudo chmod u+s $@ - -# Simple C test of Capsicum syscalls -SMOKETEST_OBJECTS=smoketest.o -smoketest: $(SMOKETEST_OBJECTS) $(LOCAL_LIBS) - $(CC) $(CFLAGS) -o $@ $(SMOKETEST_OBJECTS) $(LIBCAPRIGHTS) - -test: capsicum-test mini-me mini-me.noexec mini-me.setuid $(EXTRA_PROGS) - ./capsicum-test -gtest-all.o: - $(CXX) $(CXXFLAGS) $(ARCHFLAG) -I$(GTEST_DIR)/include -I$(GTEST_DIR) $(GTEST_FLAGS) -c ${GTEST_DIR}/src/gtest-all.cc -libgtest.a: gtest-all.o - $(AR) -rv libgtest.a gtest-all.o - -clean: - rm -rf gtest-all.o libgtest.a capsicum-test mini-me mini-me.noexec smoketest $(SMOKETEST_OBJECTS) $(OBJECTS) $(LOCAL_CLEAN) $(EXTRA_PROGS) diff --git a/contrib/capsicum-test/LICENSE b/tests/sys/capsicum/LICENSE similarity index 100% rename from contrib/capsicum-test/LICENSE rename to tests/sys/capsicum/LICENSE diff --git a/tests/sys/capsicum/Makefile b/tests/sys/capsicum/Makefile index fd8dcb29d65c..38c1f8285910 100644 --- a/tests/sys/capsicum/Makefile +++ b/tests/sys/capsicum/Makefile @@ -9,8 +9,6 @@ CFLAGS+= -I${SRCTOP}/tests .if ${MK_GOOGLETEST} != no -.PATH: ${SRCTOP}/contrib/capsicum-test - GTESTS+= capsicum-test GTESTS_WRAPPER_SH.capsicum-test= functional # This test script runs the same test suite twice, once as root and once as an diff --git a/contrib/capsicum-test/README.md b/tests/sys/capsicum/README.md similarity index 100% rename from contrib/capsicum-test/README.md rename to tests/sys/capsicum/README.md diff --git a/contrib/capsicum-test/capability-fd-pair.cc b/tests/sys/capsicum/capability-fd-pair.cc similarity index 100% rename from contrib/capsicum-test/capability-fd-pair.cc rename to tests/sys/capsicum/capability-fd-pair.cc diff --git a/contrib/capsicum-test/capability-fd.cc b/tests/sys/capsicum/capability-fd.cc similarity index 100% rename from contrib/capsicum-test/capability-fd.cc rename to tests/sys/capsicum/capability-fd.cc diff --git a/contrib/capsicum-test/capmode.cc b/tests/sys/capsicum/capmode.cc similarity index 100% rename from contrib/capsicum-test/capmode.cc rename to tests/sys/capsicum/capmode.cc diff --git a/contrib/capsicum-test/capsicum-freebsd.h b/tests/sys/capsicum/capsicum-freebsd.h similarity index 100% rename from contrib/capsicum-test/capsicum-freebsd.h rename to tests/sys/capsicum/capsicum-freebsd.h diff --git a/contrib/capsicum-test/capsicum-linux.h b/tests/sys/capsicum/capsicum-linux.h similarity index 100% rename from contrib/capsicum-test/capsicum-linux.h rename to tests/sys/capsicum/capsicum-linux.h diff --git a/contrib/capsicum-test/capsicum-rights.h b/tests/sys/capsicum/capsicum-rights.h similarity index 100% rename from contrib/capsicum-test/capsicum-rights.h rename to tests/sys/capsicum/capsicum-rights.h diff --git a/contrib/capsicum-test/capsicum-test-main.cc b/tests/sys/capsicum/capsicum-test-main.cc similarity index 100% rename from contrib/capsicum-test/capsicum-test-main.cc rename to tests/sys/capsicum/capsicum-test-main.cc diff --git a/contrib/capsicum-test/capsicum-test.cc b/tests/sys/capsicum/capsicum-test.cc similarity index 100% rename from contrib/capsicum-test/capsicum-test.cc rename to tests/sys/capsicum/capsicum-test.cc diff --git a/contrib/capsicum-test/capsicum-test.h b/tests/sys/capsicum/capsicum-test.h similarity index 100% rename from contrib/capsicum-test/capsicum-test.h rename to tests/sys/capsicum/capsicum-test.h diff --git a/contrib/capsicum-test/capsicum.h b/tests/sys/capsicum/capsicum.h similarity index 100% rename from contrib/capsicum-test/capsicum.h rename to tests/sys/capsicum/capsicum.h diff --git a/contrib/capsicum-test/copy_file_range.cc b/tests/sys/capsicum/copy_file_range.cc similarity index 100% rename from contrib/capsicum-test/copy_file_range.cc rename to tests/sys/capsicum/copy_file_range.cc diff --git a/contrib/capsicum-test/fcntl.cc b/tests/sys/capsicum/fcntl.cc similarity index 100% rename from contrib/capsicum-test/fcntl.cc rename to tests/sys/capsicum/fcntl.cc diff --git a/contrib/capsicum-test/fexecve.cc b/tests/sys/capsicum/fexecve.cc similarity index 100% rename from contrib/capsicum-test/fexecve.cc rename to tests/sys/capsicum/fexecve.cc diff --git a/contrib/capsicum-test/ioctl.cc b/tests/sys/capsicum/ioctl.cc similarity index 100% rename from contrib/capsicum-test/ioctl.cc rename to tests/sys/capsicum/ioctl.cc diff --git a/contrib/capsicum-test/linux.cc b/tests/sys/capsicum/linux.cc similarity index 100% rename from contrib/capsicum-test/linux.cc rename to tests/sys/capsicum/linux.cc diff --git a/contrib/capsicum-test/mini-me.c b/tests/sys/capsicum/mini-me.c similarity index 100% rename from contrib/capsicum-test/mini-me.c rename to tests/sys/capsicum/mini-me.c diff --git a/contrib/capsicum-test/mqueue.cc b/tests/sys/capsicum/mqueue.cc similarity index 100% rename from contrib/capsicum-test/mqueue.cc rename to tests/sys/capsicum/mqueue.cc diff --git a/contrib/capsicum-test/openat.cc b/tests/sys/capsicum/openat.cc similarity index 100% rename from contrib/capsicum-test/openat.cc rename to tests/sys/capsicum/openat.cc diff --git a/contrib/capsicum-test/overhead.cc b/tests/sys/capsicum/overhead.cc similarity index 100% rename from contrib/capsicum-test/overhead.cc rename to tests/sys/capsicum/overhead.cc diff --git a/contrib/capsicum-test/procdesc.cc b/tests/sys/capsicum/procdesc.cc similarity index 100% rename from contrib/capsicum-test/procdesc.cc rename to tests/sys/capsicum/procdesc.cc diff --git a/contrib/capsicum-test/rename.cc b/tests/sys/capsicum/rename.cc similarity index 100% rename from contrib/capsicum-test/rename.cc rename to tests/sys/capsicum/rename.cc diff --git a/contrib/capsicum-test/sctp.cc b/tests/sys/capsicum/sctp.cc similarity index 100% rename from contrib/capsicum-test/sctp.cc rename to tests/sys/capsicum/sctp.cc diff --git a/contrib/capsicum-test/select.cc b/tests/sys/capsicum/select.cc similarity index 100% rename from contrib/capsicum-test/select.cc rename to tests/sys/capsicum/select.cc diff --git a/contrib/capsicum-test/showrights b/tests/sys/capsicum/showrights similarity index 100% rename from contrib/capsicum-test/showrights rename to tests/sys/capsicum/showrights diff --git a/contrib/capsicum-test/smoketest.c b/tests/sys/capsicum/smoketest.c similarity index 100% rename from contrib/capsicum-test/smoketest.c rename to tests/sys/capsicum/smoketest.c diff --git a/contrib/capsicum-test/socket.cc b/tests/sys/capsicum/socket.cc similarity index 100% rename from contrib/capsicum-test/socket.cc rename to tests/sys/capsicum/socket.cc diff --git a/contrib/capsicum-test/syscalls.h b/tests/sys/capsicum/syscalls.h similarity index 100% rename from contrib/capsicum-test/syscalls.h rename to tests/sys/capsicum/syscalls.h diff --git a/contrib/capsicum-test/sysctl.cc b/tests/sys/capsicum/sysctl.cc similarity index 100% rename from contrib/capsicum-test/sysctl.cc rename to tests/sys/capsicum/sysctl.cc diff --git a/contrib/capsicum-test/waittest.c b/tests/sys/capsicum/waittest.c similarity index 100% rename from contrib/capsicum-test/waittest.c rename to tests/sys/capsicum/waittest.c From nobody Fri Feb 6 20:59:08 2026 X-Original-To: dev-commits-src-branches@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 4f75zw64R0z6Fd2T for ; Fri, 06 Feb 2026 20:59: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f75zw3s7Gz3pg8 for ; Fri, 06 Feb 2026 20:59:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770411548; 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=ILHicWVzhuKFESRHqtTRy17kIkMlEl8hsaAa9fsF9vw=; b=phekfFr/9lLjcUJNws6HhhEosSaReYrrbofoGncfzo1djBavc/xuwcCyo0NuCOEAoPQNQ3 EkmbuXeeVMMIH1joXGnEkyQI5d6IDVX1n0HKlE0zKsNG/8B17nnF5jTqK3dDYFyhWgKaO2 9bZSy0sUBCwRqCkN6B3kQOO5b2XphZhMyfsb6T95y7Z0D+CG+cLSdrGjbz7OWTeqU1tsoR 4jqJVTxUVsL0NxQm+AWLlFpUBJLmXHkgpFwG2qqE6rjFOeLmVevybmg7Kpzvt54A9B02/U L4BjGZTa/oVRFeEBbL9JhSs6MXzf2pG00ngS9jyoPEMbV8JAj1PaR5lmEBOFlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770411548; a=rsa-sha256; cv=none; b=KMlWrnfMIDeKAH7EW7QaSZYVBKvUNSypS+CesVgWkqDxAKuqg678wThEiDfip4bPiy0dxU O4wrkYw+E8sKhL+Y81o2dkyeDesQaUyHG+IEPKeOTkGxAABz/06LfVRR3wcivwQPbDKFnV BnE0ahE5vs0RwuxswNP8CSuoE327uwMCSaTfa99vGIHTXuUcNlT0q8H82PkvO4O08Nh7WY iyhCDqQRIMJpuamWmfcIcmhGAGE0VqRl+8l5gv+wVTRvN7OUrWAcarCvC9Y10hVpGXByGT o3w83QXMi9UH1QQdH3r3xSTLtY6RQdFQpxRyWqf5ynijCDFUhI0lE9UrnXTfLg== 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=1770411548; 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=ILHicWVzhuKFESRHqtTRy17kIkMlEl8hsaAa9fsF9vw=; b=jL5IikEQK+daQS2KLnhQV9ENO3skgkx94SZDZVwefqESK96TykoSTc3JbMlCWxJWiYovu0 iAIGqYwDOaqJqQwYu6G2jo1OTLYqvcji2VGfpIYg0NibZlX5fkLHvqcIzolbav0Z9m9Ndx a9GztrmrSCcRcvQ6dGAMHOWj7LhmBdiG5p34Xc54NLVcA9nh2LPlBTuftC5QoYDXqNgh5D mdT9mtpDAzTD4hAW+Fswonudk9buJlGNnkXIgZVL624X5Z/53dINlOT3GMV3LHmEdIQ5zK mFgBJI07keqU8TLOj7Ur4R3cLAQ2Gh2WNy5MNNdgxTKtH4O227SMpn5rxNPP4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f75zw2dsczXd5 for ; Fri, 06 Feb 2026 20:59:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43129 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 20:59:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: df3c9a8a5feb - releng/14.4 - Revert "release: Ship firmware from kmods repo on DVD" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: df3c9a8a5febf3457c96238c2e9212dc369d377a Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 20:59:08 +0000 Message-Id: <6986561c.43129.1fc0ca38@gitrepo.freebsd.org> The branch releng/14.4 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=df3c9a8a5febf3457c96238c2e9212dc369d377a commit df3c9a8a5febf3457c96238c2e9212dc369d377a Author: Colin Percival AuthorDate: 2026-02-06 20:54:04 +0000 Commit: Colin Percival CommitDate: 2026-02-06 20:58:55 +0000 Revert "release: Ship firmware from kmods repo on DVD" While all of the net/wifi-firmware-*-kmod packages are in the "kmod" pkg repository, the net/wifi-firmware-kmod metapackage itself is not; this results in the DVD build failing when it can't fetch that. I'm not sure if the correct fix here is to add kmod-related metapackages to the kmod repository (even if they themselves do not contain kmods) or something else; but this needs to be backed out at least temporarily so that 14.4-BETA1 can happen. This reverts commit 8c1de31097763ce1d918a3f82c61fd8d30edbe75. This is a direct commit to releng/14.4 since it is not yet clear whether this should be permanently removed from other branches and there is no urgency to do so (since DVD builds are disabled by default). With hat: re Approved by: re (cperciva) --- release/pkg_repos/release-dvd.conf | 7 ------- release/scripts/pkg-stage.sh | 25 +++++++------------------ 2 files changed, 7 insertions(+), 25 deletions(-) diff --git a/release/pkg_repos/release-dvd.conf b/release/pkg_repos/release-dvd.conf index ebe29b72df99..600c309d5979 100644 --- a/release/pkg_repos/release-dvd.conf +++ b/release/pkg_repos/release-dvd.conf @@ -5,10 +5,3 @@ release: { fingerprints: "/usr/share/keys/pkg", enabled: yes } -release-kmods: { - url: "pkg+http://pkg.FreeBSD.org/${ABI}/kmods_quarterly", - mirror_type: "srv", - signature_type: "fingerprints", - fingerprints: "/usr/share/keys/pkg", - enabled: yes -} diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index d490e83ba9ec..2c70b59be241 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -12,12 +12,13 @@ export ROOTDIR="$PWD/dvd" export PKGCMD="/usr/sbin/pkg -d --rootdir ${ROOTDIR}" export PORTSDIR="${PORTSDIR:-/usr/ports}" -_DVD_PACKAGES_MAIN=" +_DVD_PACKAGES=" comms/usbmuxd devel/git@lite misc/freebsd-doc-all net/mpd5 net/rsync +net/wifi-firmware-kmod@release ports-mgmt/pkg shells/bash shells/zsh @@ -34,10 +35,6 @@ x11/xorg x11-wm/sway " -_DVD_PACKAGES_KMODS=" -net/wifi-firmware-kmod@release -" - # If NOPORTS is set for the release, do not attempt to build pkg(8). if [ ! -f ${PORTSDIR}/Makefile ]; then echo "*** ${PORTSDIR} is missing! ***" @@ -60,25 +57,18 @@ if [ ! -z "${PKG_ALTABI}" ]; then ln -s ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} fi -# Ensure the ports listed in _DVD_PACKAGES_* exist to sanitize the +# Ensure the ports listed in _DVD_PACKAGES exist to sanitize the # final list. -for _P in ${_DVD_PACKAGES_MAIN}; do - if [ -d "${PORTSDIR}/${_P%%@*}" ]; then - DVD_PACKAGES_MAIN="${DVD_PACKAGES_MAIN} ${_P}" - else - echo "*** Skipping nonexistent port: ${_P%%@*}" - fi -done -for _P in ${_DVD_PACKAGES_KMODS}; do +for _P in ${_DVD_PACKAGES}; do if [ -d "${PORTSDIR}/${_P%%@*}" ]; then - DVD_PACKAGES_KMODS="${DVD_PACKAGES_KMODS} ${_P}" + DVD_PACKAGES="${DVD_PACKAGES} ${_P}" else echo "*** Skipping nonexistent port: ${_P%%@*}" fi done # Make sure the package list is not empty. -if [ -z "${DVD_PACKAGES_MAIN}${DVD_PACKAGES_KMODS}" ]; then +if [ -z "${DVD_PACKAGES}" ]; then echo "*** The package list is empty." echo "*** Something is very wrong." # Exit '0' so the rest of the build process continues @@ -89,8 +79,7 @@ fi # Print pkg(8) information to make debugging easier. ${PKGCMD} -vv ${PKGCMD} update -f -${PKGCMD} fetch -o ${PKG_REPODIR} -r release -d ${DVD_PACKAGES_MAIN} -${PKGCMD} fetch -o ${PKG_REPODIR} -r release-kmods -d ${DVD_PACKAGES_KMODS} +${PKGCMD} fetch -o ${PKG_REPODIR} -d ${DVD_PACKAGES} # Create the 'Latest/pkg.txz' symlink so 'pkg bootstrap' works # using the on-disc packages. From nobody Fri Feb 6 21:23:45 2026 X-Original-To: dev-commits-src-branches@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 4f76XK67ctz6QYSQ for ; Fri, 06 Feb 2026 21:23:45 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f76XK3kS2z3vJb for ; Fri, 06 Feb 2026 21:23:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770413025; 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=pF+tVdsxlbuOdCmuc+zh5FqYLo+f+gLp4B68LbO1kuM=; b=ho5hZcuSZHZbFqAJmMX96BP3yf5eFskBmPeyUSMz1ggWZ1aBNpw2fKutb5udunrLUb3kBL Ka+ZYKHXA+4jt22wNTEdyAcrYH86282Gk0leN7OZMGMwibJWR7WRGWPEJdYYX8rxXqx4pq gIpO3XIJml0igRKL0NDVUSJU4zK+WVhUitlWTqu4nOYy+/ACrk0uVgxRuqcJ55i1GO6C1e CUm73W9PGjimFC1u5CsjbVhfIUg2exanyOvRXCQAp8bxsUcJTLWcBl9+rM1Sr9MbgWZeQZ gH5Cp+p/EPhLyE6nFgd4W53k6hMfqmfOWrlykC5Ma99N3VKi5AL02abLb4IDVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770413025; a=rsa-sha256; cv=none; b=lhtI8OC1yoWq2q3wIIsoPapEC3G87aceI+l9S7QueYClO1faMdqBnv2WJE+FfRcd0A+TJg KsGlce38qRwr3BNROkTzqCgKUy574MJOMe0Wed07buq1VGUYUH5nAzggrFnl7YF+r3uu4x oQ/dLLArEWh/Tcy32lxqKMr4Vd5XGonKsh6FNeJXnas93AgzJ0D4UNtlxZILW2gJ4jsM+R rkIX/zcu2KcFcr2XJNketD6WfcGNyEEEZbCPF0Vq+RWV2OlexRtWoJKB1JHuzwGbeILeqV XyQ2zAoXTXZCJfD3fdWnhyXeEgTsb0merA1Zlubf2OjQGGoGBUi5ZDpP+HwrsQ== 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=1770413025; 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=pF+tVdsxlbuOdCmuc+zh5FqYLo+f+gLp4B68LbO1kuM=; b=MnEdAham9MtaaUKEiIZoNCGY3MpQVzvYmBk7EdUI25f1lZNv1gO/cn+uh3eODC/yEkiimI bIUP4dAQOoaH2FbOyY+xz1sxN+O5q95cRkd6kmgSVu+weh+E84c6qEVGzUFEJvusZoWMD4 ZMNdkBmhBTYpc8LCdjVUvdVnWQJMhN/29H/5G0CpX2b7Z8HHvfeCySPuSmObRDqeX7W78w ADnEn8B+sINdQ4OuPnEkTlIYPXzgnoD60tSpoC8Yl7PUAMBmVhe/TPD67jpVBq4yShni+G D1fgm08wkh6DL9qbhXkGFImGldnIOgYAKaIKInxNbHj96BEOrORm6kME7O0E3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f76XK376BzXW2 for ; Fri, 06 Feb 2026 21:23:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 448d0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 21:23:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 0ec952a3ef0e - stable/15 - src.conf.5: Regen List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0ec952a3ef0e14dcb9a57321d55d18a656627aa1 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 21:23:45 +0000 Message-Id: <69865be1.448d0.3b959616@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0ec952a3ef0e14dcb9a57321d55d18a656627aa1 commit 0ec952a3ef0e14dcb9a57321d55d18a656627aa1 Author: Ed Maste AuthorDate: 2026-02-06 21:23:11 +0000 Commit: Ed Maste CommitDate: 2026-02-06 21:23:11 +0000 src.conf.5: Regen --- share/man/man5/src.conf.5 | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index afd4b1c482e0..ecb990d6fcdc 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd January 30, 2026 +.Dd February 6, 2026 .Dt SRC.CONF 5 .Os .Sh NAME @@ -530,12 +530,6 @@ CTF data encapsulates a reduced form of debugging information similar to DWARF and the venerable stabs and is required for DTrace. .It Va WITHOUT_CUSE Do not build CUSE-related programs and libraries. -When set, it enforces these options: -.Pp -.Bl -item -compact -.It -.Va WITHOUT_SOUND -.El .It Va WITHOUT_CXGBETOOL Do not build .Xr cxgbetool 8 From nobody Sat Feb 7 09:52:16 2026 X-Original-To: dev-commits-src-branches@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 4f7R861Nvcz6PY4V for ; Sat, 07 Feb 2026 09:52:22 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f7R855DZcz3CL4 for ; Sat, 07 Feb 2026 09:52:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770457941; 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=0eSrkX7DiK7R1QS8VQaxJ6Qu/ZgYnC6He3dOm9I/kDM=; b=koXbHa2QQkjm298IuBa2Fxm5z94MrKAj9RfyR4bOYQvW1JhGRWP18lQwp49vl0ib/U51Qc V4m0P32ZQMWl6KfQOSut8BmIRekn9/LrVDywl3si/TKFo6toVlYNAFrX/9PTb1rEcLa8tu YlmVgArZQGkWdXAxUiT22u2yUTL7DuLa11Z3R/+Gf0cOdikQuM66885UshYujUJNTrHwr+ EX0Dj1JqdQaFkS/pRlPHdk9dS6SmGKbHxPpKf9qs5gfoBQDkKceWAKDk38M2pMdwXC3cRY 8KFM3a0iBhdFYqLEoj44Vft4QlxW5wnW3FHFHa7qsA3qpHrv3IHK+kDe5jOQWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770457941; a=rsa-sha256; cv=none; b=QFhpkGdU/7XrkV/WCxRQgu/JsSKOa81BzaIfcgd8SitgMIlnD9U2Gv/I7RTn36SOs7DnfK Wa2GSUtd+7oXzJaNuX70kmFfe2bScRkiOVZagnTpEIkY6cM1VppRze8SYBHKGBwMgGgxjB b7kwps36WLqLzG+rSBOqyXsNOG+aICFHpa1d/PM7hd4URmo2JaT/jIbwsEEhigu8CShd4F QmDgiL+zdwfzAFETFNYBhGoKcgOm+ObhzTlkC7ZXsolhWngBoc9RYCIUBuThfyGrleJgD1 Ior6AfwPiZrmdu57FF4gJ80dgkKW+OkaG7qqTVhfaAnJ7ouo5LJzKZ1cxpLNHg== 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=1770457941; 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=0eSrkX7DiK7R1QS8VQaxJ6Qu/ZgYnC6He3dOm9I/kDM=; b=c/sv+ZX8OpNZkX1VpZ9JpBML2fJ3CjfcLQgwA6p5fy0r+YVaAlyZzfLWm6hZCdL+gkePcf Y2BeskWukclXyLjJ/KoFJvhC2aeBLJI2kUhyOWUPqi+GlKUk6h12YSE9eHda/TRHbXWXM9 2uSMl/0bGFiYLWYXtEhg+zvO2+/9XKmFZq19uTXOLKLj1iVOKjms/5FnbPSMtDWrZASjhk iuUsXvEzRyVAkfiiveSAn25a3Y7hRZBoIw2TSJiCWGTGKY4sC915LPCpNOM9Nkp7YjTUmI u7f4dvbUNxzCp0BeJ1svQoaC+6JvW81oTiVDNp1XSoDWmGxxmVC3wXhLkqs15w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f7R853n8Tzx65 for ; Sat, 07 Feb 2026 09:52:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d9a2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 07 Feb 2026 09:52:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 58a369a6f6ce - stable/15 - sockstat: Surround explicit IPv6 addresses with brackets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 58a369a6f6ce6786ef7aa4715c96548f36ae3962 Auto-Submitted: auto-generated Date: Sat, 07 Feb 2026 09:52:16 +0000 Message-Id: <69870b50.1d9a2.173537f9@gitrepo.freebsd.org> The branch stable/15 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=58a369a6f6ce6786ef7aa4715c96548f36ae3962 commit 58a369a6f6ce6786ef7aa4715c96548f36ae3962 Author: Michael Osipov AuthorDate: 2025-12-26 17:27:12 +0000 Commit: Michael Osipov CommitDate: 2026-02-07 09:51:50 +0000 sockstat: Surround explicit IPv6 addresses with brackets PR: 254611 Approved by: otis, tuexen, des MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54375 (cherry picked from commit fe81e3944c085e765c83c4f78941d7529ceb556e) --- usr.bin/sockstat/main.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c index 75c4b2aad223..df09245a8f0d 100644 --- a/usr.bin/sockstat/main.c +++ b/usr.bin/sockstat/main.c @@ -897,6 +897,7 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) struct sockaddr_un *sun; int error, off, port = 0; char addrstr[NI_MAXHOST] = ""; + bool needs_ipv6_brackets = false; switch (ss->ss_family) { case AF_INET: @@ -907,6 +908,8 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) case AF_INET6: if (IN6_IS_ADDR_UNSPECIFIED(&sstosin6(ss)->sin6_addr)) addrstr[0] = '*'; + else + needs_ipv6_brackets = true; port = ntohs(sstosin6(ss)->sin6_port); break; case AF_UNIX: @@ -915,7 +918,7 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) if (is_xo_style_encoding) { xo_emit("{:path/%.*s}", sun->sun_len - off, sun->sun_path); - return 0; + return (0); } return snprintf(buf, bufsize, "%.*s", sun->sun_len - off, sun->sun_path); @@ -931,6 +934,11 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) xo_emit("{:port/%d}", port); return (0); } + if (needs_ipv6_brackets) { + if (port == 0) + return (snprintf(buf, bufsize, "[%s]:*", addrstr)); + return (snprintf(buf, bufsize, "[%s]:%d", addrstr, port)); + } if (port == 0) return (snprintf(buf, bufsize, "%s:*", addrstr)); return (snprintf(buf, bufsize, "%s:%d", addrstr, port)); From nobody Sat Feb 7 12:17:47 2026 X-Original-To: dev-commits-src-branches@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 4f7VMv3CNBz6PlB4 for ; Sat, 07 Feb 2026 12:17:47 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f7VMv2Wtxz3SBj for ; Sat, 07 Feb 2026 12:17:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770466667; 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=fD94nsFmo+Rncavh8MnY5HykoGy4wFisgT8wLWC7m2U=; b=S0PhpBYstKBT0JHu97VXyOdM2nFvl3hU+raSFI2vATZRcRDp9ep1GEZOVSUMSTIzynlpD2 O+xMUT5oCoDKK9VNUDjma9xVzWBWUCGmy8n+txE0P1ExvIGWj81u0wYXuEC1sv5CsmpUxY uGXe5BZfCBuNR+0KXaMzIehKfRyVRT8rf6+WB8GQqbT0nH+SfNasGFgmy/7I1CEzXqCb/F dQi1p0aUA9lKbFwYMiIC5ugkDEEMtWHKoGH8HXQVv7q5YnxNu2FBv3j3Kl9NXNfhqHTrkX lWfBsHTTdrEV5zFMKmXtQ15abeZqj38x8NpxjlLD9v/s7jvtCCJoP9GIxi/ERg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770466667; a=rsa-sha256; cv=none; b=UDddO5F593qC1+8L8VBbkfqs0+bUSSM02w094DKF8xU02Q7PHaa6XNbl2zJipXjt9oInv4 aJnSnDOESlJCfG2yxzIOyhOhT0blB2Qi/KsS26UNnRli64j0/zQ3SnQPHBEiMXph2BBV9O Vq2/YKST1trBrbac0prF8CKqe0kTeeHPlM+yVwLPWDENGgHS8gwlw65jhg2KS0PRduxqL1 yFqv/OnF+k/4ahjB3RvfWPdxSSx3OmmzJ70JqdtlXOI7aQSBrtzAWew3CN1mibHZHdjnAr ert7qhDDjH4AmvQ/kGHINWv38w7q28zCyGjaI0gMkiSgYoFuTkiNC143a79CIg== 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=1770466667; 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=fD94nsFmo+Rncavh8MnY5HykoGy4wFisgT8wLWC7m2U=; b=MOgk+uV7FL3WZncefANa/CNGhniyXO+3tdf2x/HsqRVVobU96FD0tC5DtUZF7t46J1SI4L xpSUEeIJsrBu/AtbUStbGCXq2rhHgzRHGlsUNDcC4cYqizKYEFacXoB/MmFe8vVE3nDUHr MA3bHnaUq65Ytm2MKaV5XsLi1oPMRIsl4XIP5c89grwMcXPUmug7J/LpDJOv6uw486mVf2 WPvUC7uXtq8twcmP9BHq0dzeQf59n29lSotHzcBOeUiDD+daToLKSDyykBizFLzh+3MRhK Bbbo3x0kFdsj1TPMAdo3+UMs32KutOZyzfrZs4fkueNYyh40/YnQ/gU7GOZgnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f7VMv26Twz11PY for ; Sat, 07 Feb 2026 12:17:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33b6e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 07 Feb 2026 12:17:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 03c8e3e77114 - stable/14 - sockstat: Surround explicit IPv6 addresses with brackets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 03c8e3e77114530f61e0dd9f2b1757eeea033d0e Auto-Submitted: auto-generated Date: Sat, 07 Feb 2026 12:17:47 +0000 Message-Id: <69872d6b.33b6e.5b66c44a@gitrepo.freebsd.org> The branch stable/14 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=03c8e3e77114530f61e0dd9f2b1757eeea033d0e commit 03c8e3e77114530f61e0dd9f2b1757eeea033d0e Author: Michael Osipov AuthorDate: 2025-12-26 17:27:12 +0000 Commit: Michael Osipov CommitDate: 2026-02-07 12:17:08 +0000 sockstat: Surround explicit IPv6 addresses with brackets PR: 254611 Approved by: otis, tuexen, des MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54375 (cherry picked from commit fe81e3944c085e765c83c4f78941d7529ceb556e) --- usr.bin/sockstat/sockstat.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/usr.bin/sockstat/sockstat.c b/usr.bin/sockstat/sockstat.c index 805e48715529..58950c92cafb 100644 --- a/usr.bin/sockstat/sockstat.c +++ b/usr.bin/sockstat/sockstat.c @@ -64,6 +64,7 @@ #include #include #include +#include #include #include #include @@ -956,6 +957,7 @@ printaddr(struct sockaddr_storage *ss) struct sockaddr_un *sun; char addrstr[NI_MAXHOST] = ""; int error, off, port = 0; + bool needs_ipv6_brackets = false; switch (ss->ss_family) { case AF_INET: @@ -966,6 +968,8 @@ printaddr(struct sockaddr_storage *ss) case AF_INET6: if (IN6_IS_ADDR_UNSPECIFIED(&sstosin6(ss)->sin6_addr)) addrstr[0] = '*'; + else + needs_ipv6_brackets = true; port = ntohs(sstosin6(ss)->sin6_port); break; case AF_UNIX: @@ -979,6 +983,11 @@ printaddr(struct sockaddr_storage *ss) if (error) errx(1, "cap_getnameinfo()"); } + if (needs_ipv6_brackets) { + if (port == 0) + return (xprintf("[%s]:*", addrstr)); + return (xprintf("[%s]:%d", addrstr, port)); + } if (port == 0) return (xprintf("%s:*", addrstr)); else From nobody Sat Feb 7 12:18:43 2026 X-Original-To: dev-commits-src-branches@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 4f7VNz4JJRz6PlPy for ; Sat, 07 Feb 2026 12:18:43 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f7VNz2JHkz3SYm for ; Sat, 07 Feb 2026 12:18:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770466723; 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+YnjrTQpXiGdSSO+GPAXcAejOXi1AoJ2ixWnXERGYk=; b=bY1aSBk3NPh0v9R+V0Sa1SyXxUOuoEjZ6WdS+O2pwLy7hnUyFqdiTzy0Iu3Q1IyqJA5WPM l1LDgNJwgBF7lg0nsq7TuY6BXKrnSGhUjxL0XEp7Sf7DP9uq8b72YGut+J47hqn52GDOSu IDZw+dpKpC2C1v9HAFDMEKaRQVWFqVRvs6rIq4tvd97O28Ru6WVDq+TeelqG40QDYVtDWU H7fp29PxP+3S4+vkpoAtuofQ5560R1cdCAfU3tDmfhGe3ufgjn2iAt22LDsjy0TrpL2HMJ +l8brxHgM9rOyCB976Ft3SjvZE08KYrXEdAzXaIRX2Id9yrsBU5arW7R1L+BAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770466723; a=rsa-sha256; cv=none; b=YY1vHe3PjUJCRPY45hPm9g1MX/V67EA/GSfmhiKoX9mMzj0bYpHbZSduKXOAtY6XgAAi46 gW95WrA79fLV8M7s96lmFh+kUiN6vw+HDCOf1SVuQGWa19M3zdXTY9q2OdVg8rMsNfbe5q 88vJqq03UUwA+5aZ6XYKJxXLNQ6lpoWI8PZfQLos41C0axd71LJteANOtUcCVepgBo5OIr yht2Ma2J/K2/crclGzHMYc6zBqMuEiEeMn1nZjapx+K8FxLEU83e/v4uzYMrJX69+TrWS0 TA2XLd/JlttwVm99cMwQB6qT+yVQbQHkmR8XDS7Kd7J+9QuikhL0VNvZTkkNYw== 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=1770466723; 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+YnjrTQpXiGdSSO+GPAXcAejOXi1AoJ2ixWnXERGYk=; b=JLvNWUSeBDQCfQNoiVEUiF2p5ZFprnh2MgcXcvdzp1SWrqYJ0aki049NsZbwaYJoZwhCJ+ YLnRZRmv1ZF02XIUPtdvYifzJTLIDVsJX/FV+jMYx2BH2iUZWUvAr2kFgjwlJqTaHwhb8x eGwCd4w/xraIpEgULRWUCDoPp8zMC4G72/UTvBrvoRD5jUsYvN+pOJhfDgjz64dpf7aA1S 9jaAfxepx1ovmNnxyhZ2X/g6ClA514FtksKO8SDVF5yEzFKKJ2XFrZb0APO/HFJQbPs+vr wqnadapzKfliVyKDKpvHYgV98vuUqNnO9wBzOioKmbaQftddc1lqyXMXHhKRZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f7VNz1cKMz11Y4 for ; Sat, 07 Feb 2026 12:18:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33e7a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 07 Feb 2026 12:18:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: e5cb813ac477 - stable/13 - sockstat: Surround explicit IPv6 addresses with brackets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e5cb813ac4779d46b2dd9a483d2983ae5d104bcb Auto-Submitted: auto-generated Date: Sat, 07 Feb 2026 12:18:43 +0000 Message-Id: <69872da3.33e7a.6aa00058@gitrepo.freebsd.org> The branch stable/13 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=e5cb813ac4779d46b2dd9a483d2983ae5d104bcb commit e5cb813ac4779d46b2dd9a483d2983ae5d104bcb Author: Michael Osipov AuthorDate: 2025-12-26 17:27:12 +0000 Commit: Michael Osipov CommitDate: 2026-02-07 12:18:27 +0000 sockstat: Surround explicit IPv6 addresses with brackets PR: 254611 Approved by: otis, tuexen, des MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54375 (cherry picked from commit fe81e3944c085e765c83c4f78941d7529ceb556e) --- usr.bin/sockstat/sockstat.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/usr.bin/sockstat/sockstat.c b/usr.bin/sockstat/sockstat.c index fed63d6031f3..0b874de2b0ab 100644 --- a/usr.bin/sockstat/sockstat.c +++ b/usr.bin/sockstat/sockstat.c @@ -61,6 +61,7 @@ #include #include #include +#include #include #include #include @@ -855,6 +856,7 @@ printaddr(struct sockaddr_storage *ss) struct sockaddr_un *sun; char addrstr[NI_MAXHOST] = ""; int error, off, port = 0; + bool needs_ipv6_brackets = false; switch (ss->ss_family) { case AF_INET: @@ -865,6 +867,8 @@ printaddr(struct sockaddr_storage *ss) case AF_INET6: if (IN6_IS_ADDR_UNSPECIFIED(&sstosin6(ss)->sin6_addr)) addrstr[0] = '*'; + else + needs_ipv6_brackets = true; port = ntohs(sstosin6(ss)->sin6_port); break; case AF_UNIX: @@ -878,6 +882,11 @@ printaddr(struct sockaddr_storage *ss) if (error) errx(1, "getnameinfo()"); } + if (needs_ipv6_brackets) { + if (port == 0) + return (xprintf("[%s]:*", addrstr)); + return (xprintf("[%s]:%d", addrstr, port)); + } if (port == 0) return (xprintf("%s:*", addrstr)); else From nobody Sun Feb 8 14:12:00 2026 X-Original-To: dev-commits-src-branches@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 4f88sF1Z4pz6RlXG for ; Sun, 08 Feb 2026 14:12:01 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f88sD55grz3Qh2 for ; Sun, 08 Feb 2026 14:12:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770559920; 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=WmRAaa+KauXsB/uZonxhZlpOMUpVsmW1+p47mYAPwaA=; b=CSG/noaxHoVBXggDZZRJbGbAFSkAMGu492kg2/BZK8Xtg34FoQ7GKVDgiHI7+dF9qhvn3W H5CEdciVLqZSUz7/o+cMOhfzTf7ATe4ZAEy1KfiDYRMtfgxztQJBb/yYQYLGTWT6YHE2W6 qtxmwQgy9e5GJ7/nhnx56WmJTkEPfA9iOdRXmeLnDB86VQWJn7n+4Q9Mvwdog7aDbaHkGY XCE06J21BvGUmYQQqR5VK87sOGsX5BH9JPmBvw52QfQrpx97J+iN6LWxTF5ktSfWwYsYFe KNiJGhIEIzzSYIvF5nqvkwd69T1d262KsU0k/ltIYYxocQkWE7ADWXR4c+c7cw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770559920; a=rsa-sha256; cv=none; b=Qk0Nuaheub3cEFGue2Q85+07MCe9/SZ4HQTKSWS8iMbJjRSEN20DEjIrj16qxOhQN9n0nZ xpeWuCqsaU1PkKWZ9UzNVvfrsqILvx3+ZHg5Odrxw3R+s4fF1B+bBeDy0mV2Txui+Ci8Qo 5s0xysFN3j7igCsoC+cAS7J5aLeGK692NhlljQehNUDllG32Zb4/P4ub0IV6UQj7n1W398 d7JZh9qsGkdrqN/XzBEUXvmt45NfdCOi/p0LdeDljJizJBVOF1njwy9F0i+3LR2pvmZ07K QU82jlAgtZSBoWFP5AplmRHRG42yWLt7H5Tj6rIMEbXI7q2OcICMIEcisZ4EaA== 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=1770559920; 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=WmRAaa+KauXsB/uZonxhZlpOMUpVsmW1+p47mYAPwaA=; b=k83Z/Xc48zN+jjy3HKFr+6VdPYvmGJXVZou5ZA2snk8pwR6SmwftU/VdSy+2f5ND0BMk9k aPAeYUxyrjoT9fEjk6Se9XHYM52tWotakbO/zqQzgR51apfP1RU2IRJQnkJiE96CU3LYen LE3U0xPwYyk2fOzpAssIzQ8p5KGmOGFmzhnjteYJuH/IBSeKFOSrPyM+Lceeho74YICdIe ICzIeyIB+xDJrmIcgnPBiVRzGOzeMEB8iQQ53K9R8iWt9/uCnsH5NZyzSjHdoohIhpz8hL k8a3cy0RQf+QcI4zu+ALK6sHpDcvK2E5K9xzZtpHHTBW+0x2BWpm+at9OyuwVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f88sD4Sv5zr28 for ; Sun, 08 Feb 2026 14:12:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 403bb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 08 Feb 2026 14:12:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: b80d241546f1 - stable/15 - symlink.7: add a new section "mount options" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b80d241546f13a347dce8285d8272cb4faf60084 Auto-Submitted: auto-generated Date: Sun, 08 Feb 2026 14:12:00 +0000 Message-Id: <698899b0.403bb.7164ea57@gitrepo.freebsd.org> The branch stable/15 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=b80d241546f13a347dce8285d8272cb4faf60084 commit b80d241546f13a347dce8285d8272cb4faf60084 Author: Wolfram Schneider AuthorDate: 2026-01-19 10:47:53 +0000 Commit: Wolfram Schneider CommitDate: 2026-02-08 14:11:40 +0000 symlink.7: add a new section "mount options" Add a new section "mount options" to explain the mount option nosymfollow in more details. Differential Revision: https://reviews.freebsd.org/D54530 (cherry picked from commit a2c87d4f88e1bfe3b7007fa7148ebc7d37fc54cc) --- bin/ln/symlink.7 | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/bin/ln/symlink.7 b/bin/ln/symlink.7 index 28d9908f2053..db251e1d2985 100644 --- a/bin/ln/symlink.7 +++ b/bin/ln/symlink.7 @@ -72,13 +72,15 @@ or a loop is detected. links that may be followed, and an error results if this limit is exceeded.) .Pp -There are three separate areas that need to be discussed. +There are four separate areas that need to be discussed. They are as follows: .Pp .Bl -enum -compact -offset indent .It Symbolic links used as file name arguments for system calls. .It +Mount options to ignore symbolic links. +.It Symbolic links specified as command line arguments to utilities that are not traversing a file tree. .It @@ -178,6 +180,20 @@ The system call was added later when the limitations of the new .Xr chown 2 became apparent. +.Ss Mount options +.Fx +has a +.Xr mount 8 +option nosymfollow. When this option is enabled, the kernel +does not follow symlinks on the mounted file system and return EACCES. +You can still create or remove symlinks, or read the value of a symbolic link. +.Pp +This option is intended to be used when mounting file systems from +untrusted external storage systems or public writable /tmp file systems +to prevent symlink-based privilege escalation and sandbox escape attacks. +.Pp +The mount option nosymfollow first appeared in +.Fx 3.0 .Ss Commands not traversing a file tree. The second area is symbolic links, specified as command line file name arguments, to commands which are not traversing a file tree. @@ -478,4 +494,5 @@ whether specified on the command line or encountered in the tree walk. .Xr unlink 2 , .Xr fts 3 , .Xr remove 3 , -.Xr chown 8 +.Xr chown 8 , +.Xr mount 8 From nobody Sun Feb 8 14:12:39 2026 X-Original-To: dev-commits-src-branches@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 4f88t44VjJz6RlXW for ; Sun, 08 Feb 2026 14:12:44 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f88t43Plxz3RML for ; Sun, 08 Feb 2026 14:12:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770559964; 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=aDadkuKknijmRy2fxy6yO3uKh5jvmIhZ7LffdkGVVeo=; b=HeklaF8SEShoF63eB7OXjw6QDjvLrmIimmqrgerekx7WqV1aGwM0Fes39W0bXcPvKrz7MR iw1y67q9HvBk/bG/AzBk7jCsZkCW2NchrnnP0+Ephm0HCsgmRD3DQU1qoOYITHdwQJhZ53 CGRfNdoLUYKo5Keep3yo6asRInmpXtKwp6VRA4TgJZErmwhNu84lo0aFEGVow5BDwktuLs /OAcNa72OpwdnZ5GNActr8tkmAXmNk04l8TTjj+szSufayZjWP+xuVOaOLxBfMzCYjSuXo tnsewOoSTalRlNAion2BYtCNYgkMFEuQQxpPJm1axSuwoXLpYhpC6MKnO+urRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770559964; a=rsa-sha256; cv=none; b=r7AHEufIfB/vbhkCB35Ci6nfjlRqouB9y7dYV7mEgJDLRnykizlc6fHhqjRwjvLFsfah9y h4Sccj8wVcCLPV40ADgOs6zUBMEALjBWslJnkrlK8lBp/EKoTeThldSPxKMgGGJD75aCGN a4yZLR4LaQS/rJaBs0jLstpca1IbGgTuqvrhw0WL3CnadmMP+qXw4z1J1I2Oyr/ZDM+4Tm j+qNxGgv67gMyyMvQF7yoBjLLh5r2qqsN0xp4P7BTKouaLt1PYutaa8WSeDNgnMcXmgN2a Uo53eKVbP68lCNjple5OFHR+Yr/JSTPSoWGL/EuS/ZBr4OshP6ZGGAH0FMrTug== 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=1770559964; 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=aDadkuKknijmRy2fxy6yO3uKh5jvmIhZ7LffdkGVVeo=; b=LtpSUJdF4gOwfXqgwa/nOI9G5pBs797FFS2ANY9aWNEhj3//PlMwrd5Glo81uFXzilTABd tSIt+rNeYpQ48T3chCWbSi6j9jPvXesB5n30YU59pliPjHssNaHkMsJPJPe8kESJxdX2p+ f7qAwSdQk8wPkIrUCkWa3tmD3JBa1n6XBZxu4tb0sjEh0HMY5WXxP6/5xYWSx4P98jozNO TFW5oRbIDNCk1bI+XQH0UcIgMBJo/S/v5nBg3qH9ArOmNp38cS6XCMsy92DwAqsmG34EuQ 0bhmcIwEMvIIvWkJPtiJSs9Bm2t3seE+bX5uRvb6hv0gvbFo1ffNKVRIAnrwfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f88t42rrpzr53 for ; Sun, 08 Feb 2026 14:12:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3dd74 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 08 Feb 2026 14:12:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: b043ee53a643 - stable/14 - symlink.7: add a new section "mount options" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b043ee53a64381f818ec3098bbe8659fda30462c Auto-Submitted: auto-generated Date: Sun, 08 Feb 2026 14:12:39 +0000 Message-Id: <698899d7.3dd74.182db5b0@gitrepo.freebsd.org> The branch stable/14 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=b043ee53a64381f818ec3098bbe8659fda30462c commit b043ee53a64381f818ec3098bbe8659fda30462c Author: Wolfram Schneider AuthorDate: 2026-01-19 10:47:53 +0000 Commit: Wolfram Schneider CommitDate: 2026-02-08 14:12:10 +0000 symlink.7: add a new section "mount options" Add a new section "mount options" to explain the mount option nosymfollow in more details. Differential Revision: https://reviews.freebsd.org/D54530 (cherry picked from commit a2c87d4f88e1bfe3b7007fa7148ebc7d37fc54cc) --- bin/ln/symlink.7 | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/bin/ln/symlink.7 b/bin/ln/symlink.7 index 28d9908f2053..db251e1d2985 100644 --- a/bin/ln/symlink.7 +++ b/bin/ln/symlink.7 @@ -72,13 +72,15 @@ or a loop is detected. links that may be followed, and an error results if this limit is exceeded.) .Pp -There are three separate areas that need to be discussed. +There are four separate areas that need to be discussed. They are as follows: .Pp .Bl -enum -compact -offset indent .It Symbolic links used as file name arguments for system calls. .It +Mount options to ignore symbolic links. +.It Symbolic links specified as command line arguments to utilities that are not traversing a file tree. .It @@ -178,6 +180,20 @@ The system call was added later when the limitations of the new .Xr chown 2 became apparent. +.Ss Mount options +.Fx +has a +.Xr mount 8 +option nosymfollow. When this option is enabled, the kernel +does not follow symlinks on the mounted file system and return EACCES. +You can still create or remove symlinks, or read the value of a symbolic link. +.Pp +This option is intended to be used when mounting file systems from +untrusted external storage systems or public writable /tmp file systems +to prevent symlink-based privilege escalation and sandbox escape attacks. +.Pp +The mount option nosymfollow first appeared in +.Fx 3.0 .Ss Commands not traversing a file tree. The second area is symbolic links, specified as command line file name arguments, to commands which are not traversing a file tree. @@ -478,4 +494,5 @@ whether specified on the command line or encountered in the tree walk. .Xr unlink 2 , .Xr fts 3 , .Xr remove 3 , -.Xr chown 8 +.Xr chown 8 , +.Xr mount 8 From nobody Sun Feb 8 14:13:33 2026 X-Original-To: dev-commits-src-branches@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 4f88v15zcPz6RlY6 for ; Sun, 08 Feb 2026 14:13:33 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f88v156Jmz3RfR for ; Sun, 08 Feb 2026 14:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770560013; 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=cONL+/BXMbvTfWtVOifaNDcIYznDTygbRjzL26gDbB4=; b=ScMFIb5U97aloQsAszQg3/nWCQ3OU7S4AcwCV09dNS5Cbb1HwkdPVmIKp109gDAL/e7aMo pmK/eb+H4VmlPMtlECmOIiis3osq73R7w/SEaMCaoHW/umMZjzGSEMg+4fO50DQnh+yiPS i/zP6Y439zTEdN/X5VDZYl8Ct4qQBWisA1KHs5rrZvP6RkhdvtbWJSeWhJG/2l6a8DDzC6 0iLjqP0QLf8JCHm5xKTjr00z/iM13N1tJjV25Brwbo6K4c9s0lSCsfy8HboL+ZiBZKFrFy yfdcuv0mRGhmhi3g/IlRpgwGYBKBmJ1RVWMUgzZQi3HulfCh7r3+2EEi7CCMAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770560013; a=rsa-sha256; cv=none; b=bUEf60yg4TM0h6QBCTQy3BkFtaP+Ssnc3M5wBo0r00pjvypKpcoOTxUAljTd4/29CLDC39 rVmQKAJL+Ap/Qop9duUPjQZrR7QHr18+8idMIbsuWoWHqhPVoqWAezjScsDFgPISWA9RTC LTjyMLB9KiQDbVSbWw3D5GkYUasn45ab5U+p1iyegRhQgU1rS5X5A1z+d+d2aT6iGvqPHq XZyeaYFbIltS60c6uP6wcdErW9+TBhYrNJofSCXHgsnlZkPPZmZwS1bgSAcI6rnngiMsZZ 7oUVnSQGLbHtyciWhDNCMCr/lg73PSdb7uL/sV4g1ns96mh1XAb+iWyViiV5KA== 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=1770560013; 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=cONL+/BXMbvTfWtVOifaNDcIYznDTygbRjzL26gDbB4=; b=MbeCjtQAeb06y8EjjfCu96ucUXFRqP41xVNj7G3ijR/h+Pts8GGRXo7Z8zIrGLW9sf6kYh SM0xSHn900DazH7Dfn0vQB82jgmPobHSg9lDWLaud4l5Kkni2LKYU4/lzuPlVr4dZn3RrK xeADH9WEJdBV/buorIvC0K7z2Ocn2LpfnwbRxfmyDfH9Q7ijTigZKaBQxLwe/SQxWChTbS I6T721oD2XNurD2qZTiL6nWp6xOQy/K9csd9bi4Y+NJ+8D0mPnVg7uzzusG+PlV3XyQSAq EAk+OpjNeiqhxnoq2weQjzZ/WlAjaEbZhCF9cFZeV9aNyTQL9Ii9bgeUYuWJXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f88v14hgMzrKR for ; Sun, 08 Feb 2026 14:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3dd78 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 08 Feb 2026 14:13:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: 641eb2615c4d - stable/15 - mount.8: document nosymfollow option List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 641eb2615c4de47da1cdac3f1f958b3fc3c2af11 Auto-Submitted: auto-generated Date: Sun, 08 Feb 2026 14:13:33 +0000 Message-Id: <69889a0d.3dd78.1497ecdd@gitrepo.freebsd.org> The branch stable/15 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=641eb2615c4de47da1cdac3f1f958b3fc3c2af11 commit 641eb2615c4de47da1cdac3f1f958b3fc3c2af11 Author: Wolfram Schneider AuthorDate: 2025-11-24 08:33:07 +0000 Commit: Wolfram Schneider CommitDate: 2026-02-08 14:13:26 +0000 mount.8: document nosymfollow option Document the nosymfollow mount option in more details. Forgotten in 5ddc8ded1dbe650b7d83240a1f86a1eb6e2b9b5a (cherry picked from commit a067eb525e10acc9d7e1f3b1a8a6dfeca42b4424) --- sbin/mount/mount.8 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sbin/mount/mount.8 b/sbin/mount/mount.8 index 154ad293aee4..877001727a8f 100644 --- a/sbin/mount/mount.8 +++ b/sbin/mount/mount.8 @@ -270,8 +270,11 @@ Note: this option is worthless if a public available suid or sgid wrapper is installed on your system. It is set automatically when the user does not have super-user privileges. .It Cm nosymfollow -Do not follow symlinks -on the mounted file system. +Do not follow symlinks on the mounted file system. +.Pp +This option is intended to be used when mounting file systems +from untrusted external storage systems or public writable /tmp file systems. +You can still create or remove symlinks, or read the value of a symbolic link. .It Cm ro Mount the filesystem read-only, even the super-user may not write it. Equivalent to @@ -571,6 +574,7 @@ support for a particular file system might be provided either on a static .Xr lsvfs 1 , .Xr setfacl 1 , .Xr nmount 2 , +.Xr symlink 2 , .Xr acl 3 , .Xr getmntinfo 3 , .Xr libxo 3 , @@ -584,6 +588,7 @@ support for a particular file system might be provided either on a static .Xr tarfs 4 , .Xr tmpfs 4 , .Xr fstab 5 , +.Xr symlink 7 , .Xr automount 8 , .Xr fstyp 8 , .Xr kldload 8 , From nobody Sun Feb 8 16:50:47 2026 X-Original-To: dev-commits-src-branches@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 4f8DNR2lP3z6RSRM for ; Sun, 08 Feb 2026 16:50:47 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8DNR1CvMz3mH2 for ; Sun, 08 Feb 2026 16:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770569447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+hZvyjF3elE+Ied6YQHfMEYgEEQSeY9a2vd68e1Ri3w=; b=I4rRKAxTrze9UYQfYkcxTHHbbE4n/Rhcliw2Io1U0k2ltWlgjAyV8ZKWDXqmi5/9bXqsQy VwMEoN6UTKz5vvVtenmXVd/lcOUB+f1fd9J6MSO1yRqXCn+OaPPOqM0Oet8mokm9NIqWHx TwjXlfUHDFLE8a4Aul1ZGpWGrI2A5qQyNHgN3vf89O5C/X0XNAHx8s5LtJNOdhQD5Y/Klg L0EEQVv1D6/PjTt0znINq3RMsCJ9ISiln2ex1t4MES7LUBVHRLDzaHqNLkv7+aM1GgLl9n m8tDgQjypBAoLf8Xt5rwLx9KCRXnUYuTdXoLzlm7VQrqelXgRDn6al1grGTOLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770569447; a=rsa-sha256; cv=none; b=uaD4NNv+0VoSPFeDRbYVEY0XCrrEenJgTDUveEmziY7ZYCjzJVevlqIDWSgteyc2WYhPRL 4vHX9bA6iOSjfY5abV5HIKKsCBQwQB5vwza9cx15o5M8vm74Mk5bqlVJxdf/N1p0abK/0V O+1WdK8RPCcAz2N+adohBsXKjDxbMc7hbZmIL+lI+VZXOVohZwlNU7Twy/oTfZd8cP8zLr 9JpviiAotaEgbbOPx1TgO7wchUebbr+Q47D6oOyeNlMmB5DTJSsgSSPBzuHVtdKuiVTNXW RfUbj116l0sIcOhUKyH77YuQilMzhj2R+9fUMKK0tzkfuEPp+cjgd2mf4fyfWw== 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=1770569447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+hZvyjF3elE+Ied6YQHfMEYgEEQSeY9a2vd68e1Ri3w=; b=h4QWIoatzPPlWK11/7Mgwc6lIdffywRIxxQ6iq0OniNQSrbo5eZ40furwRBziWOBIBGYAw z6rCNiCZGRNtOnVnVCsLlBp3e0SQLO+TA1/DjMiVADFXtYSLMnfk3v8U+06hrn4gYAYxUl nA3f34C4+zGFj1itVYrWBGsWtpewD8kzlgdgwZTur5QUNAZ58H4Vt8LJzJ7yvrBWNerY4u taVdU61BpDJcuqvt1duv1FmjCe3KNY5puTInGNt1aWZGZrYkDKrtkojNE1Q49HBWei5bbb W9DrDJnoW7C2XG6uqjD1/bS2WI/dXc+D2ErlSpqry5PNL7DmdznoDvbL1//Lyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8DNR0XXKzvqv for ; Sun, 08 Feb 2026 16:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2089f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 08 Feb 2026 16:50:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: kitkat1424 From: Warner Losh Subject: git: fadcbc631eea - stable/14 - loader.efi(8): clarify UEFI boot path and boot1.efi usage List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fadcbc631eea172e64328fb1a12b843e4d6eb821 Auto-Submitted: auto-generated Date: Sun, 08 Feb 2026 16:50:47 +0000 Message-Id: <6988bee7.2089f.2d8b82aa@gitrepo.freebsd.org> The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fadcbc631eea172e64328fb1a12b843e4d6eb821 commit fadcbc631eea172e64328fb1a12b843e4d6eb821 Author: kitkat1424 AuthorDate: 2025-12-31 19:41:08 +0000 Commit: Warner Losh CommitDate: 2026-02-08 16:50:11 +0000 loader.efi(8): clarify UEFI boot path and boot1.efi usage Reorganise and clarify the legacy role of boot1.efi in DESCRIPTION to improve clarity. Add a minor missing word in the BUGS section ["...caution is required*..."]. See also - PR: 290794 Signed-off-by: Aaditya Singh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1939 (cherry picked from commit 7b3fb3caef9495cdfcc1c8ec39907defb65ce860) --- stand/man/loader.efi.8 | 47 +++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/stand/man/loader.efi.8 b/stand/man/loader.efi.8 index a88c09fcff71..f2278247b648 100644 --- a/stand/man/loader.efi.8 +++ b/stand/man/loader.efi.8 @@ -41,20 +41,28 @@ On UEFI systems, .Nm loads the kernel. .Pp -.Xr boot1.efi 8 -is used to load -.Nm -when it is placed within a UFS or ZFS file system. -Alternatively, .Nm -is used directly when configured with -.Xr efibootmgr 8 , -or when placed directly as the default boot program as described in -.Xr uefi 8 . -When a system is built using +is invoked directly from the EFI System Partition (ESP) +on systems installed using .Xr bsdinstall 8 , -.Nm -will be used directly. +when installed as the default EFI boot program as described in +.Xr uefi 8 +or when configured as an EFI boot entry with +.Xr efibootmgr 8 . +.Pp +On systems upgraded from FreeBSD 10 or earlier, the EFI System Partition (ESP) +can be too small to accommodate +.Nm . +In such cases, +.Xr boot1.efi 8 +may be retained as the firmware boot program. It +will chain-load the current +.Pa /boot/loader.efi , +which is updated during the +.Cm installworld +process. +.Xr boot1.efi 8 +is deprecated for new installations. .Ss Console Considerations The EFI BIOS provides a generic console. In @@ -485,15 +493,6 @@ Typically in these embedded situations, there is only one .efi file (loader.efi or a copy of loader.efi). The path to this file is typically the default removable path above. .Pp -Managing booting multiple OSes on UEFI varies greatly, so extra caution when -updating the UEFI default loader. -.Pp -The old, now obsolete, boot1.efi was installed as bootx64.efi in -.Fx 10 -and earlier. -Since it was quite limited in functionality, we created very small -ESPs by default. -A modern loader.efi will not fit. -However, if the old boot1.efi still works, there's no need to update -it since it will chain boot /boot/loader.efi from a copy that -make installworld updates. +Managing booting multiple OSes on UEFI varies greatly, so extra caution is required +when updating the UEFI default loader. +.Pp From nobody Sun Feb 8 16:51:06 2026 X-Original-To: dev-commits-src-branches@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 4f8DNp5NLFz6RS8y for ; Sun, 08 Feb 2026 16:51:06 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8DNp3XVlz3mhc for ; Sun, 08 Feb 2026 16:51:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770569466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eIv8NVzuzMpdTueugnPbrEKDldi9LHFTHrnXX8+7aJE=; b=pXemWCvqzuWGz7yb3RHZbq4llR5r0pnJweogiQXWgnyi4H2dvALgjnV9VcT5XGcZwJz0c9 j9tRCAyUDUPGDnYla1Uzff5SZxasoBH/tS4IU0z5veFrntOaxZzMnPv9nMtmDizAJ48uh5 tAoP3AoOVIWOovYyr7JP7dz0u2K4d5PmfH8e4OOM2DdcyqVeMCScnwUIhHCySapej2GLpu 0ARmRc09ghsBQL+xY/bcuwWK5rH6esKigI7l8zPVUZX8et0XXna1UK4kVsH6YZFVSMLw1B ul1E50PwHSE9YMCMHj4teuBgP1fn1UsuAcc5Mhpek1Y3ZvfiJPRNbxNhD+DkHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770569466; a=rsa-sha256; cv=none; b=qrihkIgvT4jGrw4bmP4sqcIg8pmYkbC1gBIRbZa+JJhus+jY9SKgVwRg1ZiC7uu7WGBLpP ewywYuip+tbTeYlHUpgFYlsCWX6+7oxMonVdW/TeiIiT3/Jp6Q5sMSwI2EsDEaOEcwyZv+ TOq756Xlvwi7vkV8drKwllv6YzL5CjIebTFMJligCyFzhICSlyb74sFSkbvMEslzVAYwDi FHJfpKd6n7ibhQzqXptvj/v7rYKv5vf4o4pieLZlGAlJWEL3rCJDQyu3YYsvTBU4sxjLpS 2aH7wIELovzMk3SqgczkasLmf8UDA3GRpaqaCeUNZnL9ylY0djW0mgMvdkhVvw== 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=1770569466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eIv8NVzuzMpdTueugnPbrEKDldi9LHFTHrnXX8+7aJE=; b=Grm2qfAgKJ0nFS4/21G0upBeqJwDurVltX97Gx5mNYS1CArwaHwJknmr5OjrNE7JiCnhhm Q0ZmqvoxWQYffuy6zG7bkcThZsikYZT89bw39X5zjan403Ub/74UiO4B/cjsLxQpOzfAIP 5cTUW27x0BhEkJoQ9G8q9otVfhrs5b5U0opDh+TyDTDYtheZxn69/A8ON61EDR0b0lUrkD LnsDa6mqBjJj4OEY5YiNRFyw5XRjwkbbCRx8n/lTteBlrHUJyAS3iIRG37/vSM/Cbi6BUC yUlT7fQkSImSiGVLJ6yHPZtpgxLYjo7V6p/LyrU/lyTOiwXy1YVdOXepLxddHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8DNp2mFBzw6x for ; Sun, 08 Feb 2026 16:51:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20834 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 08 Feb 2026 16:51:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: kitkat1424 From: Warner Losh Subject: git: 024549e50ede - stable/15 - loader.efi(8): clarify UEFI boot path and boot1.efi usage List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 024549e50ede5317afff360ce01d37b674147b7b Auto-Submitted: auto-generated Date: Sun, 08 Feb 2026 16:51:06 +0000 Message-Id: <6988befa.20834.6e9abae9@gitrepo.freebsd.org> The branch stable/15 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=024549e50ede5317afff360ce01d37b674147b7b commit 024549e50ede5317afff360ce01d37b674147b7b Author: kitkat1424 AuthorDate: 2025-12-31 19:41:08 +0000 Commit: Warner Losh CommitDate: 2026-02-08 16:49:50 +0000 loader.efi(8): clarify UEFI boot path and boot1.efi usage Reorganise and clarify the legacy role of boot1.efi in DESCRIPTION to improve clarity. Add a minor missing word in the BUGS section ["...caution is required*..."]. See also - PR: 290794 Signed-off-by: Aaditya Singh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1939 (cherry picked from commit 7b3fb3caef9495cdfcc1c8ec39907defb65ce860) --- stand/man/loader.efi.8 | 47 +++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/stand/man/loader.efi.8 b/stand/man/loader.efi.8 index d9a5c827ba71..80d16d45670a 100644 --- a/stand/man/loader.efi.8 +++ b/stand/man/loader.efi.8 @@ -41,20 +41,28 @@ On UEFI systems, .Nm loads the kernel. .Pp -.Xr boot1.efi 8 -is used to load -.Nm -when it is placed within a UFS or ZFS file system. -Alternatively, .Nm -is used directly when configured with -.Xr efibootmgr 8 , -or when placed directly as the default boot program as described in -.Xr uefi 8 . -When a system is built using +is invoked directly from the EFI System Partition (ESP) +on systems installed using .Xr bsdinstall 8 , -.Nm -will be used directly. +when installed as the default EFI boot program as described in +.Xr uefi 8 +or when configured as an EFI boot entry with +.Xr efibootmgr 8 . +.Pp +On systems upgraded from FreeBSD 10 or earlier, the EFI System Partition (ESP) +can be too small to accommodate +.Nm . +In such cases, +.Xr boot1.efi 8 +may be retained as the firmware boot program. It +will chain-load the current +.Pa /boot/loader.efi , +which is updated during the +.Cm installworld +process. +.Xr boot1.efi 8 +is deprecated for new installations. .Ss Console Considerations The EFI BIOS provides a generic console. In @@ -485,15 +493,6 @@ Typically in these embedded situations, there is only one .efi file (loader.efi or a copy of loader.efi). The path to this file is typically the default removable path above. .Pp -Managing booting multiple OSes on UEFI varies greatly, so extra caution when -updating the UEFI default loader. -.Pp -The old, now obsolete, boot1.efi was installed as bootx64.efi in -.Fx 10 -and earlier. -Since it was quite limited in functionality, we created very small -ESPs by default. -A modern loader.efi will not fit. -However, if the old boot1.efi still works, there's no need to update -it since it will chain boot /boot/loader.efi from a copy that -make installworld updates. +Managing booting multiple OSes on UEFI varies greatly, so extra caution is required +when updating the UEFI default loader. +.Pp From nobody Sun Feb 8 20:25:00 2026 X-Original-To: dev-commits-src-branches@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 4f8K7d0FzFz6RjPn for ; Sun, 08 Feb 2026 20:25:01 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8K7c6fhgz4Gyk for ; Sun, 08 Feb 2026 20:25:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770582301; 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=Za3nOu/ESsYxqccbmCIXouQzxmKmduGujmFq+jdZq40=; b=UNwQx8P+foNBQPQ6On3q2qxvf3d5uL8g1rVENTr6272/E8Fb/qipZxFuRz+BLrjOGkCkn7 9gaN4HWGWIPaWbI/rR3qKQmtuHVilxZMYtfVDPgftYk3YdObET+Wbqy9n4EfHsCdYCQ/Hg wxpv+6Ot7T/NiSNfSvIxrYzX/RNFxl2acjnmxJkELgJ+w9TyTy9Fgahg/FnuUaZE2ho1Cd uBRo1cO4ZvTCU3LU1kyuRLGyszgQCr3/fUQ+uGjyDfFqRb0fTH3hZK3bxvdC/AzrmR4Q5O uLBAtMZcM0t9Mqt+b3VfMWPjwunxylULE0EKD+sD2jiB9R120ow1x4mmMTBTMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770582301; a=rsa-sha256; cv=none; b=uLZ5aTFDqSV/FQbH2Lhwytna99FiJ0aQJxhonTeZptkbIQOYeqcK56YWnSspLwMKueEPZo lASzBXoDBa7K+89gNewbjCyAMq8Xx9kNdWuCF+ZxYMhZb+CtperjxxoDrVI1cmWChFhkgn 2907bC2Jes9uzR07uqTfSU/z4rMc6tmXGxhhxmp7kXLKUNsU22NL+Zt4C49F3Ki50NbG/C ggUeyOpP/EiSej1I8KqnvAHlByI3Wr8cW/pO/nnvLIPgb8zZr1YrujDhPkNwoCEbygVhCZ h+Y1C0LFfqGY0cNtFTGWKvZ3EnQ3/58q43GJgV2aA9GNLoaatku76wgIKdcFBw== 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=1770582301; 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=Za3nOu/ESsYxqccbmCIXouQzxmKmduGujmFq+jdZq40=; b=ZhesAO7veyNF8EOsPOxw8oqBGnPubMg6hrX7KbPiJbktFLqBfi7y7EosOXQOfmyMPM+x9Y f342N/r4h7P10xuJrtwtzZUGl9tDVa+A+CSuntLjQGvO/+1o0YxD80061Auu+vUHqvrmkY KjiavWtbuUpmq66iwrRgcMNdWXeLIDrJkgKCv7WBjv2206DKFNrCUhzh6M1C5tl0aokeLD W0GkxT0E9WlBLcvo7/AH141T0A4JBsDS//WbDXsr/fA4d93HPMaokIOlQ1+JJfTSPQBfDn gpJA90/IP9woawLwIzlQyU51cPbFVRA6Xf2KoVFJ5rv/X75xRUbo04EfBz+ymw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8K7c6BHtz12Wx for ; Sun, 08 Feb 2026 20:25:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3dd5b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 08 Feb 2026 20:25:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 1dd5b197b723 - stable/14 - uart: Add ns8250 ACPI entry for SPCR rev 2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1dd5b197b72357dfe50d6da2c9cb5b34bf4bf64b Auto-Submitted: auto-generated Date: Sun, 08 Feb 2026 20:25:00 +0000 Message-Id: <6988f11c.3dd5b.7de330c3@gitrepo.freebsd.org> The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1dd5b197b72357dfe50d6da2c9cb5b34bf4bf64b commit 1dd5b197b72357dfe50d6da2c9cb5b34bf4bf64b Author: Colin Percival AuthorDate: 2026-02-08 00:42:03 +0000 Commit: Colin Percival CommitDate: 2026-02-08 20:24:17 +0000 uart: Add ns8250 ACPI entry for SPCR rev 2 This is an MFC "in spirit" of a685a263b803; the code in this area has been significantly restructured between 14.x and 15.x, but the general concept of adding ACPI_DBG2_16550_WITH_GAS (aka 0x12) as a recognized flavour of ns8250 UART which can be configured via SPCR remains. Reviewed by: imp Tested by: David Woodhouse Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55173 --- sys/dev/uart/uart_dev_ns8250.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c index b73838b7d2b2..12ce684694af 100644 --- a/sys/dev/uart/uart_dev_ns8250.c +++ b/sys/dev/uart/uart_dev_ns8250.c @@ -449,6 +449,7 @@ static struct acpi_uart_compat_data acpi_compat_data[] = { {"AMDI0020", &uart_ns8250_class, 0, 2, 0, 48000000, UART_F_BUSY_DETECT, "AMD / Synopsys Designware UART"}, {"APMC0D08", &uart_ns8250_class, ACPI_DBG2_16550_COMPATIBLE, 2, 4, 0, 0, "APM compatible UART"}, {"MRVL0001", &uart_ns8250_class, ACPI_DBG2_16550_SUBSET, 2, 0, 200000000, UART_F_BUSY_DETECT, "Marvell / Synopsys Designware UART"}, + {"", &uart_ns8250_class, ACPI_DBG2_16550_WITH_GAS, 0, 0, 0, 0, "ACPI 16550 WITH GAS"}, {"SCX0006", &uart_ns8250_class, 0, 2, 0, 62500000, UART_F_BUSY_DETECT, "SynQuacer / Synopsys Designware UART"}, {"HISI0031", &uart_ns8250_class, 0, 2, 0, 200000000, UART_F_BUSY_DETECT, "HiSilicon / Synopsys Designware UART"}, {"NXP0018", &uart_ns8250_class, 0, 0, 0, 350000000, UART_F_BUSY_DETECT, "NXP / Synopsys Designware UART"}, From nobody Sun Feb 8 20:55:21 2026 X-Original-To: dev-commits-src-branches@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 4f8Kq13qW4z6Rkry for ; Sun, 08 Feb 2026 20:55:41 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8Kpz0C8Vz4LLr for ; Sun, 08 Feb 2026 20:55:39 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=FFY1DXZC; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::442 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com Received: by mail-pf1-x442.google.com with SMTP id d2e1a72fcca58-823f9f81da5so1932642b3a.1 for ; Sun, 08 Feb 2026 12:55:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770584133; x=1771188933; darn=freebsd.org; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=XQ7ukg8OI38POJ0rSaAhkIWpi5UNcYg7qeAaQUzsJtc=; b=FFY1DXZCAwJCpy6OcnPX3U2MX3yC39GLIl7ZpJL6amv0H6DcyN9lNaOzoUGeFTVaaa Zgf/qAAtZODvjE5n8we2BjhQkoLs4lUb4IC/cWzkUg1ZkZDIULn/zZcshBrOJYHq9jyx 0jFyyTMlv9hndZ4oMKh1uyunFsq0gb5CYWB+XloGns4jovorckTUPkCTLdA74Aj4wRJc jDOeucQPi8lhIjwzPA45Xqjs9pWGB0tWFuAiTpLK05A0upj70N2y0sQiZjHno/DvJKIJ m3CKF69zzdIFNDvdidAtvyhFfsFlIgkZgmiZ4txiNrmovBpf0HGdJNo6qiBfWlburStA XtJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770584133; x=1771188933; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XQ7ukg8OI38POJ0rSaAhkIWpi5UNcYg7qeAaQUzsJtc=; b=ZTEP3wC1JSOP4ePLS4aIfRFBkDFH53zXdXRO7Qp91yjiveJGiLIjkT/z/SR8gcdX8I i7IM4PusBxerICn1FihNuFnFVAGY8SOPVYgLLfImSNWqyD1LxO24H/6//PTAySz/L9MI O8Sxfsm8sYOPoWrWzGghF5DcPG0qYapY4/hPq2KCDT56L+PzST1Xgl7/JsZEwxbZFk84 LLdej4xIGu6FGpUoha7KbpKCUJXHxnB3v/j9t/ENzf0/av2//rWbQDBdh7150OQ00a/M +8jf+2ukba8pzYZhpx/VGghz/NGBNe3Be2UlChXBlhAp1d1iZqiwWYVyc1Ju2bcgnCkb sJgQ== X-Forwarded-Encrypted: i=1; AJvYcCXNpP4cK/XadYSim7Ve/WLttY/T1NsZOX7rwhaowCjqpdVuDQzcxFL5jm7MWM5JBALhyI7WqVde/scTNnlHiQYlM7ZDETw7agg=@freebsd.org X-Gm-Message-State: AOJu0Yz2RGf2PgiEDvgQczZotJIHep6LqYynx8ul7KNf5Ji/D7lpABO5 v/bRYWOEAxklwGoFjIkbMJnWj8KxrsCxtojCxZFuutvmKk6KTdO9X+yfLmDd/rSJGN8= X-Gm-Gg: AZuq6aIaKJXdhnpKcFyYW77qyIzPjkokFOEyyeN3QGyEcQXvG6qJXOJdbEJKafdfufw PsoI4j3BqmjtEcMNHzgssbSlyZS/mEBMNJ1dtRrI0BOmcCqFJxFlb5FXTVdK4zLkjwZKzuY0Y0U 603uA5ArfE2cBHQXFQbxG0wB4Jk/16InjlSsnvhVIj5MFTVBlGfB596vB4s9npNdcncuRvhOBuC N+9mL9nR2CfYll+UYvmMK+GEwZ/gyClCVwI4sJGKADqwndYRJi+hjkhI5/avZzucrxODeBzpEnb zKkc+iBZ1Tr+OvZUR2T52GT3OhCT0x3TMFDnFkSLicvxFDhVFZBiHpywCItH+uUj5T7wGZ2/cSM 2eAPhGtwttT9TQeGYKf5MyPf7R4HnzYBoYm1boLIrv8nC+kvxmRdSnwET11nnVLj1BkDi3/2smP iTR67kOp8ghdtXBa5cWI2cxeKmxx0= X-Received: by 2002:a05:6a00:2d82:b0:81f:9f41:34bb with SMTP id d2e1a72fcca58-82441798918mr8181643b3a.56.1770584132771; Sun, 08 Feb 2026 12:55:32 -0800 (PST) Received: from smtpclient.apple ([176.100.43.7]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8245a9c1b6asm4253935b3a.64.2026.02.08.12.55.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 08 Feb 2026 12:55:32 -0800 (PST) Content-Type: multipart/signed; boundary="Apple-Mail=_28F86C0E-7A0B-463C-9F59-3C56CBDF79F9"; protocol="application/pgp-signature"; micalg=pgp-sha256 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81.1.3\)) Subject: Re: git: 70aab985c300 - stable/15 - heimdal: Pass the correct pointer to free in an error case From: "Enji Cooper (yaneurabeya)" In-Reply-To: <11d5cb2d-7460-4bd9-a33c-e52343f30d1d@FreeBSD.org> Date: Sun, 8 Feb 2026 12:55:21 -0800 Cc: Enji Cooper , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-branches@freebsd.org" Message-Id: <1485E40C-2752-4207-972A-E56FD5C8E270@gmail.com> References: <6982480e.3097b.628edb67@gitrepo.freebsd.org> <11d5cb2d-7460-4bd9-a33c-e52343f30d1d@FreeBSD.org> To: John Baldwin X-Mailer: Apple Mail (2.3826.700.81.1.3) X-Spamd-Result: default: False [-5.60 / 15.00]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; TO_DN_EQ_ADDR_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; HAS_ATTACHMENT(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-branches@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-branches@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::442:from]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_FIVE(0.00)[5] X-Rspamd-Queue-Id: 4f8Kpz0C8Vz4LLr X-Spamd-Bar: ----- --Apple-Mail=_28F86C0E-7A0B-463C-9F59-3C56CBDF79F9 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Feb 6, 2026, at 6:41=E2=80=AFAM, John Baldwin = wrote: >=20 > On 2/3/26 14:10, Enji Cooper wrote: >> The branch stable/15 has been updated by ngie: >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D70aab985c30092483b5b32cdd3750570= ec3d9364 >> commit 70aab985c30092483b5b32cdd3750570ec3d9364 >> Author: John Baldwin >> AuthorDate: 2026-01-31 17:00:44 +0000 >> Commit: Enji Cooper >> CommitDate: 2026-02-03 19:09:55 +0000 >> heimdal: Pass the correct pointer to free in an error case >> This fixes a warning reported by GCC 14 on stable/14: >> crypto/heimdal/lib/hdb/keys.c:241:13: warning: 'free' called = on pointer 'ext' with nonzero offset 16 [-Wfree-nonheap-object] >> 241 | free(hist_keys); >> | ^~~~~~~~~~~~~~~ >> crypto/heimdal/lib/hdb/keys.c:234:15: note: returned from = 'calloc' >> 234 | ext =3D calloc(1, sizeof (*ext)); >> | ^~~~~~~~~~~~~~~~~~~~~~~~ >> Reviewed by: rmacklem, cy >> Fixes: 5000d023a446 ("heimdal-kadmin: Add support for = the -f dump option") >> Differential Revision: https://reviews.freebsd.org/D54932 >> (cherry picked from commit = b26a7af438f36dcde86f39a681123cc2140affb2) >=20 > Why so eager to MFC all the heimdal fixes before the normal time? = They aren't even compiled > on stable/15 by default? These were at least 3 days later, but I = think the last one I > committed you merged the next day which seemed a bit odd. Sorry =E2=80=94 I jumped the gun looking at the date after I merged the = change :/. I was trying to get rid of the build error emails and your = change made sense. -Enji= --Apple-Mail=_28F86C0E-7A0B-463C-9F59-3C56CBDF79F9 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEkHfexGRJ3gYRdA2gGpE5DjPsNJgFAmmI+DkACgkQGpE5DjPs NJjmzQ//SOkowHV35bzbUmejmVX24xoFyO9flgcdLFSTsiBuEpB1nvGWlRipHzk+ yJH2C4AwytaeSGvY9FyHuHzbVuV7zq4Pcd+BEI6WwZGYidD855Z2+AfYfu05VAv9 +ciskuBVjKI2AYSv1F6oecc7NVmdxdGFL+KzMbOxWJF2aB2ERD6yVEj0/xO6FwPP mRs67X6ipDsVMidd3qY8M5G5dLfNPklflUpxA4FR9gAkVGbsvL9G22R+KH4x4G6u oOtVyswTNlU1llxHdavHi5m1wkOa0J7mJzsVhDq6icGLKwcq/QzJ/bUka1/flNZo wBpvEY74S+Zg2G4L/MmS3XrrmH7zbsLG2olURPLnp88C6lHNjBM5L3/8QfVXMMNV gcM4QKWjXhPttWj3QiEpiqvrEyquYy0DlTQWYrGaYZd9tCxG8GOVUJFR8KnQQ7Kv am5BFeoyhJ2mR/je+kyL/1tDV6IhSiYsSgnIjyZ16v0da0dHdEF4O04BSCNL8BaR WR9cdawKLIEjSooawzJGq3E0wiZPh6iWlk9tCEPMAFRGpcUmZBjV9uzUgm5lgYMV jw1Bwr+lm0hDGpoicvvQF2/UZqcpcryf7UxhH54GClhQY8LkHu5QBDdpAYMpESRx S+PC4gHc6IlTCY7bL5CSVtX0PonQ7uzowZ7h7TrZp+Ji7F3Q+C8= =Q8aq -----END PGP SIGNATURE----- --Apple-Mail=_28F86C0E-7A0B-463C-9F59-3C56CBDF79F9--