From nobody Mon Jun 1 00:40:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTFWL3P7Hz6fw1C for ; Mon, 01 Jun 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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTFWL15cHz3RWm for ; Mon, 01 Jun 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=1780274462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dSSNNzd0zGn6cmSUW8wbgN3mgmZB93ZMD4SGEJEbuMw=; b=WwyixbIDJVZ2/eBfzRdVtHDgnRLiY/4EM1i6T0pcK3FW5bUF3XamNJrtxN1W5Ieftfp5nS g0eGNc0V+Hv3+bNARbTJs/kfs3xNOI6KQ7p38Qe7L/9dAXtI6FgJSaSri52Ygg2v3GbU2A plT47epgHyOq9LkYmieAduHVqLMjUFMhQMgwb9Po/ofGHVpW6c0Zz3DQm1nyUvfwcN3/2v 239s9DT1PcYUtJN43aYIdVHgnQYi9w94/+HDFc+bhqJls9u8+W8WCwydogGuZwii0jpTC4 +RBMdDQlULIiDKSbCC7yaCWirqX1A1XhZBQ+s2wCAG0PH4MEV6nzFuOhK7k4tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780274462; a=rsa-sha256; cv=none; b=cViVT/Ia/mKST46R8K2dmUNVI/wjE6NlYA/orAEtShx7aJiF1V05jolzlFv6mWpvvaAyIk 1u5PtX8ATv7eCdy6z++3X6rGF2MR/bhQX+fGLjXF+IGNf6iiBWFPdxaLzMt/eWEX53m42A ppUA4ooI9yzb8f7nSLd19Fb7veJdCkU2KIpOHhIVIwcuW7eoYQo8ot0orpY4OB42Ih0CiN FaFNzhE178A0i2m9/QZEMlsolN3yP09AFgpnivyhA5dQcUQqmjn28EIxxN5GZH2lWR+M8o TiLEZ8g3KDSQiGsg02LBkacXhPiPErn6I3vW/dqmrI2I6DuAq/EFbI6D7V30Dg== 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=1780274462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dSSNNzd0zGn6cmSUW8wbgN3mgmZB93ZMD4SGEJEbuMw=; b=eHcEERhO1TXECHn9/Cj8jlXaN0AtnueLgMYHMhUeCn600nVM3PRZZG6EEJ+ARYJ6YjoU6h QLcSL4i5OC9JfufDTf9tXG2I7SbyaoTD/rnUecLXMONhS/g4uWtj+alcVDei1MHV+eTJSU 22jpSDQY2gYujlhMURHZCTN+ULCDYZzbiaDpPdEzo6f1aUHKQdExez6zFEXtQOCdgAQHRI M/fizCONUXvo94JyKpJ12W4+DutxqGFMcNmqO0r28O4EhJw8WOcSRPulJYa9YbZJ/TzYk/ KcLm2DoaFsvqKKVhir0S4TBWyC3NYyPIBIHZEOL7I/Ne7nyb0nFqwtqDo49L8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTFWL0gtvzTv for ; Mon, 01 Jun 2026 00:41:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d76b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 00:40:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 0e3c9cbee4ac - stable/15 - bsdinstall: script: Fix scripted DISTRIBUTIONS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0e3c9cbee4ac735b7c19f3cb719b65f960be0b23 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 00:40:56 +0000 Message-Id: <6a1cd518.1d76b.794f5ea6@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=0e3c9cbee4ac735b7c19f3cb719b65f960be0b23 commit 0e3c9cbee4ac735b7c19f3cb719b65f960be0b23 Author: Jose Luis Duran AuthorDate: 2026-05-29 02:09:49 +0000 Commit: Jose Luis Duran CommitDate: 2026-06-01 00:35:43 +0000 bsdinstall: script: Fix scripted DISTRIBUTIONS Restore exporting DISTRIBUTIONS to make it available to other scripts. Reviewed by: imp, asomers Fixes: dc14ae4217a0 ("bsdinstall: do pkgbase installations with the "script" command") MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D57319 (cherry picked from commit 283959bbe0863917c4fc3200a92d1055a4c89bdc) --- usr.sbin/bsdinstall/scripts/script | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/bsdinstall/scripts/script b/usr.sbin/bsdinstall/scripts/script index 93d07c7899c3..4c792d80df6a 100755 --- a/usr.sbin/bsdinstall/scripts/script +++ b/usr.sbin/bsdinstall/scripts/script @@ -50,6 +50,7 @@ f_include $BSDCFG_SHARE/variable.subr ############################################################ GLOBALS : ${TMPDIR:="/tmp"} +: ${DISTRIBUTIONS=""}; export DISTRIBUTIONS # # Strings that should be moved to an i18n file and loaded with f_include_lang() From nobody Mon Jun 1 03:40:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTKVv3mSxz6gDtr for ; Mon, 01 Jun 2026 03:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTKVv1f22z3kWL for ; Mon, 01 Jun 2026 03:40:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780285255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a5jF8XBm5TbmhDVfQcp/oST78RiPx1NfsF45+f8tRmw=; b=F54mh+FAi8d89L6JUA+wpqcihwQyMgal24ruKayYMdreHdsj9OHOD5Oa1Ft6Y9f101w60I RpRGvXZHvgbg3Ln7wa+Xvj0tBoSVnD2GQumrTiwl/zIcWzUq0YoTEWrwR5Nitb9mzevnrO qOtpbvfOD60aDUHX1+cmsnKGWWrsyg7vS5ZlzcOZxTo3VT+sClqOeE8KKKKZu7u1WWkyAv qJwDqJ1mkY8lVRT3oDB+6eFsgYteBvqvOz8W+XFWj19WvTsMUP7lVNqrFChfkVdNZ+zc+V +uaK7PM9W+7kKsraghfqMumHkZcJ2c4JFZcV7j2gegME6lBLq4FaN2+bJEATlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780285255; a=rsa-sha256; cv=none; b=VTKULbtaQHtTfkJ6dr40s102OwS7ykZO4iT1LJLnrkjkwm7U8DCpxootQVTq1Ex9I35WEi JpSO97N8FO/FGxRsrvvO1YeJOqbXghIVlQG4jLW6pj4DtuDMA3xKb+l07v03//6IVENc7E WdjIJ5kFBDASsxBKaUGyS7vUFPvA0xwk8P5iiIM+In8bDA9dreSeH4U8ksBuC46xf6AJQ5 oxfHrNLuRcRauFFJbYE+lTRKc6hFPqOuMh/C49TmmORS9CdpwlAtde5/fA3vqRdDrePWwu CW5ky4u21/F3BG0/gDaTjNGqoDZ9pin6UWqtsK9FzH3ihXph9LOygUxpCh3lGA== 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=1780285255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a5jF8XBm5TbmhDVfQcp/oST78RiPx1NfsF45+f8tRmw=; b=ZtgL+KUJV2HmACMc/7hWX6v4uNdPijE0a+d/Mcyt+GpLyngzHNiTK7HEpSNaH8he86VMib Blow4vOVcDg8DpjMhcq4eRxQ4Ci8kW7v29XwBzT8j73ZPWaPFvl0VB2oRf5McYDYiXLYm3 w9byDavdUbxw+ErrPlCvCwtD/EXdzdYC31oUmHBRMZ390Kmle3r6nHAJDY2uub2OlqeTME EraxE+g4dS6m/np7z8rB1+1IQlrxdy0ZG1SSZdXrJl1nf6adC3I0HQDcjATRVBtIVBBR+t as7wMAclrb+kZH8qDBb//06cdFMhfKmv+KgPAKaJ1qUs5psZYWSJSoP7YqqRIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTKVv17xbz5W9 for ; Mon, 01 Jun 2026 03:40:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a0ee by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 03:40:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a1d78374b5c4 - main - stand: Revert the EFI loader back to strict mode List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1d78374b5c426d43a287b9523660bce36cb55c8 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 03:40:55 +0000 Message-Id: <6a1cff47.3a0ee.75b03662@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a1d78374b5c426d43a287b9523660bce36cb55c8 commit a1d78374b5c426d43a287b9523660bce36cb55c8 Author: Warner Losh AuthorDate: 2026-06-01 03:34:59 +0000 Commit: Warner Losh CommitDate: 2026-06-01 03:38:58 +0000 stand: Revert the EFI loader back to strict mode The change to relaxed mode has had too many unintended breakages. Revert back to strict mode until that works for all the cases that are currently broken. Fixes: 784150fd2535, d69fc3a9dc71 PR: 295289 Sponsored by: Netflix --- stand/efi/loader/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 9604f16a2480..2dc7924b9fcd 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -146,7 +146,7 @@ EFI_LOADED_IMAGE *boot_img; enum boot_policies { STRICT, RELAXED, -} boot_policy = RELAXED; +} boot_policy = STRICT; const char *policy_map[] = { [STRICT] = "strict", From nobody Mon Jun 1 06:03:33 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTNgb0sykz6gTM2 for ; Mon, 01 Jun 2026 06:03: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTNgZ6Kxyz3xYl for ; Mon, 01 Jun 2026 06:03:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780293818; 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=kcZ8NBbx1Ziw+AG1i/pzYTAunlp9ysM/X4Cy8hHigug=; b=Je/7oJiVtPyt1FlHcsFh9dvrjS9KdguQYRvrYEgNV1EH1yl7ajL4BWbq9xo90WHRmSG1fj Ay9TP5Dtx9ZzjjbKitXGTowGLYkNpFc1jzrj7QiIXu4CFjk84qHbQveE+j2XMOCHjxHQN/ orX1A+/4qiYSFrZzLWq3W5UoyFHHZEuqmfJEKre0B4sU0JtwRJ/Dit4R5q90KuSX60sOja bkuwD0GN05Fu9NugWZWFPGSBy/yvUfiIxewhDE3ZRV2P3vra9OJSGdZODOPDgPuhYbjJ2M f/7bJWoIjxhGLZ2IVn1AIA0FoIC/632/L08p+LNfhQQrejqjWBQtrd1Ei+ETaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780293818; a=rsa-sha256; cv=none; b=Qg/D0hsaAJDs29k6RDmlGmI04joWuCMnFqhuVxIqv1PXwIWY0aVwQ05sdoI0jMO84Y7G/o G/uFD1Pd0oAPKpZyJ9a9MW9qBvWbtVLEXhU7JZZwsx/RU0pLQgYEujb13ls3oUfBZC6IRl aOapjIlbscnH7e4vmFPKvfVGIdoXbKCA+cQVr30s8Ov9yyVQiKFjYpm0U+76EzXzk0V758 k/vQPdS0p0g2wAKkmLNc25Lqsku9Tw8g4vZw7WBNMDkfST/FW9U9GO6DB6yZLEe1FBxNiB MHpBPP7LIXBmE3gu7icLAm/cKuwZk4ViQJiDVsmOnelSeVOY6904TJay70fB/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=1780293818; 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=kcZ8NBbx1Ziw+AG1i/pzYTAunlp9ysM/X4Cy8hHigug=; b=r5LBVhcuNHY74jfMejYBDDKoDyArOYzDm05gJJ/DbwKLW1F/+OcsDzyQxtalizVSGOKUGI mn0E8fG0NmLzHXbAFhw/qktoEYSmxJxaCoCjCx0dRu7VPw/iSj3OYEW9aROseKYxUj7JOJ vULELIN/eBFyPmHMER13fLJx5TMfJS+c9qQQ9XTwA1x87rZfUQXdBQ575XiC7tiOGkWSwr 1iLD72mg1VLd9iQWmYLqEgX1xJ1r2VpxJ7+8YiRFgIn60ccJ2+TQvBT2qJC0ctjOWq5Ag2 R2/YR61jQhnPtE1jM9PWS7GJu5e7+n/SoCKUc0EDFK6LEN5D7w9dpiO4oSFVbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTNgZ5qrMz9lG for ; Mon, 01 Jun 2026 06:03:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18aaf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 06:03:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Daniel Schaefer From: ShengYi Hung Subject: git: 39e297bf54a5 - main - ig4iic: Add PantherLake IDs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: aokblast X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 39e297bf54a57a17d8b44c20e502d6f2c6db08f6 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 06:03:33 +0000 Message-Id: <6a1d20b5.18aaf.24ac8660@gitrepo.freebsd.org> The branch main has been updated by aokblast: URL: https://cgit.FreeBSD.org/src/commit/?id=39e297bf54a57a17d8b44c20e502d6f2c6db08f6 commit 39e297bf54a57a17d8b44c20e502d6f2c6db08f6 Author: Daniel Schaefer AuthorDate: 2026-05-31 11:18:31 +0000 Commit: ShengYi Hung CommitDate: 2026-06-01 06:02:52 +0000 ig4iic: Add PantherLake IDs MFC after: 2 weeks Sponsored by: Framework Computer Inc Signed-off-by: Daniel Schaefer --- sys/dev/ichiic/ig4_pci.c | 12 ++++++++++++ sys/dev/ichsmb/ichsmb_pci.c | 4 ++++ sys/dev/intel/spi_pci.c | 1 + 3 files changed, 17 insertions(+) diff --git a/sys/dev/ichiic/ig4_pci.c b/sys/dev/ichiic/ig4_pci.c index 49036c6dabc9..52e072e8eae1 100644 --- a/sys/dev/ichiic/ig4_pci.c +++ b/sys/dev/ichiic/ig4_pci.c @@ -196,6 +196,12 @@ static int ig4iic_pci_detach(device_t dev); #define PCI_CHIP_LUNARLAKE_M_I2C_1 0xa8798086 #define PCI_CHIP_LUNARLAKE_M_I2C_2 0xa87a8086 #define PCI_CHIP_LUNARLAKE_M_I2C_3 0xa87b8086 +#define PCI_CHIP_PANTHERLAKE_H_I2C_0 0xe4788086 +#define PCI_CHIP_PANTHERLAKE_H_I2C_1 0xe4798086 +#define PCI_CHIP_PANTHERLAKE_H_I2C_2 0xe4508086 +#define PCI_CHIP_PANTHERLAKE_H_I2C_3 0xe4518086 +#define PCI_CHIP_PANTHERLAKE_H_I2C_4 0xe47a8086 +#define PCI_CHIP_PANTHERLAKE_H_I2C_5 0xe47b8086 struct ig4iic_pci_device { uint32_t devid; @@ -336,6 +342,12 @@ static struct ig4iic_pci_device ig4iic_pci_devices[] = { { PCI_CHIP_LUNARLAKE_M_I2C_1, "Intel Lunar Lake-M I2C Controller-1", IG4_TIGERLAKE}, { PCI_CHIP_LUNARLAKE_M_I2C_2, "Intel Lunar Lake-M I2C Controller-2", IG4_TIGERLAKE}, { PCI_CHIP_LUNARLAKE_M_I2C_3, "Intel Lunar Lake-M I2C Controller-3", IG4_TIGERLAKE}, + { PCI_CHIP_PANTHERLAKE_H_I2C_0, "Intel Panther Lake-H I2C Controller-0", IG4_TIGERLAKE}, + { PCI_CHIP_PANTHERLAKE_H_I2C_1, "Intel Panther Lake-H I2C Controller-1", IG4_TIGERLAKE}, + { PCI_CHIP_PANTHERLAKE_H_I2C_2, "Intel Panther Lake-H I2C Controller-2", IG4_TIGERLAKE}, + { PCI_CHIP_PANTHERLAKE_H_I2C_3, "Intel Panther Lake-H I2C Controller-3", IG4_TIGERLAKE}, + { PCI_CHIP_PANTHERLAKE_H_I2C_4, "Intel Panther Lake-H I2C Controller-4", IG4_TIGERLAKE}, + { PCI_CHIP_PANTHERLAKE_H_I2C_5, "Intel Panther Lake-H I2C Controller-5", IG4_TIGERLAKE}, }; static int diff --git a/sys/dev/ichsmb/ichsmb_pci.c b/sys/dev/ichsmb/ichsmb_pci.c index 7f9409e4452c..7b85fe382a2d 100644 --- a/sys/dev/ichsmb/ichsmb_pci.c +++ b/sys/dev/ichsmb/ichsmb_pci.c @@ -119,6 +119,7 @@ #define ID_METEORLAKE 0x7e22 #define ID_METEORLAKE2 0x7f23 #define ID_METEORLAKE3 0xae22 +#define ID_PANTHERLAKE 0xe422 static const struct pci_device_table ichsmb_devices[] = { { PCI_DEV(PCI_VENDOR_INTEL, ID_82801AA), @@ -280,6 +281,9 @@ static const struct pci_device_table ichsmb_devices[] = { { PCI_DEV(PCI_VENDOR_INTEL, ID_METEORLAKE3), .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Meteor Lake SMBus controller") }, + { PCI_DEV(PCI_VENDOR_INTEL, ID_PANTHERLAKE), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, + PCI_DESCR("Intel Panther Lake SMBus controller") }, }; /* Internal functions */ diff --git a/sys/dev/intel/spi_pci.c b/sys/dev/intel/spi_pci.c index 49fb9c14d268..3780589d03e5 100644 --- a/sys/dev/intel/spi_pci.c +++ b/sys/dev/intel/spi_pci.c @@ -58,6 +58,7 @@ static struct intelspi_pci_device { { 0xa2aa8086, SPI_SUNRISEPOINT, "Intel Kaby Lake-H SPI Controller-1" }, { 0xa3a98086, SPI_SUNRISEPOINT, "Intel Comet Lake-V SPI Controller-0" }, { 0xa3aa8086, SPI_SUNRISEPOINT, "Intel Comet Lake-V SPI Controller-1" }, + { 0xe4238086, SPI_SUNRISEPOINT, "Intel Panther Lake-H SPI Controller" }, }; static int From nobody Mon Jun 1 06:22:51 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTP5l4jkgz6gVjg for ; Mon, 01 Jun 2026 06:22: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTP5l4D8cz415s for ; Mon, 01 Jun 2026 06:22:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780294971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0UEK4AbiEl3SckAYwREMAUV9x4/5/gZW3AH3BFK1QvM=; b=I/eeMmmg+eXCtabWP9vUGFBTxjmKEBYGQP3ND58BeXojGJDqwzoSZkrlz+cfiQtwTOxKii dCOlBhY7wVCa03w0u0aIyvZ+lRXaZV93WPgRcZ1W2y+9vg0FihpQa6YPOQCGgyP5vGGeCI GY1oJE9oPXmTeZ1kmUKkFrfer7hbzUB1knFLcDuMQu31xXXkqcpV4fKdu1+G5eoVb/dqOi xkUjqtXs93zBCr9f946f+XIeINWjcHpRJRtlmZA4YA9X+vxStCaSmLt9oon1h8vznQfygI uQaBJZvRdrgGCElBe+RxbMza63ehf8WfYJ2E859YpmAWWClLdjfT0LbSzd80OQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780294971; a=rsa-sha256; cv=none; b=avcnfRppS3qoxAqF0IFO+qkLMoq5pub4KudzTD2a3ju+eCffIN5nPi4Cw2g2Ajqx/1C+qX XFxyUocQEsEEVxryjmgHRjmFD7yauMpiVuecZWE0NF1t5uAAUNYq6UPmmeTYr4VwfKAGu4 2uny3dbQDgMdMPxvg3aGdMmes4VZSgOgpcjZWKtDPmL1HVA+RUHZrLArwRbpC2ezfqS1gz SwJDYqe0sKC5ZAFQD7gCNvsYfYNByo6TwjAxKfr6MZeNHlhER1wdLfYIXKLZB1jf8xjtvl AxZGLEkpLPB69WGuJFnzdJcaBjy7irNnrfQbkRzx45XpnTgHFvxSuZ89I9LOHA== 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=1780294971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0UEK4AbiEl3SckAYwREMAUV9x4/5/gZW3AH3BFK1QvM=; b=KjkVGEMBTrc0UUpSaW+NOGDXzTFnnMACyFWy4ngTqkT4XzG12kAIfqcQFUbyealeuiTKbf mqplIO+RupxVtfZ2OqBGHY2gxJsoDJsQGcpzWzPFtXYQkUvmIayaqWv6oAyEXyOMSPhylY OxcjbaSN+8QNcy9srPQAk6iGCu7G/40UdEu/+/fmJge8feeM3kldMcajHDA1h7/S40mX+i jWawmOHs+5lAR8sQWlmpzzcorx8I6APYNJpr0B72YDgUgctMISCesv9YrTpLaChruXxy4f CIOoTAgVHWC3yZv1nBuryf0WvZdDGxQsstQA/PE3WtfyKv3qpNPDsHdD7iBRgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTP5l3XqHz9Ys for ; Mon, 01 Jun 2026 06:22:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1aa8e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 06:22:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Stefa=?utf-8?Q?n E=C3=9Fer?= Subject: git: f983cb362de7 - main - fs/msdosfs: add support for file namws with surrogate pairs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f983cb362de77773efba8975eb0f4b247ce5e6f9 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 06:22:51 +0000 Message-Id: <6a1d253b.1aa8e.383b09d7@gitrepo.freebsd.org> The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=f983cb362de77773efba8975eb0f4b247ce5e6f9 commit f983cb362de77773efba8975eb0f4b247ce5e6f9 Author: Stefan Eßer AuthorDate: 2026-06-01 05:50:22 +0000 Commit: Stefan Eßer CommitDate: 2026-06-01 06:22:31 +0000 fs/msdosfs: add support for file namws with surrogate pairs Long file names are using UTF-16 symbols to represent international or special characters. The implementation in FreeBSD did not support the "Supplementary Private Use Area-B" (PUA-B), which requires a surrogate pair to be represented in UTF-16 (Unicode code points beyond U+FFFF). The PUA-B is used to represent emoji characters, which are supported in file names on other common operating systems. The motivation for this change was that removable media written on another system were only partially readable on FreeBSD, since they contained emojis in file names. A test script that verifies correct operations on files names with emojis has been added to the tools/test/stress2/misc directory under the name msdos24.sh. Reported by: Fabian Keil Reviewed by: ib Approved by: mkcusick MFC after: 1 week Relnotes: yes Differential Revision: https://reviews.freebsd.org/D57313 --- sys/fs/msdosfs/direntry.h | 9 ++- sys/fs/msdosfs/msdosfs_conv.c | 164 +++++++++++++++++++++++++++++++--------- sys/fs/msdosfs/msdosfs_lookup.c | 7 +- 3 files changed, 139 insertions(+), 41 deletions(-) diff --git a/sys/fs/msdosfs/direntry.h b/sys/fs/msdosfs/direntry.h index fe66ca3612fb..439556fab587 100644 --- a/sys/fs/msdosfs/direntry.h +++ b/sys/fs/msdosfs/direntry.h @@ -136,9 +136,10 @@ struct winentry { #ifdef _KERNEL struct mbnambuf { - size_t nb_len; - int nb_last_id; - char nb_buf[WIN_MAXLEN + 1]; + size_t nb_len; + int nb_last_id; + uint32_t nb_surrogate; + char nb_buf[WIN_MAXLEN + 1]; }; struct dirent; @@ -152,7 +153,7 @@ int dos2unixfn(u_char dn[11], u_char *un, int lower, int unix2dosfn(const u_char *un, u_char dn[12], size_t unlen, u_int gen, struct msdosfsmount *pmp); int unix2winfn(const u_char *un, size_t unlen, struct winentry *wep, int cnt, - int chksum, struct msdosfsmount *pmp); + int chksum, uint32_t *surrogate, struct msdosfsmount *pmp); int winChkName(struct mbnambuf *nbp, const u_char *un, size_t unlen, int chksum, struct msdosfsmount *pmp); int win2unixfn(struct mbnambuf *nbp, struct winentry *wep, int chksum, diff --git a/sys/fs/msdosfs/msdosfs_conv.c b/sys/fs/msdosfs/msdosfs_conv.c index 208b64930e61..a005fe03e6fb 100644 --- a/sys/fs/msdosfs/msdosfs_conv.c +++ b/sys/fs/msdosfs/msdosfs_conv.c @@ -63,9 +63,9 @@ extern struct iconv_functions *msdosfs_iconv; static int mbsadjpos(const char **, size_t, size_t, int, int, void *handle); static u_char * dos2unixchr(u_char *, const u_char **, size_t *, int, struct msdosfsmount *); -static uint16_t unix2doschr(const u_char **, size_t *, struct msdosfsmount *); -static u_char * win2unixchr(u_char *, uint16_t, struct msdosfsmount *); -static uint16_t unix2winchr(const u_char **, size_t *, int, struct msdosfsmount *); +static uint32_t unix2doschr(const u_char **, size_t *, struct msdosfsmount *); +static u_char * win2unixchr(u_char *, uint32_t, struct msdosfsmount *); +static uint32_t unix2winchr(const u_char **, size_t *, int, struct msdosfsmount *); /* * 0 - character disallowed in long file name. @@ -482,7 +482,7 @@ unix2dosfn(const u_char *un, u_char dn[12], size_t unlen, u_int gen, if (gentext + sizeof(gentext) - wcp + 1 > 8 - i) i = 8 - (gentext + sizeof(gentext) - wcp + 1); /* - * Correct posision to where insert the generation number + * Correct position to where insert the generation number */ cp = dn; i -= mbsadjpos((const char**)&cp, i, unlen, 1, pmp->pm_flags, pmp->pm_d2u); @@ -516,22 +516,29 @@ done: */ int unix2winfn(const u_char *un, size_t unlen, struct winentry *wep, int cnt, - int chksum, struct msdosfsmount *pmp) + int chksum, uint32_t *surrogate, struct msdosfsmount *pmp) { uint8_t *wcp; int i, end; - uint16_t code; + uint32_t code; /* * Drop trailing blanks and dots */ unlen = winLenFixup(un, unlen); +#ifdef MSDOSFS_DEBUG + //printf("unix2winfn(%zd, '%.*s')\n", unlen, (int)unlen, un); +#endif /* - * Cut *un for this slot + * Cut *un for this slot. + * If *surrogate is non-zero, allow for 14 UTF-16 symbols + * since it means we start in the middle of a surrogate pair. */ - unlen = mbsadjpos((const char **)&un, unlen, (cnt - 1) * WIN_CHARS, 2, - pmp->pm_flags, pmp->pm_u2w); + code = *surrogate; + unlen = mbsadjpos((const char **)&un, unlen, + (cnt - 1) * WIN_CHARS + ((code >> 16) != 0 ? 1 : 0), 2, + pmp->pm_flags, pmp->pm_u2w); /* * Initialize winentry to some useful default @@ -548,27 +555,43 @@ unix2winfn(const u_char *un, size_t unlen, struct winentry *wep, int cnt, */ end = 0; for (wcp = wep->wePart1, i = sizeof(wep->wePart1)/2; --i >= 0 && !end;) { - code = unix2winchr(&un, &unlen, 0, pmp); + code >>= 16; + if (code == 0) + code = unix2winchr(&un, &unlen, 0, pmp); +#ifdef MSDOSFS_DEBUG + //printf("write(%d/%d)=%04x (%s)\n", cnt, 5-i, code, un); +#endif *wcp++ = code; *wcp++ = code >> 8; if (!code) end = WIN_LAST; } for (wcp = wep->wePart2, i = sizeof(wep->wePart2)/2; --i >= 0 && !end;) { - code = unix2winchr(&un, &unlen, 0, pmp); + code >>= 16; + if (code == 0) + code = unix2winchr(&un, &unlen, 0, pmp); +#ifdef MSDOSFS_DEBUG + //printf("write(%d/%d)=%04x (%s)\n", cnt,11-i, code, un); +#endif *wcp++ = code; *wcp++ = code >> 8; if (!code) end = WIN_LAST; } for (wcp = wep->wePart3, i = sizeof(wep->wePart3)/2; --i >= 0 && !end;) { - code = unix2winchr(&un, &unlen, 0, pmp); + code >>= 16; + if (code == 0) + code = unix2winchr(&un, &unlen, 0, pmp); +#ifdef MSDOSFS_DEBUG + //printf("write(%d/%d)=%04x (%s)\n", cnt, 13-i, code, un); +#endif *wcp++ = code; *wcp++ = code >> 8; if (!code) end = WIN_LAST; } - if (!unlen) + *surrogate = code; + if (!unlen && (code >> 16) == 0) end = WIN_LAST; wep->weCnt |= end; return !end; @@ -583,7 +606,7 @@ winChkName(struct mbnambuf *nbp, const u_char *un, size_t unlen, int chksum, struct msdosfsmount *pmp) { size_t len; - uint16_t c1, c2; + uint32_t c1, c2; u_char *np; struct dirent dirbuf; @@ -632,7 +655,7 @@ win2unixfn(struct mbnambuf *nbp, struct winentry *wep, int chksum, u_char *c, tmpbuf[5]; uint8_t *cp; uint8_t *np, name[WIN_CHARS * 3 + 1]; - uint16_t code; + uint32_t code, keep, kept; int i; if ((wep->weCnt&WIN_CNT) > howmany(WIN_MAXLEN, WIN_CHARS) @@ -644,6 +667,7 @@ win2unixfn(struct mbnambuf *nbp, struct winentry *wep, int chksum, */ if (wep->weCnt&WIN_LAST) { chksum = wep->weChksum; + nbp->nb_surrogate = 0; } else if (chksum != wep->weChksum) chksum = -1; if (chksum == -1) @@ -653,8 +677,36 @@ win2unixfn(struct mbnambuf *nbp, struct winentry *wep, int chksum, * Convert the name parts */ np = name; + keep = 0; + kept = nbp->nb_surrogate; + nbp->nb_surrogate = 0; for (cp = wep->wePart1, i = sizeof(wep->wePart1)/2; --i >= 0;) { code = (cp[1] << 8) | cp[0]; + if (keep == 0) { + /* Not currently within a surrogate pair. */ + if ((code & 0xfc00) == 0xd800) { + /* Found 1st half of a surrogate pair. */ + keep = code; + cp += 2; + continue; + } else if ((code & 0xfc00) == 0xdc00) { + /* + * Found 2nd part of surrogate pair without prior 1st part in + * this directory slot. Keep it for combining with the surrogate + * at the end of the next (i.e., logically preceding) slot. + */ + nbp->nb_surrogate = code; + cp += 2; + continue; + } + } else { + /* + * Within a surrogate pair: put new value in upper half of the code + * variable and combine with previous value in lower half. + */ + code = code << 16 | keep; + keep = 0; + } switch (code) { case 0: *np = '\0'; @@ -675,6 +727,16 @@ win2unixfn(struct mbnambuf *nbp, struct winentry *wep, int chksum, } for (cp = wep->wePart2, i = sizeof(wep->wePart2)/2; --i >= 0;) { code = (cp[1] << 8) | cp[0]; + if (keep == 0) { + if ((code & 0xfc00) == 0xd800) { + keep = code; + cp += 2; + continue; + } + } else { + code = code << 16 | keep; + keep = 0; + } switch (code) { case 0: *np = '\0'; @@ -695,6 +757,31 @@ win2unixfn(struct mbnambuf *nbp, struct winentry *wep, int chksum, } for (cp = wep->wePart3, i = sizeof(wep->wePart3)/2; --i >= 0;) { code = (cp[1] << 8) | cp[0]; + if (keep == 0) { + /* Not currently within a surrogate pair. */ + if ((code & 0xfc00) == 0xd800) { + /* 1st part of a surrogate pair. */ + if (i != 0) { + /* + * Not on last symbol of this directory slot, + * the 2nd part of the surrogate pair will follow. + */ + keep = code; + cp += 2; + continue; + } + /* + * Last symbol in this directory slot is 1st part of + * a surrogate pair. The 2nd part has been saved from + * the last symbol in the previous directory slot + * (which is logically succeeding this one. + */ + code |= (kept << 16); + } + } else { + code = code << 16 | keep; + keep = 0; + } switch (code) { case 0: *np = '\0'; @@ -845,19 +932,19 @@ dos2unixchr(u_char *outbuf, const u_char **instr, size_t *ilen, int lower, struc /* * Convert Local char to DOS char */ -static uint16_t +static uint32_t unix2doschr(const u_char **instr, size_t *ilen, struct msdosfsmount *pmp) { u_char c; - char *up, *outp, unicode[3], outbuf[3]; - uint16_t wc; + char *up, *outp, unicode[4], outbuf[4]; + uint32_t wc; size_t len, ucslen, unixlen, olen; if (pmp->pm_flags & MSDOSFSMNT_KICONV && msdosfs_iconv) { /* * to hide an invisible character, using a unicode filter */ - ucslen = 2; + ucslen = 4; len = *ilen; up = unicode; msdosfs_iconv->convchr(pmp->pm_u2w, (const char **)instr, @@ -891,7 +978,7 @@ unix2doschr(const u_char **instr, size_t *ilen, struct msdosfsmount *pmp) *instr -= unixlen; *ilen = len; - olen = len = 2; + olen = len = 4; outp = outbuf; msdosfs_iconv->convchr_case(pmp->pm_u2d, (const char **)instr, ilen, &outp, &olen, KICONV_FROM_UPPER); @@ -916,25 +1003,27 @@ unix2doschr(const u_char **instr, size_t *ilen, struct msdosfsmount *pmp) c = *(*instr)++; c = l2u[c]; c = unix2dos[c]; - return ((uint16_t)c); + return ((uint32_t)c); } /* * Convert Windows char to Local char */ static u_char * -win2unixchr(u_char *outbuf, uint16_t wc, struct msdosfsmount *pmp) +win2unixchr(u_char *outbuf, uint32_t wc, struct msdosfsmount *pmp) { - u_char *inp, *outp, inbuf[3]; + u_char *inp, *outp, inbuf[5]; size_t ilen, olen, len; outp = outbuf; if (pmp->pm_flags & MSDOSFSMNT_KICONV && msdosfs_iconv) { inbuf[0] = (u_char)(wc>>8); inbuf[1] = (u_char)wc; - inbuf[2] = '\0'; + inbuf[2] = (u_char)(wc>>24); + inbuf[3] = (u_char)(wc>>16); + inbuf[4] = '\0'; - ilen = 2; + ilen = 4; olen = len = 4; inp = inbuf; msdosfs_iconv->convchr(pmp->pm_w2u, __DECONST(const char **, @@ -947,7 +1036,7 @@ win2unixchr(u_char *outbuf, uint16_t wc, struct msdosfsmount *pmp) if (len == 0) *outp++ = '?'; } else { - *outp++ = (wc & 0xff00) ? '?' : (u_char)(wc & 0xff); + *outp++ = (wc & 0xffffff00) ? '?' : (u_char)(wc & 0xff); } *outp = '\0'; @@ -956,13 +1045,15 @@ win2unixchr(u_char *outbuf, uint16_t wc, struct msdosfsmount *pmp) } /* - * Convert Local char to Windows char + * Convert Local char to Windows char (UTF-16). + * If a surrogate pair is required, then put the high part into the upper half + * of the word that is returned. */ -static uint16_t +static uint32_t unix2winchr(const u_char **instr, size_t *ilen, int lower, struct msdosfsmount *pmp) { - u_char *outp, outbuf[3]; - uint16_t wc; + u_char *outp, outbuf[5]; + uint32_t wc; size_t olen; if (*ilen == 0) @@ -970,7 +1061,7 @@ unix2winchr(const u_char **instr, size_t *ilen, int lower, struct msdosfsmount * if (pmp->pm_flags & MSDOSFSMNT_KICONV && msdosfs_iconv) { outp = outbuf; - olen = 2; + olen = 4; if (lower & (LCASE_BASE | LCASE_EXT)) msdosfs_iconv->convchr_case(pmp->pm_u2w, (const char **)instr, ilen, (char **)&outp, &olen, @@ -982,10 +1073,12 @@ unix2winchr(const u_char **instr, size_t *ilen, int lower, struct msdosfsmount * /* * return '0' if end of filename */ - if (olen == 2) + if (olen == 4) return (0); wc = (outbuf[0]<<8) | outbuf[1]; + if (olen == 0) + wc |= outbuf[2]<<24 | outbuf[3]<<16; return (wc); } @@ -1044,8 +1137,11 @@ mbnambuf_write(struct mbnambuf *nbp, char *name, int id) return (ENAMETOOLONG); } - /* Shift suffix upwards by the amount length exceeds WIN_CHARS. */ - if (count > WIN_CHARS && nbp->nb_len != 0) { + /* + * Shift suffix upwards or downwards by the amount length differs + * from WIN_CHARS. + */ + if (count != WIN_CHARS && nbp->nb_len != 0) { if ((id * WIN_CHARS + count + nbp->nb_len) > sizeof(nbp->nb_buf)) return (ENAMETOOLONG); diff --git a/sys/fs/msdosfs/msdosfs_lookup.c b/sys/fs/msdosfs/msdosfs_lookup.c index 58ce8eff9dbd..527c6cbf73a2 100644 --- a/sys/fs/msdosfs/msdosfs_lookup.c +++ b/sys/fs/msdosfs/msdosfs_lookup.c @@ -304,8 +304,7 @@ msdosfs_lookup_ino(struct vnode *vdp, struct vnode **vpp, struct componentname continue; chksum = win2unixfn(&nb, - (struct winentry *)dep, chksum, - pmp); + (struct winentry *)dep, chksum, pmp); continue; } @@ -638,6 +637,7 @@ createde(struct denode *dep, struct denode *ddep, struct denode **depp, struct buf *bp; daddr_t bn; int blsize; + uint32_t surrogate; #ifdef MSDOSFS_DEBUG printf("createde(dep %p, ddep %p, depp %p, cnp %p)\n", @@ -692,6 +692,7 @@ createde(struct denode *dep, struct denode *ddep, struct denode **depp, /* * Now write the Win95 long name */ + surrogate = 0; if (ddep->de_fndcnt > 0) { uint8_t chksum = winChksum(ndep->deName); const u_char *un = (const u_char *)cnp->cn_nameptr; @@ -725,7 +726,7 @@ createde(struct denode *dep, struct denode *ddep, struct denode **depp, } rootde_alloced(ddep); if (!unix2winfn(un, unlen, (struct winentry *)ndep, - cnt++, chksum, pmp)) + cnt++, chksum, &surrogate, pmp)) break; } } From nobody Mon Jun 1 07:38:04 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTQmj0MXjz6gcyH; Mon, 01 Jun 2026 07:38:13 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTQmh6wqpz4Bt0; Mon, 01 Jun 2026 07:38:12 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780299493; 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: in-reply-to:in-reply-to:references:references; bh=zpssdGiAS9cLHlpblqu/YgKPboCZfieicljN9f/8LhM=; b=woHFpcDgOWTfqvDT3T96Bq7ue1s7uTUvsCPTld70xtHstRcj4m45jFDxdANOS6UjzWYcgV 1vYS1BUlF2cRsIAgbyqDFE10bLjQOmHeJSIBqZ6QlD/o2XvfPG3iwyx9ZFnGLaf8NR7qh8 5TyewbVMaRUjSuE713h35Z9SlMxCdJ5WOHJAozROse1X0JdLAUCqDzo46zsQ4SSH/9qLpx GR6nR/UyIBImOx2DhfHF+uEEuiNlGHvhU1YSztn29h5rxWO0a4rWpuix/fgNHNSLKx504P Do+k41GDGdfmjrBBmQ/TfvCmupoBqmUknZAtfWjZo7EvXGRr1hF0OlOKK30WvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780299493; a=rsa-sha256; cv=none; b=mj8xRNuj5M3OciFuAskbDgNdqFiFVsgt/lscf2ivtIVMXWJQVa/iWgmT+PVSHE+AaSY/x2 VSuEt34zUaDGHQ/aaCJSD3gtofbqxMWcaQq6mV1fZhBH7Asvhjt97MkXYEq/V/GLc/qyjW jBYr0YKU9mor8l/8/Qsh+tu2d/c6WlbRJMQ15RV6MXg1lmcoaP4+R6yMROQtYdA49jqEX+ Ep7/IarZvWaEEX5HETXqcGv7KWLN5TnY5/nKcu16m06ue0DRh5seuwBghTWSazT9kryXaM XzYJjVR6+A/1x0Pc+KMsH5quwBYwyD+MImr35NgUu1Y/hL4bMZQotpOysRnv7w== 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=1780299493; 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: in-reply-to:in-reply-to:references:references; bh=zpssdGiAS9cLHlpblqu/YgKPboCZfieicljN9f/8LhM=; b=SuEC4R9L8npVzMeY9eoxvYjefypY7HppK30BYDHZ9HeWukLB1RhTsSITFOWWiRfE/jgV3l vXZGffimULZaJKSXf/M66THE+pO1Ypvz4Y0jZ8aIvjNv1L347y5NvgLfN/awcklkCpkiS/ +SBkHjzTYl7X+TOGe9gKXw1v8bS/ISEe1sdAh1I5GcKqyLZ2QutosBET/kdEOX1As5tdNO UkV23nMGaHOA/vgzh+fDybPORjtxmz8p1LCxNB6xWM2/6BGaSu/Xer8Kt6FLj8Z2cLLzEx DBjBe5Pjidi4rrV6KVcjr0FehcBSc/7OA44OD6Ayqv6VwU+eWM2L3Rxh+aWOJQ== Received: from ravel.localnet (lfbn-nic-1-328-19.w90-116.abo.wanadoo.fr [90.116.162.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gTQmh0hgyz199; Mon, 01 Jun 2026 07:38:11 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: Robert Clausecker Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, src-committers@freebsd.org, Konstantin Belousov Subject: Re: git: 439710cf003b - main - assert.h: Revert "Remove leading tabs for whitespace consistency" Date: Mon, 01 Jun 2026 09:38:04 +0200 Message-ID: <2528022.THHZn3L5Ee@ravel> In-Reply-To: <6a1c9142.3037a.348e36a2@gitrepo.freebsd.org> References: <6a1c9142.3037a.348e36a2@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart4178553.kAAoriTUSa"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart4178553.kAAoriTUSa Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: Robert Clausecker Date: Mon, 01 Jun 2026 09:38:04 +0200 Message-ID: <2528022.THHZn3L5Ee@ravel> In-Reply-To: <6a1c9142.3037a.348e36a2@gitrepo.freebsd.org> References: <6a1c9142.3037a.348e36a2@gitrepo.freebsd.org> MIME-Version: 1.0 Hi Robert, > As per style(9), a tab goes after #define. This should not have been > removed. A TAB or space indifferently can go after a '#define', the important thing is whitespace consistency. To quote style(9): "Put a single space or tab character between the #define and the macro name, but be consistent within a file.". Here, although not covered explicitly by style(9), there's still a series of '#undef' that does not have a TAB after it but a space. Additionally, from style(9): "The comment should be separated from the #endif or #else by a single space." speaking about comments matching (the invert of) '#if" conditions, so ruling out TABs there. All-in-all, the original commit was fine and IMO should not have been reverted. Thanks and regards. -- Olivier Certner --nextPart4178553.kAAoriTUSa Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmodNtwACgkQjKEwQJce JiedjQ/9HjFPytY2e+/9Dd+MKqKHS0jNMwiCdz2O5ovx2EYkzdcHv4RzCN0nYZKa hmBWUkgv0+qWWe1tZGEnJDGv9KIecA8Empk5++mWHYmKHSl2OsXasg/tnNPhBenq rLDsmS1HCzpmSBcG49ajTt8tHzw0yjr085S7fvD/9Bcvl5d8QzJBYdJ+FtHcm8MF iRduU+bjpTRYANV9oWFDVKTyZavKFH1kAYWY3u6f2rE6b0Igsj4jPNfQl6uxxFkJ aMHNmr75Iinq/Ioayj2XHM2z5ZflnO4DmvXANkS64CD1Z5SrWU1HGBz7h1zcfPsI VHxtPQrCl53JmN6AFinrtAJ1J8YUEBXzL+zSy330njgPP6Und4/QrO8Ix2LVMo0C n5cbnLZ0N7T69lHnaWW+XywsVyZkf2zCdhE3eBTWWUYIpOx8VYBsuHNwD5aH1nCI Tp/YF9Vv5b+3yukCbe3Ga0/AuNyM2MPVlB4y0eFBppZ+jCfxuHAjEk1wAsVvCTm/ KP7J4fO8slovhyKmbBk0g5aRGkgrau0Ai8ZJu/xY3TJc2BlVmETtXO3McYK5Pwr9 eMDd90jIdnIpCwfn0bbvKtogI7oXMD6XZ/+zzNvv8NaOeSvUwSF5PpWqqMi7lFaC sR8nnGsbFoUFs6thNA4/5Eiegeuv4lbX5/V9r8lHePUM6nlbXJk= =sRUl -----END PGP SIGNATURE----- --nextPart4178553.kAAoriTUSa-- From nobody Mon Jun 1 07:40:35 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTQqX5pQGz6gd6F for ; Mon, 01 Jun 2026 07:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTQqX527Nz4CYT for ; Mon, 01 Jun 2026 07:40:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780299640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ahIandjX+oF7H7QhSg54weUOKrdRo0vwFsVxt0MnvpY=; b=ux8CaOD8KGAeEUUH4hdOO5ZZhYHOCuk8qp2woHYWonpGRyspyOEa6ml5PzfJHanL3tWh60 9rC+qkRwVVcAxc3T3+0D/wm5scESAHKdCFgT4D9E5sILj2PVeJmHKsM0CkbTUrCZg0qhox WT/CDBXkUdThC+IAWLeu7UM0bEqmdEhz13sSTKQ6wu3JS1ormQFrPXq15snYhEZq/qqsHv 9Kb5yyfEteA2j0LuInqMCnvJ/+6yY5m3t17I4BdKLkhxh9wwh2QPWMIPXb97yiqmkjnfWf OXQCLtGzBW1jsDyayCDK7rt5SvIpydExrQPFPXhoWKxZZQQ9XvBnkHkJjLny8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780299640; a=rsa-sha256; cv=none; b=YkbfYUWhHjaDqYlz2ZNTy7+ZKm7rsjSvhDCN6zxPBdqfIqSb3zYsTYWls3MqcbZQd7MROG 9JjGyvL2fa6vay6T7zCBSqonLIz/NRko5jPf88EHh33hUVwzz8HsVZw69+ZSSBFrgQAc5n MWec1zlk3oyRL3TnZa7ZZ434ULCHPBWMqsTEDjtqMFyAs8O3SzsfCj8DVH4afj5C1c5v5n cm/LoTetr4CkMy8LUdYuUNxg/LXxGknXgrpnUArFJ/XRisybN80jOSRyZCuUzJtjaS3giL vTEz21SXzcSepOPHzszavDYsP9Y4VA9ODVp9csSJ7qwzT5uQTR0EAWrDgk9ZnQ== 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=1780299640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ahIandjX+oF7H7QhSg54weUOKrdRo0vwFsVxt0MnvpY=; b=WfqxEhKjH/z+9qN0EPcVe5GuTzPgs88q8UBiRLhSpMnJcEPHH2fEAOyhOuFYK/gKdWqpsI g2YazMpPYU4W/h2AxMk0U56EGFv3QtNEAJufjwDge3GFWd9nEe3Im4qluc2ziZZDwLckqT 6mYhtOBtqB+pbHugqGLnljmCBKTD7UDXO7fAjvsAz8ogJOUUh1SU9fDUADAzMbaRRY3jic jCJH56+5A3eLWyWL5iVj9u7YZK+BJLPRRX5227Wt0GhY71qPHg+Q2xmyv0vVHSglJMPher 97KKNWBvxQcI6Y60ZEPi/guL/8JQ6K/rCH1KP9ibXeBPVVaI6NHRuBCMa+eXBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTQqX4ZTyzCtt for ; Mon, 01 Jun 2026 07:40:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23fb7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 07:40:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 1876f629b976 - main - style.9: Fix a typo (missing word) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1876f629b97608679f1bd71b9aa88a57b55c4574 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 07:40:35 +0000 Message-Id: <6a1d3773.23fb7.71ab76@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=1876f629b97608679f1bd71b9aa88a57b55c4574 commit 1876f629b97608679f1bd71b9aa88a57b55c4574 Author: Olivier Certner AuthorDate: 2026-06-01 07:23:08 +0000 Commit: Olivier Certner CommitDate: 2026-06-01 07:40:11 +0000 style.9: Fix a typo (missing word) Fixes: af2c7d9f6452 ("style.9: Encourage style changes when doing significant modifications") MFC after: 1 day Sponsored by: The FreeBSD Foundation --- share/man/man9/style.9 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man9/style.9 b/share/man/man9/style.9 index 65636a8af828..e019a26d73a8 100644 --- a/share/man/man9/style.9 +++ b/share/man/man9/style.9 @@ -906,9 +906,9 @@ Their code is expected to at least be internally consistent with their style. Stylistic changes, including whitespace ones, complicate the work of downstream consumers and may impair developers' ability to trace the history of some changes. -Such standalone must be avoided, and should not span unrelated directories as -this increases the chances of conflicts when merging to stable and release -branches (MFCs). +Such standalone changes must be avoided, and should not span unrelated +directories as this increases the chances of conflicts when merging to stable +and release branches (MFCs). On the other hand, when a significant portion, usually about a half, of some logical unit of code, be it a function, group of functions, file or group of files, is going to be modified, developers are encouraged to amend the style of From nobody Mon Jun 1 08:45:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTSGg4411z6gkYW for ; Mon, 01 Jun 2026 08:45: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTSGg1dRjz4KdC for ; Mon, 01 Jun 2026 08:45:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780303547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+o41W024KkpRriZwXLx2QNl0oVWvNlanbMc5JutPexE=; b=VCQN8w8PQgYuCya0JofNbQealokRW6EhuV9QgKxUHG9YgPwP5clkVFTZNon6XlWKE9LO3Z gn6KhKe71hC820hafFSCqTtCN7z7bOeG27i52vke7SUQXe/KwoAZjtYsYrpJU6yHQa+y+8 O1GwNLe+fN+oYNprwQ+yTRrQLwMrHW5JFmjIXYAbInfWBYFSoUNtkU+DfPlcJDHYQZUDNe dt7Q6UZ7yWJc/jL+z37wobFG/nOpBch6peSqgcE6YRLPncjXMkVoZ97yOha5rF/QICqflI Y5bJGEajBAJqAht/GQqYCz1lbrrJiqJOWWzgKSYRcZMGNP+ostoqTV8GFXu9Kw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780303547; a=rsa-sha256; cv=none; b=bYgpcaijnD2ERvlCPDBDDq5FSYOxnjyGhPKXzeoVO+ZtQrrVUJDL/1W83NvbFDSZaP496x 5AXVjzCNUdhLMbZwjpqSguoVNEupMX5C8PpcAsoJK0BiPWBr8dZ6oBdivnpjQ7Vh/UT4I8 MIyxP2tdlx7aOVx/F49vzGnrY00TohM+03i3ZnL+WMXiVcawi5Mq8MHdlnThfZUuWq16GG K/bQx6GrRuj19MHj3Q/ckYWMld447qDGIVNh63+CrypeELWBgWyjMSf45qobHjywAxLEfx PY2VBhXOJKckqN3o2uPYMBpH5o2WzmGyLt6RVQIpDKq4h8MpviuXNtx1kIlXzw== 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=1780303547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+o41W024KkpRriZwXLx2QNl0oVWvNlanbMc5JutPexE=; b=PW2w9jqZotQYWGu8HlgB4W0XgtLo8DqWmec3p3PRA4nmRWRZP/UwTkKxU+38nMFXt8eDyM qLfTHfDm8adW+4q1TVA5Mpa6mwc3DD9yr4CKMe1/F6y4UX2TePh3isep6vGDkJJY/z5czW Axey6ruMNTg+tM+fyVZJI4ms/ReNW4rBHbOlmlq6z9iYQANHP/PQas5VuAe8IfPDrLe/95 5PnsisBfVQiFjUeCcBZCslNAd07qMlYM+UweQOB9Y3A7wSMxRCn0mZT6cUYT1aprNV1ppJ DuROcAbdobiBD3EEZAvNd4plZfrnuWVKmm3/jyTBlVCQaHTVXwfoA2013AGqcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTSGg0zyCzWGF for ; Mon, 01 Jun 2026 08:45:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3210e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 08:45:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: ShengYi Hung Subject: git: 4ccbceefeb0f - main - spi: Remove incorrect pci id List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: aokblast X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4ccbceefeb0f2898e2e4bb951862125d0bc5ce34 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 08:45:42 +0000 Message-Id: <6a1d46b6.3210e.108cc6b7@gitrepo.freebsd.org> The branch main has been updated by aokblast: URL: https://cgit.FreeBSD.org/src/commit/?id=4ccbceefeb0f2898e2e4bb951862125d0bc5ce34 commit 4ccbceefeb0f2898e2e4bb951862125d0bc5ce34 Author: ShengYi Hung AuthorDate: 2026-06-01 08:41:12 +0000 Commit: ShengYi Hung CommitDate: 2026-06-01 08:45:20 +0000 spi: Remove incorrect pci id This id is for SPI flash instead of spi bus Fixes: 39e297bf54a5 ("ig4iic: Add PantherLake IDs") MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Framework Computer Inc --- sys/dev/intel/spi_pci.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/intel/spi_pci.c b/sys/dev/intel/spi_pci.c index 3780589d03e5..49fb9c14d268 100644 --- a/sys/dev/intel/spi_pci.c +++ b/sys/dev/intel/spi_pci.c @@ -58,7 +58,6 @@ static struct intelspi_pci_device { { 0xa2aa8086, SPI_SUNRISEPOINT, "Intel Kaby Lake-H SPI Controller-1" }, { 0xa3a98086, SPI_SUNRISEPOINT, "Intel Comet Lake-V SPI Controller-0" }, { 0xa3aa8086, SPI_SUNRISEPOINT, "Intel Comet Lake-V SPI Controller-1" }, - { 0xe4238086, SPI_SUNRISEPOINT, "Intel Panther Lake-H SPI Controller" }, }; static int From nobody Mon Jun 1 08:51:51 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTSPg5vBsz6gl7h for ; Mon, 01 Jun 2026 08:51: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTSPg4LsKz4LHF for ; Mon, 01 Jun 2026 08:51:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780303911; h=from:from:reply-to:subject:subject: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/qNZB/nVAtf0pYcaOPG7P0f97MVnquEytdCdNN0snU=; b=Bi3HF+JCFqVerABi7YtbdXE9JpFpNptMahSCnerviUzhIysp0Ua4JGC2feMrLbWB8U6mA6 hSXf2QJ08lyPTvw1w7zy2nOd4Y9wKhpAcEaMhHh3Fvkwj+FDtbG6Q1mx6W6RMKZvNo3/82 WMBXR/l7xsF/C7o539bWkR0blxB4T2VWQJ5E7EA4jP3RA31p8dG0DZcF7uCS+zGamBxCTt SPmI5htLGh4Rcki/wlVBSc8Bt7SE0FRYXaiwNzkIUOJ3+pTzSVT6tAoKBjoGW+vNSC8wH5 MNIoOetyu/ij51js3ykfD3L57CaDlKWtk1ZC+beoVSFvh5RI19g0qBLb8D3LLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780303911; a=rsa-sha256; cv=none; b=kW5BfjiNZ9jOYXgOaRD9TDmS9Z5TVYxAEN1iLvEmSqmugR+ZMXSiYABjDvUFxvqfv806Zz b1mEIdrCvw5wskwdHeSc2iO/PKTnqP0WMLZfnw0MwTWHxgghArCgVe2DOrjILSYzDCxYMk 9A+Mvb8D/Xvo8hpFD06bvZpRlODtEVLwK+2bj+THOazxHwior2OmMIM15i7Ueu3R1R79oJ LQHGo4UH4bZ++uUuY5S7ZtibSwB8oT2N0MyS2DYJCzIOuB0ookuTWAzEZm7GWnhUYCA6Dm TluI5lfjmtDhDDPUQ+t+y33gsWjwa0w5txgLl5rbphRSxMVVVUbGxRB9OmjYXQ== 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=1780303911; h=from:from:reply-to:subject:subject: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/qNZB/nVAtf0pYcaOPG7P0f97MVnquEytdCdNN0snU=; b=dbFAnOhlAqgHO8nW+pr2wW7g45p0aYfn834BckQOLVHaHExR/fRgcdaKc/WxzQDy9bbbmt c4nTR/pEEJlQvLQuUFUqr4h/pGoxQ27A2kX/MG4Lw0c/EkWISfznyEAR9HwLXC3H4075Gc B6D7cGf9a+4AfVH13QJDV5C99b5MqwcVZrzuCWsEzY35V/O++H8D7WRJAd/4V/IshSGmcN By/34TvNdRttEwY6tXbeON7qG7bBw80mfmNk6gAFufvDvq+AFFLqLWmD3+NaExLnm5MEWO 2AZQIQJFmQlNi313E+KDxTVz83AG7gt5SiYxwUj+nD9ZCcxIU8miMWdSTVxxXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTSPg3mfBzX7W for ; Mon, 01 Jun 2026 08:51:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3125e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 08:51:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: dfd2273d2762 - main - sh: Fix pipebuf limit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dfd2273d27627313f944650840381e878077e825 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 08:51:51 +0000 Message-Id: <6a1d4827.3125e.67d88037@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=dfd2273d27627313f944650840381e878077e825 commit dfd2273d27627313f944650840381e878077e825 Author: Dag-Erling Smørgrav AuthorDate: 2026-06-01 08:51:24 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-01 08:51:41 +0000 sh: Fix pipebuf limit Since the factor is not 1, we need to provide a unit. MFC after: 1 week Fixes: 5d92f20c7d31 ("bin/sh: support RLIMIT_PIPEBUF") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57352 --- bin/sh/miscbltin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sh/miscbltin.c b/bin/sh/miscbltin.c index f96f96ba43d2..d75d33902458 100644 --- a/bin/sh/miscbltin.c +++ b/bin/sh/miscbltin.c @@ -516,7 +516,7 @@ static const struct limits limits[] = { { "umtx shared locks", (char *)0, RLIMIT_UMTXP, 1, 'o' }, #endif #ifdef RLIMIT_PIPEBUF - { "pipebuf", (char *)0, RLIMIT_PIPEBUF, 1024, 'y' }, + { "pipebuf", "kbytes", RLIMIT_PIPEBUF, 1024, 'y' }, #endif #ifdef RLIMIT_VMM { "virtual machines", (char *)0, RLIMIT_VMM, 1, 'V' }, From nobody Mon Jun 1 12:20:05 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTY2338Qjz6fcdl for ; Mon, 01 Jun 2026 12:20: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTY230d5Dz3Qbd for ; Mon, 01 Jun 2026 12:20:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780316411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jAQKNRkoS0gOG7DgjlSD8wqeZNtOsZZTaWgCH/qzab8=; b=Dkn2GJUwhKCIsIVH9HLZnXa2PlsOOBbBTTGy3w4eWG4Nf7NxeLk8LFEzDvXH37frKTessX k1hTuIp5I8LUB+3ZE1MH5W9TwMmNdTsA8JXdiPpeepsUcYqachCkhHUIaptaKVWEMFFW7y fJzLFlH8Ax/u/C3CZKgEKgGzLAP/C9vT7GhELPAkeBnPYjM0Hj74DnLyRZ0O0hsmy9WBnk fmQmoVIOEcBms59RgXURxLPtzPuoh3vFaN8zXOHX2hrRmH8jFczjxNF5nW6XYwpxDLbEAV Q7j6aDvun13Yr7rcAWr5t1u8ybqbqsgTyEpe8IN7eeHMexU0J2eHMR5/EGJC+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780316411; a=rsa-sha256; cv=none; b=Be/o93tzMhC5gXeODLAwJ8JbwEWGHFDbsjevl0qhCLyJB+yWy1yO7TCvlkoWHXrc6FLHYX CTpJTqdlMu87jf191FiduCiBM0NzO8Tzz7qWGfShjHx7cUg5W3XZMNdA6QCxNNt+oiCjYg pJtyDvYqTXJgoCaVfXbTk6NWzDDdQDmdGHpWiLRbuU0uYNuhmvhbIHAZEX8McguqJU9anb Ije0IfgbbfPS+GsOYGTeHn/LjOkgtrf3hBWZbH2uH7Baxn3XzXqrDEE5FBQG634DsQnKnw hEJFJfGzrRG6jpJpeICDyw0WKs9PCCN6Dr3kWeFCAiq7Nxw9HREMQmj7h76JBg== 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=1780316411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jAQKNRkoS0gOG7DgjlSD8wqeZNtOsZZTaWgCH/qzab8=; b=mfe0bT2lbuMJZ6dcjCaygx6QkU2dbB4ckRm5fihoJSAmt6cGlukEy2c8Dsp9rN94p/9s8L JzdgY/FTYe34wmyHUwlXOFQfRfLXxWzDzEkdlFbgEZBFpLzcrDFiyunO70f9Pt4cM+ljOD 4+bczN7CJ18dY+id70+UueugwKcw5MUkCSj14mjqHKnupTYScL6pEnw6r3Wn2xWbW6iOe1 1qrWvwHPu/kOxnwWC6eeS68eYSAH1OM7LMYcBYDdTkjLWnHFVXry/GlXdacbYnUvNc0UDl yPp5bLl+yUK8hF9kIC1jpcnRw0Wvabe2tNpHy3LQp3tm5skqoeAogW4E53akyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTY2300zkzdxT for ; Mon, 01 Jun 2026 12:20:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21824 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 12:20:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pietro Cerutti Subject: git: 84dd0acd1c8c - main - dma: support relaying to an LMTP endpoint List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gahr X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 84dd0acd1c8c93b8e5074f895a30dc49bc00c8d3 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 12:20:05 +0000 Message-Id: <6a1d78f5.21824.10a9b36e@gitrepo.freebsd.org> The branch main has been updated by gahr: URL: https://cgit.FreeBSD.org/src/commit/?id=84dd0acd1c8c93b8e5074f895a30dc49bc00c8d3 commit 84dd0acd1c8c93b8e5074f895a30dc49bc00c8d3 Author: Pietro Cerutti AuthorDate: 2026-06-01 12:19:57 +0000 Commit: Pietro Cerutti CommitDate: 2026-06-01 12:19:57 +0000 dma: support relaying to an LMTP endpoint Approved by: bapt Differential Revision: https://reviews.freebsd.org/D55627 Upstream: https://github.com/corecode/dma/pull/152 --- contrib/dma/conf.c | 7 +++++++ contrib/dma/dma.conf | 3 +++ contrib/dma/dma.h | 1 + contrib/dma/net.c | 2 +- 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/contrib/dma/conf.c b/contrib/dma/conf.c index 13cfac7a6de4..947e0a6cdec1 100644 --- a/contrib/dma/conf.c +++ b/contrib/dma/conf.c @@ -198,6 +198,8 @@ parse_conf(const char *config_path) config.authpath= data; else if (strcmp(word, "CERTFILE") == 0 && data != NULL) config.certfile = data; + else if (strcmp(word, "LMTP") == 0 && data == NULL) + config.features |= LMTP; else if (strcmp(word, "MAILNAME") == 0 && data != NULL) config.mailname = data; else if (strcmp(word, "MASQUERADE") == 0 && data != NULL) { @@ -257,5 +259,10 @@ parse_conf(const char *config_path) /* NOTREACHED */ } + if ((config.features & LMTP) && (config.features & (TLS_OPP | STARTTLS | SECURETRANSFER))) { + errlogx(EX_CONFIG, "%s: LMTP does not support TLS", config_path); + /* NOTREACHED */ + } + fclose(conf); } diff --git a/contrib/dma/dma.conf b/contrib/dma/dma.conf index fa95fc1a0c22..e5f414b235bf 100644 --- a/contrib/dma/dma.conf +++ b/contrib/dma/dma.conf @@ -68,3 +68,6 @@ # Directly forward the mail to the SMARTHOST bypassing aliases and local delivery #NULLCLIENT + +# Use LMTP instead of SMTP for relaying +#LMTP diff --git a/contrib/dma/dma.h b/contrib/dma/dma.h index 9e7f6cd2c431..ae03075c0892 100644 --- a/contrib/dma/dma.h +++ b/contrib/dma/dma.h @@ -70,6 +70,7 @@ #define FULLBOUNCE 0x040 /* Bounce the full message */ #define TLS_OPP 0x080 /* Opportunistic STARTTLS */ #define NULLCLIENT 0x100 /* Nullclient support */ +#define LMTP 0x400 /* Use LMTP instead of SMTP with the relay */ #ifndef CONF_PATH #error Please define CONF_PATH diff --git a/contrib/dma/net.c b/contrib/dma/net.c index 0079875a22e0..02a31e9673a7 100644 --- a/contrib/dma/net.c +++ b/contrib/dma/net.c @@ -390,7 +390,7 @@ int perform_server_greeting(int fd, struct smtp_features* features) { Send EHLO XXX allow HELO fallback */ - send_remote_command(fd, "EHLO %s", hostname()); + send_remote_command(fd, "%s %s", config.features & LMTP ? "LHLO" : "EHLO", hostname()); char buffer[EHLO_RESPONSE_SIZE]; memset(buffer, 0, sizeof(buffer)); From nobody Mon Jun 1 15:25:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTd7Z4S0Lz6gBS7 for ; Mon, 01 Jun 2026 15:25: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTd7Z3hh0z3pSs for ; Mon, 01 Jun 2026 15:25:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780327514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=54aVU2aI3U+Gfzn1K63MmeGpks/Oa7LgUrwn4/nEJ64=; b=dpgG4yp7jCm/pJVzC4gMTksgyjsUyFwWrUUkbremGDdmGyfR5EJpLalQAH0VfHN8f+zj/e 6yRCRIhCvDX+kc1VIdtEHTlSp6oHYhRzU9JlOKpkzRKFkM3C24+pfNks1k/tqxJDuT1Kwy DiekVx7Nvm/aFCxPd5X7rdBhQyPDz/Dgd82kWh7ettttY0tXUrew9RFo2vo3CkO6Ul+KIQ vyyl40lHa3N0IN1t2gO1dnDgAjY4yfJszSo4cnGFU4nZPyJjcdjJZbH96LMhM5BSf6aCMX 8Jkf0rHVUXnFCfgRVCP0wCi5H/MfL2IXc6Le2/1tiSmvE8jWygSHfnR8Iy4jmQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780327514; a=rsa-sha256; cv=none; b=UlGscgjjgwMRA8HuBp3ZRryVQkeoMl9ECnd5rm34XBSlv3eR7eNbObXbXZrfwE6wqP/Nha nQH7dXADEb5Gn9WnVvNWNsTwQgr/b6alUqGIxIshcrOxWPMkuv6rscpwTL3uyXm5Olxqwa W3U9eTI6UMZ+KvD208uOYr9Gz2r6S/TiXdcwmcH9tSvTOlcfIwCbMUGNH5qqXyfCF0vBN2 PpvahLvBSFp5rggn2HTg8A8azV3gsWBjVNBCdDxmnE5U+kIpA0GuzG4FpIOMnHEY3jzjK+ GblKs+YbeZVcLK8O0Q9wTRPWhFQ4qZNlPT7xNATueDeWhXjYzPcABlB9L43hFg== 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=1780327514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=54aVU2aI3U+Gfzn1K63MmeGpks/Oa7LgUrwn4/nEJ64=; b=hu3fHLjdj/HQjx2Ta7A1xCYPhPToBffvIGK2xgE+fwlyG2Z3HjZZcLjH10vy+syogmL9Nx yUC3g8Yt8Bu6qEO+bRN5HSrm9FcHZAwzdHn8Ks0BeSI6bqFkmtZAPRIHc5J3qCYWeXqp4n Mk5fP1GVr6BlvyJZTVEkY7CjYAgFrcgpB0MNHujZrEUrkZgAAHOiu6CnZTCYJFl998Te1H +77D/iQ5P/9ynv8mAbtyo3ebUW+CuZC5CBiM3PmUiL1ONvkqqXeL2KBdOia4oXQROnlEvI Txob49AbHX3ozmmIcoSsCVPLEUSdq7tsMSN9OoOFA755G1j6jjpRzmJru9kSJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTd7Z3DqHzkSC for ; Mon, 01 Jun 2026 15:25:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e1e4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 15:25:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 79d0dbc9c6d6 - main - MAC/do: Fix double-free on parse error after "executable paths" feature List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 79d0dbc9c6d6a1627c9f3eeab0633c232a6a0a34 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 15:25:14 +0000 Message-Id: <6a1da45a.3e1e4.7438879@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=79d0dbc9c6d6a1627c9f3eeab0633c232a6a0a34 commit 79d0dbc9c6d6a1627c9f3eeab0633c232a6a0a34 Author: Olivier Certner AuthorDate: 2026-06-01 08:52:16 +0000 Commit: Olivier Certner CommitDate: 2026-06-01 15:23:51 +0000 MAC/do: Fix double-free on parse error after "executable paths" feature parse_rules() has been calling toast_rules() in case of a parse error in order to deallocate the 'struct rule' objects it has constructed up to that point. toast_rules() would take a pointer to a full 'struct rules' object, and besides freeing all 'struct rule' referenced by it, would also free the holding 'struct rules' itself. With the introduction of the "executable paths" feature, and the embedding of 'struct rules' into 'struct conf', meaning that the lifecycle for 'struct rules' was no longer independent, toast_rules() was changed not to free the passed 'struct rules' (as it was a field of a 'struct conf' object). Unfortunately, this change was not completed with a reinitialization of the rules list head, so the 'struct conf' object would continue to reference just-freed rules, which then would be freed a second time on destruction of that container. So, make toast_rules() re-initialize the rules list in 'struct rules', which it logically has been having to do since not freeing the enclosing 'struct rules'. This alone is enough to fix the bug, but let's use the occasion to change the contract of parse_rules() and bring its herald comment up-to-date: On error, parse_rules() now simply leaves already constructed 'struct rule' objects in 'conf'. The latter is eventually destroyed and the rule objects reclaimed at that point. Add a test trying to set an invalid rules configuration with the first rule being valid and the second being invalid, which triggers the bug (and an immediate panic() on an INVARIANTS kernel). Reported by: impost0r(ret2plt) Reviewed by: markj Fixes: 9818224174c4 ("MAC/do: Executable paths feature (GSoC 2025's final state)") Sponsored by: The FreeBSD Foundation --- sys/security/mac_do/mac_do.c | 16 ++++++++-------- tests/sys/mac/do/invalid_configs.sh | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/sys/security/mac_do/mac_do.c b/sys/security/mac_do/mac_do.c index 93f2084d1c93..7bb3e2a150c5 100644 --- a/sys/security/mac_do/mac_do.c +++ b/sys/security/mac_do/mac_do.c @@ -390,6 +390,7 @@ toast_rules(struct rules *const rules) free(rule->gids, M_MAC_DO); free(rule, M_MAC_DO); } + STAILQ_INIT(head); } static inline void @@ -1071,13 +1072,13 @@ einval: /* * Parse rules specification and produce rule structures out of it. * - * Must be called with '*parse_error' set to NULL. Returns 0 on success, with - * '*rulesp' made to point to a 'struct rule' representing the rules. On error, - * the returned value is non-zero and '*rulesp' is unchanged. If 'string' has - * length greater or equal to MAX_RULE_STRING_SIZE, ENAMETOOLONG is returned. If - * it is not in the expected format, EINVAL is returned. If an error is - * returned, '*parse_error' is set to point to a 'struct parse_error' giving an - * error message for the problem. + * Must be called with '*parse_error' set to NULL. Returns 0 on success, + * filling the passed '*rules' with 'struct rule' objects. On error, the + * returned value is non-zero, and '*rules' may have been changed. If 'string' + * has length greater or equal to MAX_RULE_STRING_SIZE, ENAMETOOLONG is + * returned. If it is not in the expected format, EINVAL is returned. If an + * error is returned, '*parse_error' is set to point to a 'struct parse_error' + * giving an error message for the problem. * * Expected format: A >-colon-separated list of rules of the form * ">" (for backwards compatibility, a semi-colon ":" is accepted @@ -1123,7 +1124,6 @@ parse_rules(const char *const string, struct rules *const rules, error = parse_single_rule(rule, rules, parse_error); if (error != 0) { (*parse_error)->pos += rule - copy; - toast_rules(rules); goto error; } } diff --git a/tests/sys/mac/do/invalid_configs.sh b/tests/sys/mac/do/invalid_configs.sh index d1a9eb8c1e96..91e38a0055c0 100644 --- a/tests/sys/mac/do/invalid_configs.sh +++ b/tests/sys/mac/do/invalid_configs.sh @@ -72,6 +72,19 @@ rules_wrong_separator_body() sysctl_set_and_check_fails_rules "uid=1001>gid=0:gid=1001>gid=5" } +# Added after observing a panic() in this situation because of a double-free +# after introduction of "exec_paths". +atf_test_case non_first_rule_unparseable +non_first_rule_unparseable_head() +{ + atf_set descr "Non-first rule wrong" +} + +non_first_rule_unparseable_body() +{ + sysctl_set_and_check_fails_rules "gid=1001>uid=0;hello" +} + atf_init_test_cases() { @@ -83,4 +96,5 @@ atf_init_test_cases() atf_add_test_case rule_user_names_fail atf_add_test_case rule_group_names_fail atf_add_test_case rules_wrong_separator + atf_add_test_case non_first_rule_unparseable } From nobody Mon Jun 1 16:30:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTfbV5F8Vz6gJ3B for ; Mon, 01 Jun 2026 16: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTfbV3f8hz3vhc for ; Mon, 01 Jun 2026 16:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780331462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IOjas4opUHEt7MQp5TWGGCW8OxQZwt+rZ9QZMRZVBEU=; b=oQPiAstLMl6i7xVp2xzafMNr4kuTylDlrny0iaHvx/4ZKxxNqSPTSX6lhSzTNTcwS9pobJ +9v/cEWEioN3h3yDwCpi4/E8mwMAK8wV5Yrui13i+2N1a7VgHQDdEMTdZW98sUqS1nIzFB JmujQfa/Ezzs6pZ6Pf8NnJdnwDJTg5Oz4yTPXJfHF5SSG5e1uxF7B4PMLhyCd3/1NBnp6c I71VE4QJVADlzFus/L0tb9WNb3SEAXycyqJhPUN21nR3NX0III/PXzD7+XbsB8iqBRp/Bb vFlwmC4R4vAFNyPy8qMbHOtAm2PFGzSQFOF9i7GtnJgGy068VU9gpOa8tx8MFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780331462; a=rsa-sha256; cv=none; b=fzc0KfOh737vsG8PFcCziiXp4PwiwOJ7tLag9kbCGXMmP6PnQX5C//2KS2gx7dVTGHzpsI 5YZqEbCJ50iS0QVWbmGBhB3IEHhpee6emjYZFaQaRIAt/96EjcpeO6ZaG0uc+MfaOugDZq ObL0Jr8yTfw747PAswg2OKc986eVV2rvS0ckXZb4y1X/k8rQgjT5/bHfxJxUKgBeNzyqxH dTuIPeoEi7Qod000Qi5A4LVnwFGk79xfRYkNKnHlEnWDGFQzZzRGtNKVWIO6DjtvmMP7aH 5qdfg9MWr6K4BkYlOBoqXpHppD0CNRkKR6VDE8ofuVPzpAS1XjMWWRiO3aNZGw== 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=1780331462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IOjas4opUHEt7MQp5TWGGCW8OxQZwt+rZ9QZMRZVBEU=; b=s/JqEb7PUuu8UodNVCcBhCCUtmtLkHWjbDGNr2oeUQkuWIwWFauTF1kXX+I3E9EAuU5K7E es1su2fiWkAuofkd3G8+ODyW9mq1oU9OOm0I52mP8D3Lu0trT6111TiFgJTpD592dhO+Uh UYq2yq1eCIg+iD6uwrLZT52/NOPikAgHM+11SHN2d7Yk46x5xX9g6DpliWvP8eWmjp96nr 5kj15Q/wWNb5EcxAB/pBCzUz3dtkRdnhonN4qcQ/g/WM/CdLGXP5ZXs6G0M1qFs3c+QbsY tUqSucBS3aiyuC58zRQXmhTDdJWc5+HJ1SHvXWx+xeSJqpSj+vNNvkaqdBtsfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTfbV37Dpzlt3 for ; Mon, 01 Jun 2026 16:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 438ea by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 16:30:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 72e34b3e3907 - main - get/setpriority: Add capability mode checks List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 72e34b3e3907d5fd63abf7b2246cae80641769b3 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 16:30:57 +0000 Message-Id: <6a1db3c1.438ea.3725d4e1@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=72e34b3e3907d5fd63abf7b2246cae80641769b3 commit 72e34b3e3907d5fd63abf7b2246cae80641769b3 Author: Ed Maste AuthorDate: 2026-05-29 20:48:34 +0000 Commit: Ed Maste CommitDate: 2026-06-01 16:30:20 +0000 get/setpriority: Add capability mode checks Reviewed by: oshogbo Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57345 --- sys/kern/kern_resource.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sys/kern/kern_resource.c b/sys/kern/kern_resource.c index 31f89bd41f6d..95c4e7d5eead 100644 --- a/sys/kern/kern_resource.c +++ b/sys/kern/kern_resource.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -99,6 +100,13 @@ kern_getpriority(struct thread *td, int which, int who) struct pgrp *pg; int error, low; + if (IN_CAPABILITY_MODE(td)) { + if (which != PRIO_PROCESS) + return (ECAPMODE); + if (who != 0 && who != td->td_proc->p_pid) + return (ECAPMODE); + } + error = 0; low = PRIO_MAX + 1; switch (which) { @@ -189,6 +197,14 @@ kern_setpriority(struct thread *td, int which, int who, int prio) int found = 0, error = 0; curp = td->td_proc; + + if (IN_CAPABILITY_MODE(td)) { + if (which != PRIO_PROCESS) + return (ECAPMODE); + if (who != 0 && who != curp->p_pid) + return (ECAPMODE); + } + switch (which) { case PRIO_PROCESS: if (who == 0) { From nobody Mon Jun 1 16:36:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTfk66M6Jz6gJql for ; Mon, 01 Jun 2026 16:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTfk65Gdjz3wS8 for ; Mon, 01 Jun 2026 16:36:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780331806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Tpl4oOJScNb1WXGrkXXhpa94tFXRP/VisXKsMTwqhZo=; b=VFWiI3B1PfqF3liGGLIJYj5ZcPCdgqtScE2QpumYHbVsariuE7YlClnoY74s5qrK/R/Jfs Z0n9T3UTwmqIP1t2AqL6ifitwL4SQyvm1veUnYMmCzqY04P7M1Q15qloWDUc2d5RHF3zHL ChwrGrBmqcc0OKP+BnPln8ia6cdCeUPrpTgtWufteKNVvSSjeW6MDNUVQMWzs9KP9bgA8k fCIbcLe6mw6JS6F3DqkfSs9cVg472NO81v3yv/oReOq35LPVZ5uWnLmsyrgK9CetItmIj7 n8JzW1GdR07Ik6uWOV75VDCQgf1tUNX+n/t24AsSl9hsHSh0ljxGvxmGlKq7zg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780331806; a=rsa-sha256; cv=none; b=DZ+Ciop8gvv5RHWb3W74mhSHCVRljtk0rn5e89s0gHiux3sBao3qV9wcGVbPoduALKyfu6 KA+NMmcVRI/NOH/Nrl9Mf3j6k/E8fmfY54s9tsqbzthWUmSPjhuWkOv8OAA7aqI+yrnaFV YHDvpgknTus6BpUZx8+6MZpCmTpC/oWGVLmIh3hyMLYxW5ikVWL1Av09l8wA/qRi/xMo52 QTnP8rl0j+S+h8p3tm0dVBLN26tFkw21Xuecrd98fCQ7BXcEhtbxM7jIoR1yk1OIlihxpK krxAoq1W+8J9jnS2inuX6h9pyrps8n6fFrox45813pYubQey/5H0L6vVrbnYDA== 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=1780331806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Tpl4oOJScNb1WXGrkXXhpa94tFXRP/VisXKsMTwqhZo=; b=lMinB9XCw07vkl77pN7jcnTdtmobPhWwDHoeUtuvy4xZWN9nE7llFaR/XC1W9gGMaQ580E RHZzNZfTjc+xJ3W7e+IdRgAJoIzrtWdHZoc9K62Ak95mRtvsxwDx1ORf5xjKDfUbyQgfxz l9yyPJLO5pttDj9SbYbdxXXNIJcDxrn7Bf8ZMIwv9oUPdwFts2hQGWwjpO9xHotSPNtXxZ EvX7pFvv49/tQKk2z1t1ZVsDZcjS3g6HHWCFim+3kcxV4g8Gkkq8Qi/dBpthZrm03HTCDA xtg2DBq7myGTRE9mPxZrAE/Uz055NqAxnE56OuODPj0Mn4QZvnp8s7EsMTh02Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTfk64KgqzmkS for ; Mon, 01 Jun 2026 16:36:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44912 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 16:36:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 16f21c5af350 - main - amd64: there is no reason to copy ucode around in ucode_load_bsp() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 16f21c5af35002b8361ffb2e83ff3c92cd899a3a Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 16:36:46 +0000 Message-Id: <6a1db51e.44912.1c15fcaa@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=16f21c5af35002b8361ffb2e83ff3c92cd899a3a commit 16f21c5af35002b8361ffb2e83ff3c92cd899a3a Author: Konstantin Belousov AuthorDate: 2026-05-30 15:57:46 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-01 16:35:33 +0000 amd64: there is no reason to copy ucode around in ucode_load_bsp() PR: 294630 Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differrential revision: https://reviews.freebsd.org/D57368 --- sys/x86/x86/ucode.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/sys/x86/x86/ucode.c b/sys/x86/x86/ucode.c index 3d7008eb30f2..439b0b83e650 100644 --- a/sys/x86/x86/ucode.c +++ b/sys/x86/x86/ucode.c @@ -377,18 +377,20 @@ ucode_load_ap(int cpu) (void)ucode_loader->load(ucode_data, UNSAFE, NULL, NULL); } -static void * -map_ucode(uintptr_t free, size_t len) +static const void * +map_ucode(const void *match, uintptr_t free, size_t len) { #ifdef __i386__ uintptr_t va; for (va = free; va < free + len; va += PAGE_SIZE) pmap_kenter(va, (vm_paddr_t)va); + memcpy_early(free, match, len); + return ((const void *)free); #else (void)len; + return (match); #endif - return ((void *)free); } static void @@ -421,7 +423,7 @@ ucode_load_bsp(uintptr_t free) char vendor[13]; } cpuid; const uint8_t *fileaddr, *match; - uint8_t *addr; + const uint8_t *addr; char *type; uint64_t nrev, orev; caddr_t file; @@ -456,14 +458,10 @@ ucode_load_bsp(uintptr_t free) len = preload_fetch_size(file); match = ucode_loader->match(fileaddr, &len); if (match != NULL) { - addr = map_ucode(free, len); - /* We can't use memcpy() before ifunc resolution. */ - memcpy_early(addr, match, len); - match = addr; - - error = ucode_loader->load(match, EARLY, &nrev, &orev); + addr = map_ucode(match, free, len); + error = ucode_loader->load(addr, EARLY, &nrev, &orev); if (error == 0) { - ucode_data = early_ucode_data = match; + ucode_data = early_ucode_data = addr; ucode_nrev = nrev; ucode_orev = orev; return (len); From nobody Mon Jun 1 16:36:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTfkC0rX9z6gJjs for ; Mon, 01 Jun 2026 16:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTfkC0DKwz3whl for ; Mon, 01 Jun 2026 16:36:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780331811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UvO/xa+6ycCsD6Sj/q8GBvdwOWHPNkxAKXnU7BngerM=; b=dXRIkmYHKObuDH+zuyQ1zN2MlBNs4Mq5sD9edZcxFvsnk4a0HQp+1hIBi69blWbYYg+z7D tbk67ELHyAmfGyksnCr81T2noLKOvtrpjW8es50O1B1dZpEfT1plbBP95w9AJBlceSNmab LrdZpuGeNQGahkiTO5rRKAmcC1lMZdd2dXoNhn5aeCnnro4keX3ojRhwTgyp4AVeVXj8zr 59jU2tiwwyVnNkJiuxXldkyAyWzyAlYrAEAquJ7XiXwA18HKqMiuCyjeHbth3pWAAHqreU +3OiwEQdSfs3iRQDAKI7meG/xHA97kiFnyy4q3AC2HA4I0EUlXupeqE6YMvb2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780331811; a=rsa-sha256; cv=none; b=kHG4j52KHPRkh87ap86+8Tw3WCuaD+OyG4rNJNalPNsmaE4l5vXyIFPOk52UmSEb7jopDZ jLDkTjRIEchSX9Y+dJD5Hmcd+fxq+GFqLN/ds6Y2I4BIF5vtWiMLBc5NgsreOgqheFavnD kofgNEd6xkPwVlDdNfZWqkXJFoqxTN9dnsRWm4f473WYg9Q3R31eYxjK0YTcOszDaONzLf H3SS5uT8nAYibhy2hVSCB20tcEB9sSiq4psHozBX6Q6vjZrkX8sUCOrE9xMxHdhCU/sTx3 ahApvMoHo06G+ndfhFqa9cVZ+OwqoSAchvxhZEtjgLrNsQIeNPS/HlOjZh81pw== 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=1780331811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UvO/xa+6ycCsD6Sj/q8GBvdwOWHPNkxAKXnU7BngerM=; b=Hsp4vqTf31XALOVNOO8vJVK47jycAvLpQ+23FORIMvnphDjC4syO2wFy8BQoNAJlahBgT6 WsuE9m1iv7Dh7LM24X8sgkhXjqctIvHQuC5VvNORNP8Zyu1Y5odm22g7iAa4DhJ5/6dKvB aDIjYZh24NWd5RLriDK2algvECyHxCm201ZTaY01PEq1iMMCYjITIkDlS2Z/VixqpGG4Ap vsZ9jvWCWT84aDtwKlqGK2LSNwRue6teKf/p5pqLZMZ+5zoRYnDRWyRlRW18u7j3PpLdmE TediqRhTlrjQYlNdoY2m4toQA68TffWbMQjxKHGudAOOUK0O0AyeN5/Ln7tEMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTfkB5lb2zmmh for ; Mon, 01 Jun 2026 16:36:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4490e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 16:36:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 606d3cb1be5f - main - amd64: do not switch back and restore UEFI IDT in wrmsr_early_safe_end() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 606d3cb1be5fd594c1f51addd063e7c13e16bdbc Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 16:36:45 +0000 Message-Id: <6a1db51d.4490e.3ec61e36@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=606d3cb1be5fd594c1f51addd063e7c13e16bdbc commit 606d3cb1be5fd594c1f51addd063e7c13e16bdbc Author: Konstantin Belousov AuthorDate: 2026-05-29 07:32:41 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-01 16:35:33 +0000 amd64: do not switch back and restore UEFI IDT in wrmsr_early_safe_end() The memory where the pre-OS IDT was located might be already consumed by kernel. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57321 --- sys/amd64/amd64/machdep.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 79bef08f8a64..ab9edfe2c68f 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1827,7 +1827,6 @@ clear_pcb_flags(struct pcb *pcb, const u_int flags) } extern const char wrmsr_early_safe_gp_handler[]; -static struct region_descriptor wrmsr_early_safe_orig_efi_idt; void wrmsr_early_safe_start(void) @@ -1836,7 +1835,6 @@ wrmsr_early_safe_start(void) struct gate_descriptor *gpf_descr; int i; - sidt(&wrmsr_early_safe_orig_efi_idt); efi_idt.rd_limit = 32 * sizeof(idt0[0]); efi_idt.rd_base = (uintptr_t)idt0; lidt(&efi_idt); @@ -1857,12 +1855,6 @@ wrmsr_early_safe_start(void) void wrmsr_early_safe_end(void) { - int i; - - lidt(&wrmsr_early_safe_orig_efi_idt); - - for (i = 0; i < 32; i++) - memset_early(&idt0[i], 0, sizeof(idt0[0])); } int From nobody Mon Jun 1 17:13:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTgXN6qKFz6gND9 for ; Mon, 01 Jun 2026 17:13: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTgXN668Yz42nX for ; Mon, 01 Jun 2026 17:13:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780334004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TiCvhavU/rer+YcPAfrZxCe+rcgtdgkd2roiSPKjO9Y=; b=H1T+Mu15jtObhF+X505HARi0MqNInQGny7Largo8dl+iUls8KA2kKy+iHHvG9KkKyznL1I KI059CYYLiZOQQRXh4GzMrpxJI2gy3zd+USo+mG/nubs/i7IFhPhQ5heqaTh51mBGhzCv0 qEKzdAqDSq+IZNmmvx08vfB3ECyroY3BZaZq4TxBUJrLPBcGxowSdPMQ/S0u9nOTbY7pkw nkKatNKkx/sjrfylcEVTJdz8FYfD+Vw7CcmDOQCtD5I/tcMmvrwDC3ABXIJETQCkmf3MKH S4nEkRQvbqjXpvOULHa2cTFISHorltjZjbQYzw91pPQ5xipkpTiTkBovE7mPYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780334004; a=rsa-sha256; cv=none; b=svCP3zKU43enwg4w9vkkUHSzlp2eQ8gcEZingGkYyU3dYNJ/cwbQY58juC+KWW60MCkj68 fqw88oqYV/rXW4M+QAjPGJ6jpjoitS08UmuPFf0B+gyuqKsDCo33khXl5ikTXjdACmjQHz eTBsCzU7CYFsL9cSrU/as8aEmHshn/5Ui0mGd31BaF4s01+v1gQJ++BeH5ZJJPlgSMReVM LifRtmJeB+uCkOvdO7/8QkJ7j+njIVL5sensNjXIJEkg5tCGAtr7R2wTbuh0VhBaAk2gqd CFtXj4PYGEe+YAhzNjXQLAI+TBChdxCCCUuy2fAt/zIZeXZyu7Y8//lHhCRd9Q== 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=1780334004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TiCvhavU/rer+YcPAfrZxCe+rcgtdgkd2roiSPKjO9Y=; b=hmZLsv9jnZWQ7JpRV5TC96doP3bL4w75fQRRfuZkdJPvM2/VbZ/dc3aAIWVAL1y0dWz4GU kN3bZVPyOHqDgtvDZozx4Xxi5BpvxleiXXEGyyDDbI9nQQ+tyW7P1AKjbWgWwtY9rO1F1F 5A6dz3oShVjLgbZdEarCz5KOfzKuOTuUd+suFqP5K1NpLc0QSm0zoiFAAGjYprZbibqq0W B9yxDD4hyv8xRHJveL3zIJj/gBWib3CYCNzD7vNH2JbsOYLmJdCNBDQiog7UhEjjmLP5WD ZLM50DvrILNbILX7kPn1LV9xRLwtq9QG9NoL9o2yrCZcqQRfixbQkEO3MOZhcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTgXN5Q3SznZG for ; Mon, 01 Jun 2026 17:13:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18f1f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 17:13:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 86326398b73b - main - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 86326398b73b81f84831fb5fc4c12d9219bc0f57 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 17:13:24 +0000 Message-Id: <6a1dbdb4.18f1f.11efe144@gitrepo.freebsd.org> The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=86326398b73b81f84831fb5fc4c12d9219bc0f57 commit 86326398b73b81f84831fb5fc4c12d9219bc0f57 Author: Dimitry Andric AuthorDate: 2026-06-01 17:10:11 +0000 Commit: Dimitry Andric CommitDate: 2026-06-01 17:10:11 +0000 Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): [Serialization] Fix assertion on re-deserialized friend template spec… (#200566) …ialization in PCH (#198133) A friend function-template specialization declared inside a class template is serialized into a PCH. When the class template is later instantiated while loading the PCH, the friend specialization can be deserialized re-entrantly (VisitFriendDecl -> VisitFunctionDecl -> ... -> VisitFunctionDecl for the same specialization) at the same time as the canonical copy, producing two redeclarations of the same specialization in the template's specialization set. ASTDeclReader::VisitFunctionDecl asserted that this collision could only happen when merging declarations from different modules. Since 38b3d87bd384, friend functions defined inside dependent class templates are loaded eagerly, so the collision can now also occur within a single PCH/AST file (non-modules build), tripping the assertion: Assertion failed: (Reader.getContext().getLangOpts().Modules && "already deserialized this template specialization"), function VisitFunctionDecl The merge that follows (mergeRedeclarable) already links the two redeclarations correctly regardless of whether modules are enabled, so the fix is to drop the modules-only assumption and let the merge run. Fixes https://github.com/llvm/llvm-project/issues/198133 This fixes (well, simply removes :) an assertion when building the cad/OrcaSlicer port with precompiled headers turned on. PR: 295296 MFC after: 3 days --- contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp index b918bfbd549c..87224fae5dbb 100644 --- a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp @@ -989,8 +989,6 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) { if (InsertPos) CommonPtr->Specializations.InsertNode(FTInfo, InsertPos); else { - assert(Reader.getContext().getLangOpts().Modules && - "already deserialized this template specialization"); Existing = ExistingInfo->getFunction(); } } From nobody Mon Jun 1 17:32:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTgyS58kyz6gPTc for ; Mon, 01 Jun 2026 17:32: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTgyS4cGYz44Gx for ; Mon, 01 Jun 2026 17:32:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780335152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j+ZXKe6woc5ry7cl6wop9bS8Mnl9Kp0ZJWbx3PsBMDw=; b=Ip0ftbDs2iHwb75eXT6Z3t2z7oNhSzqE2/YlJMWHTlMY0/rSqvXCpzvdPu30vDNwfCo9Ir KhEXHfF8iG1lz/bSCw1XyKO3Y/FDDNbAVbc+zE4BN2NtZIDCJcPg3K4QyUBwFylGmfoHmW 4/mJMYN6nm+BvdvT/27JR9NCaaqZm4Szgco7GgxruQPQp5SrvhFK6rg4P8h14yIugd5dvA mCiW09eev5krQPdBWXj0phKoLyfCMPnO3WyDTqfEypvz5qw/9JqGYhfJBI5gMYQARh2/t1 mpNlubKoPrxRRkpU+P3OwrwARflVTvn4Uz9vo4iOl3G4KfzWN93qdnsbA+yuKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780335152; a=rsa-sha256; cv=none; b=PJL0uoXhk1JvKKBRSv9/FogYZsdsFBASmaEjGUxFxIQCGWtJmNzdZusIzG0DPBMmwKIxla 33sQzduSB6SMDS/C4Ms6/hnOrKeIH+/BGxi8iwmTSDQ2jyofYiIziY0Kaabz+griTdDk8X m5OOy8PrOV+UYmFdGXtAgr3j5GrWGuToXIeL/wI3SNRX4vtWfLLTHlb5gB7nS9vD13kbFt LeTwosQBiAw1r9oK++2Q6iMUPv8RCKYaVLthBqfJSvQNvZ3wsVycl/7ywTbHP89RNDCMmB FeCHohH9NRK4x6hgMlQTFJdppDkj0PJvPGbKgTynIdRgip70QGiwbRcp69a6lw== 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=1780335152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j+ZXKe6woc5ry7cl6wop9bS8Mnl9Kp0ZJWbx3PsBMDw=; b=Pi+tnKia9Vl9kXTIlD1TG2LrwbjvilkxviQB1WOQsm+KeXK63Q7R8ZNaqkmyIGTbMEIudE h60lAu1Vl1SCd7A7Y/IeKJxfW37QKqCpsi068OyjX/Kb5TEwIzD3JfwCD474EWdEv6NeJc bfK6wndPIexqCoNNQXAfLq59ur9oK9acOsAKMloEcQYKIWhw0g6YO+2fwnOYGnfe1eVdjW vEsrGL54CCS9v1ArKzbsKB5hz+mt3/Zo33PhyghdIoL079ONEQK3mae2t/vwMPFGzq4Q3I C+etI2YV2E50huaQpc4/BZUDDm69zeK/V9FoQRwpKqXYrWMK72KuQqy6mmjGQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTgyS3y0zzp4v for ; Mon, 01 Jun 2026 17:32:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1bb5e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 17:32:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 369207a6c471 - stable/15 - virtual_oss(8): Fix buffer overflow in voss_compressor() call List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 369207a6c4713c64d2411eb96e3f0d6ddab6169e Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 17:32:27 +0000 Message-Id: <6a1dc22b.1bb5e.5a7ba644@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=369207a6c4713c64d2411eb96e3f0d6ddab6169e commit 369207a6c4713c64d2411eb96e3f0d6ddab6169e Author: Christos Margiolis AuthorDate: 2026-05-28 13:51:26 +0000 Commit: Christos Margiolis CommitDate: 2026-06-01 17:32:18 +0000 virtual_oss(8): Fix buffer overflow in voss_compressor() call This particular calls swaps the samples and maxchan arguments, which can cause a buffer overflow in p_ch_chain if maxchan exceeds its bounds (VMAX_CHAN). Reported by: Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste (cherry picked from commit 453de99b386d40754a038cc4b804f4c7a3b04624) --- usr.sbin/virtual_oss/virtual_oss/virtual_oss.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/virtual_oss/virtual_oss/virtual_oss.c b/usr.sbin/virtual_oss/virtual_oss/virtual_oss.c index 18af38d8e7aa..1da50979873d 100644 --- a/usr.sbin/virtual_oss/virtual_oss/virtual_oss.c +++ b/usr.sbin/virtual_oss/virtual_oss/virtual_oss.c @@ -781,8 +781,8 @@ virtual_oss_process(void *arg __unused) /* check if compressor should be applied */ voss_compressor(buffer_temp, pvp->rx_compressor_gain, - &pvp->rx_compressor_param, samples, - samples * src_chans, (1ULL << (pvp->bits - 1)) - 1ULL); + &pvp->rx_compressor_param, samples * src_chans, + src_chans, (1ULL << (pvp->bits - 1)) - 1ULL); TAILQ_FOREACH(pvc, &pvp->head, entry) { From nobody Mon Jun 1 18:30:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTjF24NwTz6gV6N for ; Mon, 01 Jun 2026 18:30: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTjF21x3yz3CL7 for ; Mon, 01 Jun 2026 18:30:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780338614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GK9lK5ciA6vKZRx99k6LJueirF3RZnxv4iolkFMjNUA=; b=g/NJpEzVgm8SkUc4Jf7lD3Y7VpvU4+Oz6ecS4qVKNBabktqAraWN5OaIjZpe0ty9/oNfvE uxmm0WoY3U01L9XLwozFJx5VHSJduKaMnTa/eQNjUiQfwlNztzYz7X+lmeR+BLQoNqS/ZM 7r4Xozu4sYlmfkNpMFdrC9AbtZt/02CZcK4UAOmut0YdzVJqQcObo16F01ukBtpvyXSqOz NP/tPSaR2VcbU0EDeNNVZTAvwYgXwIBcwW/FfqGpFeI8RUADeQAQvdJSILB5iiqxE2zfyV s/NEmJ9fConReZ81LMoZiTLD4Y3Z4rgBX0BgBAp1J88tcxWRfq+HWiOqJJM8Sw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780338614; a=rsa-sha256; cv=none; b=ZkZO7w2tGmNxeOObne73gDesx+hdvE5ixRJ0imMLqfqN8aILwgIL0Whkolh7zJ4ZHVIp5a mpbBBYv+GAvcMs9NA4bD0U9mHpqcSvd/0BcHRnTzATFn8469cbjVfrNUb0WQ6XUeNx+n+s o1Osz4jH1z3XY9+HEd/CJo/pEyj91c0sW31v4UsxnPiHsr8xKRk9KiS6Ml26Rxbk2YfySN Qd2/fO+Fz9vey9vWVTySFT/ItZiKe6Jp4s+RkWQREa5OzaQky0OHg2UPNqRT2h5SKFgbqD 315k1cFziMAN258kB2p39rbwTJlgXADYo2elQmNCvo9SCQpCxoF6MRFisgDqDw== 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=1780338614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GK9lK5ciA6vKZRx99k6LJueirF3RZnxv4iolkFMjNUA=; b=M56hJZg2foiJ95ZHFe+igdhs0NILaJ751FAb2kRsFVdazrbq28iOM6HJiYtOHA0guMg1T+ qNeEaA+RaUTjOlzoh6QkLm9/Z1vHhA7R5XW14hyzXJc2S4NO9aijFnquYIctku+SPwKUdx P1Xh6H/F9hitrxFbr8qXJLhW2P5ZxmE04Mki6HFJKVnlLluYJNXHqJzyV43zG6n2r8+EuK pagh8Vk9LepNwZxV6K4EPSQI0F6kKKU98Pj3//XehWUikMCCOdjUhRDVlImEC1/k1heZIt B99Mde17TQ2szXGpYRAk6JkKbo8UAlPTYmkMtUAkjrBdbmMRB3ubM2AWAahyBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTjF20rgPzqfM for ; Mon, 01 Jun 2026 18:30:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21b07 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 18:30:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 68004e56fdc2 - main - net: Fix handling of unmapped user pages in if_getgroup() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 68004e56fdc22c11b4ec680e83309b4ea2bfe13a Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 18:30:14 +0000 Message-Id: <6a1dcfb6.21b07.2d08d54a@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=68004e56fdc22c11b4ec680e83309b4ea2bfe13a commit 68004e56fdc22c11b4ec680e83309b4ea2bfe13a Author: Mark Johnston AuthorDate: 2026-06-01 16:44:15 +0000 Commit: Mark Johnston CommitDate: 2026-06-01 18:22:57 +0000 net: Fix handling of unmapped user pages in if_getgroup() We cannot call copyout() while in a net epoch section, unless the user memory is wired. Use the global ifnet lock to synchronize the accesses instead. Reported by: emaste Reviewed by: zlei MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D57154 --- sys/net/if.c | 56 +++++++++++++++++++++------------------------------- sys/net/if_private.h | 2 +- 2 files changed, 24 insertions(+), 34 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index e421dd3bd494..440b40102d53 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1375,11 +1375,8 @@ if_addgroup(struct ifnet *ifp, const char *groupname) ifgl->ifgl_group = ifg; ifgm->ifgm_ifp = ifp; - IF_ADDR_WLOCK(ifp); CK_STAILQ_INSERT_TAIL(&ifg->ifg_members, ifgm, ifgm_next); CK_STAILQ_INSERT_TAIL(&ifp->if_groups, ifgl, ifgl_next); - IF_ADDR_WUNLOCK(ifp); - IFNET_WUNLOCK(); if (new) @@ -1402,9 +1399,7 @@ _if_delgroup_locked(struct ifnet *ifp, struct ifg_list *ifgl, IFNET_WLOCK_ASSERT(); - IF_ADDR_WLOCK(ifp); CK_STAILQ_REMOVE(&ifp->if_groups, ifgl, ifg_list, ifgl_next); - IF_ADDR_WUNLOCK(ifp); CK_STAILQ_FOREACH(ifgm, &ifgl->ifgl_group->ifg_members, ifgm_next) { if (ifgm->ifgm_ifp == ifp) { @@ -1479,34 +1474,35 @@ if_delgroups(struct ifnet *ifp) static int if_getgroup(struct ifgroupreq *ifgr, struct ifnet *ifp) { - int len, error; - struct ifg_list *ifgl; - struct ifg_req ifgrq, *ifgp; - - NET_EPOCH_ASSERT(); + struct ifg_list *ifgl; + struct ifg_req ifgrq, *ifgp; + int len, error; + IFNET_RLOCK(); if (ifgr->ifgr_len == 0) { CK_STAILQ_FOREACH(ifgl, &ifp->if_groups, ifgl_next) ifgr->ifgr_len += sizeof(struct ifg_req); - return (0); - } - - len = ifgr->ifgr_len; - ifgp = ifgr->ifgr_groups; - /* XXX: wire */ - CK_STAILQ_FOREACH(ifgl, &ifp->if_groups, ifgl_next) { - if (len < sizeof(ifgrq)) - return (EINVAL); - bzero(&ifgrq, sizeof ifgrq); - strlcpy(ifgrq.ifgrq_group, ifgl->ifgl_group->ifg_group, - sizeof(ifgrq.ifgrq_group)); - if ((error = copyout(&ifgrq, ifgp, sizeof(struct ifg_req)))) - return (error); - len -= sizeof(ifgrq); - ifgp++; + error = 0; + } else { + len = ifgr->ifgr_len; + ifgp = ifgr->ifgr_groups; + CK_STAILQ_FOREACH(ifgl, &ifp->if_groups, ifgl_next) { + if (len < sizeof(ifgrq)) { + error = EINVAL; + break; + } + bzero(&ifgrq, sizeof ifgrq); + strlcpy(ifgrq.ifgrq_group, ifgl->ifgl_group->ifg_group, + sizeof(ifgrq.ifgrq_group)); + if ((error = copyout(&ifgrq, ifgp, sizeof(struct ifg_req)))) + break; + len -= sizeof(ifgrq); + ifgp++; + } } + IFNET_RUNLOCK(); - return (0); + return (error); } /* @@ -2756,14 +2752,8 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) break; } case SIOCGIFGROUP: - { - struct epoch_tracker et; - - NET_EPOCH_ENTER(et); error = if_getgroup((struct ifgroupreq *)data, ifp); - NET_EPOCH_EXIT(et); break; - } case SIOCDIFGROUP: { diff --git a/sys/net/if_private.h b/sys/net/if_private.h index c4ade7308df4..5a76fd788c1b 100644 --- a/sys/net/if_private.h +++ b/sys/net/if_private.h @@ -41,7 +41,7 @@ struct ifnet { CK_STAILQ_ENTRY(ifnet) if_link; /* all struct ifnets are chained (CK_) */ LIST_ENTRY(ifnet) if_clones; /* interfaces of a cloner */ CK_STAILQ_HEAD(, ifg_list) if_groups; /* linked list of groups per if (CK_) */ - /* protected by if_addr_lock */ + /* protected by ifnet_sxlock */ u_char if_alloctype; /* if_type at time of allocation */ uint8_t if_numa_domain; /* NUMA domain of device */ /* Driver and protocol specific information that remains stable. */ From nobody Mon Jun 1 18:30:13 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTjF7041Bz6gVFZ for ; Mon, 01 Jun 2026 18:30: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTjF61VBHz3Cbh for ; Mon, 01 Jun 2026 18:30:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780338618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ynGc7VignvQmJoix+aHmHCGCOkqYpryCdSJjOEtZ//c=; b=dCh4q88v1NaRtx9HTkTXl/p2pxsBV7u8RL7YSMgz+H5y8r1HiAoF2feUjiVXwEvaGVETZF LAAPdnZLG+8BkgIiPXlhH4p+vgyGopZzI2jSXtG7CF2RNQzvJjR/SRF81+jrXCo0ysO2TY 2LEun9h7dEEyz4QCJvVHnGYM3FOQIw1/kF2385gfaD+qBlBpqgbv0EPKnWtPr6YiJi1TiM 0VLWZs5XQQ30bd5CGxb0+zVDzXYFHAlRt07aCbDCW92W9NjVdESpvGl2c3QIu3XrPK6K+/ RcD6SySCmwuWsQo3ZPhBjfX9LJKXGNbLxOoMjoTjbupaFPtWSqhnecoxUb2CZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780338618; a=rsa-sha256; cv=none; b=dJZBPBVaFH49i9UCSV5tsencSHKZ6JQ4vijiVooXGsdzQKJrS1B2nyXxUMMWMSJsXBVFAK 4W/q6Xh90fZtzZ7PyF5WLztlBf6GxIRAmPM12jnM15eiTDoJlYv9OLnJm7VaoaLU1R0Rwt w3Vw94myZWkdDdgev71eLgRM3Q5ajb6Gp3MDI9qsF7pC5ow+Kpe4/Rji1LDB97XIUL0+so A16BVUxA5ZezfaxEJ82cWEc7RpL1TQRxBAx6eR4yQWLrHRdFaKCDpSxmK/DIwKvp6rK3B4 QMpHc6TNEMNnbLEKUV8MWnBmRzCsNYNLdSW+DjxwC2rhaD+vOJNljqkm7qh3BA== 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=1780338618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ynGc7VignvQmJoix+aHmHCGCOkqYpryCdSJjOEtZ//c=; b=Y7+Ub1w5tiAKq4GgmfgQGwnCNq2RZQlywfn/DK9KNDtGmV6b3UV2yi6W/JvSx+6vM9/3V2 yWjrQNIGfCc5bye6CuHqoRlG65v84dU3qo4/iA70RACsP/JydsYnEBiMDf0wj94fhKguMy K/2+cl/bCyVxLEgTDYGfSKjB6cSfv/6an179tl+emSpBlTouo9HYoi7HLMCJLcbfvenNqy sduNSJOHiYHKGnx3ZRBO/SCYmc8PXFWwq3lR+AVUjxRu8ta55CYu/HmIFvoalPDmW9VYF3 zTQGOLV+1H7pQ/Ne5sR/etfOzrKFe7OS6hAiXR+Bhdtobp26FMXcXnoViBgVkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTjF60RFlzqMV for ; Mon, 01 Jun 2026 18:30:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 204d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 18:30:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 49d90d9ddfc1 - main - lagg: Handle a port count of zero List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 49d90d9ddfc1ecda9ad9b6cb5565e5fbdcc14964 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 18:30:13 +0000 Message-Id: <6a1dcfb5.204d2.42e2225a@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=49d90d9ddfc1ecda9ad9b6cb5565e5fbdcc14964 commit 49d90d9ddfc1ecda9ad9b6cb5565e5fbdcc14964 Author: Mark Johnston AuthorDate: 2026-06-01 16:40:43 +0000 Commit: Mark Johnston CommitDate: 2026-06-01 18:22:57 +0000 lagg: Handle a port count of zero The sc_count check in lagg_transmit_ethernet() and lagg_transmit_infiniband() is racy, as the lagg protocol handlers are only synchronized by net_epoch. Handle a count of 0 in each protocol handler where it's needed, namely in the RR and LB handlers. Reported by: Yuxiang Yang, Yizhou Zhao, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM5.1 from Z.ai Reviewed by: pouria, zlei MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D56942 --- sys/net/if_lagg.c | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 0333162da0d4..da08e02d50be 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -1828,6 +1828,7 @@ lookup_snd_tag_port(struct ifnet *ifp, uint32_t flowid, uint32_t flowtype, struct lagg_port *lp; struct lagg_lb *lb; uint32_t hash, p; + unsigned int count; int err; sc = ifp->if_softc; @@ -1839,8 +1840,11 @@ lookup_snd_tag_port(struct ifnet *ifp, uint32_t flowid, uint32_t flowtype, if ((sc->sc_opts & LAGG_OPT_USE_FLOWID) == 0 || flowtype == M_HASHTYPE_NONE) return (NULL); + count = atomic_load_int(&sc->sc_count); + if (count == 0) + return (NULL); p = flowid >> sc->flowid_shift; - p %= sc->sc_count; + p %= count; lb = (struct lagg_lb *)sc->sc_psc; lp = lb->lb_ports[p]; return (lagg_link_active(sc, lp)); @@ -2128,12 +2132,6 @@ lagg_transmit_ethernet(struct ifnet *ifp, struct mbuf *m) if (m->m_pkthdr.csum_flags & CSUM_SND_TAG) MPASS(m->m_pkthdr.snd_tag->ifp == ifp); #endif - /* We need at least one port */ - if (sc->sc_count == 0) { - m_freem(m); - if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - return (ENXIO); - } ETHER_BPF_MTAP(ifp, m); @@ -2150,12 +2148,6 @@ lagg_transmit_infiniband(struct ifnet *ifp, struct mbuf *m) if (m->m_pkthdr.csum_flags & CSUM_SND_TAG) MPASS(m->m_pkthdr.snd_tag->ifp == ifp); #endif - /* We need at least one port */ - if (sc->sc_count == 0) { - m_freem(m); - if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - return (ENXIO); - } infiniband_bpf_mtap(ifp, m); @@ -2421,13 +2413,20 @@ lagg_rr_start(struct lagg_softc *sc, struct mbuf *m) { struct lagg_port *lp; uint32_t p; + unsigned int count; + count = atomic_load_int(&sc->sc_count); + if (__predict_false(count == 0)) { + if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, 1); + m_freem(m); + return (ENETDOWN); + } p = atomic_fetchadd_32(&sc->sc_seq, 1); p /= sc->sc_stride; - p %= sc->sc_count; - lp = CK_SLIST_FIRST(&sc->sc_ports); + p %= count; - while (p--) + lp = CK_SLIST_FIRST(&sc->sc_ports); + while (p-- && lp != NULL) lp = CK_SLIST_NEXT(lp, lp_entries); /* @@ -2611,13 +2610,20 @@ lagg_lb_start(struct lagg_softc *sc, struct mbuf *m) struct lagg_lb *lb = (struct lagg_lb *)sc->sc_psc; struct lagg_port *lp = NULL; uint32_t p = 0; + unsigned int count; + count = atomic_load_int(&sc->sc_count); + if (__predict_false(count == 0)) { + if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, 1); + m_freem(m); + return (ENETDOWN); + } if ((sc->sc_opts & LAGG_OPT_USE_FLOWID) && M_HASHTYPE_GET(m) != M_HASHTYPE_NONE) p = m->m_pkthdr.flowid >> sc->flowid_shift; else p = m_ether_tcpip_hash(sc->sc_flags, m, lb->lb_key); - p %= sc->sc_count; + p %= count; lp = lb->lb_ports[p]; /* From nobody Mon Jun 1 18:42:52 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTjWc5gT1z6gWpB for ; Mon, 01 Jun 2026 18:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTjWc404wz3J3f for ; Mon, 01 Jun 2026 18:42:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780339372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x9NGo8QjMuBVR8fPkBhM6hz+L4rOKMmLSGxALM/SPAY=; b=NkLLJxE8fwt7yzixHP9Xk/6gqfNkCzlRr6S+suz/+frVuOvvcjgt2mvSEvzuugLG+HI2R4 imsoo3w5vK8vPVhDWB192luuqhvSQXnLJE9Zva8GYte4duQcUJwkjcf3prDqcJjlQcMRg2 A+7tBH/RjiVnMjkD0p1/CFme3RO5jhZXKfUsiAJNzr+ewFm4bR9mb1eqMV1CRSG3ySBpFq culIwMcHLykr/o23tOuxmtHtwgPOge/xRhSHD8XfV3kqQHbrx2IrVT4w4l5WgYy44gVcuV z6AhQu/l4ZJOPb6/hrySlYYi+1cZYI8vu+KsgOJBUbSLE7nzOOZapA7uk47rag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780339372; a=rsa-sha256; cv=none; b=Zc0J3WKo/mU03sR4gQMmSOGgnG6+mnafLfVlnfG3IanDrGAvpn6t6a/ayM3iltdKt10mjt /3tNSfJ8RFVZK5up4oysL//sjcSvpYQ2upT0gBvwQABAXrKWBbxAYJTAlNBMbDp/Uh31kC EcQYKG3jjhpfafAGbBIA20GEjKENp0cU9xllSFwur+Eofk9Y9fREGimi9fdN3cfCchDrzv vqgjmwGBN8iOTiZkvchn49aFoSHs2N4lCZlZdXol04xnKtTxla6n5vxfCMMbRrWkWQ9sos zRGQBeXmI+wUTLTa825Rw7L5kUvkK/VhhfOYJVIAU+0FzlTfTjtHkDek+sWeng== 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=1780339372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x9NGo8QjMuBVR8fPkBhM6hz+L4rOKMmLSGxALM/SPAY=; b=Kq3bF3//HhKRDmqwtGKNSTF4JEv1RyvcHfN973jgZnceaRPKOAq+5/CIPFYjiQN94PyXPx 90LbqPrAmwpwRmeDOHa4TXMCm+ywrSU/Yr3+qpCl2Z6yaehHQRbflW1ER3BBRDSJi24n50 mVOI2T4IWo7Djt2uIA9VU5k9ztowQj1zRQfwBdhebV/NtZdm6Zn+7dswIvROBMBHwU8Q1x a94w7Y8lLXiFjG1M7XGnkPu2gX4B0Xo+ptvOFjlSXJJgELDCXpkljz5zh4c7JadnT9ABJw u4uEKgDSmOCZ7AE+26tUOoSYOOgTVrtXmIQe2W/9141IZ1GnMKdjAxV3bPES+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 4gTjWc3XrpzqgP for ; Mon, 01 Jun 2026 18:42:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 216e6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 18:42:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: f77d37cffdf3 - main - linuxulator: Return EINVAL for invalid inotify flags List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f77d37cffdf3951b7f28b97005467241aa27c183 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 18:42:52 +0000 Message-Id: <6a1dd2ac.216e6.650c1269@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f77d37cffdf3951b7f28b97005467241aa27c183 commit f77d37cffdf3951b7f28b97005467241aa27c183 Author: Ed Maste AuthorDate: 2026-06-01 18:22:09 +0000 Commit: Ed Maste CommitDate: 2026-06-01 18:42:38 +0000 linuxulator: Return EINVAL for invalid inotify flags We implement all of the currently-defined Linux inotify mask bits and flags, with the same values as Linux. Return EINVAL for unknown bits, as Linux does. This also moves the translation inline into linux_inotify_add_watch. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57387 --- sys/compat/linux/linux_file.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index 30e79a53ad2a..9a1f21d5feb7 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -2034,23 +2034,17 @@ _Static_assert(LINUX_IN_ONESHOT == IN_ONESHOT, _Static_assert(LINUX_IN_EXCL_UNLINK == IN_EXCL_UNLINK, "IN_EXCL_UNLINK mismatch"); -static int -linux_inotify_watch_flags(int l_flags) -{ - if ((l_flags & ~(LINUX_IN_ALL_EVENTS | LINUX_IN_ALL_FLAGS)) != 0) { - linux_msg(NULL, "inotify_add_watch unsupported flags 0x%x", - l_flags); - } - - return (l_flags); -} - int linux_inotify_add_watch(struct thread *td, struct linux_inotify_add_watch_args *args) { + if ((args->mask & ~(LINUX_IN_ALL_EVENTS | LINUX_IN_ALL_FLAGS)) != 0) { + linux_msg(NULL, "inotify_add_watch unsupported flags 0x%x", + args->mask); + return (EINVAL); + } return (kern_inotify_add_watch(args->fd, AT_FDCWD, args->pathname, - linux_inotify_watch_flags(args->mask), td)); + args->mask, td)); } int From nobody Mon Jun 1 22:34:16 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfc2f7Lz6gBYV for ; Mon, 01 Jun 2026 22:34: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTpfc1mTTz3kvd for ; Mon, 01 Jun 2026 22:34:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780353256; 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=akexvP9h67wj4ZaC/ZvE0qKMl9QMM2Fug9kFL2ti1UA=; b=SxjKEoDjHhqr2NbRx/exjcjWNuey8Hy1pMW4rWsz7b6j+jaScwDLg1BY8OQW5Ne1hhdKsO Eb8hwsd0fRQsRHuOewh8erhyJ/dVqR7e9H59wr/VvaxyFbPSVq4MpYa9RcgLhhPki/UbkN MHagv+KhMMSxs+E3+1936GTmzqEcwdXF0No5yHIc9+GKh3K2hnd/swvysOsuHODrPvyDEG TU58/D+ea7cSjFsGpsUC3MMfX43eXQhFcWihOMSwen/DwVrtiQDNqJnFBydiAZECMZUxRp wYJ9ut/1YGZxV3s2aBhlk5uSr3YKzROl3U7z2vVk4zto5OQPUD4WdIkrPAttBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780353256; a=rsa-sha256; cv=none; b=iebc/pKdOSVIzkRefFHnzTM1fcRth+z795w+Ke3jpUWJ9+qOK3aqK53ZPg7sCQLOtPx4kE 8HTs1njsyq/Wzzr2/eQgXFbG/hnWRiRFbmIy1TEuWGc+35MBvJ1/FQW8RUguANZiO+m4DP qdqIVDQA0nfaNLZZGt5yVa+RwRV39j0gg8j3V9qCLO8bGL7O2Kh4n1gfjU2dhxkF40n0nX 5rnbldNKpFHSzsWhypZ3fY58kGk0Acbk2+bHscZ2I5uAd0hMMqWrAnLzvYRAHjhABQFc09 mQbfVjmpuo67e6osbeH3tfekA3Tt9xbhp12+/WwvJQwFUSbF5jjffEeVc1sgUQ== 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=1780353256; 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=akexvP9h67wj4ZaC/ZvE0qKMl9QMM2Fug9kFL2ti1UA=; b=RhU/InIbhZlEVNEFaN96X2w4ztCMcgBv8S2WxygH4wdeUGbb/vvGTjPjs4B2c/lXcZdwFa 7drGv1OgMNjd1U2JvZoHyw17EjCfBUfu09kZ3zwXnDWt1uRWnFYvAsW5mzYWdyD0xbZk4v IHGQRGZsvt6IaPOhcVF1CUeP3Y2zCHK3KYWe9U0CVYQ5Qqi/YwW0vdf+z8WBottX6pSFxB batlbhSUVywTLjFRkl3fNb0FRq7/52EHyRdd1Gn1/Qs/1aGI2rjnzUZg7qEtLlvBtOlx12 TIxx/M8WTL88XfqShKjrIPRGBMTc5yDMmMnthwFLgP6yN0kTkEnqIfwlIvereA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfc1KR0zx5M for ; Mon, 01 Jun 2026 22:34:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42606 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 22:34:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Jes=C3=BAs?= =?utf-8?Q?Bl=C3=A1zqu?=ez From: Robert Clausecker Subject: git: f8a72f48951f - stable/15 - lib/msun: Replaced pattern to force exception in _num families List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f8a72f48951fc9f156f122ef6ba5181df85a12e6 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 22:34:16 +0000 Message-Id: <6a1e08e8.42606.480ef7e9@gitrepo.freebsd.org> The branch stable/15 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=f8a72f48951fc9f156f122ef6ba5181df85a12e6 commit f8a72f48951fc9f156f122ef6ba5181df85a12e6 Author: Jesús Blázquez AuthorDate: 2026-04-27 16:43:41 +0000 Commit: Robert Clausecker CommitDate: 2026-06-01 22:33:34 +0000 lib/msun: Replaced pattern to force exception in _num families Replaced the old pattern of using a ternary to force addition (raising exceptions for sNaN's) with a new one using a volatile variable. The _mag_num family was already implemented with this pattern PR: 294719 Reviewed by: fuz, kargl MFC after: 1 month (cherry picked from commit 7c20e15592a07ea457cacb0d6706948815c8420e) --- lib/msun/src/s_fmaximum_num.c | 14 ++++++++++---- lib/msun/src/s_fmaximum_numf.c | 14 ++++++++++---- lib/msun/src/s_fmaximum_numl.c | 14 ++++++++++---- lib/msun/src/s_fminimum_num.c | 14 ++++++++++---- lib/msun/src/s_fminimum_numf.c | 14 ++++++++++---- lib/msun/src/s_fminimum_numl.c | 14 ++++++++++---- 6 files changed, 60 insertions(+), 24 deletions(-) diff --git a/lib/msun/src/s_fmaximum_num.c b/lib/msun/src/s_fmaximum_num.c index cf16c76f89b9..c3aae90af8e3 100644 --- a/lib/msun/src/s_fmaximum_num.c +++ b/lib/msun/src/s_fmaximum_num.c @@ -53,12 +53,18 @@ fmaximum_num(double x, double y) nan_y = u[1].bits.exp == 2047 && (u[1].bits.manh | u[1].bits.manl) != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fmaximum_numf.c b/lib/msun/src/s_fmaximum_numf.c index c30179e47f9e..21a3d8672f98 100644 --- a/lib/msun/src/s_fmaximum_numf.c +++ b/lib/msun/src/s_fmaximum_numf.c @@ -52,12 +52,18 @@ fmaximum_numf(float x, float y) nan_y = u[1].bits.exp == 255 && u[1].bits.man != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fmaximum_numl.c b/lib/msun/src/s_fmaximum_numl.c index 2291d01ca4f4..f806d97bd813 100644 --- a/lib/msun/src/s_fmaximum_numl.c +++ b/lib/msun/src/s_fmaximum_numl.c @@ -47,12 +47,18 @@ fmaximum_numl(long double x, long double y) nan_y = u[1].bits.exp == 32767 && (u[1].bits.manh | u[1].bits.manl) != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fminimum_num.c b/lib/msun/src/s_fminimum_num.c index 71b5f072c32d..562d7932b464 100644 --- a/lib/msun/src/s_fminimum_num.c +++ b/lib/msun/src/s_fminimum_num.c @@ -53,12 +53,18 @@ fminimum_num(double x, double y) nan_y = u[1].bits.exp == 2047 && (u[1].bits.manh | u[1].bits.manl) != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fminimum_numf.c b/lib/msun/src/s_fminimum_numf.c index d5bab31ce403..575a3c70cba7 100644 --- a/lib/msun/src/s_fminimum_numf.c +++ b/lib/msun/src/s_fminimum_numf.c @@ -52,12 +52,18 @@ fminimum_numf(float x, float y) nan_y = u[1].bits.exp == 255 && u[1].bits.man != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fminimum_numl.c b/lib/msun/src/s_fminimum_numl.c index 6b26d2218d42..60248eba48f3 100644 --- a/lib/msun/src/s_fminimum_numl.c +++ b/lib/msun/src/s_fminimum_numl.c @@ -47,12 +47,18 @@ fminimum_numl(long double x, long double y) nan_y = u[1].bits.exp == 32767 && (u[1].bits.manh | u[1].bits.manl) != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ From nobody Mon Jun 1 22:34:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfd3sggz6gBfT for ; Mon, 01 Jun 2026 22:34: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTpfd2qT9z3kmr for ; Mon, 01 Jun 2026 22:34:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780353257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HrE1ODYcAmBxszzM+yikcozSC0LXxmRrfKZZ6T6kBjo=; b=RUwXRbOprPV9v6CtSlBS1KV1fEHYvlCCOXRSjtHiSzvnDfUnxqMPO+xn96xEu2WERbgXk1 0QTF4+fxatrM44EEl42jYFIlag8kBsIveHuOF9iXCT43PbYxzdhnadCcr8Zyxj//Xr20Qj PqkHjdXMHPFMqxCnt4ABU9Remj7D8xPD6YdDPzm9fNxQIDdi7Pk7xFnT1kilnGqSH9HXQJ fED0Oj1pZlhlxfH/4UJdjlNwWFhNhQXW3FprhIEmcruWA8PVhPsLGB5FRYaEduxzJuwZHg Mqnxehi8WayVDGCdn3Q8WSuAwEnzjiZQmgQc+EMQNfTPihf3FTQyvKf/rfCxQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780353257; a=rsa-sha256; cv=none; b=GFs6YDRznJFTV6C6Xb2chB+yKLX3XpxkaTguFt+jL8oJMykgjrrW8il+gP7XnpsQK7U/6J g8AwdtDr1LCHC1L6vsI7rU8u3N2hOrC55XxKi8m3AvaeZm1qE9zsnkrsCycajpGDK6X4rx ChjvyxGGVchOU06DTQ4/GD8n6UFvKQmWqRiB4gQpnfhrSu1saLUtADRQhK0Q7K0FczQlCm mLBkuEFaNuHRAo8TvzKIAtJ9tMDQ3mqMHxS76z7eH/PLVdsty88JF6NaVDWWNHjv9r9Wom hLulXwEAjtJ+vGWbUWwAcgk+yoE75OPY9b0t4JkRC9CjR+sy6zwiW1XYqh3HFQ== 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=1780353257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HrE1ODYcAmBxszzM+yikcozSC0LXxmRrfKZZ6T6kBjo=; b=XCddHCS2H4HAGEX9hx2p3tFzKgkPMCiHwqO7075EU3Ib88jZYrmnZCEQqHXZnmZTv3UyTc cavEUMq5e1g5um9vnil9EX1c/gyq9be02f2qQaOGfCSvvldiwSkuWer13wF2+ukdud6x9l Q9SrMuBEORjcrjzgRGZy7M6dqrFtVSF8pc9rASXCL1r/8Xw/1JboeZdfV5M7B3Pn5Ip7M/ hw0AvEPuiI9o2VBUEm1z7e2VJ9B1Drqvmd4TZC1Ps2ZXnpbVN1GUuoj70AlvdPPjVqD67m SgD9ifiDVnwe9T+1XIISmbe13dr+3sxKxiwDHVQZqzB90E0a2Lq4PEYYMfRIxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfd280hzy5Q for ; Mon, 01 Jun 2026 22:34:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4249e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 22:34:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Robert Clausecker Subject: git: c485a0b83889 - stable/15 - man/math.3: mention fmaximum_mag_num, fminimum_mag_num List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c485a0b8388904d115ce10bbd68fa33486cb23e3 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 22:34:17 +0000 Message-Id: <6a1e08e9.4249e.1fa840be@gitrepo.freebsd.org> The branch stable/15 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=c485a0b8388904d115ce10bbd68fa33486cb23e3 commit c485a0b8388904d115ce10bbd68fa33486cb23e3 Author: Robert Clausecker AuthorDate: 2026-05-02 14:53:08 +0000 Commit: Robert Clausecker CommitDate: 2026-06-01 22:33:34 +0000 man/math.3: mention fmaximum_mag_num, fminimum_mag_num PR: 294719 MFC after: 1 month (cherry picked from commit 9f98195ff615417f7af875b65cdaf220239206db) --- lib/msun/man/math.3 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/msun/man/math.3 b/lib/msun/man/math.3 index f98c5e1a2a75..882bfdf5225f 100644 --- a/lib/msun/man/math.3 +++ b/lib/msun/man/math.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 11, 2026 +.Dd May 2, 2026 .Dt MATH 3 .Os .Sh NAME @@ -117,12 +117,14 @@ fabs absolute value fdim positive difference fmax maximum function (legacy) fmaximum maximum function (prefers \*(Na) -fmaximum_mag maximum magnitude (prefers \*(Na) fmaximum_num maximum function (avoids \*(Na) +fmaximum_mag maximum magnitude (prefers \*(Na) +fmaximum_mag_num maximum magnitude (avoids \*(Na) fmin minimum function (legacy) fminimum minimum function (prefers \*(Na) -fminimum_mag minimum magnitude (prefers \*(Na) fminimum_num minimum function (avoids \*(Na) +fminimum_mag minimum magnitude (prefers \*(Na) +fminimum_mag_num minimum magnitude (avoids \*(Na) signbit extract sign bit .El .Ss Not a Number Functions From nobody Mon Jun 1 22:34:15 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfh4jP8z6gBfZ for ; Mon, 01 Jun 2026 22:34: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTpfh1sC2z3knD for ; Mon, 01 Jun 2026 22:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780353260; 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=/KHNyYp5CkyC2njUE/rkgx8rgdHD2Er06j9exbcqAXI=; b=j0+cfel/hnWDUY68YH84Zclj14bN9jrZw7j9SoiNpVhKTnRyxzWRaqxm4RkpyXLZMqY2gC QQKGQMLp/p59bCqcq+kBIDzUNeDm/TuwYb9JG2/5AaraKF3pL/Q+d196YXtPwBNdID1CSA Kqme96i0Tf/IThNDP5+S0yGwFh6xyoUtTJ2Ju4wv4VEAIj5wbkjVmVxaYYyNjW1GJkgM8b tv/d65mg1MbxpiUwGbnsE/8Kvlex7lvjVL8AMMEpGzfU9AR4z8qjKVA7qMCUk9NqZhJ9lw dI8v6+Gj/F8DdifCi4mfzBGDrylOXeBvCcDfAS81sS0Y9K9wyr4+nqgtEfUcLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780353260; a=rsa-sha256; cv=none; b=V35TOcfgXAIADfA9YbVeXm0V4Q21/szVD+yhzdFau/iR9AK9U3vcvAyc/Pd5xjqR50VYkJ moWp3OuQP28wZbqm/IgGSS9gHfQr+Zu3s0C5EQZ2HjD2N8WoPG1F+Mg1XNvmA4MOphl7mg Ns5GdV+/jX9cDjIhN8F+tgkoy85tWW6PjjCKhwi2U/mthUB4o2pD9PLZu5XM7z8XtnnY4C 2qPnMoulZTXlxZyDvuqX/KDN3iUTK/kUyt3sqi86H/aTzHKPqRtQapdLdPhkP1QuWcBfa5 NeSnzhfqvuTzOerPiOU4ZSNoBCCgoc0DWmzUXOKX1oov2r0KWeDS0pccOKrhjA== 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=1780353260; 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=/KHNyYp5CkyC2njUE/rkgx8rgdHD2Er06j9exbcqAXI=; b=oHbyis6shi+XF971kmkHr8vYIs65H8d9fu+ieAjyecFrpiuosuqkK4WhKSQcPSIN8sd191 j7C+rCwwPEtz5qqV9nSwQDxiZjrUKaPjey0vxAOVS2gy6WVwHDFHbzNqqCNG2NrPv47nXd obFLg0n4Q5/yCZyXyH5ct2Yf8qRwlKyGJ6bO9CF5y8wRcxhU+ObXcdjgYiq7kEZYLxZXcR 6yZK7nRMHlaks7vD82OHlQTaJo6IqbaJI+FvRr3DgDi0BmOBRBrXJ8EPyOqU3y/CcCkJAL SBi5lx+hIowlHSH4pXdqM1bwIieZVz4valw/lyB9YmPvkIHRJ8k3Uwn5ttr8cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfh0sY2zy36 for ; Mon, 01 Jun 2026 22:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42c21 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 22:34:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Jes=C3=BAs?= =?utf-8?Q?Bl=C3=A1zqu?=ez From: Robert Clausecker Subject: git: 9bba4a225041 - stable/15 - lib/msun: fmaximum_mag_num family. Tests and man page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9bba4a22504180974bfc009f25502032d7a3232f Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 22:34:15 +0000 Message-Id: <6a1e08e7.42c21.3db5a1e4@gitrepo.freebsd.org> The branch stable/15 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=9bba4a22504180974bfc009f25502032d7a3232f commit 9bba4a22504180974bfc009f25502032d7a3232f Author: Jesús Blázquez AuthorDate: 2026-04-21 17:17:00 +0000 Commit: Robert Clausecker CommitDate: 2026-06-01 22:33:34 +0000 lib/msun: fmaximum_mag_num family. Tests and man page Added the fmaximum_mag_num{,f,l} and fminimum_mag_num{,f,l} functions. PR: 294719 Reviewed by: fuz, kargl MFC after: 1 month (cherry picked from commit f62d826a6f5b9022b0cedfe22a698998ad9cb7f4) --- lib/msun/Makefile | 18 ++++-- lib/msun/Symbol.map | 18 ++++-- lib/msun/man/fmaximum_mag.3 | 2 +- lib/msun/man/fmaximum_mag_num.3 | 109 ++++++++++++++++++++++++++++++++ lib/msun/src/math.h | 18 ++++-- lib/msun/src/s_fmaximum_mag_num.c | 88 ++++++++++++++++++++++++++ lib/msun/src/s_fmaximum_mag_numf.c | 84 ++++++++++++++++++++++++ lib/msun/src/s_fmaximum_mag_numl.c | 77 ++++++++++++++++++++++ lib/msun/src/s_fminimum_mag_num.c | 90 ++++++++++++++++++++++++++ lib/msun/src/s_fminimum_mag_numf.c | 85 +++++++++++++++++++++++++ lib/msun/src/s_fminimum_mag_numl.c | 79 +++++++++++++++++++++++ lib/msun/tests/fmaximum_fminimum_test.c | 28 +++++++- 12 files changed, 677 insertions(+), 19 deletions(-) diff --git a/lib/msun/Makefile b/lib/msun/Makefile index 75917b9b6abe..5e9adb533760 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -76,9 +76,11 @@ COMMON_SRCS= b_tgamma.c \ s_finite.c s_finitef.c \ s_floor.c s_floorf.c s_fma.c s_fmaf.c \ s_fmax.c s_fmaxf.c s_fmaximum.c s_fmaximumf.c \ - s_fmaximum_mag.c s_fmaximum_magf.c s_fmaximum_num.c s_fmaximum_numf.c \ + s_fmaximum_mag.c s_fmaximum_magf.c s_fmaximum_mag_num.c \ + s_fmaximum_mag_numf.c s_fmaximum_num.c s_fmaximum_numf.c \ s_fmin.c s_fminf.c s_fminimum.c s_fminimumf.c \ - s_fminimum_mag.c s_fminimum_magf.c s_fminimum_num.c s_fminimum_numf.c \ + s_fminimum_mag.c s_fminimum_magf.c s_fminimum_mag_num.c \ + s_fminimum_mag_numf.c s_fminimum_num.c s_fminimum_numf.c \ s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \ s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c \ s_llrint.c s_llrintf.c s_llround.c s_llroundf.c s_llroundl.c \ @@ -135,8 +137,10 @@ COMMON_SRCS+= b_tgammal.c catrigl.c \ s_asinhl.c s_atanl.c s_cbrtl.c s_ceill.c s_cexpl.c \ s_clogl.c s_cosl.c s_cospil.c s_cprojl.c \ s_csqrtl.c s_erfl.c s_exp2l.c s_expl.c s_floorl.c s_fmal.c \ - s_fmaxl.c s_fmaximuml.c s_fmaximum_magl.c s_fmaximum_numl.c \ - s_fminl.c s_fminimuml.c s_fminimum_magl.c s_fminimum_numl.c \ + s_fmaxl.c s_fmaximuml.c s_fmaximum_magl.c \ + s_fmaximum_numl.c s_fmaximum_mag_numl.c \ + s_fminl.c s_fminimuml.c s_fminimum_magl.c \ + s_fminimum_numl.c s_fminimum_mag_numl.c \ s_frexpl.c s_logbl.c s_logl.c s_nanl.c \ s_nextafterl.c s_nexttoward.c s_remquol.c s_rintl.c s_roundl.c \ s_scalbnl.c s_sinl.c s_sincosl.c s_sinpil.c s_rsqrtl.c \ @@ -182,7 +186,8 @@ MAN= acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 \ exp.3 fabs.3 fdim.3 \ feclearexcept.3 feenableexcept.3 fegetenv.3 \ fegetround.3 fenv.3 floor.3 fma.3 \ - fmax.3 fmaximum.3 fmaximum_mag.3 fmaximum_num.3 fmod.3 \ + fmax.3 fmaximum.3 fmaximum_mag.3 \ + fmaximum_mag_num.3 fmaximum_num.3 fmod.3 \ hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \ lgamma.3 log.3 lrint.3 lround.3 math.3 nan.3 \ nextafter.3 remainder.3 rint.3 \ @@ -242,6 +247,9 @@ MLINKS+=fmaximum.3 fmaximumf.3 fmaximum.3 fmaximuml.3 \ MLINKS+=fmaximum_mag.3 fmaximum_magf.3 fmaximum_mag.3 fmaximum_magl.3 \ fmaximum_mag.3 fminimum_mag.3 fmaximum_mag.3 fminimum_magf.3 \ fmaximum_mag.3 fminimum_magl.3 +MLINKS+=fmaximum_mag_num.3 fmaximum_mag_numf.3 fmaximum_mag_num.3 fmaximum_mag_numl.3 \ + fmaximum_mag_num.3 fminimum_mag_num.3 fmaximum_mag_num.3 fminimum_mag_numf.3 \ + fmaximum_mag_num.3 fminimum_mag_numl.3 MLINKS+=fmaximum_num.3 fmaximum_numf.3 fmaximum_num.3 fmaximum_numl.3 \ fmaximum_num.3 fminimum_num.3 fmaximum_num.3 fminimum_numf.3 \ fmaximum_num.3 fminimum_numl.3 diff --git a/lib/msun/Symbol.map b/lib/msun/Symbol.map index 245a72984f72..2484cc13013b 100644 --- a/lib/msun/Symbol.map +++ b/lib/msun/Symbol.map @@ -323,21 +323,27 @@ FBSD_1.9 { fmaximum; fmaximumf; fmaximuml; - fminimum; - fminimumf; - fminimuml; fmaximum_mag; fmaximum_magf; fmaximum_magl; - fminimum_mag; - fminimum_magf; - fminimum_magl; + fmaximum_mag_num; + fmaximum_mag_numf; + fmaximum_mag_numl; fmaximum_num; fmaximum_numf; fmaximum_numl; + fminimum; + fminimumf; + fminimuml; + fminimum_mag; + fminimum_magf; + fminimum_magl; fminimum_num; fminimum_numf; fminimum_numl; + fminimum_mag_num; + fminimum_mag_numf; + fminimum_mag_numl; rsqrt; rsqrtf; rsqrtl; diff --git a/lib/msun/man/fmaximum_mag.3 b/lib/msun/man/fmaximum_mag.3 index f5e4c39f96ef..004f9d51daa2 100644 --- a/lib/msun/man/fmaximum_mag.3 +++ b/lib/msun/man/fmaximum_mag.3 @@ -84,7 +84,7 @@ These routines do not raise any floating-point exceptions. .Sh SEE ALSO .Xr fmax 3 , .Xr fmaximum 3 , -.Xr fmaximum_num 3 , +.Xr fmaximum_mag_num 3 , .Xr math 3 .Sh STANDARDS The diff --git a/lib/msun/man/fmaximum_mag_num.3 b/lib/msun/man/fmaximum_mag_num.3 new file mode 100644 index 000000000000..525822bcde27 --- /dev/null +++ b/lib/msun/man/fmaximum_mag_num.3 @@ -0,0 +1,109 @@ +.\" Copyright (c) 2004 David Schultz +.\" Copyright (c) 2026 Jesús Blázquez +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" 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 April 3, 2026 +.Dt FMAXIMUM_MAG_NUM 3 +.Os +.Sh NAME +.Nm fmaximum_mag_num , +.Nm fmaximum_mag_numf , +.Nm fmaximum_mag_numl , +.Nm fminimum_mag_num , +.Nm fminimum_mag_numf , +.Nm fminimum_mag_numl +.Nd floating-point maximum and minimum magnitude number functions +.Sh LIBRARY +.Lb libm +.Sh SYNOPSIS +.In math.h +.Ft double +.Fn fmaximum_mag_num "double x" "double y" +.Ft float +.Fn fmaximum_mag_numf "float x" "float y" +.Ft "long double" +.Fn fmaximum_mag_numl "long double x" "long double y" +.Ft double +.Fn fminimum_mag_num "double x" "double y" +.Ft float +.Fn fminimum_mag_numf "float x" "float y" +.Ft "long double" +.Fn fminimum_mag_numl "long double x" "long double y" +.Sh DESCRIPTION +The +.Fn fmaximum_mag_num , +.Fn fmaximum_mag_numf , +and +.Fn fmaximum_mag_numl +functions determine the larger of the absolute values of +.Fa x +and +.Fa y , +and return the argument with the larger absolute value, +preferring a numeric value over an \*(Na. +If one argument is a numeric value and the other is an \*(Na, +the numeric value is returned. +If the absolute values are equal, the behavior is equivalent to calling the corresponding +.Fn fmaximum_num +function on the arguments. +.Pp +Likewise, the +.Fn fminimum_mag_num , +.Fn fminimum_mag_numf , +and +.Fn fminimum_mag_numl +functions determine the smaller of the absolute values of +.Fa x +and +.Fa y , +and return the argument with the smaller absolute value, +preferring a numeric value over an \*(Na. +If one argument is a numeric value and the other is an \*(Na, +the numeric value is returned. +If the absolute values are equal, the behavior is equivalent to calling the corresponding +.Fn fminimum_num +function on the arguments. +.Pp +If both arguments are \*(Nas, a quiet \*(Na is returned. +If either argument is a signaling \*(Na, an invalid exception is raised. +Otherwise, these routines do not raise any floating-point exceptions. +.Sh SEE ALSO +.Xr fmax 3 , +.Xr fmaximum 3 , +.Xr fmaximum_mag 3 , +.Xr fmaximum_num 3 , +.Xr math 3 +.Sh STANDARDS +The +.Fn fmaximum_mag_num , +.Fn fmaximum_mag_numf , +.Fn fmaximum_mag_numl , +.Fn fminimum_mag_num , +.Fn fminimum_mag_numf , +and +.Fn fminimum_mag_numl +functions conform to +.St -isoC-2023 . +.Sh HISTORY +These routines first appeared in +.Fx 16.0 ..\" diff --git a/lib/msun/src/math.h b/lib/msun/src/math.h index 7a91ed13da9c..e5c2ccb786a4 100644 --- a/lib/msun/src/math.h +++ b/lib/msun/src/math.h @@ -523,18 +523,24 @@ long double tanpil(long double); double fmaximum(double, double); float fmaximumf(float, float); long double fmaximuml(long double, long double); -double fminimum(double, double); -float fminimumf(float, float); -long double fminimuml(long double, long double); double fmaximum_mag(double, double); float fmaximum_magf(float, float); long double fmaximum_magl(long double, long double); -double fminimum_mag(double, double); -float fminimum_magf(float, float); -long double fminimum_magl(long double, long double); +double fmaximum_mag_num(double, double); +float fmaximum_mag_numf(float, float); +long double fmaximum_mag_numl(long double, long double); double fmaximum_num(double, double); float fmaximum_numf(float, float); long double fmaximum_numl(long double, long double); +double fminimum(double, double); +float fminimumf(float, float); +long double fminimuml(long double, long double); +double fminimum_mag(double, double); +float fminimum_magf(float, float); +long double fminimum_magl(long double, long double); +double fminimum_mag_num(double, double); +float fminimum_mag_numf(float, float); +long double fminimum_mag_numl(long double, long double); double fminimum_num(double, double); float fminimum_numf(float, float); long double fminimum_numl(long double, long double); diff --git a/lib/msun/src/s_fmaximum_mag_num.c b/lib/msun/src/s_fmaximum_mag_num.c new file mode 100644 index 000000000000..fbb8ffbfc250 --- /dev/null +++ b/lib/msun/src/s_fmaximum_mag_num.c @@ -0,0 +1,88 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * 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. + */ + +#include +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM_MAG_NUM +double +fmaximum_mag_num(double x, double y) +{ + return (__builtin_fmaximum_mag_num(x, y)); +} +#else +double +fmaximum_mag_num(double x, double y) +{ + union IEEEd2bits u[2]; + bool nan_x, nan_y; + + u[0].d = x; + u[1].d = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + double ax = fabs(x); + double ay = fabs(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].d); + + return (x); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fmaximum_mag_num, fmaximum_mag_numl); +#endif diff --git a/lib/msun/src/s_fmaximum_mag_numf.c b/lib/msun/src/s_fmaximum_mag_numf.c new file mode 100644 index 000000000000..18232ed5aba8 --- /dev/null +++ b/lib/msun/src/s_fmaximum_mag_numf.c @@ -0,0 +1,84 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * 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. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM_MAG_NUMF +float +fmaximum_mag_numf(float x, float y) +{ + return (__builtin_fmaximum_mag_numf(x, y)); +} +#else +float +fmaximum_mag_numf(float x, float y) +{ + union IEEEf2bits u[2]; + bool nan_x, nan_y; + + u[0].f = x; + u[1].f = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + float ax = fabsf(x); + float ay = fabsf(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].f); + + return (x); +} +#endif + diff --git a/lib/msun/src/s_fmaximum_mag_numl.c b/lib/msun/src/s_fmaximum_mag_numl.c new file mode 100644 index 000000000000..eceee8059b03 --- /dev/null +++ b/lib/msun/src/s_fmaximum_mag_numl.c @@ -0,0 +1,77 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * 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. + */ + +#include +#include + +#include "fpmath.h" + +long double +fmaximum_mag_numl(long double x, long double y) +{ + union IEEEl2bits u[2]; + bool nan_x, nan_y; + + u[0].e = x; + mask_nbit_l(u[0]); + u[1].e = y; + mask_nbit_l(u[1]); + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + long double ax = fabsl(x); + long double ay = fabsl(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[0].bits.sign ? y : x); + + return (x); +} diff --git a/lib/msun/src/s_fminimum_mag_num.c b/lib/msun/src/s_fminimum_mag_num.c new file mode 100644 index 000000000000..b5f62837f1b4 --- /dev/null +++ b/lib/msun/src/s_fminimum_mag_num.c @@ -0,0 +1,90 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * 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. + */ + +#include +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMINIMUM_MAG_NUM +double +fminimum_mag_num(double x, double y) +{ + return (__builtin_fminimum_mag_num(x, y)); +} +#else +double +fminimum_mag_num(double x, double y) +{ + union IEEEd2bits u[2]; + bool nan_x, nan_y; + + u[0].d = x; + u[1].d = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + double ax = fabs(x); + double ay = fabs(y); + + if (ay < ax) + return (y); + if (ax < ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[1].bits.sign].d); + + return (x); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fminimum_mag_num, fminimum_mag_numl); +#endif + + diff --git a/lib/msun/src/s_fminimum_mag_numf.c b/lib/msun/src/s_fminimum_mag_numf.c new file mode 100644 index 000000000000..b8cb31f2315a --- /dev/null +++ b/lib/msun/src/s_fminimum_mag_numf.c @@ -0,0 +1,85 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * 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. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMINIMUM_MAG_NUMF +float +fminimum_mag_numf(float x, float y) +{ + return (__builtin_fminimum_mag_numf(x, y)); +} +#else +float +fminimum_mag_numf(float x, float y) +{ + union IEEEf2bits u[2]; + bool nan_x, nan_y; + + u[0].f = x; + u[1].f = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + float ax = fabsf(x); + float ay = fabsf(y); + + if (ay < ax) + return (y); + if (ax < ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[1].bits.sign].f); + + return (x); +} +#endif + + diff --git a/lib/msun/src/s_fminimum_mag_numl.c b/lib/msun/src/s_fminimum_mag_numl.c new file mode 100644 index 000000000000..1d001e84b618 --- /dev/null +++ b/lib/msun/src/s_fminimum_mag_numl.c @@ -0,0 +1,79 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * 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. + */ + +#include +#include + +#include "fpmath.h" + +long double +fminimum_mag_numl(long double x, long double y) +{ + union IEEEl2bits u[2]; + bool nan_x, nan_y; + + u[0].e = x; + mask_nbit_l(u[0]); + u[1].e = y; + mask_nbit_l(u[1]); + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + long double ax = fabsl(x); + long double ay = fabsl(y); + + if (ay < ax) + return (y); + if (ax < ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[1].bits.sign ? y : x); + + return (x); +} + + diff --git a/lib/msun/tests/fmaximum_fminimum_test.c b/lib/msun/tests/fmaximum_fminimum_test.c index 4c8ec9a5b0e0..0d97c4be8d8c 100644 --- a/lib/msun/tests/fmaximum_fminimum_test.c +++ b/lib/msun/tests/fmaximum_fminimum_test.c @@ -27,7 +27,8 @@ /* * Tests for fmaximum{,f,l}(), fminimum{,f,l}(), fmaximum_mag{,f,l}, - * fminimum_mag{,f,l}, fmaximum_num{,f,l}, fminimum_num{,f,l} + * fminimum_mag{,f,l}, fmaximum_num{,f,l}, fminimum_num{,f,l}, + * fmaximum_mag_num{,f,l} and fminimum_mag_num{,f,l} */ #include @@ -130,6 +131,30 @@ testall_num_r(long double big, long double small, int rmode) { TEST(fminimum_numl, long double, small, big, expected_min_num, rmode); } +static void +testall_mag_num_r(long double big, long double small, int rmode) { + long double expected_max_mag_num = isnan(big) ? small : big; + long double expected_min_mag_num = isnan(small) ? big : small; + + if (fabsl(small) > fabsl(big)) { + expected_max_mag_num = small; + expected_min_mag_num = big; + } + + TEST(fmaximum_mag_numf, float, big, small, expected_max_mag_num, rmode); + TEST(fmaximum_mag_numf, float, small, big, expected_max_mag_num, rmode); + TEST(fmaximum_mag_num, double, big, small, expected_max_mag_num, rmode); + TEST(fmaximum_mag_num, double, small, big, expected_max_mag_num, rmode); + TEST(fmaximum_mag_numl, long double, big, small, expected_max_mag_num, rmode); + TEST(fmaximum_mag_numl, long double, small, big, expected_max_mag_num, rmode); + TEST(fminimum_mag_numf, float, big, small, expected_min_mag_num, rmode); + TEST(fminimum_mag_numf, float, small, big, expected_min_mag_num, rmode); + TEST(fminimum_mag_num, double, big, small, expected_min_mag_num, rmode); + TEST(fminimum_mag_num, double, small, big, expected_min_mag_num, rmode); + TEST(fminimum_mag_numl, long double, big, small, expected_min_mag_num, rmode); + TEST(fminimum_mag_numl, long double, small, big, expected_min_mag_num, rmode); +} + /* * Test all the functions: fmaximumf, fmaximum, fmaximuml, fminimumf, fminimum, fminimuml * in all rounding modes and with the arguments in different orders. @@ -148,6 +173,7 @@ testall(long double big, long double small) testall_r(big, small, rmodes[i]); testall_mag_r(big, small, rmodes[i]); testall_num_r(big, small, rmodes[i]); + testall_mag_num_r(big, small, rmodes[i]); } } From nobody Tue Jun 2 00:15:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTrvQ64zlz6gNVc for ; Tue, 02 Jun 2026 00:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTrvQ1phHz3td6 for ; Tue, 02 Jun 2026 00:15:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780359330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hhpfHONCkdVUHh2vABPLhV0bTDx0TQOCOtm4YQP6Rzs=; b=EAqrjuz+D9wJu4o4b+0vb+n07rjD4zh4tJnqqHtgb58B4ZdLXsFavqLHR/pa/OFlnsIdEZ 2o4tzPSi3seKEjYzewXDHAWsE4ci+vt9v+yBbaUVdDm6Hal9Urdggvye7bItybfbtg+wW5 FtUYE0nV4V8YCJqzBV2/3LmDQTENBdPCp/g9WC0wdY1ufYrEomf+bOWquhZDEvHigGlWvI Uc/46QulU/pl6y+Gaew1HQKETzWBa01yRwTVMTf8a4jAEZ9/QaFoiGd3aQcMld5pXCsxtF iaAetqbbyrdP3wSOsJ61L3JUZ0k3/La2BB5Bb+lPxqUmJPbTzNdMB9jQBnp89Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780359330; a=rsa-sha256; cv=none; b=UPG7dV6P2ExMnTjEinvlZ3TThuBT+74eIgHH07EecWwLgwhgEuf03Fc5b6PkyVpiv9w6LB al3Qfm2GdpB1EDaTWFmTJS0je2EMKNxDAaUV9dySMkAMhkgbZqBzTmaZm05vyaHVUXdiw/ oA4xw+iVDUUs8VrkfQtnUkWL2m6bgjdvof3fKgSvrO6Qm76QBTqRxFOq47MavnBkiksuC3 lvbMVIVxACjS1QdHmCgaCr+/UozCvE6Z1Nstw0dn8qyMg20Zg2d7+m+9+1w5ghvR4GhEeP tXiv3LRVgpWFUNMKC7g5lAO5Crtyj7eN5UDZk5QVl7ss+NMBJMmhbz0XO4j/nQ== 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=1780359330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hhpfHONCkdVUHh2vABPLhV0bTDx0TQOCOtm4YQP6Rzs=; b=lkT0n8tUTbEVI8vIKc3o/jXLLDkffYCgRZSw08+aeI0Ly0dXbjnhhtfoe5/O4n/ZwcHvVZ xlSiOv6Ez2Aphdj+9czel22o51Bnv6k2k7kojKSq05UOjITs1YX8MXVmxXfjqvLJUn8uHc yj4BLm0HfYzk+95pWbMza7G+q43Xiswlw878b5lJdHyPTj4RBZH24/qZ5Q14haNCQ6TAlF sWxL0k9Lwtyx2x0zxZGbTjJrn5oClbQFr0l4i0CrvCmOZYsTb9S6xD1CEyHjy+ufkcdM53 WTeVqQNLZSp2YTJvtfIfejHxmHdjxq4EzgyQaMoJ9MEgJiZ/ZQHBRnR/zwjlAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTrvQ1M9vz119y for ; Tue, 02 Jun 2026 00:15:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1dd8f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 00:15:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 553ef188f7ec - main - Avoid incorrect UFS1 timestamp corrections when system clock fails at boot. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 553ef188f7ecc23a384bd7ef1f3d5015fb8661da Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 00:15:30 +0000 Message-Id: <6a1e20a2.1dd8f.169e05f5@gitrepo.freebsd.org> The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=553ef188f7ecc23a384bd7ef1f3d5015fb8661da commit 553ef188f7ecc23a384bd7ef1f3d5015fb8661da Author: Kirk McKusick AuthorDate: 2026-06-01 23:48:21 +0000 Commit: Kirk McKusick CommitDate: 2026-06-01 23:48:21 +0000 Avoid incorrect UFS1 timestamp corrections when system clock fails at boot. Git 1111a44301da - main - Defer the January 19, 2038 date limit in UFS1 file systems to February 7, 2106 - did so by changing the UFS1 32-bit signed timestamps to unsigned. With this change, time stamps from before January 1, 1970 went from being negative numbers to large positive numbers implying times in the future. When such a time stamp is encountered when an inode is read into memory or when it is encountered by fsck, its timestamp is replaced with the kernel's current time. Andre Albsmeier reported that he had a machine reboot after a power failure and the battery that maintained its real-time clock had died. The result was that the system booted with the time set to five years earlier (absent a real-time clock value, the boot ROM used the time that the boot ROM had last been updated). The net result was that fsck reset the time stamps of all files newer than five years old to the five year old time. Andres's original request was for a flag in the file system superblock to say that there are no timestamps from before 1970 in the file system, so there shouldn't be anything to fix because of the signed to unsigned switch. But this assumes that no one every does an rsync or extracts a tar file or restores a dump that introduces an incorrect time stamp on their system. So this approach was not taken. This change compares the system's version of the current time to the last modification time in the file system superblock. If the current time is earlier than that time then use the last modification time in the superblock as the value for the current time. There should be no files in the file system with times newer than the last modification time in the superblock. The superblock time stamp is updated in the in-memory superblock every time any change is made to anything in the file system. The superblock is written to the disk every 30 seconds, so it may be off by up to 30 seconds plus the time it sits in the disk cache waiting to be written if the system has an unclean shutdown (such as a power failure). Thus, the worst case scenario with this change is that files written in the last 30 seconds plus disk cache delay time before the crash may have their times adjusted back by up to 30 seconds plus the disk cache delay time. Requested by: Andre Albsmeier Approved by: kib Reviewed by: kib, imp, Andre Albsmeier MFC-after: 1 week Differential Revision: https://reviews.freebsd.org/D57371 --- lib/libufs/inode.c | 17 +++++++++-------- sbin/fsck_ffs/inode.c | 3 ++- sys/ufs/ffs/ffs_vfsops.c | 7 ++++--- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/lib/libufs/inode.c b/lib/libufs/inode.c index bc4d99c66203..a93e1b085342 100644 --- a/lib/libufs/inode.c +++ b/lib/libufs/inode.c @@ -57,7 +57,8 @@ getinode(struct uufsd *disk, union dinodep *dp, ino_t inum) ino_t min, max; caddr_t inoblock; struct fs *fs; - struct timespec now; + struct timespec time; + time_t now; ERROR(disk, NULL); @@ -70,10 +71,11 @@ getinode(struct uufsd *disk, union dinodep *dp, ino_t inum) min = disk->d_inomin; max = disk->d_inomax; - if (clock_gettime(CLOCK_REALTIME_FAST, &now) != 0) { - ERROR(disk, "cannot get current time of day"); - return (-1); - } + if (clock_gettime(CLOCK_REALTIME_FAST, &time) == 0 && + time.tv_sec > fs->fs_time) + now = time.tv_sec; + else + now = fs->fs_time; if (inum >= min && inum < max) goto gotit; bread(disk, fsbtodb(fs, ino_to_fsba(fs, inum)), inoblock, @@ -83,7 +85,7 @@ getinode(struct uufsd *disk, union dinodep *dp, ino_t inum) gotit: switch (disk->d_ufs) { case 1: disk->d_dp.dp1 = &((struct ufs1_dinode *)inoblock)[inum - min]; - if (ffs_oldfscompat_inode_read(fs, disk->d_dp, now.tv_sec)) + if (ffs_oldfscompat_inode_read(fs, disk->d_dp, now)) putinode(disk); if (dp != NULL) *dp = disk->d_dp; @@ -93,8 +95,7 @@ gotit: switch (disk->d_ufs) { if (dp != NULL) *dp = disk->d_dp; if (ffs_verify_dinode_ckhash(fs, disk->d_dp.dp2) == 0) { - if (ffs_oldfscompat_inode_read(fs, disk->d_dp, - now.tv_sec)) + if (ffs_oldfscompat_inode_read(fs, disk->d_dp, now)) putinode(disk); return (0); } diff --git a/sbin/fsck_ffs/inode.c b/sbin/fsck_ffs/inode.c index b30e3aa5068b..f8e32bf4b157 100644 --- a/sbin/fsck_ffs/inode.c +++ b/sbin/fsck_ffs/inode.c @@ -647,7 +647,8 @@ setinodebuf(int cg, ino_t inosused) * If for some reason getting the time fails, we will use * the last time that the superblock was updated. */ - if (clock_gettime(CLOCK_REALTIME_FAST, &time) == 0) + if (clock_gettime(CLOCK_REALTIME_FAST, &time) == 0 && + time.tv_sec > sblock.fs_time) now = time.tv_sec; else now = sblock.fs_time; diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 8ac2075f8db8..11afa99bea76 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -189,8 +189,10 @@ ffs_load_inode(struct buf *bp, struct inode *ip, struct fs *fs, ino_t ino) { struct ufs1_dinode *dip1; struct ufs2_dinode *dip2; + time_t now; int error; + now = time_second > fs->fs_time ? time_second : fs->fs_time; if (I_IS_UFS1(ip)) { dip1 = ip->i_din1; *dip1 = @@ -203,7 +205,7 @@ ffs_load_inode(struct buf *bp, struct inode *ip, struct fs *fs, ino_t ino) ip->i_gen = dip1->di_gen; ip->i_uid = dip1->di_uid; ip->i_gid = dip1->di_gid; - if (ffs_oldfscompat_inode_read(fs, ip->i_dp, time_second) && + if (ffs_oldfscompat_inode_read(fs, ip->i_dp, now) && fs->fs_ronly == 0) UFS_INODE_SET_FLAG(ip, IN_MODIFIED); return (0); @@ -225,8 +227,7 @@ ffs_load_inode(struct buf *bp, struct inode *ip, struct fs *fs, ino_t ino) ip->i_gen = dip2->di_gen; ip->i_uid = dip2->di_uid; ip->i_gid = dip2->di_gid; - if (ffs_oldfscompat_inode_read(fs, ip->i_dp, time_second) && - fs->fs_ronly == 0) + if (ffs_oldfscompat_inode_read(fs, ip->i_dp, now) && fs->fs_ronly == 0) UFS_INODE_SET_FLAG(ip, IN_MODIFIED); return (0); } From nobody Tue Jun 2 06:42:03 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV1TS0xrwz6h3kF for ; Tue, 02 Jun 2026 06:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gV1TS09Nkz3fhx for ; Tue, 02 Jun 2026 06:42:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780382524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QfkdAQ7FIdWaDxnA5C20X3IJq7d3QLRkCYRWjRHkzDI=; b=nnNeJOPQhypZJrT3fggR+WAat1+YrhZgz77+tTZSSbb93A4llITayvvvMi4ztLmGdORlVP HwdzAQnq17xFagDSoh3U7bTYuErz2PTDUvp0DqY85qUfnyCcjW4deJ2DukpB7s0IR5YxKL 5C9BMOhGkePrRqPnoG2WEeTH6HwHYA2wfxNXxDAlw5djIVNfPmJRm/f3V3Sv2vYu5wKkSi 67Mk5bb091Bf9YvaYGWv3R1j/9bqrpIWmIfwTv/DqivigUrLY3XV2bHugxk0wq/Qr6D528 /UK6ouPYgaGTFrt0G0Eohpq9bSi+P82FRmZzq9uxceUgcjq1EMkUZR97I/RcRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780382524; a=rsa-sha256; cv=none; b=l2WZHLZrpnTKmpiiU2rP4uGLfDoMvh2nh/QH4ucSQ7mqfK4+2MzB+gVkR4jxA3myTIcmo6 7Vi1kuLJ8xQ8G1njzG6EY6S8BMKCMdSAiFsG0RxukcZKg0n8hbkzz4IcFq6FnAcNSh9gPT qJvhh/ZusScQ+MYj+/+dJuUHDkASfPd6HvEfWV3EDqfq1Sp6SRM6lLx8CZWwahtZV2qZWW 6kmC2TDlMM+BoHgUGLZ1bwCzXnVLz7NMPiHvVGavoavFkCuJQUmsE3oL1CHr6yLuXv4ELX ql+miMkSZdTIygLbKVn8DkI2fVidS6AtkCnh5ijop3tz/9InbQq2IRTX/7oTXw== 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=1780382524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QfkdAQ7FIdWaDxnA5C20X3IJq7d3QLRkCYRWjRHkzDI=; b=rkQhMU4LRYPiXGazL58+ioVY4wQxyjYt+Y325C08yhMtw9A1DRMh0xbE7mevTFFIbrg4Xl G4Njlxmxh/cW8Sqb8dXkuuwgaFLhD67CF1ZGho5kBtG/M32TzzALKQIzbDYVRLE+PXMxnz YPX4rk1KhQKA1w0QpTz09I7STZtl/Txpf6Qlk1cgAbOuBgBESzWj+Tddkx+PPu//2SXjYM dj4LEC0FXbZ8GvZsq4cQbMDjQX3KaBZsowbDTERHfGPr7ysIMXrQCHAGU2F4Th3+YhKVWx fBby84Ckr3e6CE0I2FiSr4nWusBu/8nUn1D7UOv55QdnA/8mPeAOZKycyXj79g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV1TR6dJ3z1CmX for ; Tue, 02 Jun 2026 06:42:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a45a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 06:42:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: ShengYi Hung Subject: git: 7b26353a59d6 - main - hwpstate_intel: Disable package control on hybrid CPU List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: aokblast X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b26353a59d66dc1bc611fd042a49b9e3bd13699 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 06:42:03 +0000 Message-Id: <6a1e7b3b.1a45a.91f6820@gitrepo.freebsd.org> The branch main has been updated by aokblast: URL: https://cgit.FreeBSD.org/src/commit/?id=7b26353a59d66dc1bc611fd042a49b9e3bd13699 commit 7b26353a59d66dc1bc611fd042a49b9e3bd13699 Author: ShengYi Hung AuthorDate: 2026-06-01 09:46:37 +0000 Commit: ShengYi Hung CommitDate: 2026-06-02 06:41:41 +0000 hwpstate_intel: Disable package control on hybrid CPU In package control mode, the performance of all cores depends on the most recent value written to the request field. If the last write comes from an E-core, all cores are forced to align with the E-core performance level, resulting in significant performance degradation. Therefore, package control is disabled on hybrid-core systems. Reviewed by: olce MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Framework Computer Inc Differential Revision: https://reviews.freebsd.org/D57377 --- sys/x86/cpufreq/hwpstate_intel.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sys/x86/cpufreq/hwpstate_intel.c b/sys/x86/cpufreq/hwpstate_intel.c index 3d2cc0a5966b..db8600d7b89a 100644 --- a/sys/x86/cpufreq/hwpstate_intel.c +++ b/sys/x86/cpufreq/hwpstate_intel.c @@ -321,9 +321,19 @@ out: return (ret); } +static void +intel_hwpstate_hybrid_cb(void *ctx) +{ + uint32_t *small_cores = ctx; + + atomic_add_32(small_cores, PCPU_GET(small_core)); +} + void intel_hwpstate_identify(driver_t *driver, device_t parent) { + uint32_t small_cores = 0; + if (device_find_child(parent, "hwpstate_intel", DEVICE_UNIT_ANY) != NULL) return; @@ -343,6 +353,17 @@ intel_hwpstate_identify(driver_t *driver, device_t parent) if ((cpu_power_eax & CPUTPM1_HWP) == 0) return; + /* + * On hybrid-core systems, package-level control cannot be used. + * It may cause all cores to run at the E-core frequency because + * the resulting package frequency depends on the last core that + * sets the frequency. + */ + smp_rendezvous_cpus(all_cpus, smp_no_rendezvous_barrier, + intel_hwpstate_hybrid_cb, smp_no_rendezvous_barrier, &small_cores); + if (small_cores > 0 && small_cores < mp_ncores) + hwpstate_pkg_ctrl_enable = false; + if (BUS_ADD_CHILD(parent, 10, "hwpstate_intel", device_get_unit(parent)) == NULL) device_printf(parent, "hwpstate_intel: add child failed\n"); From nobody Tue Jun 2 07:26:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV2Sd2sc6z6f8Tb for ; Tue, 02 Jun 2026 07:26: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gV2Sc5PM8z3n5p for ; Tue, 02 Jun 2026 07:26:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780385184; 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=khBwSy/AhEq3CX8Ezs4tGAmu6GTrJm7s+pAyFMhE1KY=; b=FNH6lMDh6UH7SY0afuSB88oq2JOtzyVO7nEqNs7bSkLO9sLr1K1cEDa1Rp0BWH90SG7waD 93Gr62JLLZH+87Nh8lbqKvIQWT6BLvNaAFHELKnlB0bnZ0D1VNdEN4ImBnIAI8z5XDR1s5 AWWqpdNW/Y5njmKUHyDf2/rKkCtc/7NgSZNVlGg20kUu3QBwt0kpjcq+0/HQZytp74X6/U bdI5/XMfeI5FJaOD0ssJbRZxk8/ibFEldQYHRzWsEC1+RMywSwcIDpImKN9CKBXGx5TmFk haY6mjyagnMr8vt+h2b7H6ra2QtyfHuIQm6kUF4ZIPScmBkrKidvnajUb/nvZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780385184; a=rsa-sha256; cv=none; b=f8NoobRpqusDFJSoBYnytpbBGTvuncHaejZjWZw59tgQgscr4QQJsOse6U9nqu5aOiOKy6 paKjQ1CjUaPRWb+Hr6Wl6DoMHM/7+rVJYG5YcVv0xwraH+r53ZVzsWTJcQqZ/a+lYAVTJH kyz6bwNZjwbkzcj+LHzq5my0K0nHBQ12Z45e0/YrcBgt046FYkPUWzdO/T5bhp3dEkpYzt y9GxW6ZxdmSeCY5H8KdQPJ6akhAqyqaFilxJfcVp6fZiP+cJLwwsq7G0eSWsb4Us1I13Ih m3MOWrxKGetJjfc3g6AiMWfXElWiauPhiz9DBqop2S+66JXRRITe0GpFzD5OtQ== 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=1780385184; 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=khBwSy/AhEq3CX8Ezs4tGAmu6GTrJm7s+pAyFMhE1KY=; b=mKprK1J9XqgaJaVQFApASMp6dFHXXqi1XGLW7yZcjXeQFbMIiLeO9DK6bzIGcZxi94eLHc 2SIlU8iaUwURMqHmXO7+NEOGbiSC9Bemuk0o2WqancWWQ1WAJIcH0GfFFjSK9QEtFh0f5d 8dsIFBXsSmYeSGVT4OP0XuckoCecOdl2vxf1Jysf2ugHqRnVHOMtVAEqugP8JOfCw5BImc +SKCYVucoR3NiCmcxCemeFeQlzYLCn3scoSrlCJHBrm0gerq58Tbufgb/y/WNHixUJamGE KTF1AGKnr1Cr26CoicB3nazomcg7Ur8+B9oapQSDcaJQotyDJpk2VPZQbDKfDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV2Sc4DyZz14Q for ; Tue, 02 Jun 2026 07:26:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21f2c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 07:26:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ricardo Branco From: Pouria Mousavizadeh Tehrani Subject: git: c515e6040614 - main - linux: Implement PTRACE_GETREGSET NT_PRFPREG and NT_X86_XSTATE List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c515e6040614434a9262ee8b5ac54b81476ec7ff Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 07:26:24 +0000 Message-Id: <6a1e85a0.21f2c.479eced8@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=c515e6040614434a9262ee8b5ac54b81476ec7ff commit c515e6040614434a9262ee8b5ac54b81476ec7ff Author: Ricardo Branco AuthorDate: 2026-04-26 14:45:35 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-06-02 07:25:37 +0000 linux: Implement PTRACE_GETREGSET NT_PRFPREG and NT_X86_XSTATE Implement NT_PRFPREG and NT_X86_XSTATE for PTRACE_GETREGSET on amd64. Chrome's crashpad handler uses these to collect floating-point and extended CPU register state for crash dumps. Other architectures retain the previous EINVAL stub behavior. Signed-off-by: Ricardo Branco PR: 289285 Reviewed by: kib Pull-Request: https://github.com/freebsd/freebsd-src/pull/2165 --- sys/compat/linux/linux_ptrace.c | 91 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 85 insertions(+), 6 deletions(-) diff --git a/sys/compat/linux/linux_ptrace.c b/sys/compat/linux/linux_ptrace.c index 0dbfd2177122..28a4c42190af 100644 --- a/sys/compat/linux/linux_ptrace.c +++ b/sys/compat/linux/linux_ptrace.c @@ -335,6 +335,87 @@ linux_ptrace_getregset_prstatus(struct thread *td, pid_t pid, l_ulong data) return (error); } +#ifdef __amd64__ +static int +linux_ptrace_getregset_prfpreg(struct thread *td, pid_t pid, l_ulong data) +{ + struct fpreg b_fpreg; + struct linux_pt_fpregset l_fpregset; + struct iovec iov; + size_t len; + int error; + + error = copyin((const void *)data, &iov, sizeof(iov)); + if (error != 0) { + linux_msg(td, "copyin error %d", error); + return (error); + } + + error = kern_ptrace(td, PT_GETFPREGS, pid, &b_fpreg, 0); + if (error != 0) + return (error); + + bsd_to_linux_fpregset(&b_fpreg, &l_fpregset); + + len = MIN(iov.iov_len, sizeof(l_fpregset)); + error = copyout(&l_fpregset, iov.iov_base, len); + if (error != 0) { + linux_msg(td, "copyout error %d", error); + return (error); + } + + iov.iov_len = len; + error = copyout(&iov, (void *)data, sizeof(iov)); + if (error != 0) + linux_msg(td, "iov copyout error %d", error); + + return (error); +} + +static int +linux_ptrace_getregset_xstate(struct thread *td, pid_t pid, l_ulong data) +{ + struct ptrace_xstate_info info; + struct iovec iov; + void *xstate; + size_t len; + int error; + + error = copyin((const void *)data, &iov, sizeof(iov)); + if (error != 0) { + linux_msg(td, "copyin error %d", error); + return (error); + } + + error = kern_ptrace(td, PT_GETXSTATE_INFO, pid, &info, sizeof(info)); + if (error != 0) + return (error); + + xstate = malloc(info.xsave_len, M_LINUX, M_WAITOK | M_ZERO); + + error = kern_ptrace(td, PT_GETXSTATE, pid, xstate, info.xsave_len); + if (error != 0) { + free(xstate, M_LINUX); + return (error); + } + + len = MIN(iov.iov_len, info.xsave_len); + error = copyout(xstate, iov.iov_base, len); + free(xstate, M_LINUX); + if (error != 0) { + linux_msg(td, "copyout error %d", error); + return (error); + } + + iov.iov_len = len; + error = copyout(&iov, (void *)data, sizeof(iov)); + if (error != 0) + linux_msg(td, "iov copyout error %d", error); + + return (error); +} +#endif /* __amd64__ */ + static int linux_ptrace_getregset(struct thread *td, pid_t pid, l_ulong addr, l_ulong data) { @@ -342,14 +423,12 @@ linux_ptrace_getregset(struct thread *td, pid_t pid, l_ulong addr, l_ulong data) switch (addr) { case LINUX_NT_PRSTATUS: return (linux_ptrace_getregset_prstatus(td, pid, data)); +#ifdef __amd64__ case LINUX_NT_PRFPREG: - linux_msg(td, "PTRAGE_GETREGSET NT_PRFPREG not implemented; " - "returning EINVAL"); - return (EINVAL); + return (linux_ptrace_getregset_prfpreg(td, pid, data)); case LINUX_NT_X86_XSTATE: - linux_msg(td, "PTRAGE_GETREGSET NT_X86_XSTATE not implemented; " - "returning EINVAL"); - return (EINVAL); + return (linux_ptrace_getregset_xstate(td, pid, data)); +#endif default: linux_msg(td, "PTRACE_GETREGSET request %#lx not implemented; " "returning EINVAL", addr); From nobody Tue Jun 2 07:26:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV2Sh6g9Zz6f8Z3 for ; Tue, 02 Jun 2026 07:26: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gV2Sh4Ddvz3mpW for ; Tue, 02 Jun 2026 07:26:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780385188; 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=iccQRm+63+KK0y6d5aSaz7FdhapMil/SJ5QkZ6WOlMY=; b=J8PiEsdBqLqnAj1TNKCxVsmh+yxNMX34S6LMSrzyCY7rSIkkC82RbXjisWp8+JKVaWU/EK a7qIbgsNmnTktd8M5xaUy2US147L2sX5ZONpFcGMGmgDVZQLxOhnYfW4hSkucVS8hhVWou 522E51We19sI9E9dBCC05QYRqCuWj+Eb2MxufUuMpG1r6MbAKuW2erovVFMrpGf4zais8h yBh9xQV5hSl98kiUYHVbMXThBm6nicZgL7P1OMTipf6jA0g1BMrLih9QExstKanygrDrYK 1Y9Uz25BEdlXgSfx+3GBBjQpLLajCIVSR8iO8KOZVIrA2BcVxtZV4QhFya3Tjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780385188; a=rsa-sha256; cv=none; b=nK8whM/IfGAnu0I7gKZPwn01WvyA2ntzM+FxjSlXB+/XvRrCnnewWjD4LkF8CvliBFW6dr UjYu9CQ5CqEJyBFNWfakVTSpuofxu7bv0oLFh2WDY96C8QQCbMMtdDUXwriM9ATBpGeOz8 5vDRrOKs09SDjbAWev+iig0QGkIJ2N6q3MadCOC7bP+yfUq+MaZcbCUXgQDfLN2lMCTtkX WuK25SLRc5cXEfU0IL+vTwyFezjkcGgNOVLzSbIrob3kRvoHBGvrsXVE8U7UgKlJ6OmDR0 GHyBS3gxOl5TiC//+0O3Ru/uYKPd/d3/y76w4Pf5WvgmZjwA7mLJqMNQBUZaxA== 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=1780385188; 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=iccQRm+63+KK0y6d5aSaz7FdhapMil/SJ5QkZ6WOlMY=; b=AtPq7cjNv8ss7MxqoE2/w/pAZnYP447JRmAnWlIRnABFJ+HT3CXQteWkiBQIHWYvID/XyL iEMnqbTf8SwgUh5JfXJSIIe1DL7+1FPhWczpdgE3OPzZcGSuvEix5z4T8acLspPvChXqMH kDeMuhf0dZAx3GMWbxFOr+DISnn0wnmjWNu0Su1U7QprUhqsp3ZcwQxSkKcEkp52WT152B 2g6tB0Hb7MjykvzGhVePfrf/EHffAsk44Da3U81owjBjZrNvBptxAyySzaEBYupsB92mqz cygYo3O5atcNYwbGogysWJEK7h49o0XexWAq3WrhoEpowC+vcxsmUc1FIWoY6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV2Sh3k2rzhJ for ; Tue, 02 Jun 2026 07:26:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21c41 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 07:26:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ricardo Branco From: Pouria Mousavizadeh Tehrani Subject: git: b84d31ee7453 - main - linux: Add linux_pt_fpregset and bsd_to_linux_fpregset() for amd64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b84d31ee74535a0026ff83f2a34c07b7557f9785 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 07:26:23 +0000 Message-Id: <6a1e859f.21c41.77f7f61a@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=b84d31ee74535a0026ff83f2a34c07b7557f9785 commit b84d31ee74535a0026ff83f2a34c07b7557f9785 Author: Ricardo Branco AuthorDate: 2026-04-26 14:43:59 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-06-02 07:25:34 +0000 linux: Add linux_pt_fpregset and bsd_to_linux_fpregset() for amd64 Add struct linux_pt_fpregset, the amd64 Linux NT_PRFPREG payload, corresponding to user_i387_struct in Linux. The struct describes the 512-byte FXSAVE area as exposed by PTRACE_GETREGSET. Add bsd_to_linux_fpregset() to translate from FreeBSD's struct fpreg to struct linux_pt_fpregset. Fields are extracted from the fpr_env[] array which stores the FXSAVE environment packed as four 64-bit words. The FP and XMM register banks are bulk-copied as opaque byte arrays. Signed-off-by: Ricardo Branco Reviewed by: kib Pull-Request: https://github.com/freebsd/freebsd-src/pull/2165 --- sys/amd64/linux/linux.h | 18 ++++++++++++++++++ sys/amd64/linux/linux_machdep.c | 20 ++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/sys/amd64/linux/linux.h b/sys/amd64/linux/linux.h index fb7aaa2d731c..8e025b73dbd8 100644 --- a/sys/amd64/linux/linux.h +++ b/sys/amd64/linux/linux.h @@ -237,14 +237,32 @@ struct linux_pt_regset { l_ulong gs; }; +/* This corresponds to 'user_i387_struct' in Linux. */ +struct linux_pt_fpregset { + l_ushort cwd; + l_ushort swd; + l_ushort twd; + l_ushort fop; + uint64_t rip; + uint64_t rdp; + uint32_t mxcsr; + uint32_t mxcsr_mask; + uint32_t st_space[32]; + uint32_t xmm_space[64]; + uint32_t padding[24]; +}; + #ifdef _KERNEL struct reg; +struct fpreg; struct syscall_info; void bsd_to_linux_regset(const struct reg *b_reg, struct linux_pt_regset *l_regset); void linux_to_bsd_regset(struct reg *b_reg, const struct linux_pt_regset *l_regset); +void bsd_to_linux_fpregset(const struct fpreg *b_fpreg, + struct linux_pt_fpregset *l_fpregset); void linux_ptrace_get_syscall_info_machdep(const struct reg *reg, struct syscall_info *si); int linux_ptrace_getregs_machdep(struct thread *td, pid_t pid, diff --git a/sys/amd64/linux/linux_machdep.c b/sys/amd64/linux/linux_machdep.c index 7ec1ec56bb95..e05f824cbea1 100644 --- a/sys/amd64/linux/linux_machdep.c +++ b/sys/amd64/linux/linux_machdep.c @@ -281,6 +281,26 @@ linux_to_bsd_regset(struct reg *b_reg, const struct linux_pt_regset *l_regset) b_reg->r_gs = l_regset->gs; } +void +bsd_to_linux_fpregset(const struct fpreg *b_fpreg, + struct linux_pt_fpregset *l_fpregset) +{ + l_fpregset->cwd = b_fpreg->fpr_env[0]; + l_fpregset->swd = b_fpreg->fpr_env[0] >> 16; + l_fpregset->twd = b_fpreg->fpr_env[0] >> 32; + l_fpregset->fop = b_fpreg->fpr_env[0] >> 48; + l_fpregset->rip = b_fpreg->fpr_env[1]; + l_fpregset->rdp = b_fpreg->fpr_env[2]; + l_fpregset->mxcsr = b_fpreg->fpr_env[3]; + l_fpregset->mxcsr_mask = b_fpreg->fpr_env[3] >> 32; + + memcpy(l_fpregset->st_space, b_fpreg->fpr_acc, + sizeof(l_fpregset->st_space)); + memcpy(l_fpregset->xmm_space, b_fpreg->fpr_xacc, + sizeof(l_fpregset->xmm_space)); + memset(l_fpregset->padding, 0, sizeof(l_fpregset->padding)); +} + void linux_ptrace_get_syscall_info_machdep(const struct reg *reg, struct syscall_info *si) From nobody Tue Jun 2 08:38:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV43s2Xq3z6fHfk for ; Tue, 02 Jun 2026 08:38: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gV43r6CVYz3wVk for ; Tue, 02 Jun 2026 08:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780389512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=spvee8JVlENfi910W8eto9Op8VKywA+gwipAZlayTgk=; b=k1baSXMs9m84o3deJ+GV2++SUynUDnat0bMRYfAHgy0+Nc0MQATXIhLE5RIN8vy3++Ni9A 4HR83WhhqJE1Y8fTvdbh2RDU4u7Uh0+rxBpNypmmuOWT+HZvt0onNh0h+hesxYGeBWcCtE +V/9oiNiEg6f8tKF9m1bGIFZvxeF0VUIwcUaxQJAiRS83aqJC6Q+u62iAlvLxxNftRpwtO IXiWXOB/h5vciy8T3OrzFICMY45sMw0yr4yfvyxpO5tkOnuV2S7D3+oq888DBq8gKHxl99 /OI1ZHFjoegXGgU3uTduDXDDekab+kKEyDy8Nf+khYRvDSbfexWU2OwUt7OzUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780389512; a=rsa-sha256; cv=none; b=ANYrdtui5gyJkVHG23moPVm6fygfCHIlzj9YlwbJCN4M2SNMSYWssA2IYcYX7puJT760mI i4xp7GDyBUIJASf2PsDUES1s+lgGEqt+3nLzD5CCZDuPqjpsKjnT8VDmWQ/cyOE5ug/i35 MZM+MB9zI0co1V5wO9Fp99rIm/QneiRysEApvL+qOgqkguaL0wuj3U11WsPb5vFNi5Z2zQ Hvue0HFTHFSxazfpsF5EDg4pyC5ZFSxY1i0rQJGnuESawcLNrEARbI4tpkQAxrBdFDc1nj IcJQGNdwNlywm2zRVV1KxlTYRom6iHpMeDQD6wyLkJcQsWD/UMT8yvzOxYgp+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=1780389512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=spvee8JVlENfi910W8eto9Op8VKywA+gwipAZlayTgk=; b=wqSy6Y8dsi2QAqLDLX5P0l2PNsEHNy9xTWb+2Si+W8tJ9mLSakDh6ee0W2I7TQdRzBzbz8 kikbaUDeXL1+E3Kwqt+9LIBYMXDpckW/mRaKj02uUax86pmhLzHhamgLzAunQXpPJ6KPQw ZmpuIpSPCFuShcwSYEmykDjaZIl+kgw0gPuYVPAF4NTgXheENu4hYMKpnBkjNbdjBDJ0tg uMaCYko//ckP6jzzg7zMihgsoaRaw9ktgh+shZUbcPNlMEBqrCSVoySbVfV7cNHppeNgoB tCvjWkus7uMWe7LBgL5vT6uXLZe+Rvwm9gRbcsDe1uGGZmRX4qT4Z/y1qjtKaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV43r51KCz24k for ; Tue, 02 Jun 2026 08:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30e63 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 08:38:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 1cef7e9eb082 - main - ObsoleteFiles: Add some ancient locale symlinks List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1cef7e9eb0822c606fc34f975efd14b6daeff756 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 08:38:32 +0000 Message-Id: <6a1e9688.30e63.6ab0cd68@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=1cef7e9eb0822c606fc34f975efd14b6daeff756 commit 1cef7e9eb0822c606fc34f975efd14b6daeff756 Author: Dag-Erling Smørgrav AuthorDate: 2026-06-02 08:36:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 08:38:16 +0000 ObsoleteFiles: Add some ancient locale symlinks These were dropped in 2021 but were never listed in ObsoleteFiles.inc, so systems that have been upgraded from source since before that date (or from 13.x) may still have them. PR: 295668 MFC after: 1 week Fixes: 0a36787e4c1f ("locales: separate unicode from other locales") Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D57331 --- ObsoleteFiles.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 3785f5ac30e1..071fb20e870a 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,13 @@ # xargs -n1 | sort | uniq -d; # done +# 20260602: Removed by 0a36787e4c1f on 20210723 +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/sr_RS.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_NUMERIC + # 20260503: Kill off MANSUBDIRs OLD_DIRS+=usr/share/man/man4/amd64 OLD_FILES+=usr/share/man/man8/amd64/apm.8.gz From nobody Tue Jun 2 08:53:16 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV4Nr5872z6fK4w for ; Tue, 02 Jun 2026 08: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gV4Nr4TD6z3xq5 for ; Tue, 02 Jun 2026 08:53:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780390396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uK6+oYw484jOvBmxIj/LN7ceZviar4OzpuHBUcjDg0U=; b=vOTBUzTwmphvmrg7ehLrBrkpIajVac4ekRSONSNk6CQ0KGi+esehRbSkkz5c0kZxEetJQA vEc6mV1idUpnAGC+pvX0iSxB/dHHK9pvnE0VIoV8KCXX2HxG3PbspzhEf7A/qYTwV0YPUW lPovYQ0qBnVjDm5v1e+Awr+EkrRaw1RnTRDUjp3mBWCFEPFhY8gkAegFZiPyIgHgf/IRsr EzymNlr2SoKLAWnzx1E3blVgjswWGTjFT3a3FT4+kQIseusf/YRjqpLR5TE25i7dJu5hqk 3ORkEBI4kQ7bwUZP3YtYzeq2BtmTuLaGwod23YeZ8RSDayzuzVqrLRUyylP3Sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780390396; a=rsa-sha256; cv=none; b=jY+cl4lzsw0TJH4kCSLQy04VxCCL3pVc7rrwbee/M49DYmQaLFOjpz6+l+bkS+miCbHyUR rOa/yL7kVzXH4F8NW/MvRwn0Kyn6NE8WCy0+Jru9INwtYHf1zOxFAsHG0pkIDRFujemcYW PGV6gGBCLFox6RFxEgDnlNCjo+7rtthcN0PLF/FGIOoxgTUGRQ78kvSesfVcMNsc0jccgn 3guawVM4iz24grWMzUcNYt1yTbf/GFX7ECMP8yksAovjv+P8CxNM1pjDSUdBLa9UHh8EPa BOxGv8WQH2JS24SnSXdZ3sqIhtRNTY0N36iaC8ermJNiusgqTLajwLLEGrAMgw== 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=1780390396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uK6+oYw484jOvBmxIj/LN7ceZviar4OzpuHBUcjDg0U=; b=ZXHhU38XO+zuBKjiRw1z6AmwUoZGXZO1m+AEHTKAwpU1PIBvJfr+rymZPv5I/aVpFqBk26 rPFQFQXxj1YDeDjJDHUzdqq4Jm33/J7FPla9CwXjZ8GioVg97bo/fouXbqYT32dHlDP4GV 9HKRXCRuDrDC8w37jT/g5xlz3b0Y/PSzbhwgiPuZSr5IZgiyQ7bTHc8QCDSpIJpGEKh5mG YH0nDbgTZEGU9TA7xP8Otl4UQvGkAQCDNRh9mSqS4k7RkdIPJ6nv6Ll4pTQ+b2EWyXEzN/ /uCJzhvXManWQchoPe4i1TkaBV08m+J66EZRgDUrbbkS0pPqJ2r1p4zH/My7Vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV4Nr44Vjz3HP for ; Tue, 02 Jun 2026 08:53:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35e6f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 08:53:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: a13800ee46d7 - stable/15 - snd_hda: Patch Dell WYSE 7040 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a13800ee46d74d188c5d4dbf51997c8149dab0f6 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 08:53:16 +0000 Message-Id: <6a1e99fc.35e6f.6576a129@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a13800ee46d74d188c5d4dbf51997c8149dab0f6 commit a13800ee46d74d188c5d4dbf51997c8149dab0f6 Author: Christos Margiolis AuthorDate: 2026-05-25 11:40:05 +0000 Commit: Christos Margiolis CommitDate: 2026-06-02 08:53:11 +0000 snd_hda: Patch Dell WYSE 7040 https://forums.freebsd.org/threads/dell-wyse-7040-thin-client-intel-i5-6500te-built-in-sound-alc255-mini-how-to.102656/ Reported by: razif (on the forum) Sponsored by: The FreeBSD Foundation MFC after: 1 week (cherry picked from commit c6cefcbbbb3fd5bbe9e0c36c8c553364d444e2d8) --- sys/dev/sound/pci/hda/hdaa_patches.c | 9 +++++++++ sys/dev/sound/pci/hda/hdac.h | 1 + 2 files changed, 10 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c index d4267aae80f8..2f3a044195c4 100644 --- a/sys/dev/sound/pci/hda/hdaa_patches.c +++ b/sys/dev/sound/pci/hda/hdaa_patches.c @@ -328,6 +328,15 @@ hdac_pin_patch(struct hdaa_widget *w) patch_str = "as=1 seq=15"; break; } + } else if (id == HDA_CODEC_ALC255 && subid == DELL_WYSE7040_SUBVENDOR) { + switch (nid) { + case 20: + patch_str = "as=1 seq=0 device=Speaker"; + break; + case 33: + patch_str = "as=1 seq=15 device=Headphones"; + break; + } } else if (id == HDA_CODEC_ALC256 && (subid == DELL_I7577_SUBVENDOR || subid == DELL_L7480_SUBVENDOR)) { switch (nid) { diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h index 04b925b31fd4..3a0e63d0d464 100644 --- a/sys/dev/sound/pci/hda/hdac.h +++ b/sys/dev/sound/pci/hda/hdac.h @@ -281,6 +281,7 @@ #define DELL_164AID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x164a) #define DELL_164BID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x164b) #define DELL_I7577_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0802) +#define DELL_WYSE7040_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0727) #define DELL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0xffff) /* Clevo */ From nobody Tue Jun 2 09:15:16 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV4tF1Mdhz6fMTw for ; Tue, 02 Jun 2026 09:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gV4tF09hRz41RY for ; Tue, 02 Jun 2026 09:15:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780391717; 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=jt2Az3zb7EDsOpGmPkLBsF3KPuAcgPOCSzQ9Si3i3nE=; b=NbgZ7PDaWCNfzpH7YsrFjEfyzukdoxpejTAfqjgyGSodAEq/dy9pjomt8Q6bG0p4qtYZW3 FY7CRc307KxMLJlzIOXbTJPhpG056oRowslSt0wuEON9RSk95ClGgNC/EUQvXL18E5N1+J +s0n9UVuZohKsVXywySdJY1L50+rsMS3fUmCWypsqpf9y9jxwjtJKIrhcwAcC7W/LXhcYj lA0MLLUJSYhYx6Q4nM/3ghitlvaC2HggwOMw4YWCrLV8YZNBRO5LD6q7ytu0eb73/m5HpA oFN0WbYh4hdKllex5sGSu0SNcKnCsDTWZr0uGhpp4kDMMvp8VzC+erJJAc+YYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780391717; a=rsa-sha256; cv=none; b=UmAQE4O+8rS+zfifJRd9RY05gtFnOB5NNCF/Xht57NGcr6G/VXysVnhfVzYsmFdzaHqark 239C5Zz5VR43+c6I4GujzfWgRpcc1POesHIxAc3G6aIPOzFQL8mZ3urFTN3cEKEgyH2BWH AJAP4+14z7+kozwZgcDlCI0H/NtiwjygpisxS4gJAtgqyzcpQnEyVmFLE0VgoU22VpBoRz m6vrqw/W5JJGFJkTg1x8aNHT+TO/WtwRbu59gAgOx4FOA5qsFlvySg/arVNgwf2/fTl2OF V9blaAOErVzqgWpxN4HF9/69Dnjpr+Y00uUH28mVE6iaCJoFJkA+FIWGj/gZhQ== 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=1780391717; 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=jt2Az3zb7EDsOpGmPkLBsF3KPuAcgPOCSzQ9Si3i3nE=; b=KLbB72fgWuEIEGBP5Yol2jV/u9KYKTfAqhdIRDWVKrNRcGjZCIMTzQQsUdL+XkqzOvVvqJ 2/NhFWdA7gwMc1uvVTeUHnyrrbd9ioPVK2aDkNvSTqSS2l7kauC485400EFPbMpILfEqNP tJD3plE7kuIXMF6Qi0VHbvI0okM1DHhwt0yma41ZB+eYBPr4w0FbBJwZVdA9LEsBWIEaNy 4eZS4DiZrCOABywUtjPk9cFfKnsJeuZ2rxP0cikYnCdbgwStmW3QFy6Y1nmk99xlIE/OO2 zXV7Gjr90nnIxwH157kHL7jULriL1FhfX95UgPxTZI5Fgd6scYo10Kbnqzx4Hg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV4tD6bBmz3sW for ; Tue, 02 Jun 2026 09:15:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3415d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 09:15:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Teddy Engel From: Pouria Mousavizadeh Tehrani Subject: git: ea4888e63f6a - main - nat64lsn: Fix type confusion panic when using wrong NAT64 instance type List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea4888e63f6ac89c38982ffee693f89a5927e9c9 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 09:15:16 +0000 Message-Id: <6a1e9f24.3415d.3521dad4@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=ea4888e63f6ac89c38982ffee693f89a5927e9c9 commit ea4888e63f6ac89c38982ffee693f89a5927e9c9 Author: Teddy Engel AuthorDate: 2026-06-01 16:42:56 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-06-02 09:14:26 +0000 nat64lsn: Fix type confusion panic when using wrong NAT64 instance type When an ipfw rule references a NAT64 instance by name using 'nat64lsn', the kernel looks up the instance in the shared srvstate[] array without verifying the instance type. If the named instance is actually a nat64clat or nat64stl instance (created with 'nat64clat' or 'nat64stl'), the code incorrectly casts the instance to nat64lsn_instance and dereferences the ->cfg pointer, which causes a kernel panic. The root cause is that all NAT64 instance types share the same srvstate[] array but have different struct layouts. For nat64lsn_instance, the field after 'no' is a pointer to nat64lsn_cfg. For nat64clat_cfg, the same offset contains an embedded nat64_config struct. Fix by adding a type check after NAT64_LOOKUP() to verify that the instance's etlv matches IPFW_TLV_NAT64LSN_NAME before proceeding. If the type doesn't match, return IP_FW_DENY to reject the packet safely rather than crashing. Signed-off-by: Teddy Engel PR: 292023 Reported by: pouria Reviewed by: ae Pull-Request: https://github.com/freebsd/freebsd-src/pull/2249 --- sys/netpfil/ipfw/nat64/nat64lsn.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/ipfw/nat64/nat64lsn.c b/sys/netpfil/ipfw/nat64/nat64lsn.c index 1bac425afc30..9d2ee5e650df 100644 --- a/sys/netpfil/ipfw/nat64/nat64lsn.c +++ b/sys/netpfil/ipfw/nat64/nat64lsn.c @@ -1731,7 +1731,8 @@ ipfw_nat64lsn(struct ip_fw_chain *ch, struct ip_fw_args *args, if (cmd->opcode != O_EXTERNAL_ACTION || insntod(cmd, kidx)->kidx != V_nat64lsn_eid || icmd->opcode != O_EXTERNAL_INSTANCE || - (i = NAT64_LOOKUP(ch, icmd)) == NULL) + (i = NAT64_LOOKUP(ch, icmd)) == NULL || + i->no.etlv != IPFW_TLV_NAT64LSN_NAME) return (IP_FW_DENY); *done = 1; /* terminate the search */ From nobody Tue Jun 2 11:10:35 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV7RT6n9Jz6g42l for ; Tue, 02 Jun 2026 11:10: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gV7RT67Q8z4Dmt for ; Tue, 02 Jun 2026 11:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780398645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TJjRO85Tj4dsU8aRMbjP4zQbO/2QWDzuK9xjb2WZnJ0=; b=DfQnCMf1nRz0mUlUkYqK+ouK0xXPdT6x+PJDa3DSNgCfwJ8dgKC4Wv4D+EgWO5wssQTb3o l0DbhmUNQIUvQbhTesrbFMnvSZd1cy46/aakA+iHB8gKQEQ/iuyjoEbwzzJ5NoC1cCxLji trHjDJZ06OwcAP0DFhx4yBMi2CrXkO9fvFJHVl3gFULWxF7unV+BzSpscxBBYTCbiALTJm WCluRKfQSabLvJfmd3wWsYBmnsT0MJCAwZpk296WiZEmb/TSPEc+L6lP5idO15OkRrm9Jv kxJzISFLp4ynOaUDsslk+PIa8owB83qKcEyTTQ0PH7gGm3ZbNBttdSjJMOvTEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780398645; a=rsa-sha256; cv=none; b=nbQ5U5BSymgX5bOjw/4sT0yxxw5lf7oslX1AcTtdTMDWlCrUHCux5eA/id3gF7iJ6d23ey +Yk6Fnn7Ohg5WTdAVykNSxrz0orhVVPN9Zd2P+oQNlbygE0hCH0OCjKPdL/RapFaYcpKvu ijDOjLW3gzecfE2V0sth9kkNIxmDxhysTZKnlLlxvuuf4PgGob0o4ERtSBV9/ZcqwOqR5p /m0S3QnGPALP7I1nbztrWLgdOTURDo022eTi+I1bLTA2uqjgOo5C0NWye58JOCUg+r8z68 OZw41ZPAaEKwQ+E0/LxJqtoQDv03yrSjNcXGff39kTcHC9XrHjSUiq+DTpPHOw== 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=1780398645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TJjRO85Tj4dsU8aRMbjP4zQbO/2QWDzuK9xjb2WZnJ0=; b=RS9RFsZnca1T2eHm698KvSdhiCXzKEl4c500ZiPKQvAh4NPLKxmDAXpaV6wF1uL5yE8eDm uHD4YBl+yTXjbTdI5O57P0/y9uTygEzHlujvMFPZJVGWDd4j90dy8ZWl4KUgsdsl04qa+U jL8hLJXhXaBFcCkInibQIFnb9optPw3rncgUhVG6v6F2qCOh+KYM0koR6K32EWivTpwoS3 eXdkFOhmbnmS0hHReTzJwxBA6S/5UJG6gx4UkNL4w4RVOgILUwfkjOXthYnjULFuvwoOPt Tilz7NSdwa6EH/WCDj8u/iS2BdtrVWnY0GwVzqfFbK+PHiY5L47JRuVWn/g1lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV7RT5dBcz6w8 for ; Tue, 02 Jun 2026 11:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1bf98 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 11:10:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pawel Biernacki Subject: git: 5dbbd764c8e1 - main - linux: Fix missing break in lsiginfo_to_siginfo() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kaktus X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5dbbd764c8e116b04c75b79b1eedc0edcbb90435 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 11:10:35 +0000 Message-Id: <6a1eba2b.1bf98.5f00ceb@gitrepo.freebsd.org> The branch main has been updated by kaktus: URL: https://cgit.FreeBSD.org/src/commit/?id=5dbbd764c8e116b04c75b79b1eedc0edcbb90435 commit 5dbbd764c8e116b04c75b79b1eedc0edcbb90435 Author: Pawel Biernacki AuthorDate: 2026-06-02 11:08:29 +0000 Commit: Pawel Biernacki CommitDate: 2026-06-02 11:08:29 +0000 linux: Fix missing break in lsiginfo_to_siginfo() Prevent LINUX_SI_TKILL from inadvertently falling through to LINUX_SI_QUEUE, which incorrectly overwrote si_code with SI_QUEUE instead of SI_LWP. --- sys/compat/linux/linux_signal.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c index 2318cfcccc1e..c247a5eb67cf 100644 --- a/sys/compat/linux/linux_signal.c +++ b/sys/compat/linux/linux_signal.c @@ -789,6 +789,7 @@ lsiginfo_to_siginfo(struct thread *td, const l_siginfo_t *lsi, return (EPERM); } si->si_code = SI_LWP; + break; case LINUX_SI_QUEUE: si->si_code = SI_QUEUE; break; From nobody Tue Jun 2 12:05:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV8g01rzvz6g8ky for ; Tue, 02 Jun 2026 12:05: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gV8fz5cprz4LDF for ; Tue, 02 Jun 2026 12:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780401947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d2JMn4qszYEw4KuBaa0lROftyzneEionvBmdyugWci8=; b=eu6LUKow3nBLkKAI/YIb6IW9mfOAnDXWlrFVTfKyUo0FJnYgZt566akc69Oz+5Nb6g2mOw so7k9CUYsZPGDXMADpwiRXDAu46gVJifEl9t5CBYSvVIzks/R7mFKFtMBwfSqiiBcxWXIk sExnLNOVkFv2GXY4FdJqS0nHTMw+uGzjNSFPod6yZfHLMLO6lqW/OCWPfZNpAlaCvrrmH1 DLLF2y6GVjATe5XY6escIPbzq/DTnGHnb8ZFhHTtR5zzk14cKhY1dQEllnuyNcuUjx9UVU C6Nvk5KaPL64ntVATLS4y2Z5qRP6EweJMm+ce7cRUiyFFjnbU04WQHs1f7tCAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780401947; a=rsa-sha256; cv=none; b=d2iqzf9ZXLLQLR82U/n55+3TJ7WPkJXuRxrnaN4n89vcdZzsoQyxt+8wOYVdSegbf7k20X ZnH+32H+v53S0A57Ai3rVYYFc29JyU/Rwk0OytjC3kIhRBi8BuMstz+0vbYGKWCW60KJwT qiouh2LkepA2ZD6pVm+o6tv7Qyuri3JYbZFNe2kDjPaxJ65R6exaYpbSnDY5oapHc0pvP+ mn4+iNiBgzzmbBJAsrCqwaP1MPa/2TAVn1UKuSh70sLmcWEylNyHDNzCGb8tWaIEg26rCs yUdFaEvWN7mF0jyLBWzpqnhsE/NSXgMDIOCptBubnA0WuHd2IruOPYCFxjhrMA== 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=1780401947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d2JMn4qszYEw4KuBaa0lROftyzneEionvBmdyugWci8=; b=ls8uQFUfzjyOiCb9/QKY46XvfP5Znz0H8P9OOQgsk4WeSybj43PFnHPyypoMtOQBe+BKHw gIuKn6gqo6Aug8gC2s4aSMRsN5xrKChU8EzNev2cr/nXmbe1b/ZIdIxXSwqV11aj2uLETr FY5YB0VjwnS11rtXJ+5VVDlGPqHa730YySa6u/iAtwXY8uaOoBrPQadMp3Gsh7Uulu+Ncb P58B6Unr+9JA6QdAJkBkn3W//qW8+3jPdtr1YgXDfsmi1TBvS+A6ruw51Vk+xRpCbIVFR2 GMkdJ10wTj3g2yPfi67tzmrPiTLFF9ByGHtlPQax1mv1bOFJaX/iKw4EexRqZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV8fz54nGz84Y for ; Tue, 02 Jun 2026 12:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f6f2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 12:05:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: eb5aa5c337c8 - main - bsdinstall: Add virtual_oss service option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eb5aa5c337c8d52fc1a7e867f526ca770bbe6612 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 12:05:42 +0000 Message-Id: <6a1ec716.1f6f2.fb625cf@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=eb5aa5c337c8d52fc1a7e867f526ca770bbe6612 commit eb5aa5c337c8d52fc1a7e867f526ca770bbe6612 Author: Christos Margiolis AuthorDate: 2026-05-20 15:51:39 +0000 Commit: Christos Margiolis CommitDate: 2026-06-02 12:05:05 +0000 bsdinstall: Add virtual_oss service option Since virtual_oss is now part of base, there is no reason not to provide an installer option to enable it, and make it more visible to new users, who might also benefit from the devd rules in /etc/devd/snd.conf, which use virtual_oss, as well as 8532b4a43636 ("rc: virtual_oss: Create a loopback device in the default configuration"). Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: ivy Pull-Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/31 --- usr.sbin/bsdinstall/scripts/services | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/usr.sbin/bsdinstall/scripts/services b/usr.sbin/bsdinstall/scripts/services index 110b6f321ed1..814ce1f95753 100755 --- a/usr.sbin/bsdinstall/scripts/services +++ b/usr.sbin/bsdinstall/scripts/services @@ -71,6 +71,11 @@ if [ -x "${BSDINSTALL_CHROOT}/etc/rc.d/moused" ]; then moused \"PS/2 mouse pointer on console\" ${moused_enable:-off}" fi +if [ -x "${BSDINSTALL_CHROOT}/etc/rc.d/virtual_oss" ]; then + DAEMON_OPTIONS="$DAEMON_OPTIONS \ + virtual_oss \"Sound server\" ${virtual_oss_enable:-off}" +fi + exec 5>&1 DAEMONS=$(eval bsddialog --backtitle \"$OSNAME Installer\" \ --title \"System Configuration\" --no-cancel --separate-output \ From nobody Tue Jun 2 13:01:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV9tk191Kz6gFTC for ; Tue, 02 Jun 2026 13:01: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gV9tk02J6z3DlN for ; Tue, 02 Jun 2026 13:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780405262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uYVq4yLFSej//FcruXeGQzPUcwSqc+oZkcgM++Rqj3U=; b=NGnUjUkXwSwKufh2I4Z0FSxcpT0+2wUAq3B/FaLOI9L5Id4n2ffNBfRf4TCxJAGI5irlNx l2EendSipqaPqmeN7LiRiNaoRaFvnGOnUVcfMLfqILaoeY+teIMP1+8wrfET4z3wY5lSzP K+y1qjF6Pe1IV8CzVz7PL3hV2+HC54WJJPQm0uKF0kaB36meNt1CUvnBq1C4KD5tIiFeCa uNhXePF5yXjI6SEmkp08yVyFZ7zl/hvONefFxU7m5DtKhEw0EStubDK5wB3iF0CwYgL76w 3FOp+tG//Ojl1jVEWKmpovQBsNt5lqUVWIXBfyiutGMDKPV7qbxMUY7w09EKcA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780405262; a=rsa-sha256; cv=none; b=QaBGt8PqyV4kUsA17pDpoQsxIxyNo5Uah/TAuPaRwBugiuAocqY0RKMD61BCSviDWEHthV 2AL/beM5HTI3bXRvQQArQJcg4/kwh2a0wpsnEy/s2q/rOarkgTY+Otm+EtzsqsYGsXzW7J ILzyF0rhUuQ68d9k2pPG+nZVOOCTi0x9qclGnmkC4sLqagtVVwTm1uHC6PosmGpbfCQSkh FPMjpp+GKFqakEIqj9acbiSBZca/zUQVtmASO7XXwURrvinVPQooAbK6CCALlcigqgaBVC gMS6xGEwuXUdQJlaHliPHYUhpqZD5QkBtyH8drZRSR0gDHCTM4GXIoqX7vXHLw== 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=1780405262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uYVq4yLFSej//FcruXeGQzPUcwSqc+oZkcgM++Rqj3U=; b=PNmxV0/KglPiJQbc2ImHpuUQVX1Xj0U6dGj8Puddb/dGGyq7xLKyagAn5lp+Yeh1oboo0H niaPIU479Iv8AgBaMV+kKj5MuGXvCtpvFHUlNhsNUcCAGZ4cplAH/xDCo8dZ00p74mYnoJ bed+sN57knbs4n8lyHJy7dmDeT7dReUYyrEN1xVWHNHAFR/CYoz1GtpqNWBslPzyMzznTq tD83EjZbao/Kj1OmaNeka8qkwlULjhIQtdzCAyggpPG1VZpC55NzUO6j421doHTSPYTe75 pSAkEtqvM4+bfh8hBCBeNOBzzGs6pLFBkA4NAlY00fc0Zn0Vh2yQqXrmnPd3mA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV9tj6XLNz9Xt for ; Tue, 02 Jun 2026 13:01:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2780d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 13:01:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 4f7092eeb22d - main - virtual_oss_cmd(8): Improve error messages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f7092eeb22d3882f54d67a35149533fef8376ca Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 13:01:01 +0000 Message-Id: <6a1ed40d.2780d.3c91bb60@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4f7092eeb22d3882f54d67a35149533fef8376ca commit 4f7092eeb22d3882f54d67a35149533fef8376ca Author: Christos Margiolis AuthorDate: 2026-06-02 12:57:45 +0000 Commit: Christos Margiolis CommitDate: 2026-06-02 13:00:45 +0000 virtual_oss_cmd(8): Improve error messages Sponsored by: The FreeBSD Foundation MFC after: 1 week --- usr.sbin/virtual_oss/virtual_oss_cmd/command.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/usr.sbin/virtual_oss/virtual_oss_cmd/command.c b/usr.sbin/virtual_oss/virtual_oss_cmd/command.c index 6f1491470e54..c647c9469630 100644 --- a/usr.sbin/virtual_oss/virtual_oss_cmd/command.c +++ b/usr.sbin/virtual_oss/virtual_oss_cmd/command.c @@ -37,20 +37,11 @@ #include "virtual_oss.h" -static void -message(const char *fmt, ...) -{ - va_list list; - - va_start(list, fmt); - vfprintf(stderr, fmt, list); - va_end(list); -} - -static void +static void __dead2 usage(void) { - message("Usage: virtual_oss_cmd /dev/vdsp.ctl [command line arguments to pass to virtual_oss]\n"); + fprintf(stderr, "usage: %s [virtual_oss(8) command " + "line options]\n", getprogname()); exit(EX_USAGE); } @@ -68,7 +59,7 @@ main(int argc, char **argv) fd = open(argv[1], O_RDWR); if (fd < 0) - errx(EX_SOFTWARE, "Could not open '%s'", argv[1]); + err(EX_SOFTWARE, "Could not open control device: %s", argv[1]); for (int x = 2; x != argc; x++) { size_t tmp = strlen(argv[x]) + 1; From nobody Tue Jun 2 16:38:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGjD4LQfz6ft0W for ; Tue, 02 Jun 2026 16:38: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGjD1sdRz3lyK for ; Tue, 02 Jun 2026 16: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=1780418288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9BiHBiE/ttocYZbi3klpXEcQyHs/3DH1p8kNqXNAWuk=; b=yP7eN3xY6OQLvVBd/EbAd7xtOe8AJJmVqZzGwyLXsOmf4aX0S5osIGyim1cZCblcj61sm3 AYc+RVKdz6+oJ8dP+Uh0xUcDS+M/FgPr9WpVAiIc6M0VkrcpziCjCVlgozsBl16BgCbv6/ MTF0P+IUAiQ6FN4xoChQzDprNa9vFav+25MxtmhWZEWoqZBtR0S179SumIrOe99ek/ImHS cnRrN9m0rcBz/QYDIThqFpYo57VAefnMIGVpvUHYGTbhZk+yVjJ80yNOPBmRaKQ9jWtWn+ K39mgMsa4xPpbTdDpHUlyhjOwPuZ8hryeIn6X9y5+AJLYRvv0gVPjsIgaKIzuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418288; a=rsa-sha256; cv=none; b=T0H0TNQpyhjFApW5De/mL0gAHS0Icm1pr9st431RgnxHSsSiK4iBaaTcHcFQT2fs/VvBGh LLFuS6NSlNGCnU/DLboyS30H6kT+E85EyPI2wsF06atsGd2xjTjRWcHjZINoTOK4ZdFglZ CSPZ1NRGTdLsS02A7xkrxDU5gluC1+GFeF1fOUzdN7Y1uLoQaQue4uMiKTRp5I3v4RU/9r SzNghnWgEsB5h8Ur6KHOL5i2wSQGaHCi6Ecr6UE3A60RZAQLlaveJBYBDF/R4+ph8CZMfv n+rBoWsXPr5hd5gXUBG4bQaivhL4qm49NQ32VwBndBzpBQnJfppFOlZ05L7HXw== 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=1780418288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9BiHBiE/ttocYZbi3klpXEcQyHs/3DH1p8kNqXNAWuk=; b=yZoLWz61I1hzvXpsXE/e5puixoSl5RMUIMKidj10tv3+T8m3iuNjCToku0PR4DAGeHDfqC gTLxCv9mUozTffGcElJ1bdFVxf9JogV8OAE+H3HrPnNGfStJyHVrHKInSvSdaVoYfiTkvN jX9ubBaMo97bcm/zxNFnm0ndhM4aCP6PHxpPIOJpCtHWs7OPTm3geqgAqg4t49TUQWB1w6 IwTQ1mOvBD3pZktt/XC4N9WBY63DukhLPqurUdGHzMQnLLkIuqjk90h6vQOkBsjE/ZrTwB +xvanI9jAk4jYxd+SfcAFlnR+2Ja5SPSZC+Usy858gJK1z12ytHLupaYOttuzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGjC2pC7zYwJ for ; Tue, 02 Jun 2026 16:38:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45522 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:38:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 5d36fcc53d3d - main - open.2: document O_PATH behavior for bindat/connectat List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d36fcc53d3d1c05a3bbac45e9d5409156e216f1 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:38:07 +0000 Message-Id: <6a1f06ef.45522.2ed940c3@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5d36fcc53d3d1c05a3bbac45e9d5409156e216f1 commit 5d36fcc53d3d1c05a3bbac45e9d5409156e216f1 Author: Konstantin Belousov AuthorDate: 2026-06-02 13:46:37 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-02 15:39:03 +0000 open.2: document O_PATH behavior for bindat/connectat Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57370 --- lib/libsys/open.2 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/libsys/open.2 b/lib/libsys/open.2 index 4527100252eb..defc593b15ce 100644 --- a/lib/libsys/open.2 +++ b/lib/libsys/open.2 @@ -447,6 +447,11 @@ The other functionality of the returned file descriptor is limited to the following descriptor-level operations: .Pp .Bl -tag -width __acl_aclcheck_fd -offset indent -compact +.It Xr bindat 2 +for unix domain socket +.Pq see Xr unix 4 +.It Xr connectat 2 +for unix domain socket .It Xr fcntl 2 but advisory locking is not allowed .It Xr dup 2 @@ -836,6 +841,7 @@ directory or named attribute. .Xr write 2 , .Xr fopen 3 , .Xr capsicum 4 , +.Xr unix 4 , .Xr named_attribute 7 .Sh STANDARDS These functions are specified by From nobody Tue Jun 2 16:38:06 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGjJ0QfJz6ft0Y for ; Tue, 02 Jun 2026 16:38: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGjH3GfWz3lkd for ; Tue, 02 Jun 2026 16:38:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v9C9PmS+XjkoOe/S153ztAOerWNImowfzmcu5POiJTU=; b=pE3EVFjzN06LS2IYKu+E83L86oR5ZT+14j08Rp28QuFV+Cl8R1VJy2ukuqKQhYoVFQmvrk RWlaLzF1CLJwWcODorb2URqh3q2hMxeJB5qW6CNeRqAjiZfuLVCiGHl8mTWFOpqPftj2nK h8EOk9Z1JUrW3zMy5dRI+zDomwJaDkRDMoo8J/83gFg1hiwZ9CvlqkcxsCq0zXiVTxjkW+ CFuvkmrfVqxzukoCo6mF7KATREth/5P4Ngpp8xC7I2v375ZIMtLr9htZ7GIdks7l5cF1Hu GZP/jF/4SUZt3+fUNcq1g0uRS9Ti8UNNia13K5gBwpgCHnjLObz8dhEEYXsurQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418291; a=rsa-sha256; cv=none; b=TjXRPgXB5dQUBzEAtcBPkJdurt/CNIHV/Sok0iyPWsvLe+tpijZaM3fcR2arFwqzlepZ3o JYwcQnchhvYYqGh3yhFy2HQ8JqKkhJC7FtukvSKCU4ZcWWTo4ErCCVMn++HL3bFNG2ffJo LGEr5y5YSBvXTLksGBCGi4+2rseeZ2vak5FxxgnIzrFiM1nBloL5WAhIABmzwzMtQwq0O5 qgohC+ZrDEw8DcJL5/tVw4Y1iCInLPj5bpoq3HAfPOAhEeFOxKYKnbeyvtBXvjs2wrcGTL PrLOjo99SxjUf+Ry+osbr6gjTnpS3YtUGXNL3BLv/KkSEefec8vKvRolkKSK+Q== 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=1780418291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v9C9PmS+XjkoOe/S153ztAOerWNImowfzmcu5POiJTU=; b=GD7zRctgNk6gzQbCGjvOmBTF0EmfEg//ySZSni4tz+bWT3HY2ZzutLSzhVlgfnQHy4WOwV rzTdkH+J5PRMqBqYYpqixvR7o/jfO4JpW/3YysCgtIOc2oE7tE0Xre542lGCenWCNkzXVA ZSXjTLCGonRw6KGZ/KbyNADJ3jK/8rz/qHYcNhAzhW9rORRBFpADza5eVIdCtabsMx2tuH 5Ig5AuA+06AUQLlt1lMhPa1ZtwT8alZfKyueYo9n4gpYxa1ql1cvvThIca3LyXpQdufS/4 d6ZgcENumimM/TWhWQLRPZKvo2ixKYwgRBcE7kuF65Bq9zKPg6EdweX40grs3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGjH2jHczYtP for ; Tue, 02 Jun 2026 16:38:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43750 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:38:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 12c590a9abd7 - main - bindat(2)/connectat(2): allow implicit EMPTYPATH for unix domain sockets List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 12c590a9abd770f69da3bc0b8adb4955d79357c8 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:38:06 +0000 Message-Id: <6a1f06ee.43750.14b15742@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=12c590a9abd770f69da3bc0b8adb4955d79357c8 commit 12c590a9abd770f69da3bc0b8adb4955d79357c8 Author: Konstantin Belousov AuthorDate: 2026-05-30 22:11:45 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-02 15:38:57 +0000 bindat(2)/connectat(2): allow implicit EMPTYPATH for unix domain sockets path specification. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57370 --- sys/kern/uipc_usrreq.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index a5607e66117c..a798aaf4f871 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -612,8 +612,9 @@ uipc_bindat(int fd, struct socket *so, struct sockaddr *nam, struct thread *td) buf[namelen] = 0; restart: - NDINIT_ATRIGHTS(&nd, CREATE, NOFOLLOW | LOCKPARENT | NOCACHE, - UIO_SYSSPACE, buf, fd, cap_rights_init_one(&rights, CAP_BINDAT)); + NDINIT_ATRIGHTS(&nd, CREATE, NOFOLLOW | LOCKPARENT | NOCACHE | + EMPTYPATH, UIO_SYSSPACE, buf, fd, cap_rights_init_one(&rights, + CAP_BINDAT)); /* SHOULD BE ABLE TO ADOPT EXISTING AND wakeup() ALA FIFO's */ error = namei(&nd); if (error) @@ -2921,7 +2922,7 @@ unp_connectat(int fd, struct socket *so, struct sockaddr *nam, sa = malloc(sizeof(struct sockaddr_un), M_SONAME, M_WAITOK); else sa = NULL; - NDINIT_ATRIGHTS(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF, + NDINIT_ATRIGHTS(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | EMPTYPATH, UIO_SYSSPACE, buf, fd, cap_rights_init_one(&rights, CAP_CONNECTAT)); error = namei(&nd); if (error) From nobody Tue Jun 2 16:42:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGns004zz6ftJR for ; Tue, 02 Jun 2026 16:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGnr61dNz3mcq for ; Tue, 02 Jun 2026 16:42:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418528; 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=KLt8S083VoafzO4nYfDWf80i2DvyJi2Gxw5mQFZNEuw=; b=GtSg5ycxbDC3UASJb77N9+9mI5n+gkbNsMfYY7u/n9kraVUadNJuJ6YNG96kvoEqqojEwk 1h4ht++Y2tkdo1BBJjMhTNmWGLGftusrN4DIV1uN88845xb5kzpl0tOpDPI2nY1hsdnMH8 tsrSyrG5t9iiUEmdXURVb+xJCjumfX1SwrDf4Xx31RQnqh6tnqDUsD9DrYDVfwNzCP1fkY a8o1PbtDJwXo0Hos6Xp6RyMr7kPjG8F6hmyZgwypmXC7BTOwDpS0tiUIGD0omrV/lBygBR ytveXrrivHi0kHVZyuwhmsPlB7fyToZdyNIWvpNIfHk37h829wQo5jgagt56GQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418528; a=rsa-sha256; cv=none; b=n5nm3nq5WJd2h8QuynqyvX52HBZ4FOjV1trsu794g3Zmb2wIm5AkuPx2T9y/T5XSN1ThZ0 //Z+FFl44NyRtQIHXKManENu1fJeVqiDZH0ynQh0H1Cf+9xyokm/G7OuT2tZk1b3cttbjx dc+sZ4wqGje1P9M27hRk5LomI/XzORFYnaBluiT98fGDaHawjJARjm3rbnZ9SK5wVwwsb0 i2bCE+Fxw51JVbzz+YtFX8crqHpY7Rb5yM3x/0/FDKbjSqUA0qtNsPtJqlCGrwP4xR0PpI 4XJKOf0ll5DFWMJV+rHWBwHGCplki6675T4nMk4/ZMs3r2WG6umQURZi4lFNJg== 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=1780418528; 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=KLt8S083VoafzO4nYfDWf80i2DvyJi2Gxw5mQFZNEuw=; b=Fyh77nw4GCcCLrhWkUvYY+scTLNkitwnjExTPdHTq2L9yWQViy5mIrnMlr2vNmr5+iKg92 xFXItNhOdy8+EEsiwJ55yfl8zxNr8qj8N/Ql+DcglxgoXZp8dq5T/jFtvn7F28aPOXY5nt 00AgMhGSsFP1HwHeHREfCRkfIMxyXyQ+d+B4oZOBGnvtvfwx2sRMHwaO0YScvZKk7+r9Vv XZbuFDfEp2cQXGiXqTsYcFrCTxc5n4WFp64Hd1+Y+aTQdsi7rJwqHLfr1wODoXrasR+cj3 YO0TDNJ88uXn+fQkXHOFyds0glzFxG8W741GL2vFP6dn94a+G5c7oGl3sOW43g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnr5ZGSzZXc for ; Tue, 02 Jun 2026 16:42:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 467e9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: e6470ed3d59b - stable/15 - libarchive: Force GNU iconv compatibility on FreeBSD List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e6470ed3d59b5c36262a9cdb76b71a7ad25d173b Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:08 +0000 Message-Id: <6a1f07e0.467e9.7b58d284@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e6470ed3d59b5c36262a9cdb76b71a7ad25d173b commit e6470ed3d59b5c36262a9cdb76b71a7ad25d173b Author: Mark Johnston AuthorDate: 2026-05-20 16:39:40 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:37 +0000 libarchive: Force GNU iconv compatibility on FreeBSD When libarchive is compiled with FreeBSD's native iconv instead of libiconv, as happens with libarchive in the base system, we need to configure iconv(3) to handle invalid sequences by returning -1, as iconv_strncat_in_locale() assumes GNU iconv semantics. This corresponds to upstream PR 3056. PR: 294577 MFC after: 1 week (cherry picked from commit bd15d6ef126ee4c0eac931117f6bbbf6f9a3fc72) --- contrib/libarchive/libarchive/archive_string.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index c6ae8968d54f..4fb96a9fa178 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -1314,7 +1314,17 @@ create_sconv_object(const char *fc, const char *tc, else if (strcmp(fc, "CP932") == 0) sc->cd = iconv_open(tc, "SJIS"); } -#if defined(_WIN32) && !defined(__CYGWIN__) +#if defined(__FreeBSD__) && !defined(HAVE_LIBICONV) + /* + * FreeBSD's native iconv() by default returns the number of + * invalid characters in the input string, as specified by + * POSIX, but iconv_strncat_in_locale() assumes GNU iconv + * semantics. + */ + int v = 1; + + (void)iconvctl(sc->cd, ICONV_SET_ILSEQ_INVALID, &v); +#elif defined(_WIN32) && !defined(__CYGWIN__) /* * archive_mstring on Windows directly convert multi-bytes * into archive_wstring in order not to depend on locale From nobody Tue Jun 2 16:42:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnt2KGGz6ft0n for ; Tue, 02 Jun 2026 16:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGns6tF0z3mt7 for ; Tue, 02 Jun 2026 16:42:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+Elo9VAmfQvzlNsuITQ0jEt5BGM3DUzElY1QpJQz9is=; b=RXnXaLtws6/HPwyieTCvOxqoS/buMHmHzfWUvxlMed0WrSBdFn++V2I9cuPK33VuxkRRna w7sONI720Jj66HI67PmJROfKxQACkCIyGgVorCL7FQ6JhJTOB02RAJkuGePpIYwOu1NQcE jTKUT0hooVUdFdPllGeXGyWIc0jBoaqvevEr8MU/uCzET70CCWlLedFpyXOvwrYrDCkPPC fFCLKlvh8gQedeMYMMkEq/BPb73MJ99w4MmTdJfF1Kq6+kR+ZV+8HaPU7d3ruxH/P0iZ1V kXsMVx329sMOzdriA7Gqo9gWm5GNB8fPZ4x0pUY2TPhoUjbw+Cm828Df7HcBXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418530; a=rsa-sha256; cv=none; b=n2Yo5J20yN9M6KLImXJ3VbOHpAxUtCqSIFDRHPDaBkhYg4E+M2SixMHRF0VljYm6NjrdS2 Ocq8B7y8sJVTlLw7OgqqP4Ze8A1j4LwA5zOeXDVu5j7Ok0VPRIZabmWJlrElcluaeH6dLu xT7vh9R70W7Gu8lrNe0UCrJvZ3N9D3MhVFI0xkCLtgchOCQraCqw6atdwmR70T+KctpgId cvwUTyjoP0NuFLRQP41RWFVBvrOUV2fZvmZm0O2MfzjIWdD/c56+jjoyxKMEB0IQIdoVVY XItCRmZACAjqJ/eevJDIMSy00P5ursrNvFbmqB6qrtvI4WAcQr3TxEcjnBnGfg== 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=1780418530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+Elo9VAmfQvzlNsuITQ0jEt5BGM3DUzElY1QpJQz9is=; b=NlFX8QmrOb2kcJUV72Zz5hYf4tR8nWkIRoTWFfp0swc3SEPFATEkEdZLVc4Kw3rhOGdvVs V529k8BT4wZ6pH7uoVc1jg3r9og/9BwCl7ELvPl1enLJIBDKCMPqTquFAXX7rf85RNcpG9 8eL0cxyLXeMzqCbHmbzP3dD8D/gQ2z/erjSlezXkM1nRg3uQuu8fT8pt+RfC5XSD/PDaZ0 BsnQp2nh5J3sAyNvE5PHG3eX60HSQjUJs0F6epd2y3pU3/qbrcLxXDwT/+bqamqexvGHEz xxtXstFSoDUW9ynpnGIAlbyO1bYF/033p4AKxkyOSEOtvbCLpZ0hjqysdV+4rQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGns6QjFzZb5 for ; Tue, 02 Jun 2026 16:42:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45862 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:09 +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: 39381fc3a82f - stable/15 - cap_mkdb: Fix memory leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 39381fc3a82f6f3797cda43482a1d8a8b536459c Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:09 +0000 Message-Id: <6a1f07e1.45862.5040f84e@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=39381fc3a82f6f3797cda43482a1d8a8b536459c commit 39381fc3a82f6f3797cda43482a1d8a8b536459c Author: Dag-Erling Smørgrav AuthorDate: 2026-05-27 17:02:12 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:37 +0000 cap_mkdb: Fix memory leak This is not a big deal since it only iterates once before exiting, but that's no reason to set a bad example. PR: 195128 MFC after: 1 week Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D57251 (cherry picked from commit 6880405bf97df03ffce227d34c2faa99b602a49d) --- usr.bin/cap_mkdb/cap_mkdb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.bin/cap_mkdb/cap_mkdb.c b/usr.bin/cap_mkdb/cap_mkdb.c index 7ee6d2ddd2b3..019dad1ee72e 100644 --- a/usr.bin/cap_mkdb/cap_mkdb.c +++ b/usr.bin/cap_mkdb/cap_mkdb.c @@ -117,6 +117,7 @@ main(int argc, char *argv[]) if (capdbp->close(capdbp) < 0) err(1, "%s", capname); + free(capname); capname = NULL; exit(0); } @@ -151,7 +152,7 @@ db_build(char **ifiles) data.data = NULL; key.data = NULL; - for (reccnt = 0, bplen = 0; (st = cgetnext(&bp, ifiles)) > 0;) { + for (reccnt = 0, bplen = 0; (st = cgetnext(&bp, ifiles)) > 0; free(bp)) { /* * Allocate enough memory to store record, terminating From nobody Tue Jun 2 16:42:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnv2Rbhz6ftd3 for ; Tue, 02 Jun 2026 16:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGnv0HT7z3mt8 for ; Tue, 02 Jun 2026 16:42:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7/85XTwec0wf8Y8ua3DyGND3u+b6SoaBywZJ9F5+pIc=; b=LJtBTnTqCfVQ2lvLSip42WI28HIn7HoqDpkWMrzi/J6fmUS8Jw8sIYlIGRrWZFcRPMQ+Kt 0j1FW/5q87PTGAHeFrlC88+pVbbJ7HMaZAIHPaEMGQsjdG6hIybH/jVCQKv0hrUpsHOtDa Gg1yV0f2MJ/tsI5lowk1MgLV3F+QL0kE8alyrLNKkgN05cowj1yRtS8zfFxHFe7iW/o/qL zuPhDmN2StSezk2iymzbW9AkGOXET6nRqh/QkuFEfwEnneLIeOJh+4Gyj6s10/IkxB7wvv FhfKXOmLczF4B30AJjotw/49v0WaUyXcZs36zgmUmZTBNyHPKZ9qALrpLxltCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418531; a=rsa-sha256; cv=none; b=xaagY/T4zYoC+RY51B7OrwGpBZgY2y0ZL3e4s55YDhpMk1SS02klUwGrXYZnuxqwAnTUmx ddCIDdubLyHeyNOSEzoNektfRaxyAUXpOTA87nUbv2RopjXzmtbuvw99DNiB2aLgcH2cpZ D2QLhVJwpOc5I86XBIlX3bcJ92e9DRvzcOKnwU9MoMqraAeBfPPUKApAz4NoKgXuBwjPE/ gP5P+i64XwATFfS8ClmdyrdHQZ8czzAIRu+vBYu3F6pvbQSy+859VbNTW0Tnxw/c+BQZVP 82YCSVlI6ezzxdIM9QzyPN92ZwdWdQI2vxd9Uo87cMclJCzxopri47S9zId0ZA== 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=1780418531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7/85XTwec0wf8Y8ua3DyGND3u+b6SoaBywZJ9F5+pIc=; b=uH8q8Sl+dNG6K+FHoXems0+NL5YuE8GKMo9b3b3PcqtWX52gpr49GwS0Two7Jw2CHsGrbP z4so993migSPCQcLnyKZ0KYR+hKxvzdT+NB8MZHcqL7KybThQtXTLS+VJTrszCV6oGqjv5 4ZzPCK8iy/mUCfR/9kgaxz1AiQFyoH4OU7eQBjCCDFNv2pHGLKNciLHi3Z+mV4CppwHgmZ FibN9/cIa3ynGDakuhgAA2fGlqrFhYM94zFA5D7E+y8jB/4QhnuDagBYAoUHdIFWE3Er4d RexxMMrJXyKuyPS7BErbpkgOS4Gkwjj7WBdjvG4mfqWIKvspmEf8vRePygjWgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnt6vfjzYx9 for ; Tue, 02 Jun 2026 16:42:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4691b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:10 +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: 7028772caaa8 - stable/15 - uart: Tidy the compat tables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7028772caaa88ca00f4944c0460e2a1b1bd96a71 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:10 +0000 Message-Id: <6a1f07e2.4691b.3d16491c@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=7028772caaa88ca00f4944c0460e2a1b1bd96a71 commit 7028772caaa88ca00f4944c0460e2a1b1bd96a71 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-27 20:14:58 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:37 +0000 uart: Tidy the compat tables No functional change intended. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D57269 (cherry picked from commit 40c846dc07943df7cdebf091de09d5680a3f3606) --- sys/dev/uart/uart_dev_ns8250.c | 44 +++++++++++++++++++++--------------------- sys/dev/uart/uart_dev_pl011.c | 30 ++++++++++++++-------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c index c38d50e54ad8..6d8097db6581 100644 --- a/sys/dev/uart/uart_dev_ns8250.c +++ b/sys/dev/uart/uart_dev_ns8250.c @@ -493,40 +493,40 @@ UART_CLASS(uart_ns8250_class); */ #ifdef DEV_ACPI static struct acpi_spcr_compat_data acpi_spcr_compat_data[] = { - { &uart_ns8250_class, ACPI_DBG2_16550_COMPATIBLE }, - { &uart_ns8250_class, ACPI_DBG2_16550_SUBSET }, - { &uart_ns8250_class, ACPI_DBG2_16550_WITH_GAS }, + { &uart_ns8250_class, ACPI_DBG2_16550_COMPATIBLE }, + { &uart_ns8250_class, ACPI_DBG2_16550_SUBSET }, + { &uart_ns8250_class, ACPI_DBG2_16550_WITH_GAS }, { NULL, 0 }, }; UART_ACPI_SPCR_CLASS(acpi_spcr_compat_data); static struct acpi_uart_compat_data acpi_compat_data[] = { {"AMD0020", &uart_ns8250_class, 2, 0, 48000000, UART_F_BUSY_DETECT, "AMD / Synopsys Designware UART"}, - {"AMDI0020", &uart_ns8250_class, 2, 0, 48000000, UART_F_BUSY_DETECT, "AMD / Synopsys Designware UART"}, - {"APMC0D08", &uart_ns8250_class, 2, 4, 0, 0, "APM compatible UART"}, - {"MRVL0001", &uart_ns8250_class, 2, 0, 200000000, UART_F_BUSY_DETECT, "Marvell / Synopsys Designware UART"}, - {"SCX0006", &uart_ns8250_class, 2, 0, 62500000, UART_F_BUSY_DETECT, "SynQuacer / Synopsys Designware UART"}, - {"HISI0031", &uart_ns8250_class, 2, 0, 200000000, UART_F_BUSY_DETECT, "HiSilicon / Synopsys Designware UART"}, - {"INTC1006", &uart_ns8250_class, 2, 0, 25000000, 0, "Intel ARM64 UART"}, - {"NXP0018", &uart_ns8250_class, 0, 0, 350000000, UART_F_BUSY_DETECT, "NXP / Synopsys Designware UART"}, - {"PNP0500", &uart_ns8250_class, 0, 0, 0, 0, "Standard PC COM port"}, - {"PNP0501", &uart_ns8250_class, 0, 0, 0, 0, "16550A-compatible COM port"}, - {"PNP0502", &uart_ns8250_class, 0, 0, 0, 0, "Multiport serial device (non-intelligent 16550)"}, - {"PNP0510", &uart_ns8250_class, 0, 0, 0, 0, "Generic IRDA-compatible device"}, - {"PNP0511", &uart_ns8250_class, 0, 0, 0, 0, "Generic IRDA-compatible device"}, - {"WACF004", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet PC Screen"}, - {"WACF00E", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet PC Screen 00e"}, - {"FUJ02E5", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet at FuS Lifebook T"}, - {NULL, NULL, 0 , 0, 0, 0, NULL}, + {"AMDI0020", &uart_ns8250_class, 2, 0, 48000000, UART_F_BUSY_DETECT, "AMD / Synopsys Designware UART"}, + {"APMC0D08", &uart_ns8250_class, 2, 4, 0, 0, "APM compatible UART"}, + {"MRVL0001", &uart_ns8250_class, 2, 0, 200000000, UART_F_BUSY_DETECT, "Marvell / Synopsys Designware UART"}, + {"SCX0006", &uart_ns8250_class, 2, 0, 62500000, UART_F_BUSY_DETECT, "SynQuacer / Synopsys Designware UART"}, + {"HISI0031", &uart_ns8250_class, 2, 0, 200000000, UART_F_BUSY_DETECT, "HiSilicon / Synopsys Designware UART"}, + {"INTC1006", &uart_ns8250_class, 2, 0, 25000000, 0, "Intel ARM64 UART"}, + {"NXP0018", &uart_ns8250_class, 0, 0, 350000000, UART_F_BUSY_DETECT, "NXP / Synopsys Designware UART"}, + {"PNP0500", &uart_ns8250_class, 0, 0, 0, 0, "Standard PC COM port"}, + {"PNP0501", &uart_ns8250_class, 0, 0, 0, 0, "16550A-compatible COM port"}, + {"PNP0502", &uart_ns8250_class, 0, 0, 0, 0, "Multiport serial device (non-intelligent 16550)"}, + {"PNP0510", &uart_ns8250_class, 0, 0, 0, 0, "Generic IRDA-compatible device"}, + {"PNP0511", &uart_ns8250_class, 0, 0, 0, 0, "Generic IRDA-compatible device"}, + {"WACF004", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet PC Screen"}, + {"WACF00E", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet PC Screen 00e"}, + {"FUJ02E5", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet at FuS Lifebook T"}, + {NULL, NULL, 0, 0, 0, 0, NULL}, }; UART_ACPI_CLASS_AND_DEVICE(acpi_compat_data); #endif #ifdef FDT static struct ofw_compat_data compat_data[] = { - {"ns16550", (uintptr_t)&uart_ns8250_class}, - {"ns16550a", (uintptr_t)&uart_ns8250_class}, - {NULL, (uintptr_t)NULL}, + {"ns16550", (uintptr_t)&uart_ns8250_class}, + {"ns16550a", (uintptr_t)&uart_ns8250_class}, + {NULL, (uintptr_t)NULL}, }; UART_FDT_CLASS_AND_DEVICE(compat_data); #endif diff --git a/sys/dev/uart/uart_dev_pl011.c b/sys/dev/uart/uart_dev_pl011.c index ae3c4d3218cf..f0d7bcda1fa4 100644 --- a/sys/dev/uart/uart_dev_pl011.c +++ b/sys/dev/uart/uart_dev_pl011.c @@ -382,32 +382,32 @@ static struct uart_class uart_pl011_class = { }; UART_CLASS(uart_pl011_class); -#ifdef FDT -static struct ofw_compat_data fdt_compat_data[] = { - {"arm,pl011", (uintptr_t)&uart_pl011_class}, - {NULL, (uintptr_t)NULL}, -}; -UART_FDT_CLASS_AND_DEVICE(fdt_compat_data); -#endif - #ifdef DEV_ACPI static struct acpi_spcr_compat_data acpi_spcr_compat_data[] = { - { &uart_pl011_class, ACPI_DBG2_ARM_PL011 }, - { &uart_pl011_class, ACPI_DBG2_ARM_SBSA_GENERIC }, - { &uart_pl011_class, ACPI_DBG2_ARM_SBSA_32BIT }, + { &uart_pl011_class, ACPI_DBG2_ARM_PL011 }, + { &uart_pl011_class, ACPI_DBG2_ARM_SBSA_GENERIC }, + { &uart_pl011_class, ACPI_DBG2_ARM_SBSA_32BIT }, { NULL, 0 }, }; UART_ACPI_SPCR_CLASS(acpi_spcr_compat_data); static struct acpi_uart_compat_data acpi_compat_data[] = { - {"ARMH0011", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, - {"ARMHB000", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, - {"ARMHB000", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, - {NULL, NULL, 0, 0, 0, 0, NULL}, + {"ARMH0011", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, + {"ARMHB000", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, + {"ARMHB000", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, + {NULL, NULL, 0, 0, 0, 0, NULL}, }; UART_ACPI_CLASS_AND_DEVICE(acpi_compat_data); #endif +#ifdef FDT +static struct ofw_compat_data fdt_compat_data[] = { + {"arm,pl011", (uintptr_t)&uart_pl011_class}, + {NULL, (uintptr_t)NULL}, +}; +UART_FDT_CLASS_AND_DEVICE(fdt_compat_data); +#endif + static int uart_pl011_bus_attach(struct uart_softc *sc) { From nobody Tue Jun 2 16:42:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnw2Bwvz6ft0x for ; Tue, 02 Jun 2026 16:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGnw0kNyz3mmM for ; Tue, 02 Jun 2026 16:42:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SRfPczPt4ccAs83K2cth/eljmGxh5Qfe7+dXxYowVZk=; b=daKpdv1/ISiNYtK6nMJu289IJ2GvYskMjdSzAckGLXDTAUgPH2+0prY9ihcRLrRurj2Ywo UPWdy0tzyWAqLQGH2W8OB+NPmClU5VaS3vuRHCJIKSXGAkyPLsP0jDK9P5xfYyVrCT8U6d 7XQ7jkqCsLqGPojwlRW40XFu/1MqaJDHllofVvFrxVGMj59y1CQkBvVIzGykkTYdCVn7o7 cNdvhtyBSDlx0k5i9N5c4C6IDXCOX7m8G3QQFN78FbKWebYQg9D9zLq1qSL5y2S4nTEKDN XHbVccz0dLCepzDSaTXYbCYB48vrIHysNDsaSOTjOOQFKOnd9vsARp3Bs0oA5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418532; a=rsa-sha256; cv=none; b=FuVeFYyGoQWnk9L1CNHSnt4IWzR1FweJYB1osE0egNfT1TfodoAIsKGLZRSNgsDsvBIvPP jDYMyXgNAP3lGufVsx0jJDu4sofZFoz5bgG6BQXjesiqrRu0B6VJIcY4nY9zsYb6ytszi5 QFYxIB8ZjK+G3EQI7huxbTXA+LZ+cZ/vaMGbw+s2l/W4GVz0LXGXKLCC/druzLasJl//vJ IkZlKLOLE35eREP6R7htGiVwfE/nBUt+OHkET6xUg39GJCrwi+PKMqYwNeJsDjMIydbQJl 7GiB/ElWl0RxKj7U1HatbH4H2pOCmr345VZwSTCa9cuGzcmNiNkP8Acuw9WPlg== 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=1780418532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SRfPczPt4ccAs83K2cth/eljmGxh5Qfe7+dXxYowVZk=; b=up+VTlaX6TJkKZ/6j6FXovEAmq+ImU3AucEJaeHwdgV0bTw/Q130D97ySvPco0jGlgVXw6 VD2MOE0lfPEsGFM6Ytt5Usi2MDEj4t4z8LNmn2Qv6BNsaRzFA00gS3rx0qFn6N2nQ4kdZ+ zGZhZsP7FZn53ZRomg1qgvSa/+upvUTDdmbWggEzfGabIEZqrBMT57isOvVTGfcTJ1wB6w KjKZju/BLxPcEde27C9WtZHnsJi4DSyv7ol8NFs9QoYywQKRh2x5uFs6mHTFMg6HjNEm0h DxB6XJFoc8RQTZBtoyMsrmrNeO+NYRlGYMCMCoF/erqelBqdnZJdfRTwYCSLmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnw0GLkzZb7 for ; Tue, 02 Jun 2026 16:42:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 459b3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:12 +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: 885a35c07b60 - stable/15 - tests: Fix reliability issues in POSIX ACL tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 885a35c07b60a3b8d1148756b52eac74403f5c5d Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:12 +0000 Message-Id: <6a1f07e4.459b3.e91136d@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=885a35c07b60a3b8d1148756b52eac74403f5c5d commit 885a35c07b60a3b8d1148756b52eac74403f5c5d Author: Dag-Erling Smørgrav AuthorDate: 2026-05-28 12:26:26 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:38 +0000 tests: Fix reliability issues in POSIX ACL tests The ACL tests use UIDs and GIDs 41 through 49 and expect them to be unassigned. Since GID 43 is now assigned to the audio group, some tests have begun to fail. While here, also fix a benign Perl syntax issue in the test runner. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D57297 (cherry picked from commit 05039fda7ee12f3b857e55a461607b5af7b6c91f) --- tests/sys/acl/run | 2 +- tests/sys/acl/tools-posix.test | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/sys/acl/run b/tests/sys/acl/run index f8e9c8d87f71..42dbc7373f7f 100644 --- a/tests/sys/acl/run +++ b/tests/sys/acl/run @@ -105,7 +105,7 @@ if (isatty(fileno(STDOUT))) { } } print $status, "\n"; -exit $failed ? 1 : 0; +exit($failed ? 1 : 0); sub process_test($$$$) { diff --git a/tests/sys/acl/tools-posix.test b/tests/sys/acl/tools-posix.test index 2b2a27d24a0d..aa92911761a6 100644 --- a/tests/sys/acl/tools-posix.test +++ b/tests/sys/acl/tools-posix.test @@ -80,7 +80,7 @@ $ getfacl -qh lll > group::r-x > other::r-x -$ getfacl -q lll +$ getfacl -nq lll > user::rw- > user:42:r-- > group::r-- @@ -89,7 +89,7 @@ $ getfacl -q lll > other::r-- $ setfacl -hm u:44:x,g:45:w lll -$ getfacl -h lll +$ getfacl -hn lll > # file: lll > # owner: root > # group: wheel @@ -111,7 +111,7 @@ $ rm lll # Test removing entries. $ setfacl -x user:42: xxx -$ getfacl xxx +$ getfacl -n xxx > # file: xxx > # owner: root > # group: wheel @@ -369,7 +369,7 @@ $ rm ddd/xxx $ setfacl -dm u::rwx,g::rx,o::rx,mask::rwx ddd $ setfacl -dm g:42:rwx,u:43:r ddd -$ getfacl -dq ddd +$ getfacl -dnq ddd > user::rwx > user:43:r-- > group::r-x @@ -378,7 +378,7 @@ $ getfacl -dq ddd > other::r-x $ touch ddd/xxx -$ getfacl -q ddd/xxx +$ getfacl -nq ddd/xxx > user::rw- > user:43:r-- > group::r-x # effective: r-- @@ -387,7 +387,7 @@ $ getfacl -q ddd/xxx > other::r-- $ mkdir ddd/ddd -$ getfacl -q ddd/ddd +$ getfacl -nq ddd/ddd > user::rwx > user:43:r-- > group::r-x @@ -405,7 +405,7 @@ $ ls -l fff | cut -d' ' -f1 > prw-r--r-- $ setfacl -m u:42:r,g:43:w fff -$ getfacl fff +$ getfacl -n fff > # file: fff > # owner: root > # group: wheel From nobody Tue Jun 2 16:42:13 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnx6GlYz6ftdM for ; Tue, 02 Jun 2026 16:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGnx1Xq1z3n7p for ; Tue, 02 Jun 2026 16:42:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5o6q+7egCvkrRl/TCDl0uIYosNR+XVgwLYEanhFOZwo=; b=qrG7QjKWAFPRSPX7tgm9MiNd7SIewBHLHFM68WgsQJaRWCtiLSWKc8OyoGEIX1IApdArwE 8Xawmq6HSBsPYoJUv+Xg1jewHW0fO5H00szimEJZN98eEJ26/nVQhaxpCmXTpcrzb7cv6w V6M/423oDidHGw86TTOS8mr6WXs8uerg3aecAqdKUd4nh43/3KP+H16OO8wG6hxXpIzpFH TlAUPSxao2os3vpZrlfS58liA31HyzImMqHgM8/bxoZbIeL2DpX1+hu9X9d48ehhVr0Sqp 5GVsbcu6eBB0QRBuzMjkpK6vJT8ofgTZSCrTA0CbAZhP3SmRY5YkPeoqqFsdbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418533; a=rsa-sha256; cv=none; b=xDUX3m9YF6AMR2PHrah5697ADdGJTObYN9E+zUMHIp/ee6KONvQ246OyjWZgzVHZBKHOza ePuf31V8H906pjZAvYta7801rcRd/QaW0j0aqBTbwB+08syzYqIHCaSLoM9TTbAmMUhrE6 VP5mRbBIbnCHU3SU0d3rd+lkkhxRrW+2swEmh/w1XOQ1qWGNSL476+8/CbuXBPQAt8QvTF ZEgP0rZH7YriJ7JPY/ujGjYIPwUZqRkOPWWzyvRq5Lc6zfcwSJnDWKT4LTzOZWcdqxxcK2 Qls/wNeHESVPDeEtXJnyrXbm6sr5fLgHZk5GMYZHa7r33biqyWFkZWuPtbZWZQ== 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=1780418533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5o6q+7egCvkrRl/TCDl0uIYosNR+XVgwLYEanhFOZwo=; b=lXgJpb9/9p9Z0ySy9HclTe3iz6RcW3St3gb1YI7/Cs7u1IsnZM3mubh17GJjfguSSQoQMx zBfGBAU20GQ2/PcEcAxtfWQqeNkk3BsrDE0oJkZ3xHJWbL+Wea+HFXY6DUuyccZirJDbq4 if2RjCmTnLgoW1mRgGKqONr3/BnSefhKrul4VzMwU1gnwt6mXtQcBswEG/6mKEIhRHlcJg pdr7mn/eau1EoEW1npG6xqJPWswcxGLDcSMpR14wIK5OwcahHWxJ+l5qYD+MjBWIYuLIAP 3kmHYpL4ltG8L4NpiJUy0GC3rX31VUqfsfFSaJSXOzmVqg6Fix89xrZUBwifiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnx0rbMzZXg for ; Tue, 02 Jun 2026 16:42:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 467ee by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:13 +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: b243ead1edd8 - stable/15 - certctl: Style nits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b243ead1edd80fe1d5dddbf75d94a64a9f2b0902 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:13 +0000 Message-Id: <6a1f07e5.467ee.6a88bd7b@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b243ead1edd80fe1d5dddbf75d94a64a9f2b0902 commit b243ead1edd80fe1d5dddbf75d94a64a9f2b0902 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-28 12:28:22 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:38 +0000 certctl: Style nits MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D57298 (cherry picked from commit 39f23af2ba4b845eb7f4ec7ae4079a67557eb63d) --- usr.sbin/certctl/certctl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.sbin/certctl/certctl.c b/usr.sbin/certctl/certctl.c index cf737565ca9e..98c12dbcaa3c 100644 --- a/usr.sbin/certctl/certctl.c +++ b/usr.sbin/certctl/certctl.c @@ -1093,6 +1093,7 @@ int main(int argc, char *argv[]) { const char *command; + unsigned int i; int opt; while ((opt = getopt(argc, argv, "BcD:d:g:lL:M:no:Uv")) != -1) @@ -1155,8 +1156,8 @@ main(int argc, char *argv[]) set_defaults(); - for (unsigned i = 0; commands[i].name != NULL; i++) + for (i = 0; commands[i].name != NULL; i++) if (strcmp(command, commands[i].name) == 0) - exit(!!commands[i].func(argc, argv)); + exit(commands[i].func(argc, argv) == 0 ? 0 : 1); usage(); } From nobody Tue Jun 2 16:42:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnz1NzKz6ftB2 for ; Tue, 02 Jun 2026 16:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGny47qqz3mtV for ; Tue, 02 Jun 2026 16:42:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v27M5BX9LM3skNL/pSP7ItxzlphO1SDrExf87xT8m0w=; b=odohmjCShQzkniMgKpznoCxvlgDbvtEvP8sdV5oO5YhmE5eBGVfyktq5YPmNdhFVQb966E ALnldRg41HqsnqlQh2BhNLdENvGGObIPJ8cP3pQDgoWQoOMD0GbkE8Effxm3dzeS7TSR2l ApfaC+u0hCfIglNW3dG6AaMTO6j3Q4vzfhCg+U5St/8bZhtarxZ1KTWrr4FWHkSwoOpI+K 5sHqlz++tg420B1OOCQrv0+aDdFDk5++a/ufGiAOz+r/zCRl6LTG9+rkJqw1poqbO2582b MQ9T7mQgPFSxXS+7p0lcb8yncvqE/Ai8PAmwCPMdaBRxDQUbsNg300WLl6Jm2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418534; a=rsa-sha256; cv=none; b=p+ZYYSEowFIejSHH2RL6Pr4gIREBuEOrTXvBSqAUh8Ue53YP7l78MZlHHEKh+Q76SNJTC0 tETXLFbqMH4EB9fP3TgwpLjBC1aqpfFoeRTtVey6sQHH/E4651z1vHBaqm0qlF7vZ7kLGS U5ZTuaTkxZUP5C/CStrDPmDgNs+d9YJs0Fi/XaniaTVxEEcEmYiW/vCfZJMOSX9X5m9f7Q 6RwdJ+OD3pMWMF0LgvjTclp2+qNprP+QDdevqjd215i17AOIscgn/9jMzycsBWiVNxQMic 1E+K6Q/9pqxCi16IBMnRGqQXWa7r0Y878O3hnOUAlSM65m6cFohuws08WTQeSQ== 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=1780418534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v27M5BX9LM3skNL/pSP7ItxzlphO1SDrExf87xT8m0w=; b=ozmwn4MORGSueQPu4TgVzX4W9oDIOaoEtPnYEChrX+twv/4G724RWuPAk8M+OkeOpo8lb4 Jvw/ePSFkkWkVWdjRW2FW306y8LhqbsnsBMuS0Rtuqbyd1guHzE9UngY0mSC57sf9dBO+2 GvKISVX0Cd3NkSVsNs4sFtkF+1BnCfrEKQLw+8bHQJTjsMmst/g8IOmRDCSYAvJQz7g/ZJ c7WEFNH5k8mSLoqrdWFOUxhDS0Gv/WQ6x1y/fIpsKAYcTFAVEsx52G0LqgszMvmzyGlD0k BrotfAVWbeYqpcV7924PAa+H4TUXOlMgoOoSYjtgxQ6pEm+MSJ6goVNj+gh/PA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGny1kQ9zZLG for ; Tue, 02 Jun 2026 16:42:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 451bf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:14 +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: 689206379f4c - stable/15 - ctld: More consistent error messages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 689206379f4c419d6340a8dde402f63a236e111b Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:14 +0000 Message-Id: <6a1f07e6.451bf.63e937e1@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=689206379f4c419d6340a8dde402f63a236e111b commit 689206379f4c419d6340a8dde402f63a236e111b Author: Dag-Erling Smørgrav AuthorDate: 2026-05-28 17:22:43 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:38 +0000 ctld: More consistent error messages The error messages ctld emits when it finds a port or LUN it did not create were inconsistent with each other as well as with ctld's other error messages. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D57270 (cherry picked from commit 95fc64cc29fb4cddc7cad093cfa32587a623f560) --- usr.sbin/ctld/kernel.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/ctld/kernel.cc b/usr.sbin/ctld/kernel.cc index 6b17ce60ac69..f2bdf53bd3ee 100644 --- a/usr.sbin/ctld/kernel.cc +++ b/usr.sbin/ctld/kernel.cc @@ -446,8 +446,8 @@ add_iscsi_port(struct kports &kports, struct conf *conf, const struct cctl_port &port, std::string &name) { if (port.cfiscsi_target.empty()) { - log_debugx("CTL port %u \"%s\" wasn't managed by ctld; ", - port.port_id, name.c_str()); + log_debugx("CTL iSCSI port %u \"%s\" is not managed by ctld; " + "ignoring", port.port_id, name.c_str()); if (!kports.has_port(name)) { if (!kports.add_port(name, port.port_id)) { log_warnx("kports::add_port failed"); @@ -496,8 +496,8 @@ add_nvmf_port(struct conf *conf, const struct cctl_port &port, std::string &name) { if (port.nqn.empty() || port.ctld_transport_group_name.empty()) { - log_debugx("CTL port %u \"%s\" wasn't managed by ctld; ", - port.port_id, name.c_str()); + log_debugx("CTL NVMeoF port %u \"%s\" is not managed by ctld; " + "ignoring", port.port_id, name.c_str()); return; } @@ -563,7 +563,7 @@ conf_new_from_kernel(struct kports &kports) for (const auto &lun : devlist.lun_list) { if (lun.ctld_name.empty()) { - log_debugx("CTL lun %ju wasn't managed by ctld; " + log_debugx("CTL lun %ju is not managed by ctld; " "ignoring", (uintmax_t)lun.lun_id); continue; } From nobody Tue Jun 2 16:42:19 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp40kvvz6ftZw for ; Tue, 02 Jun 2026 16:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGp32rgmz3nKc for ; Tue, 02 Jun 2026 16:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418539; 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=qSQKYa0nrDWdJHyLs6Ruih62Eosy7JsfEENPDNqA9gY=; b=VaCtWoZVgzSUJkfVE7xKN9Z/cMLRTknJGAafWYG06DH9Q8i/XK+KWjxAvF7V1Xtc9jqi9m ttWwHC02fKH8ChcjB4T14RpGxnBYoeSgOYF1a6pyW8jRbDY09V9QWfmK6ATlb5ZYrVdbH4 cquEzGeUhAeHOXNLv0HeZvmfo5EtA7lOw18qv675D/WnVPM64wqxUNgnpMltt8t9IxNqWT uhbC2rzUZO4I6qanzh7D/xKbJLoepdevL7nXylz+rCv/KKOvU5jT/zZIY/Oo9hxQrlx1NL 9AwSWk1njUFe132eh32fh8eEpkINaGQIGxWabc98i4Fl0pn5WwHfqItrsycHGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418539; a=rsa-sha256; cv=none; b=jp9V3a+AtQzZDWrqgYJQuzf3L/oUe0XW3O8Uq6Ue5tA4dV0JrJo7ULjtSPTOQoBbBV+Q3k AQm7iqMbmk2H3tHi/ZAYnpAOqvryQ8EiEUA03heXINRiHMJR+mePT2TLOdHaHTHfX1BUJ6 z3xuIcOtbNoJhjsaigha+CJslbxp/6fF8NacskikdwPgpu1X9unCZJqnYv+p7sf7FPlgdA HBOWdOt0uJ4uJyP9yTfYe8JHtSdcdNyYchD46p2KSfbJmhUjLBw8j2l2eVe7x3nK8BStM9 NfX4DnHtpQLrPLgmae1bRtVdrFbqnmk+o/VhhpB6+rGQVPJNyyHGyxAISarlWA== 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=1780418539; 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=qSQKYa0nrDWdJHyLs6Ruih62Eosy7JsfEENPDNqA9gY=; b=LwDahO+/gNEaWXGA2Ves5Bb+Wr7ceE9gGGyKx19EeleZNK4BJayyAg8adOmFwbup+FyrEO bTi68OFzTAKIMWtcWz+dEFJLOj7as8E/jDMpwUBnGXNZWeL5Nejq6jxgxq0AsI0queTzRl 89u9rhf4iT8Y0XwcVJvfbXtCOI0k2APuXmAsJ7nbhv1YECBJOguV0pAhE+z6jfl5Kbbyej D4BS2oCixh6o+/yNPbHFPnmL5Mxv0yrlANbpAkW8Wa3WNPXg74Ix0E7tLRlFqkhuF/uYwo aRLHPIAzyysBfsXHEsF4d0fPpkykIDT5mOWiVfEa0/8g5Sk8WeuqCKiH9JjJZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp329CJzYxG for ; Tue, 02 Jun 2026 16:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 451c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 5fd06985f8f0 - stable/14 - libarchive: Force GNU iconv compatibility on FreeBSD List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5fd06985f8f0b8591866498dc59cdfa3d82c6e78 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:19 +0000 Message-Id: <6a1f07eb.451c3.5ac5b656@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=5fd06985f8f0b8591866498dc59cdfa3d82c6e78 commit 5fd06985f8f0b8591866498dc59cdfa3d82c6e78 Author: Mark Johnston AuthorDate: 2026-05-20 16:39:40 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:42:02 +0000 libarchive: Force GNU iconv compatibility on FreeBSD When libarchive is compiled with FreeBSD's native iconv instead of libiconv, as happens with libarchive in the base system, we need to configure iconv(3) to handle invalid sequences by returning -1, as iconv_strncat_in_locale() assumes GNU iconv semantics. This corresponds to upstream PR 3056. PR: 294577 MFC after: 1 week (cherry picked from commit bd15d6ef126ee4c0eac931117f6bbbf6f9a3fc72) --- contrib/libarchive/libarchive/archive_string.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index c6ae8968d54f..4fb96a9fa178 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -1314,7 +1314,17 @@ create_sconv_object(const char *fc, const char *tc, else if (strcmp(fc, "CP932") == 0) sc->cd = iconv_open(tc, "SJIS"); } -#if defined(_WIN32) && !defined(__CYGWIN__) +#if defined(__FreeBSD__) && !defined(HAVE_LIBICONV) + /* + * FreeBSD's native iconv() by default returns the number of + * invalid characters in the input string, as specified by + * POSIX, but iconv_strncat_in_locale() assumes GNU iconv + * semantics. + */ + int v = 1; + + (void)iconvctl(sc->cd, ICONV_SET_ILSEQ_INVALID, &v); +#elif defined(_WIN32) && !defined(__CYGWIN__) /* * archive_mstring on Windows directly convert multi-bytes * into archive_wstring in order not to depend on locale From nobody Tue Jun 2 16:42:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp606Drz6ftdj for ; Tue, 02 Jun 2026 16:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGp54KZ8z3mvl for ; Tue, 02 Jun 2026 16:42:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iM9y7G2/S1zm0ya+uknExWc8H0k5Wzt2gHkv5fgqWL4=; b=t8MQQdEh3WjIgel7UIFhoRBex+4J322UUo7jAEmay2MtjhbYuR8LfsCLD1KQC611doWuqp 2p8mjU3lB0Tou548QUb4Rcd9WX2/Bb8oyFmcKEW+sh1jit8KV0Pmpb5qATDiQYUETf5/V7 0QP3soj1nCpXW5fBbI3CJoPi+8T0+jK5lcGpMXLI9femsjMLgQIY9dZ/y5vdFoOPAZA1fd iNWBdHhPrTQBja0+6VSyGJK7qn3wL6b/JBthS6kZWe3efsWlHROSPYoIsIdv973sKxBVGZ bhuxxfVPBmn35Kmmm0hzHEw/WXXWyB3Lv0ZhMwmmkQCPw2YcVXbKAfAnXCZq2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418541; a=rsa-sha256; cv=none; b=kS1b2XhNNXz3OZ/6lOxHaq47mFBlXZPY5wNZi1AgRsesQKMJNBPvy/jqHby4bzAFm3vyE+ 5EiWtjdXSO/XcfhPS1M/IePvKy1dVpFfVGKWaRYFjL6ufkO54if5l1djTS6TtDddIqmXDk 2+jsShzPDeyRt6u+fvLTxVZ8LsECx6nJ+hgaj16t8ot94qMnjIbOZtykU/WUWSYhJmWG4G J01canVKV9iwNl56aWVa/xJusHsZIEyNEdkjAIAfazHF601oAheJGa1JpNP8lmNHbE32YV /ReVBGH/IBEIqIoSZ39uhTEMfGpH97LHSF4X3vNxnEKGNVncm2GJg8NSYx4xSw== 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=1780418541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iM9y7G2/S1zm0ya+uknExWc8H0k5Wzt2gHkv5fgqWL4=; b=Vb3Gp4+gThg5MSvPvx+ygI2ryu8ZsihYUIV5PuOPoGciBs84xL2EOQtTOvuB++hGQmglJW GyWZjd9XxsqlONtneXBpX09trzWh1HD3IgO74YJMSOrrESL/DP3WB/nWwa1artFo0+Rs4q 6XC+mrqC51lERBKzcyDNrjuD7UOlT/NEithDn+GPQhat45xoBuWuxJrGToSrrz7zF8a43h NzlPRLbCTn3WnjuZCbb3bj+wv/skAqFpCnRNJggBAh/cjCHH/amaJvq10gAU/iDFupQ2bh 3AJUfyp8bkJVxYHrUsnMweuQWfxOTPj/djvfKgUHN0DQTkeM8RyuGtdw7PXnBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp53wVDzZRm for ; Tue, 02 Jun 2026 16:42:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46668 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42: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: 94cba369a3ba - stable/14 - tests: Fix reliability issues in POSIX ACL tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 94cba369a3ba08de40e535db703db344d6a968ca Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:21 +0000 Message-Id: <6a1f07ed.46668.10bccf2b@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=94cba369a3ba08de40e535db703db344d6a968ca commit 94cba369a3ba08de40e535db703db344d6a968ca Author: Dag-Erling Smørgrav AuthorDate: 2026-05-28 12:26:26 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:42:03 +0000 tests: Fix reliability issues in POSIX ACL tests The ACL tests use UIDs and GIDs 41 through 49 and expect them to be unassigned. Since GID 43 is now assigned to the audio group, some tests have begun to fail. While here, also fix a benign Perl syntax issue in the test runner. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D57297 (cherry picked from commit 05039fda7ee12f3b857e55a461607b5af7b6c91f) --- tests/sys/acl/run | 2 +- tests/sys/acl/tools-posix.test | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/sys/acl/run b/tests/sys/acl/run index f8e9c8d87f71..42dbc7373f7f 100644 --- a/tests/sys/acl/run +++ b/tests/sys/acl/run @@ -105,7 +105,7 @@ if (isatty(fileno(STDOUT))) { } } print $status, "\n"; -exit $failed ? 1 : 0; +exit($failed ? 1 : 0); sub process_test($$$$) { diff --git a/tests/sys/acl/tools-posix.test b/tests/sys/acl/tools-posix.test index 2b2a27d24a0d..aa92911761a6 100644 --- a/tests/sys/acl/tools-posix.test +++ b/tests/sys/acl/tools-posix.test @@ -80,7 +80,7 @@ $ getfacl -qh lll > group::r-x > other::r-x -$ getfacl -q lll +$ getfacl -nq lll > user::rw- > user:42:r-- > group::r-- @@ -89,7 +89,7 @@ $ getfacl -q lll > other::r-- $ setfacl -hm u:44:x,g:45:w lll -$ getfacl -h lll +$ getfacl -hn lll > # file: lll > # owner: root > # group: wheel @@ -111,7 +111,7 @@ $ rm lll # Test removing entries. $ setfacl -x user:42: xxx -$ getfacl xxx +$ getfacl -n xxx > # file: xxx > # owner: root > # group: wheel @@ -369,7 +369,7 @@ $ rm ddd/xxx $ setfacl -dm u::rwx,g::rx,o::rx,mask::rwx ddd $ setfacl -dm g:42:rwx,u:43:r ddd -$ getfacl -dq ddd +$ getfacl -dnq ddd > user::rwx > user:43:r-- > group::r-x @@ -378,7 +378,7 @@ $ getfacl -dq ddd > other::r-x $ touch ddd/xxx -$ getfacl -q ddd/xxx +$ getfacl -nq ddd/xxx > user::rw- > user:43:r-- > group::r-x # effective: r-- @@ -387,7 +387,7 @@ $ getfacl -q ddd/xxx > other::r-- $ mkdir ddd/ddd -$ getfacl -q ddd/ddd +$ getfacl -nq ddd/ddd > user::rwx > user:43:r-- > group::r-x @@ -405,7 +405,7 @@ $ ls -l fff | cut -d' ' -f1 > prw-r--r-- $ setfacl -m u:42:r,g:43:w fff -$ getfacl fff +$ getfacl -n fff > # file: fff > # owner: root > # group: wheel From nobody Tue Jun 2 16:42:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp552yrz6ft1J for ; Tue, 02 Jun 2026 16:42: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGp43X9nz3n73 for ; Tue, 02 Jun 2026 16:42:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nfxu90CHrgy+rldNQVk9vw6j8aMzEB2iIbBv5pwYZ5w=; b=dKAd3LhrFc5zHemFm4yeGJDYc0hIC9t8XnBwWRA42aq4bXtZvpEm3zqg04ZAVPfumbaGqF otff3aQAtOjjfeQcMjM3hbNR+6z4yk1ktuLLUu05vmenkiJRx42qBNa4mXb2HujZ0jgmSU dO7g1Fef37c/48lQ2XqrR9E6fNzJRHcEux+ioerYWJzS1QqfCOPsHP0zhz0A+89MDN0HJi Z8rgbo49+DoPPrcD4jMDE1qsn8DUuzpmwgH8rFboJAgASmt+O+oJqzQx5zUL6J89LwAr7f B2g5FGMSv60SaxwEZewh/NbkNNgGwkmoD9TZUg2HESxKUdhIsuSJnpl5CxGKCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418540; a=rsa-sha256; cv=none; b=pMMGqhv+YbaSYVdHL+QxQBsczhor12Qa5ymuHjLmQZaxL4UihqXvf4o1cyvO+T8JCkRZo5 JGsnUXYxy3gFGdGDvteHiHCMXs/6RwEaGUtjGN9X+my3qEjFktkczlqoUxKoPtClWVURYm cMz+aBfD5Rfz6ZdquWeLFagVEm9GP6sfViMEXgBKCo0bdrGx8TMG6FmbL3oeEat94YBAg3 r0FBEdJpoSZq2EYX1hKUwg7ml+1xGSIFzgOawTcHzCqGqT6RBo6g1k1+zfdqwv4jxDSiJW WTlxt01IJr2UK5kANevZ0ENIUfzayBaHvC+1S7+lkni3Pbtoj6J9RJ5q7ZVAkQ== 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=1780418540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nfxu90CHrgy+rldNQVk9vw6j8aMzEB2iIbBv5pwYZ5w=; b=kHajGEGZoDDEYqDosnMwHDLjUUlX2yTHlzfpVaHtIdcpXMbxUliIwO4yL1Ou8L2Xpys4YA QjE5jsK/c6LzZuDD2Mzawc5GlXd0loTieT2iAhKk0TTUKBmRUuKWiTaS22ncVp5h2q3wsU 7n35yjxqMnYeEH0Att3qQOLU2lduuqRy0ykPJeEpXfhQkwTRcr+Jgv7cYXbVx6xjzt1hnZ 09wNFeoqTFAoZmQhbdwVSMnYh1NUNuX9e4Cz5wG3mqkBfrLjX9IaTPm8XORx/2qnafbWih FITWoN7m3SU8MzZNri7cdvC/s5qeOaswdp/xdcA0OpRwkOfTyC025IqYjXDzdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp430dQzZXp for ; Tue, 02 Jun 2026 16:42:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 456ec by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:20 +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: 2ca3e4673a6d - stable/14 - cap_mkdb: Fix memory leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2ca3e4673a6db1ec47cca34c96c3c5384e2cde55 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:20 +0000 Message-Id: <6a1f07ec.456ec.1a969a59@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=2ca3e4673a6db1ec47cca34c96c3c5384e2cde55 commit 2ca3e4673a6db1ec47cca34c96c3c5384e2cde55 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-27 17:02:12 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:42:03 +0000 cap_mkdb: Fix memory leak This is not a big deal since it only iterates once before exiting, but that's no reason to set a bad example. PR: 195128 MFC after: 1 week Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D57251 (cherry picked from commit 6880405bf97df03ffce227d34c2faa99b602a49d) --- usr.bin/cap_mkdb/cap_mkdb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.bin/cap_mkdb/cap_mkdb.c b/usr.bin/cap_mkdb/cap_mkdb.c index ff85c14b9b33..a6c958809e7a 100644 --- a/usr.bin/cap_mkdb/cap_mkdb.c +++ b/usr.bin/cap_mkdb/cap_mkdb.c @@ -130,6 +130,7 @@ main(int argc, char *argv[]) if (capdbp->close(capdbp) < 0) err(1, "%s", capname); + free(capname); capname = NULL; exit(0); } @@ -164,7 +165,7 @@ db_build(char **ifiles) data.data = NULL; key.data = NULL; - for (reccnt = 0, bplen = 0; (st = cgetnext(&bp, ifiles)) > 0;) { + for (reccnt = 0, bplen = 0; (st = cgetnext(&bp, ifiles)) > 0; free(bp)) { /* * Allocate enough memory to store record, terminating From nobody Tue Jun 2 18:25:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVK5t071vz6g5XD for ; Tue, 02 Jun 2026 18:26:10 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qk1-f176.google.com (mail-qk1-f176.google.com [209.85.222.176]) (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 4gVK5s1tHfz481V for ; Tue, 02 Jun 2026 18:26:09 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qk1-f176.google.com with SMTP id af79cd13be357-9157b94a07aso121049985a.0 for ; Tue, 02 Jun 2026 11:26:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780424768; cv=none; d=google.com; s=arc-20240605; b=V3Jv/Fvzyc5O8PCoZCPKMQ0HM5Mbrcidx3TYoYJ90JNgGUkkls6oX3fRKrsItO7ovt eKYMxf/4gLVKOsdw6ZtNkw7nc8wedrVhuwLZbNp8vvFrxnJesBcVlD9WkXMD8ACuml3t LDchn7sHX+TbnxCnwYn1wWUBuTyfet3ETK4gg/VoUje8QM++usYF3+fO1K+D6EeP7IZ4 AVgwcMj5ZBqqAiP18cV+qaPmGi+3YsImyfSmB9ac4w/mhg6mZE7OcAew4JMrm5grtJAo uQd44IPj69vrk3mQH7xqmDUeFxZpRD+DuHdrhxmYEUuYMU8tcGsyIUU9/SvutJO3vXEt HksA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=b/papAWu+k5kmQ7Tpm2UoL+QirrWZWp475SuYY/ulBo=; fh=KK5jxPKfZ92U81F0VV2sqHyB2hbI4QjQXWzMIugepzM=; b=ieO5ErrWHXiGhLeVT8geqhqN4HE2GnO59bKMaUJXXiUmx3v1nw+Q/zKLan4++xA4+e oxhDjKw+SfmGkYBdLqUPPt1ojgCFusKpwC8OXXM6q31r1WzNZXBMEKY4ek+vjHX4LVvk O1amU2HYdVcuf3qFxmpYBDb3XV25fgAoNUY2ESCOTFUenvsG2ijIca7CMa3Glo0fQyyz N3Z/s4cwhprX80yQrZoMu+757+j+4Bza/PWyzy9VB1sAib8K+BHZqy/gtn5LnGhW4/wb jaylDsCTyqG9NUEjT4ZwsL89P1WxyOB8RekJmohDnBNung3G/Alv1kUtqvWAk9TQCZzt HhDQ==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780424768; x=1781029568; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=b/papAWu+k5kmQ7Tpm2UoL+QirrWZWp475SuYY/ulBo=; b=PLhSKMFdULGWjVw4WH9phT8TEkYmnlQvCskZUff+ibivAVHgc01/rD3a54G51RcKvj uFgbMr9yTgQXYgbQvUvWklM+Cb04xkWX+hLuDTMaTDqu+H2Nff1KI2mrOC3ALXPUF9CS 6LiCasxuLLQNqFn1OS7jTaNEMFXTPvCV1Y6F+pZEsD6WTqxtz/P7zAF2gl+nZKtdBupM 1X2asL0L83yPK8lMd9PyYvNAWyfIQ5yHEeE4Gt9p2c5gE28AFVRj9i5JhzZl/eyn1Ym+ u9R/LRPxM8Sr7UK9UmuQ7UDpUXpL9xb2aozjqtzIH0c/uxpMA2zV4Po3auEc3IDHDB53 jkAg== X-Forwarded-Encrypted: i=1; AFNElJ+dcY7xNO8GP23DuLNoyfJXCIOOFLvlJmVuMMWvUMfpkpQhY5FHiog6Amba82psy3cFijPieS+J4/3eKaAPjiBattgU@freebsd.org X-Gm-Message-State: AOJu0YzZuLaD2JtrKueAV6Bq981gubOVQCBS5/b/QsKa6hrQsUA2pAoG otXbVHU+xEpZml7GIKNwAt4G3EH6LML0+h+iovEIDqUk/euMKaWoOr27S39mqkeXtWn+9Vp8c9Q 3/YkSc/oA3L/LH42nk0BENZSyRZnqDokwjw== X-Gm-Gg: Acq92OEqUaDOfIeRzbvTMkq75mRB6OnXIevwBOlgzPkr+IxWWQa5n9eoeii2pCStFQo kbNOQa1qm2WYOsD57X5MSOyqSGRXF2ytnxIY1XKx+X3tJqpbdXxn69PZepj6qY8zt1rrHtecLWB wzzxmknsRVaUO8qdljlANUTfVnVJlKRh6It+j7U+h42/SqKadTqiO8LU/tQpaSAYpuxOV2HbwXM Lbk9RVN0hIF+23Q0I3tMw0DBlp74Pm4cckR7jiPc3vwIVD4VCjFr+pu2FJJWeZGCtmZrKYh7V6E DP6Q4mHgFLngutbn2/usvYos8LwSPXcmbgc25QdCxjDPAETxjwhp9zP8ak0mMzkIY6rZwI/ivDS eKSV6ctwlU/JsvQcxJsTVEREOlxmKIQwFCDrtwgmA5zRHQrfUDUWwif9oOQahS/H3TrA= X-Received: by 2002:a05:620a:1a14:b0:915:7e22:6f1f with SMTP id af79cd13be357-9158a6b10a2mr32596385a.22.1780424768341; Tue, 02 Jun 2026 11:26:08 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: <6a1e7b3b.1a45a.91f6820@gitrepo.freebsd.org> In-Reply-To: <6a1e7b3b.1a45a.91f6820@gitrepo.freebsd.org> From: Adrian Chadd Date: Tue, 2 Jun 2026 11:25:56 -0700 X-Gm-Features: AVHnY4LuzgHW_sSAHljKy60kQt6ygUdwI7mAOy_IGysVPBuOZ0fpTyU3_PLynq0 Message-ID: Subject: Re: git: 7b26353a59d6 - main - hwpstate_intel: Disable package control on hybrid CPU To: ShengYi Hung Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TAGGED_FROM(0.00)[] X-Rspamd-Queue-Id: 4gVK5s1tHfz481V X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated .. it sounds like we want to split this up into package versus cluster frequency or something? What's the API look like right now? -adrian On Mon, 1 Jun 2026 at 23:42, ShengYi Hung wrote: > > The branch main has been updated by aokblast: > > URL: https://cgit.FreeBSD.org/src/commit/?id=7b26353a59d66dc1bc611fd042a49b9e3bd13699 > > commit 7b26353a59d66dc1bc611fd042a49b9e3bd13699 > Author: ShengYi Hung > AuthorDate: 2026-06-01 09:46:37 +0000 > Commit: ShengYi Hung > CommitDate: 2026-06-02 06:41:41 +0000 > > hwpstate_intel: Disable package control on hybrid CPU > > In package control mode, the performance of all cores depends on the > most recent value written to the request field. If the last write comes > from an E-core, all cores are forced to align with the E-core > performance level, resulting in significant performance degradation. > Therefore, package control is disabled on hybrid-core systems. > > Reviewed by: olce > MFC after: 2 weeks > Sponsored by: The FreeBSD Foundation > Sponsored by: Framework Computer Inc > Differential Revision: https://reviews.freebsd.org/D57377 > --- > sys/x86/cpufreq/hwpstate_intel.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/sys/x86/cpufreq/hwpstate_intel.c b/sys/x86/cpufreq/hwpstate_intel.c > index 3d2cc0a5966b..db8600d7b89a 100644 > --- a/sys/x86/cpufreq/hwpstate_intel.c > +++ b/sys/x86/cpufreq/hwpstate_intel.c > @@ -321,9 +321,19 @@ out: > return (ret); > } > > +static void > +intel_hwpstate_hybrid_cb(void *ctx) > +{ > + uint32_t *small_cores = ctx; > + > + atomic_add_32(small_cores, PCPU_GET(small_core)); > +} > + > void > intel_hwpstate_identify(driver_t *driver, device_t parent) > { > + uint32_t small_cores = 0; > + > if (device_find_child(parent, "hwpstate_intel", DEVICE_UNIT_ANY) != NULL) > return; > > @@ -343,6 +353,17 @@ intel_hwpstate_identify(driver_t *driver, device_t parent) > if ((cpu_power_eax & CPUTPM1_HWP) == 0) > return; > > + /* > + * On hybrid-core systems, package-level control cannot be used. > + * It may cause all cores to run at the E-core frequency because > + * the resulting package frequency depends on the last core that > + * sets the frequency. > + */ > + smp_rendezvous_cpus(all_cpus, smp_no_rendezvous_barrier, > + intel_hwpstate_hybrid_cb, smp_no_rendezvous_barrier, &small_cores); > + if (small_cores > 0 && small_cores < mp_ncores) > + hwpstate_pkg_ctrl_enable = false; > + > if (BUS_ADD_CHILD(parent, 10, "hwpstate_intel", device_get_unit(parent)) > == NULL) > device_printf(parent, "hwpstate_intel: add child failed\n"); > From nobody Tue Jun 2 19:04:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVKy51t6kz6g8nw for ; Tue, 02 Jun 2026 19:04: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVKy517HNz3Ds8 for ; Tue, 02 Jun 2026 19:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780427069; 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=BIjM4lQGypOmasEFckaywXzjOCqk7/b2K2LUFUpd5X4=; b=kMl/fhFC2+U9EhN0JoycjoQYilz7natuapcnj5Ed8JqvJpqPDw7UVHvsqF1TAoIZVYdbEv joY3t1vIZMQTN1ChurQJoW5x4WOAMhX3I4kvNJmglxjelPing+X5h0soY+4shAny+nqeow IsX9LO8shJFD9/YpposzMXfr0d9gJWMbBvU1UXKNQd0tV3uK+CyAnCgyLpmf2iZLwjy4iD homn6Wxkw6yKfpVy/7gn2sYwbLrAZi/BJvK6gOIgx/B4DnqYHsGWESYWY05gSXYreHpAu3 vEnCB63/hlH5/7nPKlIpVYiQMHlNkhMw/DTXim2hacl5dB2POkSHkcSnrAf5Mg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780427069; a=rsa-sha256; cv=none; b=P7xbn8EWzl0aRMrRXNq4mNsPXgNUSTwnfoOKAeVbJfSEBgqSqp37oroJ6whWb3jMwqpMU1 w/bPEt+AJF66l50WXuaqncCQs41Q9lK0GiBn0EoPWhpEkIZm0qJSwFHNq6sx35ybWipxIZ her7lJJjvxuK6UTmL+Wdip++Gp/yAnm2S/h+/4EnHE4FZlLhN3oKNoVSGptSnqCCU6b4Kh mV+qz5VPtE5m5OE7shAMMv9GBYhequTCDQzbub/JhIFgQ2/pJT4aOZ8YUpurSoqOVI81v7 MgofHfxxkhKZtCSYc3M3JpUjBSxiLYaKXyh/rVL3kfdfBXwOKxGWBQLWAdtvvQ== 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=1780427069; 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=BIjM4lQGypOmasEFckaywXzjOCqk7/b2K2LUFUpd5X4=; b=vZ9ps62Ak7xRPyDt3QmcUJXwkhMq8cmYRly6IVHLpxtav02RjbLaeUO2rRv89/J8Cp9k7q JTWd35wU3w9Lxxkr60hIg0hA9MH168Rdj9oYpAHc0Xxf1tebYxOImvfGG3dkwehHcobToB EIYxhP3DB5xByIp5Gz/N+oHMftCbAPHWv2RHO88gdAjB/sEgKAjpyxcPQM0pIxDHK0uL/4 6JNE8pztmoX+MmE3ijWnciXX1G76TTrKdbnlRP4PFRUTK6B9GFi8Sm3RNaKpDHvoU8yVPI QsmictLTvoIPyNh/oub3PIFqNqnlLYBapGglNHKLdCW1/cwK+/BaCm8Q0pj56A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVKy50gfDzfHK for ; Tue, 02 Jun 2026 19:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2608a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 19:04:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Jitendra Bhati From: Alan Somers Subject: git: 940142d61037 - main - lib/libc/tests/gen: add fts_set() tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 940142d6103746bb1158c408da443d0240b836d9 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 19:04:23 +0000 Message-Id: <6a1f2937.2608a.7dee942f@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=940142d6103746bb1158c408da443d0240b836d9 commit 940142d6103746bb1158c408da443d0240b836d9 Author: Jitendra Bhati AuthorDate: 2026-05-20 15:40:51 +0000 Commit: Alan Somers CommitDate: 2026-06-02 19:01:44 +0000 lib/libc/tests/gen: add fts_set() tests Add ATF test cases for fts_set(): fts_set: - invalid instruction returns non-zero with EINVAL - FTS_AGAIN revisits the current node - FTS_AGAIN consecutive visits node three times - FTS_FOLLOW on symlink to file yields FTS_F - FTS_FOLLOW on symlink to directory causes descent - FTS_FOLLOW on dead symlink yields FTS_SLNONE - FTS_SKIP prevents descent into directory - fts_set_clientptr/fts_get_clientptr round-trip - fts_get_stream returns parent FTS* from FTSENT* Sponsored by: Google LLC (GSoC 2026) Reviewed by: asomers MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2242 --- lib/libc/tests/gen/Makefile | 1 + lib/libc/tests/gen/fts_set_test.c | 361 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 362 insertions(+) diff --git a/lib/libc/tests/gen/Makefile b/lib/libc/tests/gen/Makefile index 9341fe8c9074..7213fb4d4431 100644 --- a/lib/libc/tests/gen/Makefile +++ b/lib/libc/tests/gen/Makefile @@ -14,6 +14,7 @@ ATF_TESTS_C+= fts_children_test ATF_TESTS_C+= fts_misc_test ATF_TESTS_C+= fts_open_test ATF_TESTS_C+= fts_options_test +ATF_TESTS_C+= fts_set_test ATF_TESTS_C+= ftw_test ATF_TESTS_C+= getentropy_test ATF_TESTS_C+= getmntinfo_test diff --git a/lib/libc/tests/gen/fts_set_test.c b/lib/libc/tests/gen/fts_set_test.c new file mode 100644 index 000000000000..340af648c472 --- /dev/null +++ b/lib/libc/tests/gen/fts_set_test.c @@ -0,0 +1,361 @@ +/* + * Copyright (c) 2026 Jitendra Bhati + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * Tests for fts_set(), fts_set_clientptr(), fts_get_clientptr(), + * and fts_get_stream(). + */ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "fts_test.h" + +/* + * fts_set with invalid options must return non-zero with EINVAL. + * Note: fts_set returns 1 (not -1) on error. + */ +ATF_TC(invalid_options); +ATF_TC_HEAD(invalid_options, tc) +{ + atf_tc_set_md_var(tc, "descr", + "fts_set with invalid options returns non-zero with EINVAL"); +} +ATF_TC_BODY(invalid_options, tc) +{ + char *paths[] = { ".", NULL }; + FTS *fts; + FTSENT *ent; + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); + + ent = fts_read(fts); + ATF_REQUIRE(ent != NULL); + ATF_REQUIRE_ERRNO(EINVAL, fts_set(fts, ent, 99) != 0); + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * FTS_AGAIN causes the current node to be re-stat()ed and returned + * again on the next fts_read() call. + */ +ATF_TC(again); +ATF_TC_HEAD(again, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_AGAIN causes the current node to be returned once more"); +} +ATF_TC_BODY(again, tc) +{ + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + int revisit_count; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, + fts_lexical_compar)) != NULL); + + revisit_count = 0; + while ((ent = fts_read(fts)) != NULL) { + if (ent->fts_info == FTS_F && revisit_count == 0) { + ATF_REQUIRE_EQ_MSG(0, + fts_set(fts, ent, FTS_AGAIN), + "fts_set(FTS_AGAIN): %m"); + revisit_count++; + } else if (ent->fts_info == FTS_F && revisit_count >= 1) { + revisit_count++; + } + } + ATF_CHECK_EQ_MSG(0, errno, "traversal ended with errno %d", errno); + ATF_CHECK_EQ_MSG(2, revisit_count, + "expected file visited twice via FTS_AGAIN, saw %d", + revisit_count); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * FTS_AGAIN set twice in a row causes the node to be visited three + * times total. Each fts_read() clears fts_options, so the caller must + * set FTS_AGAIN again explicitly each time. + */ +ATF_TC(again_consecutive); +ATF_TC_HEAD(again_consecutive, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_AGAIN set twice in a row visits the node three times"); +} +ATF_TC_BODY(again_consecutive, tc) +{ + char *paths[] = { "file", NULL }; + FTS *fts; + FTSENT *ent; + int visit_count; + + ATF_REQUIRE_EQ(0, close(creat("file", 0644))); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); + + visit_count = 0; + while ((ent = fts_read(fts)) != NULL) { + if (ent->fts_info == FTS_F) { + visit_count++; + if (visit_count < 3) + ATF_REQUIRE_EQ(0, + fts_set(fts, ent, FTS_AGAIN)); + } + } + ATF_CHECK_EQ_MSG(3, visit_count, + "expected 3 visits with consecutive FTS_AGAIN, got %d", + visit_count); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * FTS_FOLLOW on an FTS_SL entry pointing to a regular file yields FTS_F. + */ +ATF_TC(follow_symlink_to_file); +ATF_TC_HEAD(follow_symlink_to_file, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_FOLLOW on FTS_SL to regular file yields FTS_F"); +} +ATF_TC_BODY(follow_symlink_to_file, tc) +{ + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + int followed; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/target", 0644))); + ATF_REQUIRE_EQ(0, symlink("target", "dir/link")); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, + fts_lexical_compar)) != NULL); + + followed = 0; + while ((ent = fts_read(fts)) != NULL) { + if (ent->fts_info == FTS_SL && + strcmp(ent->fts_name, "link") == 0) + ATF_REQUIRE_EQ(0, fts_set(fts, ent, FTS_FOLLOW)); + else if (ent->fts_info == FTS_F && + strcmp(ent->fts_name, "link") == 0) + followed = 1; + } + ATF_CHECK_MSG(followed != 0, + "FTS_FOLLOW on symlink-to-file must yield FTS_F"); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * FTS_FOLLOW on an FTS_SL entry pointing to a directory causes descent + * into the target directory. + */ +ATF_TC(follow_symlink_to_dir); +ATF_TC_HEAD(follow_symlink_to_dir, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_FOLLOW on FTS_SL to directory causes descent"); +} +ATF_TC_BODY(follow_symlink_to_dir, tc) +{ + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + int saw_inside; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, mkdir("dir/real", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/real/inside", 0644))); + ATF_REQUIRE_EQ(0, symlink("real", "dir/link")); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, + fts_lexical_compar)) != NULL); + + saw_inside = 0; + while ((ent = fts_read(fts)) != NULL) { + if (ent->fts_info == FTS_SL && + strcmp(ent->fts_name, "link") == 0) + ATF_REQUIRE_EQ(0, fts_set(fts, ent, FTS_FOLLOW)); + if (ent->fts_info == FTS_F && + strcmp(ent->fts_name, "inside") == 0 && + strcmp(ent->fts_path, "dir/link/inside") == 0) + saw_inside = 1; + } + ATF_CHECK_MSG(saw_inside != 0, + "FTS_FOLLOW on symlink-to-dir should descend and visit 'inside'"); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * FTS_FOLLOW on a dangling symlink (FTS_SLNONE) yields FTS_SLNONE again. + * FTS_SLNONE requires FTS_LOGICAL — under FTS_PHYSICAL a dangling + * symlink is reported as FTS_SL. + */ +ATF_TC(follow_dead_symlink); +ATF_TC_HEAD(follow_dead_symlink, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_FOLLOW on dead symlink yields FTS_SLNONE"); +} +ATF_TC_BODY(follow_dead_symlink, tc) +{ + char *paths[] = { "dead", NULL }; + FTS *fts; + FTSENT *ent; + + ATF_REQUIRE_EQ(0, symlink("no-such-target", "dead")); + + ATF_REQUIRE((fts = fts_open(paths, FTS_LOGICAL, NULL)) != NULL); + + ent = fts_read(fts); + ATF_REQUIRE(ent != NULL); + ATF_REQUIRE_EQ_MSG(FTS_SLNONE, ent->fts_info, + "expected FTS_SLNONE for dead symlink, got %d", ent->fts_info); + + ATF_REQUIRE_EQ(0, fts_set(fts, ent, FTS_FOLLOW)); + ent = fts_read(fts); + ATF_REQUIRE(ent != NULL); + ATF_CHECK_EQ_MSG(FTS_SLNONE, ent->fts_info, + "FTS_FOLLOW on dead symlink should still be FTS_SLNONE, got %d", + ent->fts_info); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * FTS_SKIP on an FTS_D node prevents descent into that directory. + * The next fts_read() converts the node to FTS_DP without visiting + * any children. + */ +ATF_TC(skip); +ATF_TC_HEAD(skip, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_SKIP prevents descent into a directory"); +} +ATF_TC_BODY(skip, tc) +{ + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + int saw_inside; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, mkdir("dir/skip_me", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/skip_me/inside", 0644))); + ATF_REQUIRE_EQ(0, close(creat("dir/sibling", 0644))); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, + fts_lexical_compar)) != NULL); + + saw_inside = 0; + while ((ent = fts_read(fts)) != NULL) { + if (ent->fts_info == FTS_D && + strcmp(ent->fts_name, "skip_me") == 0) + ATF_REQUIRE_EQ(0, fts_set(fts, ent, FTS_SKIP)); + if (strcmp(ent->fts_name, "inside") == 0) + saw_inside = 1; + } + ATF_CHECK_MSG(saw_inside == 0, + "FTS_SKIP: 'inside' must not have been visited"); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * fts_set_clientptr() and fts_get_clientptr() store and retrieve an + * arbitrary pointer on the FTS stream. + */ +ATF_TC(clientptr_roundtrip); +ATF_TC_HEAD(clientptr_roundtrip, tc) +{ + atf_tc_set_md_var(tc, "descr", + "fts_set_clientptr / fts_get_clientptr round-trip"); +} +ATF_TC_BODY(clientptr_roundtrip, tc) +{ + char *paths[] = { ".", NULL }; + FTS *fts; + int value = 42; + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); + + ATF_CHECK_EQ(NULL, fts_get_clientptr(fts)); + + fts_set_clientptr(fts, &value); + ATF_CHECK_EQ_MSG(&value, fts_get_clientptr(fts), + "fts_get_clientptr did not return the stored pointer"); + + fts_set_clientptr(fts, NULL); + ATF_CHECK_EQ(NULL, fts_get_clientptr(fts)); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * fts_get_stream() returns the parent FTS* from any FTSENT* returned + * by fts_read(). + */ +ATF_TC(get_stream_backpointer); +ATF_TC_HEAD(get_stream_backpointer, tc) +{ + atf_tc_set_md_var(tc, "descr", + "fts_get_stream returns the parent FTS* from an FTSENT*"); +} +ATF_TC_BODY(get_stream_backpointer, tc) +{ + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); + + while ((ent = fts_read(fts)) != NULL) { + ATF_CHECK_EQ_MSG(fts, fts_get_stream(ent), + "fts_get_stream(ent) must return the parent FTS*, " + "entry: %s info: %d", + ent->fts_name, ent->fts_info); + } + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +ATF_TP_ADD_TCS(tp) +{ + fts_check_debug(); + ATF_TP_ADD_TC(tp, invalid_options); + ATF_TP_ADD_TC(tp, again); + ATF_TP_ADD_TC(tp, again_consecutive); + ATF_TP_ADD_TC(tp, follow_symlink_to_file); + ATF_TP_ADD_TC(tp, follow_symlink_to_dir); + ATF_TP_ADD_TC(tp, follow_dead_symlink); + ATF_TP_ADD_TC(tp, skip); + ATF_TP_ADD_TC(tp, clientptr_roundtrip); + ATF_TP_ADD_TC(tp, get_stream_backpointer); + + return (atf_no_error()); +} From nobody Tue Jun 2 22:50:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVQzL5HfNz6gZbS for ; Tue, 02 Jun 2026 22:50: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVQzL3PQLz3fyP for ; Tue, 02 Jun 2026 22:50:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780440654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pm+hsEzerVWmI15bUN83NSS+I9uICdkzPLPHw0KrDK4=; b=QX1r3LSK88DOMdRm9DpOQcpJ2ryNehT4lly29PBYsjMKbTF44ZoBtiWyUv1Htkn3VLCgRW Csf1CfUPi+Ms2ooulOsphdu+M/88wBAOCQgb3ldn4f+zy4S/lF8PJ0kRoC6OnNz3zP7jz6 6ZgMTk2YJGPYz6B5OlshXTKc+bB+W/uAi36asYmYdfAC6gqB+jGU0FZnCDuV+f1ntN02Jw 6/2BktXZ1CGoNm+8u673sPvi84W+d7fgovh8SIjdWIbMKD6th8HhuXIGQa1T0T3MEaEV+0 coqvfJcaIn658zLJpnYv0pydAH0wcoYytWjzFtSJIiQ42/y1EGxSrXM7wA4Png== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780440654; a=rsa-sha256; cv=none; b=Iosy89c5OKdDmjyqwN2blisT8ygHtRjgWMebgxgkBW/xNLbGSj3+Ts0xPmdeH62ZACuD3P sLBAM9vmVd20SvjVoj4o2w4egaYVzSJVcFrRvK9OE+d6XjH0Hz8LTTa8mNs6x/3ohXaQJ4 u924C2mzPtlPGBMQR+i9L1gomZOCu7OugeCAQWvY2vj3NrIvsoGi4KqeCLIrRjdsHmTrDb PDWFJzf4YgoEpnXpZ6krQOi3oTijf41w0linqejdsgtEsapBEfw4U5x6RuEYLtit9cVgzK nxzi4DyCurhWOwOv/5p3O2LcLB1KSCARswZb7p+xXIG3IYBfzl/++TDig9/ADw== 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=1780440654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pm+hsEzerVWmI15bUN83NSS+I9uICdkzPLPHw0KrDK4=; b=H5W9nemsZKQoIBTn7iEp9McMjPofKLxoWlAqzjGSwfK2xSWLHp3p6j5cC3gcTIEo5jdGXV Eb5YOhmd7yojA8dlMTX366/lBe0lQMZu/O3OhEdtK818su6ZjjfJhoDjS2nkHPEUIHJB7R WVKkVQH9VRUgb53Rvz/59EwUx77RsqPsN2ky0OjuaAZlmcCFKyRwmjQqPihaofeCrUR/zf 8+BhnEEu0y04L7Kw+0SvulLfc0IjlpMKWVxANhWD1mkyE+fVhrqK3++3dJzMY6aaRRLO3Z nRSgX4z9QSlvUCvdVdFTZwBLGb1IZERDzxFbz03lMQrs5jPWjbmg8qLx8WS+aA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVQzL2xz1zkx8 for ; Tue, 02 Jun 2026 22:50:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 451af by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 22:50:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Gallatin Subject: git: e98ed8d99fd4 - main - lacp: Simplify lacp_compose_key() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e98ed8d99fd41873dc52cf78e70e9f12e3e93042 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 22:50:49 +0000 Message-Id: <6a1f5e49.451af.57d1a72@gitrepo.freebsd.org> The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=e98ed8d99fd41873dc52cf78e70e9f12e3e93042 commit e98ed8d99fd41873dc52cf78e70e9f12e3e93042 Author: Andrew Gallatin AuthorDate: 2026-06-02 16:18:03 +0000 Commit: Andrew Gallatin CommitDate: 2026-06-02 22:49:25 +0000 lacp: Simplify lacp_compose_key() lacp uses interface speed to separate lacp members into different aggregation groups. It wants to use the lower 4 bits of the key to represent the speed. This change fixes a few bugs around that: 1) Actually use the baud rate reported by the interface as the speed (and fall back to use the baudrate associated with the media if the interface somehow doesn't support if_baudrate) 2) Compressess the baud rates down to the 4 bits reserved for them. Using things like FM_400G_FR8 does not fit in 4 bits (its value is 0x1811) . In fact, interfaces faster than 1Gb/s don't fit in 4 bits using the old scheme 3) Emits a warning on the console once per boot if it encounters a NIC with an unsupported speed to make it slightly more obvious why LACP might not behave as expected. This was prompted by a 400g nic with a broken media detection reporting "unknown" as its speed, and being unable to be in the same aggregation group with a different 400g nic that was properly reporting its speed. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D57026 Reviewed by: slavash --- sys/net/ieee8023ad_lacp.c | 173 +++++++++++----------------------------------- 1 file changed, 40 insertions(+), 133 deletions(-) diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c index 8c695f71cc0f..99eee570c2a2 100644 --- a/sys/net/ieee8023ad_lacp.c +++ b/sys/net/ieee8023ad_lacp.c @@ -1129,8 +1129,10 @@ lacp_compose_key(struct lacp_port *lp) { struct lagg_port *lgp = lp->lp_lagg; struct lagg_softc *sc = lgp->lp_softc; + uint64_t baudrate; u_int media = lp->lp_media; uint16_t key; + static bool warned; if ((lp->lp_state & LACP_STATE_AGGREGATION) == 0) { /* @@ -1149,155 +1151,60 @@ lacp_compose_key(struct lacp_port *lp) KASSERT(IFM_TYPE(media) == IFM_ETHER, ("invalid media type")); KASSERT((media & IFM_FDX) != 0, ("aggregating HDX interface")); - /* bit 0..4: IFM_SUBTYPE modulo speed */ - switch (subtype) { - case IFM_10_T: - case IFM_10_2: - case IFM_10_5: - case IFM_10_STP: - case IFM_10_FL: - key = IFM_10_T; + baudrate = lp->lp_ifp->if_baudrate; + if (baudrate == 0) + baudrate = ifmedia_baudrate(media); + /* bit 0..4: encoded speed */ + switch (baudrate) { + case IF_Mbps(10): + key = 1; break; - case IFM_100_TX: - case IFM_100_FX: - case IFM_100_T4: - case IFM_100_VG: - case IFM_100_T2: - case IFM_100_T: - case IFM_100_SGMII: - case IFM_100_BX: - key = IFM_100_TX; + case IF_Mbps(100): + key = 2; break; - case IFM_1000_SX: - case IFM_1000_LX: - case IFM_1000_CX: - case IFM_1000_T: - case IFM_1000_KX: - case IFM_1000_SGMII: - case IFM_1000_CX_SGMII: - case IFM_1000_BX: - key = IFM_1000_SX; + case IF_Gbps(1): + key = 3; break; - case IFM_10G_LR: - case IFM_10G_SR: - case IFM_10G_CX4: - case IFM_10G_TWINAX: - case IFM_10G_TWINAX_LONG: - case IFM_10G_LRM: - case IFM_10G_T: - case IFM_10G_KX4: - case IFM_10G_KR: - case IFM_10G_CR1: - case IFM_10G_ER: - case IFM_10G_SFI: - case IFM_10G_AOC: - key = IFM_10G_LR; + case IF_Mbps(2500): + key = 4; break; - case IFM_20G_KR2: - key = IFM_20G_KR2; + case IF_Gbps(5): + key = 5; break; - case IFM_2500_KX: - case IFM_2500_T: - case IFM_2500_X: - key = IFM_2500_KX; + case IF_Gbps(10): + key = 6; break; - case IFM_5000_T: - case IFM_5000_KR: - case IFM_5000_KR_S: - case IFM_5000_KR1: - key = IFM_5000_T; + case IF_Gbps(20): + key = 7; break; - case IFM_50G_PCIE: - case IFM_50G_CR2: - case IFM_50G_KR2: - case IFM_50G_KR4: - case IFM_50G_SR2: - case IFM_50G_LR2: - case IFM_50G_LAUI2_AC: - case IFM_50G_LAUI2: - case IFM_50G_AUI2_AC: - case IFM_50G_AUI2: - case IFM_50G_CP: - case IFM_50G_SR: - case IFM_50G_LR: - case IFM_50G_FR: - case IFM_50G_KR_PAM4: - case IFM_50G_AUI1_AC: - case IFM_50G_AUI1: - key = IFM_50G_PCIE; + case IF_Gbps(25): + key = 8; break; - case IFM_56G_R4: - key = IFM_56G_R4; + case IF_Gbps(40): + key = 9; break; - case IFM_25G_PCIE: - case IFM_25G_CR: - case IFM_25G_KR: - case IFM_25G_SR: - case IFM_25G_LR: - case IFM_25G_ACC: - case IFM_25G_AOC: - case IFM_25G_T: - case IFM_25G_CR_S: - case IFM_25G_CR1: - case IFM_25G_KR_S: - case IFM_25G_AUI: - case IFM_25G_KR1: - key = IFM_25G_PCIE; + case IF_Gbps(50): + key = 10; break; - case IFM_40G_CR4: - case IFM_40G_SR4: - case IFM_40G_LR4: - case IFM_40G_LM4: - case IFM_40G_XLPPI: - case IFM_40G_KR4: - case IFM_40G_XLAUI: - case IFM_40G_XLAUI_AC: - case IFM_40G_ER4: - key = IFM_40G_CR4; + case IF_Gbps(56): + key = 11; break; - case IFM_100G_CR4: - case IFM_100G_SR4: - case IFM_100G_KR4: - case IFM_100G_LR4: - case IFM_100G_CAUI4_AC: - case IFM_100G_CAUI4: - case IFM_100G_AUI4_AC: - case IFM_100G_AUI4: - case IFM_100G_CR_PAM4: - case IFM_100G_KR_PAM4: - case IFM_100G_CP2: - case IFM_100G_SR2: - case IFM_100G_DR: - case IFM_100G_KR2_PAM4: - case IFM_100G_CAUI2_AC: - case IFM_100G_CAUI2: - case IFM_100G_AUI2_AC: - case IFM_100G_AUI2: - key = IFM_100G_CR4; + case IF_Gbps(100): + key = 12; break; - case IFM_200G_CR4_PAM4: - case IFM_200G_SR4: - case IFM_200G_FR4: - case IFM_200G_LR4: - case IFM_200G_DR4: - case IFM_200G_KR4_PAM4: - case IFM_200G_AUI4_AC: - case IFM_200G_AUI4: - case IFM_200G_AUI8_AC: - case IFM_200G_AUI8: - key = IFM_200G_CR4_PAM4; + case IF_Gbps(200): + key = 13; break; - case IFM_400G_FR8: - case IFM_400G_LR8: - case IFM_400G_DR4: - case IFM_400G_AUI8_AC: - case IFM_400G_AUI8: - case IFM_400G_SR8: - case IFM_400G_CR8: - key = IFM_400G_FR8; + case IF_Gbps(400): + key = 14; break; default: key = subtype; + if (!warned) { + printf("%s LACP: support %ju baudrate!\n", + lp->lp_ifp->if_xname, baudrate); + warned = true; + } break; } /* bit 5..14: (some bits of) if_index of lagg device */ From nobody Wed Jun 3 04:38:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVZhJ45Bqz6fvWF for ; Wed, 03 Jun 2026 04:38: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVZhJ1vM5z3FxP for ; Wed, 03 Jun 2026 04:38:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780461504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wxuMYkewp1A93fUdtitTCSl6cnWSPV3Dd4Y4pusGGRY=; b=p/w7ht9E1/ZNkFfd94QGZR5i54SZW8kpdF7E+HdIV4mDTZ7Dl1NJkt/Dm62vcLS2OTpLY+ IN8iFS3pEujicGpd4nhOq262hKVPML8Z1C/mmbhbCqFeLbW3R4AwyVjxbM+DbiRCXxMrN5 SnPo6ao/DR7Wpr2n4F2r/qIbmFfRko/MAxR8Wzz2ut1ILH8Y3N5idINBgWFVrG5MT0R+1E jwPeSUYiRGegAc6a/YklFjDRE5DQxJAjCiJv2faT7/OOJgwE2H8v5vmczSTzYd2S50uJhb W6FYL8iVII//CFUhZHCNH+vxnRPc0dpfyNk2NDMbPOpezpCMPU0H2JuY46x28A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780461504; a=rsa-sha256; cv=none; b=ATEPCe2xQBK2PPPm/x/sY7bGD1d6a0ixzLQF3JGWEx7lIXf0AZxd5646IPc/ZZ9uRfV5Rf YmOk8hY3ydJKHTcKDg89fE54mHSYJC6fzj5UPIkOmJx8l67yTyFh8msAMUcn1ONAELLFIv TGZWG3gQjG72X5zUFQleQuhPpl2Wc0D2RL6WQPHJJPLChazGs/vrgrkOpBHLNJPqzl+FOJ IrnvoAoY5l0N8qAWhYSZ8otFNL0yvTpfIDbLcfzPHgsUDI7UFwslduJfPg+SmD/vis6RR9 erSkew+Au4bub3OiyArkysT6nEpXtIc49EPBwPgXjrYCR9BtUIRU8c9TFqKsoQ== 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=1780461504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wxuMYkewp1A93fUdtitTCSl6cnWSPV3Dd4Y4pusGGRY=; b=uMkaVcMRZjCplZascU21IHuhSVsltkKjmEVnBYB+V++XCAjhyzN+w1epeapEeQAtMU2IPQ tS1WEyLRfjtHrU4ML8Kbezqc23QViTtJ6ZAQZj76yUPp7JoXqQMk2gYicfVShzstYy7TsG 6myc9koIDGCdPgKQoClS/xy3aeLgnQ4uJ8IBKVfBEk/VuigvOsq+m9zzEek6BWsz1UsB26 n9o1b2+7W0pxyuinig7RwFMofwh5RuhvTTSb2evyQbW/+RJn58l3ykmN3fKvm/re8S/i6I iDawoCkQRaQJctHrXtA8s6v5sH6fhiAcxj1tOtP6e/9omx0+h1qy7hTWsYMXLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVZhJ0hyzzwjS for ; Wed, 03 Jun 2026 04:38:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19ee3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 04:38:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Xin LI Subject: git: 14e402fc1058 - Create tag vendor/file/5.47 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/tags/vendor/file/5.47 X-Git-Reftype: annotated tag X-Git-Commit: 14e402fc1058a2a1dfdd140ce41f607d787dabb2 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 04:38:23 +0000 Message-Id: <6a1fafbf.19ee3.5989103@gitrepo.freebsd.org> The annotated tag vendor/file/5.47 has been created by delphij: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/file/5.47 tag vendor/file/5.47 Tagger: Xin LI TaggerDate: 2026-06-03 04:37:55 +0000 Tag file 5.47. commit 79746c47b95c50bfab9b70e86bafdfeb844d9118 Author: Xin LI AuthorDate: 2026-06-03 04:37:29 +0000 Commit: Xin LI CommitDate: 2026-06-03 04:37:29 +0000 Vendor import of file 5.47. From nobody Wed Jun 3 04:38:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVZhP3sWtz6fvFw for ; Wed, 03 Jun 2026 04:38: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVZhP1G30z3GMd for ; Wed, 03 Jun 2026 04:38:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780461509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dUbyw5N8C6jlucV+Bv27RPs6lLgv0cqf1Ua4X46/Gkk=; b=TnMhLJMi+fWp6/Kypv9lWdJJWt37SOs0OmaboP51D+n46/FRdqk959Rb3nnZmOC7uSpxuH imahleuZxqQi2YgLyMC4y8v5jjCfRtGMVB40gAHElpJ2ZbVIRXke67viJCbD0Lw1xMzjcS n4LPWfH+ezpuATqp0vLe3FEMwAUwFf14RDNJ5G403JSKdCE0TRCQQQHCopRdgJ7k6p4QwA uv1mFjfCHfDbNJNDI0JlV0flZ/I/pbPt+FTAOscCefBx3mKqP9flHuTN1qkeBAS/YJxkGX kwAFyqf0d30ZX8pAYoaG+ExdSibG+6SY7HE1D2jCPBrjKuKTWoQ89xfGntt2Aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780461509; a=rsa-sha256; cv=none; b=eza9pkZoPRyKOqFpj1IuRUoeLklP0VrsJCiewIX0U4Fy8xc4aFYfstfKI2SKvKVBoXzU0/ lI6BVsmz41XMOc+OUXOzEC9ynJbHszdsdFOYsGhJW4sTWOAAYkT+EZZDg0ctz5erQdt5Yb SdPnQAymOmcktBn8ofkQu1PGynlrQz8r2VKS16G+AFVrbpVd3xHqyaH9At/4b1v8rbWQk3 dt0UKV8yb4mdBRzdzWAne61r6SHGjYKxP9MP2O9nLeKDpe18QNjvf2vEYGHysJ6E1Zvf9/ zJ7uqD/yniLC/73YFTikxHWat3/o+etH6VY/GDbXvohWLJ0CgGSWxPCxOI41Yw== 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=1780461509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dUbyw5N8C6jlucV+Bv27RPs6lLgv0cqf1Ua4X46/Gkk=; b=rRPdDb7ejv7hZNXOegTQFGlb5HlytxNW6NZ9BzQxi5R9UWXlzMZwXUG7DgnD4Z1+i/hXbR nIxXHPH7QEEOLN5xjutJgd/4RaaBGk0KalaGiYzM+d1tYFv78B7Ctvg971K6HZhIlrAMI2 itT9W7ZZFcoro94rqxEYr5musVCkfI55OP1Kj80f44rN8Vdio+4uzOTCNszUCX2ExCE/NQ asCaqpiGcXYL8OvFabfyTOy9P/5GPvg0XKXZ/raY4ppJqrxk8dRWDBXkDOM2k6SPxL5xZR xa6ZXS4+Y6/ZgmRNS0lSialpd47UFJc+hT3cgxMZCFmPxogVHfxzANRfZTo60Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVZhP0RvRzwlf for ; Wed, 03 Jun 2026 04:38:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18a3f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 04:38:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Xin LI Subject: git: 995a16e0c2eb..79746c47b95c - vendor/file - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/vendor/file X-Git-Reftype: branch X-Git-Commit: 79746c47b95c50bfab9b70e86bafdfeb844d9118 X-Git-Oldrev: 995a16e0c2eb64b0875bccf37e696bddf35c3846 X-Git-Newrev: 79746c47b95c50bfab9b70e86bafdfeb844d9118 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 04:38:23 +0000 Message-Id: <6a1fafbf.18a3f.140ced30@gitrepo.freebsd.org> The branch vendor/file has been updated by delphij: URL: https://cgit.FreeBSD.org/src/log/?id=995a16e0c2eb..79746c47b95c 79746c47b95c Vendor import of file 5.47. From nobody Wed Jun 3 04:55:52 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVb4Z64c8z6fx0n for ; Wed, 03 Jun 2026 04:55: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVb4Z3bdcz3Hcw for ; Wed, 03 Jun 2026 04:55:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780462558; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gmok7qaT6uJTCT38KLxc8q7DxtpWcKNCFnkeKGJYoLQ=; b=KZTj+3jcLQMSvUwuo3lP5NxM0s2FpQVPDztK7+/RK4+uvvdtbRGSJ6gS14DZnBwSudEjn/ gVEuWE9wEikos5t+dR0l9DxWcoze+s4dcBTUNehaPiIxaeB2kSybEJqMq9PAMPv6Bs1Ic5 9MXM2g7GjVmcHtqSNJMzr/WcN5E5h6NRBZcdcN6fFvxPC181qpNgF+EfiUHGTXQSGV4MN0 kAaRtifrWYr7xUCwatUI2+NjNvzKVfuhnRsyDR3wfRDyPPXEkGnws9xSrnMYtQR3MbfKWL IsE4BZHbK7P0cIUS968mZxxAfj1Duyvk+AfCtwFWWSZbCIaoxUaqz09qlzHEQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780462558; a=rsa-sha256; cv=none; b=qQuQ2PV3vOYaLABZC29dMTyIJSUgyjxSgq+PRFbd4ZbY+fijyoPRBnVEXy1BxO25MxO1VY +tFZIUVCdg8Bt7337sZjVzn1p9RO3sVguci3TLnFV2UcBmipsVAa2LeUdssr31XBDcKKma zTDuMiB7Vl6Arqxl79XnQifgr5Hyg1QlRAfaKndL1MmlpwzqA0DbFTCIpOki1LpN3OIL3S 0xvIywPd4Ee6mEDOGwgQSPbLSF6hZDSw+Sg4OlZ0D/sEu2brbW1J3IK2iF7wECrTi3X7y+ +Lu2esKouwDeG6bSzqkvOIdmdZFlEgGnO0HqyZOZS2be2MceMmw/4/RhBFLJkA== 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=1780462558; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gmok7qaT6uJTCT38KLxc8q7DxtpWcKNCFnkeKGJYoLQ=; b=gtK9+QXZnDH+mps3uQrFkuPO101DvMrsTCPcKZCYUlVXL2gb1ZT6gNobW7YfzzLG1NSwiL 5kgTdUwOpcQM9Y5nxcx/QwWCPRslv3q3WVwuV9JubdnD8QqPhWqI5j4gsTrcSkxj71JzA3 z/FxGP5pYmvNLCmAuRT7m6yzK/5cwZ2sKApPYx4CeGIYiXu5D1gTc1mJC1Ka2Xj120g4ur OZIEcKJOYYNmKX8Z322Bo4B7Y8tqOmEcIiNmo9H6L+1cHNNsWo1FvLrTe6VKdAiPGiTx51 ItDmzhyLXsvylXltcYx6BWBAXapi/SJzyjL3yJdEEnc7oZOK/HDtk6DedEJSSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVb4Z2nmbzwwv for ; Wed, 03 Jun 2026 04:55:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d984 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 04:55:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: e949ce9dc0e6 - main - MFV: file 5.47. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e949ce9dc0e6fff26e83904f1008b76d36ba0a37 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 04:55:52 +0000 Message-Id: <6a1fb3d8.1d984.73269802@gitrepo.freebsd.org> The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=e949ce9dc0e6fff26e83904f1008b76d36ba0a37 commit e949ce9dc0e6fff26e83904f1008b76d36ba0a37 Merge: e98ed8d99fd4 79746c47b95c Author: Xin LI AuthorDate: 2026-06-03 04:54:25 +0000 Commit: Xin LI CommitDate: 2026-06-03 04:54:25 +0000 MFV: file 5.47. MFC after: 3 days contrib/file/ChangeLog | 33 ++++ contrib/file/config.sub | 2 +- contrib/file/configure | 20 +- contrib/file/configure.ac | 2 +- contrib/file/doc/file.man | 8 +- contrib/file/doc/magic.man | 30 ++- contrib/file/magic/Magdir/amigaos | 10 +- contrib/file/magic/Magdir/animation | 33 ++-- contrib/file/magic/Magdir/apache | 20 +- contrib/file/magic/Magdir/archive | 217 ++++++++++++++------- contrib/file/magic/Magdir/audio | 14 +- contrib/file/magic/Magdir/bgcode | 9 + contrib/file/magic/Magdir/blender | 19 +- contrib/file/magic/Magdir/bytecode | 15 +- contrib/file/magic/Magdir/c-lang | 42 ++-- contrib/file/magic/Magdir/cisco | 7 +- contrib/file/magic/Magdir/commands | 62 ++++-- contrib/file/magic/Magdir/console | 92 ++++++++- contrib/file/magic/Magdir/creativeassembly | 26 +++ contrib/file/magic/Magdir/database | 102 +++++++++- contrib/file/magic/Magdir/filesystems | 31 ++- contrib/file/magic/Magdir/firmware | 145 +++++++++++++- contrib/file/magic/Magdir/fonts | 14 +- contrib/file/magic/Magdir/games | 64 +++++- contrib/file/magic/Magdir/gguf | 23 +++ contrib/file/magic/Magdir/ibm370 | 8 +- contrib/file/magic/Magdir/images | 47 ++++- contrib/file/magic/Magdir/intel | 6 +- contrib/file/magic/Magdir/linux | 32 ++- contrib/file/magic/Magdir/lua | 3 +- contrib/file/magic/Magdir/mail.news | 4 +- contrib/file/magic/Magdir/measure | 9 +- contrib/file/magic/Magdir/msdos | 63 ++---- contrib/file/magic/Magdir/msooxml | 22 ++- contrib/file/magic/Magdir/music | 45 ++++- contrib/file/magic/Magdir/os2 | 30 ++- contrib/file/magic/Magdir/pdf | 4 +- contrib/file/magic/Magdir/pgp | 73 ++++++- contrib/file/magic/Magdir/python | 29 ++- contrib/file/magic/Magdir/r | 86 ++++++++ contrib/file/magic/Magdir/riff | 12 +- contrib/file/magic/Magdir/rtf | 7 +- contrib/file/magic/Magdir/sf3 | 112 +++++++++++ contrib/file/magic/Magdir/sgml | 27 ++- contrib/file/magic/Magdir/sniffer | 9 +- contrib/file/magic/Magdir/sql | 21 +- contrib/file/magic/Magdir/syd | 37 ++++ contrib/file/magic/Magdir/tapebackup | 29 +++ contrib/file/magic/Magdir/tex | 17 +- contrib/file/magic/Magdir/ti-8x | 7 +- contrib/file/magic/Magdir/varied.script | 23 ++- contrib/file/magic/Magdir/virtual | 6 +- contrib/file/magic/Magdir/webassembly | 9 +- contrib/file/magic/Magdir/windows | 42 ++-- contrib/file/magic/Magdir/xilinx | 24 +-- contrib/file/magic/Magdir/xwindows | 9 +- contrib/file/magic/Magdir/zip | 9 +- contrib/file/magic/Makefile.am | 9 +- contrib/file/magic/Makefile.in | 9 +- contrib/file/python/magic.py | 4 +- contrib/file/src/apprentice.c | 61 ++++-- contrib/file/src/apptype.c | 9 +- contrib/file/src/buffer.c | 6 +- contrib/file/src/cdf.c | 12 +- contrib/file/src/cdf.h | 1 + contrib/file/src/encoding.c | 10 +- contrib/file/src/file.h | 13 +- contrib/file/src/funcs.c | 103 +++++++--- contrib/file/src/is_simh.c | 16 +- contrib/file/src/magic.c | 46 ++--- contrib/file/src/print.c | 8 +- contrib/file/src/readcdf.c | 62 ++++-- contrib/file/src/readelf.c | 203 ++++++++++--------- contrib/file/src/seccomp.c | 19 +- contrib/file/src/softmagic.c | 82 ++++++-- contrib/file/tests/Makefile.am | 27 ++- contrib/file/tests/Makefile.in | 27 ++- contrib/file/tests/arj.result | 2 +- contrib/file/tests/bgcode.result | 1 + contrib/file/tests/bgcode.testfile | Bin 0 -> 1430943 bytes .../file/tests/efi-signature-list-sha256.result | 1 + .../file/tests/efi-signature-list-sha256.testfile | Bin 0 -> 76 bytes lib/libmagic/config.h | 6 +- 83 files changed, 2042 insertions(+), 596 deletions(-) diff --cc contrib/file/magic/Magdir/bgcode index 000000000000,407827916df3..407827916df3 mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/bgcode +++ b/contrib/file/magic/Magdir/bgcode diff --cc contrib/file/magic/Magdir/creativeassembly index 000000000000,4183d58c60bb..4183d58c60bb mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/creativeassembly +++ b/contrib/file/magic/Magdir/creativeassembly diff --cc contrib/file/magic/Magdir/gguf index 000000000000,4becd6e114dc..4becd6e114dc mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/gguf +++ b/contrib/file/magic/Magdir/gguf diff --cc contrib/file/magic/Magdir/r index 000000000000,3c393f70ab0b..3c393f70ab0b mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/r +++ b/contrib/file/magic/Magdir/r diff --cc contrib/file/magic/Magdir/sf3 index 000000000000,10a49d5b7a77..10a49d5b7a77 mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/sf3 +++ b/contrib/file/magic/Magdir/sf3 diff --cc contrib/file/magic/Magdir/syd index 000000000000,37114ba7e0ed..37114ba7e0ed mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/syd +++ b/contrib/file/magic/Magdir/syd diff --cc contrib/file/magic/Magdir/tapebackup index 000000000000,ca46f3fd1919..ca46f3fd1919 mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/tapebackup +++ b/contrib/file/magic/Magdir/tapebackup diff --cc contrib/file/tests/bgcode.result index 000000000000,87bfa0037b9c..87bfa0037b9c mode 000000,100644..100644 --- a/contrib/file/tests/bgcode.result +++ b/contrib/file/tests/bgcode.result diff --cc contrib/file/tests/bgcode.testfile index 000000000000,bc2a37f75499..bc2a37f75499 mode 000000,100644..100644 Binary files differ diff --cc contrib/file/tests/efi-signature-list-sha256.result index 000000000000,04c597e372f5..04c597e372f5 mode 000000,100644..100644 --- a/contrib/file/tests/efi-signature-list-sha256.result +++ b/contrib/file/tests/efi-signature-list-sha256.result diff --cc contrib/file/tests/efi-signature-list-sha256.testfile index 000000000000,9faf68ee8af0..9faf68ee8af0 mode 000000,100755..100755 Binary files differ diff --cc lib/libmagic/config.h index d642880d6096,000000000000..a0778a023e35 mode 100644,000000..100644 --- a/lib/libmagic/config.h +++ b/lib/libmagic/config.h @@@ -1,549 -1,0 +1,549 @@@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* FreeBSD */ +#include + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define in built-in ELF support is used */ +#define BUILTIN_ELF 1 + +/* Enable bzlib compression support */ +/* #undef BZLIBSUPPORT */ + +/* Define for ELF core file support */ +#define ELFCORE 1 + +/* Define to 1 if you have the 'asctime_r' function. */ +#define HAVE_ASCTIME_R 1 + +/* Define to 1 if you have the 'asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#ifndef __APPLE__ /* Cross building tools on macOS */ +#if __FreeBSD_version >= 1400079 || (__FreeBSD_version < 1400000 && __FreeBSD_version >= 1302500) +#define HAVE_BYTESWAP_H 1 +#endif +#endif + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_BZLIB_H */ + +/* Define to 1 if you have the 'ctime_r' function. */ +#define HAVE_CTIME_R 1 + +/* HAVE_DAYLIGHT */ +/* #undef HAVE_DAYLIGHT */ + +/* Define to 1 if you have the declaration of 'daylight', and to 0 if you + don't. */ +#define HAVE_DECL_DAYLIGHT 0 + +/* Define to 1 if you have the declaration of 'tzname', and to 0 if you don't. + */ +#define HAVE_DECL_TZNAME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the 'dprintf' function. */ +#define HAVE_DPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ERR_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the 'fmtcheck' function. */ +#define HAVE_FMTCHECK 1 + +/* Define to 1 if you have the 'fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the 'freelocale' function. */ +#define HAVE_FREELOCALE 1 + +/* Define to 1 if fseeko (and ftello) are declared in stdio.h. */ +#define HAVE_FSEEKO 1 + +/* Define to 1 if you have the 'getline' function. */ +#define HAVE_GETLINE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_GETOPT_H 1 + +/* Define to 1 if you have the 'getopt_long' function. */ +#define HAVE_GETOPT_LONG 1 + +/* Define to 1 if you have the 'getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the 'gmtime_r' function. */ +#define HAVE_GMTIME_R 1 + +/* Define to 1 if the system has the type 'intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the 'bz2' library (-lbz2). */ +/* #undef HAVE_LIBBZ2 */ + +/* Define to 1 if you have the 'gnurx' library (-lgnurx). */ +/* #undef HAVE_LIBGNURX */ + +/* Define to 1 if you have the 'lrzip' library (-llrzip). */ +/* #undef HAVE_LIBLRZIP */ + +/* Define to 1 if you have the 'lz' library (-llz). */ +/* #undef HAVE_LIBLZ */ + +/* Define to 1 if you have the 'lzma' library (-llzma). */ +/* #undef HAVE_LIBLZMA */ + +/* Define to 1 if you have the 'seccomp' library (-lseccomp). */ +/* #undef HAVE_LIBSECCOMP */ + +/* Define to 1 if you have the 'z' library (-lz). */ +#define HAVE_LIBZ 1 + +/* Define to 1 if you have the 'zstd' library (-lzstd). */ +/* #undef HAVE_LIBZSTD */ + +/* Define to 1 if you have the 'localtime_r' function. */ +#define HAVE_LOCALTIME_R 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LRZIP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LZLIB_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LZMA_H */ + +/* Define to 1 if mbrtowc and mbstate_t are properly declared. */ +#define HAVE_MBRTOWC 1 + +/* Define to 1 if declares mbstate_t. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the 'memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MINIX_CONFIG_H */ + +/* Define to 1 if you have the 'mkostemp' function. */ +#define HAVE_MKOSTEMP 1 + +/* Define to 1 if you have the 'mkstemp' function. */ +#define HAVE_MKSTEMP 1 + +/* Define to 1 if you have a working 'mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the 'newlocale' function. */ +#define HAVE_NEWLOCALE 1 + +/* Define to 1 if you have the 'pipe2' function. */ +#ifndef __APPLE__ /* Cross building tools on macOS */ +#define HAVE_PIPE2 1 +#endif + +/* Define to 1 if you have the 'posix_spawnp' function. */ +#define HAVE_POSIX_SPAWNP 1 + +/* Define to 1 if you have the 'pread' function. */ +#define HAVE_PREAD 1 + +/* Have sig_t type */ +#define HAVE_SIG_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SPAWN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the 'strcasestr' function. */ +#define HAVE_STRCASESTR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the 'strlcat' function. */ +#define HAVE_STRLCAT 1 + +/* Define to 1 if you have the 'strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* Define to 1 if you have the 'strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the 'strtof' function. */ +#define HAVE_STRTOF 1 + +/* HAVE_STRUCT_OPTION */ +#define HAVE_STRUCT_OPTION 1 + +/* Define to 1 if 'st_rdev' is a member of 'struct stat'. */ +#define HAVE_STRUCT_STAT_ST_RDEV 1 + +/* Define to 1 if 'tm_gmtoff' is a member of 'struct tm'. */ +#define HAVE_STRUCT_TM_TM_GMTOFF 1 + +/* Define to 1 if 'tm_zone' is a member of 'struct tm'. */ +#define HAVE_STRUCT_TM_TM_ZONE 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_BSWAP_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMACROS_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_UTIME_H */ + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* HAVE_TM_ISDST */ +#define HAVE_TM_ISDST 1 + +/* HAVE_TM_ZONE */ +#define HAVE_TM_ZONE 1 + +/* HAVE_TZNAME */ +#define HAVE_TZNAME 1 + +/* Define to 1 if the system has the type 'uintptr_t'. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the 'uselocale' function. */ +#define HAVE_USELOCALE 1 + +/* Define to 1 if you have the 'utime' function. */ +#define HAVE_UTIME 1 + +/* Define to 1 if you have the 'utimes' function. */ +#define HAVE_UTIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UTIME_H 1 + +/* Define to 1 if you have the 'vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the 'vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 or 0, depending whether the compiler supports simple visibility + declarations. */ +#define HAVE_VISIBILITY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define to 1 if you have the 'wcwidth' function. */ +#define HAVE_WCWIDTH 1 + +/* Define to 1 if 'fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if 'vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the header file. */ +#ifndef __linux__ /* Cross building tools build with glibc on linux */ +#define HAVE_XLOCALE_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#define HAVE_ZLIB_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ZSTD_ERRORS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ZSTD_H */ + +/* Enable lrziplib compression support */ +/* #undef LRZIPLIBSUPPORT */ + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Enable lzlib compression support */ +/* #undef LZLIBSUPPORT */ + +/* Define to 1 if 'major', 'minor', and 'makedev' are declared in . + */ +/* #undef MAJOR_IN_MKDEV */ + +/* Define to 1 if 'major', 'minor', and 'makedev' are declared in + . */ +/* #undef MAJOR_IN_SYSMACROS */ + +/* Name of package */ +#define PACKAGE "file" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "christos@astron.com" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "file" + +/* Define to the full name and version of this package. */ - #define PACKAGE_STRING "file 5.46" ++#define PACKAGE_STRING "file 5.47" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "file" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ - #define PACKAGE_VERSION "5.46" ++#define PACKAGE_VERSION "5.47" + +/* Define to 1 if all of the C89 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#define STDC_HEADERS 1 + +/* Define to 1 if your declares 'struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Enable extensions on AIX, Interix, z/OS. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable general extensions on macOS. */ +#ifndef _DARWIN_C_SOURCE +# define _DARWIN_C_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable X/Open compliant socket functions that do not require linking + with -lxnet on HP-UX 11.11. */ +#ifndef _HPUX_ALT_XOPEN_SOCKET_API +# define _HPUX_ALT_XOPEN_SOCKET_API 1 +#endif +/* Identify the host operating system as Minix. + This macro does not affect the system headers' behavior. + A future release of Autoconf may stop defining this macro. */ +#ifndef _MINIX +/* # undef _MINIX */ +#endif +/* Enable general extensions on NetBSD. + Enable NetBSD compatibility extensions on Minix. */ +#ifndef _NETBSD_SOURCE +# define _NETBSD_SOURCE 1 +#endif +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ +#ifndef _OPENBSD_SOURCE +# define _OPENBSD_SOURCE 1 +#endif +/* Define to 1 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_SOURCE +/* # undef _POSIX_SOURCE */ +#endif +/* Define to 2 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_1_SOURCE +/* # undef _POSIX_1_SOURCE */ +#endif +/* Enable POSIX-compatible threading on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ +#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ +# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ +#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ +# define __STDC_WANT_IEC_60559_BFP_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ +#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ +# define __STDC_WANT_IEC_60559_DFP_EXT__ 1 +#endif +/* Enable extensions specified by C23 Annex F. */ +#ifndef __STDC_WANT_IEC_60559_EXT__ +# define __STDC_WANT_IEC_60559_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ +#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ +# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 +#endif +/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */ +#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ +# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ +#ifndef __STDC_WANT_LIB_EXT2__ +# define __STDC_WANT_LIB_EXT2__ 1 +#endif +/* Enable extensions specified by ISO/IEC 24747:2009. */ +#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ +# define __STDC_WANT_MATH_SPEC_FUNCS__ 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ +#ifndef _XOPEN_SOURCE +/* # undef _XOPEN_SOURCE */ +#endif + + +/* Version number of package */ - #define VERSION "5.46" ++#define VERSION "5.47" + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Enable xzlib compression support */ +/* #undef XZLIBSUPPORT */ + +/* Enable zlib compression support */ +#define ZLIBSUPPORT 1 + +/* Enable zstdlib compression support */ +/* #undef ZSTDLIBSUPPORT */ + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define to 1 if necessary to make fseeko visible. */ +/* #undef _LARGEFILE_SOURCE */ + +/* Define to 1 on platforms where this makes off_t a 64-bit type. */ +/* #undef _LARGE_FILES */ + +/* Number of bits in time_t, on hosts where this is settable. */ +/* #undef _TIME_BITS */ + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT32_T */ + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT64_T */ + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT8_T */ + +/* Define to 1 on platforms where this makes time_t a 64-bit type. */ +/* #undef __MINGW_USE_VC2005_COMPAT */ + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int32_t */ + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int64_t */ + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to a type if does not define. */ +/* #undef mbstate_t */ + +/* Define to 'long int' if does not define. */ +/* #undef off_t */ + +/* Define as a signed integer type capable of holding a process identifier. */ +/* #undef pid_t */ + +/* Define as 'unsigned int' if doesn't define. */ +/* #undef size_t */ + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint16_t */ + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint32_t */ + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint64_t */ + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint8_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as 'fork' if 'vfork' does not work. */ +/* #undef vfork */ From nobody Wed Jun 3 06:00:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVcVv1ZLHz6g432 for ; Wed, 03 Jun 2026 06:00: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVcVt6ffHz3NTl for ; Wed, 03 Jun 2026 06:00:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780466422; 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=U6T/huWSK4+7ROEywQBFDVAXfZBoZBUzKb/uxhD0xHQ=; b=O1plu9vY/rI2qAJer3Eo5klV99VbKEwgeT8hjmTJphID/dnSEXWgkfRZxmPuuC4p0a75sy 4WIFeT0smMCMjm3VT9w4xaIioa4Vtj5808d5d7kJLMswn1qCBC+M2AZG4psr2aI1nRt7dY n13aQEOhpSwt0JwvnA1tYoxVT90rdXmgCdtWUq+zCpNUngLEVFycqUKUJtHv6On0TC6Jd/ cGvvtpPiUkPLl3N8CYWLGTGQgBswCcPunS1K7TNIrxmGQjnNMuBHfRbjkAzH+eoz6+jKYA 4CBthpaKQPRTkdeE8zsCJJ3Jn7PQ2AhT+3bOTxz7zsXLLVkjmpg+HAQXa5/t0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780466422; a=rsa-sha256; cv=none; b=hOit3qfpdU7MZX1qtOWOU5VVLOhz5Q+MToXX7S2LgUioaYA/PeOVWQQPMpQko8NPujSfI/ +eOvKWlJYjerC3b3PBu/l4j72Q1n16X88+nfoXMZ2LwENpoyig4C/GHLpQe67kOlVlWcoa 5J0UkzrcS4urQyWZz1WJQF8RblqVeNufCXmR9dHg4VEDnA0JHDPmJRppDt66YWLHBX4pzG Dt/U3DRr3APY+s3hChn7Nc1xRyXfZ54Ly5Tun6TbvzAtVJr9QLdzni/GLZXBsEZ1ahoe9r ffEOoAzvBOrwPkj3XpP2YyrvkNZP7hKo/XbGptfJb2ebnplly9DIBsxPAzAiyg== 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=1780466422; 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=U6T/huWSK4+7ROEywQBFDVAXfZBoZBUzKb/uxhD0xHQ=; b=oi12R7NuHdHnlXER2kWYOLP4bsMteR+Ol4ifswnJnAgHGOLafVLmRpDSNCur7QTI2DpPZu tPC2o5bburzMJd3RDqQPjCfQW/Fq+dACqRC1f/5M5171oCLv3k4+RMmP2cB/vTia91upAB H7BagnvzfiYHEwiZ+DHMoGszJyCZ2PJo/EQJukt8fbm3fIXsXBvxEpBLd/OKacHUnteJGa 4K2dTun7q36ekNnN/MA045G1F4fumMDS4+Mg1A6aYLyq0HnJGnjPksskiC/EWgVUi9NYQn kiHHA0hgvewfzODedmNp/GX5snjm/lu81EHQ48XPsRSAUkMf59koMTeorAP+kw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVcVt5HfWzxw0 for ; Wed, 03 Jun 2026 06:00:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 240fc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 06:00:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Enji Cooper Subject: git: a48b900300eb - main - asmc: add MMIO backend for T2 Macs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a48b900300ebdbd5c47e664b4cc06e705da91bd8 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 06:00:17 +0000 Message-Id: <6a1fc2f1.240fc.44a9255a@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=a48b900300ebdbd5c47e664b4cc06e705da91bd8 commit a48b900300ebdbd5c47e664b4cc06e705da91bd8 Author: Abdelkader Boudih AuthorDate: 2026-06-03 05:57:49 +0000 Commit: Enji Cooper CommitDate: 2026-06-03 05:59:55 +0000 asmc: add MMIO backend for T2 Macs T2 Macs (2018+) expose the SMC via memory-mapped registers instead of I/O ports. Add asmcmmio.c/asmcmmio.h implementing the MMIO transport: key read/write, getinfo, getbyindex, and a poll-based wait with exponential backoff. The driver probes for MMIO at attach time by checking the LDKN firmware version key; if MMIO is available it is used, otherwise the standard I/O port backend is used. T2 fan speeds use IEEE 754 floats instead of fpe2 fixed-point. Per-fan manual mode uses F%dMd keys instead of the FS! bitmask. Battery charge limit is exposed via dev.asmc.N.battery_charge_limit. Tested on: MacBookPro16,2 (A2251, iBridge2,10) MacBookPro15,4 (A2159, iBridge2,8) MacBookAir8,2 (A1932, iBridge2,5) Mac mini 8,1 (A1993, iBridge2,7) iMac20,2 (A2115, iBridge2,16) iMacPro1,1 (A1862, iBridge1,1) MFC after: 2 weeks Reviewed by: ngie, adrian Differential Revision: https://reviews.freebsd.org/D57086 --- sys/conf/files.amd64 | 1 + sys/dev/asmc/asmc.c | 170 +++++++++++++++++--- sys/dev/asmc/asmcmmio.c | 402 ++++++++++++++++++++++++++++++++++++++++++++++ sys/dev/asmc/asmcmmio.h | 56 +++++++ sys/dev/asmc/asmcvar.h | 5 + sys/modules/asmc/Makefile | 2 +- 6 files changed, 611 insertions(+), 25 deletions(-) diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index 88f9b1d5f10f..718fc4097002 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -113,6 +113,7 @@ crypto/openssl/amd64/ossl_aes_gcm_avx512.c optional ossl crypto/openssl/ossl_aes_gcm.c optional ossl dev/amdgpio/amdgpio.c optional amdgpio dev/asmc/asmc.c optional asmc isa +dev/asmc/asmcmmio.c optional asmc isa dev/axgbe/if_axgbe_pci.c optional axp dev/axgbe/xgbe-desc.c optional axp dev/axgbe/xgbe-dev.c optional axp diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index 8cd7842d03fd..9b7adb61e6de 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -57,6 +57,7 @@ #include #include +#include #include #include "backlight_if.h" @@ -426,17 +427,40 @@ asmc_attach(device_t dev) struct sysctl_ctx_list *sysctlctx; struct sysctl_oid *sysctlnode; - sc->sc_ioport = bus_alloc_resource_any(dev, SYS_RES_IOPORT, - &sc->sc_rid_port, RF_ACTIVE); - if (sc->sc_ioport == NULL) { - device_printf(dev, "unable to allocate IO port\n"); - return (ENOMEM); + /* + * Try MMIO first (T2 Macs expose SMC via memory-mapped I/O). + * Fall back to standard I/O port if MMIO is not available. + */ + sc->sc_rid_mem = 0; + sc->sc_iomem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, + &sc->sc_rid_mem, RF_ACTIVE); + if (sc->sc_iomem != NULL) { + if (asmc_mmio_probe(dev) == 0) { + sc->sc_is_mmio = 1; + device_printf(dev, "using MMIO backend (T2)\n"); + } else { + bus_release_resource(dev, SYS_RES_MEMORY, + sc->sc_rid_mem, sc->sc_iomem); + sc->sc_iomem = NULL; + } + } + + if (!sc->sc_is_mmio) { + sc->sc_ioport = bus_alloc_resource_any(dev, SYS_RES_IOPORT, + &sc->sc_rid_port, RF_ACTIVE); + if (sc->sc_ioport == NULL) { + device_printf(dev, "unable to allocate IO port\n"); + ret = ENOMEM; + goto err; + } } sysctlctx = device_get_sysctl_ctx(dev); sysctlnode = device_get_sysctl_tree(dev); - mtx_init(&sc->sc_mtx, "asmc", NULL, MTX_SPIN); + /* Mutex may already be initialized by asmc_mmio_probe() */ + if (!mtx_initialized(&sc->sc_mtx)) + mtx_init(&sc->sc_mtx, "asmc", NULL, MTX_SPIN); /* Read SMC revision, key count, fan count */ ret = asmc_init(dev); @@ -615,6 +639,18 @@ asmc_attach(device_t dev) "SMC key type (4 chars)"); #endif + /* + * Battery charge limit (T2 Macs). + */ + if (sc->sc_is_t2 && + asmc_key_getinfo(dev, ASMC_KEY_BCLM, NULL, NULL) == 0) { + SYSCTL_ADD_PROC(sysctlctx, + SYSCTL_CHILDREN(sysctlnode), OID_AUTO, "battery_charge_limit", + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, + dev, 0, asmc_bclm_sysctl, "I", + "Battery charge limit (0-100)"); + } + if (!sc->sc_has_sms) goto nosms; @@ -736,6 +772,7 @@ asmc_detach(device_t dev) sc->sc_ioport); sc->sc_ioport = NULL; } + asmc_mmio_detach(dev, sc); if (mtx_initialized(&sc->sc_mtx)) { mtx_destroy(&sc->sc_mtx); } @@ -788,10 +825,25 @@ asmc_init(device_t dev) sysctlctx = device_get_sysctl_ctx(dev); error = asmc_key_read(dev, ASMC_KEY_REV, buf, 6); - if (error != 0) - goto out; - device_printf(dev, "SMC revision: %x.%x%x%x\n", buf[0], buf[1], buf[2], - ntohs(*(uint16_t *)buf + 4)); + if (error != 0) { + /* + * Could not read REV key; T2 Macs may not have it. + * Use #KEY as a liveness check instead. + */ + if (sc->sc_is_t2) { + error = asmc_key_read(dev, ASMC_NKEYS, buf, 4); + if (error != 0) + goto out; + device_printf(dev, "T2 SMC: %d keys\n", + be32dec(buf)); + } else { + goto out; + } + } else { + device_printf(dev, "SMC revision: %x.%x%x%x\n", + buf[0], buf[1], buf[2], + ntohs(*(uint16_t *)buf + 4)); + } /* Auto power-on after AC power loss (AUPO). */ if (asmc_key_read(dev, ASMC_KEY_AUPO, buf, 1) == 0) { @@ -1041,8 +1093,11 @@ asmc_command(device_t dev, uint8_t command) static int asmc_key_read(device_t dev, const char *key, uint8_t *buf, uint8_t len) { - int i, error = 1, try = 0; struct asmc_softc *sc = device_get_softc(dev); + int i, error = 1, try = 0; + + if (sc->sc_is_mmio) + return (asmc_mmio_key_read(dev, key, buf, len)); mtx_lock_spin(&sc->sc_mtx); @@ -1180,6 +1235,9 @@ asmc_key_getinfo(device_t dev, const char *key, uint8_t *len, char *type) uint8_t info[ASMC_KEYINFO_RESPLEN]; int i, error = -1, try = 0; + if (sc->sc_is_mmio) + return (asmc_mmio_key_getinfo(dev, key, len, type)); + mtx_lock_spin(&sc->sc_mtx); begin: @@ -1715,6 +1773,14 @@ asmc_key_dump_by_index(device_t dev, int index, char *key_out, int error = ENXIO, try = 0; int i; + if (sc->sc_is_mmio) { + error = asmc_mmio_key_getbyindex(dev, index, key_out); + if (error != 0) + return (error); + return (asmc_mmio_key_getinfo(dev, key_out, len_out, + type_out)); + } + mtx_lock_spin(&sc->sc_mtx); index_buf[0] = (index >> 24) & 0xff; @@ -1808,8 +1874,11 @@ asmc_key_search(device_t dev, const char *prefix, unsigned int *idx) static int asmc_key_write(device_t dev, const char *key, uint8_t *buf, uint8_t len) { - int i, error = -1, try = 0; struct asmc_softc *sc = device_get_softc(dev); + int i, error = -1, try = 0; + + if (sc->sc_is_mmio) + return (asmc_mmio_key_write(dev, key, buf, len)); mtx_lock_spin(&sc->sc_mtx); @@ -1865,14 +1934,30 @@ asmc_fan_count(device_t dev) static int asmc_fan_getvalue(device_t dev, const char *key, int fan) { + struct asmc_softc *sc = device_get_softc(dev); int speed; - uint8_t buf[2]; + uint8_t buf[4]; char fankey[5]; + char type[ASMC_TYPELEN + 1]; snprintf(fankey, sizeof(fankey), key, fan); - if (asmc_key_read(dev, fankey, buf, sizeof(buf)) != 0) - return (-1); - speed = (buf[0] << 6) | (buf[1] >> 2); + + /* + * T2 Macs use IEEE 754 float ("flt ") for fan speeds, + * stored little-endian in the MMIO data register. + * Standard Macs use s14.2 fixed-point ("fpe2", 2 bytes). + */ + if (sc->sc_is_t2 && + asmc_key_getinfo(dev, fankey, NULL, type) == 0 && + strncmp(type, "flt ", 4) == 0) { + if (asmc_key_read(dev, fankey, buf, 4) != 0) + return (-1); + speed = (int)asmc_float_to_u32(le32dec(buf)); + } else { + if (asmc_key_read(dev, fankey, buf, 2) != 0) + return (-1); + speed = (buf[0] << 6) | (buf[1] >> 2); + } return (speed); } @@ -1895,17 +1980,30 @@ asmc_fan_getstring(device_t dev, const char *key, int fan, uint8_t *buf, static int asmc_fan_setvalue(device_t dev, const char *key, int fan, int speed) { - uint8_t buf[2]; + struct asmc_softc *sc = device_get_softc(dev); + uint8_t buf[4]; char fankey[5]; - - speed *= 4; - - buf[0] = speed >> 8; - buf[1] = speed; + char type[ASMC_TYPELEN + 1]; snprintf(fankey, sizeof(fankey), key, fan); - if (asmc_key_write(dev, fankey, buf, sizeof(buf)) < 0) - return (-1); + + if (sc->sc_is_t2 && + asmc_key_getinfo(dev, fankey, NULL, type) == 0 && + strncmp(type, "flt ", 4) == 0) { + uint32_t fval; + speed = MAX(speed, 0); + speed = MIN(speed, 65535); + fval = asmc_u32_to_float((uint32_t)speed); + le32enc(buf, fval); + if (asmc_key_write(dev, fankey, buf, 4) != 0) + return (-1); + } else { + speed *= 4; + buf[0] = speed >> 8; + buf[1] = speed; + if (asmc_key_write(dev, fankey, buf, 2) != 0) + return (-1); + } return (0); } @@ -2016,11 +2114,35 @@ static int asmc_mb_sysctl_fanmanual(SYSCTL_HANDLER_ARGS) { device_t dev = (device_t)arg1; + struct asmc_softc *sc = device_get_softc(dev); int fan = arg2; int error; int32_t v; uint8_t buf[2]; uint16_t val; + char fmkey[5]; + + /* + * T2 Macs use per-fan F%dMd keys (1 byte each). + * Standard Macs use FS! bitmask (2 bytes). + */ + snprintf(fmkey, sizeof(fmkey), ASMC_KEY_FANMANUAL_T2, fan); + if (sc->sc_is_t2 && + asmc_key_getinfo(dev, fmkey, NULL, NULL) == 0) { + error = asmc_key_read(dev, fmkey, buf, 1); + if (error != 0) + return (error); + v = buf[0] ? 1 : 0; + + error = sysctl_handle_int(oidp, &v, 0, req); + if (error == 0 && req->newptr != NULL) { + if (v != 0 && v != 1) + return (EINVAL); + buf[0] = (uint8_t)v; + error = asmc_key_write(dev, fmkey, buf, 1); + } + return (error); + } /* Read current FS! bitmask (asmc_key_read locks internally) */ error = asmc_key_read(dev, ASMC_KEY_FANMANUAL, buf, sizeof(buf)); diff --git a/sys/dev/asmc/asmcmmio.c b/sys/dev/asmc/asmcmmio.c new file mode 100644 index 000000000000..016c50f6170f --- /dev/null +++ b/sys/dev/asmc/asmcmmio.c @@ -0,0 +1,402 @@ +/* + * Copyright (c) 2026 Abdelkader Boudih + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * MMIO backend for Apple SMC (T2 and later Macs). + * + * T2 Macs expose the SMC via memory-mapped registers instead of I/O ports. + * Protocol: clear status, write key/cmd, poll for ready, read result. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +/* + * Wait for MMIO status register bit 5 (ready) with exponential backoff. + * Caller must hold sc_mtx. + */ +static int +asmc_mmio_wait(device_t dev) +{ + struct asmc_softc *sc = device_get_softc(dev); + int i; + uint8_t status; + int delay_us = 10; + + for (i = 0; i < ASMC_MMIO_MAX_WAIT; i++) { + status = bus_read_1(sc->sc_iomem, ASMC_MMIO_STATUS); + if (status & ASMC_MMIO_STATUS_READY) + return (0); + DELAY(delay_us); + if (delay_us < 3200) + delay_us *= 2; + } + + return (ETIMEDOUT); +} + +int +asmc_mmio_key_read(device_t dev, const char *key, uint8_t *buf, uint8_t len) +{ + struct asmc_softc *sc = device_get_softc(dev); + uint32_t key_int; + int error, i; + uint8_t cmd_result, rlen; + + if (len > ASMC_MAXVAL) + return (EINVAL); + + mtx_lock_spin(&sc->sc_mtx); + + /* Clear status if non-zero */ + if (bus_read_1(sc->sc_iomem, ASMC_MMIO_STATUS)) + bus_write_1(sc->sc_iomem, ASMC_MMIO_STATUS, 0); + + /* Write key name as raw 4 bytes */ + memcpy(&key_int, key, 4); + bus_write_4(sc->sc_iomem, ASMC_MMIO_KEY_NAME, key_int); + + /* Write SMC ID (always 0) and command */ + bus_write_1(sc->sc_iomem, ASMC_MMIO_SMC_ID, 0); + bus_write_1(sc->sc_iomem, ASMC_MMIO_CMD, ASMC_CMDREAD); + + /* Wait for ready */ + error = asmc_mmio_wait(dev); + if (error != 0) { + uint8_t st = bus_read_1(sc->sc_iomem, ASMC_MMIO_STATUS); + uint8_t cm = bus_read_1(sc->sc_iomem, ASMC_MMIO_CMD); + mtx_unlock_spin(&sc->sc_mtx); + device_printf(dev, + "%s: timeout key %.4s status=0x%02x cmd=0x%02x\n", + __func__, key, st, cm); + return (error); + } + + /* Check command result (0 = success, 0x84 = key not found) */ + cmd_result = bus_read_1(sc->sc_iomem, ASMC_MMIO_CMD); + if (cmd_result != 0) { + mtx_unlock_spin(&sc->sc_mtx); + device_printf(dev, + "%s: key %.4s cmd error 0x%02x\n", + __func__, key, cmd_result); + return (EIO); + } + + /* Read data length and data bytes; zero-fill remainder */ + rlen = bus_read_1(sc->sc_iomem, ASMC_MMIO_DATA_LEN); + rlen = MIN(rlen, len); + for (i = rlen; i < len; i++) + buf[i] = 0; + for (i = 0; i < rlen; i++) + buf[i] = bus_read_1(sc->sc_iomem, ASMC_MMIO_DATA + i); + + mtx_unlock_spin(&sc->sc_mtx); + return (0); +} + +int +asmc_mmio_key_write(device_t dev, const char *key, uint8_t *buf, uint8_t len) +{ + struct asmc_softc *sc = device_get_softc(dev); + uint32_t key_int; + int error, i; + uint8_t cmd_result; + + if (len > ASMC_MAXVAL) + return (EINVAL); + + mtx_lock_spin(&sc->sc_mtx); + + /* Clear status */ + bus_write_1(sc->sc_iomem, ASMC_MMIO_STATUS, 0); + + /* Write data bytes first */ + for (i = 0; i < len; i++) + bus_write_1(sc->sc_iomem, ASMC_MMIO_DATA + i, buf[i]); + + /* Write key name as raw 4 bytes */ + memcpy(&key_int, key, 4); + bus_write_4(sc->sc_iomem, ASMC_MMIO_KEY_NAME, key_int); + + /* Write length, SMC ID, command */ + bus_write_1(sc->sc_iomem, ASMC_MMIO_DATA_LEN, len); + bus_write_1(sc->sc_iomem, ASMC_MMIO_SMC_ID, 0); + bus_write_1(sc->sc_iomem, ASMC_MMIO_CMD, ASMC_CMDWRITE); + + /* Wait for ready */ + error = asmc_mmio_wait(dev); + if (error != 0) { + mtx_unlock_spin(&sc->sc_mtx); + device_printf(dev, "%s: timeout writing key %.4s\n", + __func__, key); + return (error); + } + + cmd_result = bus_read_1(sc->sc_iomem, ASMC_MMIO_CMD); + mtx_unlock_spin(&sc->sc_mtx); + + return (cmd_result == 0 ? 0 : EIO); +} + +int +asmc_mmio_key_getinfo(device_t dev, const char *key, uint8_t *len, char *type) +{ + struct asmc_softc *sc = device_get_softc(dev); + uint32_t key_int; + int error, i; + uint8_t cmd_result; + + mtx_lock_spin(&sc->sc_mtx); + + /* Clear status */ + bus_write_1(sc->sc_iomem, ASMC_MMIO_STATUS, 0); + + /* Write key name as raw 4 bytes */ + memcpy(&key_int, key, 4); + bus_write_4(sc->sc_iomem, ASMC_MMIO_KEY_NAME, key_int); + + bus_write_1(sc->sc_iomem, ASMC_MMIO_SMC_ID, 0); + bus_write_1(sc->sc_iomem, ASMC_MMIO_CMD, ASMC_CMDGETINFO); + + error = asmc_mmio_wait(dev); + if (error != 0) { + mtx_unlock_spin(&sc->sc_mtx); + return (error); + } + + cmd_result = bus_read_1(sc->sc_iomem, ASMC_MMIO_CMD); + if (cmd_result != 0) { + mtx_unlock_spin(&sc->sc_mtx); + return (EIO); + } + + /* + * GETINFO response layout (MMIO): + * data[0..3] = type code (4 chars) + * data[4] = reserved + * data[5] = data length + * data[6] = flags/attributes + */ + if (type != NULL) { + for (i = 0; i < ASMC_TYPELEN; i++) + type[i] = bus_read_1(sc->sc_iomem, + ASMC_MMIO_DATA + i); + type[ASMC_TYPELEN] = '\0'; + } + if (len != NULL) + *len = bus_read_1(sc->sc_iomem, ASMC_MMIO_DATA + 5); + + mtx_unlock_spin(&sc->sc_mtx); + return (0); +} + +int +asmc_mmio_key_getbyindex(device_t dev, int index, char *key) +{ + struct asmc_softc *sc = device_get_softc(dev); + uint32_t idx_val; + int error, i; + uint8_t cmd_result; + + mtx_lock_spin(&sc->sc_mtx); + + bus_write_1(sc->sc_iomem, ASMC_MMIO_STATUS, 0); + + /* Write index as big-endian 4 bytes to key name register */ + idx_val = htobe32(index); + bus_write_4(sc->sc_iomem, ASMC_MMIO_KEY_NAME, idx_val); + + bus_write_1(sc->sc_iomem, ASMC_MMIO_SMC_ID, 0); + bus_write_1(sc->sc_iomem, ASMC_MMIO_CMD, ASMC_CMDGETBYINDEX); + + error = asmc_mmio_wait(dev); + if (error != 0) { + mtx_unlock_spin(&sc->sc_mtx); + return (error); + } + + cmd_result = bus_read_1(sc->sc_iomem, ASMC_MMIO_CMD); + if (cmd_result != 0) { + mtx_unlock_spin(&sc->sc_mtx); + return (EIO); + } + + /* Result: 4-byte key name in DATA */ + for (i = 0; i < ASMC_KEYLEN; i++) + key[i] = bus_read_1(sc->sc_iomem, ASMC_MMIO_DATA + i); + key[ASMC_KEYLEN] = '\0'; + + mtx_unlock_spin(&sc->sc_mtx); + return (0); +} + +/* + * Validate MMIO and detect T2. + * Check that status register is accessible and LDKN firmware version >= 2. + */ +int +asmc_mmio_probe(device_t dev) +{ + struct asmc_softc *sc = device_get_softc(dev); + rman_res_t size; + uint8_t status, ldkn; + int error; + + size = rman_get_size(sc->sc_iomem); + if (size < ASMC_MMIO_MIN_SIZE) { + device_printf(dev, "MMIO region too small (%jd < %d)\n", + (intmax_t)size, ASMC_MMIO_MIN_SIZE); + return (ENXIO); + } + + /* Check status register isn't stuck at 0xFF */ + status = bus_read_1(sc->sc_iomem, ASMC_MMIO_STATUS); + if (status == 0xFF) { + device_printf(dev, "MMIO status register reads 0xFF\n"); + return (ENXIO); + } + + /* + * We need the mutex initialized before calling mmio_key_read, + * but attach hasn't done it yet. Initialize early. + */ + if (!mtx_initialized(&sc->sc_mtx)) + mtx_init(&sc->sc_mtx, "asmc", NULL, MTX_SPIN); + + /* Read LDKN (firmware version) -- must be >= 2 for MMIO */ + error = asmc_mmio_key_read(dev, ASMC_KEY_LDKN, &ldkn, 1); + if (error != 0) { + device_printf(dev, "MMIO: failed to read LDKN key\n"); + return (ENXIO); + } + + if (ldkn < 2) { + device_printf(dev, "MMIO: LDKN=%d (need >= 2)\n", ldkn); + return (ENXIO); + } + + device_printf(dev, "MMIO: LDKN=%d, T2 SMC detected\n", ldkn); + sc->sc_is_t2 = 1; + + return (0); +} + +void +asmc_mmio_detach(device_t dev, struct asmc_softc *sc) +{ + + if (sc->sc_iomem != NULL) { + bus_release_resource(dev, SYS_RES_MEMORY, sc->sc_rid_mem, + sc->sc_iomem); + sc->sc_iomem = NULL; + } + sc->sc_is_mmio = 0; + sc->sc_is_t2 = 0; +} + +/* + * Convert IEEE 754 float (as u32) to unsigned integer. + * Kernel soft-float: extract integer part only. + * Used for T2 fan RPM values (always positive, reasonable range). + */ +uint32_t +asmc_float_to_u32(uint32_t d) +{ + int32_t exp; + uint32_t fr; + + /* Negative or zero */ + if (d == 0 || (d >> 31) != 0) + return (0); + + exp = (int32_t)((d >> 23) & 0xff) - 0x7f; + fr = d & 0x7fffff; /* 23-bit mantissa */ + + if (exp < 0) + return (0); + if (exp > 23) { + if (exp > 30) + return (0xffffffffu); + return ((1u << exp) | (fr << (exp - 23))); + } + /* Normal case: 0 <= exp <= 23 */ + return ((1u << exp) + (fr >> (23 - exp))); +} + +/* + * Convert unsigned integer to IEEE 754 float (as u32). + * Only handles values in fan RPM range (0-65535). + */ +uint32_t +asmc_u32_to_float(uint32_t d) +{ + uint32_t dc, bc, exp; + + if (d == 0) + return (0); + + /* Find highest set bit position */ + dc = d; + bc = 0; + while (dc >>= 1) + ++bc; + + bc = MIN(bc, 30); + + exp = 0x7f + bc; + + /* + * Mantissa: strip the implicit leading 1-bit and place + * remaining bits into the 23-bit mantissa field. + */ + if (bc >= 23) + return ((exp << 23) | ((d >> (bc - 23)) & 0x7fffff)); + else + return ((exp << 23) | ((d << (23 - bc)) & 0x7fffff)); +} + +/* + * Battery charge limit sysctl (T2 Macs). + * BCLM key: 1 byte, 0-100 (percentage). + */ +int +asmc_bclm_sysctl(SYSCTL_HANDLER_ARGS) +{ + device_t dev = (device_t)arg1; + uint8_t bclm; + int val, error; + + error = asmc_mmio_key_read(dev, ASMC_KEY_BCLM, &bclm, 1); + if (error != 0) + return (EIO); + + val = (int)bclm; + error = sysctl_handle_int(oidp, &val, 0, req); + if (error != 0 || req->newptr == NULL) + return (error); + + if (val < 0 || val > 100) + return (EINVAL); + + bclm = (uint8_t)val; + error = asmc_mmio_key_write(dev, ASMC_KEY_BCLM, &bclm, 1); + + return (error != 0 ? EIO : 0); +} diff --git a/sys/dev/asmc/asmcmmio.h b/sys/dev/asmc/asmcmmio.h new file mode 100644 index 000000000000..51e81707ece1 --- /dev/null +++ b/sys/dev/asmc/asmcmmio.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2026 Abdelkader Boudih + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef _DEV_ASMC_ASMCMMIO_H_ +#define _DEV_ASMC_ASMCMMIO_H_ + +struct asmc_softc; + +/* + * MMIO register offsets. + */ +#define ASMC_MMIO_DATA 0x0000 +#define ASMC_MMIO_KEY_NAME 0x0078 +#define ASMC_MMIO_DATA_LEN 0x007D +#define ASMC_MMIO_SMC_ID 0x007E +#define ASMC_MMIO_CMD 0x007F +#define ASMC_MMIO_STATUS 0x4005 +#define ASMC_MMIO_MIN_SIZE 0x4006 +#define ASMC_MMIO_STATUS_READY 0x20 /* Bit 5 */ +#define ASMC_MMIO_MAX_WAIT 24 + +/* + * T2-specific keys. + */ +#define ASMC_KEY_LDKN "LDKN" /* RO; 1 byte, firmware version */ +#define ASMC_KEY_BCLM "BCLM" /* RW; 1 byte, battery charge limit 0-100 */ +#define ASMC_KEY_FANMANUAL_T2 "F%dMd" /* RW; 1 byte per fan (T2) */ + +/* + * MMIO backend functions. + */ +int asmc_mmio_probe(device_t dev); +void asmc_mmio_detach(device_t dev, struct asmc_softc *sc); +int asmc_mmio_key_read(device_t dev, const char *key, + uint8_t *buf, uint8_t len); +int asmc_mmio_key_write(device_t dev, const char *key, + uint8_t *buf, uint8_t len); +int asmc_mmio_key_getinfo(device_t dev, const char *key, + uint8_t *len, char *type); +int asmc_mmio_key_getbyindex(device_t dev, int index, char *key); + +/* + * IEEE 754 float <-> uint32 conversion for T2 fan RPM values. + */ +uint32_t asmc_float_to_u32(uint32_t d); +uint32_t asmc_u32_to_float(uint32_t d); + +/* + * T2-specific sysctls. + */ +int asmc_bclm_sysctl(SYSCTL_HANDLER_ARGS); + +#endif /* _DEV_ASMC_ASMCMMIO_H_ */ diff --git a/sys/dev/asmc/asmcvar.h b/sys/dev/asmc/asmcvar.h index 6388fc78fb69..bc0c624eb7a2 100644 --- a/sys/dev/asmc/asmcvar.h +++ b/sys/dev/asmc/asmcvar.h @@ -53,6 +53,11 @@ struct asmc_softc { struct resource *sc_ioport; struct resource *sc_irq; void *sc_cookie; + /* MMIO backend (T2 Macs) */ + int sc_rid_mem; + struct resource *sc_iomem; + int sc_is_mmio; + int sc_is_t2; /* T2 fan float + per-fan manual */ int sc_sms_intrtype; struct taskqueue *sc_sms_tq; struct task sc_sms_task; diff --git a/sys/modules/asmc/Makefile b/sys/modules/asmc/Makefile index 17f6c7eec731..2947b073d4fa 100644 --- a/sys/modules/asmc/Makefile +++ b/sys/modules/asmc/Makefile @@ -1,7 +1,7 @@ .PATH: ${SRCTOP}/sys/dev/asmc KMOD= asmc -SRCS= asmc.c opt_acpi.h opt_asmc.h +SRCS= asmc.c asmcmmio.c opt_acpi.h opt_asmc.h SRCS+= acpi_if.h backlight_if.h bus_if.h device_if.h .include From nobody Wed Jun 3 06:02:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVcYG3MY5z6g405 for ; Wed, 03 Jun 2026 06:02: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVcYG217lz3PV4 for ; Wed, 03 Jun 2026 06:02:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780466546; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vdd5v4OWbb8quV7AL+wMn1tamAw5okDk1hiTvLprC2g=; b=hawOs5Ymp28RtV4TVN0/urdZ4CiyPaYz4RboDpnlNbBjUgTYbIN190NW00+rPM39twE6Ib RCRVy3Y6Gw3jcSXdN5l0MzlNL5redwtqwcKoq6Ffzd4z7Kx5aR3fTPdYiPT7KICUvVMMGn CK9ryooi1zOBVmRVtzPZNbFbbcDBE7EoIgoaDY4Ev4gN0ZZdENuryanl3Zz5droApKM4tL 5aPOY8Q8WfisVFPPTjayqN3J6X+Feti2UWlFM8gRxUs8N6G3sKQf8JTCoW8JkKZDvNbLEj tEukYHvdeTCTh3ngsaAFQr60MdXHxXW0XgNp1l5vcfZYOGmDAadVKxuhpfHZmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780466546; a=rsa-sha256; cv=none; b=FoyEvo9t2eBUUTj4+Z2hETNvnTN9in1vhmD7WZmIB42JSJhZ8baKL4sBb2skjIsGUCdFqd fZFMzX0LeUMgyWYXfQYtOfEl8w0w1/IiRiCo38PUn7N8cWg5VbHuNHDa4CRqi9UHuS4Tfa NAsIHMuMbzmR/dl4ZIX4pRxqP1WO7Z84ke866+0fukm/snDW18dacDs3ET8kUQxJ97a8at Y+MzQVc8YevI+fhQtjoS2Yw2EmFfuyX/pzhpuxW3V779nE65ixdXRlZRzhQo6tpTbRQrz9 7yT0L0DQWajFZPSeOJlY3/kw+Jt/xzX780Ih8/XLF+KX+WjUyKxO3EVlvGMgow== 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=1780466546; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vdd5v4OWbb8quV7AL+wMn1tamAw5okDk1hiTvLprC2g=; b=PclfQCOukxZr1p+8O5mddSV6s6wkDyH0t5sW67IaFtKrUnKliv7jYMxt08xzAXfJox1e/U KCkH4pOHIjcQbO+vWbr3xulbtmsowr++me9La5rqtGBPPGq3rJBqToE7CyjkJwaTYyE0Bx CMFSvtMslmW4NAZJeJnoX64vXzjBx1Pkoj2YaEx6ASIiOV1fZ50/9/xgTlX7ETz1TvSOHm P1zoqoRCLPyvVuQpZsCzcu/jZbA+vg10QNMH8RkzwC9jrRmgAedY/j/fhAh2BJ5RjpRauK Z/kIhjbt2CUWjvCmESXyDksrGc07RZhLSVreDJdP9ELLsANsq/cwPo9KV4ZnCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVcYG1TXfzyyh for ; Wed, 03 Jun 2026 06:02:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20f4d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 06:02:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: 886164895f3f - main - amd64: complete thunderbolt KERNCONF integration List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 886164895f3f4805dc11171ac7980acaccf6ec77 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 06:02:20 +0000 Message-Id: <6a1fc36c.20f4d.2792bff2@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=886164895f3f4805dc11171ac7980acaccf6ec77 commit 886164895f3f4805dc11171ac7980acaccf6ec77 Author: Enji Cooper AuthorDate: 2026-06-03 06:02:01 +0000 Commit: Enji Cooper CommitDate: 2026-06-03 06:02:01 +0000 amd64: complete thunderbolt KERNCONF integration This completes the work so the driver can be integrated into KERNCONFs properly on amd64. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D55573 --- sys/amd64/conf/GENERIC | 1 + sys/amd64/conf/NOTES | 4 ++++ sys/conf/files.amd64 | 10 ++++++++++ sys/conf/options.amd64 | 3 +++ 4 files changed, 18 insertions(+) diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 9d76736cc46b..1376011de4ee 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -343,6 +343,7 @@ device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device xhci # XHCI PCI->USB interface (USB 3.0) +device thunderbolt # Thunderbolt PCI->USB interface (USB 4.0) device usb # USB Bus (required) device usbhid # USB HID Transport device hkbd # HID Keyboard diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index fac8d9314cad..21d9c8e745a2 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -61,6 +61,10 @@ device tdfx # Enable 3Dfx Voodoo support #XXX this stores pointers in a 32bit field that is defined by the hardware #device pst +# Thunderbolt (USB 4.0) support +device thunderbolt +options THUNDERBOLT_DEBUG + # # Microsemi smartpqi controllers. # These controllers have a SCSI-like interface, and require the diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index 718fc4097002..f12547727a97 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -381,6 +381,16 @@ dev/smartpqi/smartpqi_sis.c optional smartpqi dev/smartpqi/smartpqi_tag.c optional smartpqi dev/sume/if_sume.c optional sume dev/syscons/apm/apm_saver.c optional apm_saver apm +dev/thunderbolt/hcm.c optional thunderbolt +dev/thunderbolt/nhi.c optional thunderbolt +dev/thunderbolt/nhi_pci.c optional thunderbolt +dev/thunderbolt/nhi_wmi.c optional acpi acpi_wmi thunderbolt +dev/thunderbolt/router.c optional thunderbolt +dev/thunderbolt/tb_acpi_pcib.c optional acpi thunderbolt +dev/thunderbolt/tb_debug.c optional thunderbolt +dev/thunderbolt/tb_dev.c optional thunderbolt +dev/thunderbolt/tb_if.m optional thunderbolt +dev/thunderbolt/tb_pcib.c optional acpi thunderbolt dev/tpm/tpm_crb.c optional tpm acpi dev/p2sb/p2sb.c optional p2sb pci dev/p2sb/lewisburg_gpiocm.c optional lbggpiocm p2sb diff --git a/sys/conf/options.amd64 b/sys/conf/options.amd64 index a3a735731438..5c157371118a 100644 --- a/sys/conf/options.amd64 +++ b/sys/conf/options.amd64 @@ -71,3 +71,6 @@ UART_NS8250_EARLY_PORT opt_uart.h # Enable asmc(4)-specific debug logic. ASMC_DEBUG opt_asmc.h + +# Enable thunderbolt(4)-specific debug logic. +THUNDERBOLT_DEBUG opt_thunderbolt.h From nobody Wed Jun 3 07:10:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVf454fd3z6gBM3 for ; Wed, 03 Jun 2026 07:10: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVf4537WCz3VXl for ; Wed, 03 Jun 2026 07:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780470645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/1+yDUq1zgMgLdyURHSClyr0kYEBURX5TpuiSsPrl+Q=; b=q/wzD8K3ZnzG8PlLYvIhFkEE1BJv/5JRjypX2qJYj+yzMES2mkZgrN+Lyzx0g17lPenn81 BPZDG1qgwxarrkIIMESrJexfv8+xPOymM3v+GDlsfvi/AMi1pmDSACN84fq4SX1J2qOQhr /v/7jx4a4WPo6CYpWOQvvIEMixTT4TdbMl+ObB+8ALtKrE8NXEvkOwxnTYylsONQSUX/dZ 2aG8N7DFD8mh2f/pPpAkr9HyDi/pKBUncc83JjEK9Xi7cswv6Oc+UVagQYCWcw1Ac/J8nL J+tWCA9EBBi05UHW0IJRyZcc21HvLJA9G19ckaHcwwb/uhVyiMUg3BtO2U1cfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780470645; a=rsa-sha256; cv=none; b=MuyIP1HQUO3YNtsJNtG5Q4nk7QRqmdn6TSzu2M9tzOSUt/K2B7fqOrN5PuPxPAjQ7XSHyO S7zRRofii+I9R4WB/4jTwgvJNxtnLYvoYYdgN2ItBg5anPze2MdXYWcteId9M3snbqKoWH ktuI0xpJbL8yh/LrtiUw5nsjgD7QG/jREFusgW1INl2vJ7hP+43I5wpuTKPbO1nPSJ4GyZ 3TAZJiq8dswZmK8BUrvSdmAPScffAFnXQhsb4DEwMf6SXPtmyB1lGXGbGRgfUSJjQj78IC bX7zRSq2D6NcqLDiinZ/Ucosqpr1/RFbXBwk9WHT9N1sqP64XGd4AVj2w+HZ2w== 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=1780470645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/1+yDUq1zgMgLdyURHSClyr0kYEBURX5TpuiSsPrl+Q=; b=LLP3SyosQtVlWTHpNaGgBUYRAryxu9aFPPOkw0E/AHuxC0Y+Zakcy3C24riT+khS6IAVyF 2frZIzJaG9zJBwIvPlvT1cvS7i2/P5xxbhwx05eqKy2HpD2cOUCDjQJFogLmKeKplJR1HW Np2UpJZ+n16BTYvcuhpXEWS87AkZ6y8XG1bfsJWX2m5ATv8BMchyCW94CV+N2mafbTj4+N kv0RxbAyhO2v0XYVB3K2u1asvUJJLTQa8ABqQCGXTEiffw/lut5ErfLMBo8zdioDZ4JKql tGBGUlRPpU8DjSrLxDnjrWJIjSwho0TY5jImubiHHTkLetd62pMlexPaGzPGMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVf452fLNz11KH for ; Wed, 03 Jun 2026 07:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 332ab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 07:10:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 4b6887e38638 - main - cxgbe(4): Do not read indirect INT_CAUSE registers directly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b6887e3863881ff3be447c00fa2ae0c563550c5 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 07:10:45 +0000 Message-Id: <6a1fd375.332ab.c3e63af@gitrepo.freebsd.org> The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=4b6887e3863881ff3be447c00fa2ae0c563550c5 commit 4b6887e3863881ff3be447c00fa2ae0c563550c5 Author: Navdeep Parhar AuthorDate: 2026-06-01 23:36:36 +0000 Commit: Navdeep Parhar CommitDate: 2026-06-03 06:36:34 +0000 cxgbe(4): Do not read indirect INT_CAUSE registers directly Some of the registers added in a172f9e5b3cf are not directly accessible and should be avoided. Fixes: a172f9e5b3cf cxgbe(4): Improvements to the slow interrupt handler MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/common/t4_hw.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/dev/cxgbe/common/t4_hw.c b/sys/dev/cxgbe/common/t4_hw.c index 41606201ad39..1386ae1767fd 100644 --- a/sys/dev/cxgbe/common/t4_hw.c +++ b/sys/dev/cxgbe/common/t4_hw.c @@ -6610,6 +6610,7 @@ static bool pmtx_intr_handler(struct adapter *adap, int arg, int flags) .details = NULL, .actions = pmtx_int_cause_actions, }; +#ifdef notyet static const struct intr_details pmtx_perr_cause_details[] = { { F_ICSPI_OVFL, "icspi FIFO Overflow" }, { F_OSPI_OVERFLOW3_TX, " OSPI overflow on channel 3 error." }, @@ -6641,6 +6642,7 @@ static bool pmtx_intr_handler(struct adapter *adap, int arg, int flags) .details = pmtx_perr_cause_details, .actions = NULL, }; +#endif bool fatal; if (chip_id(adap) >= CHELSIO_T7) @@ -6648,8 +6650,10 @@ static bool pmtx_intr_handler(struct adapter *adap, int arg, int flags) else pmtx_int_cause.details = pmtx_int_cause_fields; fatal = t4_handle_intr(adap, &pmtx_int_cause, 0, flags); +#ifdef notyet if (chip_id(adap) >= CHELSIO_T7) fatal |= t4_handle_intr(adap, &pmtx_perr_cause, 0, flags); +#endif clear_int_cause_reg(adap, &pmtx_int_cause, flags); return (fatal); @@ -6705,6 +6709,7 @@ static bool pmrx_intr_handler(struct adapter *adap, int arg, int flags) .details = NULL, .actions = NULL, }; +#ifdef notyet static const struct intr_details pm_rx_int_cause_2_details[] = { { F_CACHE_SRAM_ODD_CERR, "Cache Data Odd SRAM Correctable Error" }, { F_CACHE_SRAM_EVEN_CERR, "Cache Data Even SRAM Correctable Error" }, @@ -6766,13 +6771,16 @@ static bool pmrx_intr_handler(struct adapter *adap, int arg, int flags) .details = pm_rx_perr_cause_details, .actions = NULL, }; +#endif bool fatal; if (chip_id(adap) >= CHELSIO_T7) { pmrx_int_cause.details = t7_pmrx_int_cause_fields; fatal = t4_handle_intr(adap, &pmrx_int_cause, 0, flags); +#ifdef notyet fatal |= t4_handle_intr(adap, &pmrx_int_cause2, 0, flags); fatal |= t4_handle_intr(adap, &pmrx_perr_cause, 0, flags); +#endif } else { pmrx_int_cause.details = pmrx_int_cause_fields; fatal = t4_handle_intr(adap, &pmrx_int_cause, 0, flags); From nobody Wed Jun 3 07:10:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVf4667Nwz6gBTm for ; Wed, 03 Jun 2026 07:10: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVf464kY4z3VS6 for ; Wed, 03 Jun 2026 07:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780470646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cG1PwHOE1FJvL82TT7QmORljbGwyMIyD3rfpya8VaM8=; b=I6zEwAaDpCykf9Nt+NPWrhwcN70J8FT1aElO70QqO0c+PkdtXSJNZ0Oz3k0LHA50+20B7q IAM9IYsL/vGu093VX1RSSbyjl1yEGnnOfyWGqwjLGh5PnLoCWP/wVZYB3SQBkt9FTOgCb9 lza/gQPJr5jMz+IFTrCvXJC1byGVtda1U+AXLqJw/7ca2QW/DRCQ/hNyBhl+faar3rBCQi 5AQyLNW87lTs+Vo5iOSUfVVDX1pH9/pAfx5pmZZzg1moeEe4z0yyY4HcrWI4nh9CPXxoXY 2AucBQlxvcmc0fgCgEkLKTxaGRzE2rG5ZyXdKAyNbFm/76BMUV6VT6vtp99mxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780470646; a=rsa-sha256; cv=none; b=vrnCbt3GRLKQp+33wQFmdJ8KmkPilyXf60IqhzzDgaEsEslONlZs/W+YFxFYFCVowlAoQl aRHoYS3bYQq0uvdG7HSF3dI1aLcEfTE4L+fPMNatdF97AwCE6+pxB0aF4VMyhBU8EDC1cu M2FQAkhEhYcd8HZeWLddPgQnjpnsnEAhvUmpmIitjwVHS+i1uELSdIYcIzKqltEnH3Pt5+ UeUFmgtWyQEFtvNYH9oATCDWoXFdT0LUoo+M3C7pVI6pn33f3lzi2MAQrvdECvKviMleMN n2A/cb5pNmD0azjMWsTJcKcWb+ySKvkmfBbmuMBhIx01JuKK/gpKDMr7ewI3jw== 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=1780470646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cG1PwHOE1FJvL82TT7QmORljbGwyMIyD3rfpya8VaM8=; b=WghH4OmHlibHsUnskd7qhJKKcTtoJMwcNAJdC5SGvzoHVw1+MgcqScl8fpuGSqnVthYfx1 DT2+LhXD7LDBVyZaoCCKZRyV3eH22l0Ll3gE/OMfnbmN3I5QH8dzBpMAmENN0J8Y0k8u1X zO8jCZWa+a5oqOA+6UQOdzKYhrtut7+UXK8DJIgsgHyzUJdwYzDln+4T9O2GksxJWxKtQE HvvCGceJ/ARFr5FmkBXNx/1qux/NZEZjzlpUAlDQ+m8vbj3NP6vtXkO7x+O98kkd1JLBFq T+3z6QIoVCS+FdPwUpa8xTm0Ch3rlBHQvqbnsD7fuV+DxbYUV8QLXK6nhi+dgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVf463V8yz11QN for ; Wed, 03 Jun 2026 07:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 321df by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 07:10:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 309fc9f76591 - main - cxgbe(4): Use correct FID in KTLS tx work requests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 309fc9f765917fa032cdae7043bafffb6da5713b Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 07:10:46 +0000 Message-Id: <6a1fd376.321df.50d22b53@gitrepo.freebsd.org> The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=309fc9f765917fa032cdae7043bafffb6da5713b commit 309fc9f765917fa032cdae7043bafffb6da5713b Author: Navdeep Parhar AuthorDate: 2026-06-03 05:16:13 +0000 Commit: Navdeep Parhar CommitDate: 2026-06-03 06:38:07 +0000 cxgbe(4): Use correct FID in KTLS tx work requests MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/crypto/t7_kern_tls.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/cxgbe/crypto/t7_kern_tls.c b/sys/dev/cxgbe/crypto/t7_kern_tls.c index b6078b9b53b6..2cde8ff28794 100644 --- a/sys/dev/cxgbe/crypto/t7_kern_tls.c +++ b/sys/dev/cxgbe/crypto/t7_kern_tls.c @@ -1557,7 +1557,7 @@ ktls_write_tls_wr(struct tlspcb *tlsp, struct sge_txq *txq, V_T7_ULP_TXPKT_CHANNELID(tlsp->vi->pi->port_id) | V_ULP_TXPKT_DEST(0) | V_ULP_TXPKT_CMDMORE(request_ghash ? 1 : 0) | - V_ULP_TXPKT_FID(txq->eq.cntxt_id) | V_ULP_TXPKT_RO(1)); + V_ULP_TXPKT_FID(txq->eq.iqid) | V_ULP_TXPKT_RO(1)); txpkt->len = htobe32(howmany(txpkt_lens[0], 16)); /* ULPTX_IDATA sub-command */ @@ -1949,7 +1949,7 @@ ktls_write_tls_wr(struct tlspcb *tlsp, struct sge_txq *txq, V_ULP_TXPKT_DATAMODIFY(0) | V_T7_ULP_TXPKT_CHANNELID(tlsp->vi->pi->port_id) | V_ULP_TXPKT_DEST(0) | - V_ULP_TXPKT_FID(txq->eq.cntxt_id) | V_ULP_TXPKT_RO(1)); + V_ULP_TXPKT_FID(txq->eq.iqid) | V_ULP_TXPKT_RO(1)); txpkt->len = htobe32(howmany(txpkt_lens[1], 16)); /* ULPTX_IDATA sub-command */ From nobody Wed Jun 3 07:10:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVf493Q2Sz6gBRg for ; Wed, 03 Jun 2026 07:10: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVf492L1qz3VV8 for ; Wed, 03 Jun 2026 07: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=1780470649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PseqGHMcNRnJxEXjavOCSSstgdDedsOxn1QFzy7tGcc=; b=h9pl9sxwIJUNzpF6On2hyMmJrcFHix2Wthy2+n+ht0EdyEcRKILnoL7tHOSgvsTOzW/wRU 0qUEILvGXkpmBW1xTiagAqf1DopIdg9v+Gx0FymKb5CUNIGYmJimD6alLL0KTRoo1bYlbd Xf9/KKMGIL0tqIyyTyyFgkHXpeDEI3J59sahpmXgRX6RLvyHybCN6ecOZuScpUglCj7UhW SF+oy+fW7ylKJhZbOdUjDQxKcp2rqUcKDcuWc3la7pvUUF/Lp2x2mVN4JrlHL2sY8zJHSp Zu80PxSuf4Pbt6FQLRzfzokZwSNkiyBflL/61hjgG3jF48Y1JgBNrEEbeMK1Ww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780470649; a=rsa-sha256; cv=none; b=A4icSpoms6ri/lKVUbVHTsdt4d/AQ2qusH6/TXO0vj7WWw4TMgM9kFwFGLhDS9KBbowX8G 5koFgVnTj6bRRoZ4/qVPwL2h4MyMQEH8Z8ClndxH4kE1YldDlbQzutEiMVY4v9FiuDBgPj UHf+gSfRuCxn3QhySruioumfxLoxv+DACmWOBlMqyZSKeN6Iep7Hr4s27QieXP5UnqwWdU +EKnNif68w8sFxpwcbD9nrQWVpn9AXFZa6Ndw+pxcJMXs0hEawyl2JiLFzFHi9wcJtajlq m1Dez8a/YtuV7qqLi+Vgij2xZPb/UGXJL1euIIj3RsbUFPGVwHL5mf4hEhR6IA== 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=1780470649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PseqGHMcNRnJxEXjavOCSSstgdDedsOxn1QFzy7tGcc=; b=domSQjIHa8WB6m2cbN+gLKZ2aptOKkSmbdvjKjietp9HJxEkeVncD2A2a24FGuZZWrL31H wcb0jGEiWG4LpMopau8EHDp3iC7N4/7AXMUq6qyo5RIm2JfOHDwdpfQ/d+wMvMckxqYVKD JYs+8oKPq12Fpv3cEhi7BN+BPI3Cts/MnwfWFY+30a3z4WzSemor70zO7aWzGJTqrm6BW/ BISkizxhjmXnlggfBlIxTDQ1y7TB89kaiRG88Ff5QpxgueMQ86mm5fbu9RLlmCPBmX42pW nFF8CBFaRun4rRB41AKmzfTc2HL1D/DXf7OEztgJ5qsxppdmK5LEJCXifG8gZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVf491xDHz11Sp for ; Wed, 03 Jun 2026 07:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32a53 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 07:10:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: c029d04671e9 - main - cxgbe(4): Use backdoor access to read SGE context on T7 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c029d04671e904ce7e194fb441704b6a814f40f5 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 07:10:44 +0000 Message-Id: <6a1fd374.32a53.304f7899@gitrepo.freebsd.org> The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=c029d04671e904ce7e194fb441704b6a814f40f5 commit c029d04671e904ce7e194fb441704b6a814f40f5 Author: Navdeep Parhar AuthorDate: 2026-06-03 05:07:31 +0000 Commit: Navdeep Parhar CommitDate: 2026-06-03 06:25:15 +0000 cxgbe(4): Use backdoor access to read SGE context on T7 This avoids a firmware bug where it crashes when accessing SGE context on a secondary core. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 07906dac00a8..573c8f71b084 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -12576,7 +12576,7 @@ get_sge_context(struct adapter *sc, int mem_id, uint32_t cid, int len, goto done; } - if (sc->flags & FW_OK) { + if (sc->flags & FW_OK && !is_t7(sc)) { rc = -t4_sge_ctxt_rd(sc, sc->mbox, cid, mem_id, data); if (rc == 0) goto done; From nobody Wed Jun 3 08:23:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggn3kFgz6gJlH for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggn2WD4z3gBs for ; Wed, 03 Jun 2026 08:23:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6KOobMWnLX4C/bv2sUMjt0QnFPqDEWREDaxUcNhW/Mo=; b=Prot2d6g2mqEDZpHkjEmftvmoyaNTAI3NimyFwncKGKOZZdq2CiC1NAwLmANsZNhdas0pZ FUnLLTbDnFc5+Gs9U//Xx4AiNO+D8S03eCttNexA6OPn0i6rqmLmpiem2V/bjiHgXME8bl kNr7XcsqJvcSpW5dkG3hg+j6L+0hIbN61zre0cKo0PCD6ExXw3wEmmKYmERlQnaG/7pByv MGXu8O4abdzeDu4Lbj9gBttlx487Q5HA7f0tJqZXguxtcQ9moPLSe7Dd6vMH6+4R2Ixqfp kWKVJ7dxMam2+gWx9HVLJpgs8nPDPXfOCIQ2WmcGWVC9d9Y+qLuysXTerD5sNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474997; a=rsa-sha256; cv=none; b=pv1ygTc2s4MU08IvoJvCDm9j8k96XJfM3IZ2w+uF4qMbSBFjqdZCsZkgvARSTmBqd54m5G 8ue6SO1dCikZ6EnSKCXcA2UZnYmBIb/dXvdZanu4GSn+joO0sQn4nB2PuEWKKOvM6lYR1S KnUVHJVFVSjEYgaWMfvcQUAtvp15zM53uhWgs2ZUeB/JNfjq7523bcj3qZdvmueFvWkPQR KfzE+h1Rt+oZP+JL9ghhdtti3cRXhFQUWP9aD6ddSPsqXlsq7tiosfg/5S6I3+QytKWYr/ l736aSvl1JoJnM638HQlcopq83su5zyBBlB327bJHo2t3LXgNwA3BY00M5VJvA== 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=1780474997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6KOobMWnLX4C/bv2sUMjt0QnFPqDEWREDaxUcNhW/Mo=; b=oGMW4C/Td9qwSO+RgkNalUWUJSae4c8Q2JcBFqw6mScy5P+1xpcbojl6vtnj+9RxMSgY6T kGyZcm0cVylJv7riZ795seLoaUHm/buEHZSm/Q6bh35iBNYOPCJjmGXr6sKbW0WVG00xVj E/G0pS/lnMzBP9t2WITDbwCzm6xRFG3obSVelJP/i+/pQtbON4BNhdyVCCVorjhikMt8Tq qP0OvRqIqwtIN8bghE4taRepub4W3BzG5mHbX/EQdKpSBANlsT9AmXBFOVKppyrUTY4vnC 8AVqthVE3qwpAJVUtdphpioFsZypxbyxP6fqjUTNGbIJT/28oz0ZPGhNmQM7vw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggn26qlz13nx for ; Wed, 03 Jun 2026 08:23:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39168 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 333af32c928d - stable/15 - sound: Retire EQ states List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 333af32c928d0064c1fdec9006e6bdc4538dcf6c Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:17 +0000 Message-Id: <6a1fe475.39168.308612c5@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=333af32c928d0064c1fdec9006e6bdc4538dcf6c commit 333af32c928d0064c1fdec9006e6bdc4538dcf6c Author: Christos Margiolis AuthorDate: 2026-04-17 15:23:38 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Retire EQ states The SD_F_EQ_ENABLED does the same thing, and is actually what we test against in order to create the EQ feeder. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 88bc1d7325aa97520f7a308d70a5fcb39acdc5d2) --- sys/dev/sound/pcm/channel.c | 3 --- sys/dev/sound/pcm/feeder.h | 3 --- sys/dev/sound/pcm/feeder_eq.c | 25 ++----------------------- 3 files changed, 2 insertions(+), 29 deletions(-) diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index c97a3158dbd9..a0ee16a14386 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -2209,9 +2209,6 @@ chn_syncstate(struct pcm_channel *c) device_printf(c->dev, "EQ: Failed to set preamp -- %d\n", d->eqpreamp); - if (d->flags & SD_F_EQ_ENABLED && - FEEDER_SET(f, FEEDEQ_STATE, FEEDEQ_ENABLE) != 0) - device_printf(c->dev, "EQ: Failed to enable\n"); } } } diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index 10bfe9dca8f3..127b479cd7c9 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -119,9 +119,6 @@ enum { FEEDEQ_TREBLE, FEEDEQ_BASS, FEEDEQ_PREAMP, - FEEDEQ_STATE, - FEEDEQ_ENABLE, - FEEDEQ_UNKNOWN }; int feeder_eq_validrate(uint32_t); diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 6fd7d7f2bfff..fdb786171d5a 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -122,7 +122,6 @@ struct feed_eq_info { uint32_t rate; uint32_t align; int32_t preamp; - int state; }; #if !defined(_KERNEL) && defined(FEEDEQ_ERR_CLIP) @@ -277,7 +276,6 @@ feed_eq_init(struct pcm_feeder *f) info->treble.gain = FEEDEQ_L2GAIN(50); info->bass.gain = FEEDEQ_L2GAIN(50); info->preamp = FEEDEQ_PREAMP2IDX(FEEDEQ_PREAMP_DEFAULT); - info->state = FEEDEQ_UNKNOWN; f->data = info; @@ -303,8 +301,6 @@ feed_eq_set(struct pcm_feeder *f, int what, int value) if (feeder_eq_validrate(value) == 0) return (EINVAL); info->rate = (uint32_t)value; - if (info->state == FEEDEQ_UNKNOWN) - info->state = FEEDEQ_ENABLE; return (feed_eq_setup(info)); case FEEDEQ_TREBLE: case FEEDEQ_BASS: @@ -320,12 +316,6 @@ feed_eq_set(struct pcm_feeder *f, int what, int value) return (EINVAL); info->preamp = FEEDEQ_PREAMP2IDX(value); break; - case FEEDEQ_STATE: - if (value != FEEDEQ_ENABLE) - return (EINVAL); - info->state = value; - feed_eq_reset(info); - break; default: return (EINVAL); } @@ -449,8 +439,6 @@ static int sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) { struct snddev_info *d; - struct pcm_channel *c; - struct pcm_feeder *f; int err, val, oval; d = oidp->oid_arg1; @@ -477,20 +465,11 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) PCM_LOCK(d); - if (val == 1) { - val = FEEDEQ_ENABLE; + if (val == 1) d->flags |= SD_F_EQ_ENABLED; - } else + else d->flags &= ~SD_F_EQ_ENABLED; - CHN_FOREACH(c, d, channels.pcm.busy) { - CHN_LOCK(c); - f = feeder_find(c, FEEDER_EQ); - if (f != NULL) - (void)FEEDER_SET(f, FEEDEQ_STATE, val); - CHN_UNLOCK(c); - } - PCM_RELEASE(d); PCM_UNLOCK(d); } else From nobody Wed Jun 3 08:23:15 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggl2Fpwz6gK04 for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggl1PgJz3gQR for ; Wed, 03 Jun 2026 08:23:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vvx2rFSCbgBnUovgAWOL+NYZ2esX85ijEZ2PZChZqvM=; b=RwbN0orhDt6VDA1ErFHUuVOi+dx5oNfUuBYX3jWetU9Arr84c/pNEO15cOWSMuPImxeUGe M4tJ8GtW0mkqnqVbAry9nPV8V4xhwN/NYxkFSHSxLnYwQzyiNXnctlUU2Phvr/9frjUsF0 +BlL9N8cb5ArK7v8tPoDBylHS2sIOe8k1VOmr0SClJzT6kRtgzYdylgiD43c9DUMnnPxRs lBVdYLNnUJHhkeoqoEBYXakkE4xb3NlAHRh69abrvLyoimGsrzuCsrErQFP/tgursngWbv F5yMZu4ejp23vAuWNB7k0s1E/EYNiVyVau3SeRG1pVbIwCskgXhAL7L5koyB6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474995; a=rsa-sha256; cv=none; b=iF+/alDBXwm7gp3hHdoO/NBFz5dRkAY9LmElhJ5nBMQP3uIlb3TF3OIYEs6Dh4Mk9ArkcA Cp93Etm2YXCOCZUqgYkEkfNNCCJL+NbiESqIagTx7W/56FwrkX5KgC3aJXzE24kBtWJi0L Zw24DzvNTlHVqP8ZlVjuX08QerTp7+9rgaG3lTI5Z1fNXXL0yQzMduJluxmNTzUJpne5YB HUZs6etCK/UVqj5xPIYqljjHSmsMubkjC+BRE9rSofcoB65TainHtGzPgyOlqctMkYteA+ vtlN/ykf3JEbCQFtGdE7uXueS0wn+JKRyxJFTtlIKwCt1347Fn3Wql9fzNkKrg== 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=1780474995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vvx2rFSCbgBnUovgAWOL+NYZ2esX85ijEZ2PZChZqvM=; b=dbk72qqDAdgTvLzhTBNZ7yKRbZ9Rh3LQ/H5pbNF7vXdFf5a9BiHYbaVo58vjQ8toOSplww VCjtlNuN5gvLwcr+szAWxvH9UNrekQ6LRoo/PwFsvZnY2kYr0mk3pWoZy6ua9vqxbCUdjm cm2YGp2YCz09Cc1t06cgkWzLsRAmV4rhi/4YpjgE9XlywXOtHwFNVNx818p/LhM8HxjeSy aV2ssy7/6A/mHPzJM39cidckcXdFpm194Ix0K0591hcatHp5eMFOL3EMY/mDB/91xBdTcw QfRJ/tmfJAJKDkcGyLmhKXQuwzSS+vK+CchYcP/cfmJ2+JbTT+jg8hfd5Kz+jg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggl0yfgz135v for ; Wed, 03 Jun 2026 08:23:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a945 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 82dcd575dd28 - stable/15 - sound: Remove dead EQ FEEDEQ_DISABLE code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 82dcd575dd281bbd83a83a4fb783713dc1678b53 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:15 +0000 Message-Id: <6a1fe473.3a945.1b4fdaca@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=82dcd575dd281bbd83a83a4fb783713dc1678b53 commit 82dcd575dd281bbd83a83a4fb783713dc1678b53 Author: Christos Margiolis AuthorDate: 2026-04-17 15:05:33 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Remove dead EQ FEEDEQ_DISABLE code If EQ is disabled, we never reach those code paths in the first place. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 6f130b220d7ce64ce65f076a21edea034d14482b) --- sys/dev/sound/pcm/feeder_eq.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 8f3acbf4e156..fe47a9d7e434 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -148,19 +148,6 @@ feed_eq_biquad(struct feed_eq_info *info, uint8_t *dst, uint32_t count, pmul = feed_eq_preamp[info->preamp].mul; pshift = feed_eq_preamp[info->preamp].shift; - if (info->state == FEEDEQ_DISABLE) { - j = count * info->channels; - dst += j * AFMT_BPS(fmt); - do { - dst -= AFMT_BPS(fmt); - v = pcm_sample_read(dst, fmt); - v = ((intpcm64_t)pmul * v) >> pshift; - pcm_sample_write(dst, v, fmt); - } while (--j != 0); - - return; - } - treble = &(info->coeff[info->treble.gain].treble); bass = &(info->coeff[info->bass.gain].bass); @@ -369,9 +356,6 @@ feed_eq_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, info = f->data; - if (info->state == FEEDEQ_DISABLE) - return (FEEDER_FEED(f->source, c, b, count, source)); - dst = b; count = SND_FXROUND(count, info->align); From nobody Wed Jun 3 08:23:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggk1fwCz6gJPx for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggk0fH1z3gN0 for ; Wed, 03 Jun 2026 08:23:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pBlo6J7v1hwywmMpnaNuUrB8sAL9HYlfpPtDi/qblrc=; b=VvdOZbGXJlO1743dYD99i5UxVN7SvhZxPYX1Qu2/0EE9CHfsm6pw7/qMZe/i3gqTnIvRP0 aPxZhzcEkiGN3aE/eKH9LUXkWH4lxwWkR7O3nLcGjFzbYYvZ5VxriE06GkKTFOk5EsYATp v7jeBErz70gfVZ64fFgSF2Lu1kzYIDuVdMztQANq0Geg8y7I0UPlAqAoG4FDqJ/gsPco4S 96raVv4I2Hew/gmTGkTFVk4sCsQt/T91HnXsacMsPkjeDby5KwCn2aqIQTb6gKIZqRxjCP DdC/S15iLzsktapEASxZsfgEsSZJUTJUbQ6DQjAs5lEIYBPfwygpaNOiaO/LbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474994; a=rsa-sha256; cv=none; b=qEAx8YYkSgVHrQ/B1GdSJsy2h3jyINc0KQDrJLeQAHu1Bm5qzepXHDcbuWKrP2UCNNeEmi EgpJwrgkO3VbpdYnwPVsq3aLSZ7sCfzgw7c6UabTukjfIRahL6aTaCY8/2VlG1hVSLTfXV 0KhaBMeH7dB2EpIsUe8mHhPOx4Ugf00C6DTAwj0PkxY6NUMDqhI6HNKbqUENZve9T8XP3S JdkpZiIh8s40qvdf31Jimc873QjZfnwFuM8rG3adseRPqvioxZWi+lSPtj2e0Z8dMf68is x3Tj7pwxGC2JMy5KUK5sWl+08xARThFyWXrx+PA5mUgl9wNa7dPHlAwtwBccCA== 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=1780474994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pBlo6J7v1hwywmMpnaNuUrB8sAL9HYlfpPtDi/qblrc=; b=Xaeiap3JBYXuk/oTr4l9spzvZFg3YcKaSGvPWgVYZYPVFjQlqmm1v2O2g4fs3o8XY9WZm4 YzVDTI3TkSwft/CkfuY545Qi9OyoCp7b4cehb8v2uJjNlBAx8gUB1P7XULzo+CN+arBw5e 0CqijCtHx0Bj0PPvMiLRB+Jmi/dsmUMUKlIOXTXgV3eJW2EVnJpqE5H2zY3IsU11fM8grR aKoeloTLxvd41zBAvZGQVmQ2dYTtTaqgw+BbwCkCRHCegxFdeiytj7Ke+nYJmXZufXmAJt MjMzsMmEnOFsQTMsOuvEOnRBgfRaJuhzmlsoqyLeNCvm/03/jEw3KxmMNvQNpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggk09N2z13lT for ; Wed, 03 Jun 2026 08:23:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b2ab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 8511a14eb0cf - stable/15 - sound: Retire FEEDEQ_BYPASS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8511a14eb0cf3bc78fe8436f14bd01f760f923ec Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:14 +0000 Message-Id: <6a1fe472.3b2ab.41c7ec3d@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=8511a14eb0cf3bc78fe8436f14bd01f760f923ec commit 8511a14eb0cf3bc78fe8436f14bd01f760f923ec Author: Christos Margiolis AuthorDate: 2026-04-17 14:45:40 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:22 +0000 sound: Retire FEEDEQ_BYPASS In effect, this is the same as the disable state. There is a comment that says the bypass state skips EQ altogether, which is what the disable should be. The disable state according to the comment disables EQ but keeps the EQ preamp (dev.pcm.%d.eq_preamp), however after testing it seems that the preamp does not really take effect, because with EQ disabled, feeder_eq is non existent, so we never execute any EQ code in the first place. Make things simpler and clearer and have 2 states; enable and disable, and do what they should do intuitively. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 54a03b44ae386e26d29df6eece3fadb5c0d1105a) --- sys/dev/sound/pcm/channel.c | 4 +--- sys/dev/sound/pcm/feeder.h | 1 - sys/dev/sound/pcm/feeder_eq.c | 26 +++++++------------------- sys/dev/sound/pcm/sound.h | 4 ++-- 4 files changed, 10 insertions(+), 25 deletions(-) diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index c1e0d8d3bc52..be6d7f82f502 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -2209,9 +2209,7 @@ chn_syncstate(struct pcm_channel *c) device_printf(c->dev, "EQ: Failed to set preamp -- %d\n", d->eqpreamp); - if (d->flags & SD_F_EQ_BYPASSED) - state = FEEDEQ_BYPASS; - else if (d->flags & SD_F_EQ_ENABLED) + if (d->flags & SD_F_EQ_ENABLED) state = FEEDEQ_ENABLE; else state = FEEDEQ_DISABLE; diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index e1e91d468455..7d14022c6849 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -122,7 +122,6 @@ enum { FEEDEQ_STATE, FEEDEQ_DISABLE, FEEDEQ_ENABLE, - FEEDEQ_BYPASS, FEEDEQ_UNKNOWN }; diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 4cf9d4f6695f..8f3acbf4e156 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -334,8 +334,7 @@ feed_eq_set(struct pcm_feeder *f, int what, int value) info->preamp = FEEDEQ_PREAMP2IDX(value); break; case FEEDEQ_STATE: - if (!(value == FEEDEQ_BYPASS || value == FEEDEQ_ENABLE || - value == FEEDEQ_DISABLE)) + if (!(value == FEEDEQ_ENABLE || value == FEEDEQ_DISABLE)) return (EINVAL); info->state = value; feed_eq_reset(info); @@ -370,13 +369,7 @@ feed_eq_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, info = f->data; - /* - * 3 major states: - * FEEDEQ_BYPASS - Bypass entirely, nothing happened. - * FEEDEQ_ENABLE - Preamp+biquad filtering. - * FEEDEQ_DISABLE - Preamp only. - */ - if (info->state == FEEDEQ_BYPASS) + if (info->state == FEEDEQ_DISABLE) return (FEEDER_FEED(f->source, c, b, count, source)); dst = b; @@ -482,9 +475,7 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) PCM_LOCK(d); PCM_WAIT(d); - if (d->flags & SD_F_EQ_BYPASSED) - val = 2; - else if (d->flags & SD_F_EQ_ENABLED) + if (d->flags & SD_F_EQ_ENABLED) val = 1; else val = 0; @@ -495,18 +486,15 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) err = sysctl_handle_int(oidp, &val, 0, req); if (err == 0 && req->newptr != NULL && val != oval) { - if (!(val == 0 || val == 1 || val == 2)) { + if (!(val == 0 || val == 1)) { PCM_RELEASE_QUICK(d); return (EINVAL); } PCM_LOCK(d); - d->flags &= ~(SD_F_EQ_ENABLED | SD_F_EQ_BYPASSED); - if (val == 2) { - val = FEEDEQ_BYPASS; - d->flags |= SD_F_EQ_BYPASSED; - } else if (val == 1) { + d->flags &= ~(SD_F_EQ_ENABLED); + if (val == 1) { val = FEEDEQ_ENABLE; d->flags |= SD_F_EQ_ENABLED; } else @@ -612,7 +600,7 @@ feeder_eq_initsys(device_t dev) SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "eq", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, d, sizeof(d), sysctl_dev_pcm_eq, "I", - "Bass/Treble Equalizer (0=disable, 1=enable, 2=bypass)"); + "Bass/Treble Equalizer (0=disable, 1=enable)"); (void)snprintf(buf, sizeof(buf), "Bass/Treble Equalizer Preamp " "(-/+ %d.0dB , %d.%ddB step)", diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index 7f89c1d14df1..06de95e461ec 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -104,7 +104,7 @@ struct snd_mixer; #define SD_F_VPC 0x00000080 /* volume-per-channel */ /* unused 0x00000100 */ #define SD_F_EQ_ENABLED 0x00000200 /* EQ enabled */ -#define SD_F_EQ_BYPASSED 0x00000400 /* EQ bypassed */ +/* unused 0x00000400 */ #define SD_F_EQ_PC 0x00000800 /* EQ per-channel */ #define SD_F_PVCHANS 0x00001000 /* Playback vchans enabled */ #define SD_F_RVCHANS 0x00002000 /* Recording vchans enabled */ @@ -120,7 +120,7 @@ struct snd_mixer; "\010VPC" \ /* "\011 */ \ "\012EQ_ENABLED" \ - "\013EQ_BYPASSED" \ + /* "\013 */ \ "\014EQ_PC" \ "\015PVCHANS" \ "\016RVCHANS" From nobody Wed Jun 3 08:23:16 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggm3ngRz6gJlG for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggm2fxxz3gF5 for ; Wed, 03 Jun 2026 08:23:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4oPbWmuFaegxO43II89f7fua6ZrLLx1o+jIJoz9Icw0=; b=I97bfAu2PGre89ZxwvFSLKrAJPcOGS6ipQBIFZEgEF9ZiueFDxzx8bHu0ZxAhcYfcDjyog uaPp5gX+GUKF+uVK0RKe7tvwQvbL0QnC2BtBJOlkW9/qVJxveMMOb0YDGYgZkt/dJsutiB oi87eYP+XTeRygS710ekPQpvWmwHHpuGk0b6J7EdzuwsH4Z0KV93cxAmjZOZlXk8+xTxI+ x1D7DmyExkxY+pxA1fJWdm4uhrTExzej2xwybPVck/cqsxEf1thSXqT+LnOpAnvsp6Cya9 YjR1pfgqbfxdMbSMDF5++BcubSDHZdLA1CklI5T8GMKptyrbUb261y7lRGz+3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474996; a=rsa-sha256; cv=none; b=T5veSKOCuUh7Qc9PVTHjI1k678U/mBx/X/MEYJmENC6MmmCQL2KGPxkn3Lr+ca6QXylLf7 ly0BK7ohEDGkAgMaPNqf0VBZqerASqhyp0VzhdVhIqllaIbbHEq10PCKOkL9WgmJ1kIelk E/ra4COx2xrNn+MlH7pHGHNCN+YQDYxzCdSZSd5TPiPtcUYBD5YxJiT8A/hNqF1HaQrl3U DNy6e8/jN6L8T0lVhzld2MYuLvTxlY1dnCnMeCdDz2aVokvZBzwo9kYUTWlDiXALI0p7Nc GsSszlqV78DqUEzm73Pdz4Qf2lWr/6nyZmCoe2pFnCrqI+bupjs2lcL3HtycCQ== 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=1780474996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4oPbWmuFaegxO43II89f7fua6ZrLLx1o+jIJoz9Icw0=; b=KIY8DoSZ/4WWwOYdg5vP9RBQDkNi/p1Ce7jWm2lfn9H+ky+heSWywumLwmCVqnL7ipIESz Sk3NMWUM21CkM2JyN6jBpE1SS5ZdRCg8z8NaPxmwemSRgCbrVIsjeXvWPCA5EpvuRIoD+1 1tFvKWFj1988WvCPKbBDV5J6EF8nV3/sMrNp1aGYmAuHaVg6VPuBXTQs3roOApb37xgN3O YIYLWg0KmvKbkW5AWt/jv7dPlRLfWZ+nt8zlI8NCPyLQmZKk5odiquhjykycHUDnlouu2G W36BiNBJhJubidgeObXqGgbKqcEpVfOiWLcCwtJY+NN6HjcGJL2YFGSeqQRTJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggm1lTbz13Hw for ; Wed, 03 Jun 2026 08:23:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39f43 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 52536db52fd3 - stable/15 - sound: Retire FEEDEQ_DISABLE List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 52536db52fd32dd8b0eb049a063e03d63a8537ce Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:16 +0000 Message-Id: <6a1fe474.39f43.39b3ed15@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=52536db52fd32dd8b0eb049a063e03d63a8537ce commit 52536db52fd32dd8b0eb049a063e03d63a8537ce Author: Christos Margiolis AuthorDate: 2026-04-17 15:14:46 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Retire FEEDEQ_DISABLE We can do this more efficiently by just using the SD_F_EQ* flags. In fact, the dev.pcm.%d.eq handler will (un)set SD_F_EQ_ENABLED and this is what we actually test with when choosing to creating the EQ feeder or not, so setting the state to FEEDEQ_DISABLE does not really an effect in the first place. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit f5d6e5cb5c3e0593d24c90671d72654aa59cdd1a) --- sys/dev/sound/pcm/channel.c | 12 ++++-------- sys/dev/sound/pcm/feeder.h | 1 - sys/dev/sound/pcm/feeder_eq.c | 5 ++--- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index be6d7f82f502..c97a3158dbd9 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -2177,7 +2177,7 @@ chn_syncstate(struct pcm_channel *c) if (c->feederflags & (1 << FEEDER_EQ)) { struct pcm_feeder *f; - int treble, bass, state; + int treble, bass; /* CHN_UNLOCK(c); */ treble = mix_get(m, SOUND_MIXER_TREBLE); @@ -2209,13 +2209,9 @@ chn_syncstate(struct pcm_channel *c) device_printf(c->dev, "EQ: Failed to set preamp -- %d\n", d->eqpreamp); - if (d->flags & SD_F_EQ_ENABLED) - state = FEEDEQ_ENABLE; - else - state = FEEDEQ_DISABLE; - if (FEEDER_SET(f, FEEDEQ_STATE, state) != 0) - device_printf(c->dev, - "EQ: Failed to set state -- %d\n", state); + if (d->flags & SD_F_EQ_ENABLED && + FEEDER_SET(f, FEEDEQ_STATE, FEEDEQ_ENABLE) != 0) + device_printf(c->dev, "EQ: Failed to enable\n"); } } } diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index 7d14022c6849..10bfe9dca8f3 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -120,7 +120,6 @@ enum { FEEDEQ_BASS, FEEDEQ_PREAMP, FEEDEQ_STATE, - FEEDEQ_DISABLE, FEEDEQ_ENABLE, FEEDEQ_UNKNOWN }; diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index fe47a9d7e434..6fd7d7f2bfff 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -321,7 +321,7 @@ feed_eq_set(struct pcm_feeder *f, int what, int value) info->preamp = FEEDEQ_PREAMP2IDX(value); break; case FEEDEQ_STATE: - if (!(value == FEEDEQ_ENABLE || value == FEEDEQ_DISABLE)) + if (value != FEEDEQ_ENABLE) return (EINVAL); info->state = value; feed_eq_reset(info); @@ -477,12 +477,11 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) PCM_LOCK(d); - d->flags &= ~(SD_F_EQ_ENABLED); if (val == 1) { val = FEEDEQ_ENABLE; d->flags |= SD_F_EQ_ENABLED; } else - val = FEEDEQ_DISABLE; + d->flags &= ~SD_F_EQ_ENABLED; CHN_FOREACH(c, d, channels.pcm.busy) { CHN_LOCK(c); From nobody Wed Jun 3 08:23:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggp3Y1Tz6gK09 for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggp1gR5z3gKf for ; Wed, 03 Jun 2026 08:23:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nqkwgqBLAlKwJPtIuaSG+5hrfyJbnoWYACelEAai2T0=; b=UlhywKSGXfBwn1hz2MtewxJ+UTdtBQdZUtzC2pjF7S9KNVgzJ+AGOyAsfaf07zYGIiJAa0 P0Su3+Ei9ZA9eS1n9pjGLHLhVzQjnOXR1+dpsINYkC6y8YWjPiTQXN183TRudj4Zz4jk/6 8anzN+x3H19q5W7IJ+Tm735Y9ArizCOvx7fzRViM7le5LSkFZYrmyBoB83Yi/LBJeZwZYb Pb2extca4nREDCOzXzbnypJ24bXXRsW5ySqfv19HZbE4FdcSy0XSXp6zBudx9luLzqUe04 +43Sdbtb1uNbkqL/g3DgVOJDFM0UaMC1Fq3SR15rYVTdxKVc/xBBlSUkk8hgjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474998; a=rsa-sha256; cv=none; b=UvCbSvoZ4D+WDtTqWf4RH0bQIRA4d3SNZ37i7PNYzDlBATP7GOyNI9OFdKa2awdDOhVnNs iX42fVqmdvjAcptz766KEPn3fVhFPK8SNevxlzG0Ku07sSw/eKPzeMneIjosILF8ek2y6J CrqC7Ez0V72na281uS9QzrQ/2WcFGnX0vEXXvPrYNSHvvTafqwa7nlEcBPK3cLEgp6LU7A mD7iEEtwSLa7ck1Vog8eow85cI2B4k26lLwWmqZdgongOFomxCTTNdsvzYkvcgjeOO82SI hd3lQ0IhAcxaVhlt7+zzUd1Kfsg2Y1XYRmJah8ngx3xQxFXZMVTBtyNvxGHchw== 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=1780474998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nqkwgqBLAlKwJPtIuaSG+5hrfyJbnoWYACelEAai2T0=; b=t4BBcpzcIv5D1smcFQxmmeFBmB2r7IcwanacR7efKaN80oDs7sc4xHHYlMVqdYp5ESWl0V IX6YVhVcV9j6H91hxyu6Q6kaQGqpBQ2eTj7WBHTDWeFjkP1mcizQ55wCm52fY0Mb3GxF4T X+qhQUEzmE9aAMLVA4ujNOfiQ9PuHnwNk4APeK6dsMgRQR0WbtGL6Wp1Nz1wUMB/yC9GeS LwYmiIKicyS4A5FLcj2eVZ1qXzvFzYdyVLYGTxK3rnA5oy/UYv+vkdi2AY7gj9UVzzAUro xqfqn2dsXl6AQX3ZLky6ONfGwy2ZeJi20AqWHcWtw1/VvlAXCSF2uYH2e6xKpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggp1F7Mz13Wq for ; Wed, 03 Jun 2026 08:23:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39164 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 91a6647a7d48 - stable/15 - sound: Expose EQ by default List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 91a6647a7d48fd8a3a13d3307ec78446481421c3 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:12 +0000 Message-Id: <6a1fe470.39164.18f43be6@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=91a6647a7d48fd8a3a13d3307ec78446481421c3 commit 91a6647a7d48fd8a3a13d3307ec78446481421c3 Author: Christos Margiolis AuthorDate: 2026-04-16 14:26:25 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:22 +0000 sound: Expose EQ by default The dev.pcm.%d.eq* sysctls and mixer "bass" and "treble" controls are exposed only if hint.pcm.%d.eq is set. However, there is no good reason why we shouldn't at least expose the controls, and let the user enable/disable/bypass equalization through the sysctl. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit a0011c74f8f026e04803b9815198a56f50c247e6) --- share/man/man4/pcm.4 | 9 --------- sys/dev/sound/pcm/feeder_chain.c | 2 +- sys/dev/sound/pcm/mixer.c | 17 +++-------------- sys/dev/sound/pcm/sound.c | 3 +-- sys/dev/sound/pcm/sound.h | 8 ++------ 5 files changed, 7 insertions(+), 32 deletions(-) diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4 index 8a92cefa3549..1efebffcc424 100644 --- a/share/man/man4/pcm.4 +++ b/share/man/man4/pcm.4 @@ -197,9 +197,6 @@ The Parametric Software Equalizer (EQ) enables the use of controls (bass and treble). Commonly used for ear-candy or frequency compensation due to the vast difference in hardware quality. -EQ is disabled by default, but can be enabled with the -.Va hint.pcm.%d.eq -tunable. .Ss VCHANs Each device can optionally support more playback and recording channels than physical hardware provides by using @@ -230,12 +227,6 @@ driver. The following tunables can not be changed during runtime using .Xr sysctl 8 . .Bl -tag -width indent -.It Va hint.pcm.%d.eq -Set to 1 or 0 to explicitly enable (1) or disable (0) the equalizer. -Requires a driver reload if changed. -Enabling this will make bass and treble controls appear in mixer applications. -This tunable is undefined by default. -Equalizing is disabled by default. .It Va hint.pcm.%d.vpc Set to 1 or 0 to explicitly enable (1) or disable (0) the VPC feature. This tunable is undefined by default. diff --git a/sys/dev/sound/pcm/feeder_chain.c b/sys/dev/sound/pcm/feeder_chain.c index 4fc846f77496..35bb12a062ec 100644 --- a/sys/dev/sound/pcm/feeder_chain.c +++ b/sys/dev/sound/pcm/feeder_chain.c @@ -725,7 +725,7 @@ feeder_chain(struct pcm_channel *c) /* Soft EQ only applicable for PLAY. */ if (cdesc.dummy == 0 && - c->direction == PCMDIR_PLAY && (d->flags & SD_F_EQ) && + c->direction == PCMDIR_PLAY && (d->flags & SD_F_EQ_ENABLED) && (((d->flags & SD_F_EQ_PC) && !(c->flags & CHN_F_HAS_VCHAN)) || (!(d->flags & SD_F_EQ_PC) && !(c->flags & CHN_F_VIRTUAL)))) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 6ed2d0c3ce5c..8015c8fc0c32 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -304,7 +304,7 @@ mixer_set(struct snd_mixer *m, u_int dev, u_int32_t muted, u_int lev) if (dev == SOUND_MIXER_PCM && (d->flags & SD_F_SOFTPCMVOL)) (void)mixer_set_softpcmvol(m, d, l, r); else if ((dev == SOUND_MIXER_TREBLE || - dev == SOUND_MIXER_BASS) && (d->flags & SD_F_EQ)) + dev == SOUND_MIXER_BASS) && (d->flags & SD_F_EQ_ENABLED)) (void)mixer_set_eq(m, d, dev, (l + r) >> 1); else if (realdev != SOUND_MIXER_NONE && MIXER_SET(m, realdev, l, r) < 0) { @@ -484,8 +484,7 @@ mix_setdevs(struct snd_mixer *m, u_int32_t v) d = device_get_softc(m->dev); if (d != NULL && (d->flags & SD_F_SOFTPCMVOL)) v |= SOUND_MASK_PCM; - if (d != NULL && (d->flags & SD_F_EQ)) - v |= SOUND_MASK_TREBLE | SOUND_MASK_BASS; + v |= SOUND_MASK_TREBLE | SOUND_MASK_BASS; for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) { if (m->parent[i] < SOUND_MIXER_NRDEVICES) v |= 1 << m->parent[i]; @@ -706,15 +705,6 @@ mixer_init(device_t dev, kobj_class_t cls, void *devinfo) name = device_get_name(dev); unit = device_get_unit(dev); - if (resource_int_value(name, unit, "eq", &val) == 0 && - val != 0) { - snddev->flags |= SD_F_EQ; - if ((val & SD_F_EQ_MASK) == val) - snddev->flags |= val; - else - snddev->flags |= SD_F_EQ_DEFAULT; - snddev->eqpreamp = 0; - } m = mixer_obj_create(dev, cls, devinfo, MIXER_TYPE_PRIMARY, NULL); if (m == NULL) @@ -762,8 +752,7 @@ mixer_init(device_t dev, kobj_class_t cls, void *devinfo) } if (snddev->flags & SD_F_SOFTPCMVOL) device_printf(dev, "Soft PCM mixer ENABLED\n"); - if (snddev->flags & SD_F_EQ) - device_printf(dev, "EQ Treble/Bass ENABLED\n"); + device_printf(dev, "EQ Treble/Bass ENABLED\n"); } return (0); diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index 9eb2dffeb908..d98952d7a984 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -415,8 +415,7 @@ pcm_register(device_t dev, char *str) "mode (1=mixer, 2=play, 4=rec. The values are OR'ed if more than " "one mode is supported)"); vchan_initsys(dev); - if (d->flags & SD_F_EQ) - feeder_eq_initsys(dev); + feeder_eq_initsys(dev); if (snd_unit_auto < 0) snd_unit_auto = (snd_unit < 0) ? 1 : 0; diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index 40deee32ea5b..7f89c1d14df1 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -102,17 +102,13 @@ struct snd_mixer; #define SD_F_REGISTERED 0x00000020 #define SD_F_BITPERFECT 0x00000040 #define SD_F_VPC 0x00000080 /* volume-per-channel */ -#define SD_F_EQ 0x00000100 /* EQ */ +/* unused 0x00000100 */ #define SD_F_EQ_ENABLED 0x00000200 /* EQ enabled */ #define SD_F_EQ_BYPASSED 0x00000400 /* EQ bypassed */ #define SD_F_EQ_PC 0x00000800 /* EQ per-channel */ #define SD_F_PVCHANS 0x00001000 /* Playback vchans enabled */ #define SD_F_RVCHANS 0x00002000 /* Recording vchans enabled */ -#define SD_F_EQ_DEFAULT (SD_F_EQ | SD_F_EQ_ENABLED) -#define SD_F_EQ_MASK (SD_F_EQ | SD_F_EQ_ENABLED | \ - SD_F_EQ_BYPASSED | SD_F_EQ_PC) - #define SD_F_BITS "\020" \ "\001SIMPLEX" \ /* "\002 */ \ @@ -122,7 +118,7 @@ struct snd_mixer; "\006REGISTERED" \ "\007BITPERFECT" \ "\010VPC" \ - "\011EQ" \ + /* "\011 */ \ "\012EQ_ENABLED" \ "\013EQ_BYPASSED" \ "\014EQ_PC" \ From nobody Wed Jun 3 08:23:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggy2J3mz6gJQC for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggy0xV9z3gF8 for ; Wed, 03 Jun 2026 08:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tUBq6ZB9H0IEu8MNmRsslHSwH60aRq31PVO6QXDZtuY=; b=mySUfoainnqS29WruteMSV8olAVyjr7kxbk/nwF/Bcl+uFEkRFl+wLKVIxIY+Mn7NAcsJT /l3hsM0y+qRZyevuNUhSZ/eLBfMowAiTrUTrPqlKhY6qKgPlBkCl26zl8vz6edExY77PZn n5cKHsnwVZUBf0o7MIrtxOiEqc1ruhq1u4znb+H5rKb7A9XiDbyphLa+tDxq90zrxUMqZs JR1Vm3/U/x0kRqD5dGZiPnZFrcxQTdtaGnGZ9lXDVgTqUaicosQZCq48KxHsdcFYsDANM4 oJGuiwAE+FXB1BL1sU/aEsmZraiofXA35vwhnuD1PIjJnasynemF94wCy96/CQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475006; a=rsa-sha256; cv=none; b=Rp4Y0pvW/2IHURIJuMpn1fxXH+6xgvPKUJDegNVrOxIQWyTGrYeqzgm9W+c/z+8B9H127C oaZjfrcWcH4L0o69NYx+HhYzaK+vK6glT1QyRCDj/l5FHdM2WYYrLIIcYZj0bv7RzYuf89 xyHX+DpDrSxftQg4oD1/u1fsx4/cD0vpeFvQ/k+cHXePv9w6lATstawN6SJfnYmMmZDbbU CoGyvFfu/qhGTnTK/Mo+B0xt+qOOQ6vvS9Y6G9AHMYaJS/Gy5Pk73fAv3JO3NLlpQmTSko MR+TZzOsSbfrNlOwGvNIZbXMOijVHIqn8CVv/5cHfm0rc6sDGzzE9kILWMy0dw== 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=1780475006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tUBq6ZB9H0IEu8MNmRsslHSwH60aRq31PVO6QXDZtuY=; b=MFaiulDwBrXEu2gAwq1liL//XSS48iCj9TEC9CvBgQFkhyAR3UzqtEb4UD4bEY+CTLLCVV LkD2Guve/w3FYIxnLGEiWTnoMxkQ41Cg9xXHtScn2vOKBcjvxggat/2jRFSKc8fiKkdHyA mXK1+wHDilgPFw2Z3aVeNMJde1m72cbA3EMOTAAKhSYceS7K8Gv2R/QzL8hPeb8R58MNxC TKAvPlB3jFnKb5vjw6y7EBvoiOXuL50FII9g6YAyljdGzx49WVGsnyTys4H6BWsh3NFosq WIhqOIieWezm5gqfTOJQneJ4ZPBMz7BqASITs4YnvCLcXYq6E9USV+AI9ABoTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggy0J7Vz13p2 for ; Wed, 03 Jun 2026 08:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38e76 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: de5502ed01c8 - stable/15 - sound: Remove unused "from" mixer_ioctl_cmd() argument List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: de5502ed01c805320841a25643c1dd8958306d88 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:26 +0000 Message-Id: <6a1fe47e.38e76.6adf6778@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=de5502ed01c805320841a25643c1dd8958306d88 commit de5502ed01c805320841a25643c1dd8958306d88 Author: Christos Margiolis AuthorDate: 2026-04-16 11:32:03 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:24 +0000 sound: Remove unused "from" mixer_ioctl_cmd() argument Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 22730c4b10ba391859a06966ea3e429aaf43cd09) --- sys/dev/sound/pcm/dsp.c | 9 +++------ sys/dev/sound/pcm/mixer.c | 4 ++-- sys/dev/sound/pcm/mixer.h | 5 +---- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index 82c960fc3b40..8a2ce2422bef 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -728,8 +728,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, if (d->mixer_dev != NULL) { PCM_ACQUIRE_QUICK(d); - ret = mixer_ioctl_cmd(d->mixer_dev, cmd, arg, -1, td, - MIXER_CMD_DIRECT); + ret = mixer_ioctl_cmd(d->mixer_dev, cmd, arg, -1, td); PCM_RELEASE_QUICK(d); } else ret = EBADF; @@ -1526,8 +1525,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, if (d->mixer_dev != NULL) { PCM_ACQUIRE_QUICK(d); - ret = mixer_ioctl_cmd(d->mixer_dev, xcmd, arg, -1, td, - MIXER_CMD_DIRECT); + ret = mixer_ioctl_cmd(d->mixer_dev, xcmd, arg, -1, td); PCM_RELEASE_QUICK(d); } else ret = ENOTSUP; @@ -1539,8 +1537,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, case SNDCTL_DSP_SET_RECSRC: if (d->mixer_dev != NULL) { PCM_ACQUIRE_QUICK(d); - ret = mixer_ioctl_cmd(d->mixer_dev, cmd, arg, -1, td, - MIXER_CMD_DIRECT); + ret = mixer_ioctl_cmd(d->mixer_dev, cmd, arg, -1, td); PCM_RELEASE_QUICK(d); } else ret = ENOTSUP; diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index d73361fe7e16..73d1b5870b83 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -1044,7 +1044,7 @@ mixer_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, PCM_GIANT_ENTER(d); PCM_ACQUIRE_QUICK(d); - ret = mixer_ioctl_cmd(i_dev, cmd, arg, mode, td, MIXER_CMD_CDEV); + ret = mixer_ioctl_cmd(i_dev, cmd, arg, mode, td); PCM_RELEASE_QUICK(d); PCM_GIANT_LEAVE(d); @@ -1067,7 +1067,7 @@ mixer_mixerinfo(struct snd_mixer *m, mixer_info *mi) */ int mixer_ioctl_cmd(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, - struct thread *td, int from) + struct thread *td) { struct snd_mixer *m; int ret = EINVAL, *arg_i = (int *)arg; diff --git a/sys/dev/sound/pcm/mixer.h b/sys/dev/sound/pcm/mixer.h index 3ce8a4f5adee..4ced76082e31 100644 --- a/sys/dev/sound/pcm/mixer.h +++ b/sys/dev/sound/pcm/mixer.h @@ -36,7 +36,7 @@ int mixer_delete(struct snd_mixer *m); int mixer_init(device_t dev, kobj_class_t cls, void *devinfo); int mixer_uninit(device_t dev); int mixer_reinit(device_t dev); -int mixer_ioctl_cmd(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, struct thread *td, int from); +int mixer_ioctl_cmd(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, struct thread *td); int mixer_oss_mixerinfo(struct cdev *i_dev, oss_mixerinfo *mi); int mixer_hwvol_init(device_t dev); @@ -63,9 +63,6 @@ u_int32_t mix_getparent(struct snd_mixer *m, u_int32_t dev); void *mix_getdevinfo(struct snd_mixer *m); struct mtx *mixer_get_lock(struct snd_mixer *m); -#define MIXER_CMD_DIRECT 0 /* send command within driver */ -#define MIXER_CMD_CDEV 1 /* send command from cdev/ioctl */ - #define MIXER_TYPE_PRIMARY 0 /* mixer_init() */ #define MIXER_TYPE_SECONDARY 1 /* mixer_create() */ From nobody Wed Jun 3 08:23:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggz2XDHz6gJQF for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggz1LJfz3gN8 for ; Wed, 03 Jun 2026 08:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ikJzfCFq2afm81wXjrpXMyBVsB7icJ2ejAbckngkYs=; b=gJucFLAaNekm6jSaJktTSuYCXDaR9NHs53dotpx/aEyrXBzFOSVKMITgXxAObydjkZc/ih V62T+i4nD7Kqt+AsvdKC9NRytTVCGU59hjsv8MmSoU/lmWpkI3H289WLLnaTxnpB2jsWd8 2RQYtP24227LzeO9LIV+/MWpXRhahJw8aRrqerEiGskyDfCgGbLzj3mbxCr523jsGLoMgn 0QpTZ3oJgXwM9rvHgKHqLvPnvDWO/2BTJhV/PjKQK0dGr8Z39Q0NdiFguAFkiDu7Ik7AwQ 2adLFRRDCZDwtTMN3/akU1IPtxPTDGk/IqxtrB3B7Ckj0BqA23AJ/G97cobKUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475007; a=rsa-sha256; cv=none; b=jfYVz8Y6yK7elu05NxtU1W6gN/Wq6dxInqNrJcxtO5KSVhdV2pTlzXnlJeky0mBhaFGqTF 97BsseoKI6WTEw0j0iSxPFy0ISnBSb2hYZzIQKkVGUMEUOfFCrf98CRjRzDo4YhifVwGA2 tmBKBKERurU4qX0yjc3AJFdtwZp9sNDiJE5lRshgUlyrWTtviuYebx19dXTV8THyRtkpIK RPKOcDvHtWMmzXY3FeR3vgWOEBezRVbZdF/iywWbW/+dV3+fT/ZwJoJvLFAfbOqYhmmR9e oDf2Hq2/zfFdVuCuFX3kEZ4jF6NR94XqxnYWMzkeTw4yNTa8u+1s3EHbMe6tsw== 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=1780475007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ikJzfCFq2afm81wXjrpXMyBVsB7icJ2ejAbckngkYs=; b=Wxjad35WladRsp98QdjAkXO9e15M5YwdL6ZzL76H4Whs05thGR0YP+3o6APrhj+V9vqbou DsvnwQn5mv5px60eCoNvWwZcd1aY8k+pz3N6Vz/43UuGHHT3td+GrG6Wrbec7biyg6RSS4 yR3hdVdnWCiA1ea2GsBrMlCDfwH7qgZq56ERPL2lE8fwd+Dj9LD7nVuW7inyFxzzv4seb8 0bpbVFHk1vdfuNNWE0+oj4E/1PE1M7BFsoD3UqROOY6CH4moy+ojXPC0zJYyWzZ96/djx+ SaTBJ2/rEXVQcdDYxaEIBjtGIXYCdDKwG/+e3tKHxCivfAsbqV9yANU/OO95Ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggz0xxqz13Km for ; Wed, 03 Jun 2026 08:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b73e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: d608731d556d - stable/15 - snd_uaudio: Do not use snd_mixer->lock as mixer_lock List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d608731d556df49572f347db6663d5a53609b6f1 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:27 +0000 Message-Id: <6a1fe47f.3b73e.60092e2@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=d608731d556df49572f347db6663d5a53609b6f1 commit d608731d556df49572f347db6663d5a53609b6f1 Author: Christos Margiolis AuthorDate: 2026-04-16 12:15:21 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:58 +0000 snd_uaudio: Do not use snd_mixer->lock as mixer_lock In similar fashion to c234740c9d34 ("snd_uaudio: Do not use pcm_channel->lock to protect uaudio_chan"), stop this layering violation, and introduce a snd_uaudio(4)-internal mixer_lock. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 9a00e0b8ca566b6942874eb08c03baf035a17702) (cherry picked from commit fc9dc848239652ec1e4135adb4833a5f002cef0f) --- sys/dev/sound/usb/uaudio.c | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index f477eb768fde..eedd52774b70 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -356,7 +356,7 @@ struct uaudio_hid { struct uaudio_softc_child { device_t pcm_device; - struct mtx *mixer_lock; + struct mtx mixer_lock; struct snd_mixer *mixer_dev; uint32_t mix_info; @@ -2955,12 +2955,9 @@ uaudio_mixer_sysctl_handler(SYSCTL_HANDLER_ARGS) sc = (struct uaudio_softc *)oidp->oid_arg1; hint = oidp->oid_arg2; - if (sc->sc_child[0].mixer_lock == NULL) - return (ENXIO); - /* lookup mixer node */ - mtx_lock(sc->sc_child[0].mixer_lock); + mtx_lock(&sc->sc_child[0].mixer_lock); for (pmc = sc->sc_mixer_root; pmc != NULL; pmc = pmc->next) { for (chan = 0; chan != (int)pmc->nchan; chan++) { if (pmc->wValue[chan] != -1 && @@ -2971,7 +2968,7 @@ uaudio_mixer_sysctl_handler(SYSCTL_HANDLER_ARGS) } } found: - mtx_unlock(sc->sc_child[0].mixer_lock); + mtx_unlock(&sc->sc_child[0].mixer_lock); error = sysctl_handle_int(oidp, &temp, 0, req); if (error != 0 || req->newptr == NULL) @@ -2979,7 +2976,7 @@ found: /* update mixer value */ - mtx_lock(sc->sc_child[0].mixer_lock); + mtx_lock(&sc->sc_child[0].mixer_lock); if (pmc != NULL && temp >= pmc->minval && temp <= pmc->maxval) { @@ -2989,7 +2986,7 @@ found: /* start the transfer, if not already started */ usbd_transfer_start(sc->sc_mixer_xfer[0]); } - mtx_unlock(sc->sc_child[0].mixer_lock); + mtx_unlock(&sc->sc_child[0].mixer_lock); return (0); } @@ -3220,10 +3217,7 @@ uaudio_mixer_reload_all(struct uaudio_softc *sc) struct uaudio_mixer_node *pmc; int chan; - if (sc->sc_child[0].mixer_lock == NULL) - return; - - mtx_lock(sc->sc_child[0].mixer_lock); + mtx_lock(&sc->sc_child[0].mixer_lock); for (pmc = sc->sc_mixer_root; pmc != NULL; pmc = pmc->next) { /* use reset defaults for non-oss controlled settings */ if (pmc->ctl == SOUND_MIXER_NRDEVICES) @@ -3235,7 +3229,7 @@ uaudio_mixer_reload_all(struct uaudio_softc *sc) /* start HID volume keys, if any */ usbd_transfer_start(sc->sc_hid.xfer[0]); - mtx_unlock(sc->sc_child[0].mixer_lock); + mtx_unlock(&sc->sc_child[0].mixer_lock); } static void @@ -5392,8 +5386,8 @@ uaudio_mixer_bsd2value(struct uaudio_mixer_node *mc, int val) } static void -uaudio_mixer_ctl_set(struct uaudio_softc *sc, struct uaudio_mixer_node *mc, - uint8_t chan, int val) +uaudio_mixer_ctl_set(struct uaudio_softc *sc, unsigned index, + struct uaudio_mixer_node *mc, uint8_t chan, int val) { val = uaudio_mixer_bsd2value(mc, val); @@ -5402,7 +5396,9 @@ uaudio_mixer_ctl_set(struct uaudio_softc *sc, struct uaudio_mixer_node *mc, /* start the transfer, if not already started */ + mtx_lock(&sc->sc_child[index].mixer_lock); usbd_transfer_start(sc->sc_mixer_xfer[0]); + mtx_unlock(&sc->sc_child[index].mixer_lock); } static void @@ -5439,13 +5435,13 @@ uaudio_mixer_init_sub(struct uaudio_softc *sc, struct snd_mixer *m) DPRINTF("child=%u\n", i); - sc->sc_child[i].mixer_lock = mixer_get_lock(m); + mtx_init(&sc->sc_child[i].mixer_lock, "uaudio mixer lock", NULL, MTX_DEF); sc->sc_child[i].mixer_dev = m; if (i == 0 && usbd_transfer_setup(sc->sc_udev, &sc->sc_mixer_iface_index, sc->sc_mixer_xfer, uaudio_mixer_config, 1, sc, - sc->sc_child[i].mixer_lock)) { + &sc->sc_child[i].mixer_lock)) { DPRINTFN(0, "could not allocate USB transfer for mixer!\n"); return (ENOMEM); } @@ -5470,7 +5466,7 @@ uaudio_mixer_uninit_sub(struct uaudio_softc *sc, struct snd_mixer *m) if (index == 0) usbd_transfer_unsetup(sc->sc_mixer_xfer, 1); - sc->sc_child[index].mixer_lock = NULL; + mtx_destroy(&sc->sc_child[index].mixer_lock); return (0); } @@ -5488,7 +5484,7 @@ uaudio_mixer_set(struct uaudio_softc *sc, struct snd_mixer *m, for (mc = sc->sc_mixer_root; mc != NULL; mc = mc->next) { if (mc->ctl == type) { for (chan = 0; chan < mc->nchan; chan++) { - uaudio_mixer_ctl_set(sc, mc, chan, + uaudio_mixer_ctl_set(sc, index, mc, chan, chan == 0 ? left : right); } } @@ -5529,7 +5525,7 @@ uaudio_mixer_setrecsrc(struct uaudio_softc *sc, struct snd_mixer *m, uint32_t sr for (i = mc->minval; (i > 0) && (i <= mc->maxval); i++) { if (temp != (1U << mc->slctrtype[i - 1])) continue; - uaudio_mixer_ctl_set(sc, mc, 0, i); + uaudio_mixer_ctl_set(sc, index, mc, 0, i); break; } } @@ -6186,9 +6182,6 @@ uaudio_hid_attach(struct uaudio_softc *sc, if (!(sc->sc_hid.flags & UAUDIO_HID_VALID)) return (-1); - if (sc->sc_child[0].mixer_lock == NULL) - return (-1); - /* Get HID descriptor */ error = usbd_req_get_hid_desc(uaa->device, NULL, &d_ptr, &d_len, M_TEMP, sc->sc_hid.iface_index); @@ -6247,7 +6240,7 @@ uaudio_hid_attach(struct uaudio_softc *sc, /* allocate USB transfers */ error = usbd_transfer_setup(uaa->device, &sc->sc_hid.iface_index, sc->sc_hid.xfer, uaudio_hid_config, UAUDIO_HID_N_TRANSFER, - sc, sc->sc_child[0].mixer_lock); + sc, &sc->sc_child[0].mixer_lock); if (error) { DPRINTF("error=%s\n", usbd_errstr(error)); return (-1); From nobody Wed Jun 3 08:23:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggp4Yxpz6gJwy for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggp3RWBz3gBt for ; Wed, 03 Jun 2026 08:23:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F8yQ/iUs2JO/1s/219ibFEJpys1AnUtO5yDzab4txy0=; b=vkpEZmsPxgkKsVnEv03jVYDj9+DtxiBmcRn3F5tIklqelsdK8fbFJ2dG7RO/kWr+WctMwK rbE+FMj6t9Z4W3qWKdKq7uYtWJQwE+825G7ssIpzRIT20n8uR6yEOayNwh99o7N498FTEw +hydoRBpm2OLOoTf3p+nhq5HRa4TVHOdJPfbpI4ien/TXuXKYFFV6d9xUSdekF+i9fmZju K6DqQxUFIzh0Dmto1gGwQvpLLIjsZd5q6fxUMarNpFAJwwHTZsG9a0e9NEH9/uBdSJi2PC jDf5SfpXZIxhORG2RkvkrYJJ2CsGNOj+oWRkIVZPTR1/g/0uK0K4Qcp1Sn23sQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474998; a=rsa-sha256; cv=none; b=o8FVJLCU57HkakcNciZ1ZZhJMu3/B2dvIG/aBFB3T3Qu4SeKtxYaYBwu6iUCcuX4SI52Rn A9cxBWnl2flu/m/jzx7pKY2IY6x/1eubeaI0SAU4NSTWmawNhwhrOGj+4WFmRUDvJPFdb0 OnXQbSsYle/+ZeJSm4AjKTnBUJ4zS7FhiCdIvUhqRvd1Qkni6Nm772BxnDiT0sYoFIfdcF Z7oTnIFm3xB5Twc8ijLvjnpSeiZs6dCSfXQMZF5z4TiLv51L41UHEVR8ktN0UFf0ncYryW 2q5JJjLpVh4ydXCxDRDsZrHbRHlHjLSQoG6eVKkf6lm6PocoSMjrd91RNY4mtQ== 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=1780474998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F8yQ/iUs2JO/1s/219ibFEJpys1AnUtO5yDzab4txy0=; b=dB0CmiU7J6SPtQ4XYvL2A0ys6PwVxnpiEaZ05Cfxf6vIM96eFNUSmKeks4u1DtMZxsGIMM nZLu3e8b2JLpWLKj8MzexKgJSCd6nJV9W1BiFFWVoj5Birl4j2t0+/kPCjWDxZnLlZA9j4 WIw7CLIzwuMvLRztlfsCs7ImGBEf+nakbirs/II838WxowY+wnDHQ/fjtI4ibtNf2OUlE+ E4HTYbtW9NHzCj98gcXE54U04BsraySK7/oAGrKADQCPZdN0gvwSed5MCmaBY1E6fjGwzY fnDJsdypntaiVZGAozcUipuGAWR+xuo0AoG5G2zis5Xv75vgwgD25CrsWOIfaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggp2xVYz13Wr for ; Wed, 03 Jun 2026 08:23:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3af18 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: ea09d6148255 - stable/15 - sound: Retire hint.pcm.%d.eq_preamp List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ea09d61482550266b064a9cb35b790014dfcc949 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:18 +0000 Message-Id: <6a1fe476.3af18.5fa32403@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ea09d61482550266b064a9cb35b790014dfcc949 commit ea09d61482550266b064a9cb35b790014dfcc949 Author: Christos Margiolis AuthorDate: 2026-04-17 16:14:44 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Retire hint.pcm.%d.eq_preamp It wasn't documented in the first place, but it is easier to just use the sysctl. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 3a3cb16ad4181700d787e6b24bedafe85c791901) --- sys/dev/sound/pcm/feeder_eq.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index fdb786171d5a..9179148d2bd2 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -542,17 +542,11 @@ void feeder_eq_initsys(device_t dev) { struct snddev_info *d; - const char *preamp; char buf[64]; d = device_get_softc(dev); - if (!(resource_string_value(device_get_name(dev), device_get_unit(dev), - "eq_preamp", &preamp) == 0 && - (d->eqpreamp = feed_eq_scan_preamp_arg(preamp)) != - FEEDEQ_PREAMP_INVALID)) - d->eqpreamp = FEEDEQ_PREAMP_DEFAULT; - + d->eqpreamp = FEEDEQ_PREAMP_DEFAULT; if (d->eqpreamp < FEEDEQ_PREAMP_MIN) d->eqpreamp = FEEDEQ_PREAMP_MIN; else if (d->eqpreamp > FEEDEQ_PREAMP_MAX) From nobody Wed Jun 3 08:23:28 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh03VSkz6gJfw for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh02QLZz3gHL for ; Wed, 03 Jun 2026 08:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3dFreNaEIACWtLjJx4uJoLu31kaAYxcuqd3n9Ws8K98=; b=Ue6LeOI5WBe3F0tXr394IfCmwTIJNqNCkr+QZ1SG3RU5iwoTEyt3tKTFVgYQKs30hLMEVq kAoYrWSA/5YHGY7Y4kHScc0X6XfojMMFIFamFKnrb2Xz9PROepI12vmBxwd9KZOdsEds98 /HTlmyaqnovs8f9PuCC8B9iAxunjH2irpm0jH9apKmkOv5clldapDktkHI6smQeFNuYJn1 lKNj9/ZI2HUju7vTyJTQOOxSFctfeT2rkWIFkR+XfW8JMNSO1an/ntew57MA+wB8TGfO9T GPmR673th3VjmwmeF5q28ecjBRt9D/6F2y/1R3efKlLmVdQSzhee+VPc7Mhg/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475008; a=rsa-sha256; cv=none; b=BU5V5z1VG2ivvajfg8SwWqQ8oCl0p64LmzAg6Lvx76J3QVJyHwOKDKBscQT5LN3Sge+xds Sjh4gW3zZRdCFwbZY6Af0tI13UFo88Zja7bESYK2gpctJD+C5P2+cfx+ySzjbEVmO8eilP X/LfOXW4QtCIAYzggKnSBmnfVHoHWSTmMOvA7Qm/IVuOgCI9TdncXD1yBbyGUyUHF8GXr2 4MhUNXpfU3ChHALEJvfnuax6ubf2EIgH7b3AUJA+r5OfvIQy3kUbq1ij6IK/VZD07LzXgy zCQkBVoo1wqPqF+4XCUfGf9fCUm3wH/e/K7gALT3pDIrRsTKYkNVYWH6UicP/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=1780475008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3dFreNaEIACWtLjJx4uJoLu31kaAYxcuqd3n9Ws8K98=; b=sMX6Ihphdkvx8OZ9xHgK1h2W+J2RV9WoMd7ttPWjqkXL9ZEHsNwMCLgQp5hPf/NqWDRR6z +Cgl9B2cILRUS/DvQD21CaXyEyvQqFBq3MyJO5fooEaZVel6Lo10aZWnbqM3Q8gK+Q/mGp ly28Y4620bvzR5HF3YVfsxZ+16TJ2J8m0OmQSNh2NYywFUu3OGu2OxOCUaJ2mAo0ALE8H2 7yRt7FZMV4wBbmrnggGomKsz6q+5TddKL3e6lqDeVB1D9S4zUnTDsvhvJcplgkfE9xl7YZ lR5ls3QHyCge7WqmM8+TfKH9YPCYUvLpiGAogIb4VBZ12fdmgSRzw37drhw1QA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh01McZz13rb for ; Wed, 03 Jun 2026 08:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bc76 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: d80356b7525b - stable/15 - snd_uaudio: Stop using mixer_get_lock() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d80356b7525b2d07fc192635489c74480a683e3c Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:28 +0000 Message-Id: <6a1fe480.3bc76.15365c60@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=d80356b7525b2d07fc192635489c74480a683e3c commit d80356b7525b2d07fc192635489c74480a683e3c Author: Christos Margiolis AuthorDate: 2026-04-16 12:30:25 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 snd_uaudio: Stop using mixer_get_lock() There is no reason to lock snd_mixer->lock here, since the only thing we are doing with snd_mixer is to call mix_getdevinfo() and mix_get_dev(), which are one-line getters, which are needed to eventually call uaudio_get_child_index_by_dev(). Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit e87654db5a0923856afbaace9bd0975331782044) --- sys/dev/sound/usb/uaudio_pcm.c | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/sys/dev/sound/usb/uaudio_pcm.c b/sys/dev/sound/usb/uaudio_pcm.c index c24c111f983c..4b1762cfc3ec 100644 --- a/sys/dev/sound/usb/uaudio_pcm.c +++ b/sys/dev/sound/usb/uaudio_pcm.c @@ -134,39 +134,18 @@ ua_mixer_init(struct snd_mixer *m) static int ua_mixer_set(struct snd_mixer *m, unsigned type, unsigned left, unsigned right) { - struct mtx *mtx = mixer_get_lock(m); - uint8_t do_unlock; - - if (mtx_owned(mtx)) { - do_unlock = 0; - } else { - do_unlock = 1; - mtx_lock(mtx); - } uaudio_mixer_set(mix_getdevinfo(m), m, type, left, right); - if (do_unlock) { - mtx_unlock(mtx); - } + return (left | (right << 8)); } static uint32_t ua_mixer_setrecsrc(struct snd_mixer *m, uint32_t src) { - struct mtx *mtx = mixer_get_lock(m); int retval; - uint8_t do_unlock; - if (mtx_owned(mtx)) { - do_unlock = 0; - } else { - do_unlock = 1; - mtx_lock(mtx); - } retval = uaudio_mixer_setrecsrc(mix_getdevinfo(m), m, src); - if (do_unlock) { - mtx_unlock(mtx); - } + return (retval); } From nobody Wed Jun 3 08:23:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggx1MkWz6gJWp for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggw71Jxz3gSb for ; Wed, 03 Jun 2026 08:23:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOulIY1wTGE7cauKeiJmTUHFgWCxEB5T0JHLkws09lg=; b=KyzErcK/J0LDtbiDqMKJHnmUquJKyhzgPuOKZXS/m01sZXxfKTc9LFjDGLZF8ipG1nGw9y uW8xBp8nT6T5pHLbN9qHFmNYRv4ScYX/3ps2sjr6ezo+GQEGduyoA+71DzhE/iYMX2APhc t0rCtFhb4p+QAo1mRXcTR2Sn9oW4y4Ki8XAem0blmBhyYIReXvaJaoFRLPCtOOJaK085J/ A+CpZipiEat52g0R4GV+vKFFnAnPCpka2V4pfbA49tTMSP+KxQb2SfJdQW/d7Y7JDk6Dn/ QsS/Br2wuaqjufc/1SueuJ8+8MgYWEP/xv0z6oBhgnwQRokhSa+roqzZq7plYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475005; a=rsa-sha256; cv=none; b=P8ezEvk2B1+brg12/MKIpZV8fTPmyAN75rUJkB5106EiroRK2fbos6gHiwdAPNk63SXSH3 4XeNtVlj56Z0pOcKmHdPYKmP/WlcPjdH1an9n/Q5SgJfevuMeiHvUGBTkACPeF+oj6yBhL Xds0FjgumheEIe+LijlQ3cnQF+9mxQHYKe2cjLERQWUKKP4voRUImBXPlZGQLN4KJvilWD zR1PSstNNGJI+N93AvaPXQy/bVR8Qq3yba5NpYYm1wXqWNbNvvYh+hbXIwVKtOnHVTq8tl hxo6B0mguO1utNUHhBD7StLgLZmFmot8mD/fwjwQd+6JRSjewzub4kPFk0mieQ== 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=1780475005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOulIY1wTGE7cauKeiJmTUHFgWCxEB5T0JHLkws09lg=; b=bkpijSAR2CsahnGz9TiS9VWjszrQO26ip1gYQ9q4O0rwfLqaIdkD5fCAsOP87bC8odEYTt r/yL+aZQ8ciShXPvoBMiXFNMae0yJg57TOo/Mwx8ZgkiUhAeoON3szNXiy3r2K8maSRYmU OzkkW1d3KXycEvpdE49SBpXSyNLf4rRJVHof3H9+F6fCQdB2C5Mw0durBTmlcvctrUsAhX FJeH2TGNZooVaKYMbmfR4ftrFrZD/H6jXBikw96m+s3MHXUzxOirsCeY/Iv9fxFPZqmQcb H3V76n6Lj3QbqLFrmjl8FJ/5nrtVDfDPnSX/qQca34rrKuQoZREdup5N4D5ABw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggw6YPvz13p1 for ; Wed, 03 Jun 2026 08:23:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38ffa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: f94bb91ac69c - stable/15 - sound: Retire unused hw.snd.vpc_mixer_bypass List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f94bb91ac69cdca93535349f3739d1ac76cd863d Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:24 +0000 Message-Id: <6a1fe47c.38ffa.5c07d912@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=f94bb91ac69cdca93535349f3739d1ac76cd863d commit f94bb91ac69cdca93535349f3739d1ac76cd863d Author: Christos Margiolis AuthorDate: 2026-04-16 11:25:20 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:24 +0000 sound: Retire unused hw.snd.vpc_mixer_bypass Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 8e804f3dd6298d6aa8cbaf0f2a0267c6207ac8f7) --- share/man/man4/pcm.4 | 9 --------- sys/dev/sound/pcm/mixer.c | 5 ----- 2 files changed, 14 deletions(-) diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4 index f576209c3e1f..14d7e52eed5d 100644 --- a/share/man/man4/pcm.4 +++ b/share/man/man4/pcm.4 @@ -407,15 +407,6 @@ When a channel is closed the channel volume will be reset to 0db. This means that any changes to the volume will be lost. Enabling this will preserve the volume, at the cost of possible confusion when applications tries to re-open the same device. -.It Va hw.snd.vpc_mixer_bypass -The recommended way to use the VPC feature is to teach applications to use the -correct -.Fn ioctl : -.Dv SNDCTL_DSP_GETPLAYVOL , SNDCTL_DSP_SETPLAYVOL , -.Dv SNDCTL_DSP_SETRECVOL , SNDCTL_DSP_SETRECVOL . -This is however not always possible. -Enable this to allow applications to use their own existing mixer logic -to control their own channel volume. .It Va hw.snd.vpc_reset Enable to restore all channel volumes back to the default value of 0db. .It Va dev.pcm.%d.bitperfect diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index be4447b13964..d73361fe7e16 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -37,11 +37,6 @@ #include "feeder_if.h" #include "mixer_if.h" -static int mixer_bypass = 1; -SYSCTL_INT(_hw_snd, OID_AUTO, vpc_mixer_bypass, CTLFLAG_RWTUN, - &mixer_bypass, 0, - "control channel pcm/rec volume, bypassing real mixer device"); - #define MIXER_NAMELEN 16 struct snd_mixer { KOBJ_FIELDS; From nobody Wed Jun 3 08:23:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggt2y0xz6gK0C for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggs5692z3gF6 for ; Wed, 03 Jun 2026 08:23:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1vlCdGntXT4OYORQqCPlws9CqvCKx0Mn+PEcD0REnZg=; b=jnUA0y3kR+ptBe24pxXfgTWdROYLkDHqNr3WY8NTelLa3WT4fWqWxb7h7PALw6r3lwDL5M vm6yqbV0FjclVFHpaqjNd6ewDmF9EGjlbcrbP3RxEb/JgJLYEYlxRdSftr5lyvkkay82T/ T06uk3DBR/9PEI9qovRsaCdRowOszfWeDlExBBW/v48jaTMTArK4s3NVFgQTk9UbnWnSOk 9XYeFP2DkIS7HcV0XM8dqT+X0VfFefbbKWeBlzxuOywUuD3YMqS5/k5JlE7qtfKbTo2A30 sg3ua763qCoLdoZIVgIHGd52lIs0nf/SUaAt0vKbHo90SD5u9JRztRsWBVD7sw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475001; a=rsa-sha256; cv=none; b=Y/eiVJgGtx/IPCde3z0ch2gRwpw4u7DFe7oqpDHZAw+LD7St97EqpgiA/UDUQnaaQnlk7w NVgYoAvLw51yudxlUOcBEGLt+yp8OUvgCIOhKBsSo2plXM8zgXXZggkJrTGQyiAiZqiQkw +ggBCUzXY/ZLmQzmsaJ9rNqQnCsELhAQHASHDiJ4pT6n4LcXXJ3mXBNXL99WGVxyd7kgXp K20o9xX+UtbgB/Gb1nPirExHXkIQ0m+lH1I7GlCU5ejlIXBwYB5A2oG8Vp3zy9F/mjgGXl R20P8vK+steEfpZtZumBhKjkKR3CGm4SNURhEAk5+AP+XodqMUfEBaLOduRBrw== 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=1780475001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1vlCdGntXT4OYORQqCPlws9CqvCKx0Mn+PEcD0REnZg=; b=o1FI2eh5K9ld5mhTTs+b4CQQ5s2BMsw9cejRNvNrHUdQ8KFmtfzZGYD+WzZxmBXkxyrKEO vDvhYBX+XNKijgr9wUWusMvZLwAlDZnn81KDAx/oG16D2gkbM1jjazGbk70bUdVvxvxDbm BIkl1NvYhmnspMMlzsxlwG+oMg9d0GVNy9KvaF90QevN9ORSJ5OIClWi0Y8V30v2p+8Itc ByOvr70QLzIbDxhpDzSyU07DqBTLH6bKqDgJNitLDVeToBJ1IG+jyGAVbhjx2OfOygshy2 cIScY2KT8q1X89AyFEcHvyVKzRJWCHOBHuvt6+NN5L0czBy/YnfVoANlogxP6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggs4gb6z13ZM for ; Wed, 03 Jun 2026 08:23:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b73a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 755a785affcf - stable/15 - sound: Update feeder_eq.c LICENSE header List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 755a785affcf60a2a1cd5b860a55693cd28d0ceb Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:21 +0000 Message-Id: <6a1fe479.3b73a.20337e9f@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=755a785affcf60a2a1cd5b860a55693cd28d0ceb commit 755a785affcf60a2a1cd5b860a55693cd28d0ceb Author: Christos Margiolis AuthorDate: 2026-04-17 16:54:03 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Update feeder_eq.c LICENSE header Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit dfa52e8ed5b5c00f0a587f02258c90e407e5bf6b) --- sys/dev/sound/pcm/feeder_eq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 9179148d2bd2..0a28dfa1ba17 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -3,7 +3,7 @@ * * Copyright (c) 2008-2009 Ariff Abdullah * All rights reserved. - * Copyright (c) 2024-2025 The FreeBSD Foundation + * Copyright (c) 2024-2026 The FreeBSD Foundation * * Portions of this software were developed by Christos Margiolis * under sponsorship from the FreeBSD Foundation. From nobody Wed Jun 3 08:23:19 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggq58LPz6gJx0 for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggq3kYSz3fyJ for ; Wed, 03 Jun 2026 08:23:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474999; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lY4zRB99TEDUQVsjL1dZabG920gu3rLaUrjTdgWJGo8=; b=exm49Bg1CztaTtp8XNKNx6/+F7XexG+jo5e3fYfpj+BcFTiK9P/L1G1pkkFgK5KlCLboDG VLbh53/08STQs3ss+P20aB0Y7fJXab6r1J/FmIdmB0UboFMOXOBLaasAkjdvXkJuUuWCaq 4mfeZHSC14RrvkLIeYbDSuiCSGcEaQLPpcECcenSpWceF1tKhZMUUja5BMZmd5h76t3OES fHwSXOkPz3zJWIy4Nrdp8/Opz0lUvRlmy4H21NPIXS9qePP1SEMHQXaywv89qgyiZkRoig eh2qV8UwUleBlZuK2vOGDjaNQmR6wa/XHKn0NQJ+yhHRS+ycBdT83JsX7XZ64g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474999; a=rsa-sha256; cv=none; b=t8tYrfKfBLzw0r8CS1n0J+qnPYfgN7yerXMhDDDJbeLkJ/L50IcmUCnl11frP2nJpfBxsy Q4fo7LlhROAdKzQcCHMS4VyVi/IqiBT1owzuun0hkATR7pYfG41l/FBIZ5Cx5UYLSlxuKr w1ivSsCAOqJGTrx+6TRVwmXNa+LJG6JSST36ejsD1OOv+Bul1IxS/JicSbI8AtwOY2EvOp 7A9+AFl1stFg5EmzfZkaunmIp5O5RBc5T5zgXhN28Ry0ECaQcy8Ta7KS2mATDo/Jb7hwuG eeJseFWfT/ecIpyz7S/Ru7Fhkc2cj78DBLGW1FPQ47OALW9UPDDr1+YYeIO08g== 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=1780474999; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lY4zRB99TEDUQVsjL1dZabG920gu3rLaUrjTdgWJGo8=; b=fh5CyynN7hl+C1ld0LIyrZshggeeKS96SJmLAcqenZ1upjrgqq4OBajp5pwXaXK2ZhyaZX IEpT3GnkZWX8GUINS96D5l3Ym8frmc+OK5x9u2yWJhcFHbvVMPqSIqub4XCWKkRDHyIsTY gRZOtA+AE+aaxQjac8dhnOE/psQo5GST+4+N9iIVxJJNJjsDzwtOHsZ8fJdILRYKDgH6lC Y5khiFJOkn8jnJCsVqrm7Y1Fiqq4Y3tJt1LZCKhyzbO8I0n5A5Qw7PtgInUEUQ8gDlg2rb C58xRQVls/ZKkUHnKpaE0rxqLzXllrvOCAi50uYOrMjppIN5pncpvLl+J/6O5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggq3L0cz13lV for ; Wed, 03 Jun 2026 08:23:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b044 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 9060512d2be6 - stable/15 - pcm.4: Document dev.pcm.%d.eq* List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9060512d2be6e84dbdb6e2fd06cef7e67cb7b774 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:19 +0000 Message-Id: <6a1fe477.3b044.47709096@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=9060512d2be6e84dbdb6e2fd06cef7e67cb7b774 commit 9060512d2be6e84dbdb6e2fd06cef7e67cb7b774 Author: Christos Margiolis AuthorDate: 2026-04-17 15:47:44 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 pcm.4: Document dev.pcm.%d.eq* Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 98a62ccab6ac30d13c2dbcdc7468af8f87df4ec9) --- share/man/man4/pcm.4 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4 index 1efebffcc424..f576209c3e1f 100644 --- a/share/man/man4/pcm.4 +++ b/share/man/man4/pcm.4 @@ -430,6 +430,17 @@ the definitive format/rate target. The recommended way to use bitperfect mode is to disable VCHANs and enable this sysctl. Default is disabled. +.It Va dev.pcm.%d.eq +Set to 1 or 0 to enable (1) or disable (0) the equalizer. +Default is disabled. +When enabled, the mixer bass and treble controls can be used, as well as the +.Va dev.pcm.%d.eq_preamp +tunable. +.It Va dev.pcm.%d.eq_preamp +Equalizer preamp (in dB). +.Va dev.pcm.%d.eq +has to be enabled, in order for this tunable to take effect. +Read the tunable's description to see the available range of values. .It Va dev.pcm.%d.[play|rec].vchans Enable (1) or disable (0) VCHANs. Default is enabled. From nobody Wed Jun 3 08:23:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggv1d0sz6gJlR for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggt5Vdgz3gHK for ; Wed, 03 Jun 2026 08:23:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BFUP2vZIxL3BdAY93Et+7o67C0rS46/lPVuGYR2WbEM=; b=SJyLUNKZlofb5O2dXZRCxueX9anF4QEXcsyq4pkqWlUWQK2FC9CvM/CcT+xujB6L/B/4WN vqled35n++ZgRpOMs9oivtS+yqcCvHnpSjztla2W0AQVdusUC/qXNQwiyX/MMTI17HaZc6 b1+1ZUczxf/M5kbVdvfpQJshrszM6LVf9fNrByI49cCEqmIduHLMQqQL2078Xw6k7pp7oS mYvKMnZ5/o9B0i/1YaQ6k3+6mGjVBo86x/1+Mj8/md7VaKEDDOK2FBQtCL1aZqAgZH950Y wu0OzwAyfoPVgKL9XVoCv3M+4Ay366viZKZuo/dW7ajJ73fuLAqcZcBNxt3QoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475002; a=rsa-sha256; cv=none; b=HqbPRBNf8ANgoxqa0oWYg/g96o0YOR1dMTgRMPk83OIdHYNXWLBjvueb7mhzl3lw81wA/T 0O5iR3/l3asv0K/8jRNxgJHaOJtFzYI92NGVNhr9UPMGj91xSRk+4RvepOvo7hH/H+z4Oy RZGbqevia6y4mF11sn9lGJsUJzjFR/Qj8PUJDxO5UsrjBCHkUR8nSzp6gdzoEZSkfziS56 Qq+RA3u5qj3CwYfCeHQWGRqw4pQPgBygX/87veadTOZas1Z74Ez1XCi6L0aNgY8ulDN1fx SvozSyEpruS9MzgwgVhuvpLlQv6W6/eiVG2JX8iQ/DkUIki1A/rlndke8vV85Q== 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=1780475002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BFUP2vZIxL3BdAY93Et+7o67C0rS46/lPVuGYR2WbEM=; b=linuBr9tKAY6aYnTZCtzdX7ZP2o0qoJe8M9yCmKWz4RqmQyTRPaJnHPVzXgvGg2YSNy9QC RRLTvMahbi8Dmdt/0ho/66YFXado6U9J6X75l6cnjL5UBhW+jV9wBazH0KN8g9Rgv6Cu7o imUrgS4gqjcItErx17G9hmrvZgj5XLR9vKEsOk5tX4y/8MIVO0aRvXtx2mcs9LgDjHcXsR RGpbWdPXW8IB2Ov3wC4FNI+jXG143OBVj3grYjoXUQ98A4tPVo17c9eSRK/fzlMUIDPMpM 8/GvSAASVIufDNga+OEMr42LHo7d1RqFYfWsJEVmis8RwHKMcNIyjRiaMmc87Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggt52F4z13J1 for ; Wed, 03 Jun 2026 08:23:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b048 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 3c49470b551a - stable/15 - sound: Retire M_MIXER List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 3c49470b551ad5302f731f4efcca97a0df1aeec4 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:22 +0000 Message-Id: <6a1fe47a.3b048.117bd23f@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=3c49470b551ad5302f731f4efcca97a0df1aeec4 commit 3c49470b551ad5302f731f4efcca97a0df1aeec4 Author: Christos Margiolis AuthorDate: 2026-04-15 23:39:23 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Retire M_MIXER Even though harmless, it is not really useful, as there is essentially only one allocation with M_MIXER. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit e8ea97602ca97166a0729fdc32c84c9016fe7b0c) --- sys/dev/sound/pcm/mixer.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 8015c8fc0c32..7ccb57c205ba 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -37,8 +37,6 @@ #include "feeder_if.h" #include "mixer_if.h" -static MALLOC_DEFINE(M_MIXER, "mixer", "mixer"); - static int mixer_bypass = 1; SYSCTL_INT(_hw_snd, OID_AUTO, vpc_mixer_bypass, CTLFLAG_RWTUN, &mixer_bypass, 0, @@ -638,7 +636,7 @@ mixer_obj_create(device_t dev, kobj_class_t cls, void *devinfo, KASSERT(type == MIXER_TYPE_PRIMARY || type == MIXER_TYPE_SECONDARY, ("invalid mixer type=%d", type)); - m = (struct snd_mixer *)kobj_create(cls, M_MIXER, M_WAITOK | M_ZERO); + m = (struct snd_mixer *)kobj_create(cls, M_DEVBUF, M_WAITOK | M_ZERO); snprintf(m->name, sizeof(m->name), "%s:mixer", device_get_nameunit(dev)); if (desc != NULL) { @@ -659,7 +657,7 @@ mixer_obj_create(device_t dev, kobj_class_t cls, void *devinfo, if (MIXER_INIT(m)) { mtx_lock(&m->lock); mtx_destroy(&m->lock); - kobj_delete((kobj_t)m, M_MIXER); + kobj_delete((kobj_t)m, M_DEVBUF); return (NULL); } @@ -678,7 +676,7 @@ mixer_delete(struct snd_mixer *m) MIXER_UNINIT(m); mtx_destroy(&m->lock); - kobj_delete((kobj_t)m, M_MIXER); + kobj_delete((kobj_t)m, M_DEVBUF); return (0); } @@ -793,7 +791,7 @@ mixer_uninit(device_t dev) MIXER_UNINIT(m); mtx_destroy(&m->lock); - kobj_delete((kobj_t)m, M_MIXER); + kobj_delete((kobj_t)m, M_DEVBUF); d->mixer_dev = NULL; From nobody Wed Jun 3 08:23:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggw2hQWz6gJWn for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggv6GHnz3gQT for ; Wed, 03 Jun 2026 08:23:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fpouWDIVprvXf+XplxbIfl3ZVukTD58RZSk+eyQUu14=; b=IGi0fwnqgcklfX8zmTGrfu0KxHEC3hK6VJyEOaHCjLf04tjd4HFY6YWnxBQrC1sYXCeRL7 cxBIgi/Cp39OlzsFyP99blTR3ylZTgRpvtiOaPKfOtJolHUIG97J8B7Xbog1cShQ3J/MH5 pD/GKHINk8aIwYegRar9WIawyNyuDYHqZbxRBypCjaXjF3NSs0LxWpJoYO9562lVYKrWPc jdAYAPgGFjWfqZxoR805hynGJYmAHF3GdwXj7MaoXbqdVu+uXQxk0J0hvDu1n6VRqSL5FQ VQCgqBx9sjPgsvidViPzZO5xq0ZuP2wxrAC8KdJEcyAvcn3jqsQpINEqk5qbMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475003; a=rsa-sha256; cv=none; b=DAhUAVyEtCqNJZwN9Zls8lGzP3rHwPQCxS+mLewno8Cf/y9ORpIsCfYjJkZagWZ6Idvi/r SIT9soM9V481hKOv+s71Oh4qOYEuGjca2vgqMpZEIvVYRVHEv5SYdavcRS0VM2WGXl4xPu 17Pxr/DN3nRANjqSa45Kr/L+RWlIkE6uYAN+zSMEa3sH4ELUb+mFYGmjRPDeLT1fr177up 3LE+TgSNFWBHAArIKGm4e5buWe3z6j//UJIRJz8KlyQblDuP0Cawq3cMa6C3GarAnob6mc gzAYc/iZkF12R7OmViCJr+T3+t2rUhGKi6xu08B/zv3v+k2u4mZKTwv4kRMY/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=1780475003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fpouWDIVprvXf+XplxbIfl3ZVukTD58RZSk+eyQUu14=; b=XXP0F+cjs1h2VP+TQFdPee4SsHAHB7CoMnGvX8Bc7U5X5WiRDBTkahTRxTqYCOxnqCkcCT Gxe3RnIsDwuAaxBFPSihYQU96IJ2dOzlql+PmuywIdcJTPnOsrS7CxMkfQA2OifgvRG0sb ouzYD2GsGStCKxbAASvig6SWhOdEKlqXfl71Qi8KLXIjZZ1h7aO9qqxHkZT/mrF/xKskV5 A09Yi4F73CRCsUhran7XDxyrDtbCnvr1pV0w4qpIC6vU0cpGkwv+8/tGyCT5lHrACoIjQy ne218D80y74Cq5rMXR3ytCEvy9n39vToCdvKxzGM2ASzXMncLVYd5g192oLKIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggv5qVjz13ZN for ; Wed, 03 Jun 2026 08:23:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39ee9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 3693f4404bec - stable/15 - sound: Retire mixer_ioctl_channel() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 3693f4404bec3418bbad8a5a56e3005eb3b0f524 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:23 +0000 Message-Id: <6a1fe47b.39ee9.2c8565f7@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=3693f4404bec3418bbad8a5a56e3005eb3b0f524 commit 3693f4404bec3418bbad8a5a56e3005eb3b0f524 Author: Christos Margiolis AuthorDate: 2026-04-16 11:00:16 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:24 +0000 sound: Retire mixer_ioctl_channel() This function never succeeds when it is not called from the same process that has opened the file descriptor (e.g., mixer(8)). The reason is that the CHN_FOREACH() loop tries to match the pid of each channel with the pid of the process performing the ioctl, which will not be the same, unless it's the same process that both opened the channel and performed the ioctl. In the case that the same process opens the channels and performs the ioctl, however, we still do not need to worry, because mixer_ioctl_cmd() essentially does the same thing anyway. Additionally, this scenario should be quite rare, given that most applications do not open both /dev/dsp* and /dev/mixer*, and in fact, it is actively encouraged by the official OSSv4 specification not to do that. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit f61e65e1b2ac74034bfc5d1230ae23ea4b9faa60) --- sys/dev/sound/pcm/mixer.c | 117 +--------------------------------------------- 1 file changed, 1 insertion(+), 116 deletions(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 7ccb57c205ba..be4447b13964 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -1032,113 +1032,6 @@ mixer_close(struct cdev *i_dev, int flags, int mode, struct thread *td) return (0); } -static int -mixer_ioctl_channel(struct cdev *dev, u_long cmd, caddr_t arg, int mode, - struct thread *td, int from) -{ - struct snddev_info *d; - struct snd_mixer *m; - struct pcm_channel *c, *rdch, *wrch; - pid_t pid; - int j, ret; - - if (td == NULL || td->td_proc == NULL) - return (-1); - - m = dev->si_drv1; - d = device_get_softc(m->dev); - j = cmd & 0xff; - - switch (j) { - case SOUND_MIXER_PCM: - case SOUND_MIXER_RECLEV: - case SOUND_MIXER_DEVMASK: - case SOUND_MIXER_CAPS: - case SOUND_MIXER_STEREODEVS: - break; - default: - return (-1); - } - - pid = td->td_proc->p_pid; - rdch = NULL; - wrch = NULL; - c = NULL; - ret = -1; - - /* - * This is unfair. Imagine single proc opening multiple - * instances of same direction. What we do right now - * is looking for the first matching proc/pid, and just - * that. Nothing more. Consider it done. - * - * The better approach of controlling specific channel - * pcm or rec volume is by doing mixer ioctl - * (SNDCTL_DSP_[SET|GET][PLAY|REC]VOL / SOUND_MIXER_[PCM|RECLEV] - * on its open fd, rather than cracky mixer bypassing here. - */ - CHN_FOREACH(c, d, channels.pcm.opened) { - CHN_LOCK(c); - if (c->pid != pid || - !(c->feederflags & (1 << FEEDER_VOLUME))) { - CHN_UNLOCK(c); - continue; - } - if (rdch == NULL && c->direction == PCMDIR_REC) { - rdch = c; - if (j == SOUND_MIXER_RECLEV) - goto mixer_ioctl_channel_proc; - } else if (wrch == NULL && c->direction == PCMDIR_PLAY) { - wrch = c; - if (j == SOUND_MIXER_PCM) - goto mixer_ioctl_channel_proc; - } - CHN_UNLOCK(c); - if (rdch != NULL && wrch != NULL) - break; - } - - if (rdch == NULL && wrch == NULL) - return (-1); - - if ((j == SOUND_MIXER_DEVMASK || j == SOUND_MIXER_CAPS || - j == SOUND_MIXER_STEREODEVS) && - (cmd & ~0xff) == MIXER_READ(0)) { - mtx_lock(&m->lock); - *(int *)arg = mix_getdevs(m); - mtx_unlock(&m->lock); - if (rdch != NULL) - *(int *)arg |= SOUND_MASK_RECLEV; - if (wrch != NULL) - *(int *)arg |= SOUND_MASK_PCM; - ret = 0; - } - - return (ret); - -mixer_ioctl_channel_proc: - - KASSERT(c != NULL, ("%s(): NULL channel", __func__)); - CHN_LOCKASSERT(c); - - if ((cmd & ~0xff) == MIXER_WRITE(0)) { - int left, right, center; - - left = *(int *)arg & 0x7f; - right = (*(int *)arg >> 8) & 0x7f; - center = (left + right) >> 1; - chn_setvolume_multi(c, SND_VOL_C_PCM, left, right, center); - } else if ((cmd & ~0xff) == MIXER_READ(0)) { - *(int *)arg = chn_getvolume_matrix(c, SND_VOL_C_PCM, SND_CHN_T_FL); - *(int *)arg |= - chn_getvolume_matrix(c, SND_VOL_C_PCM, SND_CHN_T_FR) << 8; - } - - CHN_UNLOCK(c); - - return (0); -} - static int mixer_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, struct thread *td) @@ -1156,15 +1049,7 @@ mixer_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, PCM_GIANT_ENTER(d); PCM_ACQUIRE_QUICK(d); - ret = -1; - - if (mixer_bypass != 0 && (d->flags & SD_F_VPC)) - ret = mixer_ioctl_channel(i_dev, cmd, arg, mode, td, - MIXER_CMD_CDEV); - - if (ret == -1) - ret = mixer_ioctl_cmd(i_dev, cmd, arg, mode, td, - MIXER_CMD_CDEV); + ret = mixer_ioctl_cmd(i_dev, cmd, arg, mode, td, MIXER_CMD_CDEV); PCM_RELEASE_QUICK(d); PCM_GIANT_LEAVE(d); From nobody Wed Jun 3 08:23:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggr5Jcsz6gJWm for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggr4MvHz3gN6 for ; Wed, 03 Jun 2026 08:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kjn8MAGMa6Stq1zo0IC6MsDJrIGre03LHcXl/Jf6CBk=; b=mS/SobKJEYyuFytcMZuWMIdfcRZshWunnOGctYDCBc6ySXQ+OjxQJZ4W8D899721nC/cSv wyO9L2jA0Y1K02C34W9FxEOAnEYWTwwTUVzkV98bjadjJ8waRX0pc4Usmy3qUpE7iCwp4I 93UWwdPjjOVvMF2Wr+1LnHGw3ppXoQLhTb8dJNBpNSdjxfBZQ6cs6Krkk5fX9b8vW/m36U UUwV5ZIu/7PvGmOBDyh/oBvHtpcTjJRTw4ytY0fb3kcRxfEuH99vcgxXmqORsDprZdiS6h IgfVsfbtYU+M5XfPVAcam5Ad6OI0732djyyYKDpjTk+9Jv8gsRdv61TOEZCY6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475000; a=rsa-sha256; cv=none; b=C9wmh1tQpNYWPVUtgz1WS3/SRa8gMFjDB6B7Z56SFYj7jViH3V4hmk34jE8Xj1H1AQrX9g SlMworCYtbwybdFBd86GNLFqJe7+ckAQOeMSR1hROUy6Tjd8wFXRemRje/e2qXDzhJqpiK 52yVcZoB8BIMNY/Li4yrUgk3Dp2+im4nDumZ/CMuPyJB5BO4Ad6QLCBSIVYZIC8WUkRpsD P1N2unip3Wo7TV8eOlSvohdOUN4/4AGjx4TBcxdijD5ULqwIUgi7pbCPMl+XCCTL59RXQl r+30PzfcPaTokQ+pe88ylmX1Kuyfmt+9oHYHlEZS4Ocw/Ym0k2YvtUyhpVL3dg== 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=1780475000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kjn8MAGMa6Stq1zo0IC6MsDJrIGre03LHcXl/Jf6CBk=; b=LHDL/bILsYGUFKkcuYr6k9TMrzhEU6WpcwpeozA42EEb9bmL8ItYUkPwpcuBtYE4C+QcA5 D/Ul31/Rc1pIX1puudrfHXn3n2er6ot2YXc2tryLSo6C3Qf2a8ICY2w0r8gN/0BE/9tTo3 n40XF3XK+oqb5Ov5VU7e+a+uPk7Jk8zz2YO9X44eVxJtf80HbQ2AWayCzxy5/5sxOLzz68 2YcYFdn0hoeZyO1dQ85OYbPirpQzPbEAvQetq1pxVTcA3RxPIRpmPDzYAUNS7qfWkMmHNn AGVS2DGMPOFuRVuc42AMRc2GtYJzit5rse2agVfSjloyGxoTCo8WlnbX3VrDJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggr3t7Mz13lW for ; Wed, 03 Jun 2026 08:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a949 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 65029fee7837 - stable/15 - sndctl(8): Implement EQ controls List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 65029fee78371398e0d978a0f08307c1dd23f7b8 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:20 +0000 Message-Id: <6a1fe478.3a949.7bf2ac84@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=65029fee78371398e0d978a0f08307c1dd23f7b8 commit 65029fee78371398e0d978a0f08307c1dd23f7b8 Author: Christos Margiolis AuthorDate: 2026-04-17 16:10:48 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sndctl(8): Implement EQ controls Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 8b8dbc6bbe391fd95a19bd1d9f0aac47bac085f8) --- usr.sbin/sndctl/sndctl.8 | 4 +++- usr.sbin/sndctl/sndctl.c | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/usr.sbin/sndctl/sndctl.8 b/usr.sbin/sndctl/sndctl.8 index 73414bd95325..44dcb791ca51 100644 --- a/usr.sbin/sndctl/sndctl.8 +++ b/usr.sbin/sndctl/sndctl.8 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 2, 2025 +.Dd April 17, 2026 .Dt SNDCTL 8 .Os .Sh NAME @@ -82,6 +82,8 @@ The device controls are as follows: .It bitperfect Ta Boolean Ta Read/Write Ta Bit-perfect mode enabled .It autoconv Ta Boolean Ta Read/Write Ta Auto-conversions enabled .It realtime Ta Boolean Ta Read/Write Ta Real-time mode enabled +.It eq Ta Boolean Ta Read/Write Ta Equalization enabled +.It eq_preamp Ta String Ta Read/Write Ta Equalization preamp value (in dB) .It play Ta Group Ta Read Ta Playback properties .It play.format Ta String Ta Read/Write Ta Playback format .It play.rate Ta Number Ta Read/Write Ta Playback sample rate diff --git a/usr.sbin/sndctl/sndctl.c b/usr.sbin/sndctl/sndctl.c index bbc2da6a4ab9..778643a2a978 100644 --- a/usr.sbin/sndctl/sndctl.c +++ b/usr.sbin/sndctl/sndctl.c @@ -97,6 +97,8 @@ struct snd_dev { int bitperfect; int realtime; int autoconv; + int eq; + char eq_preamp[BUFSIZ]; struct { char format[FMTSTR_LEN]; int rate; @@ -130,6 +132,8 @@ struct map { static int mod_bitperfect(struct snd_dev *, void *); static int mod_autoconv(struct snd_dev *, void *); static int mod_realtime(struct snd_dev *, void *); +static int mod_eq(struct snd_dev *, void *); +static int mod_eq_preamp(struct snd_dev *, void *); static int mod_play_vchans(struct snd_dev *, void *); static int mod_play_rate(struct snd_dev *, void *); static int mod_play_format(struct snd_dev *, void *); @@ -149,6 +153,8 @@ static struct snd_ctl dev_ctls[] = { { "bitperfect", F(bitperfect), NUM, mod_bitperfect }, { "autoconv", F(autoconv), NUM, mod_autoconv }, { "realtime", F(realtime), NUM, mod_realtime }, + { "eq", F(eq), NUM, mod_eq }, + { "eq_preamp", F(eq_preamp), STR, mod_eq_preamp }, { "play", F(play), GRP, NULL }, { "play.format", F(play.format), STR, mod_play_format }, { "play.rate", F(play.rate), NUM, mod_play_rate }, @@ -436,6 +442,7 @@ read_dev(char *path) struct sndstioc_nv_arg arg; struct snd_dev *dp = NULL; struct snd_chan *ch; + char buf[64]; size_t nitems, nchans, i, j; int fd, caps, unit, t1, t2, t3; @@ -557,6 +564,14 @@ read_dev(char *path) if (t1 == 0 && t2 == 0 && t3 == 0) dp->realtime = 1; + snprintf(buf, sizeof(buf), "dev.pcm.%d.eq", dp->unit); + if (sysctl_int(buf, NULL, &dp->eq)) + xo_err(1, "%s: sysctl", dp->name); + + snprintf(buf, sizeof(buf), "dev.pcm.%d.eq_preamp", dp->unit); + if (sysctl_str(buf, NULL, dp->eq_preamp, sizeof(dp->eq_preamp))) + xo_err(1, "%s: sysctl", dp->name); + if (!nvlist_exists(nvlist_get_nvlist(di[i], SNDST_DSPS_PROVIDER_INFO), SNDST_DSPS_SOUND4_CHAN_INFO)) xo_errx(1, "%s: channel info list empty", dp->name); @@ -842,6 +857,32 @@ mod_realtime(struct snd_dev *dp, void *arg) return (rc); } +static int +mod_eq(struct snd_dev *dp, void *arg) +{ + char buf[64]; + + if (dp->from_user) + return (-1); + + snprintf(buf, sizeof(buf), "dev.pcm.%d.eq", dp->unit); + + return (sysctl_int(buf, arg, &dp->eq)); +} + +static int +mod_eq_preamp(struct snd_dev *dp, void *arg) +{ + char buf[64]; + + if (dp->from_user) + return (-1); + + snprintf(buf, sizeof(buf), "dev.pcm.%d.eq_preamp", dp->unit); + + return (sysctl_str(buf, arg, dp->eq_preamp, sizeof(dp->eq_preamp))); +} + static int mod_play_vchans(struct snd_dev *dp, void *arg) { From nobody Wed Jun 3 08:23:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh13nxJz6gJZJ for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh12jJlz3gHM for ; Wed, 03 Jun 2026 08:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/nk4rXQ3UvRYEGCxPPQgj4RYuW2bE4aylBkLQpukxuw=; b=v/jWPcjOyDirmbXHGvOutu9RFIw/9e+v+etYV+tEDyda8s6dHKV403/eW4Ina0LsalKOY4 X1Tli9XOFFAH0qN2YAa9JYSzANVmVddussTleYgu1iJtA+OOmowIIyaijC5aC1NhaGqT0s 1Ub9gOgM4LadUQAzryMr8oJPoEA9d2cxrnBcvvhCFiNCUA+ehk4jvSGtcB+glKzoswSDom 3aGHKSIiiR8K5WbMzXzX3bVIf50rVLybKk8WmNHz+MkQdl1e+HekNN0+gwPSrFfEKlCnt5 ODud0qFVNOsoOUPoe4h5EIx0GGeJvqTJeThdrqwAN0BA5vrJcyhbLPW73oewPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475009; a=rsa-sha256; cv=none; b=ivnTNzdV8Uqe+Aw0rKbECbxJ/tBXWS2Hc7Z9M5x0UNDEUcyEmo5R14No5u7KdEca1hjVDC MRNgEd+WLIZ3SFYDSe3tFq3Xez66wVBrdPoBZ2nDF7XAryft1gqZp6pps3ojTTfPb+HbVI i/APBn5VGqAElsQPud4pr2hvOblY2r5NiVhcos1f1F9yrGvmbrzhUI9yU4PVD1Lp4+L052 IWUGAFeSiEANP7IF62F4pkWD0imEY+291BzBvWlDzb3/eHLCKAF6/M6CBNFLrjJyPq0vOa FNyCslOV/rkBb9pdvu3RPniXUpKYnBCfpmsPO26qTOrvGD9nREQN1XhcqWh5Jg== 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=1780475009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/nk4rXQ3UvRYEGCxPPQgj4RYuW2bE4aylBkLQpukxuw=; b=j/TaFh4pUY93f16+mUpwWEL87krRuRDiZeSddt06KPIJlzla5QybS5WwAeNEW+v29+ZwGz MgHpOYepgqpO2Zq17IeVMIK5EipkdD+iVXm6ycqpjY/+sQy7ZVFjzDDK70U6Wq0Us1petg Rj78MjtMP5p/ekIgKjddbYxw2AK9vMeDZb8O52xOcyVZfnHe9VYt66D2vxq66BXkEI1hhr 8HEQrqtTyh2tJJkR9o7mI09vWZLqbFVoHW/T/sn9SprlJpGQTylNri95a2lavB1Nr2mLts CUDR/AuewcAQB40kAsZ4Jv1sSb07TCeqh8Jb+gJk553YzjBynRESauJiOLUU0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh12CvHz13Wx for ; Wed, 03 Jun 2026 08:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39f47 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 1ed48176bc0b - stable/15 - sound: Remove all remaining uses of mixer_get_lock() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 1ed48176bc0b3c3bc245d11764e82f9d95559787 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:29 +0000 Message-Id: <6a1fe481.39f47.97af30e@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=1ed48176bc0b3c3bc245d11764e82f9d95559787 commit 1ed48176bc0b3c3bc245d11764e82f9d95559787 Author: Christos Margiolis AuthorDate: 2026-04-16 12:41:13 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Remove all remaining uses of mixer_get_lock() These functions are called from sound(4) through MIXER_SET() in mixer_set(), but nothing mixer-related is used or needs to be locked in these cases. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 1e72608a3c6a60b76938c5ded2a290d0b9ff6456) --- sys/arm/allwinner/a64/sun50i_a64_acodec.c | 14 -------------- sys/arm64/rockchip/rk3328_codec.c | 14 -------------- sys/dev/sound/macio/onyx.c | 17 ----------------- sys/dev/sound/macio/snapper.c | 17 ----------------- sys/dev/sound/macio/tumbler.c | 17 ----------------- 5 files changed, 79 deletions(-) diff --git a/sys/arm/allwinner/a64/sun50i_a64_acodec.c b/sys/arm/allwinner/a64/sun50i_a64_acodec.c index 12c9a86cf361..93b0328e99e0 100644 --- a/sys/arm/allwinner/a64/sun50i_a64_acodec.c +++ b/sys/arm/allwinner/a64/sun50i_a64_acodec.c @@ -339,19 +339,9 @@ static int a64codec_mixer_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) { struct a64codec_softc *sc; - struct mtx *mixer_lock; - uint8_t do_unlock; u_int val; sc = device_get_softc(mix_getdevinfo(m)); - mixer_lock = mixer_get_lock(m); - - if (mtx_owned(mixer_lock)) { - do_unlock = 0; - } else { - do_unlock = 1; - mtx_lock(mixer_lock); - } right = left; @@ -375,10 +365,6 @@ a64codec_mixer_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned ri } A64CODEC_UNLOCK(sc); - if (do_unlock) { - mtx_unlock(mixer_lock); - } - return (left | (right << 8)); } diff --git a/sys/arm64/rockchip/rk3328_codec.c b/sys/arm64/rockchip/rk3328_codec.c index 22e3cde9093e..a019cab27cc9 100644 --- a/sys/arm64/rockchip/rk3328_codec.c +++ b/sys/arm64/rockchip/rk3328_codec.c @@ -416,18 +416,8 @@ static int rkcodec_mixer_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) { struct rkcodec_softc *sc; - struct mtx *mixer_lock; - uint8_t do_unlock; sc = device_get_softc(mix_getdevinfo(m)); - mixer_lock = mixer_get_lock(m); - - if (mtx_owned(mixer_lock)) { - do_unlock = 0; - } else { - do_unlock = 1; - mtx_lock(mixer_lock); - } right = left; @@ -443,10 +433,6 @@ rkcodec_mixer_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned rig } RKCODEC_UNLOCK(sc); - if (do_unlock) { - mtx_unlock(mixer_lock); - } - return (left | (right << 8)); } diff --git a/sys/dev/sound/macio/onyx.c b/sys/dev/sound/macio/onyx.c index f4f825a705cc..5ba22dd7c495 100644 --- a/sys/dev/sound/macio/onyx.c +++ b/sys/dev/sound/macio/onyx.c @@ -268,38 +268,21 @@ static int onyx_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) { struct onyx_softc *sc; - struct mtx *mixer_lock; - int locked; uint8_t l, r; sc = device_get_softc(mix_getdevinfo(m)); - mixer_lock = mixer_get_lock(m); - locked = mtx_owned(mixer_lock); switch (dev) { case SOUND_MIXER_VOLUME: - - /* - * We need to unlock the mixer lock because iicbus_transfer() - * may sleep. The mixer lock itself is unnecessary here - * because it is meant to serialize hardware access, which - * is taken care of by the I2C layer, so this is safe. - */ if (left > 100 || right > 100) return (0); l = left + 128; r = right + 128; - if (locked) - mtx_unlock(mixer_lock); - onyx_write(sc, PCM3052_REG_LEFT_ATTN, l); onyx_write(sc, PCM3052_REG_RIGHT_ATTN, r); - if (locked) - mtx_lock(mixer_lock); - return (left | (right << 8)); } diff --git a/sys/dev/sound/macio/snapper.c b/sys/dev/sound/macio/snapper.c index f14009f447a8..ed83990d563b 100644 --- a/sys/dev/sound/macio/snapper.c +++ b/sys/dev/sound/macio/snapper.c @@ -436,14 +436,10 @@ static int snapper_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) { struct snapper_softc *sc; - struct mtx *mixer_lock; - int locked; u_int l, r; u_char reg[6]; sc = device_get_softc(mix_getdevinfo(m)); - mixer_lock = mixer_get_lock(m); - locked = mtx_owned(mixer_lock); if (left > 100 || right > 100) return (0); @@ -460,21 +456,8 @@ snapper_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) reg[4] = (r & 0x00ff00) >> 8; reg[5] = r & 0x0000ff; - /* - * We need to unlock the mixer lock because iicbus_transfer() - * may sleep. The mixer lock itself is unnecessary here - * because it is meant to serialize hardware access, which - * is taken care of by the I2C layer, so this is safe. - */ - - if (locked) - mtx_unlock(mixer_lock); - snapper_write(sc, SNAPPER_VOLUME, reg); - if (locked) - mtx_lock(mixer_lock); - return (left | (right << 8)); } diff --git a/sys/dev/sound/macio/tumbler.c b/sys/dev/sound/macio/tumbler.c index bd40ea6b4f6b..89af4434e7fe 100644 --- a/sys/dev/sound/macio/tumbler.c +++ b/sys/dev/sound/macio/tumbler.c @@ -383,14 +383,10 @@ static int tumbler_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) { struct tumbler_softc *sc; - struct mtx *mixer_lock; - int locked; u_int l, r; u_char reg[6]; sc = device_get_softc(mix_getdevinfo(m)); - mixer_lock = mixer_get_lock(m); - locked = mtx_owned(mixer_lock); switch (dev) { case SOUND_MIXER_VOLUME: @@ -407,21 +403,8 @@ tumbler_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) reg[4] = (r & 0x00ff00) >> 8; reg[5] = r & 0x0000ff; - /* - * We need to unlock the mixer lock because iicbus_transfer() - * may sleep. The mixer lock itself is unnecessary here - * because it is meant to serialize hardware access, which - * is taken care of by the I2C layer, so this is safe. - */ - - if (locked) - mtx_unlock(mixer_lock); - tumbler_write(sc, TUMBLER_VOLUME, reg); - if (locked) - mtx_lock(mixer_lock); - return (left | (right << 8)); } From nobody Wed Jun 3 08:23:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh35mC2z6gK0H for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh34GtFz3gC0 for ; Wed, 03 Jun 2026 08:23:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fOwwyYswPHCETzXMrkxH71HIMYH7BQOX0/W1I8Vw0p4=; b=NH4HfXDbzmkxNi12xHaq7Qs4FHIFdiZDH24AKFC6ujuc2SlrpYSSq1Gyx2vTRgN/LFJHen DoPj+XHUB45BkaRZOkB7f7SdkNqtmT9tSvea7IG5QcD+5slndLyie95/iFm+rv2wywUvcK 5JIoEF49pq7qBjKY5E6GgNK159a9mLqTUQLlk3qSQaPlBsJCo8rDh1AmXpxiqYgEO6KsjV sxpG1gzYFWUnrINZ5oO0HNf+hBWU3ywBE6dui1AOxn2Ysn1n+Xvm52ZQioTRrhbJrq/xnX fiRxr8TVTScnqN7TostBHjvvZON4kCY+iGkiKvHrc7GQDr0EpIVkV17vZEKJ3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475011; a=rsa-sha256; cv=none; b=QUT7dmHGddigi8yYdbIJSG0pVX9E2FRFclV/JtrGahXZGrR33679pLBr6gZFxRMApyQeDb 04G9Eyh42R9TmlZaBaXv70n3BFuhWScvNT/K1qFl5UWQATW8qgOXQWvC4SSmNQK2g6kNdx qgs9NEAP7fWrVwDidscg+P1XLK+KBfHWoLkMyzGGYVghnWELLHZNmchy3GcDk7wk9FV8od nRxVYP7ohmEpQgtOb/W3N2kUQwwtK2sWfDTJk5zjseJu03aSeWlpJ0zwZ2/Yw5QNy4X3HS mZ92ftR8srmBdHVIu16WS3KMxo6vEpT/rY7nR1qWQah8UV7BZB2tteBcl10R/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=1780475011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fOwwyYswPHCETzXMrkxH71HIMYH7BQOX0/W1I8Vw0p4=; b=V/kdc9ep7QfMXqRV9jEZsDnmIrbCL99upySb/KHj7tMr3Q5ktBgmfFUPqUFrV4pY5NOc6o H76AaZ0T8kM+wa50LcFsbjmGDlJgCU74Kf6yN7tFGCESjBgw9iulg5LLdUM7E9+g4UoBGH nTZ/dZFYKSVpXZ5xzTVOwoiMxWhnO5Vn0mzdJ4D0LvBuDx4dmSVoNyUZ25Ik4bGYmNr9UQ oIFPI6y2VlYMK2plzyDEla4gwnGjB7F1Iv0B8MKsUpVxA4WQN6OITGZR2t48zbg8P1/ZFr 2tkh5SxKDMZaW5vZE8IVlmm6mFq/diuVZ9OKH4ZbxygttHi/Ah+IxadRWY2+GQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh33s62z13ZS for ; Wed, 03 Jun 2026 08:23:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39f4b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: b8d119c96986 - stable/15 - sound: Do not lock before destroying snd_mixer->lock List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b8d119c969861cacd81d83d112c8c1eb8e23c428 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:31 +0000 Message-Id: <6a1fe483.39f4b.740d9992@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b8d119c969861cacd81d83d112c8c1eb8e23c428 commit b8d119c969861cacd81d83d112c8c1eb8e23c428 Author: Christos Margiolis AuthorDate: 2026-04-16 12:51:56 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Do not lock before destroying snd_mixer->lock Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 7485519d56346909c4db595ab0342128353d5b8d) --- sys/dev/sound/pcm/mixer.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 1baeb1b23077..0001ea7b481a 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -650,7 +650,6 @@ mixer_obj_create(device_t dev, kobj_class_t cls, void *devinfo, } if (MIXER_INIT(m)) { - mtx_lock(&m->lock); mtx_destroy(&m->lock); kobj_delete((kobj_t)m, M_DEVBUF); return (NULL); From nobody Wed Jun 3 08:23:34 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh71FdZz6gJck for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh66dq0z3gKq for ; Wed, 03 Jun 2026 08:23:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tS82DQd5ACsZBRR8EzmwCmdTkyrFVHVO3lcx9jv2vbo=; b=ILUlsWET7Kr9W1by8XFZSYYmn8mF3XKf6Md4auLXhiykTE8dffbzc9tEHzMoOlfa2vYtks iLRKpbgGjNTBqdsQ0rCfyaax07JvjGzw7L34ivJUHy/R+OkAaSAgTTEQVaNRQWehdRbtFo E6KPRq3zAazDCLNdFoeZlncIXXp9Bcspr6FLZl2Fus8XtIBDbb2/bTQfHuVU3uHK/rhjoi W5yDD+nMjBprcRWLhWVYhyJoUXA0Fn3Ri7xz39jWqsZtGoVbgWFqGlVQFKL2am/TEm4esF CLGRqy9Hejn5gZpfeSu0saX4EX74tHexl0ZJkYv76jr6mb4A/rM+wu3jmuQBYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475015; a=rsa-sha256; cv=none; b=xtKkSFXeHVoKv6DDPLXdT7D9y2OwwLkx63j4zlhnJvdA/aA/GfyOl8qMsTP6+jEIn5iZtr u/FznjUCWNJGJga2NZ6OtfAJCiNVZpI2eBhBxyfOJno0BxD2KNs28djii1mO6Oc33Rp3WV L0zfZFqPgY9k0yCMIEhFAk5nqTnmBgSKjshSUzdMum2ada6+w2XdkOi7vBcVhhZZPvDsw8 O8Z0+2iRTYH0XVPKgoC+PGyXUW9UhqvfeHqYdc3f8z3mmJBNUUR8EwI1t3DXgNpb68nVG9 xlPGcb/bymtYaitHaaECCHWev7Izsy0u2nGrn0UZ/9ZaKu8gt0fkKo7ZyWb03Q== 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=1780475014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tS82DQd5ACsZBRR8EzmwCmdTkyrFVHVO3lcx9jv2vbo=; b=DB3BpHfiY5h7lS6afVMDOoyKK1ma3NfKdJubE9ccW6glrLdmSmHr6mqgs1KUw+NU+ROf/2 0haU1FaR2QbZXuFTYJHtwnyHZT3gxT3tET4xRadCe8PG/p2QYmClq65HXZQN901qY9l7Rt wCRqP57DCJlSSOXaP94X0oO/yaO+pAzCvvOicBuzT9jdtdCtCjtSvrQyKQKWb4hDGLWHjt B3C9BelsJaA85r2TFsFc2ohquiN7W3E+lMPBaTon1jRTEdo4tAFmEfpQj0Zz+6HG3djVVK vG7gMHOFiRlksenHJq4v1EfrlyFn5NSZMSdidqZ+V/AGyA32ne87tWjiptI7MQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh667x9z135y for ; Wed, 03 Jun 2026 08:23:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a3e8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 70f682385515 - stable/15 - sound: Update mixer.c LICENSE header List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 70f682385515d4b50881c2d35dbf3d41ec595b75 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:34 +0000 Message-Id: <6a1fe486.3a3e8.67efd614@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=70f682385515d4b50881c2d35dbf3d41ec595b75 commit 70f682385515d4b50881c2d35dbf3d41ec595b75 Author: Christos Margiolis AuthorDate: 2026-04-17 17:33:00 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Update mixer.c LICENSE header Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 773bbfc57328f0a7947f2ad9a30de6a45ccce758) --- sys/dev/sound/pcm/mixer.c | 4 ++++ sys/dev/sound/pcm/mixer.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 8d96486c862b..3ddee24417cc 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -5,6 +5,10 @@ * Portions Copyright (c) Ryan Beasley - GSoC 2006 * Copyright (c) 1999 Cameron Grant * All rights reserved. + * Copyright (c) 2026 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/mixer.h b/sys/dev/sound/pcm/mixer.h index 34f0514c6271..6f764307cfc8 100644 --- a/sys/dev/sound/pcm/mixer.h +++ b/sys/dev/sound/pcm/mixer.h @@ -4,6 +4,10 @@ * Copyright (c) 2005-2009 Ariff Abdullah * Copyright (c) 1999 Cameron Grant * All rights reserved. + * Copyright (c) 2026 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From nobody Wed Jun 3 08:23:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh46RYKz6gJfx for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh44v0Bz3gC1 for ; Wed, 03 Jun 2026 08:23:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475012; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+FzEXMowZAOopxfbA3FEA35UR298tX9hFkkn+SNDlV8=; b=fppDXkHFf/qMZaMzfc/bYEAsbNpi0QeMQZYaSGVXaP4B7GqICjNkjalFlHL3D8zNljohEH /6dBCxp5xpPheHjXwI9gjDkenLt2v8qDKLSqNJ5OBQ361sWkfZ8rTL8mnwammes3ooNyvs aCeE0S9nHVxMA0Rx6jBOhyQN6skqgYIBRDRp/5OMvRqF60LTc5fIPDiJSCV/EWNKQjlYjJ 7ekX5iCXz6LvobdMp6846my0WArZ5mltTQGFAd0AxRBvBjHnYIHm/udXGUbxCkhKdOXh8B 4zLe9FOerTKYeudaAWiOtSkrrCEyH9er+ZT1NY1Zp4gLtMGtGTvXVZ9q128IuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475012; a=rsa-sha256; cv=none; b=fLe+6M25iVTNtxCJEk9quBjQ3oFIG6AsPjEINhHIBmBLP3zYWBHbp3YYEn/SVNUXSQWe7/ ngDfi9HvHeGAFHgspKKCvZ3snZc+rl2Qto93Zf8Pk5HJ33za+5u9qF0MpQtU8t1C+LgZPB N6DwznNRqXbIrHV7gDXjza3FWzZa/I8HElnt6P1iesK7MSvgnaOdI5TZE9Texochi0B7AP 4KuJ22Nada05ycwj6QZQtOLPV82TM0Gm4FV2sN0QzZEUZRv0drgJktpwdeyuPZZXGWSbDW AEYGIB55HxSha9ZyLE84HXOEFysx9nhidZi1BoN8PNqGy9GvHpkxZ+1Hwlh0rw== 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=1780475012; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+FzEXMowZAOopxfbA3FEA35UR298tX9hFkkn+SNDlV8=; b=ZoBS8yjevLK1cZvKYEscV+TVKHCOO5nxoEE4XHfhXt5Kqf3WtxyIclj2LLqYjWYQzEBpxN tSb71FhFtpQ7+uNerhxtQ5Yv/mwkfFxQFVuJ7gkoHvNydhFURD5dylSWiWp+a99pkWd8gk kXqfA+kLzJXhGboucY6XjeonyULZceYsBNMQK6YN1W+1me3JxCs6VeawidsdlQw1M4Vvkl H7rMbXq88bLPwbHZvWmKHXXvsP6Q2aoPAiPk6nLKYf46xh10msqCIyEc3qXwV3E/Q4zgBh efNbXSayblVlQ+FOgcLM3yzjxy5p6+c+GCe/j91VIE/H2YEG2BUJnZ0oK5mY6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh44VJKz13Kq for ; Wed, 03 Jun 2026 08:23:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b347 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: a22f7e404446 - stable/15 - sound: Retire snd_mixer->enuminfo List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a22f7e40444670683f61404dcc66bc9d87b943fd Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:32 +0000 Message-Id: <6a1fe484.3b347.7450caff@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a22f7e40444670683f61404dcc66bc9d87b943fd commit a22f7e40444670683f61404dcc66bc9d87b943fd Author: Christos Margiolis AuthorDate: 2026-04-17 17:31:00 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Retire snd_mixer->enuminfo Instead of caching this when mix_setrecdevs() is called (which many drivers never call), calculate it when we need it. After all, it is quite rare that this structure is used by applications. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 5589a7499add5912a88e9424b0aec843e099fb60) --- sys/dev/sound/pcm/mixer.c | 78 ++++++++++++++--------------------------------- 1 file changed, 23 insertions(+), 55 deletions(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 0001ea7b481a..e61371d13610 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -56,7 +56,6 @@ struct snd_mixer { u_int8_t realdev[32]; char name[MIXER_NAMELEN]; struct mtx lock; - oss_mixer_enuminfo enuminfo; int modify_counter; }; @@ -493,64 +492,12 @@ mix_setdevs(struct snd_mixer *m, u_int32_t v) * recording devices. This function records that value in a structure * used by the rest of the mixer code. * - * This function also populates a structure used by the SNDCTL_DSP_*RECSRC* - * family of ioctls that are part of OSSV4. All recording device labels - * are concatenated in ascending order corresponding to their routing - * numbers. (Ex: a system might have 0 => 'vol', 1 => 'cd', 2 => 'line', - * etc.) For now, these labels are just the standard recording device - * names (cd, line1, etc.), but will eventually be fully dynamic and user - * controlled. - * * @param m mixer device context container thing * @param v mask of recording devices */ void mix_setrecdevs(struct snd_mixer *m, u_int32_t v) { - oss_mixer_enuminfo *ei; - char *loc; - int i, nvalues, nwrote, nleft, ncopied; - - ei = &m->enuminfo; - - nvalues = 0; - nwrote = 0; - nleft = sizeof(ei->strings); - loc = ei->strings; - - for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) { - if ((1 << i) & v) { - ei->strindex[nvalues] = nwrote; - ncopied = strlcpy(loc, snd_mixernames[i], nleft) + 1; - /* strlcpy retval doesn't include terminator */ - - nwrote += ncopied; - nleft -= ncopied; - nvalues++; - - /* - * XXX I don't think this should ever be possible. - * Even with a move to dynamic device/channel names, - * each label is limited to ~16 characters, so that'd - * take a LOT to fill this buffer. - */ - if ((nleft <= 0) || (nvalues >= OSS_ENUM_MAXVALUE)) { - device_printf(m->dev, - "mix_setrecdevs: Not enough room to store device names--please file a bug report.\n"); - device_printf(m->dev, - "mix_setrecdevs: Please include details about your sound hardware, OS version, etc.\n"); - break; - } - - loc = &ei->strings[nwrote]; - } - } - - /* - * NB: The SNDCTL_DSP_GET_RECSRC_NAMES ioctl ignores the dev - * and ctrl fields. - */ - ei->nvalues = nvalues; m->recdevs = v; } @@ -1104,10 +1051,31 @@ mixer_ioctl_cmd(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, mtx_lock(&m->lock); switch (cmd) { - case SNDCTL_DSP_GET_RECSRC_NAMES: - bcopy((void *)&m->enuminfo, arg, sizeof(oss_mixer_enuminfo)); + case SNDCTL_DSP_GET_RECSRC_NAMES: { + oss_mixer_enuminfo *ei = (oss_mixer_enuminfo *)arg; + char *loc; + int i, nvalues, nwrote, nleft, ncopied; + + nvalues = 0; + nwrote = 0; + nleft = sizeof(ei->strings); + loc = ei->strings; + + for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) { + if (!((1 << i) & m->recdevs)) + continue; + ei->strindex[nvalues] = nwrote; + ncopied = strlcpy(loc, snd_mixernames[i], nleft) + 1; + nwrote += ncopied; + nleft -= ncopied; + nvalues++; + loc = &ei->strings[nwrote]; + } + ei->nvalues = nvalues; + ret = 0; goto done; + } case SNDCTL_DSP_GET_RECSRC: ret = mixer_get_recroute(m, arg_i); goto done; From nobody Wed Jun 3 08:23:33 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh60gNlz6gJxB for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh55wVfz3gKp for ; Wed, 03 Jun 2026 08:23:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PPDtnna0fS5Mq1a7rq7/4fFDOEHesYxtLMKipZPICXY=; b=Ok/J9O99u7Ef7DWXWrUYhlQyjaIBVEqKdFckovUQ/GlOf183csP76Sbww37J3lyIdDl+pV ctsn5XjCYq33PMSj8N5Ae8RqWOOBySBRLJXYJU/Ku6/r84YcsuqEvT0S4apbUBRYt2Adkk eERghuGUlJFXLemUIRKdE5K6Yt3MV4Qn3gAuV1r1L1UowO6h/xy+UCw54IXGwD3OpFLw7f upkzOZY3rvceVd43Ki0+i+DVSIuVNUji0msy6hz3fULp3g+SJz4njzzZoYwC8mMnKdbFV5 XFGwUZjnKoVgq6LMKRC+FGaGE6z4zeLqLDUeHq5/u7COJ4Hfp9UKBMSl4tExmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475013; a=rsa-sha256; cv=none; b=s5CYVde+TUk24Xyo7jNweJAYr9t7XajUAAwai1B3DEyTkzk1o+L+/Z3Xhwf+utinVnzODv vZyRAAeX90OzuvoZNO32295Jooe46gkfDpqXFfejhb7rK6l/0fjhel48jjAxhAiR7LJzBC GAMYe0WZxSdU9+VNAf5xaHyr4Kvz1DE+joevwQQgVPfJZi/71AeTpqXcQso+o2ne0772oY 4IhOgK1TTdizD0i/Bx/seeTEdB+Fo75OPM+qO9CIfMDyw3XRtL5viJQWfCH+kA1KjAy+oB t/AgpCb5Y9embX5/13itQt514QEBRQGHwukEgHLfpWILPxwzkC5IAll6ZujirA== 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=1780475013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PPDtnna0fS5Mq1a7rq7/4fFDOEHesYxtLMKipZPICXY=; b=J7lP0BuZp1P3X4zOFfGo76bvqmTMMZzi6of7T9SbTrFUUFiLfS8xmSSYYXS8UAk0vqCN1q 9faZz39UbMfc6sxbNV/0cNv/8C552L7dW4Fb8HH4l6jpYe8TiYkmEwU+/CKEvTduSCPti8 izp5sr1ZgdASIvz30m4loLTS/wZn+ctZ+f6S+1eru0BMRwAumE9QxIA7FCp4o+slFYnvzj yW0SNQXVpfMcvUpZJLW+xKxTWll82sbodjSGlllysRVCU09RPdm5eb//aA9otpnVALuHsM JCMl4nokn5NXkfcpg8sY+xxoSw2yIFErrynvbVHGnItjRixCj/BgwGx3mrEbDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh55KVqz13lb for ; Wed, 03 Jun 2026 08:23:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39f4f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 323e28ed4cac - stable/15 - sound: Retire MIXER_SIZE and use correct size in DEFINE_CLASS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 323e28ed4cacbbf6184f0d0b780066cb23ef217c Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:33 +0000 Message-Id: <6a1fe485.39f4f.4ef83810@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=323e28ed4cacbbf6184f0d0b780066cb23ef217c commit 323e28ed4cacbbf6184f0d0b780066cb23ef217c Author: Christos Margiolis AuthorDate: 2026-04-18 10:29:39 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Retire MIXER_SIZE and use correct size in DEFINE_CLASS I am not sure why this hack was needed, but the size should be sizeof(struct snd_mixer). Unfortunately, we have to expose snd_mixer, but it should be better than relying on a hack. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 64ebbb1d74415cb93445cc625da63449f01ac8c5) --- sys/dev/sound/pcm/mixer.c | 22 ---------------------- sys/dev/sound/pcm/mixer.h | 32 ++++++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 30 deletions(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index e61371d13610..8d96486c862b 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -37,28 +37,6 @@ #include "feeder_if.h" #include "mixer_if.h" -#define MIXER_NAMELEN 16 -struct snd_mixer { - KOBJ_FIELDS; - void *devinfo; - int hwvol_mixer; - int hwvol_step; - int type; - device_t dev; - u_int32_t devs; - u_int32_t mutedevs; - u_int32_t recdevs; - u_int32_t recsrc; - u_int16_t level[32]; - u_int16_t level_muted[32]; - u_int8_t parent[32]; - u_int32_t child[32]; - u_int8_t realdev[32]; - char name[MIXER_NAMELEN]; - struct mtx lock; - int modify_counter; -}; - static u_int16_t snd_mixerdefaults[SOUND_MIXER_NRDEVICES] = { [SOUND_MIXER_VOLUME] = 75, [SOUND_MIXER_BASS] = 50, diff --git a/sys/dev/sound/pcm/mixer.h b/sys/dev/sound/pcm/mixer.h index b16256862b4f..34f0514c6271 100644 --- a/sys/dev/sound/pcm/mixer.h +++ b/sys/dev/sound/pcm/mixer.h @@ -30,6 +30,28 @@ #ifndef _PCM_MIXER_H_ #define _PCM_MIXER_H_ +#define MIXER_NAMELEN 16 +struct snd_mixer { + KOBJ_FIELDS; + void *devinfo; + int hwvol_mixer; + int hwvol_step; + int type; + device_t dev; + u_int32_t devs; + u_int32_t mutedevs; + u_int32_t recdevs; + u_int32_t recsrc; + u_int16_t level[32]; + u_int16_t level_muted[32]; + u_int8_t parent[32]; + u_int32_t child[32]; + u_int8_t realdev[32]; + char name[MIXER_NAMELEN]; + struct mtx lock; + int modify_counter; +}; + struct snd_mixer *mixer_create(device_t dev, kobj_class_t cls, void *devinfo, const char *desc); int mixer_delete(struct snd_mixer *m); @@ -65,13 +87,7 @@ void *mix_getdevinfo(struct snd_mixer *m); #define MIXER_TYPE_PRIMARY 0 /* mixer_init() */ #define MIXER_TYPE_SECONDARY 1 /* mixer_create() */ -/* - * this is a kludge to allow hiding of the struct snd_mixer definition - * 512 should be enough for all architectures - */ -#define MIXER_SIZE (512 + sizeof(struct kobj) + \ - sizeof(oss_mixer_enuminfo)) - -#define MIXER_DECLARE(name) static DEFINE_CLASS(name, name ## _methods, MIXER_SIZE) +#define MIXER_DECLARE(name) static DEFINE_CLASS(name, name ## _methods, \ + sizeof(struct snd_mixer)) #endif /* _PCM_MIXER_H_ */ From nobody Wed Jun 3 08:23:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh25500z6gJcg for ; Wed, 03 Jun 2026 08:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh23df1z3gN9 for ; Wed, 03 Jun 2026 08:23:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SqUFH5n6ZXmtscNR0QM3tyCTSryk8Mv8iXmeWeQdIUw=; b=oYe89J2r2IXeuxl5nWmhUznHsCd9+CpoEwDu2wVeja6SLmUodFZNzytwUr2uUowxQ+RaDF TbOUB5/cNOZW0jSn/4kHGO/yZvNxAgjtQNZfqp0ss42PlUANsBO3J6vABpOTkFYml1TR8D d8Vp2uzsFFkwuxIfaxfydQiMFiSzWAl33no1YrjEHGHWTl6zv82ho2tk0+cDxJxy4Vn5HZ hZcxaJD8KN+zyCqRVYKqOMpBYkOwzx2655HufSdnXeIuecom1QIJga+xdqytwOvHNbck8F 2ImgFrJjE05WZkhORo+OwDpiJQQCStQ9dBnes90SN7pfARDnR5aX3GnQc+26ig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475010; a=rsa-sha256; cv=none; b=mbUvmGAMOnjrFYR9ZZ69YbUko4l3aw65A4lori5HSWFNtt69Rd2wh9FR0shbZGnzO5fzpn LhRpY0mRAUXzJoH9mIKtMyjiqtxMrSePor0ipdt8YNcF1Ad47wmlQPATB9iw+Vx/fAMznE eZJAfoKQjQrj8UV18t8I4VGBFwaKSlY9D48dy3tBJ1PWVu76p/TnH8RsPP02hO9vqHxJwp BqBoRxu8WLo15g7k9ywVc17YtuhQA8RFSYB2M4oKjRVBS6SoLWpoS5XcPhFKpH4AyXD4/u mm00nB+yh+f8kP+3ajCxKaT77kvgFnNuSSQrRystsg5TzhR2dQSLy6TvbuKAbw== 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=1780475010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SqUFH5n6ZXmtscNR0QM3tyCTSryk8Mv8iXmeWeQdIUw=; b=VAnCfkBdlabH8ZyAMVjsbvEJxSbAQSFJxeYegOfhxdJTRqIA4h1wJnMEE+2aQHxumU3p2A oa7CsHFOA+DRYWLqqa1QKQKuGVp7zX6TyRxKWavZ2mg8p6SG9hC7DVh/f1GAmf0eeUcNr4 B+x2Il7EBBBo0VNV21UnDaaTfexaoJ3xJZ6Y6f8l6AE6AUTD2zHDRa6jGJFRrQBYXRHptK WlUV/BAKLU1a7G8M+fVAj86AgWxUvuzVx4gmOCGid/yLC9OCty6m9wkzAGvym6TJtDi97p xjwyjkOqMjjJpBQLxxBzVWVVq8L4/c41Qk77oWaeHZsk/HqqtxIVI9whvRKj6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh231Sbz13Kp for ; Wed, 03 Jun 2026 08:23:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b60e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: da80fa2c3d6b - stable/15 - sound: Retire unused mixer_get_lock() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: da80fa2c3d6bcbb5e1530ff93512f23f6e4d8903 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:30 +0000 Message-Id: <6a1fe482.3b60e.17ff6da8@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=da80fa2c3d6bcbb5e1530ff93512f23f6e4d8903 commit da80fa2c3d6bcbb5e1530ff93512f23f6e4d8903 Author: Christos Margiolis AuthorDate: 2026-04-16 12:46:48 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Retire unused mixer_get_lock() Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 6a3a42c57cf45874294105419f5c5de6602db3f8) --- sys/dev/sound/pcm/mixer.c | 10 ---------- sys/dev/sound/pcm/mixer.h | 1 - 2 files changed, 11 deletions(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 73d1b5870b83..1baeb1b23077 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -1382,13 +1382,3 @@ mixer_oss_mixerinfo(struct cdev *i_dev, oss_mixerinfo *mi) return (EINVAL); } - -/* - * Allow the sound driver to use the mixer lock to protect its mixer - * data: - */ -struct mtx * -mixer_get_lock(struct snd_mixer *m) -{ - return (&m->lock); -} diff --git a/sys/dev/sound/pcm/mixer.h b/sys/dev/sound/pcm/mixer.h index 4ced76082e31..b16256862b4f 100644 --- a/sys/dev/sound/pcm/mixer.h +++ b/sys/dev/sound/pcm/mixer.h @@ -61,7 +61,6 @@ void mix_setparentchild(struct snd_mixer *m, u_int32_t parent, u_int32_t childs) void mix_setrealdev(struct snd_mixer *m, u_int32_t dev, u_int32_t realdev); u_int32_t mix_getparent(struct snd_mixer *m, u_int32_t dev); void *mix_getdevinfo(struct snd_mixer *m); -struct mtx *mixer_get_lock(struct snd_mixer *m); #define MIXER_TYPE_PRIMARY 0 /* mixer_init() */ #define MIXER_TYPE_SECONDARY 1 /* mixer_create() */ From nobody Wed Jun 3 10:13:19 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVk6m2bbpz6gVSP; Wed, 03 Jun 2026 10:13:20 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVk6m1tM6z44L5; Wed, 03 Jun 2026 10:13:20 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780481600; 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: in-reply-to:in-reply-to:references:references; bh=EJbUgNITULti+5yfhL+Xg6iNaJLjOwfGLGQs/7v0WnM=; b=Nd0UoRAW/j2wIdWazFkLoimZFhblkd3cXH+iGZQ3FcPpyNkrEEzX68H4FcSwwRYfzrxVB+ V7+tBmFPkH88cYGgBrlmvQyOzRHBRiEgo9q2qyekJCVpj7ku7ts8cv37HiDzn2KqWzezOq SPJymiNrUiQelRt6VTjQH/hYn9C5gtGP0VDsQqnh9zm/CtvHTtkbIYKjsj3M8zGJ8pkCZo PePRe/LphHO56rtmfwTMR+o77Ve8/PkOZRksNpX6HgQL1fI1emTXhPjBxO7lPHJFEReDSS Uk2FH+GWu/tXZY0/jRgNAjpIKjHDvYBWGO+Dv9sxWYROQ7DtqLJhqoEpfXSJ6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780481600; a=rsa-sha256; cv=none; b=DeoDrnzS+Sb287bNWyP2fdr9y6ALyPgu4mmir4Fw6zwMIjtf6IUO1KA97rVkaHlcuk6XY+ zHEyKTEH7R6KDTeWMcKliGFGhxIMUAkj/C3+jyuiHiS20pj9qWkfd5PdmOuav9TM3yUvJD k6kls5Bx1wos46E5FVO47wUJqr0MT7taqv1DrjqhZn/r5porsiIda896lrDLuY7+7ErL+i 3aQEYh5oGQqZoed/qdvEcafO5pT0wXU8Ai/nvxLn4ZAbcWlRI/wDIoSBi59g9c450TE0av xDL+7rS2bamuTSUYryn9Iqi73NptvGSIh1erHKXhOaMLx8bhHstsI51pSHV/gA== 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=1780481600; 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: in-reply-to:in-reply-to:references:references; bh=EJbUgNITULti+5yfhL+Xg6iNaJLjOwfGLGQs/7v0WnM=; b=NaAcSXWaH+23s7aHt2sloUPPvrYFD9YX9hc/9eLEOUNBZ7I53hdT+Sw/kfDdxXy4GQ9ouD eGZPdzD4X/6nI9b8RoCX0W/JgL/UtEdNTFhz4ua4AaAxbgaCYnKHbmX99eVWmxVqY1jQaF +svQ6wxaFSKIgcnrIp92us8PHgzrJDMyS9XQZ1fzJ/jbEaKSQgOrsO7s0ulkX1wkvYZUfY khy832vhIQ6RJ2zP63NwwfwaHH90PyT7nfK5mPh6I63RJ2+OV1i1HTWKPem3VwFFb0VUzn AUUpFiMTMtJOb6ybDDc9KgDrrsGn8whAfSt3eibeGZqVe/iYM2p9DzpRAYb2hA== Received: from ltc.des.dev (unknown [92.183.12.56]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gVk6m0qDPzBt1; Wed, 03 Jun 2026 10:13:20 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id 1809274925; Wed, 03 Jun 2026 12:13:19 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Enji Cooper Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 886164895f3f - main - amd64: complete thunderbolt KERNCONF integration In-Reply-To: <6a1fc36c.20f4d.2792bff2@gitrepo.freebsd.org> (Enji Cooper's message of "Wed, 03 Jun 2026 06:02:20 +0000") References: <6a1fc36c.20f4d.2792bff2@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Wed, 03 Jun 2026 12:13:19 +0200 Message-ID: <86wlwgue2o.fsf@ltc.des.dev> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Enji Cooper writes: > commit 886164895f3f4805dc11171ac7980acaccf6ec77 > Author: Enji Cooper > AuthorDate: 2026-06-03 06:02:01 +0000 > Commit: Enji Cooper > CommitDate: 2026-06-03 06:02:01 +0000 > > amd64: complete thunderbolt KERNCONF integration >=20=20=20=20=20 > This completes the work so the driver can be integrated into KERNCONFs > properly on amd64. >=20=20=20=20=20 > MFC after: 1 month >=20=20=20=20=20 > Differential Revision: https://reviews.freebsd.org/D55573 /usr/src/sys/dev/thunderbolt/router.c:281:6: error: variable 'up' set but n= ot used [-Werror,-Wunused-but-set-variable] /usr/src/sys/dev/thunderbolt/router.c:723:8: error: variable 'adap' set but= not used [-Werror,-Wunused-but-set-variable] /usr/src/sys/dev/thunderbolt/nhi.c:837:20: error: variable 'sc' set but not= used [-Werror,-Wunused-but-set-variable] /usr/src/sys/dev/thunderbolt/nhi.c:871:20: error: variable 'sc' set but not= used [-Werror,-Wunused-but-set-variable] /usr/src/sys/dev/thunderbolt/nhi.c:874:8: error: variable 'len' set but not= used [-Werror,-Wunused-but-set-variable] /usr/src/sys/dev/thunderbolt/tb_acpi_pcib.c:123:15: error: variable 's' set= but not used [-Werror,-Wunused-but-set-variable] /usr/src/sys/dev/thunderbolt/tb_pcib.c:307:6: error: variable 'error' set b= ut not used [-Werror,-Wunused-but-set-variable] DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Wed Jun 3 13:15:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVp9B6CGTz6gp1p for ; Wed, 03 Jun 2026 13:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVp9B5CXkz3NmV for ; Wed, 03 Jun 2026 13:15:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780492542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RxIfIcAYT1fnTfjt09RfnEC/tdLokESWbhZaDQR/hUY=; b=tM/qkKQj7lA+5KWwnbI2Pf1H5pX48Ntd3362DhtHAGW3UFhEIf0J/3M+fmli+c/Ab0I27K HvT4xb9GdJC4piqIcd4H1QqAhlKkeF7fj5eC4KEb8XlOwIxd3KrDHeD92/xhw+88ri+wP0 CJiBnSJ5NZ3WskMUmEq5dy5gQjHO38gCpCd4lZJ8+VkCxH2qeHvS2g5bM9p4t8tJ3S1qAi MmBQFB30/liUBXwDfx+5A5cyF7AZAEue/vJYoTsGneYR8xp7Ko0BK9IqEYyz69m1uHNI+O aD/OcnBCoXfqu1071EL6eLCYL/v3qFGTDkD/AKKd2feE6ylpiAh1FQCyKIFl+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780492542; a=rsa-sha256; cv=none; b=CLSbrZYDsi6t2YRNy8Ea3NqA/ZmDVd9Rq1e2C7UpGgsszmy6puAdzgIDnubl+xZPxHsODV CagUyKcOkz8j8AkRwaoSboEALlub4ipuR9T+feV6rdbdvb83za1+M30c3zCFflJxJh4sFj uxTDxeqiu58urW+lO/KqOB0eyNt8PgWiwVg1k2PlIOMICJMIi7OmBcxQUJh3qddi95MaTc Xf7WFA1o8bMbC5MTjOvTD2qhRotKd+xkspzHhX1mgxL37/GcjOspUNpprKVtyJYoEIF/zF pQZYG5Qn61VnMfN0OicjN/LatpoUvWtAK6gA3PgtT/9ubA1DpPrW1DE3zTNwqg== 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=1780492542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RxIfIcAYT1fnTfjt09RfnEC/tdLokESWbhZaDQR/hUY=; b=x3OvN8dqJG6m7XIa6/JRrxFisR+8BOE1qol15hLEM3EK5RcF9eL0vlwJ4vEqtNTtYt6+C8 J76CKoWEDrIqHq0phQgWgZGT2D/VrVPoqYCFlwDZVTmZ/gSYY18u9m71za5b0ecTokYysI KFIJmqxI82LvcpXkqKLx3kTj8BukxXjX/+kJNWmpZPP2rzktxdZxRGBD7KYqLre0eEf4AP UWPU3Vlvjar4sLz+E3kwzgLQUlG/1+4QGDX7YD9PxIKEjEVINwVCmcdR7QlNoONG48uU1h 4l6plLVqIdYk9uJxUirdZk+TOQv1vprtOZYGbz++VzfgCx8C5AU/QFrSxciG0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVp9B4m6kz1BwL for ; Wed, 03 Jun 2026 13:15:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3230e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 13:15:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 3d9cd10b2857 - main - pfdenied: fix checking root anchor List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3d9cd10b2857ee7a9ec1b04457d9ec44f614d32c Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 13:15:42 +0000 Message-Id: <6a2028fe.3230e.63c5c7f2@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=3d9cd10b2857ee7a9ec1b04457d9ec44f614d32c commit 3d9cd10b2857ee7a9ec1b04457d9ec44f614d32c Author: Kristof Provost AuthorDate: 2026-06-03 08:49:31 +0000 Commit: Kristof Provost CommitDate: 2026-06-03 08:52:06 +0000 pfdenied: fix checking root anchor pfctl doesn't like empty anchors (-a ''), but we can specify the root anchor as '/' too, so do that instead. PR: 295324 Tested by: Paweł Krawczyk MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") --- usr.sbin/periodic/etc/security/520.pfdenied | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/periodic/etc/security/520.pfdenied b/usr.sbin/periodic/etc/security/520.pfdenied index d87dfa0ae64c..a3cddf30d726 100755 --- a/usr.sbin/periodic/etc/security/520.pfdenied +++ b/usr.sbin/periodic/etc/security/520.pfdenied @@ -41,7 +41,7 @@ rc=0 if check_yesno_period security_status_pfdenied_enable then TMP=`mktemp -t security` - for _a in "" $(pfctl -a "blacklistd" -sA 2>/dev/null) $(pfctl -a "blocklistd" -sA 2>/dev/null) ${security_status_pfdenied_additionalanchors} + for _a in "/" $(pfctl -a "blacklistd" -sA 2>/dev/null) $(pfctl -a "blocklistd" -sA 2>/dev/null) ${security_status_pfdenied_additionalanchors} do pfctl -a "${_a}" -sr -v -z 2>/dev/null | \ nawk '{if (/^block/) {buf=$0; getline; gsub(" +"," ",$0); if ($5 > 0) print buf$0;} }' >> ${TMP} From nobody Wed Jun 3 13:15:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVp9G5vwqz6gngR for ; Wed, 03 Jun 2026 13:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVp9G4nWsz3Ntk for ; Wed, 03 Jun 2026 13:15:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780492546; 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=c8Oh83++P9StM0zOt02q+LLqwlh3bvjIkjPp4QFtqZ8=; b=N3GmrCZQ0oi3BeCkOY4YhoAe2fDJlPi5Q+b5YoGqE3iaCtLjOXls2MJnH1A6QWi875mWU4 FfJrwq54W+ZHgGhfRDW3IlEp+Axyk3lG7jCEuYOBGeY7uC991mPKF9msVHT32BieAf2Qrw VDK0x6ExdGKEew5Cg3VfXLEIh/pLQRrUaiNU9FtX6uHqiB3uxNiDkANuxw+d5Sa9roX5M7 lu0aiVREuMi7oWNx7iGApsQRnB99vvPryHHUEIRNx9WKWuWQrAgpYvsRfrMKtyoh0nQ7j3 BszRLKlfoXlX55I6kJVuTBzdbkcVg5ia9T+Rg3BBRUQ7hewocTVy0/LspFc2IA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780492546; a=rsa-sha256; cv=none; b=LRmE8CBsHXPGbLyhU3HR+7i9JPcMQDhvsdSOTbqBQyeHiqZpP+KjvYWznvLtX4JKEw4ais Phm9wDt8sCPuvqtOS1HvDLDCo/fC8yVdlTX+yaPbX0rbPakIu3csXuYW3M+avKmGM8SqZX OSEJSyJ/EhIiNN8QpumYGivH3493F6X1P1DrLeRMtUPbJNABdlbBjtYWKT80OIHZivikXM i1kdNNnVwwuSeYNyhHtqpeIiCofAcUxlT9nko6csWmTmwT30lsm6vTlcpRyPXtna8orecd TXjOWIImIKlrxVZPD/F8R7tHcPhGN2dJ1tNx1S/uEGa0n1r0ZbYrTqYAQVqwSg== 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=1780492546; 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=c8Oh83++P9StM0zOt02q+LLqwlh3bvjIkjPp4QFtqZ8=; b=B/qDRU0S2TYTHZISYuP630XiQA7B8L0nPQ25Qeknr44pad9YM1/X0u+mBz2fctQSEBCLED 4N7AvPMcQJYHM/FCOX9AU6m6Wa9dL3DGEzrkNAZJZxYHxU0GRacgBtVEfsF6toe9CT+eT6 TCQKCIJpp2nXKrzXDVypOjG9G9Ra+uMinXVOmoYlyJjqQZTru9jQTYNb3z2+bpya9jOFoE Qvoi3TAump1xXWOt157fEprB2uT3NYN0007z38EAFTAYwSeCHTXiawFEbSImT2eD7pXEIr j4ake4EtnlqsxXb5juwxiyhzLdv0XZHdENPP88whhfNo/bA9bw7GWKFB4WRP5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVp9G49rxz1B5x for ; Wed, 03 Jun 2026 13:15:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30559 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 13:15:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ishan Agrawal From: Kristof Provost Subject: git: 017690e50913 - main - netpfil: add PF netlink command decoding support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 017690e509134422dbfa80316eab56d8d3f87065 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 13:15:41 +0000 Message-Id: <6a2028fd.30559.3287a30@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=017690e509134422dbfa80316eab56d8d3f87065 commit 017690e509134422dbfa80316eab56d8d3f87065 Author: Ishan Agrawal AuthorDate: 2026-06-01 12:24:05 +0000 Commit: Kristof Provost CommitDate: 2026-06-03 08:52:06 +0000 netpfil: add PF netlink command decoding support Convert PFNL_CMD values in pf_nl.h from an enum to #define constants, add a pfnl_cmd table definition for mktable, and implement the corresponding command decoding helpers in libsysdecode. This allows mktable to generate PF netlink command lookup tables and enables symbolic decoding of PF netlink commands. Reviewed by: kp Signed-off-by: Ishan Agrawal Sponsored by: Google LLC (GSoC 2026) --- lib/libsysdecode/flags.c | 8 ++++ lib/libsysdecode/mktables | 1 + lib/libsysdecode/sysdecode.h | 1 + sys/netpfil/pf/pf_nl.h | 103 +++++++++++++++++++++---------------------- 4 files changed, 61 insertions(+), 52 deletions(-) diff --git a/lib/libsysdecode/flags.c b/lib/libsysdecode/flags.c index f8e26e6a9dae..8009a7a2f97e 100644 --- a/lib/libsysdecode/flags.c +++ b/lib/libsysdecode/flags.c @@ -69,6 +69,7 @@ #include #include #include +#include #include "support.h" @@ -1207,3 +1208,10 @@ sysdecode_itimer(int which) return (lookup_value(itimerwhich, which)); } + +const char * +sysdecode_pfnl_cmd(int cmd) +{ + + return (lookup_value(pfnl_cmd, cmd)); +} diff --git a/lib/libsysdecode/mktables b/lib/libsysdecode/mktables index 6b4f79402660..2bfbaf529f44 100644 --- a/lib/libsysdecode/mktables +++ b/lib/libsysdecode/mktables @@ -170,6 +170,7 @@ else fi gen_table "shmflags" "SHM_[A-Z_]+[[:space:]]+0x[0-9]+" "sys/mman.h" "SHM_ANON" gen_table "itimerwhich" "ITIMER_[A-Z]+[[:space:]]+[0-9]+" "sys/time.h" +gen_table "pfnl_cmd" "PFNL_CMD_[A-Z_]+[[:space:]]+[0-9]+" "netpfil/pf/pf_nl.h" # Generate a .depend file for our output file if [ -n "$output_file" ]; then diff --git a/lib/libsysdecode/sysdecode.h b/lib/libsysdecode/sysdecode.h index dad9d447478c..4675b1e3c463 100644 --- a/lib/libsysdecode/sysdecode.h +++ b/lib/libsysdecode/sysdecode.h @@ -66,6 +66,7 @@ const char *sysdecode_ipproto(int _protocol); void sysdecode_kevent_fflags(FILE *_fp, short _filter, int _fflags, int _base); const char *sysdecode_itimer(int _which); +const char *sysdecode_pfnl_cmd(int cmd); const char *sysdecode_kevent_filter(int _filter); bool sysdecode_kevent_flags(FILE *_fp, int _flags, int *_rem); const char *sysdecode_kldsym_cmd(int _cmd); diff --git a/sys/netpfil/pf/pf_nl.h b/sys/netpfil/pf/pf_nl.h index 4d0186ea86a5..34ad5be75917 100644 --- a/sys/netpfil/pf/pf_nl.h +++ b/sys/netpfil/pf/pf_nl.h @@ -34,58 +34,57 @@ #define PFNL_FAMILY_NAME "pfctl" /* available commands */ -enum { - PFNL_CMD_UNSPEC = 0, - PFNL_CMD_GETSTATES = 1, - PFNL_CMD_GETCREATORS = 2, - PFNL_CMD_START = 3, - PFNL_CMD_STOP = 4, - PFNL_CMD_ADDRULE = 5, - PFNL_CMD_GETRULES = 6, - PFNL_CMD_GETRULE = 7, - PFNL_CMD_CLRSTATES = 8, - PFNL_CMD_KILLSTATES = 9, - PFNL_CMD_SET_STATUSIF = 10, - PFNL_CMD_GET_STATUS = 11, - PFNL_CMD_CLEAR_STATUS = 12, - PFNL_CMD_NATLOOK = 13, - PFNL_CMD_SET_DEBUG = 14, - PFNL_CMD_SET_TIMEOUT = 15, - PFNL_CMD_GET_TIMEOUT = 16, - PFNL_CMD_SET_LIMIT = 17, - PFNL_CMD_GET_LIMIT = 18, - PFNL_CMD_BEGIN_ADDRS = 19, - PFNL_CMD_ADD_ADDR = 20, - PFNL_CMD_GET_ADDRS = 21, - PFNL_CMD_GET_ADDR = 22, - PFNL_CMD_GET_RULESETS = 23, - PFNL_CMD_GET_RULESET = 24, - PFNL_CMD_GET_SRCNODES = 25, - PFNL_CMD_CLEAR_TABLES = 26, - PFNL_CMD_ADD_TABLE = 27, - PFNL_CMD_DEL_TABLE = 28, - PFNL_CMD_GET_TSTATS = 29, - PFNL_CMD_CLR_TSTATS = 30, - PFNL_CMD_CLR_ADDRS = 31, - PFNL_CMD_TABLE_ADD_ADDR = 32, - PFNL_CMD_TABLE_DEL_ADDR = 33, - PFNL_CMD_TABLE_SET_ADDR = 34, - PFNL_CMD_TABLE_GET_ADDR = 35, - PFNL_CMD_TABLE_GET_ASTATS = 36, - PFNL_CMD_TABLE_CLEAR_ASTATS = 37, - PFNL_CMD_STATE_LIMITER_ADD = 38, - PFNL_CMD_STATE_LIMITER_GET = 39, - PFNL_CMD_STATE_LIMITER_NGET = 40, - PFNL_CMD_SOURCE_LIMITER_ADD = 41, - PFNL_CMD_SOURCE_LIMITER_GET = 42, - PFNL_CMD_SOURCE_LIMITER_NGET = 43, - PFNL_CMD_SOURCE_GET = 44, - PFNL_CMD_SOURCE_NGET = 45, - PFNL_CMD_SOURCE_CLEAR = 46, - PFNL_CMD_TABLE_TEST_ADDRS = 47, - __PFNL_CMD_MAX, -}; -#define PFNL_CMD_MAX (__PFNL_CMD_MAX -1) +#define PFNL_CMD_UNSPEC 0 +#define PFNL_CMD_GETSTATES 1 +#define PFNL_CMD_GETCREATORS 2 +#define PFNL_CMD_START 3 +#define PFNL_CMD_STOP 4 +#define PFNL_CMD_ADDRULE 5 +#define PFNL_CMD_GETRULES 6 +#define PFNL_CMD_GETRULE 7 +#define PFNL_CMD_CLRSTATES 8 +#define PFNL_CMD_KILLSTATES 9 +#define PFNL_CMD_SET_STATUSIF 10 +#define PFNL_CMD_GET_STATUS 11 +#define PFNL_CMD_CLEAR_STATUS 12 +#define PFNL_CMD_NATLOOK 13 +#define PFNL_CMD_SET_DEBUG 14 +#define PFNL_CMD_SET_TIMEOUT 15 +#define PFNL_CMD_GET_TIMEOUT 16 +#define PFNL_CMD_SET_LIMIT 17 +#define PFNL_CMD_GET_LIMIT 18 +#define PFNL_CMD_BEGIN_ADDRS 19 +#define PFNL_CMD_ADD_ADDR 20 +#define PFNL_CMD_GET_ADDRS 21 +#define PFNL_CMD_GET_ADDR 22 +#define PFNL_CMD_GET_RULESETS 23 +#define PFNL_CMD_GET_RULESET 24 +#define PFNL_CMD_GET_SRCNODES 25 +#define PFNL_CMD_CLEAR_TABLES 26 +#define PFNL_CMD_ADD_TABLE 27 +#define PFNL_CMD_DEL_TABLE 28 +#define PFNL_CMD_GET_TSTATS 29 +#define PFNL_CMD_CLR_TSTATS 30 +#define PFNL_CMD_CLR_ADDRS 31 +#define PFNL_CMD_TABLE_ADD_ADDR 32 +#define PFNL_CMD_TABLE_DEL_ADDR 33 +#define PFNL_CMD_TABLE_SET_ADDR 34 +#define PFNL_CMD_TABLE_GET_ADDR 35 +#define PFNL_CMD_TABLE_GET_ASTATS 36 +#define PFNL_CMD_TABLE_CLEAR_ASTATS 37 +#define PFNL_CMD_STATE_LIMITER_ADD 38 +#define PFNL_CMD_STATE_LIMITER_GET 39 +#define PFNL_CMD_STATE_LIMITER_NGET 40 +#define PFNL_CMD_SOURCE_LIMITER_ADD 41 +#define PFNL_CMD_SOURCE_LIMITER_GET 42 +#define PFNL_CMD_SOURCE_LIMITER_NGET 43 +#define PFNL_CMD_SOURCE_GET 44 +#define PFNL_CMD_SOURCE_NGET 45 +#define PFNL_CMD_SOURCE_CLEAR 46 +#define PFNL_CMD_TABLE_TEST_ADDRS 47 + +#define __PFNL_CMD_MAX 48 +#define PFNL_CMD_MAX (__PFNL_CMD_MAX - 1) enum pfstate_key_type_t { PF_STK_UNSPEC, From nobody Wed Jun 3 14:06:35 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVqJG490nz6fv3x for ; Wed, 03 Jun 2026 14:06:54 +0000 (UTC) (envelope-from rionda@gmail.com) Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com [IPv6:2607:f8b0:4864:20::732]) (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 4gVqJG0bk5z3T7s for ; Wed, 03 Jun 2026 14:06:54 +0000 (UTC) (envelope-from rionda@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qk1-x732.google.com with SMTP id af79cd13be357-91550f68089so406862285a.2 for ; Wed, 03 Jun 2026 07:06:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780495608; x=1781100408; darn=freebsd.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=/mjrJYeAPPZoxDvIu1B/6JGK6DbM/UXbWXF7ooKB55o=; b=OCvJq61iuKRHC7T9q3yZirwBZ7UuG/Ntx2peT97mv4n8sw/vBsuWrKk+L2K1X09BGb OF7trFDIDGTvfS4OHYJ/uXnwMuUVlzm3SAMn4B1sODyhtcrYuk3Kc2wzLjqxH+xjQzrQ ui7qDlNbNT1fF5wov5dr3uKEdJWr4ON3Ai0ov37It5q/tFtWqvrWwdT3R9q2LerCI5WO 2qKOAYsdmKrQbw6Q6QgXU/qFYun4qM0s05Z1gDmXbD9JkyEW6NWcUT7oQo8G36pabt3T gLbpna8mbikmH/edzt8xvbiN+fak0pGJZjkxr/KgABTGhFHB2feYX1WfSCxBTO5xbKOl maiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780495608; x=1781100408; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/mjrJYeAPPZoxDvIu1B/6JGK6DbM/UXbWXF7ooKB55o=; b=mrNr2IBeVHu6e8r9OR3CTSRKM5sWHZpkti+hZO/dRaTS/eCHMPnPQeCDvBiKo2TRcf uihYBDeWlk9iXcptQOAb+ScC9KFrnmW8W9AZ5JfLtulIyCHor2LxrABDcdjDZdO7iB4w NbkS2KB1bZbtbf1Ol700K1YazBqvLhLVESkbmj4aPxYSDVFGR7bRr6lKIhK4CzZyAXO1 rWycdNdBSims6Qabwmia5yTCnEil2rKAMnZYei6y1MRRMSBmywRFxgXNOSYXH6DUUDBD yfAJmOpTnBUbgWTCBtEJNbmQrP371iNOfDQh0Fi9xTmkuBOP8AKZ5fv5IZ5CK9Ste9ba 0foA== X-Forwarded-Encrypted: i=1; AFNElJ/bpCvEj5o82au/XLsVnumY2t///BD7QCv7zZOkal5g+urZwlE/KRgqDqLiYQwMIwHebwcn1SlGiOGr1iuwscw0y+57@freebsd.org X-Gm-Message-State: AOJu0YwLgAsAUBwOac7UqsvWHzmCfVG+wAy0nVyJC7VfefNjozw4xgag BpmorQYEfPvUNTD1CZd8PUk/fUgPj6dfKVKnI2f2VM0fTh4IhX8+Dfl7 X-Gm-Gg: Acq92OEQbok906knVJ7oMFKvOduFhFeA+X76JbySzpVYIkNIbhqzUnkLTUjLmfLOBTI jKZC0hf0dHNf46mBb4aqW4Gvde330S25h3w3fNUAeWnsLgAIjhOJ4pUhDbYkbOSIXKbzjFVsGVm AS0bMM2XbieRBkSEOsdFP2460ZaR2yxNNjU0P4Yv4sr5o77g7SSj4IUinyHo1m+t1qtA6q79JXq HruMWrDgzXDwDkz5hERoONBSmkE0LbIKEnQsk0ZglMPN824Seipqr+QCVHV93wifvEOR70g0XnV zkPRoUKOrSvPCCSGQFejV41p8QBXBbJVPlZKe/B3WgW7oxSbVwicOUFnBbrOY3JbSNhwJomoYbp T/XVbDBVWMw6C+QZuwcMfZL17iomZ9Jx5PDwOWL/u1DQTlkgVY5/jZ6SLvTzVTc6QURcZ/O9fDk 97viBICyOmoV9+gJara0C0J4WGM5RQPnNGhOazIFHgF8Yh5Gqoh4gewOFOzCTqJgdobJ58z9Jvs XGf/IPAFEokSn5khNCJCEAZrauUKgMyXFPm X-Received: by 2002:a05:622a:346:b0:50e:a1aa:2cd9 with SMTP id d75a77b69052e-517785cd43emr50963911cf.15.1780495608022; Wed, 03 Jun 2026 07:06:48 -0700 (PDT) Received: from smtpclient.apple (pafw-natd-255-179.amherst.edu. [148.85.255.179]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-51775d81f7asm24555871cf.19.2026.06.03.07.06.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Jun 2026 07:06:46 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.600.51.1.1\)) Subject: Re: git: 3d9cd10b2857 - main - pfdenied: fix checking root anchor From: Matteo Riondato In-Reply-To: <6a2028fe.3230e.63c5c7f2@gitrepo.freebsd.org> Date: Wed, 3 Jun 2026 10:06:35 -0400 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <6a2028fe.3230e.63c5c7f2@gitrepo.freebsd.org> To: Kristof Provost X-Mailer: Apple Mail (2.3864.600.51.1.1) X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4gVqJG0bk5z3T7s X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated This also fixes https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D292184= > On Jun 3, 2026, at 9:15=E2=80=AFAM, Kristof Provost = wrote: >=20 > The branch main has been updated by kp: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D3d9cd10b2857ee7a9ec1b04457d9ec44= f614d32c >=20 > commit 3d9cd10b2857ee7a9ec1b04457d9ec44f614d32c > Author: Kristof Provost > AuthorDate: 2026-06-03 08:49:31 +0000 > Commit: Kristof Provost > CommitDate: 2026-06-03 08:52:06 +0000 >=20 > pfdenied: fix checking root anchor >=20 > pfctl doesn't like empty anchors (-a ''), but we can specify the = root > anchor as '/' too, so do that instead. >=20 > PR: 295324 > Tested by: Pawe=C5=82 Krawczyk > MFC after: 1 week > Sponsored by: Rubicon Communications, LLC ("Netgate") > --- > usr.sbin/periodic/etc/security/520.pfdenied | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/usr.sbin/periodic/etc/security/520.pfdenied = b/usr.sbin/periodic/etc/security/520.pfdenied > index d87dfa0ae64c..a3cddf30d726 100755 > --- a/usr.sbin/periodic/etc/security/520.pfdenied > +++ b/usr.sbin/periodic/etc/security/520.pfdenied > @@ -41,7 +41,7 @@ rc=3D0 > if check_yesno_period security_status_pfdenied_enable > then > TMP=3D`mktemp -t security` > - for _a in "" $(pfctl -a "blacklistd" -sA 2>/dev/null) $(pfctl -a = "blocklistd" -sA 2>/dev/null) = ${security_status_pfdenied_additionalanchors} > + for _a in "/" $(pfctl -a "blacklistd" -sA 2>/dev/null) $(pfctl -a = "blocklistd" -sA 2>/dev/null) = ${security_status_pfdenied_additionalanchors} > do > pfctl -a "${_a}" -sr -v -z 2>/dev/null | \ > nawk '{if (/^block/) {buf=3D$0; getline; gsub(" +"," ",$0); if ($5 > = 0) print buf$0;} }' >> ${TMP} >=20 Thanks,=20 Matteo From nobody Wed Jun 3 14:27:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVqmJ5Zf3z6fxTd; Wed, 03 Jun 2026 14:27:44 +0000 (UTC) (envelope-from aokblast@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVqmJ4Szvz3Xvg; Wed, 03 Jun 2026 14:27:44 +0000 (UTC) (envelope-from aokblast@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780496864; 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: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=VrCPkVrhy+40qzIdzbkdtDf6oWvA9LLW8U+/PrBVRpA=; b=AJ4wcxt5vtqvDqSWVLW8hNaawv5teXgGl1+uW7BBTVxr//NgLk/u+rMbtYJQGtkNArQ7MU 2BU8gjUD/a1U2wmatW+ng+PRcVRuXs7uYal5PX+Hin9Bbc3uFnbDPOdqaSt2jXWMZzoNuF lzVW085WzxVCWI5xmzQWXyLEANc/VNoxrlNmnA+JA5jxCqf4TlPJD9okcx5jdYfdbTGyzP 5ir7zsWCYUgUREWtTetm3RifX7ODlqVRDmjXJrcPQ16Zr2sTC6gjL6gOJskR2bldzfWNdt 6cxbvtQjru1HPDodjQgYNzSkPB7ANe5+qQLSypUdRbBVfAf8IttLj9Cu3P/EpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780496864; a=rsa-sha256; cv=none; b=eMhxo1P6UAG76KQDmO4O7x4BbthZ2EyAOaoZSQEiEmxU7cZeyBJo+n6TByalx6TNN0i6e6 ASPPCnGNWHMg5BH0cVIA5k+ZEgVOGgMg4dH919eYu6C+oAaCmwrZ/HKqwQBaHyzy07dnyi 7znTJoygrM5g7L3vWFcpNhCwR2Rdxs5ibLQgmbPsj4c2ZXX88DfPadCi2iNJQNYeZbo01o ksfj+U97Cx2EdQzCsKRmp6b2tbO81qm5KmurP17Qrn3CEAAJzizftcbK/ttJA7DX0h/en1 Bn03Zf+N3C/drKTBQvYsGBKkySxoeSqpUhCYCbVjaYqPkvbd91QVI7rSNWqzOA== 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=1780496864; 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: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=VrCPkVrhy+40qzIdzbkdtDf6oWvA9LLW8U+/PrBVRpA=; b=hshtRbmfAPPe5WH7Fmbg3aFAuirnu4jBik0j9i7hKhcx5ElyqlF9gz9Y+rtdqpEA6ONhTv gGdZxWvWDscSazGGe/boFNWIMduxWuaeny/i8nBjrEnos2Zr8vRYfPs/So5/A7LjFUaQZK nbbVDCOYdC/VAhWiNcWF5XvohETG5Ggiuhxojd9LDnZpbBOUDTaorOFTpKeJTKFW6Lwh1W CqUUiZIHXcWqqT5idJA32pqAAJIfwy3QUIz4JaIVr66+NNEXSV0xjH545Bl5pR3sf9iwPq OzbSdX3RVYYK7DKYn4X/cdJauye97krkupJygVHIYIeUgBVB2mHguhwVoq2yEw== Received: from [IPV6:2001:b011:3808:7bbd:bd1d:650b:e094:4fed] (2001-b011-3808-7bbd-bd1d-650b-e094-4fed.dynamic-ip6.hinet.net [IPv6:2001:b011:3808:7bbd:bd1d:650b:e094:4fed]) (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: aokblast) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gVqmG6tZmzHk9; Wed, 03 Jun 2026 14:27:42 +0000 (UTC) (envelope-from aokblast@FreeBSD.org) Message-ID: <5c2775ac-fbd4-4398-9ce1-4e4544adadb0@FreeBSD.org> Date: Wed, 3 Jun 2026 22:27:27 +0800 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 7b26353a59d6 - main - hwpstate_intel: Disable package control on hybrid CPU To: Adrian Chadd Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <6a1e7b3b.1a45a.91f6820@gitrepo.freebsd.org> Content-Language: en-US From: ShengYi Hung Autocrypt: addr=aokblast@FreeBSD.org; keydata= xsDNBGhkuaEBDAD0a1Cu+ntw+v0/ZZnqTewGcd335T5tfktBEt22FsaoBqca7TSp/AvP/bWD 3YtJFlxi7TJQbb2H+ylPzusPaN/R1Sj6wQsRD1Fj+1AjF9EOqxdohXm0SoWs3sRRbMrMGp6q DTQQBMj3TEuSE26gLxmpadtiAsyNDcNCllMSXAZ7xlk+ra9x/pAqOR0TZvObwY8VUncCy6UW UIGmsUF5B7oR2v7i9rFk/3ILkcoIC1k+OlhMbxBpwPLA24Aj8sZX9dzFbwLn2wucqRUzE9Id zrwpQpRHxH0t849VBhLze+zP8s6IUtgKaTUjClmCfZXVVBpFswXJmxgDRo51Ed+X94K2y6FS DRMxwiz18vnJNWlB+aHH5wTbgoTKU+zOckXODBowNEEmYpQNVNYJs1nP6tGRmN4YwW5hcNQY dUmFKR44uYdJomcqxkzJjU4rv4NBOdzrQTw+h5gCUdQ5IvBBGTA1enEP1qMhCpwTOfMd53of 17BC3CMFNTu8rburHceMaU0AEQEAAc0jU2hlbmdZaSBIdW5nIDxhb2tibGFzdEBGcmVlQlNE Lm9yZz7CwRcEEwEIAEEWIQSIP4S1lgaPs34UknRfTtfYEmBsYAUCaGS5oQIbAwUJBaOagAUL CQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBfTtfYEmBsYJKeDAC/aJjRjMM9k9n6uwUW HemoAUGjv5fxkIpHWYCltnZ9KMs+TZXLsUZrv9DxOV4E3ebEn7iMJbOAvIjjVK//qexo6/er 9EZow4e/EQJLIL/0xRDiF4Jg7l1jziAI26P6dyuMNzeHddFg7ALVfE9wPCFqn3QGbHqDVjI/ E9UcxXiwHktndAo1wJXdEq9F8Ufmtj1t9NasTip8ofNgKfWCGhyyZI0kvhvob5darflQMO8Y G61zmSteO5Es8i9sP+lOhwEgsgHl0L/gQtMrOko9Td1iOSMuaP9t3rx7pOnYLdKt+xw8kWnB IW6GNEzp5QVJxmzr4DiyvvuR4SxnYy2tZjzQV4W8njBvw8SmZs0oS40iP8XNAoc91xLBizDn Lne3BDYOMXgm4csmDnJBM8s7Gaoc+WMY+hDP9SKWSqhyJUg8tauVhmPP3sTEXJbHoD0TuXxO SwG9nEdKoeWQCA0XMXQGfYWHKy1qz3spYCFgXHqmF+WBLljqLaeHQsHmvUhUIuTOwM0EaGS5 oQEMAMiauBmqNndH0AaX9cqOCf660X6fj7iidxwPY9pSUBOgZ3c13pRJLiR6xsYnOWm+Dgf2 BbNOz5iEtwx3Msrjw70/LsTJ4FdByUXZPZwujaPZ2SfowLMXXZbEJrPkJ2HeamaDw/Gf5O/p aDtAS3i8sFkKiOHwBX4doaL5Rxy/oqSpYTYL8tBFUWMHHk4ji12P6Pw1aW2H81XzKTae1Tga 8ViuiWzqibbbk5ddHjr/L+6LfTDM00K7WTZVBnW0qsMZJ9PQpt8636cuJx6D3ITXxtg4IzFN z7HOKbPQazSGhaqsbdxKmtwcP2uZEycsX+hPhtoOS2FuF5nWIYRZSzWBxWiOopHdRLL4YfAL MsGhFdnPH/J3G9gyBroiCiq2moRl2OSgo9W6rMxLCm62657zsvCo8p/KxaGq/ynwCAoQ1wHQ aVerJkGMf0n5tLkbNm2SyAbRy3tA/EfbzT0Yufq5gu9zGN/Uxf5hgFO6UqDHrlPeSSz++6m/ OAj3yLIsl2GpDwARAQABwsD8BBgBCAAmFiEEiD+EtZYGj7N+FJJ0X07X2BJgbGAFAmhkuaEC GwwFCQWjmoAACgkQX07X2BJgbGAJswv/dODZRYTWb/Xx8Y/Ei1OXLZIoNxoUHvBVEqO1xR/F JPwYM8TVcihvhCfM5lLhYdY1pkLjXdlGbTKZtvdHWHLvs62jGVjUXij52z1jOurnX2u0x1vq 1zpklWBx4VQhd3sVtcyLNdDYBFi3epVf1NEctToWyfBys6ijtVkhjem3V/l0PI1WtkECzYfP TOA+guf4dmrGSHPOZpCyFwHPRcVI+4puva4s4tjCAYa5E56GkICUJLuT1x228iqr5OC8YA7F eOTN94L/GqII6joaX2HIrcpGDybRIhGty+BqXvRIpjp0z5PdDeHiFQFTnBAEnjiATAMDKd7S q8y7Pv8OD/ptOl7Fg5iexCGVoLc3idpo/5T5fEXEaEWcGF9HRUeRTrnqQ9yBnALsqoLLVfou eF5Cl7c3p1pwbdR0iSK9p4x6BDcnrnIE52vRCtCdivyxTNa+zKdjlI6gn7oNsRmOnQbkEXML 9WZi4YnrnITSzpkpCzeQCDI0gqUdsxsbt4Vi73Oq In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------S0Vk90gi0Q7VzJ07pXBLBhnB" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------S0Vk90gi0Q7VzJ07pXBLBhnB Content-Type: multipart/mixed; boundary="------------Wc80SZwNJqgQGmYi02rXBKW6"; protected-headers="v1"; hp="clear" Message-ID: <5c2775ac-fbd4-4398-9ce1-4e4544adadb0@FreeBSD.org> Date: Wed, 3 Jun 2026 22:27:27 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 7b26353a59d6 - main - hwpstate_intel: Disable package control on hybrid CPU To: Adrian Chadd Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <6a1e7b3b.1a45a.91f6820@gitrepo.freebsd.org> Content-Language: en-US From: ShengYi Hung Autocrypt: addr=aokblast@FreeBSD.org; keydata= xsDNBGhkuaEBDAD0a1Cu+ntw+v0/ZZnqTewGcd335T5tfktBEt22FsaoBqca7TSp/AvP/bWD 3YtJFlxi7TJQbb2H+ylPzusPaN/R1Sj6wQsRD1Fj+1AjF9EOqxdohXm0SoWs3sRRbMrMGp6q DTQQBMj3TEuSE26gLxmpadtiAsyNDcNCllMSXAZ7xlk+ra9x/pAqOR0TZvObwY8VUncCy6UW UIGmsUF5B7oR2v7i9rFk/3ILkcoIC1k+OlhMbxBpwPLA24Aj8sZX9dzFbwLn2wucqRUzE9Id zrwpQpRHxH0t849VBhLze+zP8s6IUtgKaTUjClmCfZXVVBpFswXJmxgDRo51Ed+X94K2y6FS DRMxwiz18vnJNWlB+aHH5wTbgoTKU+zOckXODBowNEEmYpQNVNYJs1nP6tGRmN4YwW5hcNQY dUmFKR44uYdJomcqxkzJjU4rv4NBOdzrQTw+h5gCUdQ5IvBBGTA1enEP1qMhCpwTOfMd53of 17BC3CMFNTu8rburHceMaU0AEQEAAc0jU2hlbmdZaSBIdW5nIDxhb2tibGFzdEBGcmVlQlNE Lm9yZz7CwRcEEwEIAEEWIQSIP4S1lgaPs34UknRfTtfYEmBsYAUCaGS5oQIbAwUJBaOagAUL CQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBfTtfYEmBsYJKeDAC/aJjRjMM9k9n6uwUW HemoAUGjv5fxkIpHWYCltnZ9KMs+TZXLsUZrv9DxOV4E3ebEn7iMJbOAvIjjVK//qexo6/er 9EZow4e/EQJLIL/0xRDiF4Jg7l1jziAI26P6dyuMNzeHddFg7ALVfE9wPCFqn3QGbHqDVjI/ E9UcxXiwHktndAo1wJXdEq9F8Ufmtj1t9NasTip8ofNgKfWCGhyyZI0kvhvob5darflQMO8Y G61zmSteO5Es8i9sP+lOhwEgsgHl0L/gQtMrOko9Td1iOSMuaP9t3rx7pOnYLdKt+xw8kWnB IW6GNEzp5QVJxmzr4DiyvvuR4SxnYy2tZjzQV4W8njBvw8SmZs0oS40iP8XNAoc91xLBizDn Lne3BDYOMXgm4csmDnJBM8s7Gaoc+WMY+hDP9SKWSqhyJUg8tauVhmPP3sTEXJbHoD0TuXxO SwG9nEdKoeWQCA0XMXQGfYWHKy1qz3spYCFgXHqmF+WBLljqLaeHQsHmvUhUIuTOwM0EaGS5 oQEMAMiauBmqNndH0AaX9cqOCf660X6fj7iidxwPY9pSUBOgZ3c13pRJLiR6xsYnOWm+Dgf2 BbNOz5iEtwx3Msrjw70/LsTJ4FdByUXZPZwujaPZ2SfowLMXXZbEJrPkJ2HeamaDw/Gf5O/p aDtAS3i8sFkKiOHwBX4doaL5Rxy/oqSpYTYL8tBFUWMHHk4ji12P6Pw1aW2H81XzKTae1Tga 8ViuiWzqibbbk5ddHjr/L+6LfTDM00K7WTZVBnW0qsMZJ9PQpt8636cuJx6D3ITXxtg4IzFN z7HOKbPQazSGhaqsbdxKmtwcP2uZEycsX+hPhtoOS2FuF5nWIYRZSzWBxWiOopHdRLL4YfAL MsGhFdnPH/J3G9gyBroiCiq2moRl2OSgo9W6rMxLCm62657zsvCo8p/KxaGq/ynwCAoQ1wHQ aVerJkGMf0n5tLkbNm2SyAbRy3tA/EfbzT0Yufq5gu9zGN/Uxf5hgFO6UqDHrlPeSSz++6m/ OAj3yLIsl2GpDwARAQABwsD8BBgBCAAmFiEEiD+EtZYGj7N+FJJ0X07X2BJgbGAFAmhkuaEC GwwFCQWjmoAACgkQX07X2BJgbGAJswv/dODZRYTWb/Xx8Y/Ei1OXLZIoNxoUHvBVEqO1xR/F JPwYM8TVcihvhCfM5lLhYdY1pkLjXdlGbTKZtvdHWHLvs62jGVjUXij52z1jOurnX2u0x1vq 1zpklWBx4VQhd3sVtcyLNdDYBFi3epVf1NEctToWyfBys6ijtVkhjem3V/l0PI1WtkECzYfP TOA+guf4dmrGSHPOZpCyFwHPRcVI+4puva4s4tjCAYa5E56GkICUJLuT1x228iqr5OC8YA7F eOTN94L/GqII6joaX2HIrcpGDybRIhGty+BqXvRIpjp0z5PdDeHiFQFTnBAEnjiATAMDKd7S q8y7Pv8OD/ptOl7Fg5iexCGVoLc3idpo/5T5fEXEaEWcGF9HRUeRTrnqQ9yBnALsqoLLVfou eF5Cl7c3p1pwbdR0iSK9p4x6BDcnrnIE52vRCtCdivyxTNa+zKdjlI6gn7oNsRmOnQbkEXML 9WZi4YnrnITSzpkpCzeQCDI0gqUdsxsbt4Vi73Oq In-Reply-To: --------------Wc80SZwNJqgQGmYi02rXBKW6 Content-Type: multipart/mixed; boundary="------------9Dr8NiZlV0FLH6GK65cxhmKk" --------------9Dr8NiZlV0FLH6GK65cxhmKk Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 RHVyaW5nIENQVSBmcmVxdWVuY3kgaW5pdGlhbGl6YXRpb24sIGEgc3lzY3RsIGNhbGxiYWNr IGlzIHVzZWQgdG8gDQpyZXRyaWV2ZSBhbGwgYXZhaWxhYmxlIGZyZXF1ZW5jeSBwcm9maWxl cy4gQSB1c2VyLXNwYWNlIGRhZW1vbiAocG93ZXJkKSANCm9idGFpbnMgdGhpcyBsaXN0IGFu ZCB1c2VzIGJvdGggdGhlIGF2YWlsYWJsZSBwcm9maWxlcyBhbmQgdGhlIGN1cnJlbnQgDQp3 b3JrbG9hZCB0byBkZXRlcm1pbmUgdGhlIGFwcHJvcHJpYXRlIG9wZXJhdGluZyBmcmVxdWVu Y3kuIEl0IHRoZW4gY2FsbHMgDQpjcHVmcmVxX3NldCgpIHRvIHN3aXRjaCB0aGUgQ1BVIHRv IHRoZSBzZWxlY3RlZCBwcm9maWxlLg0KDQpJbiBteSBwcmVzZW50YXRpb24gYXQgQXNpYUJT RENvbiwgSSBwcm9wb3NlZCBtb3ZpbmcgdGhpcyBmdW5jdGlvbmFsaXR5IA0KZnJvbSB1c2Vy IHNwYWNlIGludG8gdGhlIGtlcm5lbC4gT25lIGxpbWl0YXRpb24gb2YgdGhlIGN1cnJlbnQg ZGVzaWduIGlzIA0KdGhhdCB3aGVuIGEgdGFzayBtaWdyYXRlcyBmcm9tIG9uZSBDUFUgY29y ZSB0byBhbm90aGVyLCBwb3dlcmQgbXVzdCANCmVmZmVjdGl2ZWx5IHJlbGVhcm4gb3IgcmUt ZXZhbHVhdGUgdGhlIHdvcmtsb2FkIGNoYXJhY3RlcmlzdGljcyBiZWZvcmUgDQptYWtpbmcg ZnJlcXVlbmN5IGRlY2lzaW9ucy4gVGhlIGtlcm5lbCwgaG93ZXZlciwgYWxyZWFkeSBoYXMg ZGlyZWN0IA0KdmlzaWJpbGl0eSBpbnRvIHdvcmtsb2FkIHNjaGVkdWxpbmcgYW5kIHRhc2sg bWlncmF0aW9uIGV2ZW50cy4gQnkgDQprZWVwaW5nIHRoZSBwb2xpY3kgbG9naWMgaW4gdGhl IGtlcm5lbCwgd29ya2xvYWQgaW5mb3JtYXRpb24gY2FuIGJlIA0KY2FycmllZCBhY3Jvc3Mg Y29yZSBtaWdyYXRpb25zLCBlbmFibGluZyBtb3JlIHJlc3BvbnNpdmUgYW5kIGVmZmljaWVu dCANCkNQVSBmcmVxdWVuY3kgbWFuYWdlbWVudC4NCg0KRm9yIHRoZSBpbnRlcmZhY2UswqAg Y3B1ZnJlcSBkcml2ZXIgZXhwb3NlcyBtaW4gYW5kIG1heCBwZXJmb3JtYW5jZSB2YWx1ZSAN CihjYW4gYmUgZnJlcXVlbmN5IG9yIGFuIGFic3RyYWN0ZWQgdmFsdWUgbGlrZSBjcHBjIHBy b3ZpZGVkKSBpdCBjYW4gDQpwcm92aWRlcy4gVGhlIGtlcm5lbCBkZXRlY3RzIHRoZSB3b3Jr IGxvYWQgYW5kIHNldCB0aGUgZGVzaXJlZCANCnBlcmZvcm1hbmNlIGJldHdlZW4gbWluIGFu ZCBtYXggcGVyZm9ybWFuY2UuDQoNCk9uIDYvMy8yNiAwMjoyNSwgQWRyaWFuIENoYWRkIHdy b3RlOg0KPiAuLiBpdCBzb3VuZHMgbGlrZSB3ZSB3YW50IHRvIHNwbGl0IHRoaXMgdXAgaW50 byBwYWNrYWdlIHZlcnN1cyBjbHVzdGVyDQo+IGZyZXF1ZW5jeSBvciBzb21ldGhpbmc/DQo+ DQo+IFdoYXQncyB0aGUgQVBJIGxvb2sgbGlrZSByaWdodCBub3c/DQo+DQo+DQo+DQo+IC1h ZHJpYW4NCj4NCj4gT24gTW9uLCAxIEp1biAyMDI2IGF0IDIzOjQyLCBTaGVuZ1lpIEh1bmcg PGFva2JsYXN0QGZyZWVic2Qub3JnPiB3cm90ZToNCj4+IFRoZSBicmFuY2ggbWFpbiBoYXMg YmVlbiB1cGRhdGVkIGJ5IGFva2JsYXN0Og0KPj4NCj4+IFVSTDogaHR0cHM6Ly9jZ2l0LkZy ZWVCU0Qub3JnL3NyYy9jb21taXQvP2lkPTdiMjYzNTNhNTlkNjZkYzFiYzYxMWZkMDQyYTQ5 YjllM2JkMTM2OTkNCj4+DQo+PiBjb21taXQgN2IyNjM1M2E1OWQ2NmRjMWJjNjExZmQwNDJh NDliOWUzYmQxMzY5OQ0KPj4gQXV0aG9yOiAgICAgU2hlbmdZaSBIdW5nIDxhb2tibGFzdEBG cmVlQlNELm9yZz4NCj4+IEF1dGhvckRhdGU6IDIwMjYtMDYtMDEgMDk6NDY6MzcgKzAwMDAN Cj4+IENvbW1pdDogICAgIFNoZW5nWWkgSHVuZyA8YW9rYmxhc3RARnJlZUJTRC5vcmc+DQo+ PiBDb21taXREYXRlOiAyMDI2LTA2LTAyIDA2OjQxOjQxICswMDAwDQo+Pg0KPj4gICAgICBo d3BzdGF0ZV9pbnRlbDogRGlzYWJsZSBwYWNrYWdlIGNvbnRyb2wgb24gaHlicmlkIENQVQ0K Pj4NCj4+ICAgICAgSW4gcGFja2FnZSBjb250cm9sIG1vZGUsIHRoZSBwZXJmb3JtYW5jZSBv ZiBhbGwgY29yZXMgZGVwZW5kcyBvbiB0aGUNCj4+ICAgICAgbW9zdCByZWNlbnQgdmFsdWUg d3JpdHRlbiB0byB0aGUgcmVxdWVzdCBmaWVsZC4gSWYgdGhlIGxhc3Qgd3JpdGUgY29tZXMN Cj4+ICAgICAgZnJvbSBhbiBFLWNvcmUsIGFsbCBjb3JlcyBhcmUgZm9yY2VkIHRvIGFsaWdu IHdpdGggdGhlIEUtY29yZQ0KPj4gICAgICBwZXJmb3JtYW5jZSBsZXZlbCwgcmVzdWx0aW5n IGluIHNpZ25pZmljYW50IHBlcmZvcm1hbmNlIGRlZ3JhZGF0aW9uLg0KPj4gICAgICBUaGVy ZWZvcmUsIHBhY2thZ2UgY29udHJvbCBpcyBkaXNhYmxlZCBvbiBoeWJyaWQtY29yZSBzeXN0 ZW1zLg0KPj4NCj4+ICAgICAgUmV2aWV3ZWQgYnk6ICAgIG9sY2UNCj4+ICAgICAgTUZDIGFm dGVyOiAgICAgIDIgd2Vla3MNCj4+ICAgICAgU3BvbnNvcmVkIGJ5OiAgIFRoZSBGcmVlQlNE IEZvdW5kYXRpb24NCj4+ICAgICAgU3BvbnNvcmVkIGJ5OiAgIEZyYW1ld29yayBDb21wdXRl ciBJbmMNCj4+ICAgICAgRGlmZmVyZW50aWFsIFJldmlzaW9uOiBodHRwczovL3Jldmlld3Mu ZnJlZWJzZC5vcmcvRDU3Mzc3DQo+PiAtLS0NCj4+ICAgc3lzL3g4Ni9jcHVmcmVxL2h3cHN0 YXRlX2ludGVsLmMgfCAyMSArKysrKysrKysrKysrKysrKysrKysNCj4+ICAgMSBmaWxlIGNo YW5nZWQsIDIxIGluc2VydGlvbnMoKykNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvc3lzL3g4Ni9j cHVmcmVxL2h3cHN0YXRlX2ludGVsLmMgYi9zeXMveDg2L2NwdWZyZXEvaHdwc3RhdGVfaW50 ZWwuYw0KPj4gaW5kZXggM2QyY2MwYTU5NjZiLi5kYjg2MDBkN2I4OWEgMTAwNjQ0DQo+PiAt LS0gYS9zeXMveDg2L2NwdWZyZXEvaHdwc3RhdGVfaW50ZWwuYw0KPj4gKysrIGIvc3lzL3g4 Ni9jcHVmcmVxL2h3cHN0YXRlX2ludGVsLmMNCj4+IEBAIC0zMjEsOSArMzIxLDE5IEBAIG91 dDoNCj4+ICAgICAgICAgIHJldHVybiAocmV0KTsNCj4+ICAgfQ0KPj4NCj4+ICtzdGF0aWMg dm9pZA0KPj4gK2ludGVsX2h3cHN0YXRlX2h5YnJpZF9jYih2b2lkICpjdHgpDQo+PiArew0K Pj4gKyAgICAgICB1aW50MzJfdCAqc21hbGxfY29yZXMgPSBjdHg7DQo+PiArDQo+PiArICAg ICAgIGF0b21pY19hZGRfMzIoc21hbGxfY29yZXMsIFBDUFVfR0VUKHNtYWxsX2NvcmUpKTsN Cj4+ICt9DQo+PiArDQo+PiAgIHZvaWQNCj4+ICAgaW50ZWxfaHdwc3RhdGVfaWRlbnRpZnko ZHJpdmVyX3QgKmRyaXZlciwgZGV2aWNlX3QgcGFyZW50KQ0KPj4gICB7DQo+PiArICAgICAg IHVpbnQzMl90IHNtYWxsX2NvcmVzID0gMDsNCj4+ICsNCj4+ICAgICAgICAgIGlmIChkZXZp Y2VfZmluZF9jaGlsZChwYXJlbnQsICJod3BzdGF0ZV9pbnRlbCIsIERFVklDRV9VTklUX0FO WSkgIT0gTlVMTCkNCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KPj4NCj4+IEBAIC0z NDMsNiArMzUzLDE3IEBAIGludGVsX2h3cHN0YXRlX2lkZW50aWZ5KGRyaXZlcl90ICpkcml2 ZXIsIGRldmljZV90IHBhcmVudCkNCj4+ICAgICAgICAgIGlmICgoY3B1X3Bvd2VyX2VheCAm IENQVVRQTTFfSFdQKSA9PSAwKQ0KPj4gICAgICAgICAgICAgICAgICByZXR1cm47DQo+Pg0K Pj4gKyAgICAgICAvKg0KPj4gKyAgICAgICAgKiBPbiBoeWJyaWQtY29yZSBzeXN0ZW1zLCBw YWNrYWdlLWxldmVsIGNvbnRyb2wgY2Fubm90IGJlIHVzZWQuDQo+PiArICAgICAgICAqIEl0 IG1heSBjYXVzZSBhbGwgY29yZXMgdG8gcnVuIGF0IHRoZSBFLWNvcmUgZnJlcXVlbmN5IGJl Y2F1c2UNCj4+ICsgICAgICAgICogdGhlIHJlc3VsdGluZyBwYWNrYWdlIGZyZXF1ZW5jeSBk ZXBlbmRzIG9uIHRoZSBsYXN0IGNvcmUgdGhhdA0KPj4gKyAgICAgICAgKiBzZXRzIHRoZSBm cmVxdWVuY3kuDQo+PiArICAgICAgICAqLw0KPj4gKyAgICAgICBzbXBfcmVuZGV6dm91c19j cHVzKGFsbF9jcHVzLCBzbXBfbm9fcmVuZGV6dm91c19iYXJyaWVyLA0KPj4gKyAgICAgICAg ICAgaW50ZWxfaHdwc3RhdGVfaHlicmlkX2NiLCBzbXBfbm9fcmVuZGV6dm91c19iYXJyaWVy LCAmc21hbGxfY29yZXMpOw0KPj4gKyAgICAgICBpZiAoc21hbGxfY29yZXMgPiAwICYmIHNt YWxsX2NvcmVzIDwgbXBfbmNvcmVzKQ0KPj4gKyAgICAgICAgICAgICAgIGh3cHN0YXRlX3Br Z19jdHJsX2VuYWJsZSA9IGZhbHNlOw0KPj4gKw0KPj4gICAgICAgICAgaWYgKEJVU19BRERf Q0hJTEQocGFyZW50LCAxMCwgImh3cHN0YXRlX2ludGVsIiwgZGV2aWNlX2dldF91bml0KHBh cmVudCkpDQo+PiAgICAgICAgICAgICAgPT0gTlVMTCkNCj4+ICAgICAgICAgICAgICAgICAg ZGV2aWNlX3ByaW50ZihwYXJlbnQsICJod3BzdGF0ZV9pbnRlbDogYWRkIGNoaWxkIGZhaWxl ZFxuIik7DQo+Pg0K --------------9Dr8NiZlV0FLH6GK65cxhmKk Content-Type: application/pgp-keys; name="OpenPGP_0x5F4ED7D812606C60.asc" Content-Disposition: attachment; filename="OpenPGP_0x5F4ED7D812606C60.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xsDNBGhkuaEBDAD0a1Cu+ntw+v0/ZZnqTewGcd335T5tfktBEt22FsaoBqca7TSp /AvP/bWD3YtJFlxi7TJQbb2H+ylPzusPaN/R1Sj6wQsRD1Fj+1AjF9EOqxdohXm0 SoWs3sRRbMrMGp6qDTQQBMj3TEuSE26gLxmpadtiAsyNDcNCllMSXAZ7xlk+ra9x /pAqOR0TZvObwY8VUncCy6UWUIGmsUF5B7oR2v7i9rFk/3ILkcoIC1k+OlhMbxBp wPLA24Aj8sZX9dzFbwLn2wucqRUzE9IdzrwpQpRHxH0t849VBhLze+zP8s6IUtgK aTUjClmCfZXVVBpFswXJmxgDRo51Ed+X94K2y6FSDRMxwiz18vnJNWlB+aHH5wTb goTKU+zOckXODBowNEEmYpQNVNYJs1nP6tGRmN4YwW5hcNQYdUmFKR44uYdJomcq xkzJjU4rv4NBOdzrQTw+h5gCUdQ5IvBBGTA1enEP1qMhCpwTOfMd53of17BC3CMF NTu8rburHceMaU0AEQEAAc0jU2hlbmdZaSBIdW5nIDxhb2tibGFzdEBGcmVlQlNE Lm9yZz7CwRcEEwEIAEEWIQSIP4S1lgaPs34UknRfTtfYEmBsYAUCaGS5oQIbAwUJ BaOagAULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBfTtfYEmBsYJKeDAC/ aJjRjMM9k9n6uwUWHemoAUGjv5fxkIpHWYCltnZ9KMs+TZXLsUZrv9DxOV4E3ebE n7iMJbOAvIjjVK//qexo6/er9EZow4e/EQJLIL/0xRDiF4Jg7l1jziAI26P6dyuM NzeHddFg7ALVfE9wPCFqn3QGbHqDVjI/E9UcxXiwHktndAo1wJXdEq9F8Ufmtj1t 9NasTip8ofNgKfWCGhyyZI0kvhvob5darflQMO8YG61zmSteO5Es8i9sP+lOhwEg sgHl0L/gQtMrOko9Td1iOSMuaP9t3rx7pOnYLdKt+xw8kWnBIW6GNEzp5QVJxmzr 4DiyvvuR4SxnYy2tZjzQV4W8njBvw8SmZs0oS40iP8XNAoc91xLBizDnLne3BDYO MXgm4csmDnJBM8s7Gaoc+WMY+hDP9SKWSqhyJUg8tauVhmPP3sTEXJbHoD0TuXxO SwG9nEdKoeWQCA0XMXQGfYWHKy1qz3spYCFgXHqmF+WBLljqLaeHQsHmvUhUIuTO wM0EaGS5oQEMAMiauBmqNndH0AaX9cqOCf660X6fj7iidxwPY9pSUBOgZ3c13pRJ LiR6xsYnOWm+Dgf2BbNOz5iEtwx3Msrjw70/LsTJ4FdByUXZPZwujaPZ2SfowLMX XZbEJrPkJ2HeamaDw/Gf5O/paDtAS3i8sFkKiOHwBX4doaL5Rxy/oqSpYTYL8tBF UWMHHk4ji12P6Pw1aW2H81XzKTae1Tga8ViuiWzqibbbk5ddHjr/L+6LfTDM00K7 WTZVBnW0qsMZJ9PQpt8636cuJx6D3ITXxtg4IzFNz7HOKbPQazSGhaqsbdxKmtwc P2uZEycsX+hPhtoOS2FuF5nWIYRZSzWBxWiOopHdRLL4YfALMsGhFdnPH/J3G9gy BroiCiq2moRl2OSgo9W6rMxLCm62657zsvCo8p/KxaGq/ynwCAoQ1wHQaVerJkGM f0n5tLkbNm2SyAbRy3tA/EfbzT0Yufq5gu9zGN/Uxf5hgFO6UqDHrlPeSSz++6m/ OAj3yLIsl2GpDwARAQABwsD8BBgBCAAmFiEEiD+EtZYGj7N+FJJ0X07X2BJgbGAF AmhkuaECGwwFCQWjmoAACgkQX07X2BJgbGAJswv/dODZRYTWb/Xx8Y/Ei1OXLZIo NxoUHvBVEqO1xR/FJPwYM8TVcihvhCfM5lLhYdY1pkLjXdlGbTKZtvdHWHLvs62j GVjUXij52z1jOurnX2u0x1vq1zpklWBx4VQhd3sVtcyLNdDYBFi3epVf1NEctToW yfBys6ijtVkhjem3V/l0PI1WtkECzYfPTOA+guf4dmrGSHPOZpCyFwHPRcVI+4pu va4s4tjCAYa5E56GkICUJLuT1x228iqr5OC8YA7FeOTN94L/GqII6joaX2HIrcpG DybRIhGty+BqXvRIpjp0z5PdDeHiFQFTnBAEnjiATAMDKd7Sq8y7Pv8OD/ptOl7F g5iexCGVoLc3idpo/5T5fEXEaEWcGF9HRUeRTrnqQ9yBnALsqoLLVfoueF5Cl7c3 p1pwbdR0iSK9p4x6BDcnrnIE52vRCtCdivyxTNa+zKdjlI6gn7oNsRmOnQbkEXML 9WZi4YnrnITSzpkpCzeQCDI0gqUdsxsbt4Vi73Oq =3DVgUx -----END PGP PUBLIC KEY BLOCK----- --------------9Dr8NiZlV0FLH6GK65cxhmKk-- --------------Wc80SZwNJqgQGmYi02rXBKW6-- --------------S0Vk90gi0Q7VzJ07pXBLBhnB Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsD5BAABCAAjFiEEiD+EtZYGj7N+FJJ0X07X2BJgbGAFAmogOc8FAwAAAAAACgkQX07X2BJgbGCK GwwA7AXbZkgyUeneeRe+cGxtFccMDATr4orQSW6Yz1P1MnOneL6fR5tPU9Fu9lC/da9sEEHNG4F+ SCKgpboEpkuIfTTjH4BQ9QweUrO5KKm7mPWFhAsBGtcZmvDSel+kZpjxAQntmlhewlcUDaOtB8eM 3WjpFcLBSa9i4vIthRkfmbKuCtlUFX9J8nrHRfB44tmNMR6tNpQJsslrnb2eMVvmyBDJO8JxH13B 7cqlfgpyqYDlit5y43nnb7W11Wu/MQYOo1mgCvYQGCUi9FAjbcNLEPXlxluMwW2xmn4ooO+scidg NWU/8GqIqs0V85/oBkgPbT7mxU3EmDM4tRg+Fys+TZEhX78gLLhHtMZLk4saw2l43Uo+9mGLLpmd mc2hXKdhFrwrp12UODw/5Wl3GDfgWWD32D8OAUqgVwmMCp2eln3PbDWtgdgEgA/U2BFioNxvi0Bz ypjWPlOl9SRC1xwkDedsD5g1T6DqS7qFpTVypoSyBFLYqQGqlp3RmRBWWix3 =Gpwn -----END PGP SIGNATURE----- --------------S0Vk90gi0Q7VzJ07pXBLBhnB-- From nobody Wed Jun 3 15:03:15 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVrYN5XHPz6g2CL for ; Wed, 03 Jun 2026 15:03: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVrYN462Tz3f8F for ; Wed, 03 Jun 2026 15:03:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780499000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aWHcOZNiDI66s0uZ3kr1FmjTKQK+Kho2/+KLOXZ8MZU=; b=Mp1uA4+BQ/GTOBL1eRLtO+yq4a/s/3ljD6U1RLGVurPa5brtPV4LCiXQ5a7qxc+wGHeXvh IITw50yRw6opn24fsUn81pbxkJHUSopt2/qqXOX+mjBg3L60EFfGIVyP3vp+LOr/qkSnY/ dArVsB++CMblwQ77WWOqR7FF9P+bBeUyE5kZCar+kGNUBckdp1m0J0j7KXCdF55vICStW/ pcO/xpYKYgd2NEZutFK7HWZYnra/GbOl/fcEptHLfPIzCN1INqqRMLGQzjzK7pirVcPh7M lAg1RzLz+BnEJE0z2Ayf2ACxdo6lF5VRzXhHif1+shXJ3VMU+W1drLRuaNGPsQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780499000; a=rsa-sha256; cv=none; b=neI+gZMuxyWZYCdA/Ux2Ztcv/Up3vypdjCKK5yWoIF10JztSr/w2e89AHCaftKfJuOFVze BQpe2vB5kW5X0s3eendJtvusQ3f3OopaE/TgbKvBfU8BnRR+i6VmYCQHCMazWwkt27Flt2 joA+XKzckMpCQUAIHtPZ6rwu8LbwjerDNFDBouHh98p2HWNmlZkqj4poBgll40J9TtE+9t sGpU7bktKydjOojq5kOV7hjDRe5vzDfqPPAeyWHoCc02w8Odt4PKw69oHvrc5IvH+la75Y LQubUlTBn9YkB6QFcSbdxp9VZCS6ICpjz+zll1mPyuFH+XSzsLJPpssJkFMMIQ== 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=1780499000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aWHcOZNiDI66s0uZ3kr1FmjTKQK+Kho2/+KLOXZ8MZU=; b=ZtONu0/xMU6E5vjL2AjCtuNDl/LGL6TYHe1X82AdbAdIIxUzRhEwoY5OT4yJlh+afaxF86 ruvAMKK358Ll2RDzqRk8okxhCBIS0RKOgg0CdQy+sXMFXov/NcwlGbUPlLCOHNG2smzkc7 aDtAiKi21rjrfu2/5Ur6eVqGRMjDTpz1x1NfQDettVqgH0czRcCIdRyyTLKJLA3O3G0FxB ySRz3EoMqwwnY4zzfm0pwjcON848L8wJ7BLmH99NJ5+F5UiUsp+VOkQ+z4ENiGc/JUNuEY rXzdPkBJRHJ+ae6aMErAbPu+m2uX86x5oMvnTUgr2V76ZUsyo2N8orj7RtVnwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVrYN3RD4z29W for ; Wed, 03 Jun 2026 15:03:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e000 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 15:03:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: ce243df20aa8 - main - i386: Fix build (of 'genassym.o') List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ce243df20aa8ba94918cafdca2537c8cd18887c8 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 15:03:15 +0000 Message-Id: <6a204233.3e000.143a4ec1@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=ce243df20aa8ba94918cafdca2537c8cd18887c8 commit ce243df20aa8ba94918cafdca2537c8cd18887c8 Author: Olivier Certner AuthorDate: 2026-06-03 13:11:52 +0000 Commit: Olivier Certner CommitDate: 2026-06-03 15:02:39 +0000 i386: Fix build (of 'genassym.o') i386's genassym.c needs to define some assembly symbols holding the size of NFS structures to support NFS_ROOT while booting with a nfs_diskless structure. For this, it needs to include a few NFS headers, which require definitions from (fhandle_t, vfs_init_t), which was removed by commit 72ab129799a2 ("x86: remove sys/mount.h from genassym.c"). Since recently, has been including , so needs "vnode_if.h" to have been generated for the compilation of 'genassym.o' not to fail. Make sure this is the case (for all architectures for simplicity) by tweaking the rule for 'genassym.o' in 'sys/conf/kern.post.mk', leaving a comment there so that it can be removed when i386 is dropped (or if the above-mentioned dependency is broken). Fixes: 72ab129799a2 ("x86: remove sys/mount.h from genassym.c") Sponsored by: The FreeBSD Foundation --- sys/conf/kern.post.mk | 5 ++++- sys/i386/i386/genassym.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk index 7216393dbdf1..2abf1889d33b 100644 --- a/sys/conf/kern.post.mk +++ b/sys/conf/kern.post.mk @@ -260,7 +260,10 @@ genoffset_test.o: $S/kern/genoffset.c offset.inc assym.inc: $S/kern/genassym.sh genassym.o genoffset_test.o NM='${NM}' NMFLAGS='${NMFLAGS}' sh $S/kern/genassym.sh genassym.o > ${.TARGET} -genassym.o: $S/$M/$M/genassym.c offset.inc +# vnode_if.h added for the sake of i386 only to fix commit 72ab129799a2 ("x86: +# remove sys/mount.h from genassym.c"). Can be removed as soon as i386 kernels +# are dropped, or if the -> dependency vanishes. +genassym.o: $S/$M/$M/genassym.c offset.inc vnode_if.h ${CC} -c ${NOSAN_CFLAGS:N-flto*:N-fno-common} \ -fcommon $S/$M/$M/genassym.c diff --git a/sys/i386/i386/genassym.c b/sys/i386/i386/genassym.c index 1a31f6b3428c..9f994b9ca9d8 100644 --- a/sys/i386/i386/genassym.c +++ b/sys/i386/i386/genassym.c @@ -45,6 +45,7 @@ #endif #include #include +#include #include #include #include From nobody Wed Jun 3 15:33:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVsCy0fTdz6g5TS for ; Wed, 03 Jun 2026 15:33: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVsCx6N9Bz3j4T for ; Wed, 03 Jun 2026 15:33:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780500797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RULfgwhcDhG4hCxtGQxPTfV4Sf3OoRryUDZNbIMqSFU=; b=kPrIuUSGU3S6JYUivk2wyRwxwNnN61uJcvESP2NJcfXUmXsc3sQlZBVeBmfLlpbNRiDSen O3zs2wRbqyuSRNy0zlKipzD+7QIquL+oxjzQV2vxt5wcqDxNml4e1vgva2ZNKaLPMHUroU xo2UekSTmuS/A3LLiWRqQFsLgUCeOvNJoPCU1l6g51hNFJW0ooR1SfqFDyqh96fzwxRTNb 0aGux+VJi39prn9hC8kEMZkWcnU0rqlQzC/gr0x5aYyWKirbZP8bXu8u1knkKF1InUOYdO c8QaVv+IcPm7ac36ebm57CspAB+OtbjdP7hpzlqcHnVbVYqzj3Sz8Be2laaSTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780500797; a=rsa-sha256; cv=none; b=cLnBTkPKwHoBXMnQJT3c9CVsSqx369dVU44XOHQXv+gw/WQ1CIciXdA5m6axCPucClszXm 3AOc1jpwn0gAEURUD+Z3wJTFV6kVy8FSiAx6dV4m/N/wQeVxGTCvtnzo6aejrvDoTeGmJv 1DkGBbjXv5shb8B6avwWGEN2dqkycVdsABbRjc14nrYEDMYbBD1jgpCGitvgekYyKWtuY4 aGSHvSX6uDG4LeJjFplUKpHD08rknHBpPY/nFKEcCH95NYjyyoFRyeEk9sudwlcl7hAdg+ Uy4wqA4V4uVuhc8MkQnqlR6z9EA79grKJ5KZR5zV/8O8m7B0P3iXFlYshybwPw== 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=1780500797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RULfgwhcDhG4hCxtGQxPTfV4Sf3OoRryUDZNbIMqSFU=; b=AeDEsmX3b4cLxE/GaXAX6DyvHky0tyNd9oO+gw9pGtc4fwRissUfk5eifJz1vRMUrD/q5v vFvDtUtq+mEF8TJb9QWxbdncOlU+7pb7IBcdTATfAAdACWrPdTCY7O3cf1F0mcsp2ak+ZZ Kv9Zk7CeG+HoKIBUqlJQc01tZ4XwvZUlsum5k8AfRx2sUm+jsE9aWSwO2Kiutdnbyfe3aE HuY7dm9N3v+DsBcF9cBOsNw/Vlnfq9S5i714w/kfidwpKaXwUosBA6mteKFjSVuIki3ttF QYjB+ECSwzs2INLrlZVNBRa6opXXcv5mT8lsXLx5KRzH7u8c5VDzraLSQzjh/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 4gVsCx5w4hz2jD for ; Wed, 03 Jun 2026 15:33:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 400a3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 15:33:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 521afce6a859 - main - xinstall: Do not allow -l and -s together List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 521afce6a859c1d7ac9674e8f21ff45418becaf5 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 15:33:17 +0000 Message-Id: <6a20493d.400a3.39051d46@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=521afce6a859c1d7ac9674e8f21ff45418becaf5 commit 521afce6a859c1d7ac9674e8f21ff45418becaf5 Author: Ed Maste AuthorDate: 2026-06-03 01:27:54 +0000 Commit: Ed Maste CommitDate: 2026-06-03 15:33:05 +0000 xinstall: Do not allow -l and -s together Cannot strip the target if creating a link. Reviewed by: des Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57398 --- usr.bin/xinstall/tests/install_test.sh | 3 +++ usr.bin/xinstall/xinstall.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/usr.bin/xinstall/tests/install_test.sh b/usr.bin/xinstall/tests/install_test.sh index 6b091f26b377..377920200490 100755 --- a/usr.bin/xinstall/tests/install_test.sh +++ b/usr.bin/xinstall/tests/install_test.sh @@ -27,8 +27,11 @@ atf_test_case incompatible_opts incompatible_opts_body() { + printf 'test\n123\r456\r\n789\0z' >testf atf_check -s not-exit:0 -e match:"specified together" \ install -s -d dir1 + atf_check -s not-exit:0 -e match:"specified together" \ + install -s -l s testf copyf } atf_test_case copy_to_empty diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c index d389bdbe3737..facdcb737c41 100644 --- a/usr.bin/xinstall/xinstall.c +++ b/usr.bin/xinstall/xinstall.c @@ -293,6 +293,12 @@ main(int argc, char *argv[]) usage(); } + /* Cannot strip if creating a link. */ + if (dostrip && dolink) { + warnx("-l and -s may not be specified together"); + usage(); + } + /* * Default permissions based on whether we're a directory or not, since * an +X may mean that we need to set the execute bit. From nobody Wed Jun 3 15:33:16 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVsD172PSz6g5b5 for ; Wed, 03 Jun 2026 15:33: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVsD15yDFz3j4X for ; Wed, 03 Jun 2026 15:33:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780500801; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RC4owOGYAelHrHqCPbH6MadIiT12/6GSq03r5BZN6Ss=; b=qBqvSJvMAFWW0NuaHsaBXIyrqMPeuMrISCiSb+u2TV2Sy6Q6wY3FTyy2zyPUSVPNdoZeZ9 Jts+m5KEqbwZvHVV/GjIIdDFVwLNqQY54hImjaN5Ju4AyA9tGBYy6jD0xVgHuzD+FgLcCk YHIvsWQ7YNgn2KSdG+LxUiWmVKAtuiLmXtfwuAQPjS4B+gMwC3tqgWKmImmR8PKcskNR0q iIg90qcgYzgQcurjE1dKeFcTY3PsCGTR34+bbC3vsmN8pyutAWN2c6A2KQWVD9ywEBS35S rpAhUmM6HBH+zUmEKAIdfT0gcxgoabs4v1EA+hCushhaIPb34rwW0Pn4gEm/eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780500801; a=rsa-sha256; cv=none; b=psgfLr0CzjJy/OMfkfeC/JAsfnkrPWg8zUM4wW0MAlCLjR4PBQvX6E3swZvBK+xg6spYfA NS0YttOfhHuZpNu85NHWoUU+Zb1jAASW+S0OIb/AHcCaFcpGx7+ZaHB74QrEtmdo0XgnUt mhoQCVLrv/jKOU3j+qItfvXmuBZeinYNHR+EudhpRNv0FYW7YnidYxrgYAPPivRYQwsXOM LOLkN2KGHcs1+MQ4uX6lHSTAxu4DgVNuZg0FtScxe7ducKsMyGKgAidJp2BOfXYuHQNcGU MB+7Kl4fedboTsT6N2hjRBgJq01e/lmaozfPWS3VlULPDLp4k6y+jhdNiw/UBQ== 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=1780500801; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RC4owOGYAelHrHqCPbH6MadIiT12/6GSq03r5BZN6Ss=; b=l+u5blo4SS7FYOjkHgTms6qb8HVQbptcCz4vV+vKyun4zZYPwpNYoDXbTxmnCUhIpMmTHt 68Eio9syv/l3mR/V8eESEWntbCrWlWS8tLTzzvNeMNUDHOvJAc1zwv1VaSDLKB2x/04aYk CEaTWRNE3vh1a0kQErmcGsJN8M7fQP16vkkdEdfJHnTD6dukIePguR4kxXv3Ijxp6zYHg7 RYOkQtDTANj6RP0xhRr3PEN2L/F3RvkaJwOfTWhETvjaASYFzXETza7IEzQ9BWQG6wOxSn S/hQkNBx9VyVt8Kl8zzFefMUMU6Cst23pOjphRy/jnOm6Lfs0jr8o2yRCLddUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVsD15Yy8z2l5 for ; Wed, 03 Jun 2026 15:33:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40f81 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 15:33:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 4908bea5b7f5 - main - xinstall: Add test for -d -s not allowed together List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4908bea5b7f5de70032e201e718958ef40bc3b03 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 15:33:16 +0000 Message-Id: <6a20493c.40f81.7cf63b72@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4908bea5b7f5de70032e201e718958ef40bc3b03 commit 4908bea5b7f5de70032e201e718958ef40bc3b03 Author: Ed Maste AuthorDate: 2026-06-03 14:13:45 +0000 Commit: Ed Maste CommitDate: 2026-06-03 15:33:05 +0000 xinstall: Add test for -d -s not allowed together Reviewed by: des Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57403 --- usr.bin/xinstall/tests/install_test.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/usr.bin/xinstall/tests/install_test.sh b/usr.bin/xinstall/tests/install_test.sh index 3cea648aa805..6b091f26b377 100755 --- a/usr.bin/xinstall/tests/install_test.sh +++ b/usr.bin/xinstall/tests/install_test.sh @@ -25,6 +25,12 @@ # # +atf_test_case incompatible_opts +incompatible_opts_body() { + atf_check -s not-exit:0 -e match:"specified together" \ + install -s -d dir1 +} + atf_test_case copy_to_empty copy_to_empty_body() { printf 'test\n123\r456\r\n789\0z' >testf @@ -549,6 +555,7 @@ digest_body() { } atf_init_test_cases() { + atf_add_test_case incompatible_opts atf_add_test_case copy_to_empty atf_add_test_case copy_to_nonexistent atf_add_test_case copy_to_nonexistent_dir From nobody Wed Jun 3 16:00:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVsqk0VSWz6g89Q for ; Wed, 03 Jun 2026 16:00: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVsqj5T4yz3pwW for ; Wed, 03 Jun 2026 16:00:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780502449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H7/N7fmGp/acsl4XzW6QU+0O/VOaBS1CWByE7VK/IBg=; b=dcvERm6GbH4FgHZn4PykDolF3dTJL7IlJfeWvscrv7Jr5ENWzle1uUaM2vyVMQWNcQXvcz sA7a1Z7A4lOGuTQQ1ls4A/oNSKq1iLULsFRDBoYF/lBU+PTuKKNeJlYzk/jv0OEIBJTkFt NVnndCaUbzkl99+WK7fflXQyBa1iaEhDhAXNXSkSukpjabo3CMI0NBDx9FgLhTOPju8mBt G6f/924D3vGEJokfXTKWtNlCkuzn66IFznYoAX35OvkxWKkkqGzedFe6l//K2+npfDHiRl g14a7AS2wcNlPc0FOXyxsA8kyDZaBfXVuuYHP5LyWFKF7YCBpV6Ugh6g7IS1Dw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780502449; a=rsa-sha256; cv=none; b=EF9eZE9++MfPO6y7vDsi6BnveaohQgJHZcvPwLmwDAcM7yMJEawovk6hu4j+fFnQQrxtlS YcUw+rfWpI9KALuUEdNZemHRwCPTFCjJlWyPcEVm3iZdaLOc771CZEyAmTfHwb6PTRmXA5 SS0nqqtlripQJLSFJbII70Au2v0rQtIBcQjEFOjclcDc0MZyQv8dzAL/Q1doM7PC6+c+xM OeVtbqQ5lhlrTq1bQ/iuJQEcIt2tV/29Cms4upPGbPhF7FH0HuzOIcW+gc903uRBxsIZ1i /1zvnHM2NmAWV6q1GE1j0ElD3iUiAyBxjCBc9BLvjnggCw2Mt+leXfgc2hTp6g== 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=1780502449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H7/N7fmGp/acsl4XzW6QU+0O/VOaBS1CWByE7VK/IBg=; b=wmF1QAufemKUbMP9mllmGicioY1ohFeRgRco2eUIjypkc6ciwjvAWPThF2UIYtU/XffatM FOwkfh8DdoYYxjgpZY9/CcK+uOow+dPvAn1k4T93mWllBcu3+efN1pRlfiugYKenFIQ01O OC31mjz7r5tHRCRA91CkzN3AcJaJ+2PijBzXf/tIU/kdDTe9kYoE9haQ8rJfUO0A3+y190 AAP3MWYvtNO6EFxhi+39vrxCGj16EInFWUcxveZ7VELF17uwcN5kgsijH3CvNm7pR+kIjr 8zK3N1hTfhXD7ji9LSXwLQvBJ1kIiPxRNWAIjCvlttoFQdZkhjezovTy8qO3rw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVsqj4p2Gz347 for ; Wed, 03 Jun 2026 16:00:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 41072 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 16:00:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 9a133eee1ed9 - main - thunderbolt: Fix INVARIANTS compilation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a133eee1ed9cf3220055c1d7543e1074bdc628a Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 16:00:49 +0000 Message-Id: <6a204fb1.41072.5a1534e3@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=9a133eee1ed9cf3220055c1d7543e1074bdc628a commit 9a133eee1ed9cf3220055c1d7543e1074bdc628a Author: Olivier Certner AuthorDate: 2026-06-03 15:57:50 +0000 Commit: Olivier Certner CommitDate: 2026-06-03 15:59:57 +0000 thunderbolt: Fix INVARIANTS compilation The problem is that THUNDERBOLT_DEBUG triggers the use of some variables, but it is independent of INVARIANTS and the variables it uses were tagged with '__diagused'. Fix this by using '__maybe_unused' in those places. Fixes: 183633079178 ("thunderbolt: make code -Wunused clean") Fixes: 886164895f3f ("amd64: complete thunderbolt KERNCONF integration") Sponsored by: The FreeBSD Foundation --- sys/dev/thunderbolt/nhi.c | 6 +++--- sys/dev/thunderbolt/router.c | 4 ++-- sys/dev/thunderbolt/tb_acpi_pcib.c | 2 +- sys/dev/thunderbolt/tb_pcib.c | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/dev/thunderbolt/nhi.c b/sys/dev/thunderbolt/nhi.c index 6cbe79779c13..a79d604bdf47 100644 --- a/sys/dev/thunderbolt/nhi.c +++ b/sys/dev/thunderbolt/nhi.c @@ -834,7 +834,7 @@ static int nhi_tx_complete(struct nhi_ring_pair *r, struct nhi_tx_buffer_desc *desc, struct nhi_cmd_frame *cmd) { - struct nhi_softc *sc __diagused; + struct nhi_softc *sc __maybe_unused; struct nhi_pdf_dispatch *txpdf; u_int sof; @@ -868,10 +868,10 @@ static int nhi_rx_complete(struct nhi_ring_pair *r, struct nhi_rx_post_desc *desc, struct nhi_cmd_frame *cmd) { - struct nhi_softc *sc __diagused; + struct nhi_softc *sc __maybe_unused; struct nhi_pdf_dispatch *rxpdf; u_int eof; - u_int len __diagused; + u_int len __maybe_unused; sc = r->sc; eof = desc->eof_len >> RX_BUFFER_DESC_EOF_SHIFT; diff --git a/sys/dev/thunderbolt/router.c b/sys/dev/thunderbolt/router.c index fe7ad7026b2e..68c5bcd227c9 100644 --- a/sys/dev/thunderbolt/router.c +++ b/sys/dev/thunderbolt/router.c @@ -278,7 +278,7 @@ _tb_router_attach(struct router_softc *sc) struct tb_cfg_router *cfg; uint32_t *buf; int error; - int up __diagused; + int up __maybe_unused; buf = malloc(9 * 4, M_THUNDERBOLT, M_NOWAIT|M_ZERO); if (buf == NULL) @@ -720,7 +720,7 @@ router_notify_intr(void *context, union nhi_ring_desc *ring, struct nhi_cmd_fram struct router_softc *sc; struct router_command *cmd; struct tb_cfg_notify event; - u_int adap __diagused; + u_int adap __maybe_unused; u_int ev; KASSERT(context != NULL, ("context cannot be NULL\n")); diff --git a/sys/dev/thunderbolt/tb_acpi_pcib.c b/sys/dev/thunderbolt/tb_acpi_pcib.c index 57ad916d4435..161be931e072 100644 --- a/sys/dev/thunderbolt/tb_acpi_pcib.c +++ b/sys/dev/thunderbolt/tb_acpi_pcib.c @@ -120,7 +120,7 @@ tb_acpi_pcib_attach(device_t dev) ACPI_OBJECT_LIST list; ACPI_OBJECT arg; ACPI_BUFFER buf; - ACPI_STATUS s __diagused; + ACPI_STATUS s __maybe_unused; tb_debug(sc, DBG_BRIDGE, "Executing OSUP\n"); diff --git a/sys/dev/thunderbolt/tb_pcib.c b/sys/dev/thunderbolt/tb_pcib.c index 876722a0076d..fcabe38a9470 100644 --- a/sys/dev/thunderbolt/tb_pcib.c +++ b/sys/dev/thunderbolt/tb_pcib.c @@ -304,7 +304,7 @@ static int tb_pcib_detach(device_t dev) { struct tb_pcib_softc *sc; - int error __diagused; + int error __maybe_unused; sc = device_get_softc(dev); From nobody Wed Jun 3 16:06:05 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVsxy3JLPz6g8j3; Wed, 03 Jun 2026 16:06:14 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVsxy1gY6z3qbw; Wed, 03 Jun 2026 16:06:14 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780502774; 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: in-reply-to:in-reply-to:references:references; bh=zWeOPdFg9kD/eRBK0RTjFnOWMIUwI8A6Ug8HknVy4lc=; b=FZ/KBE2AdXlvCRQoHS9Bw2hTahIRXt/aDws264S00iq+yxGngdI1QUmdQJTpuVp5Y9PttY P47mLBcPDNiJNrXH9PJvmLt9ro8CH8Me4Mk/hwzR4zmK5MfrVG0n52agwUwPYEDhdxHSjm pv0tUmt8tPD/DK/kceZt3p+w6Lrg/gT4YC4GWurNQZvAaJl7gU8x1jLiAYoeiREq7MB6xZ q3rvNppHhatofk9IIaV5XULlZvc0vv2Cc7yNRMI0e9YjrjuquUh+xnGNWUmRd3k6oJL8sN 3En3SFyZgqFKDAdttq6TEjtqogIM43OCTtxcyqOyhQDswVme9CREoGN3702TjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780502774; a=rsa-sha256; cv=none; b=U8PfFD2b458iEUC1qYa787XPetfOGEpT6OE9slsdJtJXjd/Yzpgqq81Ff1Mq7b7CUvQwiC PQPYugGqXOA/cgZL27/yMj/cTNLQFqKP85lo3q+1SpYvuP1jAwMJvu2C+hC/+3PEQNF3Cm hNgHsg4WfXUnJ6LYDNWlHl4DbrupXStLuouLIl1mbWudqfGeG2bGFbGXZljQ0W+4qrcFWd nOQm6HsSHZavsJknDV6vlydClnMBCbNi+0ukNyyNtv41rmEZyoaJxgOUxGWIyUG8APH3Do YWpvVTZUz4Rt735SMOkvTJJVhqWbdLWorAKFPQsggj9cr39Mezhhobhqf4Qn9g== 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=1780502774; 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: in-reply-to:in-reply-to:references:references; bh=zWeOPdFg9kD/eRBK0RTjFnOWMIUwI8A6Ug8HknVy4lc=; b=E+54pCm9jo7efawKpuM5WtWFm5i2Dj/079++dApFqjPWcPr+nIIcC9b65WXlOq7UyOmmLK FH+sWhMTnUrEyIBxDqVV0Lm0Oigc3VbdZZDHxRTPnWI04eOC0QdUZDKVBAsrXUb8YTkyYa mkoXs/qjT5WSFeHhCxGDlzlwaP1gcUaOmBmQ0fJk8G6aAUYbobeNiD+5KxsbY1HUXN0I6g td9fCbKeZXhPucIn79Af8oiJtW6Nw7+wUfOn3Cmx1vhfqZdypDFBJr5nGIH3YX/yQ6FF1D jKzzQaNeWTGocioBaClRaUSdg046WprgBzVA+IOVYRXQ7b3aXYr60VnhQGkQyA== Received: from ravel.localnet (lfbn-nic-1-328-19.w90-116.abo.wanadoo.fr [90.116.162.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gVsxx2YXDzJXc; Wed, 03 Jun 2026 16:06:13 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: Enji Cooper , src-committers@freebsd.org Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Dag-Erling =?UTF-8?B?U23DuHJncmF2?= Subject: Re: git: 886164895f3f - main - amd64: complete thunderbolt KERNCONF integration Date: Wed, 03 Jun 2026 18:06:05 +0200 Message-ID: <3174612.hHqAuc6tWs@ravel> In-Reply-To: <86wlwgue2o.fsf@ltc.des.dev> References: <6a1fc36c.20f4d.2792bff2@gitrepo.freebsd.org> <86wlwgue2o.fsf@ltc.des.dev> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2520476.THHZn3L5Ee"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart2520476.THHZn3L5Ee Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: Enji Cooper , src-committers@freebsd.org Date: Wed, 03 Jun 2026 18:06:05 +0200 Message-ID: <3174612.hHqAuc6tWs@ravel> In-Reply-To: <86wlwgue2o.fsf@ltc.des.dev> MIME-Version: 1.0 Hi Enji, > > commit 886164895f3f4805dc11171ac7980acaccf6ec77 > > Author: Enji Cooper > > AuthorDate: 2026-06-03 06:02:01 +0000 > > Commit: Enji Cooper > > CommitDate: 2026-06-03 06:02:01 +0000 > > > > amd64: complete thunderbolt KERNCONF integration > > > > This completes the work so the driver can be integrated into KERNCONFs > > properly on amd64. > > > > MFC after: 1 month > > > > Differential Revision: https://reviews.freebsd.org/D55573 > > /usr/src/sys/dev/thunderbolt/router.c:281:6: error: variable 'up' set but not used [-Werror,-Wunused-but-set-variable] > /usr/src/sys/dev/thunderbolt/router.c:723:8: error: variable 'adap' set but not used [-Werror,-Wunused-but-set-variable] > /usr/src/sys/dev/thunderbolt/nhi.c:837:20: error: variable 'sc' set but not used [-Werror,-Wunused-but-set-variable] > /usr/src/sys/dev/thunderbolt/nhi.c:871:20: error: variable 'sc' set but not used [-Werror,-Wunused-but-set-variable] > /usr/src/sys/dev/thunderbolt/nhi.c:874:8: error: variable 'len' set but not used [-Werror,-Wunused-but-set-variable] > /usr/src/sys/dev/thunderbolt/tb_acpi_pcib.c:123:15: error: variable 's' set but not used [-Werror,-Wunused-but-set-variable] > /usr/src/sys/dev/thunderbolt/tb_pcib.c:307:6: error: variable 'error' set but not used [-Werror,-Wunused-but-set-variable] Compilation fails on INVARIANTS, it works with !INVARIANTS. Was bitten by such a case relatively recently. Try not to forget to build both cases when fiddling with debug code. Fixed in 9a133eee1ed9cf32. Amend as you see fit. Regards. -- Olivier Certner --nextPart2520476.THHZn3L5Ee Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmogUO4ACgkQjKEwQJce JicLJw//YZNDyejTzZP88Uanm628qnXLWCczFy4qiJJ4WfhmfGahlnOq03uzBhwo w6ssuLyTXpMSmhYn2998I8LpDZNuv05QPRgi2MtmEUCTqDWCV/6ea3+/GmtMMpDT oo94moiprS26FWZE+n21+uYhmyKdPft5PrUyUmQQdDqHQutp6v6JjA4sYUn35HIQ BZ/ikShVvi0js2bxpQmOQiCpgXW1ZRSBkgWsPOoemBjnv2XyDzni9NQsc8fL+f4q GShYIvus2+gFIRYyNdP45aDaAu4mYwSPaD/8n13sk/EV3cBMKukPojPt7jDUMZw/ NgdcdcNtpT0F/VnMpRIg+00T7AezKOJBhdMoZPB67qGCININd4OkFQBlOqYwpnWJ meoN8/NjAKQBQuvXxA6B4/yk2OKwawSudKSwHeKfyJRLL74E2a77eJZ2EXP9M55P ctbKfIBDNws+vUqepnieA8wt8AXsLdEKm2+SnvblnFa2qNCk5dmyVUR4lqtVlFcc +DjA2noK9Y65i+teK1KZKKa/FIRd5tJiWrBfbQdQcWyxBFIl6dHZnsoy2w3aOH1z 9YL11SjemFxNTWef6ghWRy123MZIlspA3JADzQHIuzOeBxHDJGTuw73pV1WxikAK niMw1wN/XFLbCeQlKWDRaLJRv0GeUwT/GbR0uvPKP6tMzu3xi5M= =Fw5d -----END PGP SIGNATURE----- --nextPart2520476.THHZn3L5Ee-- From nobody Wed Jun 3 19:06:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVxy55HNdz6gVx3 for ; Wed, 03 Jun 2026 19:06: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVxy54hHHz4J5X for ; Wed, 03 Jun 2026 19:06:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780513597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hcfMrECe81dkhGaog/WwBJhUXOeompXB74OLymX3ts4=; b=DDsYKG9P56x/kdIo659DVitHBQtWWtxg3fyscW34hbPsSNNPeumsdl3Ddsmtywfe0JbnKR 9+R2gvDPRLZOLaPV4yCnyY2+5uaOqNV8UHVen3CYIbLIrnHblhgnsHr7dIwgOOXMgGs/j6 dm4rjVRlM5oh6w/8W2gAregKASYjo5evVlIDydggAPG34LOb/4eESK6jB3MyHFiZI/Jnm4 G7Fk6ZYswP3n6e8P7K+mGQV35998mzh44RFRFdXfHJAkxI2QHaaLAQpSkLRLBC9z/D/eyf GYLaDuIRLq9gYRrC5++BHJgGg7Dy0IGaQ4r3mw0yIT6Q4bE6Ydwwdc3pwpgKFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780513597; a=rsa-sha256; cv=none; b=gPU+7vKnhTbcOIM6iHftjEp6blqR0P17db0UY6D3xvac7ovvjQEgQ+5e4dSCeRV3vCMsoM FnsI4y0oIj+OkRYD8NAJ+6fuR6kJYd2/8STr5iv7FU5tEJRSJpzUPGM/atSr+dnlhiLZxw RZ5NPR4j+LAZ2T6uXMMZlALOP09Q5w+v2UeVRrHKXB8UN0rS/hXrtPy9vovUd1F0oDji+n tOFdpHxT3zUtVFMHtNqjXBcmfVu0hze4Vs7EmX71mexb41E74FYAR5Uu1LNiXFBjBF59Ta uZz+pxDctoJ7nN+eq3RBnJlbdoHvpqrkljmRY4KKzT4iw7brvmS3lObs6qgmTg== 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=1780513597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hcfMrECe81dkhGaog/WwBJhUXOeompXB74OLymX3ts4=; b=WgcwAuWZCAJ89E2nWRQfymV/n2XjtezUi7Ywk9D+a+t62sGGvPGXPnc9AdmIlZK9mATn5D VZo43zY/X60rRTqMjhqsRMIOGk+XSB9JrdXFljz9xDZECvpBzxczM0TmI27wXqQaTs9Hv7 dXmCY8/S+nLTQGBFKbTbg8tda32ilekzZ/nNwN96DW9eaWzEgf6tM7EvAQ0H1ZUBefoXxJ ymMiguPVm8mu9B2WG9t1UCdp+r7WBEuyjDsE8w2F/e9+lW6m6Qvmj557qnY1rziW7kY2bq G7xQUpu2zK5ooEtCEe7jwdTbYzTV5/uQWecwUHPBFMxJtXZAMn2qaE2ViUE8FQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVxy54Gfdz8nk for ; Wed, 03 Jun 2026 19:06:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26c11 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 19:06:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 07d733963ecd - main - nfs_clrpcops.c: Change initial layout type to flex files List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 07d733963ecd1957999f5381b438b8c369686750 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 19:06:32 +0000 Message-Id: <6a207b38.26c11.78270d4a@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=07d733963ecd1957999f5381b438b8c369686750 commit 07d733963ecd1957999f5381b438b8c369686750 Author: Rick Macklem AuthorDate: 2026-06-03 19:04:59 +0000 Commit: Rick Macklem CommitDate: 2026-06-03 19:04:59 +0000 nfs_clrpcops.c: Change initial layout type to flex files Since the File 4.1 layout is only supported by some large configurations of Netapp Filers, switch the client pNFS code to attempting to use Flexible File Format first. File 4.1 Layout should still work for any servers that do no support Flexible File Layout. --- sys/fs/nfsclient/nfs_clrpcops.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 75713c875622..812bb5279e07 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -5541,7 +5541,7 @@ nfsrpc_exchangeid(struct nfsmount *nmp, struct nfsclclient *clp, NFSHASPNFSOPT(nmp)) { NFSCL_DEBUG(1, "set PNFS\n"); NFSLOCKMNT(nmp); - nmp->nm_state |= NFSSTA_PNFS; + nmp->nm_state |= NFSSTA_PNFS | NFSSTA_FLEXFILE; NFSUNLOCKMNT(nmp); dsp->nfsclds_flags |= NFSCLDS_MDS; } @@ -8910,10 +8910,10 @@ nfsrpc_layoutgetres(struct nfsmount *nmp, vnode_t vp, uint8_t *newfhp, if (laystat == NFSERR_UNKNLAYOUTTYPE) { NFSLOCKMNT(nmp); - if (!NFSHASFLEXFILE(nmp)) { - /* Switch to using Flex File Layout. */ - nmp->nm_state |= NFSSTA_FLEXFILE; - } else if (layouttype == NFSLAYOUT_FLEXFILE) { + if (NFSHASFLEXFILE(nmp)) { + /* Switch to using File 4.1 Layout. */ + nmp->nm_state &= ~NFSSTA_FLEXFILE; + } else if (layouttype == NFSLAYOUT_NFSV4_1_FILES) { /* Disable pNFS. */ NFSCL_DEBUG(1, "disable PNFS\n"); nmp->nm_state &= ~(NFSSTA_PNFS | NFSSTA_FLEXFILE); From nobody Wed Jun 3 20:02:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzC25JKLz6gch9 for ; Wed, 03 Jun 2026 20:02: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzC24qkpz4PwF for ; Wed, 03 Jun 2026 20:02:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780516974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pJm7IJCMVpf6mldyi2DQ3xhldIrlGL7q8pmWHjvfBCI=; b=Sos6FJQm6bvHRmwZPghzgRkTeDBI6T9i93tNxvgvzess8mzTnEwiE+zlBkvHr8yScew+YZ JuKhDhwKC/Z+4e/76n6rXO/SGRTnavShQdxarqpYEaXtxGaGP2OTQSPg4mX0omotrWGSaO ikHd9DNrNbz5h9vJGMwSF1LEVkFnA74NGeSp87CjbWK7WGnsVNc/ClN3ckpxCn1L+5Ppz3 H18FkpcQpYGiLlbdq5jIk23plWL7yH6G5u1x1NjiihU4YJYju3aVlVAWUpvp4HPEukMNyO 0d7wP/vNyIrxrdAk2O/WskW7EBjoEeY9hdGj20Gq29gxMdq+xkiRxSKLfqYm+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780516974; a=rsa-sha256; cv=none; b=JJ04SkJRX05Xklj6FU1YN/LzTzQEMWDTZoMYMuNAechMrq1lDz7u9N/tfo6KRfwz35JOwt lDauUkGXd9Zrz1mlueGOIZQKhzl9j14Fl097LWZ4+DurNiEd5ThkrREA4+dcIZjkbWtnLG +NrWfFm7Q5K4PstDHNHY38BauueKXLc139JutHFtN/zLtBTvjfsf83qWSOnk2sjoHVPqTp ApR8czlk60a6NjNjyO31BcoiB27V5uT0U5BCkXl3qvD71u3veOhiSY6JX4rzshgdmNo8dh zswDEpBYo/puxZveB+n2JIy57fb3jimnW5iL/Ua019zL4xFeuONIJsBh7FuIeQ== 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=1780516974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pJm7IJCMVpf6mldyi2DQ3xhldIrlGL7q8pmWHjvfBCI=; b=R7b9Y4SI6LXwfTZAQfdiuK70fWGW+ibp0aRMRc23CNzHVTMs9od4/tOxFhWIjfzsxr3srz jJQkRG/hS4prf4h+boqE/xZJaqzL17QedscLsLVeeyAWNhaDoEILn4Z5SOXQM6mEhymREl 71huIdDiXcLo5IPePK2P7Fek6jYU+WxgDwdyR4G8VpFBfvBgu7UtF9cGPF0GoENo41YHzH vZPFeQomGPPuOqAvI0uttHJCtulfVuKfFN9nL9rv1wr6u9aDXW/Ygr8rxoYUxGqTfCxhU1 cvDafZvoTqrH7M54LkaPezhAXWH3KYVb8pzPRQeR6hwqWusMFp1kRJqe+OwG/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 4gVzC24PcDzB3m for ; Wed, 03 Jun 2026 20:02:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 335d0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:02:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: ce77cd3d9c1a - stable/15 - nfscl: Fix handling of gssd upcalls for the NFS client List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ce77cd3d9c1a2752a1bb5641320f281fb83ec468 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:02:49 +0000 Message-Id: <6a208869.335d0.65dff694@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=ce77cd3d9c1a2752a1bb5641320f281fb83ec468 commit ce77cd3d9c1a2752a1bb5641320f281fb83ec468 Author: Rick Macklem AuthorDate: 2026-05-02 19:36:00 +0000 Commit: Rick Macklem CommitDate: 2026-06-03 19:59:46 +0000 nfscl: Fix handling of gssd upcalls for the NFS client Without this patch, all upcalls to the gssd daemon are done in vnet0 (outside of any vnet jail). This does not work well, because a user principal's credential cache can be within the jail (/tmp/krb5cc_NNN in the jail's namespace). This patch modifies the client so that RPCs done from within vnet jails does an upcall to a gssd daemon running within the vnet jail. It required that the cache of uid->credential shorthands in the rpcsec_gss be vnet'd. The situation is still less than ideal and sec=krb5[ip] mounts that are visible within vnet jails is still not something I would recommend, but it can work ok with this patch. Vnet'ng the NFS client so that mounts can be done within vnet jails is probably more useful, but that will require additional work. (cherry picked from commit a6e527f893df2cbbd941839a93e50ae39ac0db55) --- sys/fs/nfs/nfs_commonkrpc.c | 23 +++++++- sys/fs/nfs/nfs_commonsubs.c | 3 +- sys/fs/nfsserver/nfs_nfsdserv.c | 8 ++- sys/fs/nfsserver/nfs_nfsdstate.c | 1 + sys/rpc/clnt_bck.c | 7 ++- sys/rpc/clnt_dg.c | 7 ++- sys/rpc/clnt_vc.c | 7 ++- sys/rpc/rpcsec_gss/rpcsec_gss.c | 111 +++++++++++++++++++++------------------ 8 files changed, 107 insertions(+), 60 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index 1e4e8506790f..9ea4e5f4c9df 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -561,7 +561,9 @@ newnfs_disconnect(struct nfsmount *nmp, struct nfssockreq *nrp) } } mtx_unlock(&nrp->nr_mtx); + CURVNET_SET_QUIET(CRED_TO_VNET(nrp->nr_cred)); rpc_gss_secpurge_call(client); + CURVNET_RESTORE(); CLNT_CLOSE(client); CLNT_RELEASE(client); if (nmp != NULL && nmp->nm_aconnect > 0) { @@ -685,7 +687,7 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, struct nfsreq *rep = NULL; char *srv_principal = NULL, *clnt_principal = NULL; sigset_t oldset; - struct ucred *authcred; + struct ucred *authcred, *savcred; struct nfsclsession *sep; uint8_t sessionid[NFSX_V4SESSIONID]; bool nextconn_set; @@ -832,6 +834,11 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, ((nmp->nm_tprintf_delay)-(nmp->nm_tprintf_initial_delay)); } + /* + * For Kerberos, the upcall needs to be done to the gssd daemon + * running in the correct vnet. + */ + CURVNET_SET_QUIET(CRED_TO_VNET(authcred)); if (nd->nd_procnum == NFSPROC_NULL) auth = authnone_create(); else if (usegssname) { @@ -849,8 +856,9 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, } else auth = nfs_getauth(nrp, secflavour, NULL, srv_principal, NULL, authcred); - crfree(authcred); + CURVNET_RESTORE(); if (auth == NULL) { + crfree(authcred); m_freem(nd->nd_mreq); if (set_sigset) newnfs_restore_sigmask(td, &oldset); @@ -967,6 +975,13 @@ tryagain: } } + /* + * In case CLNT_CALL_MBUF()/clnt_bck_call() does an AUTH_REFRESH(), + * the thread's credentials need to be set to authcred, so that the + * correct vnet will be set. + */ + savcred = curthread->td_ucred; + curthread->td_ucred = authcred; nd->nd_mrep = NULL; if (clp != NULL && sep != NULL) stat = clnt_bck_call(nrp->nr_client, &ext, procnum, @@ -988,6 +1003,7 @@ tryagain: stat = CLNT_CALL_MBUF(nrp->nr_client, &ext, procnum, nd->nd_mreq, &nd->nd_mrep, timo); NFSCL_DEBUG(2, "clnt call=%d\n", stat); + curthread->td_ucred = savcred; if (rep != NULL) { /* @@ -1069,6 +1085,7 @@ tryagain: error = EACCES; } if (error) { + crfree(authcred); m_freem(nd->nd_mreq); if (usegssname == 0) AUTH_DESTROY(auth); @@ -1429,6 +1446,7 @@ tryagain: } } out: + crfree(authcred); #ifdef KDTRACE_HOOKS if (nmp != NULL && dtrace_nfscl_nfs234_done_probe != NULL) { @@ -1460,6 +1478,7 @@ out: newnfs_restore_sigmask(td, &oldset); return (0); nfsmout: + crfree(authcred); m_freem(nd->nd_mrep); m_freem(nd->nd_mreq); if (usegssname == 0) diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 39d7cb447d6a..95703b4cf94d 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -4168,7 +4168,7 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) rp->nr_sotype = SOCK_DGRAM; rp->nr_soproto = IPPROTO_UDP; rp->nr_lock = (NFSR_RESERVEDPORT | NFSR_LOCALHOST); - rp->nr_cred = NULL; + rp->nr_cred = crhold(curthread->td_ucred); rp->nr_prog = RPCPROG_NFSUSERD; error = 0; switch (nargs->nuserd_family) { @@ -4236,6 +4236,7 @@ nfsrv_nfsuserddelport(void) NFSUNLOCKNAMEID(); newnfs_disconnect(NULL, &NFSD_VNET(nfsrv_nfsuserdsock)); free(NFSD_VNET(nfsrv_nfsuserdsock).nr_nam, M_SONAME); + crfree(VNET(nfsrv_nfsuserdsock).nr_cred); NFSLOCKNAMEID(); NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index 41f3c6893378..0124de2db93d 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -4270,7 +4270,7 @@ nfsrvd_setclientid(struct nfsrv_descript *nd, __unused int isdgram, /* Allocated large enough for an AF_INET or AF_INET6 socket. */ clp->lc_req.nr_nam = malloc(sizeof(struct sockaddr_in6), M_SONAME, M_WAITOK | M_ZERO); - clp->lc_req.nr_cred = NULL; + clp->lc_req.nr_cred = crhold(nd->nd_cred); NFSBCOPY(verf, clp->lc_verf, NFSX_VERF); clp->lc_idlen = idlen; error = nfsrv_mtostr(nd, clp->lc_id, idlen); @@ -4360,6 +4360,7 @@ nfsrvd_setclientid(struct nfsrv_descript *nd, __unused int isdgram, if (clp) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } @@ -4378,6 +4379,7 @@ nfsmout: if (clp) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } @@ -4635,7 +4637,7 @@ nfsrvd_exchangeid(struct nfsrv_descript *nd, __unused int isdgram, break; #endif } - clp->lc_req.nr_cred = NULL; + clp->lc_req.nr_cred = crhold(nd->nd_cred); NFSBCOPY(verf, clp->lc_verf, NFSX_VERF); clp->lc_idlen = idlen; error = nfsrv_mtostr(nd, clp->lc_id, idlen); @@ -4708,6 +4710,7 @@ nfsrvd_exchangeid(struct nfsrv_descript *nd, __unused int isdgram, if (clp != NULL) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } @@ -4751,6 +4754,7 @@ nfsmout: if (clp != NULL) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c index e36a5c7810da..fd27de05b35f 100644 --- a/sys/fs/nfsserver/nfs_nfsdstate.c +++ b/sys/fs/nfsserver/nfs_nfsdstate.c @@ -1503,6 +1503,7 @@ nfsrv_zapclient(struct nfsclient *clp, NFSPROC_T *p) newnfs_disconnect(NULL, &clp->lc_req); free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); NFSLOCKSTATE(); diff --git a/sys/rpc/clnt_bck.c b/sys/rpc/clnt_bck.c index c5cbbf045bdc..9ff85b1fa2c0 100644 --- a/sys/rpc/clnt_bck.c +++ b/sys/rpc/clnt_bck.c @@ -58,6 +58,7 @@ #include #include +#include #include #include #include @@ -440,15 +441,19 @@ got_reply: * If unsuccessful AND error is an authentication error * then refresh credentials and try again, else break */ - else if (stat == RPC_AUTHERROR) + else if (stat == RPC_AUTHERROR) { /* maybe our credentials need to be refreshed ... */ + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (nrefreshes > 0 && AUTH_REFRESH(auth, &reply_msg)) { + CURVNET_RESTORE(); nrefreshes--; XDR_DESTROY(&xdrs); mtx_lock(&ct->ct_lock); goto call_again; } + CURVNET_RESTORE(); /* end of unsuccessful completion */ + } /* end of valid reply message */ } else errp->re_status = stat = RPC_CANTDECODERES; diff --git a/sys/rpc/clnt_dg.c b/sys/rpc/clnt_dg.c index b6a8cdce0d76..d7870aef5674 100644 --- a/sys/rpc/clnt_dg.c +++ b/sys/rpc/clnt_dg.c @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -738,15 +739,19 @@ got_reply: * If unsuccessful AND error is an authentication error * then refresh credentials and try again, else break */ - else if (stat == RPC_AUTHERROR) + else if (stat == RPC_AUTHERROR) { /* maybe our credentials need to be refreshed ... */ + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (nrefreshes > 0 && AUTH_REFRESH(auth, &reply_msg)) { + CURVNET_RESTORE(); nrefreshes--; XDR_DESTROY(&xdrs); mtx_lock(&cs->cs_lock); goto call_again; } + CURVNET_RESTORE(); + } /* end of unsuccessful completion */ } /* end of valid reply message */ else { diff --git a/sys/rpc/clnt_vc.c b/sys/rpc/clnt_vc.c index ecd5fdd04f34..e395cd27ccaa 100644 --- a/sys/rpc/clnt_vc.c +++ b/sys/rpc/clnt_vc.c @@ -54,6 +54,7 @@ #include #include +#include #include #include #include @@ -559,15 +560,19 @@ got_reply: * If unsuccessful AND error is an authentication error * then refresh credentials and try again, else break */ - else if (stat == RPC_AUTHERROR) + else if (stat == RPC_AUTHERROR) { /* maybe our credentials need to be refreshed ... */ + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (nrefreshes > 0 && AUTH_REFRESH(auth, &reply_msg)) { + CURVNET_RESTORE(); nrefreshes--; XDR_DESTROY(&xdrs); mtx_lock(&ct->ct_lock); goto call_again; } + CURVNET_RESTORE(); + } /* end of unsuccessful completion */ } /* end of valid reply message */ else { diff --git a/sys/rpc/rpcsec_gss/rpcsec_gss.c b/sys/rpc/rpcsec_gss/rpcsec_gss.c index d99e3a3090df..de690bbbd1d1 100644 --- a/sys/rpc/rpcsec_gss/rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/rpcsec_gss.c @@ -150,26 +150,42 @@ static struct timeval AUTH_TIMEOUT = { 25, 0 }; #define RPC_GSS_HASH_SIZE 11 #define RPC_GSS_MAX 256 -static struct rpc_gss_data_list rpc_gss_cache[RPC_GSS_HASH_SIZE]; -static struct rpc_gss_data_list rpc_gss_all; -static struct sx rpc_gss_lock; -static int rpc_gss_count; + +VNET_DEFINE_STATIC(struct rpc_gss_data_list *, rpc_gss_cache); +VNET_DEFINE_STATIC(struct rpc_gss_data_list, rpc_gss_all); +VNET_DEFINE_STATIC(struct sx, rpc_gss_lock); +VNET_DEFINE_STATIC(int, rpc_gss_count); static AUTH *rpc_gss_seccreate_int(CLIENT *, struct ucred *, const char *, const char *, gss_OID, rpc_gss_service_t, u_int, rpc_gss_options_req_t *, rpc_gss_options_ret_t *); static void -rpc_gss_hashinit(void *dummy) +rpc_gss_hashinit(void *dummy __unused) { int i; + VNET(rpc_gss_cache) = mem_alloc(sizeof(struct rpc_gss_data_list) * + RPC_GSS_HASH_SIZE); for (i = 0; i < RPC_GSS_HASH_SIZE; i++) - TAILQ_INIT(&rpc_gss_cache[i]); - TAILQ_INIT(&rpc_gss_all); - sx_init(&rpc_gss_lock, "rpc_gss_lock"); + TAILQ_INIT(&VNET(rpc_gss_cache)[i]); + TAILQ_INIT(&VNET(rpc_gss_all)); + sx_init(&VNET(rpc_gss_lock), "rpc_gss_lock"); } -SYSINIT(rpc_gss_hashinit, SI_SUB_KMEM, SI_ORDER_ANY, rpc_gss_hashinit, NULL); +VNET_SYSINIT(rpc_gss_hashinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, + rpc_gss_hashinit, NULL); + +static void +rpc_gss_hashinit_cleanup(void *dummy __unused) +{ + + rpc_gss_secpurge(NULL); + mem_free(VNET(rpc_gss_cache), sizeof(struct rpc_gss_data_list) * + RPC_GSS_HASH_SIZE); + sx_destroy(&VNET(rpc_gss_lock)); +} +VNET_SYSUNINIT(rpc_gss_hashinit_cleanup, SI_SUB_VNET_DONE, SI_ORDER_ANY, + rpc_gss_hashinit_cleanup, NULL); static uint32_t rpc_gss_hash(const char *principal, gss_OID mech, @@ -198,15 +214,16 @@ rpc_gss_secfind(CLIENT *clnt, struct ucred *cred, const char *principal, struct rpc_gss_data *gd, *tgd; rpc_gss_options_ret_t options; - if (rpc_gss_count > RPC_GSS_MAX) { - while (rpc_gss_count > RPC_GSS_MAX) { - sx_xlock(&rpc_gss_lock); - tgd = TAILQ_FIRST(&rpc_gss_all); + CURVNET_ASSERT_SET(); + if (VNET(rpc_gss_count) > RPC_GSS_MAX) { + while (VNET(rpc_gss_count) > RPC_GSS_MAX) { + sx_xlock(&VNET(rpc_gss_lock)); + tgd = TAILQ_FIRST(&VNET(rpc_gss_all)); th = tgd->gd_hash; - TAILQ_REMOVE(&rpc_gss_cache[th], tgd, gd_link); - TAILQ_REMOVE(&rpc_gss_all, tgd, gd_alllink); - rpc_gss_count--; - sx_xunlock(&rpc_gss_lock); + TAILQ_REMOVE(&VNET(rpc_gss_cache)[th], tgd, gd_link); + TAILQ_REMOVE(&VNET(rpc_gss_all), tgd, gd_alllink); + VNET(rpc_gss_count)--; + sx_xunlock(&VNET(rpc_gss_lock)); AUTH_DESTROY(tgd->gd_auth); } } @@ -217,23 +234,24 @@ rpc_gss_secfind(CLIENT *clnt, struct ucred *cred, const char *principal, h = rpc_gss_hash(principal, mech_oid, cred, service); again: - sx_slock(&rpc_gss_lock); - TAILQ_FOREACH(gd, &rpc_gss_cache[h], gd_link) { + sx_slock(&VNET(rpc_gss_lock)); + TAILQ_FOREACH(gd, &VNET(rpc_gss_cache)[h], gd_link) { if (gd->gd_ucred->cr_uid == cred->cr_uid && !strcmp(gd->gd_principal, principal) && gd->gd_mech == mech_oid && gd->gd_cred.gc_svc == service) { refcount_acquire(&gd->gd_refs); - if (sx_try_upgrade(&rpc_gss_lock)) { + if (sx_try_upgrade(&VNET(rpc_gss_lock))) { /* * Keep rpc_gss_all LRU sorted. */ - TAILQ_REMOVE(&rpc_gss_all, gd, gd_alllink); - TAILQ_INSERT_TAIL(&rpc_gss_all, gd, + TAILQ_REMOVE(&VNET(rpc_gss_all), gd, + gd_alllink); + TAILQ_INSERT_TAIL(&VNET(rpc_gss_all), gd, gd_alllink); - sx_xunlock(&rpc_gss_lock); + sx_xunlock(&VNET(rpc_gss_lock)); } else { - sx_sunlock(&rpc_gss_lock); + sx_sunlock(&VNET(rpc_gss_lock)); } /* @@ -249,7 +267,7 @@ again: return (gd->gd_auth); } } - sx_sunlock(&rpc_gss_lock); + sx_sunlock(&VNET(rpc_gss_lock)); /* * We missed in the cache - create a new association. @@ -262,8 +280,8 @@ again: gd = AUTH_PRIVATE(auth); gd->gd_hash = h; - sx_xlock(&rpc_gss_lock); - TAILQ_FOREACH(tgd, &rpc_gss_cache[h], gd_link) { + sx_xlock(&VNET(rpc_gss_lock)); + TAILQ_FOREACH(tgd, &VNET(rpc_gss_cache)[h], gd_link) { if (tgd->gd_ucred->cr_uid == cred->cr_uid && !strcmp(tgd->gd_principal, principal) && tgd->gd_mech == mech_oid @@ -272,17 +290,17 @@ again: * We lost a race to create the AUTH that * matches this cred. */ - sx_xunlock(&rpc_gss_lock); + sx_xunlock(&VNET(rpc_gss_lock)); AUTH_DESTROY(auth); goto again; } } - rpc_gss_count++; - TAILQ_INSERT_TAIL(&rpc_gss_cache[h], gd, gd_link); - TAILQ_INSERT_TAIL(&rpc_gss_all, gd, gd_alllink); + VNET(rpc_gss_count)++; + TAILQ_INSERT_TAIL(&VNET(rpc_gss_cache)[h], gd, gd_link); + TAILQ_INSERT_TAIL(&VNET(rpc_gss_all), gd, gd_alllink); refcount_acquire(&gd->gd_refs); /* one for the cache, one for user */ - sx_xunlock(&rpc_gss_lock); + sx_xunlock(&VNET(rpc_gss_lock)); return (auth); } @@ -293,14 +311,15 @@ rpc_gss_secpurge(CLIENT *clnt) uint32_t h; struct rpc_gss_data *gd, *tgd; - TAILQ_FOREACH_SAFE(gd, &rpc_gss_all, gd_alllink, tgd) { - if (gd->gd_clnt == clnt) { - sx_xlock(&rpc_gss_lock); + CURVNET_ASSERT_SET(); + TAILQ_FOREACH_SAFE(gd, &VNET(rpc_gss_all), gd_alllink, tgd) { + if (clnt == NULL || gd->gd_clnt == clnt) { + sx_xlock(&VNET(rpc_gss_lock)); h = gd->gd_hash; - TAILQ_REMOVE(&rpc_gss_cache[h], gd, gd_link); - TAILQ_REMOVE(&rpc_gss_all, gd, gd_alllink); - rpc_gss_count--; - sx_xunlock(&rpc_gss_lock); + TAILQ_REMOVE(&VNET(rpc_gss_cache)[h], gd, gd_link); + TAILQ_REMOVE(&VNET(rpc_gss_all), gd, gd_alllink); + VNET(rpc_gss_count)--; + sx_xunlock(&VNET(rpc_gss_lock)); AUTH_DESTROY(gd->gd_auth); } } @@ -748,6 +767,7 @@ rpc_gss_init(AUTH *auth, rpc_gss_options_ret_t *options_ret) gss_OID_set mechlist; static enum krb_imp my_krb_imp = KRBIMP_UNKNOWN; + CURVNET_ASSERT_SET(); rpc_gss_log_debug("in rpc_gss_refresh()"); gd = AUTH_PRIVATE(auth); @@ -773,17 +793,6 @@ rpc_gss_init(AUTH *auth, rpc_gss_options_ret_t *options_ret) gd->gd_cred.gc_proc = RPCSEC_GSS_INIT; gd->gd_cred.gc_seq = 0; - /* - * XXX Threads from inside jails can get here via calls - * to clnt_vc_call()->AUTH_REFRESH()->rpc_gss_refresh() - * but the NFS mount is always done outside of the - * jails in vnet0. Since the thread credentials won't - * necessarily have cr_prison == vnet0 and this function - * has no access to the socket, using vnet0 seems the - * only option. This is broken if NFS mounts are enabled - * within vnet prisons. - */ - CURVNET_SET_QUIET(vnet0); /* * For KerberosV, if there is a client principal name, that implies * that this is a host based initiator credential in the default @@ -1030,14 +1039,12 @@ out: gss_delete_sec_context(&min_stat, &gd->gd_ctx, GSS_C_NO_BUFFER); } - CURVNET_RESTORE(); mtx_lock(&gd->gd_lock); gd->gd_state = RPCSEC_GSS_START; wakeup(gd); mtx_unlock(&gd->gd_lock); return (FALSE); } - CURVNET_RESTORE(); mtx_lock(&gd->gd_lock); gd->gd_state = RPCSEC_GSS_ESTABLISHED; From nobody Wed Jun 3 20:06:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzHX60XTz6gccP for ; Wed, 03 Jun 2026 20:06: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzHX5kR1z4PvJ for ; Wed, 03 Jun 2026 20:06:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780517208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bYknPUSP4B1mqwOx2TileYF9pBE7gIpS7khqiBsEPGM=; b=NoqJxs34rP1wx5A3oDcSLBV9HMg3eVOzdKK7VcoqgockDJV/rNMdv8gMPrlzefMdJfBZMT U/+gIEZNB5N5KduiV0cCSPVTFXbc/cEya8G+d4vAj7a718s8AHa07R8+NwWwlfi1OytQKS ouW60RZon+iJWePKJ5K7Y6XVhnYX5SDpCqhxWLT2TmHJ0954M77zuuax3rALrE+/u2Da/k 93hrWkY7bnTx7KC1qbo7/pCIS97BpyIGDcbpGeTL26YkhnGaukcsgOnX4TgK19v5aAZ3yA T++XWKySLs7uQuKnLMVoq4zQ/nmKy0tMqFCPRiQ39bJyjdGRXC8OIqF4BXCGpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780517208; a=rsa-sha256; cv=none; b=U3XFhM02mQja/KhUpuwLW5vawShIhCcnDsbrqrzLB4J7Li6PiXIIRpjrT2ONdsRn+9/+TN XRiN14XM5AWXw6FQb0J2UaxaR3f4qwICuZ221dNnHhNw/LhLjCqZEOqLUPfThI8JKr8c8R uyOMQnQ0wUtjdmcaiiL2DomVFCEIAZQsc5P0SROa7FD7duxLTHzECaujL7HrAuX4Y/UT9F eDPBf4UdBO9d1X31vFBgDhtO5pDAIjsd4h1Sd8dUUiorGK+ydBhDfd1S31PV0/KhDfAtsv y76tOvVew9eyzO/jQnTqS8xm6YzVM2rwqcpnKkJXhYaTMInfxS9kDQ+DV8unSQ== 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=1780517208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bYknPUSP4B1mqwOx2TileYF9pBE7gIpS7khqiBsEPGM=; b=H5uISnypifuuNPkfbQP4Lj1ma8d6Vhe96j0hPGJcQWR7YdPVa5LyDZzT6BT9ojbqKUXvgK mHAqynTXg15WIbUv165we7MaoQC4ahJEWirPMpRnXGBHqRNYGFBzXwVjY67P8G/j4YP14W Dti5LN2jjmZq6a8PoAIRQtGxh8PF+XFpRkmui39Nk3hXQKzI+JSBBw80SkywqjtEfK0f20 BUBp8aUYpGyxO/eVEY7AO+tzb7KlQ8I5QCDjzUbTQWEjVuaOaWnZhGh00R6XfBV+g5t6zE kcGdNF4rUhTUHWKdNtyTqxCXj+stNtHdjT1eOtGTM+85iUT1Ynpo+DCDGhO70A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzHX5BGmzBKD for ; Wed, 03 Jun 2026 20:06:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32dc6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:06:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: fcc7609d699a - stable/15 - nfsd: Get rid of NFSD_VNET macros List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: fcc7609d699aa669c8dc4bedd2445483fdb871b5 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:06:43 +0000 Message-Id: <6a208953.32dc6.245238d4@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=fcc7609d699aa669c8dc4bedd2445483fdb871b5 commit fcc7609d699aa669c8dc4bedd2445483fdb871b5 Author: Rick Macklem AuthorDate: 2026-05-02 21:36:43 +0000 Commit: Rick Macklem CommitDate: 2026-06-03 20:04:50 +0000 nfsd: Get rid of NFSD_VNET macros When the nfsd was vnet'd, the VNET macros were hidden behind macros that had the NFSD_ prefix on them. This was done because, at the time, it was thought that something other than vnet might be used for this. That has not happened and probably will not happen, so this patch replaces these obscuring macros with the regular vnet ones. There should be no semantics change caused by this commit. (cherry picked from commit 821976facf746ef241e1524b44bb1de0af98fdc0) --- sys/fs/nfs/nfs_commonport.c | 294 +++++++++++++++++++------------------- sys/fs/nfs/nfs_commonsubs.c | 294 +++++++++++++++++++------------------- sys/fs/nfs/nfsdport.h | 2 +- sys/fs/nfs/nfsport.h | 14 -- sys/fs/nfs/nfsrvstate.h | 12 +- sys/fs/nfsclient/nfs_clport.c | 4 +- sys/fs/nfsserver/nfs_fha_new.c | 84 +++++------ sys/fs/nfsserver/nfs_nfsdcache.c | 134 ++++++++--------- sys/fs/nfsserver/nfs_nfsdkrpc.c | 82 +++++------ sys/fs/nfsserver/nfs_nfsdport.c | 178 +++++++++++------------ sys/fs/nfsserver/nfs_nfsdsocket.c | 66 ++++----- sys/fs/nfsserver/nfs_nfsdstate.c | 160 ++++++++++----------- sys/fs/nfsserver/nfs_nfsdsubs.c | 32 ++--- 13 files changed, 671 insertions(+), 685 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index 91d9188d30c5..03c6688b1406 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -71,10 +71,10 @@ vop_advlock_t *nfs_advlock_p = NULL; vop_reclaim_t *nfs_reclaim_p = NULL; uint32_t nfs_srvmaxio = NFS_SRVMAXIO; -NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); +VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); -NFSD_VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); -NFSD_VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); +VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); +VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); int nfs_pnfsio(task_fn_t *, void *); @@ -428,9 +428,9 @@ nfssvc_nfscommon(struct thread *td, struct nfssvc_args *uap) { int error; - NFSD_CURVNET_SET(NFSD_TD_TO_VNET(td)); + CURVNET_SET(TD_TO_VNET(td)); error = nfssvc_call(td, uap, td->td_ucred); - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -470,105 +470,105 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) if ((uap->flag & NFSSVC_NEWSTRUCT) == 0) { /* Copy fields to the old ext_nfsstat structure. */ oldnfsstats.attrcache_hits = - NFSD_VNET(nfsstatsv1_p)->attrcache_hits; + VNET(nfsstatsv1_p)->attrcache_hits; oldnfsstats.attrcache_misses = - NFSD_VNET(nfsstatsv1_p)->attrcache_misses; + VNET(nfsstatsv1_p)->attrcache_misses; oldnfsstats.lookupcache_hits = - NFSD_VNET(nfsstatsv1_p)->lookupcache_hits; + VNET(nfsstatsv1_p)->lookupcache_hits; oldnfsstats.lookupcache_misses = - NFSD_VNET(nfsstatsv1_p)->lookupcache_misses; + VNET(nfsstatsv1_p)->lookupcache_misses; oldnfsstats.direofcache_hits = - NFSD_VNET(nfsstatsv1_p)->direofcache_hits; + VNET(nfsstatsv1_p)->direofcache_hits; oldnfsstats.direofcache_misses = - NFSD_VNET(nfsstatsv1_p)->direofcache_misses; + VNET(nfsstatsv1_p)->direofcache_misses; oldnfsstats.accesscache_hits = - NFSD_VNET(nfsstatsv1_p)->accesscache_hits; + VNET(nfsstatsv1_p)->accesscache_hits; oldnfsstats.accesscache_misses = - NFSD_VNET(nfsstatsv1_p)->accesscache_misses; + VNET(nfsstatsv1_p)->accesscache_misses; oldnfsstats.biocache_reads = - NFSD_VNET(nfsstatsv1_p)->biocache_reads; + VNET(nfsstatsv1_p)->biocache_reads; oldnfsstats.read_bios = - NFSD_VNET(nfsstatsv1_p)->read_bios; + VNET(nfsstatsv1_p)->read_bios; oldnfsstats.read_physios = - NFSD_VNET(nfsstatsv1_p)->read_physios; + VNET(nfsstatsv1_p)->read_physios; oldnfsstats.biocache_writes = - NFSD_VNET(nfsstatsv1_p)->biocache_writes; + VNET(nfsstatsv1_p)->biocache_writes; oldnfsstats.write_bios = - NFSD_VNET(nfsstatsv1_p)->write_bios; + VNET(nfsstatsv1_p)->write_bios; oldnfsstats.write_physios = - NFSD_VNET(nfsstatsv1_p)->write_physios; + VNET(nfsstatsv1_p)->write_physios; oldnfsstats.biocache_readlinks = - NFSD_VNET(nfsstatsv1_p)->biocache_readlinks; + VNET(nfsstatsv1_p)->biocache_readlinks; oldnfsstats.readlink_bios = - NFSD_VNET(nfsstatsv1_p)->readlink_bios; + VNET(nfsstatsv1_p)->readlink_bios; oldnfsstats.biocache_readdirs = - NFSD_VNET(nfsstatsv1_p)->biocache_readdirs; + VNET(nfsstatsv1_p)->biocache_readdirs; oldnfsstats.readdir_bios = - NFSD_VNET(nfsstatsv1_p)->readdir_bios; + VNET(nfsstatsv1_p)->readdir_bios; for (i = 0; i < NFSV4_NPROCS; i++) oldnfsstats.rpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->rpccnt[i]; + VNET(nfsstatsv1_p)->rpccnt[i]; oldnfsstats.rpcretries = - NFSD_VNET(nfsstatsv1_p)->rpcretries; + VNET(nfsstatsv1_p)->rpcretries; for (i = 0; i < NFSV4OP_NOPS; i++) oldnfsstats.srvrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; for (i = NFSV42_NOPS, j = NFSV4OP_NOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) oldnfsstats.srvrpccnt[j] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; oldnfsstats.reserved_0 = 0; oldnfsstats.reserved_1 = 0; oldnfsstats.rpcrequests = - NFSD_VNET(nfsstatsv1_p)->rpcrequests; + VNET(nfsstatsv1_p)->rpcrequests; oldnfsstats.rpctimeouts = - NFSD_VNET(nfsstatsv1_p)->rpctimeouts; + VNET(nfsstatsv1_p)->rpctimeouts; oldnfsstats.rpcunexpected = - NFSD_VNET(nfsstatsv1_p)->rpcunexpected; + VNET(nfsstatsv1_p)->rpcunexpected; oldnfsstats.rpcinvalid = - NFSD_VNET(nfsstatsv1_p)->rpcinvalid; + VNET(nfsstatsv1_p)->rpcinvalid; oldnfsstats.srvcache_inproghits = - NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits; + VNET(nfsstatsv1_p)->srvcache_inproghits; oldnfsstats.reserved_2 = 0; oldnfsstats.srvcache_nonidemdonehits = - NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; + VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; oldnfsstats.srvcache_misses = - NFSD_VNET(nfsstatsv1_p)->srvcache_misses; + VNET(nfsstatsv1_p)->srvcache_misses; oldnfsstats.srvcache_tcppeak = - NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak; + VNET(nfsstatsv1_p)->srvcache_tcppeak; oldnfsstats.srvcache_size = - NFSD_VNET(nfsstatsv1_p)->srvcache_size; + VNET(nfsstatsv1_p)->srvcache_size; oldnfsstats.srvclients = - NFSD_VNET(nfsstatsv1_p)->srvclients; + VNET(nfsstatsv1_p)->srvclients; oldnfsstats.srvopenowners = - NFSD_VNET(nfsstatsv1_p)->srvopenowners; + VNET(nfsstatsv1_p)->srvopenowners; oldnfsstats.srvopens = - NFSD_VNET(nfsstatsv1_p)->srvopens; + VNET(nfsstatsv1_p)->srvopens; oldnfsstats.srvlockowners = - NFSD_VNET(nfsstatsv1_p)->srvlockowners; + VNET(nfsstatsv1_p)->srvlockowners; oldnfsstats.srvlocks = - NFSD_VNET(nfsstatsv1_p)->srvlocks; + VNET(nfsstatsv1_p)->srvlocks; oldnfsstats.srvdelegates = - NFSD_VNET(nfsstatsv1_p)->srvdelegates; + VNET(nfsstatsv1_p)->srvdelegates; for (i = 0; i < NFSV4OP_CBNOPS; i++) oldnfsstats.cbrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->cbrpccnt[i]; + VNET(nfsstatsv1_p)->cbrpccnt[i]; oldnfsstats.clopenowners = - NFSD_VNET(nfsstatsv1_p)->clopenowners; - oldnfsstats.clopens = NFSD_VNET(nfsstatsv1_p)->clopens; + VNET(nfsstatsv1_p)->clopenowners; + oldnfsstats.clopens = VNET(nfsstatsv1_p)->clopens; oldnfsstats.cllockowners = - NFSD_VNET(nfsstatsv1_p)->cllockowners; - oldnfsstats.cllocks = NFSD_VNET(nfsstatsv1_p)->cllocks; + VNET(nfsstatsv1_p)->cllockowners; + oldnfsstats.cllocks = VNET(nfsstatsv1_p)->cllocks; oldnfsstats.cldelegates = - NFSD_VNET(nfsstatsv1_p)->cldelegates; + VNET(nfsstatsv1_p)->cldelegates; oldnfsstats.cllocalopenowners = - NFSD_VNET(nfsstatsv1_p)->cllocalopenowners; + VNET(nfsstatsv1_p)->cllocalopenowners; oldnfsstats.cllocalopens = - NFSD_VNET(nfsstatsv1_p)->cllocalopens; + VNET(nfsstatsv1_p)->cllocalopens; oldnfsstats.cllocallockowners = - NFSD_VNET(nfsstatsv1_p)->cllocallockowners; + VNET(nfsstatsv1_p)->cllocallockowners; oldnfsstats.cllocallocks = - NFSD_VNET(nfsstatsv1_p)->cllocallocks; + VNET(nfsstatsv1_p)->cllocallocks; error = copyout(&oldnfsstats, uap->argp, sizeof (oldnfsstats)); } else { @@ -578,174 +578,174 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) if (nfsstatver.vers == NFSSTATS_OV1) { /* Copy nfsstatsv1 to nfsstatsov1. */ nfsstatsov1.attrcache_hits = - NFSD_VNET(nfsstatsv1_p)->attrcache_hits; + VNET(nfsstatsv1_p)->attrcache_hits; nfsstatsov1.attrcache_misses = - NFSD_VNET(nfsstatsv1_p)->attrcache_misses; + VNET(nfsstatsv1_p)->attrcache_misses; nfsstatsov1.lookupcache_hits = - NFSD_VNET(nfsstatsv1_p)->lookupcache_hits; + VNET(nfsstatsv1_p)->lookupcache_hits; nfsstatsov1.lookupcache_misses = - NFSD_VNET(nfsstatsv1_p)->lookupcache_misses; + VNET(nfsstatsv1_p)->lookupcache_misses; nfsstatsov1.direofcache_hits = - NFSD_VNET(nfsstatsv1_p)->direofcache_hits; + VNET(nfsstatsv1_p)->direofcache_hits; nfsstatsov1.direofcache_misses = - NFSD_VNET(nfsstatsv1_p)->direofcache_misses; + VNET(nfsstatsv1_p)->direofcache_misses; nfsstatsov1.accesscache_hits = - NFSD_VNET(nfsstatsv1_p)->accesscache_hits; + VNET(nfsstatsv1_p)->accesscache_hits; nfsstatsov1.accesscache_misses = - NFSD_VNET(nfsstatsv1_p)->accesscache_misses; + VNET(nfsstatsv1_p)->accesscache_misses; nfsstatsov1.biocache_reads = - NFSD_VNET(nfsstatsv1_p)->biocache_reads; + VNET(nfsstatsv1_p)->biocache_reads; nfsstatsov1.read_bios = - NFSD_VNET(nfsstatsv1_p)->read_bios; + VNET(nfsstatsv1_p)->read_bios; nfsstatsov1.read_physios = - NFSD_VNET(nfsstatsv1_p)->read_physios; + VNET(nfsstatsv1_p)->read_physios; nfsstatsov1.biocache_writes = - NFSD_VNET(nfsstatsv1_p)->biocache_writes; + VNET(nfsstatsv1_p)->biocache_writes; nfsstatsov1.write_bios = - NFSD_VNET(nfsstatsv1_p)->write_bios; + VNET(nfsstatsv1_p)->write_bios; nfsstatsov1.write_physios = - NFSD_VNET(nfsstatsv1_p)->write_physios; + VNET(nfsstatsv1_p)->write_physios; nfsstatsov1.biocache_readlinks = - NFSD_VNET(nfsstatsv1_p)->biocache_readlinks; + VNET(nfsstatsv1_p)->biocache_readlinks; nfsstatsov1.readlink_bios = - NFSD_VNET(nfsstatsv1_p)->readlink_bios; + VNET(nfsstatsv1_p)->readlink_bios; nfsstatsov1.biocache_readdirs = - NFSD_VNET(nfsstatsv1_p)->biocache_readdirs; + VNET(nfsstatsv1_p)->biocache_readdirs; nfsstatsov1.readdir_bios = - NFSD_VNET(nfsstatsv1_p)->readdir_bios; + VNET(nfsstatsv1_p)->readdir_bios; for (i = 0; i < NFSV42_OLDNPROCS; i++) nfsstatsov1.rpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->rpccnt[i]; + VNET(nfsstatsv1_p)->rpccnt[i]; nfsstatsov1.rpcretries = - NFSD_VNET(nfsstatsv1_p)->rpcretries; + VNET(nfsstatsv1_p)->rpcretries; for (i = 0; i < NFSV42_PURENOPS; i++) nfsstatsov1.srvrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; for (i = NFSV42_NOPS, j = NFSV42_PURENOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) nfsstatsov1.srvrpccnt[j] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; nfsstatsov1.reserved_0 = 0; nfsstatsov1.reserved_1 = 0; nfsstatsov1.rpcrequests = - NFSD_VNET(nfsstatsv1_p)->rpcrequests; + VNET(nfsstatsv1_p)->rpcrequests; nfsstatsov1.rpctimeouts = - NFSD_VNET(nfsstatsv1_p)->rpctimeouts; + VNET(nfsstatsv1_p)->rpctimeouts; nfsstatsov1.rpcunexpected = - NFSD_VNET(nfsstatsv1_p)->rpcunexpected; + VNET(nfsstatsv1_p)->rpcunexpected; nfsstatsov1.rpcinvalid = - NFSD_VNET(nfsstatsv1_p)->rpcinvalid; + VNET(nfsstatsv1_p)->rpcinvalid; nfsstatsov1.srvcache_inproghits = - NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits; + VNET(nfsstatsv1_p)->srvcache_inproghits; nfsstatsov1.reserved_2 = 0; nfsstatsov1.srvcache_nonidemdonehits = - NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; + VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; nfsstatsov1.srvcache_misses = - NFSD_VNET(nfsstatsv1_p)->srvcache_misses; + VNET(nfsstatsv1_p)->srvcache_misses; nfsstatsov1.srvcache_tcppeak = - NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak; + VNET(nfsstatsv1_p)->srvcache_tcppeak; nfsstatsov1.srvcache_size = - NFSD_VNET(nfsstatsv1_p)->srvcache_size; + VNET(nfsstatsv1_p)->srvcache_size; nfsstatsov1.srvclients = - NFSD_VNET(nfsstatsv1_p)->srvclients; + VNET(nfsstatsv1_p)->srvclients; nfsstatsov1.srvopenowners = - NFSD_VNET(nfsstatsv1_p)->srvopenowners; + VNET(nfsstatsv1_p)->srvopenowners; nfsstatsov1.srvopens = - NFSD_VNET(nfsstatsv1_p)->srvopens; + VNET(nfsstatsv1_p)->srvopens; nfsstatsov1.srvlockowners = - NFSD_VNET(nfsstatsv1_p)->srvlockowners; + VNET(nfsstatsv1_p)->srvlockowners; nfsstatsov1.srvlocks = - NFSD_VNET(nfsstatsv1_p)->srvlocks; + VNET(nfsstatsv1_p)->srvlocks; nfsstatsov1.srvdelegates = - NFSD_VNET(nfsstatsv1_p)->srvdelegates; + VNET(nfsstatsv1_p)->srvdelegates; for (i = 0; i < NFSV42_CBNOPS; i++) nfsstatsov1.cbrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->cbrpccnt[i]; + VNET(nfsstatsv1_p)->cbrpccnt[i]; nfsstatsov1.clopenowners = - NFSD_VNET(nfsstatsv1_p)->clopenowners; + VNET(nfsstatsv1_p)->clopenowners; nfsstatsov1.clopens = - NFSD_VNET(nfsstatsv1_p)->clopens; + VNET(nfsstatsv1_p)->clopens; nfsstatsov1.cllockowners = - NFSD_VNET(nfsstatsv1_p)->cllockowners; + VNET(nfsstatsv1_p)->cllockowners; nfsstatsov1.cllocks = - NFSD_VNET(nfsstatsv1_p)->cllocks; + VNET(nfsstatsv1_p)->cllocks; nfsstatsov1.cldelegates = - NFSD_VNET(nfsstatsv1_p)->cldelegates; + VNET(nfsstatsv1_p)->cldelegates; nfsstatsov1.cllocalopenowners = - NFSD_VNET(nfsstatsv1_p)->cllocalopenowners; + VNET(nfsstatsv1_p)->cllocalopenowners; nfsstatsov1.cllocalopens = - NFSD_VNET(nfsstatsv1_p)->cllocalopens; + VNET(nfsstatsv1_p)->cllocalopens; nfsstatsov1.cllocallockowners = - NFSD_VNET(nfsstatsv1_p)->cllocallockowners; + VNET(nfsstatsv1_p)->cllocallockowners; nfsstatsov1.cllocallocks = - NFSD_VNET(nfsstatsv1_p)->cllocallocks; + VNET(nfsstatsv1_p)->cllocallocks; nfsstatsov1.srvstartcnt = - NFSD_VNET(nfsstatsv1_p)->srvstartcnt; + VNET(nfsstatsv1_p)->srvstartcnt; nfsstatsov1.srvdonecnt = - NFSD_VNET(nfsstatsv1_p)->srvdonecnt; + VNET(nfsstatsv1_p)->srvdonecnt; for (i = NFSV42_NOPS, j = NFSV42_PURENOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) { nfsstatsov1.srvbytes[j] = - NFSD_VNET(nfsstatsv1_p)->srvbytes[i]; + VNET(nfsstatsv1_p)->srvbytes[i]; nfsstatsov1.srvops[j] = - NFSD_VNET(nfsstatsv1_p)->srvops[i]; + VNET(nfsstatsv1_p)->srvops[i]; nfsstatsov1.srvduration[j] = - NFSD_VNET(nfsstatsv1_p)->srvduration[i]; + VNET(nfsstatsv1_p)->srvduration[i]; } nfsstatsov1.busyfrom = - NFSD_VNET(nfsstatsv1_p)->busyfrom; + VNET(nfsstatsv1_p)->busyfrom; nfsstatsov1.busyfrom = - NFSD_VNET(nfsstatsv1_p)->busyfrom; + VNET(nfsstatsv1_p)->busyfrom; error = copyout(&nfsstatsov1, uap->argp, sizeof(nfsstatsov1)); } else if (nfsstatver.vers != NFSSTATS_V1) error = EPERM; else - error = copyout(NFSD_VNET(nfsstatsv1_p), + error = copyout(VNET(nfsstatsv1_p), uap->argp, sizeof(nfsstatsv1)); } } if (error == 0) { if ((uap->flag & NFSSVC_ZEROCLTSTATS) != 0) { - NFSD_VNET(nfsstatsv1_p)->attrcache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->attrcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->lookupcache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->lookupcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->direofcache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->direofcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->accesscache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->accesscache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_reads = 0; - NFSD_VNET(nfsstatsv1_p)->read_bios = 0; - NFSD_VNET(nfsstatsv1_p)->read_physios = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_writes = 0; - NFSD_VNET(nfsstatsv1_p)->write_bios = 0; - NFSD_VNET(nfsstatsv1_p)->write_physios = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_readlinks = 0; - NFSD_VNET(nfsstatsv1_p)->readlink_bios = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_readdirs = 0; - NFSD_VNET(nfsstatsv1_p)->readdir_bios = 0; - NFSD_VNET(nfsstatsv1_p)->rpcretries = 0; - NFSD_VNET(nfsstatsv1_p)->rpcrequests = 0; - NFSD_VNET(nfsstatsv1_p)->rpctimeouts = 0; - NFSD_VNET(nfsstatsv1_p)->rpcunexpected = 0; - NFSD_VNET(nfsstatsv1_p)->rpcinvalid = 0; - bzero(NFSD_VNET(nfsstatsv1_p)->rpccnt, - sizeof(NFSD_VNET(nfsstatsv1_p)->rpccnt)); + VNET(nfsstatsv1_p)->attrcache_hits = 0; + VNET(nfsstatsv1_p)->attrcache_misses = 0; + VNET(nfsstatsv1_p)->lookupcache_hits = 0; + VNET(nfsstatsv1_p)->lookupcache_misses = 0; + VNET(nfsstatsv1_p)->direofcache_hits = 0; + VNET(nfsstatsv1_p)->direofcache_misses = 0; + VNET(nfsstatsv1_p)->accesscache_hits = 0; + VNET(nfsstatsv1_p)->accesscache_misses = 0; + VNET(nfsstatsv1_p)->biocache_reads = 0; + VNET(nfsstatsv1_p)->read_bios = 0; + VNET(nfsstatsv1_p)->read_physios = 0; + VNET(nfsstatsv1_p)->biocache_writes = 0; + VNET(nfsstatsv1_p)->write_bios = 0; + VNET(nfsstatsv1_p)->write_physios = 0; + VNET(nfsstatsv1_p)->biocache_readlinks = 0; + VNET(nfsstatsv1_p)->readlink_bios = 0; + VNET(nfsstatsv1_p)->biocache_readdirs = 0; + VNET(nfsstatsv1_p)->readdir_bios = 0; + VNET(nfsstatsv1_p)->rpcretries = 0; + VNET(nfsstatsv1_p)->rpcrequests = 0; + VNET(nfsstatsv1_p)->rpctimeouts = 0; + VNET(nfsstatsv1_p)->rpcunexpected = 0; + VNET(nfsstatsv1_p)->rpcinvalid = 0; + bzero(VNET(nfsstatsv1_p)->rpccnt, + sizeof(VNET(nfsstatsv1_p)->rpccnt)); } if ((uap->flag & NFSSVC_ZEROSRVSTATS) != 0) { - NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits = 0; - NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits = 0; - NFSD_VNET(nfsstatsv1_p)->srvcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak = 0; - bzero(NFSD_VNET(nfsstatsv1_p)->srvrpccnt, - sizeof(NFSD_VNET(nfsstatsv1_p)->srvrpccnt)); - bzero(NFSD_VNET(nfsstatsv1_p)->cbrpccnt, - sizeof(NFSD_VNET(nfsstatsv1_p)->cbrpccnt)); + VNET(nfsstatsv1_p)->srvcache_inproghits = 0; + VNET(nfsstatsv1_p)->srvcache_nonidemdonehits = 0; + VNET(nfsstatsv1_p)->srvcache_misses = 0; + VNET(nfsstatsv1_p)->srvcache_tcppeak = 0; + bzero(VNET(nfsstatsv1_p)->srvrpccnt, + sizeof(VNET(nfsstatsv1_p)->srvrpccnt)); + bzero(VNET(nfsstatsv1_p)->cbrpccnt, + sizeof(VNET(nfsstatsv1_p)->cbrpccnt)); } } goto out; @@ -891,11 +891,11 @@ nfs_vnetinit(const void *unused __unused) { if (IS_DEFAULT_VNET(curvnet)) - NFSD_VNET(nfsstatsv1_p) = &nfsstatsv1; + VNET(nfsstatsv1_p) = &nfsstatsv1; else - NFSD_VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), + VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), M_TEMP, M_WAITOK | M_ZERO); - mtx_init(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx, "nfsuserd", + mtx_init(&VNET(nfsrv_nfsuserdsock).nr_mtx, "nfsuserd", NULL, MTX_DEF); } VNET_SYSINIT(nfs_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_FIRST, @@ -905,10 +905,10 @@ static void nfs_cleanup(void *unused __unused) { - mtx_destroy(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx); + mtx_destroy(&VNET(nfsrv_nfsuserdsock).nr_mtx); if (!IS_DEFAULT_VNET(curvnet)) { - free(NFSD_VNET(nfsstatsv1_p), M_TEMP); - NFSD_VNET(nfsstatsv1_p) = NULL; + free(VNET(nfsstatsv1_p), M_TEMP); + VNET(nfsstatsv1_p) = NULL; } /* Clean out the name<-->id cache. */ nfsrv_cleanusergroup(); @@ -945,7 +945,7 @@ nfscommon_modevent(module_t mod, int type, void *data) case MOD_UNLOAD: if (newnfs_numnfsd != 0 || - NFSD_VNET(nfsrv_nfsuserd) != NOTRUNNING || + VNET(nfsrv_nfsuserd) != NOTRUNNING || nfs_numnfscbd != 0) { error = EBUSY; break; diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 95703b4cf94d..cc93c2270fa0 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -96,19 +96,19 @@ struct nfs_prime_userd nfs_prime_userd[] = { { 0, 0, 0, NULL }, }; -NFSD_VNET_DEFINE(int, nfsd_enable_stringtouid) = 0; -NFSD_VNET_DEFINE(struct nfssockreq, nfsrv_nfsuserdsock); -NFSD_VNET_DEFINE(nfsuserd_state, nfsrv_nfsuserd) = NOTRUNNING; -NFSD_VNET_DEFINE(uid_t, nfsrv_defaultuid) = UID_NOBODY; -NFSD_VNET_DEFINE(gid_t, nfsrv_defaultgid) = GID_NOGROUP; +VNET_DEFINE(int, nfsd_enable_stringtouid) = 0; +VNET_DEFINE(struct nfssockreq, nfsrv_nfsuserdsock); +VNET_DEFINE(nfsuserd_state, nfsrv_nfsuserd) = NOTRUNNING; +VNET_DEFINE(uid_t, nfsrv_defaultuid) = UID_NOBODY; +VNET_DEFINE(gid_t, nfsrv_defaultgid) = GID_NOGROUP; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_userdupcalls) = 0; +VNET_DEFINE_STATIC(int, nfsrv_userdupcalls) = 0; SYSCTL_DECL(_vfs_nfs); -NFSD_VNET_DEFINE_STATIC(int, nfs_enable_uidtostring) = 0; +VNET_DEFINE_STATIC(int, nfs_enable_uidtostring) = 0; SYSCTL_INT(_vfs_nfs, OID_AUTO, enable_uidtostring, - CTLFLAG_NFSD_VNET | CTLFLAG_RW, &NFSD_VNET_NAME(nfs_enable_uidtostring), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nfs_enable_uidtostring), 0, "Make nfs always send numeric owner_names"); int nfsrv_maxpnfsmirror = 1; @@ -216,14 +216,14 @@ struct nfsrv_lughash { struct nfsuserhashhead lughead; }; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_usercnt) = 0; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_dnsnamelen) = 0; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_usermax) = 999999999; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsuserhash) = NULL; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsusernamehash) = NULL; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgrouphash) = NULL; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgroupnamehash) = NULL; -NFSD_VNET_DEFINE_STATIC(u_char *, nfsrv_dnsname) = NULL; +VNET_DEFINE_STATIC(int, nfsrv_usercnt) = 0; +VNET_DEFINE_STATIC(int, nfsrv_dnsnamelen) = 0; +VNET_DEFINE_STATIC(int, nfsrv_usermax) = 999999999; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsuserhash) = NULL; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsusernamehash) = NULL; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgrouphash) = NULL; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgroupnamehash) = NULL; +VNET_DEFINE_STATIC(u_char *, nfsrv_dnsname) = NULL; /* * This static array indicates whether or not the RPC generates a large @@ -1370,7 +1370,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, #endif CTASSERT(sizeof(ino_t) == sizeof(uint64_t)); - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (compare) { retnotsup = 0; error = nfsrv_getattrbits(nd, &attrbits, NULL, &retnotsup); @@ -2065,7 +2065,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } else if (nap != NULL) { if (nfsv4_strtouid(nd, cp, j, &uid)) nap->na_uid = - NFSD_VNET(nfsrv_defaultuid); + VNET(nfsrv_defaultuid); else nap->na_uid = uid; } @@ -2099,7 +2099,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } else if (nap != NULL) { if (nfsv4_strtogid(nd, cp, j, &gid)) nap->na_gid = - NFSD_VNET(nfsrv_defaultgid); + VNET(nfsrv_defaultgid); else nap->na_gid = gid; } @@ -2603,7 +2603,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, error = nfsm_advance(nd, attrsize - attrsum, -1); } nfsmout: - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE2(error, nd); return (error); } @@ -3653,16 +3653,16 @@ nfsv4_uidtostr(uid_t uid, u_char **cpp, int *retlenp) int cnt, hasampersand, len = NFSV4_SMALLSTR, ret; struct nfsrv_lughash *hp; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0 && - !NFSD_VNET(nfs_enable_uidtostring)) { + if (VNET(nfsrv_dnsnamelen) > 0 && + !VNET(nfs_enable_uidtostring)) { /* * Always map nfsrv_defaultuid to "nobody". */ - if (uid == NFSD_VNET(nfsrv_defaultuid)) { - i = NFSD_VNET(nfsrv_dnsnamelen) + 7; + if (uid == VNET(nfsrv_defaultuid)) { + i = VNET(nfsrv_dnsnamelen) + 7; if (i > len) { if (len > NFSV4_SMALLSTR) free(cp, M_NFSSTRING); @@ -3674,9 +3674,9 @@ tryagain: *retlenp = i; NFSBCOPY("nobody@", cp, 7); cp += 7; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); - NFSD_CURVNET_RESTORE(); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); + CURVNET_RESTORE(); return; } hasampersand = 0; @@ -3701,7 +3701,7 @@ tryagain: i = usrp->lug_namelen; else i = usrp->lug_namelen + - NFSD_VNET(nfsrv_dnsnamelen) + 1; + VNET(nfsrv_dnsnamelen) + 1; if (i > len) { mtx_unlock(&hp->mtx); if (len > NFSV4_SMALLSTR) @@ -3716,14 +3716,14 @@ tryagain: if (!hasampersand) { cp += usrp->lug_namelen; *cp++ = '@'; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); } TAILQ_REMOVE(&hp->lughead, usrp, lug_numhash); TAILQ_INSERT_TAIL(&hp->lughead, usrp, lug_numhash); mtx_unlock(&hp->mtx); - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } } @@ -3751,7 +3751,7 @@ tryagain: *cp-- = '0' + (tmp % 10); tmp /= 10; } - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } @@ -3772,7 +3772,7 @@ nfsrv_getgrpscred(struct ucred *oldcred) cnt = 0; uid = oldcred->cr_uid; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { + if (VNET(nfsrv_dnsnamelen) > 0) { hp = NFSUSERHASH(uid); mtx_lock(&hp->mtx); TAILQ_FOREACH(usrp, &hp->lughead, lug_numhash) { @@ -3820,7 +3820,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) uid_t tuid; struct nfsrv_lughash *hp, *hp2; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (len == 0) { error = NFSERR_BADOWNER; goto out; @@ -3832,7 +3832,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) /* A numeric string. */ if ((nd->nd_flag & ND_KERBV) == 0 && ((nd->nd_flag & ND_NFSCL) != 0 || - NFSD_VNET(nfsd_enable_stringtouid) != 0)) + VNET(nfsd_enable_stringtouid) != 0)) *uidp = tuid; else error = NFSERR_BADOWNER; @@ -3849,7 +3849,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { + if (VNET(nfsrv_dnsnamelen) > 0) { /* * If an '@' is found and the domain name matches, search for * the name with dns stripped off. @@ -3857,10 +3857,10 @@ tryagain: * since RFC8881 defines this string as a DNS domain name. */ if (cnt == 0 && i < len && i > 0 && - (len - 1 - i) == NFSD_VNET(nfsrv_dnsnamelen) && - strncasecmp(cp, NFSD_VNET(nfsrv_dnsname), - NFSD_VNET(nfsrv_dnsnamelen)) == 0) { - len -= (NFSD_VNET(nfsrv_dnsnamelen) + 1); + (len - 1 - i) == VNET(nfsrv_dnsnamelen) && + strncasecmp(cp, VNET(nfsrv_dnsname), + VNET(nfsrv_dnsnamelen)) == 0) { + len -= (VNET(nfsrv_dnsnamelen) + 1); *(cp - 1) = '\0'; } @@ -3868,7 +3868,7 @@ tryagain: * Check for the special case of "nobody". */ if (len == 6 && !NFSBCMP(str, "nobody", 6)) { - *uidp = NFSD_VNET(nfsrv_defaultuid); + *uidp = VNET(nfsrv_defaultuid); error = 0; goto out; } @@ -3903,7 +3903,7 @@ tryagain: error = NFSERR_BADOWNER; out: - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -3925,16 +3925,16 @@ nfsv4_gidtostr(gid_t gid, u_char **cpp, int *retlenp) int cnt, hasampersand, len = NFSV4_SMALLSTR, ret; struct nfsrv_lughash *hp; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0 && - !NFSD_VNET(nfs_enable_uidtostring)) { + if (VNET(nfsrv_dnsnamelen) > 0 && + !VNET(nfs_enable_uidtostring)) { /* * Always map nfsrv_defaultgid to "nogroup". */ - if (gid == NFSD_VNET(nfsrv_defaultgid)) { - i = NFSD_VNET(nfsrv_dnsnamelen) + 8; + if (gid == VNET(nfsrv_defaultgid)) { + i = VNET(nfsrv_dnsnamelen) + 8; if (i > len) { if (len > NFSV4_SMALLSTR) free(cp, M_NFSSTRING); @@ -3946,9 +3946,9 @@ tryagain: *retlenp = i; NFSBCOPY("nogroup@", cp, 8); cp += 8; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); - NFSD_CURVNET_RESTORE(); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); + CURVNET_RESTORE(); return; } hasampersand = 0; @@ -3973,7 +3973,7 @@ tryagain: i = usrp->lug_namelen; else i = usrp->lug_namelen + - NFSD_VNET(nfsrv_dnsnamelen) + 1; + VNET(nfsrv_dnsnamelen) + 1; if (i > len) { mtx_unlock(&hp->mtx); if (len > NFSV4_SMALLSTR) @@ -3988,14 +3988,14 @@ tryagain: if (!hasampersand) { cp += usrp->lug_namelen; *cp++ = '@'; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); } TAILQ_REMOVE(&hp->lughead, usrp, lug_numhash); TAILQ_INSERT_TAIL(&hp->lughead, usrp, lug_numhash); mtx_unlock(&hp->mtx); - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } } @@ -4023,7 +4023,7 @@ tryagain: *cp-- = '0' + (tmp % 10); tmp /= 10; } - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } @@ -4046,7 +4046,7 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) gid_t tgid; struct nfsrv_lughash *hp, *hp2; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (len == 0) { error = NFSERR_BADOWNER; goto out; @@ -4058,7 +4058,7 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) /* A numeric string. */ if ((nd->nd_flag & ND_KERBV) == 0 && ((nd->nd_flag & ND_NFSCL) != 0 || - NFSD_VNET(nfsd_enable_stringtouid) != 0)) + VNET(nfsd_enable_stringtouid) != 0)) *gidp = tgid; else error = NFSERR_BADOWNER; @@ -4075,16 +4075,16 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { + if (VNET(nfsrv_dnsnamelen) > 0) { /* * If an '@' is found and the dns name matches, search for the * name with the dns stripped off. */ if (cnt == 0 && i < len && i > 0 && - (len - 1 - i) == NFSD_VNET(nfsrv_dnsnamelen) && - strncasecmp(cp, NFSD_VNET(nfsrv_dnsname), - NFSD_VNET(nfsrv_dnsnamelen)) == 0) { - len -= (NFSD_VNET(nfsrv_dnsnamelen) + 1); + (len - 1 - i) == VNET(nfsrv_dnsnamelen) && + strncasecmp(cp, VNET(nfsrv_dnsname), + VNET(nfsrv_dnsnamelen)) == 0) { + len -= (VNET(nfsrv_dnsnamelen) + 1); *(cp - 1) = '\0'; } @@ -4092,7 +4092,7 @@ tryagain: * Check for the special case of "nogroup". */ if (len == 7 && !NFSBCMP(str, "nogroup", 7)) { - *gidp = NFSD_VNET(nfsrv_defaultgid); + *gidp = VNET(nfsrv_defaultgid); error = 0; goto out; } @@ -4127,7 +4127,7 @@ tryagain: error = NFSERR_BADOWNER; out: - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -4149,12 +4149,12 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) int error; NFSLOCKNAMEID(); - if (NFSD_VNET(nfsrv_nfsuserd) != NOTRUNNING) { + if (VNET(nfsrv_nfsuserd) != NOTRUNNING) { NFSUNLOCKNAMEID(); error = EPERM; goto out; } - NFSD_VNET(nfsrv_nfsuserd) = STARTSTOP; + VNET(nfsrv_nfsuserd) = STARTSTOP; /* * Set up the socket record and connect. * Set nr_client NULL before unlocking, just to ensure that no other @@ -4162,7 +4162,7 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) * occur if the use of the nameid lock to protect nfsrv_nfsuserd is * broken. */ - rp = &NFSD_VNET(nfsrv_nfsuserdsock); + rp = &VNET(nfsrv_nfsuserdsock); rp->nr_client = NULL; NFSUNLOCKNAMEID(); rp->nr_sotype = SOCK_DGRAM; @@ -4203,12 +4203,12 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) &rp->nr_client); if (error == 0) { NFSLOCKNAMEID(); - NFSD_VNET(nfsrv_nfsuserd) = RUNNING; + VNET(nfsrv_nfsuserd) = RUNNING; NFSUNLOCKNAMEID(); } else { free(rp->nr_nam, M_SONAME); NFSLOCKNAMEID(); - NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; + VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); } out: @@ -4224,21 +4224,21 @@ nfsrv_nfsuserddelport(void) { NFSLOCKNAMEID(); - if (NFSD_VNET(nfsrv_nfsuserd) != RUNNING) { + if (VNET(nfsrv_nfsuserd) != RUNNING) { NFSUNLOCKNAMEID(); return; } - NFSD_VNET(nfsrv_nfsuserd) = STARTSTOP; + VNET(nfsrv_nfsuserd) = STARTSTOP; /* Wait for all upcalls to complete. */ - while (NFSD_VNET(nfsrv_userdupcalls) > 0) - msleep(&NFSD_VNET(nfsrv_userdupcalls), NFSNAMEIDMUTEXPTR, PVFS, + while (VNET(nfsrv_userdupcalls) > 0) + msleep(&VNET(nfsrv_userdupcalls), NFSNAMEIDMUTEXPTR, PVFS, "nfsupcalls", 0); NFSUNLOCKNAMEID(); - newnfs_disconnect(NULL, &NFSD_VNET(nfsrv_nfsuserdsock)); - free(NFSD_VNET(nfsrv_nfsuserdsock).nr_nam, M_SONAME); + newnfs_disconnect(NULL, &VNET(nfsrv_nfsuserdsock)); + free(VNET(nfsrv_nfsuserdsock).nr_nam, M_SONAME); crfree(VNET(nfsrv_nfsuserdsock).nr_cred); NFSLOCKNAMEID(); - NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; + VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); } @@ -4258,7 +4258,7 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) int error; NFSLOCKNAMEID(); - if (NFSD_VNET(nfsrv_nfsuserd) != RUNNING) { + if (VNET(nfsrv_nfsuserd) != RUNNING) { NFSUNLOCKNAMEID(); error = EPERM; goto out; @@ -4267,9 +4267,9 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) * Maintain a count of upcalls in progress, so that nfsrv_X() * can wait until no upcalls are in progress. */ - NFSD_VNET(nfsrv_userdupcalls)++; + VNET(nfsrv_userdupcalls)++; NFSUNLOCKNAMEID(); - KASSERT(NFSD_VNET(nfsrv_userdupcalls) > 0, + KASSERT(VNET(nfsrv_userdupcalls) > 0, ("nfsrv_getuser: non-positive upcalls")); nd = &nfsd; cred = newnfs_getcred(); @@ -4287,13 +4287,13 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) len = strlen(name); (void) nfsm_strtom(nd, name, len); } - error = newnfs_request(nd, NULL, NULL, &NFSD_VNET(nfsrv_nfsuserdsock), + error = newnfs_request(nd, NULL, NULL, &VNET(nfsrv_nfsuserdsock), NULL, NULL, cred, RPCPROG_NFSUSERD, RPCNFSUSERD_VERS, NULL, 0, NULL, NULL); NFSLOCKNAMEID(); - if (--NFSD_VNET(nfsrv_userdupcalls) == 0 && - NFSD_VNET(nfsrv_nfsuserd) == STARTSTOP) - wakeup(&NFSD_VNET(nfsrv_userdupcalls)); + if (--VNET(nfsrv_userdupcalls) == 0 && + VNET(nfsrv_nfsuserd) == STARTSTOP) *** 2401 LINES SKIPPED *** From nobody Wed Jun 3 20:08:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzL54nnTz6gd09; Wed, 03 Jun 2026 20:09:01 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzL53zd6z4QWT; Wed, 03 Jun 2026 20:09:01 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780517341; 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: in-reply-to:in-reply-to:references:references; bh=P7gG8DHG/Y0nsWYAnKVsvwEez9oDQA0Txf5XZGbB7QA=; b=wnmZBa8DcdMsAB7XD0Wx8mXStmZbF1Uibol5/9pGtX9hCvZmSC1W63wxTaP672nClNgL8E X6yqaAVoKOeAn6d29ux/HZabfNgUftKgWDaTS3NFyi0XhfBkmqKfgadvIVYQAWljywHnnX IkgN4gAQHQmOQD2y9ddnYl2PSCk5+J0X9OxmTZmbF0M7kg75xyAKRFrodFfDwTl/CIxR1H lIzr0QihKWg0iGXVpqFjk4/cCIRwfMwnfq6b2bckgv4ACiL38jWn3EMHpOh107Wmop2iIG id35dA6pDCI2kTAhbGjR+7ciGZcW5PFJGb1KjDwZRa2+01YvINEGdZ3PO2zrdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780517341; a=rsa-sha256; cv=none; b=pgEhpVXXju9JDZm6ZluoZn6PjUwjQyYUXzaSdcY0SdMpglLKaEID2Fg+2lj5ensXyOGbSz SOfrHl/ToMVj/NcQNkEAtp3n2Wmd9mP6KRbJFwKVxaEcKcngnAXGIajymnC2fIxtxks92i EeZESPOGHs5lGhcE+dQoEBJ0I8pkfpYKD20BqOlE+BCU1ZisQ9aFtn5oo5ZdK5IEFK5dt5 6k4pM3jMSks7IA/LtU9MkOj5znnNmDMSCQ4Vhv5t6j4hnM3IKA75Fe9JXpR3zU6UGdzMhf ei5tPd5u7byd5vNvcnm4YzLjl5dSEHPOD1kUu5W9VYyBHEY20OSZI8R6PR1K7A== 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=1780517341; 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: in-reply-to:in-reply-to:references:references; bh=P7gG8DHG/Y0nsWYAnKVsvwEez9oDQA0Txf5XZGbB7QA=; b=Ub/Am97GLCz+HB28y2H/MZvhbkDc4eWEFVYP+z2gxMiY2ZR4ZIYF0ymzl+Kk+4dxJH2JDQ 9CeLw5KKEbfGo1MaCGJIl9gYq96AUDnaQd6x9Lvz+s0OXr+jVSVgUsywQf1x2z73ghW7lY N7aLvQJF/NhT1mGkRsyMK7pGggVFhOb9Tu9IkAJGHw/3Uq59ag2ocaXIDiu9ijp3jDUVZP Py6WY0dAGMdaVo4DkxnbK2aTfmmfns6rkWM9jQ5UTmOgqPTQRp8v4jj6Hfv8c2GEacGJ+o 13JGhMEIE7IwA0OfHxJmcsRr7Ez4hRB46H1dlrr/DKtHSPBWW4XAvonHIJKySQ== Received: from cell.glebi.us (glebi.us [162.251.186.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: glebius) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gVzL402N0zQ89; Wed, 03 Jun 2026 20:08:59 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Wed, 3 Jun 2026 13:08:56 -0700 From: Gleb Smirnoff To: Kristof Provost , Ishan Agrawal Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Ishan Agrawal Subject: Re: git: 017690e50913 - main - netpfil: add PF netlink command decoding support Message-ID: References: <6a2028fd.30559.3287a30@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6a2028fd.30559.3287a30@gitrepo.freebsd.org> On Wed, Jun 03, 2026 at 01:15:41PM +0000, Kristof Provost wrote: K> The branch main has been updated by kp: K> K> URL: https://cgit.FreeBSD.org/src/commit/?id=017690e509134422dbfa80316eab56d8d3f87065 K> K> commit 017690e509134422dbfa80316eab56d8d3f87065 K> Author: Ishan Agrawal K> AuthorDate: 2026-06-01 12:24:05 +0000 K> Commit: Kristof Provost K> CommitDate: 2026-06-03 08:52:06 +0000 K> K> netpfil: add PF netlink command decoding support K> K> Convert PFNL_CMD values in pf_nl.h from an enum to #define constants, K> add a pfnl_cmd table definition for mktable, and implement the K> corresponding command decoding helpers in libsysdecode. K> K> This allows mktable to generate PF netlink command lookup tables and K> enables symbolic decoding of PF netlink commands. K> K> Reviewed by: kp K> Signed-off-by: Ishan Agrawal K> Sponsored by: Google LLC (GSoC 2026) Sorry for not reviewing in time. I got question: why does this require ditching the enum and regressing down to preprocessor defines? -- Gleb Smirnoff From nobody Wed Jun 3 20:12:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzPf5mLTz6gcvc for ; Wed, 03 Jun 2026 20:12: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzPf4jdDz3C5g for ; Wed, 03 Jun 2026 20:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780517526; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WBvxGVR8e6m6G9k0ePFuTviI6EaD81PVBcm6psr/Ibc=; b=T3oYHux7FzY8P1rgVwkJ5Cb7hC+ilpzdX5lBz0+HuDI/j9xdwiCF3netXg8dpYabaDp3YT zFYbg4yCOVDFNvLgJ49j9APCB53LULN7XjChQe2wMtJCNsgrRE5iVN/7rZtVdXZNMnACAI i6errdjeSKUFylcTKv20GrTaS/MJEAvGHZlXqVzJdJCeFO1ABzxclNn4nh+IkFdR+pskb6 yv3EzZqsXwq5l0CM+okbCywlSfTApqOqWFo3w7mq/KytHn5zLsbfaxj74QdDA6JuZc22xf KEVSgi3UFSzNxZOza4pYX6yfwtVc6u4bFm20wpfAW7DIXfRA7uPBqIbSzl+nig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780517526; a=rsa-sha256; cv=none; b=esev3BXChjbiKhyRlPIxk5d7rZsW2IB37QBXoZBabCB/imD28o39HjSLZXXgImR9X5ErIC 1huS1SUl0GY5WBrGWSC3VDDbsn4o75Z6sLOwYU9q6mouXT4gFeYvfOgcdmMpAJFYQ4c4YR EySd4QpO92Z+yYSOo+YzuRYx8F6WQM5WE/xW/B/qdQ1WbOfRrNdHt2iJwRj/QvXlA3PxtV ALVZb67wNHeMcJlKLXMwsuZ6Hml5Wzafc9oChRhV3ngGLQNVthG+qEJBboP1GLQXzprBDa RMEBeRpzpnlD6bpvFTXS34t5Szo9gGI27oGezTyDLGnZBSmkBBTV4N+9zHa4bQ== 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=1780517526; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WBvxGVR8e6m6G9k0ePFuTviI6EaD81PVBcm6psr/Ibc=; b=r6OTS3VIGVqTSUDTkyny5t0Hx8Gggmiaf9mVq+0scz39gFlX8LYTXEdjjgXcbjJ+K8Nb4m qNdJT2mext9LFd4jnNZBcEwN16ahEtI9lF9BPy0lCFr1bIWLLDGHJD11HzjJHK7FjF0rJc W+Qw+bqSYq5/F1u2Fh2CMS8WjXtfV82oz+uIbcfTt4PnujrdsR73rIqSfoVmCIEvaE+Vv/ AG3dgkNDz2YFSto1l7YgN+Dnz9d6NURpjwXca0FQmzBNVC7exiEHTN3BVPuPSTq4PEQRKQ /zqBpSpyU1pkF5IsJvuvA7RZyMC7n2/RbnQRr5zvkeqIsNAcQVIjZ1rbtHDg2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzPf4K2pzBRL for ; Wed, 03 Jun 2026 20:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 348ae by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:12:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 303df71969f5 - stable/15 - krpc: Get rid of KRPC_VNET macros List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 303df71969f5547922c942b7fc866320ceee4260 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:12:01 +0000 Message-Id: <6a208a91.348ae.5fc46175@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=303df71969f5547922c942b7fc866320ceee4260 commit 303df71969f5547922c942b7fc866320ceee4260 Author: Rick Macklem AuthorDate: 2026-05-03 21:25:06 +0000 Commit: Rick Macklem CommitDate: 2026-06-03 20:10:26 +0000 krpc: Get rid of KRPC_VNET macros When the krpc was vnet'd, the VNET macros were hidden behind macros that had the KRPC_ prefix on them. This was done because, at the time, it was thought that something other than vnet might be used for this. That has not happened and probably will not happen, so this patch replaces these obscuring macros with the regular vnet ones. There should be no semantics change caused by this commit. (cherry picked from commit d8d9e1cf5e055433565a7e686bc096a8494d2bb8) --- sys/rpc/rpcsec_tls.h | 15 ------- sys/rpc/rpcsec_tls/rpctls_impl.c | 30 +++++++------- sys/rpc/svc_vc.c | 90 ++++++++++++++++++++-------------------- 3 files changed, 60 insertions(+), 75 deletions(-) diff --git a/sys/rpc/rpcsec_tls.h b/sys/rpc/rpcsec_tls.h index 97c49dc32245..d796ca88f31a 100644 --- a/sys/rpc/rpcsec_tls.h +++ b/sys/rpc/rpcsec_tls.h @@ -65,21 +65,6 @@ bool rpctls_getinfo(u_int *maxlen, bool rpctlscd_run, /* String for AUTH_TLS reply verifier. */ #define RPCTLS_START_STRING "STARTTLS" -/* Macros for VIMAGE. */ -/* Just define the KRPC_VNETxxx() macros as VNETxxx() macros. */ -#define KRPC_VNET_NAME(n) VNET_NAME(n) -#define KRPC_VNET_DECLARE(t, n) VNET_DECLARE(t, n) -#define KRPC_VNET_DEFINE(t, n) VNET_DEFINE(t, n) -#define KRPC_VNET_DEFINE_STATIC(t, n) VNET_DEFINE_STATIC(t, n) -#define KRPC_VNET(n) VNET(n) - -#define CTLFLAG_KRPC_VNET CTLFLAG_VNET - -#define KRPC_CURVNET_SET(n) CURVNET_SET(n) -#define KRPC_CURVNET_SET_QUIET(n) CURVNET_SET_QUIET(n) -#define KRPC_CURVNET_RESTORE() CURVNET_RESTORE() -#define KRPC_TD_TO_VNET(n) TD_TO_VNET(n) - #endif /* _KERNEL */ #endif /* _RPC_RPCSEC_TLS_H_ */ diff --git a/sys/rpc/rpcsec_tls/rpctls_impl.c b/sys/rpc/rpcsec_tls/rpctls_impl.c index 22ba699a6fab..e1b80217263f 100644 --- a/sys/rpc/rpcsec_tls/rpctls_impl.c +++ b/sys/rpc/rpcsec_tls/rpctls_impl.c @@ -75,8 +75,8 @@ static struct syscall_helper_data rpctls_syscalls[] = { static struct opaque_auth rpctls_null_verf; -KRPC_VNET_DECLARE(uint64_t, svc_vc_tls_handshake_success); -KRPC_VNET_DECLARE(uint64_t, svc_vc_tls_handshake_failed); +VNET_DECLARE(uint64_t, svc_vc_tls_handshake_success); +VNET_DECLARE(uint64_t, svc_vc_tls_handshake_failed); static CLIENT *rpctls_connect_handle; static CLIENT *rpctls_server_handle; @@ -159,7 +159,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) if (error != 0) return (error); - KRPC_CURVNET_SET(KRPC_TD_TO_VNET(td)); + CURVNET_SET(TD_TO_VNET(td)); mtx_lock(&rpctls_lock); upsp = RB_FIND(upsock_t, &upcall_sockets, &(struct upsock){ @@ -176,7 +176,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) } mtx_unlock(&rpctls_lock); if (upsp == NULL) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); printf("%s: socket lookup failed\n", __func__); return (EPERM); } @@ -187,7 +187,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) * As such, it needs to be closed here. */ soclose(ups.so); - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (error); } soref(ups.so); @@ -211,7 +211,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) finit(fp, FREAD | FWRITE, DTYPE_SOCKET, ups.so, &socketops); fdrop(fp, td); /* Drop fp reference. */ td->td_retval[0] = fd; - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (error); } @@ -441,8 +441,8 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) u_int maxlen; #endif - KRPC_CURVNET_SET_QUIET(KRPC_TD_TO_VNET(curthread)); - KRPC_VNET(svc_vc_tls_handshake_failed)++; + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); + VNET(svc_vc_tls_handshake_failed)++; /* Initialize reply. */ rqst->rq_verf = rpctls_null_verf; @@ -450,12 +450,12 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) if (rqst->rq_cred.oa_length != 0 || msg->rm_call.cb_verf.oa_length != 0 || msg->rm_call.cb_verf.oa_flavor != AUTH_NULL) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_BADCRED); } if (rqst->rq_proc != NULLPROC) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_REJECTEDCRED); } @@ -465,7 +465,7 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) call_stat = TRUE; #endif if (!call_stat) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_REJECTEDCRED); } @@ -488,7 +488,7 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) xprt->xp_dontrcv = FALSE; sx_xunlock(&xprt->xp_lock); xprt_active(xprt); /* Harmless if already active. */ - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_REJECTEDCRED); } @@ -506,12 +506,12 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) xprt->xp_uid = uid; xprt->xp_gidp = gidp; } - KRPC_VNET(svc_vc_tls_handshake_failed)--; - KRPC_VNET(svc_vc_tls_handshake_success)++; + VNET(svc_vc_tls_handshake_failed)--; + VNET(svc_vc_tls_handshake_success)++; } sx_xunlock(&xprt->xp_lock); xprt_active(xprt); /* Harmless if already active. */ - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (RPCSEC_GSS_NODISPATCH); } diff --git a/sys/rpc/svc_vc.c b/sys/rpc/svc_vc.c index 848109704ad0..24c09f182174 100644 --- a/sys/rpc/svc_vc.c +++ b/sys/rpc/svc_vc.c @@ -77,57 +77,57 @@ SYSCTL_NODE(_kern_rpc, OID_AUTO, tls, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, SYSCTL_NODE(_kern_rpc, OID_AUTO, unenc, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "unencrypted"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgbytes) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgbytes, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_rx_msgbytes), 0, "Count of non-TLS rx bytes"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgbytes) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgbytes, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_rx_msgbytes), 0, "Count of non-TLS rx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgcnt) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgcnt, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_rx_msgcnt), 0, "Count of non-TLS rx messages"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgcnt) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgcnt, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_rx_msgcnt), 0, "Count of non-TLS rx messages"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgbytes) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgbytes, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tx_msgbytes), 0, "Count of non-TLS tx bytes"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgbytes) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgbytes, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tx_msgbytes), 0, "Count of non-TLS tx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgcnt) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgcnt, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tx_msgcnt), 0, "Count of non-TLS tx messages"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgcnt) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgcnt, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tx_msgcnt), 0, "Count of non-TLS tx messages"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_alerts) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_alerts) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, alerts, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_alerts), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_alerts), 0, "Count of TLS alert messages"); -KRPC_VNET_DEFINE(uint64_t, svc_vc_tls_handshake_failed) = 0; +VNET_DEFINE(uint64_t, svc_vc_tls_handshake_failed) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, handshake_failed, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tls_handshake_failed), 0, + CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tls_handshake_failed), 0, "Count of TLS failed handshakes"); -KRPC_VNET_DEFINE(uint64_t, svc_vc_tls_handshake_success) = 0; +VNET_DEFINE(uint64_t, svc_vc_tls_handshake_success) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, handshake_success, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tls_handshake_success), 0, + CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tls_handshake_success), 0, "Count of TLS successful handshakes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgbytes) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgbytes) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, rx_msgbytes, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_rx_msgbytes), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_rx_msgbytes), 0, "Count of TLS rx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgcnt) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgcnt) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, rx_msgcnt, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_rx_msgcnt), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_rx_msgcnt), 0, "Count of TLS rx messages"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgbytes) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgbytes) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, tx_msgbytes, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_tx_msgbytes), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_tx_msgbytes), 0, "Count of TLS tx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgcnt) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgcnt) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, tx_msgcnt, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_tx_msgcnt), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_tx_msgcnt), 0, "Count of TLS tx messages"); static bool_t svc_vc_rendezvous_recv(SVCXPRT *, struct rpc_msg *, @@ -850,15 +850,15 @@ tryagain: * This record needs to be handled in userland * via an SSL_read() call, so do an upcall to the daemon. */ - KRPC_CURVNET_SET(so->so_vnet); + CURVNET_SET(so->so_vnet); if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0 && error == ENXIO) { - KRPC_VNET(svc_vc_tls_alerts)++; + VNET(svc_vc_tls_alerts)++; /* Disable reception. */ xprt->xp_dontrcv = TRUE; sx_xunlock(&xprt->xp_lock); ret = rpctls_srv_handlerecord(so, &reterr); - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); sx_xlock(&xprt->xp_lock); xprt->xp_dontrcv = FALSE; if (ret != RPC_SUCCESS || reterr != RPCTLSERR_OK) { @@ -875,7 +875,7 @@ tryagain: } if (error) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); SOCK_RECVBUF_LOCK(so); if (xprt->xp_upcallset) { xprt->xp_upcallset = 0; @@ -889,7 +889,7 @@ tryagain: } if (!m) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); /* * EOF - the other end has closed the socket. */ @@ -915,20 +915,20 @@ tryagain: m_freem(m); m_free(ctrl); rcvflag = MSG_DONTWAIT | MSG_TLSAPPDATA; - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); goto tryagain; } - KRPC_VNET(svc_vc_tls_rx_msgcnt)++; - KRPC_VNET(svc_vc_tls_rx_msgbytes) += + VNET(svc_vc_tls_rx_msgcnt)++; + VNET(svc_vc_tls_rx_msgbytes) += 1000000000 - uio.uio_resid; } m_free(ctrl); } else { - KRPC_VNET(svc_vc_rx_msgcnt)++; - KRPC_VNET(svc_vc_rx_msgbytes) += 1000000000 - + VNET(svc_vc_rx_msgcnt)++; + VNET(svc_vc_rx_msgbytes) += 1000000000 - uio.uio_resid; } - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); if (cd->mpending) m_last(cd->mpending)->m_next = m; @@ -1017,7 +1017,7 @@ svc_vc_reply(SVCXPRT *xprt, struct rpc_msg *msg, htonl(0x80000000 | (len - sizeof(uint32_t))); /* For RPC-over-TLS, copy mrep to a chain of ext_pgs. */ - KRPC_CURVNET_SET(xprt->xp_socket->so_vnet); + CURVNET_SET(xprt->xp_socket->so_vnet); if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0) { /* * Copy the mbuf chain to a chain of @@ -1029,13 +1029,13 @@ svc_vc_reply(SVCXPRT *xprt, struct rpc_msg *msg, maxextsiz = min(maxextsiz, maxlen); #endif mrep = _rpc_copym_into_ext_pgs(mrep, maxextsiz); - KRPC_VNET(svc_vc_tls_tx_msgcnt)++; - KRPC_VNET(svc_vc_tls_tx_msgbytes) += len; + VNET(svc_vc_tls_tx_msgcnt)++; + VNET(svc_vc_tls_tx_msgbytes) += len; } else { - KRPC_VNET(svc_vc_tx_msgcnt)++; - KRPC_VNET(svc_vc_tx_msgbytes) += len; + VNET(svc_vc_tx_msgcnt)++; + VNET(svc_vc_tx_msgbytes) += len; } - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); atomic_add_32(&xprt->xp_snd_cnt, len); /* * sosend consumes mreq. From nobody Wed Jun 3 20:18:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzYR5vrpz6gdn1; Wed, 03 Jun 2026 20:18:51 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzYR5HY4z3D0x; Wed, 03 Jun 2026 20:18:51 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780517931; 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: in-reply-to:in-reply-to:references:references; bh=1zcJgxjIKE+spf8gRxTI63uCj1YzpGDm2MYLUsfYmBw=; b=fmKhuxqfb2EpbIbeAKRF5vC9ej00Jovu8ZiM76kB9j5bHsRQDgyDlr9XVwhrHz64gYCnyO GZ/iAF/AMLos3HBkf7xCBXfeGE1AhGr3AGfIK0WawfsWXh83aHEci+EbmNu/Q1kU/BXtJ+ 9qSNFgDRR9iX56sRy10do239y1UdWxmFm2IfT5WwsPuIpa2wOTH5i64NDAMm0A/BNnUhFF TAYK0cqRVc0d/L4zGjqLtD061Lf7WcVLpRmvE01fV63mwZ3YukkPW0llMjsOA8bYCfGUvK yRYydfYULz80j0IdVthGYLl14p+rvZsjpWH07RX96VA4dE6WfS8R/AD4u/OOsw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780517931; a=rsa-sha256; cv=none; b=O3yHgBbDBmrAg0a+PWZU5lxoszfheZCqqWwu5/T8rGN5S8TY170GiLIzdOdljibrdwiO/A GwLU/pRjySob4m01lHvvfp7pWo8p0YGe9sUTy9d/DzmvN3UPh7tgI8r9JQIhcSYDuutd/o T7oRn0utfk3rwpL/MTCtbuIk2/MIoLFrJArpDkvTyxi/oPo9Q2bCT5/qpbmXUI30t+GU34 agOCu6JbhUG6jJ3NgjXpzeQPxWAqmiTqvJJgUEsZuer/rFLY57MWdtrbFapTKTe9Upj4F7 kOkdFE2CCGSS34L1Gvb1pmkaDMvGajI0AGOBRnwrBmSzW09XlNRRsFzXSIsz7A== 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=1780517931; 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: in-reply-to:in-reply-to:references:references; bh=1zcJgxjIKE+spf8gRxTI63uCj1YzpGDm2MYLUsfYmBw=; b=FopvEuf8ZXIOubjoc9k8sWdwl2DJ4IxuJ4Eei4x+0YgOW8AhIM0GJ0Cu5ORBdUiA7KfT9F TJDMlhxOthYES1z22f0iUHMWtt2e3w7snWuESfLAmk/kHu9gaargI4UIC1qr9PEUktMTin wdJu08JDkt10eHOFRWoEgAxxQIsKBTzYhmnf3h9oGgu2Ic38YV8kHOggXtj/EZsp23UNeG pDzWeqKCbhMPFRr4obJPhT3S5luo9bxKGxzm4+Q0YN+bHBd1MB0gM5EB6miOkc12QDh3TT 8f+PLgOHJdGXzSl+8/+q18V9altyheMHfxeIcQGaGF9uCiOk7OLfvwuxrRLRxw== Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (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 (2048 bits) client-digest SHA256) (Client CN "mx1.codepro.be", Issuer "R12" (not verified)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gVzYR3mgQzPNB; Wed, 03 Jun 2026 20:18:51 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id 9A50016BE3; Wed, 03 Jun 2026 22:18:49 +0200 (CEST) From: Kristof Provost To: Gleb Smirnoff Cc: Ishan Agrawal , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 017690e50913 - main - netpfil: add PF netlink command decoding support Date: Wed, 03 Jun 2026 22:18:48 +0200 X-Mailer: MailMate (2.0r6272) Message-ID: <03F81E99-0A9B-4265-951B-0177AC8ADA80@FreeBSD.org> In-Reply-To: References: <6a2028fd.30559.3287a30@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; markup=markdown Content-Transfer-Encoding: quoted-printable On 3 Jun 2026, at 22:08, Gleb Smirnoff wrote: > On Wed, Jun 03, 2026 at 01:15:41PM +0000, Kristof Provost wrote: > K> The branch main has been updated by kp: > K> > K> URL: https://cgit.FreeBSD.org/src/commit/?id=3D017690e509134422dbfa8= 0316eab56d8d3f87065 > K> > K> commit 017690e509134422dbfa80316eab56d8d3f87065 > K> Author: Ishan Agrawal > K> AuthorDate: 2026-06-01 12:24:05 +0000 > K> Commit: Kristof Provost > K> CommitDate: 2026-06-03 08:52:06 +0000 > K> > K> netpfil: add PF netlink command decoding support > K> > K> Convert PFNL_CMD values in pf_nl.h from an enum to #define const= ants, > K> add a pfnl_cmd table definition for mktable, and implement the > K> corresponding command decoding helpers in libsysdecode. > K> > K> This allows mktable to generate PF netlink command lookup tables= and > K> enables symbolic decoding of PF netlink commands. > K> > K> Reviewed by: kp > K> Signed-off-by: Ishan Agrawal > K> Sponsored by: Google LLC (GSoC 2026) > > Sorry for not reviewing in time. I got question: why does this > require ditching the enum and regressing down to preprocessor > defines? > The mktables script in libsysdecode expects to work on defines: https://g= ithub.com/freebsd/freebsd-src/blob/07d733963ecd1957999f5381b438b8c3696867= 50/lib/libsysdecode/mktables#L76 It=E2=80=99s possible to change that, but this being an enum doesn=E2=80=99= t really buy us much either, and this was the less invasive path. Best regards, Kristof From nobody Wed Jun 3 20:23:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzfh1xVbz6gfKK; Wed, 03 Jun 2026 20:23:24 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzfg72Rhz3Fgw; Wed, 03 Jun 2026 20:23:23 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780518204; 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: in-reply-to:in-reply-to:references:references; bh=6EiGi9JUC2ARvcP8yZ0d2U8ViRPy6IyEKwVjbcy8A4g=; b=UwsviUN6XIj4zGQmrLd8l9c2a3b165sHCFWtAenEULqfJEzsY7ncuiJkDiG7t/XUf6vhVp QxDm79//7Y/5WBXjLMYraPGjGH3l5KdcjNFxtUYjLpIIE8vWU5gC32XDCv+JYN+3jwlu9z xaUIUwLwPYVYk+UWvHKIYU/szE0/52IIP1OsFLIM4XXs23Ot1lKZI7sgepxFsiCWCOHGbU X4lzGx6BKcpvEekt8k9rQ26s9LeN2GfLbKKwP7+xMRsoD/3ImrKxvHe6WQNJzXimCBodgM J2JIXNNUIRaVqEXZpIiWJFydkY3zpNKv7XslF6iY/2bcJAYgo6JxzW0bZcybcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780518204; a=rsa-sha256; cv=none; b=xkGQJPHdyItnuYyFbXK8HmHs8e2zJNgaDtuA7oV17+V2KttfE3scHeT+j3A+oC/g0vY/ob ud9B6P/R4mkunrT7ZjolxWYNAqWPRyWRpAwPAY3eBQJjL0kM5RZpjoZd8SfNRYSRhMPz18 ilPAqy3aBeE4PZWCamzWz+2GuhtfA4rC0E9jYn5bJqio6QMElFTOKnQArE2kSwxpRj5DeF NwSmEzUZxd1sJmSwQUCJDnlF4KPKIGw+EEvMS62PQSc7OH1pncjbRNyfANmgDyu3XteWZK m97YPDorerwOVV5UinwjamZkU26vzP3jKY8jMzyiRfLQwq7xI1N8tc0zz2Wmrw== 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=1780518204; 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: in-reply-to:in-reply-to:references:references; bh=6EiGi9JUC2ARvcP8yZ0d2U8ViRPy6IyEKwVjbcy8A4g=; b=gREANEJ84rAkM58ueKQyvHll9P5FvBW5ykaoWOvFZS68byLP8MIlnY/ga4xDjEaN3z5Jwq svGVVmtBAN7XN2si9C4Cl/Px1TOEieMzn6lSRgzbJSKcERorby8Tf7GQe+4A+Bg26FpLOm eXe0J1U4ga2leQrb/s4fgyB9Ul6ca5r/Uj5NSpORTPLL+uL4TLO+6sfH7MA+9/cS7mg9CA nXbCknRllf5EWIH3KFhCjoTT5KLmP1zuf9/EhcBdhXC6LKWPYeIfM4MNNoTmLXaLT2Fvx6 W4js9UXFX4YK53MalUumK1ODH0F15nE4FDVh65WSVEODHYabFg4b1+eAu3mj5w== Received: from cell.glebi.us (glebi.us [162.251.186.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: glebius) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gVzfg1Dh9zQWT; Wed, 03 Jun 2026 20:23:23 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Wed, 3 Jun 2026 13:23:20 -0700 From: Gleb Smirnoff To: Kristof Provost Cc: Ishan Agrawal , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 017690e50913 - main - netpfil: add PF netlink command decoding support Message-ID: References: <6a2028fd.30559.3287a30@gitrepo.freebsd.org> <03F81E99-0A9B-4265-951B-0177AC8ADA80@FreeBSD.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <03F81E99-0A9B-4265-951B-0177AC8ADA80@FreeBSD.org> On Wed, Jun 03, 2026 at 10:18:48PM +0200, Kristof Provost wrote: K> On 3 Jun 2026, at 22:08, Gleb Smirnoff wrote: K> > On Wed, Jun 03, 2026 at 01:15:41PM +0000, Kristof Provost wrote: K> > K> The branch main has been updated by kp: K> > K> K> > K> URL: https://cgit.FreeBSD.org/src/commit/?id=017690e509134422dbfa80316eab56d8d3f87065 K> > K> K> > K> commit 017690e509134422dbfa80316eab56d8d3f87065 K> > K> Author: Ishan Agrawal K> > K> AuthorDate: 2026-06-01 12:24:05 +0000 K> > K> Commit: Kristof Provost K> > K> CommitDate: 2026-06-03 08:52:06 +0000 K> > K> K> > K> netpfil: add PF netlink command decoding support K> > K> K> > K> Convert PFNL_CMD values in pf_nl.h from an enum to #define constants, K> > K> add a pfnl_cmd table definition for mktable, and implement the K> > K> corresponding command decoding helpers in libsysdecode. K> > K> K> > K> This allows mktable to generate PF netlink command lookup tables and K> > K> enables symbolic decoding of PF netlink commands. K> > K> K> > K> Reviewed by: kp K> > K> Signed-off-by: Ishan Agrawal K> > K> Sponsored by: Google LLC (GSoC 2026) K> > K> > Sorry for not reviewing in time. I got question: why does this K> > require ditching the enum and regressing down to preprocessor K> > defines? K> > K> The mktables script in libsysdecode expects to work on defines: https://github.com/freebsd/freebsd-src/blob/07d733963ecd1957999f5381b438b8c369686750/lib/libsysdecode/mktables#L76 K> K> It’s possible to change that, but this being an enum doesn’t really buy us much either, and this was the less invasive path. Mkay, I will see if anything can be done there. -- Gleb Smirnoff From nobody Wed Jun 3 20:34:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzvm6x3Sz6ggGk for ; Wed, 03 Jun 2026 20:34: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzvm5PqRz3Gwm for ; Wed, 03 Jun 2026 20:34:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780518884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mzkIGr1yx8VBDOant/+Rp8e46BrFTeKW9xh5UC52KaQ=; b=L5VNcfsnFbO2EEc1AzMpuXqdmeV3zTAhjFMnagvXbgcQEnxWP/DOveXgIvIeb7MVbRl6Ro lCeq0PWhX2VkwCMTQwJP8rI2HYOsk9eCl7k8F8Ja79YFHiGahwc74ZGrVW5buBWW9grBAt Nba/D79PKGBdJnZmLdjACtAYfJT6E0CpuclHdxZJseM184h2cEpKLYhIBV7jseTgB7w3/2 rclNYwbrF/hbGViHFWJWwMu89tGKuhyDMwzDQnuogDPmrwN/WbaXDDGeWP0kaD543kJukF Re9GIEs5pjixcYR9vMv/s41x9uS2U26BJEyqsWJFcTJw+NQWge+07KPo1gYoXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780518884; a=rsa-sha256; cv=none; b=qcZ9t2PF+fDByWtSw6DuhWJKkwQgJ2G8wF5XkzvjtwkhZQEnbhvCq3BXYskjF75rCcuF9m 0fW38kXKUtmiDrk4yIHTKKbVNUqGrFX0ax6U9rQ+3kMyEoc66MuBh4LbT/bc3p3sRJVrdQ JtzzitbSpNhPJTT+dlOV0iiMMPxh/j0lGGz4PnoSH6Bu4IosWVoSv/ksdnuf0LHzHq9/6p jwbvWbOvHbMiz4+SPxApj6rG2ucVuAfUOTI5XeyXTG+c0KPH4wBFNgaUNpYmXqpqAq06O7 p6a841gdMljplBMI9apBn7XN/7bqbsnulrQcAWAkJKpaWIe+bA9Ny2jBpthoNQ== 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=1780518884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mzkIGr1yx8VBDOant/+Rp8e46BrFTeKW9xh5UC52KaQ=; b=d+JaOdXOGicGUkN2S67a3vIROR/sg5bS3WBFvpJu939+q5gNoMaOhv2oLr/VO2sLwACzEA 0y/cXODlAkk1KbejqdO0Q3gk0c/0hv5yyuJKqfUCzH2cc+H27vgb9c8c7XKNDjXZwo7PR3 WjKlM4agTjis1+AgssrCI21JvbpmZDJuPgytgqiYUFvfB53DHV/a4+fFsw2CBWrdnLYyNr rT0fdI/9JLH5iKIa6VE2qpiiaD4ebI8Mw5PpIdwRQSA6izIs9i+jSUzY5JpS/XrkNq6fw4 1ke6Z8FTPLj56Elk9buMjEe3yvA0xDIGNIeiQ3SRL6uQLz/TeIHIvRp9KmPtqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzvm4p1CzBsV for ; Wed, 03 Jun 2026 20:34:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3870e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:34:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: b49021b49a78 - main - install.1: Document options incompatible with -s List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b49021b49a78ca6a9e3a1a59c5aa6f2fec503afb Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:34:39 +0000 Message-Id: <6a208fdf.3870e.3b2ce05@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b49021b49a78ca6a9e3a1a59c5aa6f2fec503afb commit b49021b49a78ca6a9e3a1a59c5aa6f2fec503afb Author: Ed Maste AuthorDate: 2026-06-03 15:35:59 +0000 Commit: Ed Maste CommitDate: 2026-06-03 20:34:19 +0000 install.1: Document options incompatible with -s Reported by: des Reviewed by: ziaee Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57409 --- usr.bin/xinstall/install.1 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/usr.bin/xinstall/install.1 b/usr.bin/xinstall/install.1 index 169bf4ef11fe..35b6f60c57a0 100644 --- a/usr.bin/xinstall/install.1 +++ b/usr.bin/xinstall/install.1 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 16, 2024 +.Dd June 3, 2026 .Dt INSTALL 1 .Os .Sh NAME @@ -250,6 +250,10 @@ number of systems and binary types. See below for how .Nm can be instructed to use another program to strip binaries. +This option is incompatible with +.Fl d +and +.Fl l . .It Fl T Ar tags Specify the .Xr mtree 8 From nobody Wed Jun 3 20:37:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz72PxXz6ggH1 for ; Wed, 03 Jun 2026 20:37: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzz71F2hz3HSb for ; Wed, 03 Jun 2026 20:37:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519059; 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=lAIDn2Hg8FIYk7877t46TFhgaDt1kkUe4Pbh921DSXs=; b=KZe/9gshsZFmHzVYAOeo5qbwVN9UEw7PxvCTshScnAUTjfpX9I1HTtaYOXKsl4YxBR5Vcj 4cEeP8le9/vC/jwh9hY5kMopOturLN5Y4dT/xg9sUWLf+LRQB2CUrSubYt63G6pRzmU3X9 bcxBRQms8vbPbkSpqPQKVOF1MPW4+4fnB2xnvx/qtHpWp1mDIP8xiGbF65a0+qE5er5pNO hGqqP0SEbjaHangzWGV3rGDIQYJwByFwIdNThvAQCCBQuMk7N8SVor7G+dHZefYlxuq2gi 0Y6QoObXcNv4yNw1358j9Y9fISvr+iLumOkxUxJp+VmNzjBT1NTUmLfxj7m1Rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519059; a=rsa-sha256; cv=none; b=fKOCTWyixqDAheBEqn3ymTs5HNfgkgm/34uvzJGrROVe506qdPDxWpjs35gZ02IeVxVhfB 13bb/pUzYi+tkcqNUqnopHOIsKLNL6NUS5UEREqoGMCeWNHeD2w02iV0TlS0R03v9/CWvU 4O6LaZrvcVnRSTdWnOegDbYsYY7QQ3aENkXWtYz6bGqv62nozn8jRgDtZ5LemPNhQx+yzh /x7jyG3pLx6dLZaXxnpTLPpAPG/44kPcIcGIyN1F0n4E+vr0FlERA5fnNXebRixlP1vRxG AXcQ9cDteZJrU6TN5ihUBTKy/1l89BeBT7cCRs1FnF4iwKyL7zoKqj1d8xkFWg== 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=1780519059; 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=lAIDn2Hg8FIYk7877t46TFhgaDt1kkUe4Pbh921DSXs=; b=VK7/GZy2mkEiXlyf64vte5+uyzzYkUVnGbVWFi5GVNF4z49LC6yCqmQUXiVODRv98EtRJE bAjiPi3Usti9Q5S1j2Fr3dfLRLRlKJ4Lyo1nvMjgo4or4Qz3WkE24l79xX87pDwmnd+3Li VxuAP7K3QpMypUrPwx+cFtUy3l2SjACMLsTsI0S9F1S6PHCku/rLqAgK057cdPLVKnByQc WaiG7+wny+C+aGXF+VpaYDYNE7ngsPrEig9uTmakuhRUwSrQXXGZECB0y1DHynXhQUW2i7 brhI7p+l9+vMdKD4YXG8Y19Q5RUBGmEoIG58zW0sIERDsVbrvKMeC549L3WgTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz673CBz9sQ for ; Wed, 03 Jun 2026 20:37:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 390e5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:37:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Colin Percival From: Arthur Kiyanovski Subject: git: 94659fc28c25 - stable/14 - ena: Adjust ena_[rt]x_cleanup to return bool List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 94659fc28c253b99328c0377bd909635da812459 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:37:38 +0000 Message-Id: <6a209092.390e5.2d7d26be@gitrepo.freebsd.org> The branch stable/14 has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=94659fc28c253b99328c0377bd909635da812459 commit 94659fc28c253b99328c0377bd909635da812459 Author: Colin Percival AuthorDate: 2026-04-17 17:13:44 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-06-03 20:35:35 +0000 ena: Adjust ena_[rt]x_cleanup to return bool The ena_[rt]x_cleanup functions are limited internally to a maximum number of packets; this ensures that TX doesn't starve RX (or vice versa) and also attempts to ensure that we get a chance to refill the RX buffer ring before the device runs out of buffers and starts dropping packets. Historically these functions have returned the number of packets which they processed which ena_cleanup compares to their respective budgets to decide whether to reinvoke them. This is unnecessary complication; since the precise number of packets processed is never used, adjust the APIs of those functions to return a bool indicating if they want to be reinvoked (aka if they hit their limits). Since ena_tx_cleanup now only uses work_done if diagnostics are enabled (ena_log_io macros to nothing otherwise) eliminate that variable and pass its value (ENA_TX_BUDGET - budget) to ena_log_io directly. No functional change intended; this will simplify a future commit. Reviewed by: akiyano Sponsored by: Amazon MFC after: 6 days Differential Revision: https://reviews.freebsd.org/D56478 (cherry picked from commit f6d2c8591c10d87050c358ef20428f13c19554ca) --- sys/dev/ena/ena_datapath.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index ab082fa1810f..ab7b8a468c30 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -44,8 +44,8 @@ * Static functions prototypes *********************************************************************/ -static int ena_tx_cleanup(struct ena_ring *); -static int ena_rx_cleanup(struct ena_ring *); +static bool ena_tx_cleanup(struct ena_ring *); +static bool ena_rx_cleanup(struct ena_ring *); static inline int ena_get_tx_req_id(struct ena_ring *tx_ring, struct ena_com_io_cq *io_cq, uint16_t *req_id); static void ena_rx_hash_mbuf(struct ena_ring *, struct ena_com_rx_ctx *, @@ -75,7 +75,8 @@ ena_cleanup(void *arg, int pending) struct ena_com_io_cq *io_cq; struct ena_eth_io_intr_reg intr_reg; int qid, ena_qid; - int txc, rxc, i; + int i; + bool rx_again, tx_again; tx_ring = que->tx_ring; rx_ring = que->rx_ring; @@ -99,14 +100,14 @@ ena_cleanup(void *arg, int pending) atomic_store_8(&rx_ring->first_interrupt, 1); for (i = 0; i < ENA_CLEAN_BUDGET; ++i) { - rxc = ena_rx_cleanup(rx_ring); - txc = ena_tx_cleanup(tx_ring); + rx_again = ena_rx_cleanup(rx_ring); + tx_again = ena_tx_cleanup(tx_ring); if (unlikely(((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) || (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter)))) return; - if ((txc != ENA_TX_BUDGET) && (rxc != ENA_RX_BUDGET)) + if (!rx_again && !tx_again) break; } @@ -238,7 +239,7 @@ ena_get_tx_req_id(struct ena_ring *tx_ring, struct ena_com_io_cq *io_cq, * TX_COMMIT. The first check of free descriptor is performed before the actual * loop, then repeated at the loop end. **/ -static int +static bool ena_tx_cleanup(struct ena_ring *tx_ring) { struct ena_adapter *adapter; @@ -250,7 +251,6 @@ ena_tx_cleanup(struct ena_ring *tx_ring) int rc; int commit = ENA_TX_COMMIT; int budget = ENA_TX_BUDGET; - int work_done; bool above_thresh; adapter = tx_ring->que->adapter; @@ -304,10 +304,8 @@ ena_tx_cleanup(struct ena_ring *tx_ring) } } while (likely(--budget)); - work_done = ENA_TX_BUDGET - budget; - ena_log_io(adapter->pdev, DBG, "tx: q %d done. total pkts: %d\n", - tx_ring->qid, work_done); + tx_ring->qid, ENA_TX_BUDGET - budget); /* If there is still something to commit update ring state */ if (likely(commit != ENA_TX_COMMIT)) { @@ -339,7 +337,7 @@ ena_tx_cleanup(struct ena_ring *tx_ring) tx_ring->tx_last_cleanup_ticks = ticks; - return (work_done); + return (budget == 0); } static void @@ -559,7 +557,7 @@ ena_rx_checksum(struct ena_ring *rx_ring, struct ena_com_rx_ctx *ena_rx_ctx, * ena_rx_cleanup - handle rx irq * @arg: ring for which irq is being handled **/ -static int +static bool ena_rx_cleanup(struct ena_ring *rx_ring) { struct ena_adapter *adapter; @@ -701,7 +699,7 @@ ena_rx_cleanup(struct ena_ring *rx_ring) tcp_lro_flush_all(&rx_ring->lro); - return (ENA_RX_BUDGET - budget); + return (budget == 0); } static void From nobody Wed Jun 3 20:37:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz83WBPz6ggHR for ; Wed, 03 Jun 2026 20:37: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzz80bKrz3HkK for ; Wed, 03 Jun 2026 20:37:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519060; 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=ZFzkmZWRtdH0z0rDJxhjSgieuXDbd6+8dh8Ly44uEmw=; b=NkHZMNo8cPDmudyNphBHjaqf3R8jlqKO2VYI9WXOnB92SY+LLZiCca5A9J8DYeADDKrA6R bBSUgd1v6Vd1go5sMVFNMWvKReUXrCf4DXd3R8Fzs6D4/nQ/kZXtrwYxx1Nk/BJRVuuI1U TVx6cybXEoWslAbTGPIgtkc3Q4+KLuqQZtfDAZ7elk+fGrczJUlCGDVOy8BRWGczvaihKf mIQ3XG4/DwIv1tv+ufUxbxrzHHfCK8x5V9l/69Jx2OSyAKocPjHBK/pE7dgs9GzechPyXQ +w0J8s6i1uzSLsKAOTIXaAE8RM4av3L+OXTDq7hVFDffe3NuBVBH+cg5JTvffg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519060; a=rsa-sha256; cv=none; b=nLABWwGrhBRmYcVdWx6idwktasTz2n1u60ahRkSqvWJGl5nu6VwQZcG+bbHZwMQSGqPWup Nz9yVAGdM2UJrqeyoDPVwianqpwWBAlqdgBVOh8Q44ci6rjscCMTB/rzN2tD6Mf/plRyWp +EF6+FLiRPztEM6ze05v9HPZO1Z6h2bQEUTv0IOA0Ei3pG482Xh0SuB28FPUbDz3aAu/Ha x5pBpW/GDa6pZyd1PJO/Nuyhw6z5lCIbrkZ7rEckAcp9SxA9lE606DHSeYnmDYQ3j/fY2G nj2x1z+TSpV5Br62md/cCSFCxjZha9hyL5UivKLAK+HJmYX7ektIeRuCj+PuAw== 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=1780519060; 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=ZFzkmZWRtdH0z0rDJxhjSgieuXDbd6+8dh8Ly44uEmw=; b=cK1lBRmOJTbWh0yC/evkopxAe1x4Ao7t89ESiztIfETrLpntm44N6BIBVvKvsD/S7geYxa Qe0SGyPrLOhpdBJu0OPBrtNQHMolS0SHVQDB3HEeIZSvzZDhhiXy/vtOZ+vni3ruglz8lW rwG/W4O0y8TvV6jzemPzGjBkxFUDm2mz51n4TZ9Zw1o+ywASnGdOCDch5mPnK1qsFJyQbx wvri531GbM/J4+6/v72fDgYtwR3ic9nRkfcBPVCw/Q6v4auFVNUtfLDtqLW9UNtcVbC1Xy TvQ1Z5lQGknjPVsn2LSLMPglKxlYJdGmtO2sD0liSj3dABfVIpLi3p4RlxzJ+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 4gVzz808VKzC6R for ; Wed, 03 Jun 2026 20:37:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3782c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:37:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Colin Percival From: Arthur Kiyanovski Subject: git: 109ee0abc18d - stable/14 - ena: Budget rx descriptors, not packets List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 109ee0abc18d7a4920092ea14a13e8b5987789f6 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:37:40 +0000 Message-Id: <6a209094.3782c.2da83a2e@gitrepo.freebsd.org> The branch stable/14 has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=109ee0abc18d7a4920092ea14a13e8b5987789f6 commit 109ee0abc18d7a4920092ea14a13e8b5987789f6 Author: Colin Percival AuthorDate: 2026-04-17 17:40:00 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-06-03 20:35:35 +0000 ena: Budget rx descriptors, not packets We had ENA_RX_BUDGET = 256 in order to allow up to 256 received packets to be processed before we do other cleanups (handling tx packets and, critically, refilling the rx buffer ring). Since the ring holds 1024 buffers by default, this was fine for normal packets: We refill the ring when it falls below 7/8 full, and even with a large burst of incoming packets allowing it to fall by another 1/4 before we consider refilling the ring still leaves it at 7/8 - 1/4 = 5/8 full. With jumbos, the story is different: A 9k jumbo (as is used by default within the EC2 network) consumes 3 descriptors, so a single rx cleanup pass can consume 3/4 of the default-sized rx ring; if the rx buffer ring wasn't completely full before a packet burst arrives, this puts us perilously close to running out of rx buffers. This precise failure mode has been observed on some EC2 instance types within a Cluster Placement Group, resulting in the nominal 10 Gbps single-flow throughput between instances dropping to ~100 Mbps as a result of repeated rx overruns causing packet loss and ultimately retransmission timeouts. To correct this, switch from processing up to ENA_RX_BUDGET (256) packets to processing up to ENA_RX_DESC_BUDGET (256) descriptors (or slightly more, if we hit the limit in the middle of a packet). This ensures that, even with jumbos, we refill the ring before processing most of a ring worth of descriptors, and returns the throughput to expected levels. Note that theoretically up to ENA_PKT_MAX_BUFS (19) descriptors can be used for a single packet, in which case even 54 packets would exhaust the default rx buffer ring; it's not clear if this ever occurs in practice, but this fix will address that case as well. Reviewed by: akiyano Sponsored by: Amazon MFC after: 6 days Differential Revision: https://reviews.freebsd.org/D56479 (cherry picked from commit 0f7b8f79f67b25cb0727c7b7d604eb1eec91fef1) --- sys/dev/ena/ena.h | 4 ++-- sys/dev/ena/ena_datapath.c | 13 ++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index f67c7002327d..b2156437f847 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -99,8 +99,8 @@ * of TCP retransmissions. */ #define ENA_TX_BUDGET 128 -/* RX cleanup budget. -1 stands for infinity. */ -#define ENA_RX_BUDGET 256 +/* RX cleanup budget, in descriptors. -1 stands for infinity. */ +#define ENA_RX_DESC_BUDGET 256 /* * How many times we can repeat cleanup in the io irq handling routine if the * RX or TX budget was depleted. diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index ab7b8a468c30..23cbf62b5143 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -575,7 +575,7 @@ ena_rx_cleanup(struct ena_ring *rx_ring) uint32_t do_if_input = 0; unsigned int qid; int rc, i; - int budget = ENA_RX_BUDGET; + int budget = (ENA_RX_DESC_BUDGET == -1) ? INT_MAX : ENA_RX_DESC_BUDGET; #ifdef DEV_NETMAP int done; #endif /* DEV_NETMAP */ @@ -684,7 +684,14 @@ ena_rx_cleanup(struct ena_ring *rx_ring) counter_u64_add_protected(rx_ring->rx_stats.cnt, 1); counter_u64_add_protected(adapter->hw_stats.rx_packets, 1); counter_exit(); - } while (--budget); + + /* + * Adjust our budget; note that we count descriptors, not + * packets, since we need to ensure we don't run out of rx + * buffers when receiving jumbos. + */ + budget -= ena_rx_ctx.descs; + } while (budget > 0); rx_ring->next_to_clean = next_to_clean; @@ -699,7 +706,7 @@ ena_rx_cleanup(struct ena_ring *rx_ring) tcp_lro_flush_all(&rx_ring->lro); - return (budget == 0); + return (budget <= 0); } static void From nobody Wed Jun 3 20:37:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz93PNvz6ggB9 for ; Wed, 03 Jun 2026 20:37: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzz91R40z3HY6 for ; Wed, 03 Jun 2026 20:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519061; 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=LVZLdLeyFrECXwRsh8Ao21eKfJnSkQL7a2QsmOIaaZ4=; b=EEcKJBR3OZGKkeLOmBGJvVjnmg9f8MwVOupFn4SYmqE5iO7ur91jcQQ0CYTBqZ8jsaRasK ztXjl/cMx6voo2R7DMk6AbXQu62zFikzaHAks9SVahfvs00PdgVQpHMz7l+2tkyYS4hov/ fpHORrM5kC3XKcdUotdhO+odiSND4zuSEDw9/M+w8U40WjnbZYJnFbC0tVvwWlFm4zK7cE 2VmTUhhKoeuY+7xSuKlUOYbbANHZ1tKt5jcqQYcvpAHFubImrXq/rKiUgjG82xTqd5+5OG /ercAcVVgsR8K4NLQ3R/7gDYJ6o227HuSkuBPZs7z5DyetYyZd1Cgx5mzEIVaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519061; a=rsa-sha256; cv=none; b=SktXBg6R92edl8+rftkujEUJlWgBRJm7KcRti4IjNdd1PdN6GbdNo4ARuafIVJITEsSw0D XIjDptxMkeef/0QJ5/7LkdyV9BLzQnGSnw/M3gBr7/lW4t3shC7LjMbuN5GnKACvf3m5IA 04qmO9aVH4fyuYGViMcQfL2lF46lZ8BCwi9EFfAha4kkfHZ2IjCjD5m4LuA/GN7OzAr9Bl ioS1twx/jxYvElm78dJJff7uQBKJ5Oy1wiSbgkL1OHO8RGfyV9WSMhbyjQXVl2dcTFCFpd z+c9lT3CdqlMHZS8EXL/eRN0R8mhW7ibrOvneaGS5YciJNRpl2YGwF6Cax1vWA== 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=1780519061; 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=LVZLdLeyFrECXwRsh8Ao21eKfJnSkQL7a2QsmOIaaZ4=; b=kpk8umOZaPpS4Y48W2Rurd/y6qrB2D8M/AOPKFircOFMHlE6j8o9OPkQqoNjFH7NbzO6kc JFp3EQWo4k1o8SxXL/ETJinmRRm1yc7dVvyPeDpCRbuShDMZFLYPpyurUd/nyutaoF1i01 J13tAqQp7DUxGJzi2TBMmMrRBII7v9SI4S3+0kr1LNhng2zzI4IS7h6xVEKOkuUa/3+n1Q Vm3tHwbKzD/KI8hcENNBh6Qqabn2fyYkwtyClxqRd2rJY0gqE4NtQ/8//Wz0+HJLp8GrGi fYhc2400Q0BddnsR6gIBkNfdCxeOXaoiIr2K2OLeLpELWctGg5avngVYM/AASA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz90wjRzC6S for ; Wed, 03 Jun 2026 20:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38534 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:37:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: David Arinzon From: Arthur Kiyanovski Subject: git: 77876eba7d9e - stable/14 - ena: Report RX overrun errors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 77876eba7d9ea5551c9666fdc73fa56e78bf3e73 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:37:41 +0000 Message-Id: <6a209095.38534.64faf6e2@gitrepo.freebsd.org> The branch stable/14 has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=77876eba7d9ea5551c9666fdc73fa56e78bf3e73 commit 77876eba7d9ea5551c9666fdc73fa56e78bf3e73 Author: David Arinzon AuthorDate: 2026-04-15 12:13:56 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-06-03 20:35:35 +0000 ena: Report RX overrun errors Extract rx_overruns from the keep alive descriptor reported by the device and expose it via sysctl hw stats. RX overrun errors occur when a packet arrives but there are not enough free buffers in the RX ring to receive it. MFC after: 2 weeks Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D56640 (cherry picked from commit e3f4a63af63bea70bc86b6c790b14aa5ee99fcd0) --- sys/dev/ena/ena.c | 4 ++++ sys/dev/ena/ena.h | 2 ++ sys/dev/ena/ena_sysctl.c | 2 ++ 3 files changed, 8 insertions(+) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index eddb7dbd42e8..b91fade61cec 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3090,15 +3090,19 @@ ena_keep_alive_wd(void *adapter_data, struct ena_admin_aenq_entry *aenq_e) sbintime_t stime; uint64_t rx_drops; uint64_t tx_drops; + uint64_t rx_overruns; desc = (struct ena_admin_aenq_keep_alive_desc *)aenq_e; rx_drops = ((uint64_t)desc->rx_drops_high << 32) | desc->rx_drops_low; tx_drops = ((uint64_t)desc->tx_drops_high << 32) | desc->tx_drops_low; + rx_overruns = ((uint64_t)desc->rx_overruns_high << 32) | desc->rx_overruns_low; counter_u64_zero(adapter->hw_stats.rx_drops); counter_u64_add(adapter->hw_stats.rx_drops, rx_drops); counter_u64_zero(adapter->hw_stats.tx_drops); counter_u64_add(adapter->hw_stats.tx_drops, tx_drops); + counter_u64_zero(adapter->hw_stats.rx_overruns); + counter_u64_add(adapter->hw_stats.rx_overruns, rx_overruns); stime = getsbinuptime(); atomic_store_rel_64(&adapter->keep_alive_timestamp, stime); diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index b2156437f847..8b5bcdc3214f 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -417,6 +417,8 @@ struct ena_hw_stats { counter_u64_t rx_drops; counter_u64_t tx_drops; + + counter_u64_t rx_overruns; }; /* Board specific private data structure */ diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index 837d9b9a7165..cac5c07ce7b7 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -419,6 +419,8 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &hw_stats->rx_drops, "Receive packet drops"); SYSCTL_ADD_COUNTER_U64(ctx, hw_list, OID_AUTO, "tx_drops", CTLFLAG_RD, &hw_stats->tx_drops, "Transmit packet drops"); + SYSCTL_ADD_COUNTER_U64(ctx, hw_list, OID_AUTO, "rx_overruns", CTLFLAG_RD, + &hw_stats->rx_overruns, "Receive overruns"); /* ENA Admin queue stats */ admin_node = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "admin_stats", From nobody Wed Jun 3 20:37:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzzC2NVQz6ggXZ for ; Wed, 03 Jun 2026 20:37: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzzB2lcxz3HkS for ; Wed, 03 Jun 2026 20:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519062; 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=CHdNuI89hIX1+NqU8DbAxDnjJv6bPKrqHZY0t6niSY4=; b=xFrzReu9viRI021RfBKqiKhORVK6vwaj2BfUVwveXdqOCC+ed75n9GT6qIsPOPljF7sn9d 2ZBCb/WDdpjorAB1cuAKx+SGizXt17/TiF1PyHIdFhiBdrt/XT300IDiRr7FzMMzziyVU2 nsgm2aJejOm69wx381SKAuHTnMgIAmeByYWV7bW9azVOI/Bsy7Ta1nefhvgjnS6IdDSxtJ B9th6rnf51AC0NHrz0ZVyVArL2rGujrptj3bPbCe0PYDZwIqYPGIHrKm2PNMPklxgZVofa dKIo2RgYpH9hQzf4JEFIWwQ7P8bQTSTVZqTRW6HLiO8oeZoleRGC1oIaLbxhCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519062; a=rsa-sha256; cv=none; b=gBlh+BTe7xJuBXbR6cdSFA+0WHs0tDGfUTyzOPLV36m0tX/JFSekHPGOtUOOdPV586gXtX Gr85gcl2w0Gjk9iHXa4RCswpVGH/J48mYzM1xQ3bPXvDwtyXRzdve0l+ZEb70qXz2J/A9/ 9W8UBOJvepMi/ZcCdhy7NPtUOVkH7axSRBJXlUx4CQfb4Fv1UV5KJVRKFKfc4uOZ3TG2x/ 2m7MJ2c1SVuITojTfe+cG4ZbICO5mUuexTRg2bHokBVuzs2bSiO6mlQhfPMQXtGJg55MsI qyLPJrTcXxx/2U3KGXdQUVIHAWwIVHrk37lTGccoMRsvobY9kHMEKuiR/nZpJQ== 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=1780519062; 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=CHdNuI89hIX1+NqU8DbAxDnjJv6bPKrqHZY0t6niSY4=; b=vpQ2BbtoTrifJtpyUC+lsz6pijR6xU3aPhKFZ047pgfbwsmIm34M9CZjvDhbAJT3rmkhcY +Zno0eK+a4AKwNxFCqHDiAxp3f20oc5wGwq6wCYwP8REt9FLVwzu14I0ru4cXikbrZKjjg IzBCYkKSRKNWcxrD6HaedaLQN1ehvIM42v0ECCh9ux5B8UhgLmlY6Z/4jPt61kcacczo0t 7fRI3gIRy+3KN9yIogNHHEuqLVRoWCdMFt3CphbkRB4bL8ccdRSA0rJHJvbVd6uqAV6q5Y bOQNM8Z9rLzJDMwy9VuNhN6d26+NcGo3sHEv2IGpMrTxPu8HsyuHYsVawipAPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzzB1hQ7zBpw for ; Wed, 03 Jun 2026 20:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37a79 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:37:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Arthur Kiyanovski From: Arthur Kiyanovski Subject: git: 545cef127528 - stable/14 - ena: Update driver version to v2.8.3 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 545cef127528bfd58232f065453696ce7e3fa7dd Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:37:42 +0000 Message-Id: <6a209096.37a79.5c21abe5@gitrepo.freebsd.org> The branch stable/14 has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=545cef127528bfd58232f065453696ce7e3fa7dd commit 545cef127528bfd58232f065453696ce7e3fa7dd Author: Arthur Kiyanovski AuthorDate: 2026-04-25 18:47:26 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-06-03 20:35:36 +0000 ena: Update driver version to v2.8.3 Features: * Report RX overrun errors via sysctl hw stats Bug Fixes: * Budget rx descriptors, not packets, to fix jumbo frame throughput Minor Changes: * Adjust ena_[rt]x_cleanup to return bool MFC after: 2 weeks Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D56641 (cherry picked from commit af7911d3b732b8e0d4254c5d0bf60d74ced89157) --- sys/dev/ena/ena.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 8b5bcdc3214f..ca5abe494e04 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -39,7 +39,7 @@ #define ENA_DRV_MODULE_VER_MAJOR 2 #define ENA_DRV_MODULE_VER_MINOR 8 -#define ENA_DRV_MODULE_VER_SUBMINOR 2 +#define ENA_DRV_MODULE_VER_SUBMINOR 3 #define ENA_DRV_MODULE_NAME "ena" From nobody Wed Jun 3 20:45:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW08V75p0z6ghT1 for ; Wed, 03 Jun 2026 20:45: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW08V6X4fz3Knm for ; Wed, 03 Jun 2026 20:45:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519546; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dqiEnxA984sb0DHNCenAzI5QEx8qDTdC1xQt8nG7fQI=; b=r/P2pcvODNX8bLIjYzSRVImCOHTUtphABaEUoPHdWxYzdBhCcFyscyOO1YUNYOQDvn6YsR cDF9bXxMEY3lvBDpd/SUKOhnc2bIbz2vSMKofjiM9ljK36JWOf+v6+Nr7jhHSh9ro+oLBI 8n85WyOVp4bar55phCa8FzodpRslK6mdnC+8SFKwKAz5Xt8tOfWoiMU02MhuTy81t11+kO 2BxdOhNLVCqMhUPyuyohUBfdxyoxFIG7VO1Pt4Y8WJb5JG5Eua7yqrb2ECcdhGp71jNPpG nhtqCHRSVsbjQZNvy0Q7yV7Ka6JyJ3SWJXu+TS93l0yQhPyPImiod987shxuyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519546; a=rsa-sha256; cv=none; b=EQWcPoPplAz4rPj3+VxPGzORda6XGqx5PJo6OJH/mTLaaykzSla2KJLwMle5bPkrk++C5q GzLFD05KwnnAx3J8pG661zLmiIsW0Xb2a2tG7LYNMl4tAaJX/NzjbfqyLUN6l4AiwKX2Z0 8jKKobtiHW2Qe+wm/2YMWnVxkwftneAwf3anig6+6JXyHm+l3ZvcekkPFxMFZOVGEhpHMT OPycJYu+GVKGbhtM9E4mIGuq6HrpBYi355+SxNl3ZXildW8pwLyoIIUuh3DWjgwqMrdx9r c1fg4ENd6zXQJ7mZK+A+wzsZWRzVVftc3ivf8Aecyn796G4Drr/41jG58V58SQ== 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=1780519546; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dqiEnxA984sb0DHNCenAzI5QEx8qDTdC1xQt8nG7fQI=; b=M44L9Qws0CFsiL9SAnjOHcQbAn5y7FvKwA+g6ysSb5j8SvscHBQ79/w+1siJQEgOiumEPu 6aE3SOa20obzZUjPu+bnkg8UaKkF9bOyKHY1Ef34UZMP20Xp+uH7xkXXksDnrbVLgS0Eg6 MbnqjeXQctoQGbrTQKWsF1Q6zMj2N9AvF850h44yKNg+HrPBFKVQS3Dr70DIx4glHzggYJ 5/Xzjom2K6w7zq8L75PCBaRqyIbiUerjQUQEiPvthCcq/7CmWp6kvSlrVwjwxZfazNMOAt eoXx9VVpVcsHW7+Wd1JOVcOo3FA+vCvhY1fwbtI2YmZeZbN+Qg4Bi8Ut6ik4oQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW08V5bRNzCF3 for ; Wed, 03 Jun 2026 20:45:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38661 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:45:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 248dd56d2dea - main - install.1: Convert link flags to a table List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 248dd56d2dea03e4723e8225b890d02fcc10973f Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:45:41 +0000 Message-Id: <6a209275.38661.5eae39c8@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=248dd56d2dea03e4723e8225b890d02fcc10973f commit 248dd56d2dea03e4723e8225b890d02fcc10973f Author: Ed Maste AuthorDate: 2026-06-03 17:50:51 +0000 Commit: Ed Maste CommitDate: 2026-06-03 20:45:13 +0000 install.1: Convert link flags to a table The five link flags get lost in prose. Reviewed by: ziaee Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57418 --- usr.bin/xinstall/install.1 | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/usr.bin/xinstall/install.1 b/usr.bin/xinstall/install.1 index 35b6f60c57a0..77b928d022db 100644 --- a/usr.bin/xinstall/install.1 +++ b/usr.bin/xinstall/install.1 @@ -176,16 +176,19 @@ argument. Valid .Ar linkflags are: -.Ar a -(absolute), -.Ar r -(relative), -.Ar h -(hard), -.Ar s -(symbolic), -.Ar m -(mixed). +.Bl -tag -width a -offset indent +.It Sy a +absolute +.It Sy r +relative +.It Sy h +hard +.It Sy s +symbolic +.It Sy m +mixed +.El +.Pp Absolute and relative have effect only for symbolic links. Mixed links are hard links for files on the same filesystem, symbolic otherwise. From nobody Wed Jun 3 20:50:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW0GL0FS0z6ghWH for ; Wed, 03 Jun 2026 20:50: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW0GK6hXzz3NsJ for ; Wed, 03 Jun 2026 20:50:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q2lE3fHUz3zTgvBSPJZ3ffncw7USRcSgM601ZJF+B0I=; b=JFcqifKLQ1+WNpzJDig+dSNlleGOI754DYIJrXBOyEnP9p4UKms9pazY5sbTW5cVEqdaAw 9g8ridJRSpLcNg1rGrZXi/JgcY+DNCq+g8eYZsNLyKEFdy4wga9f+rRSibbxXiBfiHZWZy bmHkjR6R5Mz5KRMAElwOgteTfTBOTwo32rtdtZuRRDNuu+SNSlanePAqcux1lz92xzRLAp YqUIRm01imTlrOj4Y7i8DrFADAieEQoN0Y2xU3VX4ZGvz6rqw+VYIJqm/g4r6UEBGuBTrf pok8w2qFHI7tuo9jqEF+78J1FfSqWtGsIIdA3N7WG9pqMCTkxpq5Xw0GTuY1MQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519849; a=rsa-sha256; cv=none; b=pirGdfFJlh9G1E9BVOEo7UaRu0iZR5db+iX76eIKvRe17UO2nOZMVcq7qx2RKipmc3Fdig VJcnwY+dnIZTRwsNhNA7UPnQwRROdLy6dY12B2wkAMQqwOW8PbwMi53ehJ9NQ+GIyMe9AA iJB4gajCLETbwPm8STNtXEQZWHHUqT+K7kliz+dn0mu1N5JmmO2nl1pv3RWq3iHPfE1ZHm kJKznvrN+gt1bpw/Qd4mX5YETC/krRT7ZXX7/cAUEBxDHnbh4kV8SsJAxiIVv0Q+R+76zS rmAqIM8sfh7vRNuAOJm4yIF1hZ+z0cadLBSwfo1V/DVqmZsX6W7Sejq/8tDQAg== 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=1780519849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q2lE3fHUz3zTgvBSPJZ3ffncw7USRcSgM601ZJF+B0I=; b=ZTdz/2cdf3TsBFaD8YsV0VuScJ8fEehvEyMrvbsLIGuCnUljtxZG6w2f4e7O4XGlYr1aCp ZD/iffOPtZKAGcCfU4HGLlk4p6ZjXfF5oUYKU2U/iCJ8BuW+a4Qw5OSd1UiXxSeqGXbPc4 NiX/Lw2yqSeW74scKL/dBflfj7IX2ixqnIbYgDYXv0blnlOXRB0t5qe5uv9J7k3XTNvVyF k9YBec63Qv/h1+tnZ2i2hZl8+WbdZM//vQkYsYSDptpebUx4iM6EgbwHlt5T72ATJ80cZb gUNlxv10U0WIs6PiaFXl/Fjv9juaF3uU84BZlyQ+1JlOTXQERfJpd3CNeP1+ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW0GK60gtzBqb for ; Wed, 03 Jun 2026 20:50:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b045 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:50:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jilles Tjoelker Subject: git: 8bf490256986 - main - diff: Correct fd 0 case on pipe List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jilles X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8bf4902569869133affd91bdcb71b74656cfc36e Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:50:44 +0000 Message-Id: <6a2093a4.3b045.4175e932@gitrepo.freebsd.org> The branch main has been updated by jilles: URL: https://cgit.FreeBSD.org/src/commit/?id=8bf4902569869133affd91bdcb71b74656cfc36e commit 8bf4902569869133affd91bdcb71b74656cfc36e Author: Jilles Tjoelker AuthorDate: 2026-06-03 20:42:01 +0000 Commit: Jilles Tjoelker CommitDate: 2026-06-03 20:50:38 +0000 diff: Correct fd 0 case on pipe After git commit c8d40bf8ecc60cc15e3904410db62065ea681fdc, if fd 0 was not open, it is left with CLOEXEC set and therefore fails. This is an unlikely situation, but fixing it reduces the size of the code (by using posix_spawn_file_actions_adddup2's special case if the two file descriptor numbers are the same). At the same time, check the error code from posix_spawn_file_actions_adddup2. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D56910 --- usr.bin/diff/pr.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.bin/diff/pr.c b/usr.bin/diff/pr.c index e8a4162d8b18..57cbb6a56ce5 100644 --- a/usr.bin/diff/pr.c +++ b/usr.bin/diff/pr.c @@ -71,8 +71,9 @@ start_pr(char *file1, char *file2) posix_spawnattr_setprocdescp_np(&sa, &pr->procd, 0); - if (pfd[0] != STDIN_FILENO) - posix_spawn_file_actions_adddup2(&fa, pfd[0], STDIN_FILENO); + error = posix_spawn_file_actions_adddup2(&fa, pfd[0], STDIN_FILENO); + if (error != 0) + errc(2, error, "posix_spawn_file_actions_adddup2"); char *argv[] = { __DECONST(char *, _PATH_PR), __DECONST(char *, "-h"), header, NULL }; From nobody Wed Jun 3 22:10:52 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW22n5HVKz6gqnR for ; Wed, 03 Jun 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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW22n3BzLz3WM5 for ; Wed, 03 Jun 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=1780524657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L2MdnT/xaEYF48fwap1OKTwru/bOI+LN3UhgCO7Evzs=; b=WwzxKzlB/a9rUmulcyAqIm3JbyiMxhTjBPmHVEhq3uPR3HslxibP3rtSO/BMMWSA9OtbcQ YmHIdL/PSYhClV+AzpDTENs+bg77gCs/wBuVLRXuNnGQVF6/NCz6YF3T/K/pa4uLKQ0iqM audvNTgJESgQnHT3VP0Tq+xTbygtuxj5CFGBiiB+0IVNvv09LwDrGR5gLf46Sletkc0/5r vHGiQdrrwshRAzZv7Lj5F0+gN5qxmxrEoEWdENBwT+NmPypYUNLXs1j0S33/xhn7o4QM/U UOVHMD8IPXcJLhShHe29AK/6Zq38waosRU8GvfmS/GYfMtnZFuTnsnAO/zqU/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780524657; a=rsa-sha256; cv=none; b=H8RlV5L8rOaZCdrYlqfKZDKHbtwG6Nas/dSIVEGxF3Lp3gvuEPXGY2VwN77H7rZwsIKY+o kNM3iUeL6lEesf5vPKjdBvSV5bhhZUxJlgWPMkMMMr9s/lE0epWvc5fdtfYFgwk4a1IzKJ nsjksUhkEO3L2W0zFQRB8cZ15h8pBhGzi9Nll4/wiW+vR28XcHyUKWwnfDZO59Ntyi6rm+ 69ZOxdr+mZvOxXdJ+eQKaRV/vQbFj0+CV1gjK4+tgYVnujVJu41Hs4e9HdgDre9CGBmguc 7ZTSQQDxb88toG8kp4RD8hnacB0hidKBNIf/FLXIS688vtL4ddeeffjYMyp1iw== 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=1780524657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L2MdnT/xaEYF48fwap1OKTwru/bOI+LN3UhgCO7Evzs=; b=P0BZJ31SITzXXvBJaTTmgtpzS1FF3PlBve0ColFxuJPEV08IY8mp19kFN9isA5Mac1q97g +dgQLXxYzQyjBM1qU+SsIdfz8VQOEkGPjFQFv5edyGYELuDBlad7ZPvB/yeWPoApxqv3YT CFgWj2Qnyvt8p6B+ycqlBVcFxm8vX9sjPAyDRxACII081lo/KfC/4VkA3uDuJ1a/Nu3d2X bg5GAl3ZvRKfB3sL0s9476/zbfJ/zfqjuNSIEqGOZnTHefBXrYPktqiSVT2Q+PZ47RUw7a fp+dwg9ATz7kjsNWIvVohgv3LFHe5ay1Ou9+4BoAB3mfXYLHv/oezAFo+LgOdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW22n28DyzVR9 for ; Wed, 03 Jun 2026 22:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42d17 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 22:10:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jilles Tjoelker Subject: git: 73e0d6b44038 - main - tests: Avoid sleep when causing a write error List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jilles X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73e0d6b44038d1c7764c5013a54ae17a8f680a69 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 22:10:52 +0000 Message-Id: <6a20a66c.42d17.6a25c515@gitrepo.freebsd.org> The branch main has been updated by jilles: URL: https://cgit.FreeBSD.org/src/commit/?id=73e0d6b44038d1c7764c5013a54ae17a8f680a69 commit 73e0d6b44038d1c7764c5013a54ae17a8f680a69 Author: Jilles Tjoelker AuthorDate: 2026-06-03 22:10:08 +0000 Commit: Jilles Tjoelker CommitDate: 2026-06-03 22:10:08 +0000 tests: Avoid sleep when causing a write error Cause a write error using a fifo and wait, rather than needing a sleep to wait for something to terminate. This is faster and avoids a potential test failure on a heavily loaded system. Using /dev/full would be simpler, but it is not portable enough (it tends not to be available in jails, even). Starting programs with stdout not open or only open for read/execute/search may have unexpected side effects. Reviewed by: ngie, des Differential Revision: https://reviews.freebsd.org/D57213 --- bin/pwd/tests/pwd_test.sh | 15 ++++++++------- usr.bin/asa/tests/asa_test.sh | 12 +++++++----- usr.bin/cmp/tests/cmp_test2.sh | 12 +++++++----- usr.bin/du/tests/du_test.sh | 12 +++++++----- usr.bin/env/tests/env_test.sh | 12 +++++++----- usr.bin/ident/tests/ident_test.sh | 12 +++++++----- usr.bin/printenv/tests/printenv_test.sh | 13 +++++++------ usr.bin/uniq/tests/uniq_test.sh | 13 +++++++------ usr.bin/yes/tests/yes_test.sh | 13 +++++++------ 9 files changed, 64 insertions(+), 50 deletions(-) diff --git a/bin/pwd/tests/pwd_test.sh b/bin/pwd/tests/pwd_test.sh index a8805582cc4d..db062b253a0d 100644 --- a/bin/pwd/tests/pwd_test.sh +++ b/bin/pwd/tests/pwd_test.sh @@ -75,14 +75,15 @@ stdout_body() { pwd=$(which pwd) [ -f "$pwd" ] || atf_skip "unable to distinguish binary from builtin" - ( + mkfifo fifo + : stderr - echo $? >result - ) | true - atf_check -o inline:"1\n" cat result + "$pwd" 2>stderr + result=$? + } >fifo + atf_check_equal 1 "$result" atf_check -o match:"stdout" cat stderr } diff --git a/usr.bin/asa/tests/asa_test.sh b/usr.bin/asa/tests/asa_test.sh index 2b8fecb12d98..d6cb9f404318 100644 --- a/usr.bin/asa/tests/asa_test.sh +++ b/usr.bin/asa/tests/asa_test.sh @@ -68,13 +68,15 @@ stdout_head() { atf_set descr "Failure to write to stdout" } stdout_body() { - ( + mkfifo fifo + : stderr - echo $? >result - ) | true - atf_check -o inline:"1\n" cat result + result=$? + } >fifo + atf_check_equal 1 "$result" atf_check -o match:"stdout" cat stderr } diff --git a/usr.bin/cmp/tests/cmp_test2.sh b/usr.bin/cmp/tests/cmp_test2.sh index bca8fc18a6b8..b148e77b62b2 100755 --- a/usr.bin/cmp/tests/cmp_test2.sh +++ b/usr.bin/cmp/tests/cmp_test2.sh @@ -136,13 +136,15 @@ bflag_body() # Helper for stdout test case atf_check_stdout() { - ( + mkfifo fifo + : stderr - echo $? >result - ) | true - atf_check -o inline:"2\n" cat result + result=$? + } >fifo + atf_check_equal 2 "$result" atf_check -o match:"stdout" cat stderr } diff --git a/usr.bin/du/tests/du_test.sh b/usr.bin/du/tests/du_test.sh index 16accdcb42a1..5b298785c058 100755 --- a/usr.bin/du/tests/du_test.sh +++ b/usr.bin/du/tests/du_test.sh @@ -306,13 +306,15 @@ stdout_head() } stdout_body() { - ( + mkfifo fifo + : stderr - echo $? >result - ) | true - atf_check -o inline:"1\n" cat result + result=$? + } >fifo + atf_check_equal 1 "$result" atf_check -o match:"stdout" cat stderr } diff --git a/usr.bin/env/tests/env_test.sh b/usr.bin/env/tests/env_test.sh index 3210361eb223..ed1d82f38281 100644 --- a/usr.bin/env/tests/env_test.sh +++ b/usr.bin/env/tests/env_test.sh @@ -137,13 +137,15 @@ stdout_head() } stdout_body() { - ( + mkfifo fifo + : stderr - echo $? >result - ) | true - atf_check -o inline:"1\n" cat result + result=$? + } >fifo + atf_check_equal 1 "$result" atf_check -o match:"stdout" cat stderr } diff --git a/usr.bin/ident/tests/ident_test.sh b/usr.bin/ident/tests/ident_test.sh index 9dcc45a1625f..2fae2fe8d1e1 100755 --- a/usr.bin/ident/tests/ident_test.sh +++ b/usr.bin/ident/tests/ident_test.sh @@ -70,13 +70,15 @@ stdout_head() stdout_body() { local dir=$(atf_get_srcdir) - ( + mkfifo fifo + : stderr - echo $? >result - ) | true - atf_check -o inline:"1\n" cat result + result=$? + } >fifo + atf_check_equal 1 "$result" atf_check -o match:"stdout" cat stderr } diff --git a/usr.bin/printenv/tests/printenv_test.sh b/usr.bin/printenv/tests/printenv_test.sh index 83535a555b17..8a9650819d82 100644 --- a/usr.bin/printenv/tests/printenv_test.sh +++ b/usr.bin/printenv/tests/printenv_test.sh @@ -78,14 +78,15 @@ stdout_head() } stdout_body() { - local dir=$(atf_get_srcdir) - ( + mkfifo fifo + : stderr - echo $? >result - ) | true - atf_check -o inline:"1\n" cat result + result=$? + } >fifo + atf_check_equal 1 "$result" atf_check -o match:"stdout" cat stderr } diff --git a/usr.bin/uniq/tests/uniq_test.sh b/usr.bin/uniq/tests/uniq_test.sh index fc143632bdd2..46233640b5de 100755 --- a/usr.bin/uniq/tests/uniq_test.sh +++ b/usr.bin/uniq/tests/uniq_test.sh @@ -197,14 +197,15 @@ stdout_head() { atf_set descr "error writing to stdout" } stdout_body() { - ( + mkfifo fifo + : stderr - echo $? >result - ) | true - atf_check -o inline:"1\n" cat result + result=$? + } >fifo + atf_check_equal 1 "$result" atf_check -o match:"stdout" cat stderr } diff --git a/usr.bin/yes/tests/yes_test.sh b/usr.bin/yes/tests/yes_test.sh index 797ac5f6ac9f..5f2f4566d01a 100644 --- a/usr.bin/yes/tests/yes_test.sh +++ b/usr.bin/yes/tests/yes_test.sh @@ -66,14 +66,15 @@ stdout_head() } stdout_body() { - ( + mkfifo fifo + : stderr - echo $? >result - ) | true - atf_check -o inline:"1\n" cat result + result=$? + } >fifo + atf_check_equal 1 "$result" atf_check -o match:"stdout" cat stderr } From nobody Wed Jun 3 23:41:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW42y5Vjwz6h02g for ; Wed, 03 Jun 2026 23:41: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW42y4gMQz3ggY for ; Wed, 03 Jun 2026 23:41:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780530074; 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=eT71vS9SpfPmyFKc2q6ElK75EKMB+ASAmX9RFRI7HwA=; b=UKcjuY2gS8KvMDmBPji7Jqtr0/fN6oQEudk2BWRsSA0HwpPwk5wR+uEhfyKkQS3NvWLuaL nOWnfgTr0GHEz08SIAnpPALc75eKffIu5g+8FoHe7l7bWf2EmT8QoQwm+ai9TtUBdslrTS 2auDFwWqmkLjPT7agNyQ5hO749TaXKrSP54DYQ0x00Ode+PerRwVVg4rjvc65jvKb/8GsN DW14AKMPVBZrzWKE9aggaDGNQkvahOkb+KWn1TEsKkNfjKeAT83HByRUP3RacAuJ1vNUGk yhGC2qQaGf4kZTdO9dXRYNZmOsnYU4/bvuoXmY9/wFiGrhCmO0fxRLzyXwfZEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780530074; a=rsa-sha256; cv=none; b=p7dJnqqbG1OQ6sUiBFuaCtEfd4Bg/eBZO9iP9QdPewd1X3Snra49KXksNgc4VeRPd6fg9L tTdhM79M3MiitmA3MKPwG6G3U7kmPpNAvcsoyS3e5GAz/AwW5TCTyoqZGrhEWBQZJY/79a pDFyZvLYH4hljkBgQ/YbRErUrv6X0gQ0wMYirk5HLOIgjBWL5FjxlU3ThCpZ/d+00cgmvc 92WJN046vu5qN3+cvBBJkalVZgkJ+D9ZYmcWAxeD/5VSVuGrd7XfejvX9DMP0DvwcHZjba K0mF7+pVpkMVUgPzoQE74avPlU2M+XStKzMOYq1fGy9X5z+WdvIPAnGz96QFsA== 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=1780530074; 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=eT71vS9SpfPmyFKc2q6ElK75EKMB+ASAmX9RFRI7HwA=; b=wZd3Q8cOvpTiU6YXHHMyRLMLEsPyAauC8qBue6NmrXOGuVhHfLJ1IBfsc/L/c9lL6e8wV7 R+VUfsy9jveQGIaJ/zzG5HIrrB4baCibYV8SPEeLOItnk6JHpgqNH3dy6N8bvEGJcCUnMG 6hVI6OafF5yncAwXAuFVScQiyhKKW0YiOQVYxB6/O7jNMhgdF2bSMs13MzImKAg4iGzYi9 o2sXfJaUoQf8HCD15p299wjZnq5WTxxiCEr31jwjWs07ZxLC3+VcKsJtvBEpt5LJ0bBEhd lMi717xFFixC2SJKIPza+Vz5OAwJEXFaYPnWh2Cp1oWPjVC94lnAFJ9X2O9V1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW42y4963zZRf for ; Wed, 03 Jun 2026 23:41:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c72a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 23:41:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sourojeet A From: Ed Maste Subject: git: 67df31301590 - main - linuxkpi: Make pm_qos.h self-contained List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67df313015906d84d90df8e37795885e81cf8da5 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 23:41:09 +0000 Message-Id: <6a20bb95.1c72a.4f9e769c@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=67df313015906d84d90df8e37795885e81cf8da5 commit 67df313015906d84d90df8e37795885e81cf8da5 Author: Sourojeet A AuthorDate: 2026-06-03 21:58:53 +0000 Commit: Ed Maste CommitDate: 2026-06-03 23:40:55 +0000 linuxkpi: Make pm_qos.h self-contained Include for `false`. This is needed by amdgpu somewhere between Linux 6.12 and 6.15. Reviewed by: Minsoo Choo , bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57415 --- sys/compat/linuxkpi/common/include/linux/pm_qos.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pm_qos.h b/sys/compat/linuxkpi/common/include/linux/pm_qos.h index 47c41a819ba8..97d16369a704 100644 --- a/sys/compat/linuxkpi/common/include/linux/pm_qos.h +++ b/sys/compat/linuxkpi/common/include/linux/pm_qos.h @@ -28,6 +28,8 @@ #ifndef _LINUXKPI_LINUX_PM_QOS_H #define _LINUXKPI_LINUX_PM_QOS_H +#include + #define PM_QOS_DEFAULT_VALUE (-1) struct pm_qos_request { From nobody Thu Jun 4 00:36:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GV3s0fz6h5yD for ; Thu, 04 Jun 2026 00:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GV2zHBz3pxS for ; Thu, 04 Jun 2026 00:36:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l1CVLBPrbKekw7ZJXdwUPgwKJTlAB+V/+iWsZVmVHhA=; b=NfEmDM7bYx1a1TnmKKGX1UHLBuLYbjTjSXBpcx2FvUqk8g1rOh/I3MCOTqkfDQ64MxzPQ3 b2gRcMEz35aSgRCpwFxiEH2m18Kim16/D0oqUGv7ywfvwQWUR16OB7i1yfTVCnSO0fw+xP KlGxI/xdpheRKvK7XT1Eje5vwMrnPdaXwDqOCUiqxDD0B6Fo681WFlh1+uF+Bl7m/Bbw4O 55QLPwAW++M5KfVCNVe5gV6xOK/Yl+3BdGIoQ2w50Vba+rT2jKhfELIAyCXxzJ9US+OZ6b veO5sNV3Mrhv40F5WUfGtJL/VdInxN9B/V2B+pN++tBanrnBGE+/i/K2JEN9Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533378; a=rsa-sha256; cv=none; b=MehzwpWS90Jhqs0cE1C9kvV/1JQTGClmCK2Ugdbq9YhQFLsCnjHSnGDn+QbwaLvAuXQ8yg wH0W7yOr2GjsiWZqE8ltmlAJxWwZ+4dk8dzocvZsnemdet7FEkvSf0LRsSXQ8gWjjRCEIY miF9ZZ8KK/zSMFXTMHiQwJagsjEqYlrBMeEeeUml+1etfFlhOjYopQMFwc6CXeZwdypi5t q1Jd3svir6rpSEL28/Zb23o9s5c/lda/dTLJLjzReehHqjflceCSyqigZDIUede5HpB/7v CMgXNwxd90oZwjg/Kjs+MMusIBhRvwptWB0skCJ7nkTBMx22Ddlwk9pIhS0cWw== 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=1780533378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l1CVLBPrbKekw7ZJXdwUPgwKJTlAB+V/+iWsZVmVHhA=; b=wqZTiv8UCJxsYYLW2KBMZa4Hjp1bk/0WjjN3ZNsbFQvle+QuMDhJzxynCe5bAinpBltIC9 14lo4w2xA8E981Kn/AZLXLu8VkpKjbsdGC1suwJSmqW8TM3QH/Ls006qBLSaduObiInWFk jb1svi/EKV4rOUstal1Ku35Cp1xbD7eK68LZ8eAq86VZ6AXkfC9K0gNhtYrFsF4xdudIXQ 8WyVyx80+rI+MoFYckZhbqz2ILvbQYEPhuS3k9a23oXTtONr0Hw1E++L50p7LnLEUY68pU YviwKmB5DbET9MYn4CYO8i99f1UdfVcZPo0qhi2hiAZoXZ8qXhyW738nxzHf9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GV2Ylzzb1y for ; Thu, 04 Jun 2026 00:36:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21b96 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5bbd104c48ea - stable/15 - image activators: pass the current thread List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5bbd104c48ea592fef4cd2b90ce83922114f1235 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:18 +0000 Message-Id: <6a20c882.21b96.67cbd145@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5bbd104c48ea592fef4cd2b90ce83922114f1235 commit 5bbd104c48ea592fef4cd2b90ce83922114f1235 Author: Konstantin Belousov AuthorDate: 2026-05-28 09:06:04 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:42 +0000 image activators: pass the current thread (cherry picked from commit 9b729333bb2495afb8821044fa42c9ebe0874703) --- sys/kern/imgact_elf.c | 36 ++++++++++++++++-------------------- sys/kern/kern_exec.c | 1 + sys/sys/imgact.h | 1 + 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index c91fd8089487..21db327d27f4 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -94,7 +94,7 @@ static int __elfN(check_header)(const Elf_Ehdr *hdr); static const Elf_Brandinfo *__elfN(get_brandinfo)(struct image_params *imgp, const char *interp, int32_t *osrel, uint32_t *fctl0); -static int __elfN(load_file)(struct proc *p, const char *file, u_long *addr, +static int __elfN(load_file)(struct thread *td, const char *file, u_long *addr, u_long *entry); static int __elfN(load_section)(const struct image_params *imgp, vm_ooffset_t offset, caddr_t vmaddr, size_t memsz, size_t filsz, @@ -780,8 +780,8 @@ __elfN(load_sections)(const struct image_params *imgp, const Elf_Ehdr *hdr, * the entry point for the loaded file. */ static int -__elfN(load_file)(struct proc *p, const char *file, u_long *addr, - u_long *entry) +__elfN(load_file)(struct thread *td, const char *file, u_long *addr, + u_long *entry) { struct { struct nameidata nd; @@ -802,7 +802,7 @@ __elfN(load_file)(struct proc *p, const char *file, u_long *addr, * XXXJA: This check can go away once we are sufficiently confident * that the checks in namei() are correct. */ - if (IN_CAPABILITY_MODE(curthread)) + if (IN_CAPABILITY_MODE(td)) return (ECAPMODE); #endif @@ -814,7 +814,8 @@ __elfN(load_file)(struct proc *p, const char *file, u_long *addr, /* * Initialize part of the common data */ - imgp->proc = p; + imgp->td = td; + imgp->proc = td->td_proc; imgp->attr = attr; NDINIT(nd, LOOKUP, ISOPEN | FOLLOW | LOCKSHARED | LOCKLEAF, @@ -867,8 +868,8 @@ __elfN(load_file)(struct proc *p, const char *file, u_long *addr, if (error != 0) goto fail; - if (p->p_sysent->sv_protect != NULL) - p->p_sysent->sv_protect(imgp, SVP_INTERP); + if (imgp->proc->p_sysent->sv_protect != NULL) + imgp->proc->p_sysent->sv_protect(imgp, SVP_INTERP); *addr = base_addr; *entry = (unsigned long)hdr->e_entry + rbase; @@ -1008,7 +1009,6 @@ static int __elfN(get_interp)(struct image_params *imgp, const Elf_Phdr *phdr, char **interpp, bool *free_interpp) { - struct thread *td; char *interp; int error, interp_name_len; @@ -1016,8 +1016,6 @@ __elfN(get_interp)(struct image_params *imgp, const Elf_Phdr *phdr, ("%s: p_type %u != PT_INTERP", __func__, phdr->p_type)); ASSERT_VOP_LOCKED(imgp->vp, __func__); - td = curthread; - /* Path to interpreter */ if (phdr->p_filesz < 2 || phdr->p_filesz > MAXPATHLEN) { uprintf("Invalid PT_INTERP\n"); @@ -1045,8 +1043,8 @@ __elfN(get_interp)(struct image_params *imgp, const Elf_Phdr *phdr, error = vn_rdwr(UIO_READ, imgp->vp, interp, interp_name_len, phdr->p_offset, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, - NOCRED, NULL, td); + UIO_SYSSPACE, IO_NODELOCKED, imgp->td->td_ucred, + NOCRED, NULL, imgp->td); if (error != 0) { free(interp, M_TEMP); uprintf("i/o error PT_INTERP %d\n", error); @@ -1079,13 +1077,13 @@ __elfN(load_interp)(struct image_params *imgp, const Elf_Brandinfo *brand_info, if (brand_info->interp_newpath != NULL && (brand_info->interp_path == NULL || strcmp(interp, brand_info->interp_path) == 0)) { - error = __elfN(load_file)(imgp->proc, + error = __elfN(load_file)(imgp->td, brand_info->interp_newpath, addr, entry); if (error == 0) return (0); } - error = __elfN(load_file)(imgp->proc, interp, addr, entry); + error = __elfN(load_file)(imgp->td, interp, addr, entry); if (error == 0) return (0); @@ -1102,7 +1100,6 @@ __elfN(load_interp)(struct image_params *imgp, const Elf_Brandinfo *brand_info, static int __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) { - struct thread *td; const Elf_Ehdr *hdr; const Elf_Phdr *phdr; Elf_Auxargs *elf_auxargs; @@ -1152,7 +1149,6 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) entry = proghdr = 0; interp = NULL; free_interp = false; - td = curthread; /* * Somewhat arbitrary, limit accepted max alignment for the @@ -1329,7 +1325,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) map = &vmspace->vm_map; maxv = sv->sv_usrstack; if ((imgp->map_flags & MAP_ASLR_STACK) == 0) - maxv -= lim_max(td, RLIMIT_STACK); + maxv -= lim_max(imgp->td, RLIMIT_STACK); if (error == 0 && mapsz >= maxv - vm_map_min(map)) { uprintf("Excessive mapping size\n"); error = ENOEXEC; @@ -1339,7 +1335,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) KASSERT((map->flags & MAP_ASLR) != 0, ("ET_DYN_ADDR_RAND but !MAP_ASLR")); error = __CONCAT(rnd_, __elfN(base))(map, - vm_map_min(map) + mapsz + lim_max(td, RLIMIT_DATA), + vm_map_min(map) + mapsz + lim_max(imgp->td, RLIMIT_DATA), /* reserve half of the address space to interpreter */ maxv / 2, maxalign, &imgp->et_dyn_addr); } @@ -1362,7 +1358,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) * calculation is that it leaves room for the heap to grow to * its maximum allowed size. */ - addr = round_page((vm_offset_t)vmspace->vm_daddr + lim_max(td, + addr = round_page((vm_offset_t)vmspace->vm_daddr + lim_max(imgp->td, RLIMIT_DATA)); if ((map->flags & MAP_ASLR) != 0) { maxv1 = maxv / 2 + addr / 2; @@ -2809,7 +2805,7 @@ __elfN(parse_notes)(const struct image_params *imgp, const Elf_Note *checknote, } error = vn_rdwr(UIO_READ, imgp->vp, buf, pnote->p_filesz, pnote->p_offset, UIO_SYSSPACE, IO_NODELOCKED, - curthread->td_ucred, NOCRED, NULL, curthread); + imgp->td->td_ucred, NOCRED, NULL, imgp->td); if (error != 0) { uprintf("i/o error PT_NOTE\n"); goto retf; diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 22e18876a20c..417c7da19449 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -448,6 +448,7 @@ do_execve(struct thread *td, struct image_args *args, struct mac *mac_p, */ bzero(imgp, sizeof(*imgp)); imgp->proc = p; + imgp->td = td; imgp->attr = &attr; imgp->args = args; oldcred = p->p_ucred; diff --git a/sys/sys/imgact.h b/sys/sys/imgact.h index c1c94a2eabfd..51cda4406cad 100644 --- a/sys/sys/imgact.h +++ b/sys/sys/imgact.h @@ -57,6 +57,7 @@ struct image_args { struct image_params { struct proc *proc; /* our process */ + struct thread *td; struct label *execlabel; /* optional exec label */ struct vnode *vp; /* pointer to vnode of file to exec */ struct vm_object *object; /* The vm object for this vp */ From nobody Thu Jun 4 00:36:19 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GW4z0Yz6h664 for ; Thu, 04 Jun 2026 00:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GW43GLz3pln for ; Thu, 04 Jun 2026 00:36:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FDmpKF+U21M5+WRc+klBpG6n3fnwMVx1D+8/+iK7cao=; b=fxYR6y8aScAzlPzm57SU33IevP2xlSe4G5tmMdraRE4Uvne02go0kfQEi2IOn/R7ZWJKrt Rvimp1kZeNelZFPkOlbN7R7kr5i/Hj4Zxuy+AW5OE1e+4oYhXaLfSnKeNUqwnpWwptB5x8 EAHuoOoJRhPmmXcq7hL+qAZ7JH2UuHGG0drvn9YHcfVGCfiVC/71G/rxqlM3QRmzsSL9Un MxIfBguP+VW5b7rrgIulDVrrFej1TWKWHJ7ziMd7QG9g/uFC2wujkxcm8XDLXcf3Hx1rQl vx+XORwK7/YgPDSRrIbbxkGviPoYSn4yzHtgE5XPHIcMoMvSZOgMpfT/Zf0KmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533379; a=rsa-sha256; cv=none; b=rbuWfWvlNB/40N7O+nreIahFD/CGt2HBwuc02jQ0D63UJbvmStkOHMYLlfHd+u4S6wkgXC 7MP1pgpzQZY3VhEc4Q/MkNb8UG3LVHQGBYJP+Yl6oMCM7KWAsJEMrrPCM2sTZ6hxmIqPez vVyI0FTIbuF4pJEhckt9atxPyAr7D1nU/t4I3PzWU4XGjfHaedSel126Qm+3BijQIKHSEx bNHOczoWTh0xQCCh2seXXODFGN9wuCMXfWJQyYtQT3W91Ms/RkhYH4+/lQsDc16ewQ1rD0 bXH2ZQ5xedh2L5G07f2IuRqBiOAZqu33YDf6oH2JMcOMCAERoNPvA8b9ejUbAw== 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=1780533379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FDmpKF+U21M5+WRc+klBpG6n3fnwMVx1D+8/+iK7cao=; b=qV1TVml2Yby3RhS4zL0P2/VLPoCWJEzCNYutFdTxpHkZvUOCVpv6lpdlZ1j3e3el3mLRh/ qGicTnq461y7RjbNDE04nz6cZW6AYBKcou8tsBwRaBSzjloWUk6CicDoYiW08Utrol8FBp CCsEKui6ecvNSFaSkjy0eqvX2xxtI9bJLaklpGDOcSdxFipB8DzPIx22sGF4I9Mm4FBsnl o0scRRGY6k3vdKSgh4S0jRxunghn158msOgFi97gyc0SRjM/waXQdRXbfWAxm/dtRl7hP5 xVDTHtcDy2MgVCK3d9+3kskntH363HdhH1OpFTQJVZEZsoVm9/1n61l+CAjoGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GW3Rm4zbj6 for ; Thu, 04 Jun 2026 00:36:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 206c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 2fa4a6b79f7b - stable/15 - imgact_elf: read program headers if not contained in the first page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2fa4a6b79f7b00caa206d1bd52cb0253988f2f6a Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:19 +0000 Message-Id: <6a20c883.206c3.3b973587@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2fa4a6b79f7b00caa206d1bd52cb0253988f2f6a commit 2fa4a6b79f7b00caa206d1bd52cb0253988f2f6a Author: Konstantin Belousov AuthorDate: 2026-05-28 09:06:33 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:42 +0000 imgact_elf: read program headers if not contained in the first page PR: 295629 (cherry picked from commit 804daf166406a1b0e22f93b9417b90ed7d3aa1ae) --- sys/kern/imgact_elf.c | 91 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 62 insertions(+), 29 deletions(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 21db327d27f4..9b5215d9217a 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -84,6 +84,8 @@ #define ELF_NOTE_ROUNDSIZE 4 #define OLD_EI_BRAND 8 +#define ELF_OFFPAGE_PHNUM 128 + /* * ELF_ABI_NAME is a string name of the ELF ABI. ELF_ABI_ID is used * to build variable names. @@ -93,7 +95,7 @@ static int __elfN(check_header)(const Elf_Ehdr *hdr); static const Elf_Brandinfo *__elfN(get_brandinfo)(struct image_params *imgp, - const char *interp, int32_t *osrel, uint32_t *fctl0); + const Elf_Phdr *phdr, const char *interp, int32_t *osrel, uint32_t *fctl0); static int __elfN(load_file)(struct thread *td, const char *file, u_long *addr, u_long *entry); static int __elfN(load_section)(const struct image_params *imgp, @@ -103,7 +105,7 @@ static int __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp); static bool __elfN(freebsd_trans_osrel)(const Elf_Note *note, int32_t *osrel); static bool kfreebsd_trans_osrel(const Elf_Note *note, int32_t *osrel); -static bool __elfN(check_note)(struct image_params *imgp, +static bool __elfN(check_note)(struct image_params *imgp, const Elf_Phdr *phdr, const Elf_Brandnote *checknote, int32_t *osrel, bool *has_fctl0, uint32_t *fctl0); static vm_prot_t __elfN(trans_prot)(Elf_Word); @@ -339,8 +341,8 @@ __elfN(brand_inuse)(const Elf_Brandinfo *entry) } static const Elf_Brandinfo * -__elfN(get_brandinfo)(struct image_params *imgp, const char *interp, - int32_t *osrel, uint32_t *fctl0) +__elfN(get_brandinfo)(struct image_params *imgp, const Elf_Phdr *phdr, + const char *interp, int32_t *osrel, uint32_t *fctl0) { const Elf_Ehdr *hdr = (const Elf_Ehdr *)imgp->image_header; const Elf_Brandinfo *bi, *bi_m; @@ -369,8 +371,8 @@ __elfN(get_brandinfo)(struct image_params *imgp, const char *interp, has_fctl0 = false; *fctl0 = 0; *osrel = 0; - ret = __elfN(check_note)(imgp, bi->brand_note, osrel, - &has_fctl0, fctl0); + ret = __elfN(check_note)(imgp, phdr, bi->brand_note, + osrel, &has_fctl0, fctl0); /* Give brand a chance to veto check_note's guess */ if (ret && bi->header_supported) { ret = bi->header_supported(imgp, osrel, @@ -787,12 +789,13 @@ __elfN(load_file)(struct thread *td, const char *file, u_long *addr, struct nameidata nd; struct vattr attr; struct image_params image_params; - } *tempdata; + } *tempdata = NULL; const Elf_Ehdr *hdr = NULL; const Elf_Phdr *phdr = NULL; struct nameidata *nd; struct vattr *attr; struct image_params *imgp; + void *m_phdrs = NULL; u_long rbase; u_long base_addr = 0; int error; @@ -852,16 +855,27 @@ __elfN(load_file)(struct thread *td, const char *file, u_long *addr, goto fail; } - /* Only support headers that fit within first page for now */ - if (!__elfN(phdr_in_zero_page)(hdr)) { + if (!aligned(imgp->image_header + hdr->e_phoff, Elf_Addr)) { error = ENOEXEC; goto fail; } - - phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); - if (!aligned(phdr, Elf_Addr)) { - error = ENOEXEC; - goto fail; + if (__elfN(phdr_in_zero_page)(hdr)) { + phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); + } else { + if (hdr->e_phnum > ELF_OFFPAGE_PHNUM) { + error = ENOEXEC; + goto fail; + } + VOP_UNLOCK(imgp->vp); + phdr = m_phdrs = malloc(hdr->e_phnum * sizeof(Elf_Phdr), + M_TEMP, M_WAITOK | M_ZERO); + vn_lock(imgp->vp, LK_SHARED | LK_RETRY); + error = vn_rdwr(UIO_READ, imgp->vp, m_phdrs, + hdr->e_phnum * sizeof(Elf_Phdr), hdr->e_phoff, + UIO_SYSSPACE, IO_NODELOCKED, imgp->td->td_ucred, + NOCRED, NULL, imgp->td); + if (error != 0) + goto fail; } error = __elfN(load_sections)(imgp, hdr, phdr, rbase, &base_addr); @@ -883,6 +897,7 @@ fail: VOP_UNSET_TEXT_CHECKED(nd->ni_vp); vput(nd->ni_vp); } + free(m_phdrs, M_TEMP); free(tempdata, M_TEMP); return (error); @@ -1108,6 +1123,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) char *interp; const Elf_Brandinfo *brand_info; struct sysentvec *sv; + void *m_phdrs; u_long addr, baddr, entry, proghdr; u_long maxalign, maxsalign, mapsz, maxv, maxv1, anon_loc; uint32_t fctl0; @@ -1132,16 +1148,6 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) * detected an ELF file. */ - if (!__elfN(phdr_in_zero_page)(hdr)) { - uprintf("Program headers not in the first page\n"); - return (ENOEXEC); - } - phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); - if (!aligned(phdr, Elf_Addr)) { - uprintf("Unaligned program headers\n"); - return (ENOEXEC); - } - n = error = 0; baddr = 0; osrel = 0; @@ -1149,6 +1155,33 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) entry = proghdr = 0; interp = NULL; free_interp = false; + m_phdrs = NULL; + + if (!aligned(imgp->image_header + hdr->e_phoff, Elf_Addr)) { + uprintf("Unaligned program headers\n"); + return (ENOEXEC); + } + if (hdr->e_phoff + hdr->e_phnum * hdr->e_phentsize < hdr->e_phoff) { + uprintf("PHDRS wrap\n"); + return (ENOEXEC); + } + if (__elfN(phdr_in_zero_page)(hdr)) { + phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); + } else if (hdr->e_phnum > ELF_OFFPAGE_PHNUM) { + uprintf("Too many program headers\n"); + return (ENOEXEC); + } else { + VOP_UNLOCK(imgp->vp); + phdr = m_phdrs = malloc(hdr->e_phnum * sizeof(Elf_Phdr), + M_TEMP, M_WAITOK | M_ZERO); + vn_lock(imgp->vp, LK_SHARED | LK_RETRY); + error = vn_rdwr(UIO_READ, imgp->vp, m_phdrs, + hdr->e_phnum * sizeof(Elf_Phdr), hdr->e_phoff, + UIO_SYSSPACE, IO_NODELOCKED, imgp->td->td_ucred, + NOCRED, NULL, imgp->td); + if (error != 0) + goto ret; + } /* * Somewhat arbitrary, limit accepted max alignment for the @@ -1230,7 +1263,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) } } - brand_info = __elfN(get_brandinfo)(imgp, interp, &osrel, &fctl0); + brand_info = __elfN(get_brandinfo)(imgp, phdr, interp, &osrel, &fctl0); if (brand_info == NULL) { uprintf("ELF binary type \"%u\" not known.\n", hdr->e_ident[EI_OSABI]); @@ -1434,6 +1467,7 @@ ret: ASSERT_VOP_LOCKED(imgp->vp, "skipped relock"); if (free_interp) free(interp, M_TEMP); + free(m_phdrs, M_TEMP); return (error); } @@ -2914,17 +2948,16 @@ note_fctl_cb(const Elf_Note *note, void *arg0, bool *res) * as for headers. */ static bool -__elfN(check_note)(struct image_params *imgp, const Elf_Brandnote *brandnote, - int32_t *osrel, bool *has_fctl0, uint32_t *fctl0) +__elfN(check_note)(struct image_params *imgp, const Elf_Phdr *phdr, + const Elf_Brandnote *brandnote, int32_t *osrel, bool *has_fctl0, + uint32_t *fctl0) { - const Elf_Phdr *phdr; const Elf_Ehdr *hdr; struct brandnote_cb_arg b_arg; struct fctl_cb_arg f_arg; int i, j; hdr = (const Elf_Ehdr *)imgp->image_header; - phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); b_arg.brandnote = brandnote; b_arg.osrel = osrel; f_arg.has_fctl0 = has_fctl0; From nobody Thu Jun 4 00:36:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GX6cKhz6h5gV for ; Thu, 04 Jun 2026 00:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GX5154z3plq for ; Thu, 04 Jun 2026 00:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w8n7uhB/qi7ZLrH1ahIwexKIAegJM3Ykz9oqcKm9aXM=; b=S7UwkjMt2n7d1JwVNlGLQtys8I1Hp1GRNRLpUil1af9A/1B/8IFyb0xnA2sHde9OvZM89c Edc/BGEpEl4zvViC+yCarOAy6slv/wuN59oTYwrfp9PlbBhdCBE4dWmrQQiIgeRHOE12HX R4bR8ZELQX29uo7DA73J+GIDHwN43MGhwBaW90rR+TnIo4ownTgVpY+DdWCGX6+Rx4Nq+6 0E6XW8ywfRkDF695QKGzjglnJ7REf4mJIcp01K9/4ucpJimoAd2r6q12XSjf7dIyrdYRlT FFRbJPWpchMnHTf7ytYy7w27TyFij/8gM2YZj1r+FPictOFGxLwROEcckT9tdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533380; a=rsa-sha256; cv=none; b=r6iXU453Ma0Z7iNUIws5D4iD+JnNQBBiV6V0Tu0WI+ulBPSkv38Z3rDB7cusJ7Elhfy/kp 9ZvGSPjMV07FKYCBSNNyV978p+nQRxDjpxK/XfO+p67CmtNFxRtce+OGU1rS3kGaSk63RE 72l0sdvWJcJ7/BRMLK0C2RGv/mPOFoCuu2o9AKcCXQm2pw5R8kPMz7W79GwovQDT3WXfYp ZSILDMOysXjDAbs9VjS45FIzQNa0dIjKOVr2UYKYxWJ38nL9vUmT7La7bmtuFnYh2ghptx AebpMaqRTyNfl6eY5sNH5ERzKcYX0XrUGy6jxxmw7CBPVxcqyq37VfFv+jclAg== 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=1780533380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w8n7uhB/qi7ZLrH1ahIwexKIAegJM3Ykz9oqcKm9aXM=; b=ggZtvk5ywLYxh5RGPaaV3dByVbk3OsjecfvUBPPXPNsugDIpQPN9LdCrF7TtacAMRZQQZh 6TizdHreCj/6G10N8mmBtYAukdZiS+LVn4nszcaMQJLp8BhoExo/UsDfNQdO1H4KTRRCqw Stg8BCgCZCLGAdFWWemwv1RlDFhsrHV5s3O/JNgzQkkMJiE7CjHeBDG4cUfVe/x6d44uro cKAAay225TO+lRsS6m9zq7DXEaMuFu93lK5k6yOzhuO8ZxXpNIOjRQEcCGMA7Xhi2DQKiM 22cIV6kOHT781XC4FTuAWom8nD6nxNEdTeiL6mfwKdYb7qKiW95NoHvgJbXY5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GX4KnrzbVl for ; Thu, 04 Jun 2026 00:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22210 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 21d0d2a519da - stable/15 - imgact_elf: add sysctl kern.elfXX.phnums for the number of program headers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 21d0d2a519da14acb55f164b43ff2aaf7254e0c2 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:20 +0000 Message-Id: <6a20c884.22210.1f7a35d1@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=21d0d2a519da14acb55f164b43ff2aaf7254e0c2 commit 21d0d2a519da14acb55f164b43ff2aaf7254e0c2 Author: Konstantin Belousov AuthorDate: 2026-05-29 14:47:31 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:42 +0000 imgact_elf: add sysctl kern.elfXX.phnums for the number of program headers (cherry picked from commit 201090678e033237e20d80eb29cc059e0df9a1e1) --- sys/kern/imgact_elf.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 9b5215d9217a..31102522ef35 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -84,8 +84,6 @@ #define ELF_NOTE_ROUNDSIZE 4 #define OLD_EI_BRAND 8 -#define ELF_OFFPAGE_PHNUM 128 - /* * ELF_ABI_NAME is a string name of the ELF ABI. ELF_ABI_ID is used * to build variable names. @@ -229,6 +227,11 @@ SYSCTL_BOOL(ELF_NODE_OID, OID_AUTO, allow_wx, CTLFLAG_RWTUN, &__elfN(allow_wx), 0, "Allow pages to be mapped simultaneously writable and executable"); +static u_int __elfN(phnums) = 128; +SYSCTL_UINT(ELF_NODE_OID, OID_AUTO, phnums, + CTLFLAG_RWTUN, &__elfN(phnums), 0, + "Max number of program headers to accept"); + static const Elf_Brandinfo *elf_brand_list[MAX_BRANDS]; #define aligned(a, t) (rounddown2((u_long)(a), sizeof(t)) == (u_long)(a)) @@ -855,17 +858,14 @@ __elfN(load_file)(struct thread *td, const char *file, u_long *addr, goto fail; } - if (!aligned(imgp->image_header + hdr->e_phoff, Elf_Addr)) { + if (!aligned(imgp->image_header + hdr->e_phoff, Elf_Addr) || + hdr->e_phnum > __elfN(phnums)) { error = ENOEXEC; goto fail; } if (__elfN(phdr_in_zero_page)(hdr)) { phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); } else { - if (hdr->e_phnum > ELF_OFFPAGE_PHNUM) { - error = ENOEXEC; - goto fail; - } VOP_UNLOCK(imgp->vp); phdr = m_phdrs = malloc(hdr->e_phnum * sizeof(Elf_Phdr), M_TEMP, M_WAITOK | M_ZERO); @@ -1165,11 +1165,13 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) uprintf("PHDRS wrap\n"); return (ENOEXEC); } + if (hdr->e_phnum > __elfN(phnums)) { + uprintf("Too many program headers (%u, %u max)\n", + hdr->e_phnum, __elfN(phnums)); + return (ENOEXEC); + } if (__elfN(phdr_in_zero_page)(hdr)) { phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); - } else if (hdr->e_phnum > ELF_OFFPAGE_PHNUM) { - uprintf("Too many program headers\n"); - return (ENOEXEC); } else { VOP_UNLOCK(imgp->vp); phdr = m_phdrs = malloc(hdr->e_phnum * sizeof(Elf_Phdr), From nobody Thu Jun 4 00:36:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gb3JFZz6h5kc for ; Thu, 04 Jun 2026 00:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GZ6g2gz3prn for ; Thu, 04 Jun 2026 00:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lnB03oEA5dzbMm7qIbUCBUp/yMKWVj8C6LZEL6xYIMM=; b=SYoXqGg9pndxrP31AOUs0U7tj2Z42Ityp7WUww951MMS6EnVGdNyBKg3jJIQlfqea9Sjli wQIjgIHLjy5GZXXRD6gjfnsE9qW5P5IaMfGMb5VgeQWjYtWGh4Zrx8jdR0nyuHVDfd17EZ Q5sAohFM7Uhw6quJOtaYwPqtQVlbCFpVObzVQQI4dRGwdg9+K1UylDHJJdXdnElMotriud zVNguf+bbD/LsiG2LRtolK43zCI+b9Dn3OQtbfsBSse5TllWaGA00wW/HGu8d0OCt4T6cb 8iIVHTHXRwmUyipl+kCg7m+x0nDFBSfL5p5vJXkepUO6h5dZ74SSZl9D5DtKDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533382; a=rsa-sha256; cv=none; b=f6WpJhZHfS4kG2kvWVi2j2Xw0PzaS6B5oqJMTzFGIok71DzXpfpvUvLIAY1DXieSIMiumw gR1WLwLP3OZm+opjSXccW1RE9wRI1Er53uqCDsx2ie/rjj8CfM+pthoWP+Gv+prO/oSH4/ 59h2B8Uog69bwI1a2DYP89TYe1+XVNKzryxUBE66DO+v5b0G4Xykj90z9GXt5WQzFrAuvF BrNPRE8Cz7t2qiACzE/YSHUuv++3Au2DQO4/joDC9xVmBJ8iAx330BtrxJjIb2fdG9/xyo RBSu4tukx8ADEYB0mpfEzafb6XYePqzI+9q2VBN1s5ZkCHxMVEqdAl3sboLgWw== 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=1780533382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lnB03oEA5dzbMm7qIbUCBUp/yMKWVj8C6LZEL6xYIMM=; b=rNFSiPm2ohacSIzMwjXEf/j8SX7OK+OGoriZwiyaw6/Dhyb4xpVtTLKdy3ikOXPVl1k2G0 KVV+7l9aZKYvIwBo/+6deezQkDjeV78bynV2F0AZEUOfTW03L53jhk7yF2BS94+1dUKOVf oWFNhRD57wD3WiUC30kc1SJt1KHKDYoJpojCVEIcg62wzjRuttcvHAyicnMGG2q1/uSwjX xVRBz61c8oci1HY3YPOKg5Rrd09ONCRycSAOjvrvhrHPokKnu9tofa6hy4+4zqq4EqJTMp 8JaSJunru0LctABnNSHGR4lyM/kQQXwUmzWdLJ16KbrMygH5nJEJz4mjWIkOkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GZ62CPzbj9 for ; Thu, 04 Jun 2026 00:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21eba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e5488ddf9b22 - stable/15 - amd64: explain in more details why the slop is needed List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e5488ddf9b22e8894cb0650f530abea5d10c4045 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:22 +0000 Message-Id: <6a20c886.21eba.62f2c4f0@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e5488ddf9b22e8894cb0650f530abea5d10c4045 commit e5488ddf9b22e8894cb0650f530abea5d10c4045 Author: Konstantin Belousov AuthorDate: 2026-05-31 19:15:37 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:43 +0000 amd64: explain in more details why the slop is needed (cherry picked from commit 963a92d63b7443d27588fb4260bd4226f7525117) --- stand/man/loader.efi.8 | 3 +++ sys/amd64/amd64/machdep.c | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/stand/man/loader.efi.8 b/stand/man/loader.efi.8 index 8bb88dd2e24f..9ff31b02dcb6 100644 --- a/stand/man/loader.efi.8 +++ b/stand/man/loader.efi.8 @@ -228,7 +228,10 @@ rootdev=disk0s1a .Ss Staging Slop The kernel must parse the firmware memory map tables to know what memory it can use. +It also needs to allocate memory for the kernel page tables. Since it must allocate memory to do this, +without overwriting important structures, +for instance the trampoline page table, .Nm ensures there's extra memory available, called .Dq slop , diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 0d4ed59a98b1..d51e5501aca9 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1273,6 +1273,13 @@ amd64_bsp_ist_init(struct pcpu *pc) * - there is a usable memory block right after the end of the * mapped kernel and all modules/metadata, pointed to by * physfree, for early allocations + * + * The memory block after the end of the kernel is important, loader + * must ensure that no critical data structures are put there. Among + * them is the trampoline page table, which must not be overwritten by + * the allocations until pmap_bootstrap() switches %cr3 to the initial + * version of the kernel page table. Size of the block is controlled + * by the 'staging_slop' command for loader.efi. */ vm_paddr_t __nosanitizeaddress __nosanitizememory amd64_loadaddr(void) From nobody Thu Jun 4 00:36:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GZ7193z6h64D for ; Thu, 04 Jun 2026 00:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GZ03qtz3pd4 for ; Thu, 04 Jun 2026 00:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LANad9gMMqE56hhnFWZO03dG3xdgVGGtlxFW3ZGm458=; b=HPlwohKZ3+FDCiU6jZlASvJnVvPm+2uOUngOJ8l/wigwwgjllcN9ynDwJUxlVoSoriHYfv QtBrswQJ6QTZ3jPNcf4rCi5EGoxr3vAgSbJ1mBLmrENjqJLmALZUCQ2ks43L75j7i0maFP UU+jKMWtJZOBxRTI84ijN94lV3gkBi5CW3nl+4oRyqAvh+Cm36HSIOQyyPgIWyTrPKIuoA 0nAQs3TJAHrivUpIhq9vDNDoQFnN2m4ZkjWPkjOOpfo1l5clXTPDmrf/ez9oE36CZjGQMy 28qosGhble1l17GVofY1TFs2bNrczUwXDGoAHLFE8lVpnNrjpvsCfv7SHaPs+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533382; a=rsa-sha256; cv=none; b=S3J5WZkg8+vbLw9b4sDiZrcNFevyoMgNeuDK2WYL6xnX5YMWlMWLw8CauOyA6o+y/DyFvj kOdvXE/ttEmOLdNCxhKT9BZfbWmy84/wdGYDjNEIBvycAt9z1+EiptPNLTk0MIRubKAr1h USlTDdyAWpLdoZinLpDS4QWJA7O9MA434Hp+hmICmLOwtJcG7lFEFjiaF/i3ZwlUMa/X1E scC6cPKLaQAHslK2HZmXZBrWugq2PUtM5AhEIs09LSiraKUjqP/2xr2s6XdxvesEW7f/pR 7kxiC0pbIJ3tTx96vodUpfEfwSCZoPalcTvuq7tDX8jSwEbbjQBfg9Rjmm1uQw== 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=1780533382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LANad9gMMqE56hhnFWZO03dG3xdgVGGtlxFW3ZGm458=; b=B8DXcsMwfgjHKu5svs/6iSsNgqfXYmvJV98+Hu1BmDCbCG298HuqW/nbyQJcmxfIHvJj5k vwPaqhXGUqaB5FRLsicjgLEPE9ykOYK6pzJVUosnyZCaceN3R1qxhoMqOPVi4jzOSfoYms NlY+HD0lHKq7aDUYiMGiA7fPBeZXNrmyDoyXNDDS8O6qZkYKqR1Y0IXcE06IB/a4tTEGzU AvlvBfiion6JLl8cFZUHD3l7sV9WRex7uh8lLibgnXSpqmGDEywxOew3GU13ljjtRTx/Qt mZsjgm/JxxZkLejYPefzYIJCt/GYJFI0YEAAJT2NpAFuATN5Q2MTldTCzT7Vww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GY5Bwczb21 for ; Thu, 04 Jun 2026 00:36:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21eb6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: cc0080607d14 - stable/15 - x86: for wrmsr_early_safe(), catch all exceptions, not only #GP List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: cc0080607d14fe437ca0f0faa6999536df59acae Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:21 +0000 Message-Id: <6a20c885.21eb6.3b2cce95@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cc0080607d14fe437ca0f0faa6999536df59acae commit cc0080607d14fe437ca0f0faa6999536df59acae Author: Konstantin Belousov AuthorDate: 2026-05-27 08:21:10 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:43 +0000 x86: for wrmsr_early_safe(), catch all exceptions, not only #GP (cherry picked from commit 0a02a47fd94a8326e84ac0a6cb857342b59671f8) --- sys/amd64/amd64/machdep.c | 24 +++++++++++++++--------- sys/amd64/amd64/support.S | 7 +++---- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 2c69c1b3ace5..0d4ed59a98b1 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1828,29 +1828,35 @@ wrmsr_early_safe_start(void) { struct region_descriptor efi_idt; struct gate_descriptor *gpf_descr; + int i; sidt(&wrmsr_early_safe_orig_efi_idt); efi_idt.rd_limit = 32 * sizeof(idt0[0]); efi_idt.rd_base = (uintptr_t)idt0; lidt(&efi_idt); - gpf_descr = &idt0[IDT_GP]; - gpf_descr->gd_looffset = (uintptr_t)wrmsr_early_safe_gp_handler; - gpf_descr->gd_hioffset = (uintptr_t)wrmsr_early_safe_gp_handler >> 16; - gpf_descr->gd_selector = rcs(); - gpf_descr->gd_type = SDT_SYSTGT; - gpf_descr->gd_p = 1; + /* Setup handler for all possible exceptions. */ + for (i = 0; i < 32; i++) { + gpf_descr = &idt0[i]; + gpf_descr->gd_looffset = + (uintptr_t)wrmsr_early_safe_gp_handler; + gpf_descr->gd_hioffset = + (uintptr_t)wrmsr_early_safe_gp_handler >> 16; + gpf_descr->gd_selector = rcs(); + gpf_descr->gd_type = SDT_SYSTGT; + gpf_descr->gd_p = 1; + } } void wrmsr_early_safe_end(void) { - struct gate_descriptor *gpf_descr; + int i; lidt(&wrmsr_early_safe_orig_efi_idt); - gpf_descr = &idt0[IDT_GP]; - memset_early(gpf_descr, 0, sizeof(*gpf_descr)); + for (i = 0; i < 32; i++) + memset_early(&idt0[i], 0, sizeof(idt0[0])); } #ifdef KDB diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S index 27694a95653c..547a37b37376 100644 --- a/sys/amd64/amd64/support.S +++ b/sys/amd64/amd64/support.S @@ -1566,20 +1566,19 @@ msr_onfault: ret ENTRY(wrmsr_early_safe) + movq %rsp,%r11 movl %edi,%ecx movl %esi,%eax sarq $32,%rsi movl %esi,%edx wrmsr xorl %eax,%eax -wrmsr_early_faulted: ret ENTRY(wrmsr_early_safe_gp_handler) - addq $8,%rsp + movq %r11,%rsp movl $EFAULT,%eax - movq $wrmsr_early_faulted,(%rsp) - iretq + ret /* * void pmap_pti_pcid_invalidate(uint64_t ucr3, uint64_t kcr3); From nobody Thu Jun 4 00:36:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gb2tHhz6h64F for ; Thu, 04 Jun 2026 00:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GZ3rjQz3pm8 for ; Thu, 04 Jun 2026 00:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533382; 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=+WlaP4YzXgUtvyU//C5IvPCgLHpPJGoKc2rq3PLuX0o=; b=tn7zl6Ujh1l2A7TJAo+wgDNAcGfIM1dJmTZLr/IoCraxm2Jcidov3tuZVu7uguUgxetAPN EXcxDAilM9KQb1xYE+YRyAXeYW2tfmyvTaVOExMteHxcnmlGylhTR6GNTGLKsZX8f0eXsU +BxJxmIE2McDJbUqLkRvJgK5lJtKzBRZJVhrdoKkefsiLZtiT0wUrr48FwjNj0TFCuaZBj MqEyh0Hw949Ti2vMyyAGmeE/pRQs0/iTfCNvvbU3IV78PRx4734BBG0LKh6m1rPYrJNjXj JNeIl+Ig+jhumSswSQdHH/4QBz8YORI28ObJRFKy3xRzgLO+CSuKcPAERSuqbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533382; a=rsa-sha256; cv=none; b=qJ6HYrIrUxQ5o4l6yMMths1kvcXgyfELJLJrNgUCv9iVflZaO4i7em+6tFvtwmXZu2jHAN +3qf9YuU4ysLkXSloXLKEOc1U62H6xruBtJVsVbKvJxRS6puE6B+ZexhjUc0AcLRyUULdX +DmQ0KBpKacf5vXAlbMWHlJVYAeR3JHcDOJtBmqVd0T+vVWn7HaGZjW/rZLWpoQWeNrJSB DN30CDyR2tfsuszFoEPtcslJsqWF+kEdE8OL/KbsOz6GK+oZsQ6p11k27+XOzbagmzrqJK /Kt2nBBf8Ksj0GYkWUX/IY5NoTvu4QAf9x5yjiPyAzVJx1iF0G+9wXGvhqlUAQ== 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=1780533382; 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=+WlaP4YzXgUtvyU//C5IvPCgLHpPJGoKc2rq3PLuX0o=; b=MJzwdcKnMXeQPgL8l7GFpVatwULvLQBhz+swcVuhn1D5pb8gwFBNO2Uaw8+CkT2hqpCAZB wmISJE3z9vc4zqDmxrcZmpqPa5sR/x0YAvhKKBwwPGRvMyWnhJ3Bux74WrsPHyPtWxZHVY 9cvVrweW5qraPJuLk1w3jxmNRDaNkXgIlOVlnrn/BAdM9Djz573vSOR4k13vjbQHHOetwU uktojIJoCKKNZ1PQfySHhHIOwi4/nADRVZ3ZlgQnH2AfKX/eaFA7ayZ866ITR3YGH7/Ik1 F5eRnjh8VKsMmUHnW63bK6mRTRGzSuLUxTVx1CIYsSoCxa94JG50OYET09PEfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GZ2w7mzb23 for ; Thu, 04 Jun 2026 00:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20551 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Haoxiang Li From: Konstantin Belousov Subject: git: 21fb5a5e61c3 - stable/15 - smbfs: plug smbfs_node_alloc() leak of name buffers when insmntque() fails List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 21fb5a5e61c333131cfbb4b522db00142a905707 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:17 +0000 Message-Id: <6a20c881.20551.f452cb@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=21fb5a5e61c333131cfbb4b522db00142a905707 commit 21fb5a5e61c333131cfbb4b522db00142a905707 Author: Haoxiang Li AuthorDate: 2026-05-26 13:21:39 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:24:13 +0000 smbfs: plug smbfs_node_alloc() leak of name buffers when insmntque() fails PR: 295577 (cherry picked from commit f0e702a7a289f0f350bdaeb943805d6d17f9e403) --- sys/fs/smbfs/smbfs_node.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/fs/smbfs/smbfs_node.c b/sys/fs/smbfs/smbfs_node.c index 9893987f7ccd..b2b5d63e2eaf 100644 --- a/sys/fs/smbfs/smbfs_node.c +++ b/sys/fs/smbfs/smbfs_node.c @@ -212,6 +212,10 @@ smbfs_node_alloc(struct mount *mp, struct vnode *dvp, const char *dirnm, SMBERROR("new vnode '%s' born without parent ?\n", np->n_name); error = insmntque(vp, mp); if (error) { + smbfs_name_free(np->n_name); + free(np->n_rpath, M_SMBNODENAME); + if (np->n_parent != NULL && (np->n_flag & NREFPARENT) != 0) + vrele(np->n_parent); free(np, M_SMBNODE); return (error); } From nobody Thu Jun 4 00:36:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gc27byz6h61q for ; Thu, 04 Jun 2026 00:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5Gc09SSz3pmN for ; Thu, 04 Jun 2026 00:36:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8isxXw/4XanLrZfMFcKNluBB++8qnqNrdLSJcH3ZPkg=; b=nv6AkVkb5hrRi54cYI+eHaGqDZOv21roQi2yBgNAYsqEJbS8THOwQQxKDwgDu53jqfaU7q f603jcOodUhf/S8N5dzgtqVWhrrvVk6GFe2m4GNQAlLo/qt//IXkDtSRX6i4wZ8Prv3N0E RaA3ERoeMiBmHzqf5rNA5zOpqhNAlNZFWidRuvOGgvAbBhf6VtPQjRv9Inn4sBoOHTKklG CjV6NT8w1xtPzOuy6OT1XnLCc7VCP2nX7J5zm+tQLvqoTzYNbla4kPCSC6cxmy9did6kyw aa+6xaakPBlN6/3RZBH7HcwBn3f9JvjvxErWuaX48ADQ0D1bYJAnoR7DnE9Hqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533384; a=rsa-sha256; cv=none; b=PJhDpUGYLGW+X6F+uURjbqYUqGkadXCvH6fZsn9Y+Mg5HbMidHj0Y22AzPF7SbsXsyjAYa cCS2f8GS0CQuPNJJyU5oP8wUONvxY25Q/NBvqQnhIWMYFZdWJYBRtjCRoc1q7L/I8CqynW HH7T5jsQZ92NE3kTXV50YdrLmKiDUXSNJp6W8dNwPz74G9TrrERgyRau6DxEClfWnGBdYa 4C+AotdPa3jWawNze5e2HPUvhKxakW5fb1PdaoaP735w0Du6QpKCq1XOjZWjjAKs+p0v5S EEgb0x3tcFGZDKcFyaNfiLbCN0RWK6aom17uSxr7kcc+zDFrWfBNljSXrBf9sw== 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=1780533384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8isxXw/4XanLrZfMFcKNluBB++8qnqNrdLSJcH3ZPkg=; b=V1e+3N9N8MiXdx/trmmNM+8tlPmyaVuU0Dlg6K5/+bbZx34bS+auzBCAtL/BChitXd+xIC 8G4PJXFviIuFHXjEEC/WIs+qkuPYPIa9BjR0OO23fH5zj2hNDHyFI0hJkvcU5QoJ3bAuY6 8Rg8gF1wIkayPPwHtxDm+ieh9X/J+OwMg41ZzsMqxv1zWMKN6BJxnME2aFprRbAx0EPPjo pGZSER1kYe5Ncy4QJ59xl1LU6XfwqP57UwoeeEqr0SLUr6bsCoyATs8v7xU57KLseJihYg J2/Es98VD5Y2gZv2D0U7RdoCW5I4DcW4eujFiC4fzmRpOtSPLXOYiW0zesDuJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gb6rLnzbYL for ; Thu, 04 Jun 2026 00:36:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 206c7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 9681364e4b6d - stable/15 - amd64: extract uiomove_mem() from memrw() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9681364e4b6dfa78a23122b8e1310d37df849dc1 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:23 +0000 Message-Id: <6a20c887.206c7.d13b1d2@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9681364e4b6dfa78a23122b8e1310d37df849dc1 commit 9681364e4b6dfa78a23122b8e1310d37df849dc1 Author: Konstantin Belousov AuthorDate: 2026-05-24 11:48:45 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:43 +0000 amd64: extract uiomove_mem() from memrw() (cherry picked from commit 67d61d18bb8debb4ffc51ef2248aa37ed0bfb8f5) --- sys/amd64/amd64/mem.c | 103 +++++------------------------------------- sys/amd64/amd64/uio_machdep.c | 96 +++++++++++++++++++++++++++++++++++++++ sys/amd64/include/md_var.h | 6 +++ 3 files changed, 113 insertions(+), 92 deletions(-) diff --git a/sys/amd64/amd64/mem.c b/sys/amd64/amd64/mem.c index 851f2df0e6e1..7d1f0f42d01c 100644 --- a/sys/amd64/amd64/mem.c +++ b/sys/amd64/amd64/mem.c @@ -61,10 +61,6 @@ #include #include -#include -#include -#include - #include /* @@ -72,99 +68,22 @@ */ MALLOC_DEFINE(M_MEMDESC, "memdesc", "memory range descriptors"); -/* ARGSUSED */ int memrw(struct cdev *dev, struct uio *uio, int flags) { - struct iovec *iov; - void *p; - ssize_t orig_resid; - vm_prot_t prot; - u_long v, vd; - u_int c; - int error; - - error = 0; - orig_resid = uio->uio_resid; - while (uio->uio_resid > 0 && error == 0) { - iov = uio->uio_iov; - if (iov->iov_len == 0) { - uio->uio_iov++; - uio->uio_iovcnt--; - if (uio->uio_iovcnt < 0) - panic("memrw"); - continue; - } - v = uio->uio_offset; - c = ulmin(iov->iov_len, PAGE_SIZE - (u_int)(v & PAGE_MASK)); - - switch (dev2unit(dev)) { - case CDEV_MINOR_KMEM: - /* - * Since c is clamped to be less or equal than - * PAGE_SIZE, the uiomove() call does not - * access past the end of the direct map. - */ - if (v >= kva_layout.dmap_low && - v < kva_layout.dmap_high) { - error = uiomove((void *)v, c, uio); - break; - } - - switch (uio->uio_rw) { - case UIO_READ: - prot = VM_PROT_READ; - break; - case UIO_WRITE: - prot = VM_PROT_WRITE; - break; - } + enum uiomove_mem_req req; - if (!kernacc((void *)v, c, prot)) { - error = EFAULT; - break; - } - - /* - * If the extracted address is not accessible - * through the direct map, then we make a - * private (uncached) mapping because we can't - * depend on the existing kernel mapping - * remaining valid until the completion of - * uiomove(). - * - * XXX We cannot provide access to the - * physical page 0 mapped into KVA. - */ - v = pmap_extract(kernel_pmap, v); - if (v == 0) { - error = EFAULT; - break; - } - /* FALLTHROUGH */ - case CDEV_MINOR_MEM: - if (v < dmaplimit) { - vd = PHYS_TO_DMAP(v); - error = uiomove((void *)vd, c, uio); - break; - } - if (v > cpu_getmaxphyaddr()) { - error = EFAULT; - break; - } - p = pmap_mapdev(v, PAGE_SIZE); - error = uiomove(p, c, uio); - pmap_unmapdev(p, PAGE_SIZE); - break; - } + switch (dev2unit(dev)) { + case CDEV_MINOR_KMEM: + req = UIO_MEM_KMEM; + break; + case CDEV_MINOR_MEM: + req = UIO_MEM_MEM; + break; + default: + __unreachable(); } - /* - * Don't return error if any byte was written. Read and write - * can return error only if no i/o was performed. - */ - if (uio->uio_resid != orig_resid) - error = 0; - return (error); + return (uiomove_mem(req, uio)); } /* diff --git a/sys/amd64/amd64/uio_machdep.c b/sys/amd64/amd64/uio_machdep.c index 83795653fa28..0f29e7f7435f 100644 --- a/sys/amd64/amd64/uio_machdep.c +++ b/sys/amd64/amd64/uio_machdep.c @@ -44,9 +44,11 @@ #include #include +#include #include #include +#include /* * Implement uiomove(9) from physical memory using the direct map to @@ -141,3 +143,97 @@ out: td->td_pflags &= ~TDP_DEADLKTREAT; return (error); } + +int +uiomove_mem(enum uiomove_mem_req req, struct uio *uio) +{ + struct iovec *iov; + void *p, *vd; + ssize_t orig_resid; + vm_prot_t prot; + u_long v; + u_int c; + int error; + + error = 0; + orig_resid = uio->uio_resid; + while (uio->uio_resid > 0 && error == 0) { + iov = uio->uio_iov; + if (iov->iov_len == 0) { + uio->uio_iov++; + uio->uio_iovcnt--; + if (uio->uio_iovcnt < 0) + panic("memrw"); + continue; + } + v = uio->uio_offset; + c = ulmin(iov->iov_len, PAGE_SIZE - (u_int)(v & PAGE_MASK)); + + switch (req) { + case UIO_MEM_KMEM: + /* + * Since c is clamped to be less or equal than + * PAGE_SIZE, the uiomove() call does not + * access past the end of the direct map. + */ + if (v >= kva_layout.dmap_low && + v < kva_layout.dmap_high) { + error = uiomove((void *)v, c, uio); + break; + } + + switch (uio->uio_rw) { + case UIO_READ: + prot = VM_PROT_READ; + break; + case UIO_WRITE: + prot = VM_PROT_WRITE; + break; + } + + if (!kernacc((void *)v, c, prot)) { + error = EFAULT; + break; + } + + /* + * If the extracted address is not accessible + * through the direct map, then we make a + * private (uncached) mapping because we can't + * depend on the existing kernel mapping + * remaining valid until the completion of + * uiomove(). + * + * XXX We cannot provide access to the + * physical page 0 mapped into KVA. + */ + v = pmap_extract(kernel_pmap, v); + if (v == 0) { + error = EFAULT; + break; + } + /* FALLTHROUGH */ + case UIO_MEM_MEM: + if (v < dmaplimit) { + vd = (void *)PHYS_TO_DMAP(v); + error = uiomove(vd, c, uio); + break; + } + if (v > cpu_getmaxphyaddr()) { + error = EFAULT; + break; + } + p = pmap_mapdev(v, PAGE_SIZE); + error = uiomove(p, c, uio); + pmap_unmapdev(p, PAGE_SIZE); + break; + } + } + /* + * Don't return error if any byte was written. Read and write + * can return error only if no i/o was performed. + */ + if (uio->uio_resid != orig_resid) + error = 0; + return (error); +} diff --git a/sys/amd64/include/md_var.h b/sys/amd64/include/md_var.h index 46a30518b212..5a71b9109eba 100644 --- a/sys/amd64/include/md_var.h +++ b/sys/amd64/include/md_var.h @@ -107,6 +107,12 @@ void wrmsr_early_safe_start(void); void wrmsr_early_safe_end(void); int wrmsr_early_safe(u_int msr, uint64_t data); +enum uiomove_mem_req { + UIO_MEM_KMEM = 101, + UIO_MEM_MEM, +}; +int uiomove_mem(enum uiomove_mem_req req, struct uio *uio); + #endif /* !_MACHINE_MD_VAR_H_ */ #endif /* __i386__ */ From nobody Thu Jun 4 00:36:25 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gf0g7cz6h66B for ; Thu, 04 Jun 2026 00:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5Gd0cxDz3ppq for ; Thu, 04 Jun 2026 00:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+qpIxpqL7K3KLvpwbt8qz2ATXzu7iPN/b+750zi0LGE=; b=TKZmN9dhGp3+4j3ksJKuEOoVxmAM26qVKzWK/EwMsIufdYe/t1EjqMazBdsYkxCMVD8l4M fKdyrnKKlCbPIXfPFYvPiwaotTR8UTttl2XiHZ2pyYxkL7srtzSFBsIyx3OyT7oorRIGT3 wZB0NW41PZK7PmMFfMpybiTT2P9oNKEmh+dNZmlzyEBzu78VuPBXW5rhh4JzWvK3wktZkR SFcu7sQlYBItyztl8a6ezQtgOBykNNTMBfccxktynErUh125DGW1EfL4G9qAE/f9E1Jrd4 7v4wAqV8gKnIrdo6qXD8LDlNUnal4R7qNtZudi8ZywwoZeFv362Covoe2BIQgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533385; a=rsa-sha256; cv=none; b=jQOLjDGKhn0/f4cAFMj/VhjfWyZ6hnoH+rB7o4/XtTs29RE7V4mVufKm7+FhbCmrH8tL/f aosAulz25cEFikMCktjw2hQiaiL4Yeb8fIC9aotvkeC9UlE9VpsLdSh5kD0Qi/qPAa6h5m Ju+L/khElFJ6pZG30ny8kY5M9MAuC1cxu5QWzn/q5TiE/A0Fmrhac51093CquWkhIxh7lf S5hiK5p1K2/MVhgGU4Yv58nhgJuhOqiHMUgzS2fZHJC6U4QQKBGNZo+KF39TSPeeJJs8D5 pCzJS+H7w3HjmoKwZWJaCNGttSvv5TaDSHGZwJyo36fZ5a8GwqSxAbONLqxrUQ== 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=1780533385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+qpIxpqL7K3KLvpwbt8qz2ATXzu7iPN/b+750zi0LGE=; b=g3vGP7tghPuytsB7sTv2Gpof5idej5yUzxg8NMEmi2L7oPt//dKrpTvQHfDS/mnPhQ/b05 hbtEGrB5A9eXZSHzgk46EDXq+Yi9HL7//93AFAkeVb3AgHcZZIgAqjf3faSK9LQbXu6Ma+ FBjp3TEQ65aFrow+ZuNEYeI9IgLkHOdcKvfYAHj2PR+TNs6iHc1K80ML3YjjSrayqFvV4e FZWWQsnY+ly/2LQucypPM6Z0umrtm2potMwGZDBGNG2ens0cOZ9a/5tLzjCgNYc+SooA5j pPcqMmHJqpVgk+voSEQ7cytFA2svIkmXfZ0AgrtPu5VP9HDoGCuQ+wtnV0TAig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gd08QszbYM for ; Thu, 04 Jun 2026 00:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20824 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5377cd66852c - stable/15 - sys: add safe_read(9) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5377cd66852c13e3a5f29f2ccc0c0e14b7431c11 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:25 +0000 Message-Id: <6a20c889.20824.3034595d@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5377cd66852c13e3a5f29f2ccc0c0e14b7431c11 commit 5377cd66852c13e3a5f29f2ccc0c0e14b7431c11 Author: Konstantin Belousov AuthorDate: 2025-03-29 17:17:01 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:43 +0000 sys: add safe_read(9) (cherry picked from commit 7b2702ee25f5230011fa7f8f650b65b37248fcca) --- sys/amd64/amd64/machdep.c | 18 ++++++++++++++++++ sys/sys/systm.h | 8 ++++++++ 2 files changed, 26 insertions(+) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index d51e5501aca9..e337337fd8e7 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1866,6 +1866,24 @@ wrmsr_early_safe_end(void) memset_early(&idt0[i], 0, sizeof(idt0[0])); } +int +safe_read(vm_offset_t addr, char *valp) +{ + struct uio uio; + struct iovec iov; + + iov.iov_base = valp; + iov.iov_len = 1; + uio.uio_offset = addr; + uio.uio_iov = &iov; + uio.uio_iovcnt = 1; + uio.uio_resid = 1; + uio.uio_segflg = UIO_SYSSPACE; + uio.uio_rw = UIO_READ; + uio.uio_td = NULL; + return (uiomove_mem(UIO_MEM_KMEM, &uio)); +} + #ifdef KDB /* diff --git a/sys/sys/systm.h b/sys/sys/systm.h index c4e0aafac452..d6488f45acae 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -563,6 +563,14 @@ void intr_prof_stack_use(struct thread *td, struct trapframe *frame); void counted_warning(unsigned *counter, const char *msg); +/* + * Safely read one byte of kernel memory at address addr, placing the + * value into *valp. Returns 0 on success, EFAULT if read was + * impossible, e.g. due to the address not being mapped or not having + * necessary permissions. + */ +int safe_read(vm_offset_t addr, char *valp); + /* * APIs to manage deprecation and obsolescence. */ From nobody Thu Jun 4 01:16:52 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW69P6cWLz4yyhk for ; Thu, 04 Jun 2026 01:16: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW69P4vpxz412J for ; Thu, 04 Jun 2026 01:16:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780535817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5H1mwzhc2p2TLT6AHpEsaF9LWWwKVmWBWhMXcBNqO3U=; b=YfwGfCNhLv44kQxCgeIHxOOtCxBBdVVtfrWzJ0wx2PL6fATcXw0HyWmS0C1WMxL7dnA52c V2CHHeDW6z3Ehjihcq9Fg8X5ifv/9lt8IzdDTZHkgXyVao6e8rnPA6ApGSqrflbyT670hn Sif6CecScfDLSDZ0P13sVy5AEbpYBcu5DSyIrzAgdKqQkny2hp9ys3DSX3busrxsJdFHf4 +XkCuyLAKOB1ybf1e24Hrcna8hDhCkaEU32BF73wK3sd9uiBCKENcQIDNkzSSjaSLg0kMY ytkvoP0E2mgaL4vNH+7r22qoTe95SZ13RXOBcpvMT6tGZ9Mjok4fzTO4z9AT5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780535817; a=rsa-sha256; cv=none; b=fyvAHiuZNxEHJP1vkUoN1bbJ56Qjyg9E2pI62vPzZG+iPbcq8NNi6x4i+3Q92ojD+oJ/Hq brMLtITf4ocYdfPSc+xYn5wtZEmadlgo9o04vNcnIvOo1leit/6vzsV8g7L7totTUbtu/N wDAKNB7KEDhSecAUbOFQyL26jhIaNZroot6i7u3MONeaaKoJ/9BoSLExAS83FHrNigBclZ SUy56eLgqFKziGwwB6Y0dGLHh2CIXlv2elabxBjeoMiRvleYNI8FFdJAHHIQkOSVZQN14z yuDL5rOOi1aEDpnPSTzTWmwT4nAHAMYp758yLEsi7FJBkoYkBO5X7LbvNCU/8w== 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=1780535817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5H1mwzhc2p2TLT6AHpEsaF9LWWwKVmWBWhMXcBNqO3U=; b=e69dhviEYwunGY9j839ZpOwsYLlNZicjGh1sTx1rgY0gzY8lNYFb8WmTsj/dr2/qTj/3Uj NNm+5V675hQ5S+ZEBAv9qt3ljDTneY78hyOzhiDccRMYm1RBvrRSQPI/ceynZTLcRnitlL oxjceGBfzmSmnyX8yBRntsd6H85ranglSZizTQOlMMSQu7tEYPBS1P2o2OTIb95Aqb8PF7 j4DHlauOsH+lEGpL9cANo22duI+DeIYzpw9KKa51qE/+ljiCM8htVC1DIKhxAWQwjkGZ/b GGHfjr1IfwI2HOQkzy53ymbuTCBrVLMtXh1svmU159eMNIe+CXxztLagY3b+zA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW69P4Q1qzcbJ for ; Thu, 04 Jun 2026 01:16:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24ccc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 01:16:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: f0ac411a7747 - stable/15 - bsdinstall: Use libarchive secure flags for extract List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f0ac411a774775c5b89b82b9da4c7d51c762259c Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 01:16:52 +0000 Message-Id: <6a20d204.24ccc.3ac50ed9@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f0ac411a774775c5b89b82b9da4c7d51c762259c commit f0ac411a774775c5b89b82b9da4c7d51c762259c Author: Ed Maste AuthorDate: 2026-05-27 13:29:21 +0000 Commit: Ed Maste CommitDate: 2026-06-04 01:16:02 +0000 bsdinstall: Use libarchive secure flags for extract This doesn't really matter, as we trust that the installer tarballs are not malicious, but it doesn't hurt to set these flags. Reported by: Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57274 (cherry picked from commit f9f46294d6af2a937afa74938bd4bb6826cbb921) --- usr.sbin/bsdinstall/distextract/distextract.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.sbin/bsdinstall/distextract/distextract.c b/usr.sbin/bsdinstall/distextract/distextract.c index 32bd9453eb80..35cf19aae33f 100644 --- a/usr.sbin/bsdinstall/distextract/distextract.c +++ b/usr.sbin/bsdinstall/distextract/distextract.c @@ -291,6 +291,8 @@ extract_files(struct bsddialog_fileminibar *file) /* If that went well, perform the extraction */ if (retval == ARCHIVE_OK) retval = archive_read_extract(archive, entry, + ARCHIVE_EXTRACT_SECURE_NODOTDOT | + ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS | ARCHIVE_EXTRACT_TIME | ARCHIVE_EXTRACT_OWNER | ARCHIVE_EXTRACT_PERM | ARCHIVE_EXTRACT_ACL | ARCHIVE_EXTRACT_XATTR | ARCHIVE_EXTRACT_FFLAGS); From nobody Thu Jun 4 01:30:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW6TL6nBdz501kq for ; Thu, 04 Jun 2026 01:30: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW6TL5447z42Tq for ; Thu, 04 Jun 2026 01:30:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780536646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A09tFwRtad++UyE4vIFyyRSag1hfdmSpDhlnUssSgGs=; b=X8DWUviIwnEfmcSC/pUA69wn3Hjvuw6rImnGe4lsaU5ios4ZeLr88rh2/joN/Eex3habPR 4UomenH8YAg79KpCCIIwYmhrIsSyLM4TscR7DeN/Cpw0dqQSiHTdydIZIbKQFWW7R1IRLX wNXKO5bqEpp7UyNVh8POmEWQmqqWBJKogDjCrJPDFVke2JqEaNJxYpHc7QKwc/aq/jKTtW wWdeAZaO854D817l3/eV0zGyYk0DkOw+jr5/F627AWlBt9x7oZG0wbfmGxTkoYuBbgx4j3 3Q/y9qhNvVbhOCcZUYNTe7I8gY0Lb+IZqWj4LHvtZpfVZrCiZ117wEAh6fcwYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780536646; a=rsa-sha256; cv=none; b=pfyZR/WDCk+Dg+KdauKNHWL+YaGL3XzdIlV2o7arzXWCh84i084OEYsPYGam6EbujCOil4 qz59EymnM3F6hIzEzSDupDN8qOpFbvYzg9akNQmQ7bJt411GLH8/0pMFuW4qdISthEqhWD Slq1jczs5OwO3Cu3Q87EZykIUUhohLxtdMbZvWKejHt6tZozcl2R03Toal8iLWld43h26v jxYEySRHdTKHnRBIxKcaQ7uoklhyC5JGt3zf9EgozJcd6/sYBBWH5EiN4Ku5GEx/uA+Szv 1/Y+NgYoxutNH4/wbM9/ZXxYjVkaVYaJWQdFFteOGAUWkC5k8MKuOcfbTSEWjA== 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=1780536646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A09tFwRtad++UyE4vIFyyRSag1hfdmSpDhlnUssSgGs=; b=UZlJgMncCanYNi/SR749PKcoIMPIaaTd4zKZW4Bt7qzjJ3Ckbbc18TQnjIJOsxGulL9S4Z 09f3YvGP5YqCI3ErQORTwH7qmfp56FTM/3vJoGwLFJlDr1K1NyfoGyJMm2J+A+deprygl3 ycBm7jbFGkRkzCRXU8qWK03NmZQ0OG7LA8lPzSOBmOBgj26ETjynxsiJJLFmRoIXZs6nY/ Z8EvGCCwET+txUQo3R0n7BGN7HJQAW0xUK4M49dz8sPYyijvnS7r0L0QEvqFxcI+j+ryLp 8fEKbwyvxVTv3QvlDTraLFieEq10nT+4+TCqy9KffUEhYV7B2mM5E22cNcFT0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW6TL4TxRzdPB for ; Thu, 04 Jun 2026 01:30:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3041b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 01:30:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 72e57bc26417 - main - nfsd: Add support for striped Flexible File layout List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 72e57bc264179818f55b49deb97bc40f56c2b936 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 01:30:41 +0000 Message-Id: <6a20d541.3041b.50d3c2b6@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=72e57bc264179818f55b49deb97bc40f56c2b936 commit 72e57bc264179818f55b49deb97bc40f56c2b936 Author: Rick Macklem AuthorDate: 2026-06-04 01:26:36 +0000 Commit: Rick Macklem CommitDate: 2026-06-04 01:28:56 +0000 nfsd: Add support for striped Flexible File layout Without this patch, the NFSv4.1/4.2 pNFS server configuration did not support striping. This was mainly because the Linux client driver did not support it either. The Linux client driver for Flexible File layout does now support striping. (Linux kernel version 6.18 or newer) As such, this patch adds striping support. The configuration is currently just two new sysctls called vfs.nfsd.pnfsstripeunit - Size (in bytes) of a stripe vfs.nfsd.pnfsstripecnt - # of DSs to stripe across A setting of 0 for the first sysctl and 1 for the second disables striping. A patch that allows use of a different striping configuration for each exported MDS file system is planned for the future. The pnfsdscopymr may be broken by this patch, but since no one reported that they were actually using a pNFS server configuration, I do not believe that will be a problem at this time. Until the FreeBSD NFSv4.1/4.2 client is patched to handle striped flexible file layouts, mounts to a striped pNFS configuration must be done without the "pnfs" mount option. (Linux systems with a kernel version of 6.18 or newer should be able to handle a striped pNFS configuration.) Future patches that convert the pNFS server to a "loosely coupled" configuration (which allows the use of non-FreeBSD servers as DSs) are anticipated. --- sys/fs/nfs/nfs.h | 3 + sys/fs/nfs/nfs_var.h | 8 +- sys/fs/nfs/nfsproto.h | 16 +- sys/fs/nfs/nfsrvstate.h | 13 + sys/fs/nfsserver/nfs_nfsdport.c | 1075 +++++++++++++++++++++++++++++--------- sys/fs/nfsserver/nfs_nfsdserv.c | 16 +- sys/fs/nfsserver/nfs_nfsdstate.c | 91 ++-- 7 files changed, 908 insertions(+), 314 deletions(-) diff --git a/sys/fs/nfs/nfs.h b/sys/fs/nfs/nfs.h index b30e4f17b7c5..1056595e8cde 100644 --- a/sys/fs/nfs/nfs.h +++ b/sys/fs/nfs/nfs.h @@ -199,9 +199,12 @@ struct nfsd_nfsd_args { * NFSDEV_MAXMIRRORS - Maximum level of mirroring for a DS. * (Most will only put files on two DSs, but this setting allows up to 4.) * NFSDEV_MAXVERS - maximum number of NFS versions supported by Flex File. + * NFSDEV_MAXSTRIPE - sanity limit for maximum number of DSs used to stripe a + * file, which is nfsrv_maxstripecnt set by the nfsd option. */ #define NFSDEV_MAXMIRRORS 4 #define NFSDEV_MAXVERS 4 +#define NFSDEV_MAXSTRIPE 1024 struct nfsd_pnfsd_args { int op; /* Which pNFSd op to perform. */ diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 8d8de381cbaf..00ed32ae705e 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -761,10 +761,10 @@ int nfsvno_testexp(struct nfsrv_descript *, struct nfsexstuff *); uint32_t nfsrv_hashfh(fhandle_t *); uint32_t nfsrv_hashsessionid(uint8_t *); void nfsrv_backupstable(void); -int nfsrv_dsgetdevandfh(struct vnode *, NFSPROC_T *, int *, fhandle_t *, - char *); -int nfsrv_dsgetsockmnt(struct vnode *, int, char *, int *, int *, - NFSPROC_T *, struct vnode **, fhandle_t *, char *, char *, +int nfsrv_dsgetdevandfh(struct vnode *, NFSPROC_T *, int *, uint64_t *, int *, + fhandle_t **, char **); +int nfsrv_dsgetsockmnt(struct vnode *, int, char *, int *, int *, int *, + uint64_t *, NFSPROC_T *, struct vnode ***, fhandle_t **, char **, char *, struct vnode **, struct nfsmount **, struct nfsmount *, int *, int *); int nfsrv_dscreate(struct vnode *, struct vattr *, struct vattr *, fhandle_t *, struct pnfsdsfile *, struct pnfsdsattr *, char *, diff --git a/sys/fs/nfs/nfsproto.h b/sys/fs/nfs/nfsproto.h index 1054c85d8e8f..467018c39535 100644 --- a/sys/fs/nfs/nfsproto.h +++ b/sys/fs/nfs/nfsproto.h @@ -282,9 +282,19 @@ #define NFSX_V4NAMEDATTRFH 3 #define NFSX_V4FILELAYOUT (4 * NFSX_UNSIGNED + NFSX_V4DEVICEID + \ NFSX_HYPER + NFSM_RNDUP(NFSX_V4PNFSFH)) -#define NFSX_V4FLEXLAYOUT(m) (NFSX_HYPER + 3 * NFSX_UNSIGNED + \ - ((m) * (NFSX_V4DEVICEID + NFSX_STATEID + NFSM_RNDUP(NFSX_V4PNFSFH) + \ - 8 * NFSX_UNSIGNED))) + +/* + * NFSX_V4FLEXLAYOUT() is the size in bytes of the XDR for ff_layout4, given + * m - # of mirrors + * s - # of stripes + * NFSX_HYPER is for ffl_stripe_unit + * "m + 3" calculates the counts of ffl_mirrors and ffm_data_servers plus + * ffl_flags and ffl_stats_collect_hint. + * The final section calculates the size of ff_data_server4. + */ +#define NFSX_V4FLEXLAYOUT(m, s) (NFSX_HYPER + ((m) + 3) * NFSX_UNSIGNED + \ + (((m) * (s)) * (NFSX_V4DEVICEID + NFSX_STATEID + \ + NFSM_RNDUP(NFSX_V4PNFSFH) + 7 * NFSX_UNSIGNED))) /* sizes common to multiple NFS versions */ #define NFSX_FHMAX (NFSX_V4FHMAX) diff --git a/sys/fs/nfs/nfsrvstate.h b/sys/fs/nfs/nfsrvstate.h index 0e93f87234b2..91365f66bde3 100644 --- a/sys/fs/nfs/nfsrvstate.h +++ b/sys/fs/nfs/nfsrvstate.h @@ -403,7 +403,20 @@ struct nfsdontlist { * in the metadata file's extended attribute called pnfsd.dsfile. */ #define PNFS_FILENAME_LEN (2 * sizeof(fhandle_t)) +struct opnfsdsfile { + fhandle_t dsf_fh; + uint32_t dsf_dir; + union { + struct sockaddr_in sin; + struct sockaddr_in6 sin6; + } dsf_nam; + char dsf_filename[PNFS_FILENAME_LEN + 1]; +}; + +/* New structure with stripe fields. */ struct pnfsdsfile { + uint32_t dsf_stripecnt; + uint64_t dsf_stripesiz; fhandle_t dsf_fh; uint32_t dsf_dir; union { diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 1e6936ed351c..7fc8c426ba64 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -71,6 +71,9 @@ extern int nfs_bufpackets; extern u_long sb_max_adj; extern struct nfsv4lock nfsv4rootfs_lock; +static uint64_t nfsrv_stripesiz = 0; +static int nfsrv_maxstripecnt = 1; + VNET_DECLARE(int, nfsrv_numnfsd); VNET_DECLARE(struct nfsrv_stablefirst, nfsrv_stablefirst); VNET_DECLARE(SVCPOOL *, nfsrvd_pool); @@ -132,7 +135,7 @@ static int nfsrv_createiovecw(int, struct mbuf *, char *, struct iovec **, static void nfs_dtypetovtype(struct nfsvattr *, struct vnode *, uint8_t); static void nfsrv_pnfscreate(struct vnode *, struct vattr *, struct ucred *, NFSPROC_T *); -static void nfsrv_pnfsremovesetup(struct vnode *, NFSPROC_T *, struct vnode **, +static void nfsrv_pnfsremovesetup(struct vnode *, NFSPROC_T *, struct vnode ***, int *, char *, fhandle_t *); static void nfsrv_pnfsremove(struct vnode **, int, char *, fhandle_t *, NFSPROC_T *); @@ -141,27 +144,36 @@ static int nfsrv_proxyds(struct vnode *, off_t, int, struct ucred *, struct nfsvattr *, struct acl *, off_t *, int, bool *); static int nfsrv_setextattr(struct vnode *, struct nfsvattr *, NFSPROC_T *); static int nfsrv_readdsrpc(fhandle_t *, off_t, int, struct ucred *, - NFSPROC_T *, struct nfsmount *, struct mbuf **, struct mbuf **); + NFSPROC_T *, struct nfsmount **, int, int, uint64_t, struct mbuf **, + struct mbuf **, int *); static int nfsrv_writedsrpc(fhandle_t *, off_t, int, struct ucred *, - NFSPROC_T *, struct vnode *, struct nfsmount **, int, struct mbuf **, - char *, int *); + NFSPROC_T *, struct vnode *, struct nfsmount **, int, int, uint64_t, + struct mbuf **, char *, int *); +#ifdef notnow static int nfsrv_allocatedsrpc(fhandle_t *, off_t, off_t, struct ucred *, NFSPROC_T *, struct vnode *, struct nfsmount **, int, int *); static int nfsrv_deallocatedsrpc(fhandle_t *, off_t, off_t, struct ucred *, NFSPROC_T *, struct vnode *, struct nfsmount **, int, int *); static int nfsrv_setacldsrpc(fhandle_t *, struct ucred *, NFSPROC_T *, struct vnode *, struct nfsmount **, int, struct acl *, int *); -static int nfsrv_setattrdsrpc(fhandle_t *, struct ucred *, NFSPROC_T *, - struct vnode *, struct nfsmount **, int, struct nfsvattr *, int *); -static int nfsrv_getattrdsrpc(fhandle_t *, struct ucred *, NFSPROC_T *, - struct vnode *, struct nfsmount *, struct nfsvattr *); +#endif +static int nfsrv_setattrdsrpc(fhandle_t *, struct vnode *, struct ucred *, + NFSPROC_T *, struct nfsmount **, int, int, struct nfsvattr *, int *); +static int nfsrv_setattrdsdorpc(fhandle_t *, struct vnode *, struct ucred *, + NFSPROC_T *, struct nfsmount *, struct nfsvattr *, struct nfsvattr *); +static int nfsrv_getattrdsrpc(fhandle_t *, struct vnode *, struct ucred *, + NFSPROC_T *, struct nfsmount **, int, struct nfsvattr *, int *); +static int nfsrv_getattrdsdorpc(fhandle_t *, struct vnode *, struct ucred *, + NFSPROC_T *, struct nfsmount *, struct nfsvattr *); +#ifdef notnow static int nfsrv_seekdsrpc(fhandle_t *, off_t *, int, bool *, struct ucred *, NFSPROC_T *, struct nfsmount *); +#endif static int nfsrv_putfhname(fhandle_t *, char *); static int nfsrv_pnfslookupds(struct vnode *, struct vnode *, struct pnfsdsfile *, struct vnode **, NFSPROC_T *); -static void nfsrv_pnfssetfh(struct vnode *, struct pnfsdsfile *, char *, char *, - struct vnode *, NFSPROC_T *); +static void nfsrv_pnfssetfh(struct vnode *, struct pnfsdsfile *, char **, + char *, struct vnode *, NFSPROC_T *); static int nfsrv_dsremove(struct vnode *, char *, struct ucred *, NFSPROC_T *); static int nfsrv_dssetacl(struct vnode *, struct acl *, struct ucred *, NFSPROC_T *); @@ -330,6 +342,55 @@ SYSCTL_PROC(_vfs_nfsd, OID_AUTO, enable_locallocks, CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RW, NULL, 0, sysctl_dolocallocks, "IU", "Enable nfsd to acquire local locks on files"); +static int +sysctl_stripecnt(SYSCTL_HANDLER_ARGS) +{ + int error, newmaxstripecnt; + + newmaxstripecnt = nfsrv_maxstripecnt; + error = sysctl_handle_int(oidp, &newmaxstripecnt, 0, req); + if (error != 0 || req->newptr == NULL) + return (error); + if (newmaxstripecnt == nfsrv_maxstripecnt) + return (0); + if (newnfs_numnfsd > 0) + return (EPERM); + if (jailed(curthread->td_ucred)) + return (EINVAL); + if (newmaxstripecnt <= 0 || newmaxstripecnt > NFSDEV_MAXSTRIPE) + return (EINVAL); + nfsrv_maxstripecnt = newmaxstripecnt; + return (0); +} +SYSCTL_PROC(_vfs_nfsd, OID_AUTO, pnfsstripecnt, + CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RW, NULL, 0, + sysctl_stripecnt, "IU", "Set the #stripes for a pNFS server"); + +static int +sysctl_stripeunit(SYSCTL_HANDLER_ARGS) +{ + uint64_t newstripesiz; + int error; + + newstripesiz = nfsrv_stripesiz; + error = sysctl_handle_64(oidp, &newstripesiz, 0, req); + if (error != 0 || req->newptr == NULL) + return (error); + if (newstripesiz == nfsrv_stripesiz) + return (0); + if (newnfs_numnfsd > 0) + return (EPERM); + if (jailed(curthread->td_ucred)) + return (EINVAL); + nfsrv_stripesiz = newstripesiz; + if (newstripesiz == 0) + nfsrv_maxstripecnt = 1; + return (0); +} +SYSCTL_PROC(_vfs_nfsd, OID_AUTO, pnfsstripeunit, + CTLTYPE_U64 | CTLFLAG_MPSAFE | CTLFLAG_RW, NULL, 0, + sysctl_stripeunit, "QU", "Set the stripe unit length for a pNFS server"); + #define MAX_REORDERED_RPC 16 #define NUM_HEURISTIC 1031 #define NHUSE_INIT 64 @@ -1492,14 +1553,14 @@ int nfsvno_removesub(struct nameidata *ndp, bool is_v4, struct nfsrv_descript *nd, struct thread *p, struct nfsexstuff *exp) { - struct vnode *vp, *dsdvp[NFSDEV_MAXMIRRORS], *newvp; + struct vnode *vp, **dsdvpp, *newvp; struct mount *mp; - int error = 0, mirrorcnt, ret; + int error = 0, dsfilecnt, ret; char fname[PNFS_FILENAME_LEN + 1]; fhandle_t fh; vp = ndp->ni_vp; - dsdvp[0] = NULL; + dsdvpp = NULL; if (vp->v_type == VDIR) { error = NFSERR_ISDIR; } else if (is_v4) { @@ -1510,12 +1571,18 @@ nfsvno_removesub(struct nameidata *ndp, bool is_v4, struct nfsrv_descript *nd, error = nfsrv_checkremove(vp, 1, NULL, nd->nd_clientid, p); } - if (error == 0) - nfsrv_pnfsremovesetup(vp, p, dsdvp, &mirrorcnt, fname, &fh); - if (!error) + if (error == 0) { + nfsrv_pnfsremovesetup(vp, p, &dsdvpp, &dsfilecnt, fname, &fh); + NFSD_DEBUG(4, "nfsrv_pnfsremovesetup err=%d dsfilecnt=%d\n", + error, dsfilecnt); error = VOP_REMOVE(ndp->ni_dvp, vp, &ndp->ni_cnd); - if (error == 0 && dsdvp[0] != NULL) - nfsrv_pnfsremove(dsdvp, mirrorcnt, fname, &fh, p); + } + if (error == 0 && dsdvpp != NULL) { + nfsrv_pnfsremove(dsdvpp, dsfilecnt, fname, &fh, p); + NFSD_DEBUG(4, "aft nfsrv_pnfsremove dsfilecnt=%d fname=%s\n", + dsfilecnt, fname); + } + free(dsdvpp, M_TEMP); if (is_v4 && (nd->nd_flag & ND_NFSV41) != 0 && error == 0) error = nfsvno_getfh(vp, &fh, p); if (ndp->ni_dvp == vp) @@ -1596,13 +1663,13 @@ int nfsvno_rename(struct nameidata *fromndp, struct nameidata *tondp, struct nfsrv_descript *nd, struct thread *p) { - struct vnode *fvp, *tvp, *tdvp, *dsdvp[NFSDEV_MAXMIRRORS], *newvp; + struct vnode *fvp, *tvp, *tdvp, **dsdvpp, *newvp; struct mount *mp; - int error = 0, mirrorcnt, ret; + int error = 0, dsfilecnt, ret; char fname[PNFS_FILENAME_LEN + 1]; fhandle_t fh, fh2; - dsdvp[0] = NULL; + dsdvpp = NULL; fvp = fromndp->ni_vp; if (nd->nd_repstat != 0) { vrele(fromndp->ni_dvp); @@ -1693,10 +1760,10 @@ nfsvno_rename(struct nameidata *fromndp, struct nameidata *tondp, if ((nd->nd_flag & ND_NFSV41) != 0) error = nfsvno_getfh(tvp, &fh2, p); if (error == 0) - nfsrv_pnfsremovesetup(tvp, p, dsdvp, &mirrorcnt, fname, - &fh); + nfsrv_pnfsremovesetup(tvp, p, &dsdvpp, &dsfilecnt, + fname, &fh); NFSD_DEBUG(4, "nfsvno_rename: pnfsremovesetup" - " dsdvp=%p\n", dsdvp[0]); + " dsdvpp=%p\n", dsdvpp); } out: mp = NULL; @@ -1738,13 +1805,14 @@ out: } /* - * If dsdvp[0] != NULL, it was set up by nfsrv_pnfsremovesetup() and + * If dsdvpp != NULL, it was set up by nfsrv_pnfsremovesetup() and * if the rename succeeded, the DS file for the tvp needs to be * removed. */ - if (error == 0 && dsdvp[0] != NULL) { - nfsrv_pnfsremove(dsdvp, mirrorcnt, fname, &fh, p); + if (error == 0 && dsdvpp != NULL) { + nfsrv_pnfsremove(dsdvpp, dsfilecnt, fname, &fh, p); NFSD_DEBUG(4, "nfsvno_rename: pnfsremove\n"); + free(dsdvpp, M_TEMP); } /* Use ret to determine if the file still exists. */ @@ -4678,26 +4746,31 @@ static void nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, NFSPROC_T *p) { - struct nfsrvdscreate *dsc, *tdsc = NULL; + struct nfsrvdscreate *dsc, *tdsc; struct nfsdevice *ds, *tds, *fds; struct mount *mp; struct pnfsdsfile *pf, *tpf; struct pnfsdsattr dsattr; struct vattr va; - struct vnode *dvp[NFSDEV_MAXMIRRORS]; + struct vnode **dvp; struct nfsmount *nmp; fhandle_t fh; uid_t vauid; gid_t vagid; u_short vamode; struct ucred *tcred; - int dsdir[NFSDEV_MAXMIRRORS], error, i, mirrorcnt, ret; + int *dsdir, error, i, j, mirrorcnt, ret, stripecnt; int failpos, timo; /* Get a DS server directory in a round-robin order. */ mirrorcnt = 1; mp = vp->v_mount; ds = fds = NULL; + i = j = 0; + dvp = malloc(sizeof(*dvp) * nfsrv_maxpnfsmirror * nfsrv_maxstripecnt, + M_TEMP, M_WAITOK); + dsdir = malloc(sizeof(*dsdir) * nfsrv_maxpnfsmirror * + nfsrv_maxstripecnt, M_TEMP, M_WAITOK); NFSDDSLOCK(); /* * Search for the first entry that handles this MDS fs, but use the @@ -4705,49 +4778,85 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, */ TAILQ_FOREACH(tds, &nfsrv_devidhead, nfsdev_list) { if (tds->nfsdev_nmp != NULL) { + i++; if (tds->nfsdev_mdsisset == 0 && ds == NULL) ds = tds; else if (tds->nfsdev_mdsisset != 0 && fsidcmp( &mp->mnt_stat.f_fsid, &tds->nfsdev_mdsfsid) == 0) { - ds = fds = tds; - break; + if (j == 0) + ds = fds = tds; + if (nfsrv_stripesiz == 0) + break; + j++; } } } if (ds == NULL) { NFSDDSUNLOCK(); + free(dvp, M_TEMP); + free(dsdir, M_TEMP); NFSD_DEBUG(4, "nfsrv_pnfscreate: no srv\n"); return; } + + /* + * i or j is the count of devices. The stripecnt is that number + * of devices devided by the number of mirrors. + */ + stripecnt = 0; + if (nfsrv_stripesiz > 0) { + if (j > 0) + stripecnt = j / nfsrv_maxpnfsmirror; + else + stripecnt = i / nfsrv_maxpnfsmirror; + if (stripecnt > nfsrv_maxstripecnt) + stripecnt = nfsrv_maxstripecnt; + } + if (stripecnt == 0) + stripecnt = 1; + + /* Set the first device as found above. */ i = dsdir[0] = ds->nfsdev_nextdir; ds->nfsdev_nextdir = (ds->nfsdev_nextdir + 1) % nfsrv_dsdirsize; dvp[0] = ds->nfsdev_dsdir[i]; tds = TAILQ_NEXT(ds, nfsdev_list); - if (nfsrv_maxpnfsmirror > 1 && tds != NULL) { + if ((nfsrv_maxpnfsmirror > 1 || stripecnt > 1) && tds != NULL) { + j = 1; /* Stripe number */ + mirrorcnt = 0; TAILQ_FOREACH_FROM(tds, &nfsrv_devidhead, nfsdev_list) { if (tds->nfsdev_nmp != NULL && ((tds->nfsdev_mdsisset == 0 && fds == NULL) || (tds->nfsdev_mdsisset != 0 && fds != NULL && fsidcmp(&mp->mnt_stat.f_fsid, &tds->nfsdev_mdsfsid) == 0))) { - dsdir[mirrorcnt] = i; - dvp[mirrorcnt] = tds->nfsdev_dsdir[i]; - mirrorcnt++; - if (mirrorcnt >= nfsrv_maxpnfsmirror) - break; + dsdir[mirrorcnt * stripecnt + j] = i; + dvp[mirrorcnt * stripecnt + j] = + tds->nfsdev_dsdir[i]; + j++; + if (j >= stripecnt) { + mirrorcnt++; + if (mirrorcnt >= nfsrv_maxpnfsmirror) + break; + j = 0; + } } } - } + if (mirrorcnt == 0) { + mirrorcnt = 1; + stripecnt = j; + } + } else + stripecnt = 1; /* Put at end of list to implement round-robin usage. */ TAILQ_REMOVE(&nfsrv_devidhead, ds, nfsdev_list); TAILQ_INSERT_TAIL(&nfsrv_devidhead, ds, nfsdev_list); NFSDDSUNLOCK(); dsc = NULL; - if (mirrorcnt > 1) - tdsc = dsc = malloc(sizeof(*dsc) * (mirrorcnt - 1), M_TEMP, + j = mirrorcnt * stripecnt; + if (j > 1) + tdsc = dsc = malloc(sizeof(*dsc) * (j - 1), M_TEMP, M_WAITOK | M_ZERO); - tpf = pf = malloc(sizeof(*pf) * nfsrv_maxpnfsmirror, M_TEMP, M_WAITOK | - M_ZERO); + tpf = pf = malloc(sizeof(*pf) * j, M_TEMP, M_WAITOK | M_ZERO); error = nfsvno_getfh(vp, &fh, p); if (error == 0) @@ -4775,7 +4884,9 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, * additional mirrors. */ failpos = -1; - for (i = 0; i < mirrorcnt - 1 && error == 0; i++, tpf++, tdsc++) { + for (i = 0; i < j - 1 && error == 0; i++, tpf++, tdsc++) { + tpf->dsf_stripecnt = stripecnt; + tpf->dsf_stripesiz = nfsrv_stripesiz; tpf->dsf_dir = dsdir[i]; tdsc->tcred = tcred; tdsc->p = p; @@ -4806,11 +4917,13 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, } } if (error == 0) { - tpf->dsf_dir = dsdir[mirrorcnt - 1]; - error = nfsrv_dscreate(dvp[mirrorcnt - 1], vap, &va, &fh, tpf, + tpf->dsf_stripecnt = stripecnt; + tpf->dsf_stripesiz = nfsrv_stripesiz; + tpf->dsf_dir = dsdir[j - 1]; + error = nfsrv_dscreate(dvp[j - 1], vap, &va, &fh, tpf, &dsattr, NULL, tcred, p, NULL); - if (failpos == -1 && mirrorcnt > 1 && nfsds_failerr(error)) { - failpos = mirrorcnt - 1; + if (failpos == -1 && j > 1 && nfsds_failerr(error)) { + failpos = j - 1; error = 0; } } @@ -4818,7 +4931,7 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, if (timo < 1) timo = 1; /* Wait for kernel task(s) to complete. */ - for (tdsc = dsc, i = 0; i < mirrorcnt - 1; i++, tdsc++) { + for (tdsc = dsc, i = 0; i < j - 1; i++, tdsc++) { while (tdsc->inprog != 0 && tdsc->done == 0) tsleep(&tdsc->tsk, PVFS, "srvdcr", timo); if (tdsc->err != 0) { @@ -4830,7 +4943,7 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, } /* - * If failpos has been set, that mirror has failed, so it needs + * If failpos has been set, that DS has failed, so it needs * to be disabled. */ if (failpos >= 0) { @@ -4855,25 +4968,12 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, NFSFREECRED(tcred); if (error == 0) { ASSERT_VOP_ELOCKED(vp, "nfsrv_pnfscreate vp"); - - NFSD_DEBUG(4, "nfsrv_pnfscreate: mirrorcnt=%d maxmirror=%d\n", - mirrorcnt, nfsrv_maxpnfsmirror); - /* - * For all mirrors that couldn't be created, fill in the - * *pf structure, but with an IP address == 0.0.0.0. - */ - tpf = pf + mirrorcnt; - for (i = mirrorcnt; i < nfsrv_maxpnfsmirror; i++, tpf++) { - *tpf = *pf; - tpf->dsf_sin.sin_family = AF_INET; - tpf->dsf_sin.sin_len = sizeof(struct sockaddr_in); - tpf->dsf_sin.sin_addr.s_addr = 0; - tpf->dsf_sin.sin_port = 0; - } + NFSD_DEBUG(4, "nfsrv_pnfscreate: mirrorcnt=%d stripecnt=%d\n", + mirrorcnt, stripecnt); error = vn_extattr_set(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, "pnfsd.dsfile", - sizeof(*pf) * nfsrv_maxpnfsmirror, (char *)pf, p); + sizeof(*pf) * mirrorcnt * stripecnt, (char *)pf, p); if (error == 0) error = vn_extattr_set(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, "pnfsd.dsattr", @@ -4883,25 +4983,28 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, error); } else printf("pNFS: pnfscreate=%d\n", error); + free(dvp, M_TEMP); + free(dsdir, M_TEMP); free(pf, M_TEMP); free(dsc, M_TEMP); } /* * Get the information needed to remove the pNFS Data Server file from the - * Metadata file. Upon success, ddvp is set non-NULL to the locked - * DS directory vnode. The caller must unlock *ddvp when done with it. + * Metadata file. Upon success, *dvppp is set to an array of locked + * DS directory vnode(s). The caller must unlock this array of *dvp when done + * with it. */ static void -nfsrv_pnfsremovesetup(struct vnode *vp, NFSPROC_T *p, struct vnode **dvpp, - int *mirrorcntp, char *fname, fhandle_t *fhp) +nfsrv_pnfsremovesetup(struct vnode *vp, NFSPROC_T *p, struct vnode ***dvppp, + int *dsfilecntp, char *fname, fhandle_t *fhp) { struct vattr va; struct ucred *tcred; char *buf; int buflen, error; - dvpp[0] = NULL; + *dvppp = NULL; /* If not an exported regular file or not a pNFS server, just return. */ if (vp->v_type != VREG || (vp->v_mount->mnt_flag & MNT_EXPORTED) == 0 || nfsrv_devidcnt == 0) @@ -4924,11 +5027,12 @@ nfsrv_pnfsremovesetup(struct vnode *vp, NFSPROC_T *p, struct vnode **dvpp, return; } - buflen = 1024; + buflen = sizeof(struct pnfsdsfile) * NFSDEV_MAXMIRRORS * + NFSDEV_MAXSTRIPE; buf = malloc(buflen, M_TEMP, M_WAITOK); /* Get the directory vnode for the DS mount and the file handle. */ - error = nfsrv_dsgetsockmnt(vp, 0, buf, &buflen, mirrorcntp, p, dvpp, - NULL, NULL, fname, NULL, NULL, NULL, NULL, NULL); + error = nfsrv_dsgetsockmnt(vp, 0, buf, &buflen, dsfilecntp, NULL, NULL, + p, dvppp, NULL, NULL, fname, NULL, NULL, NULL, NULL, NULL); free(buf, M_TEMP); if (error != 0) printf("pNFS: nfsrv_pnfsremovesetup getsockmnt=%d\n", error); @@ -5006,28 +5110,31 @@ start_dsremove(void *arg, int pending) * removed to set up the dvp and fill in the FH. */ static void -nfsrv_pnfsremove(struct vnode **dvp, int mirrorcnt, char *fname, fhandle_t *fhp, - NFSPROC_T *p) +nfsrv_pnfsremove(struct vnode **dvpp, int dsfilecnt, char *fname, + fhandle_t *fhp, NFSPROC_T *p) { struct ucred *tcred; struct nfsrvdsremove *dsrm, *tdsrm; struct nfsdevice *ds; struct nfsmount *nmp; + struct vnode **tdvpp; int failpos, i, ret, timo; tcred = newnfs_getcred(); dsrm = NULL; - if (mirrorcnt > 1) - dsrm = malloc(sizeof(*dsrm) * mirrorcnt - 1, M_TEMP, M_WAITOK); + if (dsfilecnt > 1) + tdsrm = dsrm = malloc(sizeof(*dsrm) * dsfilecnt - 1, M_TEMP, + M_WAITOK); /* * Remove the file on each DS mirror, using kernel process(es) for the * additional mirrors. */ failpos = -1; - for (tdsrm = dsrm, i = 0; i < mirrorcnt - 1; i++, tdsrm++) { + tdvpp = dvpp; + for (i = 0; i < dsfilecnt - 1; i++, tdsrm++, tdvpp++) { tdsrm->tcred = tcred; tdsrm->p = p; - tdsrm->dvp = dvp[i]; + tdsrm->dvp = *tdvpp; strlcpy(tdsrm->fname, fname, PNFS_FILENAME_LEN + 1); tdsrm->inprog = 0; tdsrm->done = 0; @@ -5038,19 +5145,19 @@ nfsrv_pnfsremove(struct vnode **dvp, int mirrorcnt, char *fname, fhandle_t *fhp, NFSD_DEBUG(4, "nfsrv_pnfsremove: nfs_pnfsio=%d\n", ret); } if (ret != 0) { - ret = nfsrv_dsremove(dvp[i], fname, tcred, p); + ret = nfsrv_dsremove(tdsrm->dvp, fname, tcred, p); if (failpos == -1 && nfsds_failerr(ret)) failpos = i; } } - ret = nfsrv_dsremove(dvp[mirrorcnt - 1], fname, tcred, p); - if (failpos == -1 && mirrorcnt > 1 && nfsds_failerr(ret)) - failpos = mirrorcnt - 1; + ret = nfsrv_dsremove(*tdvpp, fname, tcred, p); + if (failpos == -1 && dsfilecnt > 1 && nfsds_failerr(ret)) + failpos = dsfilecnt - 1; timo = hz / 50; /* Wait for 20msec. */ if (timo < 1) timo = 1; /* Wait for kernel task(s) to complete. */ - for (tdsrm = dsrm, i = 0; i < mirrorcnt - 1; i++, tdsrm++) { + for (tdsrm = dsrm, i = 0; i < dsfilecnt - 1; i++, tdsrm++) { while (tdsrm->inprog != 0 && tdsrm->done == 0) tsleep(&tdsrm->tsk, PVFS, "srvdsrm", timo); if (failpos == -1 && nfsds_failerr(tdsrm->err)) @@ -5062,7 +5169,8 @@ nfsrv_pnfsremove(struct vnode **dvp, int mirrorcnt, char *fname, fhandle_t *fhp, * to be disabled. */ if (failpos >= 0) { - nmp = VFSTONFS(dvp[failpos]->v_mount); + tdvpp = dvpp + failpos; + nmp = VFSTONFS((*tdvpp)->v_mount); NFSLOCKMNT(nmp); if ((nmp->nm_privflag & (NFSMNTP_FORCEDISM | NFSMNTP_CANCELRPCS)) == 0) { @@ -5147,14 +5255,16 @@ nfsrv_proxyds(struct vnode *vp, off_t off, int cnt, struct ucred *cred, struct mbuf **mpp2, struct nfsvattr *nap, struct acl *aclp, off_t *offp, int content, bool *eofp) { - struct nfsmount *nmp[NFSDEV_MAXMIRRORS], *failnmp; - fhandle_t fh[NFSDEV_MAXMIRRORS]; - struct vnode *dvp[NFSDEV_MAXMIRRORS]; + struct nfsmount **nmp, *failnmp; + fhandle_t *fhp; + struct vnode **dvp; struct nfsdevice *ds; struct pnfsdsattr dsattr; struct opnfsdsattr odsattr; char *buf; int buflen, error, failpos, i, mirrorcnt, origmircnt, trycnt; + int stripecnt; + uint64_t stripesiz; NFSD_DEBUG(4, "in nfsrv_proxyds\n"); /* @@ -5165,7 +5275,8 @@ nfsrv_proxyds(struct vnode *vp, off_t off, int cnt, struct ucred *cred, nfsrv_devidcnt == 0) return (ENOENT); - buflen = 1024; + buflen = sizeof(struct pnfsdsfile) * NFSDEV_MAXMIRRORS * + NFSDEV_MAXSTRIPE; buf = malloc(buflen, M_TEMP, M_WAITOK); error = 0; @@ -5228,23 +5339,34 @@ nfsrv_proxyds(struct vnode *vp, off_t off, int cnt, struct ucred *cred, origmircnt = -1; trycnt = 0; tryagain: + nmp = NULL; + dvp = NULL; + fhp = NULL; if (error == 0) { - buflen = 1024; + buflen = sizeof(struct pnfsdsfile) * NFSDEV_MAXMIRRORS * + NFSDEV_MAXSTRIPE; if (ioproc == NFSPROC_READDS && NFSVOPISLOCKED(vp) == LK_EXCLUSIVE) printf("nfsrv_proxyds: Readds vp exclusively locked\n"); + if (ioproc == NFSPROC_WRITEDS && NFSVOPISLOCKED(vp) == + LK_SHARED) + NFSVOPLOCK(vp, LK_UPGRADE | LK_RETRY); error = nfsrv_dsgetsockmnt(vp, LK_SHARED, buf, &buflen, - &mirrorcnt, p, dvp, fh, NULL, NULL, NULL, NULL, NULL, - NULL, NULL); + &mirrorcnt, &stripecnt, &stripesiz, p, &dvp, &fhp, NULL, + NULL, NULL, NULL, NULL, NULL, NULL); if (error == 0) { - for (i = 0; i < mirrorcnt; i++) - nmp[i] = VFSTONFS(dvp[i]->v_mount); + nmp = malloc(sizeof(*nmp) * mirrorcnt * stripecnt, + M_TEMP, M_WAITOK); + for (i = 0; i < mirrorcnt * stripecnt; i++) + if (dvp[i] != NULL) + nmp[i] = VFSTONFS(dvp[i]->v_mount); + else + nmp[i] = NULL; } else printf("pNFS: proxy getextattr sockaddr=%d\n", error); } else printf("pNFS: nfsrv_dsgetsockmnt=%d\n", error); if (error == 0) { - failpos = -1; if (origmircnt == -1) origmircnt = mirrorcnt; /* @@ -5261,24 +5383,26 @@ tryagain: * failed mirror#. */ if (ioproc == NFSPROC_READDS) { - error = nfsrv_readdsrpc(fh, off, cnt, cred, p, nmp[0], - mpp, mpp2); - if (nfsds_failerr(error) && mirrorcnt > 1) { + error = nfsrv_readdsrpc(fhp, off, cnt, cred, p, nmp, + mirrorcnt, stripecnt, stripesiz, mpp, mpp2, + &failpos); + if (failpos >= 0 && mirrorcnt > 1) { /* * Setting failpos will cause the mirror * to be disabled and then a retry of this * read is required. */ - failpos = 0; error = 0; trycnt++; } } else if (ioproc == NFSPROC_WRITEDS) - error = nfsrv_writedsrpc(fh, off, cnt, cred, p, vp, - &nmp[0], mirrorcnt, mpp, cp, &failpos); + error = nfsrv_writedsrpc(fhp, off, cnt, cred, p, vp, + nmp, mirrorcnt, stripecnt, stripesiz, mpp, cp, + &failpos); else if (ioproc == NFSPROC_SETATTR) - error = nfsrv_setattrdsrpc(fh, cred, p, vp, &nmp[0], - mirrorcnt, nap, &failpos); + error = nfsrv_setattrdsrpc(fhp, vp, cred, p, nmp, + mirrorcnt, stripecnt, nap, &failpos); +#ifdef notnow else if (ioproc == NFSPROC_SETACL) error = nfsrv_setacldsrpc(fh, cred, p, vp, &nmp[0], mirrorcnt, aclp, &failpos); @@ -5301,16 +5425,16 @@ tryagain: else if (ioproc == NFSPROC_DEALLOCATE) error = nfsrv_deallocatedsrpc(fh, off, *offp, cred, p, vp, &nmp[0], mirrorcnt, &failpos); +#endif else { - error = nfsrv_getattrdsrpc(&fh[mirrorcnt - 1], cred, p, - vp, nmp[mirrorcnt - 1], nap); - if (nfsds_failerr(error) && mirrorcnt > 1) { + error = nfsrv_getattrdsrpc(fhp, vp, cred, p, + nmp, stripecnt, nap, &failpos); + if (failpos >= 0 && mirrorcnt > 1) { /* * Setting failpos will cause the mirror * to be disabled and then a retry of this * getattr is required. */ - failpos = mirrorcnt - 1; error = 0; trycnt++; } @@ -5335,8 +5459,12 @@ tryagain: } NFSUNLOCKMNT(failnmp); } - for (i = 0; i < mirrorcnt; i++) - NFSVOPUNLOCK(dvp[i]); + for (i = 0; i < mirrorcnt * stripecnt; i++) + if (dvp[i] != NULL) + NFSVOPUNLOCK(dvp[i]); + free(dvp, M_TEMP); + free(nmp, M_TEMP); + free(fhp, M_TEMP); NFSD_DEBUG(4, "nfsrv_proxyds: aft RPC=%d trya=%d\n", error, trycnt); /* Try the Read/Getattr again if a mirror was deleted. */ @@ -5361,46 +5489,111 @@ tryagain: */ int nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char *buf, int *buflenp, - int *mirrorcntp, NFSPROC_T *p, struct vnode **dvpp, fhandle_t *fhp, - char *devid, char *fnamep, struct vnode **nvpp, struct nfsmount **newnmpp, + int *mirrorcntp, int *stripecntp, uint64_t *stripesizp, NFSPROC_T *p, + struct vnode ***dvppp, fhandle_t **fhpp, + char **devid, char *fnamep, struct vnode **nvpp, struct nfsmount **newnmpp, struct nfsmount *curnmp, int *ippos, int *dsdirp) { struct vnode *dvp, *nvp = NULL, **tdvpp; struct mount *mp; struct nfsmount *nmp, *newnmp; + fhandle_t *tfhp; struct sockaddr *sad; struct sockaddr_in *sin; struct nfsdevice *ds, *tds, *fndds; struct pnfsdsfile *pf; + struct opnfsdsfile *opf; uint32_t dsdir; - int error, fhiszero, fnd, gotone, i, mirrorcnt; + int error, fhiszero, fnd, gotmirror, gotone, i, j, k, l, m, mirrorcnt; + char *tdevid; + bool dvplocked; ASSERT_VOP_LOCKED(vp, "nfsrv_dsgetsockmnt vp"); - *mirrorcntp = 1; - tdvpp = dvpp; + dvplocked = false; + if (mirrorcntp != NULL) + *mirrorcntp = 1; + if (stripecntp != NULL) + *stripecntp = 1; + if (stripesizp != NULL) + *stripesizp = 0; if (nvpp != NULL) *nvpp = NULL; - if (dvpp != NULL) - *dvpp = NULL; + if (dvppp != NULL) + *dvppp = NULL; + if (fhpp != NULL) + *fhpp = NULL; + if (devid != NULL) + *devid = NULL; + tdevid = NULL; if (ippos != NULL) *ippos = -1; if (newnmpp != NULL) newnmp = *newnmpp; else newnmp = NULL; + if (fnamep != NULL) + fnamep[0] = '\0'; mp = vp->v_mount; error = vn_extattr_get(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, "pnfsd.dsfile", buflenp, buf, p); - mirrorcnt = *buflenp / sizeof(*pf); - if (error == 0 && (mirrorcnt < 1 || mirrorcnt > NFSDEV_MAXMIRRORS || - *buflenp != sizeof(*pf) * mirrorcnt)) + if (error == 0 && *buflenp > 0) { + j = *buflenp / sizeof(*pf); + if (*buflenp != sizeof(*pf) * j) { + /* Try opnfsdsfile. */ + j = *buflenp / sizeof(*opf); + if (j >= 1 && *buflenp == sizeof(*opf) * j) { + char *tbuf; + + tbuf = malloc(*buflenp, M_TEMP, M_WAITOK); + memcpy(tbuf, buf, *buflenp); + pf = (struct pnfsdsfile *)buf; + opf = (struct opnfsdsfile *)tbuf; + for (k = 0; k < j; k++, pf++, opf++) { + memcpy(&pf->dsf_fh, opf, sizeof(*opf)); + pf->dsf_stripecnt = 1; + pf->dsf_stripesiz = 0; + } + free(tbuf, M_TEMP); + } else + error = ENOATTR; + } else if (j < 1) + error = ENOATTR; + } else if (error == 0) error = ENOATTR; + if (error != 0) + return (error); pf = (struct pnfsdsfile *)buf; + if (pf->dsf_stripesiz > 0) { + mirrorcnt = j / pf->dsf_stripecnt; + k = pf->dsf_stripecnt; + } else { + mirrorcnt = j; + k = 1; + } + if (mirrorcnt < 1 || mirrorcnt > NFSDEV_MAXMIRRORS || + k < 1 || k > NFSDEV_MAXSTRIPE || j != mirrorcnt * k) + return (ENOATTR); + if (stripecntp != NULL) + *stripecntp = k; + if (stripesizp != NULL) + *stripesizp = pf->dsf_stripesiz; + + /* Allocate a large enough array for dvppp, if required. */ + if (dvppp != NULL) + tdvpp = *dvppp = malloc(sizeof(*tdvpp) * mirrorcnt * k, M_TEMP, + M_WAITOK | M_ZERO); + if (fhpp != NULL) + tfhp = *fhpp = malloc(sizeof(*tfhp) * mirrorcnt * k, M_TEMP, + M_WAITOK); + if (devid != NULL) + tdevid = *devid = malloc(NFSX_V4DEVICEID * mirrorcnt * k, + M_TEMP, M_WAITOK); + /* If curnmp != NULL, check for a match in the mirror list. */ - if (curnmp != NULL && error == 0) { + if (curnmp != NULL) { fnd = 0; - for (i = 0; i < mirrorcnt; i++, pf++) { + for (i = 0; i < j; i += k, pf += k) { sad = (struct sockaddr *)&pf->dsf_sin; if (nfsaddr2_match(sad, curnmp->nm_nam)) { if (ippos != NULL) @@ -5413,11 +5606,12 @@ nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char *buf, int *buflenp, error = ENXIO; } - gotone = 0; + gotmirror = gotone = 0; + l = 0; /* Index for tdvpp and tfhp. */ pf = (struct pnfsdsfile *)buf; - NFSD_DEBUG(4, "nfsrv_dsgetsockmnt: mirrorcnt=%d err=%d\n", mirrorcnt, - error); - for (i = 0; i < mirrorcnt && error == 0; i++, pf++) { + NFSD_DEBUG(4, "nfsrv_dsgetsockmnt: mirrorcnt=%d stripecnt=%d err=%d\n", + mirrorcnt, k, error); + for (i = 0; i < j && error == 0; i++, pf++) { fhiszero = 0; sad = (struct sockaddr *)&pf->dsf_sin; sin = &pf->dsf_sin; @@ -5486,6 +5680,7 @@ nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char *buf, int *buflenp, dvp = fndds->nfsdev_dsdir[dsdir]; if (lktype != 0 || fhiszero != 0 || (nvpp != NULL && *nvpp == NULL)) { + dvplocked = true; if (fhiszero != 0) error = vn_lock(dvp, LK_EXCLUSIVE); @@ -5525,16 +5720,21 @@ nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char *buf, int *buflenp, if (error == 0) { gotone++; NFSD_DEBUG(4, "gotone=%d\n", gotone); - if (devid != NULL) { + if (tdevid != NULL) { NFSBCOPY(fndds->nfsdev_deviceid, - devid, NFSX_V4DEVICEID); *** 1111 LINES SKIPPED *** From nobody Thu Jun 4 02:32:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW7rw3dnyz5080j for ; Thu, 04 Jun 2026 02:32: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW7rw03Wlz49yH for ; Thu, 04 Jun 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=1780540368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J0FrwBpZzvCHMGmFndnVoOcJLFePL9VD64971vHJZh8=; b=Mei2X1Usi1D9zIFwh+rTFEqRwDGhQ+v7FPXh4Z0AEaDI9IP4wBv+pzLAhgceS8qrTMYj6t sWsMEXdMMXLIfKsU71Ys/vnT6yD8n8W8khw+kqv+BY9M+XV91zw7iC+OIsnidn/0IVrCCw Yz20gape5MUak2cHuQGitMtaJR3onjUpNrAMT1FSepWPhEXdfoepbVuckw/XLbqcEd0GKG KLAgFFlpLh9kQt60E8UEpL2WKyJeTlKlu6kZP6a206QfFq2eQ/U8d+F+PolTFqMjTVqOpb i42ugXKxlm+cVUYcAsZShKayMnH5xnsLvP3zID+EVpJd/3xt8kA22+xsRM+Asg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780540368; a=rsa-sha256; cv=none; b=ugLscf2Cq7rKrShoB0EwqqFSFMIpU4gn0yOsPc52gEfuV0fQqHZUIxV1iovPAM+AeJvaG3 Sw6YtPdEPNJ6anoUW2jPV0Nw1L17Dk7ocYK5YGeGQDpzUfnLjNl7cvYoWPVtRhOrer9HJE 52Nnj2x0OBYAUL+T2PeyZNnP9Nydju1w9jIBdGJXyv/C6rQYQ6Eg+mmoC6cc+QjmS7cc/3 VXT7/rx/jWFKGF4/BbSKuWh53fTnPyRWdS1CQxlj5zrxjeF2+HSyBY8hgR0w+J2ltN/T1V uZRZpcF4GploqB3qOtd3LW7rq7VLazFxyhYSSisDO8V+QFVw5kYpNe+vIvVaCg== 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=1780540368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J0FrwBpZzvCHMGmFndnVoOcJLFePL9VD64971vHJZh8=; b=I5XsJXPZzEndYLA7C1pOf3RAt67Simq80Fh/OWXuD/X5xS2Gpb9Aj2T9lBKCMgyQ/RNJ6e GqBmvZhbOo4XWGXpDJDdCVf/WvUIeAYpJTmsI0HIC+Yn42KG0GrutZJd//+8dVECL3llPK BxqWzJjWsDFC2RHCGbfOsCPF3iIYCzkvzZWXMTOgG+dyOUk0Ptd2xYJ8PLW0q5t56zXUrs TS4f5RPTBq0rWLQuTx8+uPff2tsQawUKNMy5AJOjX30pI+bxZy0jVvkYzWYtMsZHumXLLm qP6OFRM/CgCcjpDEvhxOlTNwF8bbFBPDAFuB25xF5AjJ4USm7ZIJ3pcXFa7ZzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW7rv6fZ6zg7T for ; Thu, 04 Jun 2026 02:32:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 360e6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 02:32:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0696d3889369 - stable/15 - amd64/machdep.c: explicitly include sys/uio.h List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0696d3889369b1fda133cc99fcf7c7ba5f3142a9 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 02:32:42 +0000 Message-Id: <6a20e3ca.360e6.79db9a3b@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0696d3889369b1fda133cc99fcf7c7ba5f3142a9 commit 0696d3889369b1fda133cc99fcf7c7ba5f3142a9 Author: Konstantin Belousov AuthorDate: 2026-06-04 02:29:42 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 02:32:07 +0000 amd64/machdep.c: explicitly include sys/uio.h Some kernel configurations result in struct uio being only forward-declared. This is direct commit to stable/15. Sponsored by: The FreeBSD Foundation --- sys/amd64/amd64/machdep.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index e337337fd8e7..7b652d241250 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -87,6 +87,7 @@ #include #include #include +#include #include #include From nobody Thu Jun 4 05:15:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWCSr4Pv6z6fwcX for ; Thu, 04 Jun 2026 05:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWCSr24dWz3T0j for ; Thu, 04 Jun 2026 05:15:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780550140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O5EkdH5HzMQomYPk4gkWedeheko35M3sN1817XB6zh4=; b=gdtaF7DEjFOWDMgBHdyMaAwMDB59xtgN1opll3PHnwbRmg7RT/hwA4i3/SzTzABpWXwr7x qn4QdSnAu85+KrRAoJ1O1msPXhbbAF0i1OpYSlmEM4eM7YgEtszDazp+yo0wDvnyQ4B82F JsCPnlGBGgGPUgfen/olLywRT6DOXIMOFHC1pyMho1hbl3hrJ2I8cxV4v073o8HIvOlRfU JUx7U7k6nSlOdHOHjiO8DYxe0CWYsnngfKsWAmT51KPOcfyUrd4k8XsmltVYDBwggna6Wm zG+iBzlqs9IUc281ZXS5WYxrkh1B1iMMbVkULXVn+QBArX0Ym3s1zdWc7ZN/Ow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780550140; a=rsa-sha256; cv=none; b=RjhYuaLpjXx1zR6XJcFlutYTX4y/Tf00q366ZN2XfNWX9LQqUw3Jl+rkLZPnazRNPFcLJs 4J80cosF08IulCxOHewJ8rMDTCgot1IgwOh7rT+a0tn9F9abKnwigFlzu0fWwqankjukCJ HqkvETRRTmOSRQf0XkuWlMptTVaxedJ9dW5wQpW5Fv4xpzHku3Mld08oUMXk2RR9iwhj0g gXMrezXybs6JLOBFVOCZ3u5evgTP3hMYZsmIrx4CYrFpPnNH9INpoLH5l5ul8Wrgui4w++ XlrnI805Plb+DBBXLad0vHYefG3KUIKYY0qYLGgDTfWfIDIYIMVpRlakycz1tg== 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=1780550140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O5EkdH5HzMQomYPk4gkWedeheko35M3sN1817XB6zh4=; b=nJdjSKZ5WxDIrVjN5UL6D25C7LbSnfGqGRhacqPf3gWLOhiqb9TLSZoHAN0J78pUwUoeg0 RswpkZSmRBJOUoO1wsq6ojAczZAu6U4pH22HzlHTcP4xJszCCnv7jTTA1OL3IBxkbxgY9n 6BWv9TFg8ILo3BTy+ZxPba3GFZDwC89NOefKflvKDcF65QcwXcf646UgoBxCV+SLZ2pzPl srQl65rX8VqHLIPB14ISiTXKRNk+mOmHLyIbhezAQPCD3hacR1obaBCMG2SbfkJXSQfv8O ZE2o+asYIUNZ5gHhgd/YrsRIKyYR1ZYQr5L+F1lFaCO0rhlBMZfBrMenkG7GKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWCSr1QSkzlJp for ; Thu, 04 Jun 2026 05:15:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fa37 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 05:15:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: b230a7b9a52c - main - kern: ofw: provide ofw_bus_destroy_iinfo to teardown interrupt-map List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b230a7b9a52c0fc948f4f1dcd1225a94674073f6 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 05:15:40 +0000 Message-Id: <6a2109fc.1fa37.ee96215@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=b230a7b9a52c0fc948f4f1dcd1225a94674073f6 commit b230a7b9a52c0fc948f4f1dcd1225a94674073f6 Author: Kyle Evans AuthorDate: 2026-05-09 02:42:50 +0000 Commit: Kyle Evans CommitDate: 2026-06-04 05:14:42 +0000 kern: ofw: provide ofw_bus_destroy_iinfo to teardown interrupt-map For symmetry with ofw_bus_setup_iinfo, the next commits will use it to properly cleanup on failure in bcm2838_pci. Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D56895 --- sys/dev/ofw/ofw_bus_subr.c | 12 ++++++++++++ sys/dev/ofw/ofw_bus_subr.h | 1 + 2 files changed, 13 insertions(+) diff --git a/sys/dev/ofw/ofw_bus_subr.c b/sys/dev/ofw/ofw_bus_subr.c index efca3ea14e2f..e4779ff74e48 100644 --- a/sys/dev/ofw/ofw_bus_subr.c +++ b/sys/dev/ofw/ofw_bus_subr.c @@ -358,6 +358,18 @@ ofw_bus_setup_iinfo(phandle_t node, struct ofw_bus_iinfo *ii, int intrsz) } } +void +ofw_bus_destroy_iinfo(struct ofw_bus_iinfo *ii) +{ + + if (ii->opi_imapsz > 0) { + OF_prop_free(ii->opi_imapmsk); + ii->opi_imapsz = 0; + } + + OF_prop_free(ii->opi_imap); +} + int ofw_bus_lookup_imap(phandle_t node, struct ofw_bus_iinfo *ii, void *reg, int regsz, void *pintr, int pintrsz, void *mintr, int mintrsz, diff --git a/sys/dev/ofw/ofw_bus_subr.h b/sys/dev/ofw/ofw_bus_subr.h index 203c9689f156..89732f5570a7 100644 --- a/sys/dev/ofw/ofw_bus_subr.h +++ b/sys/dev/ofw/ofw_bus_subr.h @@ -86,6 +86,7 @@ bus_get_device_path_t ofw_bus_gen_get_device_path; /* Routines for processing firmware interrupt maps */ void ofw_bus_setup_iinfo(phandle_t, struct ofw_bus_iinfo *, int); +void ofw_bus_destroy_iinfo(struct ofw_bus_iinfo *); int ofw_bus_lookup_imap(phandle_t, struct ofw_bus_iinfo *, void *, int, void *, int, void *, int, phandle_t *); int ofw_bus_search_intrmap(void *, int, void *, int, void *, int, void *, From nobody Thu Jun 4 05:15:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWCSs6J4zz6fwKp for ; Thu, 04 Jun 2026 05:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWCSs2p9rz3Svb for ; Thu, 04 Jun 2026 05:15:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780550141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TcHUMOtFCMOB0LIST+KKqUxkktoRu1CilLmD2L8sKGQ=; b=n/w3HYv2FPeKpSr+fLDsuYVJ8SB6XSVGgaCHDf5nZcpWjjNYPSgY9dAj7g3AZSGLxn/gFu Vo8hvRq92Q4BSFJO7u8cGHtpUNtPkUDyFNeKPYeJWExlyt99eVK6HLCFRMRxVBhv7493ul MloWQY64mMYuTR3ieNG+zL+ttwJMs4Iga3/AJlwPNz5wotcqBxDLrOYkDq2wtuZFLpgGuW 7IZXfbXxEdMd/uYBLipY8HLr+qvOi2ti1jnJLAb+kEwTg7y1MyPG4jZsBf8QdbkTf7wT8o hxw15r+AoNLVOenD2C//mnX8vU0UicTMgZgblCjJ8p6vn8d2sCh75iaP0MrfXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780550141; a=rsa-sha256; cv=none; b=vtZ8xUKOqLtdNPN0X3qDBMnCIzxNvVYTIfy23fAMA1QbafTLaYHvT/t7dVoFBlPolfygLT euoAeCKwhSSYxFRwMA+HnwoJeVXWhEJVCIN9r+NhiBvUE1jtx8Vta48eRM1Z25jwT769e5 hNMkhqumSd4/5xhboqaRMYm7AtVOqJeEIOakDehXYJbJLotdzmsUEaNlQkMGg1s1uNBtba UMYDpzhwvQRsxfY8jtPRIeaaDq+6wT9+9GeVVd2daHNi8Te9BvCcbA6ZthiYCHWqOFjmzP tw9chcMfPg5vzZIX+jS9TDMLIX0ZJ6WbwDAfJy2X/tqzY81q8MMapQR0NwTyNw== 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=1780550141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TcHUMOtFCMOB0LIST+KKqUxkktoRu1CilLmD2L8sKGQ=; b=DDO4KFNXng5YnZJDqww5PsGykrNJ8TP7iB8NnMjc9IwbQyffVey3huBfYHgaOUOIzx1pyY PTssQJ4YMrD8aJ3fRXutBPCBGfbJ9l/1Kv+N9uZglnMA1asp1u+xGugIcLeWhLNFphnBlI BXKIwWNx3BPuVf1U0ecnfQKfJZA33brn28QE28KN4XwnmTI+tweH4f6RfLh0kn8fVq1fHX fjCYYHjuSWqQQJD9df8YqndypLvD9JqT5Cx+Jpe0BLuuLzMWho5CPsIFZ1U7EGcjcgWidS j4+E3Z+HecyJYJWBHZreuaP7pXIVkmdz5pjfyoaheaTirL1H5g1+7yODIYs7bQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWCSs2GnQzkbR for ; Thu, 04 Jun 2026 05:15:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1eacb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 05:15:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 31a94ec32b53 - main - pci: pci_host_generic: provide cleanup methods outside of detach List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 31a94ec32b53ebf6227bc868ce4f7aa07650680d Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 05:15:41 +0000 Message-Id: <6a2109fd.1eacb.4f3b2888@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=31a94ec32b53ebf6227bc868ce4f7aa07650680d commit 31a94ec32b53ebf6227bc868ce4f7aa07650680d Author: Kyle Evans AuthorDate: 2026-05-09 02:46:24 +0000 Commit: Kyle Evans CommitDate: 2026-06-04 05:14:58 +0000 pci: pci_host_generic: provide cleanup methods outside of detach If device_attach() fails, we're expected to actually cleanup after ourselves because device_detach() will not be called. Factor out the cleanup bits that don't rely on attach having actually succeeded so that we can cleanup properly in bcm2838_pci. Reviewed by: andrew, imp Differential Revision: https://reviews.freebsd.org/D56896 --- sys/dev/pci/pci_host_generic.c | 15 +++++++++++---- sys/dev/pci/pci_host_generic.h | 1 + sys/dev/pci/pci_host_generic_fdt.c | 19 +++++++++++++++++++ sys/dev/pci/pci_host_generic_fdt.h | 1 + 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c index 05cf47687b1d..dc6139cf22c0 100644 --- a/sys/dev/pci/pci_host_generic.c +++ b/sys/dev/pci/pci_host_generic.c @@ -250,15 +250,22 @@ err_resource: int pci_host_generic_core_detach(device_t dev) { - struct generic_pcie_core_softc *sc; - int error, rid, tuple; - - sc = device_get_softc(dev); + int error; error = bus_generic_detach(dev); if (error != 0) return (error); + return (pci_host_generic_core_free(dev)); +} + +int +pci_host_generic_core_free(device_t dev) +{ + struct generic_pcie_core_softc *sc; + int rid, tuple; + + sc = device_get_softc(dev); for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) { rid = sc->ranges[tuple].rid; if (sc->ranges[tuple].size == 0) { diff --git a/sys/dev/pci/pci_host_generic.h b/sys/dev/pci/pci_host_generic.h index aae60d8a1650..a97c1ab4319c 100644 --- a/sys/dev/pci/pci_host_generic.h +++ b/sys/dev/pci/pci_host_generic.h @@ -94,6 +94,7 @@ DECLARE_CLASS(generic_pcie_core_driver); int pci_host_generic_core_attach(device_t); int pci_host_generic_core_detach(device_t); +int pci_host_generic_core_free(device_t); struct resource *pci_host_generic_core_alloc_resource(device_t, device_t, int, int, rman_res_t, rman_res_t, rman_res_t, u_int); int pci_host_generic_core_release_resource(device_t, device_t, diff --git a/sys/dev/pci/pci_host_generic_fdt.c b/sys/dev/pci/pci_host_generic_fdt.c index ffe63b82a234..c6b9371698b6 100644 --- a/sys/dev/pci/pci_host_generic_fdt.c +++ b/sys/dev/pci/pci_host_generic_fdt.c @@ -104,6 +104,25 @@ generic_pcie_fdt_probe(device_t dev) return (ENXIO); } +void +pci_host_generic_destroy_fdt(device_t dev) +{ + struct generic_pcie_fdt_softc *sc; + struct pci_ofw_devinfo *di; + + sc = device_get_softc(dev); + while (!STAILQ_EMPTY(&sc->pci_ofw_devlist)) { + di = STAILQ_FIRST(&sc->pci_ofw_devlist); + STAILQ_REMOVE_HEAD(&sc->pci_ofw_devlist, pci_ofw_link); + + ofw_bus_gen_destroy_devinfo(&di->di_dinfo); + free(di, M_DEVBUF); + } + + ofw_bus_destroy_iinfo(&sc->pci_iinfo); + (void)pci_host_generic_core_free(dev); +} + int pci_host_generic_setup_fdt(device_t dev) { diff --git a/sys/dev/pci/pci_host_generic_fdt.h b/sys/dev/pci/pci_host_generic_fdt.h index cc6e575f6056..790f781b23f0 100644 --- a/sys/dev/pci/pci_host_generic_fdt.h +++ b/sys/dev/pci/pci_host_generic_fdt.h @@ -46,6 +46,7 @@ DECLARE_CLASS(generic_pcie_fdt_driver); struct resource *pci_host_generic_alloc_resource(device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int); int pci_host_generic_setup_fdt(device_t); +void pci_host_generic_destroy_fdt(device_t); int pci_host_generic_fdt_attach(device_t); int generic_pcie_get_id(device_t, device_t, enum pci_id_type, uintptr_t *); From nobody Thu Jun 4 05:15:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWCSt6m8Yz6fwhd for ; Thu, 04 Jun 2026 05:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWCSt3pvkz3T3K for ; Thu, 04 Jun 2026 05:15:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780550142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C7cpzfKg8R9m21JnMj4bFr9t/TixCl3fWIZlcdPKyoI=; b=KesYmC03ihvA/6Tvtwmg1vkOaoin6240DdJHgPgljvCR49ALw4cLxyM4Z7jeLEKikTzCU8 V7EHAQF1vtfCnPF60KOQwBigrTyNdA8PkjlCAcs++Rcbjkzvr2wtwizausOMwBT4kiHAmS C7JOCX8rqdnoyGvBr/4eksrDp7gsbpWJkXYNmJolW9mOsmgDD6NEEWnwG0oP+ZY4W/Bv55 2JbuBgXWLYsiYJpp4BU8cYXBQLUgn14QDPuNOTvBiINSizYHZtnwmFBFWGvSYmFxZqpoiU Xlb2CJzsLlRW1reWHHmg48I0GvZ7LTLcViTrBBRQL8k7A2AUIwZhvhkKjcjmrw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780550142; a=rsa-sha256; cv=none; b=Xd3TCJFCxfVVKtEOChFzwPCu0FMKmedREKPovvyvPPfusBOV4a/tedaI4416qaHz/nhOfA f9qIfIALecn2Hj29R/JWFyjPvtdgHSIw99rMGI3btcB/trFuZmqKbvBkwwRDwBEZA/hSSw 5YTlR54SDrOqWq4F0wH5knvLImabTHrwstGuj0+XQ2UcuJAtmaCmkyvWj5UUGO4aS+Vx8m 0jwl4G8ITgWLegP3vL+VEemS1DFdchxLFzirvjorVrLJkBHVOLDbRv8oJHcSw1LcWeK+Gp DnZ2oh9NSZEjFVWNr0TXsLcQIeEZiYOa7CfvG2WFugpXN7/2s2Dq+ZfN9geU1w== 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=1780550142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C7cpzfKg8R9m21JnMj4bFr9t/TixCl3fWIZlcdPKyoI=; b=Fke/cCkREScLGMrmIBcY5EeF2VPlbhtJcO8SvIPtdiA4xdGnPE6qUGMNsmKX3Il/yroBed CbPaXShqn70GmXXUIs6O6KneD90p+4XyLqpB2yqxruA6hwAt9ImfgOggeN1t156rmZi7oI BIR7e2tt8tGANUlpvZCYVF1rj/nO4ec4pBpeeWIWbh94zyv186Yig3/7cGjawqUe0nKEU+ jeZvgZfrpDC1TUuKr2ag7vkjCxeBelDJU+cEIiWB/hxFtIusLlDZqXEep7n8x/BYDikIOR XGgJjaQUkjBZGb4B246QngDWc7SQbCXIhB6Ou+2sg0TpJZP9UtKr8rta7CXbGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWCSt37pDzl2g for ; Thu, 04 Jun 2026 05:15:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20e0e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 05:15:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: a05af6ddf901 - main - pci: bcm2838: cleanup on attach failure to fix devmatch panic List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a05af6ddf9016e4ea4f0b361aa674e7ece6fe7ec Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 05:15:42 +0000 Message-Id: <6a2109fe.20e0e.406e3a41@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=a05af6ddf9016e4ea4f0b361aa674e7ece6fe7ec commit a05af6ddf9016e4ea4f0b361aa674e7ece6fe7ec Author: Kyle Evans AuthorDate: 2026-05-09 02:49:35 +0000 Commit: Kyle Evans CommitDate: 2026-06-04 05:15:14 +0000 pci: bcm2838: cleanup on attach failure to fix devmatch panic Specifically on the RPi CM4, we currently don't set the controller up right and it never moves into the ready state (we don't observe the link active bit). Failure to cleanup here actually results in a panic not long after, due to a use-after-free in the rman bits. Further down in pci_host_generic, we have some rman stashed in the softc that are initialized and placed onto the rman tailq, then the softc is later freed without an rman_fini() to pull them off of the tailq properly. Note that PCIe on this board won't come up at boot without something plugged in, so it currently can't be booted with an empty slot with the intent to hotplug a supported card. Some issues with controller startup have been observed with Broadcom NICs in the wild, but no problems have been observed with other NICs and a variety of different PCIe cards. Shout-out to Vince for the extensive debugging and analysis to arrive at this conclusion. Reviewed by: andrew, imp Differential Revision: https://reviews.freebsd.org/D56897 --- sys/arm/broadcom/bcm2835/bcm2838_pci.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/sys/arm/broadcom/bcm2835/bcm2838_pci.c b/sys/arm/broadcom/bcm2835/bcm2838_pci.c index 2b2ad1e3bdf8..80a7516f5331 100644 --- a/sys/arm/broadcom/bcm2835/bcm2838_pci.c +++ b/sys/arm/broadcom/bcm2835/bcm2838_pci.c @@ -646,7 +646,7 @@ bcm_pcib_attach(device_t dev) error = bcm_pcib_check_ranges(dev); if (error != 0) - return (error); + goto failed; mtx_init(&sc->config_mtx, "bcm_pcib: config_mtx", NULL, MTX_DEF); @@ -680,7 +680,8 @@ bcm_pcib_attach(device_t dev) if (tries > 100) { device_printf(dev, "error: controller failed to start.\n"); - return (ENXIO); + error = ENXIO; + goto failed; } DELAY(1000); @@ -690,7 +691,8 @@ bcm_pcib_attach(device_t dev) if (!link_state) { device_printf(dev, "error: controller started but link is not " "up.\n"); - return (ENXIO); + error = ENXIO; + goto failed; } if (bootverbose) device_printf(dev, "note: reported link speed is %s.\n", @@ -741,12 +743,15 @@ bcm_pcib_attach(device_t dev) /* Configure interrupts. */ error = bcm_pcib_msi_attach(dev); if (error != 0) - return (error); + goto failed; /* Done. */ device_add_child(dev, "pci", DEVICE_UNIT_ANY); bus_attach_children(dev); return (0); +failed: + pci_host_generic_destroy_fdt(dev); + return (error); } /* From nobody Thu Jun 4 08:07:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWHGj1TRRz6gFFb; Thu, 04 Jun 2026 08:07:09 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWHGj0dLTz3pY8; Thu, 04 Jun 2026 08:07:09 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780560429; 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: in-reply-to:in-reply-to:references:references; bh=IgqI2mGB3VGMj9XkmVS06p1xr9fTEEp4VqxGzGruZ+w=; b=dAS1qSRJyX+TN0eqjEXgcWBkOekuQv6bpKI5SwiNxo6uYjWzkX8Lr8K5HMeNk33dS45t1G XAMbkgCTqP4/PObj+BOancQs9BKP/MHaPYprdB6nFI8SCoAIQmVipWHmnZAFk+2tZUmdUP sIzMdvmk/cLqenOAJz/VbXWqSktgVe+X90ZyZDx8sPelNwbMP5SxHXfa8d4mCClPYDJygH YpiDQxLdFryZhU9PQXi82c5q34lU+AzkwoacWy9b5B8epvr1RkKUr81TTHdoWtU8p8NMKA Y//TJKUHYQCe8ERno8+/pm1PDR0xNECgj9pTg2jI72K+oE2JvJqbplCFeGOUdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780560429; a=rsa-sha256; cv=none; b=CkAt2r/DYRXfd87fyraQqelwPUC5QyGgokMuNCrnhfZ3FRlW3VzUyMROO6dCO+vFHrY4Ee yxjhLyGz8Y8ZvAJxDpMb4YmEPupo2X88lzuFK5RJVt1ixNhYGLw/6Ir+3r9JZ4o1tNfbKz WWlopB5I86ztMqttusc0oJYUEyq7eXXeb4X3MWcJRJDYbBq9oZL58NiQ4YJWLHymmcHsDV Cv7rrcnnOZ/4FpZNJGRDTIUIR+4yU2w3bxXbDWxhe3ychT+ksqxFDG2rqzDkrEoih1oSjE dBDTKlPfXZlAvdZ2GituVpKESkCvNm4te+dVez8Npt1DsvIuy/LiRB38sq1UJQ== 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=1780560429; 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: in-reply-to:in-reply-to:references:references; bh=IgqI2mGB3VGMj9XkmVS06p1xr9fTEEp4VqxGzGruZ+w=; b=bynxvrjkSVaw7ENHnJtrcYI4rlruhC6y80RUPSTctDwGcpgy8qxDbQKf3LPXJJtJ7ccKEc /xUvH0G4UJawnAQkbLX2f/NJtoTPGsSkn7TTd3wEhvItEqEbAabEYKilUGq35aQiWs92zs cToUZDSJU2p5jWrQ9uyY42xJ9SHfRWscTjWkqZ5ADyUvxj+qceZe7FqY9dOMmnp9e190KQ sKTRxmOV51SbhE9/0HkfrbhjOvOgP+KZa3DfwrxsBHLT12p6C7SgURESZb53G7lDBOxhHO UqV8O4gbbv3NhP8qFTsW8kTbeEby3Q9W6YaEuE/hqqiDPUsOqh2SUg7ngQu05A== Received: from ravel.localnet (lfbn-nic-1-328-19.w90-116.abo.wanadoo.fr [90.116.162.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gWHGh3MKgzxcR; Thu, 04 Jun 2026 08:07:08 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Cc: src-committers@freebsd.org, src-committers@freebsd.org Subject: Re: git: ce243df20aa8 - main - i386: Fix build (of 'genassym.o') Date: Thu, 04 Jun 2026 10:07:00 +0200 Message-ID: <8410719.bYQgcRI8ro@ravel> In-Reply-To: <6a204233.3e000.143a4ec1@gitrepo.freebsd.org> References: <6a204233.3e000.143a4ec1@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2607419.0dHE6SNnxz"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart2607419.0dHE6SNnxz Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Cc: src-committers@freebsd.org, src-committers@freebsd.org Date: Thu, 04 Jun 2026 10:07:00 +0200 Message-ID: <8410719.bYQgcRI8ro@ravel> In-Reply-To: <6a204233.3e000.143a4ec1@gitrepo.freebsd.org> References: <6a204233.3e000.143a4ec1@gitrepo.freebsd.org> MIME-Version: 1.0 Hi, > The branch main has been updated by olce: > > URL: https://cgit.FreeBSD.org/src/commit/?id=ce243df20aa8ba94918cafdca2537c8cd18887c8 > > commit ce243df20aa8ba94918cafdca2537c8cd18887c8 > Author: Olivier Certner > AuthorDate: 2026-06-03 13:11:52 +0000 > Commit: Olivier Certner > CommitDate: 2026-06-03 15:02:39 +0000 > > i386: Fix build (of 'genassym.o') > > (snip) > > Fixes: 72ab129799a2 ("x86: remove sys/mount.h from genassym.c") > Sponsored by: The FreeBSD Foundation Missing tags: Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57402 Regards. -- Olivier Certner --nextPart2607419.0dHE6SNnxz Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmohMiQACgkQjKEwQJce JifC6Q/+NpRhQWh5nVc0Jvhc93nrwrehBthuLKwa4WZm5v8RpyBwZ2Q9F72l1FBI LKiRSBqs2sLxsu0041AZZFrzvecM3B1zFcl+PaT7281+MOM6dWrNXk0F8BKVZfas 8YpGv5HRbpVJM8Lwt3OzIfsqKVu5gLifd2hvbXlYgSf6LHjx2M7lhqji4EX+fM6Q GXhHnl6G8wytHEDfzZMNKHOv571pZlAWtYeNAOLz42jcQ2Xpo8x8LCc81yzNyyA5 JzvIQA3/5TstP/plJcdL66/65QW0Eaa7nvQHTLBArUyj/BmbY3+GAk3G+6Hs4aRa UKUI1XlKVte/qCSiTlcNVr6s6142LeXwqgO1N9PnR0Wy6TEMBdaNBhji4B7tSuDO bk6DvsTiqQ6BcKxytZcDoXzLiKUUmDbqAuDOS2wBM+ebCq+AdN06iXnXIi3f/V90 snvjH253oXEADZgpDoFr8kwdeD1OPhL554IER9WmIyN53PLegNOKMEFhJlScEFPO j3vOEoTMdtEB/7wbjUv1qL8Hv/xJUA807pEMbT+h4YkNT8QnPZd8Znf3x/hXGVZt RLOGL5KpusfJbLUh/cyTwYQyEGgihh7CUJ7X4tGqIIcbsA2R1tgbk7vT3Ju0flkl BzRf/FNw3P7PjREuS2veA6CTse6DM2B0/16ODxoprbgEsVYzOW8= =YIpS -----END PGP SIGNATURE----- --nextPart2607419.0dHE6SNnxz-- From nobody Thu Jun 4 08:20:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWHZG5j5gz6gFcv for ; Thu, 04 Jun 2026 08:20:38 +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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWHZG4stDz3r9F for ; Thu, 04 Jun 2026 08:20:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780561238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CvAVXKRGuWkpXdjbFyE5y2npbUsmCfGgl5ZFlvxeBPo=; b=Qot44KgMNE9doPIcwDVoGlWPR3yjn4xVRsvTTNgU1k4s+rSPke7ofgS1K647atiuiEHZEQ ka+Dxrn2xISpOyKzr8hZCGYlW/1/j+lk7YPAZglxr4f0hIHJmqprcJRcZHTbLrK1NBBxZf sqe1ugqugvVmxJw/sNOaU+efb3tz6nvznyaTVnbIb1n+SGyqhusw6OHggO0foZz9Jq1rrB q3Xx3Z8ogoNxNQYo0saPLOvFaauwE4i+UVl0olEdpZPLxColkqGB/UFcTX9ZuRiPS4c8+Y BxpqFfeVtDO+fcsfObSCuMkmPPKresrtA4DdeIB2GJpzBW8eq+HZQgruTTxnXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780561238; a=rsa-sha256; cv=none; b=rqiuLG08zdEF1NM/j7lfxJLYZoshL1cq2ITkmyNM0E74sNxEbjXYZBh1sf9OeodbMijrgX /aHM7/McLfYb7BcwEOTsuQslX5ZFO7MT5v1WLCGX37VhuC7UKlnfYg1FEByNwTiM6qt4y9 sLPAE0msu503PTjwv4yNkcsofunfd3KK1bJWbZBKj0l/sELltpkzxPOdFv0Fs6oTAy4gW8 wdT2CcZ8pRcVGG7lsjwt5njP30kJ4B4UnuKJijRlwD6M0Wr69cbYQ0lg2F0FjQjn4zxdB2 SkL24EuY/4iD3LFgCYz8NaWkGUjFyqal3gWGguGGIOVHGTMmynlonrOQjDksmg== 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=1780561238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CvAVXKRGuWkpXdjbFyE5y2npbUsmCfGgl5ZFlvxeBPo=; b=vRZCGz8lROrB9uK5MC8RH+8smjMWO98UnKIAVXfLFC8QmxDj5UrSEbVd+RtGrTK3d2NGIX MbE1aadLQJOYHQiDOSvMUfgFcwN+d7reOMBgcJChaljOnlQqZLxojRHh9WlPAiBn8eoZyA cixbVbBhOw7Mfsgbz35xBbb/nmF6t6D1V8vYu3o21ntEY87Q8d29m4ij7pgk4Nj9Yf2kZf qy/9EsVoFk6EuekCLWwz2R+6QxUvatr6f/Xe+VyMUqqxs1X+9SfOJZoTJX3RNUG5OpU9a4 +IFOR5isYfRuWy+SDC/B/Jn1+Mv9Oo8YU7T0qYR8ArITcY4oDkUs8GeEDFFFPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWHZG4HMBzqqx for ; Thu, 04 Jun 2026 08:20:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b032 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 08:20:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 2cdb0c07e25b - stable/15 - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2cdb0c07e25b5b4782a94e18abf5d39e763a1b13 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 08:20:38 +0000 Message-Id: <6a213556.3b032.36d1edd5@gitrepo.freebsd.org> The branch stable/15 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=2cdb0c07e25b5b4782a94e18abf5d39e763a1b13 commit 2cdb0c07e25b5b4782a94e18abf5d39e763a1b13 Author: Dimitry Andric AuthorDate: 2026-06-01 17:10:11 +0000 Commit: Dimitry Andric CommitDate: 2026-06-04 08:20:21 +0000 Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): [Serialization] Fix assertion on re-deserialized friend template spec… (#200566) …ialization in PCH (#198133) A friend function-template specialization declared inside a class template is serialized into a PCH. When the class template is later instantiated while loading the PCH, the friend specialization can be deserialized re-entrantly (VisitFriendDecl -> VisitFunctionDecl -> ... -> VisitFunctionDecl for the same specialization) at the same time as the canonical copy, producing two redeclarations of the same specialization in the template's specialization set. ASTDeclReader::VisitFunctionDecl asserted that this collision could only happen when merging declarations from different modules. Since 38b3d87bd384, friend functions defined inside dependent class templates are loaded eagerly, so the collision can now also occur within a single PCH/AST file (non-modules build), tripping the assertion: Assertion failed: (Reader.getContext().getLangOpts().Modules && "already deserialized this template specialization"), function VisitFunctionDecl The merge that follows (mergeRedeclarable) already links the two redeclarations correctly regardless of whether modules are enabled, so the fix is to drop the modules-only assumption and let the merge run. Fixes https://github.com/llvm/llvm-project/issues/198133 This fixes (well, simply removes :) an assertion when building the cad/OrcaSlicer port with precompiled headers turned on. PR: 295296 MFC after: 3 days (cherry picked from commit 86326398b73b81f84831fb5fc4c12d9219bc0f57) --- contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp index b918bfbd549c..87224fae5dbb 100644 --- a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp @@ -989,8 +989,6 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) { if (InsertPos) CommonPtr->Specializations.InsertNode(FTInfo, InsertPos); else { - assert(Reader.getContext().getLangOpts().Modules && - "already deserialized this template specialization"); Existing = ExistingInfo->getFunction(); } } From nobody Thu Jun 4 08:20:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWHZQ44m8z6gGNp for ; Thu, 04 Jun 2026 08:20: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWHZQ2xtSz3rkJ for ; Thu, 04 Jun 2026 08:20:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780561246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lqPK4iXmdiThY+jPHUOQtcLk2t9WgfVND4cYCfBEdbI=; b=iSHPkzsEbq0W74qKZOTz1j2QyuDuLySihmYQmmNj3adOsx1/JnYPD0hd51rQNjcvBJ27f+ bqiioaj15nX/AxHQvGeGL3+KvXeJ/U1MuMF2Fuene2NWr4PkdfvVJcCwDIi3/5aflvYgMP yM+UVrTjcMPuT6sBA43M5UDis2A3qpJVewVj4+vd7CTAnlagyuNqpAA6nP+fq/GsqC5XII ynWFugBuL/Hw1u/8e1YwhSfsoHSw9ICPOlRiPYEwBbdsh8eDAiDs51wCvZ8DiC1dQSSzyV t78uEZ7shL7w9fhd52zABNiYv6uQnSAydBy4k3PCkpR8SJ0i/jr60LHfDIRskQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780561246; a=rsa-sha256; cv=none; b=cvAhCTXv3hTKOth5NHaUL0NcoZLR0inOqveEbvIgz/HlyVVHwtojSfShJySQZPOQ1Ayagn Zl6pTPzgDGuuovspIGNHIl8NBRHWmvEWt+rGGKYrTFbEAS0iZ4TlsH5JcLdh0H17ESnWke 1+jmNUwQp3VHRimhPoKm+OqqWDpTraIMLvKiC69f3QjtZ2N5VXepKVHp9/pVJ9AJMLKScQ ehZyg0bbsvHktcZRmNK4CaJUFZR8W/JZaPaCBbovr71tBfVvoxe5hmPjRFk2aWfMUjqo5c mquJ5+e/IH7pteX9LT2xT4y2msEWOmEmtB3gsLTNe+SZgizjA2sQ73l/BYepSA== 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=1780561246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lqPK4iXmdiThY+jPHUOQtcLk2t9WgfVND4cYCfBEdbI=; b=l4n1QjGz0oX8KrK9u0WxDScXw1n3EiCgQAFh2SrdA5chdIXYLzXItEYZZEMZNma0UvTYL7 whhLo30J/yaTVgEINnvZU+49Z5GEI4qfoGnfKnYwQBUXEGy0Xl9u2j2qjsohjvJpw6CgrG 5QAFfrha5KAMIMSoczsgvSYrotyXqXQ/2Id/VsxVSwWKkEPrTyiJwn2zvrrAx8hCPWpui8 Pu3ekORpqtPH2I3z0LyrXp2tPDIwAoPZ8QoGDGqU3BBzYQ72YYLkXSNys6i705TGy+1BTj LnSX67BUk7Eucfsayngql+OouN+L5od8j5dhp43x4LNS1O5STgl30l82cuLxYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWHZQ2B2qzqnY for ; Thu, 04 Jun 2026 08:20:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c162 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 08:20:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: a8e709c66769 - stable/14 - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a8e709c667693508a31e2e3a9857a1b8f0587c3e Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 08:20:46 +0000 Message-Id: <6a21355e.3c162.12acb467@gitrepo.freebsd.org> The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a8e709c667693508a31e2e3a9857a1b8f0587c3e commit a8e709c667693508a31e2e3a9857a1b8f0587c3e Author: Dimitry Andric AuthorDate: 2026-06-01 17:10:11 +0000 Commit: Dimitry Andric CommitDate: 2026-06-04 08:20:25 +0000 Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): [Serialization] Fix assertion on re-deserialized friend template spec… (#200566) …ialization in PCH (#198133) A friend function-template specialization declared inside a class template is serialized into a PCH. When the class template is later instantiated while loading the PCH, the friend specialization can be deserialized re-entrantly (VisitFriendDecl -> VisitFunctionDecl -> ... -> VisitFunctionDecl for the same specialization) at the same time as the canonical copy, producing two redeclarations of the same specialization in the template's specialization set. ASTDeclReader::VisitFunctionDecl asserted that this collision could only happen when merging declarations from different modules. Since 38b3d87bd384, friend functions defined inside dependent class templates are loaded eagerly, so the collision can now also occur within a single PCH/AST file (non-modules build), tripping the assertion: Assertion failed: (Reader.getContext().getLangOpts().Modules && "already deserialized this template specialization"), function VisitFunctionDecl The merge that follows (mergeRedeclarable) already links the two redeclarations correctly regardless of whether modules are enabled, so the fix is to drop the modules-only assumption and let the merge run. Fixes https://github.com/llvm/llvm-project/issues/198133 This fixes (well, simply removes :) an assertion when building the cad/OrcaSlicer port with precompiled headers turned on. PR: 295296 MFC after: 3 days (cherry picked from commit 86326398b73b81f84831fb5fc4c12d9219bc0f57) --- contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp index b918bfbd549c..87224fae5dbb 100644 --- a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp @@ -989,8 +989,6 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) { if (InsertPos) CommonPtr->Specializations.InsertNode(FTInfo, InsertPos); else { - assert(Reader.getContext().getLangOpts().Modules && - "already deserialized this template specialization"); Existing = ExistingInfo->getFunction(); } } From nobody Thu Jun 4 08:39:16 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWHzt5T7kz6gHpp for ; Thu, 04 Jun 2026 08:39: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWHzt2zxSz3tTg for ; Thu, 04 Jun 2026 08:39:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780562362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yRpQ5c7uPxSq4l0yiy+3qWwvBbJVHwPVsaiY4LpB+HA=; b=MIXKX8PcB8ruRjWYbCz17mCyTKUTd9gSGAO3sfYeR5uveU+FxOAGtGGz5Z/hYM0BqB4rIb j0whdXMnlyfzSWP4ak6Zt4buf4sOnhdLNoKyM4T+Sr++I+9JzwFh59qaVWWzjzDdLuetHb oB3DPcIyXi3OwmKYI1VPSvHbgNzNTPnJq1fa1lFQ20tDHz5fmgp2ecsYH8plKfYEFvS/ZK LVVJWqArDVBCgMHg+vuAd1H6O0jzApYkhIRkEoWDialp5NIVLXNpRCU40crEdynF3MeGxg Jy/Ce6eKp2UGbKdNtktgP0EHLKtQUpLsAQaJpHQ5FWxlNvvyWTv4GeIH8drvwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780562362; a=rsa-sha256; cv=none; b=lTj0KOqOiQV6RXZvEiZQcvz+gZDKVuNbjmK/1HkigPt8eTCztIAlkIx5W5AVfTFuc8N7gG 113Zrl2Gt3MwpIbp9CWHStjd99jM2Mt43PFRTvxYEIeF+vhjJiIpWvflRzxk2ofderSA9H nije77ih0fDjgasivlF1aIjJB979QlYtpHNkPhK1UafSCaeYwnmFNJAUUzEr0D0b6mMbKP U44tGsSf+vIs6mrx7j1W785gsN8+t+MZHQXjFpiYGpAnu7DwLmOdyh0JWp2ITNjxjvVsz3 NlDdiFsQBzfcBHml9H2q/4FLNYDEIgKiBI9jxATD8ICXsWtYY6z4YM6xIVv0Gg== 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=1780562362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yRpQ5c7uPxSq4l0yiy+3qWwvBbJVHwPVsaiY4LpB+HA=; b=hmHnfGj+GQ1SlMsOMPvWiBLJYcHWZgyQXuZKa6FXf8VRgnm5nq48vmQoUHmA+iFbORm0Oc fqrsI4cLQv7l++6LcoiM43YA7OpKoIv6E704AXZA/AiPLm1Y2rWMr7QlMMViooyMCprNQG eD/T5TdyJb4gjMY4vmYuK2M7uaoULGP67D3z6zu1NVMCt8yjdFyWf+9/lNEPc/5QmMrtG1 RQJww/bPND+AAP4tYHvVFjg+NvYGsVsQlSEmanZHeyk6DlBFosJ/wN3kqtPBrw6g8RvCpR Ml6Yyp0MYdeYfiVW5nIFcOKWNu3uDoo76LMxLkfxVojUUanJE0fN+qA5W25/nA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWHzt25czzrWP for ; Thu, 04 Jun 2026 08:39:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b77a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 08:39:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 5b5a836e72ec - main - defaultroute: Fix dual-stack and IPv6-only handling List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b5a836e72ec2614def23409674822c907cf3740 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 08:39:16 +0000 Message-Id: <6a2139b4.3b77a.1a6171a9@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=5b5a836e72ec2614def23409674822c907cf3740 commit 5b5a836e72ec2614def23409674822c907cf3740 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-06-04 07:58:07 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-06-04 08:37:21 +0000 defaultroute: Fix dual-stack and IPv6-only handling Since IPv6-only setups are becoming more common, and IPv6 connectivity is often sufficient for tasks such as DNS resolution and NTP time synchronization, update defaultroute rc.d script to support IPv6-only environments. Reviewed by: pouria, ae Differential Revision: https://reviews.freebsd.org/D56797 --- libexec/rc/rc.d/defaultroute | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/libexec/rc/rc.d/defaultroute b/libexec/rc/rc.d/defaultroute index b96f91d36118..5368dca4cf62 100755 --- a/libexec/rc/rc.d/defaultroute +++ b/libexec/rc/rc.d/defaultroute @@ -1,6 +1,6 @@ #!/bin/sh # -# Wait for the default route to be up if DHCP is in use +# Wait for the default route to be up if DHCPv4 or IPv6 SLAAC is in use # # @@ -22,7 +22,7 @@ defaultroute_carrier() local carrier nocarrier carrier=1 - for _if in ${dhcp_interfaces}; do + for _if in ${dhcp_interfaces} ${autoconf_interfaces}; do output=`/sbin/ifconfig ${_if}` nocarrier=`expr "${output}" : '.*[[:blank:]]status: \(no carrier\)'` [ -z "${nocarrier}" ] && carrier=0 @@ -32,22 +32,30 @@ defaultroute_carrier() defaultroute_start() { - local nl waited + local have_inet have_inet6 nl waited - afexists inet || return 0 + # Check for IPv4/IPv6 support + have_inet=0 + afexists inet && have_inet=1 + have_inet6=0 + afexists inet6 && have_inet6=1 + [ ${have_inet} -eq 0 ] && [ ${have_inet6} -eq 0 ] && return - # Return without waiting if we don't have dhcp interfaces or - # if none of the dhcp interfaces is plugged in. - dhcp_interfaces=`list_net_interfaces dhcp` - [ -z "${dhcp_interfaces}" ] && return + # Return without waiting if we don't have dhcp or autoconf interfaces, + # or if none of them is plugged in. + [ ${have_inet} -ne 0 ] && dhcp_interfaces=`list_net_interfaces dhcp` + [ ${have_inet6} -ne 0 ] && autoconf_interfaces=`list_net_interfaces autoconf` + [ -z "${dhcp_interfaces}" -a -z "${autoconf_interfaces}" ] && return # Wait for a default route waited=0 while [ ${waited} -lt ${defaultroute_delay} ]; do - defif=`get_default_if -inet` - if [ -n "${defif}" ]; then + [ ${have_inet} -ne 0 ] && defif=`get_default_if -inet` + [ ${have_inet6} -ne 0 ] && defif6=`get_default_if -inet6` + if [ -n "${defif}" ] || [ -n "${defif6}" ]; then if [ ${waited} -ne 0 ]; then - echo -n "($defif)" + [ -n "${defif}" ] && echo -n "($defif)=>inet " + [ -n "${defif6}" ] && echo -n "($defif6)=>inet6" nl=1 fi break From nobody Thu Jun 4 08:50:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWJF60mFHz6gK4k for ; Thu, 04 Jun 2026 08:50: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWJF56yh1z414V for ; Thu, 04 Jun 2026 08:50:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780563050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bi21WlGUvgKaCy6nm/1S12cyo87GPgML9ap2d/ZNHrg=; b=GF1AVp1YoVMmnBC5jyoAeY4gRY+9wIqVRAhBLT7/WS+zXmhsW4fcdy2Q+aIiZhJTwv2qF+ fRKc5eL+IwDVJ7Cpm4K3vGlJcdIgTBhl0ZWZOfFEVCXDhy9dZbo3rP4d8CClhOtMMTSERR BgHypu+QifL04/OQVwiXT7tmVCj7sBdcRUAFkM900nmpszXTHbJbs31Rsfl69SNcz2VOSr smtRIizKhDFLm1QPjFQ3g/Yuk3+f4lmr/XAx6MkqJ7nJh3Pdqp034qcMaGqeUiIaAgiHjg 5NzAvPY5vlMIfg5pXU3M4bEZ+FqnJLlyTEg6ZhGP8E06KjemaaOWlC23QnoWCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780563050; a=rsa-sha256; cv=none; b=U0H2f3Mz09FNkmZG23rhm7O5rx6uMcSL4XJWVTnKBbOfsmtN996JOyWZcFnsgplkLhUQ9K XixRkYu43GtMi+XhvE0hVJo/LCdFNIi2DVbPrIjLeF0nmGsq9klj+kZRYIXgFwYejSqWIh jWATj+QlGusSKYi+tGMdJex7LGzI0nmk1Vu/EMLGSfUTC1r+LWKCf1bFPWJmYJwDeBCE5g RbURcuHnOUif8crnnMEz2QZVWAEqkSbV3y5f5B+QSyWlEgBGNnChFpcFfr+aPQ6Pk2g3U7 bisymChaGqt0e1CPSbH44MzyDinfdNKH/0TSTthR760aSEUZA4h0nv936IVUJA== 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=1780563050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bi21WlGUvgKaCy6nm/1S12cyo87GPgML9ap2d/ZNHrg=; b=Eafm5upoSP6m34Tp1C+hR/SYWf/avQE28mMJM4D7gBg5Wfwq34RbyV3LNKO0m8jfmB4V/D g77hPZOWmnD4VPaodfn71lPdJQAwj7O+94WCqn6gUFP8Jd/ik5aQPFf4AFDSfCLPuicZW9 182G3YMeRDfUv9cPdG8AMCObYAZ5jnYc3hOVwCIAa2oTx+0mMOejS0hEgsFCWsADi7F/f+ SrZyOz100OiM1I9D3Dt0g8aJhxPsjfXr34sgAdxov7fd1uqkLq/QCDQpBAvPVlF00QInl/ +n6XGkbVUH/5gIVRZCKSOuVvpUaVojuEYJOz8LaI0WG0v3siTF4bD/mOrswEIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWJF56WpPzrGQ for ; Thu, 04 Jun 2026 08:50:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3dcd0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 08:50:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 4258829c8f58 - main - Revert "defaultroute: Fix dual-stack and IPv6-only handling" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4258829c8f588e502d90fe19a0c18ba81a3761d9 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 08:50:49 +0000 Message-Id: <6a213c69.3dcd0.1e1c560d@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=4258829c8f588e502d90fe19a0c18ba81a3761d9 commit 4258829c8f588e502d90fe19a0c18ba81a3761d9 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-06-04 08:46:02 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-06-04 08:47:41 +0000 Revert "defaultroute: Fix dual-stack and IPv6-only handling" This reverts commit 5b5a836e72ec2614def23409674822c907cf3740. Despite using arcpatch for this commit, I attributed the wrong author of the patch. --- libexec/rc/rc.d/defaultroute | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/libexec/rc/rc.d/defaultroute b/libexec/rc/rc.d/defaultroute index 5368dca4cf62..b96f91d36118 100755 --- a/libexec/rc/rc.d/defaultroute +++ b/libexec/rc/rc.d/defaultroute @@ -1,6 +1,6 @@ #!/bin/sh # -# Wait for the default route to be up if DHCPv4 or IPv6 SLAAC is in use +# Wait for the default route to be up if DHCP is in use # # @@ -22,7 +22,7 @@ defaultroute_carrier() local carrier nocarrier carrier=1 - for _if in ${dhcp_interfaces} ${autoconf_interfaces}; do + for _if in ${dhcp_interfaces}; do output=`/sbin/ifconfig ${_if}` nocarrier=`expr "${output}" : '.*[[:blank:]]status: \(no carrier\)'` [ -z "${nocarrier}" ] && carrier=0 @@ -32,30 +32,22 @@ defaultroute_carrier() defaultroute_start() { - local have_inet have_inet6 nl waited + local nl waited - # Check for IPv4/IPv6 support - have_inet=0 - afexists inet && have_inet=1 - have_inet6=0 - afexists inet6 && have_inet6=1 - [ ${have_inet} -eq 0 ] && [ ${have_inet6} -eq 0 ] && return + afexists inet || return 0 - # Return without waiting if we don't have dhcp or autoconf interfaces, - # or if none of them is plugged in. - [ ${have_inet} -ne 0 ] && dhcp_interfaces=`list_net_interfaces dhcp` - [ ${have_inet6} -ne 0 ] && autoconf_interfaces=`list_net_interfaces autoconf` - [ -z "${dhcp_interfaces}" -a -z "${autoconf_interfaces}" ] && return + # Return without waiting if we don't have dhcp interfaces or + # if none of the dhcp interfaces is plugged in. + dhcp_interfaces=`list_net_interfaces dhcp` + [ -z "${dhcp_interfaces}" ] && return # Wait for a default route waited=0 while [ ${waited} -lt ${defaultroute_delay} ]; do - [ ${have_inet} -ne 0 ] && defif=`get_default_if -inet` - [ ${have_inet6} -ne 0 ] && defif6=`get_default_if -inet6` - if [ -n "${defif}" ] || [ -n "${defif6}" ]; then + defif=`get_default_if -inet` + if [ -n "${defif}" ]; then if [ ${waited} -ne 0 ]; then - [ -n "${defif}" ] && echo -n "($defif)=>inet " - [ -n "${defif6}" ] && echo -n "($defif6)=>inet6" + echo -n "($defif)" nl=1 fi break From nobody Thu Jun 4 08:50:50 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWJF72PbHz6gK4p for ; Thu, 04 Jun 2026 08:50: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWJF70b7hz41JC for ; Thu, 04 Jun 2026 08:50:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780563051; 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=7Opn3uy53o8ulNY1StW3cFAxvyB86JXE1vsZ9ypEdnA=; b=Sto7g9qaSqjV98mZIhtJ6MXZo81UQFdqqaR3c36OLUyAVBn1iQTnbSQMUqYT4fAd2QQ446 bS3nCKAt/QgKKDEAz4mpthB9HLm7jD7Wmw0yKv6aFWWGYn/dJd/QJS5iUB5llnxYIsRErr 1cNB9Pl5XZj7W4OjRhOpKWo8BUtlBvjvjSEFeP0TJLWzIxG0WrMFZBI6dyl454GYYywWqP HFBaAN41KY+Et+OyVRxF9dcGJRaesS+ex2NKua9Lpkn0Bs5nIB2K8Ow3Gi05SqZpRaV3Ie dUOqySBoGJVrrtet4WaZlln2gYWX31PCVlgdKeHI6doFXlR/io0nD27IXiA6ew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780563051; a=rsa-sha256; cv=none; b=RX2UaanXENM6Px+aWUzsJdYHd9Nf2ws+Y8HOjwfk0a5tcDCKzgoiJUE3H/v/M9XfoFRnXI G3yP2jQjK6yUvq8wNWUqJn3dlqoe6x1By1fkmAk5uk05mYAprcWgdpJEp13r7SFnZmBYMM IkhzsKT8nusDq4PZ4N3EIgWREty4frXlRl/58TL/FXzvE45yHhtuZHINTeCaXB6LFfFj9m FGGZGUeq1nnaoCli/C1Z7VvTCHy1iSYHR3xz7N2+z56+tF2q187KIc/uRuA72T8qEBiOcB QshVM1L0x3aRqBOrRRsz2RtYLSkAkr28ChbeVxrqGehhOLuj7mPWcVosy7VdKQ== 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=1780563051; 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=7Opn3uy53o8ulNY1StW3cFAxvyB86JXE1vsZ9ypEdnA=; b=oyz7zphUiz5puhJmEZWWO1+vdI4JqimRwI36W9E7+PLujrhM7A/dPuhGUUoM2TnOIzQe6f YIWsGSG9CglTMl4aHZ2n9BCdHdEKxLsmTz3boymn1P0FffrjXl/8o4W0HGp8poY50rZ0p9 q/LZT7mYew4UYLCTzfPel6CEdlTSxXm5b/03Sm8y1SYrLohUfarAoFZBicQpB+atLengCV zJbJoWLYjb4ejbQwVPEhZLgZuEX8Pv8WaOtZJBQJt83hmzt1xekfepgd1ih4e+jBL5x28l QTvqHt9jVocvSNHFOcvHkhQhzQIfLdmWigYPS2QWsmA14Mf7TjMXZDreJGjF2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWJF671JWzs0V for ; Thu, 04 Jun 2026 08:50:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ef18 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 08:50:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Marek Zarychta From: Pouria Mousavizadeh Tehrani Subject: git: d52de9a3448f - main - defaultroute: Fix dual-stack and IPv6-only handling List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d52de9a3448f0233a11e0b4de557e403ace71748 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 08:50:50 +0000 Message-Id: <6a213c6a.3ef18.35825d74@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=d52de9a3448f0233a11e0b4de557e403ace71748 commit d52de9a3448f0233a11e0b4de557e403ace71748 Author: Marek Zarychta AuthorDate: 2026-06-04 07:58:07 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-06-04 08:49:13 +0000 defaultroute: Fix dual-stack and IPv6-only handling Since IPv6-only setups are becoming more common, and IPv6 connectivity is often sufficient for tasks such as DNS resolution and NTP time synchronization, update defaultroute rc.d script to support IPv6-only environments. Reviewed by: pouria, ae Differential Revision: https://reviews.freebsd.org/D56797 --- libexec/rc/rc.d/defaultroute | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/libexec/rc/rc.d/defaultroute b/libexec/rc/rc.d/defaultroute index b96f91d36118..5368dca4cf62 100755 --- a/libexec/rc/rc.d/defaultroute +++ b/libexec/rc/rc.d/defaultroute @@ -1,6 +1,6 @@ #!/bin/sh # -# Wait for the default route to be up if DHCP is in use +# Wait for the default route to be up if DHCPv4 or IPv6 SLAAC is in use # # @@ -22,7 +22,7 @@ defaultroute_carrier() local carrier nocarrier carrier=1 - for _if in ${dhcp_interfaces}; do + for _if in ${dhcp_interfaces} ${autoconf_interfaces}; do output=`/sbin/ifconfig ${_if}` nocarrier=`expr "${output}" : '.*[[:blank:]]status: \(no carrier\)'` [ -z "${nocarrier}" ] && carrier=0 @@ -32,22 +32,30 @@ defaultroute_carrier() defaultroute_start() { - local nl waited + local have_inet have_inet6 nl waited - afexists inet || return 0 + # Check for IPv4/IPv6 support + have_inet=0 + afexists inet && have_inet=1 + have_inet6=0 + afexists inet6 && have_inet6=1 + [ ${have_inet} -eq 0 ] && [ ${have_inet6} -eq 0 ] && return - # Return without waiting if we don't have dhcp interfaces or - # if none of the dhcp interfaces is plugged in. - dhcp_interfaces=`list_net_interfaces dhcp` - [ -z "${dhcp_interfaces}" ] && return + # Return without waiting if we don't have dhcp or autoconf interfaces, + # or if none of them is plugged in. + [ ${have_inet} -ne 0 ] && dhcp_interfaces=`list_net_interfaces dhcp` + [ ${have_inet6} -ne 0 ] && autoconf_interfaces=`list_net_interfaces autoconf` + [ -z "${dhcp_interfaces}" -a -z "${autoconf_interfaces}" ] && return # Wait for a default route waited=0 while [ ${waited} -lt ${defaultroute_delay} ]; do - defif=`get_default_if -inet` - if [ -n "${defif}" ]; then + [ ${have_inet} -ne 0 ] && defif=`get_default_if -inet` + [ ${have_inet6} -ne 0 ] && defif6=`get_default_if -inet6` + if [ -n "${defif}" ] || [ -n "${defif6}" ]; then if [ ${waited} -ne 0 ]; then - echo -n "($defif)" + [ -n "${defif}" ] && echo -n "($defif)=>inet " + [ -n "${defif6}" ] && echo -n "($defif6)=>inet6" nl=1 fi break From nobody Thu Jun 4 10:53:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWLzC5MCbz6gWXR for ; Thu, 04 Jun 2026 10:53:59 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWLzC1qhWz3G5m for ; Thu, 04 Jun 2026 10:53:59 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780570439; 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: in-reply-to:in-reply-to:references:references; bh=jvg/YtcgrBzyyyRvq4S7nE9qJvN4Gn2MfGWA+FIEmEo=; b=Pfus6E05TzBOj9SLz8ncKFcCg/WIqAqFm5RAPQutXd5r9aFW70RWrk2z7xXLobIZn1Jasz o15jfRwDYJjYSckqVPmj4G8e468PNrZ0hfiNJqyKc9n3IUMk+brWx+6yu0ApuXxV1FWU5p VUXLmzPqE+h68L6iGSeSCjXRZtB2nTTHOUF/44OpYvX+3Y8IldILNNY2L44Ta445cnppBl 6gxPz586vlUM1qYkfHMWg7LhcfUs3YQz/zLBGM+eLMJu5Xpk9vb/9CBX3XDdez+GNVkhI5 S7PwX6lU94QhRFQhE5EXZ8upEfMwnhM/oN5zmNgtgtyJgcNESID5zKbDkJ4dLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780570439; a=rsa-sha256; cv=none; b=mnG9U8aJwlP6RWnq1mFnIuzIOW9nYQ6dKNuD2P/d0bYrpowlClXEbg/ryh0qy6v8lz7/BU DLkdKkmyPQL+QQQh8VQv35+xcxBT2UMNL/kKf94LCx6+dK9KnBSp0T7SxXUFpYv7HpnsMy izcqfB0oYi1VXgRX9FgUgO54R2dW22GQfVnqLnpcN0Cb4ToSWPNBJaW/u/nDuPTXRAAvnh lhsDGjmaFWV4knIvEpVfvWfAo2QIqVC5sMW5AqE8fAf/1ntJs6phjTL4XxUnDHsaY7lSNI Dsm76xRsy9jHEtHiJHxPla9E8D7PJHf7QpdeCsjgmZQxALJ89uR818sNZyaSNA== 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=1780570439; 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: in-reply-to:in-reply-to:references:references; bh=jvg/YtcgrBzyyyRvq4S7nE9qJvN4Gn2MfGWA+FIEmEo=; b=Zzhdvw0leV6c+wywd2uYWEpyjbOH0OyShGpPtpzkyK/ad7yYdwycxWFXW61yU1VaqvcPzC xZJ7JcQ2mtCaGOSGnHHvPE8XfMt4WIwjD1QXe9qz6KlQIqNCUGptGZHe/i5ZQSilfL36QC kuAAWvGv4/nGGkZXy1tGFIiWg0BYUBYCaDCroLznB9Y2TterQyV2DeTjJfV8k3krKPkggW 1yG2g5VqDYXmbLK7whOzN4QUgYnltXmGrx12sfxRFLY6DDCkjE/IYgZX4GJBp2MMkVpsz4 BbSVL14a2mM2SseAYK+iILGZZ185IOxKZ6ouF3GZ2PIBK0zlXD0Z6/0LBY/3jQ== Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) (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)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gWLzC0nmtz11K3 for ; Thu, 04 Jun 2026 10:53:59 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-lj1-f182.google.com with SMTP id 38308e7fff4ca-3967701fc3cso907251fa.0 for ; Thu, 04 Jun 2026 03:53:59 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ/tiks0mVYQTJHaD45dQnA9NZiUJ564cVADgu8gyuWrdrgQ1rilF2rjWmS2jYECknWjimvA3yFgxjz7peathqPsjJxC@freebsd.org X-Gm-Message-State: AOJu0Yxr5YLFXLApmiJx4ulJP9Fbe3Pqhn+YCB+4H3CJsTZnbb9usiax JmUYJWT3kY/e/Gn7nmeT4NpJrImM1zu5pCfwAT6tsm/irswMpXQkqNYKQnQihJXSscnc8OF88wn 5o+KnNE7d5em+pMvwU5IV7JQUy++0IJI= X-Received: by 2002:a05:651c:2224:b0:396:7280:1e5e with SMTP id 38308e7fff4ca-396bedb8a86mr3008321fa.0.1780570437241; Thu, 04 Jun 2026 03:53:57 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: <6a1dbdb4.18f1f.11efe144@gitrepo.freebsd.org> In-Reply-To: <6a1dbdb4.18f1f.11efe144@gitrepo.freebsd.org> From: Nuno Teixeira Date: Thu, 4 Jun 2026 11:53:43 +0100 X-Gmail-Original-Message-ID: X-Gm-Features: AVHnY4IYHDwZZhkjA86Pl55_X5Fj2D4eITxtFOjkp_EF7vPvUytO6deTbh5T-HQ Message-ID: Subject: Re: git: 86326398b73b - main - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): To: Dimitry Andric Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="00000000000068d09e06536b5c59" --00000000000068d09e06536b5c59 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello Dimitry, Not sure if it is related but I'm seing some ports failing recently with errors bellow. ( error: no viable conversion from ... to 'bool' ) Similar fails appears at pkg-fallout: https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p226b23044ee= 7_s67df3130159/logs/binaryen-130.log https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p226b23044ee= 7_s67df3130159/logs/encryptpad-0.5.0.4_6.log >From node24 on main-n286352-73e0d6b44038: ``` c++ -o /wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/nod= e_mksnapshot/tools/snapshot/node_mksnapshot.o ../tools/snapshot/node_mksnapshot.cc '-D_GLIBCXX_USE_CXX11_ABI=3D1' '-D_FILE_OFFSET_BITS=3D64' '-DNODE_OPENSSL_CONF_NAME=3Dnodejs_conf' '-DNODE_OPENSSL_CERT_STORE' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DNODE_WANT_INTERNALS=3D1' '-DNODE_MKSNAPSHOT_USE_ARRAY_LITERALS=3D1' '-DHAVE_OPENSSL=3D1' '-DNODE_USE_NODE_CODE_CACHE=3D1' '-DHAVE_INSPECTOR=3D1' '-D__POSIX__' '-DNODE_USE_V8_PLATFORM=3D1' '-DNODE_HAVE_I18N_SUPPORT=3D1' '-DHAVE_AMARO= =3D1' '-DHAVE_SQLITE=3D1' '-DHAVE_QUIC=3D0' -I../src -I../tools/msvs/genfiles -I../deps/v8/include -I../deps/cares/include -I../deps/uv/include -I../deps/ncrypto -I../deps/v8/third_party/simdutf -Wall -Wextra -Wno-unused-parameter -pthread -Wall -Wextra -Wno-unused-parameter -Werror=3Dundefined-inline -Werror=3Dextra-semi -Werror=3Dctad-maybe-unsupp= orted -m64 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -fno-strict-aliasing -std=3Dgnu++20 -MMD -MF /wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/.deps//wrkdirs= /usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/node_mksnap= shot/tools/snapshot/node_mksnapshot.o.d.raw -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -c ../test/embedding/embedtest.cc:138:12: error: no viable conversion from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr') to 'bool' 138 | assert(snapshot); | ^~~~~~~~ /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit conversion function is not a candidate 276 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit operator bool() const _NOEXCEPT { | ^ ../test/embedding/embedtest.cc:216:14: error: no viable conversion from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr') to 'bool' 216 | assert(snapshot); | ^~~~~~~~ /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit conversion function is not a candidate 276 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit operator bool() const _NOEXCEPT { | ^ 2 errors generated. ``` Any clues? Thanks, Dimitry Andric escreveu (segunda, 1/06/2026 =C3=A0(s) 18:= 13): > The branch main has been updated by dim: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D86326398b73b81f84831fb5fc4c12d9= 219bc0f57 > > commit 86326398b73b81f84831fb5fc4c12d9219bc0f57 > Author: Dimitry Andric > AuthorDate: 2026-06-01 17:10:11 +0000 > Commit: Dimitry Andric > CommitDate: 2026-06-01 17:10:11 +0000 > > Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): > > [Serialization] Fix assertion on re-deserialized friend template > spec=E2=80=A6 (#200566) > > =E2=80=A6ialization in PCH (#198133) > > A friend function-template specialization declared inside a class > template is serialized into a PCH. When the class template is later > instantiated while loading the PCH, the friend specialization can b= e > deserialized re-entrantly (VisitFriendDecl -> VisitFunctionDecl -> > ... > -> VisitFunctionDecl for the same specialization) at the same time = as > the canonical copy, producing two redeclarations of the same > specialization in the template's specialization set. > > ASTDeclReader::VisitFunctionDecl asserted that this collision could > only > happen when merging declarations from different modules. Since > 38b3d87bd384, friend functions defined inside dependent class > templates > are loaded eagerly, so the collision can now also occur within a > single > PCH/AST file (non-modules build), tripping the assertion: > > Assertion failed: (Reader.getContext().getLangOpts().Modules && > "already deserialized this template specialization"), function > VisitFunctionDecl > > The merge that follows (mergeRedeclarable) already links the two > redeclarations correctly regardless of whether modules are enabled, > so > the fix is to drop the modules-only assumption and let the merge ru= n. > > Fixes https://github.com/llvm/llvm-project/issues/198133 > > This fixes (well, simply removes :) an assertion when building the > cad/OrcaSlicer port with precompiled headers turned on. > > PR: 295296 > MFC after: 3 days > --- > contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp | 2 -- > 1 file changed, 2 deletions(-) > > diff --git > a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp > b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp > index b918bfbd549c..87224fae5dbb 100644 > --- a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp > +++ b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp > @@ -989,8 +989,6 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl > *FD) { > if (InsertPos) > CommonPtr->Specializations.InsertNode(FTInfo, InsertPos); > else { > - assert(Reader.getContext().getLangOpts().Modules && > - "already deserialized this template specialization"); > Existing =3D ExistingInfo->getFunction(); > } > } > > --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --00000000000068d09e06536b5c59 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello Dimitry,

Not sure if it is re= lated but I'm seing some ports failing recently with errors bellow.
=

From node24 on main-n286352-73e0d6= b44038:
```
c++ -o /wrkdirs/usr/ports/www/node24/work/node-v24.16.0/= out/Release/obj.target/node_mksnapshot/tools/snapshot/node_mksnapshot.o ../= tools/snapshot/node_mksnapshot.cc '-D_GLIBCXX_USE_CXX11_ABI=3D1' &#= 39;-D_FILE_OFFSET_BITS=3D64' '-DNODE_OPENSSL_CONF_NAME=3Dnodejs_con= f' '-DNODE_OPENSSL_CERT_STORE' '-DICU_NO_USER_DATA_OVERRIDE= ' '-D__STDC_FORMAT_MACROS' '-DNODE_WANT_INTERNALS=3D1' = '-DNODE_MKSNAPSHOT_USE_ARRAY_LITERALS=3D1' '-DHAVE_OPENSSL=3D1&= #39; '-DNODE_USE_NODE_CODE_CACHE=3D1' '-DHAVE_INSPECTOR=3D1'= ; '-D__POSIX__' '-DNODE_USE_V8_PLATFORM=3D1' '-DNODE_HA= VE_I18N_SUPPORT=3D1' '-DHAVE_AMARO=3D1' '-DHAVE_SQLITE=3D1&= #39; '-DHAVE_QUIC=3D0' -I../src -I../tools/msvs/genfiles
-I../de= ps/v8/include -I../deps/cares/include -I../deps/uv/include -I../deps/ncrypt= o -I../deps/v8/third_party/simdutf =C2=A0-Wall -Wextra -Wno-unused-paramete= r -pthread -Wall -Wextra -Wno-unused-parameter -Werror=3Dundefined-inline -= Werror=3Dextra-semi -Werror=3Dctad-maybe-unsupported -m64 -O3 -fno-omit-fra= me-pointer -fno-rtti -fno-exceptions -fno-strict-aliasing -std=3Dgnu++20 -M= MD -MF /wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/.deps//= wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/node= _mksnapshot/tools/snapshot/node_mksnapshot.o.d.raw -isystem /usr/local/incl= ude -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-str= ict-aliasing =C2=A0 -isystem /usr/local/include =C2=A0-c
../test/embeddi= ng/embedtest.cc:138:12: error: no viable conversion from 'node::Embedde= rSnapshotData::Pointer' (aka 'unique_ptr<const EmbedderSnapshotD= ata, DeleteSnapshotData>') to 'bool'
=C2=A0 138 | =C2=A0 = =C2=A0 assert(snapshot);
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0^~~~~~~~
/usr/include/c++/v1/__memory/unique_ptr.h:276:= 64: note: explicit conversion function is not a candidate
=C2=A0 276 | = =C2=A0 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit operato= r bool() const _NOEXCEPT {
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
../test/embeddi= ng/embedtest.cc:216:14: error: no viable conversion from 'node::Embedde= rSnapshotData::Pointer' (aka 'unique_ptr<const EmbedderSnapshotD= ata, DeleteSnapshotData>') to 'bool'
=C2=A0 216 | =C2=A0 = =C2=A0 =C2=A0 assert(snapshot);
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~
/usr/include/c++/v1/__memory/uni= que_ptr.h:276:64: note: explicit conversion function is not a candidate
= =C2=A0 276 | =C2=A0 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 exp= licit operator bool() const _NOEXCEPT {
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
2= errors generated.
```

Any clues?

Th= anks,

Dimitry Andric <dim@freebsd.org> escreveu (segunda, 1/06/2026 =C3=A0(s) = 18:13):
The bran= ch main has been updated by dim:

URL: https://cgit.= FreeBSD.org/src/commit/?id=3D86326398b73b81f84831fb5fc4c12d9219bc0f57
commit 86326398b73b81f84831fb5fc4c12d9219bc0f57
Author:=C2=A0 =C2=A0 =C2=A0Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2026-06-01 17:10:11 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2026-06-01 17:10:11 +0000

=C2=A0 =C2=A0 Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin):=

=C2=A0 =C2=A0 =C2=A0 [Serialization] Fix assertion on re-deserialized frien= d template spec=E2=80=A6 (#200566)

=C2=A0 =C2=A0 =C2=A0 =E2=80=A6ialization in PCH (#198133)

=C2=A0 =C2=A0 =C2=A0 A friend function-template specialization declared ins= ide a class
=C2=A0 =C2=A0 =C2=A0 template is serialized into a PCH. When the class temp= late is later
=C2=A0 =C2=A0 =C2=A0 instantiated while loading the PCH, the friend special= ization can be
=C2=A0 =C2=A0 =C2=A0 deserialized re-entrantly (VisitFriendDecl -> Visit= FunctionDecl -> ...
=C2=A0 =C2=A0 =C2=A0 -> VisitFunctionDecl for the same specialization) a= t the same time as
=C2=A0 =C2=A0 =C2=A0 the canonical copy, producing two redeclarations of th= e same
=C2=A0 =C2=A0 =C2=A0 specialization in the template's specialization se= t.

=C2=A0 =C2=A0 =C2=A0 ASTDeclReader::VisitFunctionDecl asserted that this co= llision could only
=C2=A0 =C2=A0 =C2=A0 happen when merging declarations from different module= s. Since
=C2=A0 =C2=A0 =C2=A0 38b3d87bd384, friend functions defined inside dependen= t class templates
=C2=A0 =C2=A0 =C2=A0 are loaded eagerly, so the collision can now also occu= r within a single
=C2=A0 =C2=A0 =C2=A0 PCH/AST file (non-modules build), tripping the asserti= on:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 Assertion failed: (Reader.getContext().getLangO= pts().Modules &&
=C2=A0 =C2=A0 =C2=A0 =C2=A0 "already deserialized this template specia= lization"), function
=C2=A0 =C2=A0 =C2=A0 =C2=A0 VisitFunctionDecl

=C2=A0 =C2=A0 =C2=A0 The merge that follows (mergeRedeclarable) already lin= ks the two
=C2=A0 =C2=A0 =C2=A0 redeclarations correctly regardless of whether modules= are enabled, so
=C2=A0 =C2=A0 =C2=A0 the fix is to drop the modules-only assumption and let= the merge run.

=C2=A0 =C2=A0 =C2=A0 Fixes https://github.com/llvm= /llvm-project/issues/198133

=C2=A0 =C2=A0 This fixes (well, simply removes :) an assertion when buildin= g the
=C2=A0 =C2=A0 cad/OrcaSlicer port with precompiled headers turned on.

=C2=A0 =C2=A0 PR:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0295296
=C2=A0 =C2=A0 MFC after:=C2=A0 =C2=A0 =C2=A0 3 days
---
=C2=A0contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp | 2 --=
=C2=A01 file changed, 2 deletions(-)

diff --git a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp= b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp
index b918bfbd549c..87224fae5dbb 100644
--- a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp
+++ b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp
@@ -989,8 +989,6 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD)= {
=C2=A0 =C2=A0 =C2=A0 =C2=A0if (InsertPos)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0CommonPtr->Specializations.InsertNode(= FTInfo, InsertPos);
=C2=A0 =C2=A0 =C2=A0 =C2=A0else {
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 assert(Reader.getContext().getLangOpts().Modul= es &&
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"already deser= ialized this template specialization");
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Existing =3D ExistingInfo->getFunction= ();
=C2=A0 =C2=A0 =C2=A0 =C2=A0}
=C2=A0 =C2=A0 =C2=A0}



--
Nuno Teixeira
=
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--00000000000068d09e06536b5c59-- From nobody Thu Jun 4 11:07:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWMGY3dlVz6gXhw for ; Thu, 04 Jun 2026 11:07: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWMGY33KCz3HB9 for ; Thu, 04 Jun 2026 11:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780571237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8yyxFvo0+rXSVFArxJjb5OpdHSnVYr1cZuVwOhWK3JY=; b=mti0bVs76S7p9KLbRRFx7l+rbom7A6s5iZ3OVSH91oYn/KtqpPTj2zsPVBAKFMEx7qROub BM8fy+h02qGHhEc4rt4YtmumI9k9616LlL6uvNRbPZGiMnZVD6l3CtoSKDDZ7CA/WJ6qRG W7R+9dJWj75KYQeQu/7XyNIgy1KdLQivm5jECuHzF+ExmuWfmhrQ5u+vmI8icmeZ6FbboW DZUm+FJb+9T09t3k18Sj5hr5xzX1rASXvOOlentXPCaoXkolLKXjp/3HG25FRZdkAY6Mxj NiDwCabFu04zA9B3YyUoFFzIp+i/V4WJRduLFlnZcuS7zWQDrNftSpyj7KR0Lw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780571237; a=rsa-sha256; cv=none; b=RaIKfR36yTH4GAEIGDogeMT7q0YRkQT9WuJoyIS13qdZaL1dKtl82wlhg9NCV4pMg0fCPl QJuCQ4FMJsrFi+79+BXQGm2hC2cpxliF9gsbsnYKabspeP0G4j9NG7nd1BrC4Xy/W296AA iUPojUAK//WZLTDdANJZJSwemVJxYfsmbEgUqa3jw71RNE/htG2nhJ8kpzI0cZFZmT3NBS Xw4OMqIr9/9Pj36Zo9WMhlWW6tAVG6xupD0tHspAs/bWCdKoVElVQ9LNCPMDRIaRpB6cUi DTVbQp++pdCaXKUe2DEKSHGJRI9tsqgXTNf/8wSQVTNDgVL8CepMrL65pjZU8A== 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=1780571237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8yyxFvo0+rXSVFArxJjb5OpdHSnVYr1cZuVwOhWK3JY=; b=IKExOfGqinzxfTaMlAif2kg/helFoYGRhsXss4EwoHey5EP/Iyo5GnD+2V06g7zZ9w/0L3 Phj14h27stxi/HxHQL8VMwOtXAu2Non1qxyIsoBXMbFIkxGGJbnqYtcATmsqg1oTBCpJx2 NpQF7vG0XCLDu1yPIriuLfuKwMEAayMxHGJ5sH6JalrQEm5p5DDOkEt9ilwTeHzBHslPDM cTyPhdVYWbkdYaLpbRgXDFHg8pX8ONd9yBW94f1yh3N2bB79BWFnlkYD4L6cOsd6R/590e /+7ZG8K2W6SaK+6Bq7eqjBM9kSGjr2MCtaqH4MGJqXQ3T6PaNQymL4dpt8ZAnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWMGY2fLFzwMM for ; Thu, 04 Jun 2026 11:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d1e6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 11:07:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 0c2d64ce3da9 - main - MAC/do: Clarify comments about flags attached per-ID or per-ID-type List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0c2d64ce3da9c042da133c8b6d7391abb177f2c9 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 11:07:17 +0000 Message-Id: <6a215c65.1d1e6.4f247672@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0c2d64ce3da9c042da133c8b6d7391abb177f2c9 commit 0c2d64ce3da9c042da133c8b6d7391abb177f2c9 Author: Olivier Certner AuthorDate: 2026-06-04 10:01:23 +0000 Commit: Olivier Certner CommitDate: 2026-06-04 11:06:39 +0000 MAC/do: Clarify comments about flags attached per-ID or per-ID-type No functional change. MFC after: 3 days Sponsored by: The FreeBSD Foundation --- sys/security/mac_do/mac_do.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sys/security/mac_do/mac_do.c b/sys/security/mac_do/mac_do.c index 7bb3e2a150c5..d150c8bcb228 100644 --- a/sys/security/mac_do/mac_do.c +++ b/sys/security/mac_do/mac_do.c @@ -123,20 +123,22 @@ _Static_assert(sizeof(uid_t) == sizeof(u_int) && (uid_t)-1 >= 0 && * encoding for simplicity. * * There is currently room for "only" 16 bits. As these flags are purely - * internal, they can be renumbered and/or their type changed as needed. + * internal, they can be renumbered and/or the underlying type changed as + * needed. * * See also the check_*() functions below. */ typedef uint16_t flags_t; -/* (i,gid) Specification concerns primary groups. */ +/* (i,gid) Group can appear as a primary group. */ #define MDF_PRIMARY (1u << 0) -/* (i,gid) Specification concerns supplementary groups. */ +/* (i,gid) Group can appear as a supplementary group. */ #define MDF_SUPP_ALLOW (1u << 1) /* (i,gid) Group must appear as a supplementary group. */ #define MDF_SUPP_MUST (1u << 2) /* (i,gid) Group must not appear as a supplementary group. */ #define MDF_SUPP_DONT (1u << 3) +/* (i,gid) Mask to detect a supplementary group specification. */ #define MDF_SUPP_MASK (MDF_SUPP_ALLOW | MDF_SUPP_MUST | MDF_SUPP_DONT) #define MDF_ID_MASK (MDF_PRIMARY | MDF_SUPP_MASK) @@ -144,8 +146,8 @@ typedef uint16_t flags_t; * (t) All IDs allowed. * * For GIDs, MDF_ANY only concerns primary groups. The MDF_PRIMARY and - * MDF_SUPP_* flags never apply to MDF_ANY, but can be present if MDF_CURRENT is - * present also, as usual. + * MDF_SUPP_* flags do not apply to MDF_ANY, but can be present if MDF_CURRENT + * is present also, as for explicit IDs. */ #define MDF_ANY (1u << 8) /* (t) Current IDs allowed. */ From nobody Thu Jun 4 11:07:16 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWMGd5XYFz6gXnW for ; Thu, 04 Jun 2026 11:07: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWMGd2hkrz3HHQ for ; Thu, 04 Jun 2026 11:07:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780571241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7psFpt1AOj1X2yaJ0L8E0iF/RfMAGH+UXjjjxfe8V6Q=; b=sPrR0GeljK3eHFeCeGcrO3ETo43qx1uGSINjqgfAzuAHYdz4Aq8ej923JizewVQHxleud+ je4MnYqIqDM7KKF03vuVoTcz7CnvaaMj5ZN/B7mUdgDJWdVIlr7CJKcPs2lXNVyzgztew4 uxOMUJWEzPG076sZ1phRQdFH2HvC0dzSv3oVMfWYalT4cUWviKCvUaNpc6ctdjrnxnired /CiG0KhTlhH+F0AW/Yv0e9RAnErIDCYp11h9t0zslUohw4gy8Xnw89kPhnx9AAgtQyZGyx zDnQATErrlxmB4DQ4NpTEQQiM04FmYXidI0QFpYFtsA/AY+d/WegxrVOyHTSIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780571241; a=rsa-sha256; cv=none; b=Xhpgs/gsYWeXwgrjAWP8XUz84cPXPKzYK3rOK5eXsKCiyGnN8eWfscbZXthm2/w0k5xb6P XQBRIKvQ2QgDLAhj1d0fUJvZQQDzoGXgW+nCRoAIqSTz0AdYnP6lMortOcFj7WdHI5BWhA Llt/kfVsz/N2b5LYEPI1KWhL0EHx9uMtSI71AhXg/oSGwJKxPDEpVX4R2HQmb7/1TDgNXq 8XYk313pmwvX7KK6IBjrkGW0yMA3IRsVg01PBlHVcH6NsDHH7b+wyesapEdKou3SwEuH0/ /pspIVcM+FWZksa8FepaWlKHHBJyM4YiW52YbsRfVGtTbkfaSsZqqAap00wK4A== 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=1780571241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7psFpt1AOj1X2yaJ0L8E0iF/RfMAGH+UXjjjxfe8V6Q=; b=yX0lfzKBSvT3y9XUlrjRB5V0higtxajU+QSbXpZBkijD4bTtsVJaYdahRpq+Hw5dgsZ+NM RXxWojDwxFsPoseViF2fifw+lguEdu9yZ86LAMvnHvwPBJ/D+5vl2snQLDv1ySrqS8FzD0 MGZWOtVM5ycUHZriEZAXiMfT/8GTRD9TrbjU/CFKr0HHVpC9Tz4Z5VfLUMP8O/ykxfnTZ/ Dyohy+a2yLv8zVKV8Bzn4djiz7U+2eJW8AjOxYwo+CujIWVGvfji6ziz+Or979X3knNsq0 Y7WxYYBT0y9EK2AeuRq9QYjv7ouNgFvhClaKfm+KThIZw1Tl2lXphFzvPZqPjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWMGd2Fk9zw3K for ; Thu, 04 Jun 2026 11:07:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1cdac by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 11:07:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 1c0e5c53ff16 - main - kern_prot.c: Belatedly add copyright List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1c0e5c53ff1672a93fc42988020723bb6bc427c1 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 11:07:16 +0000 Message-Id: <6a215c64.1cdac.73bd1be2@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=1c0e5c53ff1672a93fc42988020723bb6bc427c1 commit 1c0e5c53ff1672a93fc42988020723bb6bc427c1 Author: Olivier Certner AuthorDate: 2026-06-04 09:49:23 +0000 Commit: Olivier Certner CommitDate: 2026-06-04 11:06:34 +0000 kern_prot.c: Belatedly add copyright See the commit log for the why. MFC after: 3 days Sponsored by: The FreeBSD Foundation --- sys/kern/kern_prot.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index b1e4b731145e..c8dc05f0ebbd 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -6,6 +6,11 @@ * (c) UNIX System Laboratories, Inc. * Copyright (c) 2000-2001 Robert N. M. Watson. * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Olivier Certner + * at Kumacom SARL under sponsorship from the FreeBSD + * Foundation. * * All or some portions of this file are derived from material licensed * to the University of California by American Telephone and Telegraph From nobody Thu Jun 4 11:38:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWMyz02hXz6gb8M; Thu, 04 Jun 2026 11:38:51 +0000 (UTC) (envelope-from dim@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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWMyy4LpKz3LFJ; Thu, 04 Jun 2026 11:38:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780573130; 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: in-reply-to:in-reply-to:references:references; bh=TCpTWdrx1szVUwHPW+6aQ2pB8PBg19z8dyda2CyLX9c=; b=PUojUXyH+vzeFEvY8MvO/1BGvPA+5Lj9NK5Bh83f/Y16hylf38PeBOE68CaSILPOCH/ioS gyd0Osbc0h/O0cDyYsumpqL7l2pcAOLTexGODKYbhopnnHoxMT7bNx8nysGDoF4J/2xmUy HxLIuAB6aq0eWVfNxrifHGuLzyjO8vZEriLnGAqYI3pON8Z5lBnnso05odh8lhSb4QoJnS CWgPxdg1QqminYSLjNrsy3XA6W+DDJLMOxqvp2n90/N14IU1t3172mF9mHLLB9YQrWpK28 mix774mbRNhXm+3H02n5eWLQl6MQ1IWBycpd0sq8eqbIHVnvf/GTOfsLflFddQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780573130; a=rsa-sha256; cv=none; b=EUbuXd3B4Dyt83ZRe7CoGcW81i04EXu1NXAIiLjTYQH9tzLSg9/ZbHZtvL3wQwB0HUL9EK wH8j/WAWi5xAHvhhdfdYN0z/sZe9L11XNch71RBMf3Q4mTRiPB95XqWyf48gozvd1tFhcr IkHTwkOlCmcQNrj2yJKjipoA63E1R+c67hhP1n/nxHcAG73k9u6g0QwJOqqAhFxTa1AeRs qDL/8bsxK3UXTj5MhBwM/FEstWqbv8onFftdNEK1zmTcgDcPLXwuHC1QRRaOaXFERaq+1J DC+w4n3R5ihDUczv9TXal71eY/AAt3gRVaOBrXz0BiN0QgKzHpWu64HEDfz9EQ== 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=1780573130; 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: in-reply-to:in-reply-to:references:references; bh=TCpTWdrx1szVUwHPW+6aQ2pB8PBg19z8dyda2CyLX9c=; b=IvosnUB0t3kW+OjmDNe2dQP42c9WqQUeyTk/PPRvK4+Nje/IQzt7ZJXkdlwwpKSl8Fs16b 43zBFPK+erzgtUphmJYNBNlQNmBSza6M+Fae5N1eP3wiZfXpbVRPayTiIccCzyxQjiQdGn Oh5X9sdXan6htjDo9vuqn/UqplDWTQ1Yy98IB/4yh4kfY1Kgy3+l5BQ/ijyqDZvfU5hzsW qEqCsj+H95MO+zSy6KD0M4h70JEZNyTiFzMeFKyxRu7FyyMmw5CLExBH7unl6v0TavCEiy LJkiSLtPIHpEj5Ff8XcUjZAKmdeRDtt0uinZD5T1FOMpQ0RX7qxmJFo0/Gm9RQ== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (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 ECDSA (prime256v1) client-digest SHA256) (Client CN "tensor.andric.com", Issuer "YE2" (not verified)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gWMyy2VFrz12bG; Thu, 04 Jun 2026 11:38:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (bladnoch.home.andric.com [192.168.0.20]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 56EC06BA23; Thu, 04 Jun 2026 13:38:49 +0200 (CEST) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81.1.8\)) Subject: Re: git: 86326398b73b - main - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): From: Dimitry Andric In-Reply-To: Date: Thu, 4 Jun 2026 13:38:49 +0200 Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <6a1dbdb4.18f1f.11efe144@gitrepo.freebsd.org> To: Nuno Teixeira X-Mailer: Apple Mail (2.3826.700.81.1.8) On 4 Jun 2026, at 12:53, Nuno Teixeira wrote: >=20 > Not sure if it is related but I'm seing some ports failing recently = with errors bellow. > ( error: no viable conversion from ... to 'bool' ) >=20 > Similar fails appears at pkg-fallout: >=20 > = https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p226b23044e= e7_s67df3130159/logs/binaryen-130.log > = https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p226b23044e= e7_s67df3130159/logs/encryptpad-0.5.0.4_6.log >=20 > =46rom node24 on main-n286352-73e0d6b44038: > ``` > c++ -o = /wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/no= de_mksnapshot/tools/snapshot/node_mksnapshot.o = ../tools/snapshot/node_mksnapshot.cc '-D_GLIBCXX_USE_CXX11_ABI=3D1' = '-D_FILE_OFFSET_BITS=3D64' '-DNODE_OPENSSL_CONF_NAME=3Dnodejs_conf' = '-DNODE_OPENSSL_CERT_STORE' '-DICU_NO_USER_DATA_OVERRIDE' = '-D__STDC_FORMAT_MACROS' '-DNODE_WANT_INTERNALS=3D1' = '-DNODE_MKSNAPSHOT_USE_ARRAY_LITERALS=3D1' '-DHAVE_OPENSSL=3D1' = '-DNODE_USE_NODE_CODE_CACHE=3D1' '-DHAVE_INSPECTOR=3D1' '-D__POSIX__' = '-DNODE_USE_V8_PLATFORM=3D1' '-DNODE_HAVE_I18N_SUPPORT=3D1' = '-DHAVE_AMARO=3D1' '-DHAVE_SQLITE=3D1' '-DHAVE_QUIC=3D0' -I../src = -I../tools/msvs/genfiles > -I../deps/v8/include -I../deps/cares/include -I../deps/uv/include = -I../deps/ncrypto -I../deps/v8/third_party/simdutf -Wall -Wextra = -Wno-unused-parameter -pthread -Wall -Wextra -Wno-unused-parameter = -Werror=3Dundefined-inline -Werror=3Dextra-semi = -Werror=3Dctad-maybe-unsupported -m64 -O3 -fno-omit-frame-pointer = -fno-rtti -fno-exceptions -fno-strict-aliasing -std=3Dgnu++20 -MMD -MF = /wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/.deps//wrkdir= s/usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/node_mksn= apshot/tools/snapshot/node_mksnapshot.o.d.raw -isystem = /usr/local/include -O2 -pipe -fstack-protector-strong -isystem = /usr/local/include -fno-strict-aliasing -isystem /usr/local/include = -c > ../test/embedding/embedtest.cc:138:12: error: no viable conversion = from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr') to 'bool' > 138 | assert(snapshot); > | ^~~~~~~~ > /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit = conversion function is not a candidate > 276 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit = operator bool() const _NOEXCEPT { > | = ^ > ../test/embedding/embedtest.cc:216:14: error: no viable conversion = from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr') to 'bool' > 216 | assert(snapshot); > | ^~~~~~~~ > /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit = conversion function is not a candidate > 276 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit = operator bool() const _NOEXCEPT { > | = ^ > 2 errors generated. > ``` >=20 > Any clues? This is because converting a std::unique_ptr to bool requires an = explicit conversion, i.e. "if (my_unique_ptr)" will work, but using it = with assert() will not. At least, our assert() as defined in /usr/include/assert.h in -CURRENT, = has this contorted definition: #if __cplusplus < 202002L /* * C++ modes prior to C++20 cannot simultaneously satisfy all three * desirable properties of the sanitiser: * * Approach No double-eval Lambda support = Arity check * ----------------------------- -------------- -------------- = ----------- * sizeof(cast(expression)) yes no yes * static_cast(expression) no yes no * (void)bool(expression) no yes no * * NOTE: C++20 introduced lambdas in unevaluated contexts; see = P0315R4. * * Since no approach satisfies all three below C++20, the least harmful * choice is to forgo the check entirely rather than silently break one * of the remaining guarantees. * */ #define __assert_sanitize(...) ((void)0) #else #define __assert_sanitize(...) = (void)sizeof(((bool(*)(bool))0)(__VA_ARGS__)) #endif /* __cplusplus < 202002L */ #else #define __assert_sanitize(...) = (void)sizeof(((_Bool(*)(_Bool))0)(__VA_ARGS__)) #endif /* __cplusplus */ #define assert(...) (__assert_sanitize(__VA_ARGS__), \ (__VA_ARGS__) ? (void)0 : \ __assert(__func__, __FILE__, \ __LINE__, #__VA_ARGS__)) which clearly does not work as intended. I would probalby be simpler to = to use "!!" to force an explicit boolean conversion. For now, the ports could be fixed by changing the asserts to "ptr !=3D = nulltr", or adding an explicit static_cast. Or we should probably = fix our assert macro. -Dimitry From nobody Thu Jun 4 11:47:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWN8w0vNrz6gbp6; Thu, 04 Jun 2026 11:47:28 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWN8v6spfz3PML; Thu, 04 Jun 2026 11:47:27 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780573648; 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: in-reply-to:in-reply-to:references:references; bh=wSNQqAgmFs1shXRpjvFR4EY84LkmVxxDnCbWdB95IYc=; b=E6fmkt5IyJPg9yu2Nio9Wgs+fnt0L5iV1+1EVbCx99q9YKAr2xnXtTu61eF3U06vpeFNcq ew31I9QWL6hTt8koPt5ytEgYpFcbTvuD4l4CLUWqHRSygKD2jESAB0fON0onzkfJzKIy29 hOo2vp7qEBOdNDo242GB4JIEC60Pvv7+mLRh0sO4WjZG1O2JId1U+OnzQBgl2xgF881Rig 3iFZEGE8bZIE/Fq6qBYAkU2iK/DQ/fiUHJoV6KNcLOaiIRBfzwNT9mOkr10Z4X/r8w31YD pzgqMrkhoWpLVSjvmqx/zHvTPQxdwufzA38bPWmT7OeutO5ZF+nXtzFwvdBQkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780573648; a=rsa-sha256; cv=none; b=cL3JVTuKRfCO1KfpC6C0M3UWKrUHUckkXL3el8zIEjkNkWM8ZmQFGDDyixlcQG4BIw4eTs /HFt3JFJB+hSGGueLZAdnLmLN2Emzgkw8YnMSaoCaBGpxOcsS6q4r7Suu2BSnDMlhlHO5G jA24xbVlyilbmyYTAqKOcwdDFhQMlWaHry6sK9HOmEPJkIL7mXmG6lhgJ0eMyK/DXOPFrU reG641sTI1kUeTUzKOOIVFmSNItIPhSivwFajfsOcoASWNYrM7CfEb8g2RWOUc3aS8Wo/+ zepOfVTQre7TOxLiQxFCA0gvvJZRdEPludmJl4y8YB8TKyLirRtZRa3CpwsA4Q== 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=1780573648; 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: in-reply-to:in-reply-to:references:references; bh=wSNQqAgmFs1shXRpjvFR4EY84LkmVxxDnCbWdB95IYc=; b=iXe8yRffu0J2xhwdnnpZVEWpCuzO4UyOG4KFEhgfgJKC+JcimStR6VewDKqM6IdW0E8DtP wvtdDH/eFLaz0cp1EvgPKHUWFP0FIqU1zz4cA6gsrqtvK35/NT9Cho+FXn9tNBoxizsxAD hCYkjnYiaOr/dMitiOyrSsQdk3StdrZAXGEm/mhY3+MMkPnlZKZxVbFJbsd8BGk3xsJW0r isTvutaTjxaA3L4jL2szt9x+O2f7wEN8qmrgvUeGaKKQXBcsN+oEVwWp+17pBWKR859TJt GV0FP+WVH+wqv1jf/Ccm6uGSLYAJDdEguR6EURaCw0ENGI32aEmBK1xWmViWRw== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (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 ECDSA (prime256v1) client-digest SHA256) (Client CN "tensor.andric.com", Issuer "YE2" (not verified)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gWN8v512qz12gH; Thu, 04 Jun 2026 11:47:27 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (bladnoch.home.andric.com [192.168.0.20]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id C34746B9A8; Thu, 04 Jun 2026 13:47:26 +0200 (CEST) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81.1.8\)) Subject: Re: git: 86326398b73b - main - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): From: Dimitry Andric In-Reply-To: Date: Thu, 4 Jun 2026 13:47:26 +0200 Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Robert Clausecker , Faraz Vahedi Content-Transfer-Encoding: quoted-printable Message-Id: References: <6a1dbdb4.18f1f.11efe144@gitrepo.freebsd.org> To: Nuno Teixeira X-Mailer: Apple Mail (2.3826.700.81.1.8) On 4 Jun 2026, at 13:38, Dimitry Andric wrote: >=20 > On 4 Jun 2026, at 12:53, Nuno Teixeira wrote: >>=20 >> Not sure if it is related but I'm seing some ports failing recently = with errors bellow. >> ( error: no viable conversion from ... to 'bool' ) >>=20 >> Similar fails appears at pkg-fallout: >>=20 >> = https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p226b23044e= e7_s67df3130159/logs/binaryen-130.log >> = https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p226b23044e= e7_s67df3130159/logs/encryptpad-0.5.0.4_6.log >>=20 >> =46rom node24 on main-n286352-73e0d6b44038: >> ``` >> c++ -o = /wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/no= de_mksnapshot/tools/snapshot/node_mksnapshot.o = ../tools/snapshot/node_mksnapshot.cc '-D_GLIBCXX_USE_CXX11_ABI=3D1' = '-D_FILE_OFFSET_BITS=3D64' '-DNODE_OPENSSL_CONF_NAME=3Dnodejs_conf' = '-DNODE_OPENSSL_CERT_STORE' '-DICU_NO_USER_DATA_OVERRIDE' = '-D__STDC_FORMAT_MACROS' '-DNODE_WANT_INTERNALS=3D1' = '-DNODE_MKSNAPSHOT_USE_ARRAY_LITERALS=3D1' '-DHAVE_OPENSSL=3D1' = '-DNODE_USE_NODE_CODE_CACHE=3D1' '-DHAVE_INSPECTOR=3D1' '-D__POSIX__' = '-DNODE_USE_V8_PLATFORM=3D1' '-DNODE_HAVE_I18N_SUPPORT=3D1' = '-DHAVE_AMARO=3D1' '-DHAVE_SQLITE=3D1' '-DHAVE_QUIC=3D0' -I../src = -I../tools/msvs/genfiles >> -I../deps/v8/include -I../deps/cares/include -I../deps/uv/include = -I../deps/ncrypto -I../deps/v8/third_party/simdutf -Wall -Wextra = -Wno-unused-parameter -pthread -Wall -Wextra -Wno-unused-parameter = -Werror=3Dundefined-inline -Werror=3Dextra-semi = -Werror=3Dctad-maybe-unsupported -m64 -O3 -fno-omit-frame-pointer = -fno-rtti -fno-exceptions -fno-strict-aliasing -std=3Dgnu++20 -MMD -MF = /wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/.deps//wrkdir= s/usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/node_mksn= apshot/tools/snapshot/node_mksnapshot.o.d.raw -isystem = /usr/local/include -O2 -pipe -fstack-protector-strong -isystem = /usr/local/include -fno-strict-aliasing -isystem /usr/local/include = -c >> ../test/embedding/embedtest.cc:138:12: error: no viable conversion = from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr') to 'bool' >> 138 | assert(snapshot); >> | ^~~~~~~~ >> /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit = conversion function is not a candidate >> 276 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit = operator bool() const _NOEXCEPT { >> | = ^ >> ../test/embedding/embedtest.cc:216:14: error: no viable conversion = from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr') to 'bool' >> 216 | assert(snapshot); >> | ^~~~~~~~ >> /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit = conversion function is not a candidate >> 276 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit = operator bool() const _NOEXCEPT { >> | = ^ >> 2 errors generated. >> ``` >>=20 >> Any clues? >=20 > This is because converting a std::unique_ptr to bool requires an = explicit conversion, i.e. "if (my_unique_ptr)" will work, but using it = with assert() will not. >=20 > At least, our assert() as defined in /usr/include/assert.h in = -CURRENT, has this contorted definition: >=20 > #if __cplusplus < 202002L > /* > * C++ modes prior to C++20 cannot simultaneously satisfy all three > * desirable properties of the sanitiser: > * > * Approach No double-eval Lambda support = Arity check > * ----------------------------- -------------- -------------- = ----------- > * sizeof(cast(expression)) yes no yes > * static_cast(expression) no yes no > * (void)bool(expression) no yes no > * > * NOTE: C++20 introduced lambdas in unevaluated contexts; see = P0315R4. > * > * Since no approach satisfies all three below C++20, the least harmful > * choice is to forgo the check entirely rather than silently break one > * of the remaining guarantees. > * > */ > #define __assert_sanitize(...) ((void)0) > #else > #define __assert_sanitize(...) = (void)sizeof(((bool(*)(bool))0)(__VA_ARGS__)) > #endif /* __cplusplus < 202002L */ > #else > #define __assert_sanitize(...) = (void)sizeof(((_Bool(*)(_Bool))0)(__VA_ARGS__)) > #endif /* __cplusplus */ > #define assert(...) (__assert_sanitize(__VA_ARGS__), \ > (__VA_ARGS__) ? (void)0 : \ > __assert(__func__, __FILE__, \ > __LINE__, #__VA_ARGS__)) >=20 > which clearly does not work as intended. I would probalby be simpler = to to use "!!" to force an explicit boolean conversion. >=20 > For now, the ports could be fixed by changing the asserts to "ptr !=3D = nulltr", or adding an explicit static_cast. Or we should probably = fix our assert macro. That is, the following C++20 program should really successfully compile = with our assert(): #include #include void f(std::unique_ptr p) { assert(p); } but at the moment it does not: unique-ptr-assert.cpp:6:10: error: no viable conversion from = 'std::unique_ptr' to 'bool' 6 | assert(p); | ^ /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit = conversion function is not a candidate 276 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit = operator bool() const _NOEXCEPT { | ^ When compiled with -save-temps, it shows the eventual expression it dies = on: unique-ptr-assert.cpp:6:36: error: no viable conversion from = 'std::unique_ptr' to 'bool' 6 | ((void)sizeof(((bool(*)(bool))0)(p)), (p) ? (void)0 : = __assert(__func__, "unique-ptr-assert.cpp", 6, "p")); | ^ So it seems the recent changes to assert.h broke C++20 behavior. -Dimitry From nobody Thu Jun 4 11:51:06 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWNFF4Cglz6gc8v for ; Thu, 04 Jun 2026 11:51: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWNFD0FRrz3PjS for ; Thu, 04 Jun 2026 11:51:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780573872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IBQNQJTdoX3iHOxf3iJGy/sKmEFx1AVPPFHqUHwPXzk=; b=t78fhK24TqMKlZRKXaFTIrYs/f7JqsyihEU49zixum7/y/IDAYIVkbXHczn61X81cFcd4r 1p8cP1tauLh5cCwhrCPcKmxGxu7zMLQQIiJ5TQGrkINFCxfUlWMfU2CFSDaWIo0iQPsGuf t4cREU5uv6ePesrxjO9mZ3ZErZaPXh5uE+kf5CQz/cZCq8HuD7i7/dzahxssy35LZzO2uT gTl0AQLiAEn0aXq3OMvwp3JocY8rlT2kdEH6+1D5S/xYRwvd+NwlqE/bun3k6KX0gluwwa FbXT4ECUYeK7qKMNi1J7rZJa2QmcAwSlRxp73NP4j2u07En+wsA17zviUuygXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780573872; a=rsa-sha256; cv=none; b=IFqLXDSYcEiUZtZFn2sm7NMxFj4w2bZkxd63wTHEOraESZglfkWk4qbI//Rf7dZATyYThz vT5acnNCX9vGxRXtHpsHaAduaGnTYNZEAPdRP9Kymjy2vCkp/Cp24fbBSVYJ3g+nZ91CcH 6PBGRnDYEYuGNB3rPRYeBhzUD10hsdj13ArnUSWD83gMJ7BFlUqCpDYG+Ub1clqg1h1Q/f KGLBV095P+VgWcArV8R/HKgqaX/cQUzim490IwDv6U3F6L35oFUePzDO4mPDxBCUrxL2dY bSaEZUV/+bIA7fCCXCtyIzBSRTekKtAp6FibTG1knduedrNUlPPv1jk8demsqA== 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=1780573872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IBQNQJTdoX3iHOxf3iJGy/sKmEFx1AVPPFHqUHwPXzk=; b=AsYlltfncoXlgafnlH2YUliQFSqe6U2E9VXjg5wzrrpZsZUGAOIL1wU8pgMKRNevfZFWg0 jAgchwKWfLlyuP2DpTiFFW0psdIDscHL1JiRWABUZPXVHtIbWqif2y54O7e6VsLDnPoiMh +48gdJ+XXmly53/DhxFxg1oEv4TB5VWl6eL04ZxFpTZdZvhMf25dP0ZmzIyu87ob3kDcCo HnMlniMDJnjvIzULJZ6KGFOk7a63Isz5jK7A0YUFfDBSFswW9v3JG+rIYtxXYMGLlpEGII HfQtWkFzfepGZU0jplh9NsILuklfnVy/kYCS7q1h8ltkPcHhPFvh+czEoznG/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 4gWNFC6qfTzxdx for ; Thu, 04 Jun 2026 11:51:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22490 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 11:51:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 7487932f4fbc - main - assert.h: style(9): Space after #define, between #endif and comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7487932f4fbc5a71231d3b1fc93d160253f38c83 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 11:51:06 +0000 Message-Id: <6a2166aa.22490.59890f0d@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=7487932f4fbc5a71231d3b1fc93d160253f38c83 commit 7487932f4fbc5a71231d3b1fc93d160253f38c83 Author: Olivier Certner AuthorDate: 2026-06-02 10:01:05 +0000 Commit: Olivier Certner CommitDate: 2026-06-04 11:49:26 +0000 assert.h: style(9): Space after #define, between #endif and comment style(9) still allows TAB after #define but this is a historical artifact and by far the minority of uses cases. Going forward, we would like to promote the use of a single space, as it allows alignment to survive line prefixing (such as in diffs). style(9) also has prescribed a single space between '#else' or '#endif' and a comment recalling the guard since 2002. So, commit 157c184689ea ("assert.h: Remove leading tabs for whitespace consistency") was good, and in line with rules about whitespace changes (since the file was heavily modified by surrounding commits). This commit is thus basically a revert of 439710cf003b ("assert.h: Revert "Remove leading tabs for whitespace consistency"), which extended replacing spaces with TABs in the code introduced in the meantime (after commit 157c184689ea). Reviewed by: fuz, imp Fixes: 439710cf003b ("assert.h: Revert "Remove leading tabs for whitespace consistency") MAC after: 3 days Differential Revision: https://reviews.freebsd.org/D57391 --- include/assert.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/include/assert.h b/include/assert.h index f1dcf2bb180c..d4c9627bf3ea 100644 --- a/include/assert.h +++ b/include/assert.h @@ -46,11 +46,11 @@ #undef __assert_unreachable #ifdef NDEBUG -#define assert(e) ((void)0) -#define _assert(e) ((void)0) +#define assert(e) ((void)0) +#define _assert(e) ((void)0) #if __BSD_VISIBLE -#define __assert_unreachable() __unreachable() -#endif /* __BSD_VISIBLE */ +#define __assert_unreachable() __unreachable() +#endif /* __BSD_VISIBLE */ #else #ifdef __cplusplus #if __cplusplus < 202002L @@ -71,25 +71,25 @@ * of the remaining guarantees. * */ -#define __assert_sanitize(...) ((void)0) +#define __assert_sanitize(...) ((void)0) #else -#define __assert_sanitize(...) (void)sizeof(((bool(*)(bool))0)(__VA_ARGS__)) +#define __assert_sanitize(...) (void)sizeof(((bool(*)(bool))0)(__VA_ARGS__)) #endif /* __cplusplus < 202002L */ #else -#define __assert_sanitize(...) (void)sizeof(((_Bool(*)(_Bool))0)(__VA_ARGS__)) +#define __assert_sanitize(...) (void)sizeof(((_Bool(*)(_Bool))0)(__VA_ARGS__)) #endif /* __cplusplus */ -#define assert(...) (__assert_sanitize(__VA_ARGS__), \ +#define assert(...) (__assert_sanitize(__VA_ARGS__), \ (__VA_ARGS__) ? (void)0 : \ __assert(__func__, __FILE__, \ __LINE__, #__VA_ARGS__)) -#define _assert(...) assert(__VA_ARGS__) +#define _assert(...) assert(__VA_ARGS__) #if __BSD_VISIBLE -#define __assert_unreachable() assert(0 && "unreachable segment reached") -#endif /* __BSD_VISIBLE */ +#define __assert_unreachable() assert(0 && "unreachable segment reached") +#endif /* __BSD_VISIBLE */ #endif /* NDEBUG */ #ifndef __STDC_VERSION_ASSERT_H__ -#define __STDC_VERSION_ASSERT_H__ 202311L +#define __STDC_VERSION_ASSERT_H__ 202311L /* * Static assertions. In principle we could define static_assert for @@ -105,7 +105,7 @@ */ #if __ISO_C_VISIBLE >= 2011 && !defined(__cplusplus) && \ __STDC_VERSION__ < 202311L -#define static_assert _Static_assert +#define static_assert _Static_assert #endif __BEGIN_DECLS From nobody Thu Jun 4 12:57:50 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWPk804Kqz6gDJ7; Thu, 04 Jun 2026 12:57:52 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWPk76X0kz3Vkj; Thu, 04 Jun 2026 12:57:51 +0000 (UTC) (envelope-from brooks@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780577871; 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: in-reply-to:in-reply-to:references:references; bh=ZT1x1wPIIQd6XZpwNvicqvFeFKvY0u8X0R4x22IfaO8=; b=syyXm/khGEM5qtHBOapIIhpRoXEp+5qOr+D9LFgJ2u3fxpPWiRVB/mRgY3mh6PnxNpRx5w tBeOi2tp0r0nRZlTZBXbLtypLIfbuh5r1JQeOJtG3pZ4ftA4r+DikJuDQnZzTs/bWKamut 07xQseiicSXGSWTUqlawbMeLExDQqBIuhRzotjykkPGiZfKOonMzmTuOeDBoDw4yW9aUm2 nX9/KZa6GDgpZtrOXxhpb4BTHTIlfdAqpyenYqyQj8i7enpkqgGBqRMrhoMwnGPBSIqqr9 pb0PUL6XmAlUWmie+Zh0nxdjcyRprKxx+JkKxM7b7mUUB0zilxpnJOsYr3kk1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780577871; a=rsa-sha256; cv=none; b=g0Zvi8+f8a4FcG5DO+k16Doir9HjQYNkeJM79DeVeDoTQjUOttUpybaKIlKVXh/Olq/Buf t82ga+A0z/RbZvavoEUBLM88MQaKsbnvLZql8Hy9wbjKnqFPjDnVT3uZEJOfSojiWiNTTo /9hxXnSPS3WVv1FU2YB8uodTIblBhZLcP3XftzIvYRFTk78gkxuO/8iz55E5OuRthBZjI6 PDkwrL1Q+23m9s9RhhBPfBYWx9k8VIs/NKKPsXea84JbIzGdTuh2BTAWnrPkqlxorbYwpO pCYRIRDPMjPQI5NevAixbkaZRnRzLOQonnfmZRqGafIEMKP1Y0rvtwkJLsDhbg== 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=1780577871; 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: in-reply-to:in-reply-to:references:references; bh=ZT1x1wPIIQd6XZpwNvicqvFeFKvY0u8X0R4x22IfaO8=; b=nwgWf/SWjNjCOEFYg3PMeGi47EWR2327J2s2sKmikfS+PZy1/Bq4WCzHcFfJUIdPe7uzAy WM7fLIkg09FNIXrDg8Ih1PB08BC8bW+CFJzD+MRa8aJ3s8h+lJOryprGlI9o9wCn2C4Zit IXu+vScu+R6TQjWpwA48hkr/WgyTDD7SU6mDFKlg9QkzyoJn7t9BhT4BPunRXBZnhUDA/a p6yZ9SvjYzOglSZzwzEQm4WNqf6Mi2VhmVjgBohOifWCtjLbq5LerIFzCznJwAeQ5U6dri LuZygZBJLIBi6VU9Cq9fDWlcTxaAIuZkowkhCp+3jKA9Eew21mbnxTPM7aFiBQ== Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: brooks/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gWPk75cDZz13Tf; Thu, 04 Jun 2026 12:57:51 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 10EAF3C01A0; Thu, 04 Jun 2026 12:57:51 +0000 (UTC) Date: Thu, 4 Jun 2026 12:57:50 +0000 From: Brooks Davis To: Olivier Certner Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 7487932f4fbc - main - assert.h: style(9): Space after #define, between #endif and comment Message-ID: References: <6a2166aa.22490.59890f0d@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6a2166aa.22490.59890f0d@gitrepo.freebsd.org> On Thu, Jun 04, 2026 at 11:51:06AM +0000, Olivier Certner wrote: > The branch main has been updated by olce: > > URL: https://cgit.FreeBSD.org/src/commit/?id=7487932f4fbc5a71231d3b1fc93d160253f38c83 > > commit 7487932f4fbc5a71231d3b1fc93d160253f38c83 > Author: Olivier Certner > AuthorDate: 2026-06-02 10:01:05 +0000 > Commit: Olivier Certner > CommitDate: 2026-06-04 11:49:26 +0000 > > assert.h: style(9): Space after #define, between #endif and comment > > style(9) still allows TAB after #define but this is a historical > artifact and by far the minority of uses cases. Going forward, we would > like to promote the use of a single space, as it allows alignment to > survive line prefixing (such as in diffs). > > style(9) also has prescribed a single space between '#else' or '#endif' > and a comment recalling the guard since 2002. > > So, commit 157c184689ea ("assert.h: Remove leading tabs for whitespace > consistency") was good, and in line with rules about whitespace changes > (since the file was heavily modified by surrounding commits). > > This commit is thus basically a revert of 439710cf003b ("assert.h: > Revert "Remove leading tabs for whitespace consistency"), which extended > replacing spaces with TABs in the code introduced in the meantime (after > commit 157c184689ea). Please add all three commits to .git-blame-ignore-revs. -- Brooks From nobody Thu Jun 4 13:04:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWPsq08htz6gFNq for ; Thu, 04 Jun 2026 13:04: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWPsp6RNhz3XZB for ; Thu, 04 Jun 2026 13:04:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780578270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ro4g9Qfqs8MwMIwN1HZxQL/XS+ENOAZCWLQ9nY0dNwk=; b=UVBxLmDboNs2PhNEGUxU2ir9bPnC+kF3VTGlbPrEN9kgpfpXJOWIARrIaHNvYwDsCkX1cM X73saPm27oqEOvAGDSJjS8kymCrEdp2oz6uVe08zUapaGilPFlJ1t4M2LvcoBgsVP3Ifs7 eLNzcgEXu2UtBkppdGDF0F0v4NgsNCnvQK4uJ5voAUDXZoYQEBNyKHVViU8km0elzoU8Us W6hnULHnfmVchr/TIM/2ONcZwxY4slTE9l5fOcPOj+Zahg37aHPk/ulx3ofY375K5/hWeC Su9fEGB3MUgJMmKbrtJ6JrNndvd5lxW4XAu+g6R++Z9lkXKgD2enhGlRUU5kcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780578270; a=rsa-sha256; cv=none; b=woAeXO+xzQ77kEODXM4nO2CQQyMOCJWiRzvbFvAO9+soQ8Mr0OPpdUCwvCeUsw8yaJBlGq 8LoYNAdBM2qVeAAnEJSfCLNBZOZMg6+fTpmewRr8zKApYGtdo5HFqqe6OkF0PPyaluDsea lRoVLTrEPi2PklclS0s87yOdg9KWR7r8ayWLFVyldZLYsWm6lEvy9RzjROqEawnAKYQYS2 yB3YggQEMu4MQ8bkcdjt3m8qmgN9X4QNPvirefniykJnceTPj3TQcupMFOknqV2MdOoVyh JoXkUe4YeeB7aZ6yzmal8SxnyKLtFmidIknaCc2DS80tPPdGcwze1bKMW53o2A== 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=1780578270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ro4g9Qfqs8MwMIwN1HZxQL/XS+ENOAZCWLQ9nY0dNwk=; b=V/Sq/hATN7+JuZSkvQC54GuLcJf6QtUuCVRxrXl2CnUz4IPK2vFrl/WAWRvDhtuL3ao3bE VZH8KpGUBl56/6OhohssP3HWkpj0tdEim8m4Mg+5MfYzNDIDVy4ZEtndQk6txT96cDsh53 omPpmG+m3FrhCIouAcL2qrPrx6zeriHY3rMG/FHmorJc88DLKXQI8sKCosFSHyYrdxvYCs f125HXoIxncL3Cxj9XzmwdRp01KuQWJGJratxA88qYvbRxRJCWbFKMpmOnKN0pfiT+NpEx 7Oy57+Nzdmf2jEk+xLKsEsxWFesqT7i2KXL0KvGiToiaTT5a2oEX9HP1Xyg0Qw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWPsp60p2z102f for ; Thu, 04 Jun 2026 13:04:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31695 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 13:04:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: b3a8659f3692 - main - MAINTAINERS, CODEOWNERS: Add myself to fts and stdio List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b3a8659f3692977b2d4689d3d1388860c868dc4c Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 13:04:30 +0000 Message-Id: <6a2177de.31695.6d40ea86@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b3a8659f3692977b2d4689d3d1388860c868dc4c commit b3a8659f3692977b2d4689d3d1388860c868dc4c Author: Dag-Erling Smørgrav AuthorDate: 2026-06-04 13:03:49 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 13:03:49 +0000 MAINTAINERS, CODEOWNERS: Add myself to fts and stdio --- .github/CODEOWNERS | 7 +++++-- MAINTAINERS | 15 +++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 4f940d3d508a..2df505627dc2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -45,7 +45,7 @@ /contrib/netbsd-tests/crypto/opencrypto/ @jmgurney /contrib/netbsd-tests/kernel/kqueue/ @jmgurney /contrib/one-true-awk/ @bsdimp -/contrib/openpam/lib/libpam/ @dag-erling +/contrib/openpam/ @dag-erling /contrib/pjdfstest @ngie-eign @asomers /contrib/wpa @cschuber /crypto/heimdal @cschuber @@ -59,10 +59,13 @@ /lib/libblocklist @jlduran /lib/libc/string/ @fuz /lib/libc/*/string/ @fuz +/lib/libc/gen/fts.? @dag-erling +/lib/libc/stdio/ @dag-erling /lib/libc/sys/kevent.c @jmgurney +/lib/libc/tests/gen/fts* @dag-erling +/lib/libc/tests/stdio/ @dag-erling /lib/libefivar/ @bsdimp /lib/libfetch @dag-erling -/lib/libfigpar @dag-erling /lib/libpam/ @dag-erling /lib/libsecureboot/ @stephane-rochoy-stormshield /lib/libveriexec/ @stephane-rochoy-stormshield diff --git a/MAINTAINERS b/MAINTAINERS index 0f0edc1e5a63..7878004cf3ff 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -52,17 +52,18 @@ contrib/pjdfstest asomers,ngie,pjd,#test Pre-commit review requested. code, please have patches reviewed by secteam. etc/mail gshapiro Pre-commit review requested. Keep in sync with -STABLE. etc/sendmail gshapiro Pre-commit review requested. Keep in sync with -STABLE. -fetch des Pre-commit review requested, email only. +fetch des Pre-commit review requested. +fts des Pre-commit review requested. fusefs(4) asomers Pre-commit review requested. geli pjd Pre-commit review requested (both sys/geom/eli/ and sbin/geom/class/eli/). iwm(4) adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org iwn(4) adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org libdpv dteske Pre-commit review requested. Keep in sync with dpv(1). -libfetch des Pre-commit review requested +libfetch des Pre-commit review requested. libfigpar dteske Pre-commit review requested. libm freebsd-numerics Send email with patches to freebsd-numerics@ -libpam des Pre-commit review requested, email only. -linprocfs des Pre-commit review requested, email only. +libpam des Pre-commit review requested. +linprocfs des Pre-commit review requested. lpr gad Pre-commit review requested, particularly for lpd/recvjob.c and lpd/printjob.c. nanobsd imp,jlduran Pre-commit phabricator review requested. @@ -75,13 +76,14 @@ nvd(4) imp Pre-commit review requested. nvme(4) imp Pre-commit review requested. nvmecontrol(8) imp Pre-commit review requested. opencrypto jhb Pre-commit review requested. +openpam des Pre-commit review required. openssh emaste Pre-commit review requested. openssl benl Pre-commit review requested. otus(4) adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org sys/dev/pci imp,jhb Pre-commit review requested. pmcstudy(8) rrs Pre-commit review requested. -procfs des Pre-commit review requested, email only. -pseudofs des Pre-commit review requested, email only. +procfs des Pre-commit review requested. +pseudofs des Pre-commit review requested. random(4), random(9) csprng Pre-commit discussion and review required, release/release.sh re Pre-commit review and regression tests @@ -98,6 +100,7 @@ share/mk/*.test.mk imp,bapt,bdrewery, Pre-commit review requested. stand/forth dteske Pre-commit review requested. stand/lua kevans Pre-commit review requested stand imp Pre-commit review strongly requested. +stdio des Pre-commit review requested sys/compat/linuxkpi pre-commit review requested via #linuxkpi phabricator group. sys/contrib/dev/ice erj Pre-commit phabricator review requested. sys/netpfil/ipfilter cy Pre-commit review requested. From nobody Thu Jun 4 13:12:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWQ3g0HbPz6gFR5 for ; Thu, 04 Jun 2026 13:13: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWQ3f6hgfz3YMs for ; Thu, 04 Jun 2026 13:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780578782; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7xo/fuCmfuEjZNDP8YXpAQ2GBYEWnsmfMxGK/S4iE2A=; b=KhScAi1V023reIcvDFhB1c1+YDYLmNviRpoo+GqjJKzhFpwuScQP5QwDNaf+ZbPn9BRJ1u rylh66qOsr2+3ZA1pLfC+dgXHC7Lzcn1vDxj7RgJZljYCwAGxD8vAUDTQJmX98nW9RKS05 8BbuHqoAUH4mZGdOc0JeIvwWgWHRS4ZVn2zXWZSWA1ub861bJmaV91flO15YHqlK+kNZgi eheOeFRnnUfNyJHnMOIOsKwa2E0e5gEHWRh+FW7p7BfAMK5Ilcc36v4yyHlxvehqngjyPA /zryDpAyBjDLQKhLJpFiWCok//wgXb79hG6oxdiWSabg/jCX6jx1niu6hM2ECA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780578782; a=rsa-sha256; cv=none; b=AhZ1NR/Ncqh8AKWbHvl6WpRyufyv+93bJqUdB5PTbDkANlMnd7Y+ph7p+FkEi/2UibB8+O ZBVcNbpg4/yezeHOQ2lkvpoPT4y6iwhv1voiXQMQ695vJF7Q2g3vFKCiXzFUhKQstIct+i mt1G6ETNedaY1XenbMOS8zOO7j54N4g1e/+kn9Au7qQErhRK1rRBoOW97+WYea9iodHalV hc4k4HJZK6BG5QjwIyxPLm0UzNMTxjh0h2oEZ/rfiZUir6BBK2mM7XZrBGo9yFZCahCltd ZLht+7PzCG6IoNuxplyh6rY1e3wEahGJo9UahUPXi2m45XZtcgVVW+/uk28SuQ== 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=1780578782; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7xo/fuCmfuEjZNDP8YXpAQ2GBYEWnsmfMxGK/S4iE2A=; b=Neranglcwzx6HR7pZ4bQLlU3MVD518GtcdHS+pmoyMlQRG78Bza+d3FaGP2WoBghgS2sFM yRPUgHI8Dh8BKZMFZeAP4GEwTEbARKinPGx3ZINcRLL0fklRoMlZREw4AG9U5zme438tk9 41NKZPcaEex9VnFATgJhOPY/LvKJbpri/bacZMlmG+ZBkIOKU6a2iP6kEMplkKlOAdesWm Grw2aX8pROtuMkk6vfCtnsIvFOSeczqjaowQhmVZ1jQ1AWpXNBbo6/kpYreNwgtrCCTlLi v8sN0NAaQ7svtRuV7+NTPkX92LxXJxTJlxC77qnvJAmjqaVaxjb2y6N7NRez9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWQ3f6BbVz10j0 for ; Thu, 04 Jun 2026 13:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33381 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 13:12:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: eb3a0a74a069 - main - libarchive: Clean up the build configuration List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eb3a0a74a069d0f294e1596504676459282bb308 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 13:12:57 +0000 Message-Id: <6a2179d9.33381.266325aa@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=eb3a0a74a069d0f294e1596504676459282bb308 commit eb3a0a74a069d0f294e1596504676459282bb308 Author: Dag-Erling Smørgrav AuthorDate: 2026-06-04 13:12:23 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 13:12:23 +0000 libarchive: Clean up the build configuration * Move settings duplicated in libarchive, bsdcat, bsdcpio, bsdtar, and bsdunzip into libarchive's Makefile.inc. * Drop some CFLAGS that merely duplicated some of the contents of our platform configuration header. MFC after: 1 week Reviewed by: mm Differential Revision: https://reviews.freebsd.org/D57307 --- lib/libarchive/Makefile | 7 ++----- lib/libarchive/Makefile.inc | 16 +++++++++++----- lib/libarchive/tests/Makefile | 8 ++++---- usr.bin/bsdcat/Makefile | 17 ++++++----------- usr.bin/bsdcat/tests/Makefile | 15 +++++++-------- usr.bin/cpio/Makefile | 18 +++++------------- usr.bin/cpio/tests/Makefile | 15 +++++++-------- usr.bin/tar/Makefile | 13 +++---------- usr.bin/tar/tests/Makefile | 13 +++++++------ usr.bin/unzip/Makefile | 14 ++++---------- usr.bin/unzip/tests/Makefile | 13 +++++++------ 11 files changed, 63 insertions(+), 86 deletions(-) diff --git a/lib/libarchive/Makefile b/lib/libarchive/Makefile index 4e32dcf72341..c4b4bc67ba33 100644 --- a/lib/libarchive/Makefile +++ b/lib/libarchive/Makefile @@ -1,7 +1,8 @@ .include +.include "Makefile.inc" + PACKAGE=lib${LIB} -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive LIB= archive @@ -9,10 +10,6 @@ LIB= archive # It has no real relation to the libarchive version number. SHLIB_MAJOR= 7 -CFLAGS+= -I${.OBJDIR} -CFLAGS+= -I${SRCTOP}/sys/contrib/zstd/lib -.include "Makefile.inc" - .if ${MACHINE_ARCH:Marm*} != "" || ${MACHINE_ARCH:Mpowerpc*} != "" NO_WCAST_ALIGN= yes .if ${MACHINE_ARCH:M*64*} == "" diff --git a/lib/libarchive/Makefile.inc b/lib/libarchive/Makefile.inc index 755a39ec01e8..33ab0085367f 100644 --- a/lib/libarchive/Makefile.inc +++ b/lib/libarchive/Makefile.inc @@ -2,11 +2,17 @@ # them in sync we can get run-time crashes while running tests due to mismatches # between structures such as archive_md5_ctx, etc. -LIBADD= z bz2 lzma bsdxml zstd -CFLAGS+= -DHAVE_BZLIB_H=1 -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1 \ - -DHAVE_ZSTD_H=1 -DHAVE_LIBZSTD=1 -DHAVE_ZSTD_compressStream=1 \ - -DHAVE_SYSCONF=1 -CFLAGS+= -DPLATFORM_CONFIG_H=\"${.CURDIR}/config_freebsd.h\" +_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive +LIBARCHIVE_VERSION_ONLY_STRING!= \ + sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \ + ${LIBARCHIVEDIR}/libarchive/archive.h + +LIBADD+= z bz2 lzma bsdxml zstd +CFLAGS+= -DPLATFORM_CONFIG_H=\"config_freebsd.h\" +CFLAGS+= -I${SRCTOP}/lib/libarchive +CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive +CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive_fe +CFLAGS+= -I${SRCTOP}/sys/contrib/zstd/lib .if ${MK_OPENSSL} != "no" CFLAGS+= -DWITH_OPENSSL diff --git a/lib/libarchive/tests/Makefile b/lib/libarchive/tests/Makefile index 3a03725054f4..3210938bc117 100644 --- a/lib/libarchive/tests/Makefile +++ b/lib/libarchive/tests/Makefile @@ -1,11 +1,11 @@ .include +.include "${SRCTOP}/lib/libarchive/Makefile.inc" + PACKAGE= tests WARNS?= 3 -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive - ATF_TESTS_SH+= functional_test TEST_METADATA.functional_test+= timeout="600" @@ -14,8 +14,8 @@ BINDIR= ${TESTSDIR} PROGS+= libarchive_test -CFLAGS+= -I${.CURDIR} -I${.CURDIR:H} -I${.OBJDIR} -CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive -I${_LIBARCHIVEDIR}/libarchive/test +CFLAGS+= -I${.OBJDIR} +CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive/test CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils CFLAGS+= -I${SRCTOP}/sys/contrib/zstd/lib diff --git a/usr.bin/bsdcat/Makefile b/usr.bin/bsdcat/Makefile index 06081fc2b2f8..3f51bfc753de 100644 --- a/usr.bin/bsdcat/Makefile +++ b/usr.bin/bsdcat/Makefile @@ -1,11 +1,8 @@ .include -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive -_LIBARCHIVECONFDIR= ${SRCTOP}/lib/libarchive +.include "${SRCTOP}/lib/libarchive/Makefile.inc" PROG= bsdcat -BSDCAT_VERSION_STRING!= sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \ - ${_LIBARCHIVEDIR}/libarchive/archive.h .PATH: ${_LIBARCHIVEDIR}/cat SRCS= bsdcat.c cmdline.c @@ -13,15 +10,13 @@ SRCS= bsdcat.c cmdline.c .PATH: ${_LIBARCHIVEDIR}/libarchive_fe SRCS+= lafe_err.c -CFLAGS+= -DBSDCAT_VERSION_STRING=\"${BSDCAT_VERSION_STRING}\" -CFLAGS+= -DPLATFORM_CONFIG_H=\"${_LIBARCHIVECONFDIR}/config_freebsd.h\" -CFLAGS+= -I${_LIBARCHIVEDIR}/cat -I${_LIBARCHIVEDIR}/libarchive_fe - LIBADD= archive -.if ${MK_ICONV} != "no" -CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const -.endif +CFLAGS+= -DBSDCAT_VERSION_STRING=\"${LIBARCHIVE_VERSION_ONLY_STRING}\" +CFLAGS+= -I${_LIBARCHIVEDIR}/cat + +#SYMLINKS=bsdcat ${BINDIR}/cat +#MLINKS= bsdcat.1 cat.1 HAS_TESTS= SUBDIR.${MK_TESTS}+= tests diff --git a/usr.bin/bsdcat/tests/Makefile b/usr.bin/bsdcat/tests/Makefile index c323da34e080..f75ebeac2aea 100644 --- a/usr.bin/bsdcat/tests/Makefile +++ b/usr.bin/bsdcat/tests/Makefile @@ -1,6 +1,8 @@ -PACKAGE= tests +.include + +.include "${SRCTOP}/lib/libarchive/Makefile.inc" -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive +PACKAGE= tests ATF_TESTS_SH+= functional_test @@ -8,13 +10,10 @@ BINDIR= ${TESTSDIR} PROGS+= bsdcat_test -CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\" -CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR} - CFLAGS+= -I${.OBJDIR} -CFLAGS+= -I${_LIBARCHIVEDIR}/cat -I${_LIBARCHIVEDIR}/cat/test -CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive -CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive_fe -I${_LIBARCHIVEDIR}/test_utils +CFLAGS+= -I${_LIBARCHIVEDIR}/cat +CFLAGS+= -I${_LIBARCHIVEDIR}/cat/test +CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils CFLAGS.test_utils.c+= -Wno-cast-align diff --git a/usr.bin/cpio/Makefile b/usr.bin/cpio/Makefile index 31b25e4199da..edc2ddf2bcb6 100644 --- a/usr.bin/cpio/Makefile +++ b/usr.bin/cpio/Makefile @@ -1,11 +1,8 @@ .include -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive -_LIBARCHIVECONFDIR= ${SRCTOP}/lib/libarchive +.include "${SRCTOP}/lib/libarchive/Makefile.inc" PROG= bsdcpio -BSDCPIO_VERSION_STRING!= sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \ - ${_LIBARCHIVEDIR}/libarchive/archive.h .PATH: ${_LIBARCHIVEDIR}/cpio SRCS= cpio.c cmdline.c @@ -13,18 +10,13 @@ SRCS= cpio.c cmdline.c .PATH: ${_LIBARCHIVEDIR}/libarchive_fe SRCS+= lafe_err.c line_reader.c passphrase.c -CFLAGS+= -DBSDCPIO_VERSION_STRING=\"${BSDCPIO_VERSION_STRING}\" -CFLAGS+= -DPLATFORM_CONFIG_H=\"${_LIBARCHIVECONFDIR}/config_freebsd.h\" -CFLAGS+= -I${_LIBARCHIVEDIR}/cpio -I${_LIBARCHIVEDIR}/libarchive_fe - LIBADD= archive -.if ${MK_ICONV} != "no" -CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const -.endif +CFLAGS+= -DBSDCPIO_VERSION_STRING=\"${LIBARCHIVE_VERSION_ONLY_STRING}\" +CFLAGS+= -I${_LIBARCHIVEDIR}/tar -SYMLINKS=bsdcpio ${BINDIR}/cpio -MLINKS= bsdcpio.1 cpio.1 +SYMLINKS= bsdcpio ${BINDIR}/cpio +MLINKS= bsdcpio.1 cpio.1 HAS_TESTS= SUBDIR.${MK_TESTS}+= tests diff --git a/usr.bin/cpio/tests/Makefile b/usr.bin/cpio/tests/Makefile index ee4da15bc7e4..0db109c1e379 100644 --- a/usr.bin/cpio/tests/Makefile +++ b/usr.bin/cpio/tests/Makefile @@ -1,6 +1,8 @@ -PACKAGE= tests +.include + +.include "${SRCTOP}/lib/libarchive/Makefile.inc" -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive +PACKAGE= tests ATF_TESTS_SH+= functional_test @@ -8,13 +10,10 @@ BINDIR= ${TESTSDIR} PROGS+= bsdcpio_test -CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\" -CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR} - CFLAGS+= -I${.OBJDIR} -CFLAGS+= -I${_LIBARCHIVEDIR}/cpio -I${_LIBARCHIVEDIR}/cpio/test -CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive -CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive_fe -I${_LIBARCHIVEDIR}/test_utils +CFLAGS+= -I${_LIBARCHIVEDIR}/cpio +CFLAGS+= -I${_LIBARCHIVEDIR}/cpio/test +CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils # Uncomment to link against dmalloc #LDADD+= -L/usr/local/lib -ldmalloc diff --git a/usr.bin/tar/Makefile b/usr.bin/tar/Makefile index 8b0d3e4a6cf0..0452e084bee2 100644 --- a/usr.bin/tar/Makefile +++ b/usr.bin/tar/Makefile @@ -1,11 +1,9 @@ .include -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive +.include "${SRCTOP}/lib/libarchive/Makefile.inc" PACKAGE= runtime PROG= bsdtar -BSDTAR_VERSION_STRING!= sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \ - ${_LIBARCHIVEDIR}/libarchive/archive.h .PATH: ${_LIBARCHIVEDIR}/tar SRCS= bsdtar.c \ @@ -23,14 +21,9 @@ SRCS+= lafe_err.c \ LIBADD= archive -.if ${MK_ICONV} != "no" -CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const -.endif +CFLAGS+= -DBSDTAR_VERSION_STRING=\"${LIBARCHIVE_VERSION_ONLY_STRING}\" +CFLAGS+= -I${_LIBARCHIVEDIR}/tar -CFLAGS+= -DBSDTAR_VERSION_STRING=\"${BSDTAR_VERSION_STRING}\" -CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\" -CFLAGS+= -I${_LIBARCHIVEDIR}/tar -I${_LIBARCHIVEDIR}/libarchive -CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive_fe SYMLINKS= bsdtar ${BINDIR}/tar MLINKS= bsdtar.1 tar.1 diff --git a/usr.bin/tar/tests/Makefile b/usr.bin/tar/tests/Makefile index 116425b0621f..45db3abf7bc2 100644 --- a/usr.bin/tar/tests/Makefile +++ b/usr.bin/tar/tests/Makefile @@ -1,17 +1,18 @@ +.include + +.include "${SRCTOP}/lib/libarchive/Makefile.inc" + PACKAGE= tests WARNS?= 3 -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive - ATF_TESTS_SH+= functional_test BINDIR= ${TESTSDIR} -CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\" -CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR} -CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive -CFLAGS+= -I${_LIBARCHIVEDIR}/tar -I${_LIBARCHIVEDIR}/tar/test +CFLAGS+= -I${.OBJDIR} +CFLAGS+= -I${_LIBARCHIVEDIR}/tar +CFLAGS+= -I${_LIBARCHIVEDIR}/tar/test CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils CFLAGS.test_utils.c+= -Wno-cast-align diff --git a/usr.bin/unzip/Makefile b/usr.bin/unzip/Makefile index 3ca95e5fa881..35d82729b718 100644 --- a/usr.bin/unzip/Makefile +++ b/usr.bin/unzip/Makefile @@ -1,25 +1,20 @@ .include -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive -_LIBARCHIVECONFDIR= ${SRCTOP}/lib/libarchive +.include "${SRCTOP}/lib/libarchive/Makefile.inc" PROG= bsdunzip -BSDUNZIP_VERSION_STRING!= sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \ - ${_LIBARCHIVEDIR}/libarchive/archive.h - .PATH: ${_LIBARCHIVEDIR}/unzip SRCS= bsdunzip.c .PATH: ${_LIBARCHIVEDIR}/libarchive_fe SRCS+= cmdline.c lafe_err.c lafe_getline.c passphrase.c -CFLAGS+= -DBSDUNZIP_VERSION_STRING=\"${BSDUNZIP_VERSION_STRING}\" -CFLAGS+= -DPLATFORM_CONFIG_H=\"${_LIBARCHIVECONFDIR}/config_freebsd.h\" -CFLAGS+= -I${_LIBARCHIVEDIR}/unzip -I${_LIBARCHIVEDIR}/libarchive_fe - LIBADD= archive +CFLAGS+= -DBSDUNZIP_VERSION_STRING=\"${LIBARCHIVE_VERSION_ONLY_STRING}\" +CFLAGS+= -I${_LIBARCHIVEDIR}/unzip + SYMLINKS=bsdunzip ${BINDIR}/unzip MLINKS= bsdunzip.1 unzip.1 @@ -27,4 +22,3 @@ HAS_TESTS= SUBDIR.${MK_TESTS}+= tests .include -# DO NOT DELETE diff --git a/usr.bin/unzip/tests/Makefile b/usr.bin/unzip/tests/Makefile index fada172b1bd7..0e55c49d07b5 100644 --- a/usr.bin/unzip/tests/Makefile +++ b/usr.bin/unzip/tests/Makefile @@ -1,3 +1,7 @@ +.include + +.include "${SRCTOP}/lib/libarchive/Makefile.inc" + PACKAGE= tests _LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive @@ -8,13 +12,10 @@ BINDIR= ${TESTSDIR} PROGS+= bsdunzip_test -CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\" -CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR} - CFLAGS+= -I${.OBJDIR} -CFLAGS+= -I${_LIBARCHIVEDIR}/unzip -I${_LIBARCHIVEDIR}/unzip/test -CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive -CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive_fe -I${_LIBARCHIVEDIR}/test_utils +CFLAGS+= -I${_LIBARCHIVEDIR}/unzip +CFLAGS+= -I${_LIBARCHIVEDIR}/unzip/test +CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils # Uncomment to link against dmalloc #LDADD+= -L/usr/local/lib -ldmalloc From nobody Thu Jun 4 13:18:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWQ9j3vNlz6gGdp for ; Thu, 04 Jun 2026 13:18: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWQ9j38N8z3bFG for ; Thu, 04 Jun 2026 13:18:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780579097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aCFO63JZAxYoi0c+kY1Uh+oU6ZJ1QhP5qxRSaYcKLCg=; b=r+b0e5sLttDjLwb6CeulViLS1DMGR5DpehdXCBJhJqN7EjTWdWEgEimcWcFL64ybaZ+gDU 590kYwZfVT/7CHkj2IHyxpVMfPmvFLzi3z1NlukXlCM6TNlaWpHYPO7RGaIWzdG8pacYuz pFdJO6MYplX4AKNpI3yszq77cPuMpIS/1b0Y4i2Waw1aZDP41T0kyvbyJJOpaBls0/oAR8 0XX0ZIR6xvfOVi1OriBU72UNKaPOzb74GzsHAUbql9pOQdzjVADiW1LOQ/dcv+YeD+8OGs KAEOWYNWzUf+SXbVtGGy/tHLKxIyNxXStTlsqTnDDZnqAHjqKQOd/2CM/UroBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780579097; a=rsa-sha256; cv=none; b=UxlMR7a9YwwQlivofkJj+EiHWNABVbz7e0QtJIALcbAOzsO0UvI+Tl3fF3NhNXImbiJQKN QR0UOUfxp0cpHCcpMUDKaK0ig/cFPb0GOVLD9RWTJK5mijb2Ria0Fk5eJ6xl3pcp9ict48 GNe0Gv4rUIT/qVxsfeQR7iRxBHSzx1hkwppaqFSiLPLF29FARUOaJZu0BrP5xHW82YDb+L WiEm3wOKdYHZGB419bE1I7x47VXDNhGlTmb3dYC/LLJemprWNOXnrM2M3tfPhPQqWId1am zbiCrUc+iHfmS9gORe4JSx4EW/24BXkmXRjzBp3kGg0T7qc3j6/kbg93+ItoKw== 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=1780579097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aCFO63JZAxYoi0c+kY1Uh+oU6ZJ1QhP5qxRSaYcKLCg=; b=GYVruvBgQCkty/SQJxUQ5MEWREqfPGum486AZcr2wld/Y1QME5bfWM/N44++V9LjRFLCIv ktaPTmiDY2nUwpMf+Ec1ryFzXcBPrcsRz9wxenXXtj63yQikUPcV3cfrB83aqyE8HohqGK XHwQwZEIBrFx1oR/2UeslP1YxCY11mvCrtNNBdV7IeJWBNmxqUl99ULNUGEcn0DgVUUOau gp/Bjk8Ga01Ur1umF/dUxZ0yU6XuOFHUFwAUJ6Goo1U1CZPnKHoMQii1NN0iR3b8wvJLZB I+XkION7eV4rf24Y3Qc213VjprlvTW4CrCjl+yVkN2cuJwPTqmQmO8sKjp5axw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWQ9j2kCXz10WT for ; Thu, 04 Jun 2026 13:18:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3282d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 13:18:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 8ee0f80252d1 - main - .git-blame-ignore-revs: whitespace changes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ee0f80252d162e1db6a2def73c5b956f5b7307e Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 13:18:17 +0000 Message-Id: <6a217b19.3282d.40a5922d@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=8ee0f80252d162e1db6a2def73c5b956f5b7307e commit 8ee0f80252d162e1db6a2def73c5b956f5b7307e Author: Olivier Certner AuthorDate: 2026-06-04 13:05:38 +0000 Commit: Olivier Certner CommitDate: 2026-06-04 13:17:44 +0000 .git-blame-ignore-revs: whitespace changes Reminded by: brooks Sponsored by: The FreeBSD Foundation --- .git-blame-ignore-revs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index b2fd4f881c9b..b4cb86a90987 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -8,6 +8,10 @@ # # This file is sorted in git log order (newest commits first). +# sys/sys/assert.h whitespace +7487932f4fbc5a71231d3b1fc93d160253f38c83 +439710cf003b7849d2119e9a7694d7b27ab6d70f +157c184689ea3d7b8b6bd89aff849e94f004aa0e # asmc style cleanup d76bb14e0224e235209d8c07ec132d602b18648b # sys/bus.h style fixes From nobody Thu Jun 4 13:19:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWQCG5NCdz6gGpk; Thu, 04 Jun 2026 13:19:38 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWQCG4f8zz3bZQ; Thu, 04 Jun 2026 13:19:38 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780579178; 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: in-reply-to:in-reply-to:references:references; bh=WjhCbj0IqdRjFZEpUEm6EhGB11H4y0Kl0b8DNLnKMVY=; b=dnMgP3KOFX0bJiy+uB7pc4sBNy+nAR9QAVAQ5AEfGU+AR2Hz3nHDpTegOI31B2q2bo5t5c zPGvlpYnx4bJ/6GU3lEAHJfJfpFChrs4YTNLCVPicDsQGcI4oRRHjCvcgq+xmkWjdzx3nQ aZknR+uCIPKdn6IdYUkGqpZ/79I+H01JMOO0iWd0K95qiLHMEHpVzTxC6CsAIfer/nzi8z 4lsd3d9j9h7MS/gAaUSFwZcdF5xAFZePVlkOxk/Oc9FUacTTyIIR6FjGDZKbtMxBG8TRwQ gvtaoVKFLscZ+2rHt/vR7KvcfNsvt6z6raESycN/ZHTlvyj2oowLmLPFRt8iOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780579178; a=rsa-sha256; cv=none; b=vIvyk6kClhALSzvGJh1lUKEIxsf1AgMQ+uPnVCMOD51Xa6QEiBJVYeH0T7rhSwpE+WEw2A 1Apa9mFqAXPBNPK/DzFhQjp+wmNLJ49s2sfoNlaN1A+14QpV0rdcx0A4RtwMcIyoNcMu1U sTNQ2fGiGNkCJFhB25M8VpUiBdKjxJswezsx3EJWM1T5GJVLdcFhUzOhKjBvmi+OCRSD5d NJFCubMHwuObUBkisZewSab1h1RK9qflwrVrzPHV/fz5c8cIMthuOUDEnB1tLctHDP4cd+ AfUZtUnaVIQAKBGQUxpyrC5s05qfpri1AyvW4SN1A48Wbm2zaBnNuQhxCBokBw== 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=1780579178; 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: in-reply-to:in-reply-to:references:references; bh=WjhCbj0IqdRjFZEpUEm6EhGB11H4y0Kl0b8DNLnKMVY=; b=eak+77rPGZWRs6VX+ZJ/dPEkYSnxUzJM5kpYoYiUNlpVK04KSJYP5Zip1figNNLKHNSZzU +wl8mAt4UM3C3D8Xpae/C2eRGdAa1lcjnvui4fNs+zr3JjP7qzqXKcRBsuG7VcWg05BvJr h2Lsp75j7Skh/jRsYLyIH8RNvsS2m2xEV+7Gm7TtcP2oNTCYJP0Ak7DPSfvwWqbW3m+EGg jji/Doy1J3zcuI29JQRVErTTrudjg0Sbm0lYA4Phz2gPKmC8Os7aUyPq1BMHvC5hWQDF4f JP6q+9HZmuRj4a+W64SGeOyYi9RvJpilNlvrbnEgNnvGIrma9QrqMfwo9yWu3A== Received: from ravel.localnet (lfbn-nic-1-328-19.w90-116.abo.wanadoo.fr [90.116.162.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gWQCG05Gxz12hq; Thu, 04 Jun 2026 13:19:37 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: Brooks Davis Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 7487932f4fbc - main - assert.h: style(9): Space after #define, between #endif and comment Date: Thu, 04 Jun 2026 15:19:29 +0200 Message-ID: <3056311.slGk94SIus@ravel> In-Reply-To: References: <6a2166aa.22490.59890f0d@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart3109245.hHqAuc6tWs"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart3109245.hHqAuc6tWs Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: Brooks Davis Date: Thu, 04 Jun 2026 15:19:29 +0200 Message-ID: <3056311.slGk94SIus@ravel> In-Reply-To: MIME-Version: 1.0 > > This commit is thus basically a revert of 439710cf003b ("assert.h: > > Revert "Remove leading tabs for whitespace consistency"), which extended > > replacing spaces with TABs in the code introduced in the meantime (after > > commit 157c184689ea). > > Please add all three commits to .git-blame-ignore-revs. Pushed in 8ee0f80252d162e1db6a2def73c. Thanks for the reminder. -- Olivier Certner --nextPart3109245.hHqAuc6tWs Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmohe2IACgkQjKEwQJce Jic0qQ//XudKkcEbsQM86Kg3UlGf7ndVxi7J5nDsz64WhNFyeYmI7Uqmz5ZpeZtr wmairGPuTFHVU9BUG1f+fUIRd9MeDa/VfTws/oJkxMfAw9zX+k173VdmwjDnpGDz qJmdGgr4h+2Lf1wUlXm2CMbuDvzXU0TApBw2opu9/ZPpItTQ5r9FtzG1LM5UaQhh jVC1D6ZuH0QpkpzS/j4pWRr9FBaJ9sG6kDFivDlnj6XGvysUgtgXoF85/j0/wmU2 juEYf4R9REc2q5lOaKNH7k8JCABiDc2I1KsBCYfGDY/eaBvvuK/fmerDyfzEOExH lXeFgDsNWx7eJ2zV8hRDSxGLPzDYta+dTE3kkeaky7K4MowRxhfOMIz1UGdlEeiB gJPxVC/vx9nJUGUqSshYs+xmN5fL5va/IAvVt5lVDbrVxZ/ZiVwLbIW+w0+mtMVb FcL25arcuLG9e5+6xqgAnOmxtWYTj91N3qPVavz3jNhs/U3ph4pdJprP9k9joP9b jacMU2gox+O5wx+bDO7cdMrL58ga1UMG7wKg1Mfvm+jnRySi8dcW6tZVfNOfRg4Q ckFV6rGS4IsEQQ/63y23IfBXJpuwHVDaxv92hwe+eaOI4SkV+ouT/Ly2kVkRH/j8 lA20vv+10Q6qQtlPF7pLX+b3w79w9jHLZ5nnqoA/1o2dKJSNz2I= =jzBo -----END PGP SIGNATURE----- --nextPart3109245.hHqAuc6tWs-- From nobody Thu Jun 4 13:34:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWQXH5mc7z6gHl8 for ; Thu, 04 Jun 2026 13:34: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWQXH4Nr3z3dsR for ; Thu, 04 Jun 2026 13:34:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780580063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LIkFywe0loDWWaGcPvzXtwUjiYbyWMoEv+UBVg0ucwo=; b=dRE20B9YSO+xWGnFEP/3MQhpCdK6k87TaHSKzHiWinBm1Mp8/2ujVz5ZBr35DCFG746iDF YrdtuXxl0gAenD0uUsm17Ya1iB38xI5iodAykZzL0nK0D9k6jv9F+WJe/qfN9ML/QsS3Ol skAoGQTLiDD0qMYuDdfyIkRJl7kyCJ8JUqbFXFZDtFIhPg3CdDdmw20u58hA9vNnfVTm0w xW9gv9gJtrFSAXOe3+0SZp6DBJ8tY6e3P+pxiaSbqlV9e2l1gexn93MdZw40CQngKwfyQG 4ZYwuxTJGka1akCZ48J9sK1rHckO5iGx0z31WY14oxHg1SGAMNwGM9xyfqjHBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780580063; a=rsa-sha256; cv=none; b=HUOvSQse0dsBvZ9VAM8vTMKyvUBB1l90Y7edsi6K5jdjoG/kBg1dcwaLeP7BgQn+Wv6wkK PuKlUtgzipFw0N184404s2kkqqhB8uWAZfDpTN240jrzvBFJwOSW3MD9ZXcn6BVlFVcyb5 /yBUCLmpPFB1PfW1lwLoczKgz/qQZTkC7wWTj8BEPif/UR0D2zlMINAOjbBe3fJAMwaF64 /bIDiI6lyUu1iFO1obCfEBoaTcbaQD2t0UZoDbM3FR7/OrRM7iNtJsnAHktEuu87nJxp1R 1vmVLaT2TukA6b5pgnKcN8Bbz2i6wpJmCVu9SSaC5qxZw1PUQUm1t3NryYTj7Q== 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=1780580063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LIkFywe0loDWWaGcPvzXtwUjiYbyWMoEv+UBVg0ucwo=; b=kW6IFQOYig7ohI3nFzyen4zC7afYQtnUmFQO01U31d27RPC7mTsfQ23f79grSVwwx/UWOm KrsMc6/fule41rofghtRg/0KkY/NfJMrLArkhFxQ7cXj80GTWJSJhmcLNB6EWVfPXjh7DL boWuuAfrmuIKKtYc7K/VIalmbLVVDfYYAZPoNYNO6r97WcRSWvEEnr249KpDHza5RD0ije T4xKGJlRHGEFYW/d9Z2ssGTis7E03t09a5xDTaCg06I2s6O9/PFRDHP5XGG3uUaHn8sthE MbKNC7AU80i4X72evtSUUIJsQb7cdKDRFcS5GxrcncWYX3Bt0hCeMADpfoa1BA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWQXH3r5dz10yC for ; Thu, 04 Jun 2026 13:34:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 336d8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 13:34:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 4f7d987015dd - main - .git-blame-ignore-revs: whitespace changes: Fix comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f7d987015ddf92ec6a56c7573132a8548474b78 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 13:34:18 +0000 Message-Id: <6a217eda.336d8.747e6de5@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=4f7d987015ddf92ec6a56c7573132a8548474b78 commit 4f7d987015ddf92ec6a56c7573132a8548474b78 Author: Olivier Certner AuthorDate: 2026-06-04 13:31:40 +0000 Commit: Olivier Certner CommitDate: 2026-06-04 13:33:59 +0000 .git-blame-ignore-revs: whitespace changes: Fix comment Fixes: 8ee0f80252d1 (".git-blame-ignore-revs: whitespace changes") Sponsored by: The FreeBSD Foundation --- .git-blame-ignore-revs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index b4cb86a90987..dd8036f17e1e 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -8,7 +8,7 @@ # # This file is sorted in git log order (newest commits first). -# sys/sys/assert.h whitespace +# include/assert.h whitespace 7487932f4fbc5a71231d3b1fc93d160253f38c83 439710cf003b7849d2119e9a7694d7b27ab6d70f 157c184689ea3d7b8b6bd89aff849e94f004aa0e From nobody Thu Jun 4 14:00:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWR6D0zBGz6gLbH for ; Thu, 04 Jun 2026 14:00: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWR6C1Skgz3k21 for ; Thu, 04 Jun 2026 14:00:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780581619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U77WCNnFgodXZLuo+hNE+lWUUkKReXalVAmQOkzg5MQ=; b=Sn8VnE/sECmM1FPr2Y1hBr2nGG06Wx57PcugPwMNPpWMp3TVrbZlbJOWeuUxnahpUEFLFK PY0ovNMTk8DUCbWX5IfVZpGGUbHsUzhxeWTJRME4q3ArWaj8gPVSjS95WHhCpZBXq9UsY3 i9A6w7LNgLbDdiZR5xrhlp1EzsZ9BeCvoSguaxFmk2CXlFRlnUEBkhjH4k0TnwxEonGLjl Cp35cwLrrYSQ6G+nGDtLqi3jloDD+PVYt2CyNZCsI1pWjmVfMab4gd33qXD2A1SMmLKwhU j8Son9KeSvLOUDh821rmR2IPKuAjxQPQJMZlUAXJOHjhn/s+xV/8j68EPkTt3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780581619; a=rsa-sha256; cv=none; b=eiGWATtq7VOAi6dQ8N808TJX3DxDGXp9USj7ii+4xwfTik8Pes33p4FOKQdyeWa2sTHqJk y2RV7kLE4MB6oRmcbkQ6PWsPSO9h48Ugb0J+yeB9hGWU27kN71kjIz+I9hPgq2dkW8EleC blEB+FK/nTYm+BoqaQUEvRlfI9FrwL+O7xSMgmzXo8+hjhRK5t166ozgbW+cUKt9dKGhTS BnwzOY5Pdo5bCTemrrRhZBkjrVNcFgiXMvceUJJqnZfPfgEGJ6XyGdAqvWGq3lY/8hcHkP 4rAI1WABZ72Po1jnmPo1zgXME2x7HgOAdww+etLVt7r8xrBRADC9vV0UC2psUQ== 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=1780581619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U77WCNnFgodXZLuo+hNE+lWUUkKReXalVAmQOkzg5MQ=; b=vT5ce9ZxWFXC5Lh0qnOSSIgqqvcwXk+s21Pts8g9f8q4dmb8k2VPPUd36W1sPGGIq8WEGM /E2ZVTsqsExHb0dUiW+yheZ/E0lgfYEYA099S3gsiKKsPdrmGcRc+sP5jg0arLr/ck8/zq cQgcHt9z4xSHWTe3yI775l+QQJ4j/aDTVuusUH0m9JM/KCNXq+jSjNT5TYiT/iCH7FgCtI Bh8dL5OHhKS3BJD85i5sHDU9CFfiDSbqemunHvymA+0LuWM/5g2tt7hJ+oGBhyS7tdJenu j1xhPvU3m4CAz5BIGzRG2Y1f4NVL4ZzjyDddCYNzUfxy+eaKs+7FbBK7MYMY8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWR6C0nbXz1187 for ; Thu, 04 Jun 2026 14:00:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36370 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:00:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: c7ff706b31c2 - main - lualoader: add be-list and be-switch commands List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c7ff706b31c22f10c2403869c46b443448da3e08 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:00:14 +0000 Message-Id: <6a2184ee.36370.4bdfa47a@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c7ff706b31c22f10c2403869c46b443448da3e08 commit c7ff706b31c22f10c2403869c46b443448da3e08 Author: Kyle Evans AuthorDate: 2026-06-04 13:57:16 +0000 Commit: Kyle Evans CommitDate: 2026-06-04 13:59:49 +0000 lualoader: add be-list and be-switch commands This is useful for driving BE changes from the loader command prompt, rather than having to use the menu. Note that the active carousel in the boot environment carousel doesn't currently reflect a switch in boot environments done this way- I'm considering this only a minor bug, as you probably can't or won't go back to the menu if you're using these commands. Reviewed by: imp (previous version) --- stand/lua/cli.lua | 23 +++++++++++++++++++++++ stand/lua/core.lua | 43 +++++++++++++++++++++++++++++++++++++++++++ stand/lua/core.lua.8 | 17 ++++++++++++++++- stand/lua/menu.lua | 7 +------ stand/man/loader.8 | 15 ++++++++++++++- 5 files changed, 97 insertions(+), 8 deletions(-) diff --git a/stand/lua/cli.lua b/stand/lua/cli.lua index dda8c3da4c89..fe358b7fd7ab 100644 --- a/stand/lua/cli.lua +++ b/stand/lua/cli.lua @@ -160,6 +160,29 @@ cli["disable-module"] = function(...) setModule(argv[1], false) end +cli['be-list'] = function(...) + local _, argv = cli.arguments(...) + if #argv ~= 0 then + print("usage error: be-list") + return + end + + for _, bootenv in core.bootenvIter() do + print(bootenv) + end +end + +cli['be-switch'] = function(...) + local _, argv = cli.arguments(...) + if #argv == 0 then + print("usage error: be-switch beName") + return + end + + local env = argv[1] + core.switchBE(env) +end + cli["toggle-module"] = function(...) local _, argv = cli.arguments(...) if #argv == 0 then diff --git a/stand/lua/core.lua b/stand/lua/core.lua index 471e579619c7..11fe17d7cfbe 100644 --- a/stand/lua/core.lua +++ b/stand/lua/core.lua @@ -314,6 +314,21 @@ function core.bootenvFilter(func) return oldf end +function core.bootenvIter() + local envs = core.bootenvList() + + if #envs ~= 0 then + local root = "zfs:" .. loader.getenv("zfs_be_root") .. "/" + + for idx, bespec in ipairs(envs) do + bespec = bespec:gsub("^" .. root, "") + envs[idx] = bespec + end + end + + return next, envs, nil +end + function core.bootenvList() local bootenv_count = tonumber(loader.getenv(bootenv_list .. "_count")) local bootenvs = {} @@ -567,6 +582,34 @@ function core.nextConsoleChoice() end end +function core.switchBE(env) + -- This branch will most likely be taken by the switch-be CLI command, + -- not by the menu. We could do some more validation that it's a valid + -- BE and let the user fully specify a zfs:be/dataset to avoid the + -- validation, but this isn't done at the moment. + if not env:match("^zfs:") then + local root = loader.getenv("zfs_be_root") + + if not root then + print("ZFS BE root not available -- no action taken") + return + end + + if not env:match("^" .. root) then + env = "zfs:" .. root .. "/" .. env + else + env = "zfs:" .. env + end + end + + loader.setenv("vfs.root.mountfrom", env) + loader.setenv("currdev", env .. ":") + config.reload() + if loader.getenv("kernelname") ~= nil then + loader.perform("unload") + end +end + -- The graphical-enabled loaders have unicode drawing character support. The -- text-only ones do not. We check the old and new bindings for term_drawrect as -- a proxy for unicode support, which will work on older boot loaders as well diff --git a/stand/lua/core.lua.8 b/stand/lua/core.lua.8 index 325320b2fce8..5cb2b46bd9d1 100644 --- a/stand/lua/core.lua.8 +++ b/stand/lua/core.lua.8 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 8, 2026 +.Dd June 4, 2026 .Dt CORE.LUA 8 .Os .Sh NAME @@ -175,6 +175,12 @@ returns true, then the boot environment is retained in the list. Otherwise, the boot environment is hidden. The old filter, if any, is returned to allow the caller to compose a filter on top of another filter. +.It Fn core.bootenvIter +Returns an iterator over the known boot environment list. +The returned boot environment names do not include the boot environmnt root, +which would need to be added back on from the +.Ev zfs_be_root +environment variable. .It Fn core.bootenvList Returns a table of boot environments, or an empty table. These will be picked up using the @@ -229,6 +235,15 @@ If there are no elements, this returns nil and nil. If there is one element, this returns the front element and an empty table. This will not operate on truly associative tables; numeric indices are required. +.It Fn core.switchBE beName +Switch to the requested +.Fa beName . +It may be either be formatted as a fully-qualified loader dataset path +.Dq zfs:pool/ROOT/beName , +or like one of +.Dq pool/ROOT/beName +or +.Dq beName . .It Fn core.loaderTooOld Returns true if the loader is too old. Specifically, this means, is the loader old enough to require one or more diff --git a/stand/lua/menu.lua b/stand/lua/menu.lua index fb0645eb46ba..fb2603eb4b4c 100644 --- a/stand/lua/menu.lua +++ b/stand/lua/menu.lua @@ -53,12 +53,7 @@ local function OnOff(str, value) end local function bootenvSet(env) - loader.setenv("vfs.root.mountfrom", env) - loader.setenv("currdev", env .. ":") - config.reload() - if loader.getenv("kernelname") ~= nil then - loader.perform("unload") - end + core.switchBE(env) end local function multiUserPrompt() diff --git a/stand/man/loader.8 b/stand/man/loader.8 index 484e0a7b300c..e35414049e23 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 November 14, 2025 +.Dd June 4, 2026 .Dt LOADER 8 .Os .Sh NAME @@ -97,6 +97,19 @@ and .Pp .Bl -tag -width indent -compact .\" sort the following entries according to the second field +.It Ic be-list +Lists the boot environments that are visible to +.Nm . +The listed names may be used directly with +.Ic be-switch . +.It Ic be-switch Ar beName +Switch to the +.Ar beName +boot environment. +The +.Nm +configuration will be reloaded from the new root, and any previously loaded +kernel and modules will be immediately unloaded. .It Ic boot-conf Load the .Nm From nobody Thu Jun 4 14:30:02 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWRmW1bGjz6gPMP for ; Thu, 04 Jun 2026 14:30: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWRmV67kbz3mpl for ; Thu, 04 Jun 2026 14:30:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780583402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NOxaPdjHJwDl0i68782llfffgDhDacO56nz/mu061aw=; b=XcCbxat9QFviMdHnakgT0qh+phZ7tAZ89UpQvb/SMD5YDA8uQxcTWy+5mg6p2jY4TTub8t zJYdYeNeJYKhRwHqLP8wpzYKf3UFCL1HwzMXYoyL7tmeDVCe1S/mrE48n6QD5h44ig4zTq /cV6XKXW/jQ3gm8KpFCsxv2r1pGeDG6VDQ4XZnuevSuNjeHNFwjDmrvuMl08VPewvd24Wd 88O8hdiSnQhfkhB4L+Ao30BHD0ynQhYzE4J2deXRmpPb0R/QPyvg2o3bcUs1K+rKywp9lb 8wgzxLVj2zfZfQVcyME7neBKSgnGdomKW7lNRXRSR/e2NOUJM8+zebNeAKILrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780583402; a=rsa-sha256; cv=none; b=mgbUwPUmJBRMEGgVl6baudeW0eKo5e53EocTNckADAOk33vZtWZY4I/7BPadKXhwp4atBr PRLryC/GVuAFJZoNCVCf3/Pw1SbeybDYXjJsOZUOx6JQKDNMhbMoXWbNJuNwedEyzBGGDQ mW8XTb5nTlqWlzVa3mtJx+Ndp++ReG7xGHWEIuZOPpJnxyhULGptvI7aO20HvquveuuyTX EXAnbnzk87GQdydAjRcNPUFUcsMEIWJXbJcw+bgU2HIYvcqIKakIW9v6awYLkzPK6EuJvy OJLGt6Wh+X/g+se2sIVa7ot7PMnhneyGflWGYnO5juQ5l0v9YxxTM/0+GDsJ5w== 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=1780583402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NOxaPdjHJwDl0i68782llfffgDhDacO56nz/mu061aw=; b=reIsBZ4dsauIPHI35OodfEBQ3teESD/BJBCsBoIUpSV87ojJBVp6/qcKmWyQd5rVCaLHq8 XdNBq1/zpoxlOViifcppDH4l2Ck8+oSVstxXc0PGwQ84MPU4qDZIRA1A02xDq5HnhdwC/J tx16Kq0a/nA+C19TwX47wTXMMdu++SqQmgwHm5Rthrw2dEdXFB5tB3sMEPVw3Zp/ApRNhm bUqzG3Iyps/SX7Z3ej9JtgKkZP007UrwshmxsPxviyGqfNvAQQ5cTr/3noC61ZK+L+NTtY kO9yqH1CB6jbr57jNkEe/PRtRZWMuwjPyiVqcZE27cfR85HdouT1Anx91VJHvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWRmV5YMDz11yk for ; Thu, 04 Jun 2026 14:30:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a871 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:30:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: c6ccef4a32b4 - stable/15 - amd64: there is no reason to copy ucode around in ucode_load_bsp() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c6ccef4a32b4e09927dfdcc0f734af25c6193f5a Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:30:02 +0000 Message-Id: <6a218bea.3a871.37977cac@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c6ccef4a32b4e09927dfdcc0f734af25c6193f5a commit c6ccef4a32b4e09927dfdcc0f734af25c6193f5a Author: Konstantin Belousov AuthorDate: 2026-05-30 15:57:46 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 14:29:19 +0000 amd64: there is no reason to copy ucode around in ucode_load_bsp() PR: 294630 (cherry picked from commit 16f21c5af35002b8361ffb2e83ff3c92cd899a3a) --- sys/x86/x86/ucode.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/sys/x86/x86/ucode.c b/sys/x86/x86/ucode.c index 72133de211f8..613a7b03489f 100644 --- a/sys/x86/x86/ucode.c +++ b/sys/x86/x86/ucode.c @@ -361,18 +361,20 @@ ucode_load_ap(int cpu) (void)ucode_loader->load(ucode_data, UNSAFE, NULL, NULL); } -static void * -map_ucode(uintptr_t free, size_t len) +static const void * +map_ucode(const void *match, uintptr_t free, size_t len) { #ifdef __i386__ uintptr_t va; for (va = free; va < free + len; va += PAGE_SIZE) pmap_kenter(va, (vm_paddr_t)va); + memcpy_early(free, match, len); + return ((const void *)free); #else (void)len; + return (match); #endif - return ((void *)free); } static void @@ -405,7 +407,7 @@ ucode_load_bsp(uintptr_t free) char vendor[13]; } cpuid; const uint8_t *fileaddr, *match; - uint8_t *addr; + const uint8_t *addr; char *type; uint64_t nrev, orev; caddr_t file; @@ -440,14 +442,10 @@ ucode_load_bsp(uintptr_t free) len = preload_fetch_size(file); match = ucode_loader->match(fileaddr, &len); if (match != NULL) { - addr = map_ucode(free, len); - /* We can't use memcpy() before ifunc resolution. */ - memcpy_early(addr, match, len); - match = addr; - - error = ucode_loader->load(match, EARLY, &nrev, &orev); + addr = map_ucode(match, free, len); + error = ucode_loader->load(addr, EARLY, &nrev, &orev); if (error == 0) { - ucode_data = early_ucode_data = match; + ucode_data = early_ucode_data = addr; ucode_nrev = nrev; ucode_orev = orev; return (len); From nobody Thu Jun 4 14:30:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWRmb04glz6gPGp for ; Thu, 04 Jun 2026 14:30: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWRmZ5pL3z3nKd for ; Thu, 04 Jun 2026 14:30:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780583406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z4P4Iqtbow7tvzKylM3Zhg78ponq64vDp0tkglL+kGo=; b=D/L89uPyN7JgGyhf2wurk29VMuhE4rVl5Z4xLZrZQ8ZgwotkCSIdOtk/eQgnD9YkjP4p1W XzifnVnWKQHS/SmknNIuquEuquLKFIRHWqvi/9MxqOHEL4LSvp12SBxbYfoS1FqNcdH/gb EeIvSE521eofkCRI2DtsM6evRg376ofr6Xkks3sz0SVeTlfit7ts5GJQ9j8Hhg/MgeE813 eDjbyJPjZ8O6XGcDQ3jhJDgA0xFFQJqOFYSt27qO/Gv0EpiuQWAGqlPaTmf/swAeH5dMPM /PIhYQ6K1YNcZDVpQztTBwR294+zDy3g0ho4jaZFCQRk0xdedvQEMVutfyKQJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780583406; a=rsa-sha256; cv=none; b=VD+KQSRdW411f/G8kc2z7PjXDuAt7IWo1AiE+kPAD4xdeW7RsCF1KGkEYINBEsTmEPhwML agSYcNYvY1QoB6QAC9+RFv60HmmdT4Fb/Bznk/nV9MeWYtWc94pHPO2iJmkFn+ff8Ub5Ht ThInB8pO4V16ikPnM/eixYlaStlMuV9YOG42rJgnUXQPxY0Vc3dBCjPzmGa2wO9te7g5ud x1JGCU3DQttGXZUiiw7xfDkEIXn17RrlbVLO8o6MDAf9FlEkUFrQJYpe+HNV6boE01+CJu Bp98uis2BTgX4+Hy4+uVCdkbUIis24xp+KER/n9ZBc5nAnxaGVpWeL+S23eL4A== 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=1780583406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z4P4Iqtbow7tvzKylM3Zhg78ponq64vDp0tkglL+kGo=; b=BdL5cg2vKWJSoJCJ8rx8GfMmdyco8HMW3d5eMNKXU5rYugZTEd9xFVTIDC14fa8t/gxBYV PCFE7WwsBx52P/RGc2iBnJvHLfiRtfcTVPBl7c/NwX5/tNB/cWe6lITbIM89mxIPHruO8Q BE54lePpU5V8ORSqXz9rNojryc2aOB9/UoIeSmJQMnELFRtfvp/RuodYbcc1W7gtQaubzh H2hYU3jb1cANbIOrW2KNyt3oBRYUKcXXdnQE4QG9wxZnAssc3WjSiwaK6+uC05EDbJt8+D Wf5AznNwewDancWgJvM1nQkZ4OofH2aZnl94+S2dP2dGt2ILZp6W72fe7+igAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWRmZ57W6z12Wq for ; Thu, 04 Jun 2026 14:30:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 394d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:30:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 42e66606ca50 - stable/15 - amd64: do not switch back and restore UEFI IDT in wrmsr_early_safe_end() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 42e66606ca505b39c63c43a0860152f0e74415d2 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:30:01 +0000 Message-Id: <6a218be9.394d2.2f21921b@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=42e66606ca505b39c63c43a0860152f0e74415d2 commit 42e66606ca505b39c63c43a0860152f0e74415d2 Author: Konstantin Belousov AuthorDate: 2026-05-29 07:32:41 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 14:29:19 +0000 amd64: do not switch back and restore UEFI IDT in wrmsr_early_safe_end() (cherry picked from commit 606d3cb1be5fd594c1f51addd063e7c13e16bdbc) --- sys/amd64/amd64/machdep.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 7b652d241250..64bffe2777ce 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1829,7 +1829,6 @@ clear_pcb_flags(struct pcb *pcb, const u_int flags) } extern const char wrmsr_early_safe_gp_handler[]; -static struct region_descriptor wrmsr_early_safe_orig_efi_idt; void wrmsr_early_safe_start(void) @@ -1838,7 +1837,6 @@ wrmsr_early_safe_start(void) struct gate_descriptor *gpf_descr; int i; - sidt(&wrmsr_early_safe_orig_efi_idt); efi_idt.rd_limit = 32 * sizeof(idt0[0]); efi_idt.rd_base = (uintptr_t)idt0; lidt(&efi_idt); @@ -1859,12 +1857,6 @@ wrmsr_early_safe_start(void) void wrmsr_early_safe_end(void) { - int i; - - lidt(&wrmsr_early_safe_orig_efi_idt); - - for (i = 0; i < 32; i++) - memset_early(&idt0[i], 0, sizeof(idt0[0])); } int From nobody Thu Jun 4 14:40:25 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0T3jJJz6gPnT for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0T2fZYz3ph4 for ; Thu, 04 Jun 2026 14:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3D5E7ALMW8H2wxZpQDOpSc4NO9Oa17RbSLPcR7p1Onw=; b=Md/6duHMX+SyVQ/ZT2ut1MupPG3CRMZjDmYgonRYPA94oqtdpjwwEUS1rQYBAbXNLtULbj 8fcrdIc35zsSmViRAnD0xcxtVo9bCGXT+IwS5g2Ji3QYr1/P4cpmTvECs+Wocorsk+owJL y/zVVc/joQoE4Eo6rdWcNoj/NnapEXFAZKrCBqAQe2di2sDTEAQpwZRxdwC1EOZUyA2lG5 8oG1zCOnXHoyWVTZWsBsh+PvKAVWM3sh85ATVVvFXxLMpJ1Ofu54kGgtunbnrxqz/GW4Z6 gibtzRiAm86QojLq4WJKkhUxys+t6Pqd1Mem45e0MQ2BfJxr/QoVCYmlvPLO3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584025; a=rsa-sha256; cv=none; b=XMJsm8zxsBhk9jHysctI5UCoWgh0uZ12NF5REmF+gRaujhNHk5bNOaVk7ARBTCQkDIG/wn KTbdHvBGIYxsYoviMwNv0Ma2tT+5ZDL/+qdcvpZFUrLbx6sLs9GULDWRxOdLvLecQt4TQV M6hMb7FbXD4KLiUMg0D9cA/lo0ZIbSTWyEJRdb4vhyiH1wvtTeuAsZRiRj7nw9EZR4B99s yoACcNmiiTRGUkVKeKeP8XxNDlwkeHQ4WNsVKKmc5wg7+c1U6F9Zz2BsisdW+2RozHo4LJ JVQJwpr0qpWCjEi4YtJ4xjRjW33YxHaGiQ2NCl0oWHprqFKYGZLsc9SD3mbPsg== 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=1780584025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3D5E7ALMW8H2wxZpQDOpSc4NO9Oa17RbSLPcR7p1Onw=; b=EuYNNykzo59J+SzXUq4aU45xibIUy2n5E4/Nz1iaKBh1n8rLqGmSz5Pjgv/2YrPY0c73z/ Oo/TjNjcyWu4EGvpayHZUUaUpsHYAcJpI5au6lMATR3My/b/8OhzeavcQ6Om7wOQVAmExR 8PSINg221qOUfh/knugU64cmtd75Ra7c99I0CSs6SgYMIEERIf+4O7hdTwylKISi1mo+ex DnU19wvi3ccDRetkn9IfYpq5aojrRCevB/NolQw1BqmU/cIqrlNmoPY8G9MvzKI/JQ06JY kC8Q4mIpqmqwPlXaXJlNydh810ajyFsyEyeqbs979y+cDm5Y8v6NARB1fpIsTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0T2Fyjz12pH for ; Thu, 04 Jun 2026 14:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b263 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40: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: e4dd3505c2d1 - stable/15 - fts: Check link count before using it List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e4dd3505c2d12f1c1a4e626b18f2d4e75273af85 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:25 +0000 Message-Id: <6a218e59.3b263.43be2985@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e4dd3505c2d12f1c1a4e626b18f2d4e75273af85 commit e4dd3505c2d12f1c1a4e626b18f2d4e75273af85 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 17:45:06 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 fts: Check link count before using it * Check the range of the link count before trying to use it. * Rewrite the comment explaining what the link count is used for. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D57324 (cherry picked from commit b2b95249ae0e24a6e24ad4286da56f1aff7a6db0) --- lib/libc/gen/fts.c | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c index 4aa386d777cd..e8063ecb646e 100644 --- a/lib/libc/gen/fts.c +++ b/lib/libc/gen/fts.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -114,6 +115,19 @@ static const char *ufslike_filesystems[] = { 0 }; +/* + * POSIX provides nlink_t but unfortunately not NLINK_MAX. + */ +#define NLINK_MAX \ + _Generic((nlink_t)0, \ + int16_t: INT16_MAX, \ + uint16_t: UINT16_MAX, \ + int32_t: INT32_MAX, \ + uint32_t: UINT32_MAX, \ + int64_t: INT64_MAX, \ + uint64_t: UINT64_MAX, \ + default: 0) + static FTS * __fts_open(FTS *sp, char * const *argv) { @@ -736,7 +750,7 @@ fts_build(FTS *sp, int type) int cderrno, descend, oflag, saved_errno, nostat, doadjust, readdir_errno; long level; - long nlinks; /* has to be signed because -1 is a magic value */ + int64_t nlinks; /* has to be signed because -1 is a magic value */ size_t dnamlen, len, maxlen, nitems; /* Set current node pointer. */ @@ -759,16 +773,36 @@ fts_build(FTS *sp, int type) } /* - * Nlinks is the number of possible entries of type directory in the - * directory if we're cheating on stat calls, 0 if we're not doing - * any stat calls at all, -1 if we're doing stats on everything. + * In the FTS_PHYSICAL | FTS_NOSTAT case, we want to avoid calling + * fstat() unnecessarily, but we still need to call it for + * subdirectories. The current directory's link count provides an + * upper bound on the number of subdirectories we may encounter + * (including . and .. in the FTS_SEEDOT case). We initialize + * nlinks to the current directory's link count, then decrement it + * every time we encounter a directory, so when we hit zero we can + * save some time by not calling fstat() on subsequent entries. + * + * If FTS_NOSTAT is not set, or the link count is less than two + * (which should not be possible) or equal to NLINK_MAX (which + * suggests that the actual value could be higher), or the current + * filesystem is not known to provide reliable link counts, we + * initialize nlinks to -1 and fstat() everything. + * + * In the rare case where we don't need to stat anything, even + * subdirectories, we initialize nlinks to 0 regardless of the + * actual link count. + * + * Note that we ignore the FTS_NOSTAT flag in the FTS_LOGICAL + * case, although we could choose to only stat symbolic links. + * Implementing this is left as an exercise for the reader. */ if (type == BNAMES) { nlinks = 0; /* Be quiet about nostat, GCC. */ nostat = 0; } else if (ISSET(FTS_NOSTAT) && ISSET(FTS_PHYSICAL)) { - if (fts_ufslinks(sp, cur)) + if (cur->fts_nlink >= 2 && cur->fts_nlink < NLINK_MAX && + cur->fts_nlink <= INT64_MAX && fts_ufslinks(sp, cur)) nlinks = cur->fts_nlink - (ISSET(FTS_SEEDOT) ? 0 : 2); else nlinks = -1; From nobody Thu Jun 4 14:40:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0V5S6tz6gPtc for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0V3kzSz3prt for ; Thu, 04 Jun 2026 14:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qCG5UnZRBDcF4tpknEhrSoo7KBw5CEeYEQAO/6YzuoU=; b=tev0AcuYDuqRs++EU90s3ZGpfjmneBfSrYIWqTZf3G0Kyt+ucO9PdCv+nnJjbIdI2qjdle 1mm/SkVjzkzv1IF5aOh2LrDGRScdpD8B6pO8XQCQGKOXp6VbZJJJd1yooFDndEar7aYEbZ GsgZ9ArFgZiq8MhE1qCMig7X1c/JB0rFg6teohb+gioP5r60RIyDd3hg2aPax477MvuW3g 7ynY0ulgMxqPLQPlUIdkLPid3hqpDnoQnLkNW9EL2YfdWCfAZPDfBLzf5cHtvAiuLNuxQE X5BfgE1ZIMaM7CncuEHXjCUqZmmXxJW8ys+bGfPRAknB5EAtO0Njlr/dPQzC1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584026; a=rsa-sha256; cv=none; b=iHiA6LBC3K9cKMUhLF+/R4C6Rva0E1nfuyaUsC1ePaRPjqnmJ+oTnASvsnST95CM9UL0CI 4EpHdht4OyyCFfAHZncWAvhTZieAjdPIufNG/OfXmPKr9XzFZpDXHmR9ImKVYctYEUv47+ NXzZrbicdFh96lsXrlaUmKGXGQkIlWTAC2BfxK0Le5ALnnhHLFeVozz/TZ4o7RSpntnQv7 i0jh6deBoD53ZVinUNDJiRogJWsrhfbmFfZ1N3dDZUS52xsennkhK+vyqL5zDeVs3Hk9w4 ypJUfZRjOccrDC4sYTwZ0nGsMxn1QrDB7Ovh7MFEL+N5zpqIM0EdBXUF7iHDQg== 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=1780584026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qCG5UnZRBDcF4tpknEhrSoo7KBw5CEeYEQAO/6YzuoU=; b=oNcX6Ef9ml6L0NdAtQtO36ifb5iVest3/UVovPIPUmZU8CB2Z5+aL+t6c9HOFwFzTL4PE8 4lCUqnJCaoo+lpAAhz6pWqB9uIjgeVepUJABB9y+SMXmtdeCplfcsREjScSJfqzHw+BbBQ YFYzRY7nXuXqinrkFy6dxuQA+zWgkz7vnBab1l7QUGs2nz2zWUSLb3VZKJYKYyuhktSZgy pw3JloTWeB85adoSJSveegKv0Dwtu7TrejQW0gj7ag8pAKxjunCL+4LEDv/4kBbiT4kCki nchuIoswuQpiPL0Ewn7nlgavmPoJseGaI6fQoniIW0qofhD8OGs6rfcvPDMfqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0V36C8z12sb for ; Thu, 04 Jun 2026 14:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cb64 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40: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: e6cabe3030ce - stable/15 - fts: Improve the description of FTS_NOSTAT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e6cabe3030ce6add2e7a0db3ec4e13e76549ff01 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:26 +0000 Message-Id: <6a218e5a.3cb64.272aab94@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e6cabe3030ce6add2e7a0db3ec4e13e76549ff01 commit e6cabe3030ce6add2e7a0db3ec4e13e76549ff01 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 17:45:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 fts: Improve the description of FTS_NOSTAT Note that we still need to stat directories and the roots. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D57325 (cherry picked from commit dce6aff90b13f30fcb4c1fa263868607ccda8041) --- lib/libc/gen/fts.3 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/libc/gen/fts.3 b/lib/libc/gen/fts.3 index da304e59ee72..79b94afa806a 100644 --- a/lib/libc/gen/fts.3 +++ b/lib/libc/gen/fts.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 6, 2025 +.Dd May 29, 2026 .Dt FTS 3 .Os .Sh NAME @@ -497,6 +497,13 @@ field to and leave the contents of the .Fa statp field undefined. +The roots and any directories encountered during traversal +.Po +.Dv FTS_D , +.Dv FTS_DC , +.Dv FTS_DP +.Pc +are still fully populated. .It Dv FTS_NOSTAT_TYPE This option is similar to .Dv FTS_NOSTAT , From nobody Thu Jun 4 14:40:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0X060mz6gPqn for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0W4nQ7z3ps3 for ; Thu, 04 Jun 2026 14:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pqZBKig/b8A+3MKUSbdBMkaQznWqBT19WQcl4/bilpE=; b=EXpVzvVqGLimuAueHYzTN3tJP4Pfa5Us9H1oYNNdC5sHclHRRzHk3BweAiL5GBu2kHP+tA 3ZDFSZRHVW7AV7oM4bnSbjixh0ashGa3c6tbyS+RroBtBs1Z+p4TGMlsueBNNJxJBPxUhR 4O3HfQpk3wdrhJkyQYPfNOW6U/b7n1r+2/ufHNqnhw33d0tAjh9BL9egdRFXO1BgsBUMdS VVMgdw1+omSdlh95GiLb4aFlL7QUsL7JMASkLauDzCbv1M+dLncNEDVQCZSsdi8hY3p8+y 805CU+1ntnngocYx18c0m/N9TjXwRmatJCX+FsfSxA4GEPeqMdqpDOE0jG6Pww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584027; a=rsa-sha256; cv=none; b=re4i5D2wRupyH+kx5iSjGgmJqkxqXDUY5qoqI0hcHrWIqUtj6BHfuEO+IL83aooHHpB9gP Gep6P6UzPiAP1e2qWH/O5ES2SJav4ZDnEbEPsLWW01/l9LxyFpuXOR5jsoYUZ0G/Bf+pqm nvtsuNWV2SzQ7ZvAtX0ByHPCbDsLtUjvA2BQfrpGkHE68VWxc6Djk2LtxE5j5NcT614+PL rLgU7gK+sKvTiwLMMmzp7Tl9dtF9H+KfYcLZheQFAQ3LUW8noNUQ+melkDyTQd396J9zNc Ie2Wyi4/b85miPDC/UP13qmZoWhRgY5BoatNOrzFRHY4muJXbLx19Srv/Uhaow== 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=1780584027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pqZBKig/b8A+3MKUSbdBMkaQznWqBT19WQcl4/bilpE=; b=ymNeN6ujtS4Gncsi+JzIXTqQFJLmPkvfo1Bh2umpaNmbMX7U0cVIEXlkpoo1dfZKCpyCGU y1aHZn5uM6/5kHIYTpJ+P4rpdv4Zgthc8vS60Jr17VA5i20yLxW++WRZSiikPBJ/C0Ga5n U3AVNRhH21UdeUVwJFaXE+qcg5crrmQDbHaOZDWV+SfSzK4yGFyX4E39ytekoXHH/qlX99 nfQFLmYr59+tgHtmrG7BlDH431SX5SziRh+ATMBBdtW8DsIcVUxw4MuAWcV7TGHEEflBN4 1uJNAtTNHBkSyb4nLii1+HR0OD3t2mgxcts/vffY+IAy8v8M9BM59o9qcNAhBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0W41lqz12bX for ; Thu, 04 Jun 2026 14:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b5c0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40: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: e8abb1003278 - stable/15 - login.conf(5): Add missing resource limits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e8abb1003278c60e61e11fb29bff9e0acfb630ec Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:27 +0000 Message-Id: <6a218e5b.3b5c0.3b825442@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e8abb1003278c60e61e11fb29bff9e0acfb630ec commit e8abb1003278c60e61e11fb29bff9e0acfb630ec Author: Dag-Erling Smørgrav AuthorDate: 2026-05-27 13:10:35 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 login.conf(5): Add missing resource limits While here, reorder the table. PR: 295618 MFC after: 1 week Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D57258 (cherry picked from commit e9346d1d1383e8c1dced50a3aceb28edd5a4a5e2) --- lib/libutil/login.conf.5 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/libutil/login.conf.5 b/lib/libutil/login.conf.5 index 942f3ecd2661..a23f78ba0244 100644 --- a/lib/libutil/login.conf.5 +++ b/lib/libutil/login.conf.5 @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.Dd September 25, 2025 +.Dd May 27, 2026 .Dt LOGIN.CONF 5 .Os .Sh NAME @@ -194,17 +194,18 @@ login environment. .It "cputime time CPU usage limit." .It "datasize size Maximum data size limit." .It "filesize size Maximum file size limit." +.It "kqueues number Maximum number of kernel event queues." .It "maxproc number Maximum number of processes." .It "memorylocked size Maximum locked in core memory size limit." .It "memoryuse size Maximum of core memory use size limit." .It "openfiles number Maximum number of open files per process." +.It "pipebuf size Maximum size of pipe buffers." +.It "pseudoterminals number Maximum number of pseudo-terminals." .It "sbsize size Maximum permitted socketbuffer size." -.It "vmemoryuse size Maximum permitted total VM usage per process." .It "stacksize size Maximum stack size limit." -.It "pseudoterminals number Maximum number of pseudo-terminals." .It "swapuse size Maximum swap space size limit." .It "umtxp number Maximum number of process-shared pthread locks." -.It "pipebuf size Maximum size of pipe buffers." +.It "vmemoryuse size Maximum permitted total VM usage per process." .El .Pp These resource limit entries actually specify both the maximum From nobody Thu Jun 4 14:40:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0Y4VWmz6gPxF for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0Y3CRdz3pmN for ; Thu, 04 Jun 2026 14:40:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9shm3+Tw+OQ3z/gjKGLY9+/18bsE/Fa00uB2feyyQEg=; b=BXZfl/3mGxr7yqnmeObbL7HnMs8k/ia4qIvYtg/nKslwgoqlStZTc962RQvO+QJJp6FAGo 6RsmGXeNkU440eqeNoillyrw6p1HLTp2Ndi3/pmLfI7IWPoaS14sdlyUo1s2hYT7V9LOwY S4NPPVsVzu3lIIAbWkYiPkevM9ShIsol7c8Rc6EVpFntb2flSQqqPOtu0OVW+2mZdKsjzc xmrJFzlTFX6hnF1QNoVEMHcj/jNPWtBDCxgZ/1VtHtT5LovTXDFi0VGlnNfyt+SL/izC3r cmnMjkCAVD2UQFcA7MTjIoSYizeU6qF+5Ko7kf9YqGqbrZB/lO+kT8JgBGywdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584029; a=rsa-sha256; cv=none; b=Nla4Fc98hMjXkUQKrvCulITuVwI93g6tTYI0Eqzx1PzHC8J2W+8ST5pP2/pGB0dNTA6/i1 zQ4Vf//wwi5loeB5N6crDyaq28rw3Xd/HFOl2jva5QJBbhIsMr1N0Y8Vd3+pcAWoURDkSF Hj0064hp/bjA7YbcPHRvjQb921CJDswtrAVj6D4w66ltSjE5DTCMziaG2GgO+To8Dkm8h6 3rsWYrxmIekfD5zbe73qqozRXvodqUd3qjiEJe+mh0Q2NYk+ywqNM1dzph9wIo+caztLwJ MqPzpAgPqeIAR5AsknIHSum1qRr0a1ir7DfRRaUEk6dOxrBzjzRZ9mqDJXspbg== 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=1780584029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9shm3+Tw+OQ3z/gjKGLY9+/18bsE/Fa00uB2feyyQEg=; b=uk9tVw6gOEW4u4FY97EwNwL4EDEuGD5nJKHEyHksWnNN8Bk7bDYlKUQxLTpt5aq8g+1lIs XYKussVwDORpB+GuoDZrFKM/DlYr8TyBrqg9+28qXgXkmBX1JezTH8aVHeGPIcg8XD+8Pe RVpvIVNbnbSvOwVQjzKSdqb+mjN7r6dHTQ5of3pqZwOVmW5P3cvZlKHDUyRIpZkMUWXfxy GBXL+mTAQwRH1Empjiu8BTv0tOii7hP02LW6s1qCf54wOHwhHvwySrPyo2DclKrYTg212b vraL3Q8TUvOWF0Pgoy/rq5EyJCHUC1p2zbRSJSqC/zMyUyhb+0iiXu7M8fnHpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0Y2XrFz12bZ for ; Thu, 04 Jun 2026 14:40:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cb8f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:24 +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: b1cec2bd42c2 - stable/15 - fts: Add some depth to the options test List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b1cec2bd42c2a79966bee005e104c8e5daf8331c Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:24 +0000 Message-Id: <6a218e58.3cb8f.2a8ea3b3@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b1cec2bd42c2a79966bee005e104c8e5daf8331c commit b1cec2bd42c2a79966bee005e104c8e5daf8331c Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 17:45:01 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 fts: Add some depth to the options test MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D57323 (cherry picked from commit 7ec549870f2adeb0e896885220d4af6b47c4c9ba) --- lib/libc/tests/gen/fts_options_test.c | 74 +++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/lib/libc/tests/gen/fts_options_test.c b/lib/libc/tests/gen/fts_options_test.c index fc3015138a49..863c0809d16e 100644 --- a/lib/libc/tests/gen/fts_options_test.c +++ b/lib/libc/tests/gen/fts_options_test.c @@ -36,6 +36,8 @@ fts_options_prepare(const struct atf_tc *tc) ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); ATF_REQUIRE_EQ(0, close(creat("file", 0644))); ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + ATF_REQUIRE_EQ(0, mkdir("dir/sd", 0750)); + ATF_REQUIRE_EQ(0, mkdir("dir/sd/sd", 0700)); ATF_REQUIRE_EQ(0, symlink("..", "dir/up")); ATF_REQUIRE_EQ(0, symlink("dir", "dirl")); ATF_REQUIRE_EQ(0, symlink("file", "filel")); @@ -57,6 +59,10 @@ ATF_TC_BODY(fts_options_logical, tc) { FTS_DL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "dir/file" }, + { FTS_D, "sd", "dir/sd" }, + { FTS_D, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd" }, { FTS_D, "up", "dir/up" }, { FTS_DL, "dead", "dir/up/dead" }, { FTS_DC, "dir", "dir/up/dir" }, @@ -67,6 +73,10 @@ ATF_TC_BODY(fts_options_logical, tc) { FTS_DP, "dir", "dir" }, { FTS_D, "dirl", "dirl" }, { FTS_F, "file", "dirl/file" }, + { FTS_D, "sd", "dirl/sd" }, + { FTS_D, "sd", "dirl/sd/sd" }, + { FTS_DP, "sd", "dirl/sd/sd" }, + { FTS_DP, "sd", "dirl/sd" }, { FTS_D, "up", "dirl/up" }, { FTS_DL, "dead", "dirl/up/dead" }, { FTS_DC, "dir", "dirl/up/dir" }, @@ -108,6 +118,10 @@ ATF_TC_BODY(fts_options_logical_nostat, tc) { FTS_DL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_NSOK, "file", "dir/file" }, + { FTS_D, "sd", "dir/sd" }, + { FTS_D, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd" }, { FTS_D, "up", "dir/up" }, { FTS_DL, "dead", "dir/up/dead" }, { FTS_DC, "dir", "dir/up/dir" }, @@ -118,6 +132,10 @@ ATF_TC_BODY(fts_options_logical_nostat, tc) { FTS_DP, "dir", "dir" }, { FTS_D, "dirl", "dirl" }, { FTS_NSOK, "file", "dirl/file" }, + { FTS_D, "sd", "dirl/sd" }, + { FTS_D, "sd", "dirl/sd/sd" }, + { FTS_DP, "sd", "dirl/sd/sd" }, + { FTS_DP, "sd", "dirl/sd" }, { FTS_D, "up", "dirl/up" }, { FTS_DL, "dead", "dirl/up/dead" }, { FTS_DC, "dir", "dirl/up/dir" }, @@ -151,6 +169,14 @@ ATF_TC_BODY(fts_options_logical_seedot, tc) { FTS_DOT, ".", "dir/." }, { FTS_DOT, "..", "dir/.." }, { FTS_F, "file", "dir/file" }, + { FTS_D, "sd", "dir/sd" }, + { FTS_DOT, ".", "dir/sd/." }, + { FTS_DOT, "..", "dir/sd/.." }, + { FTS_D, "sd", "dir/sd/sd" }, + { FTS_DOT, ".", "dir/sd/sd/." }, + { FTS_DOT, "..", "dir/sd/sd/.." }, + { FTS_DP, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd" }, { FTS_D, "up", "dir/up" }, { FTS_DOT, ".", "dir/up/." }, { FTS_DOT, "..", "dir/up/.." }, @@ -165,6 +191,14 @@ ATF_TC_BODY(fts_options_logical_seedot, tc) { FTS_DOT, ".", "dirl/." }, { FTS_DOT, "..", "dirl/.." }, { FTS_F, "file", "dirl/file" }, + { FTS_D, "sd", "dirl/sd" }, + { FTS_DOT, ".", "dirl/sd/." }, + { FTS_DOT, "..", "dirl/sd/.." }, + { FTS_D, "sd", "dirl/sd/sd" }, + { FTS_DOT, ".", "dirl/sd/sd/." }, + { FTS_DOT, "..", "dirl/sd/sd/.." }, + { FTS_DP, "sd", "dirl/sd/sd" }, + { FTS_DP, "sd", "dirl/sd" }, { FTS_D, "up", "dirl/up" }, { FTS_DOT, ".", "dirl/up/." }, { FTS_DOT, "..", "dirl/up/.." }, @@ -198,6 +232,10 @@ ATF_TC_BODY(fts_options_physical, tc) { FTS_SL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_SL, "dirl", "dirl" }, @@ -224,6 +262,10 @@ ATF_TC_BODY(fts_options_physical_nochdir, tc) { FTS_SL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "dir/file" }, + { FTS_D, "sd", "dir/sd" }, + { FTS_D, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd" }, { FTS_SL, "up", "dir/up" }, { FTS_DP, "dir", "dir" }, { FTS_SL, "dirl", "dirl" }, @@ -250,10 +292,18 @@ ATF_TC_BODY(fts_options_physical_comfollow, tc) { FTS_DL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_D, "dirl", "dirl" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dirl", "dirl" }, { FTS_F, "file", "file" }, @@ -279,10 +329,18 @@ ATF_TC_BODY(fts_options_physical_comfollowdir, tc) { FTS_DL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_D, "dirl", "dirl" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dirl", "dirl" }, { FTS_F, "file", "file" }, @@ -308,6 +366,10 @@ ATF_TC_BODY(fts_options_physical_nostat, tc) { FTS_SL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_NSOK, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_NSOK, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_SL, "dirl", "dirl" }, @@ -334,6 +396,10 @@ ATF_TC_BODY(fts_options_physical_nostat_type, tc) { FTS_SL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_SL, "dirl", "dirl" }, @@ -362,6 +428,14 @@ ATF_TC_BODY(fts_options_physical_seedot, tc) { FTS_DOT, ".", "." }, { FTS_DOT, "..", ".." }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_DOT, ".", "." }, + { FTS_DOT, "..", ".." }, + { FTS_D, "sd", "sd" }, + { FTS_DOT, ".", "." }, + { FTS_DOT, "..", ".." }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_SL, "dirl", "dirl" }, From nobody Thu Jun 4 14:40:28 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0Y3mCsz6gQ4g for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0X5LlZz3ppl for ; Thu, 04 Jun 2026 14:40:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pOMa5vX8beAWBB9BTocamxtId4mkUEW3XojKBb3QDtI=; b=AUfM27Pn3ndXMqPaJMdeQzSRlacHN6FojoEKNrsq5Rrl1rJ6zXOwuVwke05vLm9mhk6Opu HspEsBKOfDtKdkrqk+DNfGmKuVeggGu+Z3izqXdjbQqaqzHkywX8f/8EK5J0rfZF6GaCci unKtSKiTCKm4LboO9Y8AihS7WS0XSLfXkHPd3gAgb3eY9b99tKeGxxxbaBBlbm7mGmkzPv 7l/VDEL+svw/wKzSE1IsWwsI6zDv6RrozELufEpLRSiQrNMeiHmXhD01Ot4EqG7UgFLeWH fWpjdJqEa52gMVi9s8Pk0NlpjBZYK+7Ed1zSjXgRb30TtFCXvvXeHT36G2b1ww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584028; a=rsa-sha256; cv=none; b=gunr1tCNIv4kfjfdSOHllt+cgRi4ybF37FdbocXYLZIs4017QS0fopQjfWgo41cst8hz4R 0RzdsITx74qkYy4ogMneiXYwcCDk5YHVH4vKm6ZsIfBkAru2fmlLm85GJHfXb3K4BDizST h+VGD7K+g2Rpc/OAE3biTjQWAmPWmkkcymawJAxFVw649Zr9rlb/RKsS5rp30HKlUcGNKv Mre6BAOzCiDOz6JbypIvZOyR36GfeN8mK20aaqSs+E4bYxZLV6uwdcKHRk7vfKmk8z4uqm uxE9POOu3qSZLdnnTuBzokefimH9pgpp/TEizzzeusKHK8qOGr6Io+65WaDLCA== 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=1780584028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pOMa5vX8beAWBB9BTocamxtId4mkUEW3XojKBb3QDtI=; b=hU+CPu17EwLn4KOlSvgpM2keO3G7Od66TJMSDAR34H72s4omfwYUKmnj4a2BDOBcXf3fL4 5BPjNk8cU/wgSasPSsYgzOYQuLQYXwug9AZQQcIGXhajD0DvFo11OwgzMo0jcmUlDHwtzc JS63iOwqho5Th2THwvVD0cFKzGe3FPB0vEhsGpQ8+m8l4CBLJrh5gep9CZJpfRNHyICxxe 5GT9b3022gqe+MQWX3WT3nBA4X25dYYwuO9e3AKxvJFV57hmrfRBUcA3GtZ+s36BDllxNi R1W5hOdu0EInahjTc6QjRApalgBd8EhTgA7n+mAGRWO7xgJgWpBBUqApIafE0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0X4wRbz12Lt for ; Thu, 04 Jun 2026 14:40:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c799 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40: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: 2a0e9a9b5934 - stable/15 - login_class: Fix kqueues, pipebuf resource types List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2a0e9a9b5934ced31c90ff5c3231e1599b3b1e75 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:28 +0000 Message-Id: <6a218e5c.3c799.2ad3e2a7@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=2a0e9a9b5934ced31c90ff5c3231e1599b3b1e75 commit 2a0e9a9b5934ced31c90ff5c3231e1599b3b1e75 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 22:06:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 login_class: Fix kqueues, pipebuf resource types * kqueues is a count but is listed as a size * pipebuf is a size but is listed as a count PR: 295623 MFC after: 1 week Fixes: a4c04958f526 ("libutil: support RLIMIT_PIPEBUF") Fixes: 85a0ddfd0b26 ("Add a resource limit for the total...") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57333 (cherry picked from commit b5dce0ae4f78251f56ffcb6c6a58b9e6c20380e0) --- lib/libutil/login_class.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libutil/login_class.c b/lib/libutil/login_class.c index 9478b4dc98ca..3db831efc688 100644 --- a/lib/libutil/login_class.c +++ b/lib/libutil/login_class.c @@ -63,9 +63,9 @@ static struct login_res { { "vmemoryuse", login_getcapsize, RLIMIT_VMEM }, { "pseudoterminals", login_getcapnum, RLIMIT_NPTS }, { "swapuse", login_getcapsize, RLIMIT_SWAP }, - { "kqueues", login_getcapsize, RLIMIT_KQUEUES }, + { "kqueues", login_getcapnum, RLIMIT_KQUEUES }, { "umtxp", login_getcapnum, RLIMIT_UMTXP }, - { "pipebuf", login_getcapnum, RLIMIT_PIPEBUF }, + { "pipebuf", login_getcapsize, RLIMIT_PIPEBUF }, { NULL, 0, 0 } }; From nobody Thu Jun 4 14:40:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0Y6vm9z6gPxK for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0Y5mQ4z3pxx for ; Thu, 04 Jun 2026 14:40:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AK4/wFT4QBLyDeaodPJTGLl5v4lzpoE1Nswu0iC2+qs=; b=ll+Q7XXGhG6W5qXCHlKIl6PUhS+M6FjVaIjiQQWp+/cuQtM4fIJebje1/eUcXGQf/VCmu3 y+PsEfTzT1vJvbZ+WoYCtct32rqPr9tgF5BujlcPevutoyG6pDedDnWQZv2TCK8yXKG/3Y O8lsYlpTGuEtePxWdFonRic+fwIvRN8I4wWlS5Y5LvANy67etr9u0bRA91dlOBTyXoGg5E wG0bV0P5UjBuwEeUhDkZxqJw4EeiB7cDBBRmWoMH6EgOmUtpRZDRttDN8GD/i1LH9eWOw1 XmonjL8rXWsKPiui0bdvyhkQa1awxsE6pjSt1BbOhcHNFMTNB39K3ANsDzyppw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584029; a=rsa-sha256; cv=none; b=n7W7lpJsfO9IQOCgWutxKJFK8e46GEtI0ml8aQG7AqpGKrthFP0qQOR2sFimmGh5HRBR9o m9Nn5Q1eSuKznD/HC3f+ZIDk7gCZzP8rRUw5pcN0meXtqv172FwnPmj0G/d143g9v5aaLz aLs5+C6YryQubErSLqWLDOmedKv9Y0eMiQx7fuwoeUg+dlo4xok3jWoowN6ZH7M7EYEBZ+ ecI55jSM3Ji+Ik3+wdQqY8RRsESzWBmCN5DsEHUzwW4crJW4g6YwM2djSxx5v4noji1+SK TKNS+YVarERpONqD/WA0wVzRWgbjJzG/C9jOJ34WrgFc+cWuHJn5xWBlKJ5Btg== 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=1780584029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AK4/wFT4QBLyDeaodPJTGLl5v4lzpoE1Nswu0iC2+qs=; b=Jd/pqPH1tmrdnPSI3aZNz+ngbCEvkwzL6HL59PCwmHes2nGl9umFQuCaTm1p32QRXRfyr+ feb/1aCdufCJJYhl5WfYGCLRUDMX/sdiI8z/WjJfhzNfik/jFfwhz9DKYs3XtFB/PCZM/T iQr4U4A88QHXd8iOZiPq92IOrAzOS4SCp1+/8QP+F+j9tvXSAcErtnyTzjvpjKeZ7U15xA pRMxueuWXl4HHnc2uyHiOokt7+5n9s4ykRD3HQIWwUVCi8vsyCnL2lpPZCFojnagvUFf5O z4qId5oSf1B+8IGUCHZhvcw3PaSFraDftJHhx49G2oy/xoXKqqTg7gpLMnFOoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0Y5Kykz12Fq for ; Thu, 04 Jun 2026 14:40:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c363 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40: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: 7ad1006a20e4 - stable/15 - sh: Fix pipebuf limit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7ad1006a20e4d3381c079d8eacb050b1f3b9fbfc Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:29 +0000 Message-Id: <6a218e5d.3c363.35bdf032@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=7ad1006a20e4d3381c079d8eacb050b1f3b9fbfc commit 7ad1006a20e4d3381c079d8eacb050b1f3b9fbfc Author: Dag-Erling Smørgrav AuthorDate: 2026-06-01 08:51:24 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 sh: Fix pipebuf limit Since the factor is not 1, we need to provide a unit. MFC after: 1 week Fixes: 5d92f20c7d31 ("bin/sh: support RLIMIT_PIPEBUF") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57352 (cherry picked from commit dfd2273d27627313f944650840381e878077e825) --- bin/sh/miscbltin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sh/miscbltin.c b/bin/sh/miscbltin.c index bbf0aa5b8bde..a13a1a05aef2 100644 --- a/bin/sh/miscbltin.c +++ b/bin/sh/miscbltin.c @@ -516,7 +516,7 @@ static const struct limits limits[] = { { "umtx shared locks", (char *)0, RLIMIT_UMTXP, 1, 'o' }, #endif #ifdef RLIMIT_PIPEBUF - { "pipebuf", (char *)0, RLIMIT_PIPEBUF, 1024, 'y' }, + { "pipebuf", "kbytes", RLIMIT_PIPEBUF, 1024, 'y' }, #endif { (char *) 0, (char *)0, 0, 0, '\0' } }; From nobody Thu Jun 4 14:40:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0b4Pngz6gPxP for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0Z6lkNz3pvm for ; Thu, 04 Jun 2026 14:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Wm7kkXvd5TELaEB9h15Gt5bt5K6le5UsvaptK0V/Ls=; b=S33Tew/sKe8XfXRElkS6I3r+IjoPNE6lr+NyQ7l5q6T+DYOqc2Hk5INWtmbeAyL5ESchn2 qNpjUAXHYOHInSxYuW356GB9tO7pzh4L3A0zaUvxGNbJeFa7yFdLsUfreCfXSnCM7PXZqx /CX98Or8+Ie+AfTSwrTWO7SX/STSCcV7fM1cNC+E9O3Wi418jwQB0DmLJF2Nxuw4ZAd0l6 nFOL0O/o0Ey6j/IRjGldeIellK9r2XEPnCoANSIhD/DOEkJvebxJZD4Qv5obbTy5F7HrkF YONy/mtKF5OmciYX54OR7Q8/5dcdkWwJO4nzX/WexfYg5/z++c8Di//5jHxi5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584030; a=rsa-sha256; cv=none; b=kEjldlmPemmdXdmbaLtxFxqdC0MIo7/pcgduQYlF5qTXntX1hzPqo2pSdjHoKVNH9e8YSd Vy6RP7w+f1XCphEgxJFXKxxZLftuzgc0bBLWEFWN0On1WBaGuflAlG8jGsVeBLNn/96Y2q 9ZKgtz+KoTdQOcN0G+JJYtjHDix4PbzqERq1K3hPdN4Yys4DMA6fg791kN2gNMsdy00cdT 9qYZR9CrOCPpJ+OtQCHrEUytdvdmctfQkjIcNq27wMBhpq3sAO5pG2lMeIJAFeAJn4Y1Wq 4NZ0LN1uQP74MasDYXPfX4g6tO628n27e+zQCWs97C6yPm00DyxZ51ITKOZeww== 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=1780584030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Wm7kkXvd5TELaEB9h15Gt5bt5K6le5UsvaptK0V/Ls=; b=LRpVyt+mZE7Pscl2TO7liVZmthQlGYpAQ2zKMD93nAwLrmWgGaXmfpKxp8z540h33HNo8b /pqfscn4Yk1k0Fbyb+snd46+/dsFojoeSGQH1Go+tJUhbVoRsKNRn7PAZgCwxZcNoqs/Kz ndpUNVZPNPSzz5hku93wXRjudWwbi1Qn8+7l0qFfX0gRb+wigtULDcXbDmbmQgWxJJSCfK WIQTaypaaHDvxP4T0N+SNVTsfR8dFXafVoKiTPTPM6QsJqC4ceLq71fnGnv6AE5JqW78ap CyKloeJu96/eoACw6rHFWGdGrp2xBO1jdwp2B5OdONhZMEWyD+917dRG536m8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0Z66SRz12pK for ; Thu, 04 Jun 2026 14:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cab2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40: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: 7546f06f5e06 - stable/15 - ObsoleteFiles: Add some ancient locale symlinks List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7546f06f5e0658ae0846116f42825d73479f9196 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:30 +0000 Message-Id: <6a218e5e.3cab2.5867d0c1@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=7546f06f5e0658ae0846116f42825d73479f9196 commit 7546f06f5e0658ae0846116f42825d73479f9196 Author: Dag-Erling Smørgrav AuthorDate: 2026-06-02 08:36:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:18 +0000 ObsoleteFiles: Add some ancient locale symlinks These were dropped in 2021 but were never listed in ObsoleteFiles.inc, so systems that have been upgraded from source since before that date (or from 13.x) may still have them. PR: 295668 MFC after: 1 week Fixes: 0a36787e4c1f ("locales: separate unicode from other locales") Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D57331 (cherry picked from commit 1cef7e9eb0822c606fc34f975efd14b6daeff756) --- ObsoleteFiles.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index c688785da8b4..d9924e3e2e42 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,13 @@ # xargs -n1 | sort | uniq -d; # done +# 20260602: Removed by 0a36787e4c1f on 20210723 +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/sr_RS.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_NUMERIC + # 20260430: Provide stdint.h macros unconditionally OLD_FILES+=usr/include/c++/v1/stdint.h From nobody Thu Jun 4 14:40:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0x03hmz6gQ4r for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0w5jdFz3qsn for ; Thu, 04 Jun 2026 14:40:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WZvi7ix2xDPKOyrWV2kEVPKp5626/tn5UWHTaGwV5qY=; b=YlXsR5zcU2J4Mp0WikkdbN7Y9gYfvsfdcvOZNfRMCAGr/kSBMRQT7pIdqWuKK/fptDpDB/ whWLSe1H1aS12eexbdd6+e+kp8hGpWqLOAQ+0RLBo40WWlIXNid631mHgYpCzhhA0N+OIY VxUS66Syw2w6eZxY45dkJVvt6/IdL85YtDU/Q7NC8/IKWcjLh8eStZa5hOcxdVEFn+nTYU YQ3FwGIEBhHyH+MCwm/gDNfDX/bAHTBDOZILZe+oWGkkNdjMNvT0Cw51p1a9v2o699sU6Y BI88cqDmq86DcrZWfqDAbbILKgqoxuFq4V1t7A+rInyK4zcvimPgz9ht2/iEvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584048; a=rsa-sha256; cv=none; b=xdpgYKCzZbU6CI+o0x+6fNPAGpQyJWuS+xTVkbICckedkU0ShU8g2AzicenDwFELn+eyVj /ZyPAPX8TRgGapwB6bkgJht+CfZgf8KTqTqrdRgkpQk3eoRy5L1bJoPNZFGd+jQozHRDeS BwtcBCeDMS/UKX8gSb4RdScPIp5JVYhjMqGzLPW1ngLG9PX3niX9WmbCOGGMzEU0m5miLM MRCGzp0XFpB0FcqqH+c+IY+9rCzCud4PL0xPdzNRSxupEz/vNLhnm7JeSfbAo0B8Yi2QCw jnplfUaUyGjDci/zMLqnBzOaRt8kzmUEOJGuDemi3IWVxwYw6j9TRyQBth7DpA== 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=1780584048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WZvi7ix2xDPKOyrWV2kEVPKp5626/tn5UWHTaGwV5qY=; b=LBl5s9ZGzjx9CUZaftNokywwZz/KIk/7RekKOI3yXB5Aj9sZXRpIgOU3W0SYQaKPQSCVZT UzBXuCkT5Ekr0gmG7dKfkT9GIrh3pmYBnmhW2bya8dPB6ye/qgHcufKEj38fTrWYInE2IR tlZoXBMe5Gji67GYqFrLS3gsPuH55hNDbRhprj19nfgsPDh7is2re6fErmQ+XSo777jBke ojupa8EImSjSLVvRlUTMB5amnlILMLaHKMks8X6Rst4iUYGwFB4Y8vSiTey/NOjNbqqmC3 FL8PJXteH16Dek2gmznKUnyk4YePb8gSgEfvJjcKLz4T6q3ykzVNlN8OD9KnbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0w4vDpz12M1 for ; Thu, 04 Jun 2026 14:40:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ca57 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:48 +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: d3c855f40fc2 - stable/14 - fts: Improve the description of FTS_NOSTAT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d3c855f40fc294874c93e25d89af096aef04c6e5 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:48 +0000 Message-Id: <6a218e70.3ca57.696a08b2@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=d3c855f40fc294874c93e25d89af096aef04c6e5 commit d3c855f40fc294874c93e25d89af096aef04c6e5 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 17:45:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:28 +0000 fts: Improve the description of FTS_NOSTAT Note that we still need to stat directories and the roots. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D57325 (cherry picked from commit dce6aff90b13f30fcb4c1fa263868607ccda8041) --- lib/libc/gen/fts.3 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/libc/gen/fts.3 b/lib/libc/gen/fts.3 index b3e82a7200e4..9c249480b18a 100644 --- a/lib/libc/gen/fts.3 +++ b/lib/libc/gen/fts.3 @@ -27,7 +27,7 @@ .\" .\" @(#)fts.3 8.5 (Berkeley) 4/16/94 .\" -.Dd October 6, 2025 +.Dd May 29, 2026 .Dt FTS 3 .Os .Sh NAME @@ -477,6 +477,13 @@ field to and leave the contents of the .Fa statp field undefined. +The roots and any directories encountered during traversal +.Po +.Dv FTS_D , +.Dv FTS_DC , +.Dv FTS_DP +.Pc +are still fully populated. .It Dv FTS_PHYSICAL This option causes the .Nm From nobody Thu Jun 4 14:40:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0y39p9z6gPr3 for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0x6DLqz3qhT for ; Thu, 04 Jun 2026 14:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i0g0M5XC+R3zNzwO5t5wML3JgfWF8Chtk4umlnWKWcE=; b=K0unjE9NR0Uo/dzQgpez3x8hTpY4y96r6//WuZpkLdMBUgb7dZjpn5w4WiUkgIqYJpWz7M 7MA88hfBqJc1tAYt3HbMCOvb3WcJzHWqa6fKSZHQbDw16+exfEUd7VkMgX7dbKcAkFHwQB wy+iCGjtgX2IhcptUraRFI3gzSuc76pgGp1y/65T5Dyf6aRE05HIVe/YgvTHG595kVyTUn 0meCJgd3H2HbhXrLhlUcOUSADpxdQvVY7Twr8qqj+YCcUgCKuhcAvQxq0Uh6/PdxmhUBhq FODw8vKX0Qc9i1yYWPnTO4LJjXM4cu7Zl19vv/XIB4ol47cmBLh2OnLjNvmgbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584049; a=rsa-sha256; cv=none; b=TswFJZgpyhvl4c+K0cfBZbEjA5BlxDZn8CNmPPOrWhu2VzcRmjUV6xGTM0Vc3YrUxXTjq4 0yLNMrboSFRICnpp+7IhMCznMhRCDXcODlh2ZRzE1CwqdBafliZT4ZUdTCpwH1ZPtOhSjH U+Ny+ePnWam2oNkVbR4qxkVLvSFC+NSrBWjrkib6+CHi1sxT3AJ9nlV5dzO4M8cTWrVOrj 4HOAHCcEGvNsfEzCNT99RNzm/+UQ8XpNw4Umsug2CGUjjbke4D/M9ve/YYb9EgTsHHzS8Y awtDFFOvBAV2p6Icmcch5+z66sy/XmCncrC8CqRINwHHv6D5/i13TwWpd7z8xw== 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=1780584049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i0g0M5XC+R3zNzwO5t5wML3JgfWF8Chtk4umlnWKWcE=; b=RsdY9RkZjTBw1wkcAuzO4tzU5O91WJCkszhW9y3ZEpXp1eE1diSkCo3xXNPitgKUNVc1uB ZgGCf7xoIG97G5xrIIV6EWJQvE4KL928Ylagu9BAdvuNnx/+s/11jxpHuVA4phNFvTkftP 8pVFII3uM77pjspZDgQlzg3/vjRIp9qOAU5+FgNz0PIh+MQpfVnBrQVVIlMo+LdE6Yy/Zx Ucmd4r7jyKgm0o238uhr+y2BJmLMUeF6obedVQL+m6vhyY/B1PoozQQbMCADU5qSgzQb7w eN9/ay69EelL44DuoBNspJkJTbzf8HIoP+bS0fFg043nyAbA1m0pli3NgSc9TQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0x5gbDz12pP for ; Thu, 04 Jun 2026 14:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c507 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:49 +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: 78381cdaf50f - stable/14 - login.conf(5): Add missing resource limits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 78381cdaf50fabbcda520f6c163880f2deab0740 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:49 +0000 Message-Id: <6a218e71.3c507.1986bd2a@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=78381cdaf50fabbcda520f6c163880f2deab0740 commit 78381cdaf50fabbcda520f6c163880f2deab0740 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-27 13:10:35 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:29 +0000 login.conf(5): Add missing resource limits While here, reorder the table. PR: 295618 MFC after: 1 week Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D57258 (cherry picked from commit e9346d1d1383e8c1dced50a3aceb28edd5a4a5e2) --- lib/libutil/login.conf.5 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/libutil/login.conf.5 b/lib/libutil/login.conf.5 index 27f37fb5fc30..03a2ae89e4df 100644 --- a/lib/libutil/login.conf.5 +++ b/lib/libutil/login.conf.5 @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.Dd June 28, 2023 +.Dd May 27, 2026 .Dt LOGIN.CONF 5 .Os .Sh NAME @@ -194,17 +194,18 @@ login environment. .It "cputime time CPU usage limit." .It "datasize size Maximum data size limit." .It "filesize size Maximum file size limit." +.It "kqueues number Maximum number of kernel event queues." .It "maxproc number Maximum number of processes." .It "memorylocked size Maximum locked in core memory size limit." .It "memoryuse size Maximum of core memory use size limit." .It "openfiles number Maximum number of open files per process." +.It "pipebuf size Maximum size of pipe buffers." +.It "pseudoterminals number Maximum number of pseudo-terminals." .It "sbsize size Maximum permitted socketbuffer size." -.It "vmemoryuse size Maximum permitted total VM usage per process." .It "stacksize size Maximum stack size limit." -.It "pseudoterminals number Maximum number of pseudo-terminals." .It "swapuse size Maximum swap space size limit." .It "umtxp number Maximum number of process-shared pthread locks." -.It "pipebuf size Maximum size of pipe buffers." +.It "vmemoryuse size Maximum permitted total VM usage per process." .El .Pp These resource limit entries actually specify both the maximum From nobody Thu Jun 4 14:40:51 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS103b2dz6gQ8Y for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS100JPZz3qfr for ; Thu, 04 Jun 2026 14:40:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qR2ZW97JF6QosM4sJZR7V58zFLIMcRGMeqOYpLexsu8=; b=XgI9mX9ndfwxDEq7bwAK+PJRx3qdrT0Ea9TIsbqjw/Y9pRxdW39WEvn2oIDt79vU50BnQp PVi9TcLmfo8nJ6+nj1FlBP2CRR6WeyyMEfaKEfhA7z+YV4c3gSCKKxNTbIVuE/Ifl+teBr QyqfsR5a9KRkEhwaRc3JfAsToFb4tITlpfmunRjr/t7gNnI1+DZFP1pD2CxkdKqbLigfUl c8/4Rij3bwVKV1BJK2Z3zMpg5SFum2XWkskkLrMQylPNERFk02Tl7tCotHTwP7ugXAcF0H m9IvcXcsugbZ17fLhFmbBj8HSWKi/p4Z30z1BYvI48tXdmwxDKt/FKLoZ/B5KA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584052; a=rsa-sha256; cv=none; b=gmxN23Uv2vcKxaj8EXYlsFLI7IutceyhmSCjcIMTjzP3r03sa8oa00sbbOkPjK9T190wl2 PEreWIlb9Brn+2h4Oc2dyywliyixjC2J5KdsgZgxo4QQjkvQV79XDbDizqged5F7PrxAKf qBp22d9RLynivdhpg41Z6oCp1m8OYV8MLOYElBJ8Hq8ZueUsjRoFpHORRcBQsBh/CxkG0y 8/v6dJLOGUr01GgLftYM80kiAtfJ6cRRrILDCv1wHfyK9pJKc00fAKHyv5PJuFkSHEkhhV xX9Sut5g0nvHiOyPoRuAJiXTS+AADIaXt0RHtN7N6wOCg5imN0xlPCa2eH9MNw== 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=1780584052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qR2ZW97JF6QosM4sJZR7V58zFLIMcRGMeqOYpLexsu8=; b=TIkVtFSUZzaEcfte4+ySKBf2BKgDZ35nYLmOp7BlhqQZM54Gygv28HWCa2EpGJaAwlO8hU kMvaYBiPXA1ifcA3VrWNWjxVJlftdusHE1NgWT6QBWbhABcPDIJmnwCfuJ9tbtIpKafS/d kFCA6YVTaa3Q9Fa3Abbefx696iBhP2X6RV5GO9qiEVbOokgRXNJQLmcX98xbMjPexBgqBP V6W4ip8q8Tib2S5YrYPGoT9OaUGifg8nhbQoaU/gx4hreQD8qPr3wWABZHH70O2xJpAWAo 7mcBtiFdHFJGLJOnHBT6FOrX3hPeWP65TGL6/S8Nk4hxgQEEazSU5/Yh0vTIBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0z6zrSz12lc for ; Thu, 04 Jun 2026 14:40:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b42b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:51 +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: c435622e6704 - stable/14 - sh: Fix pipebuf limit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c435622e67045f622c778fc87b19739ed60d7c1a Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:51 +0000 Message-Id: <6a218e73.3b42b.68d36869@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c435622e67045f622c778fc87b19739ed60d7c1a commit c435622e67045f622c778fc87b19739ed60d7c1a Author: Dag-Erling Smørgrav AuthorDate: 2026-06-01 08:51:24 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:29 +0000 sh: Fix pipebuf limit Since the factor is not 1, we need to provide a unit. MFC after: 1 week Fixes: 5d92f20c7d31 ("bin/sh: support RLIMIT_PIPEBUF") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57352 (cherry picked from commit dfd2273d27627313f944650840381e878077e825) --- bin/sh/miscbltin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sh/miscbltin.c b/bin/sh/miscbltin.c index 70b2aac58e93..819c713bdb46 100644 --- a/bin/sh/miscbltin.c +++ b/bin/sh/miscbltin.c @@ -522,7 +522,7 @@ static const struct limits limits[] = { { "umtx shared locks", (char *)0, RLIMIT_UMTXP, 1, 'o' }, #endif #ifdef RLIMIT_PIPEBUF - { "pipebuf", (char *)0, RLIMIT_PIPEBUF, 1024, 'y' }, + { "pipebuf", "kbytes", RLIMIT_PIPEBUF, 1024, 'y' }, #endif { (char *) 0, (char *)0, 0, 0, '\0' } }; From nobody Thu Jun 4 14:40:50 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0z1VMlz6gQFb for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0y6mlCz3qfd for ; Thu, 04 Jun 2026 14:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8Uxfd+lCs9HvLmtCDpkWKxO4VCmzs3aDBuin69y0ZXk=; b=uynfx/beFRWeB7vjNcI6FI99HlSOnVoHE7HfxWX2wl0a9xF6ynNpwRhbSkPQFfi+iA4XLK MS9g2t4P7DbybLpH5Nl0wMdeeMJYxlzhEsj51/c0LdfV7vWKgAvlm4kWvn1Q9/ymvcQjKV f+D3euN58KhfkCTMuQ2QYwWabZHYyYG+EJVkJ/6xffpJm80phfjcq2aj8G07bat1XWsZFC rnL/07P4TtbauzK/fw1+EWG9N/GdyZjZGOw9pWtGNbNOg5imMj0Tc0oNGC/f6Hckbudg6M RRTwXfWZjvuUpv32Esl/ri54Ik+N+0hk8XhC4oxnuARkqQ/MPF80MiMylLsEAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584050; a=rsa-sha256; cv=none; b=FWJWPVL4Mdt7VF/RoibUFjIZ/F9KMRCCgILzvxPjI+z+sXzIzIx1c/H/zKVUwhiRrgvbwK qmDNL+Xy+GBokNAOcTUCIrH+0D34eMmr9JeurUiMxYjUWNFDvF1OhJNr4I4ErX1+HJ9XXV tjpPLfjpOjCLvijd5rBSXolEDmMQRq6FToReaM+t56jYe2J6aIdgZBM5U6H6pXu0B2v9f5 HRo26s3B4T0VMiB5QWqG/i1mxz3LfYH1IEQiDRl1ZjbHgkBPaazYo8BazfNCA2oqB0EIqQ +TBMmf77Pw0Kt8dR2LGDcKuoV5rVzlCASWAHkPvW90V5v39mvbdIlp1sLLFbMg== 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=1780584050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8Uxfd+lCs9HvLmtCDpkWKxO4VCmzs3aDBuin69y0ZXk=; b=YkPoMzaF1yD/hEJ6QysCdzoVrX+Mf4hUiQ64SlJ/povPGbz8nlH5hZkdrcSj/hZqauvEOx llIOLtqQtmOFU/RgsNxjqwWRwjI2SJwOFNGUWMJMscnxRXApwVEG9DV1S0pLpai73JL+Cr jHXcZA75W2OEsLXbZ5jxIjG25uaex/lHnNLQeOM6lbc1yZ8+EG0VeSZObg2jDwTDfaqx3f 8yx5mqu3KY78FMGJRWr420fZOKpP/6JpL2GCWmO1RwHCXGJ9kIbZSs65uxNM4QcKP/m663 SK6cI54PGMp5DnBE2uEfHjdtra7qfmIBr03zixZP4T+7SshOyS8sZFVbXg5NtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0y6NK2z12qb for ; Thu, 04 Jun 2026 14:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c39d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:50 +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: 34fc5ccbc553 - stable/14 - login_class: Fix kqueues, pipebuf resource types List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 34fc5ccbc5534290dd874ea4bb50fac428621193 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:50 +0000 Message-Id: <6a218e72.3c39d.36c4a085@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=34fc5ccbc5534290dd874ea4bb50fac428621193 commit 34fc5ccbc5534290dd874ea4bb50fac428621193 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 22:06:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:29 +0000 login_class: Fix kqueues, pipebuf resource types * kqueues is a count but is listed as a size * pipebuf is a size but is listed as a count PR: 295623 MFC after: 1 week Fixes: a4c04958f526 ("libutil: support RLIMIT_PIPEBUF") Fixes: 85a0ddfd0b26 ("Add a resource limit for the total...") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57333 (cherry picked from commit b5dce0ae4f78251f56ffcb6c6a58b9e6c20380e0) --- lib/libutil/login_class.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libutil/login_class.c b/lib/libutil/login_class.c index db0218f94371..31db5574dfa5 100644 --- a/lib/libutil/login_class.c +++ b/lib/libutil/login_class.c @@ -64,9 +64,9 @@ static struct login_res { { "vmemoryuse", login_getcapsize, RLIMIT_VMEM }, { "pseudoterminals", login_getcapnum, RLIMIT_NPTS }, { "swapuse", login_getcapsize, RLIMIT_SWAP }, - { "kqueues", login_getcapsize, RLIMIT_KQUEUES }, + { "kqueues", login_getcapnum, RLIMIT_KQUEUES }, { "umtxp", login_getcapnum, RLIMIT_UMTXP }, - { "pipebuf", login_getcapnum, RLIMIT_PIPEBUF }, + { "pipebuf", login_getcapsize, RLIMIT_PIPEBUF }, { NULL, 0, 0 } }; From nobody Thu Jun 4 14:40:53 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS115d1tz6gQC7 for ; Thu, 04 Jun 2026 14:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS111NMPz3qtj for ; Thu, 04 Jun 2026 14:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJJre5bU/Kf8tluuCoW5qX2sREaD+MswDirCViRM95s=; b=BfMMUZURHUma6LypLONoj05h7cgIl3EvoeTMtIZxEfc4Yff9ghgvqnhwlPSQ3NN7iVacPq hN4M9xnWpRMM26DGkD10zoGfa7RoQdusaWMILzpBa+EIDaqnXXmyEsfauyuumkuy2ClBqb GfmXFrdNe/p4j7vMRJxdz0wTMmTHXje76dPBoq3BOPl8gLluHy3VAaDNFGiEVmzVyXBcPG j2IDex3BfglKSiXNHU1sfQd95kaDvFpKpO913xyYWbfaAgMMZ7xIBFnmz8yBpalqAIYMyu WAjdOOyvQbb0kdMj6UXguYgPV8ldtiYROHWmgw1Lz6+DtFAKxGBDeoiNVUEpZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584053; a=rsa-sha256; cv=none; b=oUiv3WFn9jGcwzxp5MdZ6BnWShjMb54Zjz+7ecylwlMO5a1Bcv/IDVjW7WFrFet9WQ3N34 iaj43TUQrHeJmMCU0lcXdWzpxYSh0xumZnjpBQXN5WcQ11LGOtWs+jPLOk+7bwSCYzTUu9 0Llf0aY0uqRjJ46CnnsPJaC8xFPiVsWjdUdPTrbflXHEUozEF7vbLXgllra/bmY5D45S+2 dKEwb7w/589QS3OVgLDtNi5yMf+aZSPmlHJUsVhwW3O8yEQ6Wyy5Ew04R+Mt/6HQxYua6r iquiRTpYYt0railI2eoAlvLtDnIvIj8eFpAo+vobP8InVfZVrQoltx5iqu8edQ== 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=1780584053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJJre5bU/Kf8tluuCoW5qX2sREaD+MswDirCViRM95s=; b=IQpq+So4mAgXLHIAYbLDGz7k2MgHwxuHOXFlNojCcUepcXK4eTxlLaJys6RM3/V57z47sr 8KYQ1nD6VaA+f9nTNXhmj7SmLwwPl3kuDBenxEMtTXDAmuAiiJjwNXrAcyLHvYIK8J2fE5 c/mFManRbgCjgbjDUGmfEqr7O7L8PQl70GSQR8TfQNSt9x2mPEgOIygyTBr2zeC/GCeteP z7td9BWH3FwN73RMpVLcwTtxMzlikraimqeaxjSHEf5kxpr/TLTQkGNLwD+mlVlhObSMj/ VKmTnesYl4lDeIs72qK/NniRMvpp5/CotdKttVb8CVJD9d0bi5fmYEMw32gp6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS110y5pz12qd for ; Thu, 04 Jun 2026 14:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b8b1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:53 +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: 8bbe1d5422bc - stable/14 - ObsoleteFiles: Add some ancient locale symlinks List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8bbe1d5422bc04e870482de6a0c05e769a106b1a Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:53 +0000 Message-Id: <6a218e75.3b8b1.ee2da34@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=8bbe1d5422bc04e870482de6a0c05e769a106b1a commit 8bbe1d5422bc04e870482de6a0c05e769a106b1a Author: Dag-Erling Smørgrav AuthorDate: 2026-06-02 08:36:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:29 +0000 ObsoleteFiles: Add some ancient locale symlinks These were dropped in 2021 but were never listed in ObsoleteFiles.inc, so systems that have been upgraded from source since before that date (or from 13.x) may still have them. PR: 295668 MFC after: 1 week Fixes: 0a36787e4c1f ("locales: separate unicode from other locales") Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D57331 (cherry picked from commit 1cef7e9eb0822c606fc34f975efd14b6daeff756) --- ObsoleteFiles.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 1540f7d00246..fdc4f8b7bad2 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,13 @@ # xargs -n1 | sort | uniq -d; # done +# 20260602: Removed by 0a36787e4c1f on 20210723 +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/sr_RS.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_NUMERIC + # 20260430: Provide stdint.h macros unconditionally OLD_FILES+=usr/include/c++/v1/stdint.h From nobody Thu Jun 4 16:14:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWV5Q3B42z6gZDH; Thu, 04 Jun 2026 16:14:50 +0000 (UTC) (envelope-from fuz@fuz.su) Received: from fuz.su (fuz.su [IPv6:2001:41d0:8:e508::1]) (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 (2048 bits) client-digest SHA256) (Client CN "fuz.su", Issuer "fuz.su" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWV5P73p4z45BF; Thu, 04 Jun 2026 16:14:49 +0000 (UTC) (envelope-from fuz@fuz.su) Authentication-Results: mx1.freebsd.org; none Received: from fuz.su (localhost [127.0.0.1]) by fuz.su (8.18.1/8.18.1) with ESMTPS id 654GEeCv078102 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 4 Jun 2026 18:14:40 +0200 (CEST) (envelope-from fuz@fuz.su) Received: (from fuz@localhost) by fuz.su (8.18.1/8.18.1/Submit) id 654GEeDP078101; Thu, 4 Jun 2026 18:14:40 +0200 (CEST) (envelope-from fuz) Date: Thu, 4 Jun 2026 18:14:40 +0200 From: Robert Clausecker To: Dimitry Andric Cc: Nuno Teixeira , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Faraz Vahedi Subject: Re: git: 86326398b73b - main - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): Message-ID: References: <6a1dbdb4.18f1f.11efe144@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16276, ipnet:2001:41d0::/32, country:FR] X-Rspamd-Queue-Id: 4gWV5P73p4z45BF X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated Hi all, I am currently at a conference with limited time to work on these issues. Please feel free to temporarily back out the work so the C++ parts can be fixed. It probably suffices to just make the On 4 Jun 2026, at 13:38, Dimitry Andric wrote: > > > > On 4 Jun 2026, at 12:53, Nuno Teixeira wrote: > >> > >> Not sure if it is related but I'm seing some ports failing recently with errors bellow. > >> ( error: no viable conversion from ... to 'bool' ) > >> > >> Similar fails appears at pkg-fallout: > >> > >> https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p226b23044ee7_s67df3130159/logs/binaryen-130.log > >> https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p226b23044ee7_s67df3130159/logs/encryptpad-0.5.0.4_6.log > >> > >> From node24 on main-n286352-73e0d6b44038: > >> ``` > >> c++ -o /wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/node_mksnapshot/tools/snapshot/node_mksnapshot.o ../tools/snapshot/node_mksnapshot.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_FILE_OFFSET_BITS=64' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_CERT_STORE' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DNODE_WANT_INTERNALS=1' '-DNODE_MKSNAPSHOT_USE_ARRAY_LITERALS=1' '-DHAVE_OPENSSL=1' '-DNODE_USE_NODE_CODE_CACHE=1' '-DHAVE_INSPECTOR=1' '-D__POSIX__' '-DNODE_USE_V8_PLATFORM=1' '-DNODE_HAVE_I18N_SUPPORT=1' '-DHAVE_AMARO=1' '-DHAVE_SQLITE=1' '-DHAVE_QUIC=0' -I../src -I../tools/msvs/genfiles > >> -I../deps/v8/include -I../deps/cares/include -I../deps/uv/include -I../deps/ncrypto -I../deps/v8/third_party/simdutf -Wall -Wextra -Wno-unused-parameter -pthread -Wall -Wextra -Wno-unused-parameter -Werror=undefined-inline -Werror=extra-semi -Werror=ctad-maybe-unsupported -m64 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -fno-strict-aliasing -std=gnu++20 -MMD -MF /wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/.deps//wrkdirs/usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/node_mksnapshot/tools/snapshot/node_mksnapshot.o.d.raw -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -c > >> ../test/embedding/embedtest.cc:138:12: error: no viable conversion from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr') to 'bool' > >> 138 | assert(snapshot); > >> | ^~~~~~~~ > >> /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit conversion function is not a candidate > >> 276 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit operator bool() const _NOEXCEPT { > >> | ^ > >> ../test/embedding/embedtest.cc:216:14: error: no viable conversion from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr') to 'bool' > >> 216 | assert(snapshot); > >> | ^~~~~~~~ > >> /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit conversion function is not a candidate > >> 276 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit operator bool() const _NOEXCEPT { > >> | ^ > >> 2 errors generated. > >> ``` > >> > >> Any clues? > > > > This is because converting a std::unique_ptr to bool requires an explicit conversion, i.e. "if (my_unique_ptr)" will work, but using it with assert() will not. > > > > At least, our assert() as defined in /usr/include/assert.h in -CURRENT, has this contorted definition: > > > > #if __cplusplus < 202002L > > /* > > * C++ modes prior to C++20 cannot simultaneously satisfy all three > > * desirable properties of the sanitiser: > > * > > * Approach No double-eval Lambda support Arity check > > * ----------------------------- -------------- -------------- ----------- > > * sizeof(cast(expression)) yes no yes > > * static_cast(expression) no yes no > > * (void)bool(expression) no yes no > > * > > * NOTE: C++20 introduced lambdas in unevaluated contexts; see P0315R4. > > * > > * Since no approach satisfies all three below C++20, the least harmful > > * choice is to forgo the check entirely rather than silently break one > > * of the remaining guarantees. > > * > > */ > > #define __assert_sanitize(...) ((void)0) > > #else > > #define __assert_sanitize(...) (void)sizeof(((bool(*)(bool))0)(__VA_ARGS__)) > > #endif /* __cplusplus < 202002L */ > > #else > > #define __assert_sanitize(...) (void)sizeof(((_Bool(*)(_Bool))0)(__VA_ARGS__)) > > #endif /* __cplusplus */ > > #define assert(...) (__assert_sanitize(__VA_ARGS__), \ > > (__VA_ARGS__) ? (void)0 : \ > > __assert(__func__, __FILE__, \ > > __LINE__, #__VA_ARGS__)) > > > > which clearly does not work as intended. I would probalby be simpler to to use "!!" to force an explicit boolean conversion. > > > > For now, the ports could be fixed by changing the asserts to "ptr != nulltr", or adding an explicit static_cast. Or we should probably fix our assert macro. > > That is, the following C++20 program should really successfully compile with our assert(): > > #include > #include > > void f(std::unique_ptr p) > { > assert(p); > } > > but at the moment it does not: > > unique-ptr-assert.cpp:6:10: error: no viable conversion from 'std::unique_ptr' to 'bool' > 6 | assert(p); > | ^ > /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit conversion function is not a candidate > 276 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit operator bool() const _NOEXCEPT { > | ^ > > When compiled with -save-temps, it shows the eventual expression it dies on: > > unique-ptr-assert.cpp:6:36: error: no viable conversion from 'std::unique_ptr' to 'bool' > 6 | ((void)sizeof(((bool(*)(bool))0)(p)), (p) ? (void)0 : __assert(__func__, "unique-ptr-assert.cpp", 6, "p")); > | ^ > > So it seems the recent changes to assert.h broke C++20 behavior. > > -Dimitry > > > -- () ascii ribbon campaign - for an encoding-agnostic world /\ - against html email - against proprietary attachments From nobody Thu Jun 4 16:34:05 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWVWk54Nkz6gb3b for ; Thu, 04 Jun 2026 16:34: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWVWk42sMz46qT for ; Thu, 04 Jun 2026 16:34:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780590850; 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=vQ9PUxiCxfeBbCXopETdOcf/KW9TuXQAb/X7dDKPhFA=; b=FUZDSSnAnHHo5drFqNgVVxi1RG7ODc1PdfhQiAQSXLPNVpIGbZenlN/NQt2vHzBOcTOCMv 9lCIYONNQHj3J/BImmxuC2DHrwp/hmJbPLqYk9RfjZUWqOwLEZ/RE3bpB5cIMYZyucyH73 4xNAl0ZCAZFpU0GdSvxvxk5Seo8ARE708crYwIDZP7h5JvXKNrYbYy9QYye+rPaBIRaKgw d7qTaY07jppMHAOJIf8KCjhSxHJEX7lUfor8C0ls/zqoUSUnsKc5hsWiLxWvX7LODN08Nr VTSJnfE/PuH6zILwml8yJ0+48zU44DUWwFWAy3+nh58HFHE4BUJwNchzDtO0TA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780590850; a=rsa-sha256; cv=none; b=RWz/lVurZdUz0nGfewljHwiMFEbv3oCftTH/GJJoU0TyaVjAMwIDCNL4AEH5ffUbimi/1Y H89X88cv14qgITPebKj+QYUYLnzYGMgFGlwsEmcev1ylKDYK1GUDMu30dItlu22OP1gYMq CMx0E9kXBuTGEYf/0Tksu/PdOp6WTRwI9oHVnV/GQi+HoRY2cV1QIh1BSY/Qk87KhPqSIm Fj269ZmoXdLQ/82wWKRyvou7NjMF7Kd4X5WEBjvwHcg5Zm/G4smT1eXo7B7fZOOKCbPwdx mJvTbbPb+6rLLpqISt0fhAaMn9VwdEiL6GD36Dnskv/5sp2TDcenHJBFZIOeRA== 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=1780590850; 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=vQ9PUxiCxfeBbCXopETdOcf/KW9TuXQAb/X7dDKPhFA=; b=OAQPtKnReAkXZ3dEcSITWwQ8CGtbSt3Pc4kqUv3B6LNqh9iXUuyex20ik9pqnuT4a14LNr zLFSqDgo2BwDZJHd1Nbj7X39zizU5GlKJoxr4ttGdQ7OrN6k8oiKXpFdiPzHy0w4UIBDff S40jQJxwEzCIirMjtcCUtOWHhCAyAUwKDU4gEhXcpSBIsJ0oykeuWGbvSKhvyJ/4AfLAP6 9xCISb+xK3/cbX9mOs11QtnyDl3CNIgrczca/PThJ3GT+4LT92+thYRFHDmIWiDMtpj/xw arONjp1D5vIDRroE22Bejnn8PfB6JNpZFM8Q47c57lyO+BZyW5Km3SAc/DLl8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWVWk3blQz15bC for ; Thu, 04 Jun 2026 16:34:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44068 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 16:34:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Steve Kargl From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: fa3f69fa4cab - main - libmsun: Fix incorrect MLINK for sincosl(3) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fa3f69fa4cabf50d667631b4b8083673bccc874f Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 16:34:05 +0000 Message-Id: <6a21a8fd.44068.25ff3e62@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=fa3f69fa4cabf50d667631b4b8083673bccc874f commit fa3f69fa4cabf50d667631b4b8083673bccc874f Author: Steve Kargl AuthorDate: 2026-06-04 16:31:26 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 16:31:26 +0000 libmsun: Fix incorrect MLINK for sincosl(3) PR: 295704 MFC after: 1 week --- lib/msun/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/msun/Makefile b/lib/msun/Makefile index 5e9adb533760..865aee6df5c1 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -285,7 +285,7 @@ MLINKS+=round.3 roundf.3 round.3 roundl.3 MLINKS+=scalbn.3 scalbln.3 scalbn.3 scalblnf.3 scalbn.3 scalblnl.3 MLINKS+=scalbn.3 scalbnf.3 scalbn.3 scalbnl.3 MLINKS+=sin.3 sinf.3 sin.3 sinl.3 -MLINKS+=sincos.3 sincosf.3 sin.3 sincosl.3 +MLINKS+=sincos.3 sincosf.3 sincos.3 sincosl.3 MLINKS+=sinh.3 sinhf.3 sinh.3 sinhl.3 MLINKS+=sinpi.3 sinpif.3 sinpi.3 sinpil.3 MLINKS+=sqrt.3 cbrt.3 sqrt.3 cbrtf.3 sqrt.3 cbrtl.3 sqrt.3 sqrtf.3 \ From nobody Thu Jun 4 16:57:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWW2p0mYZz6gcy4 for ; Thu, 04 Jun 2026 16:57:38 +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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWW2p01ZHz49M0 for ; Thu, 04 Jun 2026 16:57:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780592258; 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=bwveDJ8WugmRtt0VxiJ8qAzRszrmSkr766wKVgZLc1s=; b=tBPzpLcudVsZtnGfnCo6k6+BzBIqAIo2U68Z1I+90lOVJnHSWsr972EVxLWDm5lr4+BdlF x8HAP9/DB8UqzS+Tky3YKrP28+xoys0R7kLULizaLWSufSmMxe3ief9XG0HtrEIgKJO+gP fPuHhg/GcTnQOShS9CNOfjj6TrQI90BhJjLNG/ieHBaLJXAaPHRhGjTLp+2Dm/RL5PBBlh L1CH5gjjLq/I/fZG4rfnlvdhNASkpvmCkYITwXSytnN+W7alEIBk61R85VNm+5HrQvbEM1 c1PJE4G60my8NOMbgD9DC/HWpOkS19SH8z6rVv/CjNT/TCEZffKiCnQ4P91x2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780592258; a=rsa-sha256; cv=none; b=SJRJgEOoTiLpA762NsLs7o5m27Xr1UE6tHa2SLQxdTvenrhbblKwBhBeOA4KsapbgGp7ce G6cNzmjjG+t5eLZW823r0Oy9WcBtMVKp5oKh1JtpF5Z2ube+amaXhEgqd33KtCxMhCScpW d7BZ3XARyPWZLG5ONXXvrtr6qdyCsFt23c5E1QA8UD8iipwqAAerGIt7XUkbzcguOckktK MbQkW2pcNxGi5/6v2sg1Be0aTwf6LNgztFghUoSXMXSbidBdUNviLfjBnMUkHb6WrNvEQi S8JrUOd/v2SwiKhJaZ3Zg21coWwbUiybCvU93ItD4Qz6vbYJLnvViP4ZsZfF2Q== 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=1780592258; 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=bwveDJ8WugmRtt0VxiJ8qAzRszrmSkr766wKVgZLc1s=; b=Mdi81I+R4DNOyWykpoV8lopm1Ri15SkUoy2085ZG6JBxAs1FOLkWlHHPjVWgLUws3uEKEs ZhZJyl4DOM9XiSiuw/sDTtqK6llhJc2aN9XI6JlxSdyorsabLNWmYADeSpVMXd9VSdWO6L hi+dgVyqyMGrAGPEB/AVqbHs4JfctYb0kZwLinWRwneZdSm8rwgB+rYow9MhPte4emFPm+ 9EY6+wQ3+nbHugQ26h6p2g2tnTQrjXYxpk0Sb6T13nT/MPsz8QJAuXrdQvCiGQE1ziTNfg rbelrdN8D++cUWZMW2AC7UqhELuLclP2KK2FYrEPDrR5Gq5jenive5BeMTn1kA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWW2n6g3xz160b for ; Thu, 04 Jun 2026 16:57:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47f2d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 16:57:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sourojeet A From: Ed Maste Subject: git: b551429ad65d - main - linuxkpi: Add dma_unmap_page_attrs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b551429ad65d73a717c7bfc589cfbe62773a8cb1 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 16:57:32 +0000 Message-Id: <6a21ae7c.47f2d.1129de7f@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b551429ad65d73a717c7bfc589cfbe62773a8cb1 commit b551429ad65d73a717c7bfc589cfbe62773a8cb1 Author: Sourojeet A AuthorDate: 2026-06-04 16:52:44 +0000 Commit: Ed Maste CommitDate: 2026-06-04 16:56:58 +0000 linuxkpi: Add dma_unmap_page_attrs This will be used by amdgpu as of Linux 6.13. Reviewed by: bz Sponsored by: The FreeBSD Foundation --- sys/compat/linuxkpi/common/include/linux/dma-mapping.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/dma-mapping.h b/sys/compat/linuxkpi/common/include/linux/dma-mapping.h index 5e5d40ef8339..45dfcf350fa2 100644 --- a/sys/compat/linuxkpi/common/include/linux/dma-mapping.h +++ b/sys/compat/linuxkpi/common/include/linux/dma-mapping.h @@ -199,6 +199,13 @@ dma_map_page_attrs(struct device *dev, struct page *page, size_t offset, direction, attrs)); } +static inline void +dma_unmap_page_attrs(struct device *dev, dma_addr_t dma_address, size_t size, + enum dma_data_direction direction, unsigned long attrs) +{ + lkpi_dma_unmap(dev, dma_address, size, direction, attrs); +} + /* linux_dma_(un)map_sg_attrs does not support attrs yet */ #define dma_map_sg_attrs(dev, sgl, nents, dir, attrs) \ linux_dma_map_sg_attrs(dev, sgl, nents, dir, attrs) From nobody Thu Jun 4 17:40:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWX0b3SLNz6ggyx; Thu, 04 Jun 2026 17:40:47 +0000 (UTC) (envelope-from aokblast@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWX0b1JJtz4GS8; Thu, 04 Jun 2026 17:40:47 +0000 (UTC) (envelope-from aokblast@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780594847; 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: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=6ijrw1a3d6jkx5n3S3WPi4+A+BBRWqGFI8rdImJPUZI=; b=lf/R8BEQ/t9AuBJzQUVmwsGHAv2m6CIuzhEjDkfqSbpDI2/IL8FYLAJ9Z71ZphkGdF7P4t iH3i9tjeZAei+MVmERDot1g027b87yZsv6HPBUNdekSnEdd5J/lTCdURGYQ6zom6eHdd3M 6bbWHVtDm4djC788MlsPJKxeLxJeIQrPclKRZ6GWGUXZMnsvKlMj1KBR2yQknLtO/YPWyY g3krlkF7xdoEBIrN/x8XUHR7Sv6yc1vFlsBzC2QU3xdJ6JhRIFCS0MOFs8czyO33Qiy218 LiTam8TaaDYMfA2jEFd1V6Jac9j0Cyjzn9YAFPT4pEEVzo8/cDNClLFdumJb/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780594847; a=rsa-sha256; cv=none; b=ax3HYl3yQ78XyI79MnhZjxvu16+YmlUu8c+ynmBzmb8p8BRuFHGlgWVTj480RyPXtpe+Aj GD6zOiPv1oCpcfWs4/Dq4xp26EGm5JZEuBZMdtVasZygJkEpCN7FgbcJMir5VzVqeWYG6Y m6dx9aXZXathjRFwG2smcARP/cPTiBvJZ8xHPeKhFFw+CC5yZEMiZ/XMXusIG9D2R5Z6xv 1pkw4YHP2O08TTHlxyF0IReuTKq2StaOE4tncoNtka0zopfA3+c0TDVsz0p0U9gBJWLjen jwrUexpNiEaYPCf0XqxpbMYbPyr/G2SDdxFlQv9tUgzeDFoD0gfVm2qXXFpwlA== 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=1780594847; 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: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=6ijrw1a3d6jkx5n3S3WPi4+A+BBRWqGFI8rdImJPUZI=; b=mqd5fkINdEjK0oLMfbEO+0osUglZuBSbKtKo+jeexZCaTKER19bL6u8JfgN4kfeKhvqsaz yLaK3yCoWDpFM1qEMlc8fBn2utwTOprNN35DT3X/wxIeQuhuPaKxl9z/IH4L+JrHLUOYki eQ5gmCh0L/6EIr8CWOhVyWKIu+J4p6H8HVk5NilCe2eTct86Yi2B2/Am0luByxfLHkLBsI W8TM+4WQdli1IuBEpnz2P99W438X7+Z3X8E2+VMwscY0npyPFUUK7175/RarM4gO7+UnVw 1KDC9KCSEIOSiJAtTeI7DHoekzUM7VCgCu3w9Y8vw6I6q3k7wpqf0VjZZ84ZIQ== Received: from [IPV6:2001:b011:3808:7bbd:bd1d:650b:e094:4fed] (2001-b011-3808-7bbd-bd1d-650b-e094-4fed.dynamic-ip6.hinet.net [IPv6:2001:b011:3808:7bbd:bd1d:650b:e094:4fed]) (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: aokblast) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gWX0X5Jdvz18xp; Thu, 04 Jun 2026 17:40:44 +0000 (UTC) (envelope-from aokblast@FreeBSD.org) Message-ID: <76607fcd-d14a-40ef-8f2f-4d713bc7a70c@FreeBSD.org> Date: Fri, 5 Jun 2026 01:40:41 +0800 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 86326398b73b - main - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): To: Robert Clausecker , Dimitry Andric Cc: Nuno Teixeira , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Faraz Vahedi References: <6a1dbdb4.18f1f.11efe144@gitrepo.freebsd.org> Content-Language: en-US From: ShengYi Hung Autocrypt: addr=aokblast@FreeBSD.org; keydata= xsDNBGhkuaEBDAD0a1Cu+ntw+v0/ZZnqTewGcd335T5tfktBEt22FsaoBqca7TSp/AvP/bWD 3YtJFlxi7TJQbb2H+ylPzusPaN/R1Sj6wQsRD1Fj+1AjF9EOqxdohXm0SoWs3sRRbMrMGp6q DTQQBMj3TEuSE26gLxmpadtiAsyNDcNCllMSXAZ7xlk+ra9x/pAqOR0TZvObwY8VUncCy6UW UIGmsUF5B7oR2v7i9rFk/3ILkcoIC1k+OlhMbxBpwPLA24Aj8sZX9dzFbwLn2wucqRUzE9Id zrwpQpRHxH0t849VBhLze+zP8s6IUtgKaTUjClmCfZXVVBpFswXJmxgDRo51Ed+X94K2y6FS DRMxwiz18vnJNWlB+aHH5wTbgoTKU+zOckXODBowNEEmYpQNVNYJs1nP6tGRmN4YwW5hcNQY dUmFKR44uYdJomcqxkzJjU4rv4NBOdzrQTw+h5gCUdQ5IvBBGTA1enEP1qMhCpwTOfMd53of 17BC3CMFNTu8rburHceMaU0AEQEAAc0jU2hlbmdZaSBIdW5nIDxhb2tibGFzdEBGcmVlQlNE Lm9yZz7CwRcEEwEIAEEWIQSIP4S1lgaPs34UknRfTtfYEmBsYAUCaGS5oQIbAwUJBaOagAUL CQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBfTtfYEmBsYJKeDAC/aJjRjMM9k9n6uwUW HemoAUGjv5fxkIpHWYCltnZ9KMs+TZXLsUZrv9DxOV4E3ebEn7iMJbOAvIjjVK//qexo6/er 9EZow4e/EQJLIL/0xRDiF4Jg7l1jziAI26P6dyuMNzeHddFg7ALVfE9wPCFqn3QGbHqDVjI/ E9UcxXiwHktndAo1wJXdEq9F8Ufmtj1t9NasTip8ofNgKfWCGhyyZI0kvhvob5darflQMO8Y G61zmSteO5Es8i9sP+lOhwEgsgHl0L/gQtMrOko9Td1iOSMuaP9t3rx7pOnYLdKt+xw8kWnB IW6GNEzp5QVJxmzr4DiyvvuR4SxnYy2tZjzQV4W8njBvw8SmZs0oS40iP8XNAoc91xLBizDn Lne3BDYOMXgm4csmDnJBM8s7Gaoc+WMY+hDP9SKWSqhyJUg8tauVhmPP3sTEXJbHoD0TuXxO SwG9nEdKoeWQCA0XMXQGfYWHKy1qz3spYCFgXHqmF+WBLljqLaeHQsHmvUhUIuTOwM0EaGS5 oQEMAMiauBmqNndH0AaX9cqOCf660X6fj7iidxwPY9pSUBOgZ3c13pRJLiR6xsYnOWm+Dgf2 BbNOz5iEtwx3Msrjw70/LsTJ4FdByUXZPZwujaPZ2SfowLMXXZbEJrPkJ2HeamaDw/Gf5O/p aDtAS3i8sFkKiOHwBX4doaL5Rxy/oqSpYTYL8tBFUWMHHk4ji12P6Pw1aW2H81XzKTae1Tga 8ViuiWzqibbbk5ddHjr/L+6LfTDM00K7WTZVBnW0qsMZJ9PQpt8636cuJx6D3ITXxtg4IzFN z7HOKbPQazSGhaqsbdxKmtwcP2uZEycsX+hPhtoOS2FuF5nWIYRZSzWBxWiOopHdRLL4YfAL MsGhFdnPH/J3G9gyBroiCiq2moRl2OSgo9W6rMxLCm62657zsvCo8p/KxaGq/ynwCAoQ1wHQ aVerJkGMf0n5tLkbNm2SyAbRy3tA/EfbzT0Yufq5gu9zGN/Uxf5hgFO6UqDHrlPeSSz++6m/ OAj3yLIsl2GpDwARAQABwsD8BBgBCAAmFiEEiD+EtZYGj7N+FJJ0X07X2BJgbGAFAmhkuaEC GwwFCQWjmoAACgkQX07X2BJgbGAJswv/dODZRYTWb/Xx8Y/Ei1OXLZIoNxoUHvBVEqO1xR/F JPwYM8TVcihvhCfM5lLhYdY1pkLjXdlGbTKZtvdHWHLvs62jGVjUXij52z1jOurnX2u0x1vq 1zpklWBx4VQhd3sVtcyLNdDYBFi3epVf1NEctToWyfBys6ijtVkhjem3V/l0PI1WtkECzYfP TOA+guf4dmrGSHPOZpCyFwHPRcVI+4puva4s4tjCAYa5E56GkICUJLuT1x228iqr5OC8YA7F eOTN94L/GqII6joaX2HIrcpGDybRIhGty+BqXvRIpjp0z5PdDeHiFQFTnBAEnjiATAMDKd7S q8y7Pv8OD/ptOl7Fg5iexCGVoLc3idpo/5T5fEXEaEWcGF9HRUeRTrnqQ9yBnALsqoLLVfou eF5Cl7c3p1pwbdR0iSK9p4x6BDcnrnIE52vRCtCdivyxTNa+zKdjlI6gn7oNsRmOnQbkEXML 9WZi4YnrnITSzpkpCzeQCDI0gqUdsxsbt4Vi73Oq In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------RbGIHvpX6F38ufFP5GDnGZLM" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------RbGIHvpX6F38ufFP5GDnGZLM Content-Type: multipart/mixed; boundary="------------PX2aJRzefLuxLpJAKz1HZbmE"; protected-headers="v1"; hp="clear" Message-ID: <76607fcd-d14a-40ef-8f2f-4d713bc7a70c@FreeBSD.org> Date: Fri, 5 Jun 2026 01:40:41 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 86326398b73b - main - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): To: Robert Clausecker , Dimitry Andric Cc: Nuno Teixeira , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Faraz Vahedi References: <6a1dbdb4.18f1f.11efe144@gitrepo.freebsd.org> Content-Language: en-US From: ShengYi Hung Autocrypt: addr=aokblast@FreeBSD.org; keydata= xsDNBGhkuaEBDAD0a1Cu+ntw+v0/ZZnqTewGcd335T5tfktBEt22FsaoBqca7TSp/AvP/bWD 3YtJFlxi7TJQbb2H+ylPzusPaN/R1Sj6wQsRD1Fj+1AjF9EOqxdohXm0SoWs3sRRbMrMGp6q DTQQBMj3TEuSE26gLxmpadtiAsyNDcNCllMSXAZ7xlk+ra9x/pAqOR0TZvObwY8VUncCy6UW UIGmsUF5B7oR2v7i9rFk/3ILkcoIC1k+OlhMbxBpwPLA24Aj8sZX9dzFbwLn2wucqRUzE9Id zrwpQpRHxH0t849VBhLze+zP8s6IUtgKaTUjClmCfZXVVBpFswXJmxgDRo51Ed+X94K2y6FS DRMxwiz18vnJNWlB+aHH5wTbgoTKU+zOckXODBowNEEmYpQNVNYJs1nP6tGRmN4YwW5hcNQY dUmFKR44uYdJomcqxkzJjU4rv4NBOdzrQTw+h5gCUdQ5IvBBGTA1enEP1qMhCpwTOfMd53of 17BC3CMFNTu8rburHceMaU0AEQEAAc0jU2hlbmdZaSBIdW5nIDxhb2tibGFzdEBGcmVlQlNE Lm9yZz7CwRcEEwEIAEEWIQSIP4S1lgaPs34UknRfTtfYEmBsYAUCaGS5oQIbAwUJBaOagAUL CQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBfTtfYEmBsYJKeDAC/aJjRjMM9k9n6uwUW HemoAUGjv5fxkIpHWYCltnZ9KMs+TZXLsUZrv9DxOV4E3ebEn7iMJbOAvIjjVK//qexo6/er 9EZow4e/EQJLIL/0xRDiF4Jg7l1jziAI26P6dyuMNzeHddFg7ALVfE9wPCFqn3QGbHqDVjI/ E9UcxXiwHktndAo1wJXdEq9F8Ufmtj1t9NasTip8ofNgKfWCGhyyZI0kvhvob5darflQMO8Y G61zmSteO5Es8i9sP+lOhwEgsgHl0L/gQtMrOko9Td1iOSMuaP9t3rx7pOnYLdKt+xw8kWnB IW6GNEzp5QVJxmzr4DiyvvuR4SxnYy2tZjzQV4W8njBvw8SmZs0oS40iP8XNAoc91xLBizDn Lne3BDYOMXgm4csmDnJBM8s7Gaoc+WMY+hDP9SKWSqhyJUg8tauVhmPP3sTEXJbHoD0TuXxO SwG9nEdKoeWQCA0XMXQGfYWHKy1qz3spYCFgXHqmF+WBLljqLaeHQsHmvUhUIuTOwM0EaGS5 oQEMAMiauBmqNndH0AaX9cqOCf660X6fj7iidxwPY9pSUBOgZ3c13pRJLiR6xsYnOWm+Dgf2 BbNOz5iEtwx3Msrjw70/LsTJ4FdByUXZPZwujaPZ2SfowLMXXZbEJrPkJ2HeamaDw/Gf5O/p aDtAS3i8sFkKiOHwBX4doaL5Rxy/oqSpYTYL8tBFUWMHHk4ji12P6Pw1aW2H81XzKTae1Tga 8ViuiWzqibbbk5ddHjr/L+6LfTDM00K7WTZVBnW0qsMZJ9PQpt8636cuJx6D3ITXxtg4IzFN z7HOKbPQazSGhaqsbdxKmtwcP2uZEycsX+hPhtoOS2FuF5nWIYRZSzWBxWiOopHdRLL4YfAL MsGhFdnPH/J3G9gyBroiCiq2moRl2OSgo9W6rMxLCm62657zsvCo8p/KxaGq/ynwCAoQ1wHQ aVerJkGMf0n5tLkbNm2SyAbRy3tA/EfbzT0Yufq5gu9zGN/Uxf5hgFO6UqDHrlPeSSz++6m/ OAj3yLIsl2GpDwARAQABwsD8BBgBCAAmFiEEiD+EtZYGj7N+FJJ0X07X2BJgbGAFAmhkuaEC GwwFCQWjmoAACgkQX07X2BJgbGAJswv/dODZRYTWb/Xx8Y/Ei1OXLZIoNxoUHvBVEqO1xR/F JPwYM8TVcihvhCfM5lLhYdY1pkLjXdlGbTKZtvdHWHLvs62jGVjUXij52z1jOurnX2u0x1vq 1zpklWBx4VQhd3sVtcyLNdDYBFi3epVf1NEctToWyfBys6ijtVkhjem3V/l0PI1WtkECzYfP TOA+guf4dmrGSHPOZpCyFwHPRcVI+4puva4s4tjCAYa5E56GkICUJLuT1x228iqr5OC8YA7F eOTN94L/GqII6joaX2HIrcpGDybRIhGty+BqXvRIpjp0z5PdDeHiFQFTnBAEnjiATAMDKd7S q8y7Pv8OD/ptOl7Fg5iexCGVoLc3idpo/5T5fEXEaEWcGF9HRUeRTrnqQ9yBnALsqoLLVfou eF5Cl7c3p1pwbdR0iSK9p4x6BDcnrnIE52vRCtCdivyxTNa+zKdjlI6gn7oNsRmOnQbkEXML 9WZi4YnrnITSzpkpCzeQCDI0gqUdsxsbt4Vi73Oq In-Reply-To: --------------PX2aJRzefLuxLpJAKz1HZbmE Content-Type: multipart/mixed; boundary="------------Z0Ac2ihb8gUdZhUpurcfQJ20" --------------Z0Ac2ihb8gUdZhUpurcfQJ20 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 U29ycnkgdGhhdCBJIGFtIGJ1c3kgdG9kYXkuDQoNCmh0dHBzOi8vcmV2aWV3cy5mcmVlYnNk Lm9yZy9ENTc0NDkgc2hvdWxkIGZpeCB0aGUgcHJvYmxlbS4NCg0KT24gNi81LzI2IDAwOjE0 LCBSb2JlcnQgQ2xhdXNlY2tlciB3cm90ZToNCj4gSGkgYWxsLA0KPg0KPiBJIGFtIGN1cnJl bnRseSBhdCBhIGNvbmZlcmVuY2Ugd2l0aCBsaW1pdGVkIHRpbWUgdG8gd29yaw0KPiBvbiB0 aGVzZSBpc3N1ZXMuDQo+DQo+IFBsZWFzZSBmZWVsIGZyZWUgdG8gdGVtcG9yYXJpbHkgYmFj ayBvdXQgdGhlIHdvcmsgc28gdGhlIEMrKw0KPiBwYXJ0cyBjYW4gYmUgZml4ZWQuICBJdCBw cm9iYWJseSBzdWZmaWNlcyB0byBqdXN0IG1ha2UgdGhlDQo+IDxDKysyMCBwYXRoIHVuY29u ZGl0aW9uYWwgZm9yIEMrKyBpbiBnZW5lcmFsLg0KPg0KPiBQbGVhc2UgZGlzY3VzcyB0aGlz IGZ1cnRoZXIgb24gdGhlIHB1bGwgcmVxdWVzdDoNCj4NCj4gaHR0cHM6Ly9naXRodWIuY29t L2ZyZWVic2QvZnJlZWJzZC1zcmMvcHVsbC8yMjAzDQo+DQo+IFlvdXJzLA0KPiBSb2JlcnQg Q2xhdXNlY2tlcg0KPg0KPiBBbSBUaHUsIEp1biAwNCwgMjAyNiBhdCAwMTo0NzoyNlBNICsw MjAwIHNjaHJpZWIgRGltaXRyeSBBbmRyaWM6DQo+PiBPbiA0IEp1biAyMDI2LCBhdCAxMzoz OCwgRGltaXRyeSBBbmRyaWMgPGRpbUBGcmVlQlNELm9yZz4gd3JvdGU6DQo+Pj4gT24gNCBK dW4gMjAyNiwgYXQgMTI6NTMsIE51bm8gVGVpeGVpcmEgPGVkdWFyZG9AZnJlZWJzZC5vcmc+ IHdyb3RlOg0KPj4+PiBOb3Qgc3VyZSBpZiBpdCBpcyByZWxhdGVkIGJ1dCBJJ20gc2Vpbmcg c29tZSBwb3J0cyBmYWlsaW5nIHJlY2VudGx5IHdpdGggZXJyb3JzIGJlbGxvdy4NCj4+Pj4g KCBlcnJvcjogbm8gdmlhYmxlIGNvbnZlcnNpb24gZnJvbSAuLi4gdG8gJ2Jvb2wnICkNCj4+ Pj4NCj4+Pj4gU2ltaWxhciBmYWlscyBhcHBlYXJzIGF0IHBrZy1mYWxsb3V0Og0KPj4+Pg0K Pj4+PiBodHRwczovL3BrZy1zdGF0dXMuZnJlZWJzZC5vcmcvYmVlZnkyNC9kYXRhL21haW4t YW1kNjQtZGVmYXVsdC9wMjI2YjIzMDQ0ZWU3X3M2N2RmMzEzMDE1OS9sb2dzL2JpbmFyeWVu LTEzMC5sb2cNCj4+Pj4gaHR0cHM6Ly9wa2ctc3RhdHVzLmZyZWVic2Qub3JnL2JlZWZ5MjQv ZGF0YS9tYWluLWFtZDY0LWRlZmF1bHQvcDIyNmIyMzA0NGVlN19zNjdkZjMxMzAxNTkvbG9n cy9lbmNyeXB0cGFkLTAuNS4wLjRfNi5sb2cNCj4+Pj4NCj4+Pj4gIEZyb20gbm9kZTI0IG9u IG1haW4tbjI4NjM1Mi03M2UwZDZiNDQwMzg6DQo+Pj4+IGBgYA0KPj4+PiBjKysgLW8gL3dy a2RpcnMvdXNyL3BvcnRzL3d3dy9ub2RlMjQvd29yay9ub2RlLXYyNC4xNi4wL291dC9SZWxl YXNlL29iai50YXJnZXQvbm9kZV9ta3NuYXBzaG90L3Rvb2xzL3NuYXBzaG90L25vZGVfbWtz bmFwc2hvdC5vIC4uL3Rvb2xzL3NuYXBzaG90L25vZGVfbWtzbmFwc2hvdC5jYyAnLURfR0xJ QkNYWF9VU0VfQ1hYMTFfQUJJPTEnICctRF9GSUxFX09GRlNFVF9CSVRTPTY0JyAnLUROT0RF X09QRU5TU0xfQ09ORl9OQU1FPW5vZGVqc19jb25mJyAnLUROT0RFX09QRU5TU0xfQ0VSVF9T VE9SRScgJy1ESUNVX05PX1VTRVJfREFUQV9PVkVSUklERScgJy1EX19TVERDX0ZPUk1BVF9N QUNST1MnICctRE5PREVfV0FOVF9JTlRFUk5BTFM9MScgJy1ETk9ERV9NS1NOQVBTSE9UX1VT RV9BUlJBWV9MSVRFUkFMUz0xJyAnLURIQVZFX09QRU5TU0w9MScgJy1ETk9ERV9VU0VfTk9E RV9DT0RFX0NBQ0hFPTEnICctREhBVkVfSU5TUEVDVE9SPTEnICctRF9fUE9TSVhfXycgJy1E Tk9ERV9VU0VfVjhfUExBVEZPUk09MScgJy1ETk9ERV9IQVZFX0kxOE5fU1VQUE9SVD0xJyAn LURIQVZFX0FNQVJPPTEnICctREhBVkVfU1FMSVRFPTEnICctREhBVkVfUVVJQz0wJyAtSS4u L3NyYyAtSS4uL3Rvb2xzL21zdnMvZ2VuZmlsZXMNCj4+Pj4gLUkuLi9kZXBzL3Y4L2luY2x1 ZGUgLUkuLi9kZXBzL2NhcmVzL2luY2x1ZGUgLUkuLi9kZXBzL3V2L2luY2x1ZGUgLUkuLi9k ZXBzL25jcnlwdG8gLUkuLi9kZXBzL3Y4L3RoaXJkX3BhcnR5L3NpbWR1dGYgIC1XYWxsIC1X ZXh0cmEgLVduby11bnVzZWQtcGFyYW1ldGVyIC1wdGhyZWFkIC1XYWxsIC1XZXh0cmEgLVdu by11bnVzZWQtcGFyYW1ldGVyIC1XZXJyb3I9dW5kZWZpbmVkLWlubGluZSAtV2Vycm9yPWV4 dHJhLXNlbWkgLVdlcnJvcj1jdGFkLW1heWJlLXVuc3VwcG9ydGVkIC1tNjQgLU8zIC1mbm8t b21pdC1mcmFtZS1wb2ludGVyIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXN0ZD1nbnUrKzIwIC1NTUQgLU1GIC93cmtkaXJzL3Vzci9wb3J0cy93 d3cvbm9kZTI0L3dvcmsvbm9kZS12MjQuMTYuMC9vdXQvUmVsZWFzZS8uZGVwcy8vd3JrZGly cy91c3IvcG9ydHMvd3d3L25vZGUyNC93b3JrL25vZGUtdjI0LjE2LjAvb3V0L1JlbGVhc2Uv b2JqLnRhcmdldC9ub2RlX21rc25hcHNob3QvdG9vbHMvc25hcHNob3Qvbm9kZV9ta3NuYXBz aG90Lm8uZC5yYXcgLWlzeXN0ZW0gL3Vzci9sb2NhbC9pbmNsdWRlIC1PMiAtcGlwZSAtZnN0 YWNrLXByb3RlY3Rvci1zdHJvbmcgLWlzeXN0ZW0gL3Vzci9sb2NhbC9pbmNsdWRlIC1mbm8t c3RyaWN0LWFsaWFzaW5nICAgLWlzeXN0ZW0gL3Vzci9sb2NhbC9pbmNsdWRlICAtYw0KPj4+ PiAuLi90ZXN0L2VtYmVkZGluZy9lbWJlZHRlc3QuY2M6MTM4OjEyOiBlcnJvcjogbm8gdmlh YmxlIGNvbnZlcnNpb24gZnJvbSAnbm9kZTo6RW1iZWRkZXJTbmFwc2hvdERhdGE6OlBvaW50 ZXInIChha2EgJ3VuaXF1ZV9wdHI8Y29uc3QgRW1iZWRkZXJTbmFwc2hvdERhdGEsIERlbGV0 ZVNuYXBzaG90RGF0YT4nKSB0byAnYm9vbCcNCj4+Pj4gICAxMzggfCAgICAgYXNzZXJ0KHNu YXBzaG90KTsNCj4+Pj4gICAgICAgfCAgICAgICAgICAgIF5+fn5+fn5+DQo+Pj4+IC91c3Iv aW5jbHVkZS9jKysvdjEvX19tZW1vcnkvdW5pcXVlX3B0ci5oOjI3Njo2NDogbm90ZTogZXhw bGljaXQgY29udmVyc2lvbiBmdW5jdGlvbiBpcyBub3QgYSBjYW5kaWRhdGUNCj4+Pj4gICAy NzYgfCAgIF9MSUJDUFBfSElERV9GUk9NX0FCSSBfTElCQ1BQX0NPTlNURVhQUl9TSU5DRV9D WFgyMyBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgX05PRVhDRVBUIHsNCj4+Pj4g ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeDQo+Pj4+IC4uL3Rlc3QvZW1iZWRkaW5nL2VtYmVkdGVzdC5j YzoyMTY6MTQ6IGVycm9yOiBubyB2aWFibGUgY29udmVyc2lvbiBmcm9tICdub2RlOjpFbWJl ZGRlclNuYXBzaG90RGF0YTo6UG9pbnRlcicgKGFrYSAndW5pcXVlX3B0cjxjb25zdCBFbWJl ZGRlclNuYXBzaG90RGF0YSwgRGVsZXRlU25hcHNob3REYXRhPicpIHRvICdib29sJw0KPj4+ PiAgIDIxNiB8ICAgICAgIGFzc2VydChzbmFwc2hvdCk7DQo+Pj4+ICAgICAgIHwgICAgICAg ICAgICAgIF5+fn5+fn5+DQo+Pj4+IC91c3IvaW5jbHVkZS9jKysvdjEvX19tZW1vcnkvdW5p cXVlX3B0ci5oOjI3Njo2NDogbm90ZTogZXhwbGljaXQgY29udmVyc2lvbiBmdW5jdGlvbiBp cyBub3QgYSBjYW5kaWRhdGUNCj4+Pj4gICAyNzYgfCAgIF9MSUJDUFBfSElERV9GUk9NX0FC SSBfTElCQ1BQX0NPTlNURVhQUl9TSU5DRV9DWFgyMyBleHBsaWNpdCBvcGVyYXRvciBib29s KCkgY29uc3QgX05PRVhDRVBUIHsNCj4+Pj4gICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQo+Pj4+IDIg ZXJyb3JzIGdlbmVyYXRlZC4NCj4+Pj4gYGBgDQo+Pj4+DQo+Pj4+IEFueSBjbHVlcz8NCj4+ PiBUaGlzIGlzIGJlY2F1c2UgY29udmVydGluZyBhIHN0ZDo6dW5pcXVlX3B0ciB0byBib29s IHJlcXVpcmVzIGFuIGV4cGxpY2l0IGNvbnZlcnNpb24sIGkuZS4gImlmIChteV91bmlxdWVf cHRyKSIgd2lsbCB3b3JrLCBidXQgdXNpbmcgaXQgd2l0aCBhc3NlcnQoKSB3aWxsIG5vdC4N Cj4+Pg0KPj4+IEF0IGxlYXN0LCBvdXIgYXNzZXJ0KCkgYXMgZGVmaW5lZCBpbiAvdXNyL2lu Y2x1ZGUvYXNzZXJ0LmggaW4gLUNVUlJFTlQsIGhhcyB0aGlzIGNvbnRvcnRlZCBkZWZpbml0 aW9uOg0KPj4+DQo+Pj4gI2lmIF9fY3BsdXNwbHVzIDwgMjAyMDAyTA0KPj4+IC8qDQo+Pj4g KiBDKysgbW9kZXMgcHJpb3IgdG8gQysrMjAgY2Fubm90IHNpbXVsdGFuZW91c2x5IHNhdGlz ZnkgYWxsIHRocmVlDQo+Pj4gKiBkZXNpcmFibGUgcHJvcGVydGllcyBvZiB0aGUgc2FuaXRp c2VyOg0KPj4+ICoNCj4+PiAqICAgQXBwcm9hY2ggICAgICAgICAgICAgICAgICAgICAgIE5v IGRvdWJsZS1ldmFsICBMYW1iZGEgc3VwcG9ydCAgQXJpdHkgY2hlY2sNCj4+PiAqICAgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tICAtLS0tLS0tLS0t LS0tLSAgLS0tLS0tLS0tLS0NCj4+PiAqICAgc2l6ZW9mKGNhc3QoZXhwcmVzc2lvbikpICAg ICAgIHllcyAgICAgICAgICAgICBubyAgICAgICAgICAgICAgeWVzDQo+Pj4gKiAgIHN0YXRp Y19jYXN0PGJvb2w+KGV4cHJlc3Npb24pICBubyAgICAgICAgICAgICAgeWVzICAgICAgICAg ICAgIG5vDQo+Pj4gKiAgICh2b2lkKWJvb2woZXhwcmVzc2lvbikgICAgICAgICBubyAgICAg ICAgICAgICAgeWVzICAgICAgICAgICAgIG5vDQo+Pj4gKg0KPj4+ICogICBOT1RFOiBDKysy MCBpbnRyb2R1Y2VkIGxhbWJkYXMgaW4gdW5ldmFsdWF0ZWQgY29udGV4dHM7IHNlZSBQMDMx NVI0Lg0KPj4+ICoNCj4+PiAqIFNpbmNlIG5vIGFwcHJvYWNoIHNhdGlzZmllcyBhbGwgdGhy ZWUgYmVsb3cgQysrMjAsIHRoZSBsZWFzdCBoYXJtZnVsDQo+Pj4gKiBjaG9pY2UgaXMgdG8g Zm9yZ28gdGhlIGNoZWNrIGVudGlyZWx5IHJhdGhlciB0aGFuIHNpbGVudGx5IGJyZWFrIG9u ZQ0KPj4+ICogb2YgdGhlIHJlbWFpbmluZyBndWFyYW50ZWVzLg0KPj4+ICoNCj4+PiAqLw0K Pj4+ICNkZWZpbmUgX19hc3NlcnRfc2FuaXRpemUoLi4uKSAgKCh2b2lkKTApDQo+Pj4gI2Vs c2UNCj4+PiAjZGVmaW5lIF9fYXNzZXJ0X3Nhbml0aXplKC4uLikgICh2b2lkKXNpemVvZigo KGJvb2woKikoYm9vbCkpMCkoX19WQV9BUkdTX18pKQ0KPj4+ICNlbmRpZiAvKiBfX2NwbHVz cGx1cyA8IDIwMjAwMkwgKi8NCj4+PiAjZWxzZQ0KPj4+ICNkZWZpbmUgX19hc3NlcnRfc2Fu aXRpemUoLi4uKSAgKHZvaWQpc2l6ZW9mKCgoX0Jvb2woKikoX0Jvb2wpKTApKF9fVkFfQVJH U19fKSkNCj4+PiAjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8NCj4+PiAjZGVmaW5lIGFzc2Vy dCguLi4pICAgICAoX19hc3NlcnRfc2FuaXRpemUoX19WQV9BUkdTX18pLCAgICAgICBcDQo+ Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX1ZBX0FSR1NfXykgPyAodm9pZCkw IDogICAgICAgICAgXA0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2Fzc2Vy dChfX2Z1bmNfXywgX19GSUxFX18sICAgICAgIFwNCj4+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgX19MSU5FX18sICNfX1ZBX0FSR1NfXykpDQo+Pj4NCj4+PiB3aGljaCBjbGVh cmx5IGRvZXMgbm90IHdvcmsgYXMgaW50ZW5kZWQuIEkgd291bGQgcHJvYmFsYnkgYmUgc2lt cGxlciB0byB0byB1c2UgIiEhIiB0byBmb3JjZSBhbiBleHBsaWNpdCBib29sZWFuIGNvbnZl cnNpb24uDQo+Pj4NCj4+PiBGb3Igbm93LCB0aGUgcG9ydHMgY291bGQgYmUgZml4ZWQgYnkg Y2hhbmdpbmcgdGhlIGFzc2VydHMgdG8gInB0ciAhPSBudWxsdHIiLCBvciBhZGRpbmcgYW4g ZXhwbGljaXQgc3RhdGljX2Nhc3Q8Ym9vbD4uIE9yIHdlIHNob3VsZCBwcm9iYWJseSBmaXgg b3VyIGFzc2VydCBtYWNyby4NCj4+IFRoYXQgaXMsIHRoZSBmb2xsb3dpbmcgQysrMjAgcHJv Z3JhbSBzaG91bGQgcmVhbGx5IHN1Y2Nlc3NmdWxseSBjb21waWxlIHdpdGggb3VyIGFzc2Vy dCgpOg0KPj4NCj4+ICNpbmNsdWRlIDxjYXNzZXJ0Pg0KPj4gI2luY2x1ZGUgPG1lbW9yeT4N Cj4+DQo+PiB2b2lkIGYoc3RkOjp1bmlxdWVfcHRyPGludD4gcCkNCj4+IHsNCj4+ICAgIGFz c2VydChwKTsNCj4+IH0NCj4+DQo+PiBidXQgYXQgdGhlIG1vbWVudCBpdCBkb2VzIG5vdDoN Cj4+DQo+PiB1bmlxdWUtcHRyLWFzc2VydC5jcHA6NjoxMDogZXJyb3I6IG5vIHZpYWJsZSBj b252ZXJzaW9uIGZyb20gJ3N0ZDo6dW5pcXVlX3B0cjxpbnQ+JyB0byAnYm9vbCcNCj4+ICAg ICAgNiB8ICAgYXNzZXJ0KHApOw0KPj4gICAgICAgIHwgICAgICAgICAgXg0KPj4gL3Vzci9p bmNsdWRlL2MrKy92MS9fX21lbW9yeS91bmlxdWVfcHRyLmg6Mjc2OjY0OiBub3RlOiBleHBs aWNpdCBjb252ZXJzaW9uIGZ1bmN0aW9uIGlzIG5vdCBhIGNhbmRpZGF0ZQ0KPj4gICAgMjc2 IHwgICBfTElCQ1BQX0hJREVfRlJPTV9BQkkgX0xJQkNQUF9DT05TVEVYUFJfU0lOQ0VfQ1hY MjMgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IF9OT0VYQ0VQVCB7DQo+PiAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeDQo+Pg0KPj4gV2hlbiBjb21waWxlZCB3aXRoIC1zYXZlLXRlbXBz LCBpdCBzaG93cyB0aGUgZXZlbnR1YWwgZXhwcmVzc2lvbiBpdCBkaWVzIG9uOg0KPj4NCj4+ IHVuaXF1ZS1wdHItYXNzZXJ0LmNwcDo2OjM2OiBlcnJvcjogbm8gdmlhYmxlIGNvbnZlcnNp b24gZnJvbSAnc3RkOjp1bmlxdWVfcHRyPGludD4nIHRvICdib29sJw0KPj4gICAgICA2IHwg ICAoKHZvaWQpc2l6ZW9mKCgoYm9vbCgqKShib29sKSkwKShwKSksIChwKSA/ICh2b2lkKTAg OiBfX2Fzc2VydChfX2Z1bmNfXywgInVuaXF1ZS1wdHItYXNzZXJ0LmNwcCIsIDYsICJwIikp Ow0KPj4gICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQo+ Pg0KPj4gU28gaXQgc2VlbXMgdGhlIHJlY2VudCBjaGFuZ2VzIHRvIGFzc2VydC5oIGJyb2tl IEMrKzIwIGJlaGF2aW9yLg0KPj4NCj4+IC1EaW1pdHJ5DQo+Pg0KPj4NCj4+DQo= --------------Z0Ac2ihb8gUdZhUpurcfQJ20 Content-Type: application/pgp-keys; name="OpenPGP_0x5F4ED7D812606C60.asc" Content-Disposition: attachment; filename="OpenPGP_0x5F4ED7D812606C60.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xsDNBGhkuaEBDAD0a1Cu+ntw+v0/ZZnqTewGcd335T5tfktBEt22FsaoBqca7TSp /AvP/bWD3YtJFlxi7TJQbb2H+ylPzusPaN/R1Sj6wQsRD1Fj+1AjF9EOqxdohXm0 SoWs3sRRbMrMGp6qDTQQBMj3TEuSE26gLxmpadtiAsyNDcNCllMSXAZ7xlk+ra9x /pAqOR0TZvObwY8VUncCy6UWUIGmsUF5B7oR2v7i9rFk/3ILkcoIC1k+OlhMbxBp wPLA24Aj8sZX9dzFbwLn2wucqRUzE9IdzrwpQpRHxH0t849VBhLze+zP8s6IUtgK aTUjClmCfZXVVBpFswXJmxgDRo51Ed+X94K2y6FSDRMxwiz18vnJNWlB+aHH5wTb goTKU+zOckXODBowNEEmYpQNVNYJs1nP6tGRmN4YwW5hcNQYdUmFKR44uYdJomcq xkzJjU4rv4NBOdzrQTw+h5gCUdQ5IvBBGTA1enEP1qMhCpwTOfMd53of17BC3CMF NTu8rburHceMaU0AEQEAAc0jU2hlbmdZaSBIdW5nIDxhb2tibGFzdEBGcmVlQlNE Lm9yZz7CwRcEEwEIAEEWIQSIP4S1lgaPs34UknRfTtfYEmBsYAUCaGS5oQIbAwUJ BaOagAULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBfTtfYEmBsYJKeDAC/ aJjRjMM9k9n6uwUWHemoAUGjv5fxkIpHWYCltnZ9KMs+TZXLsUZrv9DxOV4E3ebE n7iMJbOAvIjjVK//qexo6/er9EZow4e/EQJLIL/0xRDiF4Jg7l1jziAI26P6dyuM NzeHddFg7ALVfE9wPCFqn3QGbHqDVjI/E9UcxXiwHktndAo1wJXdEq9F8Ufmtj1t 9NasTip8ofNgKfWCGhyyZI0kvhvob5darflQMO8YG61zmSteO5Es8i9sP+lOhwEg sgHl0L/gQtMrOko9Td1iOSMuaP9t3rx7pOnYLdKt+xw8kWnBIW6GNEzp5QVJxmzr 4DiyvvuR4SxnYy2tZjzQV4W8njBvw8SmZs0oS40iP8XNAoc91xLBizDnLne3BDYO MXgm4csmDnJBM8s7Gaoc+WMY+hDP9SKWSqhyJUg8tauVhmPP3sTEXJbHoD0TuXxO SwG9nEdKoeWQCA0XMXQGfYWHKy1qz3spYCFgXHqmF+WBLljqLaeHQsHmvUhUIuTO wM0EaGS5oQEMAMiauBmqNndH0AaX9cqOCf660X6fj7iidxwPY9pSUBOgZ3c13pRJ LiR6xsYnOWm+Dgf2BbNOz5iEtwx3Msrjw70/LsTJ4FdByUXZPZwujaPZ2SfowLMX XZbEJrPkJ2HeamaDw/Gf5O/paDtAS3i8sFkKiOHwBX4doaL5Rxy/oqSpYTYL8tBF UWMHHk4ji12P6Pw1aW2H81XzKTae1Tga8ViuiWzqibbbk5ddHjr/L+6LfTDM00K7 WTZVBnW0qsMZJ9PQpt8636cuJx6D3ITXxtg4IzFNz7HOKbPQazSGhaqsbdxKmtwc P2uZEycsX+hPhtoOS2FuF5nWIYRZSzWBxWiOopHdRLL4YfALMsGhFdnPH/J3G9gy BroiCiq2moRl2OSgo9W6rMxLCm62657zsvCo8p/KxaGq/ynwCAoQ1wHQaVerJkGM f0n5tLkbNm2SyAbRy3tA/EfbzT0Yufq5gu9zGN/Uxf5hgFO6UqDHrlPeSSz++6m/ OAj3yLIsl2GpDwARAQABwsD8BBgBCAAmFiEEiD+EtZYGj7N+FJJ0X07X2BJgbGAF AmhkuaECGwwFCQWjmoAACgkQX07X2BJgbGAJswv/dODZRYTWb/Xx8Y/Ei1OXLZIo NxoUHvBVEqO1xR/FJPwYM8TVcihvhCfM5lLhYdY1pkLjXdlGbTKZtvdHWHLvs62j GVjUXij52z1jOurnX2u0x1vq1zpklWBx4VQhd3sVtcyLNdDYBFi3epVf1NEctToW yfBys6ijtVkhjem3V/l0PI1WtkECzYfPTOA+guf4dmrGSHPOZpCyFwHPRcVI+4pu va4s4tjCAYa5E56GkICUJLuT1x228iqr5OC8YA7FeOTN94L/GqII6joaX2HIrcpG DybRIhGty+BqXvRIpjp0z5PdDeHiFQFTnBAEnjiATAMDKd7Sq8y7Pv8OD/ptOl7F g5iexCGVoLc3idpo/5T5fEXEaEWcGF9HRUeRTrnqQ9yBnALsqoLLVfoueF5Cl7c3 p1pwbdR0iSK9p4x6BDcnrnIE52vRCtCdivyxTNa+zKdjlI6gn7oNsRmOnQbkEXML 9WZi4YnrnITSzpkpCzeQCDI0gqUdsxsbt4Vi73Oq =3DVgUx -----END PGP PUBLIC KEY BLOCK----- --------------Z0Ac2ihb8gUdZhUpurcfQJ20-- --------------PX2aJRzefLuxLpJAKz1HZbmE-- --------------RbGIHvpX6F38ufFP5GDnGZLM Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsD5BAABCAAjFiEEiD+EtZYGj7N+FJJ0X07X2BJgbGAFAmohuJkFAwAAAAAACgkQX07X2BJgbGBo bgwAzDjT5jiQZLQ1KeQTSL+vGSIfAcJCqmqp0VuiU8twtCtLqQan7E0K9aGAW7WxS8/ZkI9z9goW 7Hvx9nXzpiZzG8n6bIEpH6DKi1gLMal+HJtnUrtBMOFfpK7/ox8zZh+UhKAe9J8y3rI2tgt1UqW2 zFdyw3fA7jrEieaGhpo4O8CTX18AqdeqLgOunNraD/cy30nL4CI+MSmrSnAM7iqT7tViFyXIUEHD Jg1xZEk8lfxCbgnnce6YmXkttC/VS3CAMkFisb/uyWHUwwtzI1ouzZ34+WlvemoeuFcHtcuZ7Gy6 Ny1HVBosyXhsMXdmbQbxo9SUInKNLrQjDQXFW+YXSKr61Coygx39CKTEkfNV1LyURDls3Y/bWm/d AXUPK5BNYTKqyrFIXBixv4PPELOvFRoXzWsdFGiLCKmDvf0Kc62O3MK2VWHH7zfz0ztvglAquHpe xehp66hNT5RQ0EvlMO/fdrRxChKLvixE4IjVVysX0eE0Xje+hMPfLBe7WFSa =aB4S -----END PGP SIGNATURE----- --------------RbGIHvpX6F38ufFP5GDnGZLM-- From nobody Thu Jun 4 17:55:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWXKn2FPhz6ghwm for ; Thu, 04 Jun 2026 17:55: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWXKn1hSjz4HnL for ; Thu, 04 Jun 2026 17:55:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780595741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4IXgxVWE0ST2Km4EdC9k9SsARZuQ3vshyovykRNNcqY=; b=lyV2jFH4mHu4FThXl9A9pFnglgWnObCiUisW+kYWm1Ns1pfxv95/W5C/xgzIIRRYT87QJZ YRGTLOphWFbzQzRK9pj1Q1k/Dtt2rnZ6IIpPuTacjGGYnsMXUIvxdRRxWhpXQX5cLvssmJ oJ/PYeceKm/QOQo4pqKQVtRnFdLFBReHw6sjlBuMegBeEH40+EXczriKUDXMJ9BJKmqphQ vhOK9603IrsI1O4+z0xM1WOtgZ0HYwttrfPeNy/SStOcZBlQ2n3/nPgEPApNljZG6xmARG HXLi6es8WXDiirV2t3gjLn7qDN9GvV8jZDkrjvhhT/gfsK+eRSGhqlS8zuetqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780595741; a=rsa-sha256; cv=none; b=bfW159YxrBImKwriu+NIUttNTKbNzoV6ii+IXTrR4L/WPz5HyL+yaI1vB230VR1lx2gPI2 SrNPgxbRlXmJ1IXWo58NHux1DJaaH0BAlgkO/o8JzqTEIoAfAHh2L0VrKsCk2YOr6PYN3V EX4rn/T/u+sMvQlluaEhhxUyMMgLCFwgH4L13eFFUIPgt+OnYaO6fabJO8lW007/FMnT3J v/OvZQsKifeduXv11cV3Kxp+AIvpJY1t3jvXxmwYbqwG82yvBX9h+zq3NAhnVVOF2lub00 Ti7cXukIJpxhfMBdm6b3nCqwK8B7QoRP6Sr64/dNisJVuasPY31UXA+BCoDRWQ== 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=1780595741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4IXgxVWE0ST2Km4EdC9k9SsARZuQ3vshyovykRNNcqY=; b=vfYNSwLNBekTMhGgWLdUKw0543bz6LOwrl14uKbdmNu1mfl/RveJM7PWjW79CqhUoUghyd +Fl4x1LFCfhT8XmtKKn2eqZvF0d1D+1eQWfXJPPStXipdffgnF0d3qr3R2uzYrJn9M6to0 upresPiBIz07pGiIOMWKCtf0K2kt2zOvReYb1XRjGkJIYvzU1ARANvkqfvV96DONGOMWAI eEBPsXXa04tLQaf+HcAqJPZldCLIPiQ4rb78GmH3L4CPFGoz7pIHp4eN9nDu6orqusf9YE IHFvhqx0qhVjHd4z3aAiK/3yRlT3My4T3rvsQT1nvP2fA8SkCCLIlWuATHn0wA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWXKn12bzz17rL for ; Thu, 04 Jun 2026 17:55:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2040e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 17:55:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 453968c78d27 - main - uipc_usrreq: revert addition of EMPTYPATH for bindat(2) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 453968c78d27ed5c90562a1178f34fe8d616bf40 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 17:55:36 +0000 Message-Id: <6a21bc18.2040e.38ce0e7e@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=453968c78d27ed5c90562a1178f34fe8d616bf40 commit 453968c78d27ed5c90562a1178f34fe8d616bf40 Author: Konstantin Belousov AuthorDate: 2026-06-04 17:26:09 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 17:55:11 +0000 uipc_usrreq: revert addition of EMPTYPATH for bindat(2) The caller wants the parent vnode, which cannot be provided for emptypath lookups. Reported and reviewed by: markj Fixes: 12c590a9abd7 ("bindat(2)/connectat(2): allow implicit EMPTYPATH for unix domain sockets") Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57448 --- lib/libsys/open.2 | 4 +--- sys/kern/uipc_usrreq.c | 5 ++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/libsys/open.2 b/lib/libsys/open.2 index defc593b15ce..7915f7e8ef0a 100644 --- a/lib/libsys/open.2 +++ b/lib/libsys/open.2 @@ -447,11 +447,9 @@ The other functionality of the returned file descriptor is limited to the following descriptor-level operations: .Pp .Bl -tag -width __acl_aclcheck_fd -offset indent -compact -.It Xr bindat 2 -for unix domain socket -.Pq see Xr unix 4 .It Xr connectat 2 for unix domain socket +.Pq see Xr unix 4 .It Xr fcntl 2 but advisory locking is not allowed .It Xr dup 2 diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index a798aaf4f871..920588627914 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -612,9 +612,8 @@ uipc_bindat(int fd, struct socket *so, struct sockaddr *nam, struct thread *td) buf[namelen] = 0; restart: - NDINIT_ATRIGHTS(&nd, CREATE, NOFOLLOW | LOCKPARENT | NOCACHE | - EMPTYPATH, UIO_SYSSPACE, buf, fd, cap_rights_init_one(&rights, - CAP_BINDAT)); + NDINIT_ATRIGHTS(&nd, CREATE, NOFOLLOW | LOCKPARENT | NOCACHE, + UIO_SYSSPACE, buf, fd, cap_rights_init_one(&rights, CAP_BINDAT)); /* SHOULD BE ABLE TO ADOPT EXISTING AND wakeup() ALA FIFO's */ error = namei(&nd); if (error) From nobody Thu Jun 4 19:49:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWZsM3RhMz6grC1 for ; Thu, 04 Jun 2026 19:49:43 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-oi1-x232.google.com (mail-oi1-x232.google.com [IPv6:2607:f8b0:4864:20::232]) (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 4gWZsM1Lbdz3Bms for ; Thu, 04 Jun 2026 19:49:43 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Authentication-Results: mx1.freebsd.org; none Received: by mail-oi1-x232.google.com with SMTP id 5614622812f47-4863eae453eso534810b6e.1 for ; Thu, 04 Jun 2026 12:49:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; t=1780602580; x=1781207380; darn=freebsd.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=zoBIG3368LLyii2cUka54LjPJ91IPp+0JciDn+vjo68=; b=ON+iftqoy1WWswAP8ISxrucWB4C5JSC3NCuAoHZAs/ox7ds6T9ppOeifdjhucJ4Aan tSukTbLZNb6CHyJPjQW1/E8jdoYWuZywkpQlgcTeeuAkgoH0Tptc1649gGcQLMTKRMXM aCVM5gKby2WZpDsgD4gpxic43gsvVOQ/YPYFSOls7iJa8Zkb6Q42PdK9TmSc+YRVTkD5 f2LsIgndlT4dY6/kA+kGKEAW3C3zADtrRYTvygZ3BesbqtaOxvr7XRPBBjnFcimWeMEp FYADwylvg1L4pFYmXbDckRm3OKjOybFf9ZUHj1TZ8/BmZNahJJIHfUUzB//dwYLpJbOy YjYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780602580; x=1781207380; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zoBIG3368LLyii2cUka54LjPJ91IPp+0JciDn+vjo68=; b=fntnwRMPq5FQBn0h0KJoO+2IArIeqQlbdpjg0OzEK/e/wLzTiqGba5Olh41tTmwFHe DvmEzfh5YBt0F+61/74yNC6SyVjXPl9B56dRdcqqvGKmOFY+woHM/hhib5I60G532Bm8 F8u41Nl5teijA3pPIDiPmJpuG91woj/hmDGAfRwPAayuJ6vBX7cSl/g9r/64t9Z4H/eM cQSeM8jraTawdja+dY1KspFyqlgClz5bNaXwdiCiluSrkrhJW0h8TUvOHiiwU4AGYst/ mcH7ZrstTlSyt6KQU/u8h9eKzY3jGuhsnZboidnM5GpvlGob4xN4lPP6JtSa3zPN8cd3 GKmQ== X-Forwarded-Encrypted: i=1; AFNElJ8HBpnBdRv2z1lEF9DKxEQtEbeT5eQRsDhVIWwh6q/eMD1wrlRepr7X7mdQrDlGQ2ngzKU9XoiCV/BSEHAaJa20M/JU@freebsd.org X-Gm-Message-State: AOJu0YzUSo7FQJOGP4PSTPN1Cha8G1cq8FndI4I10akHc88pe1qq4Sy3 ildCsWzSaKRBsPtZESlAZ5OlGzoZrRFf6DK8tJYgLgYo5VsUFGhNHXzyOUJQXCV2FQE= X-Gm-Gg: Acq92OEBxUnYSlbCdmDAjnUggPIYlSjXJNMH7WV3nwQmVPtP4Y4XooyTf/sm38LMyRY tfKJ59zRX0H50n3ef2mtuH/6IhjPc3GkICkfuMQMc5GJiClpJrYAIA/QAjDwRghOyn9/j+PndoY A/3Y/iYC6zwtxPdplkCPEtgH3n4PvVGyxhIFA++KfAtbgClkCQPy+/TT3neoHo/rpnT+tV3/MWY ZmP8bXhEKWXxHqqP7sJu4vbX2+fU/6S66amgijuOyBkur45o8O78VmhMLOPFY7NE/RwP/dBMmoG 8XF++6++gbHjxuCUBuwupWmaSw/leKTy8DHF+Y6Ho8q4Qm5YLIyEIlSWxyXsHoduPPT5x10sXa/ cZC2igS6KmeGKiFLG1fcF/Y0mQ/05aHUTN3sgq0+nTlJ9h/pcHxMyrp7UAFelLW0vUXUqD/it0I Cm1wHLnCDZKa+OL/Uavcg/t8HopZhGmQ== X-Received: by 2002:a05:6808:221a:b0:479:fe0e:e83e with SMTP id 5614622812f47-4868dc59ecamr327170b6e.14.1780602580538; Thu, 04 Jun 2026 12:49:40 -0700 (PDT) Received: from mutt-hbsd ([97.112.164.127]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4865b96e2dbsm5045176b6e.13.2026.06.04.12.49.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2026 12:49:39 -0700 (PDT) Date: Thu, 4 Jun 2026 19:49:38 +0000 From: Shawn Webb To: Dag-Erling =?utf-8?B?U23DuHJncmF2?= Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: eb3a0a74a069 - main - libarchive: Clean up the build configuration Message-ID: <3pdazz27eqlfeclrop6e6eotyrq2nltofy36nxbzq5tj2nrk6b@7notz67ugzfl> X-Operating-System: FreeBSD mutt-hbsd 15.0-STABLE-HBSD FreeBSD 15.0-STABLE-HBSD HARDENEDBSD amd64 X-PGP-Key: https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/blob/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc References: <6a2179d9.33381.266325aa@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="kknllzoizb2427mp" Content-Disposition: inline In-Reply-To: <6a2179d9.33381.266325aa@gitrepo.freebsd.org> X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4gWZsM1Lbdz3Bms X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated --kknllzoizb2427mp Content-Type: text/plain; protected-headers=v1; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: git: eb3a0a74a069 - main - libarchive: Clean up the build configuration MIME-Version: 1.0 On Thu, Jun 04, 2026 at 01:12:57PM +0000, Dag-Erling Sm=F8rgrav wrote: > The branch main has been updated by des: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3Deb3a0a74a069d0f294e1596504= 676459282bb308 >=20 > commit eb3a0a74a069d0f294e1596504676459282bb308 > Author: Dag-Erling Sm=F8rgrav > AuthorDate: 2026-06-04 13:12:23 +0000 > Commit: Dag-Erling Sm=F8rgrav > CommitDate: 2026-06-04 13:12:23 +0000 >=20 > libarchive: Clean up the build configuration > =20 > * Move settings duplicated in libarchive, bsdcat, bsdcpio, bsdtar, and > bsdunzip into libarchive's Makefile.inc. > =20 > * Drop some CFLAGS that merely duplicated some of the contents of our > platform configuration header. > =20 > MFC after: 1 week > Reviewed by: mm > Differential Revision: https://reviews.freebsd.org/D57307 > --- > lib/libarchive/Makefile | 7 ++----- > lib/libarchive/Makefile.inc | 16 +++++++++++----- > lib/libarchive/tests/Makefile | 8 ++++---- > usr.bin/bsdcat/Makefile | 17 ++++++----------- > usr.bin/bsdcat/tests/Makefile | 15 +++++++-------- > usr.bin/cpio/Makefile | 18 +++++------------- > usr.bin/cpio/tests/Makefile | 15 +++++++-------- > usr.bin/tar/Makefile | 13 +++---------- > usr.bin/tar/tests/Makefile | 13 +++++++------ > usr.bin/unzip/Makefile | 14 ++++---------- > usr.bin/unzip/tests/Makefile | 13 +++++++------ > 11 files changed, 63 insertions(+), 86 deletions(-) >=20 > diff --git a/lib/libarchive/Makefile b/lib/libarchive/Makefile > index 4e32dcf72341..c4b4bc67ba33 100644 > --- a/lib/libarchive/Makefile > +++ b/lib/libarchive/Makefile > @@ -1,7 +1,8 @@ > .include > =20 > +.include "Makefile.inc" > + > PACKAGE=3Dlib${LIB} > -_LIBARCHIVEDIR=3D ${SRCTOP}/contrib/libarchive > =20 > LIB=3D archive > =20 > @@ -9,10 +10,6 @@ LIB=3D archive > # It has no real relation to the libarchive version number. > SHLIB_MAJOR=3D 7 > =20 > -CFLAGS+=3D -I${.OBJDIR} > -CFLAGS+=3D -I${SRCTOP}/sys/contrib/zstd/lib > -.include "Makefile.inc" > - > .if ${MACHINE_ARCH:Marm*} !=3D "" || ${MACHINE_ARCH:Mpowerpc*} !=3D "" > NO_WCAST_ALIGN=3D yes > .if ${MACHINE_ARCH:M*64*} =3D=3D "" > diff --git a/lib/libarchive/Makefile.inc b/lib/libarchive/Makefile.inc > index 755a39ec01e8..33ab0085367f 100644 > --- a/lib/libarchive/Makefile.inc > +++ b/lib/libarchive/Makefile.inc > @@ -2,11 +2,17 @@ > # them in sync we can get run-time crashes while running tests due to mi= smatches > # between structures such as archive_md5_ctx, etc. > =20 > -LIBADD=3D z bz2 lzma bsdxml zstd > -CFLAGS+=3D -DHAVE_BZLIB_H=3D1 -DHAVE_LIBLZMA=3D1 -DHAVE_LZMA_H=3D1 \ > - -DHAVE_ZSTD_H=3D1 -DHAVE_LIBZSTD=3D1 -DHAVE_ZSTD_compressStream=3D1 \ > - -DHAVE_SYSCONF=3D1 > -CFLAGS+=3D -DPLATFORM_CONFIG_H=3D\"${.CURDIR}/config_freebsd.h\" > +_LIBARCHIVEDIR=3D ${SRCTOP}/contrib/libarchive > +LIBARCHIVE_VERSION_ONLY_STRING!=3D \ > + sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \ > + ${LIBARCHIVEDIR}/libarchive/archive.h Hey Dag-Erling, This seems to have created a new warning during buildworld: =3D=3D=3D=3D BEGIN BUILD LOG =3D=3D=3D=3D =3D=3D=3D> lib/libarchive (all) sed: /libarchive/archive.h: No such file or directory make[5]: /usr/src/lib/libarchive/Makefile.inc:6: warning: Command "sed -n '= /define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' /libarchive/archi= ve.h" exited with status 1 =3D=3D=3D=3D END BUILD LOG =3D=3D=3D=3D Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD Signal Username: shawn_webb.74 Tor-ified Signal: +1 (719) 756-1197 / activist_opsec.27 https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A= 4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --kknllzoizb2427mp Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmoh1ssACgkQ/y5nonf4 4fqjbQ/9GSxJmeBn+BPIocCjZJ3AhyxQ1qqQ9/35K9qFe9IOAgvvj8Bi6nkaslkH IBebleF6CR0KqSzeRpaTeDsecym08sCV/2TacFi8yzzbeRD6j7mxc7OnRqUV7TmG mFmAfNtnnHUsRKP8u3XLgu0it39oO0Q74BMiG2HKeWeFfR4VyMus2nF7BVXcNEnS JKodf4g305w7SfmTIq+FfoLdetmEViPNywni9AurIYzbAyz01Mn1NOkSkvl/aDtk ceNPMfVw8QlCc+RPSIUd791Pvo4DU+0GXtfJSL4IO1zqnBWYRC8/0358lIKb7OLx CAGglcnJV4t8sCnhj8f3Ilzl8pq2mgBNRkDGOXUabElrN0JV8vM7pCBnFDq6pF2I cpny/g9YfllDtQnhC5i2L2N1vLwoKEaMjY9gof5R5aTuQXW6iHje5i8pQ3fc9/t2 +jibhXHkpsGGLNUbhdeJzR1Y5NdENwFWLcxAGxe0hw41pcecgV37nkn4y7OeaBlv /AMs4fEXFW2Jox2HGLhcq0kWklLwgqDIaDZ/7SbpJwizlFoKOsINydb1QF4j01bd w28z7exd1bUvJ57R43E0NIFUIYhkZtQnpWhMjg4jQr+vhc1B5fpupZ8U0g3VJZn4 ZgwxTzKR61wBwmrKBVxRSkhJCt1b28gwcKqfIamy5/xdcNwewQc= =zYF0 -----END PGP SIGNATURE----- --kknllzoizb2427mp-- From nobody Thu Jun 4 21:09:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcf11sPpz6gxNq for ; Thu, 04 Jun 2026 21:10:01 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) (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 4gWcdz0Rjkz3K7M for ; Thu, 04 Jun 2026 21:09:59 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=H9qVbt1K; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::629 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2c0c35980fdso12229585ad.2 for ; Thu, 04 Jun 2026 14:09:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780607393; x=1781212193; 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=Z1XoAvOieeDZl/QidkfxcIFt9FxB3kH1bEkZuyHGmMg=; b=H9qVbt1K2qvPCxzkP6mIpGh/vptivmIP7AFbWjIGcE358GPY3gGqLUzP2gLLNv8lT3 NaiY4TgX6Y+E+Ta3IOzQuvd9XZj5N4CoPKXG+2zLwu5x5dfqXfIY8PXaKMo3AJRqv/nF zAQGi56KnS1mHnjYXyE11xBjRr6NuoT9MX2ZzYa6LfHxlupIhMAZelTzZaffM43xO9v7 HFiDDrQdslBEwlPjE9wZwqwOCmLMd76sTrDrkJ+MpruHCJy0S6v1T5LYptj+7RijRB98 ZibNkrRMpeXpKqpqNmSt8uB1B6lR6J8A3rq+UnvG1E4b5KZ+KuHfGfOWt+4By0NU78ro WxaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780607393; x=1781212193; 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=Z1XoAvOieeDZl/QidkfxcIFt9FxB3kH1bEkZuyHGmMg=; b=c9bwc/DN7C/rbEL+W4gcV0tlAOHQZXYzRz5npAYLCLCWymNxiMAOQgCftQxiUQ8+kH d9XV/RL7cK5RD1gNkUZg+vwqGHcY9fFuk7iQFF/ZU6BkPZiOOIxtt5i0zRUtfoMRAJHH jPsH4Y/IFIbMKCNu6NfhOu5wA6Mm2DFQXgz2cwH/UUQTykdu9ibQeKGfn5FJ/xmHb3JN Jyh4R0gisRN6+9uO8kIlrEpFveQ6t+wSrSky/zxmdUzJhkL9Bx4UZK95AytX3JcHwDS5 Y6WFEJhiywNWPUkPCJVCW4rchqAdv3XNLnBQQFao4y3YolSbuaos7ql5fVzh1WVKtjZw RYIw== X-Forwarded-Encrypted: i=1; AFNElJ8P05G3MW2WrJ9WGD0iylaOPfB/BFK52p0tNOvMuhVbdktc88FMygcCPLae2HuJTK+J8h9LNfFPtKA6Han2CgDQlF8N@freebsd.org X-Gm-Message-State: AOJu0Yz2zyKEI/KEbD5oPh0kmDuybcsSCqw+wo6iylVX8pQiG4wfUG4S QuYRRN7pvGNFLlm96Cvrxp1G8+qDAIY4c8JuYUGL2B/M/W+4NqHfw+QF X-Gm-Gg: Acq92OFREXNVt8ehWdMt5vHxVyufvQLbEPhEShXSEte5AN6uFwUlzNTQ+QsZ11pK9yX gou2lVKkpDRdQ1E5aZx5hsRJiLH+S0yc3Tc20qYYXjDzev519hOEIOfRl0Ihoaf2vNHb1CoTSRf 0yw23dtivDMOl+3ANmV+z1bIQsuQE7V+Ylsg76t5TTiIsoAMUaUnUY0c57QTcDb0onpASIOPy8S z9XhSN/4bSPoNKstIvnHNjv06JfW25sxm31t5fi3XSZLZVFY4Qkqr8M13W4L8UoewIcySEOzIH6 P3bY1B5OJh37JnXXfA7pVQ2/qgka9I5c4MKfwd0f6X+f7wxd1tY4G1B1kj3568mIhlvqvhnNaO3 sTB0p/gnXmFduvP3eDT9yA/nzizmatK6oQfdA8yAtBGyvvA3nBiDk/eFfqeaRXbtnCNq5+Dj66B D/1e1vWf41aT6gvpImGHdOW+/IkamJZ7vpicKMCwXU8DxB+nQ8EXEc5aIc X-Received: by 2002:a17:903:22c9:b0:2bf:2015:5b93 with SMTP id d9443c01a7336-2c1e82125f8mr2892685ad.11.1780607392831; Thu, 04 Jun 2026 14:09:52 -0700 (PDT) Received: from smtpclient.apple ([185.228.19.36]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c164f6d2bbsm71144565ad.1.2026.06.04.14.09.51 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Jun 2026 14:09:51 -0700 (PDT) Content-Type: multipart/signed; boundary="Apple-Mail=_247B5DFD-B56E-4B51-B212-DEF18C678864"; protocol="application/pgp-signature"; micalg=pgp-sha256 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.600.51.1.1\)) Subject: Re: git: 886164895f3f - main - amd64: complete thunderbolt KERNCONF integration From: "Enji Cooper (yaneurabeya)" In-Reply-To: <3174612.hHqAuc6tWs@ravel> Date: Thu, 4 Jun 2026 14:09:40 -0700 Cc: Enji Cooper , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= Message-Id: <4316E349-244A-4F3E-9D4B-538EE4B0F037@gmail.com> References: <6a1fc36c.20f4d.2792bff2@gitrepo.freebsd.org> <86wlwgue2o.fsf@ltc.des.dev> <3174612.hHqAuc6tWs@ravel> To: Olivier Certner X-Mailer: Apple Mail (2.3864.600.51.1.1) X-Spamd-Result: default: False [-5.46 / 15.00]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.86)[-0.863]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MV_CASE(0.50)[]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104]; RCVD_TLS_LAST(0.00)[]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; FREEMAIL_FROM(0.00)[gmail.com]; HAS_ATTACHMENT(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::629:from]; 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-all@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_FIVE(0.00)[6] X-Spamd-Bar: ----- X-Rspamd-Queue-Id: 4gWcdz0Rjkz3K7M --Apple-Mail=_247B5DFD-B56E-4B51-B212-DEF18C678864 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Jun 3, 2026, at 9:06=E2=80=AFAM, Olivier Certner = wrote: >=20 > Hi Enji, >=20 >>> commit 886164895f3f4805dc11171ac7980acaccf6ec77 >>> Author: Enji Cooper >>> AuthorDate: 2026-06-03 06:02:01 +0000 >>> Commit: Enji Cooper >>> CommitDate: 2026-06-03 06:02:01 +0000 >>>=20 >>> amd64: complete thunderbolt KERNCONF integration >>>=20 >>> This completes the work so the driver can be integrated into = KERNCONFs >>> properly on amd64. >>>=20 >>> MFC after: 1 month >>>=20 >>> Differential Revision: https://reviews.freebsd.org/D55573 >>=20 >> /usr/src/sys/dev/thunderbolt/router.c:281:6: error: variable 'up' set = but not used [-Werror,-Wunused-but-set-variable] >> /usr/src/sys/dev/thunderbolt/router.c:723:8: error: variable 'adap' = set but not used [-Werror,-Wunused-but-set-variable] >> /usr/src/sys/dev/thunderbolt/nhi.c:837:20: error: variable 'sc' set = but not used [-Werror,-Wunused-but-set-variable] >> /usr/src/sys/dev/thunderbolt/nhi.c:871:20: error: variable 'sc' set = but not used [-Werror,-Wunused-but-set-variable] >> /usr/src/sys/dev/thunderbolt/nhi.c:874:8: error: variable 'len' set = but not used [-Werror,-Wunused-but-set-variable] >> /usr/src/sys/dev/thunderbolt/tb_acpi_pcib.c:123:15: error: variable = 's' set but not used [-Werror,-Wunused-but-set-variable] >> /usr/src/sys/dev/thunderbolt/tb_pcib.c:307:6: error: variable 'error' = set but not used [-Werror,-Wunused-but-set-variable] >=20 > Compilation fails on INVARIANTS, it works with !INVARIANTS. Was = bitten by such a case relatively recently. Try not to forget to build = both cases when fiddling with debug code. >=20 > Fixed in 9a133eee1ed9cf32. Amend as you see fit. Thank you Olivier. I=E2=80=99m kind of surprised that __diagused didn=E2=80=99t work, but = what you did is the right thing to do in this case. I=E2=80=99ll MFC your change as well when the time comes to MFC my = original change. Cheers, -Enji= --Apple-Mail=_247B5DFD-B56E-4B51-B212-DEF18C678864 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----- iQIzBAEBCAAdFiEEkHfexGRJ3gYRdA2gGpE5DjPsNJgFAmoh6ZQACgkQGpE5DjPs NJg/bw//WtGPrMjKrOyQPrzR0lXtOfrbWP4/JEIpyTl06UA9qGu/zGzdJQwcrvwM J6ilkjnb1vs3akG9raVVuiJm7jEjQP7RvQPyVM8eCqNMa9S4RZBwUEF4hjCX0hkO fUsILExXj/S3ztH5PIDq/1Axk5A49gD/WKZmUW4wEc/OQaE7JGlMtaG9k9HV1Kh6 BmlsN55MWjAS43XrkBbsMbJpSWBE3pfdiH6i460DMDstZ6r2fdky9ULWugDUvDvW 1i0I3kMh4qji8oXoc1WANum5DMLMWF5xw00lRD420yOsxKGna9E1OUZsn3sCfIEy UEb52h7Jv5LyckABYW15h04yJkfP62UdlYYcA4mPpUaJrNFZ21Cteamb/qIPWm4r K0UE1n3ScX0gu33bwiZcyzsj4hTHMCWgVOaEygE9xZfZUcWJVSnj1GjQFZ7qHyqR DnM3wGjk6ar9LWGUesltiKV2pbUfNpfOI1MXW56Lvqat165FFsEMnlH75OX9ldha NhKRvsbN6W3s+Gv33SljkEj/atooxx3S0jWIxHL+7CCGhKXU7K54qFxV5tdeDrax 8gIgTvMq7SSiWaMGSrnUh322zKWljJKkVixr42/GAlFklA0S59I/rqol/m6j0FVm owYQ8gP0SnjoNnZeoL45kyrw7/JraGRtYglt51PJbh22yGZAMKU= =R0tR -----END PGP SIGNATURE----- --Apple-Mail=_247B5DFD-B56E-4B51-B212-DEF18C678864-- From nobody Thu Jun 4 21:15:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmW2gM4z6gxvy for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmV5kKbz3LXt for ; Thu, 04 Jun 2026 21:15:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HmG2TPFHNIY9heRwA2xftP1Dl2fJnjDDboJeAG3JZoU=; b=RMai+vAKWcIODKfrbOnM9GkI+iHc9+M9j3e3EELkf5FuAxrofiRviGRxJRQtIS7gKU8Wef O290Uak4TFv6O0EyqwyXRx6PL/k026btsnTLuWp7UTh9zA6cyC/qiRTTIO+qD8nto63vwN 5YY0NTuHbvnUwLOY2IhIiNl9FN/xI/vD8LduPtqKdUoMu+vbE+S9dOrRJmc3ak3ONGtiNR VR03W7KLQCrfwHtRvBvZu2JyzN7Z+MONT3nazA02mD6bdENPkO5NUgvx84VtJ8T4LBSO0x aubAQ+ftlYpX7CN+N/E3YqOH+pjiSKacwvlyq/KqDznmQIF7FZKHrGU/ge240A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607738; a=rsa-sha256; cv=none; b=gAoB6VM2vq3cZUEMy2tioY3dvb2NXwtVu6RPZrvv9Jtn3a67S+0oM3b3T/OsEMQpVM8WXh vZWpVHUAZI95CXnqWe15hLHSzxTX6McxWYuOhMiSOSMQ/rB8uhHQ57tcQ8Z3RbTmeZMJih 2Y1R4uGnP8n/2w9kOd6gFXNgGGn3CCDRUxMLGLAaJgYx8GQF33s28NLlpuGInkB/Ahqdo5 nND3XLFVxGfDdMUlb5OLTu0KRUOrJkSTWJHrrWGPGZ9NHgGwUNuLEPpv/vsTLJNiT/kj8Z o6SGKI3U0WB8mBnfwymnVwcbUp/vPByGvRTDreieefxYp3BvEEyzZgMP98Q4/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=1780607738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HmG2TPFHNIY9heRwA2xftP1Dl2fJnjDDboJeAG3JZoU=; b=oX/1z82BGH3r8Gn+T/q8HBqm936yodH2rRAfslUSznr8vYbnCQERCHx0g0BvXSBRE9jyhY 6NbJZvE0kOotinBlE8SIqd9tScWfq5IazLlHpjeP2D0UhcJM7c4VwBmrKWZ4p67arRc8Ii W7Bwn+5wYRlNfFgUW6STwPIDRxDD1udDrq9JPIKudubjN9v16uNFXH/rkJ4P4paTMgSzDM wVuUv2xUMDoIoJIciT1yCymOIBn7gUkCKEnNGrsurwJ5ldZfFQ5cfSt2xJwq9Xj0HnF+57 WvWdr7Bgftra4z8RVuz8NJAG4kTDDn2+ZXaHMQkOC4mcs7GuzNVyLgE+NMgv1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmV5Kdxz1F2N for ; Thu, 04 Jun 2026 21:15:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3dc0c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: b813e46e1533 - main - nuageinit: fix dirname('/') returning nil instead of '/' List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b813e46e153327b66db4791ec0003b7e7cc51214 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:38 +0000 Message-Id: <6a21eafa.3dc0c.2dd97158@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=b813e46e153327b66db4791ec0003b7e7cc51214 commit b813e46e153327b66db4791ec0003b7e7cc51214 Author: Baptiste Daroussin AuthorDate: 2026-06-04 16:44:31 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 16:44:31 +0000 nuageinit: fix dirname('/') returning nil instead of '/' --- libexec/nuageinit/nuage.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index f3c23a7c3eb8..839cf3588021 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -93,6 +93,9 @@ local function dirname(oldpath) end local path = oldpath:gsub("[^/]+/*$", "") if path == "" then + if oldpath:sub(1, 1) == "/" then + return "/" + end return nil end return path From nobody Thu Jun 4 21:15:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmY3Z4kz6gxsR for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmY0MM5z3LY9 for ; Thu, 04 Jun 2026 21:15:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=On/5kVCvXjOonbcR9MAqgF4h4RGPzmfjPdJ19h+nuaU=; b=ZadVGSduSKcc93RaU0TRyTD2bqCuHkvlRlixEZxtui4ZJAIzapokDrLyms2QJThwXh4Vm1 psbvauYb4kGe9+v0l4McpID4ZCbcWuyPFRtLiFqf2QmOQJTB8MoGprNPCVa89K7KL+aLwq Bksn65VYDFav0OZir4JTbUuJioV/ZRbPy6AgjXmp5F26WKwUmYl6NPmaj9Dswxiq0ScGXd dEl92N+HTPtNDQ+KiSMBPGf79FFJFfgnjiUaenQI+0vTi0iej5mdjM3HGNjWdFJJ01PxXc IrRwAuZu0/5O6exZ/lV8+tlu0s5y0BdWkbzmqxxISkW3ELmNKZBI7Vh1V/1Ccw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607741; a=rsa-sha256; cv=none; b=nsr8iTnWL2gheA/CgwHrrlltlSXhHiH397OWH9CNx/MZuHfe1mYrWbzFqTXdd893Bt0jz0 sQ2oa0Nll9uIn3PWBaXm5RyYhiRVGxgSQz7KiTcpbwBbebYgHUlMJqdtaoPd5zcdZKWjN8 QH4pJF288DTXvOz4H0ebL6uDeTDQGhXPjRSYK3H0V3koflZ12AUmC4vCZG2agNEgzqrqWr D9hsa6onsFy3EPS7wgEzrj9G4BAWElhei3E+eA0EwRUuOvi77aWakX1qlkJjlYgFdJ6TUk V+EfhjPug1F1r8VvPEGxn5biFc3Hyy2ejmGMpqSe/SC+XsQG/1g9exSpaQ3RfQ== 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=1780607741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=On/5kVCvXjOonbcR9MAqgF4h4RGPzmfjPdJ19h+nuaU=; b=k1H0i1A6zILVfB52h5rhiY9omwPjBIA0cX6OeSUZuaC6mEsBzoZRBanYFVJxtncUDwe50z 6PqUW7LJCfWRP9/7uM0jHeF1pGpV6FQi3ZpKOXzFDpp6sfgFhINgjYyKJND6oQQjC6SgAa tdUuB15aTZREUJtPLyHyfr5XUJXFQ6B7m/sSs2J010zIKfEpNfM/n8HlBwPoJTl7Z48kC2 8MjxX+EGebTZCkJ8yX618PsADUOyDvnoor9DPnItySkgBzCEki/ZQMDnGoI4CLMpGw8sZj 2v2cxtWjTWdXMxLLXovHl8FqmmRjAA/2vSAWuRlTl783EwGi+qQ695jiWawVNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmX6xKSz1FDG for ; Thu, 04 Jun 2026 21:15:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c76a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 9459465308ff - main - nuageinit: add config2_network DNS services test List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9459465308ff17a11cad1c3d1987951055f114d6 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:40 +0000 Message-Id: <6a21eafc.3c76a.27b130be@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=9459465308ff17a11cad1c3d1987951055f114d6 commit 9459465308ff17a11cad1c3d1987951055f114d6 Author: Baptiste Daroussin AuthorDate: 2026-06-04 17:48:32 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 17:48:32 +0000 nuageinit: add config2_network DNS services test --- libexec/nuageinit/tests/nuageinit.sh | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 89207fdf0aca..b68aa6017d0a 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -19,6 +19,7 @@ atf_test_case config2_pubkeys_user_data atf_test_case config2_pubkeys_meta_data atf_test_case config2_network atf_test_case config2_network_static_v4 +atf_test_case config2_network_dns atf_test_case config2_ssh_keys atf_test_case nocloud_userdata_cloudconfig_ssh_pwauth atf_test_case nocloud_userdata_cloudconfig_chpasswd @@ -460,6 +461,51 @@ EOF atf_check -o file:routing cat "${PWD}"/etc/rc.conf.d/routing } +config2_network_dns_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + printf "{}" > media/nuageinit/meta_data.json + mynetworks=$(ifconfig -l ether) + if [ -z "$mynetworks" ]; then + atf_skip "a network interface is needed" + fi + set -- $mynetworks + myiface=$1 + myaddr=$(ifconfig $myiface ether | awk '/ether/ { print $2 }') +cat > media/nuageinit/network_data.json << EOF +{ + "links": [ + { + "ethernet_mac_address": "$myaddr", + "id": "iface0", + "mtu": null + } + ], + "networks": [ + { + "id": "network0", + "link": "iface0", + "type": "ipv4_dhcp" + } + ], + "services": [ + { + "type": "dns", + "address": "9.9.9.9" + }, + { + "type": "dns", + "address": "149.112.112.112" + } + ] +} +EOF + atf_check /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2 + atf_check -o inline:'name_servers="9.9.9.9 149.112.112.112"\n' \ + cat "${PWD}"/etc/resolvconf.conf +} + config2_ssh_keys_head() { atf_set "require.user" root @@ -938,6 +984,7 @@ atf_init_test_cases() atf_add_test_case config2_pubkeys_meta_data atf_add_test_case config2_network atf_add_test_case config2_network_static_v4 + atf_add_test_case config2_network_dns atf_add_test_case config2_ssh_keys atf_add_test_case nocloud_userdata_cloudconfig_ssh_pwauth atf_add_test_case nocloud_userdata_cloudconfig_chpasswd From nobody Thu Jun 4 21:15:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmX2pRQz6gxsP for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmW6cmhz3Lmj for ; Thu, 04 Jun 2026 21:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1fYEbcX3Q75edq8EE/soUn3/wL4wI+ZTFAdhf55zQV8=; b=rDrrWmg5rdb/bC2hkaSsjc2o6MQSJqYJ9hlAoZkSI8Dh4RGZmrhmL0C8vedCP6AHwK4JLV GpFQ9VDrxgUQNgZXojpSgBJH8+udu2Yug/fXlXZbg7Wsx6G2Dzxe41n3ajvyhzGQWCAFH2 JFI8VQDU3waaE+djYTt9Dn915qVpHZwL87pyH+R4l2EfhGq4TPWSBh4Saa2Vh0lqHZocvh WzDoyaJBp7ufC4qU6NSP/xcNcDR3UAI3EI5ZSAGCTWllL4TYm4Wqd2/Se8NsB2g+rSbU/h bsT+wh6qtVnzwIOJjEVWG8QNtE78c+kBamanhid9Rpmzritm4QcqUq5SrP8L4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607740; a=rsa-sha256; cv=none; b=tAP9WVLaT1SVyk8CcRpZiLc7mFoi66zYjwhdu1eocxV0bIUwCAAKoEcABsWUrOz1HWkhVK TjqA06AcpenZnBxTRvSDH4RUzA+lA3xCEN/km5d+n9CC0muw1lzOkAY6Sw4GocZ7zbGTMA 5KEglpYJrm0mQ0HYu6oqwEhRQbot9+Ej3GlX6fXRUPAPLX4oaYxTlSEuK18JhFgb/0qKhQ 4/Vsp0zliazlA6mcmyuXw/vqAo0F0UBBQhfXostW9wuXRCzQem/+fwjPnCNOFEafRx+Ht3 5M2ovSUGwvdfwFV/INrCvL7TUmYEPTBxb+rw90Wbm6XDKx3shFxk7vROUR0F0A== 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=1780607740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1fYEbcX3Q75edq8EE/soUn3/wL4wI+ZTFAdhf55zQV8=; b=SLvzQqazethqgYBIGSdpJxE56XtyrLSTSHAH1Rm2Pvasy+IeqBsL+OQ6jqk3+qylN3zgEF qb+Phy3mpjkxy93I0yjiyS0MlLYxSSe00xBnUN5/il9koopLGUf0bJG2/eZICLFffAAQts ggmXh5hrLNh5U2qxXZgunmGk2j7jHUcp3mIWWHhoBIXtLDYquk+4jG5hKjEJfjZJFP5Yam RRfLzrc9ZpWo7nZu0wuSsV7KFA1WjS9dawd7OPENalisxYTThv3ZIlFp+gLKyELUlrif3m Adr25pWbQQmVcOZ2y5XTSi7PLX0SAcrdKrGYq8l/uNklBAYQK8wt0mwo6fm10A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmW67Jhz1FDF for ; Thu, 04 Jun 2026 21:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c64a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 5f58d9207469 - main - nuageinit: add dirname edge case tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f58d9207469dcd2d3fa24db7f5276a681df91e5 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:39 +0000 Message-Id: <6a21eafb.3c64a.7da66207@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=5f58d9207469dcd2d3fa24db7f5276a681df91e5 commit 5f58d9207469dcd2d3fa24db7f5276a681df91e5 Author: Baptiste Daroussin AuthorDate: 2026-06-04 17:24:45 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 17:24:45 +0000 nuageinit: add dirname edge case tests --- libexec/nuageinit/tests/dirname.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/libexec/nuageinit/tests/dirname.lua b/libexec/nuageinit/tests/dirname.lua index 7e3a2c835502..9d76aed0ac11 100644 --- a/libexec/nuageinit/tests/dirname.lua +++ b/libexec/nuageinit/tests/dirname.lua @@ -1,11 +1,34 @@ #!/usr/libexec/flua +--- +-- SPDX-License-Identifier: BSD-2-Clause +-- +-- Copyright (c) 2026 Baptiste Daroussin local n = require("nuage") print(n.dirname("/my/path/path1")) + +-- relative path with no directory component: nil if n.dirname("path") then n.err('Expecting nil for n.dirname("path")') end + +-- nil input: nil if n.dirname() then n.err("Expecting nil for n.dirname") end + +-- root path: returns "/" +if n.dirname("/") ~= "/" then + n.err('Expecting "/" for n.dirname("/"), got: ' .. tostring(n.dirname("/"))) +end + +-- top-level directory: returns "/" +if n.dirname("/foo") ~= "/" then + n.err('Expecting "/" for n.dirname("/foo")') +end + +-- deep path +if n.dirname("/foo/bar/baz") ~= "/foo/bar/" then + n.err('Expecting "/foo/bar/" for n.dirname("/foo/bar/baz")') +end From nobody Thu Jun 4 21:15:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmc01dyz6gy25 for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmb1x3Cz3LfZ for ; Thu, 04 Jun 2026 21:15:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JwXz7j/gS+j8GfjknuU5verbgBDBhd5KuiH0ukO4ZZY=; b=oyxHd7VM0Qty9ELrJX83LPVNRqsf90R6Qg6otWdCN6UdCc8JCCfXX25ug8PMtZmBZCxNr4 WCMKT90rqOZhJbaUp7dCtgGJiSPl8Jc+P3BQDm/C5xeTQGNTw3Raqt+XqRye8AQ8r/W0l2 LVLrAiNeFo97YfQkGLIB7K1jJByyi0lEgCy8TiNqXTNvNcmtRYN+7PaUbx1eYl95E0qJBv ZTvAF1BHkJlkrYf8cvf8kImiKbVnVoOzRO5lR0gw8LYrdTkGalBTqvbe8by5L5qh29JUNk ATmepRGoMtc3+9d7/BRNX13Od0MFGULHLzfUNxsveQsoC3tzhaeb4MzGx6ihlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607743; a=rsa-sha256; cv=none; b=nUdOXbJskiQ7MQnqbJ4ebTIvhQIIuOXm5mfuyzkeZAYPT/5es+ZS+3H6SJUocvxLhh5iVQ fM00Ak8U2g6kcKJ6kPoL+0EWpledNL+wflfgi56ET3m0J4bkFm0GIs8FPh71BtmeokvUfH blpF3JuMobUrJocH6wUaktghslL4KQD1cksgzBl8bDGBkRHGXycFwjmpqCSrZ6SINiLSml 0NA6iL8D5SCPni2P5QcLDzePhMF1ZmB6HvOzQj+EuzO9Bq7QQUu5U8VqcSKjsN5fA5qhoo 7/UrHMnUrhdTYcgy2CG2d8EESWUgXRLpoUAaeWC6AJkBDPbFvz2YQ30sXyxK1w== 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=1780607743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JwXz7j/gS+j8GfjknuU5verbgBDBhd5KuiH0ukO4ZZY=; b=EQpC3Ei5+g5nnA+aw+PPpiZ6ZHAzrlVn7BZ+Zyz6S5/xEVauD7ZdqyOiCfgnhbx/lfVNXY SPp8byV4yDPVh/5f79mAksbGMZ1upamZr1v6NJ998ADrEchJBnc0HsTh5NgPnl8boS4nkV jigQ7YQiHVdw/+3gPhxb3rlC0pSZS3D+fFloxlA8KVBd6LYSmnrFOkyzIsAMWYDj9wKJt9 mA5EOvWzdwj1Fr4l7E3HavXfu+sw03ocacBbtUD8yQxPcMq4nTUQHDATv9UBDbzb/4Rczq wZj0k0Q64R3wVjIZPXrYrl6T4URzfZUt1y0rLp7PflD0iZTT5SuPAkYb6GqMpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmb1WC8z1Dmc for ; Thu, 04 Jun 2026 21:15:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c64e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 46d1758aa7a2 - main - nuageinit: add hostname validation (RFC 952/1123) to sethostname() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 46d1758aa7a2af37a356a93812b492a406c6ffd4 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:43 +0000 Message-Id: <6a21eaff.3c64e.93541b5@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=46d1758aa7a2af37a356a93812b492a406c6ffd4 commit 46d1758aa7a2af37a356a93812b492a406c6ffd4 Author: Baptiste Daroussin AuthorDate: 2026-06-04 18:26:49 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 18:26:49 +0000 nuageinit: add hostname validation (RFC 952/1123) to sethostname() Validate hostnames before writing them: - Reject empty hostnames - Reject hostnames longer than 253 characters - Reject hostnames with invalid characters - Reject hostnames starting or ending with dot/hyphen - Reject labels longer than 63 characters - Reject labels starting or ending with hyphen Expand the sethostname test to cover all rejection cases. Update nuage.sh sethostname_body to ignore stderr (warnings). --- libexec/nuageinit/nuage.lua | 27 +++++++++++++ libexec/nuageinit/tests/nuage.sh | 2 +- libexec/nuageinit/tests/sethostname.lua | 68 +++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 4f25e79ccefc..a491ca8d9df6 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -119,6 +119,33 @@ local function sethostname(hostname) if hostname == nil then return end + -- Basic hostname validation (RFC 952/1123) + if #hostname == 0 then + warnmsg("hostname is empty, ignoring") + return + end + if #hostname > 253 then + warnmsg("hostname too long (" .. #hostname .. " > 253), ignoring") + return + end + if hostname:match("[^a-zA-Z0-9%.%-]") then + warnmsg("hostname contains invalid characters: " .. hostname) + return + end + if hostname:match("^[%.%-]") or hostname:match("[%.%-]$") then + warnmsg("hostname must not start or end with a dot or hyphen: " .. hostname) + return + end + for label in hostname:gmatch("[^.]+") do + if #label > 63 then + warnmsg("hostname label too long (" .. #label .. " > 63): " .. label) + return + end + if label:match("^-") or label:match("-$") then + warnmsg("hostname label starts or ends with hyphen: " .. label) + return + end + end local root = os.getenv("NUAGE_FAKE_ROOTDIR") if not root then root = "" diff --git a/libexec/nuageinit/tests/nuage.sh b/libexec/nuageinit/tests/nuage.sh index 348a8d93ba09..97c5224c7813 100644 --- a/libexec/nuageinit/tests/nuage.sh +++ b/libexec/nuageinit/tests/nuage.sh @@ -29,7 +29,7 @@ settimezone_body() sethostname_body() { - atf_check /usr/libexec/flua $(atf_get_srcdir)/sethostname.lua + atf_check -e ignore /usr/libexec/flua $(atf_get_srcdir)/sethostname.lua if [ ! -f etc/rc.conf.d/hostname ]; then atf_fail "hostname not written" fi diff --git a/libexec/nuageinit/tests/sethostname.lua b/libexec/nuageinit/tests/sethostname.lua index 47632497b545..0bc7eb2c4475 100644 --- a/libexec/nuageinit/tests/sethostname.lua +++ b/libexec/nuageinit/tests/sethostname.lua @@ -1,5 +1,73 @@ #!/usr/libexec/flua +--- +-- SPDX-License-Identifier: BSD-2-Clause +-- +-- Copyright (c) 2026 Baptiste Daroussin local n = require("nuage") +local root = os.getenv("NUAGE_FAKE_ROOTDIR") +if not root then + root = "" +end + +local hostnamepath = root .. "/etc/rc.conf.d/hostname" + +local function check_hostname(expected) + local f = io.open(hostnamepath, "r") + if not f then + n.err("hostname file not found, expected: " .. expected) + end + local content = f:read("*a") + f:close() + local expected_content = 'hostname="' .. expected:gsub('"', '\\"') .. '"\n' + if content ~= expected_content then + n.err("hostname mismatch: got '" .. content .. + "', expected '" .. expected_content .. "'") + end +end + +local function check_no_hostname() + if io.open(hostnamepath, "r") then + n.err("hostname file should not exist") + end +end + +-- nil hostname: no-op +n.sethostname(nil) +check_no_hostname() + +-- Empty hostname: invalid +n.sethostname("") +check_no_hostname() + +-- Hostname too long (>253 chars): invalid +n.sethostname(string.rep("a", 254)) +check_no_hostname() + +-- Invalid characters: invalid +n.sethostname("host;name") +check_no_hostname() + +-- Starts with dot: invalid +n.sethostname(".hostname") +check_no_hostname() + +-- Ends with hyphen: invalid +n.sethostname("hostname-") +check_no_hostname() + +-- Label too long (>63 chars): invalid +n.sethostname(string.rep("a", 64) .. ".example.com") +check_no_hostname() + +-- Label starts with hyphen: invalid +n.sethostname("myhost.-label.com") +check_no_hostname() + +-- Valid simple hostname +n.sethostname("myhostname") +check_hostname("myhostname") + +-- Final: set a valid hostname for the shell test n.sethostname("myhostname") From nobody Thu Jun 4 21:15:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmc5VFgz6gy06 for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmc2sL1z3LcY for ; Thu, 04 Jun 2026 21:15:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z/pSCgTI5lju/qoyxTuZDLBV1cvnL1VVM6VhNAOrnEc=; b=MihV9zFsnMXMeslrX9PD6W2vZBPXsB4APksK5TgYwE5ZZTlZpODoIYVK7O0ScUSIS7g/cx 8qC0VKbOluSeiwvMNtUrWv07FcDfCozu4UNBFN/93MhdD1XUdVvV23fT6wCMtsR9+Gul47 vGOXvxkkLaoaNgepsi0uklAc2k2Ag5e2hNHt9VNyiiYLlM8jHWw+RTTIQLjyWLVUuht4IL nTFiTwvYgWPP/VmC8K/v+fC1lzxZS+tvUASfaYOK4brSXUBGGc35V4jVAmte+nTV5ajV9U eL8mT0G8/LjmzVqywPbM2KYzKvDXEhkoZybg1RP41K8Me8tu90Uc4l/tStddxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607744; a=rsa-sha256; cv=none; b=RiPtC8dsz/DGHetMhW6rMxi4pEbtUaFpaYJ40QSiB/gv5zkNKoOwjceKt33s+aN+CkAgyT 6uo9H3abem0IMTcA8StDG7v7/Tqvd1T7EjCIgyA0IOUpvwAWpMklI6WHSI5lvy733G31vk 88LGDXtoT8oNTBHSl0THaeglXyAjzywMC2W3F2NdAt+DT39PLLscMrV8S8C18fwqge6LFq RLDIVH+xOtBR8ewlcVvVtBAW7UaDt9xd3LaXD7jSkgOwvlJ43uq6aLPAA/2LNTg1XPsTkC WyYnzTUQujjZZSh6lJw7AgHTJu7LFthodQcXel4097itrroxpGN2pMM1/NYhFQ== 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=1780607744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z/pSCgTI5lju/qoyxTuZDLBV1cvnL1VVM6VhNAOrnEc=; b=TiOL1sRhY5nD7pEZBNl68JuSg9RCurfWfBmqRnmKhQ5zSQ8ixgH1cqg0W1zSaUPqVdZHIk 96ngPYWns5nzmM4mR186JtvxbztxEPZKdeNzGQu7Hf8PnSSMXT7NjSbUpO6PzbYBSbDyz9 6iJIVjRH2BzTBOmgYsHgO+77FOx04AnGBAX1ExgdFHBswic6ZnRyj9NnZf+MzCBz+jYdzW keKzhTrYcZX1RHEN8m3jnh56RgpRFim1c04PZuijkgJkkdFAaizGYvXuUa/loulOpq8d8T f57r8qkRisI+IRyMIMLW3MgU7OSsIapRB7UIz+pw2438COCyLhNlTOPfRdE/OQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmc2Pdpz1F2Q for ; Thu, 04 Jun 2026 21:15:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c4da by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 852504a5fa5e - main - nuageinit: remove dead checkgroup(), inline check in purge_group() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 852504a5fa5eb6b4dea98bd7abdb89f1c7bab2b0 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:44 +0000 Message-Id: <6a21eb00.3c4da.9a3e700@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=852504a5fa5eb6b4dea98bd7abdb89f1c7bab2b0 commit 852504a5fa5eb6b4dea98bd7abdb89f1c7bab2b0 Author: Baptiste Daroussin AuthorDate: 2026-06-04 18:32:48 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 18:32:48 +0000 nuageinit: remove dead checkgroup(), inline check in purge_group() Call getgroups() once instead of N times per call. Inline the membership check directly, removing the now-unused checkgroup() helper function. --- libexec/nuageinit/nuage.lua | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index a491ca8d9df6..c443d6711b14 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -200,23 +200,19 @@ local function getgroups() return splitlines(groups) end -local function checkgroup(group) - local groups = getgroups() - - for _, group2chk in ipairs(groups) do - if group == group2chk then - return true - end - end - - return false -end - local function purge_group(groups) + local existing = getgroups() local ret = {} for _, group in ipairs(groups) do - if checkgroup(group) then + local found = false + for _, eg in ipairs(existing) do + if group == eg then + found = true + break + end + end + if found then ret[#ret + 1] = group else warnmsg("ignoring non-existent group '" .. group .. "'") From nobody Thu Jun 4 21:15:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmd6Z8wz6gy5Q for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmd3NcVz3Llc for ; Thu, 04 Jun 2026 21:15:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y2touUI9WTxSPakbAN+5cWIO0Czn5RXLETPo+cJ510U=; b=yaWmIfncIg7Bs7R48OwtOx6iBpnydkcxaJ1ZvIGBykQOJjmqWiYv1tCa63CsS/BMjBviaJ 1YNhM2mGgb7KYQH0532Ofd+h66zcGemB0LlO3CqfAZ/3GziB/NcDdnMgl7S9D3H+wLpAHH dRmpHfjNEPnK884w2rNLICXmdI4DzMbeX/VxAl+cE2GUMCmRdhPH3Cd4zGW2Nkmmwvs3MI j9qI65JAC6pYJGTFtgULesORuoi/kClIOKs8UteHaiOe6OAuqy8AaxIs2D9AyetOTaAzad OC4AjvMmAO8DwHQjTHQAmDdsGT8s6pAoN+gICsAKO2pSvHNe7gTTXDUgtz6X7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607745; a=rsa-sha256; cv=none; b=mQNfW8fNPMONI23gIX+Wb+YI4rdE/rTLy4PE3Bcrqpw/MMor4aCQ6rhtUyVK9YgKJmS24S h717FAWHHw3Z60820zyEK1gIwOTJ7hR4AZ2R4MXpoNtOIhxFCwHG+qjNaXhw6W6jGr7W9N 3Ez3lG3aSYmj92IFJcjGnSOVVL4qp2Ypn8EFjvzBCbwobu5cOGGoyzt4lpX6xzJgxwrtyT KPOc+AwNy/4Nv68sjG5sudIoe9jQEjAB7YNkCa3CRQZeJ3sYhAWDRwmJWh1NST4fWcqWr3 tWsyv88mc4sTTrtOxPSILIBCAl6tW4KLhrx0g9FRKlupgTCVmbsk0EzlY4O6cg== 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=1780607745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y2touUI9WTxSPakbAN+5cWIO0Czn5RXLETPo+cJ510U=; b=VZP+oRbBvuR+VtNUa6m07e7GnctQ5GgomEqQnO3mfZcSJD3ZkwKd7LlKsZHtReTNTpzrv2 orFK50B232OZBgUmxeZKbNzEJxJ5I4CZQAtmEZwdFtUNIk0lNkHBJ1xOlp8INN6aXG5FNs XmnBYiAQiEY/wcseo7hLf1fTQqn6a7JXxm7jbqMSFZ+JlorYPrZxST4pDeRvSR6FwXVHJe nXIIgykErlaP/MYnbQcPNcfFo/UhKgQxjcgs4du7mY7iDncYLcpMpL1R2/AHrn6YdAfrH7 LmqI2iIqS3Rz7wMZoUqcwkgxV/I5raDts8qw16oQuHwQTC63CgyKkiA7JquAGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmd2rTYz1FG0 for ; Thu, 04 Jun 2026 21:15:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c42d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: fdff89256fd9 - main - nuageinit: fix non-standard f:close(cmd) and remove dead precmd List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fdff89256fd921e40f2fa532895315b1dab6f5e6 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:45 +0000 Message-Id: <6a21eb01.3c42d.589e7e37@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=fdff89256fd921e40f2fa532895315b1dab6f5e6 commit fdff89256fd921e40f2fa532895315b1dab6f5e6 Author: Baptiste Daroussin AuthorDate: 2026-06-04 18:59:30 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 18:59:30 +0000 nuageinit: fix non-standard f:close(cmd) and remove dead precmd - f:close(cmd) -> f:close() in adduser() and exec_change_password(): the 'cmd' argument is not standard Lua and is silently ignored. - Remove dead 'precmd' variable in adduser(). --- libexec/nuageinit/nuage.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index c443d6711b14..7e7b2a64305f 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -271,7 +271,6 @@ local function adduser(pwd) if not pwd.shell then pwd.shell = "/bin/sh" end - local precmd = "" local postcmd = "" local input = nil if pwd.passwd then @@ -281,7 +280,7 @@ local function adduser(pwd) input = pwd.plain_text_passwd postcmd = " -h 0" end - cmd = precmd .. "pw " + cmd = "pw " if root then cmd = cmd .. "-R " .. root .. " " end @@ -293,7 +292,7 @@ local function adduser(pwd) if input then f:write(input) end - local r = f:close(cmd) + local r = f:close() if not r then warnmsg("fail to add user " .. pwd.name) warnmsg(cmd) @@ -536,7 +535,7 @@ local function exec_change_password(user, password, type, expire) f:write(input) end -- ignore stdout to avoid printing the password in case of random password - local r = f:close(cmd) + local r = f:close() if not r then warnmsg("fail to change user password ".. user) warnmsg(cmd) From nobody Thu Jun 4 21:15:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmf6LNDz6gxsZ for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmf3mTjz3Lnn for ; Thu, 04 Jun 2026 21:15:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zqEg6alcdH385g6GwgFB/O9Jw7RBcjv74QkfXmUnHXk=; b=TRZXwnC6v8BpOCn4hK1MjHvNbVQYZG3mCaMnZDXulpMRpHkXMy0cDY/WAlJVhmjuc/e/gK kyrdNXEYf2Ro5P4oRP7Sk0T2087VjCXttci2Iq1umjNF2OXa1wCbvKfRPHsE4Xp7GN0euV a8c1XFDkMEwllVCOGxrDub9wRoSJidfeH8V5wn3lOQYpiMjtM1e+VMn/kZ5QqBh13zHjUk JEtBcbs2aCYhCCqbo6id/LZX+EXz3BNgM8mIZW+kqEtYIusbQYG2KWEgQgWfSls/Q6SrbW yfmvYfxJOBkJQmqWUkTlnnpQnWpihd0PBgvbDnONWcvEf62XNtNQ2vAEoryJPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607746; a=rsa-sha256; cv=none; b=Gy31OR1VlbAL18DJ4EmLaAtVpTUGzpSMNC6CYGZJ/IMJUHsd815JjV5HKhD5LbvVuca4QL hIPV1iwokFuKNn/jBn4EcTO4KuPqGaGWbg1pGiun5f0lGAEMcJPNcb0kwqPNsHV5LZWlMr 55pIEy2TCielmFPLn3gMSQFh1PVK7TdhsM9dIE0XBCSnJF98MtRHPeA39+uKFBXoOCzWRf Mw7vrd9alHW7obA3F4PvwnkKEZGOInZ9dxip08tXxR+mhsg1hNwP8HqU8E4JxtdR0ebM5v B4tW7j8AZWx8OY6+uZ2J32TRsIp0nhlIkIAbR0IYj6gnIZwGAhbHQ1jWWpgP5w== 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=1780607746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zqEg6alcdH385g6GwgFB/O9Jw7RBcjv74QkfXmUnHXk=; b=LrMOhATiF1wOKFuo4UZ89IJcIyMIzl7+IrNzue4ftyo7lLMAutefqx0UNSI+Z+9NhTE+g6 K9EpoqZzuYa+mDIosBv5Qn5p7OdmJAnub+GnA9DPN3kXPLqoACvsczfrw4E7LLf/amZag4 0drNYIv9ESFxH7iYfUOq+C84hJJpzK8tz48el/8BPxG4BGaxgQaWH703EWUWkVOkSqiY/C 0TZ5zbqiWm0EBFoPaNV5KEf2AVcO3C642XyGTI0EGl/433DoWARbXTbe4ie8lg51lTdj1S Nd14FdU+Wm3OFa4/EFhaK5RPjiLXjNdoaWBuZwy5fFLskgEPFq7tNUReTKntdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmf3JLNz1DYV for ; Thu, 04 Jun 2026 21:15:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c431 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: cf5722ed60cf - main - nuageinit: fix TOCTOU in addsshkey, adddoas, addsudo List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cf5722ed60cf271e516927684c90464debb37496 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:46 +0000 Message-Id: <6a21eb02.3c431.db2bf38@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=cf5722ed60cf271e516927684c90464debb37496 commit cf5722ed60cf271e516927684c90464debb37496 Author: Baptiste Daroussin AuthorDate: 2026-06-04 19:06:35 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 19:06:35 +0000 nuageinit: fix TOCTOU in addsshkey, adddoas, addsudo Replace check-then-create patterns with direct creation: - addsshkey: check what exists before creation, use mkdir_p() for .ssh directory, handle errors with warnmsg() instead of assert(). Apply chmod/chown only on newly created files/directories. - adddoas: same pattern for doas.conf and the etc directory. - addsudo: same pattern for the sudoers file and sudoers.d directory. All three functions now use warnmsg() for error handling instead of returning nil,err or using assert(). --- libexec/nuageinit/nuage.lua | 92 +++++++++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 40 deletions(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 7e7b2a64305f..56d1ccf9d52e 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -349,25 +349,33 @@ local function addgroup(grp) end local function addsshkey(homedir, key) - local chownak = false - local chowndotssh = false local root = os.getenv("NUAGE_FAKE_ROOTDIR") if root then homedir = root .. "/" .. homedir end local ak_path = homedir .. "/.ssh/authorized_keys" local dotssh_path = homedir .. "/.ssh" - local dirattrs = lfs.attributes(ak_path) - if dirattrs == nil then - chownak = true - dirattrs = lfs.attributes(dotssh_path) - if dirattrs == nil then - assert(lfs.mkdir(dotssh_path)) - chowndotssh = true - dirattrs = lfs.attributes(homedir) + + -- Check what already exists before creating anything + local ak_exists = lfs.attributes(ak_path) ~= nil + local dotssh_exists = lfs.attributes(dotssh_path) ~= nil + + -- Ensure .ssh directory exists + if not dotssh_exists then + local r, err = mkdir_p(dotssh_path) + if not r then + warnmsg("cannot create " .. dotssh_path .. ": " .. err) + return end end + -- Get homedir attributes for ownership + local dirattrs = lfs.attributes(homedir) + if not dirattrs then + warnmsg("cannot get attributes for " .. homedir) + return + end + local f = io.open(ak_path, "a") if not f then warnmsg("impossible to open " .. ak_path) @@ -375,19 +383,19 @@ local function addsshkey(homedir, key) end f:write(key .. "\n") f:close() - if chownak then + + -- Set permissions and ownership on newly created files/dirs + if not ak_exists then chmod(ak_path, "0600") chown(ak_path, dirattrs.uid, dirattrs.gid) end - if chowndotssh then + if not dotssh_exists then chmod(dotssh_path, "0700") chown(dotssh_path, dirattrs.uid, dirattrs.gid) end end local function adddoas(pwd) - local chmodetcdir = false - local chmoddoasconf = false local root = os.getenv("NUAGE_FAKE_ROOTDIR") local localbase = getlocalbase() local etcdir = localbase .. "/etc" @@ -395,18 +403,19 @@ local function adddoas(pwd) etcdir= root .. etcdir end local doasconf = etcdir .. "/doas.conf" - local doasconf_attr = lfs.attributes(doasconf) - if doasconf_attr == nil then - chmoddoasconf = true - local dirattrs = lfs.attributes(etcdir) - if dirattrs == nil then - local r, err = mkdir_p(etcdir) - if not r then - return nil, err .. " (creating " .. etcdir .. ")" - end - chmodetcdir = true + + local doasconf_exists = lfs.attributes(doasconf) ~= nil + local etcdir_exists = lfs.attributes(etcdir) ~= nil + + -- Ensure etc directory exists + if not etcdir_exists then + local r, err = mkdir_p(etcdir) + if not r then + warnmsg("cannot create " .. etcdir .. ": " .. err) + return end end + local f = io.open(doasconf, "a") if not f then warnmsg("impossible to open " .. doasconf) @@ -424,17 +433,17 @@ local function adddoas(pwd) end end f:close() - if chmoddoasconf then + + -- Set permissions on newly created files/dirs + if not doasconf_exists then chmod(doasconf, "0640") end - if chmodetcdir then + if not etcdir_exists then chmod(etcdir, "0755") end end local function addsudo(pwd) - local chmodsudoersd = false - local chmodsudoers = false local root = os.getenv("NUAGE_FAKE_ROOTDIR") local localbase = getlocalbase() local sudoers_dir = localbase .. "/etc/sudoers.d" @@ -442,18 +451,19 @@ local function addsudo(pwd) sudoers_dir= root .. sudoers_dir end local sudoers = sudoers_dir .. "/90-nuageinit-users" - local sudoers_attr = lfs.attributes(sudoers) - if sudoers_attr == nil then - chmodsudoers = true - local dirattrs = lfs.attributes(sudoers_dir) - if dirattrs == nil then - local r, err = mkdir_p(sudoers_dir) - if not r then - return nil, err .. " (creating " .. sudoers_dir .. ")" - end - chmodsudoersd = true + + local sudoers_exists = lfs.attributes(sudoers) ~= nil + local sudoers_dir_exists = lfs.attributes(sudoers_dir) ~= nil + + -- Ensure sudoers.d directory exists + if not sudoers_dir_exists then + local r, err = mkdir_p(sudoers_dir) + if not r then + warnmsg("cannot create " .. sudoers_dir .. ": " .. err) + return end end + local f = io.open(sudoers, "a") if not f then warnmsg("impossible to open " .. sudoers) @@ -467,10 +477,12 @@ local function addsudo(pwd) end end f:close() - if chmodsudoers then + + -- Set permissions on newly created files/dirs + if not sudoers_exists then chmod(sudoers, "0440") end - if chmodsudoersd then + if not sudoers_dir_exists then chmod(sudoers_dir, "0750") end end From nobody Thu Jun 4 21:15:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmj52SSz6gy0G for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmh5ZtHz3LjY for ; Thu, 04 Jun 2026 21:15:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=acKfPHeqMBj2HAdztk9uStcGa0lQBoo7YGBHpInKfDM=; b=TV1EQBsrvTuTdE94N8GWPIkyZ0NzZcX+XDZ9v3/53T1d5nllr0DgaitQH0CgP9TziBdG1t X7mKjWWYxydNFV+7P25xebrpAuWdEFjMzKE9KHnHi0DLk4tV/KPzk1xOa6WnTfRysz6Jag Dp9ZMiW8jyyRddv/IDH7ghM2nzAgpzg/nvHdyF7LoZu7eaO/PQ/hV3XUpYJ1LOpDuQZd94 zQNFpez+xmnSjWL/anH8X8TGFc3Ri0ZAsHACh6JmMbEIvrpz38TRGg/klbWu50V/bQmSwU O97sotKDfvWmMLkcodJaHmUTrVvNJJxnhZ9v4+Lhp9ebfdDGHnrZs60ceT5rUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607748; a=rsa-sha256; cv=none; b=DamGgAQtEeXouMvDVbdeVURPF7bLw56n1sDDYTeAOcJxhAWqkmngeBvELYivTSR1idwL1z P3kCnM8qT6xkta6SSmbpR2A5FQMmxTSq5MNljpeO09KWIJ+wzK4PKLMHnU5+ZPynvqHAzk 8IBovi5z2JMlLl9Z8Hij4ld3v8LaWidUKoMi9W7R4ZFU+CZzOWwKZ2WSNsJbJHPqjbCB7F 77fT3DrvrO90dgsYE0VEwG9xkp6zbnqI3yEsuhTfLfX+ELB0dtrPkO92A7lUKh1IEugbJT OETmiVn7maBC3c8rAw6/vPz9OtKDV/WiQuZHA6z3srai5RkUrR39zSz0qANVyA== 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=1780607748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=acKfPHeqMBj2HAdztk9uStcGa0lQBoo7YGBHpInKfDM=; b=WSDNKSBBZ6J4b7nJ4TwwMbADhDZjaw70nTqnYq5IQpBa/IbEs2bs1ytTIuyYQFCRg8iays N7SRGTj1uRv7CeRET9Y5JRnKCiJVLFU/3b2kpDBIPktyLACfmTGIfRUfRCaYFNLkRbbqCb DO4M5MeHMbcIfiwrk7pfxXO4hcqbnmUnvkBFoTJmN8WvzqJQYjLBOXVYi18FfPoLwve0EO vw60R3rlwz9Qun1P5K2NtbgBdPp9+mb+Jggt7S8oX8cZS9xprjqI7LDdOv3m9vvc81rZ5+ qwOlhke5IA/52mWSZrKLDaPjESEE/lN4TQVMsfVFlTm2cKJGBgjSZT5nYzgI7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmh4qfwz1F2R for ; Thu, 04 Jun 2026 21:15:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ce43 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: ea0932d71aa7 - main - nuageinit: refactor goto abuse in chpasswd() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea0932d71aa7a2d25b178f1593bfad194d8c7929 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:48 +0000 Message-Id: <6a21eb04.3ce43.3d3e4401@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=ea0932d71aa7a2d25b178f1593bfad194d8c7929 commit ea0932d71aa7a2d25b178f1593bfad194d8c7929 Author: Baptiste Daroussin AuthorDate: 2026-06-04 20:02:58 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 20:02:58 +0000 nuageinit: refactor goto abuse in chpasswd() Replace goto next/list pattern with proper elseif/else control structure. The goto-based flow was fragile and hard to follow; the elseif chain makes the validation logic explicit and linear. --- libexec/nuageinit/nuage.lua | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index bdd4bf60007e..e2db27bc7e85 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -605,26 +605,20 @@ local function chpasswd(obj) if obj.users ~= nil then if type(obj.users) ~= "table" then warnmsg("Invalid type for chpasswd.users, expecting a list, got a ".. type(obj.users)) - goto list - end - for _, u in ipairs(obj.users) do - if type(u) ~= "table" then - warnmsg("Invalid chpasswd.users entry, expecting an object, got a " .. type(u)) - goto next - end - if not u.name then - warnmsg("Invalid entry for chpasswd.users: missing 'name'") - goto next - end - if not u.password then - warnmsg("Invalid entry for chpasswd.users: missing 'password'") - goto next + else + for _, u in ipairs(obj.users) do + if type(u) ~= "table" then + warnmsg("Invalid chpasswd.users entry, expecting an object, got a " .. type(u)) + elseif not u.name then + warnmsg("Invalid entry for chpasswd.users: missing 'name'") + elseif not u.password then + warnmsg("Invalid entry for chpasswd.users: missing 'password'") + else + exec_change_password(u.name, u.password, u.type, expire) + end end - exec_change_password(u.name, u.password, u.type, expire) - ::next:: end end - ::list:: if obj.list ~= nil then warnmsg("chpasswd.list is deprecated consider using chpasswd.users") if type(obj.list) == "string" then From nobody Thu Jun 4 21:15:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmh0grzz6gy29 for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmg4b5gz3Llw for ; Thu, 04 Jun 2026 21:15:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aWfXW+CE4LyN74LTw5ZHIh3BEQtrHd9MH0a400wuous=; b=Bo2rmDZX+6RHhlh57X8Vdfa8fpX3PO8l7sjKbq+VAlQtBnisBS5KgpfHj4lMxUEtnHhx04 8spJWdzhrq5VcEoKg35P2qJ/49cNur1fzqPwtIexE4YEyNykC3RR1LuXfQQafLy/qgTg1v pr8xYAls3IOqmFZ/4SmcGdO75cDl56swEdF71ANJN6jP4+ujEGglQupR5EDu1g81sFFJCG oqndajXGiPPCHKS3fku5rlrmyXcYqf/GcLpnqCaZ2I3fNepP/SKnq9YI4NR3OxjsSxLUDr pjNncScQuOBTqPliGzaoW6y1ODxRVLXrPnkmUYzjvgrlO/YQRrAj4/zhicR7wQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607747; a=rsa-sha256; cv=none; b=IgUzSglIWTOqqyKTAoQq6XK8Aa/XoHbvbFQ7uVWpG0jhy9U3sxNiF7YdV+zE8jug75cHWI EI/PjfewOfrtcvHOb5YlmqW93hkKrkhmnqyc3zZ8K32nHOfA8zPLYZvtiyF7TTrcV6nLnc ITc1Pw4tyPN0qzvZBltNxtggwWJ+C3DWQBb5JUf5tPqOp07IIEVPzVGnYBjm52RYcnLTAH Y+Y/5J4EPOLt1Srm406XN7HXGJBlDPzsDPy/tQj8b4ucyK+/U/JtWM7W1+g/PV1hwDVZ6G cHH7WTjJ4UgWtctxJQpWD33Ba+0GE6OzxtvutD58cCqb20UPuzvx2xM5SWxokQ== 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=1780607747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aWfXW+CE4LyN74LTw5ZHIh3BEQtrHd9MH0a400wuous=; b=rLsbg9elFIdLOMIJaQnkpA4CCj9+fl14BCvxfHx/mCOgzXN7B0EJ3cIav020BYPo0YJ/j5 vwoB/73o2ETdgYtDw5/wv7vXpPPDGkqKeZqRRVWPSNqYfOBQWzcJiMa8vsZ/3sDM3G6yqO muP6Hfk03IxF2FHczhShUYDzOVaCGYz2F/cbYsYwOLq/KQAx4TZLE+m02yxRutY8ofWXX5 fJ8C8P0FloXt4R+kvRQ4BVC44l8aTw3bkhYJ6K3uHAj4N+JDO7F+CyFXYahMF/H6gn7v+q I2eYSVZOpjviyUbLuZHIDP+1rUJlU0vwiv4pPDjZKEAHkz3zHOv99ssSYYUAMg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmg48wCz1DqN for ; Thu, 04 Jun 2026 21:15:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c652 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 0ba9b7b7f815 - main - nuageinit: fix update_sshd_config crash when file does not exist List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ba9b7b7f815b57f1c121b0f78eaee02d2cdd414 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:47 +0000 Message-Id: <6a21eb03.3c652.63cc2d@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=0ba9b7b7f815b57f1c121b0f78eaee02d2cdd414 commit 0ba9b7b7f815b57f1c121b0f78eaee02d2cdd414 Author: Baptiste Daroussin AuthorDate: 2026-06-04 19:10:37 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 19:10:37 +0000 nuageinit: fix update_sshd_config crash when file does not exist Previously update_sshd_config() would assert-fail if sshd_config did not exist. Now it creates a new file with the given key/value. Also replace the fragile simultaneous r+ + temp file approach with a cleaner read-then-write pattern: read all lines into memory, modify as needed, then write to a temp file and rename. All assert() calls replaced with proper error handling via warnmsg(). Add test case for missing file creation. --- libexec/nuageinit/nuage.lua | 43 +++++++++++++++++++------- libexec/nuageinit/tests/update_sshd_config.lua | 7 +++++ 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 56d1ccf9d52e..bdd4bf60007e 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -493,30 +493,49 @@ local function update_sshd_config(key, value) if root then sshd_config = root .. sshd_config end - local f = assert(io.open(sshd_config, "r+")) - local tgt = assert(io.open(sshd_config .. ".nuageinit", "w")) + local f = io.open(sshd_config, "r") + if not f then + -- File does not exist, create it with the given key/value + f = io.open(sshd_config, "w") + if not f then + warnmsg("Unable to open " .. sshd_config .. " for writing") + return + end + f:write(key .. " " .. value .. "\n") + f:close() + return + end + -- Read existing content + local lines = {} local found = false local pattern = "^%s*"..key:lower().."%s+(%w+)%s*#?.*$" - while true do - local line = f:read() - if line == nil then break end + for line in f:lines() do local _, _, val = line:lower():find(pattern) if val then found = true - if val == value then - assert(tgt:write(line .. "\n")) + if val ~= value then + table.insert(lines, key .. " " .. value) else - assert(tgt:write(key .. " " .. value .. "\n")) + table.insert(lines, line) end else - assert(tgt:write(line .. "\n")) + table.insert(lines, line) end end + f:close() if not found then - assert(tgt:write(key .. " " .. value .. "\n")) + table.insert(lines, key .. " " .. value) end - assert(f:close()) - assert(tgt:close()) + -- Write back + f = io.open(sshd_config .. ".nuageinit", "w") + if not f then + warnmsg("Unable to open " .. sshd_config .. ".nuageinit for writing") + return + end + for _, l in ipairs(lines) do + f:write(l .. "\n") + end + f:close() os.rename(sshd_config .. ".nuageinit", sshd_config) end diff --git a/libexec/nuageinit/tests/update_sshd_config.lua b/libexec/nuageinit/tests/update_sshd_config.lua index ac56c29986ac..95aea59bd993 100644 --- a/libexec/nuageinit/tests/update_sshd_config.lua +++ b/libexec/nuageinit/tests/update_sshd_config.lua @@ -70,4 +70,11 @@ if read_config() ~= "PasswordAuthentication yes\n" then n.err("Extra spaces handling failed: '" .. read_config() .. "'") end +-- File does not exist: should be created with key/value +os.remove(sshd_config) +n.update_sshd_config("PasswordAuthentication", "yes") +if read_config() ~= "PasswordAuthentication yes\n" then + n.err("Missing file: should create: '" .. read_config() .. "'") +end + os.exit(0) From nobody Thu Jun 4 21:15:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmh0fj2z6gy28 for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmg3ZFjz3LqF for ; Thu, 04 Jun 2026 21:15:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p+Oa8ChFFowRhbdb0M1kr7Uid3a9fAxcHfdqzkq/rEI=; b=qRFCFkzGt1A4D8UhIIAuoO4FiElmzZ4pxL8cu20IqkUJssPqkw6w/9sZdAwGOf56nycmm9 sItT3ekpqbT8kfJ9DuRjEnyKom5RhrynCkwnyOuKtx5QGretD0jnrJTALZUu9ZeoSwgWNv exKDgX3BO1B5AwGtCcbsMGosr8jxakuLiqHTmti6y71HhKWK/jrKY80rj6eQG7biMMt/Mb WowIHmtsZLniU9OEC7JLSkl3dGKYXMo174SN/0RnEpWQPD8N68UMtqXJdoeN4R4EIerEON +w3daq/GLlkMA/0jqEXWfmleOgEoYzcfi/eDsC6I0zNd40ZfuitQX3j+7sNk4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607747; a=rsa-sha256; cv=none; b=auwFaZ9FYgrpsmYnzaQQot4xXF/Xo99B7saoT36omd2JMOxLcZePCWfzommFXACUAxcDq7 wG2xSGTr2McCfslYCSc2m3Nc4W+daYlHNcNwWf+VzAmROW3hO2jPOMKZ2TxsqAIFtrEX02 Qg41wtJQmDpVmXFJksKMlslYgk9AMiL5GMfcvIHBUNLv0r5fEUwDvxkZJFgS6c2kfNPZdc PhJiTjc4K3EwCzF3TclQN5iwgDoWiVP3MeJQlA8scf8E3qPRTJV302fvqE9erEmN+CuXf5 MIzoThyHKeMqRR0JWE0mxVPyNFSbb4i6RsDpRfhV2h2sCfGr3Dg79jwMOtB25Q== 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=1780607747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p+Oa8ChFFowRhbdb0M1kr7Uid3a9fAxcHfdqzkq/rEI=; b=LYvS0+Q+G2dU9NtRuYiLQmfF+QH5cLl03+WegZZaVHYrZBY1Ln/4ws2NlSHZ3zFgkYO5Ja v9E7gdFKdwUI9I0D5HJBRI7VXJLvMeMfulPsdeFIznlhy9IdVDjuLEDxKaM3QCac0xUNcf zelzDpqkN3oRvtu8EIca+qkXqp915cZMkpXZzAMEiLCut1kaulskPmFqzZPK3jjI+ZKRvL WUISepHy0F+wb0B+78qheb81ZZYp/cR4slLSyThe9eB17plRvySdbEdS65gTMj+q2nRJXO KbyHXKSUCVL8i3seOa1AIDsB0iFfvJkNmVPDoHQr7ih91X3VP5azv12TtyAr1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmg2qbRz1F13 for ; Thu, 04 Jun 2026 21:15:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ce3f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 57807f389a9e - main - nuageinit: add nil/empty guard to decode_base64() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 57807f389a9e42774d944e256b499f5fd82ff855 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:42 +0000 Message-Id: <6a21eafe.3ce3f.5abbe251@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=57807f389a9e42774d944e256b499f5fd82ff855 commit 57807f389a9e42774d944e256b499f5fd82ff855 Author: Baptiste Daroussin AuthorDate: 2026-06-04 18:09:06 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 18:09:06 +0000 nuageinit: add nil/empty guard to decode_base64() Return an empty string when input is nil or zero-length instead of processing it through the decoding loop. --- libexec/nuageinit/nuage.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 839cf3588021..4f25e79ccefc 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -20,6 +20,9 @@ local function getlocalbase() end local function decode_base64(input) + if input == nil or #input == 0 then + return "" + end local b = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' input = string.gsub(input, '[^'..b..'=]', '') From nobody Thu Jun 4 21:15:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmk1ShWz6gxby for ; Thu, 04 Jun 2026 21:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWcmj6FK6z3LpH for ; Thu, 04 Jun 2026 21:15:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p9/eMnTXvWjo+UZgyBKXbZKIi7QfwGOqjFWGUXvkS5E=; b=ylXrQvUZbMJlXWZaNSmSL8+QQhfAKvYTOd59BSHzcxYyFhqxkZTeREbuIB4770Pfl8llF1 Z7Y1zf+u9gAvARm280fTDvB8sPTOHh/I+lr8iAdu8LxRlj99/oepWXS9r8mt2/xE5NYSBT EVuEnSlT/d7cOuZCdJLPcaU9gHK2c1e8J2e+9ZWsuJrZjkjM8j3qmt/U75M4NrD4IalFoj AKKpgNGthJTK4QyOzcsCQK6pgaMhitcDCZYub+HsHl9O5skRQBkJdkPm3dmN62jeAvYKg+ 6fhW/Bh8GlanANLJM1SReUyfAJqRaNrnWf/Gns4rOeh7WBRp67bVA22DyGZskw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607749; a=rsa-sha256; cv=none; b=bpotG/Pxlq4x2IeOniJfqqP/g07NXGgQDufwO+xUvr/NPlp7eF1D2l3NznFM9PHf62M4No ZZ9ifIs85vEjtl8umPsAMZFCaXywh7X4IANGGSgECwX9o7xVKgNbeq7LgIQvUYQTQhScS7 5N9e2OADzgT5HPYmFsTUib/A5y6SwPbSbIkGRGnslqeS9kQ52drqNIXMabkJbE/mL/uf5q G4xKPJSrk8kPrdaRmsRQSV0m8SWFm2F65CFWdRTxoGT/EO90NTt8fm5bRZZ8xaz+ixWwfL SFkebWESiYbbCEsoG77UJFHK+gm4QsDPDo6KZ0Sldd6deEUPzRK+3iC1h0zVDQ== 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=1780607749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p9/eMnTXvWjo+UZgyBKXbZKIi7QfwGOqjFWGUXvkS5E=; b=TapGnKvgX1R4mAnAFsPlJSePKUR/gC/iVLdT8fkUh61Zz20qBUKbxiaMH4kn/yh4O2Klhm /4aqQd61nn4WBuzCcqI8aoOxtM2dzrUKapR0l75+44mSj4X/jIAABB1jkGmy3tL4PtkdnH jkXeCCARPe0IJX6zWuF+DEZY0C07oaev7FAoiqu/TxG2p94IkSNRC+mfECciS5++NYpFyD uMklILtqyPZ/JHoeTWkQPHoPCIJ975y4LE9Lid2Dxa6+1mgsbNWHp2VvNU/bkUmkMyAqEc 5v+PrSyXx7TL85q/oHU0nvTSbLqmdy36dkKwsxNO6dtPYj493ZLiqgr5I8otsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmj5j9fz1Dmf for ; Thu, 04 Jun 2026 21:15:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c4de by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 21:15:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 22c1f5d0ec21 - main - nuageinit: complete SSH support with ssh_deletekeys and disable_root List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 22c1f5d0ec215e36dd4448b9128b856b5441d21c Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 21:15:49 +0000 Message-Id: <6a21eb05.3c4de.659a3fd4@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=22c1f5d0ec215e36dd4448b9128b856b5441d21c commit 22c1f5d0ec215e36dd4448b9128b856b5441d21c Author: Baptiste Daroussin AuthorDate: 2026-06-04 20:17:03 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-04 20:17:03 +0000 nuageinit: complete SSH support with ssh_deletekeys and disable_root Add missing SSH cloud-config options from cloud-init spec: - ssh_deletekeys: remove existing SSH host keys on first boot so new ones are generated automatically by sshd(8). Implemented as delete_ssh_host_keys() in nuage.lua using lfs.dir() with a directory existence guard via lfs.attributes(). - disable_root: set PermitRootLogin to 'no' (or a custom value via disable_root_opts) in /etc/ssh/sshd_config. - disable_root_opts: optional string or array to override the PermitRootLogin value used when disable_root is true. Only the first array element is used. --- libexec/nuageinit/nuage.lua | 14 ++++++++++++++ libexec/nuageinit/nuageinit | 24 ++++++++++++++++++++++++ libexec/nuageinit/nuageinit.7 | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index e2db27bc7e85..7cce4c9bece1 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -539,6 +539,19 @@ local function update_sshd_config(key, value) os.rename(sshd_config .. ".nuageinit", sshd_config) end +local function delete_ssh_host_keys(root) + local ssh_dir = root .. "/etc/ssh" + local attrs = lfs.attributes(ssh_dir) + if not attrs or attrs.mode ~= "directory" then + return + end + for entry in lfs.dir(ssh_dir) do + if entry:match("^ssh_host_.*key") or entry:match("^ssh_host_.*key%.pub") then + os.remove(ssh_dir .. "/" .. entry) + end + end +end + local function exec_change_password(user, password, type, expire) local root = os.getenv("NUAGE_FAKE_ROOTDIR") local cmd = "pw " @@ -761,6 +774,7 @@ local n = { addgroup = addgroup, addsshkey = addsshkey, update_sshd_config = update_sshd_config, + delete_ssh_host_keys = delete_ssh_host_keys, chpasswd = chpasswd, pkg_bootstrap = pkg_bootstrap, install_package = install_package, diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index fc8d9582b9c6..166c3503735a 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -502,6 +502,28 @@ local function ssh_pwauth(obj) nuage.update_sshd_config("PasswordAuthentication", value) end +local function ssh_deletekeys(obj) + if obj.ssh_deletekeys == nil then return end + if obj.ssh_deletekeys then + nuage.delete_ssh_host_keys(root) + end +end + +local function disable_root(obj) + if obj.disable_root == nil then return end + if obj.disable_root then + local value = "no" + if obj.disable_root_opts then + if type(obj.disable_root_opts) == "string" then + value = obj.disable_root_opts + elseif type(obj.disable_root_opts) == "table" then + value = obj.disable_root_opts[1] + end + end + nuage.update_sshd_config("PermitRootLogin", value) + end +end + local function runcmd(obj) if obj.runcmd == nil then return end local f = nil @@ -776,8 +798,10 @@ elseif line == "#cloud-config" then settimezone, groups, create_default_user, + ssh_deletekeys, ssh_keys, network_config, + disable_root, ssh_pwauth, runcmd, write_files_not_deferred, diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 9651abba868f..08a64b11ff58 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -164,6 +164,12 @@ will be used as the name of the group, the .Qq Ar value is expected to be a list of members (array), specified by name. .El +.It Ic ssh_deletekeys +Boolean which determines if the existing SSH host keys in +.Pa /etc/ssh +should be removed on first boot. +New host keys will be generated automatically by +.Xr sshd 8 . .It Ic ssh_keys An object of multiple key/values, .Qq Cm keys @@ -183,6 +189,30 @@ boolean which determines the value of the .Qq Ic PasswordAuthentication configuration in .Pa /etc/ssh/sshd_config +.It Ic disable_root +Boolean which determines if root login via SSH should be disabled. +If set to +.Ar true , +sets +.Qq Ic PermitRootLogin +to +.Ar no +.Pq or the value specified in Ic disable_root_opts +in +.Pa /etc/ssh/sshd_config . +.It Ic disable_root_opts +String or array of options used to set the value of +.Qq Ic PermitRootLogin +in +.Pa /etc/ssh/sshd_config , +when +.Ic disable_root +is set to +.Ar true . +If not specified, defaults to +.Ar no . +.Pp +Only the first value is used when an array is provided. .It Ic network Network configuration parameters. .Pp @@ -410,6 +440,8 @@ package_update: true package_upgrade: true runcmd: - logger -t nuageinit "boot finished" +ssh_deletekeys: true +disable_root: true ssh_keys: ed25519_private: | -----BEGIN OPENSSH PRIVATE KEY----- From nobody Thu Jun 4 22:04:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWdrj6XRdz6h2Mq for ; Thu, 04 Jun 2026 22:04: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWdrj5dnfz3VtJ for ; Thu, 04 Jun 2026 22:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780610661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nX1tRBRD12fF2wg3KRTJZLk5WFlc017UcbrBKq3JB+U=; b=gHLkIs3V3Zeqz/1nuucTKa0Uhkx1ERA+rsXccuDMLUrqhjmFjtIC3xXz5cCXzKuP+TjSuX 9IMrZvrGxLV5PCx9v4kGz1A5myOIBv077Z3wMrmsWi5bMmaPRAVa7hNGOlkqJMnrSnvJEp 2kWZZxJ5lky4T7tL5hTB4GVO8gaTaz0SqU2v4yFGaCGDQH+Un3hB7lLiTW30CjmuC13KFg rs2KUhGtOcraAloOBsi9XNJxnW/xi7rUO2u2DKHziopleyT5bWPuosIFRhJcj1qHyG9z/S 6Zc3RrcycRytcvY2FwkUgTzh9mh0AHMr6PL+L8o/S25QR2yZxbhYubfZk1kKHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780610661; a=rsa-sha256; cv=none; b=JwbNmppoG5KNjB5QlSjOnZhSkTwNz1mBuZQ714cgfQorT5JZTFfqBYZUe7jIeQYSe4/tpi pmgIRVUAyOlxMNICexPl0EuTPNZcmSNo9LYcGbkRDlXLa0omusI1p2uOMbtTmaFsuxxWdC T776psfmQiSv/koHdh7VlbGUh4/wSf5gPupzY1102Jrc1YpcOq9WaT7KGBMD4qNkHDdKXX ghC5OWxVLz+4vymhK+RH7cIZfxCIO7dYYJyo+WUKn/gXiIvCBu1Tqi6C/ye3LNHGDkv4Ai AQDW1OaggtHmqO77v1sgd4X6U4OgKJCDVT/jKATVB9uj84ciNwuGMZj6dSInbw== 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=1780610661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nX1tRBRD12fF2wg3KRTJZLk5WFlc017UcbrBKq3JB+U=; b=QiEiGavu4Fi0FCAk8KYk+whFwGHConet/899lil3Kqs1HkJW9Z/EBV2pFKmrooSIBW/B3A tqBAfjJANLoKiclFhxORuDpu8M+Oa79cdlrIbEyRAQUX9sJM4MnBx8oskVhy2eBN2/9f6l LoPlNgv5u3VYY1Wc7dWDvSv+tD+7dqLaZ46mi286ShGWfdyWoMJjYQckeMnmfISP4aJOeO Yu9rFitov6dA1j12twgmfLvXKeOgOlp2xlAmhtHO6N77BKwMjZ4gbaQbPRaxRl9nLd94zQ 6A5hKLpeNcVoI/CqXDlmfGygjTgr17cjuaLxp/uYSEPlg1rxUhXJ73XshNO24g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWdrj5CVqz1FbC for ; Thu, 04 Jun 2026 22:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4260e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 22:04:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: ea4886f2829b - main - nfs_commonkrpc.c: Improve handling of NFSv4.1/4.2 recovery List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea4886f2829bf33866c8c0c60b14a9641fc54b40 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 22:04:21 +0000 Message-Id: <6a21f665.4260e.2d7ed2b6@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=ea4886f2829bf33866c8c0c60b14a9641fc54b40 commit ea4886f2829bf33866c8c0c60b14a9641fc54b40 Author: Rick Macklem AuthorDate: 2026-06-04 22:02:48 +0000 Commit: Rick Macklem CommitDate: 2026-06-04 22:02:48 +0000 nfs_commonkrpc.c: Improve handling of NFSv4.1/4.2 recovery Commit 4d80d4913e79 fixed a long standing bug in the recovery code. However. glebius@ reported seeing multiple recovery cycles with this patch during an NFSv4.1/4.2 server reboot. This commit should minimize the risk of multiple recovery cycles. PR: 294925 Reported by: Jov MFC after: 2 weeks Fixes: 4d80d4913e79 ("nfs: Fix argument typo to avoid a crash") --- sys/fs/nfs/nfs_commonkrpc.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index 2d4c41994c0e..f30ae7cbffa2 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -1268,17 +1268,20 @@ tryagain: if (bcmp(sep->nfsess_sessionid, nd->nd_sessionid, NFSX_V4SESSIONID) == 0 && sep->nfsess_defunct == 0) { - printf("Initiate recovery. If server " - "has not rebooted, " - "check NFS clients for unique " - "/etc/hostid's\n"); /* Initiate recovery. */ sep->nfsess_defunct = 1; NFSCL_DEBUG(1, "Marked defunct\n"); - if (nmp->nm_clp != NULL) { + if (nmp->nm_clp != NULL && + (nmp->nm_clp->nfsc_flags & + (NFSCLFLAGS_RECVRINPROG | + NFSCLFLAGS_RECOVER)) == 0) { nmp->nm_clp->nfsc_flags |= NFSCLFLAGS_RECOVER; wakeup(nmp->nm_clp); + printf("Initiate recovery. If " + "server has not rebooted, " + "check NFS clients for " + "unique /etc/hostid's\n"); } } NFSUNLOCKCLSTATE(); From nobody Thu Jun 4 22:37:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWfb22mZ5z6h4Rl for ; Thu, 04 Jun 2026 22:37: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWfb22Bxdz3Ydh for ; Thu, 04 Jun 2026 22:37:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780612654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GtsVN/aiIms6zDYFqoi4v8wqTtK6761IiD5ZGNV3qqs=; b=l9q3FqHQYLH88oYXcQ9uQfsqukeRza/WKrrGn9LSDXCzG9mZ8A2SExZN3EhlewXimg25wJ 9nCO4hvK6kGQXpZCD4CJFBEd5+bta/I2vfsWPeGqRc9XrFWXQpvEuB3cTk+pF2Ba8+CZeU ZLD3UEkbQM4ZK1jrwSSUusuRbeYLIqT5YwFIXMwT4WwQj+Ve21qK3UERvU5ect4gWlwO9K UChKJkBs2cxTydqcq1PNo6ABn/4dudVJB0qvWLLj+QHPd5g6uQeSXdAwCfd5ICxw/gDhaZ nh5Sn8TIWrrzAmazgHhZ71ILFYzf4feULaXHEC4eIlM6K5aRY9Z2YCwQt8RPhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780612654; a=rsa-sha256; cv=none; b=KCTwCbhRDxzi43tL0eGedxHqNVyKhm6oh5r6AQZMJ/4xy3kFHzVV6eraxkouQU8O5DM2d7 pizY4QriPwaCt70LzBUW4x3Rc7lJ/85bRrrCzTDfOL5QN0dBKM2MeXHlrDFqslr5IoChiH esH5aa8qy+SsrIPBQJXRSIJot+Do2ejEqwQxYASbdh/QJREIczw4g98AYCpFo/qtNozEyt 2MySgvMNiB6OqUJ1d2tjYrucfNi/8syh37hiT49ejyQ7HPwcH9sQS4NU9KECn39YLB04HS Ton/W4vfVpwNoE+PwCO0dB2hOJQnvG4LZExA3FCtMsl94mIrSBrlwfnGX4Kgww== 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=1780612654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GtsVN/aiIms6zDYFqoi4v8wqTtK6761IiD5ZGNV3qqs=; b=ICWVLtzUsvfvJuRyjxfQIYm09oT0Qmga3ESC0W9u6R2VyW/pJeoPoECmheITV3wCsYZGYO GFXum8SfYNJ+r8r3Np4GYGyCP024000t7IFh+CTStT/Eo/p1gPh/HJKKcKPJBGgqt0osFE MwrDqrBmygJ43mbqQYapILU3ZiRkY2TM+slV91Ld1XC37ogngHDf/+0hnJJdfIYfw+tNmT LNY1StB2KRWh38MBNCO4KJ34nT7YocbDlZIDWdGBO18YJIWsIzGm3LbPiyrJzGBzI5Hx7C w457H5RXSt5/+CMgK5J82Fj1oRCP+KRxPhGwG9KKhci+4Af7d2Pjf/Sb8OzkZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWfb21YmMz1GjB for ; Thu, 04 Jun 2026 22:37:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45310 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 22:37:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: ba0d22eacd60 - main - libarchive: Fix typo in sed command List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ba0d22eacd6008e9f3b7395b41056de2423aef3d Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 22:37:29 +0000 Message-Id: <6a21fe29.45310.41bbb3c7@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ba0d22eacd6008e9f3b7395b41056de2423aef3d commit ba0d22eacd6008e9f3b7395b41056de2423aef3d Author: Dag-Erling Smørgrav AuthorDate: 2026-06-04 22:35:50 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 22:37:23 +0000 libarchive: Fix typo in sed command MFC after: 1 week Fixes: eb3a0a74a069 ("libarchive: Clean up the build configuration") Reported by: Shawn Webb --- lib/libarchive/Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libarchive/Makefile.inc b/lib/libarchive/Makefile.inc index 33ab0085367f..514ce205d560 100644 --- a/lib/libarchive/Makefile.inc +++ b/lib/libarchive/Makefile.inc @@ -5,7 +5,7 @@ _LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive LIBARCHIVE_VERSION_ONLY_STRING!= \ sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \ - ${LIBARCHIVEDIR}/libarchive/archive.h + ${_LIBARCHIVEDIR}/libarchive/archive.h LIBADD+= z bz2 lzma bsdxml zstd CFLAGS+= -DPLATFORM_CONFIG_H=\"config_freebsd.h\" From nobody Thu Jun 4 22:41:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWfh669jXz6h4f4 for ; Thu, 04 Jun 2026 22:41: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWfh63rVcz3ZG9 for ; Thu, 04 Jun 2026 22:41:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780612918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v8w7LJiKImfkBWl0HFgV148VWx3gESg7HtEQaoRs3OQ=; b=Ixk0AV8gWUhiCjoxhU4ekR7stkTxBG68E05fzqhTK8Xa2TCRrI0iwN7YwqeMBKVk1ovOcM 7wfcGnyPLFNiVzlqi3S4v8Pgg4G5aL6kqxeOuxCcPFvGqkFp5otr9siualLQ3LCMEXcn1V ZIUJLv5mtJLk0oP2Bb7ZfbWgOldLtyZMx0f7Q1o/qfKT92zBtlN9q2Puquwx9F2k9NhAl6 8z6bvZfug8P0J++hEIX2WEMZJg3KxGK+1GLE7drqxdWlKOIPavN58UNZEN/mZbzo4e5BSu 0XmB7LeHtrknNGLrwlRFsE3XV+XzkBFJE+T4DsZeGXgJCAf9vmVwGiUb/p4Aog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780612918; a=rsa-sha256; cv=none; b=ccv5UvCOHFcNEeNEu30qPcgBMckY0MUUqW/Uu/6SsBvQdaPVRwTkNnCREP38qjzk04SDGU vukkNoq19VZPsQERCrGwK7iB11+JOx3klA3zEp7+sfHI0ciSHLYvHK3nWiqgyHY7dgNstK WJyE+csf0W80u2/lGnZUcCvtCuI0TAdGXgTKSjQl5kkADg+EuCtJK8Y50mpluu1Tixhdhr oaT0fOqYngG8T1Hv+7o85xwW6mZRp5AOzKR0c4wtV3UtKE4qjwy4KGPhyjhlX9TrxRQpCt 5zr+Sy23tgTw/PEsa0fb3rcXuwe2N9ioW4coE4pgmMWXeVJpql6PHV2yaI6aaw== 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=1780612918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v8w7LJiKImfkBWl0HFgV148VWx3gESg7HtEQaoRs3OQ=; b=v0vgU6vr0opdRLVmfIO7LCjQLtMreGIjQYGpEzjxo/w18P+6Sc1HWqfFtzwaHGED/9Ab80 Mj2DbXJto7tQS+/FtY2qaRH7/HvuyXKUgooBPzYUdn8OyYmTCNCK5QLZ8Y4GG3sULwqguc jJjZsrmnrLx6UB1FJbae95DqFJMJ1Wpepu2wY9ijfWpw3icnxMQGvAeNKAN2DRgYs+1Csl RKiLQT7da2i1NMcIDWSgEQsslnIdqFzlYazH1+ZNb7A4pi5NJvh7CX3r5gUXm6SfFgBI8h u/02lzMsnouC2qsW+rTXe8DhO6Vn2rJ4CEesRDZzKbZBWp4lg/obrtN05k5XGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWfh62yK9z1HFQ for ; Thu, 04 Jun 2026 22:41:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4515d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 22:41:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: a85e39030f8c - main - etcupdate: Make diff -l actually work List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a85e39030f8c7faa3d5a33373389440de6f0fff7 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 22:41:58 +0000 Message-Id: <6a21ff36.4515d.171ae775@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=a85e39030f8c7faa3d5a33373389440de6f0fff7 commit a85e39030f8c7faa3d5a33373389440de6f0fff7 Author: Dag-Erling Smørgrav AuthorDate: 2026-06-04 22:41:27 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 22:41:27 +0000 etcupdate: Make diff -l actually work While here, remove unnecessary blank lines. MFC after: 1 week Fixes: 6d65c91b9a47 ("etcupdate: fix arguments order of diff command") Reviewed by: Boris Lytochkin Differential Revision: https://reviews.freebsd.org/D57330 --- usr.sbin/etcupdate/etcupdate.sh | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/usr.sbin/etcupdate/etcupdate.sh b/usr.sbin/etcupdate/etcupdate.sh index 3ff11ec836ae..77fd400a624b 100755 --- a/usr.sbin/etcupdate/etcupdate.sh +++ b/usr.sbin/etcupdate/etcupdate.sh @@ -500,42 +500,32 @@ diffnode() $COMPARE_EQUAL) ;; $COMPARE_ONLYFIRST) - echo echo "Removed: $3" - echo ;; $COMPARE_ONLYSECOND) - echo echo "Added: $3" - echo ;; $COMPARE_DIFFTYPE) first=`file_type $1/$3` second=`file_type $2/$3` - echo echo "Node changed from a $first to a $second: $3" - echo ;; $COMPARE_DIFFLINKS) first=`readlink $1/$file` second=`readlink $2/$file` - echo echo "Link changed: $file" rule "=" echo "-$first" echo "+$second" - echo ;; $COMPARE_DIFFFILES) if [ -n "$difflistonly" ]; then - echo echo "Changed: $3" - echo - break; + else + echo "Index: $3" + rule "=" + diff -u $diffargs -L "$3 ($4)" -L "$3 ($5)" $1/$3 $2/$3 fi - echo "Index: $3" - rule "=" - diff -u $diffargs -L "$3 ($4)" -L "$3 ($5)" $1/$3 $2/$3 ;; esac } From nobody Thu Jun 4 22:41:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWfh5635Cz6h4h8 for ; Thu, 04 Jun 2026 22:41: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWfh52ltpz3ZSy for ; Thu, 04 Jun 2026 22:41:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780612917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p1M2d0M6cLyKa4F9Gk5X44vexXid/1gtBOA0s3Kf+jk=; b=QbsWRs/eLF9zdXXim6JgxqAr6CIesdakw6UUyeFafsDhJFR5k+7Pm+BULJ5D7y82wHXgn/ x55VYezDVdbV5GJPrvrwAc9AIpfGWYaG/I1jIa7C8rvDQ3FFEUmpK6Rp3z71czJMVl3bC2 870FWBwUPGNLXse8DEoNjTSgLFRxZ/EmKqln1O4WJdJqgAX3ftrM21gzd9Aww3kXpjVm1+ M7J9jQ6R24GTrngP9r7rRI566Xa1cEWMsre2KaQKcODIwM+P4xbNxIkg2HR0v5/sHLNMpb vVL4EfrojsieszT/UvaUo2I8zJUpA+Ovlh+n7IJmmBOWgoMyj4HW1+n0Q1w8cg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780612917; a=rsa-sha256; cv=none; b=BjN00j2bOHmX/pBTIHzl30CPOdtLNBVf2y/7AOdF3jHfJOjLCXMxP11/vb41oSrtglJfjg N9SOCJMSRpHlcsCyKR4iFMPChndMccV5gJaFO45jQLrts0YnX5nNlh7EhPsurSBkTsDUA8 ro/es9ZlEY1fOXwpi6Z8BOR1QqGXU6GaMn01TWcYvxh8UTOo5RIoOyLXEMi+wBhfMLdPHo Zz1QRylswibA+2sDSfemdAy3oU+8qTpl0IYTz81JYoo/W/5GFDXgmEWoE9l8MbCG1QFlpn VlQxj2i49s92JCqFmDupl+vF63TJnDj8GT3HNJg7lG4ncDQM3TJ//4eCcQwDUQ== 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=1780612917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p1M2d0M6cLyKa4F9Gk5X44vexXid/1gtBOA0s3Kf+jk=; b=gfLqJPboiRv3zjfGZv6uareAjOVbWL9+VZg1UrPoY5xf9i8ODoL39xvgY7qmerJ9cLn6Du 5FfGfWU1+QS3xT1K4heF8iAYG2HaXrbYfnlwFTU2Ft7nHuQw+v87thNfvzWrSYzjCwNoBt 9K/N++n5x4+HM3F++5+zIJvNiQhoYOB4Xj6B1aRWjMdgRwrBvGr7sLhnEWDWP0Yp8SyZq0 fNXkKnCRNH2sIcfPS/W/kKm4G8E1Uqj88xvFUfXIfBN4fZptluGDNYE0+c0VVXopx9eEoT Y3ChJHrtS/c2GHhqxiI6FTX+g24650sX/CD1p4XE7YSLw/hip9KSWdCYUUzlKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWfh5268Tz1Gs9 for ; Thu, 04 Jun 2026 22:41:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 460eb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 22:41:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 823d00b2d447 - main - libc: Constify the getcap API List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 823d00b2d447247f1c5860e3bbc61f6fd19a70e5 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 22:41:57 +0000 Message-Id: <6a21ff35.460eb.605c5f0a@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=823d00b2d447247f1c5860e3bbc61f6fd19a70e5 commit 823d00b2d447247f1c5860e3bbc61f6fd19a70e5 Author: Dag-Erling Smørgrav AuthorDate: 2026-06-04 22:41:22 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 22:41:22 +0000 libc: Constify the getcap API MFC after: 1 week Inspired by: NetBSD Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57252 --- contrib/ncurses/include/ncurses_defs | 2 +- contrib/telnet/libtelnet/getent.c | 6 +++--- include/stdlib.h | 6 +++--- lib/libc/gen/disklabel.c | 5 +++-- lib/libc/gen/getcap.3 | 8 ++++---- lib/libc/gen/getcap.c | 18 ++++++++++-------- lib/libutil/login_cap.c | 3 +-- libexec/getty/subr.c | 7 +------ usr.bin/cap_mkdb/cap_mkdb.c | 6 +++--- usr.bin/tip/tip/remote.c | 2 +- usr.sbin/lpr/common_source/printcap.c | 2 +- 11 files changed, 31 insertions(+), 34 deletions(-) diff --git a/contrib/ncurses/include/ncurses_defs b/contrib/ncurses/include/ncurses_defs index 8058fb25bd09..a706582c1910 100644 --- a/contrib/ncurses/include/ncurses_defs +++ b/contrib/ncurses/include/ncurses_defs @@ -34,7 +34,7 @@ BROKEN_LINKER BSD_TPUTS -CGETENT_CONST /* nothing */ +CGETENT_CONST const CPP_HAS_PARAM_INIT CURSES_ACS_ARRAY acs_map CURSES_WACS_ARRAY _nc_wacs diff --git a/contrib/telnet/libtelnet/getent.c b/contrib/telnet/libtelnet/getent.c index 3be745e96c0b..98122cd7e7ac 100644 --- a/contrib/telnet/libtelnet/getent.c +++ b/contrib/telnet/libtelnet/getent.c @@ -39,17 +39,17 @@ static char sccsid[] = "@(#)getent.c 8.2 (Berkeley) 12/15/93"; #include "misc-proto.h" static char *area; -static char gettytab[] = "/etc/gettytab"; +static const char * const dba[] = { "/etc/gettytab", NULL }; /*ARGSUSED*/ int getent(char *cp __unused, const char *name) { int retval; - char *tempnam, *dba[2] = { gettytab, NULL }; + char *tempnam; tempnam = strdup(name); - retval = cgetent(&area, dba, tempnam) == 0 ? 1 : 0; + retval = cgetent(&area, dba, tempnam) == 0 ? 1 : 0; free(tempnam); return(retval); } diff --git a/include/stdlib.h b/include/stdlib.h index 305aea4b8672..5f705b9f7f42 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -279,10 +279,10 @@ char *getbsize(int *, long *); /* getcap(3) functions */ char *cgetcap(char *, const char *, int); int cgetclose(void); -int cgetent(char **, char **, const char *); -int cgetfirst(char **, char **); +int cgetent(char **, const char * const *, const char *); +int cgetfirst(char **, const char * const *); int cgetmatch(const char *, const char *); -int cgetnext(char **, char **); +int cgetnext(char **, const char * const *); int cgetnum(char *, const char *, long *); int cgetset(const char *); int cgetstr(char *, const char *, char **); diff --git a/lib/libc/gen/disklabel.c b/lib/libc/gen/disklabel.c index 4b3730920529..9a43b004c6aa 100644 --- a/lib/libc/gen/disklabel.c +++ b/lib/libc/gen/disklabel.c @@ -54,6 +54,8 @@ gettype(char *t, const char **names) return (0); } +static const char *db_array[] = { _PATH_DISKTAB, NULL }; + struct disklabel * getdiskbyname(const char *name) { @@ -61,13 +63,12 @@ getdiskbyname(const char *name) struct disklabel *dp = &disk; struct partition *pp; char *buf; - char *db_array[2] = { _PATH_DISKTAB, 0 }; char *cp, *cq; /* can't be register */ char p, max, psize[3], pbsize[3], pfsize[3], poffset[3], ptype[3]; u_int32_t *dx; - if (cgetent(&buf, db_array, (char *) name) < 0) + if (cgetent(&buf, db_array, name) < 0) return NULL; bzero((char *)&disk, sizeof(disk)); diff --git a/lib/libc/gen/getcap.3 b/lib/libc/gen/getcap.3 index 00c7edd8026f..772becb650f5 100644 --- a/lib/libc/gen/getcap.3 +++ b/lib/libc/gen/getcap.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 22, 2002 +.Dd May 26, 2026 .Dt GETCAP 3 .Os .Sh NAME @@ -48,7 +48,7 @@ .Sh SYNOPSIS .In stdlib.h .Ft int -.Fn cgetent "char **buf" "char **db_array" "const char *name" +.Fn cgetent "char **buf" "const char * const *db_array" "const char *name" .Ft int .Fn cgetset "const char *ent" .Ft int @@ -62,9 +62,9 @@ .Ft int .Fn cgetustr "char *buf" "const char *cap" "char **str" .Ft int -.Fn cgetfirst "char **buf" "char **db_array" +.Fn cgetfirst "char **buf" "const char * const *db_array" .Ft int -.Fn cgetnext "char **buf" "char **db_array" +.Fn cgetnext "char **buf" "const char * const *db_array" .Ft int .Fn cgetclose "void" .Sh DESCRIPTION diff --git a/lib/libc/gen/getcap.c b/lib/libc/gen/getcap.c index cfb81ed0d065..7544e7343f45 100644 --- a/lib/libc/gen/getcap.c +++ b/lib/libc/gen/getcap.c @@ -62,7 +62,8 @@ static char *toprec; /* Additional record specified by cgetset() */ static int gottoprec; /* Flag indicating retrieval of toprecord */ static int cdbget(DB *, char **, const char *); -static int getent(char **, u_int *, char **, int, const char *, int, char *); +static int getent(char **, u_int *, const char * const *, int, + const char *, int, char *); static int nfcmp(char *, char *); /* @@ -154,7 +155,7 @@ cgetcap(char *buf, const char *cap, int type) * reference loop is detected. */ int -cgetent(char **buf, char **db_array, const char *name) +cgetent(char **buf, const char * const *db_array, const char *name) { u_int dummy; @@ -180,11 +181,12 @@ cgetent(char **buf, char **db_array, const char *name) * MAX_RECURSION. */ static int -getent(char **cap, u_int *len, char **db_array, int fd, const char *name, - int depth, char *nfield) +getent(char **cap, u_int *len, const char * const *db_array, int fd, + const char *name, int depth, char *nfield) { DB *capdbp; - char *r_end, *rp, **db_p; + const char * const *db_p; + char *r_end, *rp; int myfd, eof, foundit, retval; char *record, *cbuf; int tc_not_resolved; @@ -611,7 +613,7 @@ cgetmatch(const char *buf, const char *name) int -cgetfirst(char **buf, char **db_array) +cgetfirst(char **buf, const char * const *db_array) { (void)cgetclose(); return (cgetnext(buf, db_array)); @@ -619,7 +621,7 @@ cgetfirst(char **buf, char **db_array) static FILE *pfp; static int slash; -static char **dbp; +static const char * const *dbp; int cgetclose(void) @@ -640,7 +642,7 @@ cgetclose(void) * upon returning an entry with more remaining, and -1 if an error occurs. */ int -cgetnext(char **bp, char **db_array) +cgetnext(char **bp, const char * const *db_array) { size_t len; int done, hadreaderr, savederrno, status; diff --git a/lib/libutil/login_cap.c b/lib/libutil/login_cap.c index 0d7becacbfc7..1894b8e8cd83 100644 --- a/lib/libutil/login_cap.c +++ b/lib/libutil/login_cap.c @@ -299,8 +299,7 @@ login_getclassbyname(char const *name, const struct passwd *pwd) const char *msg = NULL; const char *dir; char userpath[MAXPATHLEN]; - - static char *login_dbarray[] = { NULL, NULL, NULL }; + const char *login_dbarray[] = { NULL, NULL, NULL }; me = (name != NULL && strcmp(name, LOGIN_MECLASS) == 0); dir = (!me || pwd == NULL) ? NULL : pwd->pw_dir; diff --git a/libexec/getty/subr.c b/libexec/getty/subr.c index 05186f593bf4..15eaf2ee2a58 100644 --- a/libexec/getty/subr.c +++ b/libexec/getty/subr.c @@ -54,6 +54,7 @@ void gettable(const char *name) { + static const char *dba[2] = { _PATH_GETTYTAB, NULL }; char *buf = NULL; struct gettystrs *sp; struct gettynums *np; @@ -61,15 +62,9 @@ gettable(const char *name) long n; int l; char *p; - static char path_gettytab[PATH_MAX]; - char *dba[2]; static int firsttime = 1; - strlcpy(path_gettytab, _PATH_GETTYTAB, sizeof(path_gettytab)); - dba[0] = path_gettytab; - dba[1] = NULL; - if (firsttime) { /* * we need to strdup() anything in the strings array diff --git a/usr.bin/cap_mkdb/cap_mkdb.c b/usr.bin/cap_mkdb/cap_mkdb.c index 019dad1ee72e..ea14bad474b5 100644 --- a/usr.bin/cap_mkdb/cap_mkdb.c +++ b/usr.bin/cap_mkdb/cap_mkdb.c @@ -40,7 +40,7 @@ #include #include -static void db_build(char **); +static void db_build(const char * const *); static void dounlink(void); static void usage(void); @@ -113,7 +113,7 @@ main(int argc, char *argv[]) if (atexit(dounlink)) err(1, "atexit"); - db_build(argv); + db_build((const char * const *)argv); if (capdbp->close(capdbp) < 0) err(1, "%s", capname); @@ -142,7 +142,7 @@ dounlink(void) * details above. */ static void -db_build(char **ifiles) +db_build(const char * const *ifiles) { DBT key, data; recno_t reccnt; diff --git a/usr.bin/tip/tip/remote.c b/usr.bin/tip/tip/remote.c index 00ce25f52b5c..01b1d59230dc 100644 --- a/usr.bin/tip/tip/remote.c +++ b/usr.bin/tip/tip/remote.c @@ -53,7 +53,7 @@ static char *capstrings[] = { "di", "es", "ex", "fo", "rc", "re", "pa", 0 }; -static char *db_array[3] = { _PATH_REMOTE, 0, 0 }; +static const char *db_array[] = { _PATH_REMOTE, NULL, NULL }; #define cgetflag(f) (cgetcap(bp, f, ':') != NULL) diff --git a/usr.sbin/lpr/common_source/printcap.c b/usr.sbin/lpr/common_source/printcap.c index 35fcab4c16eb..2b9cb67b6df4 100644 --- a/usr.sbin/lpr/common_source/printcap.c +++ b/usr.sbin/lpr/common_source/printcap.c @@ -54,7 +54,7 @@ /* * Routines and data used in processing the printcap file. */ -static char *printcapdb[] = { __DECONST(char *, _PATH_PRINTCAP), NULL }; +static const char *printcapdb[] = { _PATH_PRINTCAP, NULL }; static char *capdb_canonical_name(const char *_bp); static int capdb_getaltlog(char *_bp, const char *_shrt, From nobody Thu Jun 4 22:41:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWfh75M8Tz6h50M for ; Thu, 04 Jun 2026 22:41: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWfh73y3Tz3Z3N for ; Thu, 04 Jun 2026 22:41:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780612919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N8RknUvzNli8JbofmIVcZiQmDVpN8pW95nd5Rj/aoRk=; b=ZWBdbPUOhFfb3yMjEFDT5MH6A1dA9fb9JYoYzyJWF8EjxJr4mHXBy64vI0/Hirp+X+Em1M VijSlGUKklLAXzrFie8KBYkSMjNlSRSWt68AEd2xyrEvDjvFwTMS1/DPp93J1uPUhwgGIB k0nJNCsNW+gghnAvrPnyCkmHL1AD/dxoDUAXNZ3uQEA5+Jzkjrb9F4m7A5At8QLFpiZJNd 32NpBAaeHuomOnnt5L1QdMPGv1BGLY+go7OkuJt7b36hL03xizcA4QJwAToPJNEbKzWUb6 BqKjfVR4BWtCTce/00uPEJm/dYjDfch/eBXUCpOn3ULHp6dZuMCLABYppuwrhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780612919; a=rsa-sha256; cv=none; b=NW0PYmgnXoQS1nUFxLDP+Jbb/dBDCWYyiCkyysE6aRVlTUWW4h6NrRAiRvfVVqVbl+h6mw +5lqtt2jnuH1QXuadH/Rbaum+e7XQnfGHhhAjBd3QCA2sCaLKuQp3AwfdFub7PZMLY17PY ZeE/ZSMdpExnzf9r1h08O4GY1GH0q86evg7cS4zrOxm4xb15cgCj74/d+eO4ThCgs6fQTg uivtazePE2nEWgnv55sELIkC81uqjStJVbCHkdwkYw3h+2XODb8j64zE7TUtvC6XMOFasl oVEG6Ni3UK070AqkOOeBFrcMWVLzJZWtMK7fkCMSw3iWLvxfdeTlnB1ybJ8Jnw== 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=1780612919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N8RknUvzNli8JbofmIVcZiQmDVpN8pW95nd5Rj/aoRk=; b=WVf0BVhkUi0sr6ByLR+0Q9wt+nxRzzvgjy775YwAjkcHGnIt9CwpkCneWzo++v4xYubygs kIb+YGJxhBircPYFm4AmQ6aErbMqQj5uMJUgp1U1T60U/DGF5my0e0DuX54f7ttHvO8ABX o8NXArlrgXqGuPF6hmdLB4OX/WoJ1yFQW2c1hPBR+GRB5C7e49kuolFZBXJmkjD0SBzAKF xEKzROuWmTqEwArc/S+89U1hCUOaeROmbvjYZU6ZTXI0M4/DCoC9nF7UI/rLoZMKT8jWwG oEcsoeuG/6uD0Q0xLsBiErv2SCVb+mSuxxX8v1tI6sgv/hxmdo6pi/waLv6rMg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWfh73ShYz1HKn for ; Thu, 04 Jun 2026 22:41:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4446f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 22:41:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: ad524568f9fb - main - limits: Fix pipebuf resource type List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ad524568f9fb77e270a22744d81b9cea0a2ab0eb Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 22:41:59 +0000 Message-Id: <6a21ff37.4446f.5740d4a5@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ad524568f9fb77e270a22744d81b9cea0a2ab0eb commit ad524568f9fb77e270a22744d81b9cea0a2ab0eb Author: Dag-Erling Smørgrav AuthorDate: 2026-06-04 22:41:41 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 22:41:41 +0000 limits: Fix pipebuf resource type * pipebuf is a size but is listed as a count PR: 295623 MFC after: 1 week Fixes: f54f41403d14 ("usr.bin/limits: support RLIMIT_PIPEBUF") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57456 --- usr.bin/limits/limits.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/limits/limits.c b/usr.bin/limits/limits.c index a6e95e7c37a9..5afd26230cea 100644 --- a/usr.bin/limits/limits.c +++ b/usr.bin/limits/limits.c @@ -246,7 +246,7 @@ static struct { { "swapuse", login_getcapsize }, { "kqueues", login_getcapnum }, { "umtxp", login_getcapnum }, - { "pipebuf", login_getcapnum }, + { "pipebuf", login_getcapsize }, { "vms", login_getcapnum }, }; From nobody Fri Jun 5 04:52:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWpvf3YPjz6gN5c for ; Fri, 05 Jun 2026 04:52: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWpvd6P0Jz47tD for ; Fri, 05 Jun 2026 04:52:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780635149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nbo8FgUOKVaydaCu3NweeGYKDvQqchttK16kMz+2FZk=; b=YJd6yxCzrVXjS0S1bUUeINc3DEMDKDHf3pJwe2l1BOD+9udWQsJMkQ52VYMxRPSijlWjZC HNLJQMcXHCK4AtzqZJ9T34URNcIHcHXIx8n7fDFz2+QWPnP6G7Md/tc209FhIWZNOu6U87 8tqwks8i/zd5/dML/y+tBm43sTPLB483HXyBlHqe9d8Amf/sbvr19qZKRfzyirH1F8FRmp xT1/rTemqK1XbMXIoK+OCZz2bgNVISefFlzF+XNi0GEPS1/feMba1KKCvd8ggzCVa+Kmsr ipF6/imPKsFKm3hFMJ9mZUDd/svK3GKruy6wvkFKbf1+LdqP7yN84GUKfXecVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780635149; a=rsa-sha256; cv=none; b=EQN8kWyg3vFMUGVjNU6H+13UXzsVi4PCGYV0U41lNoPoWLOVxhDkfXEh3EcxkQLdh+RESB u5KBtDfLSwpnms9RKuFy+59kQHwWlyp/pgNsEYXYa3pHNx57OxWcZwBc0qwYxzRKdID8KY KccqZ0edRfe6jqkeDc5j49AkMAcVYcQ3aM6ckjhb0RNyTHBe1h3pBdPI9WmTLCzzRY5dXz fJzV++S5gLQqPLqNGkuHIWdBnidudCL09ZlfkrACs/dRNVi7Ri/qSVVXJMVa65zBeTN50U dP+IeFhHBzdBcj88Mw4PNXihzYzGY9BTIcCozGtSjaxJh7aNUXbCJ9VQDamUMA== 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=1780635149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nbo8FgUOKVaydaCu3NweeGYKDvQqchttK16kMz+2FZk=; b=MNTVCWGL0MqQNiGkG5Dz4gguGUqtjGiCU21vKUP9GjCw+4IGxYWFUiZ38MJ4fy8d46xLRJ dIgT3fThnoVUAPKJK9KRO2X4DEAJKPfCNNBTrAkeZ5Ic6/H8KyJyaw1vqlRu3XhXihtrwc /pMECOPGispfoSYVKSDFpuR0TgCGWQ4RUzkdlKY4vNESr1vhIZOA7MJdqBynvk/ugq0MdL fAAnAl0qWP0NJcTVv2B+PA6V8NRgOL2ajuzTXa1AGrlZIh0MxhEWMgHX0HhDDIi9CDNl4d TxnIsz7yjHSKDTsZNCJAR3PLjbuAedQQJjuj+vArKXxrr0MD3yRrAy6Hn2yH2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWpvd5nSfz3r for ; Fri, 05 Jun 2026 04:52:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ec12 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 04:52:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: f7c0bd206fe4 - main - file: normalize .result files to ensure trailing newline on install List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f7c0bd206fe4f3a956b3ecb4dc11a7386b85fa22 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 04:52:24 +0000 Message-Id: <6a225608.1ec12.2e89b207@gitrepo.freebsd.org> The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=f7c0bd206fe4f3a956b3ecb4dc11a7386b85fa22 commit f7c0bd206fe4f3a956b3ecb4dc11a7386b85fa22 Author: Xin LI AuthorDate: 2026-06-05 04:47:08 +0000 Commit: Xin LI CommitDate: 2026-06-05 04:48:19 +0000 file: normalize .result files to ensure trailing newline on install Some upstream result files introduced in file 5.47 (e.g., bgcode.result) lack a trailing newline, causing the contrib_file_tests ATF test to fail with "cmp: EOF on bgcode.result". Generate normalized copies of the expected results and install those instead. MFC after: 3 days Fixes: e949ce9dc0e6fff26e83904f1008b76d36ba0a37 --- usr.bin/file/tests/Makefile | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/usr.bin/file/tests/Makefile b/usr.bin/file/tests/Makefile index cd3d00ae742c..cdbe994e1c93 100644 --- a/usr.bin/file/tests/Makefile +++ b/usr.bin/file/tests/Makefile @@ -2,7 +2,18 @@ PACKAGE= tests ATF_TESTS_SH= file_test SRCDIR= ${SRCTOP}/contrib/file/tests -_files!= echo ${SRCDIR}/*.testfile ${SRCDIR}/*.flags ${SRCDIR}/*.result ${SRCDIR}/*.magic +_files!= echo ${SRCDIR}/*.testfile ${SRCDIR}/*.flags ${SRCDIR}/*.magic +_results!= echo ${SRCDIR}/*.result ${PACKAGE}FILES+=${_files} +# Generate normalized .result files in the obj directory, ensuring each ends +# with a newline (some upstream result files are missing one). Install those +# instead of the originals from contrib. +.for _r in ${_results} +${_r:T}: ${_r} + awk 1 ${.ALLSRC} > ${.TARGET} +${PACKAGE}FILES+= ${_r:T} +CLEANFILES+= ${_r:T} +.endfor + .include From nobody Fri Jun 5 06:02:35 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSX0cVrz6gSwc for ; Fri, 05 Jun 2026 06:02: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWrSW3LHSz3HGm for ; Fri, 05 Jun 2026 06:02:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780639355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dPs/fKiuu/R9fng0w4qjLXrfDhPTs0B3gMdOI9jYijU=; b=xhKJqAsWROec5tTqDtY7Bg+P/QWU8kmXAd9tq9IrMCYsUQohMlgMOTBVd2DjjCSwj7OWU0 XpT15eauEweOLyv4l+i5ib0kk6DfjX3RtYrt99EAy9f+1uQ7OlkMIr3HqWhhUBq3DH5h8P VzuL7M6YwV/BCXORhcizbn6dbWoRI/xMaLpMBpnwtbQAih8HtPNsa8Jp0T6LkyAEmosV5b cD5V1XG6A3Pbu3GUFhd1D+U2gso6FL3eWYeZqg7YID0wY92hb2gaY2d7F2ROWsrJoR1Utx bpD14RqZCFnFDBNKNJO+GAqyz613AER4ntoqeLP/dmK/xVz0oRQWA1usb0n+bA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780639355; a=rsa-sha256; cv=none; b=i5pqXBXrm3oKcoWNN6lSuYnhXuXMZlUmSCbCpMGkPwm0Fh9mZe7P83uFnNv2Qwi+fWdor+ jyeq4FVXISQ1fJgzG6vxFxSc4UCbVsdI3/pfG5s8KDwuR6rVvqdE+sVVgDTEHyp0OiKMjx RQb0Jvp5VC5lMuM2yp8nXOKKx2eCDONvWlO0qjH8V4wEwvMNCWjz9YFS5ZDA8NzQVsFX2A zgo/nYEr5p79qcDkHzm5Yr4pejX/04NPoTKmoJnLf9FKdrxal4Nn9dEdPEjotVxFl9u+XZ k0ksCgEd00o0Gq2AUySv6y9xAxY1iEdT8BbzsGMFRNH9N9oxJpnx9TtMIm+Jxw== 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=1780639355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dPs/fKiuu/R9fng0w4qjLXrfDhPTs0B3gMdOI9jYijU=; b=kZ0N/6BLVV9d5nrNnF7VMI6sIGh95AFZ6gZshoWjcbsds0aje3V5Eovpgzi8a8s2sXOBsI fLYQHVHKL48pValSqKBOuYV4jJumQTAYCbsgAb5mZc5HZ+uP4tV9JETR1prRLd2sbvPbfU yTAn1iTlQ20ypmiJYediQQ1PeOywb4QfuGi4lVC6oj4fs3f9h1ytO7P8UgYMJI+3qfksIM AKXybApnVY2EOJl18CJjsoi9sVmsxU03VukgtfXQNePhXwsSORSJ4SmTWikZpu0gTtmnUL Xi9mTCRmyfh4Es0UNldmvj5x55cjmATyQrNAfE4+6KHBD8TaY3qNuYcXX/qYPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSW2yLCz1wZ for ; Fri, 05 Jun 2026 06:02:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 260ae by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 06:02:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 13f4a37b536b - main - pw: fix uninitialized name pointer in pw_group_del List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 13f4a37b536b60d559c766b3ec4f2d5d25279ea3 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 06:02:35 +0000 Message-Id: <6a22667b.260ae.79f19f43@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=13f4a37b536b60d559c766b3ec4f2d5d25279ea3 commit 13f4a37b536b60d559c766b3ec4f2d5d25279ea3 Author: Baptiste Daroussin AuthorDate: 2026-06-04 22:12:24 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 06:01:24 +0000 pw: fix uninitialized name pointer in pw_group_del The 'name' variable could be left uninitialized if neither the positional argument nor -n is supplied, leading to undefined behavior when passed to getgroup(). --- usr.sbin/pw/pw_group.c | 2 +- usr.sbin/pw/tests/pw_groupdel_test.sh | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/usr.sbin/pw/pw_group.c b/usr.sbin/pw/pw_group.c index 1941c03aa2c5..2840e972af59 100644 --- a/usr.sbin/pw/pw_group.c +++ b/usr.sbin/pw/pw_group.c @@ -367,7 +367,7 @@ pw_group_del(int argc, char **argv, char *arg1) { struct userconf *cnf = NULL; struct group *grp = NULL; - char *name; + char *name = NULL; const char *cfg = NULL; intmax_t id = -1; int ch, rc; diff --git a/usr.sbin/pw/tests/pw_groupdel_test.sh b/usr.sbin/pw/tests/pw_groupdel_test.sh index fa51b3814205..0fb5651944f3 100755 --- a/usr.sbin/pw/tests/pw_groupdel_test.sh +++ b/usr.sbin/pw/tests/pw_groupdel_test.sh @@ -18,6 +18,20 @@ group_do_not_delete_wheel_if_group_unknown_body() { } +atf_test_case group_delete_by_gid cleanup +group_delete_by_gid_head() { + atf_set "descr" "Test deleting a group by gid without providing a name" +} +group_delete_by_gid_body() { + populate_etc_skel + ${PW} groupadd testgroup -g 1000 || atf_fail "Creating test group" + atf_check -s exit:0 -o inline:"testgroup:*:1000:\n" \ + -x ${PW} groupshow 1000 + ${PW} groupdel -g 1000 || atf_fail "Deleting group by gid" +} + + atf_init_test_cases() { - atf_add_test_case group_do_not_delete_wheel_if_group_unknown + atf_add_test_case group_do_not_delete_wheel_if_group_unknown + atf_add_test_case group_delete_by_gid } From nobody Fri Jun 5 06:02:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSX6cVKz6gSrK for ; Fri, 05 Jun 2026 06:02: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWrSX3mpdz3HZZ for ; Fri, 05 Jun 2026 06:02:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780639356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mc2vja7qP6qPrPRPIIdzqoqUFS0dyJTLHG7fL3X1xcY=; b=nFgUv6arqfoh4JyriUZBtOd59zZ4tP5AURQFxNyqMSkPBJHM1jPXOqRZzHGpusMGrwBob1 m7VB7IwX+7DKXmWUVCytdZZOcyoyNp6wpYXNXeGdCpvVFMtsPeT59+zOZBRsyrceVwmXWZ ROXIzRhNqhQaL0dZGEtawUBvdlFEL4SmaDNJHOsq4Gscb1HXhZHuZZBBmFxQHW6G9w+eGA 6HqtPWhcyHeQCLj4McHRN7lkV8AQPwxs5ijOIQFFieJPuA/TRSC2J+aYbZIRrH/54oIuXx 6pqjV1ls7zy0DzsbNkVm44HlqLQXcq+elNwKYoO9QFtupPudpaC7gbWeABFa0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780639356; a=rsa-sha256; cv=none; b=r3codUF1IMeG1EVjXpGHT0iALCjWLR+R4xwbEV5CE5npl56Z8rJ7/I9huNGmmZc0fsQFzk THsDa69H8Y+F+sF2pyqIbzoJ8It02YrF79ZC53dhCOFw30ePlDaET9VAuMuP/p4NaQwaT2 Bj8BHPYOw4qBPJ7D4dseSXMuGXpQShyKBSuky7XQRN77OYb96zeCwVQ7GnvriG2DTr4MS6 a269t6GEjSGmxI3RSCK2WpRT8eFcXGPR384oQrKEZgJLuWdLL8v7/cphfduy43aOToMTMx r+s7e1CndNDEauN8dtauj07VGqD6AavYCQC3NlwInYFnOEPMFwdTbF3QVTfXSw== 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=1780639356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mc2vja7qP6qPrPRPIIdzqoqUFS0dyJTLHG7fL3X1xcY=; b=jM8jDD3cAk5cCPUXUBKm/pFa/LxCadqazVCJd4/jmKr2vOp1zqxfNy5fpysUMaxYUIM2Sy /3JUZS6Ngg1dAYWW40/jIXb9+RfHs3K6Cu6njB0QO4AwvFxVGqOdxZu7rNW/Bv7YmHXYCw HSQWGoNDz3sAM61rL1nuQdsRA0ybBrn1fKEk4m5lNkNAIo56qr4BPdxDjFBObFX7oMGa0q pGhZOP8OJ1UXtmsD6flt5UA1gOQvmIpqg1rkVf8d7G6Q68Gvhv1iWP5T+j6J5R9ARC0O8X kB+/rdVOj6fxWKwIepGHXGXjpJStgb2g4c6gxCHgZS5Ffbl+gMO03Ze8EGrT/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 4gWrSX3N1Pz1fH for ; Fri, 05 Jun 2026 06:02:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26a86 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 06:02:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 4fd8a69ec662 - main - pw: fix inverted condition in shell_path error handling List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4fd8a69ec6623da5ef33818be134efffebe37f75 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 06:02:36 +0000 Message-Id: <6a22667c.26a86.5df1e333@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=4fd8a69ec6623da5ef33818be134efffebe37f75 commit 4fd8a69ec6623da5ef33818be134efffebe37f75 Author: Baptiste Daroussin AuthorDate: 2026-06-04 22:12:35 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 06:01:35 +0000 pw: fix inverted condition in shell_path error handling --- usr.sbin/pw/pw_user.c | 2 +- usr.sbin/pw/tests/pw_useradd_test.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index 413eac4882cc..dcf870ca1edc 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -464,7 +464,7 @@ shell_path(char const * path, char *shells[], char *sh) return shellpath; } } - if (sh == NULL) + if (sh != NULL) errx(EX_OSFILE, "can't find shell `%s' in shell paths", sh); errx(EX_CONFIG, "no default shell available or defined"); return NULL; diff --git a/usr.sbin/pw/tests/pw_useradd_test.sh b/usr.sbin/pw/tests/pw_useradd_test.sh index 75e96a64ba8e..4b0778759203 100755 --- a/usr.sbin/pw/tests/pw_useradd_test.sh +++ b/usr.sbin/pw/tests/pw_useradd_test.sh @@ -402,7 +402,7 @@ user_add_bad_shell_body() { populate_etc_skel atf_check -s exit:0 ${PW} useradd foo -s sh - atf_check -s exit:78 -e ignore ${PW} useradd bar -s badshell + atf_check -s exit:72 -e inline:"pw: can't find shell \`badshell' in shell paths\n" ${PW} useradd bar -s badshell } atf_test_case user_add_already_exists From nobody Fri Jun 5 06:02:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSZ71Myz6gT9L for ; Fri, 05 Jun 2026 06:02:38 +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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWrSZ5Q4dz3HV6 for ; Fri, 05 Jun 2026 06:02:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780639358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AFFKDUFkZU++q9pzuAq/wapr4sX25971sq1U9Vlvb4M=; b=El5ZfA6mN01y4RIgaMYDCGvVr8WByVhbDMqgamgFchCIoJXD1hjzql+H0YFbLIcsFz7MV2 G3EkZcrK940idM66DRs030cYRTV8yEoV09rM3drqHJsmwnlXS2XnNLvmIBTZL4AmoVfZP4 /X1U3V45lRHFtC/ersVhZLlIqK/PrqBrOxlzNy4/R+OPpBonlUzMXz1sYh1hQVkvzde1aX E02c/HCXNuMtPS8Nu+k762JwPQ4mJK/VP+ToVYUs0feYiVsUzfF2xyakZCWlt/828ldCa3 Z2CiOXKUxmZR+2QBfTcdwXY96+3k31NJlq1abb+QYyl+C6Cen0B1dfCaUxdMXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780639358; a=rsa-sha256; cv=none; b=dEEshwSR8vaLu4qoKzkXUxVyi0HAB7no36DOY9I1AB1Aj0T8e8orrzsGHhywUHh1VCwxH/ W3GJv6dTw6hEfW5RluBDWfDcrDhol/rccfDEAGHP6u8i+Bh5gtS2AWlSQL+z1JofOql+y8 CV6A9/Msxu9kLeFWu7wLDSqCwH1zh8yv8J2MQ9Y38Y95A5RxtRrnGQBKcf8TyRj0tZf+Qt 9L6iYubJYdDFGQU561lSBii9zAS+MvIyayBjpeuTuYCdwW6PyYg/NKuj/ELICqEau9U3Km PnDlMwoK2YTjj72ZThirlNGCG2gfivF1r/WBe9IPNKU9pRPf6q0freZRxjWdMQ== 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=1780639358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AFFKDUFkZU++q9pzuAq/wapr4sX25971sq1U9Vlvb4M=; b=qYece8GGS4+yPZuQUo8qSe2kmm7YesgSG35iqXrN4FNFWVn7yrJn7aPIA+6Nb31uAy1e3x NoJzaYXvbhJ2ez+cueSsaCFAAAF4xnV+C1cUn/Y7irAuP0Wa7L6s6DA0PeVcYPQ//XhiIg ySthZcZe/8Wy5BP9FM+Y4MD+5zhk793TgUXEUPAVCUj0Du6U0Jo6GfzIFBVLjk+3PF9f0x VyPqVrXo3ECRX+Yes7NoggM+G3hE8djdM69nkYV9qXUw370uc34DSib+Sil1dOaKUln9EJ BoXk8XiJIL1zzs1lz+LqfGxVStLVxpMtHik4PgEqsxuOMVysFqm9MxlCT3V3rA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSZ50xRz16X for ; Fri, 05 Jun 2026 06:02:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25fe8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 06:02:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: fe1e912d5a39 - main - pw: fix setmode(NULL) crash when homemode is a boolean value List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fe1e912d5a394565e9adfbc443555ae0b3f087e5 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 06:02:38 +0000 Message-Id: <6a22667e.25fe8.58118391@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=fe1e912d5a394565e9adfbc443555ae0b3f087e5 commit fe1e912d5a394565e9adfbc443555ae0b3f087e5 Author: Baptiste Daroussin AuthorDate: 2026-06-04 22:13:52 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 06:01:50 +0000 pw: fix setmode(NULL) crash when homemode is a boolean value --- usr.sbin/pw/pw_conf.c | 14 ++++++++++---- usr.sbin/pw/tests/pw_config_test.sh | 12 ++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/usr.sbin/pw/pw_conf.c b/usr.sbin/pw/pw_conf.c index 21c4824ead93..7e8fdd375395 100644 --- a/usr.sbin/pw/pw_conf.c +++ b/usr.sbin/pw/pw_conf.c @@ -298,10 +298,16 @@ read_userconfig(char const * file) ? "/home" : newstr(q); break; case _UC_HOMEMODE: - modeset = setmode(q); - config.homemode = (q == NULL || !boolean_val(q, 1)) - ? _DEF_DIRMODE : getmode(modeset, _DEF_DIRMODE); - free(modeset); + if (q == NULL || !boolean_val(q, 1)) { + config.homemode = _DEF_DIRMODE; + } else { + modeset = setmode(q); + if (modeset == NULL) + errx(1, "Invalid mode: '%s'", q); + config.homemode = getmode(modeset, + _DEF_DIRMODE); + free(modeset); + } break; case _UC_SHELLPATH: config.shelldir = (q == NULL || !boolean_val(q, 1)) diff --git a/usr.sbin/pw/tests/pw_config_test.sh b/usr.sbin/pw/tests/pw_config_test.sh index e9209190dc5e..4087653fd4bb 100755 --- a/usr.sbin/pw/tests/pw_config_test.sh +++ b/usr.sbin/pw/tests/pw_config_test.sh @@ -19,7 +19,19 @@ modify_config_uid_gid_boundaries_body() { cat ${HOME}/foo.conf } +atf_test_case homemode_boolean_no_crash +homemode_boolean_no_crash_head() { + atf_set "descr" "Verify that homemode = yes in config gives a clean error" +} +homemode_boolean_no_crash_body() { + echo 'homemode = yes' > ${HOME}/bad.conf + populate_etc_skel + atf_check -s exit:1 -e inline:"pw: Invalid mode: 'yes'\n" \ + ${PW} useradd -D -C ${HOME}/bad.conf +} + atf_init_test_cases() { atf_add_test_case generate_config atf_add_test_case modify_config_uid_gid_boundaries + atf_add_test_case homemode_boolean_no_crash } From nobody Fri Jun 5 06:02:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSc3jLDz6gTSq for ; Fri, 05 Jun 2026 06:02: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWrSc0JzCz3HDR for ; Fri, 05 Jun 2026 06:02:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780639360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qSGBkR5L1pN5C9N+YbcurPG9lPg9AWcdPoijGfr01dA=; b=JzTg8fi2wMsHy+Um0LES6zlHqnbMSW8NeLZSICpoW07mr02D/EmmWDvZ4wZYv5kUj2fIoU 1o4Lhmknn4oFFnPXdVTN59D78S7nYeo5suotscGdFuHl+8nKCjrLwxl7cqmIOmieDriGV3 QRXte2u0qt/driA9ItZ3K3OP9r/q2DszsaO0Fwt34tH6dltKwf7XXpo3gk4cpOjNrF3RyQ V1OjwutL15thtFGJBCfjb4k0VDh91jIRsdYCA3p+uyJu/muRQj2bGjdvHNA4LibNiKw3i3 sKRQ+HcD6nyUEF4LM3dtAbqY9gfbn3oXIJGVS97yZoxyLGxXSdCVHLOHefJpSQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780639360; a=rsa-sha256; cv=none; b=JNd50tgkn/Qvfg/Qjgr4GXZCv+jLbK9W2dsWqenWiavClLaNMJPHDoAJ3Q0I2wb5OgpMd2 BqibcfKAxkb9I4AEy2x23RScJv6HnJSXLhcAJk48REpW0rdKUbh7Hyj1b+u2nk+k8FuvNt dyaLqe7bPQGaVu2xbYrBPcCiyKAF7+VsgHME/cNAD2IUdgq8K7eq1v46NchLtFXhKU7Unc LjyJRpSCK5SX89xzNnp/z/5ouK+l31sPlyBcE506iIB24Q/FN5vxVl2QB4MOtsofwN4Sad F5sc9ElAnhUNX82w1SeZ8W3TyoOzGuwPtr9sOmAhRAAcycnHiDnYIAqznSOi8g== 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=1780639360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qSGBkR5L1pN5C9N+YbcurPG9lPg9AWcdPoijGfr01dA=; b=r7nIDK6gFEZ/tYy12gY3pejrnnzOS4pxqOwyYwItJir/JVW63udopN/Yej+BBeyBmwvnIl mM5aHn4Cq8oPJPz2m9vh9kdzP/52JW0U2CYzAd5aRUD/akT6s4HzmKpNz7qaIwJTn4hD7L 96wd3Y1mM3/Df3w/nKcT6arGzQD/f6JpvZd5cuGVtlbgMmKNkvxSX9Kf2LFimyY9x9cncT BGizIh7FGVUkCcyL930LKogqqE2vG9KOdScXH9tPgBMm3GjcdV5dAUUKKXJqEmNv1ozlzy 0pGmkBjQzKduvH5+df9zMcJHg+Jij39Lp/8y12DhtQXOsFi9pdErwms03zAeyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSb5rGDz29V for ; Fri, 05 Jun 2026 06:02:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 253b4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 06:02:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: ab478de1f9b3 - main - pw: fix incorrect metalog path in mkdir_home_parents List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ab478de1f9b3f73036ee05004fb2d503a0f339bc Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 06:02:39 +0000 Message-Id: <6a22667f.253b4.56db0647@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=ab478de1f9b3f73036ee05004fb2d503a0f339bc commit ab478de1f9b3f73036ee05004fb2d503a0f339bc Author: Baptiste Daroussin AuthorDate: 2026-06-04 22:19:54 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 06:01:56 +0000 pw: fix incorrect metalog path in mkdir_home_parents --- usr.sbin/pw/pw_user.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index dcf870ca1edc..abb8a09ce468 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -123,7 +123,7 @@ mkdir_home_parents(int dfd, const char *dir) dirs); if (fchownat(dfd, dirs, 0, 0, 0) != 0) warn("chown(%s)", dirs); - metalog_emit(dir, + metalog_emit(dirs, (_DEF_DIRMODE | S_IFDIR) & ~pumask, 0, 0, 0); } From nobody Fri Jun 5 06:02:34 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSc3q1Fz6gSrS for ; Fri, 05 Jun 2026 06:02: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWrSb42gVz3HPY for ; Fri, 05 Jun 2026 06:02:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780639359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dAhZSLUrt4+AOPMqPIDcDOxxFXlaPD+0aBdzp+BU624=; b=nEdKQB7q95BwiqOBhe/1cX9Hepa9DPeGWOve8WShr5T8gcWX+qWYgdYY5Eb5FdbGCBffrR 6COchyVRCZA5hkKB8CGhBd/x6pCgKGzMxJ+zvyrG7RaTlaLoQu8yM5f6lPed5gIDvtGD+J xVuLHiUpurdNDUk8iqltaX+XFh4GILxlmULPXPE1hKGubKz6X1KL6J6gnIRjOAOey7XgHv A+4X1p5BS8jS+828fnIaBbD20g0yPh/N3UFQznEQ/fGOiSYSo+Oc8lA4+PN9IMUcVCIVrY b4dUFvVpGtTiqvItVhDWu4IC0Lxk/OCQ4XDsM5QFQvukqDERSjcge+H7nBIxEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780639359; a=rsa-sha256; cv=none; b=K7GlUAAoSOFBv7Gp/CPqMRBa+yn3Yzqny3LcsRH3yK/bfnNgdEu+V4mk6cO/MVlFjJYBDt 7H52Y/vTvW50H4C5EbGwl6E8X0TSWLRAPuiBl7K4yTA3TcPpXiKn22/lbPMBJFr46EJ6xL ypxxFARcSQb1sg6MGmHUVPMVIT972DlkqAlVkZmG93PQR+pTJrx26rKBWnWHy9rkLxxPJ4 mvdqvxhAa1ckMYrOVHdn7e/HRkA4MPphrBfJVvk+nTR2I2SwTqnnd6M1G2+90//Fd7pQzk kPF3R4I1Xwcpbiyop2p+XEHdozmsqss7Yg6JGwsI29ewYIoauE5Rs2kumyvZTw== 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=1780639359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dAhZSLUrt4+AOPMqPIDcDOxxFXlaPD+0aBdzp+BU624=; b=KP8GuW+icjXxi7Ki+YgsANykk0AwmH0qLNp/IneYtiJITqVt5AIPcc5Yv0AIXgvBCOi3xs SJxrP0PgEvxBnUfbsIoidUVHfKBxMj6S4SyzZXDheqT9oyoCpAWMTEJbs3xjhQrKyhkrJG NU3M1ecOFTj4OFEPHuKwuz/eRhNpwWLAwqj+lMiIjY882RlsMh7xCWgzCfk4zc25w+e44f X/cahknLpM9KstrTgtGFEkHSdoq4wWmVX1flLo6WFBwE9y/pI5ts33pMVqPj12tp7+DAuE 9ntEzZHrzcC/+8aBmxjxHPBXJ6fOEW1o77v5AhXbbn1OaEp8LaXSvEfYQlEnRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSb3QM1z29T for ; Fri, 05 Jun 2026 06:02:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26952 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 06:02:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 1cc5684b3216 - main - pw: remove duplicate pw_user_add declarations List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1cc5684b3216dd0198c4fe83cdbcaed8d874c99c Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 06:02:34 +0000 Message-Id: <6a22667a.26952.76dded4d@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=1cc5684b3216dd0198c4fe83cdbcaed8d874c99c commit 1cc5684b3216dd0198c4fe83cdbcaed8d874c99c Author: Baptiste Daroussin AuthorDate: 2026-06-04 22:12:19 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 06:01:09 +0000 pw: remove duplicate pw_user_add declarations --- usr.sbin/pw/pw.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/usr.sbin/pw/pw.h b/usr.sbin/pw/pw.h index ceb843d79503..6be667f166fb 100644 --- a/usr.sbin/pw/pw.h +++ b/usr.sbin/pw/pw.h @@ -81,9 +81,6 @@ int pw_group_mod(int argc, char **argv, char *name); int pw_group_next(int argc, char **argv, char *name); int pw_group_show(int argc, char **argv, char *name); int pw_user_add(int argc, char **argv, char *name); -int pw_user_add(int argc, char **argv, char *name); -int pw_user_add(int argc, char **argv, char *name); -int pw_user_add(int argc, char **argv, char *name); int pw_user_del(int argc, char **argv, char *name); int pw_user_lock(int argc, char **argv, char *name); int pw_user_mod(int argc, char **argv, char *name); From nobody Fri Jun 5 06:02:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSf6lTGz6gT6l for ; Fri, 05 Jun 2026 06:02: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWrSf4Yzgz3HXY for ; Fri, 05 Jun 2026 06:02:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780639362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=79gf4M0b6Tf4o2v1wskhesSrHXRwII0YUMVVDrNgIhE=; b=Sw1Mr1YA/fGeCXAojVNGi4NueWuurQvrcoC+lY6xvGnMnTECqe9UC1E4F1LoGAxYI696W4 pIORRWNQYSYhED/NFzSfynCa0NAzIf+4WmufLdFk8iECeNJBw9gFFDJML1JUthEjHwPpGF iyiRrC8EDK90jp7A27F6ydyPq1+zh7YFG55yQQipiqmAOe6lPefB8+JybDNFRFbCa3TYGr dcBkxIBOBsmp8RHctGJmKuJv5UoGfu4HWeSf7082qAF5qsiqA9xi2rLboOdxlFemdgqt+9 T7U8gllA/DiK4PRMCK+iU5yt4W0Po6QBoNJ3ntN7FcZtL+qQP/utpgTcrdluUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780639362; a=rsa-sha256; cv=none; b=j4O8uuD/SSSbYl66tNBn2buDMtk0c7pLoFdGAUxlYJcsN9XM0iC2cBEIastMc9XGQGJMkC duWNRSX0I3lOjukXhmKAJe680LvxGYprO0AL3YCVrknPUtCf7BxXYOsj1O803dik3kCWxh QyowBxzawZgM7/W3/lYN9Ttene3hxwUCIQJNoXou8QEJkGk7jFebMWa6cQgnKe9Fv84sIU oyz72hiZhqj8opqffTmallAFORs2tKAGTdSdJb4V8tqOkzonpx2pQ7ZWbP5hzkpJcbgxce pEzemDiNkHUtC48nqBfclbVOqUXMuyu8g1VmJvG9Bmg5DuRVr1I2b+5NxEy1sA== 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=1780639362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=79gf4M0b6Tf4o2v1wskhesSrHXRwII0YUMVVDrNgIhE=; b=bIMd9/PYa35MKBBZQp2V6kwy035hqYmQfz1rQ5aNCPLzSiAFf+/CqS5RKHynN20SmoFuCH TqJfyvy/eX0dejUweheF/cPXN4XgvmfVE9Sai5ksiWljk5fw+6X/oKBuXUkJPuRyCh2TRf wGOUh3lddRcGIjxrGgPGSxxtCNJ6ypSocvqjeW9PeA73HIEl9vYNURCtfb9X3+2ih0+vcP cfIb6XxuwGDpBDEUNyfMzGtvhrUBIiymYeGI900QC5w6tozu+8BuSA75tZEegBL5IOd+nA vv3rvSEJbmhRh5tcmIAym32Sz9oVwyIyMg0EVfsfmzgWQ4ZOBe5b7MXUca0how== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSY49Cgz29P for ; Fri, 05 Jun 2026 06:02:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27181 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 06:02:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 5f9c8f142d17 - main - pw: fix const qualification in unquote() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f9c8f142d1702f5810618e02534054d28d22fa5 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 06:02:37 +0000 Message-Id: <6a22667d.27181.44a40b6@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=5f9c8f142d1702f5810618e02534054d28d22fa5 commit 5f9c8f142d1702f5810618e02534054d28d22fa5 Author: Baptiste Daroussin AuthorDate: 2026-06-04 22:13:23 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 06:01:44 +0000 pw: fix const qualification in unquote() The unquote() function took a const char * parameter but modified the string in-place (removing quote characters). Change the parameter to char * and update callers that passed const char * to cast explicitly. --- usr.sbin/pw/pw_conf.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/usr.sbin/pw/pw_conf.c b/usr.sbin/pw/pw_conf.c index e9042b15b321..21c4824ead93 100644 --- a/usr.sbin/pw/pw_conf.c +++ b/usr.sbin/pw/pw_conf.c @@ -156,22 +156,22 @@ static char const *kwds[] = }; static char * -unquote(char const * str) +unquote(char * str) { if (str && (*str == '"' || *str == '\'')) { char *p = strchr(str + 1, *str); if (p != NULL) *p = '\0'; - return (char *) (*++str ? str : NULL); + return (*++str ? str : NULL); } - return (char *) str; + return (str); } int boolean_val(char const * str, int dflt) { - if ((str = unquote(str)) != NULL) { + if ((str = unquote((char *)str)) != NULL) { int i; for (i = 0; booltrue[i]; i++) @@ -187,7 +187,7 @@ boolean_val(char const * str, int dflt) int passwd_val(char const * str, int dflt) { - if ((str = unquote(str)) != NULL) { + if ((str = unquote((char *)str)) != NULL) { int i; for (i = 0; booltrue[i]; i++) @@ -228,7 +228,7 @@ newstr(char const * p) { char *q; - if ((p = unquote(p)) == NULL) + if ((p = unquote((char *)p)) == NULL) return (NULL); if ((q = strdup(p)) == NULL) From nobody Fri Jun 5 06:40:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWsJG6hX8z6gX8D for ; Fri, 05 Jun 2026 06:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWsJG4F8nz3RjX for ; Fri, 05 Jun 2026 06:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780641630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hJ/7/0pQ81+Mq28xT2GhJUsZfXgOqwD+JImPK8nmkq4=; b=KIV1k55kizTAsRJSxoPogGiP6M/dyw07kPrmiQUXb/7mTMk2ey8P68mhZxFrcf2JW7VbjP OqccSV1JukqwPvYsOPkWf6sYYSV/9ZOakfBiNf99qDWeWLDY7sYpwxdCMcRwzwQzAvfj6Q vz0J1ARpyrpU5mnCQ6YIJ/SNK5xo5Tf4NNIu4rM1xd3PJEUQAi5vC1xkbOV+8GinZ7E1Np +17KA45h87ouJF7o6gtliO17Ma3+lCGRCwrpT08ONTx2l4lVopVCxKQoXvrffK93VSnede sLM6o4pxw5KY9oiwjWrqDvtdFgkenPRsks4SIymSwT35x2Q895NwDsf9icFNAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780641630; a=rsa-sha256; cv=none; b=E8v9UC30QINCAZ5mVlypZaw78MpaULRVAqf8u82WEitQ69M+jMYKXdId3PuAyCiJ8DSJoH Nb6VvatBIkH5y3pJrGdbVjg1d+GCEyOmqTKRBQzckTBx0iKM8E02i+cHvcP1E3AzbNSlim KNbM4V2/eIsUqGQTdoprM/KsG+h58YYTADOSaY1quK7Zu8ORrDUjPYOznAjSVBNkUqR84y pt3YAbOxJNCamjmGPrA9DAKCYvtwyMU/T5YjleSXllr+lOQkQqxzAQrGKd/pcx5clDCa46 L28KfldfJMPryAOGIOAQ5Bvgd8jTocj+GNC+bPnhONXhxiW4vTvdSvF4xYpbHg== 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=1780641630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hJ/7/0pQ81+Mq28xT2GhJUsZfXgOqwD+JImPK8nmkq4=; b=gG6oEos5+jpKkKrJmLYDVIVYLhGU87WX0X8cCUvqEuw3HBUdIwq0y+05HMNhHMVvU6JUW7 HXRMF2aXJkpvB/omCEdgKXaiXeTMD5jzmraNVEeGzmejFe5Mz3jKK+iBMCqcNjYE6YF14V X9PKaR4QezyDLphwKnJcCVGUPyQq9uVStfxht+hRJvV5QYwg1bOy2yb1qq1t/eQ6TggR6a RcK7DWceRkdlhIU1GXEmK5/Wzubtd7NQko71t8yrte9ZyFDIwApM+5KYz+btWhlUBrVB+k icgZhejH76ofEf30ltNCBjpjqcumVsjAtSOvY8j/Bvt+DPirX5+8FiMyZaSbLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWsJG3KX3z2s8 for ; Fri, 05 Jun 2026 06:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3212f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 06:40:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: ba58e8ad7263 - main - nuageinit: implement manage_etc_hosts support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ba58e8ad726318ed59b6cc5934435dbddbe23dac Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 06:40:30 +0000 Message-Id: <6a226f5e.3212f.5121859f@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=ba58e8ad726318ed59b6cc5934435dbddbe23dac commit ba58e8ad726318ed59b6cc5934435dbddbe23dac Author: Baptiste Daroussin AuthorDate: 2026-06-05 05:49:16 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 05:49:16 +0000 nuageinit: implement manage_etc_hosts support Add support for adding the instance hostname to /etc/hosts on the 127.0.0.1 and ::1 localhost lines, matching cloud-init's default behaviour (manage_etc_hosts: true). create a revolve_hostname helper to avoid code duplucation. --- libexec/nuageinit/nuage.lua | 62 +++++++++++++++++++++++++++++++++++++++++++ libexec/nuageinit/nuageinit | 30 ++++++++++++++++----- libexec/nuageinit/nuageinit.7 | 13 +++++++++ 3 files changed, 99 insertions(+), 6 deletions(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 7cce4c9bece1..45e14ef0ce21 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -162,6 +162,67 @@ local function sethostname(hostname) f:close() end +local function update_etc_hosts(root, hostname) + if hostname == nil or hostname == "" then + return + end + local hosts_path = root .. "/etc/hosts" + local lines = {} + local already_present = false + + local f = io.open(hosts_path, "r") + if not f then + -- File doesn't exist, create a minimal one + local nf = io.open(hosts_path, "w") + if not nf then + warnmsg("unable to create " .. hosts_path) + return + end + nf:write("::1\t\tlocalhost " .. hostname .. "\n") + nf:write("127.0.0.1\t\tlocalhost " .. hostname .. "\n") + nf:close() + return + end + + for line in f:lines() do + if line:find(hostname, 1, true) then + already_present = true + end + table.insert(lines, line) + end + f:close() + + if already_present then + return + end + + -- Not present, append to localhost lines + local new_lines = {} + local found_localhost = false + for _, line in ipairs(lines) do + if (line:match("^127%.0%.0%.1%s") or line:match("^::1%s")) and line:find("localhost", 1, true) then + table.insert(new_lines, line .. " " .. hostname) + found_localhost = true + else + table.insert(new_lines, line) + end + end + + if not found_localhost then + table.insert(new_lines, "127.0.0.1\t\tlocalhost " .. hostname) + end + + f = io.open(hosts_path, "w") + if not f then + warnmsg("unable to open " .. hosts_path .. " for writing") + return + end + for _, line in ipairs(new_lines) do + f:write(line .. "\n") + end + f:close() +end + local function splitlist(list) local ret = {} if type(list) == "string" then @@ -775,6 +836,7 @@ local n = { addsshkey = addsshkey, update_sshd_config = update_sshd_config, delete_ssh_host_keys = delete_ssh_host_keys, + update_etc_hosts = update_etc_hosts, chpasswd = chpasswd, pkg_bootstrap = pkg_bootstrap, install_package = install_package, diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index bfe5f893756e..9d2f3c6024c4 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -99,16 +99,23 @@ local function get_ifaces_by_mac() return myifaces end -local function sethostname(obj, metadata) - -- always prefer fqdn if specified over hostname +local function resolve_hostname(obj, metadata) if obj and obj.fqdn then - nuage.sethostname(obj.fqdn) + return obj.fqdn elseif obj and obj.hostname then - nuage.sethostname(obj.hostname) + return obj.hostname elseif metadata["local-hostname"] then - nuage.sethostname(metadata["local-hostname"]) + return metadata["local-hostname"] elseif metadata["hostname"] then - nuage.sethostname(metadata["hostname"]) + return metadata["hostname"] + end + return nil +end + +local function sethostname(obj, metadata) + local hostname = resolve_hostname(obj, metadata) + if hostname then + nuage.sethostname(hostname) end end @@ -541,6 +548,16 @@ local function bootcmd(obj) end end +local function manage_etc_hosts(obj, metadata) + if obj.manage_etc_hosts == false then + return + end + local hostname = resolve_hostname(obj, metadata) + if hostname then + nuage.update_etc_hosts(root, hostname) + end +end + local function runcmd(obj) if obj.runcmd == nil then return end local f = nil @@ -813,6 +830,7 @@ elseif line == "#cloud-config" then local pre_network_calls = { bootcmd, sethostname, + manage_etc_hosts, settimezone, groups, create_default_user, diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 3cc0eceeb2ae..66a72324f414 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -146,6 +146,19 @@ Specify a fully qualified domain name for the instance. Specify the hostname of the instance if .Qq Ic fqdn is not set. +.It Ic manage_etc_hosts +Boolean which determines whether the hostname should be added to +.Pa /etc/hosts +on the +.Qq 127.0.0.1 +and +.Qq ::1 +localhost lines. +Defaults to +.Ar true . +Set to +.Ar false +to skip this behaviour. .It Ic timezone Sets the system timezone based on the value provided. .Pp From nobody Fri Jun 5 06:40:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWsJJ110dz6gXLM for ; Fri, 05 Jun 2026 06:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWsJH4vNjz3RTx for ; Fri, 05 Jun 2026 06:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780641631; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2CwAaOvxg97B3A91wDWPgLwNrwc69j6Vz3xjLFJJw70=; b=VLJsRANrXaPsRCF52G9UWzxNxkWdvhQK07NsZNeOL5+nCWhU9v3fZ86sAH9f38n8Reo0U2 viohxe+hLeP4reOilqWrV8FGhzOb03A01RaXIKpEF9G8ACj2Va5cWCnw1Soie3LGv8LQnY Cp2GxJh+jZDe89cPfhbBfu8q+9dSeXASAEyBCgbm9z1blMiejbnC39DI4RwDEFOmtJmmLg gO2zwXSuAo5I8JldLG/CdwNnLcKO9zOaV1I8LFXPrXZvvw5FTjPkU9f90ZJQrU1zYjXtW/ 0yPfxhfB/4ztO4X+e0V5+DQ9diODCcrfHxXoYxUy2GZCFOB99ejWLQ27JQHjvQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780641631; a=rsa-sha256; cv=none; b=R9o+xyfViFHUWeBdVFbYCzIjD6jiluW1KdJWJFtLNuA+SVzIxLq64VLifXe8tN59qGxMaP KPL28zPxs/tZiygIPXDokVd0LFuGGOHpiGvRisLSRGiRGoL9s+3ztZEp8vqH6wvsEblwG3 YR/2nrIxRyLmtJNRKjbp51q6bSZzmTv3K3PyZ1WJknAdz1jfxjjsWW3lvoB17y3wWOBfdh LT6Y8i5zQdVYRSl2zWlv1UwcBej4P6rSSkX+kDTypGn+dNVc6rk9em7xE7YGfRvKT/athu gOUObc6pVjZuH/6DQQ7bsIIS96h1XPco8oLufhMKQ6pvuPffRX+ANpvN8eIsDA== 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=1780641631; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2CwAaOvxg97B3A91wDWPgLwNrwc69j6Vz3xjLFJJw70=; b=XtMCAwxPq3CfwzKKKTkcey8wRir4poXpeLWC1CD6ZgF/K7RfwVHq5A+v6FNzSq/oKYeGqm 57xxnkk7hhU2jxUGVZGo2+9TxHAyKMDNAd2E1+8dFsAguS38N7H/EQ/7agmNMfD8t/KPoQ wiY5zG/jU1HXl5apqaWYo3wDr8aR8auvcCzSlzTuT/DhbmUR29qyReEcdngVWdDoSmRtHl svTdI+qOaYAIN5RWYaUorxcFsjBEpZFsbMXBUBzNSeQxnkdf9xXZE60u6dHwD2NBbh6b3o b4tjvCaJfrTk9jk8y2QRUgtnqXW/8uo4gVaif/5EGqtMlViQX5YWX0c4BpvChQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWsJH49F9z2Ws for ; Fri, 05 Jun 2026 06:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31366 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 06:40:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 6e54d00867dd - main - nuageinit: add tests for bootcmd, ssh_deletekeys, disable_root, manage_etc_hosts List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6e54d00867dd2b979d2dc097c710613e6b9bd33b Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 06:40:31 +0000 Message-Id: <6a226f5f.31366.7ae5d4c0@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=6e54d00867dd2b979d2dc097c710613e6b9bd33b commit 6e54d00867dd2b979d2dc097c710613e6b9bd33b Author: Baptiste Daroussin AuthorDate: 2026-06-05 06:38:33 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 06:38:33 +0000 nuageinit: add tests for bootcmd, ssh_deletekeys, disable_root, manage_etc_hosts --- libexec/nuageinit/tests/nuageinit.sh | 167 +++++++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index b68aa6017d0a..ac7086183d86 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -30,6 +30,10 @@ atf_test_case config2_userdata_packages atf_test_case config2_userdata_update_packages atf_test_case config2_userdata_upgrade_packages atf_test_case config2_userdata_shebang +atf_test_case config2_userdata_ssh_deletekeys +atf_test_case config2_userdata_disable_root +atf_test_case config2_userdata_bootcmd +atf_test_case config2_userdata_manage_etc_hosts atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files @@ -950,6 +954,165 @@ EOF atf_check -o inline:"bob" cat foo } +config2_userdata_ssh_deletekeys_head() +{ + atf_set "require.user" root +} +config2_userdata_ssh_deletekeys_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + printf "{}" > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data < media/nuageinit/meta_data.json + cat > media/nuageinit/user_data < media/nuageinit/user_data < media/nuageinit/user_data < media/nuageinit/user_data < etc/ssh/sshd_config + atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2 + atf_check -o inline:"PermitRootLogin yes\n" cat etc/ssh/sshd_config +} + +config2_userdata_bootcmd_head() +{ + atf_set "require.user" root +} +config2_userdata_bootcmd_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + printf "{}" > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data < media/nuageinit/user_data < media/nuageinit/user_data < media/nuageinit/meta_data.json + # Test 1: manage_etc_hosts adds hostname when /etc/hosts does not exist + cat > media/nuageinit/user_data < etc/hosts < media/nuageinit/user_data < etc/hosts < media/nuageinit/user_data < etc/hosts < media/nuageinit/user_data <; Fri, 05 Jun 2026 06:40: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWsJL3WQ1z3RZf for ; Fri, 05 Jun 2026 06:40:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780641634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vjbMEGWcfHAk2w2lealZ7G1+ty03ShlhG5HXcywwNQQ=; b=eL2aqDdtRktEPZDQY6sfyB+m7mo2Nqr3A4yvT5+UQGHDFAv8icYoAiuA/NxCTiSFhqYzAk QmOyiHsUQavFUmvr8LpGfF5En8qpa9sddbnuik9hXkkPI2wHAHn7F8tBn3ECjasNPMkd8z Zj7vFwbTlzq1eWCxNYFlGrjDqn4u5QcoYBF/BF5F6oDKG1RXh40OaM6TMSDYvIrQIZ7CFJ +Fn9q+1vRTa3s0JBKeFqBi6m1sfbTvXMtcjS2ebCaJmQazQcZ5tjlwB/buVTJTvfqCyd3H j4FbOREp1tPFtifCY0b9bQFaLpRLFvZZnxFYc10ZQ6mNXARvXk1RagPrfMA+rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780641634; a=rsa-sha256; cv=none; b=bMtELjRnvnZsb74MtN94gIBvPfRQXokSMwB+OUIHlAQAnB4+CK9PZXdGB9IImW5K/lYYKY OzDsB0arBAHKqLnvgtqevaXE60Mi+5dLMfpCnfmihMB4+B9wvm8wHXwb/SPK7K7VElBc3m /e499SJ6uu9mG6lnh0pJYLp10t6kwcsQAithHj4NVOC5IYcOqqCtMzg6D8XpXQWT/sq9M8 fTB5jgP29ICh1XoXD1kTIs1OT49JxIcslnFkbW/Cxt+lKcxM7XsZB8JoD80THlA44oiRu8 rUBVdYhskdB/Kgd2cAoKpG1rNDClmGvYMxL2/fEcSRUv0Gv9pLclmArH0E4wog== 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=1780641634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vjbMEGWcfHAk2w2lealZ7G1+ty03ShlhG5HXcywwNQQ=; b=aDIk9TqrEDYtMRVudrlUTGti+1fWHhv7TVXJQ+MpYKh3Vku4Lc+m+UrSSQc9xdCNP1tMaD S8uw7KqEuLlI6uVSoJdELkDpPk3nFAUl/DZ+4AdNTSUcwR+wq2TqMG3ThUoTqIKwlRdjTE MWA9jS/nLRSbwKR7ZQpVlEivW3eexBQDQOQQS/yd9TbScRyYz28Avo4KEZFyGvaq+j+kqe AINcIxC429HL13VxqxqWGuiCG3f3iDx/hfZumSxgxb+v9t+ew+CHTpRrB3Pqf5iaehhCK4 UdGB4wPQ2EZmkrjIZwSFB3l7MteG4Wyz3sM/QQFgJUM8BIgOe5eIQ4fudYjZpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWsJL36L0z37k for ; Fri, 05 Jun 2026 06:40:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31644 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 06:40:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: b9be7608cd13 - main - nuageinit: implement bootcmd support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9be7608cd13888a32815bfb2263e20855706969 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 06:40:29 +0000 Message-Id: <6a226f5d.31644.28ff30f5@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=b9be7608cd13888a32815bfb2263e20855706969 commit b9be7608cd13888a32815bfb2263e20855706969 Author: Baptiste Daroussin AuthorDate: 2026-06-05 05:00:00 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 05:00:00 +0000 nuageinit: implement bootcmd support Add support for the 'bootcmd' cloud-config directive, which allows running commands very early in the boot process, before the hostname is set and before the network is configured. - nuageinit: bootcmd() function follows the same pattern as runcmd(), writing commands to /var/cache/nuageinit/bootcmds instead of runcmds. It is the first entry in the pre_network_calls table. - rc.d/nuageinit: execute /var/cache/nuageinit/bootcmds immediately after /usr/libexec/nuageinit completes, before unmounting the config drive. This ensures bootcmd runs before NETWORKING per cloud-init spec. --- libexec/nuageinit/nuageinit | 18 ++++++++++++++++++ libexec/nuageinit/nuageinit.7 | 5 +++++ libexec/rc/rc.d/nuageinit | 4 ++++ 3 files changed, 27 insertions(+) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 166c3503735a..bfe5f893756e 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -524,6 +524,23 @@ local function disable_root(obj) end end +local function bootcmd(obj) + if obj.bootcmd == nil then return end + local f = nil + for _, c in ipairs(obj.bootcmd) do + if f == nil then + nuage.mkdir_p(root .. "/var/cache/nuageinit") + f = assert(io.open(root .. "/var/cache/nuageinit/bootcmds", "w")) + f:write("#!/bin/sh\n") + end + f:write(c .. "\n") + end + if f ~= nil then + f:close() + nuage.chmod(root .. "/var/cache/nuageinit/bootcmds", "0755") + end +end + local function runcmd(obj) if obj.runcmd == nil then return end local f = nil @@ -794,6 +811,7 @@ if line == nil then -- YAML user-data elseif line == "#cloud-config" then local pre_network_calls = { + bootcmd, sethostname, settimezone, groups, diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 08a64b11ff58..3cc0eceeb2ae 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -362,6 +362,9 @@ does not automatically install them. Ensure the relevant command is listed in your .Nm packages section. +.It Ic bootcmd +An array of commands to be run early in the boot process, +before the hostname is set and before the network is configured. .It Ic chpasswd Change the passwords for users, it accepts the following keys: .Bl -tag -width "expire" @@ -424,6 +427,8 @@ Here is an example of a YAML configuration for .Nm : .Bd -literal #cloud-config +bootcmd: + - kldload if_bridge fqdn: myhost.mynetwork.tld users: - default diff --git a/libexec/rc/rc.d/nuageinit b/libexec/rc/rc.d/nuageinit index 259ce3c138e5..e2f0a85bc3bc 100755 --- a/libexec/rc/rc.d/nuageinit +++ b/libexec/rc/rc.d/nuageinit @@ -89,6 +89,10 @@ nuageinit_start() /usr/libexec/nuageinit /media/nuageinit $citype 2>&1 | tee -a /var/log/nuageinit.log ;; esac + if [ -x /var/cache/nuageinit/bootcmds ]; then + echo "Executing 'bootcmd'" | tee -a /var/log/nuageinit.log + /var/cache/nuageinit/bootcmds 2>&1 | tee -a /var/log/nuageinit.log + fi if [ -n "$drive" ]; then umount /media/nuageinit rmdir /media/nuageinit From nobody Fri Jun 5 11:18:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWzSc6vL1z6gtgp for ; Fri, 05 Jun 2026 11:18: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWzSc4VPbz3vsR for ; Fri, 05 Jun 2026 11:18:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780658288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GMG6q7rLSBWxvuCVbjNQI2DoxagQMRdhOlygje+w2m4=; b=vcVET219OTdmedKnnPI1YnHtsNq4K7QI/A3PkXjcm8r7qfN/YpdPJUIw4WD7pStSyVPMDr oP6VGD4dpPMTTDCl3fOAr61diXQIBF1n0Na2GaxX4doUmC4PoZedGgmi+Qc6bmfXt5A6be YmC/ywQ2OcQc2LMn2PqObkng2PIZGqAOfahI38g8OiwYjCcClbAfpwPJJmQsGCx/z6EFOe l7ZHctK6pwjZsXwsFC/AYjBVW93efXnxZuPJ/m8WHEwIggiK1KsK2SQ99kmvfU5lnYT/W6 Z4t12y0r4bXwGjKLvSMcL9R+YDcEO25rADolUxBehlB96w+eV+/0vBQD9BVcgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780658288; a=rsa-sha256; cv=none; b=sru+An/wzMdgaCyfcARit6hiow7KzKjFK6WInf9I23RjLsLRyYbZ1t6iZcUcunYFjsj8oS 0WyI6z7Kj1kMeJJc1HmuJA6fjbEfjjgjy41y9aHG41UbDtEAwT2Nb2gNKZWHr6Q4PohbzM qat8WKnnzoLgkcjfNEtON8wgI3zdHOnWJq4I2/D9Hh3hUT67v+71N0RSlw9rdaGUjHfX/e Y9VL8gOEHmo5XT+RKLoB7BtJweEv3mNCFEs+tmqHvBdiCRaFpkTqDL5Rq7+bfPXbztySz/ SkuWem04omYtN9Fw00fCq98xlT2pyzVm5trGK4vtC420pmfDXriIi+kkrg0b9g== 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=1780658288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GMG6q7rLSBWxvuCVbjNQI2DoxagQMRdhOlygje+w2m4=; b=QKLy2mdj71iRqk4A9RRw53n6p99VJRwnEZsVQwsFZHYMsBXLHDGci3PjK229N/ZGEhJlbf yonxdFpuQpaqMXVSSQmS5925TtnhPLFnHWpuCgEt7xGmur1fOyP3axBwYlukRSQMVu9KS2 HpL7jzi6CduE6tXmn5cqCI8GlTKDNA9lTTtBMvvawXl/K+6PsOh6AOVdw6xHm6uCFjT1gX nUIYOrMxI86aQHU4f9HFsdhEfBDX8iPiuy0fLkhRKWk1AxM8zj7CbfNKbUfxGOzWZA0ivg kd5/ZZDPnO74SiuckxXS/OvWixoMTcvBjGS8IFO1SI/fWmaKiD5aqKdILCMNVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWzSc3wzJzBNn for ; Fri, 05 Jun 2026 11:18:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1cd6f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 11:18:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 4662263c246f - main - nuageinit: implement resolv_conf support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4662263c246fd9c31cf0f03089845140114445bc Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 11:18:08 +0000 Message-Id: <6a22b070.1cd6f.2048fa23@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=4662263c246fd9c31cf0f03089845140114445bc commit 4662263c246fd9c31cf0f03089845140114445bc Author: Baptiste Daroussin AuthorDate: 2026-06-05 10:06:02 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 11:15:37 +0000 nuageinit: implement resolv_conf support Add support for the 'resolv_conf' cloud-config key which writes directly to /etc/resolv.conf. --- libexec/nuageinit/nuage.lua | 32 ++++++++++++++++++++++++++++++++ libexec/nuageinit/nuageinit | 6 ++++++ libexec/nuageinit/nuageinit.7 | 17 +++++++++++++++++ libexec/nuageinit/tests/nuageinit.sh | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 34cf8c9fc090..7fde2d936f1b 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -837,6 +837,37 @@ local function add_fstab_entry(root, device, mount_point, fstype, options, dump_ return true end +local function write_resolv_conf(root, config) + local path = root .. "/etc/resolv.conf" + local f = io.open(path, "w") + if not f then + warnmsg("unable to open " .. path .. " for writing") + return + end + if config.domain then + f:write("domain " .. config.domain .. "\n") + end + if config.searchdomains then + f:write("search " .. table.concat(config.searchdomains, " ") .. "\n") + end + if config.sortlist then + f:write("sortlist " .. table.concat(config.sortlist, " ") .. "\n") + end + if config.options then + local opts = {} + for k, v in pairs(config.options) do + table.insert(opts, k .. ":" .. v) + end + f:write("options " .. table.concat(opts, " ") .. "\n") + end + if config.nameservers then + for _, ns in ipairs(config.nameservers) do + f:write("nameserver " .. ns .. "\n") + end + end + f:close() +end + local function remove_fstab_entry(root, mount_point) local fstab_path = root .. "/etc/fstab" local f = io.open(fstab_path, "r") @@ -891,6 +922,7 @@ local n = { addfile = addfile, add_fstab_entry = add_fstab_entry, remove_fstab_entry = remove_fstab_entry, + write_resolv_conf = write_resolv_conf, } return n diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index f56d1207cf01..8fef3bb662d1 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -531,6 +531,11 @@ local function disable_root(obj) end end +local function resolv_conf(obj) + if obj.resolv_conf == nil then return end + nuage.write_resolv_conf(root, obj.resolv_conf) +end + local function mounts(obj) if obj.mounts == nil then return end for _, m in ipairs(obj.mounts) do @@ -870,6 +875,7 @@ elseif line == "#cloud-config" then ssh_deletekeys, ssh_keys, network_config, + resolv_conf, disable_root, ssh_pwauth, runcmd, diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index c2981669acb7..8ef9d8b284ea 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -195,6 +195,23 @@ The pass number for .Xr fsck 8 , defaults to 0. .El +.It Ic resolv_conf +An object configuring the content of +.Pa /etc/resolv.conf . +.Pp +The following keys are recognized: +.Bl -tag -width "nameservers" +.It nameservers +A list of IP addresses for DNS name servers. +.It searchdomains +A list of search domains. +.It domain +A single domain name. +.It sortlist +A list of IP/netmask sortlist entries. +.It options +A dictionary of resolver options. +.El .It Ic timezone Sets the system timezone based on the value provided. .Pp diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 11d34fcd98ea..0f758bcac1cd 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -35,6 +35,7 @@ atf_test_case config2_userdata_disable_root atf_test_case config2_userdata_bootcmd atf_test_case config2_userdata_manage_etc_hosts atf_test_case config2_userdata_mounts +atf_test_case config2_userdata_resolv_conf atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files @@ -1140,6 +1141,36 @@ EOF true } +config2_userdata_resolv_conf_head() +{ + atf_set "require.user" root +} +config2_userdata_resolv_conf_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + printf "{}" > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data <; Fri, 05 Jun 2026 11:18: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWzSd5CwXz3vyH for ; Fri, 05 Jun 2026 11:18:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780658289; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOfvABQKSOilWdm9jLMrGgSlMoFQYpi7G5Kw2xiBJuY=; b=th7/bDPbakLmHxrRamRN7Ony7pqqS3UsCPCDR0/z0rxP3ZwESh+GUBXTIEQ3xNMnSS19EV T4w0n0U6bgXTSI+dJye9kRGEfk82t5lXy5x2xWMgEH6c2f0LpZGN7gHqNKzXEg0wge/O9N Ml5bYGV34Z1AryBCB2Avp6MUm671w9pzqhZqqiIIAjfY96/p/PO3yCpL99rp5FZL6ONaX4 tlV+nM6hoFN/g0R5ucqQu7U+66BGYvX6SLxShTnnug8nodaTqZ43Q/oV8B/X77WYET359o iVxVCi0SZFHcKUXEucYmjGEExTjhWl33GVf9XuzbyH+92JNCj/44ZaphxaR8EA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780658289; a=rsa-sha256; cv=none; b=mKAkLrPxtTyJqcdJcNx9CvTfAeK+SaPl4Gupiv37UWhEZWFlWoWx+LhO3BKDwoGicDS9qc l0t2mxeh9lx0c7CaAXDIG701uAHqxCVUqz6rq3/8xb+T3hhmS6lWls43rFoaLU2hC73cLk TUwANUUEtZDBJIFSGFEl+XNRO3V1TIym5Tgyg7prDDvs3kAfCp401PhQ1ejD3wujDO8zid vaM1Y7jHO1X1dmwgGLOt0da6jGtxX5ijBrdIGQG6juqF2NRG/uzm7jHCF9bE2i2vxPGlVI k/Dp9AesSPTlNmwiu0ulMwWqpVtZQtD9P0ZMEcR444YBJRlZIosoIOV6cg2tfw== 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=1780658289; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOfvABQKSOilWdm9jLMrGgSlMoFQYpi7G5Kw2xiBJuY=; b=OG4JijHdga8M1279rnuE/T6fln4hdlqTwM/fyLvjzEXM2/GW5CEPeS6sNp5sWFTsw9inPU tIkZGh3QwPA+cqOtetUQk+8k9e8NnNYYCWewvxwF3hm3HsxwFdiVGXzs9svcfskZ3/FxQT DMhxaI+oMHt9nqVMoo2Z0BfY11i74YifseQExWV55j1/Gs7XkFqCTxJ02kP/M4INf3mRYP TIUYAM7/wnF9X5auW0T+v8owlj224XHnoXWhxVEtxYMUwu37Gd6nKYklNeo+AZZHBknXSh Kav8nQcDGlu9WyWS+/N0WToX9FAovDtef24qaSSjJurzL4fHJFy8Mg9rvyNWBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWzSd4hPNzBkd for ; Fri, 05 Jun 2026 11:18:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d4ed by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 11:18:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 58184a301a1f - main - nuageinit: implement keyboard support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 58184a301a1f0ef0858689f8dcc608cb468d4644 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 11:18:09 +0000 Message-Id: <6a22b071.1d4ed.134492a7@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=58184a301a1f0ef0858689f8dcc608cb468d4644 commit 58184a301a1f0ef0858689f8dcc608cb468d4644 Author: Baptiste Daroussin AuthorDate: 2026-06-05 10:09:51 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 11:17:22 +0000 nuageinit: implement keyboard support --- libexec/nuageinit/nuageinit | 24 ++++++++++++++++++++++++ libexec/nuageinit/nuageinit.7 | 20 ++++++++++++++++++++ libexec/nuageinit/tests/nuageinit.sh | 30 +++++++++++++++++++++++++++++- 3 files changed, 73 insertions(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 8fef3bb662d1..033aa7861f6b 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -536,6 +536,29 @@ local function resolv_conf(obj) nuage.write_resolv_conf(root, obj.resolv_conf) end +local function keyboard(obj) + if obj.keyboard == nil then return end + local layout = obj.keyboard.layout + local variant = obj.keyboard.variant + if layout == nil then + warnmsg("keyboard: missing layout") + return + end + local keymap = layout + if variant then + keymap = layout .. "." .. variant + end + local path = root .. "/etc/rc.conf.d/keymap" + nuage.mkdir_p(root .. "/etc/rc.conf.d") + local f = io.open(path, "w") + if not f then + warnmsg("unable to open " .. path .. " for writing") + return + end + f:write('keymap="' .. keymap .. '"\n') + f:close() +end + local function mounts(obj) if obj.mounts == nil then return end for _, m in ipairs(obj.mounts) do @@ -876,6 +899,7 @@ elseif line == "#cloud-config" then ssh_keys, network_config, resolv_conf, + keyboard, disable_root, ssh_pwauth, runcmd, diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 8ef9d8b284ea..9a20df0787ba 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -212,6 +212,26 @@ A list of IP/netmask sortlist entries. .It options A dictionary of resolver options. .El +.It Ic keyboard +An object configuring the keyboard layout. +.Pp +Sets the +.Va keymap +variable in +.Pa /etc/rc.conf.d/keymap . +.Pp +The following keys are recognized: +.Bl -tag -width "variant" +.It layout +The keyboard layout (e.g., +.Qq fr , +.Qq de , +.Qq us ) . +.It variant +The keyboard variant (e.g., +.Qq acc , +.Qq nodeadkeys ) . +.El .It Ic timezone Sets the system timezone based on the value provided. .Pp diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 0f758bcac1cd..22b002ae2440 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -36,6 +36,7 @@ atf_test_case config2_userdata_bootcmd atf_test_case config2_userdata_manage_etc_hosts atf_test_case config2_userdata_mounts atf_test_case config2_userdata_resolv_conf +atf_test_case config2_userdata_keyboard atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files @@ -1167,7 +1168,33 @@ resolv_conf: - 192.168.1.0/255.255.255.0 EOF atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2 - atf_check -o inline:"domain mydomain.local\nsearch example.com test.local\nsortlist 192.168.1.0/255.255.255.0\noptions timeout:1 attempts:2\nnameserver 9.9.9.9\nnameserver 149.112.112.112\n" cat etc/resolv.conf + atf_check -o match:"domain mydomain.local" cat etc/resolv.conf + atf_check -o match:"search example.com test.local" cat etc/resolv.conf + atf_check -o match:"sortlist 192.168.1.0/255.255.255.0" cat etc/resolv.conf + atf_check -o match:"nameserver 9.9.9.9" cat etc/resolv.conf + atf_check -o match:"nameserver 149.112.112.112" cat etc/resolv.conf + atf_check -o match:"options.*timeout:1" cat etc/resolv.conf + atf_check -o match:"options.*attempts:2" cat etc/resolv.conf + true +} + +config2_userdata_keyboard_head() +{ + atf_set "require.user" root +} +config2_userdata_keyboard_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + printf "{}" > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data <; Fri, 05 Jun 2026 11:18: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWzSf5wRCz3vfM for ; Fri, 05 Jun 2026 11:18:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780658290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mb7vJT3CgFdvMbWR7KXdPA4jsZRgRcVg/uYJKJLK0wU=; b=IjTbw1Q+hPZHePn8fgY8r3wRiUfbQzYViRBE/Rtd4wQVOFvYBUoBJoRBqcy85be7xfcv9P kVWElKWv88LOUZ/WWCbeLaEEOU1H28nCUheIRLmZqOh28LUNTM4l3m+lF4T24Vmu87FS2X PH5k0fLafwElfofrl24fYnpWQ1+TWB3AhmERU25mPzKxD+8wz1l3D28wVCkAK0bpRQKZLi vvek6Xxg6A7EnGIdozNfhSF+Tom4pOKjcIpJGUkJ17+EtS6Je2Pjdw1U+A4HhZ4K2wcRqo vPT+EHJLaMeEPNbBv/e5hoTNjH7du+LUOrWdJ/LMemoExdDhXtVBPiP3iKTerQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780658290; a=rsa-sha256; cv=none; b=manbQgCTK70Fe+pWjZHPj4YrTn7Ait5bIwYiTe+WjC7gaVZpyJ4tsE1ZzF9xX0pW2xN5tV u0DypRHZO0/ZSZylVw1HSrvUyT42IJF18OE/lG95SOwsVHo6+BNT3U74TRl9QhcMarTqCS FxlYEjyzCYQymzG0KxSik7DfZiyuUcIKy1jFsLNcuxGMV9TYupvUw0UoZWbPWdHxpvR+/u 0yZ4ynybS3t78CK1LegkHG+YbmThggx5g9m7zrdmX/6cR+w213gnfIqBRhKSTesC9yJQIX QobNqXE4uNARo/NPzfDHk+eTgnD8uHT32MvdeAier3q1VYAsLr/ZfIHNQZshbQ== 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=1780658290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mb7vJT3CgFdvMbWR7KXdPA4jsZRgRcVg/uYJKJLK0wU=; b=ewHuX7N+d3wImf7NDyINkG+flft4xzbxzRez3/nkp1ODDKCSYVa4OSny9m0+B7t78PqWc8 +uxNeVLqvSVffFHZAeKwHPhinGSMphWaViiIaPVjKZ9cbgBmrd5q8uAKy9Hc98yfqpN0N0 zeLb8R8/1ayzLsqxDVJtuvGXdg1z+yHCd5CTt/4DoWEdq3ltbjVJx0Vdw6IGYUsQsyZRn2 5zFaU+oYuf56aDJm9gVbBkZhSICN2bbVufd9Dippd7HWnPElSTQg2sG/6eRhTrBhsNYVHz ukS+1SBA7hzXP8eX1sOaXSka4IlrPp4MQ81cDQgJIbWBsK9MMXfeOKOQ5HlW0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWzSf5WHczB6f for ; Fri, 05 Jun 2026 11:18:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c5c2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 11:18:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: d7984912385c - main - nuageinit: implement ssh_authkey_fingerprints support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d7984912385cc5a191547dc6c2d73acba25e2239 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 11:18:10 +0000 Message-Id: <6a22b072.1c5c2.104db6c0@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=d7984912385cc5a191547dc6c2d73acba25e2239 commit d7984912385cc5a191547dc6c2d73acba25e2239 Author: Baptiste Daroussin AuthorDate: 2026-06-05 10:38:06 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 11:17:55 +0000 nuageinit: implement ssh_authkey_fingerprints support Add support for the 'ssh_authkey_fingerprints' cloud-config key which logs SSH host key fingerprints to the console via ssh-keygen. --- libexec/nuageinit/nuageinit | 24 ++++++++++++++++++++++++ libexec/nuageinit/nuageinit.7 | 5 +++++ libexec/nuageinit/tests/nuageinit.sh | 21 +++++++++++++++++++++ 3 files changed, 50 insertions(+) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 033aa7861f6b..8e2658f2cd13 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -509,6 +509,29 @@ local function ssh_pwauth(obj) nuage.update_sshd_config("PasswordAuthentication", value) end +local function ssh_authkey_fingerprints(obj) + if obj.ssh_authkey_fingerprints ~= true then return end + local ssh_dir = root .. "/etc/ssh" + local attrs = lfs.attributes(ssh_dir) + if not attrs or attrs.mode ~= "directory" then + return + end + for entry in lfs.dir(ssh_dir) do + if entry:match("^ssh_host_.*_key$") then + local keypath = ssh_dir .. "/" .. entry + local f = io.popen("ssh-keygen -l -f " .. + nuage.shell_escape(keypath), "r") + if f then + local fingerprint = f:read("*a") + f:close() + if fingerprint and fingerprint ~= "" then + io.stderr:write(fingerprint) + end + end + end + end +end + local function ssh_deletekeys(obj) if obj.ssh_deletekeys == nil then return end if obj.ssh_deletekeys then @@ -897,6 +920,7 @@ elseif line == "#cloud-config" then create_default_user, ssh_deletekeys, ssh_keys, + ssh_authkey_fingerprints, network_config, resolv_conf, keyboard, diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 9a20df0787ba..200eb2524fe6 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -232,6 +232,11 @@ The keyboard variant (e.g., .Qq acc , .Qq nodeadkeys ) . .El +.It Ic ssh_authkey_fingerprints +Boolean which determines whether fingerprints of SSH host keys +should be logged to the console. +Defaults to +.Ar false . .It Ic timezone Sets the system timezone based on the value provided. .Pp diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 22b002ae2440..44c681e18046 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -37,6 +37,7 @@ atf_test_case config2_userdata_manage_etc_hosts atf_test_case config2_userdata_mounts atf_test_case config2_userdata_resolv_conf atf_test_case config2_userdata_keyboard +atf_test_case config2_userdata_ssh_authkey_fingerprints atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files @@ -1198,6 +1199,25 @@ EOF true } +config2_userdata_ssh_authkey_fingerprints_head() +{ + atf_set "require.user" root +} +config2_userdata_ssh_authkey_fingerprints_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + printf "{}" > media/nuageinit/meta_data.json + mkdir -p etc/ssh + ssh-keygen -t ed25519 -f etc/ssh/ssh_host_ed25519_key -N "" -q 2>/dev/null + cat > media/nuageinit/user_data <; Fri, 05 Jun 2026 11:18: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWzSh6pPxz3vyW for ; Fri, 05 Jun 2026 11:18:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780658293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4aYVUrlGetXf+ccx9yqt1E/drI0m78YKU/0C4GDzsaY=; b=iERQJhacwdsUvy/E5QLiEPXmpLJ1QaEM2eQ7+QplEQUJ9Jre9cBzu+um+OHysHY10OB2Dl upCTxaE/GCTQ2eNrMR8WZ8iNxBkcqIvWzaKkGCS9LL2vOMqRG3ofADfLYm1beyxMJuDRmZ keMhLddlaABcEWrgUNw/Q4HdfpzVp8EAm/cwHBkNc/vUiEuVxl1n9FnBocxfZ8x5htsOBc eBfhevIT9+NLHQlvP8WZIhTWgJtVZ779xY7H17PzK3od8zZaxtIkfL+GZjOKtOKLDbGu/K 2VZNJzyXfnZhIYe+CnxcnvoBqExNDgi1/Qllw7mEoxbzohyfEocE4Cs3a+JpOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780658293; a=rsa-sha256; cv=none; b=aNTe1wL7xUTzmMwxAkkC6bvaUFWoz5LeT0i4kCh753AaHCdWBFmPeReiuv/z8D8MSZnOFk w1EpUXGGiuOr/VGdI1BmmOqEnuogv7dd+w6bhV1sowIzEBtW9MaHwja9W1LRGw4KeYvrD/ 4h9D865gGXdsZr8wMoVtQdHjyW6Yd/l03Njx4Usm3bWNq4gKfTUQvjo9DhI0uJ9r8jOBNP CJ1FEV+6ZsrNDzXeJjvGrRBEAIhaNLSEkE0tkG4MspgfdQB3ozlvVa4P5jrHDchj+vNVel I1SHdgzbcRIbv/J/gqy7NaT6RHNP1poGQ6BglWMdNc7E0IvNB1I6QA1NEdaFrw== 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=1780658293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4aYVUrlGetXf+ccx9yqt1E/drI0m78YKU/0C4GDzsaY=; b=t/itkySCBzt2SXGq7SSqiUJRhHMubIXpJ9DNhdvsmu+9MyhT0UhChSJq1m8dZKTlZFQapr fHRLGwUT95DOIzgh30wP0GBBHkRgGC5kf5vMV+9WSA5CAw/AxVJOVZiIQ1pFGi95Qk1x6f 4ZnIa+3GPctpR2JSeWWeS5bBtgEDc51QDXQdPwdzYUQryimqdTei+5ugzs3ENX7Z6o1lVz hm25bF0flXBTUNHUisrHYdImvq0uq4bHOTWbuCKLIT86f4XUy7Szzi85EMgsZFtrHVUMxY WtHOIkoPSe17VvIEwMtSiaAlLnIwfEqqAcvNRqiO1aT1ve57iuVdnedd5sYMRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWzSh5NCvzBYw for ; Fri, 05 Jun 2026 11:18:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ef54 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 11:18:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 797dad91ff46 - main - nuageinit: implement mounts support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 797dad91ff468a9bd6cd5d4f720eb4bbac1f454a Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 11:18:07 +0000 Message-Id: <6a22b06f.1ef54.50c7c1cc@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=797dad91ff468a9bd6cd5d4f720eb4bbac1f454a commit 797dad91ff468a9bd6cd5d4f720eb4bbac1f454a Author: Baptiste Daroussin AuthorDate: 2026-06-05 10:05:08 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 11:15:16 +0000 nuageinit: implement mounts support Add support for the 'mounts' cloud-config key which configures mount points by appending entries to /etc/fstab and creating the corresponding directories. --- libexec/nuageinit/nuage.lua | 48 +++++++++++++++++++++++++++++++++++- libexec/nuageinit/nuageinit | 33 +++++++++++++++++++++++++ libexec/nuageinit/nuageinit.7 | 36 +++++++++++++++++++++++++++ libexec/nuageinit/tests/nuageinit.sh | 28 +++++++++++++++++++++ 4 files changed, 144 insertions(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 45e14ef0ce21..34cf8c9fc090 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -821,6 +821,50 @@ local function addfile(file, defer) return true end +local function add_fstab_entry(root, device, mount_point, fstype, options, dump_freq, passno) + local fstab_path = root .. "/etc/fstab" + local f = io.open(fstab_path, "a") + if not f then + warnmsg("unable to open " .. fstab_path .. " for writing") + return false + end + options = options or "rw" + dump_freq = dump_freq or 0 + passno = passno or 0 + f:write(string.format("%s\t\t%s\t\t%s\t\t%s\t\t%d\t\t%d\n", + device, mount_point, fstype, options, dump_freq, passno)) + f:close() + return true +end + +local function remove_fstab_entry(root, mount_point) + local fstab_path = root .. "/etc/fstab" + local f = io.open(fstab_path, "r") + if not f then + return + end + local lines = {} + for line in f:lines() do + local fields = {} + for field in line:gmatch("%S+") do + table.insert(fields, field) + end + if fields[2] ~= mount_point then + table.insert(lines, line) + end + end + f:close() + local nf = io.open(fstab_path, "w") + if not nf then + warnmsg("unable to open " .. fstab_path .. " for writing") + return + end + for _, line in ipairs(lines) do + nf:write(line .. "\n") + end + nf:close() +end + local n = { shell_escape = shell_escape, warn = warnmsg, @@ -844,7 +888,9 @@ local n = { upgrade_packages = upgrade_packages, addsudo = addsudo, adddoas = adddoas, - addfile = addfile + addfile = addfile, + add_fstab_entry = add_fstab_entry, + remove_fstab_entry = remove_fstab_entry, } return n diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 9d2f3c6024c4..f56d1207cf01 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -531,6 +531,38 @@ local function disable_root(obj) end end +local function mounts(obj) + if obj.mounts == nil then return end + for _, m in ipairs(obj.mounts) do + local device, mount_point, fstype, options, dump_freq, passno + if type(m) == "table" then + if m[1] then + -- List format: [device, mount_point, fstype, options, dump_freq, passno] + device = m[1] + mount_point = m[2] + fstype = m[3] + options = m[4] + dump_freq = tonumber(m[5]) or 0 + passno = tonumber(m[6]) or 0 + else + -- Dict format + device = m.name or m.device or m.spec + mount_point = m.mount_point or m.mountpoint + fstype = m.type or m.filesystem or m.fstype + options = m.options or m.opts + dump_freq = tonumber(m.dump) or 0 + passno = tonumber(m.passno) or tonumber(m.pass_no) or 0 + end + end + if device and mount_point and fstype then + nuage.mkdir_p(root .. mount_point) + nuage.add_fstab_entry(root, device, mount_point, fstype, options, dump_freq, passno) + else + warnmsg("Invalid mount entry, skipping") + end + end +end + local function bootcmd(obj) if obj.bootcmd == nil then return end local f = nil @@ -828,6 +860,7 @@ if line == nil then -- YAML user-data elseif line == "#cloud-config" then local pre_network_calls = { + mounts, bootcmd, sethostname, manage_etc_hosts, diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 66a72324f414..c2981669acb7 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -159,6 +159,42 @@ Defaults to Set to .Ar false to skip this behaviour. +.It Ic mounts +A list of mount points to configure. +Each entry is written to +.Pa /etc/fstab +and the mount point directory is created. +.Pp +Each entry can be specified as a list: +.Bd -literal -offset indent +[ device, mountpoint, fstype ] +.Ed +.Pp +or as an object: +.Bd -literal -offset indent +{ device: "...", mountpoint: "...", type: "...", options: "..." } +.Ed +.Pp +The following keys are recognized: +.Bl -tag -width "options" +.It device (or name, spec) +The device to mount. +.It mountpoint (or mount_point) +The mount point directory. +.It type (or fstype, filesystem) +The filesystem type. +.It options (or opts) +The mount options, defaults to +.Qq rw . +.It dump +The dump frequency for +.Xr dump 8 , +defaults to 0. +.It passno +The pass number for +.Xr fsck 8 , +defaults to 0. +.El .It Ic timezone Sets the system timezone based on the value provided. .Pp diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index ac7086183d86..11d34fcd98ea 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -34,6 +34,7 @@ atf_test_case config2_userdata_ssh_deletekeys atf_test_case config2_userdata_disable_root atf_test_case config2_userdata_bootcmd atf_test_case config2_userdata_manage_etc_hosts +atf_test_case config2_userdata_mounts atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files @@ -1113,6 +1114,32 @@ EOF atf_check -o inline:"::1\t\tlocalhost\n127.0.0.1\t\tlocalhost\n" cat etc/hosts } +config2_userdata_mounts_head() +{ + atf_set "require.user" root +} +config2_userdata_mounts_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + printf "{}" > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data <; Fri, 05 Jun 2026 12: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX0cZ6bc5z448L for ; Fri, 05 Jun 2026 12: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=1780661406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SmekEY2In5qSnlOI84o1UjkwQySDBnzfmco7X1YL+I4=; b=knCEoZrPQSlUqNRdiBOATdgRgQcZcxpXeuxl9zlQvBtWJ6DRArD7QiaZ+i3Rk2iQ0TXWYd m1HeTx6jY8E2JPgotAcsMwllZU9V7bTFzsXv2oJwzykf39OtVKjGDlhKhJHwy84QjG8ywl BDZ4MQhnY1dG8lIHG9FmIuxqIR/JRC+x8i681lEk8U0vcvAf41PVT4P1y8cb/qB/r+uVbN RJw+eZgt9F5hNv6ozvfC6xFH6uILSggVPg1VcadVXBrfkJ7dVsqfbu2z9FT7E7ck0vRCUH UHuZE5zfHZUjzZFAUFeCgjH6XCtQk8jySbr0CVfg7DOkU5shynmwAuskIr0d4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780661406; a=rsa-sha256; cv=none; b=YD3N3KP1XQnmMHVhdMveLW2TpR0csPeKRvMlfB/fJzmes1oFgE0lm9/Zj2/pQDUfD7tf9z s48m4IxK8Vj6BMyJmq6XGTemYyztElWqP36EBJIJP/UBspF0yNnRX+SeqSyUzWoMpSdEpG 76LeQEu9t0D/Nb+IcWiQIyS1QBfR5SKDrkowiAzbbwe9vfR2L39z/PsUdA8PHNSSFNUPIs roqm2+zPE6a0C/Kl3H0jNNXByGeIg6hZv1qRnnKIVtB36e8TIz7/Q+BDHWn0AZAyFrg9TO LAqspPtLnBD7updTuzgmW2WyWFY4fFQzsAwVAaFSgBHkIu5jgyWd6k+lmCM4oA== 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=1780661406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SmekEY2In5qSnlOI84o1UjkwQySDBnzfmco7X1YL+I4=; b=BZWT/+3AwFG3jd5qi8WI9dkDmp/AJ0TWGq0P5GK0CnMAr1DA0WaOQdBqCpHyN/TWmGC7iV UQjCNcM6f+SswXx0G60zCE4mfu9oIVgFlWrYwqItB7MW5CsyfEXxhch//0JkMjjEWXkTCg ncgtVMlDi4PX3N1yDHJdBnLDDTdwIYTd5gL/QD0/8Q0pXyoevJl9fqe5ntJU09nOJUZ3qs xdHvDfmticauLKPg5aNJywddNZrItR93AcZw8qrEmyA5zJ5hjBwc1TUSZwxscdhfp8DSK6 y0I5TJCJVpeowYsJFf7ymr6Y88NJOe+Qxp6RK5zs9QIV21LwyI+mRotGYJZPtw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cZ5gfhzCZl for ; Fri, 05 Jun 2026 12:10:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24cd3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 12:10:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: fb97712a7f13 - main - LinuxKPI: 802.11: implement ieee80211_start_tx_ba_session() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb97712a7f13b85ca707f52f206a2944ee66cf2c Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 12:10:06 +0000 Message-Id: <6a22bc9e.24cd3.e6a64df@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=fb97712a7f13b85ca707f52f206a2944ee66cf2c commit fb97712a7f13b85ca707f52f206a2944ee66cf2c Author: Bjoern A. Zeeb AuthorDate: 2026-04-26 19:58:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-06-05 12:09:22 +0000 LinuxKPI: 802.11: implement ieee80211_start_tx_ba_session() Implement ieee80211_start_tx_ba_session() as a start for rtw8x (and select mt76 chipsets) to support more throughput. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 6 +- sys/compat/linuxkpi/common/src/linux_80211.c | 102 ++++++++++++++++++++++ 2 files changed, 105 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 3c783d1f3c8a..c77d37e72fd1 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1197,6 +1197,7 @@ void linuxkpi_ieee80211_schedule_txq(struct ieee80211_hw *, struct ieee80211_txq *, bool); void linuxkpi_ieee80211_handle_wake_tx_queue(struct ieee80211_hw *, struct ieee80211_txq *); +int linuxkpi_ieee80211_start_tx_ba_session(struct ieee80211_sta *, uint8_t, int); /* -------------------------------------------------------------------------- */ @@ -2118,10 +2119,9 @@ ieee80211_sta_eosp(struct ieee80211_sta *sta) } static __inline int -ieee80211_start_tx_ba_session(struct ieee80211_sta *sta, uint8_t tid, int x) +ieee80211_start_tx_ba_session(struct ieee80211_sta *sta, uint8_t tid, int timeout) { - TODO("rtw8x"); - return (-EINVAL); + return (linuxkpi_ieee80211_start_tx_ba_session(sta, tid, timeout)); } static __inline int diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 901c59702840..7e55e0912bb1 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6441,6 +6441,108 @@ net80211_only: } #endif +int +linuxkpi_ieee80211_start_tx_ba_session(struct ieee80211_sta *sta, uint8_t tid, + int timeout) +{ + struct lkpi_sta *lsta; + struct ieee80211_hw *hw; + struct lkpi_hw *lhw; + struct ieee80211_tx_ampdu *tap; + int worked; + + lsta = STA_TO_LSTA(sta); + + /* If tid is out of range, fail gracefully. */ + /* XXX-BZ are we limited to 8? */ + if (tid >= IEEE80211_NUM_TIDS) { + net80211_vap_printf(lsta->ni->ni_vap, "%s: tid %u out of range " + ">= %u\n", __func__, tid, IEEE80211_NUM_TIDS); + return (-EINVAL); + } + + hw = lsta->hw; + lhw = HW_TO_LHW(hw); + + /* No ampdu_action support, just error. */ + if (lhw->ops->ampdu_action == NULL) { + net80211_vap_printf(lsta->ni->ni_vap, "%s: (*ampdu_action) " + "not supported\n", __func__); + return (-ENOTSUPP); + } + + /* Does HW allow us to set this up? */ + if (!ieee80211_hw_check(hw, AMPDU_AGGREGATION)) { + net80211_vap_printf(lsta->ni->ni_vap, "%s: !AMPDU_AGGREGATION\n", + __func__); + return (-ENOTSUPP); + } + if (ieee80211_hw_check(hw, TX_AMPDU_SETUP_IN_HW)) { + net80211_vap_printf(lsta->ni->ni_vap, "%s: TX_AMPDU_SETUP_IN_HW\n", + __func__); + return (-EPERM); + } + + /* We need at least HT or higher support enabled. */ + if (!sta->deflink.ht_cap.ht_supported && + !sta->deflink.vht_cap.vht_supported && + !sta->deflink.he_cap.has_he && + !sta->deflink.eht_cap.has_eht) { + net80211_vap_printf(lsta->ni->ni_vap, "%s: HT or later not " + "supported\n", __func__); + return (-ENOTSUPP); + } + +#ifdef __notyet__ + /* + * We need some rate limiting/disabling in case we try too hard and + * get NACKed over and over. + * XXX-BZ This check should likely go to addba_req along with a counter. + */ + if (lsta->block_ba) + return (-EACCESS); +#endif + + /* XXX-BZ locking? */ + + /* Do we have a running session already? */ + tap = &lsta->ni->ni_tx_ampdu[tid]; + if (IEEE80211_AMPDU_REQUESTED(tap)) { + net80211_vap_printf(lsta->ni->ni_vap, "%s: " + "AMPDU requested/running\n", __func__); + return (-EINPROGRESS); + } + + /* Tell net80211 to setup an aggr sessions. */ + /* XXX-BZ we have no way to carry the timeout forward easily. */ + worked = ieee80211_ampdu_tx_request_ext(lsta->ni, tid); + TRACEOK("ieee80211_ampdu_tx_request_ext %d", worked); + + if (worked != 1) { + net80211_vap_printf(lsta->ni->ni_vap, "%s: " + "ieee80211_ampdu_tx_request_ext returned %d != 1\n", + __func__, worked); + return (-EINVAL); + } + + /* + * How do we make sure the EAPOL handshake has completed? + * Let ieee80211_output do it. + */ + if (1) { + /* Immediately trigger the setup and output of the action frame. */ + worked = ieee80211_ampdu_request(lsta->ni, tap); + if (worked != 1) { + net80211_vap_printf(lsta->ni->ni_vap, "%s: " + "ieee80211_ampdu_request returned %d != 1\n", + __func__, worked); + return (-EAGAIN); + } + } + + return (0); +} + static void lkpi_ic_getradiocaps_ht(struct ieee80211com *ic, struct ieee80211_hw *hw, uint8_t *bands, int *chan_flags, enum nl80211_band band) From nobody Fri Jun 5 12:10:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cc2drzz6gy3G for ; Fri, 05 Jun 2026 12:10: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX0cb6cg2z44Yc for ; Fri, 05 Jun 2026 12:10:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780661407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4KKIUFTnOTnFwIbyJzsqxgR1NhF7h2RupPZD7lPfJLE=; b=G84m8dOULcJMvpJ0STPDbC+S4t533IhadXCwz+SpuyIeP1BFxg+09tWuO22jITjNuKRszE q6GOEXvAfODacfXhTpK7mSdrhM679GTogG0ExbfM71DNuwYsXT+VTbdnos3uRNjjqfnlTx YsNTYgxl15p3Ealo1b7Gu5UaNbi33K2uPodsASJkamwMyaepJRZfLw/1skO025kxOpGALo aQCcSmp7IyOJmzZH26cQDJP+X44DCx8VX7Es3b4udJqvjnmVDGXBuy3tCn9/CIQ34uFr8m /t2CbvLev0sDyitVcrdCBhrNrJ/PgtERfvCICQnOOsN9z/AZMDkvv+D7Loctkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780661407; a=rsa-sha256; cv=none; b=jHarxu9bV/VK2dqJ9zFoH/BzABZ7bTjVEbpzIYPf28D+P9hF7D5q7g46D3nm3I2p0mASJV VfZ54XMjp+d7OZ8xgxY9W7A6RTUELSOGOfASQcJ8ZYvidAXCO7yjhvv49HteeWrmxHI6lQ NKzAIhe7Hsll+cggoeOhaOFfK604mhWfoNukoKyvs9MNRIGTsA3JziRfcYS14SHtc9IJYh WsWmG4gVRgl/yrX0VCklCjA2R6h3NOH/n7Rck3zLChFENDFNI2zyhX7JJJu8OSeYodhDsu ypNKlho6JSNUxdPHMWt9/rOsQDXYSqFRPZO6F+MxNnaUqU+uFxB34pA6iQRTog== 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=1780661407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4KKIUFTnOTnFwIbyJzsqxgR1NhF7h2RupPZD7lPfJLE=; b=tJUH+6AlNLaAr/Web4bXB6R9ZuKeC6GOU67E7uyfzq0Ii1CUtEpWdIQ14yosyKSEcSfgfe WbrsgyH+GQeXcItv2YJNdGJY02bgWWVj1T1ol3fbIuuTmA44SqvRxjIYekDffK/wwHk0gk ayaAHu1mPZkl2s583sOa9McVnRCfOW71e3UyHwIDT736aaO8HlDYL2/tij493kE6rRHgjf lIoL6cwaiaopS5RQnAxqZ2GmaE6KFJHfVlfWMsW61nSw+ci6w4RFgwKDe8F9K+0iMog6hb 5/O1ZzDSAXDqLLVoAxMa8FKuGu1KzP+RBOlqVaHXShB27kp/aIXSvC3TGuGMPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cb67hLzCZn for ; Fri, 05 Jun 2026 12:10:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 247c8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 12:10:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: a993d281111b - main - LinuxKPI: 802.11: add note about rate control support under boot -v List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a993d281111bef7c760340321e372a7cb6a759a0 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 12:10:07 +0000 Message-Id: <6a22bc9f.247c8.28ffc555@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a993d281111bef7c760340321e372a7cb6a759a0 commit a993d281111bef7c760340321e372a7cb6a759a0 Author: Bjoern A. Zeeb AuthorDate: 2026-04-26 20:04:46 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-06-05 12:09:22 +0000 LinuxKPI: 802.11: add note about rate control support under boot -v We currently do not support rate control in LinuxKPI. As more drivers and chipsets gain suppport for higher throughput add a note under bootverbose if we hit one of these cases (currently only older iwlwifi chipsets). Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 7e55e0912bb1..b6ad148fb587 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -7074,6 +7074,12 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) lkpi_enable_hw_scan(lhw); + /* Does the driver/firmware handle rate countrol? */ + /* Currently only older iwlwifi mvm devices are in this category. */ + if (bootverbose && !ieee80211_hw_check(hw, HAS_RATE_CONTROL)) + ic_printf(ic, "NOTE: rate control not supported by LinuxKPI; " + "expect low rates only\n"); + /* Does HW support Fragmentation offload? */ if (ieee80211_hw_check(hw, SUPPORTS_TX_FRAG)) ic->ic_flags_ext |= IEEE80211_FEXT_FRAG_OFFLOAD; From nobody Fri Jun 5 12:10:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cd4d5Rz6gyLj for ; Fri, 05 Jun 2026 12:10: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX0cd1sDjz44fj for ; Fri, 05 Jun 2026 12:10:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780661409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aoZabqaD0eUlBTbkGvlnOTPPNNLcuUV9Senbu+A8geA=; b=BdKSWUtmW1ZRe8FGYY6VWcuUEbdKOCOOlpuRW9ITwHMk5u36IDNUkiuiwA65mHMlNIXgHp lyR2xvsVw4+IVnFAPbFcQNz0WpxxDFLS8JY0tuQFggMutEHKP6t4RdsORaoAuPRLPK1c2g MutGN8gYGVjK7/h6NsJbhaWrQAVpfe8PR9jj/3rXOWhJ0O1aFoRawzEE94DNg3cI8VxkmE K7eoMemgscWS/53afKpMEBMDROtZVO1imMRWUYNKpUna/WNXBjptz3OOTDfgrUEngZT6YA vcFH5DduRLhE3XWHHYq7gabJfqxSMJuzEWkifCMiylYYWjQ95YBYUr5J9giOfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780661409; a=rsa-sha256; cv=none; b=AXnHYHNjg2rvn6ND9NbV6eIfX721TRYu8EE9urUGN6mMthhPZLBHi8V5iE032z/z5pEzyX kwmQGRLNQkVMdcLIqp3ng5vcBugfguWft6TnlgbAM2K0+J66yFldi9Fleg6M85VS+/cBXI y2PG9tZiYaqVScKl89gHaGJGJsM4Xi6WcQGATQQ+JkxvrdRUsLXyQdTkdZB8l7OSQRK29T MR9pgWIOxV4vwb8MSNziXSvaYstgCexHbyn4/duW+wwpqocwtugheUEuyGxxI/QjpxhFJ2 Co/BImk9/4auBFfckLag86ksJcSrXw4DbEyl+LRTlT53dLTimFCR05DuezBOzQ== 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=1780661409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aoZabqaD0eUlBTbkGvlnOTPPNNLcuUV9Senbu+A8geA=; b=kW8JwRTH6VKX40SaPA6EComVSU9pw+WEGt6O5YVGzMNjuEyQTFq8a1jkMgFu/F5nCurDz7 wFTkJUScF7ZkmaWoa6Y3Nzzh+u7US1Vdqfi5K2O3mb5HmjlDstSOMAGxvBK7CIa0g9knaf 79hVZTz7AX9vULXhHbL/Ou5pS2eegKIRqmvIQRpmNgbrCIjrAOeO/d3CbHewUYHPmCovDH mI+9bTmcCQXuJ0tgWwoj7ye5uS5y/hGBzS1o1h8s1eW5GEtkyW8gUFXHKs8hEz+R3Bia0l 9Nh1yGE/X4j+e9TsFPTCjE645/YOTIBeYcgbpME3xr1gaTGh5j192CKwVAkbUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cc6bbZzCk2 for ; Fri, 05 Jun 2026 12:10:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2568b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 12:10:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 22ac9be92d1d - main - LinuxKPI: 802.11: adjust tracing for action/ampdu/addba functions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 22ac9be92d1da75989f67d6057a57c69b289b82d Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 12:10:08 +0000 Message-Id: <6a22bca0.2568b.4790e021@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=22ac9be92d1da75989f67d6057a57c69b289b82d commit 22ac9be92d1da75989f67d6057a57c69b289b82d Author: Bjoern A. Zeeb AuthorDate: 2026-04-26 22:43:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-06-05 12:09:22 +0000 LinuxKPI: 802.11: adjust tracing for action/ampdu/addba functions Adjust the pure debug tracing to no longer be under HT and add more to the other functions we are interested in, so we can follow the calls more easily. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index b6ad148fb587..774bcc531ad3 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6010,7 +6010,7 @@ lkpi_ic_recv_action(struct ieee80211_node *ni, const struct ieee80211_frame *wh, ic = ni->ni_ic; lhw = ic->ic_softc; - IMPROVE_HT("recv_action called; nothing to do in lkpi; make debugging"); + TRACEOK("recv_action called"); return (lhw->ic_recv_action(ni, wh, frm, efrm)); } @@ -6024,7 +6024,7 @@ lkpi_ic_send_action(struct ieee80211_node *ni, int category, int action, void *s ic = ni->ni_ic; lhw = ic->ic_softc; - IMPROVE_HT("send_action called; nothing to do in lkpi; make debugging"); + TRACEOK("send_action with action %d called", action); return (lhw->ic_send_action(ni, category, action, sa)); } @@ -6039,7 +6039,7 @@ lkpi_ic_ampdu_enable(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) ic = ni->ni_ic; lhw = ic->ic_softc; - IMPROVE_HT("ieee80211_ampdu_enable called; nothing to do in lkpi for now; make debugging"); + TRACEOK("ieee80211_ampdu_enable called"); return (lhw->ic_ampdu_enable(ni, tap)); } @@ -6074,6 +6074,8 @@ lkpi_ic_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, lsta = ni->ni_drv_data; sta = LSTA_TO_STA(lsta); + TRACEOK("ADDBA REQ tid %u", tap->txa_tid); + if (!lsta->added_to_drv) { ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n", __func__, lsta, ni, sta); @@ -6134,6 +6136,8 @@ lkpi_ic_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap lsta = ni->ni_drv_data; sta = LSTA_TO_STA(lsta); + TRACEOK("ADDBA RESP status %d (0 == SUCCESS) tid %u", status, tap->txa_tid); + if (!lsta->added_to_drv) { ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n", __func__, lsta, ni, sta); @@ -6252,6 +6256,8 @@ lkpi_ic_addba_response_timeout(struct ieee80211_node *ni, struct ieee80211_tx_am ic = ni->ni_ic; lhw = ic->ic_softc; + TRACEOK("ADDBA RESP TIMEO tid %u", tap->txa_tid); + IMPROVE_HT(); lhw->ic_addba_response_timeout(ni, tap); From nobody Fri Jun 5 12:10:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cf2l35z6gy5v for ; Fri, 05 Jun 2026 12:10: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX0cf0b0Yz44fs for ; Fri, 05 Jun 2026 12:10:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780661410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YdBiXEcNwOfLP8/iy7aM8bSociOFE7CoDPnQPCy7tLk=; b=xC9MA+J3Z/6iisSiNolPuaSRFS6MCQGNUd/nYP29taE2ktn0PeJKxA9qTxMjgO6ysBmm9N HCXUIPYyU9ZOEy/Dz6DozEorYHNeB2orJnq4GFMJ/zBI6AU06tFmSISnIDvcXwosPpIivI UAVE7OKABsZ0bgqzbs8zhJJM9P0qKMhXA5DlJLP9ATd9hLHO7D5IGs+dygp1/4opkDX74a 25OzDwk8DA0GWHMyAaxmvAqnlyZik45JGpSKAJRAhipiiGYVVapZrGfw9q47FfVkBGARJZ eMeLOAJo6ITCULMAQBP9+DiSoKnowNi/UZnHt9fvTuitLGKL/Ch693dPciHbhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780661410; a=rsa-sha256; cv=none; b=KyhLnDimVceWwzK2NzKp06CR8MFKnMz0M9qXyqpiC/7MPqPRrpVsYtXyykyyvJTspJKdJT DPxOwwer4t+D6nFkyT+ftY1TALXjMLME+4iiN32rNaLuYDQKAcOgdQkkDz3MV6mDyBiIId K/leIDfJYJsPlasV/D1IeshVISLCEUiSHkcAiI/GgF/8/HBSZlqtRiSofS5SkHA2K2sgaC iXdv7JoWz7Q1z+YybNY0vBUI/OYL30mYziTwlzKxz//79s8mxXVNLzmzPL5qHGgvZMwpca GtcG1/GShsF7oC7CnnRO2lGLkjL37k/0/dh2EZHpqOQQgUQ7BAdaF7JbDHlMTg== 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=1780661410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YdBiXEcNwOfLP8/iy7aM8bSociOFE7CoDPnQPCy7tLk=; b=tt4tmvnDMzljiaueyoRll/UEtgNlvLwlUj4oColyhdOhvMunkcadZC4QXJSgo3kfItlZr3 0biZpBKJnqy/SXZX6MdgK1Y7oG0Rl2GtISpAMHrn7nlpJD/J1x0UvOTrZICJe/k0Kyv8jm 9JtaLYLcvCD9xEwJXyb6dITX2sPy+in4d2maWlwvgm2mafSLfJl/vNbe9luCZG4ve7L3Iz vWp9MWWCKrRxSvPpNTI5A4ovLwf74MFSRgNwXnFtu59+qup8PdTCs+CQU4cb5aHW+lR2Ny 4Ow/tgKc+gaRwFLCvClE0yPgkRMCdgUU80EBOnpD2+sTajiRi47vhckd3tZk3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cd70M6zClX for ; Fri, 05 Jun 2026 12:10:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 235ff by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 12:10:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 259efa730c3d - main - LinuxKPI: 802.11: make *addba* work better List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 259efa730c3d5c52d6ef0faa1d57d66eea5afa8e Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 12:10:09 +0000 Message-Id: <6a22bca1.235ff.5277b1ac@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=259efa730c3d5c52d6ef0faa1d57d66eea5afa8e commit 259efa730c3d5c52d6ef0faa1d57d66eea5afa8e Author: Bjoern A. Zeeb AuthorDate: 2026-04-27 00:48:06 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-06-05 12:09:23 +0000 LinuxKPI: 802.11: make *addba* work better Fill in more details for lkpi_ic_addba_request(), lkpi_ic_addba_response(), and lkpi_ic_addba_response_timeout(). Migrate the ltxq flags seen_dequeue and stopped to a bitfield and add %b support to log messages. This seemed the better approach after needing an additional stop field for BA while we have to hold packets from being transmitted. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 79 ++++++++++++++++++++++------ sys/compat/linuxkpi/common/src/linux_80211.h | 12 ++++- 2 files changed, 74 insertions(+), 17 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 774bcc531ad3..11c37f9529de 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -891,8 +891,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], } else { ltxq->txq.ac = ieee80211e_up_to_ac[tid & 7]; } - ltxq->seen_dequeue = false; - ltxq->stopped = false; + ltxq->flags = 0; ltxq->txq.vif = vif; ltxq->txq.tid = tid; ltxq->txq.sta = sta; @@ -2179,7 +2178,7 @@ lkpi_wake_tx_queues(struct ieee80211_hw *hw, struct ieee80211_sta *sta, continue; ltxq = TXQ_TO_LTXQ(sta->txq[tid]); - if (dequeue_seen && !ltxq->seen_dequeue) + if (dequeue_seen && (ltxq->flags & LKPI_TXQ_SEEN_DEQUEUE) == 0) continue; LKPI_80211_LTXQ_LOCK(ltxq); @@ -5793,8 +5792,8 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) if (sta->txq[tid] == NULL) continue; ltxq = TXQ_TO_LTXQ(sta->txq[tid]); - ic_printf(ic, " tid %d ltxq %p seen_dequeue %d stopped %d skb_queue_len %u\n", - tid, ltxq, ltxq->seen_dequeue, ltxq->stopped, skb_queue_len(<xq->skbq)); + ic_printf(ic, " tid %d ltxq %p flags %b skb_queue_len %u\n", + tid, ltxq, ltxq->flags, LKPI_TXQ_FLAGS_BITS, skb_queue_len(<xq->skbq)); } } ieee80211_free_node(ni); @@ -6091,17 +6090,29 @@ lkpi_ic_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, params.tid = tap->txa_tid; params.amsdu = false; - IEEE80211_UNLOCK(ic); + /* We get called from if_transmit all the way up unlocked in net80211. */ + IEEE80211_UNLOCK_ASSERT(ic); wiphy_lock(hw->wiphy); error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); wiphy_unlock(hw->wiphy); - IEEE80211_LOCK(ic); - if (error != 0) { + if (error == IEEE80211_AMPDU_TX_START_IMMEDIATE) { + ic_printf(ic, "%s: mo_ampdu_action returned AMPDU_TX_START_IMMEDIATE. " + "ni %p tap %p\n", __func__, ni, tap); + } else if (error != 0) { ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", __func__, error, ni, tap); return (0); } + if (sta->txq[tap->txa_tid] != NULL) { + struct lkpi_txq *ltxq; + + ltxq = TXQ_TO_LTXQ(sta->txq[tap->txa_tid]); + TRACEOK("ADDBA REQ ltxq tid %u flags %b qlen %d", tap->txa_tid, + ltxq->flags, LKPI_TXQ_FLAGS_BITS, skb_queue_len(<xq->skbq)); + ltxq->flags |= LKPI_TXQ_STOPPED_BA; + } + return (lhw->ic_addba_request(ni, tap, dialogtoken, baparamset, batimeout)); } @@ -6171,17 +6182,27 @@ lkpi_ic_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap params.amsdu = false; } - IEEE80211_UNLOCK(ic); + /* We are called all they way up from ieee80211_input* without lock. */ wiphy_lock(hw->wiphy); error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); wiphy_unlock(hw->wiphy); - IEEE80211_LOCK(ic); if (error != 0) { ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", __func__, error, ni, tap); return (0); } + if (sta->txq[tap->txa_tid] != NULL) { + struct lkpi_txq *ltxq; + + ltxq = TXQ_TO_LTXQ(sta->txq[tap->txa_tid]); + TRACEOK("ADDBA RESP ltxq tid %u flags %b qlen %d", tap->txa_tid, + ltxq->flags, LKPI_TXQ_FLAGS_BITS, skb_queue_len(<xq->skbq)); + ltxq->flags &= ~LKPI_TXQ_STOPPED_BA; + + lkpi_80211_mo_wake_tx_queue(hw, sta->txq[tap->txa_tid], true); + } + IMPROVE_HT("who unleashes the TXQ? and when?, do we need to ni->ni_txseqs[tid] = tap->txa_start & 0xfff;"); return (lhw->ic_addba_response(ni, tap, status, baparamset, batimeout)); @@ -6252,14 +6273,40 @@ lkpi_ic_addba_response_timeout(struct ieee80211_node *ni, struct ieee80211_tx_am { struct ieee80211com *ic; struct lkpi_hw *lhw; + struct lkpi_sta *lsta; + struct ieee80211_sta *sta; ic = ni->ni_ic; lhw = ic->ic_softc; + lsta = ni->ni_drv_data; + sta = LSTA_TO_STA(lsta); TRACEOK("ADDBA RESP TIMEO tid %u", tap->txa_tid); IMPROVE_HT(); + if (!lsta->added_to_drv) { + ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n", + __func__, lsta, ni, sta); + goto n80211; + } + + /* We need to re-enable the txq and get packets out. */ + if (sta->txq[tap->txa_tid] != NULL) { + struct lkpi_txq *ltxq; + struct ieee80211_hw *hw; + + ltxq = TXQ_TO_LTXQ(sta->txq[tap->txa_tid]); + TRACEOK("ADDBA RESP TIMEO ltxq tid %u flags %b qlen %d", + tap->txa_tid, ltxq->flags, LKPI_TXQ_FLAGS_BITS, + skb_queue_len(<xq->skbq)); + ltxq->flags &= ~LKPI_TXQ_STOPPED_BA; + + hw = LHW_TO_HW(lhw); + lkpi_80211_mo_wake_tx_queue(hw, sta->txq[tap->txa_tid], true); + } + +n80211: lhw->ic_addba_response_timeout(ni, tap); } @@ -8592,14 +8639,14 @@ linuxkpi_ieee80211_tx_dequeue(struct ieee80211_hw *hw, IMPROVE("wiphy_lock? or assert?"); skb = NULL; ltxq = TXQ_TO_LTXQ(txq); - ltxq->seen_dequeue = true; + ltxq->flags |= LKPI_TXQ_SEEN_DEQUEUE; - if (ltxq->stopped) + if ((ltxq->flags & (LKPI_TXQ_STOPPED|LKPI_TXQ_STOPPED_BA)) != 0) goto stopped; lvif = VIF_TO_LVIF(ltxq->txq.vif); if (lvif->hw_queue_stopped[ltxq->txq.ac]) { - ltxq->stopped = true; + ltxq->flags |= LKPI_TXQ_STOPPED; goto stopped; } @@ -9102,10 +9149,10 @@ lkpi_ieee80211_wake_queues(struct ieee80211_hw *hw, int hwq) continue; ltxq = TXQ_TO_LTXQ(sta->txq[tid]); - if (!ltxq->stopped) + if ((ltxq->flags & LKPI_TXQ_STOPPED) == 0) continue; - ltxq->stopped = false; + ltxq->flags &= ~LKPI_TXQ_STOPPED; if (!skb_queue_empty(<xq->skbq)) lkpi_80211_mo_wake_tx_queue(hw, sta->txq[tid], false); @@ -9245,6 +9292,8 @@ linuxkpi_ieee80211_next_txq(struct ieee80211_hw *hw, uint8_t ac) goto out; if (ltxq->txq_generation == lhw->txq_generation[ac]) goto out; + if ((ltxq->flags & (LKPI_TXQ_STOPPED|LKPI_TXQ_STOPPED_BA)) != 0) + goto out; IMPROVE("check AIRTIME_FAIRNESS"); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index f33075b354d2..063be4251ccc 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -150,12 +150,20 @@ struct lkpi_radiotap_rx_hdr { struct lkpi_hw; +enum lkpi_txq_flags { + LKPI_TXQ_SEEN_DEQUEUE = 0x01, + LKPI_TXQ_STOPPED = 0x02, + LKPI_TXQ_STOPPED_BA = 0x04, +}; +#define LKPI_TXQ_FLAGS_BITS \ + "\010\1SEEN_DEQUEUE\2STOPPED\3STOPPED_BA" + struct lkpi_txq { TAILQ_ENTRY(lkpi_txq) txq_entry; struct mtx ltxq_mtx; - bool seen_dequeue; - bool stopped; + enum lkpi_txq_flags flags; + uint32_t txq_generation; struct sk_buff_head skbq; uint64_t frms_enqueued; From nobody Fri Jun 5 12:10:11 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cg50zjz6gyGK for ; Fri, 05 Jun 2026 12: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX0cg0pYwz44TY for ; Fri, 05 Jun 2026 12: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=1780661411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3AqLmKEJl0fak1N01yRIPyMZVyLg1HedB4uZbrjFSh0=; b=RyUKV6c7QlwVeaaYt68sI3pppV9QYebv6USoIqE6Bj0F1h6ephOIlLJulk9tkmrIrNkor8 QxctLyyeip/IuQTZCXJyMyOMGMuJeDpBs7I40Y5V+BADCzr2BgUPUCqDfJ40CrCP3SWxwt 46u5uiLuKe6/F8uL/3Drzy19HYbLRTd0cmW0HovFmaPxFrVSPHTvvyo3QOxqf6UVJ534+d BlEYCWP45G8U0iYKz2ttZyvsP+W8xlh3j7yfxUF4Ym9iwhxqnLkcLeQ+OWHed43+rixdtt zj81ALvlK+lJsd4gTSKAeGvoW4MfyAZSmWbWOws0v+j9HkMqN+9pFBoisZIXiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780661411; a=rsa-sha256; cv=none; b=ii0QuWBfBXNqmzhifJVb7Guf5mzrk3FZNjml/LNv6l6sIUy0afLQr6AOlpyCn4IJAepQX5 +xPjqr8S84IhL0m1PHJBOFCw7tx68dykhGZynt+vQONzVuJP0EQIB5OkfkGxNuE2QB5Du0 S8IvPjTqKOfMl1Sr/ry4msw+6TFrYTlXiR9Z//+L/GAWVRp/Dn+5eZcMF3xzU0Z5cACCjA 8L25Y0cGmQq5f0eqk46iQwW0gqAFKOcG0vNBBpNBERhtKuaG7pRQCzXFPFX9T0m2qqp9fQ lqOx8tAp+10UVnYILCmA2bQABeGZRr8l1Cx9syTITXb/ZPAhRve9Ad6+GeGf+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=1780661411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3AqLmKEJl0fak1N01yRIPyMZVyLg1HedB4uZbrjFSh0=; b=Gnxy8z7Gq3r5A5ohD7JtnwVk+nYG2Gg3quuW0MbK89naK4YQ5mY+ddnlmgADv99s7P4Rv4 h/61Hsvw5wS7SThqABx0jtV/f1hZxHhASQ7nb0T4M82ZPpH0vn8mxXAxhbjWZLYtdD3Llc p9+L/4vwGUq/laaqjtpMXv59QLFicy/b/SbUVaVptC8CPQRvtYzqJwgCmIFbfD6DUm3oeW XVXr9NlJr/J9Ik8+kacgC9G+8dMYz4IjSpoMnssM9Xxqkyo/dGPz5hPjQbHsMykjsgy6Ef +rkwFqR9VD72beTcXMhrMZNKzOl1lz3T+pG5rgQQh4fxYtAuKySM3xTMQ2cYZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cg0MYqzBp7 for ; Fri, 05 Jun 2026 12:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24c61 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 12:10:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: cda79e505e21 - main - LinuxKPI: 802.11: set flag if frame should be part of an A-MPDU List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cda79e505e2120fe3b4c4f16cb18d92bf2e01e4e Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 12:10:11 +0000 Message-Id: <6a22bca3.24c61.76fa22f9@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=cda79e505e2120fe3b4c4f16cb18d92bf2e01e4e commit cda79e505e2120fe3b4c4f16cb18d92bf2e01e4e Author: Bjoern A. Zeeb AuthorDate: 2026-04-27 00:55:27 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-06-05 12:09:23 +0000 LinuxKPI: 802.11: set flag if frame should be part of an A-MPDU In the output path where we are sending a frame to the driver mark it if it should be part of an A-MPDU based on its tid, type, and whether net80211 thinks that we are in the right state for this. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 11c37f9529de..c6dcae2bffff 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5849,6 +5849,18 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) info->flags |= IEEE80211_TX_CTL_USE_MINRATE; /* mt76 */ } info->control.vif = vif; + + if (tid != IEEE80211_NONQOS_TID) { + struct ieee80211_tx_ampdu *tap; + + tap = &ni->ni_tx_ampdu[tid]; + if (ieee80211_is_data_qos(hdr->frame_control) && + !ieee80211_is_qos_nullfunc(hdr->frame_control) && + !is_multicast_ether_addr(hdr->addr1) && + IEEE80211_AMPDU_RUNNING(tap)) + info->flags |= IEEE80211_TX_CTL_AMPDU; + } + /* XXX-BZ info->control.rates */ #ifdef __notyet__ #ifdef LKPI_80211_HT From nobody Fri Jun 5 12:10:05 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cg31mWz6gyDB for ; Fri, 05 Jun 2026 12: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX0cf6b7Vz44ZG for ; Fri, 05 Jun 2026 12:10:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780661410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OsuRinHW/lWdfP0XEcAqLgPRJUgzkyiMbvZS2jqwlqg=; b=K1J3+9i/EeA8DKdsSGXsy07XZZm/eN4XmAoks5VDbMBWnzdomeKWG3bE0gOUDLwXAnNP2p hHDcp0D4FlKCJIU9znfZKCaZvJxspILEf2Q5nClhivtrF1esyVGgj2oateyXq/bVFKM6S9 k8ESntJOV+ucvZ19WURrW01t6fnKQR9/QOnGYRSgBnL9DwGKjJME8SS3msWB1TBJJXhAPa EW7byO2+yGXiHwzmcwG1eEb2+6ap864YL+egPtSXoWFk2gkbGHY/Mj+vYzlbMtw65UmYPc ThXZld2i1vJJbFJF8INJpQcgdUUahLv9jOww+cpohcF+d1yhipgpUqGZDUJwsg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780661410; a=rsa-sha256; cv=none; b=PtSoCAIxcmweV7+fQo37r0RlJPQyeu3NqhrXC+rBQ0ZHCS7VRnxUHzlTqYy3u9a7VFpHyM EucTsUPOCRf+X1VMPOvlWaNhtLZ+ZggqnKur+do3Nd0jhfrmSXfE++YRwzfYnoEuofhm4t 0dOrPhigx3hop8Uv9mAhqQPWKJ2kIZYIL5kGfmaaHsr7Zz4c+vIa9j89V0YVH66cC+GTMb 6OtRRskFlrIcpYWegi7tOezv5f4ZheKL8sNeb7ovihqtQ1Z8EOfG2d4rEzguQAqMarBwFV mUVmcnzW2llU1t11A0zwUqSNsNDmp6Gpvzv1S9wW0CeNw3jhVPlIU+SwKd4trQ== 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=1780661410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OsuRinHW/lWdfP0XEcAqLgPRJUgzkyiMbvZS2jqwlqg=; b=jf53GOoiJWbPuQjYVArtYN1tL6sy7AV5mem6C14DfSyEx8qISGc6PLhhQRvcdo0SGPFJOR qs8/PxCwPSMZ3B5gT3zdI6UwJGCnLocN9x3mfCg94KpZyCvmXVkvKjRmiUX2zSU5z8Vn8k bOGQ3x64VbibTdz33J8sxYh2fg+70PeLchVoM43hdWLbzJB3RsGW3bqTIC2auN9eN2+33s Ypx+HCRD/UjfQjN0GxAQIJpjBOGjoWAGCnlS6cuquUUpN2Sk+YS9DThfZv0u9qkQxF/XPU 0nKGhnlirInOOzTovTbcgXJZ9gKVV2FjAeFb/LpnWakC/PkZys7Wz+U5C2TVNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cf5XWzzCZp for ; Fri, 05 Jun 2026 12:10:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24840 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 12:10:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: ba796102fefa - main - LinuxKPI: 802.11: add three more driver downcalls List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ba796102fefa24a1f97286bfeb0d762c16decdf4 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 12:10:05 +0000 Message-Id: <6a22bc9d.24840.178d93f5@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ba796102fefa24a1f97286bfeb0d762c16decdf4 commit ba796102fefa24a1f97286bfeb0d762c16decdf4 Author: Bjoern A. Zeeb AuthorDate: 2026-04-26 17:08:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-06-05 12:09:21 +0000 LinuxKPI: 802.11: add three more driver downcalls Add (*link_sta_rc_update), (*set_bitrate_mask), and (*sta_set_decap_offload) mac80211 driver downcalls in preparation for further work. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.h | 7 +++ .../linuxkpi/common/src/linux_80211_macops.c | 57 ++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index 89416edfae73..f33075b354d2 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -500,9 +500,16 @@ void lkpi_80211_mo_wake_tx_queue(struct ieee80211_hw *, struct ieee80211_txq *, void lkpi_80211_mo_sync_rx_queues(struct ieee80211_hw *); void lkpi_80211_mo_sta_pre_rcu_remove(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *); +void lkpi_80211_mo_link_sta_rc_update(struct ieee80211_hw *, + struct ieee80211_vif *, struct ieee80211_link_sta *, + enum ieee80211_rate_control_changed_flags); +int lkpi_80211_mo_set_bitrate_mask(struct ieee80211_hw *, + struct ieee80211_vif *, const struct cfg80211_bitrate_mask *); int lkpi_80211_mo_set_key(struct ieee80211_hw *, enum set_key_cmd, struct ieee80211_vif *, struct ieee80211_sta *, struct ieee80211_key_conf *); +void lkpi_80211_mo_sta_set_decap_offload(struct ieee80211_hw *, + struct ieee80211_vif *, struct ieee80211_sta *, bool); int lkpi_80211_mo_ampdu_action(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_ampdu_params *); int lkpi_80211_mo_sta_statistics(struct ieee80211_hw *, struct ieee80211_vif *, diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c index aa6b158b70a7..caee1e0db563 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c +++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c @@ -745,6 +745,46 @@ lkpi_80211_mo_sta_pre_rcu_remove(struct ieee80211_hw *hw, lhw->ops->sta_pre_rcu_remove(hw, vif, sta); } +void +lkpi_80211_mo_link_sta_rc_update(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, struct ieee80211_link_sta *link_sta, + enum ieee80211_rate_control_changed_flags rc_changed) +{ + struct lkpi_hw *lhw; + + lhw = HW_TO_LHW(hw); + if (lhw->ops->link_sta_rc_update == NULL) + return; + + LKPI_80211_TRACE_MO("hw %p vif %p link_sta %p rc_changed %#010x", + hw, vif, link_sta, rc_changed); + lhw->ops->link_sta_rc_update(hw, vif, link_sta, rc_changed); +} + +int +lkpi_80211_mo_set_bitrate_mask(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, const struct cfg80211_bitrate_mask *br_mask) +{ + struct lkpi_hw *lhw; + int error; + + might_sleep(); + lockdep_assert_wiphy(hw->wiphy); + + lhw = HW_TO_LHW(hw); + if (lhw->ops->set_bitrate_mask == NULL) { + error = EOPNOTSUPP; + goto out; + } + + LKPI_80211_TRACE_MO("hw %p vif %p br_mask %p", + hw, vif, br_mask); + error = lhw->ops->set_bitrate_mask(hw, vif, br_mask); + +out: + return (error); +} + int lkpi_80211_mo_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, @@ -768,6 +808,23 @@ out: return (error); } +void +lkpi_80211_mo_sta_set_decap_offload(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, struct ieee80211_sta *sta, + bool enable) +{ + struct lkpi_hw *lhw; + + lockdep_assert_wiphy(hw->wiphy); + + lhw = HW_TO_LHW(hw); + if (lhw->ops->sta_set_decap_offload == NULL) + return; + + LKPI_80211_TRACE_MO("hw %p vif %p sta %p enable %d", hw, vif, sta, enable); + lhw->ops->sta_set_decap_offload(hw, vif, sta, enable); +} + int lkpi_80211_mo_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_ampdu_params *params) From nobody Fri Jun 5 13:15:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX2474737z6h405 for ; Fri, 05 Jun 2026 13:15: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX2473Q4Wz3L44 for ; Fri, 05 Jun 2026 13:15:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780665335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/LzeAO5IOa+1l1AV8+GnaHTLuZlOfBgxTbCWdMY7cso=; b=o0vbCkLCevH6XGOkp8ROjb1LUoAYmlFPlcD11TjjHpbxy0jwrgl9ZvxtOPo7HNcP9DcL4B dE99SGCp/Phe/65DaJ5tt31iAPesBPM9oXEhs8xe6y3Em8ox7lxIq+jvcNnLXzs4G0oSDG 3Z5U7u1XPb23wSueiRVZ+EQ6wqB/R0AafCZiX/rZE2lcTCdxxvdjmMLJYMk0ciyPF9r5PT cKpKelXI9OS68axEdZlbwp/XQXEhQoF1+Fy4hLan+UcSZqF+CEO9bttAdVXnN3gYi3bE0s Hss7D+QZlhWJBlZpBO2+mnPn0YJWcmy7eXPYTcoikJUO7ATdTSWa4unyoGqL0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780665335; a=rsa-sha256; cv=none; b=An2PoTcM7PhO7U0+HjrcsznEnw4kR5xYp3xE/R0LaxGeVObibZ7QP4KMO4rKWOQFZRe4Rf waoUdp18znkREampDAgZutc5dqvGvFPl8wqLR18WT8oudKD5k6ICYjQiHoDLDp4YUCfyQE H+H42kbl4mpCywJmvotxOYSsZaHToTCOKvK406drfK8q2IoS05mKg66w4EPJVfNmGgFeB4 mDfTmFT2R8j3kBeo2HHqeHbgm4wLrDptefTCIgL520+tPWgMlrHEG/GaK0igRBMRb5VVpa h9EpXDAQjyXHbCxjklT+m/ZJ9sDuRxXFckQPgDo+uV92moCjr0Yt+l4O8lmcIg== 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=1780665335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/LzeAO5IOa+1l1AV8+GnaHTLuZlOfBgxTbCWdMY7cso=; b=Wp83oRdFlTcKr+4cSuQap9rr/slqiR6QZkoPsk3eGgfJyJpt/alab9N9tdGtd6P3zFa27e ep/QN5XAfXcGE67hKAp/oIunE4r2x/vJaygXV+00uEcxuUiy5kNkgoMfpVqhpExt+WkTwi mDkcWx2JV6MLlAOUDRXNl9jzrScpZZq2W6KLorRKiNpif6xQWoLfWdiHED0rankzl5WcGu ftJQrYPUuuMsJp/oeqbLGiDhTeit4cRtLMhYnnAhJ4t4XhV5O+S8GxrsjwUZdqCbER6pVW aQMB+vEQQhmcFQ56sOKjl4YkQs9pIh3R5rWh9VlVWkXV3voAZ7hk7P6IBSQ76A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX2472lJ2zWn3 for ; Fri, 05 Jun 2026 13:15:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33d43 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 13:15:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Yoshihiro Takahashi Subject: git: e3fa020202d8 - main - protocols: Update with IANA list List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: nyan X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e3fa020202d8e040242016bda275dde83c058549 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 13:15:30 +0000 Message-Id: <6a22cbf2.33d43.1c6cab05@gitrepo.freebsd.org> The branch main has been updated by nyan: URL: https://cgit.FreeBSD.org/src/commit/?id=e3fa020202d8e040242016bda275dde83c058549 commit e3fa020202d8e040242016bda275dde83c058549 Author: Yoshihiro Takahashi AuthorDate: 2026-06-05 13:14:06 +0000 Commit: Yoshihiro Takahashi CommitDate: 2026-06-05 13:14:06 +0000 protocols: Update with IANA list - Update /etc/protocols with IANA list updated 2026-03-09. - Document that 240 (pfsync) is not assigned by IANA. - Document deprecated protocols. PR: 295739 Reviewed by: des MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D57445 --- lib/libc/net/protocols | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/libc/net/protocols b/lib/libc/net/protocols index 7581cff17908..6fa47a5e3590 100644 --- a/lib/libc/net/protocols +++ b/lib/libc/net/protocols @@ -16,7 +16,7 @@ igp 9 IGP # any private interior gateway (Cisco: for IGRP) bbn-rcc 10 BBN-RCC-MON # BBN RCC Monitoring nvp 11 NVP-II # Network Voice Protocol pup 12 PUP # PARC universal packet protocol -argus 13 ARGUS # ARGUS +argus 13 ARGUS # ARGUS (deprecated) emcon 14 EMCON # EMCON xnet 15 XNET # Cross Net Debugger chaos 16 CHAOS # Chaos @@ -56,7 +56,7 @@ bna 49 BNA # BNA esp 50 ESP # encapsulating security payload ah 51 AH # authentication header i-nlsp 52 I-NLSP # Integrated Net Layer Security TUBA -swipe 53 SWIPE # IP with Encryption +swipe 53 SWIPE # IP with Encryption (deprecated) narp 54 NARP # NBMA Address Resolution Protocol mobile 55 MOBILE # IP Mobility tlsp 56 TLSP # Transport Layer Security Protocol @@ -99,7 +99,7 @@ larp 91 LARP # Locus Address Resolution Protocol mtp 92 MTP # Multicast Transport Protocol ax.25 93 AX.25 # AX.25 Frames ipip 94 IPIP # Yet Another IP encapsulation -micp 95 MICP # Mobile Internetworking Control Pro. +micp 95 MICP # Mobile Internetworking Control Pro. (deprecated) scc-sp 96 SCC-SP # Semaphore Communications Sec. Pro. etherip 97 ETHERIP # Ethernet-within-IP Encapsulation encap 98 ENCAP # Yet Another IP encapsulation @@ -126,7 +126,7 @@ stp 118 STP # Schedule Transfer Protocol srp 119 SRP # SpectraLink Radio Protocol uti 120 UTI # UTI smp 121 SMP # Simple Message Protocol -sm 122 SM # SM +sm 122 SM # SM (deprecated) ptp 123 PTP # Performance Transparency Protocol isis 124 ISIS # ISIS over IPv4 fire 125 FIRE @@ -147,8 +147,13 @@ hip 139 HIP # Host Identity Protocol (RFC5201) shim6 140 SHIM6 # Shim6 Protocol (RFC5533) wesp 141 WESP # Wrapped Encapsulating Security Payload (RFC5840) rohc 142 ROHC # Robust Header Compression (RFC5858) -# 138-254 # Unassigned -pfsync 240 PFSYNC # PF Synchronization +ethernet 143 Ethernet # Ethernet (RFC8986) +aggfrag 144 AGGFRAG # AGGFRAG encapsulation payload for ESP (RFC9347) +nsh 145 NSH # Network Service Header (RFC9491) +homa 146 Homa # Homa +bit-emu 147 BIT-EMU # Bit-stream Emulation (RFC9801) +# 148-252 # Unassigned +pfsync 240 PFSYNC # PF Synchronization [non IANA] # 253-254 # Use for experimentation and testing (RFC3692) # 255 # Reserved divert 258 DIVERT # Divert pseudo-protocol [non IANA] From nobody Fri Jun 5 14:18:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX3Sg6yb7z6fvWF; Fri, 05 Jun 2026 14:18:27 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX3Sg6G6Bz3TrZ; Fri, 05 Jun 2026 14:18:27 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780669107; h=from:from:reply-to:subject: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=TgYuWqk0dyK/BwqWyiPHCSOEOop0azl+HimsS34L4jM=; b=AJ+Pqla4CU2BOl8kCJf7zU2X773kwmLetAJZ58SJbIaxlrAudKLl5A8bq8gFxdXoRBkB// rrEciQxh4tuu4KamNb36w7RS6lHZU9Du07y9Ej+k1rMcHPkpy04/w9ddE1OELFGf6gSaS6 c8mNSn2w1I9khUrLhHuuHOCV+0UNfFnJOewCbCtPHk/w8+nMeknT/18HNhZTssMYw8QTtj S4Qf7cWKmqiB6vUF722ByxGdWvPvkDO6FUBSgMqggcYHNzmFrdevvEQS9F1u2TQSYRgIyq cx+ettjKEEowCg6oOWzPGf4vha57ZOd3Ta9twzmRq3emKlkSEeL4oZd/MLbKcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780669107; a=rsa-sha256; cv=none; b=hgFrSG0YwecZwJ17DpAC8o99f/iZ+8ss9QWdGJdi39xQOUdtxNe85J4lCCTKo8BEIImK/m fD8WiUd6VWTbaj43IpBy0mxQ+lJJJaTMF8rDtv25VonhsBdHTh5WT65Qi0f5iCcQ3+xmTk Bwsy80ajDMZWaGmEgJwTbo2naiY1bJnmHPblT1Uc9lOhkcPnloFUmu2A0+rKcuZzw3HS0Q Hc1S6YAh8cwNmX7RZYMlJ2pfbNHOHNbvxr+wYqR62RQQYPoQI2ZiJ6Akva+/yVHQ3M2ysK i2HLegSspkyFgGM+gdBZpzujoPN3StQ/GlwvrkFPlFktWFgNdg8ITXxLZTvoWw== 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=1780669107; h=from:from:reply-to:subject: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=TgYuWqk0dyK/BwqWyiPHCSOEOop0azl+HimsS34L4jM=; b=mA1LqVpcNuV9bi+Vm9Wn0IRgJh13u8fVQpcDgi0TqS9+borAAv3wv9sFepBlOjjWj1o3gP FYfqp7Y/TYARbvCG2ZrJrAGjKdW3QDozBP2FpK6wLvpsjhqdOeILHMh8huSen7CojKFT7C ZhE6TPEGJ51rLQBYpUO5zcbaBKKv26tNmDWxNOyK231TcCjj2IaQZYyLr15etbsJQqXibq b9zADLo6cCB2Rnr6V1mRg3D5fIZFFM6XZhGJVqSAV/bB174o0iOGSy/t6RZGABRspgAjGq MU5jIoGfRlecsmO2ZMaeJ4q2gKkYaIyCZ2E9grxdyST4gma55nKNeT63Ni7FSQ== Received: from [IPV6:2601:5c0:4202:5670:d479:80fa:603d:546e] (unknown [IPv6:2601:5c0:4202:5670:d479:80fa:603d:546e]) (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 4gX3Sg4KrYzPKj; Fri, 05 Jun 2026 14:18:27 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <711a1680-9b9f-4b2a-a97f-d1cc9523c5f6@FreeBSD.org> Date: Fri, 5 Jun 2026 10:18:26 -0400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 7487932f4fbc - main - assert.h: style(9): Space after #define, between #endif and comment Content-Language: en-US To: Olivier Certner , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <6a2166aa.22490.59890f0d@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <6a2166aa.22490.59890f0d@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 6/4/26 07:51, Olivier Certner wrote: > The branch main has been updated by olce: > > URL: https://cgit.FreeBSD.org/src/commit/?id=7487932f4fbc5a71231d3b1fc93d160253f38c83 > > commit 7487932f4fbc5a71231d3b1fc93d160253f38c83 > Author: Olivier Certner > AuthorDate: 2026-06-02 10:01:05 +0000 > Commit: Olivier Certner > CommitDate: 2026-06-04 11:49:26 +0000 > > assert.h: style(9): Space after #define, between #endif and comment > > style(9) still allows TAB after #define but this is a historical > artifact and by far the minority of uses cases. Going forward, we would > like to promote the use of a single space, as it allows alignment to > survive line prefixing (such as in diffs). It is not "by far the minority" and is still widely used. Excluding contrib it is still about 1/3 of the cases in the tree. > style(9) also has prescribed a single space between '#else' or '#endif' > and a comment recalling the guard since 2002. > > So, commit 157c184689ea ("assert.h: Remove leading tabs for whitespace > consistency") was good, and in line with rules about whitespace changes > (since the file was heavily modified by surrounding commits). > > This commit is thus basically a revert of 439710cf003b ("assert.h: > Revert "Remove leading tabs for whitespace consistency"), which extended > replacing spaces with TABs in the code introduced in the meantime (after > commit 157c184689ea). > > Reviewed by: fuz, imp > Fixes: 439710cf003b ("assert.h: Revert "Remove leading tabs for whitespace consistency") > MAC after: 3 days > Differential Revision: https://reviews.freebsd.org/D57391 This was not worth yet another commit to this file absolutely destroying git blame. Please cool it a bit on going on holy wars over pushing for changes to historical style and then committing style-only changes. It adds needless churn to our tree, makes git blame harder (ignore-revs aside), and also adds pain to downstreams who maintain forks of FreeBSD. -- John Baldwin From nobody Fri Jun 5 15:01:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX4Qf5Yhkz6fyPR for ; Fri, 05 Jun 2026 15:01: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX4Qf2pm0z3jNf for ; Fri, 05 Jun 2026 15:01:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780671706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=samyQJjScOFqn7VBenbMyMa8DWjyHqaY8Yf86UwIZjk=; b=o3zBBx0P7MJa3QMt/7AOz3JfTQl/tKR6iFjUteJj+V3KQB69we0Wrt39UPNvJgzEVdQFIE b/mFkOZmEWeI5Txs4bZPOQicu02Pj2QX0/plgszGI4ku6pWFUD3Uq/WLS08GM2Fmokndtg 21e2KBk5IUWObsHz0utnEw6hVnFTcNKYUZR1AdepfJIg93+gmxkNI6PCTohsy1uiqdpgLp Anl+FdM64bCGYR4W79TUvQbNyAcIeURBkq/89IrwOt2BUmLa6s+0onOvKqHgrYTlonTDmt Co/tQ8pvmxViORecTQ51yxlG3fSaAd0stTZzM4XOiAySiiRDd8EIuekNOEycjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780671706; a=rsa-sha256; cv=none; b=QkLgJrXZsyOXzSCJLw0sM7H3tMIBjJwquoM9+eO0kiUd/sNQiHBAdWmraT3fLSN+I01HvT TUyjSMy4u+G+ah604QbUzxRJa4wUzhtfs5K1qksunlSZYB72zJkVYtqMiWjTBdRDUHjIoT Up7hSOzmfqCx/ljivA/CuCuiKkBD0ONE4Nz/UA8TKFG5yPjHVnJyQAx5Ag94OXRJ++VxEv qp9qUih26DZ+x8CHMfw3ygD//c6gB/cEbPCq5YAqAKeB9+0q4nrjmtl8USruEEUrniA4og VIPv50zOPyrfDELyCM36fjCNycnToNNNWfryBv5BOpZ6yflaoJBsmp6+Nbnv4A== 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=1780671706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=samyQJjScOFqn7VBenbMyMa8DWjyHqaY8Yf86UwIZjk=; b=D9crmwyNItkeXsJ8/HN/DFFf6uQsPTcrTO5XLFURc8TDaHdzSSk+nodfkZm+QA9BHXqDAZ G4ge5vrJYHme883LX3PSnmSaZihwTWFFc66M4HP2EozSPYQMC27Q04b/vVDfOhao4wPNrB AYAdsxdj4KWQgyOYBH2HXS1daBgeSma7TuVMxRVGv+hh2wvXOGiW3SmW0CpfhXzj5tnv+M 4xhvcSasu8DprsMT1KBMwNr9LmnWUkSrnRCGE0ebKzbq5t/yvNbVs3WViLgbQlRhK2G3Uh nnudERCw9wCbJMq4EwkXcefjLJogv4ZXw+2OmbNpbTNvuRGngSFtWy+ZbAB6Nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX4Qf2N1mzb1Y for ; Fri, 05 Jun 2026 15:01:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e555 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 15:01:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 3dfbbe8586bb - main - nfsd: Add per-MDS fs striping configuration List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3dfbbe8586bbd489ffc67941f09f94c2d8152946 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 15:01:41 +0000 Message-Id: <6a22e4d5.3e555.6034b3f5@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=3dfbbe8586bbd489ffc67941f09f94c2d8152946 commit 3dfbbe8586bbd489ffc67941f09f94c2d8152946 Author: Rick Macklem AuthorDate: 2026-06-05 14:59:42 +0000 Commit: Rick Macklem CommitDate: 2026-06-05 14:59:42 +0000 nfsd: Add per-MDS fs striping configuration Commit 72e57bc26417 added support for striping to the pNFS server when using the Flexible File layout. It is configured globally via the following sysctls: vfs.nfsd.pnfsstripeunit - Size (in bytes) of a stripe vfs.nfsd.pnfsstripecnt - # of DSs to stripe across This patch allows the above settings to be overridden on a per-MDS exported file system basis. With this patch, a stripeunit can optionally be specified for the MDS file system listed when one is listed after a '#' in the "-p" nfsd argument. This is done by appending "@NNN", where NNN is the stripeunit, in bytes. The current syntax implies that neither a '#' nor '@' can be in the MDS mount point's directory path. This patch does not affect current pNFS server configurations (of which there appears to be very few, anyhow). --- sys/fs/nfs/nfsrvstate.h | 1 + sys/fs/nfsserver/nfs_nfsdport.c | 18 ++++++++++++------ sys/fs/nfsserver/nfs_nfsdstate.c | 21 ++++++++++++++++++++- 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/sys/fs/nfs/nfsrvstate.h b/sys/fs/nfs/nfsrvstate.h index 91365f66bde3..350190272f53 100644 --- a/sys/fs/nfs/nfsrvstate.h +++ b/sys/fs/nfs/nfsrvstate.h @@ -357,6 +357,7 @@ struct nfsdevice { char *nfsdev_flexaddr; char *nfsdev_host; fsid_t nfsdev_mdsfsid; + uint64_t nfsdev_mdsstripesiz; uint32_t nfsdev_nextdir; bool nfsdev_nospc; vnode_t nfsdev_dsdir[0]; diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 7fc8c426ba64..5927146c78d6 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -71,7 +71,7 @@ extern int nfs_bufpackets; extern u_long sb_max_adj; extern struct nfsv4lock nfsv4rootfs_lock; -static uint64_t nfsrv_stripesiz = 0; +uint64_t nfsrv_stripesiz = 0; static int nfsrv_maxstripecnt = 1; VNET_DECLARE(int, nfsrv_numnfsd); @@ -4761,6 +4761,7 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, struct ucred *tcred; int *dsdir, error, i, j, mirrorcnt, ret, stripecnt; int failpos, timo; + uint64_t stripesiz; /* Get a DS server directory in a round-robin order. */ mirrorcnt = 1; @@ -4771,6 +4772,7 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, M_TEMP, M_WAITOK); dsdir = malloc(sizeof(*dsdir) * nfsrv_maxpnfsmirror * nfsrv_maxstripecnt, M_TEMP, M_WAITOK); + stripesiz = nfsrv_stripesiz; NFSDDSLOCK(); /* * Search for the first entry that handles this MDS fs, but use the @@ -4783,9 +4785,13 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, ds = tds; else if (tds->nfsdev_mdsisset != 0 && fsidcmp( &mp->mnt_stat.f_fsid, &tds->nfsdev_mdsfsid) == 0) { - if (j == 0) + if (j == 0) { ds = fds = tds; - if (nfsrv_stripesiz == 0) + if (nfsrv_maxstripecnt > 1) + stripesiz = + tds->nfsdev_mdsstripesiz; + } + if (stripesiz == 0) break; j++; } @@ -4804,7 +4810,7 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, * of devices devided by the number of mirrors. */ stripecnt = 0; - if (nfsrv_stripesiz > 0) { + if (stripesiz > 0) { if (j > 0) stripecnt = j / nfsrv_maxpnfsmirror; else @@ -4886,7 +4892,7 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, failpos = -1; for (i = 0; i < j - 1 && error == 0; i++, tpf++, tdsc++) { tpf->dsf_stripecnt = stripecnt; - tpf->dsf_stripesiz = nfsrv_stripesiz; + tpf->dsf_stripesiz = stripesiz; tpf->dsf_dir = dsdir[i]; tdsc->tcred = tcred; tdsc->p = p; @@ -4918,7 +4924,7 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, } if (error == 0) { tpf->dsf_stripecnt = stripecnt; - tpf->dsf_stripesiz = nfsrv_stripesiz; + tpf->dsf_stripesiz = stripesiz; tpf->dsf_dir = dsdir[j - 1]; error = nfsrv_dscreate(dvp[j - 1], vap, &va, &fh, tpf, &dsattr, NULL, tcred, p, NULL); diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c index 17b31867fdcf..965fdcc01ebe 100644 --- a/sys/fs/nfsserver/nfs_nfsdstate.c +++ b/sys/fs/nfsserver/nfs_nfsdstate.c @@ -63,6 +63,7 @@ extern struct nfsdontlisthead nfsrv_dontlisthead; extern volatile int nfsrv_devidcnt; extern struct nfslayouthead nfsrv_recalllisthead; extern char *nfsrv_zeropnfsdat; +extern uint64_t nfsrv_stripesiz; SYSCTL_DECL(_vfs_nfsd); int nfsrv_statehashsize = NFSSTATEHASHSIZE; @@ -7537,8 +7538,9 @@ nfsrv_setdsserver(char *dspathp, char *mdspathp, NFSPROC_T *p, struct nfsdevice *ds; struct mount *mp; int error, i; - char *dsdirpath; + char *cp, *dsdirpath, *endcp; size_t dsdirsize; + u_quad_t stripesiz; NFSD_DEBUG(4, "setdssrv path=%s\n", dspathp); *dsp = NULL; @@ -7576,6 +7578,7 @@ nfsrv_setdsserver(char *dspathp, char *mdspathp, NFSPROC_T *p, M_NFSDSTATE, M_WAITOK | M_ZERO); ds->nfsdev_dvp = nd.ni_vp; ds->nfsdev_nmp = VFSTONFS(nd.ni_vp->v_mount); + ds->nfsdev_mdsstripesiz = nfsrv_stripesiz; NFSVOPUNLOCK(nd.ni_vp); dsdirsize = strlen(dspathp) + 16; @@ -7608,6 +7611,9 @@ nfsrv_setdsserver(char *dspathp, char *mdspathp, NFSPROC_T *p, free(dsdirpath, M_TEMP); if (strlen(mdspathp) > 0) { + cp = strchr(mdspathp, '@'); + if (cp != NULL) + *cp = '\0'; /* * This DS stores file for a specific MDS exported file * system. @@ -7635,6 +7641,19 @@ nfsrv_setdsserver(char *dspathp, char *mdspathp, NFSPROC_T *p, ds->nfsdev_mdsfsid = mp->mnt_stat.f_fsid; ds->nfsdev_mdsisset = 1; vput(nd.ni_vp); + if (cp != NULL) { + /* There is a stripesiz specified. */ + endcp = NULL; + if (*(cp + 1) != '\0') + stripesiz = strtouq(cp + 1, &endcp, 10); + if (endcp == NULL || *endcp != '\0') { + error = ENXIO; + NFSD_DEBUG(4, "mds stripesiz invalid\n"); + goto out; + } + ds->nfsdev_mdsstripesiz = stripesiz; + *cp = '@'; + } } out: From nobody Fri Jun 5 15:09:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX4bw6hRcz6g0FT for ; Fri, 05 Jun 2026 15:09: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX4bw5L8hz3nql for ; Fri, 05 Jun 2026 15:09:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780672188; 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=RXtfMolbho2Q1iWHyZF4NMwl9RU8kW0zarwvTbMnys8=; b=t+yUWN9+yw5atB/1GAM4pwBl3+fMjRdjAvtWmcen5kC0vcVCf/t9i0qbgTmxG5X2h0N93L LKfGgRYRTsxAsaEDDJnny7pwkLlRRINXE9658jcY4U2wrc5vZvvaj6nP6Bs9ddPAduMeLJ s6AMchJ2VKry/mBCSDRNXTL3RLiZhQ0YS/Q5Gya4xu2esgUwpSBYVsUSuMXNIKpjGbQVkj CTspuxDez0UV6wz9Pb0fMKQbtZDZuBjfSlvHy3LrCBuxabOvVn6xbzAZ85D2IBOe2cY2gy LW/Yl7XCYrLkSdzsHVBFMaN5/c34RqtSK4EONDRZ6R9Gk1O8ytiEKd4KUZ7oCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780672188; a=rsa-sha256; cv=none; b=Q68Rzuhoik5ltVqKKdKMar9YNioN+3BOngl16DTjrRox0kpud0BBg1vgp8Mhya39V1c9tg tFELPAXMuEKLmjHBpTUVw1eafVtggiM8PJ5Puew1Oq+BW34pXG7iSkUq67gRC0W5cIu1c2 8ajYKRx6tN4JrmxNoqe8Hw/o/vJiCkiqsoB37NYi4+yElI9RtMDGVkwNbcVJwmdcOgZDhz haw6ihQy2GPSY4ZF6DvciEd1ObDbuBq6ltqLZdTUW2pTS1y4ZpyUaR8vNdW6lpii1MzlBk 8tH+NFBH3V5RIm7fMnRKpDbqsAMJXPsNGmtEiTHa54ZD5FpwnXDrYg8EYyTshg== 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=1780672188; 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=RXtfMolbho2Q1iWHyZF4NMwl9RU8kW0zarwvTbMnys8=; b=CCJm7IvLE9w/mmWc7IdSYh6Wblze7ritXIbhotd8S4Yy7efvGFwdS+Ftn8drju2d1LCkld U6uV4sqhrysn+ZFgabswGWfuQCdf++HbflLUN1AccHHAFB4q+zChHztJDyZp/mCuC9wzIR jB9eimm6lA9iH2nhj2Z0hoxdRYd7GNETFCii2r0IrcLl8J8i/yupCuShxqdWJmuJ87bMSV IAmfrVC0/GsmWMSLlCBWo57xT/vrkRTt7NN/Nzjc/k2BwPgZJXlSPUrp4JGgj29Kj8Czh/ vpRJgFQ/npY8ZZVvx//6MZkCM5E9SVDm5amF94sCyAoJiG8C1AtFaYlOxvCAkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX4bw45TPzZwR for ; Fri, 05 Jun 2026 15:09:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f7d6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 15:09:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Jitendra Bhati From: Alan Somers Subject: git: ee213339f4b2 - main - fts: address post-merge feedback on fts_set_test.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ee213339f4b21782cd1b44086ff9b7fe1fd682c5 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 15:09:48 +0000 Message-Id: <6a22e6bc.3f7d6.1c1163d8@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=ee213339f4b21782cd1b44086ff9b7fe1fd682c5 commit ee213339f4b21782cd1b44086ff9b7fe1fd682c5 Author: Jitendra Bhati AuthorDate: 2026-06-03 22:39:45 +0000 Commit: Alan Somers CommitDate: 2026-06-05 15:06:33 +0000 fts: address post-merge feedback on fts_set_test.c Per review by des@: - Remove fts_check_debug() which has no effect in fts_set_test.c, and remove unused #include "fts_test.h" - Add errno = 0 before fts_read() so errno check is meaningful - Remove fts_lexical_compar where traversal order does not matter - Change int boolean flags to bool throughout - Use !saw_inside instead of saw_inside == false - Move fts_set_clientptr/fts_get_clientptr test inside fts_read() loop so the pointer is exercised during active traversal Fixes: 940142d6103 ("lib/libc/tests/gen: add fts_set() tests") Sponsored by: Google LLC (GSoC 2026) Reviewed by: des, asomers MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2258 --- lib/libc/tests/gen/fts_set_test.c | 61 ++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/lib/libc/tests/gen/fts_set_test.c b/lib/libc/tests/gen/fts_set_test.c index 340af648c472..26cca82101a6 100644 --- a/lib/libc/tests/gen/fts_set_test.c +++ b/lib/libc/tests/gen/fts_set_test.c @@ -22,8 +22,6 @@ #include -#include "fts_test.h" - /* * fts_set with invalid options must return non-zero with EINVAL. * Note: fts_set returns 1 (not -1) on error. @@ -68,11 +66,10 @@ ATF_TC_BODY(again, tc) ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); - ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, - fts_lexical_compar)) != NULL); + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); revisit_count = 0; - while ((ent = fts_read(fts)) != NULL) { + for (errno = 0; (ent = fts_read(fts)) != NULL; errno = 0) { if (ent->fts_info == FTS_F && revisit_count == 0) { ATF_REQUIRE_EQ_MSG(0, fts_set(fts, ent, FTS_AGAIN), @@ -142,25 +139,24 @@ ATF_TC_BODY(follow_symlink_to_file, tc) char *paths[] = { "dir", NULL }; FTS *fts; FTSENT *ent; - int followed; + bool followed; ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); ATF_REQUIRE_EQ(0, close(creat("dir/target", 0644))); ATF_REQUIRE_EQ(0, symlink("target", "dir/link")); - ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, - fts_lexical_compar)) != NULL); + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); - followed = 0; + followed = false; while ((ent = fts_read(fts)) != NULL) { if (ent->fts_info == FTS_SL && strcmp(ent->fts_name, "link") == 0) ATF_REQUIRE_EQ(0, fts_set(fts, ent, FTS_FOLLOW)); else if (ent->fts_info == FTS_F && strcmp(ent->fts_name, "link") == 0) - followed = 1; + followed = true; } - ATF_CHECK_MSG(followed != 0, + ATF_CHECK_MSG(followed, "FTS_FOLLOW on symlink-to-file must yield FTS_F"); ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); @@ -181,17 +177,16 @@ ATF_TC_BODY(follow_symlink_to_dir, tc) char *paths[] = { "dir", NULL }; FTS *fts; FTSENT *ent; - int saw_inside; + bool saw_inside; ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); ATF_REQUIRE_EQ(0, mkdir("dir/real", 0755)); ATF_REQUIRE_EQ(0, close(creat("dir/real/inside", 0644))); ATF_REQUIRE_EQ(0, symlink("real", "dir/link")); - ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, - fts_lexical_compar)) != NULL); + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); - saw_inside = 0; + saw_inside = false; while ((ent = fts_read(fts)) != NULL) { if (ent->fts_info == FTS_SL && strcmp(ent->fts_name, "link") == 0) @@ -199,9 +194,9 @@ ATF_TC_BODY(follow_symlink_to_dir, tc) if (ent->fts_info == FTS_F && strcmp(ent->fts_name, "inside") == 0 && strcmp(ent->fts_path, "dir/link/inside") == 0) - saw_inside = 1; + saw_inside = true; } - ATF_CHECK_MSG(saw_inside != 0, + ATF_CHECK_MSG(saw_inside, "FTS_FOLLOW on symlink-to-dir should descend and visit 'inside'"); ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); @@ -259,25 +254,24 @@ ATF_TC_BODY(skip, tc) char *paths[] = { "dir", NULL }; FTS *fts; FTSENT *ent; - int saw_inside; + bool saw_inside; ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); ATF_REQUIRE_EQ(0, mkdir("dir/skip_me", 0755)); ATF_REQUIRE_EQ(0, close(creat("dir/skip_me/inside", 0644))); ATF_REQUIRE_EQ(0, close(creat("dir/sibling", 0644))); - ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, - fts_lexical_compar)) != NULL); + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); - saw_inside = 0; + saw_inside = false; while ((ent = fts_read(fts)) != NULL) { if (ent->fts_info == FTS_D && strcmp(ent->fts_name, "skip_me") == 0) ATF_REQUIRE_EQ(0, fts_set(fts, ent, FTS_SKIP)); if (strcmp(ent->fts_name, "inside") == 0) - saw_inside = 1; + saw_inside = true; } - ATF_CHECK_MSG(saw_inside == 0, + ATF_CHECK_MSG(!saw_inside, "FTS_SKIP: 'inside' must not have been visited"); ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); @@ -295,18 +289,32 @@ ATF_TC_HEAD(clientptr_roundtrip, tc) } ATF_TC_BODY(clientptr_roundtrip, tc) { - char *paths[] = { ".", NULL }; + char *paths[] = { "dir", NULL }; FTS *fts; + FTSENT *ent; int value = 42; + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); + /* Initially NULL. */ ATF_CHECK_EQ(NULL, fts_get_clientptr(fts)); fts_set_clientptr(fts, &value); - ATF_CHECK_EQ_MSG(&value, fts_get_clientptr(fts), - "fts_get_clientptr did not return the stored pointer"); + while ((ent = fts_read(fts)) != NULL) { + /* + * Verify the pointer is accessible and correct + * while traversal is active. + */ + ATF_CHECK_EQ_MSG(&value, fts_get_clientptr(fts), + "fts_get_clientptr did not return the stored pointer " + "for entry '%s'", ent->fts_name); + } + + /* Overwrite with NULL, verify. */ fts_set_clientptr(fts, NULL); ATF_CHECK_EQ(NULL, fts_get_clientptr(fts)); @@ -346,7 +354,6 @@ ATF_TC_BODY(get_stream_backpointer, tc) ATF_TP_ADD_TCS(tp) { - fts_check_debug(); ATF_TP_ADD_TC(tp, invalid_options); ATF_TP_ADD_TC(tp, again); ATF_TP_ADD_TC(tp, again_consecutive); From nobody Fri Jun 5 15:13:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX4hS1CtVz6g0Ts for ; Fri, 05 Jun 2026 15:13: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX4hS0fbNz3qFB for ; Fri, 05 Jun 2026 15:13:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780672424; 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=3UYeQrTFka8T0aFNY2WqSuzTyRlNBmXf8Sgy0ZKKuMk=; b=XwTmOYfx1zPVqFggtOkdDJ1lMCKDnC0n2o3KujVD/cwzBSfpeNFOdYtEXMtpF6XT7BYelV JSW90ZQBTRmZtblMTmCjlAtcHCeOQq5nj3ClPzT13XYLuFCZN01fkRWyO9aucmZQsDS97V OjvMmKR4OjvdWzLy1DC70H61737GBy53jQYZ7XTktZYUku+h3ZDo5MJQM08xOZeHZZPzV7 CWfgfZerbK/UwXYve0bHm5iCky5nXgbEs1DKG+kf3IP16E4MxFPyPOTL3TQiqqTluGJKLm +p6rfzvm2NVBylncilQ4QevoRYo9HU3Y8gbXFfuzxLDR3K09vzbGXVyIWj85yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780672424; a=rsa-sha256; cv=none; b=WWRHuFp/Lcx+EBWmkHJ6xuRD4DDs4cZ//G3Ny+paE9qEmKh+6mCLUTzaEeGDhOD0yLKppo TpjmZCz+KpMiIX8wZjwYZfIDexCXesvZIKtqKr6Png0E6og3Q83eXFk9+i3KQnHyPLD1yk JYpveu17x+3fJEXMV7ejsTXKUJC1Q9aKDMFgEWYl37bJLKC4aGeKLEagQiHDPpjqpVGGCy DbwksrxrlXvSEV9E0xNJcQFe22MhQox0mSsABME+MFY8QdAF9K/2SF7GdlY4o6sADV4bBV jMXbrGzNngAeOMs/3CAWAPBsZNH85EryviHOBciQqxESV/0iS712OCCZfXcbeQ== 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=1780672424; 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=3UYeQrTFka8T0aFNY2WqSuzTyRlNBmXf8Sgy0ZKKuMk=; b=am7MO9eI684959Aa44fnvdsHx2u6pgaI2+wT2pE6dJG09fX70b9wYqMlD9G4OG85zCZSNU OzEH/EkePhwcUMizVMwOIjCmIHMwqo2YDroLiTRS6NaecIFYXQLFoiXiOoYNjRH4Rop7R1 BzpBt2LokDGUbi1Lr2fh+yj5eSZkgFCYnWFWdlmY7LKdYxm24s+CiW4xuhP6ANT9X+St7x F1u8nRZvz3M9IhSIYhrTK/3WHAFR1n7l6ITgQ+WP272bqI1tC4fBdcnuHtd1FBfWk0RsKJ XJeVGS7eBQiVgHV0do5PUtJUCzEExOwr3ioShfHGvt19KNcSTa0uM5P6jK9v+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 4gX4hR6rqjzbkc for ; Fri, 05 Jun 2026 15:13:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f2b6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 15:13:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Jim Brown From: Mark Johnston Subject: git: f4424a273386 - main - dhclient.conf.5: Correct crossreference List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f4424a2733867ec5f12ecd196011ce8df096f522 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 15:13:38 +0000 Message-Id: <6a22e7a2.3f2b6.27e2f4ca@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f4424a2733867ec5f12ecd196011ce8df096f522 commit f4424a2733867ec5f12ecd196011ce8df096f522 Author: Jim Brown AuthorDate: 2026-06-05 14:59:32 +0000 Commit: Mark Johnston CommitDate: 2026-06-05 15:13:32 +0000 dhclient.conf.5: Correct crossreference PR: 285614 Reviewed by: ziaee, michaelo, jrm MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49489 --- sbin/dhclient/dhclient.conf.5 | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/sbin/dhclient/dhclient.conf.5 b/sbin/dhclient/dhclient.conf.5 index b2190a8e076b..cf372617c4ce 100644 --- a/sbin/dhclient/dhclient.conf.5 +++ b/sbin/dhclient/dhclient.conf.5 @@ -349,16 +349,18 @@ predefined lease is used. .It Ic script Qq Ar script-name ; The .Ic script -statement is used to specify the pathname of the DHCP client configuration +statement is used to specify a pathname of a DHCP client configuration script. This script is used by the DHCP client to set each interface's initial configuration prior to requesting an address, to test the address once it has been offered, and to set the interface's final configuration once a lease has been acquired. -If no lease is acquired, the script is used to test predefined leases, if -any, and also called once if no valid lease can be identified. -For more information, see -.Xr dhclient.leases 5 . +If no lease is acquired, the script is used to test predefined +.Xr dhclient.leases 5 , +if any, and also called once if no valid lease can be identified. +Additional information on using DHCP client configuration scripts is +found in +.Xr dhclient-script 8 . .It Ic medium Qq Ar "media setup" ; The .Ic medium @@ -543,9 +545,8 @@ file - the defaults are usually fine. .Sh SEE ALSO .Xr dhclient.leases 5 , .Xr dhcp-options 5 , -.Xr dhcpd.conf 5 , .Xr dhclient 8 , -.Xr dhcpd 8 +.Xr dhclient-script 8 .Rs .%R "RFC 2132, RFC 2131" .Re From nobody Fri Jun 5 15:17:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX4mL4p28z6g0xp for ; Fri, 05 Jun 2026 15:17: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX4mL43FRz3r9k for ; Fri, 05 Jun 2026 15:17:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780672626; 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=H1rJrm0ZKqRTZrPhb6ZzPu/rha76CyhuB8s4TG3VrIA=; b=pq9JZ+17xtVDqWSCABsjMPSTa+Iuzkx+9lSNfR9eY0/NO9/g28t85srx1Li1Olk95d5gF/ d8eJ4sS23upmwkIgBdT8v3/hzPGEgsbrNdwFMWIjrX2ccNyt7L4vtxTeM4RcT5FGKbASuB Z4K07RHPu1X6z1cRV51FWh8GEoatgVO6ayfZSDRiuBPPHZCMaWoKsxWimrArugNRSJlxlN N0JNtAZuuyp0XtldMw88Zfah4M7jPMjINhOuaRP1mSI4L3U9/OsVY8Bz19Prdb4mT95xun btV0bTFUJ5NnbuEQ8UqE+tielq8TGoTXzbgWxD7EcoVWKhwqGmDdxYnGYOr2vQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780672626; a=rsa-sha256; cv=none; b=j//LZyln5GZ7C08f/TVTuWs/NbwpZuD+2jRsCcHBwCIDNCsCngHvSozQB55GmjYxpPVyJx 7ERUcmmLCG/mc0oX+lG5lTWkx3LksaKbZ4NXx7mzcu5wlq5ZE6V6ZkKRIJO5D3IS/aqYuC ay8h2vCBK0t46B2aMbtBgpkk3c/RXU/9zClxMSS4/7mX20XNBhUj0zJzIOlc9IhHxYjpA/ 5fFDdtMhtT539tmG1TAJUmfTc8d2aHW4Z+DE3lRe7eLBfdKQpqEv/EYYn+IEv3CZT/TvG3 wJDNbvMcCWs8OLdhzufUPdEctwa+6w4hRiIMXEhEbmrM/08TpbQdddSLIckHkg== 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=1780672626; 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=H1rJrm0ZKqRTZrPhb6ZzPu/rha76CyhuB8s4TG3VrIA=; b=Q8+4sqzY8akQu43TE8htDwQhWq77c7XPQehd3nSUAas6p5sZVM6vMlKf0WmisN95Hs5OD+ UxbvgQlWt+r31nhnyN5dZCArqD7yCdYH69YGHMB0t2kMtJ/X+tQVY1H49ds7HguU4nKV+k rm2ErN3PiMmjQE64gMU9fkyJolGMuX2YvyAFXcNOHbNca0M6VcFyBtXx0J7tENQDxvUbk7 hEvXKUKGUX5A1ege953kSc4ldU98D1IhATTUVeu984lJte1d6Y+qjYS/YvoRAr6KqJGAq6 Vf+zytp4hT8SI//9MUL/IGp571yVvrUMfmob0HniwcnQjKIPp4QxIIW0gdHmXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX4mL3QRmzbkh for ; Fri, 05 Jun 2026 15:17:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40892 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 15:17:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Jitendra Bhati From: Alan Somers Subject: git: c606eb37135d - main - fts: address post-merge feedback on fts_children_test.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c606eb37135d3e9cfea4d34c147699e0713dd5d2 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 15:17:01 +0000 Message-Id: <6a22e86d.40892.6c0eb223@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=c606eb37135d3e9cfea4d34c147699e0713dd5d2 commit c606eb37135d3e9cfea4d34c147699e0713dd5d2 Author: Jitendra Bhati AuthorDate: 2026-06-04 17:04:51 +0000 Commit: Alan Somers CommitDate: 2026-06-05 15:16:20 +0000 fts: address post-merge feedback on fts_children_test.c - Remove fts_check_debug() which is only needed by test cases that use the fts_test() helper; fts_children_test.c does not call fts_test() - Remove fts_lexical_compar where traversal order does not matter for the test result - Drop fts_test.h and copy fts_lexical_compar locally - Pull up NULL argument onto same line as fts_open Fixes: e624417db8a1 ("lib/libc/tests/gen: add fts_children() tests") Sponsored by: Google LLC (GSoC 2026) Reviewed by: des, asomers MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2260 --- lib/libc/tests/gen/fts_children_test.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/libc/tests/gen/fts_children_test.c b/lib/libc/tests/gen/fts_children_test.c index 171b1227104c..c5b0383c0d25 100644 --- a/lib/libc/tests/gen/fts_children_test.c +++ b/lib/libc/tests/gen/fts_children_test.c @@ -21,7 +21,11 @@ #include -#include "fts_test.h" +static int +fts_lexical_compar(const FTSENT * const *a, const FTSENT * const *b) +{ + return (strcmp((*a)->fts_name, (*b)->fts_name)); +} /* * fts_children() before fts_read() returns the list of root entries. @@ -164,8 +168,7 @@ ATF_TC_BODY(called_twice, tc) ATF_REQUIRE_EQ(0, close(creat("dir/x", 0644))); ATF_REQUIRE_EQ(0, close(creat("dir/y", 0644))); - ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, - fts_lexical_compar)) != NULL); + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); ent = fts_read(fts); ATF_REQUIRE(ent != NULL); @@ -218,8 +221,7 @@ ATF_TC_BODY(nameonly, tc) ATF_REQUIRE_EQ(0, close(creat("dir/f1", 0644))); ATF_REQUIRE_EQ(0, close(creat("dir/f2", 0644))); - ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, - fts_lexical_compar)) != NULL); + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); ent = fts_read(fts); ATF_REQUIRE(ent != NULL); @@ -266,8 +268,7 @@ ATF_TC_BODY(nondirectory, tc) ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); - ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, - fts_lexical_compar)) != NULL); + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); ent = fts_read(fts); /* FTS_D dir */ ATF_REQUIRE(ent != NULL); @@ -310,7 +311,6 @@ ATF_TC_BODY(invalid_options, tc) ATF_TP_ADD_TCS(tp) { - fts_check_debug(); ATF_TP_ADD_TC(tp, before_read); ATF_TP_ADD_TC(tp, empty_dir); ATF_TP_ADD_TC(tp, nonempty_dir); From nobody Fri Jun 5 15:34:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX58d1FPWz6g2lr; Fri, 05 Jun 2026 15:34:41 +0000 (UTC) (envelope-from siva@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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX58d0gyZz3tWB; Fri, 05 Jun 2026 15:34:41 +0000 (UTC) (envelope-from siva@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780673681; 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: in-reply-to:in-reply-to:references:references; bh=TruwcZ6iCB748hdnc7OR+U0kUZc+6l5oVJfIc1ueao8=; b=BHU+Xr4eBt5arBaOthzGPM/UcuLp4Oaa4ktYk2R66PRt6IEaBghkjsCalqym7Zq8TB0P8R zCi/KCFMMXq/3FK6tus7fpszD1ByzLsE/O1yiQNZsqzvRxRCuEEw1vFhV8eDPfzFkyt23V FEFUlstB/WwrVxlV82FohjTKYHyVJb3V7tMSa1cFonHBpwmhd0EM9oAHeuMxYCQE5FDxnn H9AxksC2FWAIo0p0akXa0m8WS+q7s/5Q+PRc+x/aemSmcOT2cyOtXNpz8TwCc8KjPl5e4Y 8FguJLwZtTT86kPTTsUAEWEJ7ztgTVvzzr/XK/nDgvgjpgz5JGu05VZMrgou1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780673681; a=rsa-sha256; cv=none; b=lgL4pyO2V+cJBoqOnzemiXsl5HElutrbNMUeNGq9AIcnXMy+2oXg+AFIkNcnkaWN419IrH Qa1YRz9sesVilHTnHsjK5lQfXowmWJskzwWXFWNYu5JUQnQhKnCWgJwiK7el1P5VeAhkLC DlPtib/Q4sgcvc3/3kdFF/HK6IE+NsgiYSUMCGk84gvAsTxhFe8EYunQM7atLVoxOUsgpe ySiElwn0wngdrolw47YkeeIZnqj0Agtkiwqhc5mlHUzrzuuyD+WX3i6GUAcqu+fQDOWGaV KOtN80/wkUMJ+c8kotFvJHpMGMp5rXW76nqsE3yr7pmcvHqoL0xaMjHlNVeCsQ== 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=1780673681; 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: in-reply-to:in-reply-to:references:references; bh=TruwcZ6iCB748hdnc7OR+U0kUZc+6l5oVJfIc1ueao8=; b=I+zRgsBpFoEnEDs9n57A6GdXwPCuEMPXIa2XE83KbixsdgfLzrOqtHn8XKx/gxFVciuucr t1MvaXYdNh250unDthM4+R3g7Ws/hcerjPX7I2ugi5RKhIqlbywFpTiJ+6JnUDgMJUeAYC qDNZNyP/li8g9TqD+sfb2l1K2E5fZgqLPrvRO75ROriCc6kM1PWrD0tLstUKtBdPkfCbyY LxuLUbsOkBULdoa7tLm2yfc7xek/cL/InFEUuFjKc1Paht/rY9UONQF5ugdOUMUuyXJApw p7jE9Gaap8a0KvQ39PRTfDmPX+rjW3bleLJwT6AcV5w/70LgDYD1Pl39lNajxA== Received: from localhost (unknown [IPv6:2606:6d00:f3a:e400:809a:aa20:9c4e:104e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: siva/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gX58c62Q7zQr1; Fri, 05 Jun 2026 15:34:40 +0000 (UTC) (envelope-from siva@freebsd.org) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Fri, 05 Jun 2026 11:34:39 -0400 Message-Id: To: "Xin LI" , , , Subject: Re: git: f7c0bd206fe4 - main - file: normalize .result files to ensure trailing newline on install From: "Siva Mahadevan" Cc: X-Mailer: aerc 0.21.0 References: <6a225608.1ec12.2e89b207@gitrepo.freebsd.org> In-Reply-To: <6a225608.1ec12.2e89b207@gitrepo.freebsd.org> On Fri Jun 5, 2026 at 66:00 UTC, Xin LI wrote: > The branch main has been updated by delphij: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Df7c0bd206fe4f3a956b3ecb4dc= 11a7386b85fa22 > > commit f7c0bd206fe4f3a956b3ecb4dc11a7386b85fa22 > Author: Xin LI > AuthorDate: 2026-06-05 04:47:08 +0000 > Commit: Xin LI > CommitDate: 2026-06-05 04:48:19 +0000 > > file: normalize .result files to ensure trailing newline on install > =20 > Some upstream result files introduced in file 5.47 (e.g., bgcode.resu= lt) > lack a trailing newline, causing the contrib_file_tests ATF test to > fail with "cmp: EOF on bgcode.result". Generate normalized copies > of the expected results and install those instead. > =20 > MFC after: 3 days > Fixes: e949ce9dc0e6fff26e83904f1008b76d36ba0a37 > --- > usr.bin/file/tests/Makefile | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/usr.bin/file/tests/Makefile b/usr.bin/file/tests/Makefile > index cd3d00ae742c..cdbe994e1c93 100644 > --- a/usr.bin/file/tests/Makefile > +++ b/usr.bin/file/tests/Makefile > @@ -2,7 +2,18 @@ PACKAGE=3D tests > ATF_TESTS_SH=3D file_test > =20 > SRCDIR=3D ${SRCTOP}/contrib/file/tests > -_files!=3D echo ${SRCDIR}/*.testfile ${SRCDIR}/*.flags ${SRCDIR}/*.resul= t ${SRCDIR}/*.magic > +_files!=3D echo ${SRCDIR}/*.testfile ${SRCDIR}/*.flags ${SRCDIR}/*.magic > +_results!=3D echo ${SRCDIR}/*.result > ${PACKAGE}FILES+=3D${_files} > =20 > +# Generate normalized .result files in the obj directory, ensuring each = ends > +# with a newline (some upstream result files are missing one). Install = those > +# instead of the originals from contrib. > +.for _r in ${_results} > +${_r:T}: ${_r} > + awk 1 ${.ALLSRC} > ${.TARGET} > +${PACKAGE}FILES+=3D ${_r:T} > +CLEANFILES+=3D ${_r:T} > +.endfor > + > .include Thanks for the fix to src. I've submitted the fix upstream here (needs an account): https://bugs.astron.com/view.php?id=3D775. We should revert this change after `file`'s next release. From nobody Fri Jun 5 15:53:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX5ZS6YQsz6g41h for ; Fri, 05 Jun 2026 15:53: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX5ZS2ccsz3wMV for ; Fri, 05 Jun 2026 15:53:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780674816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wlk8syqaMnNRzXyzdufoaVLN2Rzbw4MDR9v5cv5/IzQ=; b=oKRQoG0551JORIh9v4f5jR7iZMwd6nAHhqckFR3Ejz/RSHfV1c7pbHD6Ur8xZJlx4fY+P2 E+XDEzgkSXjlmYjphCkTl8jS5B5FL8IhMbzjJunHtj+06PWO4d/8zjAvG+nv8tsAN9rbQM tHjjw+dy1/eOH7m3i9sq8/+j/VaW44bQvhh1vLvBoxvR6jhJ+9zybMzANKWoVadg8wzaSk SomR+brA00hgS2jKhZ9lFoLC8zvT3wuGNutU4D8dvMEALq/Y48rxFeW4tJGjXbRJkR3n16 Qr7ZF1zOpgi8zcVZLha2r1TLQxAjVqTIV+sly8pCje5GLezeljHe8qhY3ePNfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780674816; a=rsa-sha256; cv=none; b=IBkCHgJ02pQfqxNk1FtltfSDSRJTOlx54WB8w5QOy2z1mSdfMGTcpttCUNwawznWsIKvdy NbWvQc5kUNR1Ys7+FItbeAMJU5+9rOHriIIw6TYxadA355W5CU2m3ISWlY+x7/jgHXsnXR DpbH9tRWmswjuFi+fkNeZ4qHWBkCrgwEs/yntTRMzvWtmzng6gW8ax/tVpa/9I4k4KQ0TC uIBeh86iDUCDhDUCnWkl1EoJnil7c/L/T0JkelHOTli2GaQBLENPMHrJtCvVhRDpRluI2m fcHOODz9KMDJGf4Fn6LjBeHmpn4jpgUpikHQ18RelH1Fkh/VipRjHXAjnx662A== 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=1780674816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wlk8syqaMnNRzXyzdufoaVLN2Rzbw4MDR9v5cv5/IzQ=; b=pKlU6/0/fgdsHMiih5AiRnzU/efWI+8mMXD2O3cHaYe0/Gsr5TzgpN2McaqoqQp3SP3PcY AwbGd6B1XvOj+HyJIzQ0o31lvj+L9bhpZbih2rJgFfd0mcV42c4lSylk7czX4MeSTcX3WK fSAJHh0kbR0O+Af+PCNLf63+fZUg2Uvfnyr1LiRcct34uStpDBkNW2weB5li0HNIXUfxO9 r/eQfZaxpULHVG8PoifMm/zrCRoe1kzsTNGMKvevK5mTiW65p6arSubKLClisuGpSM3O3D ZOJ1yrS3dr2mScHOnRZKTaA+yLHv9QUo1+nPdYT9E5ZMZitW7ZQYXSN0naJlNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX5ZS20kWzccF for ; Fri, 05 Jun 2026 15:53:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42af1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 15:53:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: ddf6fad0295a - main - etcupdate: Make nobuild the default List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ddf6fad0295aa92af5eed2a4b2fa0bd02f47d94d Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 15:53:36 +0000 Message-Id: <6a22f100.42af1.51deb269@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ddf6fad0295aa92af5eed2a4b2fa0bd02f47d94d commit ddf6fad0295aa92af5eed2a4b2fa0bd02f47d94d Author: Dag-Erling Smørgrav AuthorDate: 2026-06-05 15:53:25 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-05 15:53:25 +0000 etcupdate: Make nobuild the default The common case for etcupdate is to run it after building and installing the world, in which case we already have an object directory to draw on. Add a -b option to turn nobuild off (opposite of -B), and turn nobuild on by default. MFC after: 1 week Reviewed by: jhb, emaste Differential Revision: https://reviews.freebsd.org/D57306 --- usr.sbin/etcupdate/etcupdate.8 | 30 +++++++++++++++++------------- usr.sbin/etcupdate/etcupdate.sh | 7 +++++-- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/usr.sbin/etcupdate/etcupdate.8 b/usr.sbin/etcupdate/etcupdate.8 index 6216722fc81f..9c070dae4ecb 100644 --- a/usr.sbin/etcupdate/etcupdate.8 +++ b/usr.sbin/etcupdate/etcupdate.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 30, 2026 +.Dd May 27, 2026 .Dt ETCUPDATE 8 .Os .Sh NAME @@ -31,7 +31,8 @@ .Nd "manage updates to system files not updated by installworld" .Sh SYNOPSIS .Nm -.Op Fl npBFN +.Op Fl npFN +.Op Fl B | Fl b .Op Fl d Ar workdir .Op Fl r | Fl s Ar source | Fl t Ar tarball .Op Fl A Ar patterns @@ -42,7 +43,8 @@ .Op Fl m Ar make .Nm .Cm build -.Op Fl BN +.Op Fl N +.Op Fl B | Fl b .Op Fl d Ar workdir .Op Fl s Ar source .Op Fl L Ar logfile @@ -58,7 +60,8 @@ .Op Fl L Ar logfile .Nm .Cm extract -.Op Fl BN +.Op Fl N +.Op Fl B | Fl b .Op Fl d Ar workdir .Op Fl s Ar source | Fl t Ar tarball .Op Fl D Ar destdir @@ -388,15 +391,16 @@ variable or the option will not be installed. .It Fl B Do not build generated files in a private object tree. -Instead, -reuse the generated files from a previously built object tree that matches -the source tree. -This can be useful to avoid gratuitous conflicts in -.Xr sendmail 8 -configuration -files when bootstrapping. -It can also be useful for building a tarball that matches a specific -world build. +Instead, reuse the generated files from a previously built object tree +that matches the source tree. +This is the default. +.It Fl b +Build generated files in a private object tree before trying to +compare anything. +This is necessary in the uncommon case where +.Nm +is not run after a +.Cm buildworld . .It Fl D Ar destdir Specify an alternate destination directory as the target of a merge. This is analogous to the diff --git a/usr.sbin/etcupdate/etcupdate.sh b/usr.sbin/etcupdate/etcupdate.sh index 77fd400a624b..404ad434da00 100755 --- a/usr.sbin/etcupdate/etcupdate.sh +++ b/usr.sbin/etcupdate/etcupdate.sh @@ -1780,12 +1780,15 @@ rerun= always= dryrun= ignore= -nobuild= +nobuild=YES preworld= noroot= difflistonly= -while getopts "d:lm:nprs:t:A:BD:FI:L:M:N" option; do +while getopts "bd:lm:nprs:t:A:BD:FI:L:M:N" option; do case "$option" in + b) + nobuild= + ;; d) WORKDIR=$OPTARG ;; From nobody Fri Jun 5 15:53:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX5ZT6RJGz6g3y2 for ; Fri, 05 Jun 2026 15:53: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX5ZT3VYTz3wMW for ; Fri, 05 Jun 2026 15:53:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780674817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ey9OlS2t/yla5SSXSSepCNjobb97wMyKhh7acV/Rg8=; b=MoWGwVslSTI94Fr6kWuTZxtxH/rsw9ZW/A21HIVhAaIPXHtmvrqeIMlk9x1hWlJqP57f/X /+Tt1MDbVcotSRwkCXDI+7fxhI6Zap4sGtyoNzp34FVH0oynnpORTUbdBdd/AAMDIO/J5r tffoVTDGb7whH5CvYgK3EsDPFDIhNXKMC2S9DD4jtJZU9abeZKL8nRq7Y5quVKfRWQTzXp DwpaXkh4lvHqsIy6mF5kjgYfcYDxCC7mhqjhOw6Jxt8VcxVRAVADh9unA0L8QTAWM1I2eX w/XbYqYs9LZx1QTjKkXLr5gF2m59OvOfG5aMMypC0CMjKTc3MHkkik1iYAFg/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780674817; a=rsa-sha256; cv=none; b=szekF9Arc0HFUd4rfosMPomMFEbVdSrHy5uLP2nOsbk1gVQcW6+2NjejGmFE88X5+OgN3t iJqCyHygdk3rnZ5bj+Vxd9M2ovS7DSx4a2EiyxCVHOA13NwdzVbAhtSZkkwie5wd7F2TnO 1y1xnEVNLApooo2/dZqFaKnoW1VuDFjRTn8Y4WByvGxPoEAcycVLwLcnMVbl04ctARH+4g rgDvetBNXgODsGyDFTo0cyv3XqpD43FkXnuQYt+JN6L069icCUc7CBmS7d8hnZAVH5GI6c 320X1GXM3J8Q2DWdygHaFPjsvjflAZWrFR5iO3XnOaIUw++iYdWxDmbRxZSP+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=1780674817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ey9OlS2t/yla5SSXSSepCNjobb97wMyKhh7acV/Rg8=; b=QH81jTNP84OQX9l9miShFyy1AxsWrVx8Kxy1G1sKexDWFH5084cW4h9nU2XK9YX1a/13nZ 4IjRzRyStIUUhhQt+6VK/TJSBYRKs4bDKixrjwMAv0h8mPUL4kLmGqDbYtxlkBTNevtFsr 5f1P+oqocBZTD30TdnE+Oy9EwT/Kf0DWDoDktwOSieCiybowxAj3JFoSR9UaQB4cUuB6kC kM+l12uDAg87MWB2oIzaq7ytwKiNc3PB31tR+eYoTevoaB9DWpoiemRmhvu/O6zojvWWT1 ZH3p5Av/XwQxf6wmdARV5W2AWNnGoaXqwT8u5PQk0H8hKEgC1FFfY8dWRH8hsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX5ZT2tr0zcKk for ; Fri, 05 Jun 2026 15:53:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4456a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 15:53:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: b5a96894f67a - main - rc: Bail if /dev/null is not a device List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b5a96894f67a92f78f0641763eff1e0a46f2e036 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 15:53:37 +0000 Message-Id: <6a22f101.4456a.528f000a@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b5a96894f67a92f78f0641763eff1e0a46f2e036 commit b5a96894f67a92f78f0641763eff1e0a46f2e036 Author: Dag-Erling Smørgrav AuthorDate: 2026-06-05 15:53:29 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-05 15:53:29 +0000 rc: Bail if /dev/null is not a device On startup, check that /dev/null exists and is a character device. Otherwise, one of two things will happen: either /dev is a writable directory and we will immediately create /dev/null as a regular file and dump garbage into it, or it does not and we will spit out a stream of error messages about failing to create /dev/null. PR: 295782 MFC after: 1 week Reviewed by: jhb, emaste Differential Revision: https://reviews.freebsd.org/D57447 --- libexec/rc/rc | 5 +++++ share/man/man8/rc.8 | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc b/libexec/rc/rc index db3c3e20ab44..75eef606b7fe 100644 --- a/libexec/rc/rc +++ b/libexec/rc/rc @@ -46,6 +46,11 @@ HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin export HOME PATH +if ! [ -c /dev/null ]; then + echo "/dev is not populated" >&2 + exit 1 +fi + if [ "$1" = autoboot ]; then autoboot=yes _boot="faststart" diff --git a/share/man/man8/rc.8 b/share/man/man8/rc.8 index a68878f0a10a..bfdd65b52f4a 100644 --- a/share/man/man8/rc.8 +++ b/share/man/man8/rc.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 20, 2024 +.Dd June 4, 2026 .Dt RC 8 .Os .Sh NAME @@ -97,6 +97,16 @@ command provides a scripting interface to modify system config files. .Ss Operation of Nm .Bl -enum .It +Verify that +.Pa /dev/null +exists and is a character device. +If that is not the case, +.Nm +prints an error message and terminates. +This is normally caused by forgetting to enable +.Xr devfs 5 +in a jail's configuration. +.It If autobooting, set .Va autoboot Ns = Ns Li yes and enable a flag From nobody Fri Jun 5 16:11:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX5zG4pN2z6g5J8 for ; Fri, 05 Jun 2026 16:11:38 +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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX5zG4BTmz40Pt for ; Fri, 05 Jun 2026 16:11:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780675898; 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=QLEzjOCr1Xhj80Qau2so0m0gIxwSsUPhpmNG+dZvUJM=; b=P84PQ9tNoygTm3yBhVZ5c3tN0ZP0JByX0wKqz8+TGB1+61OQbHYJ7r4DPeeVRPKNaDnWUk PhtHIpJJkVbIzL+6xWaJZVfxYX5+1uCWLQ3GCz89jOTgCeflXEsfYLiNLuy8T5kmMNAeND /vw203sItAFdgzsJcqTkWDSEDRFyVsX9B3qJYTjd5exOKnN2Z36ReH9m2DvbelPCJLedw6 2ivGiFfcQYxRii3zCeIN2yhsa716togsqKwgrKnBQ7b4Co1vqmEVCzreytMQRK9llAondS Z+BCWyHe5mFvA6RQCiScfjYna6RU4fQOBla1Ejayt8DQlXMlz839XRb/fMT9iA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780675898; a=rsa-sha256; cv=none; b=mQTUL1uqZOn5GvNd1lksBFjf2xEPwLFuUsZgccSjw/4fUDGIjlBRQd4jzCik1BWFwZMRjA I/EORjKdFoHf0ggNuejBz7rjq8NljiYI2Qi4M9l+dcJULc7H0bCmWeGt7IWnP+B4lNGYrQ InM2ax75p/6OmSHAGVJyRGC4ctFN5e1Sxo13Hmst44bSrScn53pzB6CWjVife+1JSfDWn/ U2+ES0VFrH7Za1kKZTW3K3ywNU3Q9KSgyP1Joy45g+DwTuiTdCofmzmfTcVCAzTlDIrmCT /i/dzcOsBh+ZhZuBFJQsv8FZHztuoFFq3sYjgE/oZ+/zAgaD+3OIds8etXok/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=1780675898; 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=QLEzjOCr1Xhj80Qau2so0m0gIxwSsUPhpmNG+dZvUJM=; b=daOs6pGeXjimUnXfKGNnD0gx2rlUVaFRNlhzg29n2IUODAAxLf0hqVp+Xt2TbtkiueB7oR 0NSTgLkIm2PMZ3OPPDDDmrtXGw6VsJvUap7ahwxHq8WpmK7+xfDQWhKCMEdkH+Lzw5VlJh JVTi+ACg7t4E5LfDsoavDYnwDrSwFt9+pul6M8K9SIJPdqo+vHfjmlF7Yypg1GDRHLL5Uc h3c+1z/soSYA3VddgHfGo1sZh8SY3b4SSjXgprEpSx0h7LDteP4Z6gy3NkBwk5718oInpp DR6rPVcOloIXmiUnFHgqKtUAmAIYRpdpXZmYPz2yGs8z+lMZgD1w9j3eNOkb9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX5zG3Qkszcqk for ; Fri, 05 Jun 2026 16:11:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45131 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 16:11:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Antranig Vartanian From: Bojan Novk=?utf-8?Q?ovi=C4=87?= Subject: git: 8f6c577c9f70 - main - bhyve(8): allow cpu pinning using N-M:X-Y ranges List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8f6c577c9f706aea6f138fa1bec27029d4ab587d Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 16:11:38 +0000 Message-Id: <6a22f53a.45131.71378d33@gitrepo.freebsd.org> The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=8f6c577c9f706aea6f138fa1bec27029d4ab587d commit 8f6c577c9f706aea6f138fa1bec27029d4ab587d Author: Antranig Vartanian AuthorDate: 2026-06-05 15:34:18 +0000 Commit: Bojan Novković CommitDate: 2026-06-05 16:07:49 +0000 bhyve(8): allow cpu pinning using N-M:X-Y ranges bhyve's -p allows to pin guest's virtual CPU vcpu to hostcpu, however this becomes very tedious work when you have to pin more than a single CPU. This allows to pass a range to -p, e.g. -p 0-3:4-7 which will pin the cpus 0:4, 1:5, 2:6, 3:7. The ranges must be equal and the CPU numbers must be ascending. Sponsored by: Armenian Bioinformatics Institute Reviewed by: corvink, markj Tested by: bnovkov MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D54937 --- usr.sbin/bhyve/aarch64/bhyverun_machdep.c | 5 ++-- usr.sbin/bhyve/amd64/bhyverun_machdep.c | 5 ++-- usr.sbin/bhyve/bhyverun.c | 38 ++++++++++++++++++++++++------- usr.sbin/bhyve/riscv/bhyverun_machdep.c | 5 ++-- 4 files changed, 39 insertions(+), 14 deletions(-) diff --git a/usr.sbin/bhyve/aarch64/bhyverun_machdep.c b/usr.sbin/bhyve/aarch64/bhyverun_machdep.c index 10018d082f7e..7d82784131b4 100644 --- a/usr.sbin/bhyve/aarch64/bhyverun_machdep.c +++ b/usr.sbin/bhyve/aarch64/bhyverun_machdep.c @@ -100,7 +100,8 @@ bhyve_usage(int code) "Usage: %s [-CDHhSW]\n" " %*s [-c [[cpus=]numcpus][,sockets=n][,cores=n][,threads=n]]\n" " %*s [-k config_file] [-m mem] [-o var=value]\n" - " %*s [-p vcpu:hostcpu] [-r file] [-s pci] [-U uuid] vmname\n" + " %*s [-p vcpuN[-vcpuM]]:hostcpuX[-hostcpuY]\n" + " %*s [-r file] [-s pci] [-U uuid] vmname\n" " -C: include guest memory in core file\n" " -c: number of CPUs and/or topology specification\n" " -D: destroy on power-off\n" @@ -116,7 +117,7 @@ bhyve_usage(int code) " -U: UUID\n" " -W: force virtio to use single-vector MSI\n", progname, (int)strlen(progname), "", (int)strlen(progname), "", - (int)strlen(progname), ""); + (int)strlen(progname), "", (int)strlen(progname), ""); exit(code); } diff --git a/usr.sbin/bhyve/amd64/bhyverun_machdep.c b/usr.sbin/bhyve/amd64/bhyverun_machdep.c index 538d031fd1a4..98a756551272 100644 --- a/usr.sbin/bhyve/amd64/bhyverun_machdep.c +++ b/usr.sbin/bhyve/amd64/bhyverun_machdep.c @@ -78,7 +78,8 @@ bhyve_usage(int code) "Usage: %s [-aCDeHhPSuWwxY]\n" " %*s [-c [[cpus=]numcpus][,sockets=n][,cores=n][,threads=n]]\n" " %*s [-G port] [-k config_file] [-l lpc] [-m mem] [-o var=value]\n" - " %*s [-p vcpu:hostcpu] [-r file] [-s pci] [-U uuid] vmname\n" + " %*s [-p vcpuN[-vcpuM]]:hostcpuX[-hostcpuY]\n" + " %*s [-r file] [-s pci] [-U uuid] vmname\n" " -a: local apic is in xAPIC mode (deprecated)\n" " -C: include guest memory in core file\n" " -c: number of CPUs and/or topology specification\n" @@ -108,7 +109,7 @@ bhyve_usage(int code) " -x: local APIC is in x2APIC mode\n" " -Y: disable MPtable generation\n", progname, (int)strlen(progname), "", (int)strlen(progname), "", - (int)strlen(progname), ""); + (int)strlen(progname), "", (int)strlen(progname), ""); exit(code); } diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 994f0f1fef21..b5e7a4709fb4 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -357,18 +357,12 @@ calc_topology(void) guest_ncpus = ncpus; } -int -bhyve_pincpu_parse(const char *opt) +static int +bhyve_pincpu(int vcpu, int pcpu) { const char *value; char *newval; char key[16]; - int vcpu, pcpu; - - if (sscanf(opt, "%d:%d", &vcpu, &pcpu) != 2) { - fprintf(stderr, "invalid format: %s\n", opt); - return (-1); - } if (vcpu < 0) { fprintf(stderr, "invalid vcpu '%d'\n", vcpu); @@ -395,6 +389,34 @@ bhyve_pincpu_parse(const char *opt) return (0); } +int +bhyve_pincpu_parse(const char *opt) +{ + int vcpu_first, vcpu_last, pcpu_first, pcpu_last; + int vcpu, pcpu; + + if (sscanf(opt, "%d-%d:%d-%d", &vcpu_first, &vcpu_last, &pcpu_first, &pcpu_last) == 4) { + if (vcpu_first > vcpu_last || pcpu_first > pcpu_last) { + fprintf(stderr, "invalid range (must be ascending): %s\n", opt); + return (-1); + } + if ((vcpu_last - vcpu_first) != (pcpu_last - pcpu_first)) { + fprintf(stderr, "range sizes do not match: %s\n", opt); + return (-1); + } + for (vcpu = vcpu_first, pcpu = pcpu_first; vcpu <= vcpu_last; vcpu++, pcpu++) + if (bhyve_pincpu(vcpu, pcpu) != 0) + return (-1); + return (0); + } + + if (sscanf(opt, "%d:%d", &vcpu, &pcpu) == 2) + return (bhyve_pincpu(vcpu, pcpu)); + + fprintf(stderr, "invalid format: %s\n", opt); + return (-1); +} + static void parse_cpuset(int vcpu, const char *list, cpuset_t *set) { diff --git a/usr.sbin/bhyve/riscv/bhyverun_machdep.c b/usr.sbin/bhyve/riscv/bhyverun_machdep.c index a90a508901bc..adbba6bcce60 100644 --- a/usr.sbin/bhyve/riscv/bhyverun_machdep.c +++ b/usr.sbin/bhyve/riscv/bhyverun_machdep.c @@ -95,7 +95,8 @@ bhyve_usage(int code) "Usage: %s [-CDHhSW]\n" " %*s [-c [[cpus=]numcpus][,sockets=n][,cores=n][,threads=n]]\n" " %*s [-k config_file] [-m mem] [-o var=value]\n" - " %*s [-p vcpu:hostcpu] [-r file] [-s pci] [-U uuid] vmname\n" + " %*s [-p vcpuN[-vcpuM]]:hostcpuX[-hostcpuY]\n" + " %*s [-r file] [-s pci] [-U uuid] vmname\n" " -C: include guest memory in core file\n" " -c: number of CPUs and/or topology specification\n" " -D: destroy on power-off\n" @@ -110,7 +111,7 @@ bhyve_usage(int code) " -U: UUID\n" " -W: force virtio to use single-vector MSI\n", progname, (int)strlen(progname), "", (int)strlen(progname), "", - (int)strlen(progname), ""); + (int)strlen(progname), "", (int)strlen(progname), ""); exit(code); } From nobody Fri Jun 5 16:16:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX64X6sZFz6g5Sc for ; Fri, 05 Jun 2026 16:16: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX64X5Thtz40wq for ; Fri, 05 Jun 2026 16:16:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780676172; 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=zuekMfm0bXwhqib/cE7dXRcMl013zmWCIQNLoJ7TgxM=; b=wKniGz4Ehpo4nRCQxA8NIVlDDVdl6XBSLRYXWqStDyrQGsWKiIcXgWaDToJHC+thbOxmo9 v/mMo3Jimbw6iQHgwEynSNUKEKsEAtG9smytnVsnC4NF1ILKRuVYRNjTy9Lqm62YLrEYTW QePaz/a0Hh8qu4OwAJUXBqUHznynwIHjL535ZMpgxqa7dyIxW165XwRQLIs6ux9OmOdObI fvnMpNDSoTPrWBkD1g7hfFomoOw0NqM58FCevfjVQr8GOqyuBykYLl+CymfLYTidL1xO3C pks6h+tOqwvAKWY77UoOK8/xLIGsnoJ2389Ug4KQZ/K51WNiXLEIsD8Vx4Fwog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780676172; a=rsa-sha256; cv=none; b=ovMZ7wJAG/1KAbOvnFMV0XLXim8dETuUjzzfEQDjviIPv8uN1PKRUhZiZsZC6jNBE9hm8Z WwpVOl4AznYl+WKVPS9XUF9JD5KC53OKIwlz6g6J7Mz8fV5jV02HthGd3Z65ABDhUBbLGm p97sEJ3K5ZYuE+HfhuDshGoAATySi1NdZvBoWvvoSg5SL0h4rteFpHMJEw0PygShf3Fya3 WAf56Uq+81b7N1Plk+6Id5Xe+996Z09M69pUL49RtYz9plZCj+qqBSaXJHl47drX0EAh0U eBj+fwlU+6r4zh/YfR4gRC2atEJZM/d6a7jnRB9FwCHfWTUQJgpLYzzYz6PE5w== 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=1780676172; 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=zuekMfm0bXwhqib/cE7dXRcMl013zmWCIQNLoJ7TgxM=; b=GF7JHJf0TrajJ/S3NgPsJ9BQCvElBBZIFoYx3mkXQQmw6K8CXzi71vL8drZv3bhqrYZWR6 Dq+9pcnn8SEk4VBkl8vZY4VKrrpyyIQPdWjerFaSLPWP24PUUIij8Vsbtmt/xBdtIYHa21 knE0WzMMHbmO0dJlhOgmJDJpRBfbLqmnhS5hWKU0TsupmRKB30gPkVk3U62+e1fXedHdrm fqS6TYvETJrqdP4llIu40zJpfjcxGpIJ1G/guOCxQQZXv8MDRAg52x9v16frU7eeV6UJ+/ n1JOySCNpRRbKESl/x3gbPAMGN1iuKL5ULW/dD/iRImZsGXEnZvMdhi/RfPECg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX64X4CQNzcqw for ; Fri, 05 Jun 2026 16:16:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45cbd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 16:16:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Alex Arslan From: Andrew Turner Subject: git: 5cc3fa098856 - main - arm64: Add exception flag for ksiginfo_t and set in trapsignal List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5cc3fa098856cbb8de72d1027c838ef734030445 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 16:16:07 +0000 Message-Id: <6a22f647.45cbd.33bd66e7@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5cc3fa098856cbb8de72d1027c838ef734030445 commit 5cc3fa098856cbb8de72d1027c838ef734030445 Author: Alex Arslan AuthorDate: 2026-03-19 23:30:03 +0000 Commit: Andrew Turner CommitDate: 2026-06-05 16:15:36 +0000 arm64: Add exception flag for ksiginfo_t and set in trapsignal The `ksiginfo_t` flag `KSI_TRAP` is set both for exceptions and when copying between userspace and the kernel fails. In the latter case, the exception syndrome register as captured in `struct trapframe` won't be valid. That means we can't use `KSI_TRAP` to determine whether `tf_esr` is valid. This motivates the addition of a new flag, here called `KSI_EXCEPT`, for specifically identifying signals caused by exceptions. It is added to `ksi_flags` via `trapsignal`. Signed-off-by: Alex Arslan Reported by: andrew Pull Request: https://github.com/freebsd/freebsd-src/pull/2053 --- sys/arm64/arm64/trap.c | 1 + sys/sys/signalvar.h | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 1178817108e5..3afeb34abd5f 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -131,6 +131,7 @@ call_trapsignal(struct thread *td, int sig, int code, void *addr, int trapno) ksi.ksi_code = code; ksi.ksi_addr = addr; ksi.ksi_trapno = trapno; + ksi.ksi_flags |= KSI_EXCEPT; trapsignal(td, &ksi); } diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h index 8f181b7beee6..9a4009d269af 100644 --- a/sys/sys/signalvar.h +++ b/sys/sys/signalvar.h @@ -237,6 +237,7 @@ typedef struct ksiginfo { #define KSI_SIGQ 0x08 /* Generated by sigqueue, might ret EAGAIN. */ #define KSI_HEAD 0x10 /* Insert into head, not tail. */ #define KSI_PTRACE 0x20 /* Generated by ptrace. */ +#define KSI_EXCEPT 0x40 /* Generated by an exception. */ #define KSI_COPYMASK (KSI_TRAP | KSI_SIGQ | KSI_PTRACE) #define KSI_ONQ(ksi) ((ksi)->ksi_sigq != NULL) From nobody Fri Jun 5 16:16:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX64Z039Mz6g5Sd for ; Fri, 05 Jun 2026 16:16: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX64Y4lsPz40yp for ; Fri, 05 Jun 2026 16:16:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780676173; 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=v/bqUhGOtVxi8v8fnTweuA+JRzcLajRZ0FMwN/rNjK0=; b=rvLmDbuBBAFSgL1gGEJ94wv+VofWABiE3xrHcDZ7eqSkpGQsI+I+VgRkG/V+2laGrkmTlU ggiW7dooNfqY+m3al4jrS25UaYrYKFdKVl3Vi/OFo57ReS99FOxeAqzMJzlYi/YXrzzQaD d3exCphfJPetiUGNlETxBFs7JZBANGzFUFI9DWZTKCXWDAtB8Sm/x3PXVoeDAJBJP26u6n K8qrF1Zihc6JVjrKNd0eDYiyfdTooS8fudehf+15VMaxKHTL64uVC4WFF++a9aobu6D6Qc F1M4EEXFsxF57BMHd6FI+8uy7HizS7C7DMg41hdnN371Ieq5skj46OdPwHohPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780676173; a=rsa-sha256; cv=none; b=svMFs0ejd2vEoC+jmaDAKC/sOjUkDRDnRrfteAG/AISleAsH70lQLWsXer0TrGzpK7Bk82 MkP4fW0SBsNCZu2eSwGc6rBlXvDm5yiVVn9cGJcVStJB0AXS6u8o1KwEJPBLTg+R29o1hm GVfU6UzwXzNs2VDk0vDv3O9UGaYyDNMAqGPBVWI8aoK7wQ0oYKIp5WGo82pM9mHnI9bfA8 pjAlNVWA8mjP1itfHoGn6t5GxkFlqNYuQ2hfw/FRyFwOL1BnT8nf++7nQUCOYVmK7MHhFL WJBfM1PM1J1zVKQ5sB4lLinMnb2XfDfCLHJubq470DvZsTISNzYEuVZuxY+YFw== 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=1780676173; 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=v/bqUhGOtVxi8v8fnTweuA+JRzcLajRZ0FMwN/rNjK0=; b=Bk5YKb6L8WfapfB/BzFUXHO+F8bRMsA/3MNT1BAuQYzSIglyqKwSwy1Su9jV7S4g50nbFW FtqxDQ+5RL441pUltm09AcOUUccIFYTllVxgEx3oqNCeLLOEj5LL/gnm0zJrohxRF4uY5L 158Sb0v7OdiXSuo4PQ7FaQ7RGtmkafmbBTfN6IaVFSF1lLWOLudCIvCEiXM0h+J+aX2KZv 6RSaJVV+F3qqGkLcfqeTHI/W+UZ7qGa2cH0+gZXhLxqbqsKQY2Li+diSsIyKsBp0km00MZ s9kRE7AbQ6NzknQkhD0wMEObD7clWCvHv62h9D3s/cDfODJRGlL9hfPPoiciGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX64Y3nqfzdFv for ; Fri, 05 Jun 2026 16:16:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45f19 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 16:16:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Alex Arslan From: Andrew Turner Subject: git: 0b862a795a35 - main - arm64: Expose ESR in mcontext List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b862a795a3500b07aa757ce7b457c9bf198e2b1 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 16:16:08 +0000 Message-Id: <6a22f648.45f19.663d4ac@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0b862a795a3500b07aa757ce7b457c9bf198e2b1 commit 0b862a795a3500b07aa757ce7b457c9bf198e2b1 Author: Alex Arslan AuthorDate: 2026-02-27 21:51:28 +0000 Commit: Andrew Turner CommitDate: 2026-06-05 16:15:36 +0000 arm64: Expose ESR in mcontext At present, the exception syndrome register (ESR) is not accessible via the user context on FreeBSD AArch64, which makes it difficult to determine the cause of an exception. For example, a signal handler might get a `SIGSEGV` with `SEGV_ACCERR`, but it can't know whether that occurred due to a bad read or write. The change implemented here includes ESR in `struct __mcontext`, thereby allowing access via `ucontext_t` for use by signal handlers, sanitizers, debuggers, etc. Note that this addition consumes one of the seven spare 64-bit slots in `struct __mcontext`. Signed-off-by: Alex Arslan Reviewed by: andrew Pull Request: https://github.com/freebsd/freebsd-src/pull/2053 --- sys/arm64/arm64/exec_machdep.c | 5 +++++ sys/arm64/include/ucontext.h | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/exec_machdep.c b/sys/arm64/arm64/exec_machdep.c index d0a7302e2f7d..dd433907de12 100644 --- a/sys/arm64/arm64/exec_machdep.c +++ b/sys/arm64/arm64/exec_machdep.c @@ -484,6 +484,7 @@ int get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret) { struct trapframe *tf = td->td_frame; + ksiginfo_t *ksi = td->td_proc->p_ksi; if (clear_ret & GET_MC_CLEAR_RET) { mcp->mc_gpregs.gp_x[0] = 0; @@ -499,6 +500,10 @@ get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret) mcp->mc_gpregs.gp_sp = tf->tf_sp; mcp->mc_gpregs.gp_lr = tf->tf_lr; mcp->mc_gpregs.gp_elr = tf->tf_elr; + if (ksi != NULL && (ksi->ksi_flags & KSI_EXCEPT) != 0) { + mcp->mc_esr = tf->tf_esr; + mcp->mc_flags |= _MC_ESR_VALID; + } get_fpcontext(td, mcp); return (0); diff --git a/sys/arm64/include/ucontext.h b/sys/arm64/include/ucontext.h index a4f0ee243b3a..11befe4e3023 100644 --- a/sys/arm64/include/ucontext.h +++ b/sys/arm64/include/ucontext.h @@ -76,9 +76,11 @@ struct __mcontext { struct fpregs mc_fpregs; int mc_flags; #define _MC_FP_VALID 0x1 /* Set when mc_fpregs has valid data */ +#define _MC_ESR_VALID 0x2 /* Set when mc_esr has valid data */ int mc_pad; /* Padding */ __uint64_t mc_ptr; /* Address of extra_regs struct */ - __uint64_t mc_spare[7]; /* Space for expansion, set to zero */ + __register_t mc_esr; /* Exception syndrome register */ + __uint64_t mc_spare[6]; /* Space for expansion, set to zero */ }; From nobody Fri Jun 5 16:19:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX68S6sVGz6g5v5 for ; Fri, 05 Jun 2026 16:19:36 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (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 4gX68S0wTJz41kQ for ; Fri, 05 Jun 2026 16:19:36 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-460166910e6so1156529f8f.2 for ; Fri, 05 Jun 2026 09:19:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780676374; x=1781281174; h=to:references:message-id:content-transfer-encoding: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=RuWSkhpJoPHX2hZh9p0tk4mag8ggtGM5EH3NCTwAZzw=; b=jXY3UuAoNUkBxhbMrvOvlwfA4lwgwMXh3I+52gYND/e7fQiS8QB0lTRIHm9LIizB9w J5AgpVnw4leK+7qywaMT8rGhH2O4diJHpuVIXeLG18UcbX7zyoZEhpG5h2Vubvry+DF+ pNwPzbUUfwVFH2i4nT8paxdppTfjLXEipirC3AcKYo4b1NqI+0HliIbm7LwLaGSmmy7I 2006H3oRv2OeZYTSwopkw5en3u7Dq5anzVXgHjWWThynYqb/bO2t/o4xs9JvBAS80Adw x0Wx1YmzKuceSVF53K6dHHYuyo84v0OVCUSqLnIN4FSlcwobJk0YXjMnYrL4eQ8DHuaC PMsw== X-Forwarded-Encrypted: i=1; AFNElJ+M7L2R2h4Q//89mbpRXbgnIijnanncIgk2dyYDoZ4GWRApoBpyWNtkyHvQRJiSR8hRkyHTQxndgUQGVsehfxBuYtHc@freebsd.org X-Gm-Message-State: AOJu0Yz1kq2NkOvY56na+q2Mq+THcVgGSlyRGTErF9PM0gxGXHnG9GOh 3UYPIMaZX84btwAQD8JYDtfGsu3/h+uEtmRnPRUD9LT5zQFS1UiF2jR0R/KTwLO6XQk= X-Gm-Gg: Acq92OG5oN49cErGCJkG8qW7Un8cospKkfKu09z7C+8H8sZ5LYL+7yTY7Yt9j0yN6y8 VRPdSN8iDmkU15y5sROpgGB/XPMF6W0Y4I8maqXy7mEkf/ZGWXDtddKLcex7Wpv3xfUq+vCKW+6 H/pKFsNuFUdFAtmeg2rN+1HfTjD/33EJtmZ35Y1Xm7V5z47u6lpTWt5mbgkAriBRf7dAo1MfWrc pl90SIQCpHA08/y62HsTL1rq3h38ZT37Y/bX2fjTqZaq67RjhKR3cLyQIdJzCJ5EbR1MVOUrfjx kQz1F1uZOJCe4s9aU4/p9pMqovd2mA26g5oguCv3gPG9R3SvNGiK/QvOJqWa3jQNHRWHtHbPsur nGEGMW5OxpnpW3f/x5OVk3C/Ptr9opI+r+iyXYZT9zv/vPNNyjcB1xOLWpcLACaN8umnrJOCL2v 5exjXfIdrJ1noUqsR4OtpEnj+VbiH38hXQAnw6NHjJoj3tKB+/nh+qXM8NUW9jzqTAps3EulYos AZKRQ== X-Received: by 2002:a05:6000:b82:b0:460:1301:dec8 with SMTP id ffacd0b85a97d-460302dc4a8mr5160056f8f.3.1780676374315; Fri, 05 Jun 2026 09:19:34 -0700 (PDT) Received: from smtpclient.apple (nat-184-89.net.cam.ac.uk. [131.111.184.89]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f35fb24sm28151998f8f.34.2026.06.05.09.19.33 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 05 Jun 2026 09:19:33 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.600.51.1.1\)) Subject: Re: git: ddf6fad0295a - main - etcupdate: Make nobuild the default From: Jessica Clarke In-Reply-To: <6a22f100.42af1.51deb269@gitrepo.freebsd.org> Date: Fri, 5 Jun 2026 17:19:22 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <8E2A1D1D-F83C-4583-82B4-53B869507627@freebsd.org> References: <6a22f100.42af1.51deb269@gitrepo.freebsd.org> To: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= X-Mailer: Apple Mail (2.3864.600.51.1.1) X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4gX68S0wTJz41kQ X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 5 Jun 2026, at 16:53, Dag-Erling Sm=C3=B8rgrav = wrote: >=20 > The branch main has been updated by des: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dddf6fad0295aa92af5eed2a4b2fa0bd0= 2f47d94d >=20 > commit ddf6fad0295aa92af5eed2a4b2fa0bd02f47d94d > Author: Dag-Erling Sm=C3=B8rgrav > AuthorDate: 2026-06-05 15:53:25 +0000 > Commit: Dag-Erling Sm=C3=B8rgrav > CommitDate: 2026-06-05 15:53:25 +0000 >=20 > etcupdate: Make nobuild the default >=20 > The common case for etcupdate is to run it after building and = installing > the world, in which case we already have an object directory to = draw on. > Add a -b option to turn nobuild off (opposite of -B), and turn = nobuild > on by default. >=20 > MFC after: 1 week Changing the default here seems like it might not be appropriate for = MFC? Adding the -b option only though would be a good thing to MFC. Jessica From nobody Fri Jun 5 16:25:52 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6Hh3K7Dz6g6jX for ; Fri, 05 Jun 2026 16:25: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX6Hh2DXVz43Ct for ; Fri, 05 Jun 2026 16:25:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780676752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJgEJYe6IplkdYbno+J0PuJCYsTaAjpiDyjG1jTkBug=; b=Wd5EsowHhJ61IP1keTd0WNnC3yrI0+7XcQjLAMnnWyWkNXkkr0N918vNPprjrJ7iQXjZg7 cmq7Q5XVKPRTmzs5V5diBwHAQWyrK7Rci2Nov8yG68/NqojeBL8cwg1XkSNqXea2Kh/5Ql Ehq0TizvcDoiexnuXN+nboXKEobilz10Y/GcD3BRzM4/2Uy8RYXa8WkrZtTD9wZjlHm+4x R7bWg3LbPStjM4v0VuZVBZU8myYWveoQFSqFv7PYlx/DmSUsfqfeLF3kKkwdqlCBr3l591 9dzzImiSWz0s2vlrs1LdJBqhAIuQOA5gDBODbd1seyu/jvaL9iwhQbmIFeGpgA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780676752; a=rsa-sha256; cv=none; b=Z51CiaKInxi30a+386steuM0H4khAGDZ4tQnBqi/tQRw6I35J9VYjr9ILQpoX9W6RoCuu0 MZ0l4CpKJHQWAJRL1Cae1SuLihDJUKdjDtL8DCvQ9ScGQo+pnNPaVL1OtrO92F1U7zFdoZ +pRHs8JouQhd1ijm//l5eXUKwkjR7nj4mLPc3OUzVqJpHGqaC6sIAKvbys1Nx/NFpq8SRP DC9CKXg+se+PWTwexAGk0sIjY4F4ZF8KWESSOaOAGWv1pjYDLzuuc+UNDvyqdC0/LHKM5g VT1JV8j9IrJnGya4InLflxF3DKPJisw0217dMzN8aOmfMVEAtY7UsagNgnGvsQ== 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=1780676752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJgEJYe6IplkdYbno+J0PuJCYsTaAjpiDyjG1jTkBug=; b=fRptK3w7ab2TbScpkGfwlENY9plxTdamU0GiMGKDe6Jo0sKXz1IRRQzwHQZVGl4hOySdqG XpC75xYAtD6b+YMMAjUi892Xl+lcYKzYaQ7f8FRcz74rx0yuXX0TTj4C0uaAkCyK5LboB8 inNEyQjMzU/Xjz+2NWTz8R+lw+OMCgrobXfJ6Gi6tVqUmCIWs+YKGLwkVXgQ68S4UiczzB AXckxpSHbNBsrbpKkV9g4cS3uuCVEowI2DZxdFvvkS5bRhXJnPDc+uKYdEhvPQj6FITMeX 8R/wRWT8n1/oHK9USA0fE2xAoq6/BxtU5GzCZAL2sLkHqzNpKn/lLRDGKkj5cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX6Hh1YLKzdGQ for ; Fri, 05 Jun 2026 16:25:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4642e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 16:25:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 5805fadd0dd7 - main - arch.7: arch.7: Add wchar_t signedness List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5805fadd0dd756ce28b0662dc6588f295916340e Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 16:25:52 +0000 Message-Id: <6a22f890.4642e.6a89ab18@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5805fadd0dd756ce28b0662dc6588f295916340e commit 5805fadd0dd756ce28b0662dc6588f295916340e Author: Ed Maste AuthorDate: 2026-06-05 16:14:26 +0000 Commit: Ed Maste CommitDate: 2026-06-05 16:25:43 +0000 arch.7: arch.7: Add wchar_t signedness Most architectures have the same signedness for char and wchar_t, but powerpc has the unusual combination of unsigned char and signed wchar_t. Reviewed by: des, jhb, markj Sponsored by: The FreeBSD Foundation --- share/man/man7/arch.7 | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7 index 628d3837f011..eb7ddd778619 100644 --- a/share/man/man7/arch.7 +++ b/share/man/man7/arch.7 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 27, 2025 +.Dd June 5, 2026 .Dt ARCH 7 .Os .Sh NAME @@ -244,19 +244,19 @@ Machine-dependent type sizes: .Sy time_t is 8 bytes on all supported architectures except i386. .Ss Endianness and Char Signedness -.Bl -column -offset indent "Architecture" "Endianness" "char Signedness" -.It Sy Architecture Ta Sy Endianness Ta Sy char Signedness -.It aarch64 Ta little Ta unsigned -.It aarch64c Ta little Ta unsigned -.It amd64 Ta little Ta signed -.It armv7 Ta little Ta unsigned -.It i386 Ta little Ta signed -.It powerpc Ta big Ta unsigned -.It powerpcspe Ta big Ta unsigned -.It powerpc64 Ta big Ta unsigned -.It powerpc64le Ta little Ta unsigned -.It riscv64 Ta little Ta signed -.It riscv64c Ta little Ta signed +.Bl -column -offset indent "Architecture" "Endianness" "char Signedness" "wchar_t Signedness" +.It Sy Architecture Ta Sy Endianness Ta Sy char Signedness Ta Sy wchar_t Signedness +.It aarch64 Ta little Ta unsigned Ta unsigned +.It aarch64c Ta little Ta unsigned Ta unsigned +.It amd64 Ta little Ta signed Ta signed +.It armv7 Ta little Ta unsigned Ta unsigned +.It i386 Ta little Ta signed Ta signed +.It powerpc Ta big Ta unsigned Ta signed +.It powerpcspe Ta big Ta unsigned Ta signed +.It powerpc64 Ta big Ta unsigned Ta signed +.It powerpc64le Ta little Ta unsigned Ta signed +.It riscv64 Ta little Ta signed Ta signed +.It riscv64c Ta little Ta signed Ta signed .El .Ss Page Size .Bl -column -offset indent "Architecture" "Page Sizes" From nobody Fri Jun 5 16:35:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6WB30VNz6g7PD for ; Fri, 05 Jun 2026 16:35: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX6WB1HcQz44Hd for ; Fri, 05 Jun 2026 16:35:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780677350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XgYcv6yP0hG0Z8/CcrLe2sNse6gJuyjSW3VC012wXxk=; b=S8/NMtpYN0DL7XlbZ+gEe2uyy2fYHhOdRAhMa0ZdJNHwq0JYGEHNC95SBr8k6tF3Bm1d+d N74GEjRFqWeMe5I9pDl3BDAO2MVhkAfFhzY2P9FfoGh+a3069rYnaO+GUOq8EJBKszV74e S7/yGAYUJGN5b1WM8/LgmO58sO+OztmjRMUv7sLXOp9tuDczvdn81ub78kTQ4CjGe5KASi OXdIuM8V0+GgI80FxH63bbBF1+dIYA5jDwI3L2cukS9FXNTyXdI9lcW2kt2RYUgaVS9M4x njIMDKlE+EnY3nGc/51vSPmtOwmr43W5daS+y8SiHhfv4POmbr+U1t1cdqS00A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780677350; a=rsa-sha256; cv=none; b=Eprs69wc1wl5w8ZscZb6+dhibHx2ddOwL2RR2UwhZwzuh+N9IdhQZiDnx9i/J7Gzi0bCcj +FOO3YiDheoeG9/Ujuy8EVLRo5cMSNJ9sS7Cv1Qahys4fjke1uYj9/k9b0caNdRl1ElAyw I597XnHhEIccY36ny0nmziVGQEhBqjDidJY2LgEeKA30D7Kv0xy7ANQJgt0sCWPKIPtx7O LG6Vv3i+PrBKY0qg1wD8UATltlGFTq9++GBzEdL4xW4JLIB18ReCH7ls3qmcMkRsmw3Stl xfIABWTABLiKkjsIOuV7ePILA++ShE320Txa7UxqYR8KCqWmQXYOswwkI38PTA== 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=1780677350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XgYcv6yP0hG0Z8/CcrLe2sNse6gJuyjSW3VC012wXxk=; b=clT46N+suaRSU8qKQe9JOQsI8Wl1vTrab9TXnxBlZEeRl2jJ0LFdWPqIUhNh6OTZ2LsjrU M7aEsd1Ll8ScHIaKcVhkdcV8GzQLJQSvew6yuJxel+987ZvzwOrc9WOqSRvnzb3yi5+pMn ADK0bxlcTPxoryze/IsFKNsXHCUtoyKhMimWB9vDAf/2cpVtYl1SJSDlHNbbmRBVLa6r+7 vRIL4MzUiiJcdlsXI6vi4kvDYBEuKFZiZ3pJHWn71LaX1TUVR7gBgRoFdqzqn2QQjuTVMt fSdn4BZeI1TH7b001Nv+9jx61xtm5pr7nmxzGzKfGli0I8GMAlHEWlih6FHn3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX6WB0cdrzdcr for ; Fri, 05 Jun 2026 16:35:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46f30 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 16:35:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 2ea49bb595df - main - arch.7: Remove 32-bit powerpc from tables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2ea49bb595df216f4374d5e1035ab2c818d3ceef Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 16:35:44 +0000 Message-Id: <6a22fae0.46f30.36bb399@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2ea49bb595df216f4374d5e1035ab2c818d3ceef commit 2ea49bb595df216f4374d5e1035ab2c818d3ceef Author: Ed Maste AuthorDate: 2025-08-26 17:45:28 +0000 Commit: Ed Maste CommitDate: 2026-06-05 16:35:25 +0000 arch.7: Remove 32-bit powerpc from tables Most 32-bit architecture support has been deprecated for FreeBSD 16. Reviewed by: des Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57472 --- share/man/man7/arch.7 | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7 index eb7ddd778619..2acbaad96e66 100644 --- a/share/man/man7/arch.7 +++ b/share/man/man7/arch.7 @@ -233,8 +233,6 @@ Machine-dependent type sizes: .It amd64 Ta 8 Ta 8 Ta 16 Ta 8 .It armv7 Ta 4 Ta 4 Ta 8 Ta 8 .It i386 Ta 4 Ta 4 Ta 12 Ta 4 -.It powerpc Ta 4 Ta 4 Ta 8 Ta 8 -.It powerpcspe Ta 4 Ta 4 Ta 8 Ta 8 .It powerpc64 Ta 8 Ta 8 Ta 8 Ta 8 .It powerpc64le Ta 8 Ta 8 Ta 8 Ta 8 .It riscv64 Ta 8 Ta 8 Ta 16 Ta 8 @@ -251,8 +249,6 @@ is 8 bytes on all supported architectures except i386. .It amd64 Ta little Ta signed Ta signed .It armv7 Ta little Ta unsigned Ta unsigned .It i386 Ta little Ta signed Ta signed -.It powerpc Ta big Ta unsigned Ta signed -.It powerpcspe Ta big Ta unsigned Ta signed .It powerpc64 Ta big Ta unsigned Ta signed .It powerpc64le Ta little Ta unsigned Ta signed .It riscv64 Ta little Ta signed Ta signed @@ -266,8 +262,6 @@ is 8 bytes on all supported architectures except i386. .It amd64 Ta 4K, 2M, 1G .It armv7 Ta 4K, 1M .It i386 Ta 4K, 2M (PAE), 4M -.It powerpc Ta 4K -.It powerpcspe Ta 4K .It powerpc64 Ta 4K .It powerpc64le Ta 4K .It riscv64 Ta 4K, 2M, 1G @@ -282,8 +276,6 @@ is 8 bytes on all supported architectures except i386. .It amd64 (LA57) Ta 0x0100000000000000 Ta 64PiB .It armv7 Ta 0xbfc00000 Ta 3GiB .It i386 Ta 0xffc00000 Ta 4GiB -.It powerpc Ta 0xfffff000 Ta 4GiB -.It powerpcspe Ta 0x7ffff000 Ta 2GiB .It powerpc64 Ta 0x000fffffc0000000 Ta 4PiB .It powerpc64le Ta 0x000fffffc0000000 Ta 4PiB .It riscv64 (Sv39) Ta 0x0000004000000000 Ta 256GiB @@ -338,8 +330,6 @@ currently supports Sv39 and Sv48 and defaults to using Sv39. .It amd64 Ta hard Ta hard, 80 bit .It armv7 Ta hard Ta hard, double precision .It i386 Ta hard Ta hard, 80 bit -.It powerpc Ta hard Ta hard, double precision -.It powerpcspe Ta hard Ta hard, double precision .It powerpc64 Ta hard Ta hard, double precision .It powerpc64le Ta hard Ta hard, double precision .It riscv64 Ta hard Ta hard, quad precision @@ -374,7 +364,7 @@ or similar things like boot sequences. .It amd64 Ta amd64 Ta amd64 .It arm Ta arm Ta armv7 .It i386 Ta i386 Ta i386 -.It powerpc Ta powerpc Ta powerpc, powerpcspe, powerpc64, powerpc64le +.It powerpc Ta powerpc Ta powerpc64, powerpc64le .It riscv Ta riscv Ta riscv64, riscv64c .El .Ss Predefined Macros @@ -426,8 +416,6 @@ Architecture-specific macros: .It amd64 Ta Dv __amd64__ , Dv __x86_64__ .It armv7 Ta Dv __arm__ , Dv __ARM_ARCH >= 7 .It i386 Ta Dv __i386__ -.It powerpc Ta Dv __powerpc__ -.It powerpcspe Ta Dv __powerpc__ , Dv __SPE__ .It powerpc64 Ta Dv __powerpc__ , Dv __powerpc64__ .It powerpc64le Ta Dv __powerpc__ , Dv __powerpc64__ .It riscv64 Ta Dv __riscv , Dv __riscv_xlen == 64 @@ -499,7 +487,7 @@ It, along with defines the ABI used by the system. Generally, the plain CPU name specifies the most common (or at least first) variant of the CPU. -This is why powerpc and powerpc64 imply 'big endian' while armv7 and aarch64 +This is why powerpc64 implies 'big endian' while armv7 and aarch64 imply little endian. If we ever were to support the so-called x32 ABI (using 32-bit pointers on the amd64 architecture), it would most likely be encoded From nobody Fri Jun 5 16:44:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6jB2gRxz6g7sS; Fri, 05 Jun 2026 16:44:30 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX6j51tGgz45PM; Fri, 05 Jun 2026 16:44:25 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780677865; 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: in-reply-to:in-reply-to:references:references; bh=8pPob2EFietJSy26/8qf0JmweThYShNU4ATuSupcplI=; b=Zox9VrVV8DFph85mDSb8+eRw36/Iy1Ta3SN8n9eWg8f61mvhIk+1mfmOV0ZcUofM1rwyp8 C0wZphASMu77CrZP+fjxVZn4yORhms3AYj1z5mDRAR/wLQdUuXzbGkYnTvQ5n7KyfS8e9r cWsLV8XUulMdt4+YUa3C9wjiwhzBsBt+7p0xmoaXCt8fiWXfznwSf2OFSwXj7fW317XZ2s AZOzdF1goCRMOcJF6fx9rNdu7VGoWmf2QlmgZaKfOkLj1f+3g65DnF2TNtcOt6b6jjHou2 BnISxS1ownoGGFqkQc2kvxjpmjlNkBnDU+V11JxjgYzn3IJcRs8ZM8cHIPMM6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780677865; a=rsa-sha256; cv=none; b=nFG1eJ6Nk0JPWvC6GMyE9Ji2t4q9pijdsd2u602LwIy+/VXFq5zhXdJKy+8EgjXfYr5QKM s+Ax+kvi3TFGW1K+uhFB0yi4rFEnh75sExScVhcpp+fkJ52R7OEiJVJR55PqOup6TsKt1j B2jAMSxtj3rp0+3LTt1gDIMq5Ptr4tzsOyK8nhrkZuB2PaHpld196AkfRGNuR5Koqtg9In kl+FjxBVAbgxeDNn7OE8RdW0CZLoo1TQRUXif6OKAdNqXrNzBaotYLH4QTFAQDs0ndy3cV KVtv7wJzKgBV2ZDwUknlQsCL5lyIOJgjwqAKOZ3+JaylTcahmnNSxvDARHLNqQ== 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=1780677865; 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: in-reply-to:in-reply-to:references:references; bh=8pPob2EFietJSy26/8qf0JmweThYShNU4ATuSupcplI=; b=EuNy+NBHrBlhAgvF+lFWrRbRKr8L1Rggek3gn6KpvZmjjRmLuhE108skbmciitEw6vAxFY hUlpK53WvazzkoaI6uxzqiyUZe82WNZczzkymFHY5ogtmUC2r0ligiLX9yAsv3glLMaVUc Hof9sfl5IskEzzeSlshX25PN9IgpNe8lveFx5zFtDzRzYVemmEwEnN0kJ12iSQWg/53QIQ II/Pw4TaxOkCXxcrTG2twMGOZ1v+VHgssERCzi1JeEgvoVg+5BQdkdztcYz8+iD6jRXBbe HF9xGcrFkjJz2UkLWRppeFXx6bUPaaFfmz1pNoMHJHa4m2n94Gh3o7EEOjSJBQ== Received: from ltc.des.dev (2a01cb0585070b00922e16fffef1acef.ipv6.abo.wanadoo.fr [IPv6:2a01:cb05:8507:b00:922e:16ff:fef1:acef]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gX6j50Wg4zZNH; Fri, 05 Jun 2026 16:44:25 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id 0D6C3772A5; Fri, 05 Jun 2026 18:44:24 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: "Siva Mahadevan" Cc: "Xin LI" , , , , Subject: Re: git: f7c0bd206fe4 - main - file: normalize .result files to ensure trailing newline on install In-Reply-To: (Siva Mahadevan's message of "Fri, 05 Jun 2026 11:34:39 -0400") References: <6a225608.1ec12.2e89b207@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Fri, 05 Jun 2026 18:44:24 +0200 Message-ID: <86v7bxq6mv.fsf@ltc.des.dev> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable "Siva Mahadevan" writes: > Thanks for the fix to src. I've submitted the fix upstream > here (needs an account): [...] You know you can just email christos at zoulas dot com or christos at netbsd dot org, right? DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Fri Jun 5 16:47:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6mW34wHz6g81x for ; Fri, 05 Jun 2026 16:47: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX6mW2Zckz469d for ; Fri, 05 Jun 2026 16:47:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780678043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HRys44qSic76J3k9BtvzDXULiUoMafzgwKd8rJZi4og=; b=Zzu9hczeWmD3s8uCEJYPI9gtV2NlILHQiM/Nq5O+OBf/O1VkjrAK0SeOMdVOLtUsJEzEXp k8Qfa9nmnc8wWSqXtH9CvO9mdxiMNavnaEtcuUDjzKWJOb855oiJzD0F54MgXBxxfXdhVO fz21pi0XwkW2U8P+KQGmZ0oIzw0C9E63D3Yy3QkIMQIELQtTKsR/btvtVQrww5fWd52QfU eD/kpmRDHv04ksvrlotbAtSvAL21QWd9qxI6P+ljGAN78wy6kl4U04sdx+rijvBBbOvRL0 CCcR8H7wRGAdha/8g2uV9Q4v9EwPAR4vGQ/3UcFO6jGgrHzUEujW9bsOyr7G/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780678043; a=rsa-sha256; cv=none; b=HhhYi9IfjXSjpCefD9spjpYCyPsXQCL833Dj/Bd/AnKF/aUWsAIWR42AhSIQ62KtPxcuTD 2TJ7Cgzn6WJOo9nJVu45TJF/PlsF9inZszXh6I/wJpuDtmXubCKQxLSrNRHhUeJp3hM0sJ smExvrw5ITzMrbQeVBOqX962dUVcexTsrb0cQWv6GM19+lTtM10wCMzCNxNn4drA6D/3aU wGmslB9MJ9Hji3xiPe0nY88gXJ55urjhloZx/sXSa6Hv9i5bjjZWfYO3V5kBEz6VRhSjhq wtcyB5RM/QRChWwGz6hwVh7nlte5t5is98GD9BsUzQY+RboV1Q+XPS2yk6m+UA== 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=1780678043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HRys44qSic76J3k9BtvzDXULiUoMafzgwKd8rJZi4og=; b=IjcmxN54vUEviVW1OH4ynP7Rysl7FW+69qO3Ti752Z7V4lef55/A11q2m16sdfSccjIKdC MF7LmUB7bQjGo7JXN2pU2RjUiadAJV1MvvT+sMjL++rxnSpsXjKFWmOSmAGlYVbutQ3cmH 5xmYhF7O55iKomEErjqjfOuJdF3xrg+1qoeOG2EPE7WfMBPr12AHTuFg2sihMiwzEdlrE/ I4sHEhK8d5EBcFec9sqUibPXVXtQo+WQs+xMo9PZzPaT1dezW2FgP4W7IQKnrx4HqWTypg LyYT59oiftSXPcTg1MbXv5i1tl5s3r44EtdxUmhJdpCp4Y7c7zNpU4LjTIh8uw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX6mW1tlNzdKv for ; Fri, 05 Jun 2026 16:47:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1832e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 16:47:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 77fdeba18c07 - main - fts: Correct description of fts_set List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77fdeba18c07e243ea1e20916ee0dc31b9d6ac32 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 16:47:17 +0000 Message-Id: <6a22fd95.1832e.597996a2@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=77fdeba18c07e243ea1e20916ee0dc31b9d6ac32 commit 77fdeba18c07e243ea1e20916ee0dc31b9d6ac32 Author: Dag-Erling Smørgrav AuthorDate: 2026-06-05 16:46:49 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-05 16:47:14 +0000 fts: Correct description of fts_set MFC after: 1 week Sponsored by: Klara, Inc. Fixes: e030e4e73fe7 ("lib/libc/gen/fts.3: use 'options' consistently in fts_set() description") Differential Revision: https://reviews.freebsd.org/D57326 --- lib/libc/gen/fts.3 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/libc/gen/fts.3 b/lib/libc/gen/fts.3 index b6dbfffe8079..8d46d3a6b01f 100644 --- a/lib/libc/gen/fts.3 +++ b/lib/libc/gen/fts.3 @@ -44,7 +44,7 @@ .Ft FTSENT * .Fn fts_children "FTS *ftsp" "int options" .Ft int -.Fn fts_set "FTS *ftsp" "FTSENT *f" "int options" +.Fn fts_set "FTS *ftsp" "FTSENT *f" "int instr" .Ft void .Fn fts_set_clientptr "FTS *ftsp" "void *clientdata" .Ft void * @@ -745,8 +745,9 @@ The .Fn fts_set function returns 0 on success, and \-1 if an error occurs. -.Em Option -must be set to one of the following values: +Its +.Fa instr +argument must have one of the following values: .Bl -tag -width FTS_PHYSICAL .It Dv FTS_AGAIN Re-visit the file; any file type may be re-visited. @@ -900,7 +901,7 @@ to an appropriate non-zero value. The .Fn fts_set function returns 0 on success and \-1 if its -.Fa options +.Fa instr argument is invalid. .Pp The From nobody Fri Jun 5 16:50:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6rg5DgSz6g8R4 for ; Fri, 05 Jun 2026 16:50:59 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (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 4gX6rg1Rxvz46Qy for ; Fri, 05 Jun 2026 16:50:59 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-68c19f1f3ceso3358182a12.2 for ; Fri, 05 Jun 2026 09:50:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780678257; cv=none; d=google.com; s=arc-20240605; b=K5yfod9ZteAektiWwNioUfBTS9fQR3G2bQZ3WgBsEhlfk4WLXavUjMM0qA9jwqLZS8 dSuH8kYcSkSC/XFYvAT4DzTdLVMeJI5300gBwojt584FBch065N5dWMS4STA2erwhft7 c4MD5eA2yYeNx5m1eeu9hVok6Y0veI+tB2Top1HiX6NB3dk9+sFlKsBu3bj5MyC3EBYu dNeMgwwglQpOSd/1CqeAOCPAcz1PM1D4Q7HK0l+O924yr2vmXQlgBayig7TkAT4+D+R2 dN/bEGaRQa4XitTfM6P1r3Bs67OpCdUJh5hud3+1UERHtpWXi9trToczt1Iv+7OHSg70 kZZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=ahwkLZm0J37BWjJP63b3GptVk1rTfe3Sv8aJ9/ZJcu0=; fh=eDrLgXhxG47nFrWqzxu6w/J0GvRshUXttns6gpKMKao=; b=LO/GVXjMUCatWHIJLWQaoBtnSBIYuV7ucAn6ak//EYpIGjgXYgSBEjzo8XURO8oLPj 0IUWGlpUOEo4Ai8Fzh39JGv69vOheoU8ErhqRIbxnFERbYpZUck6M7H8F7IKPqasIQxx TQmL5f8OM4MPwe/SxF0tYUroLzFBRRaGll/MzbZXYKVahBEBPv4x2Dm83owQliXSZG94 oLluwqXv8DmF73FxVui1k7z80GfMHXrekQdqDxOonp5MwKkhigC1A+zh3y9Oh21PI9ZX kdIgUM4HMF3DDKGAD0eXKwX4SzxulCe9KqVX/w+KvuMDJGBUoYXUh07RYz/odvKQXfQt hdVQ==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780678257; x=1781283057; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ahwkLZm0J37BWjJP63b3GptVk1rTfe3Sv8aJ9/ZJcu0=; b=QsRSOqWHNur88kvTeNkbebfj+WLi7mSASK8KlM7W8xMO/Xk4QnXSVQd+dcnzIgm3Xn xcKfNUk3YrpYd1gzWiUkgFEJv0N/Py3gJJfWG9GgiZONMXxtrrc1cCSHjJYAuFAfidVR BVWI8VLplKdfv/Xn+RK53A68gG3Ssk6V/CRaRpJu2Fhw4m5iM4DPxspVogk73CljsXhH IUi38dLksHXyNtBmWhlIKrwWKTmtjMw6mDQyuvXQHETYCE1y0l2jJjDLEcMSk5dsJodZ /6p6vnS7Tyl6hQlIkEkMBjCkGAIA1T79oAAs3gqrw0lZZ3GxFdXyGq/kD8YdP/7HfZWB HqqQ== X-Forwarded-Encrypted: i=1; AFNElJ/6iJMS00T/ccJeYLf/xscXPgZcYmm/Kb8QvZTcyLeHAka39EL8ux4jzGnQEtW9WlJ+GMcIkpV0xk+L6cECQiGdXZMV@freebsd.org X-Gm-Message-State: AOJu0YwBUfmQwFtw9lB41crVEXlAeG19cpETqi1PMCiV/fsGdKLB2tkv JY1DO9u77Xq10CWKDBeJCP0RKC+Xh8aqx0L2EVzDtW1+huqfx98VMiP3qbgtUfPt4wTRH44anD7 6FQpEdedANLbWtGLWK9ZIvSOMPZd7nMs= X-Gm-Gg: Acq92OHso2uv1Zj3ia21izHsyA304Ymggo6LPCkSXjlrY0yB/qvkiQ7rNTrd6Siqb85 0/NP6Y/WwRs2hOos4d8F1ruUvrj+jYNQCpCMJ1NTDZKHR393gcTWm1i311PpCuHIA0WqS9FgKpN p3PeV2/s1V7Um3c/qmF6iFKFS/rzlO1kZACNOR91NWve45c+vYJD6VOGjxu4s9yzrRX6zKp/wyW PggCx7ZJ/lIyyEJprVjbbq2gosIjnZtfr+K8ayLtjRyBND5Hroyq16WLiCv1mb9fgT4ZDQPZF/8 8AwJsf2YHI/KJrRCfGMmwN6jsPxBKjKvadvlDHMlLw1cEJtFTs2TijCbiB+wR/ofJgR/op7v8oy fHI4= X-Received: by 2002:a05:6402:5106:b0:684:32ec:2332 with SMTP id 4fb4d7f45d1cf-68fa4c06625mr2328056a12.2.1780678257357; Fri, 05 Jun 2026 09:50:57 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: <6a21ff35.460eb.605c5f0a@gitrepo.freebsd.org> In-Reply-To: <6a21ff35.460eb.605c5f0a@gitrepo.freebsd.org> From: Alan Somers Date: Fri, 5 Jun 2026 10:50:43 -0600 X-Gm-Features: AVVi8CdQ52MnxJAzcEj5xHLeXysoRUBEVM1hKqVw0QGW0k1rUg6mHOUk_h18SbM Message-ID: Subject: Re: git: 823d00b2d447 - main - libc: Constify the getcap API To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4gX6rg1Rxvz46Qy X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Thu, Jun 4, 2026 at 4:42=E2=80=AFPM Dag-Erling Sm=C3=B8rgrav wrote: > > The branch main has been updated by des: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D823d00b2d447247f1c5860e3bb= c61f6fd19a70e5 > > commit 823d00b2d447247f1c5860e3bbc61f6fd19a70e5 > Author: Dag-Erling Sm=C3=B8rgrav > AuthorDate: 2026-06-04 22:41:22 +0000 > Commit: Dag-Erling Sm=C3=B8rgrav > CommitDate: 2026-06-04 22:41:22 +0000 > > libc: Constify the getcap API > > MFC after: 1 week > Inspired by: NetBSD > Reviewed by: kib > Differential Revision: https://reviews.freebsd.org/D57252 All of the cross-builds on Github have started to fail after this commit. Could you please investigate? From nobody Fri Jun 5 16:55:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6xY2cpTz6g945 for ; Fri, 05 Jun 2026 16:55: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX6xY1yfyz47kh for ; Fri, 05 Jun 2026 16:55:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780678513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+v5r0hiYvsgwd1gKNztGLW4Fgdo53InIBeopir9K2WY=; b=giwwLQUi6EEmQzGd3PpC27Eo4er5AQJ8tKieWkElkAyETqLbnMG2fTzfyZVgBl+MPU9yjt eRRn8KhBZY0AqVWmbgRHfojYfEl70gKm9bi8KtUhkqVbgDnHd5Pk5aAwRFmciRYGIb1gyr 6ohS+y9oaNoLSaCJdDvYNnyWDiKSSLJIdM8ZiIZG2oddcRY/803fU+Odyt+EPsK2hJtudz j1Ix5vkqFl0cJqRidmoFvWmvWrpGKI9iZzvpyvKnYgJwVZVR02MZ+lq5eDaTWGmxqIb1sz D+t93prTTX2ElKKgfWpHQo1p+Ue1XwFV/oVhWJfq3MarA71PPs+Tti32xwz2VQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780678513; a=rsa-sha256; cv=none; b=lHh5thtVlaPxalBbTOt2JTVCe+a+KQzeEl58ssFiv6w77Cj57B+oOO9j/Xyb7YhducnVNk KpaGzbnykrL6taYxzxs6OfdmOqAEiJ+YEN90tXnO8/+ZfEQ3js55Jd3lU9u/bAzvFN7Wl+ /tePYTtMJJOH9zdssoMyaZc/yqiP+Z8VeYTJ01WgJpDU0g0K8nNbW23P6WQd5zFuUucxYW /KVMNaCXXj3rVXIpgUiYkbVgy7ukup+9Q1AtnNypzGYwwgpEguKIcBZ7DPvkVmqtvAW+GZ tgCS8qAYAC0JK03mUeuU6Vv6Ymvvb4jMbY23pE5jhQaDOW807sNnbCPd9FfUjw== 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=1780678513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+v5r0hiYvsgwd1gKNztGLW4Fgdo53InIBeopir9K2WY=; b=tE489tRbxTDnOBaU0LOD0GwtjPejcfuqaWQzS/abVQeAt3nnKX7VIZ6DwJ3CMaKmZ9Ynj5 foYf19Vd/+ZFAReNypA3vuXk+N3OtYkFMKudpiv07BVAlDHPIUeE/Y3gC2rVw353cuApRV uKWVK1i/dKptYrscn4kscEeAS4yy/lesVlwkfoRhpREvGzENLj79uDmYW/ec8pPucB88Zp +hVYpZ95h6WP+ZwKyA8qdi8j+Fy6JrR5XwOtkvf4NY29ttIAsMz49xKVJAt4T3pjjUPeQB ISC7+9hCj74fwGtKrK6QpZ66kh5hszQH9AY6ig4wx7OJYoZXNObEvODqUKDSwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX6xY1HXrzdsR for ; Fri, 05 Jun 2026 16:55:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 183d8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 16:55:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 2404d8d741f2 - main - linux: Drop unneeded PHOLDs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2404d8d741f281e445233f86b0734d6dcf02c173 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 16:55:08 +0000 Message-Id: <6a22ff6c.183d8.67bbf077@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2404d8d741f281e445233f86b0734d6dcf02c173 commit 2404d8d741f281e445233f86b0734d6dcf02c173 Author: Mark Johnston AuthorDate: 2026-06-05 16:28:18 +0000 Commit: Mark Johnston CommitDate: 2026-06-05 16:54:59 +0000 linux: Drop unneeded PHOLDs There's no point in acquiring a hold if the proc lock isn't going to be dropped. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D57468 --- sys/i386/linux/linux_ptrace_machdep.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/i386/linux/linux_ptrace_machdep.c b/sys/i386/linux/linux_ptrace_machdep.c index 8d88f8540fd5..92f382d01439 100644 --- a/sys/i386/linux/linux_ptrace_machdep.c +++ b/sys/i386/linux/linux_ptrace_machdep.c @@ -377,10 +377,8 @@ linux_ptrace(struct thread *td, struct linux_ptrace_args *uap) } if (req == PTRACE_GETFPXREGS) { - _PHOLD(p); /* may block */ td2 = FIRST_THREAD_IN_PROC(p); error = linux_proc_read_fpxregs(td2, &r.fpxreg); - _PRELE(p); PROC_UNLOCK(p); if (error == 0) error = copyout(&r.fpxreg, (void *)uap->data, @@ -388,10 +386,8 @@ linux_ptrace(struct thread *td, struct linux_ptrace_args *uap) } else { /* clear dangerous bits exactly as Linux does*/ r.fpxreg.mxcsr &= 0xffbf; - _PHOLD(p); /* may block */ td2 = FIRST_THREAD_IN_PROC(p); error = linux_proc_write_fpxregs(td2, &r.fpxreg); - _PRELE(p); PROC_UNLOCK(p); } break; From nobody Fri Jun 5 17:17:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX7Rd4jTHz6gBb5 for ; Fri, 05 Jun 2026 17:17: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX7Rd1rbFz49Lp for ; Fri, 05 Jun 2026 17:17:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780679869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=III08IZJVW28GLtrJmuasLQ1hW6va1jFKR2Srxp49AU=; b=XehTXarxOAGyoBzIEDeeEN0BIaUj5+DL9z41+HTOavCMfUdmedXsPABwgO5+FiRKIvLj9g OloZOiSmo5kCtwSS36ZVAsIO0/0UQszE3QSmPbRObh9958XOq5dZyc9q5skDC5olwGPzJI v4MVEo31vpFIcOdF+VIzDqWZBcwczkNX1WH5vcOpK0KRDj1CKhDGxZmWhOX1pl0gC73jPX NuezTXrFd/OJARtm6hsEvsFuBzva1+9tC/gDQk9+rPgzzgtuCP1Z9vQap9FKn3HD5mBJiu 6cZ+ZNsEDw6Xni4Fd7/NdvLClfYLF4B/D0p7PI4ruvvTMJOsMTdqtuE4JSMbkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780679869; a=rsa-sha256; cv=none; b=BlTKR1TOcBDr3yQeQ3Erd3GuaKql5+Wa5+TU2Q4CFDfIQlmFfNMQibbyMo8H7uMmewIRQj 05t1hLdItEvXFzV6hAAX6jy7J47t4PQLRoYwe+Qyy74Zt3R4pxQbV62YQH+5rw4TnMurre ViO14zo1JCYFbMtOJSgtP8iLHF9J4EQCANkgjmduact6JbxFcf/Mn1O7TuFJuhhwkG1nm8 4fNgO5Hs1np3rW3q7scHy6amy7tQFqXOz6rrcZloWgnIliLFmYQpz0ojj8thvnFZ237yo5 ZEiyOmT+PWSvBq0ht+zOyxrRdrh1jdjJXKazfFXMp3L1l5nXQ9gV0vYdTPFrqg== 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=1780679869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=III08IZJVW28GLtrJmuasLQ1hW6va1jFKR2Srxp49AU=; b=uZNRXcyPzDAY/v8fH+dxx+x5xhwaOBptXBtX76mZxCb/X7KYr2pjTKFHgQ63GH8Ub9R/8e feythQiWGeb0OFzZPPYzmVmrRxLxq3/NuvkJmfvLlCkaNWX2ufuacMBUCwo5JjndY2g+fS 9O8fnbRQ4Yh6EkhndIF/JrIlotjF3GQuWzup7yqYW9xK7JJQNQfj/jP4z3UjgaftkP9feg 8whyv5N7J4QSpYuEz9Onowg7TA4p8OgixxuhVkr3PJScOIIaB5U3JA+ykQ82YTbdXmq3nM KQmw6zE/lftRzJmOd7QKjAU8Ma9RAcdtV8srgx5LYGo8e0qpSWPjNF5LBZAP4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX7Rd1MyXzfgy for ; Fri, 05 Jun 2026 17:17:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c039 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 17:17:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 641e8e39560d - main - Revert "libc: Constify the getcap API" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 641e8e39560d2acd2a52658af422bfd30aabb2bd Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 17:17:49 +0000 Message-Id: <6a2304bd.1c039.223d94e8@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=641e8e39560d2acd2a52658af422bfd30aabb2bd commit 641e8e39560d2acd2a52658af422bfd30aabb2bd Author: Dag-Erling Smørgrav AuthorDate: 2026-06-05 17:15:46 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-05 17:15:46 +0000 Revert "libc: Constify the getcap API" This broke cross-building on Linux and macOS. This reverts commit 823d00b2d447247f1c5860e3bbc61f6fd19a70e5. --- contrib/ncurses/include/ncurses_defs | 2 +- contrib/telnet/libtelnet/getent.c | 6 +++--- include/stdlib.h | 6 +++--- lib/libc/gen/disklabel.c | 5 ++--- lib/libc/gen/getcap.3 | 8 ++++---- lib/libc/gen/getcap.c | 18 ++++++++---------- lib/libutil/login_cap.c | 3 ++- libexec/getty/subr.c | 7 ++++++- usr.bin/cap_mkdb/cap_mkdb.c | 6 +++--- usr.bin/tip/tip/remote.c | 2 +- usr.sbin/lpr/common_source/printcap.c | 2 +- 11 files changed, 34 insertions(+), 31 deletions(-) diff --git a/contrib/ncurses/include/ncurses_defs b/contrib/ncurses/include/ncurses_defs index a706582c1910..8058fb25bd09 100644 --- a/contrib/ncurses/include/ncurses_defs +++ b/contrib/ncurses/include/ncurses_defs @@ -34,7 +34,7 @@ BROKEN_LINKER BSD_TPUTS -CGETENT_CONST const +CGETENT_CONST /* nothing */ CPP_HAS_PARAM_INIT CURSES_ACS_ARRAY acs_map CURSES_WACS_ARRAY _nc_wacs diff --git a/contrib/telnet/libtelnet/getent.c b/contrib/telnet/libtelnet/getent.c index 98122cd7e7ac..3be745e96c0b 100644 --- a/contrib/telnet/libtelnet/getent.c +++ b/contrib/telnet/libtelnet/getent.c @@ -39,17 +39,17 @@ static char sccsid[] = "@(#)getent.c 8.2 (Berkeley) 12/15/93"; #include "misc-proto.h" static char *area; -static const char * const dba[] = { "/etc/gettytab", NULL }; +static char gettytab[] = "/etc/gettytab"; /*ARGSUSED*/ int getent(char *cp __unused, const char *name) { int retval; - char *tempnam; + char *tempnam, *dba[2] = { gettytab, NULL }; tempnam = strdup(name); - retval = cgetent(&area, dba, tempnam) == 0 ? 1 : 0; + retval = cgetent(&area, dba, tempnam) == 0 ? 1 : 0; free(tempnam); return(retval); } diff --git a/include/stdlib.h b/include/stdlib.h index 5f705b9f7f42..305aea4b8672 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -279,10 +279,10 @@ char *getbsize(int *, long *); /* getcap(3) functions */ char *cgetcap(char *, const char *, int); int cgetclose(void); -int cgetent(char **, const char * const *, const char *); -int cgetfirst(char **, const char * const *); +int cgetent(char **, char **, const char *); +int cgetfirst(char **, char **); int cgetmatch(const char *, const char *); -int cgetnext(char **, const char * const *); +int cgetnext(char **, char **); int cgetnum(char *, const char *, long *); int cgetset(const char *); int cgetstr(char *, const char *, char **); diff --git a/lib/libc/gen/disklabel.c b/lib/libc/gen/disklabel.c index 9a43b004c6aa..4b3730920529 100644 --- a/lib/libc/gen/disklabel.c +++ b/lib/libc/gen/disklabel.c @@ -54,8 +54,6 @@ gettype(char *t, const char **names) return (0); } -static const char *db_array[] = { _PATH_DISKTAB, NULL }; - struct disklabel * getdiskbyname(const char *name) { @@ -63,12 +61,13 @@ getdiskbyname(const char *name) struct disklabel *dp = &disk; struct partition *pp; char *buf; + char *db_array[2] = { _PATH_DISKTAB, 0 }; char *cp, *cq; /* can't be register */ char p, max, psize[3], pbsize[3], pfsize[3], poffset[3], ptype[3]; u_int32_t *dx; - if (cgetent(&buf, db_array, name) < 0) + if (cgetent(&buf, db_array, (char *) name) < 0) return NULL; bzero((char *)&disk, sizeof(disk)); diff --git a/lib/libc/gen/getcap.3 b/lib/libc/gen/getcap.3 index 772becb650f5..00c7edd8026f 100644 --- a/lib/libc/gen/getcap.3 +++ b/lib/libc/gen/getcap.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 26, 2026 +.Dd March 22, 2002 .Dt GETCAP 3 .Os .Sh NAME @@ -48,7 +48,7 @@ .Sh SYNOPSIS .In stdlib.h .Ft int -.Fn cgetent "char **buf" "const char * const *db_array" "const char *name" +.Fn cgetent "char **buf" "char **db_array" "const char *name" .Ft int .Fn cgetset "const char *ent" .Ft int @@ -62,9 +62,9 @@ .Ft int .Fn cgetustr "char *buf" "const char *cap" "char **str" .Ft int -.Fn cgetfirst "char **buf" "const char * const *db_array" +.Fn cgetfirst "char **buf" "char **db_array" .Ft int -.Fn cgetnext "char **buf" "const char * const *db_array" +.Fn cgetnext "char **buf" "char **db_array" .Ft int .Fn cgetclose "void" .Sh DESCRIPTION diff --git a/lib/libc/gen/getcap.c b/lib/libc/gen/getcap.c index 7544e7343f45..cfb81ed0d065 100644 --- a/lib/libc/gen/getcap.c +++ b/lib/libc/gen/getcap.c @@ -62,8 +62,7 @@ static char *toprec; /* Additional record specified by cgetset() */ static int gottoprec; /* Flag indicating retrieval of toprecord */ static int cdbget(DB *, char **, const char *); -static int getent(char **, u_int *, const char * const *, int, - const char *, int, char *); +static int getent(char **, u_int *, char **, int, const char *, int, char *); static int nfcmp(char *, char *); /* @@ -155,7 +154,7 @@ cgetcap(char *buf, const char *cap, int type) * reference loop is detected. */ int -cgetent(char **buf, const char * const *db_array, const char *name) +cgetent(char **buf, char **db_array, const char *name) { u_int dummy; @@ -181,12 +180,11 @@ cgetent(char **buf, const char * const *db_array, const char *name) * MAX_RECURSION. */ static int -getent(char **cap, u_int *len, const char * const *db_array, int fd, - const char *name, int depth, char *nfield) +getent(char **cap, u_int *len, char **db_array, int fd, const char *name, + int depth, char *nfield) { DB *capdbp; - const char * const *db_p; - char *r_end, *rp; + char *r_end, *rp, **db_p; int myfd, eof, foundit, retval; char *record, *cbuf; int tc_not_resolved; @@ -613,7 +611,7 @@ cgetmatch(const char *buf, const char *name) int -cgetfirst(char **buf, const char * const *db_array) +cgetfirst(char **buf, char **db_array) { (void)cgetclose(); return (cgetnext(buf, db_array)); @@ -621,7 +619,7 @@ cgetfirst(char **buf, const char * const *db_array) static FILE *pfp; static int slash; -static const char * const *dbp; +static char **dbp; int cgetclose(void) @@ -642,7 +640,7 @@ cgetclose(void) * upon returning an entry with more remaining, and -1 if an error occurs. */ int -cgetnext(char **bp, const char * const *db_array) +cgetnext(char **bp, char **db_array) { size_t len; int done, hadreaderr, savederrno, status; diff --git a/lib/libutil/login_cap.c b/lib/libutil/login_cap.c index 1894b8e8cd83..0d7becacbfc7 100644 --- a/lib/libutil/login_cap.c +++ b/lib/libutil/login_cap.c @@ -299,7 +299,8 @@ login_getclassbyname(char const *name, const struct passwd *pwd) const char *msg = NULL; const char *dir; char userpath[MAXPATHLEN]; - const char *login_dbarray[] = { NULL, NULL, NULL }; + + static char *login_dbarray[] = { NULL, NULL, NULL }; me = (name != NULL && strcmp(name, LOGIN_MECLASS) == 0); dir = (!me || pwd == NULL) ? NULL : pwd->pw_dir; diff --git a/libexec/getty/subr.c b/libexec/getty/subr.c index 15eaf2ee2a58..05186f593bf4 100644 --- a/libexec/getty/subr.c +++ b/libexec/getty/subr.c @@ -54,7 +54,6 @@ void gettable(const char *name) { - static const char *dba[2] = { _PATH_GETTYTAB, NULL }; char *buf = NULL; struct gettystrs *sp; struct gettynums *np; @@ -62,9 +61,15 @@ gettable(const char *name) long n; int l; char *p; + static char path_gettytab[PATH_MAX]; + char *dba[2]; static int firsttime = 1; + strlcpy(path_gettytab, _PATH_GETTYTAB, sizeof(path_gettytab)); + dba[0] = path_gettytab; + dba[1] = NULL; + if (firsttime) { /* * we need to strdup() anything in the strings array diff --git a/usr.bin/cap_mkdb/cap_mkdb.c b/usr.bin/cap_mkdb/cap_mkdb.c index ea14bad474b5..019dad1ee72e 100644 --- a/usr.bin/cap_mkdb/cap_mkdb.c +++ b/usr.bin/cap_mkdb/cap_mkdb.c @@ -40,7 +40,7 @@ #include #include -static void db_build(const char * const *); +static void db_build(char **); static void dounlink(void); static void usage(void); @@ -113,7 +113,7 @@ main(int argc, char *argv[]) if (atexit(dounlink)) err(1, "atexit"); - db_build((const char * const *)argv); + db_build(argv); if (capdbp->close(capdbp) < 0) err(1, "%s", capname); @@ -142,7 +142,7 @@ dounlink(void) * details above. */ static void -db_build(const char * const *ifiles) +db_build(char **ifiles) { DBT key, data; recno_t reccnt; diff --git a/usr.bin/tip/tip/remote.c b/usr.bin/tip/tip/remote.c index 01b1d59230dc..00ce25f52b5c 100644 --- a/usr.bin/tip/tip/remote.c +++ b/usr.bin/tip/tip/remote.c @@ -53,7 +53,7 @@ static char *capstrings[] = { "di", "es", "ex", "fo", "rc", "re", "pa", 0 }; -static const char *db_array[] = { _PATH_REMOTE, NULL, NULL }; +static char *db_array[3] = { _PATH_REMOTE, 0, 0 }; #define cgetflag(f) (cgetcap(bp, f, ':') != NULL) diff --git a/usr.sbin/lpr/common_source/printcap.c b/usr.sbin/lpr/common_source/printcap.c index 2b9cb67b6df4..35fcab4c16eb 100644 --- a/usr.sbin/lpr/common_source/printcap.c +++ b/usr.sbin/lpr/common_source/printcap.c @@ -54,7 +54,7 @@ /* * Routines and data used in processing the printcap file. */ -static const char *printcapdb[] = { _PATH_PRINTCAP, NULL }; +static char *printcapdb[] = { __DECONST(char *, _PATH_PRINTCAP), NULL }; static char *capdb_canonical_name(const char *_bp); static int capdb_getaltlog(char *_bp, const char *_shrt, From nobody Fri Jun 5 17:56:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX8JJ0kVxz6gFXR for ; Fri, 05 Jun 2026 17:56: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX8JJ0BrJz4HDN for ; Fri, 05 Jun 2026 17:56:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780682192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y/pP2dEMQQtwC8FiOlgptklTZ1UrINYTGFzkh3fr2Do=; b=KW6uUjQAhZQf25Pf6NLF8GFurUCBCoJWcq5R8+pG2oK15XkSlA4KilaX7KqE0fJx6FK4Xf 9v+ZZ19lfvE4TrX+V1oTPG/5m9YOqKmZfSH+FTniWwbiAtWMM2c++0JWM78lz1ImkxQnkP 2wC2lU/FduHdJhZam/2RALyKoB22n8GWCmIhOuWLGklzkLy1hNMBLcqoi7D1MOl+yLRVjk lpZ35p3on5kGENVXAWRk8LlSlU6QuNgBrvgYwxu1aCAt9jCGeeLn2uYDLlGjwnqKg6GS1I jX31ekXod0iRUYto5TtnDF0xL8Emi8+kTQ6RjLMp4v92CnBU69KOVQIBUIz3uQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780682192; a=rsa-sha256; cv=none; b=pegpC4hJ9Z3sqUTPJ15XJINqSr5+aGmamkco61nhtoBQNvvfm23BMDuwInn/2xp6A900C+ XBS56I8zcEwPJA0eTEnDAeh9WktF4cAAAs772N79mp+TM8C22qBTOGX4czVrKUCGhRouWV Oag1uA8ryGMr9mU1EbZRTc6rzTZMnL9INe2zzm7mKVoAHJylPY08FpsmO8dhf9jvYJ6eUV pt6Xfe8GUG5NGTgCessf+Vahs4TeETYjwZpG6oxuEuVKK4lAnp2Kg34pXSeY3UukZnFyl9 Vcm4ZGuMDX0Co8FyZhp1O7LomkMEUx6nfE+R4eAs7qPp87oJo1mFtGsXauCVgA== 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=1780682192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y/pP2dEMQQtwC8FiOlgptklTZ1UrINYTGFzkh3fr2Do=; b=KBk9Xd4UUBMe0AX3ZLGO2HhKDKby3A8QQB6TpArpXNywgx+wNEuA4JZUvNAtDbDhVt0JyI 2VYz++q/mnyOpLeNMt5Ty2hQIDHTJGga3Zv5FA9l+ic1WM5WXP4kOfVrBjUSWVgs3lmg6F CscqYqYgpp4fFkxlCSvRqL5khiU5cJpWuSsObCq5Azrj0jCMjmH8ID9UvWBNNRATgyQmMU OwZpeV7r2o+VEFMk88kt1VK8cS07yl9LBKUAxkyQ7ciK/8qbYiKkofkd1HyTd7KR6JAYj1 3/IeDJh75fErvbk8xrurTXZuZ/PkMz/CHgduFadh2fcHrUcvhv/wBdMN8y7zig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX8JH6PVNzgm9 for ; Fri, 05 Jun 2026 17:56:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 207c0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 17:56:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 0ae946e7223d - main - vt: Avoid integer overflow in CONS_HISTORY ioctl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ae946e7223df5ef3f7980af1d774d7f593f6421 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 17:56:26 +0000 Message-Id: <6a230dca.207c0.6b29a30f@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0ae946e7223df5ef3f7980af1d774d7f593f6421 commit 0ae946e7223df5ef3f7980af1d774d7f593f6421 Author: Ed Maste AuthorDate: 2026-05-26 16:19:47 +0000 Commit: Ed Maste CommitDate: 2026-06-05 17:56:12 +0000 vt: Avoid integer overflow in CONS_HISTORY ioctl Reviewed by: markj, vexeduxr Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57250 --- sys/dev/vt/vt_buf.c | 9 ++++----- sys/dev/vt/vt_core.c | 6 ++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/dev/vt/vt_buf.c b/sys/dev/vt/vt_buf.c index 8596342c139a..9b65a7cb889c 100644 --- a/sys/dev/vt/vt_buf.c +++ b/sys/dev/vt/vt_buf.c @@ -529,7 +529,6 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) { term_char_t *old, *new, **rows, **oldrows, **copyrows, *row, *oldrow; unsigned int w, h, c, r, old_history_size; - size_t bufsize, rowssize; int history_full; const teken_attr_t *a; term_char_t ch; @@ -540,10 +539,10 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) history_size = MAX(history_size, p->tp_row); /* Allocate new buffer. */ - bufsize = history_size * p->tp_col * sizeof(term_char_t); - new = malloc(bufsize, M_VTBUF, M_WAITOK | M_ZERO); - rowssize = history_size * sizeof(term_pos_t *); - rows = malloc(rowssize, M_VTBUF, M_WAITOK | M_ZERO); + new = mallocarray(history_size, p->tp_col * sizeof(term_char_t), + M_VTBUF, M_WAITOK | M_ZERO); + rows = mallocarray(history_size, sizeof(term_pos_t *), M_VTBUF, + M_WAITOK | M_ZERO); /* Toggle it. */ VTBUF_LOCK(vb); diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index db54cb426844..81487d27a6fc 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -2802,8 +2803,9 @@ skip_thunk: /* XXX */ return (0); case CONS_HISTORY: - if (*(int *)data < 0) - return EINVAL; + if (*(int *)data < 0 || + *(int *)data > UINT_MAX / USHRT_MAX / sizeof(term_char_t)) + return (EINVAL); if (*(int *)data != vw->vw_buf.vb_history_size) vtbuf_sethistory_size(&vw->vw_buf, *(int *)data); return (0); From nobody Fri Jun 5 19:28:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXBLZ6vHwz6gNJw for ; Fri, 05 Jun 2026 19:28:38 +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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXBLZ2Xt2z3CqB for ; Fri, 05 Jun 2026 19:28:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780687718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PMirtrn5ygJJvjSI9C1UpvYrXJW8UWJKsa8kNDQU82E=; b=YosZJhtuad/0xhV+Owb6GYBzVKSjhNF3sdKL8Ksk/dsFDJG3RMZhcb0uYin9HhUol0PXpb wmpeMGWQvTVnHDiKXZWbL2DJ0/Kg35MG+Re31x/qOBFa0lI/LD4KQ+seLkBWUmlqpJexpV TPbdHvK7zeBygvytUH3/QJy6mqeZgtEfEmTV8HGCIAxFSCdWe9RuVyT1Ov+W0AbDevmbwx BUrbH5wtANgVrQloEEvdUfcQOCuxNDNslh0iW5ZZ6UzXjr/+o3Sz38L+hhwvXAQHHLvXQ1 twcFBGtA7W/FEH9A2QQEOMIoHWL3/NTL9lLNacNdtjzjsWMlGFagEsxg1MtcBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780687718; a=rsa-sha256; cv=none; b=TSnojwjLkm/BHUfxRDbv+Nu2IjNk5n/Ukj8Xr5L/HiESmiR2hnPVp7iNZBapvZtO2ai4oA qdrEiY7FxjpDUjgoDY8q3d/oISVVqNulO2s7IprrNOzsVAKtytNjADGr13FxXxuEQRaRId cx+Kn1aX7j3XvPwf/yaf8OrxeILKtUoc9UPghSXbrzc67tx51jj5wyjWPF0RT1OTnsy4CY vzxoF93Vb4EfbWM4Twq1VPFnDobhW6XBuD3RsT6QrXWsKcMxNQeDT5FvGAuQt08XRcMfVh cFMiCVKCF69bEDnUSaEwiPdIkZJ0GFliSiiR3xLOt1KqC4zBhvCo9a47ghmj7g== 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=1780687718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PMirtrn5ygJJvjSI9C1UpvYrXJW8UWJKsa8kNDQU82E=; b=VzTOTUKsDamKzsKIQQY5YvYSvbdCiERXFtU7DiFJLg3g9+nL5cuIis5dRwPA8a/cG/NMX5 6JpQgMXEdDFqKXcsD4SqF361BWkjjBMSuq6UrleYH9XkSeiTsxi+bt3qmsVCV+MCRWy9ct DGe+7VfsZ6K+DnRbVuc197Wur/+gGxYAH4zF4Dcny2Cgy2fNBnV5Ao2pSB5zqwvBFzXyEN e4Ma0c2DFfNYoKAlPcVsL2CtJS3phd+78R5GQpwkcOuAmIfHhWq3W5PZfYkFV9zwjArJbl KSyWyQAKDlBSqdXdJppqcG0qNQOlTjS3+FMXvDwVR0Uq8m4/2PYav2wnWGO5/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 4gXBLZ1rhPzk8H for ; Fri, 05 Jun 2026 19:28:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33569 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 19:28:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: ab599e44dba3 - stable/15 - netlink: Fix lock leak in nl_find_nhop List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ab599e44dba31d7b002aed8c71242e06d992b21a Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 19:28:32 +0000 Message-Id: <6a232360.33569.6c8af2b3@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ab599e44dba31d7b002aed8c71242e06d992b21a commit ab599e44dba31d7b002aed8c71242e06d992b21a Author: Ed Maste AuthorDate: 2026-05-21 21:14:41 +0000 Commit: Ed Maste CommitDate: 2026-06-05 19:28:06 +0000 netlink: Fix lock leak in nl_find_nhop Reviewed by: bz, pouria Fixes: 7e5bf68495cc ("netlink: add netlink support") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57156 (cherry picked from commit d66fec481bfd65cbabb6c12a410d76843e76083e) --- sys/netlink/route/nexthop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 30aa3dd72534..8f3ebc123600 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -174,7 +174,7 @@ nl_find_nhop(uint32_t fibnum, int family, uint32_t uidx, CHT_SLIST_FIND_BYOBJ(&ctl->un_head, unhop, &key, unhop); if (unhop != NULL) { struct nhop_object *nh = unhop->un_nhop; - UN_RLOCK(ctl); + UN_RUNLOCK(ctl); *perror = 0; nhop_ref_any(nh); return (nh); From nobody Fri Jun 5 19:38:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXBYh2HsQz6gP8Q for ; Fri, 05 Jun 2026 19:38: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXBYh0Mmtz3Dqk for ; Fri, 05 Jun 2026 19:38:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780688296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dV20vK4+b4E+E2TvvCRhfSMPitGkT9z43XTi4KSbrkc=; b=iD1+G1OT3+oVsE7QAwKDdd6CR32cjPoECD6TKBZQM0foFKdO0kuPuMWCSwETI7cM0RIIt6 lDA5i+xXxzNzaBfzuhCoss1Y5gDFutuelnkgJwR/2iSTzATJFfEEgSdPuk9yRc+9mNViCq 3gPdSSKNwMJp2EJ12ThjqBLExXyeSbGKpfQt+sUnns8kNhcrgp8egOptmiFacUdymKhpFV jl6wMuQSHjalFXrG8grNXX1THcR7QofRvkoxTWlo4z9FtIdtAR4Gxu7qTIlNSjAzTROxZ/ k9qXr9hYrDDyHIDOqln/fymEcgTUy8F8qQ8MkWZGOSha9AH6yW3Lz3R8gXWJVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780688296; a=rsa-sha256; cv=none; b=pvpjHcayh6gIKHlhPAl/lj6n4jrwjDK1ZqhX4tH4/wascFBTLn0fXBsYM4d1gQf3zO1yFO OmpjRH9I2qp1RAlbtcRn+nic4F4cZWBgc5nNMll5egZoUiQ+LxLLxCG9y6CLEtQyq2pNBu maJJ5CmQVJY+hotslO0FkaWGWuzTtDA1mtaPHdsiHrt5aGoMlM1ZxF+lNEe8mKFhp+yVw2 Y2f9SrkdQQwSbAelawxmd2CRle6Bglk5y4Y3mc27YnzDBfK1ZAsjeI8J1umnsDq9fGFRx/ 4iv/KZvW//DEJ+10U1k95myNUGQz0i4gmapBTg1mnVD6yglVBJ2i+7IWDitouw== 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=1780688296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dV20vK4+b4E+E2TvvCRhfSMPitGkT9z43XTi4KSbrkc=; b=p7NC509W8AbNCkBUZXb3vXrLIEN8xxQathWsFQ73mw0zofF/tjpUrgQ7vxSL9V+Mzz9GkC I+NSoBfs9VWq6f0KN6PuqjSH8PyEkmWcIvMySX5MI10XHQ1fb3zZ6sistOHMxK+C8+8zo8 KUkrJNP6CjgyeHZiKAsMfPeGfy/lWfBCscBWhZPKN9fijvzCrMO8vR0Xrqc3v/S5qFzmuB PTOkaNYRU/3m7my29xmpHZS6KkI10VQvUX8Q/LTikHaWcTd4sd7HCGMFLmU6Ib5OVo9/CT TR4lM7ECOfnh6RYT4WIUOOfws161hQq+2k04PWXVI2zXmjDXkVze3V9TLb8kxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXBYg6rn8zkBm for ; Fri, 05 Jun 2026 19:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33b03 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 19:38:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 28833ade34e4 - stable/14 - netlink: Fix lock leak in nl_find_nhop List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 28833ade34e4eabbbbf985217e552ac589fb9329 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 19:38:10 +0000 Message-Id: <6a2325a2.33b03.1c2a5a7@gitrepo.freebsd.org> The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=28833ade34e4eabbbbf985217e552ac589fb9329 commit 28833ade34e4eabbbbf985217e552ac589fb9329 Author: Ed Maste AuthorDate: 2026-05-21 21:14:41 +0000 Commit: Ed Maste CommitDate: 2026-06-05 19:37:58 +0000 netlink: Fix lock leak in nl_find_nhop Reviewed by: bz, pouria Fixes: 7e5bf68495cc ("netlink: add netlink support") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57156 (cherry picked from commit d66fec481bfd65cbabb6c12a410d76843e76083e) (cherry picked from commit ab599e44dba31d7b002aed8c71242e06d992b21a) --- sys/netlink/route/nexthop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 0d6bb5c9ec84..e7f08f2f8f3a 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -174,7 +174,7 @@ nl_find_nhop(uint32_t fibnum, int family, uint32_t uidx, CHT_SLIST_FIND_BYOBJ(&ctl->un_head, unhop, &key, unhop); if (unhop != NULL) { struct nhop_object *nh = unhop->un_nhop; - UN_RLOCK(ctl); + UN_RUNLOCK(ctl); *perror = 0; nhop_ref_any(nh); return (nh); From nobody Fri Jun 5 19:58:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXC1S5Ypjz6gQZZ for ; Fri, 05 Jun 2026 19:58: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXC1S3rzcz3GZk for ; Fri, 05 Jun 2026 19:58:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780689532; 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=H40QiLsczytV5aVupMq9y/WcYML/wUWS69nAvcSNgeA=; b=XWJEADep42A8oeW9vvLOwYTvLpgLQ0Ku88DGJOtMOYg8dDALrSzo1URuTMTLq/0ttpa3+r jlFyGs1gZdflccmLEttatK5K2Qtne18mppqvBx9uxmHao9890BOXQl4vdZrS/kBxGCz2lj PuhgkUN8w40ixJg7OJrT0WlmGesM5Skc9ZGbBrheWINraMZSgYygiIOYaf5bUIV2RVfPT8 J/ZbRYNsDSCbZ25qYls6fTq6XhhwHDBdqiX7aMy4a+92Rr3daWZlbTymXKCTloXQZc8Xkq jjCNMAvUNHjXcoUKN1hNs7IbW8FspFN3pO/wFBcm152wmxkqScRAWbsRzOiXlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780689532; a=rsa-sha256; cv=none; b=xACz/Bl7RvdXW9laiwe4AophpylUQftGqKrvjThyZ16GB+rxyNyF9ZGgIQCTcTbWGFzkpt r8cMfBW3iPqSDVlRoOWNWwSeG7adFvTJkY+xomx3EOs/bkJWca6ohAPZeZVLBaiakl+x2x E3V7ezKUgnISewTwL5Vsoi8b2SvdvmjE9cyZxfHyB4UOtwXZpjIIKfvHHeipxmO918LCtf Q0+6zu+lol7beFupKYzvamrC5Dm79GQxEi1s6UtHaEOvy6ifhozGs5bhKvAyaRWxS2OHBO IblDSm7bLIX3D7NaET6yL6hWz/sVRlw/Zs0M/uIEmeVy+IRxpV3wMhUgbiwePA== 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=1780689532; 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=H40QiLsczytV5aVupMq9y/WcYML/wUWS69nAvcSNgeA=; b=vh1xNn9lB2YkVTremrlOvLUZLc49Be5IhlTD6+UGphABLkYPtudB19lBs7FqLPcbPdc8eX d16fDQe6ULlemohJTxzRLreEp/y+EbXs4+1rkboJepePMoyKtTBKD3mtAwD5J9bLj1o1+R Q+nlfhRY7T5Oxq4F7tfDopCDXtHF3W9pR+TnU2GkWS3AlKCswFyvJ/jbMVGPOJ2JGBJqdi wbbgOWPtdCBdxk18Xy/kbc0lQROaJEwAYrNMVN0JalsXh2snb9utj9QODgp23FGWuxb7Ch /DTee0GK+XbZjZDX4adFL5hPVHEatr+TdElAE/8i/UxuuD5TFeKPW3tWvYNE0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXC1S2zVdzkdQ for ; Fri, 05 Jun 2026 19:58:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36fa2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 19:58:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Jitendra Bhati From: Alan Somers Subject: git: b45654c6a4d3 - main - fts: add misc fts traversal tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b45654c6a4d3b2a322b5787e3233b1b22ef4d128 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 19:58:47 +0000 Message-Id: <6a232a77.36fa2.7655390c@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=b45654c6a4d3b2a322b5787e3233b1b22ef4d128 commit b45654c6a4d3b2a322b5787e3233b1b22ef4d128 Author: Jitendra Bhati AuthorDate: 2026-05-26 11:23:53 +0000 Commit: Alan Somers CommitDate: 2026-06-05 19:57:30 +0000 fts: add misc fts traversal tests Extend fts_misc_test.c with additional test cases: - FTS_NOCHDIR with absolute paths allows application chdir freely - fts_name is always NUL-terminated with correct fts_namelen - FTS_D/FTS_DP are paired and fts_level increments correctly - FTSENT fts_errno/fts_dev/fts_ino/fts_nlink are correct - circular symlink loop under FTS_PHYSICAL terminates - cycle via symlink under FTS_LOGICAL yields FTS_DC - fts_close after root deletion must not crash - fts_close after root rename restores CWD (SVN r77497) - FTS_NOCHDIR + empty directory does not corrupt path (SVN r49772) - FTS_NS entry has non-zero fts_errno - FTS_XDEV and FTS_WHITEOUT stubbed pending mount setup Sponsored by: Google LLC (GSoC 2026) Reviewed by: asomers, jillest MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2248 --- lib/libc/tests/gen/fts_misc_test.c | 521 ++++++++++++++++++++++++++++++++++++- 1 file changed, 520 insertions(+), 1 deletion(-) diff --git a/lib/libc/tests/gen/fts_misc_test.c b/lib/libc/tests/gen/fts_misc_test.c index 91640078f63c..95593e26095c 100644 --- a/lib/libc/tests/gen/fts_misc_test.c +++ b/lib/libc/tests/gen/fts_misc_test.c @@ -1,16 +1,23 @@ -/*- +/* * Copyright (c) 2025 Klara, Inc. + * Copyright (c) 2026 Jitendra Bhati * * SPDX-License-Identifier: BSD-2-Clause */ +#include +#include #include +#include +#include +#include #include #include #include #include #include +#include #include #include @@ -69,10 +76,522 @@ ATF_TC_BODY(fts_unrdir_nochdir, tc) }); } +/* + * With FTS_NOCHDIR and absolute paths, the application may call chdir(2) + * freely between fts_read() calls without corrupting the traversal. + */ +ATF_TC(nochdir_app_can_chdir); +ATF_TC_HEAD(nochdir_app_can_chdir, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_NOCHDIR: application chdir between reads does not " + "corrupt traversal"); +} +ATF_TC_BODY(nochdir_app_can_chdir, tc) +{ + char *cwd, *abspath; + char *paths[2]; + char pwd[PATH_MAX]; + FTS *fts; + FTSENT *ent; + int entries; + + cwd = malloc(PATH_MAX); + ATF_REQUIRE(cwd != NULL); + abspath = malloc(PATH_MAX * 2); + ATF_REQUIRE(abspath != NULL); + + ATF_REQUIRE(getcwd(cwd, PATH_MAX) != NULL); + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/a", 0644))); + ATF_REQUIRE_EQ(0, close(creat("dir/b", 0644))); + + snprintf(abspath, PATH_MAX * 2, "%s/dir", cwd); + paths[0] = abspath; + paths[1] = NULL; + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL | FTS_NOCHDIR, + fts_lexical_compar)) != NULL); + + /* + * Chdir to root once after fts_open() but before fts_read(). + * With FTS_NOCHDIR, fts must not call chdir() itself, so the + * process CWD must remain "/" throughout the traversal. + */ + ATF_REQUIRE_EQ(0, chdir("/")); + + entries = 0; + while ((ent = fts_read(fts)) != NULL) { + ATF_REQUIRE(getcwd(pwd, sizeof(pwd)) != NULL); + ATF_CHECK_STREQ_MSG("/", pwd, + "PWD changed during FTS_NOCHDIR traversal"); + entries++; + } + ATF_CHECK_EQ_MSG(0, errno, + "traversal ended with errno %d", errno); + + /* FTS_D dir, FTS_F a, FTS_F b, FTS_DP dir = 4 entries */ + ATF_CHECK_EQ_MSG(4, entries, + "expected 4 entries, got %d", entries); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); + free(cwd); + free(abspath); +} + +/* + * fts_name is always NUL-terminated and fts_namelen always equals + * strlen(fts_name), regardless of traversal options or entry type. + */ +ATF_TC(name_nul_terminated); +ATF_TC_HEAD(name_nul_terminated, tc) +{ + atf_tc_set_md_var(tc, "descr", + "fts_name is always NUL-terminated with correct fts_namelen"); +} +ATF_TC_BODY(name_nul_terminated, tc) +{ + char *paths[] = { "root", NULL }; + FTS *fts; + FTSENT *ent; + + ATF_REQUIRE_EQ(0, mkdir("root", 0755)); + ATF_REQUIRE_EQ(0, mkdir("root/sub", 0755)); + ATF_REQUIRE_EQ(0, close(creat("root/sub/file.c", 0644))); + ATF_REQUIRE_EQ(0, symlink("file.c", "root/sub/link")); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, + fts_lexical_compar)) != NULL); + + while ((ent = fts_read(fts)) != NULL) { + ATF_CHECK_EQ_MSG(strlen(ent->fts_name), ent->fts_namelen, + "fts_namelen %zu != strlen(fts_name) %zu for '%s'", + ent->fts_namelen, strlen(ent->fts_name), ent->fts_name); + } + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * Every FTS_D must be paired with exactly one FTS_DP. fts_level must + * be FTS_ROOTLEVEL (0) for the root, incrementing by one per level. + */ +ATF_TC(prepost_order_and_levels); +ATF_TC_HEAD(prepost_order_and_levels, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_D/FTS_DP are paired and fts_level increments correctly"); +} +ATF_TC_BODY(prepost_order_and_levels, tc) +{ + char *paths[] = { "top", NULL }; + FTS *fts; + FTSENT *ent; + static const int stack_depth = 32; + struct { + const char *name; + long level; + } stack[32]; + int depth; + + ATF_REQUIRE_EQ(0, mkdir("top", 0755)); + ATF_REQUIRE_EQ(0, mkdir("top/mid", 0755)); + ATF_REQUIRE_EQ(0, mkdir("top/mid/bot", 0755)); + ATF_REQUIRE_EQ(0, close(creat("top/mid/bot/leaf", 0644))); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, + fts_lexical_compar)) != NULL); + + depth = 0; + while ((ent = fts_read(fts)) != NULL) { + if (ent->fts_info == FTS_D) { + ATF_REQUIRE_MSG(depth < stack_depth, + "stack overflow in test"); + stack[depth].name = ent->fts_name; + stack[depth].level = ent->fts_level; + depth++; + } else if (ent->fts_info == FTS_DP) { + ATF_REQUIRE_MSG(depth > 0, + "FTS_DP without matching FTS_D"); + depth--; + ATF_CHECK_STREQ(stack[depth].name, ent->fts_name); + ATF_CHECK_EQ(stack[depth].level, ent->fts_level); + } + + if (ent->fts_info == FTS_D || ent->fts_info == FTS_DP || + ent->fts_info == FTS_F) { + if (strcmp(ent->fts_name, "top") == 0) + ATF_CHECK_EQ(FTS_ROOTLEVEL, ent->fts_level); + else if (strcmp(ent->fts_name, "mid") == 0) + ATF_CHECK_EQ(1, ent->fts_level); + else if (strcmp(ent->fts_name, "bot") == 0) + ATF_CHECK_EQ(2, ent->fts_level); + else if (strcmp(ent->fts_name, "leaf") == 0) + ATF_CHECK_EQ(3, ent->fts_level); + } + } + ATF_CHECK_EQ_MSG(0, depth, + "%d unmatched FTS_D entries at end", depth); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * FTSENT fields fts_errno, fts_dev, fts_ino, and fts_nlink must be + * consistent with what stat(2) returns for successfully visited entries. + */ +ATF_TC(ftsent_fields); +ATF_TC_HEAD(ftsent_fields, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTSENT fts_errno/fts_dev/fts_ino/fts_nlink are correct"); +} +ATF_TC_BODY(ftsent_fields, tc) +{ + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + struct stat sb; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, + fts_lexical_compar)) != NULL); + + while ((ent = fts_read(fts)) != NULL) { + ATF_CHECK_EQ_MSG(0, ent->fts_errno, + "fts_errno != 0 for '%s'", ent->fts_name); + + if (ent->fts_info == FTS_D) { + ATF_REQUIRE_EQ_MSG(0, + stat(ent->fts_accpath, &sb), + "stat(%s): %m", ent->fts_accpath); + ATF_CHECK_EQ(sb.st_dev, ent->fts_dev); + ATF_CHECK_EQ(sb.st_ino, ent->fts_ino); + /* + * "dir" has exactly two links: one from its + * parent and one from its own "." entry. + */ + ATF_CHECK_EQ_MSG(2, ent->fts_nlink, + "expected fts_nlink == 2 for '%s', got %ju", + ent->fts_name, (uintmax_t)ent->fts_nlink); + } + } + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * Under FTS_PHYSICAL, symlinks are never followed, so a circular + * symlink loop cannot cause infinite recursion. Both symlinks are + * returned as FTS_SL and traversal terminates. + */ +ATF_TC(symlink_loop_physical); +ATF_TC_HEAD(symlink_loop_physical, tc) +{ + atf_tc_set_md_var(tc, "descr", + "circular symlink loop under FTS_PHYSICAL terminates"); +} +ATF_TC_BODY(symlink_loop_physical, tc) +{ + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + int entries; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, symlink("b", "dir/a")); + ATF_REQUIRE_EQ(0, symlink("a", "dir/b")); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, + fts_lexical_compar)) != NULL); + + entries = 0; + while ((ent = fts_read(fts)) != NULL) { + ATF_CHECK_MSG( + ent->fts_info == FTS_D || + ent->fts_info == FTS_DP || + ent->fts_info == FTS_SL, + "unexpected fts_info %d for '%s'", + ent->fts_info, ent->fts_name); + ATF_REQUIRE_MSG(++entries < 100, + "traversal exceeded 100 entries, probable infinite loop"); + } + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * Cycle detection via dev/ino comparison under FTS_LOGICAL: following + * a symlink that points back to an ancestor must produce FTS_DC rather + * than infinite recursion. + */ +ATF_TC(cycle_detection); +ATF_TC_HEAD(cycle_detection, tc) +{ + atf_tc_set_md_var(tc, "descr", + "cycle via symlink under FTS_LOGICAL yields FTS_DC"); +} +ATF_TC_BODY(cycle_detection, tc) +{ + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + int saw_dc, entries; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, symlink("..", "dir/up")); + + ATF_REQUIRE((fts = fts_open(paths, FTS_LOGICAL, + fts_lexical_compar)) != NULL); + + saw_dc = 0; + entries = 0; + while ((ent = fts_read(fts)) != NULL) { + if (ent->fts_info == FTS_DC) + saw_dc = 1; + ATF_REQUIRE_MSG(++entries < 100, + "traversal exceeded 100 entries, probable infinite loop"); + } + ATF_CHECK_MSG(saw_dc != 0, + "expected FTS_DC entry for the cycle"); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * fts_close() after the root directory has been deleted must not crash. + */ +ATF_TC(close_after_root_deleted); +ATF_TC_HEAD(close_after_root_deleted, tc) +{ + atf_tc_set_md_var(tc, "descr", + "fts_close after root deletion must not crash"); +} +ATF_TC_BODY(close_after_root_deleted, tc) +{ + char *orig_cwd, *final_cwd; + char *paths[] = { "dir", NULL }; + FTS *fts; + + orig_cwd = malloc(PATH_MAX); + ATF_REQUIRE(orig_cwd != NULL); + final_cwd = malloc(PATH_MAX); + ATF_REQUIRE(final_cwd != NULL); + + ATF_REQUIRE(getcwd(orig_cwd, PATH_MAX) != NULL); + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); + + /* Read first entry then delete the tree. */ + ATF_REQUIRE(fts_read(fts) != NULL); + ATF_REQUIRE_EQ(0, unlink("dir/file")); + ATF_REQUIRE_EQ(0, rmdir("dir")); + + /* + * Drain traversal -- errors are expected after deletion + * but fts_read() must not crash. + */ + while (fts_read(fts) != NULL) + ; + + /* fts_close() must not crash regardless of return value. */ + (void)fts_close(fts); + + /* + * After fts_close(), the process CWD must be restored to + * the original directory even though the traversal root + * was deleted mid-traversal. + */ + ATF_REQUIRE(getcwd(final_cwd, PATH_MAX) != NULL); + ATF_CHECK_STREQ_MSG(orig_cwd, final_cwd, + "CWD after fts_close should be '%s', got '%s'", + orig_cwd, final_cwd); + + free(orig_cwd); + free(final_cwd); +} + +/* + * fts_close() after the root has been renamed must restore the process + * CWD to the original directory. + * Regression test for SVN r77497. + */ +ATF_TC(close_after_root_moved); +ATF_TC_HEAD(close_after_root_moved, tc) +{ + atf_tc_set_md_var(tc, "descr", + "fts_close after root rename restores CWD (SVN r77497)"); +} +ATF_TC_BODY(close_after_root_moved, tc) +{ + char *orig_cwd, *final_cwd; + char *paths[] = { "dir", NULL }; + FTS *fts; + + orig_cwd = malloc(PATH_MAX); + ATF_REQUIRE(orig_cwd != NULL); + final_cwd = malloc(PATH_MAX); + ATF_REQUIRE(final_cwd != NULL); + + ATF_REQUIRE(getcwd(orig_cwd, PATH_MAX) != NULL); + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); + + /* Read first entry then rename the root mid-traversal. */ + ATF_REQUIRE(fts_read(fts) != NULL); + ATF_REQUIRE_EQ(0, rename("dir", "dir_moved")); + + while (fts_read(fts) != NULL) + ; + + /* fts_close() must not crash. */ + (void)fts_close(fts); + + ATF_REQUIRE(getcwd(final_cwd, PATH_MAX) != NULL); + ATF_CHECK_STREQ_MSG(orig_cwd, final_cwd, + "CWD after fts_close should be '%s', got '%s'", + orig_cwd, final_cwd); + + free(orig_cwd); + free(final_cwd); +} +/* + * FTS_NOCHDIR with an empty terminal directory must not corrupt the + * path buffer for subsequent entries. + * Regression test for SVN r49772. + */ +ATF_TC(nochdir_empty_terminal_dir); +ATF_TC_HEAD(nochdir_empty_terminal_dir, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_NOCHDIR + empty directory does not corrupt path " + "(SVN r49772)"); +} +ATF_TC_BODY(nochdir_empty_terminal_dir, tc) +{ + ATF_REQUIRE_EQ(0, mkdir("parent", 0755)); + ATF_REQUIRE_EQ(0, mkdir("parent/empty", 0755)); + ATF_REQUIRE_EQ(0, close(creat("parent/sibling", 0644))); + + fts_test(tc, &(struct fts_testcase){ + (char *[]){ "parent", NULL }, + FTS_PHYSICAL | FTS_NOCHDIR, + (struct fts_expect[]){ + { FTS_D, "parent", "parent" }, + { FTS_D, "empty", "parent/empty" }, + { FTS_DP, "empty", "parent/empty" }, + { FTS_F, "sibling", "parent/sibling" }, + { FTS_DP, "parent", "parent" }, + { 0 } + }, + }); +} + +/* + * A nonexistent path yields FTS_NS with fts_errno set to a non-zero + * value identifying why stat(2) failed. + */ +ATF_TC(ns_errno_set); +ATF_TC_HEAD(ns_errno_set, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_NS entry has non-zero fts_errno"); +} +ATF_TC_BODY(ns_errno_set, tc) +{ + char *paths[] = { "nonexistent", NULL }; + FTS *fts; + FTSENT *ent; + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); + + ent = fts_read(fts); + ATF_REQUIRE(ent != NULL); + ATF_CHECK_EQ(FTS_NS, ent->fts_info); + ATF_CHECK_MSG(ent->fts_errno != 0, + "FTS_NS entry must have non-zero fts_errno"); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * FTS_XDEV prevents traversal from crossing mount points. + * Mount a tmpfs on a subdirectory and verify fts does not + * descend into it when FTS_XDEV is set. + */ +ATF_TC_WITH_CLEANUP(xdev); +ATF_TC_HEAD(xdev, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_XDEV does not cross mount points"); + atf_tc_set_md_var(tc, "require.user", "root"); +} +ATF_TC_BODY(xdev, tc) +{ + struct iovec iov[4]; + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + bool crossed; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, mkdir("dir/mnt", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + + iov[0].iov_base = (void *)"fstype"; + iov[0].iov_len = sizeof("fstype"); + iov[1].iov_base = (void *)"tmpfs"; + iov[1].iov_len = sizeof("tmpfs"); + iov[2].iov_base = (void *)"fspath"; + iov[2].iov_len = sizeof("fspath"); + iov[3].iov_base = (void *)"dir/mnt"; + iov[3].iov_len = sizeof("dir/mnt"); + + if (nmount(iov, 4, 0) != 0) + atf_tc_skip("could not mount tmpfs: %s", strerror(errno)); + + ATF_REQUIRE_EQ(0, close(creat("dir/mnt/inside", 0644))); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL | FTS_XDEV, + fts_lexical_compar)) != NULL); + + crossed = false; + while ((ent = fts_read(fts)) != NULL) { + if (strcmp(ent->fts_name, "inside") == 0) + crossed = true; + } + ATF_CHECK_MSG(!crossed, + "FTS_XDEV must not descend into tmpfs mount point"); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} +ATF_TC_CLEANUP(xdev, tc) +{ + (void)unmount("dir/mnt", 0); +} + ATF_TP_ADD_TCS(tp) { fts_check_debug(); ATF_TP_ADD_TC(tp, fts_unrdir); ATF_TP_ADD_TC(tp, fts_unrdir_nochdir); + ATF_TP_ADD_TC(tp, nochdir_app_can_chdir); + ATF_TP_ADD_TC(tp, name_nul_terminated); + ATF_TP_ADD_TC(tp, prepost_order_and_levels); + ATF_TP_ADD_TC(tp, ftsent_fields); + ATF_TP_ADD_TC(tp, symlink_loop_physical); + ATF_TP_ADD_TC(tp, cycle_detection); + ATF_TP_ADD_TC(tp, close_after_root_deleted); + ATF_TP_ADD_TC(tp, close_after_root_moved); + ATF_TP_ADD_TC(tp, nochdir_empty_terminal_dir); + ATF_TP_ADD_TC(tp, ns_errno_set); + ATF_TP_ADD_TC(tp, xdev); + return (atf_no_error()); } From nobody Fri Jun 5 20:05:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXC9R2H2Tz6gRNm for ; Fri, 05 Jun 2026 20:05: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXC9Q6xNtz3L0j for ; Fri, 05 Jun 2026 20:05:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780689947; 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=AKBR1JkUDUrN6iyy1vnwsr5LbQXXv8E9hyLzTo8Oqlg=; b=Asgs9n1nObXbuBhmco29uhchI7zzBXYunJoruzPCohEaHxSkknDxhyzroiVU3IQL2Etzg6 /ub6h+ZvhsOz3Z4zYyX6Eq6zhsBVQD+3tyL5OdNDSb1Hos+IajbdgvAoJB0OHdgmdXIvmD BsxCL2AxvoHGEHG0qdv0DIC1sImLnCaZeHfmpIAibKQYMN0vR/lwsBDGN2geEkK+L6CcVA Of6rUiKxOjEK40/GPE9O5N5OAS6mWEjEdvkKnW1dHHfMGIXBEVSpuubG77/pEqH502PRl9 p2xF4fLWt0yWcoKVRkOahG+Ydehvra1rid/iPEH7uDLFnzgC3kmbblw+e86wjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780689947; a=rsa-sha256; cv=none; b=VO18K3WmWbl64L3snGsPOCjgz6Lp8qEaGRye2uhu48xPExt52X3YxVLO/Nq3L8obgFlYaO s9znZLJQZBCGN7T2QuFYDe+39jv53w2JT6WNI5zbhARRIpNbAHd6m4IMYyrIt2eHoCksmB oTOxTO3yFHSyITGy//UXmYu8JxodDhtOw8In5Uj0L995nkqti2FxMl0vcEGsKpYTA+gOgW UtSBKs5JI9tiKgtV68DZng+NBnVmwDK0mJrLyb97Cp/BDQqBY3tZJfURz4M8dQRJdZrCSE p77byAguk67Z8/PMqwCfcBkD4qdxQg17uiGSq1axFx375UmRWFUeWOy+mb7m3w== 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=1780689947; 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=AKBR1JkUDUrN6iyy1vnwsr5LbQXXv8E9hyLzTo8Oqlg=; b=li+jgvYs6QSYEQmpbdjaUma0A7jCCubbQzz546MX3meGtIdJE3dfFNPXbD6S3CE46EawwX SupRBuo4Z2V+PgqZ/+EXonLyo3Ne8gSZOh5qVcz/gsMA+4520cj+luCdK6/cG0YSDKb6Ka wCATsrcTPLGKkf1Yt4kixm2pL7s+bK8yrzcwp102yvx0qjIRQQaAi17K3VQmR6DvbjdfmD E9MoYLAnji9f4vusv3+VNGEkWxi0ZnMQYELnCLUf4lG7ycfvmi70vRcGPP3vQwqlo64QxD K0ltUc9MVkDeCI653EqFz4H10Ia+WHNrcW6AaEtqLKapoUdXHN4dlDwyi+iQrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXC9Q6XvFzkby for ; Fri, 05 Jun 2026 20:05:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34a5f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 20:05:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Jitendra Bhati From: Alan Somers Subject: git: 670738a17568 - main - fts: add fts regression tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 670738a17568f2579b866878f39d2a824a386297 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 20:05:41 +0000 Message-Id: <6a232c15.34a5f.7a455a90@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=670738a17568f2579b866878f39d2a824a386297 commit 670738a17568f2579b866878f39d2a824a386297 Author: Jitendra Bhati AuthorDate: 2026-06-03 19:47:18 +0000 Commit: Alan Somers CommitDate: 2026-06-05 20:03:08 +0000 fts: add fts regression tests Add ATF regression tests for previously-fixed fts(3) bugs: - PR 45723: directory with read but no execute is traversed via FTS_DONTCHDIR fallback, not silently skipped (commit 1e03bff7f2b7) - PR 196724: FTS_SLNONE must not be returned for a non-symlink; time-bounded race test runs for 1 second with concurrent file creation/deletion (commit bf4374c54589) - PR 262038: readdir(2) errors produce FTS_DNR with fts_errno set, not silently treated as end-of-directory (commit 0cff70ca6654) - SVN r246641: normal traversal works correctly with O_DIRECTORY fix in fts_safe_changedir() (commit f9928f1705ee) - SVN r261589: no crash when tree modified during traversal; time-bounded race test runs for 1 second with concurrent file creation/deletion (commit c6d38f088e5c) Sponsored by: Google LLC (GSoC 2026) Reviewed by: asomers MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2257 --- lib/libc/tests/gen/Makefile | 2 + lib/libc/tests/gen/fts_regress_test.c | 315 ++++++++++++++++++++++++++++++++++ 2 files changed, 317 insertions(+) diff --git a/lib/libc/tests/gen/Makefile b/lib/libc/tests/gen/Makefile index 7213fb4d4431..97b32827a66a 100644 --- a/lib/libc/tests/gen/Makefile +++ b/lib/libc/tests/gen/Makefile @@ -14,6 +14,7 @@ ATF_TESTS_C+= fts_children_test ATF_TESTS_C+= fts_misc_test ATF_TESTS_C+= fts_open_test ATF_TESTS_C+= fts_options_test +ATF_TESTS_C+= fts_regress_test ATF_TESTS_C+= fts_set_test ATF_TESTS_C+= ftw_test ATF_TESTS_C+= getentropy_test @@ -99,6 +100,7 @@ LIBADD.fpsetround_test+=m LIBADD.siginfo_test+= m LIBADD.nice_test+= pthread +LIBADD.fts_regress_test+= pthread LIBADD.syslog_test+= pthread CFLAGS+= -I${.CURDIR} diff --git a/lib/libc/tests/gen/fts_regress_test.c b/lib/libc/tests/gen/fts_regress_test.c new file mode 100644 index 000000000000..cf4035a65259 --- /dev/null +++ b/lib/libc/tests/gen/fts_regress_test.c @@ -0,0 +1,315 @@ +/* + * Copyright (c) 2026 Jitendra Bhati + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * Regression tests for specific FreeBSD bug reports fixed in fts(3). + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +/* + * Thrash function for file-based race tests: repeatedly creates and + * deletes a regular file at the given path. + */ +static volatile bool race_stop; + +static void * +race_thrash(void *arg) +{ + const char *path = arg; + + while (!race_stop) { + (void)close(creat(path, 0644)); + (void)unlink(path); + } + return (NULL); +} + +/* + * Thrash function for directory-based race tests: repeatedly removes + * and recreates a directory at the given path. + */ +static void * +dir_thrash(void *arg) +{ + const char *path = arg; + + while (!race_stop) { + (void)rmdir(path); + (void)mkdir(path, 0755); + } + return (NULL); +} + +/* + * PR 45723: A directory with read but no execute permission must be + * traversed. Before the fix, fts_build() gave up silently when + * chdir() failed, producing no output at all. The fix falls back to + * FTS_DONTCHDIR mode so the directory is still traversed using full + * relative paths. + * + * Requires an unprivileged user because root ignores permissions. + */ +ATF_TC(read_no_exec_dir); +ATF_TC_HEAD(read_no_exec_dir, tc) +{ + atf_tc_set_md_var(tc, "descr", + "directory with read but no execute is traversed via " + "FTS_DONTCHDIR fallback"); + atf_tc_set_md_var(tc, "require.user", "unprivileged"); +} +ATF_TC_BODY(read_no_exec_dir, tc) +{ + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + bool saw_d, saw_file; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + ATF_REQUIRE_EQ(0, chmod("dir", 0400)); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); + + /* + * Before the fix, zero entries were produced. After the fix, + * fts falls back to FTS_DONTCHDIR and traverses using full paths. + * Verify the directory is not silently skipped. + */ + saw_d = false; + saw_file = false; + while ((ent = fts_read(fts)) != NULL) { + if (ent->fts_info == FTS_D && + strcmp(ent->fts_name, "dir") == 0) + saw_d = true; + if (strcmp(ent->fts_name, "file") == 0) + saw_file = true; + } + + ATF_CHECK_MSG(saw_d, + "FTS_D not returned for directory with mode 0400"); + ATF_CHECK_MSG(saw_file, + "file inside mode 0400 directory was not visited"); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * PR 196724: FTS_SLNONE must not be returned for a non-symlink. + * + * The fix ensures that FTS_SLNONE is only returned when lstat confirms + * the entry is actually a symlink. Exercised by a time-bounded race + * where a background thread creates and deletes a regular file while + * fts traverses with FTS_LOGICAL. + */ +ATF_TC(no_slnone_for_nonsymlink); +ATF_TC_HEAD(no_slnone_for_nonsymlink, tc) +{ + atf_tc_set_md_var(tc, "descr", + "FTS_SLNONE must not be returned for a non-symlink"); +} +ATF_TC_BODY(no_slnone_for_nonsymlink, tc) +{ + pthread_t thr; + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + struct timespec start, now, elapsed; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, symlink("nonexistent", "dir/dead")); + + race_stop = false; + ATF_REQUIRE_EQ(0, pthread_create(&thr, NULL, race_thrash, + __DECONST(void *, "dir/victim"))); + + clock_gettime(CLOCK_MONOTONIC, &start); + for (;;) { + clock_gettime(CLOCK_MONOTONIC, &now); + timespecsub(&now, &start, &elapsed); + if (elapsed.tv_sec >= 1) + break; + fts = fts_open(paths, FTS_LOGICAL, NULL); + ATF_REQUIRE(fts != NULL); + while ((ent = fts_read(fts)) != NULL) { + if (ent->fts_info == FTS_SLNONE && + ent->fts_statp->st_mode != 0 && + !S_ISLNK(ent->fts_statp->st_mode)) + ATF_CHECK_MSG(0, + "FTS_SLNONE returned for non-symlink '%s'", + ent->fts_name); + } + fts_close(fts); + } + + race_stop = true; + pthread_join(thr, NULL); +} + +/* + * PR 262038: fts_build() must detect readdir(2) errors and not treat + * them as end-of-directory. The man page specifies that FTS_DNR must + * immediately follow FTS_D, in place of FTS_DP. + * + * Requires an unprivileged user because root ignores permissions. + */ +ATF_TC(readdir_error_detected); +ATF_TC_HEAD(readdir_error_detected, tc) +{ + atf_tc_set_md_var(tc, "descr", + "readdir errors produce FTS_DNR with fts_errno set"); + atf_tc_set_md_var(tc, "require.user", "unprivileged"); +} +ATF_TC_BODY(readdir_error_detected, tc) +{ + char *paths[] = { "dir", NULL }; + FTS *fts; + FTSENT *ent; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + + /* + * Mode 0100: execute only, no read. chdir() succeeds but + * opendir/readdir fails. fts must return FTS_D then FTS_DNR + * (not FTS_DP) per the man page. + */ + ATF_REQUIRE_EQ(0, chmod("dir", 0100)); + + ATF_REQUIRE((fts = fts_open(paths, FTS_PHYSICAL, NULL)) != NULL); + + ATF_REQUIRE((ent = fts_read(fts)) != NULL); + ATF_CHECK_EQ_MSG(FTS_D, ent->fts_info, + "expected FTS_D, got %d", ent->fts_info); + + ATF_REQUIRE((ent = fts_read(fts)) != NULL); + ATF_CHECK_EQ_MSG(FTS_DNR, ent->fts_info, + "expected FTS_DNR, got %d", ent->fts_info); + ATF_CHECK_MSG(ent->fts_errno != 0, + "FTS_DNR must have non-zero fts_errno"); + + ATF_REQUIRE_EQ_MSG(NULL, fts_read(fts), + "expected NULL after FTS_DNR"); + + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +/* + * SVN r246641: fts_safe_changedir() uses O_DIRECTORY to prevent a + * TOCTOU substitution attack where a directory is replaced with a + * non-directory between stat and open. Exercised by a time-bounded + * race where a background thread repeatedly removes and recreates + * dir/sub while fts traverses. + */ +ATF_TC(odirectory_changedir); +ATF_TC_HEAD(odirectory_changedir, tc) +{ + atf_tc_set_md_var(tc, "descr", + "fts_safe_changedir handles concurrent dir/file substitution"); +} +ATF_TC_BODY(odirectory_changedir, tc) +{ + pthread_t thr; + char *paths[] = { "dir", NULL }; + FTS *fts; + struct timespec start, now, elapsed; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, mkdir("dir/sub", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/sub/file", 0644))); + + /* + * Background thread races to remove and recreate dir/sub as a + * directory. With O_DIRECTORY the open fails safely if dir/sub + * is temporarily absent or replaced. + */ + race_stop = false; + ATF_REQUIRE_EQ(0, pthread_create(&thr, NULL, dir_thrash, + __DECONST(void *, "dir/sub"))); + + clock_gettime(CLOCK_MONOTONIC, &start); + for (;;) { + clock_gettime(CLOCK_MONOTONIC, &now); + timespecsub(&now, &start, &elapsed); + if (elapsed.tv_sec >= 1) + break; + fts = fts_open(paths, FTS_PHYSICAL, NULL); + ATF_REQUIRE(fts != NULL); + while (fts_read(fts) != NULL) + ; + fts_close(fts); + } + + race_stop = true; + pthread_join(thr, NULL); +} + +/* + * SVN r261589: fts must not double-free when the directory tree is + * concurrently modified. Exercised by a time-bounded race where a + * background thread creates and deletes a file during traversal. + */ +ATF_TC(concurrent_modification); +ATF_TC_HEAD(concurrent_modification, tc) +{ + atf_tc_set_md_var(tc, "descr", + "no crash when tree modified during traversal"); +} +ATF_TC_BODY(concurrent_modification, tc) +{ + pthread_t thr; + char *paths[] = { "dir", NULL }; + FTS *fts; + struct timespec start, now, elapsed; + + ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); + ATF_REQUIRE_EQ(0, close(creat("dir/stable", 0644))); + + race_stop = false; + ATF_REQUIRE_EQ(0, pthread_create(&thr, NULL, race_thrash, + __DECONST(void *, "dir/victim"))); + + clock_gettime(CLOCK_MONOTONIC, &start); + for (;;) { + clock_gettime(CLOCK_MONOTONIC, &now); + timespecsub(&now, &start, &elapsed); + if (elapsed.tv_sec >= 1) + break; + fts = fts_open(paths, FTS_PHYSICAL, NULL); + ATF_REQUIRE(fts != NULL); + while (fts_read(fts) != NULL) + ; + fts_close(fts); + } + + race_stop = true; + pthread_join(thr, NULL); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, read_no_exec_dir); + ATF_TP_ADD_TC(tp, no_slnone_for_nonsymlink); + ATF_TP_ADD_TC(tp, readdir_error_detected); + ATF_TP_ADD_TC(tp, odirectory_changedir); + ATF_TP_ADD_TC(tp, concurrent_modification); + + return (atf_no_error()); +} From nobody Fri Jun 5 20:18:02 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXCRg5dZPz6gSBR for ; Fri, 05 Jun 2026 20:18: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXCRg4Dp0z3MMK for ; Fri, 05 Jun 2026 20:18:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780690687; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Za2r3McezpRsFBkOJxT0XI6HeF5Bqz0X6t7RekGoiLU=; b=g5LwOZgeVckU8j2degTSx8iG79l7IXKxBxB64t+MEAdPwAtnuXOYCrWEjP7b2H3M9HeQNy +cXR9E2Pyg+M7ZPwUsF89T/iJFG3bO0XV2ryd4+g/FHUZnHQLnv3Abfpm1CvV0g9+tzTUZ V3NyxXuL++NSK++rOZmjcdneCn1i4ssdkRAX72Kq+7ym8oLeIS5/aJqXHItyLeqHjj3bAi 0uE7NR+kWrBVlW1WiS+tqBZWJp1TfG0NMPoTbghZPQJDUpVNHxeXqghQKRUH5V2wffachM VjB1uhkQ7rcmbS/HhGzLIGTBgfJ+35+ExAOOU869PSCu/7MSKuyR4CX06Yu4Mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780690687; a=rsa-sha256; cv=none; b=oyqI83DOhG47RsAPN5rncw92sLEoh/YjBmxJMzR/7s3zq27G0KpS8vWrZD++9KpNBDUAXg zlHfz8NntyfcJ65q4oHOq5GcUY/jVsYaPknYpwKqC8ZUPxlVR9NqIi/9vQ/YPTK9C/PT3Z AlAo3t3eo30jfmpPcUYhHoP6gQmQbT2e+iYTjzG0qKHv84hLIyoNLhpj3XvEwCjj5V3xOG q7VsBt6dNaz+Gu6Wx0pEURLL2S+zyv/rmjv0ClT3IRp5YDeJxGs7xYMEh4WzQkPE+GKgy2 onSMwi5AQyDj93QLptn9mfYsfYE/mkuIbv++LcEt+8k+OKQKKJFOvRmU+wgm6g== 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=1780690687; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Za2r3McezpRsFBkOJxT0XI6HeF5Bqz0X6t7RekGoiLU=; b=ikEKrfQSyWmNKu8C/IR+4ylIKJIBmA7Y1QGFCc7lNaXyGiHQgm9ucd86cXaqzXNPQQ9Cxh 5KV+0UEx4tjvU5Dqsmjs4rJavDPbfCgmON6Tzdf2zEpjxUm5VW73fUQHcMw4x20MYLs2jf wbA1oxrrUkGmynx45DSA1p1hyfVjJjGQ/0d/cXc1Ti5Awtrap2sibdFELhw1Bzd4Kc5Puk daU09Zvwg1n5gi7FEqe+6Qafx8BH2mZA4A6mBXVvEXTEQO+wXjuTpry/RCS7hNGhTTPXVt zweqyMA6xXpRuKYQTm7qVeBltbDlwczP+2SFAXN3xcN2oCxkFsRHsP8XDjlEUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXCRg3RrBzlY7 for ; Fri, 05 Jun 2026 20:18:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38816 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 20:18:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: c2631d1623f4 - main - arch.7: Restore (non-SPE) 32-bit powerpc to MD tables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c2631d1623f45df4379c7373f1c639c575679785 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 20:18:02 +0000 Message-Id: <6a232efa.38816.541f59d4@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c2631d1623f45df4379c7373f1c639c575679785 commit c2631d1623f45df4379c7373f1c639c575679785 Author: Ed Maste AuthorDate: 2026-06-05 17:00:45 +0000 Commit: Ed Maste CommitDate: 2026-06-05 20:17:36 +0000 arch.7: Restore (non-SPE) 32-bit powerpc to MD tables powerpc is still relevant for lib32. powerpcspe cannot use lib32 so remains removed. Reported by: Minsoo Choo Reviewed by: Minsoo Choo Sponsored by: The FreeBSD Foundation Fixes: 2ea49bb595df ("arch.7: Remove 32-bit powerpc from tables") Differential Revision: https://reviews.freebsd.org/D57473 --- share/man/man7/arch.7 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7 index 2acbaad96e66..05f657d14ee4 100644 --- a/share/man/man7/arch.7 +++ b/share/man/man7/arch.7 @@ -233,6 +233,7 @@ Machine-dependent type sizes: .It amd64 Ta 8 Ta 8 Ta 16 Ta 8 .It armv7 Ta 4 Ta 4 Ta 8 Ta 8 .It i386 Ta 4 Ta 4 Ta 12 Ta 4 +.It powerpc Ta 4 Ta 4 Ta 8 Ta 8 .It powerpc64 Ta 8 Ta 8 Ta 8 Ta 8 .It powerpc64le Ta 8 Ta 8 Ta 8 Ta 8 .It riscv64 Ta 8 Ta 8 Ta 16 Ta 8 @@ -249,6 +250,7 @@ is 8 bytes on all supported architectures except i386. .It amd64 Ta little Ta signed Ta signed .It armv7 Ta little Ta unsigned Ta unsigned .It i386 Ta little Ta signed Ta signed +.It powerpc Ta big Ta unsigned Ta signed .It powerpc64 Ta big Ta unsigned Ta signed .It powerpc64le Ta little Ta unsigned Ta signed .It riscv64 Ta little Ta signed Ta signed @@ -262,6 +264,7 @@ is 8 bytes on all supported architectures except i386. .It amd64 Ta 4K, 2M, 1G .It armv7 Ta 4K, 1M .It i386 Ta 4K, 2M (PAE), 4M +.It powerpc Ta 4K .It powerpc64 Ta 4K .It powerpc64le Ta 4K .It riscv64 Ta 4K, 2M, 1G @@ -276,6 +279,7 @@ is 8 bytes on all supported architectures except i386. .It amd64 (LA57) Ta 0x0100000000000000 Ta 64PiB .It armv7 Ta 0xbfc00000 Ta 3GiB .It i386 Ta 0xffc00000 Ta 4GiB +.It powerpc Ta 0xfffff000 Ta 4GiB .It powerpc64 Ta 0x000fffffc0000000 Ta 4PiB .It powerpc64le Ta 0x000fffffc0000000 Ta 4PiB .It riscv64 (Sv39) Ta 0x0000004000000000 Ta 256GiB @@ -330,6 +334,7 @@ currently supports Sv39 and Sv48 and defaults to using Sv39. .It amd64 Ta hard Ta hard, 80 bit .It armv7 Ta hard Ta hard, double precision .It i386 Ta hard Ta hard, 80 bit +.It powerpc Ta hard Ta hard, double precision .It powerpc64 Ta hard Ta hard, double precision .It powerpc64le Ta hard Ta hard, double precision .It riscv64 Ta hard Ta hard, quad precision @@ -364,7 +369,7 @@ or similar things like boot sequences. .It amd64 Ta amd64 Ta amd64 .It arm Ta arm Ta armv7 .It i386 Ta i386 Ta i386 -.It powerpc Ta powerpc Ta powerpc64, powerpc64le +.It powerpc Ta powerpc Ta powerpc, powerpc64, powerpc64le .It riscv Ta riscv Ta riscv64, riscv64c .El .Ss Predefined Macros @@ -416,6 +421,7 @@ Architecture-specific macros: .It amd64 Ta Dv __amd64__ , Dv __x86_64__ .It armv7 Ta Dv __arm__ , Dv __ARM_ARCH >= 7 .It i386 Ta Dv __i386__ +.It powerpc Ta Dv __powerpc__ .It powerpc64 Ta Dv __powerpc__ , Dv __powerpc64__ .It powerpc64le Ta Dv __powerpc__ , Dv __powerpc64__ .It riscv64 Ta Dv __riscv , Dv __riscv_xlen == 64 @@ -487,7 +493,7 @@ It, along with defines the ABI used by the system. Generally, the plain CPU name specifies the most common (or at least first) variant of the CPU. -This is why powerpc64 implies 'big endian' while armv7 and aarch64 +This is why powerpc and powerpc64 imply 'big endian' while armv7 and aarch64 imply little endian. If we ever were to support the so-called x32 ABI (using 32-bit pointers on the amd64 architecture), it would most likely be encoded From nobody Fri Jun 5 21:49:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXFTD0LlWz6gbQJ for ; Fri, 05 Jun 2026 21:49: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXFTC3ZDcz3TQ6 for ; Fri, 05 Jun 2026 21:49:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780696175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8qXL2Ws3s5j0wsLy+OZ6C+UOOOdP8/e6WaKff8PgYXI=; b=g5q2Xp821PurDlZqaqFxwMZftrKAUEJ6+45Bs4SnYYyXUnmtQMcxeYVQODJ4AXg2k2/Ob5 J9yOTLcYWoQsFiCQclfvqU2tryWbBTvnlOvtas/SSPPNwDyoGhxsB4EMEUxLIBaUq9PLb7 5kM9EJvagp/x7tdn0f3mOvg/EFKDKbvB72aIX4KHW9Ik1rZY8LsjzDQ/Tko+uqA0I9WhWa l4EhOjH3OqWtCIqht1iQHN4RTKw6kQpbwLEqTpCn3Z3uMcpjZzdFXodpgBsaLX25IQPfYq O7rIjsaIawyQik9SeYjnAj0LHw8Ph8bcZs6i30ZixKD9AAyu0HRNFVMBsVeIIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780696175; a=rsa-sha256; cv=none; b=WXMIUXxV+AQJeHMYID0wwejPGj59JnkzH5tt6t6HT8MrFVjUBtSzfBGg2VQPvXsqyZMT8G Nx1jrXR1FWyt12BZKSSHT5LHwTWzSbT/izf8H72CSB9A8q0DeYNc6aZfIzlrNNr16T65Sl CN8XVgAsL1fDC/AdtE4ifgDDSVCfY0W1AOyuD/i7qdxaq5FgY0awomphfkG3fn0pQ/2PL9 UjXhUl9o9jap6GWniDenmoFH1WCzp8AbI26SvuFdBc5xcgG7OOZObQgOG8w70zkZvnnh8H CK6zPgTmT0EXgus0uDxcXrfe72RRrsKaYaxbjLwgStTZ41BbJwJk3g5pBq9u3A== 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=1780696175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8qXL2Ws3s5j0wsLy+OZ6C+UOOOdP8/e6WaKff8PgYXI=; b=iq/PrMfqwrQSarKIslsjwFU+arbmvmCmVDrj4COKN79+rXDwXVlRx/xC0VLGegQP7YXDCy SpDEQYLhj/JxUB88OdbbOoJS7yQV6mDiiClOdgHT0FdGd3rg643jhuiKCBXXKYz5HnnbGa WeGQUeYcrQqg4ul8+CPKCHehre7A+CFdPi2+OGNZcptTn5rjiz9TCTmPSvg0C8r9Nr/G6T 0MCah3DpfhnAMzdsybgCJ+C+nHgI8wQtaXMUsvRjJP8mdDDNiU56FqSlWiZyVYqQNb46j+ uPz+rWGAywKmLWACLSrd8Cd7Pm9ROqHXwAkQ/TS0C4KATgPKtbIEh09FBilLDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXFTC1p7gznbV for ; Fri, 05 Jun 2026 21:49:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1864c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 21:49:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 520e0f576f71 - main - udp: Fix resource leaks in an error path in udp6_send() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 520e0f576f710eb60fb901b87b4eb0e1530362ae Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 21:49:30 +0000 Message-Id: <6a23446a.1864c.50362190@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=520e0f576f710eb60fb901b87b4eb0e1530362ae commit 520e0f576f710eb60fb901b87b4eb0e1530362ae Author: Mark Johnston AuthorDate: 2026-06-05 21:48:35 +0000 Commit: Mark Johnston CommitDate: 2026-06-05 21:49:11 +0000 udp: Fix resource leaks in an error path in udp6_send() Reported by: Andrew Griffiths Fixes: 069a67374ed9 ("ip6: Remove support for RFC2675 (Jumbo Payload Option)") Reviewed by: pouria, tuexen, glebius Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57341 --- sys/netinet6/udp6_usrreq.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index ede791a7d175..6ef79d2fd868 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -862,11 +862,9 @@ udp6_send(struct socket *so, int flags_arg, struct mbuf *m, ulen = m->m_pkthdr.len; plen = sizeof(struct udphdr) + ulen; hlen = sizeof(struct ip6_hdr); - if (plen > IPV6_MAXPAYLOAD) { - m_freem(control); - m_freem(m); - return (EMSGSIZE); + error = EMSGSIZE; + goto release; } /* From nobody Fri Jun 5 21:50:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXFVp0qbQz6gbfs for ; Fri, 05 Jun 2026 21:50: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXFVn6tW5z3VCw for ; Fri, 05 Jun 2026 21:50:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780696258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e2mPaVaLGRAbrjLOhe8cjokrFcECBZ/hHdWtNJ9A2pw=; b=B/kSkfCYszuZCHJ83ZIcNpUIrnNyYv8mxnoUdahqK5pdJDZo6OmHParxOiFHX9dVX/3lfz NJUtqRboaqdwLBr4AtqOnMysSlmdTujls1uozAFvJAMeniCREc06rSqunE4Iq2EF8vzC0J SI4g/d1fuVqK4goFN6BQlNNFPCezkNEOHnrnzbJeor12nXJVg8ar2EWDS4dKQv+UwWbqKz ep1kgoaiyBzFMB/gWBQ5U1xL1qwg3H1myAQLf5shmEaxehQuoce+djviDSCAzkLAyuj/Wa 9O9R9/zgFVrqZWOBCzsBll+weI7uJCI796XPfuPxXgwrlCes71ltHY/hNquinw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780696258; a=rsa-sha256; cv=none; b=tJnbwPwZfpVBhMHFc5eD9wPeY5FKjvIsz8uzzEyz1n5vipPmxoo4PWkDcBNIMqCX2bHZNG COsx48zlkxMEUwUMC6/Sqhr2N77J3TSCvXd7wX542zLvcCZmGESRLY3cxrt34NcDUDbXi6 mkZXp9XYaz647l/AWljpVkkGDFv016mf55ikbeMSVWMghH5ZrXpFp0/H/HKFsB8RCKYKRu CDKvPmQszyisNgn9WITb1omDNjr7J83xEcH57i/mJUIJ+Ac5NXWJRNRSz/NU+nQOa+KZtC iE7rUfNOuLBcnSLm/6oRdkwbKfg08dqq3fbiJA2zyXX8kdI/3ETPgAqMUoSNCQ== 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=1780696258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e2mPaVaLGRAbrjLOhe8cjokrFcECBZ/hHdWtNJ9A2pw=; b=iTBLOTcSyDICO/1gqKT4H14MLpFt/YUGX17jpteDuEJl2m/2BOLX0CGlgJgDONXreuZMs0 XKEh5LyKxEbvwh9+QEg3qYScGMhVW6tURGwh7SuEPoAA/yfpOEgRUF7whMcUheiPR5Z8Y2 zcGq6ieoNOsSHcVeZX4nTEvMUG7mdjG+PZz7AuAAZVO+qcCSsuc/JocpRyWmr30W1bBV0c ogZXsioqA+GE2pK8yNpAVnl1YloYdcJQ4fDT76su5i5uDe4ZO0+VnO+9oaf6EPWFsraHH9 mh9SwPZhgXPNpyHzjR0Cm3u3KA8PPtOVM7jbd82Mc+Eo+fbXtO3Vinh/w5jTlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXFVn6GBVznMH for ; Fri, 05 Jun 2026 21:50:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19bb6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 21:50:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 0620c99d278b - main - audit: Add poll / select support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0620c99d278b6a2fd6fe995f5bb365158e04ad7c Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 21:50:57 +0000 Message-Id: <6a2344c1.19bb6.6ef47c63@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=0620c99d278b6a2fd6fe995f5bb365158e04ad7c commit 0620c99d278b6a2fd6fe995f5bb365158e04ad7c Author: Dag-Erling Smørgrav AuthorDate: 2026-06-05 21:50:38 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-05 21:50:38 +0000 audit: Add poll / select support It was previously not possible to poll() or select() on the trigger device, which made implementing proper signal handling in auditd difficult. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, markj Differential Revision: https://reviews.freebsd.org/D57457 --- sys/security/audit/audit_trigger.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/sys/security/audit/audit_trigger.c b/sys/security/audit/audit_trigger.c index 482f7c56a2ef..e2520292cc5d 100644 --- a/sys/security/audit/audit_trigger.c +++ b/sys/security/audit/audit_trigger.c @@ -32,8 +32,10 @@ #include #include #include +#include #include #include +#include #include #include @@ -45,8 +47,6 @@ * used to communicate with userland. /dev/audit reliably delivers one-byte * messages to a listening application (or discards them if there is no * listening application). - * - * Currently, select/poll are not supported on the trigger device. */ struct trigger_info { unsigned int trigger; @@ -58,6 +58,7 @@ static struct cdev *audit_dev; static int audit_isopen = 0; static TAILQ_HEAD(, trigger_info) trigger_list; static struct mtx audit_trigger_mtx; +static struct selinfo audit_trigger_rsel; static int audit_open(struct cdev *dev, int oflags, int devtype, struct thread *td) @@ -127,6 +128,22 @@ audit_write(struct cdev *dev, struct uio *uio, int ioflag) return (EOPNOTSUPP); } +static int +audit_poll(struct cdev *dev, int events, struct thread *td) +{ + int revents = 0; + + if (events & (POLLIN | POLLRDNORM)) { + mtx_lock(&audit_trigger_mtx); + if (!TAILQ_EMPTY(&trigger_list)) + revents = events & (POLLIN | POLLRDNORM); + else + selrecord(td, &audit_trigger_rsel); + mtx_unlock(&audit_trigger_mtx); + } + return (revents); +} + int audit_send_trigger(unsigned int trigger) { @@ -142,6 +159,7 @@ audit_send_trigger(unsigned int trigger) } ti->trigger = trigger; TAILQ_INSERT_TAIL(&trigger_list, ti, list); + selwakeup(&audit_trigger_rsel); wakeup(&trigger_list); mtx_unlock(&audit_trigger_mtx); return (0); @@ -153,6 +171,7 @@ static struct cdevsw audit_cdevsw = { .d_close = audit_close, .d_read = audit_read, .d_write = audit_write, + .d_poll = audit_poll, .d_name = "audit" }; From nobody Fri Jun 5 21:50:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXFVq3y8vz6gbTM for ; Fri, 05 Jun 2026 21:50: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXFVq1Mp6z3V3D for ; Fri, 05 Jun 2026 21:50:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780696259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=868x8cag/CON1A4x7T4UyLLiV5opnp2emfam0HlmUtM=; b=jsj/tEMMmUy0v/G5KMVjDamedfL3+0UurW6H6i4KNjPa6vloxpFZLw/JhkRe8vny5S63b3 pKRuW79Gc80fQv1sgF+bngqAQ9XMoIkKp0tjWgQGDj7+47jk0IWN/z3569L0sQdR9CKd0V jYd+e2QplPYYsCiQq8hkT+LvqqK4WitKciynzKs38M7iKWmKNSpZTEB6NJapLvw2Tj+Ngv qq8yJ0+G+gdVHv07aV/Do2pzk72mx7kQZxgZVFgIgJTtumz2MpUFzJEe0Phz0iBZfStnHU STykKI5LroSsy2TYbI7YMQtudIwrfm322q0OMbk7HQ7w2V0XvJ8kykUyQwyUnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780696259; a=rsa-sha256; cv=none; b=PX2DomXMkTY2FjljUA1Xy6Lja80tXU8t2G5ETBhPUnK/wF7Q7UrHq9YGuxSdDCmUTTrI/v pWgberLZmouYIvKi39GN+kAd+dn1CjVqBMZE23BYqa82QlOQU0IF58MtnmohONxz7MocQK KOMUawHzrBWC45t+nYlOm6k+Jo6iAFCa8fZMAPvZ7bfTKnGbs7iM+wqRF5rUOCN8w75lmP uFW8qPH5feqo0eR4/jOw2vLdYBuS/lDf8lpYv7Wk/dV1riaXY2C8Ttq6c0PMClNwVoG1g+ euWtuTnsQWGG8vG+uGg7EigM+nGUP8OSVuPOKA3xboTZdVzuNeCK6PecoC6QTw== 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=1780696259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=868x8cag/CON1A4x7T4UyLLiV5opnp2emfam0HlmUtM=; b=HkbsOfdQiWmZ8Llwtuy0yao30yDXRyY69nm3USGum/EKeR0xa7BQUWl2v3cbQ/NuMAz1IT ZnpEoltQWpSniBbChvPxo6L3iyxlwY5hPRt+wjUbOFOs5KFzHKD7tS/uE5uWiZdE2KkkiI Tw3N01JXHF5xo/pwaCoeshdwG2cxMgHHq/7ole0sKUd2a9iVTd1Geg2zl64b+/Hy0U0qIU sNXxyehLUgcYZjD6pUBJtJAswhrg543+1dRuexJiKTKy1yPrnqC4j1MBVGxal3aXXlDgH6 OPALjmuMWIGqAQFSButryGUZUJ2kIqxSNRVoq2OHsJyJ8eBFp/SBdDnemZClMg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXFVq00f0zp3w for ; Fri, 05 Jun 2026 21:50:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a931 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 21:50:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 77e894cb09af - main - audit: Replace TAILQ with STAILQ List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77e894cb09affe828f4bc81b8e4751a7e22860de Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 21:50:58 +0000 Message-Id: <6a2344c2.1a931.6e903b99@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=77e894cb09affe828f4bc81b8e4751a7e22860de commit 77e894cb09affe828f4bc81b8e4751a7e22860de Author: Dag-Erling Smørgrav AuthorDate: 2026-06-05 21:50:46 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-05 21:50:46 +0000 audit: Replace TAILQ with STAILQ This reduces the size of a trigger entry from 24 bytes to 16 (or from 12 bytes to 8 on 32-bit) with no additional complexity. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, emaste Differential Revision: https://reviews.freebsd.org/D57464 --- sys/security/audit/audit_trigger.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/sys/security/audit/audit_trigger.c b/sys/security/audit/audit_trigger.c index e2520292cc5d..b7ed68f73363 100644 --- a/sys/security/audit/audit_trigger.c +++ b/sys/security/audit/audit_trigger.c @@ -50,13 +50,13 @@ */ struct trigger_info { unsigned int trigger; - TAILQ_ENTRY(trigger_info) list; + STAILQ_ENTRY(trigger_info) list; }; static MALLOC_DEFINE(M_AUDITTRIGGER, "audit_trigger", "Audit trigger events"); static struct cdev *audit_dev; static int audit_isopen = 0; -static TAILQ_HEAD(, trigger_info) trigger_list; +static STAILQ_HEAD(, trigger_info) trigger_list; static struct mtx audit_trigger_mtx; static struct selinfo audit_trigger_rsel; @@ -85,9 +85,9 @@ audit_close(struct cdev *dev, int fflag, int devtype, struct thread *td) /* Flush the queue of pending trigger events. */ mtx_lock(&audit_trigger_mtx); audit_isopen = 0; - while (!TAILQ_EMPTY(&trigger_list)) { - ti = TAILQ_FIRST(&trigger_list); - TAILQ_REMOVE(&trigger_list, ti, list); + while (!STAILQ_EMPTY(&trigger_list)) { + ti = STAILQ_FIRST(&trigger_list); + STAILQ_REMOVE_HEAD(&trigger_list, list); free(ti, M_AUDITTRIGGER); } mtx_unlock(&audit_trigger_mtx); @@ -102,15 +102,15 @@ audit_read(struct cdev *dev, struct uio *uio, int ioflag) struct trigger_info *ti = NULL; mtx_lock(&audit_trigger_mtx); - while (TAILQ_EMPTY(&trigger_list)) { + while (STAILQ_EMPTY(&trigger_list)) { error = msleep(&trigger_list, &audit_trigger_mtx, PSOCK | PCATCH, "auditd", 0); if (error) break; } if (!error) { - ti = TAILQ_FIRST(&trigger_list); - TAILQ_REMOVE(&trigger_list, ti, list); + ti = STAILQ_FIRST(&trigger_list); + STAILQ_REMOVE_HEAD(&trigger_list, list); } mtx_unlock(&audit_trigger_mtx); if (!error) { @@ -135,7 +135,7 @@ audit_poll(struct cdev *dev, int events, struct thread *td) if (events & (POLLIN | POLLRDNORM)) { mtx_lock(&audit_trigger_mtx); - if (!TAILQ_EMPTY(&trigger_list)) + if (!STAILQ_EMPTY(&trigger_list)) revents = events & (POLLIN | POLLRDNORM); else selrecord(td, &audit_trigger_rsel); @@ -158,7 +158,7 @@ audit_send_trigger(unsigned int trigger) return (ENODEV); } ti->trigger = trigger; - TAILQ_INSERT_TAIL(&trigger_list, ti, list); + STAILQ_INSERT_TAIL(&trigger_list, ti, list); selwakeup(&audit_trigger_rsel); wakeup(&trigger_list); mtx_unlock(&audit_trigger_mtx); @@ -179,7 +179,7 @@ void audit_trigger_init(void) { - TAILQ_INIT(&trigger_list); + STAILQ_INIT(&trigger_list); mtx_init(&audit_trigger_mtx, "audit_trigger_mtx", NULL, MTX_DEF); } From nobody Fri Jun 5 22:39:15 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXGZc4w16z6gg36 for ; Fri, 05 Jun 2026 22:39: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXGZc1dMZz3Zn0 for ; Fri, 05 Jun 2026 22:39:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780699160; 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=w7J1DRXP9/qhaZbeOgLaNhCXiZFd/FJJlx6+iuD2ibk=; b=ZralAV6EQD+tHtWjWpSlYmivJHVVMZIdreAaHuyROc4gq+9cY2oGAHaIPKPpWpR35aJaW4 7csEdrwLVOvoxkuPdR1YzrUxbFv8kxeSbT9WbYbT13ljgYzkymmY13TbSB4AmTzQij05V6 Cb0BOuivitZ9aWhfgFuVB4PbdnQnO5PdN5bf8iKCeVVsEDpxIRvZaCamZZtjW8ZHXnD4nB AZFncgy+JrH7Lb74ymwSmOANwPCcd7G+BaDhQLzmMC3CgdG8/Nmr6+P0UFotZH4hd6F+EO Ys/CEhUa+58Z7jZbIjusIJaDaD6VuVCXTUefuX1I6z922W3Pdq1drGx4RQHiJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780699160; a=rsa-sha256; cv=none; b=AcdkUhvNwZZrI1RlQNtNIj7pPLlR9nk4w5YQ7oNUtVUP9OumrceNtHn9hSx3yFfNDUAl59 UkX8i4tissAmb1f0AoC0Bd3Y/dmyGs46YSC2NdxjDkVkUIMGcQETy8V59Ui7n6pQGhKh4i DwJwbRKG1OS46/k+KdjlcecPF+ahRalZo09850gotA7p2aNNOZ6v6EMjHRb8NbMMtGSloU tz04P4RMCrtdrADzIcoh6XSF1A83BsEZmYfzAp2dUAPOoOV8Bm2s+dLcY6RGWvlvTpcGDA 9X71St7rVnVmMzK/BpAtibp9gg6WfWsfANtSJbOieeoaEISZxCfPSniuIg82TA== 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=1780699160; 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=w7J1DRXP9/qhaZbeOgLaNhCXiZFd/FJJlx6+iuD2ibk=; b=Tq+/2GSTI1IUsHVU4MDB8X7M8uH2qgYLpMNHbBhd0HT02JG9/RzJvE/d+Kgtgi6h1791DF gwPdh0JkBkanJnUUGqbgX/lTUvScEJZ699dGW7sswzgpicpTnNUTB/Jbi6+I/JDs/8l1vZ cmqSWORx/L81Fptr/MPGLcR5dWQsJgzitD0u2rXNOrK0IwzZGvK1c6BlqRprWAn5Icg7I8 zV0BaR9N4ZJ2+wJoIvqcGyJEceO67gL9HdBhzkw2McVoeCzJ9zKm16QKdELYNdImn5dKhU ablvB1nmKD76sqF1mE158QF0ZKZw92pzMTHm/4UwEftkvIqVgC7xmgf9c0vrFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXGZc18Rqzpmn for ; Fri, 05 Jun 2026 22:39:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fa13 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 22:39:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Konstantin Belousov From: Colin Percival Subject: git: e27261d80594 - releng/15.1 - amd64: there is no reason to copy ucode around in ucode_load_bsp() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: e27261d80594f32eefb7562989a4836cb81ba262 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 22:39:15 +0000 Message-Id: <6a235013.1fa13.1a3a69f@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e27261d80594f32eefb7562989a4836cb81ba262 commit e27261d80594f32eefb7562989a4836cb81ba262 Author: Konstantin Belousov AuthorDate: 2026-05-30 15:57:46 +0000 Commit: Colin Percival CommitDate: 2026-06-05 22:38:47 +0000 amd64: there is no reason to copy ucode around in ucode_load_bsp() Approved by: re (cperciva) PR: 294630 (cherry picked from commit 16f21c5af35002b8361ffb2e83ff3c92cd899a3a) (cherry picked from commit c6ccef4a32b4e09927dfdcc0f734af25c6193f5a) --- sys/x86/x86/ucode.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/sys/x86/x86/ucode.c b/sys/x86/x86/ucode.c index 72133de211f8..613a7b03489f 100644 --- a/sys/x86/x86/ucode.c +++ b/sys/x86/x86/ucode.c @@ -361,18 +361,20 @@ ucode_load_ap(int cpu) (void)ucode_loader->load(ucode_data, UNSAFE, NULL, NULL); } -static void * -map_ucode(uintptr_t free, size_t len) +static const void * +map_ucode(const void *match, uintptr_t free, size_t len) { #ifdef __i386__ uintptr_t va; for (va = free; va < free + len; va += PAGE_SIZE) pmap_kenter(va, (vm_paddr_t)va); + memcpy_early(free, match, len); + return ((const void *)free); #else (void)len; + return (match); #endif - return ((void *)free); } static void @@ -405,7 +407,7 @@ ucode_load_bsp(uintptr_t free) char vendor[13]; } cpuid; const uint8_t *fileaddr, *match; - uint8_t *addr; + const uint8_t *addr; char *type; uint64_t nrev, orev; caddr_t file; @@ -440,14 +442,10 @@ ucode_load_bsp(uintptr_t free) len = preload_fetch_size(file); match = ucode_loader->match(fileaddr, &len); if (match != NULL) { - addr = map_ucode(free, len); - /* We can't use memcpy() before ifunc resolution. */ - memcpy_early(addr, match, len); - match = addr; - - error = ucode_loader->load(match, EARLY, &nrev, &orev); + addr = map_ucode(match, free, len); + error = ucode_loader->load(addr, EARLY, &nrev, &orev); if (error == 0) { - ucode_data = early_ucode_data = match; + ucode_data = early_ucode_data = addr; ucode_nrev = nrev; ucode_orev = orev; return (len); From nobody Sat Jun 6 00:16:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXJl520bkz6gnQk for ; Sat, 06 Jun 2026 00:16: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXJl51W2jz3jbk for ; Sat, 06 Jun 2026 00:16:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780705009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/kKJmxfDR9CfURKqlbA+/692iQB9pQAHJXomEE9gQ3g=; b=isxIw3/bFp/t96AZq0D1Y8S87BEvIyr9DeYXJ9fbr0yl5mz65/PpB6wSB+Nf4yTDCDT/dU xEdD96OydQw0fQkoxrBANurLq9myx+LBSlEnXZg+Z4kTrv3CcLv3dsgdZbh650d1LENocE Uy8Ec+jSrcymCFEQdy6bS7/0XQ+cuSB9rbYoOV9gU2EogunIs7kRPIWh4VFCdcB6c6D58i B1deviw/Aw+QR91WeHquW4E9XlBifJJTqDSIIGieLHYD3oOdh3nc1Gd/FkXOotzy9Uz1px v6iyRwd9MA2aGveu7KjvyTbJC5yJart80wgUVFSMp/dBIzyk/iWdW/p8E0R+8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780705009; a=rsa-sha256; cv=none; b=AeMbAvofDkvF1Jo+kShnxVl0xR5R7v19aDeQaAn2UWdZ3LMoZCr8FpB6FuRyBSz2CdTmGK ZuMHpbVfq8qHQfDI221VzKaguaJ6LY41nArM11uS7g/wvX026CLUxOntfQli94VQShGlvV xmY3N4gVqC3T+e38Sjsn6A8i9IrYCt0iXkE3SsnOg1Gr+o8tM5aw/vYlpo3c2LWkFOuUD2 Lr0NV2NMH5ahVosOSi+XlB40un2gVG/nl6CcA5LG02ou92KfekmhOmEwtuaNrnt99xoX20 5qBbqEiGyCqgDb4+jo6nBB3fyBRDph7+llsTF0M0d/8Ck047+VLE4BJb95nttQ== 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=1780705009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/kKJmxfDR9CfURKqlbA+/692iQB9pQAHJXomEE9gQ3g=; b=P+l8/0234fxtC7nrffMwn7BVKRRZX9DOpfVgk8pwuzhbW5jVcNwMTlqtvlUUGfj6Kx7P/3 6KpihCav65b8ysSfTzzOBBeJBehaltPdDJp2UES0DMt82KfXviiG20SElrkNlOXyC4Eyvk GpdGOOoRFTavETBPgP0fNBO+E8xVIS682O/d09D+tABwv+HgFTZUzKPBS3oRexe3rleNo+ nXBOp5cb0RoW/iHYRdFF4HzCRB+FEz4c1FSaF4q5ru7ZliacjttiMP/iE/cAjbLFlUjutf wCWu4pNqIs7TKSfWDOfPejcEXTaqwAmewp6CgHMgYVebX+iLDrb7LR6/dnj29A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXJl50pPKzskJ for ; Sat, 06 Jun 2026 00:16:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3262e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 00:16:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Gallatin Subject: git: 16e5abf415ba - main - APEI: Provide more info on fatal hardware errors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 16e5abf415baf801c6d7c7948a742aeda75e2237 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 00:16:43 +0000 Message-Id: <6a2366eb.3262e.24229ff0@gitrepo.freebsd.org> The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=16e5abf415baf801c6d7c7948a742aeda75e2237 commit 16e5abf415baf801c6d7c7948a742aeda75e2237 Author: Andrew Gallatin AuthorDate: 2026-06-06 00:07:03 +0000 Commit: Andrew Gallatin CommitDate: 2026-06-06 00:12:21 +0000 APEI: Provide more info on fatal hardware errors This change refactors fatal error delivery via APEI and prints more info: - Makes the NMI handler call into the ge handler to establish a common code flow, no matter how the error is delivered - Adds the FRU to the panic string so as to provide more information than just "APEI Fatal Hardware Error!" such as "APEI Fatal Hardware Error: PcieError" - Prints more details about fatal pcie errors. Note that we skip acquiring Giant on fatal errors - Hexdumps the full GED data on fatal errors, so as to facilitate offline data analysis Reviewed by: imp Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D57417 --- sys/dev/acpica/acpi_apei.c | 53 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/sys/dev/acpica/acpi_apei.c b/sys/dev/acpica/acpi_apei.c index e85b3910e46d..925558d585bf 100644 --- a/sys/dev/acpica/acpi_apei.c +++ b/sys/dev/acpica/acpi_apei.c @@ -237,7 +237,7 @@ apei_mem_handler(ACPI_HEST_GENERIC_DATA *ged) } static int -apei_pcie_handler(ACPI_HEST_GENERIC_DATA *ged) +apei_pcie_handler(ACPI_HEST_GENERIC_DATA *ged, bool fatal) { struct apei_pcie_error *p = (struct apei_pcie_error *)GED_DATA(ged); int off; @@ -246,7 +246,8 @@ apei_pcie_handler(ACPI_HEST_GENERIC_DATA *ged) int h = 0, sev; if ((p->ValidationBits & 0x8) == 0x8) { - mtx_lock(&Giant); + if (!fatal) + mtx_lock(&Giant); dev = pci_find_dbsf((uint32_t)p->DeviceID[10] << 8 | p->DeviceID[9], p->DeviceID[11], p->DeviceID[8], p->DeviceID[7]); @@ -264,9 +265,11 @@ apei_pcie_handler(ACPI_HEST_GENERIC_DATA *ged) } pcie_apei_error(dev, sev, (p->ValidationBits & 0x80) ? p->AERInfo : NULL); - h = 1; + if (!fatal) + h = 1; } - mtx_unlock(&Giant); + if (!fatal) + mtx_unlock(&Giant); } if (h) return (h); @@ -322,8 +325,8 @@ apei_pcie_handler(ACPI_HEST_GENERIC_DATA *ged) return (0); } -static void -apei_ged_handler(ACPI_HEST_GENERIC_DATA *ged) +static const char * +apei_ged_handler(ACPI_HEST_GENERIC_DATA *ged, bool fatal) { ACPI_HEST_GENERIC_DATA_V300 *ged3 = (ACPI_HEST_GENERIC_DATA_V300 *)ged; /* A5BC1114-6F64-4EDE-B863-3E83ED7C83B1 */ @@ -342,12 +345,12 @@ apei_ged_handler(ACPI_HEST_GENERIC_DATA *ged) if (memcmp(mem_uuid, ged->SectionType, ACPI_UUID_LENGTH) == 0) { h = apei_mem_handler(ged); } else if (memcmp(pcie_uuid, ged->SectionType, ACPI_UUID_LENGTH) == 0) { - h = apei_pcie_handler(ged); + h = apei_pcie_handler(ged, fatal); } else { if (!log_corrected && (ged->ErrorSeverity == ACPI_HEST_GEN_ERROR_CORRECTED || ged->ErrorSeverity == ACPI_HEST_GEN_ERROR_NONE)) - return; + return (NULL); t = ged->SectionType; printf("APEI %s Error %02x%02x%02x%02x-%02x%02x-" @@ -364,7 +367,7 @@ apei_ged_handler(ACPI_HEST_GENERIC_DATA *ged) } } if (h) - return; + return (NULL); printf(" Flags: 0x%x\n", ged->Flags); if (ged->ValidationBits & ACPI_HEST_GEN_VALID_FRU_ID) { @@ -379,6 +382,19 @@ apei_ged_handler(ACPI_HEST_GENERIC_DATA *ged) if (ged->Revision >= 0x300 && ged->ValidationBits & ACPI_HEST_GEN_VALID_TIMESTAMP) printf(" Timestamp: %016jx\n", ged3->TimeStamp); + if (fatal) { + printf(" Error Data:\n"); + t = (uint8_t *)GED_DATA(ged); + for (off = 0; off < ged->ErrorDataLength; off++) { + printf(" %02x", t[off]); + if ((off % 16) == 15 || + off + 1 == ged->ErrorDataLength) + printf("\n"); + } + } + if (ged->ValidationBits & ACPI_HEST_GEN_VALID_FRU_STRING) + return ((const char *)ged->FruText); + return (NULL); } static int @@ -387,23 +403,27 @@ apei_ge_handler(struct apei_ge *ge, bool copy) uint8_t *buf = copy ? ge->copybuf : ge->buf; ACPI_HEST_GENERIC_STATUS *ges = (ACPI_HEST_GENERIC_STATUS *)buf; ACPI_HEST_GENERIC_DATA *ged; + const char *fru, *f; size_t off, len; - uint32_t sev; int i, c; + bool fatal; if (ges == NULL || ges->BlockStatus == 0) return (0); c = (ges->BlockStatus >> 4) & 0x3ff; - sev = ges->ErrorSeverity; + fatal = (ges->ErrorSeverity == ACPI_HEST_GEN_ERROR_FATAL); /* Process error entries. */ + fru = NULL; len = MIN(ge->v1.ErrorBlockLength - sizeof(*ges), ges->DataLength); for (off = i = 0; i < c && off + sizeof(*ged) <= len; i++) { ged = (ACPI_HEST_GENERIC_DATA *)&buf[sizeof(*ges) + off]; if ((uint64_t)GED_SIZE(ged) + ged->ErrorDataLength > len - off) break; - apei_ged_handler(ged); + f = apei_ged_handler(ged, fatal); + if (f != NULL && fru == NULL) + fru = f; off += GED_SIZE(ged) + ged->ErrorDataLength; } @@ -418,8 +438,9 @@ apei_ge_handler(struct apei_ge *ge, bool copy) } /* If ACPI told the error is fatal -- make it so. */ - if (sev == ACPI_HEST_GEN_ERROR_FATAL) - panic("APEI Fatal Hardware Error!"); + if (fatal) + panic("APEI Fatal Hardware Error: %.20s", + fru != NULL ? fru : "unknown"); return (1); } @@ -450,9 +471,9 @@ apei_nmi_handler(void) if (ges == NULL || ges->BlockStatus == 0) continue; - /* If ACPI told the error is fatal -- make it so. */ + /* Log and panic via apei_ge_handler(); does not return. */ if (ges->ErrorSeverity == ACPI_HEST_GEN_ERROR_FATAL) - panic("APEI Fatal Hardware Error!"); + apei_ge_handler(ge, false); /* Copy the buffer for later processing. */ gesc = (ACPI_HEST_GENERIC_STATUS *)ge->copybuf; From nobody Sat Jun 6 01:25:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXLGN6H1Bz6gtZ6 for ; Sat, 06 Jun 2026 01:25: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXLGN3RGCz3sdM for ; Sat, 06 Jun 2026 01:25:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780709132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QvUFRiYd7fhDtxbqbPwOk//IiteFUkfkFfpm+UxGlug=; b=n+6Q/eeE0ywJ4iBuZG+6/0JWJi1ckK2LOhQr7FIeoJB4yRRLaKFNFFKNfww6QJzXaZnL56 D/OQSBHNhaJp+S1QOkVIA5b2AXN6qOZ+KBCmtBAoliOEbfysdWF7DG+RizWjcCSO19kiVm xZeii+Yx6if7pTv7Y6Wh+k/NiY2cpfV/uBMAKyPYEpPj6PKSr+vzWkxzUBc4DLtblgsQcA jA8rHrArpdXHlEX7oYtEkoE27mqaInAIDyW+HZVcbdJsi1LsXzPIWMsNf9DYFHeILVZvty AmhXDzzizIbgv52RQePLHbszI/972YL628NXXWvsNZkxSONZ/AeT+XNVwaRE1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780709132; a=rsa-sha256; cv=none; b=l13f77Bzaa2dppRDCXx7zHCzn+gcgpBgIzSNmQNZj26JcUO0IIm6BKMXSCGRiCP0QFIeWG DAcFaO6cFSv8KGKST+2Xq6ZnJ7zDJaRvf6U1BpUkbuxSDVMN8+e7eY1kg9s5hkOmpkNFSz 1SCNpOCWNYm9DcWT3A6l/GtTlF3qIvGfuZSFqILgu7Wtww8czunO8qh04pYJqghKAiqgJX z+YGFio77DmrKrpY4VMFi6BWjZe/zXky7i+Jl/XMkRfcX3Cn4JR5DjsUDRfEwmhMxvBNoG EFfoa0KPURawg4M4uf9R7KSyvShca7K0zL+nxLdHRYMWU2i4MiwzuJqTxp9Q9g== 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=1780709132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QvUFRiYd7fhDtxbqbPwOk//IiteFUkfkFfpm+UxGlug=; b=ZyzZOXOIuotFr26nUk0oW+s3IuBjRVNYALRxIT92BXqD0dHsfOMwv64bIPE61XfC5kFJAR 4TAhj0ljX6Lxx5g5W5eX2gl4WzR7/GmdpIaWEBSaDgTf0NbhRSk5yGf2RlCABedCdrKenh AAfJwnrGXmDtwKCeiqRL5exjyOJfqiQMlvyIVV51I5grpBMYI23xlGshk1KpfH+BIrhdqb R90TF3+QAjAhD6ySeHwCBNgHXMAcI16ClgmCJl7T7kOE/TvuouFehfWSgdMRjIZSVpUDIL 3WQA+aMGaG3yR/NOpQkCu0UBgZrQeR/yhDm43157VR7zdqTVvoAKpqFNljNBPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXLGN2tB5zv9R for ; Sat, 06 Jun 2026 01:25:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38eb9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 01:25:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 3915ffb1c3e0 - main - loader.efi: Fix when staging moves late List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3915ffb1c3e04b26d1506bf35d3f665b2e25a915 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 01:25:32 +0000 Message-Id: <6a23770c.38eb9.20880b83@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3915ffb1c3e04b26d1506bf35d3f665b2e25a915 commit 3915ffb1c3e04b26d1506bf35d3f665b2e25a915 Author: Warner Losh AuthorDate: 2026-06-05 05:18:40 +0000 Commit: Warner Losh CommitDate: 2026-06-06 01:24:42 +0000 loader.efi: Fix when staging moves late Prior to this commit, we'd compute the page tables and have the last entries point to the staging area. We'd then add some more metadata to the image and boot. This assumed the staging area didn't need to move for this last bit of data. However, if we go over the staging limit, when we copyin new data, we grow the staging area, usually be moving it to a lower address. This overage usually happens when we're loading modules and so things work out nicely. Sometimes we're close to the limit, and we need to do this growing inside bi_load, after we've computed the page table, making the page table wrong, and the code we jump to random rather than the btext routine we normally start at. To fix this, move computation of the table (but not its allocation) to after bi_load, but before we call the trampoline. This problem was most observed when loading microcode for many peole, but Gleb reproduced the error with a set of modules that didn't include ucode. This bug hunt was greatly assisted by Claude who looked at the crash from the EFI boot loader and surmised that we weren't jumping to the code we thought we were jumping to. After inspecting the code, I asked claude how corruption could happen (I thought overwriting the page table), but claude notice the possibility that staging might change after we computed the page table, and this fix is the result. Claude didn't suggest a diff, but did provide many helpful clues that lead me to this fix. PR: 294630 Reviewed by: kib (prior version) Sponsored by: Netflix MFC After: insta per re@ request Differential Revision: https://reviews.freebsd.org/D57462 --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 51 ++++++++++++++----------- stand/efi/loader/arch/i386/elf64_freebsd.c | 58 +++++++++++++++++------------ stand/efi/loader/bootinfo.c | 18 ++++++++- 3 files changed, 81 insertions(+), 46 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 35bd4d6c1419..62716d7b1369 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -89,7 +89,7 @@ elf64_exec(struct preloaded_file *fp) Elf_Ehdr *ehdr; vm_offset_t modulep, kernend, trampcode, trampstack; int err, i; - bool copy_auto; + bool copy_auto, needs_pt4; copy_auto = copy_staging == COPY_STAGING_AUTO; if (copy_auto) @@ -156,6 +156,7 @@ elf64_exec(struct preloaded_file *fp) PT2[i] = (pd_entry_t)i * M(2); PT2[i] |= PG_V | PG_RW | PG_PS; } + needs_pt4 = false; } else { PT4 = (pml4_entry_t *)G(4); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 9, @@ -167,7 +168,35 @@ elf64_exec(struct preloaded_file *fp) copy_staging = COPY_STAGING_AUTO; return (ENOMEM); } + needs_pt4 = true; + } + + printf("%scopying staging tramp %p PT4 %p\n", + copy_staging == COPY_STAGING_ENABLE ? "" : "not ", + trampoline, PT4); + printf("Start @ 0x%lx ...\n", ehdr->e_entry); + + /* + * we have to cleanup here because net_cleanup() doesn't work after + * we call ExitBootServices + */ + dev_cleanup(); + efi_time_fini(); + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { + efi_time_init(); + if (copy_auto) + copy_staging = COPY_STAGING_AUTO; + return (err); + } + + /* + * staging might move in bi_load because we automatiaclly move when we + * copy data in. At this point, staging can't move anymore, so create + * PT4 with the correct value. + */ + if (needs_pt4) { bzero(PT4, 9 * EFI_PAGE_SIZE); PT3_l = &PT4[NPML4EPG * 1]; @@ -204,26 +233,6 @@ elf64_exec(struct preloaded_file *fp) } } - printf("staging %#lx (%scopying) tramp %p PT4 %p\n", - staging, copy_staging == COPY_STAGING_ENABLE ? "" : "not ", - trampoline, PT4); - printf("Start @ 0x%lx ...\n", ehdr->e_entry); - - /* - * we have to cleanup here because net_cleanup() doesn't work after - * we call ExitBootServices - */ - dev_cleanup(); - - efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend, true); - if (err != 0) { - efi_time_init(); - if (copy_auto) - copy_staging = COPY_STAGING_AUTO; - return (err); - } - trampoline(trampstack, copy_staging == COPY_STAGING_ENABLE ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, ehdr->e_entry); diff --git a/stand/efi/loader/arch/i386/elf64_freebsd.c b/stand/efi/loader/arch/i386/elf64_freebsd.c index 22cdd685ea9b..f3f8c91e0275 100644 --- a/stand/efi/loader/arch/i386/elf64_freebsd.c +++ b/stand/efi/loader/arch/i386/elf64_freebsd.c @@ -99,6 +99,7 @@ elf64_exec(struct preloaded_file *fp) struct user_segment_descriptor *gdt; vm_offset_t modulep, kernend, trampstack; int i; + bool needs_pt4; switch (copy_staging) { case COPY_STAGING_ENABLE: @@ -199,10 +200,8 @@ elf64_exec(struct preloaded_file *fp) */ PT2[i] = (i * M(2)) | PG_V | PG_RW | PG_PS; } + needs_pt4 = false; } else { - pdpt_entry_t *PT3_l, *PT3_u; - pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; - err = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, EFI_SIZE_TO_PAGES(512 * 9 * sizeof(uint64_t)), &ptr); if (EFI_ERROR(err)) { @@ -213,6 +212,38 @@ elf64_exec(struct preloaded_file *fp) } PT4 = (pml4_entry_t *)(uintptr_t)ptr; + needs_pt4 = true; + } + + printf("%scopying staging tramp %p PT4 %p GDT %p\n" + "Start @ %#llx ...\n", + type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, + ehdr->e_entry + ); + + + /* + * we have to cleanup here because net_cleanup() doesn't work after + * we call ExitBootServices + */ + dev_cleanup(); + + efi_time_fini(); + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { + efi_time_init(); + return (err); + } + + /* + * staging might move in bi_load because we automatiaclly move when we + * copy data in. At this point, staging can't move anymore, so create + * PT4 with the correct value. + */ + if (needs_pt4) { + pdpt_entry_t *PT3_l, *PT3_u; + pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; + PT3_l = &PT4[512]; PT3_u = &PT3_l[512]; PT2_l0 = &PT3_u[512]; @@ -245,27 +276,6 @@ elf64_exec(struct preloaded_file *fp) } } - printf( - "staging %#llx (%scopying) tramp %p PT4 %p GDT %p\n" - "Start @ %#llx ...\n", staging, - type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, - ehdr->e_entry - ); - - - /* - * we have to cleanup here because net_cleanup() doesn't work after - * we call ExitBootServices - */ - dev_cleanup(); - - efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend, true); - if (err != 0) { - efi_time_init(); - return (err); - } - trampoline(trampstack, type == AllocateMaxAddress ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, gdtr, ehdr->e_entry); diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index fc87a0bf52fb..14e16ed5df81 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -209,6 +209,16 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) } #endif +#if defined(__amd64__) || defined(__i386__) + /* + * Staging can't move after this point, so report the final value before + * we try to exit boot services below. The metadata added is added to + * the malloced arena that we setup when we started and doesn't interact + * with boot services. + */ + printf("staging %#jx\n", (uintmax_t)staging); +#endif + do_vmap = true; efi_novmap = getenv("efi_disable_vmap"); if (efi_novmap != NULL) @@ -298,14 +308,20 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) * loader.conf(5). By default we will setup the virtual * map entries. */ - if (do_vmap) efi_do_vmap(mm, sz, dsz, mmver); + + /* + * Add the memory map to the metadata. addmetadata copies the data into + * the malloc arena, so we can safely free the memory map pages after. + * Or could if boot services was still running. + */ efihdr->memory_size = sz; efihdr->descriptor_size = dsz; efihdr->descriptor_version = mmver; file_addmetadata(kfp, MODINFOMD_EFI_MAP, efisz + sz, efihdr); + /* BS->FreePages(addr, pages); */ return (0); } From nobody Sat Jun 6 01:26:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXLHq1vL2z6gtgW for ; Sat, 06 Jun 2026 01:26: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXLHp3pWJz3t2L for ; Sat, 06 Jun 2026 01:26:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780709206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=STB0Yr8TzLz8sFsiPJCI8IjAxhb8FmfCNAlRI5xxuCM=; b=IyuJXKRQaOEGDHcFcEVr+Us3goFXOtqtnj9bcQ5P4U8TiTPqTYxcrRoa0RW/GHeOa5JMBk 0+Y51U14j/wOiq5HwGE+WxEDQ2E5cfAG9PcS6BjLc+Zj+PLy1FH5B8YQfsoFJR42+auFmh mcAZi/b89nUlJFs902WtW0Msg5HV8fcFKv1v+vNLICr++Hkwz2xZog4GpFvTR7onXRcREH MpPPVHhk9yUPuJxjbOVbiY3unQ7J1xaX/ns0U2JO5Qb5tHYbe9ai6zYDLsK1qzBn8EM8dk tr/LI2SSRFBGoMiwVk59lZR1rwPl0fFDask3qol6+2nLv3B74DUCMX7MAEgDkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780709206; a=rsa-sha256; cv=none; b=WCkK9+9RutdDzO1YkA21apEfbxt8ByHpZMreYBQV32ym0dumhgk95vP2yEUZfzD2z0BY7D 22GLHrlLVfn7tB0kTI701766fJgOpQ369n8P6nX9MmPaEzmmTF+7z5EGB3ajRVhwr3ByXi H0vq0ZjEj5lJwqyVsbuBjcJcrj1t9YNu+683qDUMUXXeh5XKwgFpAzqkjJuucExs4EymoL b45r1cH8Q8NjRA/dZKMeFODn+qzq/ZXJ0Po16qsFxla4reu+OwkDUB+eqOZaeqgz5ZlHuE /cbLFTS0pMPBU3Qb/O+YVQIGRlGgwbGDgq2iSEeYHs5qREDp5zGVUDoeY5lFhA== 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=1780709206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=STB0Yr8TzLz8sFsiPJCI8IjAxhb8FmfCNAlRI5xxuCM=; b=XvN2CojR+h9febJcozwMvHzvRfmZyRGyc7F4E81wS2ycNt015hB98gOvu3jFjLNNqbvLgt 5nLtUYduFm7OgyA9IGz4mrmzrLE5WdJT8+k83A6IIgeYzXMkaEipK0KXV6Xp7xfs3GcEgg R83NWqwYaPpMmPJqv0kD2sJZibk5s2kv9euyhjgBKxdZCxAIqSVmk0O7OQfMT9gkvHn/IZ crUErfvRhMCQX5SZbjZ1hm+JvW1j2iG41lKJo/nLZrvVVMp0wGT2p8qX7Y8vBYTBXHDuyH URh24uRwiGgphl3I/dv+jmOJVpfxlNE0o/E3m6L2TpKG+Z944s4LPoWdioX1Aw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXLHp3PnSzv9Y for ; Sat, 06 Jun 2026 01:26:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38daf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 01:26:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 95632c90ba32 - stable/15 - loader.efi: Fix when staging moves late List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 95632c90ba32a55ec39a14ad7224a21d1c62c096 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 01:26:41 +0000 Message-Id: <6a237751.38daf.555170e5@gitrepo.freebsd.org> The branch stable/15 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=95632c90ba32a55ec39a14ad7224a21d1c62c096 commit 95632c90ba32a55ec39a14ad7224a21d1c62c096 Author: Warner Losh AuthorDate: 2026-06-05 05:18:40 +0000 Commit: Warner Losh CommitDate: 2026-06-06 01:25:13 +0000 loader.efi: Fix when staging moves late Prior to this commit, we'd compute the page tables and have the last entries point to the staging area. We'd then add some more metadata to the image and boot. This assumed the staging area didn't need to move for this last bit of data. However, if we go over the staging limit, when we copyin new data, we grow the staging area, usually be moving it to a lower address. This overage usually happens when we're loading modules and so things work out nicely. Sometimes we're close to the limit, and we need to do this growing inside bi_load, after we've computed the page table, making the page table wrong, and the code we jump to random rather than the btext routine we normally start at. To fix this, move computation of the table (but not its allocation) to after bi_load, but before we call the trampoline. This problem was most observed when loading microcode for many peole, but Gleb reproduced the error with a set of modules that didn't include ucode. This bug hunt was greatly assisted by Claude who looked at the crash from the EFI boot loader and surmised that we weren't jumping to the code we thought we were jumping to. After inspecting the code, I asked claude how corruption could happen (I thought overwriting the page table), but claude notice the possibility that staging might change after we computed the page table, and this fix is the result. Claude didn't suggest a diff, but did provide many helpful clues that lead me to this fix. PR: 294630 Reviewed by: kib (prior version) Sponsored by: Netflix MFC After: insta per re@ request Differential Revision: https://reviews.freebsd.org/D57462 (cherry picked from commit 3915ffb1c3e04b26d1506bf35d3f665b2e25a915) --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 51 ++++++++++++++----------- stand/efi/loader/arch/i386/elf64_freebsd.c | 58 +++++++++++++++++------------ stand/efi/loader/bootinfo.c | 18 ++++++++- 3 files changed, 81 insertions(+), 46 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 35bd4d6c1419..62716d7b1369 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -89,7 +89,7 @@ elf64_exec(struct preloaded_file *fp) Elf_Ehdr *ehdr; vm_offset_t modulep, kernend, trampcode, trampstack; int err, i; - bool copy_auto; + bool copy_auto, needs_pt4; copy_auto = copy_staging == COPY_STAGING_AUTO; if (copy_auto) @@ -156,6 +156,7 @@ elf64_exec(struct preloaded_file *fp) PT2[i] = (pd_entry_t)i * M(2); PT2[i] |= PG_V | PG_RW | PG_PS; } + needs_pt4 = false; } else { PT4 = (pml4_entry_t *)G(4); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 9, @@ -167,7 +168,35 @@ elf64_exec(struct preloaded_file *fp) copy_staging = COPY_STAGING_AUTO; return (ENOMEM); } + needs_pt4 = true; + } + + printf("%scopying staging tramp %p PT4 %p\n", + copy_staging == COPY_STAGING_ENABLE ? "" : "not ", + trampoline, PT4); + printf("Start @ 0x%lx ...\n", ehdr->e_entry); + + /* + * we have to cleanup here because net_cleanup() doesn't work after + * we call ExitBootServices + */ + dev_cleanup(); + efi_time_fini(); + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { + efi_time_init(); + if (copy_auto) + copy_staging = COPY_STAGING_AUTO; + return (err); + } + + /* + * staging might move in bi_load because we automatiaclly move when we + * copy data in. At this point, staging can't move anymore, so create + * PT4 with the correct value. + */ + if (needs_pt4) { bzero(PT4, 9 * EFI_PAGE_SIZE); PT3_l = &PT4[NPML4EPG * 1]; @@ -204,26 +233,6 @@ elf64_exec(struct preloaded_file *fp) } } - printf("staging %#lx (%scopying) tramp %p PT4 %p\n", - staging, copy_staging == COPY_STAGING_ENABLE ? "" : "not ", - trampoline, PT4); - printf("Start @ 0x%lx ...\n", ehdr->e_entry); - - /* - * we have to cleanup here because net_cleanup() doesn't work after - * we call ExitBootServices - */ - dev_cleanup(); - - efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend, true); - if (err != 0) { - efi_time_init(); - if (copy_auto) - copy_staging = COPY_STAGING_AUTO; - return (err); - } - trampoline(trampstack, copy_staging == COPY_STAGING_ENABLE ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, ehdr->e_entry); diff --git a/stand/efi/loader/arch/i386/elf64_freebsd.c b/stand/efi/loader/arch/i386/elf64_freebsd.c index 22cdd685ea9b..f3f8c91e0275 100644 --- a/stand/efi/loader/arch/i386/elf64_freebsd.c +++ b/stand/efi/loader/arch/i386/elf64_freebsd.c @@ -99,6 +99,7 @@ elf64_exec(struct preloaded_file *fp) struct user_segment_descriptor *gdt; vm_offset_t modulep, kernend, trampstack; int i; + bool needs_pt4; switch (copy_staging) { case COPY_STAGING_ENABLE: @@ -199,10 +200,8 @@ elf64_exec(struct preloaded_file *fp) */ PT2[i] = (i * M(2)) | PG_V | PG_RW | PG_PS; } + needs_pt4 = false; } else { - pdpt_entry_t *PT3_l, *PT3_u; - pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; - err = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, EFI_SIZE_TO_PAGES(512 * 9 * sizeof(uint64_t)), &ptr); if (EFI_ERROR(err)) { @@ -213,6 +212,38 @@ elf64_exec(struct preloaded_file *fp) } PT4 = (pml4_entry_t *)(uintptr_t)ptr; + needs_pt4 = true; + } + + printf("%scopying staging tramp %p PT4 %p GDT %p\n" + "Start @ %#llx ...\n", + type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, + ehdr->e_entry + ); + + + /* + * we have to cleanup here because net_cleanup() doesn't work after + * we call ExitBootServices + */ + dev_cleanup(); + + efi_time_fini(); + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { + efi_time_init(); + return (err); + } + + /* + * staging might move in bi_load because we automatiaclly move when we + * copy data in. At this point, staging can't move anymore, so create + * PT4 with the correct value. + */ + if (needs_pt4) { + pdpt_entry_t *PT3_l, *PT3_u; + pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; + PT3_l = &PT4[512]; PT3_u = &PT3_l[512]; PT2_l0 = &PT3_u[512]; @@ -245,27 +276,6 @@ elf64_exec(struct preloaded_file *fp) } } - printf( - "staging %#llx (%scopying) tramp %p PT4 %p GDT %p\n" - "Start @ %#llx ...\n", staging, - type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, - ehdr->e_entry - ); - - - /* - * we have to cleanup here because net_cleanup() doesn't work after - * we call ExitBootServices - */ - dev_cleanup(); - - efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend, true); - if (err != 0) { - efi_time_init(); - return (err); - } - trampoline(trampstack, type == AllocateMaxAddress ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, gdtr, ehdr->e_entry); diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 78f94e0aa9b2..fe8c4f5e609a 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -210,6 +210,16 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) } #endif +#if defined(__amd64__) || defined(__i386__) + /* + * Staging can't move after this point, so report the final value before + * we try to exit boot services below. The metadata added is added to + * the malloced arena that we setup when we started and doesn't interact + * with boot services. + */ + printf("staging %#jx\n", (uintmax_t)staging); +#endif + do_vmap = true; efi_novmap = getenv("efi_disable_vmap"); if (efi_novmap != NULL) @@ -299,14 +309,20 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) * loader.conf(5). By default we will setup the virtual * map entries. */ - if (do_vmap) efi_do_vmap(mm, sz, dsz, mmver); + + /* + * Add the memory map to the metadata. addmetadata copies the data into + * the malloc arena, so we can safely free the memory map pages after. + * Or could if boot services was still running. + */ efihdr->memory_size = sz; efihdr->descriptor_size = dsz; efihdr->descriptor_version = mmver; file_addmetadata(kfp, MODINFOMD_EFI_MAP, efisz + sz, efihdr); + /* BS->FreePages(addr, pages); */ return (0); } From nobody Sat Jun 6 02:24:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZQ0Sbnz6gyF4 for ; Sat, 06 Jun 2026 02:24: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXMZP6r03z3ytt for ; Sat, 06 Jun 2026 02:24:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780712670; 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=S0lVctWpeNMm2r1op4+jWiv2aCwblSoraFLuINdNRmw=; b=TwY5fmDPdUpvv4ikykgYsyeWUKITsTvvpPwy+w92tURU/dcV3Wz0GnfiT3fErtOFiDxslP ++yQjGyyP6GK/wTDbQYB7B4cC7RrdPwbJAr7xkyNfQqmYHwiF6+PENau+VgtZuGNzuXkhQ Dl9KlaAsMBm1Rh45WHEv10IWx1muwbTZY9YljMxu/XdZKs1OorZVlAxb45PUsEliThlOKx Ocfmpw+FLbZVbcK8wXulwpxp07Dzr87bLMibwBR6CXJ+9CQLptWb2LrFB9hm/lyjzBM3hL D3w0CoFrEqip+UXlYKGTqtyGoJDwFFApvASPJ3drh8O3b0AL1n+GXUP8c2LmOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780712670; a=rsa-sha256; cv=none; b=aO8bOhaNV5nwo7rLbeFowaBIr8aar76HqtPgapyo7gix6i1lGGwAcMRHyYDGhHPgNUccAi YBM3eI0gCMLmhMUzmW2x6XshUSgHeGPC6Vt6LNZLzqRlWV2X9CeRS9BOhFuEzrT8H3qmMm lfGwZRToMzWFqfqgrFK0EZjY+6FCczIdnx9ejYhlX9gsLUXJFhWpy9sShB9bNbYhf0aTGF O6/AAl/7FTbVdKSOGN/L21/Mz+6nmieOxsSzcvS3t7C0lrEmeHnRJylVYPgnzzOHEkkRt8 Wir3htokuBYiPfrDCxIRNdFmxRf7XxXqeFXd2k3ArOImax1wESxfuops4nodOw== 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=1780712670; 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=S0lVctWpeNMm2r1op4+jWiv2aCwblSoraFLuINdNRmw=; b=TIbKwY40xxEM+Otc8d4fRrUWGVlVkyoMhAx3e0jyavQawlpBqPEdi5MUvSlkSvsg7RqQYA 5snwPkOblbr35hKhjNMvHpRcIzHoMHkxRPFd3YZIYH2ijGx0hUZfWwCjaHojwuU/pq4Gw2 6p3SL3N4/iIafTeTCnmTU+TtpbJo+xW1bZKSLiwrSVLsJRrOgJLVXSt7up3M1Nz1XVKcuM GBIbUyGb0kHB3RX5uQbVc+10Ev8lJzf+Ik2cvkXF69H+wO4FgdMWYMn3yxJhqACLAz4fPO DYlOTtgLSI0DzuO3Zl1J8qBbsMv6UPu0ey18JU5a7+FK1YDq4cKa4h6CJfGGrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZP5xgzzx5q for ; Sat, 06 Jun 2026 02:24:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fa31 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 02:24:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Jose Luis Duran From: Colin Percival Subject: git: dd2e9aa21a45 - releng/15.1 - bsdinstall: script: Fix scripted DISTRIBUTIONS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: dd2e9aa21a45f746a57d386bb315d58590e3d716 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 02:24:29 +0000 Message-Id: <6a2384dd.3fa31.53e33d2@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=dd2e9aa21a45f746a57d386bb315d58590e3d716 commit dd2e9aa21a45f746a57d386bb315d58590e3d716 Author: Jose Luis Duran AuthorDate: 2026-05-29 02:09:49 +0000 Commit: Colin Percival CommitDate: 2026-06-06 02:22:28 +0000 bsdinstall: script: Fix scripted DISTRIBUTIONS Restore exporting DISTRIBUTIONS to make it available to other scripts. Approved by: re (cperciva) Reviewed by: imp, asomers Fixes: dc14ae4217a0 ("bsdinstall: do pkgbase installations with the "script" command") MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D57319 (cherry picked from commit 283959bbe0863917c4fc3200a92d1055a4c89bdc) (cherry picked from commit 0e3c9cbee4ac735b7c19f3cb719b65f960be0b23) --- usr.sbin/bsdinstall/scripts/script | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/bsdinstall/scripts/script b/usr.sbin/bsdinstall/scripts/script index 93d07c7899c3..4c792d80df6a 100755 --- a/usr.sbin/bsdinstall/scripts/script +++ b/usr.sbin/bsdinstall/scripts/script @@ -50,6 +50,7 @@ f_include $BSDCFG_SHARE/variable.subr ############################################################ GLOBALS : ${TMPDIR:="/tmp"} +: ${DISTRIBUTIONS=""}; export DISTRIBUTIONS # # Strings that should be moved to an i18n file and loaded with f_include_lang() From nobody Sat Jun 6 02:24:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZR0Tx2z6gyl3 for ; Sat, 06 Jun 2026 02:24: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXMZQ6JfFz3yyv for ; Sat, 06 Jun 2026 02:24:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780712670; 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=aMOVJdp4om4+ZTCvsgkwbdcT33tLbvipZonSXxbVLlQ=; b=IbmB3QEJ32sV2VQBQYGEuHRUcTW6ZufnQht513FJ+fAIMfoB9/T8o8/RUm6LjHRmK7R0Gu zZjDVYnTI+o6ijCY3YyJhTEAk3cVBJ2rBIQI2Ef/56j9wo1Gxl5dZ4C/1W8E+TnuVZuRt3 HQNXQkRwSD1HzhYU3PIjOJ8zdyqcOXr14mZh3CXk/0ALRX3vBpE3OB24CgmXmp+eVlouQF EJuIhCOe2nal3XnfR6i+w90FM74jKZaur1Qe0gj2k5gaaJDIKhZaeR26cAEW8SAY7neIFD /ZTRek891n7DEG0+EImcQpz1cQoWig8S/tvdEguAo92KWRIGLs9nUnyTRnLMcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780712670; a=rsa-sha256; cv=none; b=WpDO0Ua04INmwiauF+gu7c6Peq3ycB/RCiprZ4T54oqIaa/S5RlxZwS5Y4w9JWiz6CBKKt YQGhlT7oG4K6E+IRPsLceNnW9kvPLjFGEhW7IzF2IrL1BEzGKYK/W798jV0XkEt6P1WWka ufYJ39dwxwEOkA49/6Pwj8lFccJ4vv0MHGBBYEibTSy6rZeunguu/7duxY1c6SdbNU3pT5 qNJMHsJN+FnLROw9Di6gQn1b2O1iFwT2dDfRRbnHQfjDMkg9xl3h6d/MZtkvVZucl+b/5a 1uQ/GYcdChWLLes1w/U6ghk2w+jHWw5X/aQ/SWUwBNbfPRikoLEmSfvRYyi3Xg== 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=1780712670; 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=aMOVJdp4om4+ZTCvsgkwbdcT33tLbvipZonSXxbVLlQ=; b=pMgSjE1l1FXPzoh1gD/PIhToObvEZ660WacTJm7VX6sCy2sDvCkpJFrm0NegW12piiHxLM GUj0JWnyEVZWQTUXnG0S63c5W138/OJiTeGFwd9vXzNchkLWDUphBrja9QNnL9ozQo0RQY lgH+eLmxSGj2tLjBhhuJBNyk2rWencQ5puZZ5SIIEPvpuGwGHQB6t5fAog2uZ690Nw4B8N 7j9Ex00yhGlv2Tqg/m/DyeNqbAu25yfqnzNSIDxsFZWNccf0fKcIDQWBmniOOIiRtVocVA IAYHffK7c9XyvIRkmSykZWoR/J4Nj89N0rWBDhpe3b3GjuoFOqDDQarkiaJZ/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 4gXMZQ5rfwzx5t for ; Sat, 06 Jun 2026 02:24:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40033 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 02:24:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Warner Losh From: Colin Percival Subject: git: 56e59980b673 - releng/15.1 - loader.efi: Fix when staging moves late List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 56e59980b673affb82c8c5da9d4338e10d946acd Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 02:24:30 +0000 Message-Id: <6a2384de.40033.16eb29a3@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=56e59980b673affb82c8c5da9d4338e10d946acd commit 56e59980b673affb82c8c5da9d4338e10d946acd Author: Warner Losh AuthorDate: 2026-06-05 05:18:40 +0000 Commit: Colin Percival CommitDate: 2026-06-06 02:22:41 +0000 loader.efi: Fix when staging moves late Prior to this commit, we'd compute the page tables and have the last entries point to the staging area. We'd then add some more metadata to the image and boot. This assumed the staging area didn't need to move for this last bit of data. However, if we go over the staging limit, when we copyin new data, we grow the staging area, usually be moving it to a lower address. This overage usually happens when we're loading modules and so things work out nicely. Sometimes we're close to the limit, and we need to do this growing inside bi_load, after we've computed the page table, making the page table wrong, and the code we jump to random rather than the btext routine we normally start at. To fix this, move computation of the table (but not its allocation) to after bi_load, but before we call the trampoline. This problem was most observed when loading microcode for many peole, but Gleb reproduced the error with a set of modules that didn't include ucode. This bug hunt was greatly assisted by Claude who looked at the crash from the EFI boot loader and surmised that we weren't jumping to the code we thought we were jumping to. After inspecting the code, I asked claude how corruption could happen (I thought overwriting the page table), but claude notice the possibility that staging might change after we computed the page table, and this fix is the result. Claude didn't suggest a diff, but did provide many helpful clues that lead me to this fix. Approved by: re (cperciva) PR: 294630 Reviewed by: kib (prior version) Sponsored by: Netflix MFC After: insta per re@ request Differential Revision: https://reviews.freebsd.org/D57462 (cherry picked from commit 3915ffb1c3e04b26d1506bf35d3f665b2e25a915) (cherry picked from commit 95632c90ba32a55ec39a14ad7224a21d1c62c096) --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 51 ++++++++++++++----------- stand/efi/loader/arch/i386/elf64_freebsd.c | 58 +++++++++++++++++------------ stand/efi/loader/bootinfo.c | 18 ++++++++- 3 files changed, 81 insertions(+), 46 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 35bd4d6c1419..62716d7b1369 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -89,7 +89,7 @@ elf64_exec(struct preloaded_file *fp) Elf_Ehdr *ehdr; vm_offset_t modulep, kernend, trampcode, trampstack; int err, i; - bool copy_auto; + bool copy_auto, needs_pt4; copy_auto = copy_staging == COPY_STAGING_AUTO; if (copy_auto) @@ -156,6 +156,7 @@ elf64_exec(struct preloaded_file *fp) PT2[i] = (pd_entry_t)i * M(2); PT2[i] |= PG_V | PG_RW | PG_PS; } + needs_pt4 = false; } else { PT4 = (pml4_entry_t *)G(4); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 9, @@ -167,7 +168,35 @@ elf64_exec(struct preloaded_file *fp) copy_staging = COPY_STAGING_AUTO; return (ENOMEM); } + needs_pt4 = true; + } + + printf("%scopying staging tramp %p PT4 %p\n", + copy_staging == COPY_STAGING_ENABLE ? "" : "not ", + trampoline, PT4); + printf("Start @ 0x%lx ...\n", ehdr->e_entry); + + /* + * we have to cleanup here because net_cleanup() doesn't work after + * we call ExitBootServices + */ + dev_cleanup(); + efi_time_fini(); + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { + efi_time_init(); + if (copy_auto) + copy_staging = COPY_STAGING_AUTO; + return (err); + } + + /* + * staging might move in bi_load because we automatiaclly move when we + * copy data in. At this point, staging can't move anymore, so create + * PT4 with the correct value. + */ + if (needs_pt4) { bzero(PT4, 9 * EFI_PAGE_SIZE); PT3_l = &PT4[NPML4EPG * 1]; @@ -204,26 +233,6 @@ elf64_exec(struct preloaded_file *fp) } } - printf("staging %#lx (%scopying) tramp %p PT4 %p\n", - staging, copy_staging == COPY_STAGING_ENABLE ? "" : "not ", - trampoline, PT4); - printf("Start @ 0x%lx ...\n", ehdr->e_entry); - - /* - * we have to cleanup here because net_cleanup() doesn't work after - * we call ExitBootServices - */ - dev_cleanup(); - - efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend, true); - if (err != 0) { - efi_time_init(); - if (copy_auto) - copy_staging = COPY_STAGING_AUTO; - return (err); - } - trampoline(trampstack, copy_staging == COPY_STAGING_ENABLE ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, ehdr->e_entry); diff --git a/stand/efi/loader/arch/i386/elf64_freebsd.c b/stand/efi/loader/arch/i386/elf64_freebsd.c index 22cdd685ea9b..f3f8c91e0275 100644 --- a/stand/efi/loader/arch/i386/elf64_freebsd.c +++ b/stand/efi/loader/arch/i386/elf64_freebsd.c @@ -99,6 +99,7 @@ elf64_exec(struct preloaded_file *fp) struct user_segment_descriptor *gdt; vm_offset_t modulep, kernend, trampstack; int i; + bool needs_pt4; switch (copy_staging) { case COPY_STAGING_ENABLE: @@ -199,10 +200,8 @@ elf64_exec(struct preloaded_file *fp) */ PT2[i] = (i * M(2)) | PG_V | PG_RW | PG_PS; } + needs_pt4 = false; } else { - pdpt_entry_t *PT3_l, *PT3_u; - pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; - err = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, EFI_SIZE_TO_PAGES(512 * 9 * sizeof(uint64_t)), &ptr); if (EFI_ERROR(err)) { @@ -213,6 +212,38 @@ elf64_exec(struct preloaded_file *fp) } PT4 = (pml4_entry_t *)(uintptr_t)ptr; + needs_pt4 = true; + } + + printf("%scopying staging tramp %p PT4 %p GDT %p\n" + "Start @ %#llx ...\n", + type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, + ehdr->e_entry + ); + + + /* + * we have to cleanup here because net_cleanup() doesn't work after + * we call ExitBootServices + */ + dev_cleanup(); + + efi_time_fini(); + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { + efi_time_init(); + return (err); + } + + /* + * staging might move in bi_load because we automatiaclly move when we + * copy data in. At this point, staging can't move anymore, so create + * PT4 with the correct value. + */ + if (needs_pt4) { + pdpt_entry_t *PT3_l, *PT3_u; + pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; + PT3_l = &PT4[512]; PT3_u = &PT3_l[512]; PT2_l0 = &PT3_u[512]; @@ -245,27 +276,6 @@ elf64_exec(struct preloaded_file *fp) } } - printf( - "staging %#llx (%scopying) tramp %p PT4 %p GDT %p\n" - "Start @ %#llx ...\n", staging, - type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, - ehdr->e_entry - ); - - - /* - * we have to cleanup here because net_cleanup() doesn't work after - * we call ExitBootServices - */ - dev_cleanup(); - - efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend, true); - if (err != 0) { - efi_time_init(); - return (err); - } - trampoline(trampstack, type == AllocateMaxAddress ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, gdtr, ehdr->e_entry); diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 78f94e0aa9b2..fe8c4f5e609a 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -210,6 +210,16 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) } #endif +#if defined(__amd64__) || defined(__i386__) + /* + * Staging can't move after this point, so report the final value before + * we try to exit boot services below. The metadata added is added to + * the malloced arena that we setup when we started and doesn't interact + * with boot services. + */ + printf("staging %#jx\n", (uintmax_t)staging); +#endif + do_vmap = true; efi_novmap = getenv("efi_disable_vmap"); if (efi_novmap != NULL) @@ -299,14 +309,20 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) * loader.conf(5). By default we will setup the virtual * map entries. */ - if (do_vmap) efi_do_vmap(mm, sz, dsz, mmver); + + /* + * Add the memory map to the metadata. addmetadata copies the data into + * the malloc arena, so we can safely free the memory map pages after. + * Or could if boot services was still running. + */ efihdr->memory_size = sz; efihdr->descriptor_size = dsz; efihdr->descriptor_version = mmver; file_addmetadata(kfp, MODINFOMD_EFI_MAP, efisz + sz, efihdr); + /* BS->FreePages(addr, pages); */ return (0); } From nobody Sat Jun 6 02:24:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZS4C4fz6gyZ6 for ; Sat, 06 Jun 2026 02:24: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXMZR6gxgz40BS for ; Sat, 06 Jun 2026 02:24:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780712672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DXqP5XhtHC+EAzAr4YPcWvC1wIjtFhq8dwQFV8JDfcA=; b=TWgFi+clTdY05S6IPmpVaXdElyuQPcZOVEflWol+lKLoE4PvEQhVQB3xFe6sm7u91WeoSy YNxbdwO5iaTTQ7thTQ+Ubuc2U+q+7LzIE70j/U6E98rHNgsk1797c0vg/T7t71ksFT0Nux sPCqbJzVxDVjEO9zMn+Lf3YdqPzn90e0BgJyRiziJxlIC4hTFuWk6DzEv5Skx2CBxQzBKD he8RtBejE5AP4hrsfyAjAJwZtf/rAkNRIYyGlImM78MJQBQ1a6KuDVMWV1mDlc1l68DEq8 8FY9GqBSmtZRRVeLojTmXiDW8t9KsTiAY9K1Gj+N0E9l4TLCqbUpPmDEldAlYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780712672; a=rsa-sha256; cv=none; b=nlwn4gDzPeI5XHMR/TWkSwyzvdQ/PhIsjOCU1fm7M8K35CEpewF9xHuTQ8iOsHEq8N+5aP a/z0Kv80ixHon7Si0OgK4kuHZPYQ9f3Q7COyzlBW+8SSLDSCoTDNuIxFeIFPTdpoAsndiq yQX+94nQ1x059XUbAcCtD1L1BMBTcxyPo/cr4TFx4QXQJF3exVL7u6a6gNal13K7Lw6Xoc UgdZshWhMhEJ/p/p+OD1qoOVUiv8Kon+DZ3m+IAI7Ae0hBk/siYJTVApIgZs51t7iYcfcp 9SRfBieQ9Vi4hcrcwUPChrZi1bR6hsvNMk/1VNX+OkMd/3mN1UWfvMsfWAJpbA== 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=1780712672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DXqP5XhtHC+EAzAr4YPcWvC1wIjtFhq8dwQFV8JDfcA=; b=wuB3fwAT0yQjbP540uzmERAl26rCZnm6o+iCTz5uk8IyAflo7mOJeEQfdcjHi3iPKzfdDr nTBgY4/9FijdQpQEm3tMZdtI2ZlImJhvLRrtZ0A2Q8LpwJOqyFu4HX/rU+4MTqbIFkZev6 H3aZYtOp81+/y+HGysMY2VvELSfLAs85jkxzY1EIaVk4UTkKceRGqXOlvvAzsVOJBs1Gq2 Vt+p/dgIUz3RrBbZ585vpxGeeMyvTA7HF87aiORCDfvAORRj83ubyscjx3sIjnjSWkAFJD 2de83WZilh09ZQ5ASRZy0qjiSu/MQ988sIbU/+4QNuDd094AgtQgXlF4ktIAQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZR6FG1zwXN for ; Sat, 06 Jun 2026 02:24:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fa37 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 02:24:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 9263fb9bab26 - releng/15.1 - 15.1: Update to RC2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 9263fb9bab261980c57c38d55bd4d8f2e1746992 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 02:24:31 +0000 Message-Id: <6a2384df.3fa37.7254fe58@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=9263fb9bab261980c57c38d55bd4d8f2e1746992 commit 9263fb9bab261980c57c38d55bd4d8f2e1746992 Author: Colin Percival AuthorDate: 2026-06-06 02:23:24 +0000 Commit: Colin Percival CommitDate: 2026-06-06 02:23:24 +0000 15.1: Update to RC2 Approved by: re (implicit) Sponsored by; OpenSats Initiative --- sys/conf/newvers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 8d43d168aace..17d6f240b2ca 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -51,7 +51,7 @@ TYPE="FreeBSD" REVISION="15.1" -BRANCH="RC2" +BRANCH="RC3" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Sat Jun 6 02:30:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXMjC4MqCz6gyxn; Sat, 06 Jun 2026 02:30:23 +0000 (UTC) (envelope-from cperciva@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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXMjC3kdSz40tn; Sat, 06 Jun 2026 02:30:23 +0000 (UTC) (envelope-from cperciva@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780713023; h=from:from:reply-to:subject: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:autocrypt:autocrypt; bh=krn6vni3pfhDNBFoSfOpFuo+DwDgnlb/xkcu645QX0Y=; b=kqybykQlNOP7/wOPEuSTYNDr7RSbMS3OqqYMrQr/zRGF6ov9mkgy4GVoqcA/nKDgvFfTOU kNVqtYcatHCr2KQ72ZRlZcVaymAV/A0voR10QoTnP4ysVDvNwG2F0VrUdtEmQeRq3XvZZu M6rSD0TAEXzMo+pt2cRQe9mIzATXOXdyOCCx63Z5Nuorwhq49aYkRuzNyWFLpz8XgBFSTt 0/m8Nxc9DsuPcpURIgJ0fGNdxENB3bg2q9MV9JhOkvAiLYI3bX1X/xn6AGLuMfT6w1C47d pioficb1nNkxlG70h/vNpA+fHGZuTD+kgtgq3J7Y3jyBMkmDp9h3IIA0DeiG+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780713023; a=rsa-sha256; cv=none; b=uVTnCTm5gLZsfCeQ8xl0XX3Qe9lkc0XQXKLoxa18Bi64XXZ13GZ/Jwhk0zATKrvAJO1vh8 OCYHP+tN3dNAnV73rFt4Fx18O67C2e00WZCAHtN04S8UMWyP/v7X/lUhmrCaCmoNVx0yr8 2cNSa0mcAaCsjSXfU0iOe6u/OkUCn8hS4ei9haOrRTDJ7zByZ9FP2WXrA9VskdEbHa0Ccv k5Q1h+xpPs93R+9mMD682GrLc6PnsJ68qYSXiDTw5DuR73JuHNkVQ/dFEGG4mQzSPLHR5r qbOq3bezRL2V7sQrOkTLUIUcr1J0NZEBZj0p2uBKOxxc2eLH6sJ/wljQI8h48Q== 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=1780713023; h=from:from:reply-to:subject: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:autocrypt:autocrypt; bh=krn6vni3pfhDNBFoSfOpFuo+DwDgnlb/xkcu645QX0Y=; b=nVmJp6ukUJZjFE5j5UF6Fvk/ADEbRw4BZqHZ3WH+tAmMHlvn6d5VlhLeLGjKMCJJmjF8OZ STbVsEsNe6Vy0x5robBjkwMHy571OHZT8zI/mH82MZYQQJXuRH0Pzh20ujB5PaIXUjKHpO spmj7Ks2TmLIi4Tvna/NWUG8xhDGWKXmHdVVhATS5cfH4EJNHFlaj2r0jH6Hn9ht4Ezt8P 9Lcvbx2gxUxgWBd0qjlFpD2qqOxbBE5StU0HwsSYtFoww1cLRhjDVrXk+YTw/caOx3/SXp XGQqor/VTAIXjifcdjIz5yBiadBCVYWtSfEMPaVL/eZaqY0rCKr91KPxwFgwLw== Received: from [192.168.4.47] (S0106684a76304d01.vf.shawcable.net [70.69.240.84]) (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: cperciva/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gXMjC0gwFzwVt; Sat, 06 Jun 2026 02:30:22 +0000 (UTC) (envelope-from cperciva@freebsd.org) Message-ID: <22eb30a1-e618-49d9-8e24-6b9a8c0eae5e@freebsd.org> Date: Fri, 5 Jun 2026 19:30:22 -0700 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 9263fb9bab26 - releng/15.1 - 15.1: Update to RC2 From: Colin Percival To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org References: <6a2384df.3fa37.7254fe58@gitrepo.freebsd.org> Content-Language: en-US Autocrypt: addr=cperciva@freebsd.org; keydata= xsFNBGWMSrYBEACdWRqDn3B3SKO7IG0/fGHYtfs26f3Q5QeAcasy1fQLniwGQWn5rlILhbCD K/jdNoDm5Zxq20eqyffoDNObCjnHgg4tGANdi+RmDy+7CDpE789H8dss9y7Pt5DlGGAXQQnt hxush3EYS/Ctprd9UUL/lzOOLOU1aNtzB84tNrJBtcJmL7OYHfyTSNFxvedqJrrasejIQOLI t/DQ89BPzz+vsKHz7FJPXh3fsVkzLA00DJYcfkgxyABfJNA7U6yMwd4DVSdx/SsvfIDMVXnu UXCXswo106WPZbYGlZPpq0wW6iibtTerJix+8AeuwXvl9O1p8yESK4ErkIxCnmghTSz+pdzj z/6xBRkdDM9VdZ0r+CzsaNXMpDOzFuKyjaiYBdgCLljbDnXIHFcqXenrZ7Xwkm09g/M4uVSh pIUG2RYa6tsHSQoGCp3f2RZv1znfViKQFbbL83QjtPA20AhseZSYbHp1FPhXyy9J0wkGL16L e99g6gdGeIRE82BZjBjKGDkoyDPq+oDRSFl8NtzmIKy+cfz00nViqcTF4bREXEawFGhlpO0X O9q8mijI9iFB6zaPBiSdJGBL5ML5qLTNCl8Zlf4m1TBvmRTqF/lzMHVXHidDoUhpSh/y3AFZ 1KrYc27ztJQywDJPJPWPbtY8YhFLFs377gfP8WldsZjzp8nvoQARAQABzSVDb2xpbiBQZXJj aXZhbCA8Y3BlcmNpdmFARnJlZUJTRC5vcmc+wsGRBBMBCAA7FiEEglY7hNBiDtwN+4ZBOJfy 4i5lrT8FAmWMSrYCGwMICwkNCAwHCwMFFQoJCAsFFgMCAQACHgUCF4AACgkQOJfy4i5lrT++ ig/9GZKdN2fHSyrANKZX38ivd7IX2wAYouqH9DrQM94W8IciaDLmarN4Pl9mY+aucMwQUSyp uNtKOJwKqhVVaalF9Zw0sRMH4CJuvT7vKCtZ3q1Okb7soRvFte4d+vXhvPxCvBFDA5JzU7Lg DR5eqqcvF1dN1OuCq16pl0zCOSH/Jr5ToE3LM3Av1KBGcZD7ZSzHRWsFjV5AOUJKySuA3GwJ e/jASQcQ0YfCnru8ntLmYg/2SKvZFlfthZiCBnAppMt4n4BUAw3TDvf10HIDtdneejawcbLS gofLCvGqumwbZYAMKWrFzT4+7KQvr0pOw8QD7EbxnB4f9hQ7UiVF8qWsyKU3iv6b5JLhbS59 ooKRccyOvdMLcVJ0ZdpqoxrNv061ZUqLL5RiWjBlc1qjBnDxeg5oyM0rT8WLftdgvyH6RQt0 KWngumBAT5AT2DUYL8Uz1490cqfO9K4yEGZAJB9XRVX1g2IWTOjae+0g9ZII+h91UngFz+Rz aKDeseKBbCGDOFXx1TqKiHl2g255ZnUxKYTlucFtguv4gDGBgEk4G9JaEWBw1IWblcKhxH7L 2vWsUhvwghjIxHdO/RkeIeHvSp4YZxCJ7a3TaJLYAlwYopfTKVzNhcDY5h5syEuoHjyJCxXK SyoJYAVu8Yl2KUhvOtOmL1VZ6xyHnpdMRWKJZ5jOwU0EZYxKtgEQANYfgbtUMVnhjxDHhWLp g5kLHK3YW0TfJKzpXqDB7NiqxHofn4OcbZnVC3MKggcbs9o1/UtsjnlsG8550PfiYkDXvPiO RJwgbGs6MGIDK797C6cnBLQ8xwBa9SL4cl5iQFnhWmt6vwnJ+an/cm5JpYves3wL7jV09qU9 57hkHXEUcl38r4FssZzVcLKPUVTa3Un+QGRTGDGe/f4ctjMaqv0ZCM+l2ixPhf/vqESrfSLv V/+T3dmtUfXjazO3SABvsHwxgGuTTYOlKoPCaebr+BRdqm0xeIShoIlhvTI8y4clchqx/Uxg UG5X2kvU13k3DS3Q8uLE4Et9x1CcZT6WGgBZSR6R0WfD0SDnzufNnRWJ0dEPA2MtJHE7+85R Vi9j/IgZV+y5Ur+bnPkjDG1s2SVciX5v9HQ0oilcBhvx0j5lGE9hhurD9F+fCvkr4KdbCknE 6Y8ce8pCNBUoB/DqibJivOzTk9K9MGB5x0De5TerIrFiaw3/mQC9nGeO9dtE7wvDJetWeoTq 4BEaCzpufNqbkpOaTQILr4V6Gp7M6v97g83TVAwZntz/q8ptwuKQPZ2JaSFLZn7oWUpYXA5s +SIODFHLn6iMoYpBQskHQjnj4lEPJadl4qj+ZKA89iDAKsniyoFXsbJe2CPbMS1yzBxKZq6K D/jpt7BOnuHr/JrXABEBAAHCwXYEGAEIACAWIQSCVjuE0GIO3A37hkE4l/LiLmWtPwUCZYxK tgIbDAAKCRA4l/LiLmWtP3jmEACQrh9gWe8F1Tkw3m6VoHKwLc5he4tX3WpQa//soPO6iGG3 S3WPruQ46NrAaAojoOcKI9UONDO5rxG0ZTX53S+lu2EO47jbcLwOCjaEpjKpDRt9ZXBQE8Xl mtBE9Bp3W9gpjB1nE3KNM1mJYgsK0QdRpwwfh4pVgGpOj8j23I6MCK+v99zEBnpgCn2GX8W/ kctRXHqWwndHysOJtRP/zrl7dDaABF1f9efUl0LL3TD3GJ9VDz+DNOin/uK2a1hiJo8QzTRk PpfUQ2ebzDsrd1i/pOWkMSkdH+rEu4AGrXWtaBwrMyrGkL6Icb6yO+P9/z0W2wlgBf3P1YRt JPgQt/Dj3yvA/UnaV/QmuVQPjl13o24UnJGsZM8XGnNdfWBKkC1Q6VXC4QT+dyBHYH9MuE9d 6oGl8pFM1+cTfEfbM62/rRoPkF1yHMsI/903VxEvuUIKfhEZAVLFyHldooNxuchntHQP9y8J 8Ou9bWYQP7MnEn+kwSwrZkjurfPkan+xQvp6dDYnj3V0GwA5pprBMaB928VIDVOv+1PNQI3t Cvk5VPv/skq+TJRMHW7bFSt8PRa91cUf1FOLIz9APDiJOzXkwxUEHGV3zPSaUhs1JYjyBeGT wDAvtLUdjOnRhEUOwlnIrztmvyciutjJoVzKEEjj5WXnHk9L9kQ1bpAjkjTONw== In-Reply-To: <6a2384df.3fa37.7254fe58@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 6/5/26 19:24, Colin Percival wrote: > 15.1: Update to RC2 That's *RC3*, of course. Sorry, it's May 36th and I'm a bit tired... -- Colin Percival FreeBSD Release Engineering Lead & EC2 platform maintainer Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From nobody Sat Jun 6 03:29:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXP130c43z6h3nZ for ; Sat, 06 Jun 2026 03:29: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXP124wmVz45Xp for ; Sat, 06 Jun 2026 03: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=1780716550; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rXQBKeZGyy9SE3XhGd/m0k5gdSIsoEqU231JPCbIGXk=; b=SjYYTv2XEst69bqnl46qRx5oOym2KDwSasNWlA2+d19ys7Ly6pg4NXKg5M6M65xe4X75Qd ogd+km3Zqq81iewrITyVOHriYsBCtiAReRnvd/YUwnut4103xaMXZ5e2J+fy9WyZHnT5pf RKhlzxM4efpAMCJzoaEobuxT8mBD14QcXb9m11s1h0Lecsbj61QvQDGRsgVKyC4u9r+5Yf +taekcNfY/aO8OLv4y2tKzOOGip2IldNcs0yYHBQEjSWefKRf8ooyF0xBkT+IJnUe4Ru/l y7cHxau4bLb16tsqj2d2h6sEPhPK7oywro2n32ze+wCS0Ov0FyhYUm2Jg+iD+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780716550; a=rsa-sha256; cv=none; b=oe9z5PMtSdhzizItYRkavrtiFX8pTgG1GrBd5nvypHJJzKpG11oUwARySDslbZaA5rlvfs ShHC5wpWaor4bYriLzJypnxuFArqxumL3O4T5EZZvmUtqIr/pR29vhNmMLa5k3PWRo8hFj Ef/X6NbFs0pDd2kp4ub60zPIrMKRhocO94lwbSg/td1/OL5pCKxedOgTuy6dC8aF6Y38kW VF+g4HIa9A//TjW9cv8uP7V2VixLrkcEzmVOd+zospsduU2DTsx8HhVl0c9lp0zHR2qsfZ qMFhyVDdscVlXoAcBbT8uKnm+ljwQJLcRCTVOSqT1oHoxjaqrLutADWOJsbi3w== 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=1780716550; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rXQBKeZGyy9SE3XhGd/m0k5gdSIsoEqU231JPCbIGXk=; b=acWWoXpj6214AP2BfkN3G3cDnn4/not2UNiJU/SbKTC3fBt7zhBZa9igaT3Iw6BTfLcKc/ H9XEtWmSUm1Zh396SY6mbIrlZO6ysi4cUvyPP9rUbXFlNFiJK1cGO+zqnfiqSNFEjnTRf3 hnnq/bd90zYVbRvllr6m+pDoDpd2sGbu1uiBv1zpJrmr5T9wG3UkutGhHOb6GQqoJvhHUW cAR3xiVeIzrnXQ11K2gO50h6fOakPc/xihBY4eAPxKz6LuJ3tUQKLPQFJlmcHGtEf858zw DtemlRJEMVqbtse+LzHt3iscLwuaEQVrt6cgmoFLNYxnfUYoQth8PYz4Xp+v6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXP124TxQzyPq for ; Sat, 06 Jun 2026 03:29:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45dbb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 03:29:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d53633bfcf24 - main - rename(2): do not allow to rename root vnode of the mounted filesystem List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d53633bfcf24a3eb3711e24b597aa8301f92b958 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 03:29:10 +0000 Message-Id: <6a239406.45dbb.7f54f054@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d53633bfcf24a3eb3711e24b597aa8301f92b958 commit d53633bfcf24a3eb3711e24b597aa8301f92b958 Author: Konstantin Belousov AuthorDate: 2026-06-04 19:56:36 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-06 03:28:28 +0000 rename(2): do not allow to rename root vnode of the mounted filesystem Check for tdvp being vp_crossmp. This cannot happen for the normal rename cases, but could if the target path specified by the syscall points to the nullfs mount over the regular file. In this case namei() cannot step over crossmp, and keep it in ni_dvp. Since crossmp VOP_GETWRITEMOUNT() returns NULL mp, we retry the locking dance since the belief is that NULL return is transient. PR: 295826 Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57453 --- sys/kern/vfs_lookup.c | 2 +- sys/kern/vfs_syscalls.c | 9 +++++++++ sys/sys/vnode.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index c1363c0104d3..5d66070ca142 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -113,7 +113,7 @@ SDT_PROBE_DEFINE4(vfs, namei, lookup, return, "int", "struct vnode *", "bool", uma_zone_t namei_zone; /* Placeholder vnode for mp traversal. */ -static struct vnode *vp_crossmp; +struct vnode *vp_crossmp; static int crossmp_vop_islocked(struct vop_islocked_args *ap) diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 71d37e08c65b..7ca7ccd582e1 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -3823,6 +3823,15 @@ again: } tdvp = tond.ni_dvp; tvp = tond.ni_vp; + if (tdvp == vp_crossmp) { + /* + * Rename of the root vnode of the mounted + * filesystem. It is possible to get there with the + * nullfs mount over the regular file. + */ + error = EBUSY; + goto out; + } if (tvp != NULL && (flags & AT_RENAME_NOREPLACE) != 0) { /* * Often filesystems need to relock the vnodes in diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 41b5e21fb879..99e90aa4187e 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -462,6 +462,7 @@ extern struct mount *rootdevmp; /* "/dev" mount */ extern u_long desiredvnodes; /* number of vnodes desired */ extern struct uma_zone *namei_zone; extern struct vattr va_null; /* predefined null vattr structure */ +extern struct vnode *vp_crossmp; extern u_int vn_lock_pair_pause_max; From nobody Sat Jun 6 03:29:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXP1701r1z6h3g4 for ; Sat, 06 Jun 2026 03:29: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXP165QjJz45Vq for ; Sat, 06 Jun 2026 03:29:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780716554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xHtEM8FuxyCiAfaKkiK50229qQJ+WLaaYO9WzX7HcL8=; b=GCfjVb3vGbCKaQmycmy8TYEYmscFPTl04RUdldj8/Tj6iuXKU6abcL1M9jUlUfW8Rt2oBd 6DuGINi2fh6j2g9YYyoUHEts7ds7fyTYVDbR8cf9sPbIzf+lQcAr4//D5KXPyJTI2M6aBK 20kkiXVsfLwV6o55IE+NQJnKLOn+ziMFgQb5mdJNnsbl30rBI9g5zeqH8qpbUHhcQgcE55 bnzRfsjWA5Fva5i2/Amo4Ff7+9fPMN2OF3MEhL9ASiAkmrycPtHerWQ/JG8NlU3H8tQ2ce r/Clz0miO4or+jjWK3HvobcEPGyMIODP13WRUq4dBpsCsXC7BhTGEtSQoRvm1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780716554; a=rsa-sha256; cv=none; b=GYvTamJhLlZ0CSNnWGX+maiIY4yvkM8mDrTwEqFr04ogJ/uCvqFtiDHs/ZA44coXpfGURK rLlZKMQePFm2CxTN6FoPTmznXrqQ6xkOwJO6te8Q9NJL5L6joBoNbClo7ZcHkEpYKaLC59 417HNaejjl23GwLtz82R6WkSq1+hM7SzJl21d6n+Grm0qPytjwF3ojdOK199V+0JEBMKHY dgMKdZrZmpJvEVhCAsLGZHqabzNgJv314RQPq3GQ9icRp3Z0ulFrMWM876m0ipXBd8jnEC AyoaXptka2jP25ZKKLRvEjHzqMlSd2GTV3NRBhlmh7N3o76fjTJpVvSmy+vV4w== 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=1780716554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xHtEM8FuxyCiAfaKkiK50229qQJ+WLaaYO9WzX7HcL8=; b=MWnV/njj5ssJHGl0t4I0BOzlJ+45EdIc5cGPMry8OY22K/LgUW67qR6Ypan5+XfSskTgq/ DMwwZnJRibkP/j4RXlEG4xLW+T2l/nyJ/NdDX8LJ4USc0imQ/UcEq54PHlmt5Ah/iYHlFa qYd5e3ZnPiFIoxU/X+x+kK4rJAj9hnEDNlPyT2sk1i3L0BupP8uoEIJSQnLZ0EqN//g1pI WskkQhqoh/1KT4v3bSNHu/Uy/VBdFX2KTV07VngB+lHpSRv7Ep1ZYu0tzwJ3dM+YFqF6Up tg0brh2GNXpuvu9Ig0/YuLb/5DruW8sMJR0Lb8Cl1VKWqwDkBW4NA3UClVVf5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXP164yNzzy9R for ; Sat, 06 Jun 2026 03:29:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45c53 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 03:29:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 5d0ebfe1d978 - main - renameat(2): when retrying, check for pending signals List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d0ebfe1d97801518755c7025f57ba7d5bf1c8db Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 03:29:09 +0000 Message-Id: <6a239405.45c53.5dc6dad9@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5d0ebfe1d97801518755c7025f57ba7d5bf1c8db commit 5d0ebfe1d97801518755c7025f57ba7d5bf1c8db Author: Konstantin Belousov AuthorDate: 2026-06-04 17:53:26 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-06 03:28:28 +0000 renameat(2): when retrying, check for pending signals The vn_start_write() call there is already interruptible. Check for user signals before restarting due to ERELOOKUP, or after failed vn_start_write(). Note that vn_start_write(V_XSLEEP | V_PCATCH) does not check for signals if not sleeping. PR: 295826 Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57453 --- sys/kern/vfs_syscalls.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 0c4eeb584d41..71d37e08c65b 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -3855,6 +3855,9 @@ again1: vfs_rel(tmp); tmp = NULL; } + error = sig_intr(); + if (error != 0) + return (error); error = vn_start_write(NULL, &mp, V_XSLEEP | V_PCATCH); if (error != 0) return (error); @@ -3937,8 +3940,11 @@ out: out1: if (error == ERESTART) return (0); - if (error == ERELOOKUP) - goto again; + if (error == ERELOOKUP) { + error = sig_intr(); + if (error == 0) + goto again; + } return (error); } From nobody Sat Jun 6 05:20:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXRTN13CCz6g00x; Sat, 06 Jun 2026 05:20:24 +0000 (UTC) (envelope-from kib@freebsd.org) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXRTM3ZgLz3JkK; Sat, 06 Jun 2026 05:20:23 +0000 (UTC) (envelope-from kib@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 6565K23s098382; Sat, 6 Jun 2026 08:20:05 +0300 (EEST) (envelope-from kib@freebsd.org) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 6565K23s098382 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 6565K10i098381; Sat, 6 Jun 2026 08:20:01 +0300 (EEST) (envelope-from kib@freebsd.org) X-Authentication-Warning: tom.home: kostik set sender to kib@freebsd.org using -f Date: Sat, 6 Jun 2026 08:20:01 +0300 From: Konstantin Belousov To: Andrew Turner Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Alex Arslan Subject: Re: git: 5cc3fa098856 - main - arm64: Add exception flag for ksiginfo_t and set in trapsignal Message-ID: References: <6a22f647.45cbd.33bd66e7@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6a22f647.45cbd.33bd66e7@gitrepo.freebsd.org> X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=4.0.2 X-Spam-Checker-Version: SpamAssassin 4.0.2 (2025-08-27) on tom.home X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Queue-Id: 4gXRTM3ZgLz3JkK X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Fri, Jun 05, 2026 at 04:16:07PM +0000, Andrew Turner wrote: > The branch main has been updated by andrew: > > URL: https://cgit.FreeBSD.org/src/commit/?id=5cc3fa098856cbb8de72d1027c838ef734030445 > > commit 5cc3fa098856cbb8de72d1027c838ef734030445 > Author: Alex Arslan > AuthorDate: 2026-03-19 23:30:03 +0000 > Commit: Andrew Turner > CommitDate: 2026-06-05 16:15:36 +0000 > > arm64: Add exception flag for ksiginfo_t and set in trapsignal > > The `ksiginfo_t` flag `KSI_TRAP` is set both for exceptions and when > copying between userspace and the kernel fails. In the latter case, the > exception syndrome register as captured in `struct trapframe` won't be > valid. That means we can't use `KSI_TRAP` to determine whether `tf_esr` > is valid. This motivates the addition of a new flag, here called > `KSI_EXCEPT`, for specifically identifying signals caused by exceptions. > It is added to `ksi_flags` via `trapsignal`. > > Signed-off-by: Alex Arslan > Reported by: andrew > Pull Request: https://github.com/freebsd/freebsd-src/pull/2053 > --- > sys/arm64/arm64/trap.c | 1 + > sys/sys/signalvar.h | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c > index 1178817108e5..3afeb34abd5f 100644 > --- a/sys/arm64/arm64/trap.c > +++ b/sys/arm64/arm64/trap.c > @@ -131,6 +131,7 @@ call_trapsignal(struct thread *td, int sig, int code, void *addr, int trapno) > ksi.ksi_code = code; > ksi.ksi_addr = addr; > ksi.ksi_trapno = trapno; > + ksi.ksi_flags |= KSI_EXCEPT; > trapsignal(td, &ksi); > } > > diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h > index 8f181b7beee6..9a4009d269af 100644 > --- a/sys/sys/signalvar.h > +++ b/sys/sys/signalvar.h > @@ -237,6 +237,7 @@ typedef struct ksiginfo { > #define KSI_SIGQ 0x08 /* Generated by sigqueue, might ret EAGAIN. */ > #define KSI_HEAD 0x10 /* Insert into head, not tail. */ > #define KSI_PTRACE 0x20 /* Generated by ptrace. */ > +#define KSI_EXCEPT 0x40 /* Generated by an exception. */ This bit is MD, its proper place is in struct trapframe. That is, trapframe should grow a flags field if it needs some additional information about validity of the members. This is how x86 arches handle its optional content like segment registers, segment bases, and FRED fields in uncommitted changes. I do not see why the MD bit should leak into the ksi. > #define KSI_COPYMASK (KSI_TRAP | KSI_SIGQ | KSI_PTRACE) > > #define KSI_ONQ(ksi) ((ksi)->ksi_sigq != NULL) From nobody Sat Jun 6 06:14:15 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgX3Sqpz6g4Z7 for ; Sat, 06 Jun 2026 06:14: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXSgX0Jc8z3SwD for ; Sat, 06 Jun 2026 06:14:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uysZqa2CJPAqqM1dGs0tsRcn/SINuJ683DuuH8nKZmo=; b=m5XgK+QjyIsDxB8OKHrg/OagOpkxMkvVTowwrB7fXZB4r4pDd0GW5v68PWLL0KiXvL24rK xIk6PcOHRTykKAs1TggzbZInZzcj4HP3ybaHv2QmxUvh9lRkNPuiIvIPXm+eF7Zqp1VV7O Wdz8EepgStBrXvruk0oHRRrWvUrPM6+jQycWnEL6+l7/clQsqoVAPl3xO8nc649aiqcSY7 7aX7bt+jRvgb0ux5W9ZgzuHQST0OCppknPjzHYJm77YAJs9akgNNQOjMayLLCB8pj29JxG aTTUajOeXVX/oEJjBkYhCELC1rCS73G4wv8fWqhnEBjzfT8rY8eARCfAuTZ6wA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726456; a=rsa-sha256; cv=none; b=dGqOfQCwi6HvHSWDmRh4/XU/UjIlmHXLkHAQhbIZAc95+O+o6XBpnGnYlSDp6p19Kf3wjq u1MUgaoJaR71Ti9ktGC6CFx0lThvTYEGQx1FqB1BXJC2EC9WgX7a8LbwvMpt8in8N8fIKU zOo82vKJNxGmPQUy1vHBiHL+l4eGrID09jmv6221cZ+9ixx4xdFVBi1G7WreERvtHzc1/k gklIGDJZ6DaMrw+10tiZbGYqTsMQy2rqwe1dQbjBEShqGgMOmqUuKwu4tKJrv9UtdCqUUF tuua/kD79iBUcDcEeLefp2bVtSIrQLQx1md/hb2aRsTNNyhRcSmaATxrIONxyw== 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=1780726456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uysZqa2CJPAqqM1dGs0tsRcn/SINuJ683DuuH8nKZmo=; b=jlVU1dysp+8YITyZrVVKjPm9GYfbkjZf44plMH9gxv7RySa6+LW52xcW8qDFc38xDNv8DK DnvfOZ2sOXRZih/aiFmNZhTJw73XUHammRGqFrOuymBcJVdlKSJ0zIBu8bBZIrVjuK2OIG gpFxaAxtLTNnrnnFv2EWfsM4LvXcFetCFOKk5BKf1n0rK3hiQinm37enJjBfVb4MS1tlAf IUvFfXfPGQs6UheZV9KSQeUVhXbVstQBnHmz3HEExpwQsMxHIcOcmFSE94S74osqIdXRtN UkI6996x/HP9VPlt8xBTElbNG8WCfPi8jDecL+NKqN2gkmm8aU2pPqa244zT4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgW6rmjz138Q for ; Sat, 06 Jun 2026 06:14:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27241 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 06:14:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: b56f029add48 - main - nuageinit: implement ca_certs support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b56f029add4825b21b2957f19ccfbb219a3f96cb Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 06:14:15 +0000 Message-Id: <6a23bab7.27241.13363247@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=b56f029add4825b21b2957f19ccfbb219a3f96cb commit b56f029add4825b21b2957f19ccfbb219a3f96cb Author: Baptiste Daroussin AuthorDate: 2026-06-05 20:27:07 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 20:27:07 +0000 nuageinit: implement ca_certs support Add support for the 'ca_certs' cloud-config key which manages CA certificates by writing them to /etc/ssl/certs/ and running certctl rehash. --- libexec/nuageinit/nuageinit | 20 ++++++++++++++++++++ libexec/nuageinit/nuageinit.7 | 17 +++++++++++++++++ libexec/nuageinit/tests/nuageinit.sh | 30 ++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 19681b54810f..f5a018a00793 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -568,6 +568,25 @@ local function ntp(obj) f:close() end +local function ca_certs(obj) + if obj.ca_certs == nil then return end + local trusted = obj.ca_certs.trusted + if trusted == nil or #trusted == 0 then return end + local certdir = root .. "/etc/ssl/certs" + nuage.mkdir_p(certdir) + for i, cert in ipairs(trusted) do + local certpath = certdir .. "/nuageinit-" .. i .. ".pem" + local f = io.open(certpath, "w") + if f then + f:write(cert .. "\n") + f:close() + else + warnmsg("unable to write " .. certpath) + end + end + os.execute("certctl rehash 2>/dev/null") +end + local function ssh_deletekeys(obj) if obj.ssh_deletekeys == nil then return end if obj.ssh_deletekeys then @@ -947,6 +966,7 @@ if line == nil then -- YAML user-data elseif line == "#cloud-config" then local pre_network_calls = { + ca_certs, mounts, bootcmd, sethostname, diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index ae8e9446bde5..fcccf1bef4f0 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -258,6 +258,23 @@ to skip NTP configuration. Alternatively, .Ic ntp can be a list of server addresses (legacy format). +.It Ic ca_certs +An object managing CA certificates. +.Pp +The following keys are recognized: +.Bl -tag -width "remove_defaults" +.It trusted +A list of PEM-encoded CA certificates to add to the system trust store. +Certificates are written to +.Pa /etc/ssl/certs/ +and +.Xr certctl 8 +rehash is executed. +.It remove_defaults +Boolean, if +.Ar true , +remove the default CA certificates. +.El .It Ic timezone Sets the system timezone based on the value provided. .Pp diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 63366f79486a..8f746599f14f 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -39,6 +39,7 @@ atf_test_case config2_userdata_resolv_conf atf_test_case config2_userdata_keyboard atf_test_case config2_userdata_ssh_authkey_fingerprints atf_test_case config2_userdata_ntp +atf_test_case config2_userdata_ca_certs atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files @@ -1245,6 +1246,34 @@ EOF true } +config2_userdata_ca_certs_head() +{ + atf_set "require.user" root +} +config2_userdata_ca_certs_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + printf "{}" > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data <<'EOF' +#cloud-config +ca_certs: + trusted: + - | + -----BEGIN CERTIFICATE----- + dGVzdGNlcnQx + -----END CERTIFICATE----- + - | + -----BEGIN CERTIFICATE----- + dGVzdGNlcnQy + -----END CERTIFICATE----- +EOF + atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2 + atf_check -o match:"dGVzdGNlcnQx" cat etc/ssl/certs/nuageinit-1.pem + atf_check -o match:"dGVzdGNlcnQy" cat etc/ssl/certs/nuageinit-2.pem + true +} + config2_userdata_fqdn_and_hostname_body() { mkdir -p media/nuageinit @@ -1299,6 +1328,7 @@ atf_init_test_cases() atf_add_test_case config2_userdata_keyboard atf_add_test_case config2_userdata_ssh_authkey_fingerprints atf_add_test_case config2_userdata_ntp + atf_add_test_case config2_userdata_ca_certs atf_add_test_case config2_userdata_fqdn_and_hostname atf_add_test_case config2_userdata_write_files } From nobody Sat Jun 6 06:14:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgY3fPvz6g55C for ; Sat, 06 Jun 2026 06:14: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXSgY10rFz3TNM for ; Sat, 06 Jun 2026 06:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vKipYYYp8QUPprKgIyf5jm8kI+57CIXhnpIpFLRDi40=; b=Cut10onpN5y7fnRoRf6ojMI65+lLhoOKVao+m+NsGtyeGGjfayN85oF99pEGhJYQMWfKJV 9EoaOFTsscATBiq1c2vzxxP4SfTJvG/wofW2/IkUu6GxJYXUb+FPJqAfSZ7117m5DoVzGi eZeY77YLv897LGv1gX37Sbm2oxiSCfMxovJsbnKnZ2C81JAv0/fqDSOzDuoKVw0SJ/65XT mnhBDV92aDU/31iVFQNDInRGNW59NJm02V7AnNm6uwQXCIA8d4s4neP4NdGVkbEm5v5lpe cQczjIMBcVKetunZ49gv33qxwLR3OgDUApyXDJIQozxI9hKRmzWD5EhMPGBsLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726457; a=rsa-sha256; cv=none; b=hYOzig5HsMZma17l2rCHlIegzXZkspgYdJgmtABsjCpfV/7Vbqa+vk2Em//aDqCNCCM5jU GKJNA/PqaYcGE1MOX/sSsArG22Y9WIOYTf0WmFoXc4g0bdsxdf5avH0v1FymSl8Ap821gC laO0oq/p6N5GpqoAxzzgBPh7Nj16dkLFL6g5Z2QZ9/4G7vDcfxTFb3sbXR831SjzDMO5/n D8B2KPi7cH+NPL/0ok1QPS6wa5qVGigFACTYNkupU5ig8tlcqITCpUdNeSRvwD1jx24DGA nITD5U6zcTCgvgYxxu4gKEByL/U8KXDqv7DAImEH94XMNDB5R8BFqs9oYDWWOw== 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=1780726457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vKipYYYp8QUPprKgIyf5jm8kI+57CIXhnpIpFLRDi40=; b=wvqwzYyTj7dMLWXQg8V72qzgOVNtuu4YQmmAqrUVgEuQbFgS4WW8nZArwAeNhX60ErPHZl hN3jNKh5mpgMYEvpFIPr9CB5yZnZAa/nDNicgHhUJXF7gW5Y91jfg01NmUaW0gBj43c2b0 a1CXjttA1IBSA5AE8T1haVOpiiTrOlalCrfuuj22QeqyJbcG7HUTCW579+BG5kUFrL7UHW jD7gjJ9fMtTlLWGlvPfaW/iqfSFD/IM6XUmG6HgWdg9CWhvtq/+OGkTpIaJ8Bx2tRpqlc2 /hDwncEZ1gUw/d5r3LA+tyQ2wnZDwCMMnvgNY3sR0ghqdr3ReFxWOw1YTxp/Xw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgY06xfz13P2 for ; Sat, 06 Jun 2026 06:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26af4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 06:14:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: be711ade6f66 - main - nuageinit: implement MIME multipart user-data support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: be711ade6f66506fb2cae9fd33b142ce910f0346 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 06:14:17 +0000 Message-Id: <6a23bab9.26af4.37e5a0c6@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=be711ade6f66506fb2cae9fd33b142ce910f0346 commit be711ade6f66506fb2cae9fd33b142ce910f0346 Author: Baptiste Daroussin AuthorDate: 2026-06-05 20:45:54 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 20:45:54 +0000 nuageinit: implement MIME multipart user-data support Add support for MIME multipart/mixed user-data, allowing a single user-data blob to contain multiple parts with different content types. --- libexec/nuageinit/nuage.lua | 45 ++++++++++++++++++++++++++++++++++++ libexec/nuageinit/nuageinit | 38 ++++++++++++++++++++++++++++++ libexec/nuageinit/nuageinit.7 | 14 +++++++++++ libexec/nuageinit/tests/nuageinit.sh | 35 ++++++++++++++++++++++++++++ 4 files changed, 132 insertions(+) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 7fde2d936f1b..6cef5d2dd904 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -896,6 +896,50 @@ local function remove_fstab_entry(root, mount_point) nf:close() end +local function parse_mime_multipart(data) + local boundary = data:match("boundary=\"([^\"]+)\"") + if not boundary then + boundary = data:match("boundary=([^%s;]+)") + end + if not boundary then + return nil + end + local parts = {} + local pos = data:find("\n") or 1 + local first = data:find("--" .. boundary, pos, true) + if not first then + return nil + end + pos = data:find("\n", first) + if not pos then return nil end + pos = pos + 1 + while true do + local nextb = data:find("--" .. boundary, pos, true) + if not nextb then break end + local part = data:sub(pos, nextb - 1) + part = part:gsub("^\r?\n", ""):gsub("\r?\n$", "") + local header_end = part:find("\r?\n\r?\n") + local headers_str, body + if header_end then + headers_str = part:sub(1, header_end - 1) + body = part:sub(header_end + 2):gsub("^\r?\n", ""):gsub("\r?\n$", "") + else + body = part + end + local ct = "text/plain" + if headers_str then + local m = headers_str:match("[Cc]ontent%-[Tt]ype:%s*([^%s;]+)") + if m then ct = m:lower() end + end + table.insert(parts, {content_type = ct, body = body}) + local after = data:sub(nextb + 2 + #boundary, nextb + 3 + #boundary) + if after == "--" then break end + pos = data:find("\n", nextb) or nextb + if pos then pos = pos + 1 end + end + return parts +end + local n = { shell_escape = shell_escape, warn = warnmsg, @@ -923,6 +967,7 @@ local n = { add_fstab_entry = add_fstab_entry, remove_fstab_entry = remove_fstab_entry, write_resolv_conf = write_resolv_conf, + parse_mime_multipart = parse_mime_multipart, } return n diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index f5a018a00793..bd72f02d4503 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -915,6 +915,44 @@ local function load_userdata() f:close() return end + if line:match("^Content%-Type: multipart/") then + local rest = f:read("*a") + f:close() + local full = line .. "\n" .. rest + local parts = nuage.parse_mime_multipart(full) + if parts then + local cc_body = nil + for _, p in ipairs(parts) do + if p.content_type == "text/cloud-config" then + cc_body = p.body + elseif p.content_type:match("x%-shellscript") or p.content_type:match("x%-sh") then + if citype ~= "postnet" then + nuage.mkdir_p(root .. "/var/cache/nuageinit") + local spath = root .. "/var/cache/nuageinit/multipart_script" + local sf = io.open(spath, "w") + if sf then + sf:write(p.body .. "\n") + sf:close() + nuage.chmod(spath, "0755") + end + end + end + end + if cc_body then + local obj = yaml.load(cc_body) + if obj then + if citype ~= "postnet" then + nuage.mkdir_p(root .. "/var/cache/nuageinit") + local tof = assert(io.open(root .. "/var/cache/nuageinit/user_data", "w")) + tof:write("#cloud-config\n" .. cc_body) + tof:close() + end + return "#cloud-config", obj + end + end + end + return nil, nil + end if citype ~= "postnet" then local content = f:read("*a") if not content or #string.gsub(content, "^%s*(.-)%s*$", "%1") == 0 then diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index fcccf1bef4f0..b4be4e4b2d58 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -551,6 +551,20 @@ A boolean to specify that the files should be created after the packages are installed and the users are created. .El .El +.Pp +Additionally, user-data can be provided as a MIME multipart message +with content type +.Qq multipart/mixed . +Each part is handled according to its +.Qq Content-Type +header. +Supported part types: +.Bl -tag -width "text/x-shellscript" +.It text/cloud-config +Processed as a cloud-config YAML document. +.It text/x-shellscript +Saved as an executable script for later execution. +.El .Sh EXAMPLES Here is an example of a YAML configuration for .Nm : diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 8f746599f14f..4b751dd2ca43 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -40,6 +40,7 @@ atf_test_case config2_userdata_keyboard atf_test_case config2_userdata_ssh_authkey_fingerprints atf_test_case config2_userdata_ntp atf_test_case config2_userdata_ca_certs +atf_test_case config2_userdata_multipart atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files @@ -1274,6 +1275,39 @@ EOF true } +config2_userdata_multipart_head() +{ + atf_set "require.user" root +} +config2_userdata_multipart_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + printf "{}" > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data <<'EOF' +Content-Type: multipart/mixed; boundary="==BOUNDARY==" + +--==BOUNDARY== +Content-Type: text/cloud-config; charset="us-ascii" + +#cloud-config +hostname: multipart-host + +--==BOUNDARY== +Content-Type: text/x-shellscript + +#!/bin/sh +echo "multipart script executed" + +--==BOUNDARY==-- +EOF + atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2 + atf_check -o inline:"hostname=\"multipart-host\"\n" cat etc/rc.conf.d/hostname + atf_check -o inline:"#!/bin/sh\necho \"multipart script executed\"\n" cat var/cache/nuageinit/multipart_script + test -x var/cache/nuageinit/multipart_script || atf_fail "multipart_script not executable" + true +} + config2_userdata_fqdn_and_hostname_body() { mkdir -p media/nuageinit @@ -1329,6 +1363,7 @@ atf_init_test_cases() atf_add_test_case config2_userdata_ssh_authkey_fingerprints atf_add_test_case config2_userdata_ntp atf_add_test_case config2_userdata_ca_certs + atf_add_test_case config2_userdata_multipart atf_add_test_case config2_userdata_fqdn_and_hostname atf_add_test_case config2_userdata_write_files } From nobody Sat Jun 6 06:14:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgZ5Cl3z6g4wn for ; Sat, 06 Jun 2026 06:14: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXSgZ1rXvz3Sxn for ; Sat, 06 Jun 2026 06:14:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zim8Dcg2RC5Qhasa2gCd2U2PwWYyTj3Jj8CVQUaBIto=; b=wDMUxXXwfa5aa0MzQpn6Zgv/JQ/DEPrYcpoFnI7ML3FuKkCs/UEiInWRyCO9aZhjoq8kuf P2w1E35XRpwyczcaMBpd7d2WW/DfpAEWZw/VGN66yZwmtpO6TsyeuO91O40hjg6ek9XB1t j1uYsS07m2yKCXkcAgSIIHnkFiEVKbu35YeBH48uEHAJzSZD51gNmcZIOoLgoaFNwJo6jl 0RKyrBzUz9K5QecoMWYjsHRXPxH+/16CwrRB0go3m3IvRKPg7j4PqDYqD4nCv+g+Q/X7Ft MfbgCYamclZOrE0XXC7d3AgVbQ3pfuy5xL/chhQfaLmfwEEBJMPVKx/ZDmvxag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726458; a=rsa-sha256; cv=none; b=yWRTDy1oA3L23AXOlIU4YEgWAoABHH9CZyKVd510ZFHCkIBrEyuH/j6j7ls6zfu9A+5w5H 6sheWSR3cDBOiQXVygoYt14xN9Br93BYsM1gUdJag0vj2/Sg//UGWwwU7nVTdC6wfhc/fO KB+vAJM9GG1Sfd9qCcLoUcR3/ovbQDwLl2nwoQ0Wuv6r3YOmIT4BrM/MVNxjufHJqXubj/ dn3CCqDbP11534yjKoqcUg+ey0HG3fNchCE9Nab69Q18eXkvvMqW30lgMMW/Y1Veo0AGBz K4G1O1Hit/JIGN7c3FaT/X3GXu1eNYyXD6wJQaZK+wOVS2PA2Sa9wcfmh5GBxw== 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=1780726458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zim8Dcg2RC5Qhasa2gCd2U2PwWYyTj3Jj8CVQUaBIto=; b=sL+2X6T1FUyQub5KJhwwAZxcz8J/D/XcqvJqOvh3t8dfeY/Q4QQyvkI1KygGR36q4FV7Sv G4cem5C4qRHjpp/G/9/Oe7WPqow8GJTgCbcYapg3Ep6mYIyRYRc9UobBfu3W0verivkZ63 vuygwE3wOn44Exmg1KXokTMyimHmeSRremoWNODg70qnpACuD6/t/5quEmeNpNfI09d9uw p94QMWOmHnfXaOE8KCR9/lmXliUgSykhLr6N6XTfcFYym/1QOvJHGS27Ak33XHF3QpqPZt sGaSXyy63WBHSFfKjzSSZb9DXP//ENtmbJiDlDfxbkgKuE+icAjWGw7+CPNqPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgZ0zCpz13jL for ; Sat, 06 Jun 2026 06:14:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2757f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 06:14:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 328a76d17f85 - main - nuageinit: implement power_state_change and locale support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 328a76d17f85ff6aa6228035c4c4b989eb7534f8 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 06:14:18 +0000 Message-Id: <6a23baba.2757f.6cff3de7@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=328a76d17f85ff6aa6228035c4c4b989eb7534f8 commit 328a76d17f85ff6aa6228035c4c4b989eb7534f8 Author: Baptiste Daroussin AuthorDate: 2026-06-05 20:48:18 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 20:48:18 +0000 nuageinit: implement power_state_change and locale support --- libexec/nuageinit/nuageinit | 61 ++++++++++++++++++++++++++++++++++++ libexec/nuageinit/nuageinit.7 | 49 +++++++++++++++++++++++++++++ libexec/nuageinit/tests/nuageinit.sh | 56 +++++++++++++++++++++++++++++++++ 3 files changed, 166 insertions(+) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index bd72f02d4503..8a9c5c022862 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -637,6 +637,28 @@ local function keyboard(obj) f:close() end +local function locale(obj) + if obj.locale == nil then return end + local root = os.getenv("NUAGE_FAKE_ROOTDIR") + if not root then root = "" end + local profile_path = root .. "/etc/profile" + local f = io.open(profile_path, "a") + if not f then + nuage.warn("unable to open " .. profile_path .. " for writing") + return + end + if type(obj.locale) == "string" then + f:write("export LANG=" .. obj.locale .. "\n") + elseif type(obj.locale) == "table" then + for k, v in pairs(obj.locale) do + f:write("export " .. k .. "=" .. v .. "\n") + end + else + nuage.warn("locale: invalid type " .. type(obj.locale) .. ", expecting string or object") + end + f:close() +end + local function mounts(obj) if obj.mounts == nil then return end for _, m in ipairs(obj.mounts) do @@ -725,6 +747,43 @@ local function packages(obj) end end +local function power_state_change(obj) + if obj.power_state == nil then return end + local ps = obj.power_state + local delay = ps.delay or "now" + local mode = ps.mode or "poweroff" + local message = ps.message + local condition = ps.condition + if condition == nil then condition = true end + + -- Evaluate condition + if condition == false then return end + if type(condition) == "string" then + local ret = os.execute(condition) + if not ret then return end + end + + -- Map mode to shutdown flag + local mode_map = {poweroff = "p", reboot = "r", halt = "h"} + local flag = mode_map[mode] + if not flag then + nuage.warn("power_state: invalid mode '" .. mode .. "', using poweroff") + flag = "p" + end + + -- Build shutdown command + local cmd = "shutdown -" .. flag .. " " .. delay + if message then + cmd = cmd .. " " .. nuage.shell_escape(message) + end + + if os.getenv("NUAGE_RUN_TESTS") then + print(cmd) + return + end + os.execute(cmd) +end + local function chpasswd(obj) if obj.chpasswd == nil then return end nuage.chpasswd(obj.chpasswd) @@ -1018,6 +1077,7 @@ elseif line == "#cloud-config" then network_config, resolv_conf, keyboard, + locale, disable_root, ssh_pwauth, runcmd, @@ -1030,6 +1090,7 @@ elseif line == "#cloud-config" then users, chpasswd, write_files_deferred, + power_state_change, } local calls_table = pre_network_calls diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index b4be4e4b2d58..6d0f8ae2f41c 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -212,6 +212,16 @@ A list of IP/netmask sortlist entries. .It options A dictionary of resolver options. .El +.It Ic locale +Set the system locale by appending +.Qq Cm export +statements to +.Pa /etc/profile . +.Pp +If the value is a string, it is used as the +.Dq Cm LANG +value. +If the value is an object mapping, each key-value pair is exported. .It Ic keyboard An object configuring the keyboard layout. .Pp @@ -442,6 +452,45 @@ List of packages to be installed. Update the remote package metadata. .It Ic package_upgrade Upgrade the packages installed to their latest version. +.It Ic power_state +An object controlling the power state of the instance after configuration. +The following keys are recognized: +.Bl -tag -width "condition" +.It Ic delay +Time to wait before the action. +Can be +.Qq now +or a time accepted by +.Xr shutdown 8 +(e.g., +.Qq +5 +for five minutes). +Defaults to +.Qq now . +.It Ic mode +The action to take: +.Qq poweroff , +.Qq reboot , +or +.Qq halt . +Defaults to +.Qq poweroff . +.It Ic message +Optional message to display to users. +.It Ic timeout +Not supported on +.Fx , +silently ignored. +.It Ic condition +Boolean or command string. +If +.Qq false , +the action is skipped. +If a string, it is run as a command; the action is only taken if the command +succeeds. +Defaults to +.Qq true . +.El .It Ic users Specify a list of users to be created: .Bl -tag -width "ssh_authorized_keys" diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 4b751dd2ca43..21cd2e8f17c5 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -41,6 +41,8 @@ atf_test_case config2_userdata_ssh_authkey_fingerprints atf_test_case config2_userdata_ntp atf_test_case config2_userdata_ca_certs atf_test_case config2_userdata_multipart +atf_test_case config2_userdata_power_state +atf_test_case config2_userdata_locale atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files @@ -1308,6 +1310,58 @@ EOF true } +config2_userdata_power_state_head() +{ + atf_set "require.user" root +} +config2_userdata_power_state_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + export NUAGE_RUN_TESTS=1 + printf "{}" > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data < media/nuageinit/meta_data.json + cat > media/nuageinit/user_data < media/nuageinit/user_data <; Sat, 06 Jun 2026 06:14: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXSgb218vz3TLP for ; Sat, 06 Jun 2026 06:14:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Qe3MudVsc0Mhy0sQH8XDMKhZubG0fZCVRn++y3g4dY=; b=XLHxH3r/2AM49Bc0FsQnBHHcxZIldeYuIvJ2gysijy3k4iLBZ1H//luVh+eIlqobRVgPpz xPWOMwsY+2GCPRBDgHt0/uzEB0G8Bvg9ze18TDehNJcaytoFQ6BAMZlu6FG9/rMauiqSJa bM7NFvr7KTMscnCtjmTO5KAepGT9dmq875hB+a66cnEj2lvKHeF3p6cmdMZJHWgKq3H/ux JffZTRMCxPwfPFHB8r+f8jEvFNV/hfuUKDGBipb27rzPH3B5AWlnSiLeAtIai+Die7s8e6 ZG5fQPaKHNU+G7KQq2ygFr9itgzKGHXTkb5d4fIIoKgwo2Va4UBdjbwTvdqx7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726459; a=rsa-sha256; cv=none; b=FlS2pQfO3fefmQ2JO3UHVpM4zSZQdqgj+6gyieuGmO/xXTpot83S+w6LNwWDYlzjdmGyiM qb+FGLxS3ZOZLj82vrQoSyE/L4g2/yTo17WgQsOl0imIAAw0C5Uj53nkTqCNLGbxc5wP7E 5lghutCzi+uxVIc+ojf9XKmPT2vsa/AqRLKPL0fyX3hpJesOilsbzfZa6gr4amex6oldNa /w2jUGJkSl+iGNKEBb2D/lMGxw30P+MH6WVDJELZNxWg7f5N+6xMK9k2IFsD/BdtI/l52/ KAnVHgzjE49TQhzUF1RX653RziifmdSUtvcn/fX5eBFLHzdFkvVU1GB62H6t9Q== 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=1780726459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Qe3MudVsc0Mhy0sQH8XDMKhZubG0fZCVRn++y3g4dY=; b=sAXOSGLTmWf3I80Ui0jn2djstO+luwjN2BtPaLYdhwYj+b8uMKnAIy2dwQNIFgZYLPYeNf FqsG6xcYxqh54LstZieOFGZCdiGQgT/lVe+5AbOmezaJhlzmYc1cXVCY6IdMVikTZyzE88 2GdL2RCWUvUaa1A7ZcEuTGsBYsRWMXmHcGT8AuaG1ZwjBxioyfePInVeboJANMKrvYuS0/ 6m/egRdLEMp2BpoTI/V15v8wkcrpxjGn0hwfvLKj1ZmWlUYwDmf2r8W2+hOuPd83gXMY+k cHlYUn3TwYl7ruFZZb+Xu49UiMG3iw7QwvLubn4GdQ/lcWm/ILI5GkmmGhfqMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgb1cNWz13d5 for ; Sat, 06 Jun 2026 06:14:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30d82 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 06:14:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 71e8122b3f6e - main - nuage.lua: add encode_base64 helper List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71e8122b3f6efdaac23ac219312dfe270731b495 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 06:14:19 +0000 Message-Id: <6a23babb.30d82.4b09da57@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=71e8122b3f6efdaac23ac219312dfe270731b495 commit 71e8122b3f6efdaac23ac219312dfe270731b495 Author: Baptiste Daroussin AuthorDate: 2026-05-07 21:53:04 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-06 06:01:48 +0000 nuage.lua: add encode_base64 helper --- libexec/nuageinit/nuage.lua | 30 ++++++++++++++++++++++++++++++ libexec/nuageinit/tests/nuageinit.sh | 20 ++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 6cef5d2dd904..3f614dba2b22 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -55,6 +55,35 @@ local function decode_base64(input) return table.concat(result) end +local function encode_base64(input) + if input == nil or #input == 0 then + return "" + end + local b = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + local result = {} + local pos = 1 + local padding = "" + while pos <= #input do + local a = string.byte(input, pos) + local bb = pos + 1 <= #input and string.byte(input, pos + 1) or 0 + local c = pos + 2 <= #input and string.byte(input, pos + 2) or 0 + table.insert(result, string.sub(b, math.floor(a / 4) + 1, math.floor(a / 4) + 1)) + table.insert(result, string.sub(b, math.floor(a % 4 * 16 + bb / 16) + 1, math.floor(a % 4 * 16 + bb / 16) + 1)) + if pos + 1 <= #input then + table.insert(result, string.sub(b, math.floor(bb % 16 * 4 + c / 64) + 1, math.floor(bb % 16 * 4 + c / 64) + 1)) + else + table.insert(result, "=") + end + if pos + 2 <= #input then + table.insert(result, string.sub(b, math.floor(c % 64) + 1, math.floor(c % 64) + 1)) + else + table.insert(result, "=") + end + pos = pos + 3 + end + return table.concat(result) +end + local function shell_escape(s) return "'" .. string.gsub(s, "'", "'\\''") .. "'" end @@ -964,6 +993,7 @@ local n = { addsudo = addsudo, adddoas = adddoas, addfile = addfile, + encode_base64 = encode_base64, add_fstab_entry = add_fstab_entry, remove_fstab_entry = remove_fstab_entry, write_resolv_conf = write_resolv_conf, diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 21cd2e8f17c5..c3c75949da65 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -45,6 +45,7 @@ atf_test_case config2_userdata_power_state atf_test_case config2_userdata_locale atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files +atf_test_case config2_userdata_encode_base64 setup_test_adduser() { @@ -1382,6 +1383,24 @@ EOF atf_check -o inline:"hostname=\"host\"\n" cat ${PWD}/etc/rc.conf.d/hostname } +config2_userdata_encode_base64_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + atf_check -o inline:"dGVzdA==\n" \ + /usr/libexec/flua -e "print(require('nuage').encode_base64('test'))" + atf_check -o inline:"dA==\n" \ + /usr/libexec/flua -e "print(require('nuage').encode_base64('t'))" + atf_check -o inline:"dGU=\n" \ + /usr/libexec/flua -e "print(require('nuage').encode_base64('te'))" + # Roundtrip test + atf_check -o inline:"hello world\n" \ + /usr/libexec/flua -e "print(require('nuage').decode_base64(require('nuage').encode_base64('hello world')))" + # Empty input + atf_check -o inline:"\n" \ + /usr/libexec/flua -e "print(require('nuage').encode_base64(''))" +} + atf_init_test_cases() { atf_add_test_case args @@ -1422,4 +1441,5 @@ atf_init_test_cases() atf_add_test_case config2_userdata_locale atf_add_test_case config2_userdata_fqdn_and_hostname atf_add_test_case config2_userdata_write_files + atf_add_test_case config2_userdata_encode_base64 } From nobody Sat Jun 6 06:14:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgc1Kdgz6g55L for ; Sat, 06 Jun 2026 06:14: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXSgc03vjz3T8f for ; Sat, 06 Jun 2026 06:14:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=27KvJblbYv3sUi88xC5thSOslVf8R4O8laEcEa2cf1w=; b=DhORaTDwO4Pp3pZnTk/rHklvcSlzlLQtBLetGEO1U9hgeAqN0NfYIEJ3ngKWBIl5AyAt/1 XBoO7ov2rzwStBEoXnVtU29aBGJ5om4AlMADXhjKgQQX2g2KGMkO2bPtk3K8inS35O5qGz ZAgBVMeVVYTTiKjZ8KOZ1MnR0Rp5ebfZF3vN89q3pte1+CG++DLdfLokQpmRFZblHTnhG4 l/5NsRnL72teg5KJ1e+ev3Tj/moZNaoo6iCuoC6ygkGkynq3BldcqqhhZxgXqOs/K03jkh BZqVaEkF8kmJr5Cx5L2Krr6PGl1tYIvGHM+Mr/4YPusby8+hC7jBIJtrWb/UFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726460; a=rsa-sha256; cv=none; b=MtDN7ns8CV7pDVHyCzjIqO+5EfGPptlhMcXAPnODLxMiFKoQnel0mSbNYnNm16XHjl7x7h ftMF87iPN71DufNfb6132fuxX7MHiqDs3WKOBLxUzCYKDJMX3MfILfXlBTZHuYCfsuV2zp Ozlql9tu9xZHJaSsG0HodfMkUrXBV3Woj+yNfElf6D0lX2KcIcZbdU4/+D7q03EhuuprsU +OlkdvCjXPj9Kvi67ah00vdj9qIiK9IrUFtCrObdbitDBRTf6cKT0iiR6QgN/zC9WRf/P8 ZJnkJqMlQ0LFLWZ9ANGIL6mbHxPxaHg2kbydC3G8ZATOQFD2Z4v7Es0NDikjkA== 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=1780726460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=27KvJblbYv3sUi88xC5thSOslVf8R4O8laEcEa2cf1w=; b=VMr38xXMTGxAawetDCGX5BBcPFDJk8XggQSBa77UKq/pD3xFkYvasnPb1WBADXdd6sfLnB rU6F9oiFFGeTmJdz4fb3t2OaBVhWg2yHnsiFgULv0wyarko32yy3SfmhSXQpT0hgbnJb61 goe+abaatilrQWac2B33c3T6BUlSZl4kcSTOkhB9ZDxkKFdMNYcMgX7490ff7VG1ySzR9S k5RYyxz06sOoK/uNZZ0LwEWa2B90ep7o4uffV6Ex7cGCiMpXvM/iPvQ1VFSGDvwegiszfN ZkItLqRrd8hQGd3n7BiSoblF7o2e8DegmKTq+EvbFPxoBLaYnmYHaKp0arR58w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgb69Mpz13jP for ; Sat, 06 Jun 2026 06:14:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 300e6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 06:14:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 6d27d52ccd35 - main - nuageinit: implement ntp support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6d27d52ccd35d1980e99bc2fc4dae602334d28af Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 06:14:14 +0000 Message-Id: <6a23bab6.300e6.268fc11e@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=6d27d52ccd35d1980e99bc2fc4dae602334d28af commit 6d27d52ccd35d1980e99bc2fc4dae602334d28af Author: Baptiste Daroussin AuthorDate: 2026-06-05 20:25:29 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 20:25:29 +0000 nuageinit: implement ntp support Add support for the 'ntp' cloud-config key which configures NTP by writing /etc/ntp.conf with server and pool entries. --- libexec/nuageinit/nuageinit | 37 ++++++++++++++++++++++++++++++++++++ libexec/nuageinit/nuageinit.7 | 21 ++++++++++++++++++++ libexec/nuageinit/tests/nuageinit.sh | 28 +++++++++++++++++++++++++++ 3 files changed, 86 insertions(+) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 8e2658f2cd13..19681b54810f 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -532,6 +532,42 @@ local function ssh_authkey_fingerprints(obj) end end +local function ntp(obj) + if obj.ntp == nil then return end + if type(obj.ntp) == "table" and obj.ntp.enabled == false then + return + end + local servers = {} + if type(obj.ntp) == "table" then + if obj.ntp[1] then + servers = obj.ntp + else + for _, s in ipairs(obj.ntp.servers or {}) do + table.insert(servers, "server " .. s .. " iburst") + end + for _, p in ipairs(obj.ntp.pools or {}) do + table.insert(servers, "pool " .. p .. " iburst") + end + end + elseif type(obj.ntp) == "string" then + table.insert(servers, "server " .. obj.ntp .. " iburst") + end + if #servers == 0 then return end + local path = root .. "/etc/ntp.conf" + local f = io.open(path, "w") + if not f then + warnmsg("unable to open " .. path .. " for writing") + return + end + for _, line in ipairs(servers) do + f:write(line .. "\n") + end + f:write("leapfile /var/db/ntpd.leap-seconds.list\n") + f:write("restrict default limited kod nomodify notrap nopeer noquery\n") + f:write("restrict source limited kod nomodify notrap noquery\n") + f:close() +end + local function ssh_deletekeys(obj) if obj.ssh_deletekeys == nil then return end if obj.ssh_deletekeys then @@ -931,6 +967,7 @@ elseif line == "#cloud-config" then } local post_network_calls = { + ntp, packages, users, chpasswd, diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 200eb2524fe6..ae8e9446bde5 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -237,6 +237,27 @@ Boolean which determines whether fingerprints of SSH host keys should be logged to the console. Defaults to .Ar false . +.It Ic ntp +An object configuring the NTP daemon by writing +.Pa /etc/ntp.conf . +.Pp +The following keys are recognized: +.Bl -tag -width "enabled" +.It servers +A list of NTP server addresses. +.It pools +A list of NTP pool addresses. +.It enabled +Boolean, defaults to +.Ar true . +Set to +.Ar false +to skip NTP configuration. +.El +.Pp +Alternatively, +.Ic ntp +can be a list of server addresses (legacy format). .It Ic timezone Sets the system timezone based on the value provided. .Pp diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 44c681e18046..63366f79486a 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -38,6 +38,7 @@ atf_test_case config2_userdata_mounts atf_test_case config2_userdata_resolv_conf atf_test_case config2_userdata_keyboard atf_test_case config2_userdata_ssh_authkey_fingerprints +atf_test_case config2_userdata_ntp atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files @@ -1218,6 +1219,32 @@ EOF true } +config2_userdata_ntp_head() +{ + atf_set "require.user" root +} +config2_userdata_ntp_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + printf "{}" > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data <; Sat, 06 Jun 2026 06:14: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXSgf4W88z3T6B for ; Sat, 06 Jun 2026 06:14:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=95A/s9R7WgGSixS4DsfaNgdmNqVhHXtpmKjPkWwJ+ak=; b=NKmPygYurVTQK5HGwFsrZ4I5OMfRrRBn0ZmtUOuBITCke6zDCWhUOMGKHlgoPD+GfjZc9V iL4Qeds1jqJbZYz5A5DHfh/no3nRt70SzrJq9G2USahY8IY/dwORGlClnWpr+Xw4PGq+5J iBbvfuH42cYvrY+SLTXMhbuhpwQJsAgSrSOhuzGFchYU9XdAhDkx1jEA+G7SI7bXEW02RJ jgBxkdyHu0biLLLTBNjjEabMkVw8kGa3IcT20CxITMdIhJXnKxMztjde8BOvCDeCqWu5hu CYqw9XIP08VCVhbjMgQ7uVIlbv0yYDnudTQJxFgDsQToGjjDqC0yQfLALCLvbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726462; a=rsa-sha256; cv=none; b=k/6B6xFpVtWjf0XeOfFALPuLc1hvTj7xPsM0UiXM9EqrjnpkoL8TecOCjgG2YBwbhO5jGD W4GRar7GPVDqXpRSMPcwIGwIRO6zzNCNQsMn+jcpQYFOMLXm1juYrjXkkHeFW9NcFK6hHm 4UcCbNlZW3MQxQuEZy02Mh4oclph0QIFr9lBHWbD67+9o+prH7h8rYwxCHf9uR1ZLZ2+km 7wT3I5oyNnOBOk6tM1m2ld6UQ5zVQlAeC3JyAgAav/Qvx9DtFGnFwZPAneIcAOoVZHgEkZ Iqq7hP3ocSybq4BhKoIrLJ6ljeigSiaJPgteEUp9Rihp3kUm4HpWiGmkc4WTbg== 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=1780726462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=95A/s9R7WgGSixS4DsfaNgdmNqVhHXtpmKjPkWwJ+ak=; b=REWu9yW0WdXdE47RmcwgkG5HCFziGzqYGHDgXT2+6n+EUgNMCe5J9Zz+7FTWkx6XGm3V6s +VGoohOyd+L8YiNdOkR0/I8GhAWv+WXuQbcGVaiDh8+epkxrY5qG9RQUeozBsrnE6z5P3x qfGx2lz5amjjwxwD0i5mgIPoczKUYgT2QOQF2MZwBv8uwZ2JINVhuTsupClg0p6pwu6uMV KrY5U3clEtdVuN8qAffqlf2ciyn4OQDvL+Gi0Oi0+oh5Pq30BIZhWpCLB/T8jYGMTXag36 w/TnK3dnGV8PS0eQKgZBIcf716G41mozbgE53U+s5pz9XZnn+C18DQat6SQ8NA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgf3jr2z13d7 for ; Sat, 06 Jun 2026 06:14:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30e80 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 06:14:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 68e60bb8b6c9 - main - nuageinit: expose decode_base64 to fix tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 68e60bb8b6c968fe615f81ccc8afd2a30ff78003 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 06:14:22 +0000 Message-Id: <6a23babe.30e80.78b8cd07@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=68e60bb8b6c968fe615f81ccc8afd2a30ff78003 commit 68e60bb8b6c968fe615f81ccc8afd2a30ff78003 Author: Baptiste Daroussin AuthorDate: 2026-06-06 06:05:50 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-06 06:05:50 +0000 nuageinit: expose decode_base64 to fix tests --- libexec/nuageinit/nuage.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 3f614dba2b22..a554553b3e61 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -993,6 +993,7 @@ local n = { addsudo = addsudo, adddoas = adddoas, addfile = addfile, + decode_base64 = decode_base64, encode_base64 = encode_base64, add_fstab_entry = add_fstab_entry, remove_fstab_entry = remove_fstab_entry, From nobody Sat Jun 6 06:14:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgf51MMz6g4vJ for ; Sat, 06 Jun 2026 06:14: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXSgd4Jv8z3TNN for ; Sat, 06 Jun 2026 06:14:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kl4plYgy9NrOBwCRuCAbsA8wjPvptUA60xsEJrJRAjM=; b=uKx8unxzU0kZRPhmi+yv4nkN3HLhY05I9kOvLeE+jLp73Wd9plpUeu6np0e95/xcQ1zjfE CBo507EPOcDlUpXEIP+C+OcBB1bLSUsAfMWzhPixZMbjNDrgDn4JpDVxFmHBr9LHf01tch qTQpT9YBR8nrgNOvaot9wnYUGqk9v2kVkD8ygEXfcqPGvf6OVMs9S5K1M4zuNqd5kxP/Ti ziqc8qNP9VHTNrUPlmzA+/fueNOk4HGWlZIqNKK0uaAUFLcK6Mt3hYM13QhUjwp30UOOy/ 8TkinTuB9C4x04rJhk+k10yhRWD3pZOq0wH0/icef0Aw9dR99lDRWkYi3bMrJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726461; a=rsa-sha256; cv=none; b=A9L25sl2XMDSMnHnRk2SS91kIbyVK1HmyIyjUbjwlYs5RxkcpXObHOwHNI764CnjXnM6V7 F9HfCD+F6BFxaYCCXk2ZoW3RPdNqnq5de++y5AAFALa86btgpDmlMqby74658siD1JfW38 uMxE4HXxpU9GlxDrQ10SW7WoUGJLc72MyIhd9UwxT4oAx6a0GQdxe2b9cLYhKiHqdk+Xgg wsaUNjcEoAzbXRRw2538Q7mn1d7Q9hXMbmbSvNzPhg9vRzii3IhgZTh5bnBgP6mbI4EtrA YtGsJPdCxAAZGZsWhhRBNOS8FF/2H0l2SL+EtQfJ3vCyKIOEXAL80wCH4PquHw== 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=1780726461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kl4plYgy9NrOBwCRuCAbsA8wjPvptUA60xsEJrJRAjM=; b=mmttJahwVQuTaajmqCeUSWnD2ZdymtZQs/n5HlQuu2uAocFRjSCNMosh4IMzEHnYxE4ym5 JjfD0sFSV8mAnS4sn1v/F4wqs9NyrZEQcOMR/0DpLzV6KJrxNW9enQSplrl+FynWcdG39c kTCzXrAsiDJYfO068TkUSoqBHIQGJzwFwtV1mZf4novywMuFZbevl3whGDHeS/C8ZrGmj3 3vjEye9QHqWCYAmZy2INj2bX5GaOcab49vxQ5f0kByazTzI2fsFP5uJPMo/RREo5gtFCgL 9LYG0NOrlVkD5hYFHAsMlThflTd4Y/E5iD3Y1jo5x6yX7XqeJ/5h+C2+Yf02EQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgd3FzSz138S for ; Sat, 06 Jun 2026 06:14:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 270d3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 06:14:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 58653bf4d0fb - main - nuageinit: implement phone_home support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 58653bf4d0fb8ccd5de146d671ec101a1df0ede0 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 06:14:21 +0000 Message-Id: <6a23babd.270d3.43bd1e84@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=58653bf4d0fb8ccd5de146d671ec101a1df0ede0 commit 58653bf4d0fb8ccd5de146d671ec101a1df0ede0 Author: Baptiste Daroussin AuthorDate: 2026-06-05 21:28:25 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 21:28:25 +0000 nuageinit: implement phone_home support Posts instance data (hostname, instance_id, public keys) to a URL using fetch(1). Supports: - url: target URL - post: list of data items to send, or 'all' - tries: number of retry attempts (default 1) --- libexec/nuageinit/nuageinit | 91 +++++++++++++++++++++++++++++++++++- libexec/nuageinit/tests/nuageinit.sh | 33 +++++++++++++ 2 files changed, 122 insertions(+), 2 deletions(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 1391aff13bd6..8e207cae0a15 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -808,6 +808,79 @@ local function final_message(obj) nuage.warn(msg, false) end +local function phone_home(obj, metadata) + if obj.phone_home == nil then return end + local ph = obj.phone_home + if type(ph) ~= "table" then + nuage.warn("phone_home must be an object") + return + end + if not ph.url then + nuage.warn("phone_home.url is required") + return + end + local url = ph.url + local tries = ph.tries or 1 + if type(tries) ~= "number" or tries < 1 then + tries = 1 + end + + -- Collect data to post + local data = {} + local post = ph.post + if post == "all" then + post = {"pub_key_rsa", "pub_key_ecdsa", "pub_key_ed25519", + "instance_id", "hostname", "fqdn"} + end + if type(post) == "table" then + for _, key in ipairs(post) do + if key == "hostname" then + if metadata.hostname then + table.insert(data, "hostname=" .. metadata.hostname) + end + elseif key == "fqdn" then + if metadata.hostname then + table.insert(data, "fqdn=" .. metadata.hostname) + end + elseif key == "instance_id" then + if metadata.uuid then + table.insert(data, "instance_id=" .. metadata.uuid) + end + elseif key:match("^pub_key_") then + local algo = key:match("^pub_key_(.+)$") + if metadata.public_keys then + for _, k in ipairs(metadata.public_keys) do + if algo == "rsa" and k:match("^ssh%-rsa ") then + table.insert(data, key .. "=" .. nuage.encode_base64(k)) + elseif algo == "ecdsa" and k:match("^ecdsa%-") then + table.insert(data, key .. "=" .. nuage.encode_base64(k)) + elseif algo == "ed25519" and k:match("^ssh%-ed25519 ") then + table.insert(data, key .. "=" .. nuage.encode_base64(k)) + end + end + end + end + end + end + local post_data = table.concat(data, "&") + local cmd = "fetch -q -o /dev/null --post-data " .. nuage.shell_escape(post_data) + cmd = cmd .. " " .. nuage.shell_escape(url) + + if os.getenv("NUAGE_RUN_TESTS") then + print(cmd) + return + end + for i = 1, tries do + if os.execute(cmd) then + break + end + if i < tries then + -- wait 1 second before retrying + os.execute("sleep 1") + end + end +end + local function chpasswd(obj) if obj.chpasswd == nil then return end nuage.chpasswd(obj.chpasswd) @@ -973,10 +1046,23 @@ local function load_metadata(citype) nuage.err("error parsing nocloud meta-data") end return obj - elseif citype ~= "postnet" then + elseif citype == "postnet" then + -- reload metadata: try config-2 format first, then nocloud + local parser = ucl.parser() + local res, err = parser:parse_file(ni_path .. "/meta_data.json") + if res then + return parser:get_object() + end + local f = io.open(ni_path .. "/meta-data") + if f then + local obj = yaml.load(f:read("*a")) + f:close() + if obj then return obj end + end + return {} + else nuage.err("Unknown cloud init type: " .. citype) end - return {} end local function load_userdata() @@ -1114,6 +1200,7 @@ elseif line == "#cloud-config" then users, chpasswd, write_files_deferred, + phone_home, final_message, power_state_change, } diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 2b4d316fd5ff..b225289718e6 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -47,6 +47,7 @@ atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files atf_test_case config2_userdata_encode_base64 atf_test_case config2_userdata_final_message +atf_test_case config2_userdata_phone_home setup_test_adduser() { @@ -1416,6 +1417,37 @@ EOF /usr/libexec/nuageinit "${PWD}"/media/nuageinit postnet } +config2_userdata_phone_home_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + export NUAGE_RUN_TESTS=1 + printf '{"hostname": "myhost", "uuid": "abc-123", "public_keys": ["ssh-rsa AAAAB...", "ssh-ed25519 AAAAC..."]}' > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data << 'EOF' +#cloud-config +phone_home: + url: "http://example.com/endpoint" + post: + - hostname + - instance_id + tries: 1 +EOF + atf_check -o match:"fetch -q -o /dev/null --post-data 'hostname=myhost&instance_id=abc-123' 'http://example.com/endpoint'" \ + /usr/libexec/nuageinit "${PWD}"/media/nuageinit postnet + + # Test "all" post + printf '{"hostname": "myhost"}' > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data << 'EOF' +#cloud-config +phone_home: + url: "http://example.com/endpoint" + post: all + tries: 1 +EOF + atf_check -o match:"fetch -q -o /dev/null --post-data 'hostname=myhost&fqdn=myhost' 'http://example.com/endpoint'" \ + /usr/libexec/nuageinit "${PWD}"/media/nuageinit postnet +} + atf_init_test_cases() { atf_add_test_case args @@ -1458,4 +1490,5 @@ atf_init_test_cases() atf_add_test_case config2_userdata_write_files atf_add_test_case config2_userdata_encode_base64 atf_add_test_case config2_userdata_final_message + atf_add_test_case config2_userdata_phone_home } From nobody Sat Jun 6 06:14:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgd0PYYz6g4pJ for ; Sat, 06 Jun 2026 06:14: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXSgc3Lztz3TLR for ; Sat, 06 Jun 2026 06:14:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FtDN7KT+3J+N2ydBia6LLb173UtaJuYgiAaqcoKUHC8=; b=eqneLemCzmDR4PJR8fwww7kShCvWnutq1ayFX1n+DeBv6QadPJmpF0A0wGyBlbwA8OfDlp JIVg/3t/WTyT94uQyQ1WRAIeCxX1wWUg0RqiET2ex0peDV2pt9ASIDnlzLjxVNPvQXodWj Oxa0WEKhDUr2r6OImDxZ3h/BdWqXcHu6jIfAnmFYjKFlDz8GBgcT0bRDBCz9IM8avpJwvu OG0SEVzxDJNI5nw6K8RpjHsxnsT9h1TREUUq5KRhOXTLAQQLTn9N1sQEct3DMgRBrbR6vj 2MZvmmERfha3SGrasM7V0q+Yfb7eCWgDDZubytbRBvhUqjyjDaghTcVeywPaTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726460; a=rsa-sha256; cv=none; b=JgYdOXHfelWvfTMD0wRPvU9UAAEkv3r/7EQAJl/T+m5zU6FzLAIsUxxkcT4oLObUdaCPMK huWKdRarbo98dd7GqcB/VachRSJ6P+AouIu2nwTWepM/YYWmFubTROXaZPLZS1IU5sGVNd 0OChtXv54KKb8A4ddmFQaiq9WqEVrFERls4HavSUAR5MKM+WPg3Vic2PEyKNgh8XgMWzhl i3kvJ79Mp9OoGdW8OyKIBsryBpGc1Pu6+G48RXBAzfgdHhA7xwYwuH7EYFX1MuFGBh3ETg jOTFxP4mdsapWIUxH1YbeI+ifQefRdyzfxeMNzVdh1D1A180mtxeFeSgnsZchw== 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=1780726460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FtDN7KT+3J+N2ydBia6LLb173UtaJuYgiAaqcoKUHC8=; b=sPhPUp/QlJ3U3fda8Aj/PzoPrLqtjKKL6Ss8pY2xIcUyQyTCHGW3R/OPVKCJIDPvBElK0e QUPGI0qlHlSIoCdYTKxooXRqHHZzYFWzuxQ4BO8wasgcfWTtJNfjDsAd/JBu+8kyMALw5+ v9XJkxxogElmz/FNDx5AhwLJNdI/7q95IvfrgKt9kZoM9O5PFVf2jCL9k6fU9DxTw8yoQl 8rtDlqZQdDIuFX7nL4puRVvqg0gYWwm8TMCMJH97nD4R4gmZ/D7EXpwZwM05lMIxkbJwss GAYTGi0cGxh9hs9FM1K75fkByWyLYJ+4EorHfSvwERGEhPkpflKOkIXWKd1ipg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgc2QnDz13wQ for ; Sat, 06 Jun 2026 06:14:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2796c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 06:14:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: e01f202ecf93 - main - nuageinit: implement final_message support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e01f202ecf9344bd6658869a869f36c5b3790384 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 06:14:20 +0000 Message-Id: <6a23babc.2796c.7af9ed0@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=e01f202ecf9344bd6658869a869f36c5b3790384 commit e01f202ecf9344bd6658869a869f36c5b3790384 Author: Baptiste Daroussin AuthorDate: 2026-06-05 21:03:45 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-05 21:03:45 +0000 nuageinit: implement final_message support --- libexec/nuageinit/nuageinit | 25 +++++++++++++++++++++++++ libexec/nuageinit/tests/nuageinit.sh | 16 ++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 8a9c5c022862..1391aff13bd6 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -784,6 +784,30 @@ local function power_state_change(obj) os.execute(cmd) end +local function get_uptime() + -- Get system uptime in seconds + local f = io.popen("sysctl -n kern.boottime 2>/dev/null") + local boottime = f:read("*a") + f:close() + local sec = boottime:match("sec = (%d+)") + if sec then + return os.time() - tonumber(sec) + end + return 0 +end + +local function final_message(obj) + if obj.final_message == nil then return end + local msg = obj.final_message + if type(msg) ~= "string" then + nuage.warn("final_message must be a string") + return + end + local uptime = tostring(math.floor(get_uptime())) + msg = msg:gsub("%$UPTIME", uptime) + nuage.warn(msg, false) +end + local function chpasswd(obj) if obj.chpasswd == nil then return end nuage.chpasswd(obj.chpasswd) @@ -1090,6 +1114,7 @@ elseif line == "#cloud-config" then users, chpasswd, write_files_deferred, + final_message, power_state_change, } diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index c3c75949da65..2b4d316fd5ff 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -46,6 +46,7 @@ atf_test_case config2_userdata_locale atf_test_case config2_userdata_fqdn_and_hostname atf_test_case config2_userdata_write_files atf_test_case config2_userdata_encode_base64 +atf_test_case config2_userdata_final_message setup_test_adduser() { @@ -1401,6 +1402,20 @@ config2_userdata_encode_base64_body() /usr/libexec/flua -e "print(require('nuage').encode_base64(''))" } +config2_userdata_final_message_body() +{ + mkdir -p media/nuageinit + setup_test_adduser + export NUAGE_RUN_TESTS=1 + printf "{}" > media/nuageinit/meta_data.json + cat > media/nuageinit/user_data << 'EOF' +#cloud-config +final_message: "System ready after $UPTIME seconds" +EOF + atf_check -e match:"System ready after [0-9]+ seconds" \ + /usr/libexec/nuageinit "${PWD}"/media/nuageinit postnet +} + atf_init_test_cases() { atf_add_test_case args @@ -1442,4 +1457,5 @@ atf_init_test_cases() atf_add_test_case config2_userdata_fqdn_and_hostname atf_add_test_case config2_userdata_write_files atf_add_test_case config2_userdata_encode_base64 + atf_add_test_case config2_userdata_final_message } From nobody Sat Jun 6 06:18:35 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSmc3LPtz6g58T for ; Sat, 06 Jun 2026 06:18: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXSmc2mRPz3Wxp for ; Sat, 06 Jun 2026 06:18:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726720; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4S1TpQXmCnQLZpgBPskC6crsaDqwYypldHzuugoA4xY=; b=GpTGdXE3iR/8DSEPl0lkaGV3SbEp/ORTRxz8m4I6znXD+EUzOxmvQyXzG3L49LzNQT1nRI FSOVQiVZKOt+C8wyft6ShxZyNkIZiGsIj6X+e5SC9goXnQH1MtBnOvXAmxIVtmpWUMANGY eKs0t8kUVP0EGRrIFYL965/BAynSdOiMji5xY5sxpvbmwKPjQp8jw5Yo8moPbgK80r4Jg2 tgPjgw3a7Q3dDM7qD01D2mA5eOulZ0pEs6WDm2+NJcRst7V+pZLk8+IxQPL8BSNHWdOYbn FmOwbv60dIk/wt1FkgCL+ovFyPp3T/qhqSMcCx98sQEBw1Mz0AOth3BoBlceHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726720; a=rsa-sha256; cv=none; b=cZiFZ7K6ySosGzfMD5oJ1g/8FUVerwF8wCho3GjLtyDzwFYkJBQavqZ18xnnoxymLENi+L pv6J8JjbgGD1+bwesp9R49UaiaN/3HEvrFGtGAVc+bFOqOgxi1buiP44U5/BSYM9paa84Z 49kDIp1s8YMPgxijLbaIL7SsERFJO1cy72WPsmZjdngWzO6PsvW48gP3ituT5GUVhJ4Z0D hAwUSk5wSKbY/5FS3waxkyTs5L6ixROouJA0ltFQY6jai33dDIld8ragdZASBe5mGEuqfY BNAJV57MXVa/mvflAocsfTHU9A7ZttxVCuy4Su+6PK1SpXG5VhGrCQC8MzKFoQ== 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=1780726720; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4S1TpQXmCnQLZpgBPskC6crsaDqwYypldHzuugoA4xY=; b=Tj5nn0w5hZ8ThCRgX3GfTlTQHCWeAptVvWT0g4X9OhtV9wXVkB/LSR+NswliubJC1Ialt8 RVbpNU1P2BVPNDkQDr0TcYuITmlOU+Z04z43yxdQoM0SfCOHWct0vQRIYvcF7cbIdH9elV RATwQAycE+mNvtHbSdo8xdvy/5NvLF60qK9htZIu44AROTSX7PtnCtc7ZiZkdJD0BrHkGw T4apgXVhQIXrY46Nvz2HQ26eB0aGhI9KlK7zwT9R/efDZIlW6UqXFEq3Qctv7J8/Urtp+x /4LjaxVf9vejEtMIHJVLYOtfMO+SHHy/EyxKGAjYm5th9YQvlc/nHxG2/pGjTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSmc2F3Bz13wR for ; Sat, 06 Jun 2026 06:18:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3083f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 06:18:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: bad3c15dffea - main - nuageinit: update documentation for phone_home and final_message List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bad3c15dffea69ea84f95489d26a86ad0498d942 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 06:18:35 +0000 Message-Id: <6a23bbbb.3083f.629b45be@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=bad3c15dffea69ea84f95489d26a86ad0498d942 commit bad3c15dffea69ea84f95489d26a86ad0498d942 Author: Baptiste Daroussin AuthorDate: 2026-06-06 06:17:04 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-06 06:17:04 +0000 nuageinit: update documentation for phone_home and final_message --- libexec/nuageinit/nuageinit.7 | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 6d0f8ae2f41c..0bd652ae4fd5 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -3,7 +3,7 @@ .\" Copyright (c) 2025 Baptiste Daroussin .\" Copyright (c) 2025 Jesús Daniel Colmenares Oviedo .\" -.Dd February 26, 2026 +.Dd June 6, 2026 .Dt NUAGEINIT 7 .Os .Sh NAME @@ -491,6 +491,37 @@ succeeds. Defaults to .Qq true . .El +.It Ic phone_home +An object configuring the posting of instance data to a URL. +.Pp +The following keys are recognized: +.Bl -tag -width "tries" +.It Ic url +The target URL to which the data will be posted. +.It Ic post +A list of data items to send, or the string +.Qq all +to send all supported items. +Supported items are: +.Qq hostname , +.Qq fqdn , +.Qq instance_id , +.Qq pub_key_rsa , +.Qq pub_key_ecdsa , +and +.Qq pub_key_ed25519 . +.It Ic tries +Number of retry attempts. +Defaults to 1. +.El +.Pp +The data is posted using +.Xr fetch 1 . +.It Ic final_message +A string message to be displayed at the end of the boot process. +The placeholder +.Qq $UPTIME +is replaced with the system uptime in seconds. .It Ic users Specify a list of users to be created: .Bl -tag -width "ssh_authorized_keys" From nobody Sat Jun 6 07:54:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXVvL449wz6gD5g for ; Sat, 06 Jun 2026 07:54:38 +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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXVvL1gD2z3hGy for ; Sat, 06 Jun 2026 07:54:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780732478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=txu9oop6E+ZkDF9QzLRlRyCFQZSZXYEv+jX0Sp0d09w=; b=aoM2XPcOGI6fB28KOKdzyw9w1wwTSzMZlA4dM02MmN6s8KX3xRrIlWH0ANsyGnqDaavrYd XdivYFoIcKH8iEk6cLTwi78Ynj4QkkVy+b74v4CNklTLkViEW1UjWIZczQLH7Zg+aeICRk OU/Tl2FGJxSsRpYJ09a7KWzaDIS7o+AebDzj7Lb6cuNyLDS6iveLkPbKFK11xKmEmp/EYe hvSO0x5HlnV3kjnqVL4d34L5JFgbDkGnrN5lS5V5r9OptOSXQP9DvgGqzrDJt74h89OUFx Pr2gomypG5jZdBuFmzmc45UfM0Uw1DnKBUTRZxZr4I6pu8OQZhorCrH3OP3G9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780732478; a=rsa-sha256; cv=none; b=BbYexXctoPnZcaoGvdMoygkEYYavspBsN8aJL39mXNM2LHtbahheDuFLFB+4QIXIWX1Jgh fFdMdVg0BvuxBvlIVZaygTbXVR5e4rsgxNB2QeIR9UQ4iI4sWymjNm0cFjD/DNgzQ7B8Wp OwK5ev+kj2RmTTfUl8dfVKi7PnGbk5b0EVd5Cqs0bLx0/OIjeHJ6WOE2UXb8lOVbpsr5H2 2aUU2BE1x8nxv4RGGlrqQfu5zWqJ+nPluEvDJbWTRnaJANRMo1oFHiSCQBUpfY46Xc7oOF gmkDodjpFEuQE772LGwjmi//YyAAQ6eK6i0wrmPI15cSzI1y8/UPA2AFhhz9rw== 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=1780732478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=txu9oop6E+ZkDF9QzLRlRyCFQZSZXYEv+jX0Sp0d09w=; b=AmSmXVYZ03lYxIxnSp8F4gHiGMe7mZpzOhX3jG/VWaw2CARwxmFuBpd4BsYNJmxs4litma Ls4aUMMldTIVm3x1Jd5X/+Jutr0QUV3RHR2fHjTbxoBCA7kKBvDWyhhHUZ/vH7r6/tBMZT LGU+TUfL9yB/t6NjHriB0oqSg17logtJ4AJklnC6nohjoQC9pnYGoUrRiNPYlXOYy4e5GT Gb07FSa86qOxEQTBgVPrmRWGXWRkmpSHG5/506kIUVsFm3M57XdgcpiX1WlBhct4VpNVh1 Una7EipMzXqo6Y6DzFGscWPlSlu3sLL4Cnj0uVBSQxsyOTY1g0YU5l9jIk1Z7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXVvL1F8pz15nK for ; Sat, 06 Jun 2026 07:54:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3afcf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 07:54:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 8d9dff23f206 - main - check-old-libs: Show information about packages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8d9dff23f206cb86aed9857a985ed09cd38eb5ac Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 07:54:32 +0000 Message-Id: <6a23d238.3afcf.4b3bdca4@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=8d9dff23f206cb86aed9857a985ed09cd38eb5ac commit 8d9dff23f206cb86aed9857a985ed09cd38eb5ac Author: Dag-Erling Smørgrav AuthorDate: 2026-06-06 07:54:21 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-06 07:54:21 +0000 check-old-libs: Show information about packages If pkg is installed, for each old library found to still be present, check if any installed packages either provide or require the library, and inform the user. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D53977 --- Makefile.inc1 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index 2927054c2e83..f7d68dd0b4bd 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3816,6 +3816,15 @@ check-old-libs: .PHONY while read file; do \ if [ -f "${DESTDIR}/$${file}" -o -L "${DESTDIR}/$${file}" ]; then \ echo "${DESTDIR}/$${file}"; \ + if packages=$$(${LOCALBASE:Q}/sbin/pkg -r ${DESTDIR:U/} \ + shlib -qP $${file##*/} 2>/dev/null) && \ + [ -n "$${packages}" ]; then \ + echo " also provided by:" $${packages}; \ + elif packages=$$(${LOCALBASE:Q}/sbin/pkg -r ${DESTDIR:U/} \ + shlib -qR $${file##*/} 2>/dev/null) && \ + [ -n "$${packages}" ]; then \ + echo " required by:" $${packages}; \ + fi; \ fi; \ for ext in debug symbols; do \ if [ -f "${DESTDIR}${DEBUGDIR}/$${file}.$${ext}" ]; then \ From nobody Sat Jun 6 12:32:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXd4L2D7mz6gd2g for ; Sat, 06 Jun 2026 12:32: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXd4K6k0Vz3GyN for ; Sat, 06 Jun 2026 12:32:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780749170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=spjYYDoCAgaDe2QVz0O4oBWiwrGRmGjbSF+vGSwcVQk=; b=A+2hs74rLws7dPZTaHQSdWygeQe8QJm1DCSkcwf8NruHCnkfYpRwtM+xcyl+Et8mpxhKbK Jpq/EGods5Qb2zeY4CKRPM5jp/7ug7jI0yzbSxt1NpQdRqyDN3GUvLcG5m+gMcyxzyIWjI YQJV7auYv158aO2aRDv4NnrPHlb+ndmOm7XN3VhHZWqneIJs3v0w0J5Y88hzHPXkS6XU3v oo6Z609SAaEwfl2eTVOCzsnkVX8PGf48sgSuHtHFG0eg8u58mNdMCx3PDj/m1B3QrnTtk9 1cjnchEX9aKgkMNMVdZrgR5ymAWHGMdCmL4omYe1GXcLIxYKZbuCuD0gyAdPoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780749170; a=rsa-sha256; cv=none; b=tlSlmmr6KzZaUSTqFP58ZuLlZPn3bNtEL5/q8L0E+/gkIHcWW2lIWGkGthSXqDVTGJ47fq V0C/7s6W4qRkjgl5+sEcXbZKTj7S9O+KSwJt93G12HKAM3DeBLxodtfdvml+l67xMugbvs VVTrs1fyVMVCdSqbwybjI9ZgXKZoJnMabjDKqBGS3jkXCBHC52NmFTv45ieR62pbmm/nWT cUf5SmQIltRpxnF5HzPj5HDEH04fh2QYWsUdOWhWdpv7h0Fy/mN/fz7F426ha/xtAytjta aCPSNBmM4OfiLb1NaQjWIrYf5jM80iVP9H28rQGe6ZkPYMEKs4TqG4l54nZoQg== 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=1780749169; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=spjYYDoCAgaDe2QVz0O4oBWiwrGRmGjbSF+vGSwcVQk=; b=aD6lWJtSD4SujdnOJkJQust/ZZ/pYNgCz5pya74X03i5WlKm9WMVxJRK9TMXDtfYB8utU6 3STKhNYT3HlBzApQXfq6vJg0TwYTxIh4M/OFXQpzPDZofdDqhnyi9ReGfS2lU5OlRIkwJ4 /s7S0q8DSdhLF6+Q3DmHxUMBDcscvrggXcLu8Z7U/kmyrkQPFLHDIiMVkeKQicndX52ZUG f00IVFazW0SqVnOKjIOtmRjkHUIPURPJP0B0819DIkVW9gaarjakd8KlHM8trZI71P2YCB pkJpDgIDtaxGxS4ZnzH3/x08sOWZ7ABPGkJ5qkvnlnkp6tR+NkpJXbmJTE8F2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXd4K6K80zVh for ; Sat, 06 Jun 2026 12:32:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27f47 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 12:32:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 5a7f41e94b6d - main - if_stf: Free entire mbuf chain on failure List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a7f41e94b6d47e60e5d76dfb3a61ee2746700ca Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 12:32:49 +0000 Message-Id: <6a241371.27f47.3ab54ee6@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5a7f41e94b6d47e60e5d76dfb3a61ee2746700ca commit 5a7f41e94b6d47e60e5d76dfb3a61ee2746700ca Author: Ed Maste AuthorDate: 2026-06-05 20:56:51 +0000 Commit: Ed Maste CommitDate: 2026-06-06 12:32:40 +0000 if_stf: Free entire mbuf chain on failure Reported by: Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai Reviewed by: markj, bz, kp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57476 --- sys/net/if_stf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c index c6eea784e158..e35866e4ed99 100644 --- a/sys/net/if_stf.c +++ b/sys/net/if_stf.c @@ -801,13 +801,13 @@ in_stf_input(struct mbuf *m, int off, int proto, void *arg) */ nh = fib6_lookup(sc->sc_fibnum, &ip6->ip6_dst, 0, 0, 0); if (nh == NULL) { - m_free(m); + m_freem(m); SDT_PROBE2(if_stf, , stf_input, out, IPPROTO_DONE, __LINE__); return (IPPROTO_DONE); } if ((nh->nh_ifp == ifp) && (!IN6_ARE_ADDR_EQUAL(&ip6->ip6_src, &nh->gw6_sa.sin6_addr))) { - m_free(m); + m_freem(m); SDT_PROBE2(if_stf, , stf_input, out, IPPROTO_DONE, __LINE__); return (IPPROTO_DONE); } From nobody Sat Jun 6 12:36:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXd8N30p7z6gdYn for ; Sat, 06 Jun 2026 12:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXd8N0yQrz3Hl7 for ; Sat, 06 Jun 2026 12:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780749380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YTR7o3G9MGsBNPXDkuwMPLjwDRQd6lO38Plj/WYYfJc=; b=xTcMdrR4i+DLtYOpFPJ1pO2DChTfR6T5ACqw4HMtMH4iLaPjlxXGna8Lk6ORRF9qPY9l+h SeLWPp1kD/IOCX7v3kXOXM3diWqGlssDPiuyROwqWrdSZoffuRrrw7dPJuntMUo2bkR/ly 5A2zVWB5CKqE51vEY/WgJubtgOebwMKdq8zQKEDVvhF14DLNW6NHRg9PRJORRf2WabzRVM jXZeJMaVB3J1dGJ6GNZMRRhPewVHmvd9+BV4yt9Y6Ao2KifUHXm/7qDYbFdeNlIF7fyBqn HiBuD4f9vLV23sQyxHAQIkZoneBVZmoNaluOMknMpr+yLT2Uaf9D4CiDgtwrAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780749380; a=rsa-sha256; cv=none; b=J4GyB9Qod8GjXMuSo7aYzkBVoG4eBG/0B50HIMbj4JWHRCzbzVnvxdLdIHBI9dkMcCnyAf vTaNyHQ7R/4hM4H7WatYN2q3SMuq2d5YyaOkGBR06i7cFcQMWNLBHrktNbZ97tte4s1F6j cyvhtpevuMTuA+tl6WpynEtwdmgVxquHg1YQcXH6QBvrXonsWb8BsCiaWPSziKrJIHxhBL oaqrETRMyiToOmagwj9VoRwndhIRDHPIi/I6JER7tZfVjZl/oxdwAVMJLNmGkZR7GOfMJ+ lsIgO9zoRu0t5LzvTDzi4TgBl7GHIbQ8t5cREwZVNyIQc2HQ2yxKbufpinp43g== 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=1780749380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YTR7o3G9MGsBNPXDkuwMPLjwDRQd6lO38Plj/WYYfJc=; b=jco/vDtOCUnIxr7MDBC7K+OQ4/0eM17LOBMqNcspNm5dvSemJ/GzP0RX467KZ74PCm1ouG zemhtFE/Eun6sDXcv1yJz8lyOHAP4zjJxqtxVSL3O94Wy6K8+mV/DAchxM+abenx6tIvzm HNOdi5CBN6N4Zxi6rcsHIgNzWz06kJcaTK17ZAgzeLesKyEPRyhBSuYNhDO4HsbVU08zL9 sYuMgURRA82HBR9l5CNIRh5uwcAyP+tx87sgb1LwP8sLgn5Ky7QCbE1VIXe7qki51iHezg oqQaR+oO8SAiCOZIPx4aZlf6GS1k2iGrxK9ShoCdWRv2Zzaz1HYuK0qVcALYag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXd8N0Rbzz11P for ; Sat, 06 Jun 2026 12:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30744 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 12:36:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 85195c0c7f8a - main - ipsec: Free entire mbuf chain on failure List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 85195c0c7f8a2926f0ba131178d9231bc33c81b5 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 12:36:20 +0000 Message-Id: <6a241444.30744.6e030dc4@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=85195c0c7f8a2926f0ba131178d9231bc33c81b5 commit 85195c0c7f8a2926f0ba131178d9231bc33c81b5 Author: Ed Maste AuthorDate: 2026-06-05 20:51:48 +0000 Commit: Ed Maste CommitDate: 2026-06-06 12:35:47 +0000 ipsec: Free entire mbuf chain on failure Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57475 --- sys/netipsec/ipsec_output.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netipsec/ipsec_output.c b/sys/netipsec/ipsec_output.c index b394ff81d9c6..18a25c0feeff 100644 --- a/sys/netipsec/ipsec_output.c +++ b/sys/netipsec/ipsec_output.c @@ -462,7 +462,7 @@ ipsec4_common_output(struct ifnet *ifp, struct mbuf *m, struct inpcb *inp, if (((m->m_flags & M_PKTHDR) != 0 && m->m_pkthdr.len < sizeof(*ip)) || ((m->m_flags & M_PKTHDR) == 0 && m->m_len < sizeof(*ip))) { - m_free(m); + m_freem(m); return (EACCES); } if (ip1 != NULL) { From nobody Sat Jun 6 12:36:19 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXd8S36Wyz6gdPf for ; Sat, 06 Jun 2026 12:36: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXd8S0tMwz3HwY for ; Sat, 06 Jun 2026 12:36:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780749384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tPshZo0OyaZgEi7m5qUykQIhbeQg5Q+h0hI1WTElaOQ=; b=UxcdVgfLUU9YzB3tweyWGyRRREYt6u5HpXDnRhVGGRh/0QaYvM6jfUUy7Hv/gV5evdG9l4 jmK7ZLoHAPAPNaFxADIfU3gSl4xCAWSm8g0sTWutx1t+y9Z2VrCifZc5QHxZ5gMWK36E4j 9WxdcqH7WKVVoKb9w64K2G1ufc25AOj3EG0JsVVcY8xe7JMm9N/hWildDzuFGsaHZ2Y2Xh O9EXR8TMFlEjRQyQNUNukkUSnhOvMX5IChv1yfs4bmc8UNkUnG2ku+VFOdARnZvKdFz0jZ cfR/DKucyWWdZWXuByJoMO+R9bmOEKzZeVCih3Z6ShtU/9NNw23mNQuxcGv4Gw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780749384; a=rsa-sha256; cv=none; b=VEGAUJrBsoyE/5ULC/83NloSrogFs613kMTBqEgwBbWU7am1oS224B1sEIQW4LmF7Gz7ZU c3oGiDujqi6OPKepBiCWYaBT6+z0852oKNYhM4+u0oy/8AROPvC0+G2KR5L2UDN+iz3CoU 4EYRXZyhftsBJjlhZmkEiN0RzTnhR1wVgILMueLGo6w3oQfmlwcacL+g0XorwLYpBcTGPJ 39MNYT1uQFAOA37X4dyfArbzd6KsLAQOvNBVfQ8W0XthHP5Vss2mJR2lGCwJY46MM51jIb hf6xx+nJ9FVL90PphBuhUpQY1JqDswh8KdOgQLmBVzZ1JB6nLxOpnfz4sfeQXw== 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=1780749384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tPshZo0OyaZgEi7m5qUykQIhbeQg5Q+h0hI1WTElaOQ=; b=eOuMB0vIVPftpLBucMA3Es6edTThPy5sMBfwZCVu/qRk/h7u9T5B7DdU2RQ6DZ9/rToVE/ B7xkiOFjKmK+zP3rgy3cCN2AlmprSX5ic9e5tqtHg5Ejk/s3yhcUs6BIZ7THmoLtVSw0R6 fU9UYYA/vvWtc5Mkp4lASxIVm1vVUAbP+W1lycnx2jK9YN7btSdVMoiBefQ4gUqJtUFdLC 4zZabwgBPYDXnjqUVZxDrFfla7EDtonB2JujUcvEvS28+kLfVs4WSkI0nGIzyeiOQ7Bc2A PaDpG4+mUT+oQNRRRYUVidXwD2dOSS4pPcXsdbI1+yMhDzfb6MJrZ49IjGKIdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXd8S0PhbzrJ for ; Sat, 06 Jun 2026 12:36:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30611 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 12:36:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 232021fd093c - main - linuxkpi 802.11: Free entire mbuf chain on failure List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 232021fd093c6e65beee5c0b4281091902022d08 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 12:36:19 +0000 Message-Id: <6a241443.30611.4f893d76@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=232021fd093c6e65beee5c0b4281091902022d08 commit 232021fd093c6e65beee5c0b4281091902022d08 Author: Ed Maste AuthorDate: 2026-06-05 21:01:39 +0000 Commit: Ed Maste CommitDate: 2026-06-06 12:34:50 +0000 linuxkpi 802.11: Free entire mbuf chain on failure Reviewed by: bz Sponsored by: The FreeBSD Foundation Fixes: 0936c648ad0ee ("LinuxKPI: 802.11: update the ni/lsta reference cycle") Fixes: c816f64e66a0d ("LinuxKPI: 802.11: plug mbuf leak") Differential Revision: https://reviews.freebsd.org/D57477 --- sys/compat/linuxkpi/common/src/linux_80211.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index c6dcae2bffff..11f76c3ff5a5 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5473,7 +5473,7 @@ lkpi_xmit(struct ieee80211_node *ni, struct mbuf *m, #endif LKPI_80211_LSTA_TXQ_UNLOCK(lsta); if (freem) - m_free(m); + m_freem(m); return (ENETDOWN); } @@ -5482,7 +5482,7 @@ lkpi_xmit(struct ieee80211_node *ni, struct mbuf *m, if (error != 0) { LKPI_80211_LSTA_TXQ_UNLOCK(lsta); if (freem) - m_free(m); + m_freem(m); #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_TX) ic_printf(ni->ni_ic, "%s: mbufq_enqueue failed: %d\n", From nobody Sat Jun 6 13:03:50 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXdmC6Q5Cz6ggD7 for ; Sat, 06 Jun 2026 13:03: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXdmC5vKRz3KqP for ; Sat, 06 Jun 2026 13:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780751035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=di0uJvc/jcdRMtTRKZZvGu0JFZnC92SIX5PuyKEkNds=; b=ujb2BVOWjo4i43sJxV9jvXW9/Ka0XNNybRwXa4gaerJdBvxhGOBdJe25FSp7kTacYfRiKU BmeZINSuY5p3GQNDMtzU52yScQQ1xKS+eIYZO+MiOX/Pra4WDEYXbbW09W/i2mXu1DJbQ8 jppb1/NpSKvA44Sy1LjfTdGhPYulyTRwRY9zWH4url90hmw02dM4rLPvgkAGcsbZqmaxLF DsjJioc23gqKgp2dLa94yLyGIH1pfKMZ/O9zuYqAYTik4+ek8Q+8gapFPEUx9265lcewtS /xcqDRfQGSuzljfMMJZb3CJQy7tD6uMs08+dpoiJKHNc+gj8z+EZAKNoT7WrYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780751035; a=rsa-sha256; cv=none; b=uxKvl/+On2BwXro0bWt+4W2rLxpIaGhRltzmkDhSUBGzQMywPZ8yYKkrXUxbKbfadxZnh2 mEQnt3RCKr3izhkXlrutwgYcex8cIx95rs7HjHAHWoU2edGkPeGJMJGSNHbobQajouLT3I xAE7xMTavjbm8eQrMDnCQd+On55g2zSy4We8XC8b8NjzBobHZjuNbzlywzVwKd8uO7c/Ut DXa3LNhQ8cfki+S8QAE1IbG1dEfNyASAGInqZm165EDiVJCJEHff69sNU/yn5syfQbUxyy xyBC0/HuBSC7vdgBV5XFfpXmKgwtot+FXh7uvhpnlt1Rc0G0FrcUJ0S7wAs+Fg== 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=1780751035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=di0uJvc/jcdRMtTRKZZvGu0JFZnC92SIX5PuyKEkNds=; b=g+MJAnGP11FnE/GA4KvbLNFSKot5QdhvsIGjOkh94dJ1Xgyh9PrmD86U4bG+clqE2qt6su JFxIo3XyDPc1+FASAM0UiXTwt5iMc0R7+vWBkowq7IdFgWEbQpB2kI72IUd5jQqaiDdwTG G693guB3ht3VUCnq8mDR/mN6qRI5kHMi3er0nk2QX4kVcSEMlQNNxeHy7bSlu0UuqOQhh3 aE/yOxh65AGOVuxf9NYlYhlxtLlBcFdQN7D/xaPP/0yVD7LUc2CHa+BhzIpxgciJyKjFGV uRf6DEG3hxs9HcL6FHE0vNXTcAokpZpAATpsok04RII5Lh/lDrjO7Ou1bLTzwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXdmC5N4Zz1pc for ; Sat, 06 Jun 2026 13:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33597 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 13:03:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 1ee4b5fd824a - main - fork: Drop an uneeded PHOLD/PRELE pair List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1ee4b5fd824aa93f9a20df6bd5dad50c7e32fe05 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 13:03:50 +0000 Message-Id: <6a241ab6.33597.217eb56e@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1ee4b5fd824aa93f9a20df6bd5dad50c7e32fe05 commit 1ee4b5fd824aa93f9a20df6bd5dad50c7e32fe05 Author: Mark Johnston AuthorDate: 2026-06-06 12:52:15 +0000 Commit: Mark Johnston CommitDate: 2026-06-06 12:52:15 +0000 fork: Drop an uneeded PHOLD/PRELE pair Support for swapping out kernel stacks was removed, so the PHOLD has no purpose. (And even before that, it's not clear why a swapout here would have been problematic.) Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D57486 --- sys/kern/kern_fork.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 36647ae44f08..75f8413e5f36 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -675,11 +675,6 @@ do_fork(struct thread *td, struct fork_req *fr, struct proc *p2, struct thread * callout_init_mtx(&p2->p_itcallout, &p2->p_mtx, 0); - /* - * This begins the section where we must prevent the parent - * from being swapped. - */ - _PHOLD(p1); PROC_UNLOCK(p1); /* @@ -786,10 +781,6 @@ do_fork(struct thread *td, struct fork_req *fr, struct proc *p2, struct thread * */ knote_fork(p1->p_klist, p2->p_pid); - /* - * Now can be swapped. - */ - _PRELE(p1); PROC_UNLOCK(p1); SDT_PROBE3(proc, , , create, p2, p1, fr->fr_flags); From nobody Sat Jun 6 16:49:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXkmh0RRtz6g1NK; Sat, 06 Jun 2026 16:49:40 +0000 (UTC) (envelope-from bz@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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXkmg6BbYz3gDH; Sat, 06 Jun 2026 16:49:39 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780764579; 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: in-reply-to:in-reply-to:references:references; bh=s7Ypy1MA0RHpTY2POohEiDIQdhYgElXm926Vlj4FAs4=; b=VcVaDH2JbTA5SVxyRd3oFwPfd0esP5jUQQtOYjV9stSCH1/5rB/+m5/9WM7p5xZz4SP94h lFkHjgBmBre1uubLj9bX0lpYX77QRTR3GfJHJfjYNhaxm5hNOawGHvHNDrvFqGsOVvoKup qKL9Y51llyX99fmc6C6fk8MrCxPfNjzaauVK1HvAS0CdifIc0LzZYajaiBU1h4Zml1YMCc aoCDLygn9/6Nk0PDLJ2JLvi4aDaVsYYURUwzSTWyn7RWALSOO0/REPgBfL0JFwFGfZqcqL iECQMSKWelJaNvDyuGVTnTbt0qf3A7s1a3MIxZJsiFb+FxYT2jtRpOWy4NAR3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780764579; a=rsa-sha256; cv=none; b=PNgzZU8ynuwhXoejFHbOtrFRdiEbbRx6K1uKQagED5WMG9O8PM7AxzwqsLzNKezQCaqRCs kezEb57hcbfYVhG3Xlf+6LFKNFO8Sp0oaD17rXoXm22pcOFRdpb03/q+GXQl5DWhnT7DfV Ws92HjX1v0rU/lpSCClmFXQ8zEqb2A4OyFJWwVm4/OddZY9dtT6qzHLqapJ50KyK+o41A4 UM38H2TXodd1O8s/3zZ00DcYmavNtRrpovJMZ8npwFxrQwR6Sdu2s+AQZIN/k12Q0/zyDU 8PmEE0onMvdUfe1zLX+exgYcppqupoKP8tqLSjawszEysPFpZlu0PYtV5XguZQ== 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=1780764579; 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: in-reply-to:in-reply-to:references:references; bh=s7Ypy1MA0RHpTY2POohEiDIQdhYgElXm926Vlj4FAs4=; b=C2hMlJVwVB6tE5cbs/23MSEqw1XVe8TYrMr+KEebF59ooUD87bY3JCF0Cq3umsILHPU3Pe CenM+BvitYGxDhMhkDB4V/Wlq/EGW9/SoRpTYwMUFE9OZTSYcQqkoojZHG/auL5l7RYDr9 yWA9872fS19CzTf9fvV1kWJ4YeZpHrE5NaMA3gujY4S3W7IQMY0YWm98V/5G6uGTuzyqNg P2Ylekjoyyxavy8ZRXoSagCSj8jrGCwTdpU5sCzmn3hrz3T2e+JWG6DJo45DYxJoG7riq7 ZIx70NaSicbPxlYmESL3JhSr0U0DvAUsb5iAEqXSGDM7fNgnFmjn3jEnqMVrug== Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (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 ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E7" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gXkmg4hfLz1FJS; Sat, 06 Jun 2026 16:49:39 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 42B06A64805; Sat, 06 Jun 2026 16:49:12 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (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) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 11D9E2D029E9; Sat, 6 Jun 2026 16:49:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id iyYAJdeOxY5f; Sat, 6 Jun 2026 16:49:37 +0000 (UTC) Received: from nv.t4-02.sbone.de (nv.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:22]) (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) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id E63402D029D8; Sat, 6 Jun 2026 16:49:36 +0000 (UTC) Date: Sat, 6 Jun 2026 16:49:36 +0000 (UTC) From: "Bjoern A. Zeeb" To: Warner Losh cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 3915ffb1c3e0 - main - loader.efi: Fix when staging moves late In-Reply-To: <6a23770c.38eb9.20880b83@gitrepo.freebsd.org> Message-ID: <48s4sp9p-3r66-9886-2455-32n94407qrs@mnoonqbm.arg> References: <6a23770c.38eb9.20880b83@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed On Sat, 6 Jun 2026, Warner Losh wrote: > The branch main has been updated by imp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3915ffb1c3e04b26d1506bf35d3f665b2e25a915 > > commit 3915ffb1c3e04b26d1506bf35d3f665b2e25a915 > Author: Warner Losh > AuthorDate: 2026-06-05 05:18:40 +0000 > Commit: Warner Losh > CommitDate: 2026-06-06 01:24:42 +0000 > > loader.efi: Fix when staging moves late > > Prior to this commit, we'd compute the page tables and have the last > entries point to the staging area. We'd then add some more metadata to > the image and boot. This assumed the staging area didn't need to move > for this last bit of data. > > However, if we go over the staging limit, when we copyin new data, we > grow the staging area, usually be moving it to a lower address. This > overage usually happens when we're loading modules and so things work > out nicely. Sometimes we're close to the limit, and we need to do this > growing inside bi_load, after we've computed the page table, making the > page table wrong, and the code we jump to random rather than the btext > routine we normally start at. > > To fix this, move computation of the table (but not its allocation) to > after bi_load, but before we call the trampoline. > > This problem was most observed when loading microcode for many peole, > but Gleb reproduced the error with a set of modules that didn't include > ucode. I looked through the PR (not all of it) and I have seen little explanations of how this bug was observed as a user, as in how far did the boot process get (possibly with beasty disabled). The reason I am asking is that I am wondering if the various occasions where people in the last years have seen "Booting [/boot/kernel/kernel]...", possibly "Loading splash ok" but never saw the boot marker "---<>---" (or any things in between) anymore could have been the same bug? > PR: 294630 > Reviewed by: kib (prior version) > Sponsored by: Netflix > MFC After: insta per re@ request > Differential Revision: https://reviews.freebsd.org/D57462 -- Bjoern A. Zeeb r15:7 From nobody Sat Jun 6 19:31:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXpMg6qqwz6gGMl for ; Sat, 06 Jun 2026 19:31: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXpMg3Pzyz40QX for ; Sat, 06 Jun 2026 19:31:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780774303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kYRdNLc20Su96+L5HScmD+wnH0YVIvPdv81wnFCdRqM=; b=hjrA8LJ19/BS0G7KsIXQ0BBT1dqNV2C2NJ4WLSImVmyVl+ReTfso1B5tvJrWpNFoRv3sJ7 DOiJQgcR3Gb9G+C2f1i+zaclB2DFPF4L5P/wVJJY40cPEADEVcKXxuQ5VLGtAhXChY1uxO jl+wqbdKszuiB1ZEpW5D1KbmE8YKR6bYwyuc7t7ZoK/qnoWVM08uqYwKfaNoeW82sfc/Xu tHqjgsjaQsrnQygKiVdF/b7FnWoLfUI5Fz1eOM5jx4stAaoUnz/pHjRujHKYxhKPe4jr1M epptmPFqlJ/FDfjLHoGxz56RqmEhIpLjxYWHdnTVFm9ZWA1rGJiiqfZs4A+5lg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780774303; a=rsa-sha256; cv=none; b=ra+xriBJhaVK6ctfLg8dkcjjGKTO6ZcG4hRaLKEbcjvqD8xdME0LWq1ERuv7/dIOK5az/K SbeKc8JmhDMOWB3TcfP1H13wuWEkYiIHYkHrXTGt/84xaGWVCerHY17u870bmwF/aQmq6U 6+6QZR5NJlLhNQtPRhWtsjDLvSHcZeoNsnNx3I03VQnp+wjMv1iyHjz4tu2JYuw5IQAoma XAL/mtb/f6v1Jn2oRnaxy91kcOaLRhI1s/OTAqNOzimPPaufil3Aa8wlrNjcXk8i78wzfT YhD2qb+8XmStEXaw4rlvfBg2SYqZf6VkeZzHl6RP5LXZLgcBAd//ZqXPldErYw== 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=1780774303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kYRdNLc20Su96+L5HScmD+wnH0YVIvPdv81wnFCdRqM=; b=a1U1AhQ/LK93E6l6zFBV5TDlo1c3n1M8ZSAKm+igsWpvmoY1mb/tIqJrHlYKgEiBCjkmxX gZQZe7D9nTUyAU5twjTIqU0aPggdYoXjlMfQPxfxmaq34+ElyOYv9Os+M65w++lSdK+xPt rgMwDIoUjTZlPE0YXjgTyd3Rq82MhCSPQBE0+p1mom+XwLbikT5HYUIou1eI33/OfA8G27 fsBrErJNfbayWOrcOTKmMWjRI3QEjvJsNexvBKuSNHf7rWvJEMzYPoWYwVvkSIiky9bgHn JZKYQAX/lTJwm583DOv2CRkX4FUVNGXXKznBFUcJXwFA5kyTqklugWgsukMN1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXpMg31rvzCkR for ; Sat, 06 Jun 2026 19:31:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d724 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 19:31:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: e5ef12ccd01f - main - nuageinit: install certs in /usr/share/certs/trusted List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e5ef12ccd01f8ec6c519bf2a56cac2808f78c51a Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 19:31:38 +0000 Message-Id: <6a24759a.3d724.1cecb5d6@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=e5ef12ccd01f8ec6c519bf2a56cac2808f78c51a commit e5ef12ccd01f8ec6c519bf2a56cac2808f78c51a Author: Baptiste Daroussin AuthorDate: 2026-06-06 19:30:53 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-06 19:31:21 +0000 nuageinit: install certs in /usr/share/certs/trusted Suggested by: kevans --- libexec/nuageinit/nuageinit | 2 +- libexec/nuageinit/nuageinit.7 | 2 +- libexec/nuageinit/tests/nuageinit.sh | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 8e207cae0a15..9a0399ad4862 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -572,7 +572,7 @@ local function ca_certs(obj) if obj.ca_certs == nil then return end local trusted = obj.ca_certs.trusted if trusted == nil or #trusted == 0 then return end - local certdir = root .. "/etc/ssl/certs" + local certdir = root .. "/usr/share/certs/trusted" nuage.mkdir_p(certdir) for i, cert in ipairs(trusted) do local certpath = certdir .. "/nuageinit-" .. i .. ".pem" diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 0bd652ae4fd5..e1c4b9d61382 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -276,7 +276,7 @@ The following keys are recognized: .It trusted A list of PEM-encoded CA certificates to add to the system trust store. Certificates are written to -.Pa /etc/ssl/certs/ +.Pa /usr/share/certs/trusted/ and .Xr certctl 8 rehash is executed. diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index b225289718e6..798ac235e122 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -1275,8 +1275,8 @@ ca_certs: -----END CERTIFICATE----- EOF atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2 - atf_check -o match:"dGVzdGNlcnQx" cat etc/ssl/certs/nuageinit-1.pem - atf_check -o match:"dGVzdGNlcnQy" cat etc/ssl/certs/nuageinit-2.pem + atf_check -o match:"dGVzdGNlcnQx" cat usr/share/certs/trusted/nuageinit-1.pem + atf_check -o match:"dGVzdGNlcnQy" cat usr/share/certs/trusted/nuageinit-2.pem true } From nobody Sat Jun 6 20:07:28 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXq8w5VKlz6gKjt for ; Sat, 06 Jun 2026 20: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXq8w1wNyz46N0 for ; Sat, 06 Jun 2026 20: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=1780776448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qwvUEp1YrEWufE6hf8Xm4mY0H71vi9NKuMHaIqw9t3k=; b=kCp9fvJ3q6yop44U6xk1jtSd8l3lw5ZpqJNr1JFjkEK4MI1F66cgaHj+eZLIvJpDdg70g/ Pxmlb+Lpb8cPcWNFwFfSboEwfr2qG6m0WObwzhc5Tho/6Z7a81wwLUpUA83fHTi6C43X+/ X0GeKZPnnk5liFsKVG9cr+IpNHkL5L3ngZw4R4ohmQ5D9oOkoUeaBU6SNkjJgTPGai9oXO nyaOMp3s/aLaQsLBnH6ZzUD27zA2HZT6ykpRmPLymz73GSHIm3SUiT6EsjwS2ruHAIVoz8 +Hf/aDieUyoKJVGwBFS6zgumeuD6BeBfXFabzt96LBup4xZDaABzf6GWeaJTTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780776448; a=rsa-sha256; cv=none; b=EP8Mfg1AQBMPyvB3WYAuoMd0esYbkAqpsf3d8hy6a45lLRaErjIXyUnkcvEfnup0h+G7nb i2H7aZ7jgtZ6HDk0Qrli54e4seJrv2ygvqNU3vFegoKsKxX9/F6JZp2PJ+LagLurN987u/ LEd9QwsOuxbuO7LYyNsp9XghC90b6Nug5uWNr55f1vcCbSTYAlCyXuep7nNzGF/U9BYa7u OLrL33Kq8mrwTDcp6+FaAPoRHndlqp6vktKf1+3ZXXQ7wbXzvvCzssP3HH5G1P8nswkHks v0GKbHY+XBHPsuwzs0JEpI9HDu14+k1WsaLYl1Ce6LNYu5LouHQky0R5qXA09g== 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=1780776448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qwvUEp1YrEWufE6hf8Xm4mY0H71vi9NKuMHaIqw9t3k=; b=Q10YX7b9XIXp0ihqQnPbh0KskbFjIiuKqcudVFY8mOyDkf1CS9XdxgH34VRN1CXQyZWQE/ YGs56CCw8rZ8Ti9IE4oS74zFXd4QftF9qkBgbmi951JlVe8Z6giliruRGCkRZO0VdetPTH owHnLE57tnR9UdySmPUnvmd4kcaxfVYP1jnNgUgVMJkCBQ9P5exYARp3it9HYJBm5Ei9hy XSmbhbcNt3Ef1KBCjhnNHZCdiQ0NoMPw4SeBXgY9cfSTivCppgd1b1fzRttqORhfDEJr5T iajlsd0IQemq1cQyZugT4mRVw0vvqm3XXCiw3KJMOVM255eGHFdbNZKsRXBmYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXq8w1CzvzVLC for ; Sat, 06 Jun 2026 20:07:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fce2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 20:07:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 261c97b47ea4 - main - kern_procctl: add get_reaper_or_p() helper List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 261c97b47ea4f120bfa4a04aab7d35c70dde8c8f Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 20:07:28 +0000 Message-Id: <6a247e00.3fce2.1f134a51@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=261c97b47ea4f120bfa4a04aab7d35c70dde8c8f commit 261c97b47ea4f120bfa4a04aab7d35c70dde8c8f Author: Konstantin Belousov AuthorDate: 2026-06-06 17:08:17 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-06 20:00:30 +0000 kern_procctl: add get_reaper_or_p() helper Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57487 --- sys/kern/kern_procctl.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_procctl.c b/sys/kern/kern_procctl.c index 57ca5665d453..db9de394c101 100644 --- a/sys/kern/kern_procctl.c +++ b/sys/kern/kern_procctl.c @@ -132,6 +132,13 @@ protect_set(struct thread *td, struct proc *p, void *data) return (0); } +static struct proc * +get_reaper_or_p(struct proc *p) +{ + sx_assert(&proctree_lock, SX_LOCKED); + return ((p->p_treeflag & P_TREE_REAPER) == 0 ? p->p_reaper : p); +} + static int reap_acquire(struct thread *td, struct proc *p, void *data __unused) { @@ -172,12 +179,9 @@ reap_status(struct thread *td, struct proc *p, void *data) rs = data; sx_assert(&proctree_lock, SX_LOCKED); - if ((p->p_treeflag & P_TREE_REAPER) == 0) { - reap = p->p_reaper; - } else { - reap = p; + reap = get_reaper_or_p(p); + if (reap == p) rs->rs_flags |= REAPER_STATUS_OWNED; - } if (reap == initproc) rs->rs_flags |= REAPER_STATUS_REALINIT; rs->rs_reaper = reap->p_pid; @@ -536,7 +540,7 @@ reap_kill(struct thread *td, struct proc *p, void *data) (REAPER_KILL_CHILDREN | REAPER_KILL_SUBTREE)) return (EINVAL); PROC_UNLOCK(p); - reaper = (p->p_treeflag & P_TREE_REAPER) == 0 ? p->p_reaper : p; + reaper = get_reaper_or_p(p); ksiginfo_init(&ksi); ksi.ksi_signo = rk->rk_sig; ksi.ksi_code = SI_USER; From nobody Sat Jun 6 20:07:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXq8x5bNbz6gKk0 for ; Sat, 06 Jun 2026 20:07: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXq8x3NX6z46BC for ; Sat, 06 Jun 2026 20: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=1780776449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KiFYTC5EXP3E4ItXOaa8tNPe0kHNkOwD4JNZNb+vaQE=; b=KsjTtq/eky0InWv5/prS+2qBZ1jK7vCkB9IwVFn/gEnol2LuB6LLKmvmPu58wW5J8gZLjY ancGoWD0JERUD3bJG+PklLl+Qlqktyy1rD9g8QqRVlLhRQlp36jHYbw1zT4d86vwEmhZy5 DarnSdc35UhQyE63ALR0m7b7llXEouWZFsngZxZQk1Ob0Ltfni4JB6t7AKsOLhC7Dc0n4c dxj/ygg6RlkYEkfpmw2Qz/JXyB13ubDVF7bqcT1k8T3/V0BJ5cJgilKtQGmBux5+B4b7Qu AL1NJuZonxf2SMJJv/RLj5d974TmIIX7++/LagAVLBpvBGJjnX94ezaLxH7SMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780776449; a=rsa-sha256; cv=none; b=Ch04Kmk48EZaFdxfrYRgFmrbp81PVAZ109nGp9pRxAWe9u2hokxhxdOyHqSnkTuiWjZDKq MLhvFklqLWDT31hhYT3h41FrroDLvk0iNNjVZD2EpVuCOBzGrZsZhMy7QiQBtVO3RLqVrA 7FZibXqBuLbLlHqrTTdXbMQECRat+IT+o62eWhEUZ+pVr7lGGpxEptHTxZM9lCHvj7ObJ8 oKLPBcoYKbUBthhVRhSlsAVBxZZQf7wnluWsqTYtURM/9bEYIp/qDq1Qc0yknIhmvxoxJY ujzhNeKlYsiS4sj1e1UM9t7ms0MjqFqlk6Jh5qOXWHywsiiIUNWQoQEK7Nk4iA== 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=1780776449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KiFYTC5EXP3E4ItXOaa8tNPe0kHNkOwD4JNZNb+vaQE=; b=gpAhucS8i6gxJOH/zuIabjzd5mUV3Mx4XHW3qeOdDmGd6DRzTQKowYWvTtVsMfHRGHqLjW 9PZUbAr6j/Ju93Q1w/8wsBhnFC9rC3OdVWJUakHdYhjuWkBvzg4nWvTqCJHD14mYTdlf0p e5/HRi/ICMT0nvWKl8DgEtIt7tlTYM5cTxbk98ugVwIF1hiSjbfS7KGo20vfCm03yCe+Yi 4CI85epPtIhA3xw6v3k28HnkiCFGh4bqMTpReCdfp0UH0vt6AaFtUL23AlaYhsGs/+o/l+ Q3Dk6G6QmrZORT2TGE23pNEKMO2G/hGqbDMI4fVRaGCM/Du85kkDSV7me3WRkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXq8x26ZhzVKy for ; Sat, 06 Jun 2026 20:07:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f7d3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 20:07:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 390ae06d4f52 - main - procctl(PROC_REAP_GETPIDS): re-validate reaper after relock of proctree_lock List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 390ae06d4f524a6f32383cbc1bcbdecdb3738bc3 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 20:07:29 +0000 Message-Id: <6a247e01.3f7d3.cfc2e0a@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=390ae06d4f524a6f32383cbc1bcbdecdb3738bc3 commit 390ae06d4f524a6f32383cbc1bcbdecdb3738bc3 Author: Konstantin Belousov AuthorDate: 2026-06-05 23:29:23 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-06 20:00:30 +0000 procctl(PROC_REAP_GETPIDS): re-validate reaper after relock of proctree_lock Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57487 --- sys/kern/kern_procctl.c | 43 ++++++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/sys/kern/kern_procctl.c b/sys/kern/kern_procctl.c index db9de394c101..1ff1b15767b5 100644 --- a/sys/kern/kern_procctl.c +++ b/sys/kern/kern_procctl.c @@ -203,28 +203,49 @@ reap_status(struct thread *td, struct proc *p, void *data) return (0); } +static int +reap_getpids_count(struct proc **reapp, struct proc *p, + const struct procctl_reaper_pids *rp) +{ + struct proc *reap, *p2; + int n; + + sx_assert(&proctree_lock, SX_LOCKED); + + reap = get_reaper_or_p(p); + n = 0; + LIST_FOREACH(p2, &reap->p_reaplist, p_reapsibling) + n++; + if (rp->rp_count < n) + n = rp->rp_count; + *reapp = reap; + return (n); +} + static int reap_getpids(struct thread *td, struct proc *p, void *data) { struct proc *reap, *p2; struct procctl_reaper_pidinfo *pi, *pip; struct procctl_reaper_pids *rp; - u_int i, n; + u_int i, n, n1; int error; rp = data; sx_assert(&proctree_lock, SX_LOCKED); PROC_UNLOCK(p); - reap = (p->p_treeflag & P_TREE_REAPER) == 0 ? p->p_reaper : p; - n = i = 0; - error = 0; - LIST_FOREACH(p2, &reap->p_reaplist, p_reapsibling) - n++; - sx_unlock(&proctree_lock); - if (rp->rp_count < n) - n = rp->rp_count; - pi = malloc(n * sizeof(*pi), M_TEMP, M_WAITOK); - sx_slock(&proctree_lock); + i = 0; + for (;;) { + n1 = reap_getpids_count(&reap, p, rp); + sx_unlock(&proctree_lock); + pi = mallocarray(n1, sizeof(*pi), M_TEMP, M_WAITOK); + sx_slock(&proctree_lock); + n = reap_getpids_count(&reap, p, rp); + if (n <= n1) + break; + free(pi, M_TEMP); + } + LIST_FOREACH(p2, &reap->p_reaplist, p_reapsibling) { if (i == n) break; From nobody Sat Jun 6 20:07:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXq911Ycjz6gKD8 for ; Sat, 06 Jun 2026 20:07: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXq9058cnz46HR for ; Sat, 06 Jun 2026 20:07:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780776452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b2SyBfQMgDxsCe3d/a/OsKkj0yISvBDIEy3D9qgsG9k=; b=ehKK2dySdU+dk/uSm6LW7frlerEwHnDmk/1ffwPOVLyaJYf7OclKMNtWMyfz2fp1jH3SA/ LyP7vD12oxl3lcQXxgabgKMXzYvubQjqCD2E0T8TmcKLlegN6LHQyvw/JJJON7YNC10YMu YCTtFQ7qi8I5KB4jD7E/TFB1gm8AU0noJHvQN429khv7kkUE8m6kmeSgHyRd78qJXNEdiN kkg8SAyE3IZfBTNslEDyay54w+4lxfo4ixnXB69pvHbiLIJkMmVhEjeOHv5B9lolz/yEVu 055pkLI8TQCEOUK7gsiGxbIe8bTHQPPYkxc/dD/HRojYhczPHi/YckPhXer7Jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780776452; a=rsa-sha256; cv=none; b=kHDL+GVzNY1z2F7In3SJywd5F1DJjw2NgyMUGYKPIUpQY1p3L7cRzc1Fgs9zsZzRB0nMeU GBmh2pmbaAalRWrEYsumxnmJj+vD6bKdxUmLVXIXhaW+cCn00AmF4X730xlMPLt5kU/tSJ zjHWRrwgNQb7Rj4HGfo+RYycxiFJ9LvqraJYuUdf0fwz9XJQTjtJtyn1fyIw03WSqhzf/W Cp8kbLzdCbH49JMpbvQhlz/YLhmjqLX4XsUGVN4uWo6f4OkBQqH+O34KQMOEgUWwyKlZJo h06I8zkZrZfMAcCP+Ce1MXNoCZRTf/vO8gl7ytbodLWbD8UHZ4xXe6X0FVl9IA== 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=1780776452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b2SyBfQMgDxsCe3d/a/OsKkj0yISvBDIEy3D9qgsG9k=; b=skI+tWaTkruDSI+CCWVMuDUrAER7+bmCjLL6EMWQxrSxYufFMDWlKmvwRCc1/H/mgil4bX aO2iKJIfZa/UD1vHQ6+VLFzuqX06gp16+o9FfE/DwONwnvHEr4pCA8+XL1VNviBWexBsC4 12b1Tap2OHvd13SrPPpLG8MSPzDA8hk4x0/P4/j3UvtnjDcrMQlEM6fvT2M0JnSE35Vsjx XzDdGHD+XfV2kckUXREF86I8fCiCI90wrHSggsSzzaNluDlIIwU7PvEuyPqwvri92q/vAY ByoplWcO2n2otrD3wHmWMeutwnzdBC+FxPP8l2+w3IIEb63EK8lctGIIElNagw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXq902hWrzTtg for ; Sat, 06 Jun 2026 20:07:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40812 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 20:07:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: a845480cc122 - main - procctl(): do not allow the process to exit inside kern_procctl_single() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a845480cc122f45cebc5fbbe43de6b1c096d852b Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 20:07:27 +0000 Message-Id: <6a247dff.40812.3a7d0d39@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a845480cc122f45cebc5fbbe43de6b1c096d852b commit a845480cc122f45cebc5fbbe43de6b1c096d852b Author: Konstantin Belousov AuthorDate: 2026-06-06 16:52:20 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-06 20:00:30 +0000 procctl(): do not allow the process to exit inside kern_procctl_single() Requested and reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57491 --- sys/kern/kern_procctl.c | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/sys/kern/kern_procctl.c b/sys/kern/kern_procctl.c index b1539c5cec4f..57ca5665d453 100644 --- a/sys/kern/kern_procctl.c +++ b/sys/kern/kern_procctl.c @@ -765,19 +765,15 @@ aslr_status(struct thread *td, struct proc *p, void *data) d = PROC_ASLR_FORCE_DISABLE; break; } - if ((p->p_flag & P_WEXIT) == 0) { - _PHOLD(p); - PROC_UNLOCK(p); - vm = vmspace_acquire_ref(p); - if (vm != NULL) { - if ((vm->vm_map.flags & MAP_ASLR) != 0) - d |= PROC_ASLR_ACTIVE; - vmspace_free(vm); - } - PROC_LOCK(p); - _PRELE(p); + PROC_UNLOCK(p); + vm = vmspace_acquire_ref(p); + if (vm != NULL) { + if ((vm->vm_map.flags & MAP_ASLR) != 0) + d |= PROC_ASLR_ACTIVE; + vmspace_free(vm); } *(int *)data = d; + PROC_LOCK(p); return (0); } @@ -844,14 +840,11 @@ wxmap_ctl(struct thread *td, struct proc *p, void *data) int state; PROC_LOCK_ASSERT(p, MA_OWNED); - if ((p->p_flag & P_WEXIT) != 0) - return (ESRCH); state = *(int *)data; switch (state) { case PROC_WX_MAPPINGS_PERMIT: p->p_flag2 |= P2_WXORX_DISABLE; - _PHOLD(p); PROC_UNLOCK(p); vm = vmspace_acquire_ref(p); if (vm != NULL) { @@ -862,7 +855,6 @@ wxmap_ctl(struct thread *td, struct proc *p, void *data) vmspace_free(vm); } PROC_LOCK(p); - _PRELE(p); break; case PROC_WX_MAPPINGS_DISALLOW_EXEC: p->p_flag2 |= P2_WXORX_ENABLE_EXEC; @@ -881,15 +873,12 @@ wxmap_status(struct thread *td, struct proc *p, void *data) int d; PROC_LOCK_ASSERT(p, MA_OWNED); - if ((p->p_flag & P_WEXIT) != 0) - return (ESRCH); d = 0; if ((p->p_flag2 & P2_WXORX_DISABLE) != 0) d |= PROC_WX_MAPPINGS_PERMIT; if ((p->p_flag2 & P2_WXORX_ENABLE_EXEC) != 0) d |= PROC_WX_MAPPINGS_DISALLOW_EXEC; - _PHOLD(p); PROC_UNLOCK(p); vm = vmspace_acquire_ref(p); if (vm != NULL) { @@ -897,9 +886,8 @@ wxmap_status(struct thread *td, struct proc *p, void *data) d |= PROC_WXORX_ENFORCE; vmspace_free(vm); } - PROC_LOCK(p); - _PRELE(p); *(int *)data = d; + PROC_LOCK(p); return (0); } @@ -1175,9 +1163,15 @@ sys_procctl(struct thread *td, struct procctl_args *uap) static int kern_procctl_single(struct thread *td, struct proc *p, int com, void *data) { + int error; PROC_LOCK_ASSERT(p, MA_OWNED); - return (procctl_cmds_info[com].exec(td, p, data)); + if ((p->p_flag & P_WEXIT) != 0) + return (ESRCH); + _PHOLD(p); + error = procctl_cmds_info[com].exec(td, p, data); + _PRELE(p); + return (error); } int From nobody Sat Jun 6 20:17:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXqNr5YKFz6gL9B for ; Sat, 06 Jun 2026 20:17: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXqNr4z0cz49dM for ; Sat, 06 Jun 2026 20:17:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780777068; 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=LwugEEKCRm6fS4/wj82JLCWZTEeZiEY/2feanLxLMG4=; b=tWge/K6ro3yhurLY6DS4LcvLPj4e3ckPGXZlX6JGbR4rWd+p0Zgi88hO9rMGmJpvVqtcNd CWeIZvmQJE7crdPS1t0jY0cf4JT5vuRhlAOZUZj7daEe0GbCzYhAtkYceuDAybX9T+BMAZ fw8Qyd3cZybY/v/dLdn6HPNijEZpTRLDhLcebw+nTeFJ1sHYAmB9n0ezg+Pks+GOw0tQU3 t+G7GKibTqTafq8gGEqKdR4Ncvza+/0GsKYbuqJbi7PIZogGdI96OhPBXgs7uLCiPl2s1q OzEEr81Ws95itGxsWpaK8xbonsiOGS1TrfUyKlpiLnZLVIMR8DtrQ21Gzc05vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780777068; a=rsa-sha256; cv=none; b=SCD13rP/uuquGNDMFgOhN/3pj/50w90SLb1iqFkaHN2OI9U8ZDdedCPdBy0XJXNIkOIl23 aCxxajLADq1UYeIZdzIDwLYU8ygOIKhDZRt+QdkYrGNoliig712YiJEpZOW5eUqVMluron ADxompKTB5m0zsL8dkqzwIuC+9m2WMVMcthoSTOVBM3VKVmoyAKprcKRaag8WGS+i3Hzn0 bHeSnNtWbg2QraIDdyNOgnB7m3kBoKaV3El9IoWW6H6mCKkO/4LVSqCd2km/ayK484sE2J /KFwjIwkCRo8HL/RPqeAODIWtB0GJNZR1wKkYWQI4azcds8zJGEODYtRvIC0+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=1780777068; 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=LwugEEKCRm6fS4/wj82JLCWZTEeZiEY/2feanLxLMG4=; b=mSi7h/Gvp6Ux34vHb779QRfKZRnodHnZA/j0RL0n+DJuqa3k+zW53u5z8hmi+v+5zRjjoo /11u1RB9H2aJlaOWswQpDwSlGo9ku6SX2H2/uCBYRaJpie7RCQAIdFRw0QnvNSj13opI3z fOtxA3gIkHiUp7nANDvauUwLNvsA0WICcv9nDipaNgYinyHbehN95hBXMvaFZDVhvFkIYN 208Rc5IH1NNH5Du3yWF4XOc8GiQcBcFwBVnnNd5R5yLqA4emgLduNWo21EclX0mJOppYwx +A1Cuhb/yIbJh6e2kgdxRuGk2rOvZXDn+ZGZOlvLns9Fqugnl19yTS+DHGUOug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXqNr4NMQzDSx for ; Sat, 06 Jun 2026 20:17:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 41a0b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 20:17:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Adrian Chadd Subject: git: 4a299ef19c7e - main - firewire: clean up XXX comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a299ef19c7ed20aca6593a1c01b2dc16d9af1a0 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 20:17:48 +0000 Message-Id: <6a24806c.41a0b.604df11a@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=4a299ef19c7ed20aca6593a1c01b2dc16d9af1a0 commit 4a299ef19c7ed20aca6593a1c01b2dc16d9af1a0 Author: Abdelkader Boudih AuthorDate: 2026-06-06 20:17:18 +0000 Commit: Adrian Chadd CommitDate: 2026-06-06 20:17:18 +0000 firewire: clean up XXX comments Remove stale and misleading XXX comments throughout firewire.c. Most were from the original 2002 codebase and either described correct behavior or noted aspirational improvements that never happended. Two actionable items retained as TODO: config ROM CRC validation and pending xfer cleanup on detach. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D57466 --- sys/dev/firewire/firewire.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c index a4316a636720..079a50413ffa 100644 --- a/sys/dev/firewire/firewire.c +++ b/sys/dev/firewire/firewire.c @@ -204,7 +204,7 @@ fw_asyreq(struct firewire_comm *fc, int sub, struct fw_xfer *xfer) return EINVAL; } - /* XXX allow bus explore packets only after bus rest */ + /* Reject non-CSR transactions until bus exploration completes */ if ((fc->status < FWBUSEXPLORE) && ((tcode != FWTCODE_RREQQ) || (fp->mode.rreqq.dest_hi != 0xffff) || (fp->mode.rreqq.dest_lo < 0xf0000000) || @@ -305,7 +305,7 @@ fw_asystart(struct fw_xfer *xfer) xfer->q->queued++; #endif FW_GUNLOCK(fc); - /* XXX just queue for mbuf */ + /* Kick DMA for non-mbuf xfers */ if (xfer->mbuf == NULL) xfer->q->start(fc); return; @@ -531,7 +531,7 @@ firewire_detach(device_t dev) callout_stop(&fc->bmr_callout); callout_stop(&fc->busprobe_callout); - /* XXX xfer_free and untimeout on all xfers */ + /* TODO: cancel pending xfers in atq/ats queues */ for (fwdev = STAILQ_FIRST(&fc->devices); fwdev != NULL; fwdev = fwdev_next) { fwdev_next = STAILQ_NEXT(fwdev, link); @@ -688,7 +688,7 @@ fw_reset_crom(struct firewire_comm *fc) bzero(root, sizeof(struct crom_chunk)); crom_add_chunk(src, NULL, root, 0); - crom_add_entry(root, CSRKEY_NCAP, 0x0083c0); /* XXX */ + crom_add_entry(root, CSRKEY_NCAP, 0x0083c0); /* private company_id */ crom_add_entry(root, CSRKEY_VENDOR, CSRVAL_VENDOR_PRIVATE); crom_add_simple_text(src, root, &buf->vendor, "FreeBSD Project"); @@ -1249,7 +1249,6 @@ fw_phy_config(struct firewire_comm *fc, int root_node, int gap_count) if (gap_count >= 0) fp->mode.ld[1] |= (1 << 22) | (gap_count & 0x3f) << 16; fp->mode.ld[2] = ~fp->mode.ld[1]; -/* XXX Dangerous, how to pass PHY packet to device driver */ fp->mode.common.tcode |= FWTCODE_PHY; if (firewire_debug) @@ -1328,7 +1327,6 @@ void fw_sidrcv(struct firewire_comm *fc, uint32_t *sid, u_int len) node = self_id->p0.phy_id; if (fc->max_node < node) fc->max_node = self_id->p0.phy_id; - /* XXX I'm not sure this is the right speed_map */ fc->speed_map->speed[node][node] = self_id->p0.phy_speed; for (j = 0; j < node; j++) { @@ -1477,7 +1475,7 @@ fw_explore_csrblock(struct fw_device *fwdev, int offset, int recur) if (err) return (-1); - /* XXX check CRC */ + /* TODO: validate directory CRC */ off = CSRROMOFF + offset + sizeof(uint32_t) * (dir->crc_len - 1); if (fwdev->rommax < off) @@ -2062,10 +2060,8 @@ fw_rcv(struct fw_rcv_buf *rb) printf("receive queue is full\n"); return; } - /* XXX get xfer from xfer queue, we don't need copy for - per packet mode */ - rb->xfer = fw_xfer_alloc_buf(M_FWXFER, 0, /* XXX */ - vec[0].iov_len); + rb->xfer = fw_xfer_alloc_buf(M_FWXFER, 0, + vec[0].iov_len); if (rb->xfer == NULL) return; fw_rcv_copy(rb) @@ -2170,7 +2166,7 @@ fw_try_bmr(void *arg) #ifdef FW_VMACCESS /* * Software implementation for physical memory block access. - * XXX:Too slow, useful for debug purpose only. + * Debug only, too slow for production use. */ static void fw_vmaccess(struct fw_xfer *xfer) @@ -2193,7 +2189,6 @@ fw_vmaccess(struct fw_xfer *xfer) } rfp = (struct fw_pkt *)xfer->recv.buf; switch (rfp->mode.hdr.tcode) { - /* XXX need fix for 64bit arch */ case FWTCODE_WREQB: xfer->send.buf = malloc(12, M_FW, M_NOWAIT); xfer->send.len = 12; @@ -2287,15 +2282,13 @@ fw_bmr(struct firewire_comm *fc) /* Check to see if the current root node is cycle master capable */ self_id = fw_find_self_id(fc, fc->max_node); if (fc->max_node > 0) { - /* XXX check cmc bit of businfo block rather than contender */ if (self_id->p0.link_active && self_id->p0.contender) cmstr = fc->max_node; else { device_printf(fc->bdev, "root node is not cycle master capable\n"); - /* XXX shall we be the cycle master? */ + /* TODO: issue PHY config to force root change + bus reset */ cmstr = fc->nodeid; - /* XXX need bus reset */ } } else cmstr = -1; From nobody Sat Jun 6 20:17:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXqNx3kW9z6gLrN for ; Sat, 06 Jun 2026 20:17: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXqNx0Jdrz49xg for ; Sat, 06 Jun 2026 20:17:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780777073; 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=0c/M7vB4qiUR2Redtv2lybG1NaXtcEHtrF/B1Xe3WX8=; b=HLvDjVSj7WpRObruQiMMZIw5wtcL612e6cjnKlNmgUlXVNSdJNgXbEtYMdLd0pOS8EH09W J+AVCsGATfSQZcIdEhwnbP4myyELnsrEigJef/xOOPCcZYB1RBMS1LPI+KxCMQHxeDmpw+ R1NNhtaCGgQ6g8GORZG1lTqCdlAkAVCNlatjbQJpX8m8BCr77ktun2t2aEQNEbuKPHipfg K8Zhy1PN0wpLJuNg2YVpOgcLRHXCNQ34NKQW85aXEDVh1srtd8NvUdHO9xXbiN570PKbnm AueQW/vYXqgNEpmedRwa1XRHlInrk0EP99t20+qcSsZCaKVBkjGmPPI2jNN8WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780777073; a=rsa-sha256; cv=none; b=jqeW1enmYKcm/S9MPiur0PyPGEh3PsL05ae5HPkeV4FgXORuIG5qMkMcfQZ/2Ly/GgZviH 1qxTo+5ycrK+Amfuop6w8Q19SRowBg9XgCgP5GKc0K2VnyIOytU9d44Tuq/LkAck40xB1f gmv+wKAsp4uR6clLJWUh5ntaZKw6cNSlPenipXEQx294vVJDdnOEJiULK0GfTuUg9cHsCQ LO0gjj2njYZ5AVYw10EkJ2QhpV4HsqhiwyTP/saIRemrQFe4wy7Q2bhSINXgY/1IhcMR7g iE7luMAXmvIXr8Lcel7G2t2diTMhpLOqd40sffwQmeFZ/81hVE/9AcsnStGvRQ== 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=1780777073; 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=0c/M7vB4qiUR2Redtv2lybG1NaXtcEHtrF/B1Xe3WX8=; b=T7N5MLyT0GszIInO4TTzowqOdo3qpaBoRD4HTWvOU24R4WWhUZ66uIJtMxEV6vqT0V9PrO eg3mdcVODyJEbFpU76cT+JmhAgMiCoZOlTvjvl9KA+BqPs+0lrEJczihaRO8k7VJUBOot1 3higiytE8cn/sbMF+zbNKLYK61ay+DphZOlzHrs7HoQ+drgGSZrzO6gq0wKH10vbcAOVtU yQchJ3tRO7xGcuZ3eIGDjndUJmmd8NrSBRLi+BmEiM/ngtMvxO6G9zlNx328B0bQxvTU7q Cd1reI59qhwrk31PmIZfMA9JwWkONXp8P26+5UH3IKqR8Utx6OgHHXTVX7MXXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXqNw5fh5zVc5 for ; Sat, 06 Jun 2026 20:17:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 41b8c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 20:17:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Adrian Chadd Subject: git: a620746da173 - main - fix(fwe): add missing net epoch around ether_input List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a620746da173d1583b342b096419297e33d0ed15 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 20:17:47 +0000 Message-Id: <6a24806b.41b8c.6e6b402@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=a620746da173d1583b342b096419297e33d0ed15 commit a620746da173d1583b342b096419297e33d0ed15 Author: Abdelkader Boudih AuthorDate: 2026-06-06 20:08:59 +0000 Commit: Adrian Chadd CommitDate: 2026-06-06 20:08:59 +0000 fix(fwe): add missing net epoch around ether_input Wrap the if_input() call in fwe_as_input() with NET_EPOCH_ENTER/EXIT. The network stack requires epoch protection when delivering packets via if_input, and fwe was missing it. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D57459 --- sys/dev/firewire/if_fwe.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/firewire/if_fwe.c b/sys/dev/firewire/if_fwe.c index 4f8d0087e9ab..5d7299b4acf8 100644 --- a/sys/dev/firewire/if_fwe.c +++ b/sys/dev/firewire/if_fwe.c @@ -548,6 +548,7 @@ fwe_as_input(struct fw_xferq *xferq) struct fwe_softc *fwe; struct fw_bulkxfer *sxfer; struct fw_pkt *fp; + struct epoch_tracker et; #if 0 u_char *c; #endif @@ -599,7 +600,9 @@ fwe_as_input(struct fw_xferq *xferq) c[20], c[21], c[22], c[23] ); #endif + NET_EPOCH_ENTER(et); if_input(ifp, m); + NET_EPOCH_EXIT(et); if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); } if (STAILQ_FIRST(&xferq->stfree) != NULL) From nobody Sat Jun 6 20:46:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXr2R05tDz6gP2C for ; Sat, 06 Jun 2026 20:46: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXr2Q6fVQz4Ft7 for ; Sat, 06 Jun 2026 20:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780778814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/3QZCq3s6v27DJ5QRXaei3ZxV299CG+NmfwCn2adUeo=; b=qdpPcnI75oegmZaxr1mjA0g8YvJph1TKYIOgEJ6UP5qT/0Jyp/gSvdRA5t2t4th1PWfWM3 3wLQGtgvnvTugIi/2iOIDaiuHzJg50umpycWTb2ZA1wsummdTBnv15tNoTkO1FYmeWA5dA FrDcjiMDoX+BAdda2P9b70zlJtHlRK/FRNPU5ZssNyZkg6R+jcGVtThhEkVys+W2nBIGSM FkmBtiyVnLgljk38ccOEzUh4Ts/bYsaWajgtVwMS+jYrAg0qLgkaMGSbN0Z35T1ymHyBCl VDLF0VRVw0X+H/ZYVLaphvUVphpE8bmX94CZPqEcXkvoPrk6tEkrGGNX5kuYPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780778814; a=rsa-sha256; cv=none; b=bc440Ml71bYs7oDL17ccBdPElw3RwUDCo+Y8fvfCrXIgJ7bwXPItVbbe40QgLFl5cnCNc/ DBWMzHP8SyrzrE4ZldJ2FAfG+FoDLQguNE+v3xiYRvKAhAWN0G4JEu9EyQ7rvS4oTrr11B N58lDcUfO8hKXo6c6LXwDli7fyAKmwAz9MdYuXZmybux2wcFpKdMmaqf7Gyn/LSdao3Lns lF+vEaj8o3/jRThcgByXHsdFAI4DgBoxlKfspgT7pgW0i1qgeDmwRK+NJTC9aGv1aaj7Ol 9eO8rfo/GO7FNgOkm683uh7Fz7apF33gO6iCPPlMapkBVqUTqmogtihunCcerg== 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=1780778814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/3QZCq3s6v27DJ5QRXaei3ZxV299CG+NmfwCn2adUeo=; b=HD/WBfGXUG3DAa64/15GUjJiLkYj7X5wgps5AephbB74A0N3wE/KhLKz70Dw3GyL8AwBva CU2Nu4wMFd9/oiVAhiu4E2octuw/QykiUaNygSZ6GAI1NaV/wPzUwO+OlUu0BFuIKhP1Ge CWdjg+pwkfHMb0cijWMaYCufUfwKZZ7JI7HsWvDV9ogScWPjYMATlqbQOsouzazim1Rmok 0hXuVwiVl0ulIy6EWfWY/29CuXRdzMPpHooNucuAlZd12qyAHaeWC6brXQrSQQZhllte69 S1qXZN4BXtKh0J9bU//AJn+IL3WH/q/ilf/jh5r4nV2q9H/ze3PRfnnr+TYo6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXr2Q6Dr9zX6s for ; Sat, 06 Jun 2026 20:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4297a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 20:46:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Martin Matuska Subject: git: a12c6ed62fcd..a170134febea - vendor/openzfs/master - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/vendor/openzfs/master X-Git-Reftype: branch X-Git-Commit: a170134febea405c6b6f5ed51724cdcfb6d8e726 X-Git-Oldrev: a12c6ed62fcd06093b95616515e4716b0b0bc038 X-Git-Newrev: a170134febea405c6b6f5ed51724cdcfb6d8e726 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 20:46:49 +0000 Message-Id: <6a248739.4297a.7a8ee8f3@gitrepo.freebsd.org> The branch vendor/openzfs/master has been updated by mm: URL: https://cgit.FreeBSD.org/src/log/?id=a12c6ed62fcd..a170134febea c4545ba037f2 ZTS: use 'zpool trim -w' in zpool_trim_partial.ksh 8fdc866757a9 zfs: annotate nested dd_lock in reservation sync accounting bdb8e8a2c5ab ZTS: removal_with_export.ksh busy export d65015938e19 Vdev allocation bias/class change 500b44eef286 ZTS: zpool_iostat_002_pos remove sleep 439b802e7716 sa: fix sa_add_projid lock ordering a2d053329c2a Add some more file layout output, triggered by -v 6a25950e7296 ZTS: redundancy_draid_spare1 956deba27b56 zdb: detect BRT and DDT leaks during block traversal c7cfe0805cd9 zarcstat: detect attached L2ARC device with no data 9ae9f2e9831d Linux: annotate nested xattr setattr znode locks 45dddc4523c7 zfs.4: Fix documentation of zfs_arc_dnode_reduce_percent 35853ac849d9 CI: skip qemu matrix for documentation-only pull requests 968f4db039f0 zpool-attach.8: add EXAMPLES section d50f5b6d0b9e dsl_dir: avoid dd_lock during snapshots_changed updates 8ff64005a2ac zap: split implementation out into more files bb304d33bb5d zap: public interface cleanup 00a941ea0937 zap: internal interface cleanup eaaea55b6931 Consistently encode DRR_BEGIN packed nvlist payloads with NV_ENCODE_XDR 59e10e7b9283 libzfs_pool: document export and initialize functions 90a174038ead CI: FreeBSD 15.1 STABLE 414ce4b5fc59 Linux: expose zfs_arc_no_grow_shift as a module parameter 532760e19777 Linux: avoid znode list lock inversion during resume 58c8dc5f6926 linux/zpl_super: handle 'source' option directly 181e1b52276a Fix double free for blocks cloned after DDT prune f5733f6fa3bd Integrate DDT and BRT tests 3e5713771d71 ZTS: zhack_metaslab_leak.ksh busy export 47af5e4efcb7 arc: export additional required symbols 8c3b0c7328ad Remove arc_bcopy_func() function 8b24164f29da CI: Fix 99.99 META version be6b6ea8c6ae linux: suppress reclaim lockdep in zfs_inactive via rwlock wrappers fed1b58a6da7 zap: fix refcount tag use in zap_lookup_length_uint64 and zap_prefetch_uint64 edb9af386ec1 ddt_log: fix refcount tag between ddt_log_begin & ddt_log_commit 7012b46b7bfa dsl_bookmark: fix redaction list refcount tag when upgrading spill 3800525cd2cc Fix aarch64 build failure by removing earlyclobber (#18532) 9e9a012a0300 CI: Remove deprecated Fedora 42 839ec56120cf zstream: dump backtrace on crash 2fa83c008ede zstream: init/fini refcount tracking f4a8b0f73150 CI: Allow testing with a newer GCC on ARM builder e4b0d59da997 zap: rename 'lockdir' to 'lock' d3523f909398 zap_lock: make it be a simple wrapper around zap_lock_by_dnode() 18d910bd2ce0 mzap_create_impl: use zap_lock_by_dnode() c8f9b4c4da44 zap: lift and simplify zap_t lock upgrade 2f283c99cc8c zap: remove refcount tags from backend functions 6fb72fda0f60 zio_ddt_write: compute have_dvas after taking dde_io_lock 40a87651d49a zap_impl: use flex array field for mzap_phys_t.mz_chunks 891e379d0ff2 Fix failfast default and usage bd02c10b00e1 zap: make the _by_dnode() op variants be the primary implementation eed67e40430e zap: split objset+object implementations to use a dnode 3f44da701b5f CI: remove FreeBSD 13.5 (EOL April 30, 2026) 536c06be82cd config: show progress output for kernel API checks ea7fd8a7bc97 libzfs_pool: add docstrings to several public functions e5473afe18a0 spl_kvmalloc: remove __GFP_COMP before calling vmalloc() 5fde52c3f9d2 CI: Add Ubuntu 26.04 builder bd2f0aa0574f CI: Fix qemu-guest-agent systemd enable c59d690e567f ZTS: Pass dec instead of hex to mknod d64dcd257513 ZTS: statx_dioalign.ksh update to stride_dd f9bf31ff7a55 ZTS: zfs_unshare_006_pos.ksh enable usershares b394b8742e6f ZTS/zfs_mount: lift & update helpers from zfs_mount_remount 20437d856cf0 ZTS/zfs_mount: test that ro/rw mount methods remain consistent 58d719442682 linux/super: properly apply ro/rw mount option to superblock 15761954d74b CI: Build custom branch from zfs-qemu-packages 971791762a7e CI: enable FreeBSD 15.0-RELEASE in matrix 1916c2c55280 CI: skip full CI runs on push events accb2b418e98 CI: run full CI when a workflow YAML changes 82b33c00347d unit: a unit testing framework a20ef9c4e703 unit: dnode/dbuf/dmu_tx mocks 1d601eb83b1b unit/test_zap: a trivial ZAP unit test suite 8f6f4bcb544c ZTS: update sanity.run file 112b0131b989 zpl_xattr: stop heap-allocating prefixed xattr names af0228bb5409 ZTS: zpool_expand_005_pos: correct variable name in expandsize check 88656cc95b69 ZTS/alloc_class: move file_in_special_vdev to alloc_class.kshlib efdc755761ca ZTS/zinject: cover label, object, delay, panic and verify effect (#18579) 2e5b9bd1168c unit: zero coverage counters before coverage run 605ae841022c unit: TOPT make arg to pass test options through to the test binary 6ecaa194b61c zap: expose _by_dnode() variants of remaining core functions 1294d4420393 test_zap: cover all core ZAP operations 6c08f5db5162 config: detect the right way to get pthreads 8bfac28f1592 .github: update workflows README 6303a582421d spa: expose max_missing_tvds_cachefile and _scan on Linux dc585960e0c7 Linux 5.6 compat: fix fs_parse API mismatch *** 48 LINES SKIPPED *** From nobody Sat Jun 6 20:49:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXr5M5xvLz6gPHP for ; Sat, 06 Jun 2026 20:49: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXr5M3k7jz4G55 for ; Sat, 06 Jun 2026 20:49:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780778967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MMOg3elvbc/hLrgJz3d1EnXiL9zlOEJdkMHnpUUUi2w=; b=nCzcgE8mF2yAEYxR1/GPzYcYrWTu25+M4iwOk43YINQEhA44H/6QEAVrzaYON15aKIqRH0 C4MGr3S+1F4b6s+miwCI4JCniX82UCwxQQKAMKKCn8CbqWJXIzUXM0QcyZYJ4iVKeo+sR0 5g4DTXExbx6sujzpZbYKRW0hYWKi3A9s9LxoaSct/b1rOxSJSQDJ0JeaJ9ZbGrJdfCpSjm fh9A5IVYIFrXISXGYSlf5gJm/BlJH5eFQ7DAX0IqVlU2hLTa/uWTfCm3WeelA2vf8BuwV7 RPF/n1dZrMdxGudjlsP9AQJORol4Z416hDykmut2eGmRVcCkj4v4SJv6MsqIlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780778967; a=rsa-sha256; cv=none; b=IRJ1JXAv70jA/Era+z9gq4stI7FNv2OdLBnCUDCANudlVLe5vdi6RvILS3WmtQR1nWFH4j Ap6o/M0E0sO9uxulwQ2r5ETlBhO+pVvhAMr+GyHpQUswEcatBtM6UYsVWdpQMSB7sf9xzY F/5eWoVHmqlsOKOlZs5wHv0AG57rbf266JF19OQswM7m9x5PgVk2qDr/qX0d8ZCpt7MLQH KbUsQJaotmQ2b1+pg9RPEHYTpCAYzhNhpySiTA8kcnGNTGQlhdy6/r4RZhg38+lB5kIiK4 XQiyqr06u4S9MrIzZcO5Nl4RDgySy+ffi+Gc0ZQoNnuMZ5/SmNwi8AGXmX58eQ== 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=1780778967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MMOg3elvbc/hLrgJz3d1EnXiL9zlOEJdkMHnpUUUi2w=; b=cS21yJrFSWDtymCH2vBIWJhb6FgnTR83vZu2TWUax5TQJTcVYkv5iINGjVySIwacvFBgUg aXZYtaiP2ax8dS85ijHPkiWYX1k3rnDOLijzZY3+jhUTmlRviGXIEBUQRw2dVtqH27nsjE ZzxoP0wl+YTv12fSkaV+mVpj3mVYExuWuk8TridyGJvHiivHCeNGr4NsvoU4dieOKgIRbQ 3xnylhsia7NxO6mgnD8U0mqVe5VxiQj2YiwoNLyLpNhsbAoBDINxO1KFg8NdZjC+8EmpnZ u5XqC4XtEmNJqNcb5x8/OykkEh+JChI3QS/ySxk2QPyzjrDTrOFYTNqXYkK51g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXr5M2jdJzWs5 for ; Sat, 06 Jun 2026 20:49:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45300 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 20:49:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: d94972174560 - main - zfs: merge openzfs/zfs@a170134fe List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d9497217456002b0ddad3cd319570d0b098daa29 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 20:49:26 +0000 Message-Id: <6a2487d6.45300.24174345@gitrepo.freebsd.org> The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=d9497217456002b0ddad3cd319570d0b098daa29 commit d9497217456002b0ddad3cd319570d0b098daa29 Merge: 4a299ef19c7e a170134febea Author: Martin Matuska AuthorDate: 2026-06-06 20:48:32 +0000 Commit: Martin Matuska CommitDate: 2026-06-06 20:48:32 +0000 zfs: merge openzfs/zfs@a170134fe Notable upstream pull request merges: #18372 eaaea55b6 Consistently encode DRR_BEGIN packed nvlist payloads with NV_ENCODE_XDR #18410 891e379d0 Fix failfast default and usage #18470 a2d053329 zdb: Add some more file layout output, triggered by -v #18472 d50f5b6d0 dsl_dir: avoid dd_lock during snapshots_changed updates #18493 d65015938 Vdev allocation bias/class change #18497 8fdc86675 zfs: annotate nested dd_lock in reservation sync accounting #18494 956deba27 zdb: detect BRT and DDT leaks during block traversal #18499 c7cfe0805 zarcstat: detect attached L2ARC device with no data #18503 439b802e7 sa: fix sa_add_projid lock ordering #18508 968f4db03 zpool-attach.8: add EXAMPLES section #18513 45dddc452 zfs.4: Fix documentation of zfs_arc_dnode_reduce_percent #18516 8ff64005a zap: split implementation out into more files #18520 181e1b522 Fix double free for blocks cloned after DDT prune #18535 -multiple zstream: fix crashes when refcount tracking enabled #18536 -multiple refcount tag fixups #18541 a65ed7afd zpool/zfs: accept --help and -? after a subcommand #18544 6fb72fda0 zio_ddt_write: compute have_dvas after taking dde_io_lock #18546 -multiple zap: internal locking uplift #18550 40a87651d zap_impl: use flex array field for mzap_phys_t.mz_chunks #18551 -multiple zap: make the _by_dnode() op variants be the primary implementation #18570 112b0131b zpl_xattr: stop heap-allocating prefixed xattr names #18578 4bc8c39b6 zed: Prefer dRAID distributed spares to regular ones #18596 e30ab5fa4 FreeBSD: Make it possible to build openzfs.ko with sanitizers #18597 472ddca11 zed: Prefer spares with matching rotational and size #18599 c90dc2808 enforce exact decompressed length for lz4, gzip, and zstd #18603 -multiple zap: add zap_cursor_init_by_dnode; cursor unit tests; mock dnode refcounts #18604 59dc88602 nvpair: Check for un-terminated strings in packed nvlist #18606 ef6f26145 When reading a vdev label skip libzfs_core_init() #18613 0aa4088dc sharenfs: Check for invalid characters #18615 80fb85b80 Fix the integer type in zfs_ioc_userspace_many() #18616 e199f6d98 Fix uninitialized variable warning in vdev_prop_get() #18617 7de42602c Extend dataset zfs_ioc_set_prop() secpolicy #18622 5fea0c838 Parallelize metaslab_sync_done() calls #18623 cab50d5ad Add additional verification of size fields and strings #18630 -multiple zap: misc function removal / uplift / tests #18633 a8ef128da Fix uninitialized variable warning in zil_parse() Obtained from: OpenZFS OpenZFS commit: a170134febea405c6b6f5ed51724cdcfb6d8e726 cddl/lib/libzpool/Makefile | 2 + sys/conf/files | 2 + sys/contrib/openzfs/.github/workflows/README.md | 129 +- .../openzfs/.github/workflows/checkstyle.yaml | 2 +- sys/contrib/openzfs/.github/workflows/codeql.yml | 8 +- .../.github/workflows/scripts/generate-ci-type.py | 23 + .../.github/workflows/scripts/qemu-1-setup.sh | 2 + .../.github/workflows/scripts/qemu-2-start.sh | 53 +- .../.github/workflows/scripts/qemu-3-deps-vm.sh | 38 +- .../.github/workflows/scripts/qemu-3-deps.sh | 18 +- .../.github/workflows/scripts/qemu-4-build-vm.sh | 34 +- .../workflows/scripts/qemu-6-lustre-tests-vm.sh | 8 +- .../.github/workflows/scripts/qemu-6-tests.sh | 8 + sys/contrib/openzfs/.github/workflows/smatch.yml | 9 + sys/contrib/openzfs/.github/workflows/zfs-arm.yml | 51 +- .../.github/workflows/zfs-qemu-packages.yml | 14 +- sys/contrib/openzfs/.github/workflows/zfs-qemu.yml | 31 +- sys/contrib/openzfs/.github/workflows/zloop.yml | 8 + sys/contrib/openzfs/Makefile.am | 1 + sys/contrib/openzfs/README.md | 4 +- sys/contrib/openzfs/cmd/Makefile.am | 1 - sys/contrib/openzfs/cmd/zarcstat.in | 6 +- sys/contrib/openzfs/cmd/zarcsummary | 5 +- sys/contrib/openzfs/cmd/zdb/zdb.c | 229 +- sys/contrib/openzfs/cmd/zed/Makefile.am | 1 - sys/contrib/openzfs/cmd/zed/agents/zfs_retire.c | 96 +- sys/contrib/openzfs/cmd/zfs/zfs_main.c | 12 + sys/contrib/openzfs/cmd/zpool/zpool_main.c | 12 + sys/contrib/openzfs/cmd/zstream/zstream.c | 36 + sys/contrib/openzfs/cmd/zstream/zstream_dump.c | 14 + .../openzfs/cmd/zstream/zstream_recompress.c | 2 + sys/contrib/openzfs/config/Rules.am | 2 + sys/contrib/openzfs/config/ax_pthread.m4 | 523 +++++ sys/contrib/openzfs/config/kernel-fs-parse.m4 | 34 + sys/contrib/openzfs/config/kernel.m4 | 116 +- sys/contrib/openzfs/config/zfs-build.m4 | 12 + sys/contrib/openzfs/configure.ac | 1 + sys/contrib/openzfs/contrib/debian/not-installed | 1 - .../openzfs/contrib/pam_zfs_key/pam_zfs_key.c | 25 +- sys/contrib/openzfs/copy-builtin | 11 + sys/contrib/openzfs/etc/Makefile.am | 8 - sys/contrib/openzfs/etc/sudoers.d/zfs | 9 - .../openzfs/include/os/freebsd/zfs/sys/arc_os.h | 1 - .../openzfs/include/os/linux/spl/sys/rwlock.h | 132 +- sys/contrib/openzfs/include/sys/arc.h | 3 +- sys/contrib/openzfs/include/sys/arc_impl.h | 5 +- sys/contrib/openzfs/include/sys/fs/zfs.h | 14 + sys/contrib/openzfs/include/sys/metaslab_impl.h | 2 +- sys/contrib/openzfs/include/sys/vdev_impl.h | 9 +- sys/contrib/openzfs/include/sys/zap.h | 236 +- sys/contrib/openzfs/include/sys/zap_impl.h | 110 +- sys/contrib/openzfs/include/sys/zio_impl.h | 13 +- sys/contrib/openzfs/lib/libspl/Makefile.am | 4 - sys/contrib/openzfs/lib/libzfs/Makefile.am | 4 +- sys/contrib/openzfs/lib/libzfs/libzfs.abi | 9 +- sys/contrib/openzfs/lib/libzfs/libzfs_changelist.c | 15 +- sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 61 +- sys/contrib/openzfs/lib/libzfs/libzfs_share.c | 8 + sys/contrib/openzfs/lib/libzfs_core/Makefile.am | 4 +- sys/contrib/openzfs/lib/libzpool/Makefile.am | 6 +- sys/contrib/openzfs/man/man4/zfs.4 | 68 +- sys/contrib/openzfs/man/man7/vdevprops.7 | 22 +- sys/contrib/openzfs/man/man8/zdb.8 | 7 +- sys/contrib/openzfs/man/man8/zpool-attach.8 | 31 +- sys/contrib/openzfs/man/man8/zpool-events.8 | 10 +- sys/contrib/openzfs/man/man8/zpool-iostat.8 | 5 +- sys/contrib/openzfs/man/man8/zpool.8 | 1 + sys/contrib/openzfs/module/Kbuild.in | 13 +- sys/contrib/openzfs/module/Makefile.bsd | 10 +- sys/contrib/openzfs/module/nvpair/nvpair.c | 49 +- sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c | 3 - .../openzfs/module/os/freebsd/zfs/sysctl_os.c | 24 +- sys/contrib/openzfs/module/os/linux/spl/spl-kmem.c | 6 + sys/contrib/openzfs/module/os/linux/zfs/arc_os.c | 18 + .../openzfs/module/os/linux/zfs/vdev_disk.c | 8 +- .../openzfs/module/os/linux/zfs/zfs_vfsops.c | 45 +- .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 38 +- .../openzfs/module/os/linux/zfs/zpl_super.c | 63 +- .../openzfs/module/os/linux/zfs/zpl_xattr.c | 92 +- sys/contrib/openzfs/module/zcommon/zfs_valstr.c | 2 +- sys/contrib/openzfs/module/zcommon/zpool_prop.c | 27 +- sys/contrib/openzfs/module/zfs/arc.c | 30 +- sys/contrib/openzfs/module/zfs/ddt_log.c | 4 +- sys/contrib/openzfs/module/zfs/dmu_objset.c | 2 +- sys/contrib/openzfs/module/zfs/dmu_recv.c | 44 +- sys/contrib/openzfs/module/zfs/dmu_send.c | 37 +- sys/contrib/openzfs/module/zfs/dsl_bookmark.c | 2 +- sys/contrib/openzfs/module/zfs/dsl_dir.c | 91 +- sys/contrib/openzfs/module/zfs/dsl_scan.c | 1 + sys/contrib/openzfs/module/zfs/gzip.c | 8 +- sys/contrib/openzfs/module/zfs/lz4_zfs.c | 15 +- sys/contrib/openzfs/module/zfs/metaslab.c | 31 +- sys/contrib/openzfs/module/zfs/sa.c | 4 +- sys/contrib/openzfs/module/zfs/spa.c | 29 +- sys/contrib/openzfs/module/zfs/vdev.c | 188 +- sys/contrib/openzfs/module/zfs/vdev_label.c | 14 + .../zfs/vdev_raidz_math_aarch64_neon_common.h | 18 +- sys/contrib/openzfs/module/zfs/zap.c | 2306 ++++++++---------- sys/contrib/openzfs/module/zfs/zap_fat.c | 1458 ++++++++++++ sys/contrib/openzfs/module/zfs/zap_impl.c | 558 +++++ sys/contrib/openzfs/module/zfs/zap_micro.c | 1639 +------------ sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 40 +- sys/contrib/openzfs/module/zfs/zfs_quota.c | 8 +- sys/contrib/openzfs/module/zfs/zil.c | 2 +- sys/contrib/openzfs/module/zfs/zio.c | 47 +- sys/contrib/openzfs/module/zstd/zfs_zstd.c | 9 + sys/contrib/openzfs/rpm/generic/zfs.spec.in | 1 - sys/contrib/openzfs/scripts/Makefile.am | 1 + sys/contrib/openzfs/scripts/coverage_report.pl | 392 ++++ sys/contrib/openzfs/tests/Makefile.am | 1 + sys/contrib/openzfs/tests/runfiles/common.run | 38 +- sys/contrib/openzfs/tests/runfiles/linux.run | 3 +- sys/contrib/openzfs/tests/runfiles/sanity.run | 37 +- .../openzfs/tests/test-runner/bin/zts-report.py.in | 4 +- sys/contrib/openzfs/tests/unit/.gitignore | 4 + sys/contrib/openzfs/tests/unit/Makefile.am | 110 + sys/contrib/openzfs/tests/unit/README.md | 217 ++ sys/contrib/openzfs/tests/unit/mock_dmu.c | 409 ++++ sys/contrib/openzfs/tests/unit/mock_dmu.h | 50 + sys/contrib/openzfs/tests/unit/munit.c | 2458 ++++++++++++++++++++ sys/contrib/openzfs/tests/unit/munit.h | 575 +++++ sys/contrib/openzfs/tests/unit/test_zap.c | 1170 ++++++++++ sys/contrib/openzfs/tests/unit/unit.c | 105 + sys/contrib/openzfs/tests/unit/unit.h | 64 + .../openzfs/tests/zfs-tests/cmd/Makefile.am | 5 - .../tests/zfs-tests/cmd/libzfs_input_check.c | 172 +- .../openzfs/tests/zfs-tests/tests/Makefile.am | 30 + .../functional/alloc_class/alloc_class.kshlib | 34 + .../functional/alloc_class/alloc_class_012_pos.ksh | 35 - .../functional/alloc_class/alloc_class_014_pos.ksh | 109 + .../functional/alloc_class/alloc_class_015_neg.ksh | 91 + .../bclone/bclone_crossfs_corner_cases.ksh | 3 + .../functional/bclone/bclone_crossfs_data.ksh | 3 + .../bclone/bclone_samefs_corner_cases.ksh | 3 + .../tests/functional/bclone/bclone_samefs_data.ksh | 3 + .../block_cloning_after_device_removal.ksh | 4 + .../block_cloning_lwb_buffer_overflow.ksh | 3 + .../block_cloning/block_cloning_replay.ksh | 3 + .../block_cloning_replay_encrypted.ksh | 3 + .../cli_root/zdb/zdb_file_layout_001.ksh | 78 + .../cli_root/zdb/zdb_file_layout_002.ksh | 78 + .../cli_root/zdb/zdb_file_layout_003.ksh | 78 + .../cli_root/zdb/zdb_file_layout_neg.ksh | 57 + .../functional/cli_root/zfs_mount/zfs_mount.kshlib | 128 + .../cli_root/zfs_mount/zfs_mount_remount.ksh | 103 +- .../cli_root/zfs_mount/zfs_mount_ro_rw.ksh | 130 ++ .../cli_root/zhack/zhack_metaslab_leak.ksh | 4 +- .../functional/cli_root/zinject/zinject_args.ksh | 140 +- .../cli_root/zpool_expand/zpool_expand_005_pos.ksh | 2 +- .../functional/cli_root/zpool_get/vdev_get.cfg | 1 + .../zpool_import/zpool_import_parallel_pos.ksh | 4 +- .../cli_root/zpool_set/zpool_set_inherit.ksh | 115 + .../cli_root/zpool_trim/zpool_trim_partial.ksh | 18 +- .../cli_user/zpool_iostat/zpool_iostat_002_pos.ksh | 8 +- .../tests/functional/dedup/dedup_bclone.ksh | 120 + .../tests/functional/dedup/dedup_bclone_pruned.ksh | 152 ++ .../tests/functional/dedup/dedup_fdt_create.ksh | 8 +- .../tests/functional/dedup/dedup_fdt_import.ksh | 6 +- .../tests/functional/dedup/dedup_fdt_pacing.ksh | 6 +- .../tests/functional/dedup/dedup_legacy_create.ksh | 8 +- .../functional/dedup/dedup_legacy_fdt_mixed.ksh | 6 +- .../functional/dedup/dedup_legacy_fdt_upgrade.ksh | 8 +- .../tests/functional/dedup/dedup_legacy_import.ksh | 6 +- .../tests/functional/dedup/dedup_prune.ksh | 5 +- .../tests/functional/dedup/dedup_zap_shrink.ksh | 2 + .../tests/functional/devices/devices_common.kshlib | 12 +- .../tests/functional/fault/auto_spare_multiple.ksh | 8 +- .../functional/fault/auto_spare_rotational.ksh | 84 + .../tests/functional/redundancy/redundancy.kshlib | 22 +- .../functional/removal/removal_with_export.ksh | 2 +- .../tests/functional/send_xdr_encoding/cleanup.ksh | 27 + .../send_xdr_encoding/send_xdr_encoding.cfg | 25 + .../send_xdr_encoding/send_xdr_encoding.kshlib | 71 + .../tests/functional/send_xdr_encoding/setup.ksh | 29 + .../send_xdr_encoding/xdr_bookmark_raw.ksh | 93 + .../xdr_bookmark_raw_with_write.ksh | 107 + .../send_xdr_encoding/xdr_incr_from_bookmark.ksh | 88 + .../send_xdr_encoding/xdr_incr_from_redacted.ksh | 96 + .../tests/functional/send_xdr_encoding/xdr_raw.ksh | 67 + .../send_xdr_encoding/xdr_redacted_full.ksh | 72 + .../send_xdr_encoding/xdr_redacted_received.ksh | 84 + .../xdr_redacted_received_raw.ksh | 97 + .../send_xdr_encoding/xdr_replication.ksh | 90 + .../functional/send_xdr_encoding/xdr_resume.ksh | 73 + .../send_xdr_encoding/xdr_resume_bookmark_raw.ksh | 103 + .../xdr_resume_bookmark_raw_with_write.ksh | 116 + .../send_xdr_encoding/xdr_resume_raw.ksh | 79 + .../send_xdr_encoding/xdr_resume_redacted.ksh | 86 + .../tests/functional/snapshot/snapshot_002_pos.ksh | 2 +- .../tests/functional/snapshot/snapshot_006_pos.ksh | 2 +- .../tests/functional/stat/statx_dioalign.ksh | 11 +- .../functional/vdev_zaps/vdev_zaps_008_pos.ksh | 90 + .../functional/zvol/zvol_stress/zvol_stress.ksh | 2 +- sys/modules/zfs/Makefile | 3 + sys/modules/zfs/zfs_config.h | 17 +- sys/modules/zfs/zfs_gitrev.h | 2 +- 196 files changed, 14574 insertions(+), 3861 deletions(-) diff --cc cddl/lib/libzpool/Makefile index 0c997e38d373,000000000000..0c2030faa3d6 mode 100644,000000..100644 --- a/cddl/lib/libzpool/Makefile +++ b/cddl/lib/libzpool/Makefile @@@ -1,348 -1,0 +1,350 @@@ +.PATH: ${ZFSTOP}/lib/libzpool + +# ZFS_COMMON_SRCS +.PATH: ${ZFSTOP}/module/zfs +.PATH: ${ZFSTOP}/module/zcommon +.PATH: ${ZFSTOP}/module/unicode +# LUA_SRCS +.PATH: ${ZFSTOP}/module/lua +# ZSTD_SRCS +.PATH: ${ZFSTOP}/module/zstd +.PATH: ${ZFSTOP}/module/zstd/lib/common +.PATH: ${ZFSTOP}/module/zstd/lib/compress +.PATH: ${ZFSTOP}/module/zstd/lib/decompress + +.if exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S) +.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH} +ATOMIC_SRCS= opensolaris_atomic.S +ACFLAGS+= -Wa,--noexecstack +.else +.PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern +ATOMIC_SRCS= opensolaris_atomic.c +.endif + +.if ${MACHINE_ARCH} == "powerpc" +# Don't waste GOT entries on small data. +PICFLAG= -fPIC +.endif + +PACKAGE= zfs +LIB_PACKAGE= + +LIB= zpool + +USER_C = \ + arc_os.c \ + kernel.c \ + util.c \ + zfs_debug.c + +.PATH: ${ZFSTOP}/module/os/linux/zfs + +KERNEL_C = \ + simd_stat.c \ + zfeature_common.c \ + zfs_comutil.c \ + zfs_deleg.c \ + zfs_fletcher.c \ + zfs_fletcher_superscalar.c \ + zfs_fletcher_superscalar4.c \ + zfs_namecheck.c \ + zfs_prop.c \ + zfs_zstd.c \ + zpool_prop.c \ + zprop_common.c \ + abd.c \ + abd_os.c \ + aggsum.c \ + arc.c \ + blake3_zfs.c \ + blkptr.c \ + bplist.c \ + bpobj.c \ + bptree.c \ + bqueue.c \ + btree.c \ + brt.c \ + cityhash.c \ + dbuf.c \ + dbuf_stats.c \ + ddt.c \ + ddt_log.c \ + ddt_stats.c \ + ddt_zap.c \ + dmu.c \ + dmu_diff.c \ + dmu_direct.c \ + dmu_object.c \ + dmu_objset.c \ + dmu_recv.c \ + dmu_redact.c \ + dmu_send.c \ + dmu_traverse.c \ + dmu_tx.c \ + dmu_zfetch.c \ + dnode.c \ + dnode_sync.c \ + dsl_bookmark.c \ + dsl_dataset.c \ + dsl_deadlist.c \ + dsl_deleg.c \ + dsl_dir.c \ + dsl_crypt.c \ + dsl_pool.c \ + dsl_prop.c \ + dsl_scan.c \ + dsl_synctask.c \ + dsl_destroy.c \ + dsl_userhold.c \ + edonr_zfs.c \ + entropy_common.c \ + error_private.c \ + fm.c \ + fse_compress.c \ + fse_decompress.c \ + gzip.c \ + hist.c \ + hkdf.c \ + huf_compress.c \ + huf_decompress.c \ + lzjb.c \ + lz4.c \ + lz4_zfs.c \ + metaslab.c \ + mmp.c \ + multilist.c \ + objlist.c \ + pathname.c \ + pool.c \ + range_tree.c \ + refcount.c \ + rrwlock.c \ + sa.c \ + sha2_zfs.c \ + skein_zfs.c \ + spa.c \ + spa_checkpoint.c \ + spa_config.c \ + spa_errlog.c \ + spa_history.c \ + spa_log_spacemap.c \ + spa_misc.c \ + spa_stats.c \ + space_map.c \ + space_reftree.c \ + txg.c \ + u8_textprep.c \ + trace.c \ + uberblock.c \ + unique.c \ + vdev.c \ + vdev_draid.c \ + vdev_draid_rand.c \ + vdev_file.c \ + vdev_indirect_births.c \ + vdev_indirect.c \ + vdev_indirect_mapping.c \ + vdev_initialize.c \ + vdev_label.c \ + vdev_label_os.c \ + vdev_mirror.c \ + vdev_missing.c \ + vdev_queue.c \ + vdev_raidz.c \ + vdev_raidz_math_aarch64_neon.c \ + vdev_raidz_math_aarch64_neonx2.c \ + vdev_raidz_math_avx2.c \ + vdev_raidz_math_avx512bw.c \ + vdev_raidz_math_avx512f.c \ + vdev_raidz_math.c \ + vdev_raidz_math_scalar.c \ + vdev_rebuild.c \ + vdev_removal.c \ + vdev_root.c \ + vdev_trim.c \ + zap.c \ ++ zap_fat.c \ ++ zap_impl.c \ + zap_leaf.c \ + zap_micro.c \ + zcp.c \ + zcp_get.c \ + zcp_global.c \ + zcp_iter.c \ + zcp_set.c \ + zcp_synctask.c \ + zfeature.c \ + zfs_byteswap.c \ + zfs_chksum.c \ + zfs_crrd.c \ + zfs_debug_common.c \ + zfs_file_os.c \ + zfs_fm.c \ + zfs_fuid.c \ + zfs_impl.c \ + zfs_sa.c \ + zfs_znode.c \ + zfs_racct.c \ + zfs_ratelimit.c \ + zfs_rlock.c \ + zil.c \ + zio.c \ + zio_checksum.c \ + zio_compress.c \ + zio_crypt.c \ + zio_inject.c \ + zle.c \ + zrlock.c \ + zstd_common.c \ + zstd_compress.c \ + zstd_compress_literals.c \ + zstd_compress_sequences.c \ + zstd_compress_superblock.c \ + zstd_ddict.c \ + zstd_decompress.c \ + zstd_decompress_block.c \ + zstd_double_fast.c \ + zstd_fast.c \ + zstd_lazy.c \ + zstd_ldm.c \ + zstd_opt.c \ + zstd_preSplit.c \ + zthr.c + +ARCH_C = +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" +ARCH_C += vdev_raidz_math_sse2.c \ + vdev_raidz_math_ssse3.c \ + zfs_fletcher_intel.c \ + zfs_fletcher_sse.c +CFLAGS += -DHAVE_SSE2 -DHAVE_SSE3 +.endif +.if ${MACHINE_ARCH} == "amd64" +ARCH_C += zfs_fletcher_avx512.c +CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F \ + -DHAVE_AVX512BW +.endif +.if ${MACHINE_CPUARCH} == "aarch64" +ARCH_C += zfs_fletcher_aarch64_neon.c +.endif + +LUA_C = \ + lapi.c \ + lauxlib.c \ + lbaselib.c \ + lcode.c \ + lcompat.c \ + lcorolib.c \ + lctype.c \ + ldebug.c \ + ldo.c \ + lfunc.c \ + lgc.c \ + llex.c \ + lmem.c \ + lobject.c \ + lopcodes.c \ + lparser.c \ + lstate.c \ + lstring.c \ + lstrlib.c \ + ltable.c \ + ltablib.c \ + ltm.c \ + lvm.c \ + lzio.c + +SRCS+= ${USER_C} ${KERNEL_C} ${LUA_C} ${ARCH_C} + + +WARNS?= 2 +CFLAGS+= \ + -DIN_BASE \ + -I${ZFSTOP}/include \ + -I${ZFSTOP}/lib/libspl/include \ + -I${ZFSTOP}/lib/libspl/include/os/freebsd \ + -I${ZFSTOP}/lib/libzpool/include \ + -I${SRCTOP}/sys \ + -I${SRCTOP}/cddl/compat/opensolaris/include \ + -I${ZFSTOP}/module/icp/include \ + -I${SRCTOP}/compat/linuxkpi/common/include/linux \ + -include ${ZFSTOP}/include/sys/simd_config.h \ + -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h \ + -DHAVE_ISSETUGID \ + -include ${SRCTOP}/sys/modules/zfs/zfs_config.h \ + -I${SRCTOP}/sys/modules/zfs \ + -I${ZFSTOP}/include/os/freebsd/zfs \ + -DLIB_ZPOOL_BUILD -DZFS_DEBUG -DXXH_INLINE_ALL \ + +# XXX: pthread doesn't have mutex_owned() equivalent, so we need to look +# into libthr private structures. That's sooo evil, but it's only for +# ZFS debugging tools needs. +CFLAGS+= -DWANTS_MUTEX_OWNED +CFLAGS+= -I${SRCTOP}/lib/libpthread/thread +CFLAGS+= -I${SRCTOP}/lib/libpthread/sys +CFLAGS+= -I${SRCTOP}/lib/libthr/arch/${MACHINE_CPUARCH}/include + +LIBADD= md pthread z spl icp nvpair avl umem + +CSTD= c99 + +# Since there are many asserts in this library, it makes no sense to compile +# it without debugging. + +CFLAGS+= -g -DDEBUG=1 + +CFLAGS.gcc+= -Wno-pointer-to-int-cast + +# Some versions of LLVM contain duplicate typedefs in the <*intrin.h> headers, +# which are not allowed prior to C11; since libzpool is built with C99, make +# this not be an error. +CFLAGS.clang+= -Wno-error=typedef-redefinition + +# Pointer values are used as debugging "tags" to mark reference count +# ownerships and in some cases the tag reference is dropped after an +# object is freed. +CFLAGS.dbuf.c= ${NO_WUSE_AFTER_FREE} +CFLAGS.entropy_common.c= -fno-tree-vectorize +CFLAGS.entropy_common.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.error_private.c= -fno-tree-vectorize +CFLAGS.error_private.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.fse_compress.c= -fno-tree-vectorize +CFLAGS.fse_compress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.fse_decompress.c= -fno-tree-vectorize +CFLAGS.fse_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.hist.c= -fno-tree-vectorize +CFLAGS.hist.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.huf_compress.c= -fno-tree-vectorize +CFLAGS.huf_compress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.huf_decompress.c= -fno-tree-vectorize +CFLAGS.huf_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.pool.c= -fno-tree-vectorize +CFLAGS.pool.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.xxhash.c= -fno-tree-vectorize +CFLAGS.xxhash.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress.c= -fno-tree-vectorize +CFLAGS.zstd_compress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress_literals.c= -fno-tree-vectorize +CFLAGS.zstd_compress_literals.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress_sequences.c= -fno-tree-vectorize +CFLAGS.zstd_compress_sequences.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress_superblock.c= -fno-tree-vectorize +CFLAGS.zstd_compress_superblock.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_double_fast.c= -fno-tree-vectorize +CFLAGS.zstd_double_fast.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_fast.c= -fno-tree-vectorize +CFLAGS.zstd_fast.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_lazy.c= -fno-tree-vectorize +CFLAGS.zstd_lazy.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_ldm.c= -fno-tree-vectorize +CFLAGS.zstd_ldm.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_opt.c= -fno-tree-vectorize +CFLAGS.zstd_opt.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_ddict.c= -fno-tree-vectorize +CFLAGS.zstd_ddict.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_decompress.c= -fno-tree-vectorize +CFLAGS.zstd_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_decompress_block.c= -fno-tree-vectorize +CFLAGS.zstd_decompress_block.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} + +.include diff --cc sys/conf/files index 379685d83713,000000000000..324ee35d490d mode 100644,000000..100644 --- a/sys/conf/files +++ b/sys/conf/files @@@ -1,5390 -1,0 +1,5392 @@@ +# +# The long compile-with and dependency lines are required because of +# limitations in config: backslash-newline doesn't work in strings, and +# dependency lines other than the first are silently ignored. +# +acpi_quirks.h optional acpi \ + dependency "$S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \ + compile-with "${AWK} -f $S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \ + no-obj no-implicit-rule before-depend \ + clean "acpi_quirks.h" +bhnd_nvram_map.h optional bhnd \ + dependency "$S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/tools/nvram_map_gen.awk $S/dev/bhnd/nvram/nvram_map" \ + compile-with "sh $S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/nvram/nvram_map -h" \ + no-obj no-implicit-rule before-depend \ + clean "bhnd_nvram_map.h" +bhnd_nvram_map_data.h optional bhnd \ + dependency "$S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/tools/nvram_map_gen.awk $S/dev/bhnd/nvram/nvram_map" \ + compile-with "sh $S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/nvram/nvram_map -d" \ + no-obj no-implicit-rule before-depend \ + clean "bhnd_nvram_map_data.h" +fdt_static_dtb.h optional fdt fdt_dtb_static \ + compile-with "sh -c 'MACHINE=${MACHINE} $S/tools/fdt/make_dtbh.sh ${FDT_DTS_FILE} ${.OBJDIR}'" \ + dependency "${FDT_DTS_FILE:T:R}.dtb" \ + no-obj no-implicit-rule before-depend \ + clean "fdt_static_dtb.h" +feeder_eq_gen.h optional sound \ + dependency "$S/tools/sound/feeder_eq_mkfilter.awk" \ + compile-with "${AWK} -f $S/tools/sound/feeder_eq_mkfilter.awk -- ${FEEDER_EQ_PRESETS} > feeder_eq_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "feeder_eq_gen.h" +feeder_rate_gen.h optional sound \ + dependency "$S/tools/sound/feeder_rate_mkfilter.awk" \ + compile-with "${AWK} -f $S/tools/sound/feeder_rate_mkfilter.awk -- ${FEEDER_RATE_PRESETS} > feeder_rate_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "feeder_rate_gen.h" +font.h optional sc_dflt_font \ + compile-with "uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \ + no-obj no-implicit-rule before-depend \ + clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8" +snd_fxdiv_gen.h optional sound \ + dependency "$S/tools/sound/snd_fxdiv_gen.awk" \ + compile-with "${AWK} -f $S/tools/sound/snd_fxdiv_gen.awk -- > snd_fxdiv_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "snd_fxdiv_gen.h" +miidevs.h optional miibus | mii \ + dependency "$S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ + compile-with "${AWK} -f $S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ + no-obj no-implicit-rule before-depend \ + clean "miidevs.h" +kbdmuxmap.h optional kbdmux_dflt_keymap \ + compile-with "${KEYMAP} -L ${KBDMUX_DFLT_KEYMAP} | ${KEYMAP_FIX} > ${.TARGET}" \ + no-obj no-implicit-rule before-depend \ + clean "kbdmuxmap.h" +teken_state.h optional sc | vt \ + dependency "$S/teken/gensequences $S/teken/sequences" \ + compile-with "${AWK} -f $S/teken/gensequences $S/teken/sequences > teken_state.h" \ + no-obj no-implicit-rule before-depend \ + clean "teken_state.h" +ukbdmap.h optional ukbd_dflt_keymap \ + compile-with "${KEYMAP} -L ${UKBD_DFLT_KEYMAP} | ${KEYMAP_FIX} > ${.TARGET}" \ + no-obj no-implicit-rule before-depend \ + clean "ukbdmap.h" +usbdevs.h optional usb | hid \ + dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ + compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -h" \ + no-obj no-implicit-rule before-depend \ + clean "usbdevs.h" +usbdevs_data.h optional usb \ + dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ + compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -d" \ + no-obj no-implicit-rule before-depend \ + clean "usbdevs_data.h" +sdiodevs.h optional mmccam \ + dependency "$S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs" \ + compile-with "${AWK} -f $S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs -h" \ + no-obj no-implicit-rule before-depend \ + clean "sdiodevs.h" +sdiodevs_data.h optional mmccam \ + dependency "$S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs" \ + compile-with "${AWK} -f $S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs -d" \ + no-obj no-implicit-rule before-depend \ + clean "sdiodevs_data.h" +cam/cam.c optional scbus +cam/cam_compat.c optional scbus +cam/cam_iosched.c optional scbus +cam/cam_periph.c optional scbus +cam/cam_queue.c optional scbus +cam/cam_sim.c optional scbus +cam/cam_xpt.c optional scbus +cam/ata/ata_all.c optional scbus +cam/ata/ata_xpt.c optional scbus +cam/ata/ata_pmp.c optional scbus +cam/nvme/nvme_all.c optional scbus +cam/nvme/nvme_da.c optional nda | da +cam/nvme/nvme_xpt.c optional scbus +cam/scsi/scsi_xpt.c optional scbus +cam/scsi/scsi_all.c optional scbus +cam/scsi/scsi_cd.c optional cd +cam/scsi/scsi_ch.c optional ch +cam/ata/ata_da.c optional ada | da +cam/ctl/ctl.c optional ctl +cam/ctl/ctl_backend.c optional ctl +cam/ctl/ctl_backend_block.c optional ctl +cam/ctl/ctl_backend_ramdisk.c optional ctl +cam/ctl/ctl_cmd_table.c optional ctl +cam/ctl/ctl_frontend.c optional ctl +cam/ctl/ctl_frontend_cam_sim.c optional ctl +cam/ctl/ctl_frontend_ioctl.c optional ctl +cam/ctl/ctl_frontend_iscsi.c optional ctl cfiscsi +cam/ctl/ctl_ha.c optional ctl +cam/ctl/ctl_nvme_all.c optional ctl +cam/ctl/ctl_nvme_cmd_table.c optional ctl +cam/ctl/ctl_scsi_all.c optional ctl +cam/ctl/ctl_tpc.c optional ctl +cam/ctl/ctl_tpc_local.c optional ctl +cam/ctl/ctl_error.c optional ctl +cam/ctl/ctl_util.c optional ctl +cam/ctl/scsi_ctl.c optional ctl +cam/mmc/mmc_xpt.c optional scbus mmccam +cam/mmc/mmc_sim.c optional scbus mmccam +cam/mmc/mmc_sim_if.m optional scbus mmccam +cam/mmc/mmc_da.c optional scbus mmccam da +cam/scsi/scsi_da.c optional da +cam/scsi/scsi_pass.c optional pass +cam/scsi/scsi_pt.c optional pt +cam/scsi/scsi_sa.c optional sa +cam/scsi/scsi_enc.c optional ses +cam/scsi/scsi_enc_ses.c optional ses +cam/scsi/scsi_enc_safte.c optional ses +cam/scsi/scsi_sg.c optional sg +cam/scsi/scsi_targ_bh.c optional targbh +cam/scsi/scsi_target.c optional targ +cam/scsi/smp_all.c optional scbus + +# shared between zfs and dtrace +cddl/compat/opensolaris/kern/opensolaris.c optional dtrace compile-with "${CDDL_C}" +cddl/compat/opensolaris/kern/opensolaris_proc.c optional zfs | dtrace compile-with "${CDDL_C}" +contrib/openzfs/module/os/freebsd/spl/spl_misc.c optional zfs | dtrace compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_cmn_err.c optional zfs | dtrace compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_taskq.c optional zfs | dtrace compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_kmem.c optional zfs | dtrace compile-with "${ZFS_C}" + +#zfs solaris portability layer +contrib/openzfs/module/os/freebsd/spl/acl_common.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/callb.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/list.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_acl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_dtrace.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_kstat.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_policy.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_procfs_list.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_string.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_sunddi.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_sysevent.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_uio.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_vfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_vm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_zlib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_zone.c optional zfs compile-with "${ZFS_C}" + + + +# zfs specific + +#zfs avl +contrib/openzfs/module/avl/avl.c optional zfs compile-with "${ZFS_C}" + +# zfs lua support +contrib/openzfs/module/lua/lapi.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lauxlib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lbaselib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lcode.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lcompat.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lcorolib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lctype.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ldebug.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ldo.c optional zfs compile-with "${ZFS_C} ${NO_WINFINITE_RECURSION}" +contrib/openzfs/module/lua/lfunc.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lgc.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/llex.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lmem.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lobject.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lopcodes.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lparser.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lstate.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lstring.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lstrlib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ltable.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ltablib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ltm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lvm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lzio.c optional zfs compile-with "${ZFS_C}" + +# zfs nvpair support +contrib/openzfs/module/nvpair/fnvpair.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/nvpair/nvpair.c optional zfs compile-with "${ZFS_RPC_C} ${NO_WSTRINGOP_OVERREAD}" +contrib/openzfs/module/nvpair/nvpair_alloc_fixed.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/nvpair/nvpair_alloc_spl.c optional zfs compile-with "${ZFS_C}" + +#zfs platform compatibility code +contrib/openzfs/module/os/freebsd/zfs/abd_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/arc_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/crypto_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/dmu_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/event_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/hkdf.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/kmod_core.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/spa_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c optional zfs compile-with "${ZFS_C} -include $S/modules/zfs/zfs_config.h" +contrib/openzfs/module/os/freebsd/zfs/vdev_label_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/vdev_geom.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_acl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_debug.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_dir.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_file_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_compat.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_racct.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_znode_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zvol_os.c optional zfs compile-with "${ZFS_C}" + +#zfs checksums / zcommon +contrib/openzfs/module/zcommon/cityhash.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfeature_common.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_comutil.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_deleg.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_fletcher.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_fletcher_superscalar.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_fletcher_superscalar4.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_namecheck.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_prop.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_valstr.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zpool_prop.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zprop_common.c optional zfs compile-with "${ZFS_C}" + +# zfs edon-r hash support +contrib/openzfs/module/icp/algs/edonr/edonr.c optional zfs compile-with "${ZFS_C}" + +# zfs blake3 hash support +contrib/openzfs/module/icp/algs/blake3/blake3.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/blake3/blake3_generic.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/blake3/blake3_impl.c optional zfs compile-with "${ZFS_C}" + +# zfs sha2 hash support +contrib/openzfs/module/icp/algs/sha2/sha2_generic.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/sha2/sha256_impl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/sha2/sha512_impl.c optional zfs compile-with "${ZFS_C}" + +#zfs core common code +contrib/openzfs/module/zfs/abd.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/aggsum.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/arc.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/blake3_zfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/blkptr.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/bplist.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/bpobj.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/bptree.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/brt.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/btree.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/bqueue.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dbuf.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dbuf_stats.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dataset_kstats.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/ddt.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/ddt_log.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/ddt_stats.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/ddt_zap.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_direct.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_diff.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_object.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_objset.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_recv.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_redact.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_send.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_traverse.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_tx.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_zfetch.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dnode.c optional zfs compile-with "${ZFS_C} ${NO_WUNUSED_BUT_SET_VARIABLE}" \ + warning "kernel contains CDDL licensed ZFS filesystem" +contrib/openzfs/module/zfs/dnode_sync.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_bookmark.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_crypt.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_dataset.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_deadlist.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_deleg.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_destroy.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_dir.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_pool.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_prop.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_scan.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_synctask.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_userhold.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/edonr_zfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/fm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/gzip.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/lzjb.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/lz4.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/lz4_zfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/metaslab.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/mmp.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/multilist.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/objlist.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/pathname.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/range_tree.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/refcount.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/rrwlock.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/sa.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/sha2_zfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/skein_zfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_checkpoint.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_config.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_errlog.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_history.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_log_spacemap.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_misc.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_stats.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/space_map.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/space_reftree.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/txg.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/u8_textprep.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/uberblock.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/unique.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_draid.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_draid_rand.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_file.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_indirect.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_indirect_births.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_indirect_mapping.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_initialize.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_label.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_mirror.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_missing.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_queue.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_raidz.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_raidz_math.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_raidz_math_scalar.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_rebuild.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_removal.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_root.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_trim.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zap.c optional zfs compile-with "${ZFS_C}" ++contrib/openzfs/module/zfs/zap_fat.c optional zfs compile-with "${ZFS_C}" ++contrib/openzfs/module/zfs/zap_impl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zap_leaf.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zap_micro.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp_get.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp_global.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp_iter.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp_set.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp_synctask.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfeature.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_byteswap.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_chksum.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_crrd.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_fm.c optional zfs compile-with "${ZFS_C} ${NO_WUNUSED_BUT_SET_VARIABLE}" +contrib/openzfs/module/zfs/zfs_fuid.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_impl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_ioctl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_log.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_onexit.c optional zfs compile-with "${ZFS_C}" *** 14849 LINES SKIPPED *** From nobody Sun Jun 7 15:42:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYKF662jFz6gr26; Sun, 07 Jun 2026 15:42:50 +0000 (UTC) (envelope-from olce@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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYKF65M1Dz3p4q; Sun, 07 Jun 2026 15:42:50 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780846970; 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: in-reply-to:in-reply-to:references:references; bh=+bWtwti2nThGYM2YuqfjoaY/JkPSW42N0hh3+WmPx4g=; b=QWKt1jQfD8GLkUF0fjNet1klemTyL+9GpxqjSs7RB1Z8FAbRPVZYkzWxbtIFVnehO/CtoR V8gDiZJP/imO2KXBZlMKyPpCxvXxj+6NRAFvKnryVw/7sXcn2bZVAp/Mq0bvTJsoj5aHjm qYrH5otMBIJREHCfh+vkS4j0exTd/hm3jWkzBwdggSOfM9IJIjEJkN/PlA2HxmvJTgrAoc SpyJwwo5/VCzK/3YZU8Uiyi+SZO6vq/RK/Y8tFQ2emPLm2BqaZtnIWIbDK2LKdFuby1add NEQzUH0cEhnL3fJTItpzhSZw+Mk1iZqIgCSSNENxW3HTubwKxhmdy2anbqhx2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780846970; a=rsa-sha256; cv=none; b=yS0YWpVS0j7OwtrjGZj4qWFbyzJN4yepYgphNhB6Jncc5SoxkaU7syP5Bk2iNXt4RWb2UR OOoW/YBS5+zzJMWkbEQWONhH+RYIihryzmN+oGXl9jayOUDrBQFUhZq5qqLITDDSJYyUf0 6cBzReZcqbvoxRJD1W9kgzep7SbdICUeNcHQ7EiUP6yq8Zz5GYLWjKX+Jc5bxJGrnGzDPO x/pkv8GaU/IQu5XZQKZKr/4UnUMrNpZ8sARTDUhgW2A9EiHMlSAu+ArLgXyfU+alOAXVl1 uc4Q+No9NZCV/eOVfbV8B2FGEy7VZHiGP5iuQNTRrp6n4mOEX6ODfUbjNmk1xQ== 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=1780846970; 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: in-reply-to:in-reply-to:references:references; bh=+bWtwti2nThGYM2YuqfjoaY/JkPSW42N0hh3+WmPx4g=; b=n2HePzHxvIfk1N8LN4pcHTk5ESyYq9zl2caHCuuHz/OoZb9Nq3FP2qJE0G44X31S3i4Qq6 7AH94R524zojf9iXjtKar2cD5HSWyEXWojIqOrslVugYj8KOle7syvto1VAGpUDex0xQmm 2KFi1YZm9O4F+PYehaYL8v6M3YafX1BSQJn66MRZVYC75CgE1jyj9e3IYfRvklHJJ6cHw6 8067yZ1QrvQks8MYhfX9y0Yi8B6qCqFBdxDLjSW3X+7rgJiU3a3mdJ3N559Fa/0GepnEnZ sVVqz6flGKtYu4Vrd2F2PQSN8GczAk0vgn0abxEU7xIA8cOF1ajVeZZJku4eKw== Received: from ravel.localnet (lfbn-nic-1-328-19.w90-116.abo.wanadoo.fr [90.116.162.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gYKF60mMjzGZg; Sun, 07 Jun 2026 15:42:49 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: John Baldwin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 7487932f4fbc - main - assert.h: style(9): Space after #define, between #endif and comment Date: Sun, 07 Jun 2026 17:42:42 +0200 Message-ID: <1989701.GETTdP9EZa@ravel> In-Reply-To: <711a1680-9b9f-4b2a-a97f-d1cc9523c5f6@FreeBSD.org> References: <6a2166aa.22490.59890f0d@gitrepo.freebsd.org> <711a1680-9b9f-4b2a-a97f-d1cc9523c5f6@FreeBSD.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart54025349.rt4x2z8vUf"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart54025349.rt4x2z8vUf Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: John Baldwin Date: Sun, 07 Jun 2026 17:42:42 +0200 Message-ID: <1989701.GETTdP9EZa@ravel> In-Reply-To: <711a1680-9b9f-4b2a-a97f-d1cc9523c5f6@FreeBSD.org> MIME-Version: 1.0 Hi John, I'm sorry that this caused complications in downstreaming changes. Nevertheless, some of your words look like quite the surprise. > > commit 7487932f4fbc5a71231d3b1fc93d160253f38c83 > > Author: Olivier Certner > > AuthorDate: 2026-06-02 10:01:05 +0000 > > Commit: Olivier Certner > > CommitDate: 2026-06-04 11:49:26 +0000 > >=20 > > assert.h: style(9): Space after #define, between #endif and comment > > =20 > > style(9) still allows TAB after #define but this is a historical > > artifact and by far the minority of uses cases. Going forward, we= would > > like to promote the use of a single space, as it allows alignment = to > > survive line prefixing (such as in diffs). >=20 > It is not "by far the minority" and is still widely used. Excluding cont= rib it > is still about 1/3 of the cases in the tree. I had done some statistics and, excluding contrib, I got a number much clos= er to 1/4 than 1/3 (165316 against 439359 on main in the middle of this wee= k). Maybe "by far the minority" was too strong. It remains that statistic= s are unequivocally biased towards spaces. > This was not worth yet another commit to this file absolutely destroying = git > blame. This file has seen a series of 6 commits in the past days, of which only th= e last one is mine, and importantly it only changed lines already touched b= y the preceding commits. Certainly, one more commit is always one more annoyance, but is "absolutely= destroyed git blame" an adequate characterization? > Please cool it a bit on going on holy wars over pushing for changes to > historical style and then committing style-only changes. Changes I've proposed have always been through srcmgr@ (I'll specifically c= ome back below to the "Going forward, we would like to promote (snip)" quot= e from the above commit message). There have been only a few of them, of which only one was enacted (see chan= gelog for style(9)), and in particular it was approved by you. It is about: "Encourag(ing) style changes when doing significant modificati= ons" (full commit at https://cgit.freebsd.org/src/commit/?id=3Daf2c7d9f6452= f2281a). Let me quote the relevant part: """ On the other hand, when a significant portion, usually about a half, of som= e logical unit of code, be it a function, group of functions, file or group of files, is going to be modified, developers are encouraged to amend the style of the whole unit as described in this document. In this case, style changes to otherwise unmodified code should be committed separately. Style-only commits should be added to the file .git-blame-ignore-revs at the top of the source repository to hide them from =E2=80=98git blame=E2=80=99. """ assert.h, as of 439710cf003b (last commit before my change), is 115 lines, = actually only 80 if you omit the license block. Commits since May 30th cha= nged 46 of these (only counting the final result, not intermediate churn). = That looks like about a half. Certainly, it would have been better that the style changes I finally made = had been done as part of the actual code changes and not a separate commit.= And, actually, they initially were, but were then reverted because of an = objection that the historical style was TABs. That's the only reason that = prompted me to intervene: That the argument used was in contradiction with = style(9) (and had been since 2021). If that was only for the TABs, I would= not have done anything (TABs are not forbidden there). By contrast, I tho= ught it important to counter propagation of false statements regarding styl= e(9), and acted promptly so that my own commit would be close to the other = ones temporally so as to minimize downstreaming disturbance (which is the s= pirit of the quoted text above). =46inally, prior to committing, my change was put into review and approved,= in particular by imp@. The "Going forward, we would like to promote the u= se of a single space, as it allows alignment to survive line prefixing (suc= h as in diffs)" statement in the above commit message was more about my own= opinion initially, but then I received some backing by imp@, and in the en= d kept that sentence (perhaps I shouldn't have). The next natural step is = to raise that potential change (encouraging a single space in new code; not= even making it compulsory) at some next srcmgr@ meeting. "Holy wars"? Regards. =2D-=20 Olivier Certner --nextPart54025349.rt4x2z8vUf Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmolkXIACgkQjKEwQJce JicyqxAAm80fjwBpnEFhoQzxIn5tUGfuojQAOrS/gJaoSnpRnfnUkkuGB7zQD4FK CJscIL/HsasU+OuW52n5Cs/rcyKpN+iLf2HIh2unns3aJaQ7qBq+2MxviqxHhTJV r/M5k4gK30jaGTi050XriZEIX/vO1gwfwugElDa8BspplEO3Bp7t1npSyrZlYwc0 fxjUnxVQ1mmykNJPdbeLo3APvC6qpFqwnK028mtq8Q8OwIAd14979oNWvFvrwUSX BohdDOmBB6R9uJL4RM958ArOVf0nEDDIMxqgpE9on8imckuK0R+qgN/pyuHajqgI kkwWFRmd+Mg5Mwu2/JmDSIpZinHhyGCHmapQLy/N+EuUvCBixh/GzPTBMkAUKJwO hmlTwulVa1XMMmJTb4cerorcoLhoVCvd94Shlg8ytbmJSB8O+XOfTbGi5OObOkwa wlhZI7xxDGUqANPW6yBAsr/GRfiY89YL5LisOcbdle6Nbth8/PM19+mmoAzdGhRb CshPUflZsvcTKwZQuWmw0dFVDotcugW4PgvnJk2z/hTkRAOpF1X00l9t91+bdfdm CnbJfMho7J9CfqOLrMMqEa/EOe/iDhdrIOsgNuM5ieN492+ZG9qaD8S3GAhypcwe gfoLuf5Nj+txtz3D8EIP2hIGY+ADd68PHvElnqVOY2KaX1MaHII= =HxRe -----END PGP SIGNATURE----- --nextPart54025349.rt4x2z8vUf-- From nobody Sun Jun 7 17:11:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYMCj1LH1z6gyqB for ; Sun, 07 Jun 2026 17:11: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYMCh4yTmz42H7 for ; Sun, 07 Jun 2026 17:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780852304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mJ+TLFjkm7zIkYnwn1ojS1uCsRFLQTYC9isHmRpluYs=; b=AK61BQecsJQtKeIOrsKAmbIUUC8Ng00933fGQpF0fNyPF1BQeU5z6pCM/+lt22AwapkoWt fLDL7gcDMjUwxju/oF6OoUGZDx8SFx+phFbBNGjQ77Av0KahmdnqFi9Im6eMm3ZrINeN0L OHXTVpZfYBgoRbWaPkNrgz6I8FgmDjrcpYa0TIxYEVftV+D0CLaQJnZ0XARlS8XOuZIqBf fFbO2ophWUvb/Y+P8HQ0aTXUYrYXi99IPrWgfqH5KmtNNRWECOr1IS0zht9F64GVf7h3ze PSD8mSgX4sSLFNkiv0rLey7DtFPToG1mCLphX7kVIXKIc8ffWRkRB7G8eeAFdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780852304; a=rsa-sha256; cv=none; b=OlYmGl/UlYJRowk3C/v8hst8FUr/+fEz8Hglsikyz/nXkTr23/SJD1zIvv5Pn+rppmNVGV mopbsReiIZxHNvN5isUyV0n/oKNYHqazhPghKDTJ71w9e+KiBKZHwDRnpVjYXiFUJgx0wE eAbql9mapVdTVRl2iaCPlxouTq6A0vsev8PeQU4MgAB4HJ+ChQGerCjkgR1Em2/k9By+Nn fALqG6NEfy73JiNe2hIFkDrdVKvUS+59P6R7enDEZuWvCsZ03WoV5C5iNGlj0AD5eY6Af2 55fkXhYBZM7JRjqYgJJUBFbZaABzTr5Of7KiwvmWjcQTmwy88NwSU9k1EiWr+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=1780852304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mJ+TLFjkm7zIkYnwn1ojS1uCsRFLQTYC9isHmRpluYs=; b=CCKS+te9DLI9JhyIFsNDTb18F+xgtLc98iDlcH7AQcykpy8TLmCZ6kShghYry8gbGUBi3X Xu8p7g0JrSpHFCkkAg78+SOMBN7qAhmViWcOwIKBTTeRZUQw/qXRPwLLV6tFwz1hH1Se9D OQM1bWiTskTcVqdvOXumFib4m3tqEe4GIYGroM2DvbGXb2VaibqeGD44PYNK/3kDPIpM0G q4S2T2WBxSfxVgkzhyMokadzEMtNeEibwJMToxHujz3iAw1sNT2IoYEyhH8maYgZk/gEk8 kCyeej8vByq6pdROMUv1p+bQPJcH59c/N2eFfv6QTdaHW13dE3MnXi7eix1ggQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYMCh4Hb7z19Xg for ; Sun, 07 Jun 2026 17:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27aa9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 17:11:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: deaaddf1d3c4 - stable/15 - vt: Avoid integer overflow in CONS_HISTORY ioctl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: deaaddf1d3c4283649945553ad7e3208c8424308 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 17:11:44 +0000 Message-Id: <6a25a650.27aa9.68553b6@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=deaaddf1d3c4283649945553ad7e3208c8424308 commit deaaddf1d3c4283649945553ad7e3208c8424308 Author: Ed Maste AuthorDate: 2026-05-26 16:19:47 +0000 Commit: Ed Maste CommitDate: 2026-06-07 17:10:53 +0000 vt: Avoid integer overflow in CONS_HISTORY ioctl Reviewed by: markj, vexeduxr Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57250 (cherry picked from commit 0ae946e7223df5ef3f7980af1d774d7f593f6421) --- sys/dev/vt/vt_buf.c | 9 ++++----- sys/dev/vt/vt_core.c | 6 ++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/dev/vt/vt_buf.c b/sys/dev/vt/vt_buf.c index e1e4ebc23491..43657fcecbdc 100644 --- a/sys/dev/vt/vt_buf.c +++ b/sys/dev/vt/vt_buf.c @@ -499,7 +499,6 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) { term_char_t *old, *new, **rows, **oldrows, **copyrows, *row, *oldrow; unsigned int w, h, c, r, old_history_size; - size_t bufsize, rowssize; int history_full; const teken_attr_t *a; term_char_t ch; @@ -510,10 +509,10 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) history_size = MAX(history_size, p->tp_row); /* Allocate new buffer. */ - bufsize = history_size * p->tp_col * sizeof(term_char_t); - new = malloc(bufsize, M_VTBUF, M_WAITOK | M_ZERO); - rowssize = history_size * sizeof(term_pos_t *); - rows = malloc(rowssize, M_VTBUF, M_WAITOK | M_ZERO); + new = mallocarray(history_size, p->tp_col * sizeof(term_char_t), + M_VTBUF, M_WAITOK | M_ZERO); + rows = mallocarray(history_size, sizeof(term_pos_t *), M_VTBUF, + M_WAITOK | M_ZERO); /* Toggle it. */ VTBUF_LOCK(vb); diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 8360f0b80fb5..922b44028a23 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -2798,8 +2799,9 @@ skip_thunk: /* XXX */ return (0); case CONS_HISTORY: - if (*(int *)data < 0) - return EINVAL; + if (*(int *)data < 0 || + *(int *)data > UINT_MAX / USHRT_MAX / sizeof(term_char_t)) + return (EINVAL); if (*(int *)data != vw->vw_buf.vb_history_size) vtbuf_sethistory_size(&vw->vw_buf, *(int *)data); return (0); From nobody Sun Jun 7 17:12:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYMDy6JYkz6gyMW for ; Sun, 07 Jun 2026 17:12: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYMDy3ShPz42cL for ; Sun, 07 Jun 2026 17:12:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780852370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rXsHcGeOBs7j75Aye429lAtfCF32ZN6K0wk77MbvnUE=; b=vceb9A2F/BCkZBBVyy3d62tgTvmbnu5tpvnRUHCEugYrnU6KafUbVOuxfKCk1F619XoB6G cOgwEsA2Bf94RBhl9Q7zufqAUcm0v7jzddd6OQu6anMZUzKsbosh37kkyAZU3tx+ZBo/NL /P93HZt5XBmgxbBpa/vV36ewpj+nxqDnbV5OZ/MF1PvHH1chykQUw4mN82/Ymvw0tRSLYd rbx/uaKiSV/QNrDiSHtpn5/V4ZZ0fJTR1WP/SZQERsvYjbSZQLfaJdWKBbdYnpfbdmZ3C4 DtvrX9IeLv6jtIV5DyXtw0wJfRt0dgMjfNHc/lnBaBhXe8BmZSlYVM9skdPkSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780852370; a=rsa-sha256; cv=none; b=oizbQjOK9xBGK8LioZPvhSHUdKdPNFvxKzvnk1Pec/lcGpc8OFRRz2Exi8MY15sKswKE/u 0z7CAn9oor7udTVwlRWxXjo/pTk5C7FJdaPY/oUBWFR3G7OxuXLAtk9EHn3uRHjlyqUQR8 3y1yYKNYWsBFmYr5/RIXYLDcseAcSU47vfitUuvuEhiPJWLXKgb18BSIyg++p83zsec97l RuqzkIEYEOoQkgGlB/wTU4o2C3DsPkDytmcafz/ivdy5NjN03VFg6vzJ8D66QBVHq8WZye dYSZp2K6s1uCRu8Egihy0+moEmHIIKY46awLvg7Xfk8b9m/dP/LhkeSNzfJuUg== 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=1780852370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rXsHcGeOBs7j75Aye429lAtfCF32ZN6K0wk77MbvnUE=; b=TUKJQhbUITQtSun1JK2ktDcN8OIEUjLpq/Iv+32ZNbUzQ0uUCvBGI5IP9xMUx2nSwIEX7O 0EA1rZToR3HYPtPFVxks4jUTp/pAIeQvwlmvc9T0ZZu75mFNJo6oUjrtgwBId4xuvPmaUY 9AD0Th8H1Z/ygx/UEE9Jekxl6p0PQcLzYhZ7LCvf2jh1wYCrhzOqakdJQpEGiV9MkrCmml nbnVGDvfu4byDPIU4CSEsBt1vcKgcZLlIcx3+Vx7XPt4JL2AIrq+gADrS9awLDFw5x3JaK 22ksOzGRUZTn9hjbOkCnj+wWDv6T5A9sEpqCuIm6bw4YAnW2yfZ1IVJjt1S+4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYMDy2p5Dz19cV for ; Sun, 07 Jun 2026 17:12:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27a13 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 17:12:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: b5a4f4bfbc95 - stable/14 - vt: Avoid integer overflow in CONS_HISTORY ioctl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b5a4f4bfbc95d5d5361da708728f7f4a6db2ee60 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 17:12:45 +0000 Message-Id: <6a25a68d.27a13.5f22128@gitrepo.freebsd.org> The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b5a4f4bfbc95d5d5361da708728f7f4a6db2ee60 commit b5a4f4bfbc95d5d5361da708728f7f4a6db2ee60 Author: Ed Maste AuthorDate: 2026-05-26 16:19:47 +0000 Commit: Ed Maste CommitDate: 2026-06-07 17:12:28 +0000 vt: Avoid integer overflow in CONS_HISTORY ioctl Reviewed by: markj, vexeduxr Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57250 (cherry picked from commit 0ae946e7223df5ef3f7980af1d774d7f593f6421) (cherry picked from commit deaaddf1d3c4283649945553ad7e3208c8424308) --- sys/dev/vt/vt_buf.c | 9 ++++----- sys/dev/vt/vt_core.c | 6 ++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/dev/vt/vt_buf.c b/sys/dev/vt/vt_buf.c index ea27ea8a5ebf..0fd301bb662a 100644 --- a/sys/dev/vt/vt_buf.c +++ b/sys/dev/vt/vt_buf.c @@ -500,7 +500,6 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) { term_char_t *old, *new, **rows, **oldrows, **copyrows, *row, *oldrow; unsigned int w, h, c, r, old_history_size; - size_t bufsize, rowssize; int history_full; const teken_attr_t *a; term_char_t ch; @@ -511,10 +510,10 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) history_size = MAX(history_size, p->tp_row); /* Allocate new buffer. */ - bufsize = history_size * p->tp_col * sizeof(term_char_t); - new = malloc(bufsize, M_VTBUF, M_WAITOK | M_ZERO); - rowssize = history_size * sizeof(term_pos_t *); - rows = malloc(rowssize, M_VTBUF, M_WAITOK | M_ZERO); + new = mallocarray(history_size, p->tp_col * sizeof(term_char_t), + M_VTBUF, M_WAITOK | M_ZERO); + rows = mallocarray(history_size, sizeof(term_pos_t *), M_VTBUF, + M_WAITOK | M_ZERO); /* Toggle it. */ VTBUF_LOCK(vb); diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index d365187b037f..5b4be11b1168 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -2777,8 +2778,9 @@ skip_thunk: /* XXX */ return (0); case CONS_HISTORY: - if (*(int *)data < 0) - return EINVAL; + if (*(int *)data < 0 || + *(int *)data > UINT_MAX / USHRT_MAX / sizeof(term_char_t)) + return (EINVAL); if (*(int *)data != vw->vw_buf.vb_history_size) vtbuf_sethistory_size(&vw->vw_buf, *(int *)data); return (0); From nobody Sun Jun 7 17:13:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYMFT6NyNz6gytS for ; Sun, 07 Jun 2026 17:13: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYMFT5l2vz42vT for ; Sun, 07 Jun 2026 17:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780852397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AbwCLNPzg9c8LM/LAyG9apHYAD/CSDC8O/Dzz/QtvBg=; b=Aekh+v6GJxumWz0fYKFqWkRMvQ75j7IRiQc/Kqc9imNck4ZVHpKFwzetxq1LMPikHM1y7f nLUcuAqUE5l7k0yO+ERCEL9R7mNmc/UKE5ryFM3jWjDEWxiTTcAY73JhSePIWiW2dra1bg DphniMkkcXWkhnV7kfcZ98ix0VsS5dgF3JLiXsMQUZ0FYVHtroVWPVY8yrSIVjSF35Ciu2 M121uzu993wtjNmiwzINOes+2AuU2Zgp5X/BQavaEtqMjrz2DmLQgZhMMo49CodTLNhiDg Bn255z2YvmUYKHuDZQMtklZTzf/mQ+ik4Dvs7Bbw/PHQR0THqPhBVgfRoPqjDQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780852397; a=rsa-sha256; cv=none; b=HItScbRJIwhqw2JPM3JWEZemOjMMhOPN6h2tlb1p8rd5NeUk0pKIopgo7Yjs4FDRLln1/Q VLicuC6ieyjsUOD5yaItDNCzVnxNquoUUIiNMeHQe4fNrX0lKNT5T8oUeLJnFiRynWsarM oYok7wtE+NGiZznD53ISA9uQ8xAErZza3NCyYYUYcHbBlI3HKGfpN3jDHHz/wMShYW5g4x eZ3WFWPXhNyPj3p4yMaxKDgiL3OHZ0KHrsXGchULP3pv3FXFb6hvUqujKTS0APfhinDVJN SDlyDYefcr4Y2az0J7zTiu9MDFvMYAFinzSb/JL0IzMuAJ0AzdrX5J6ZwVsc4g== 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=1780852397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AbwCLNPzg9c8LM/LAyG9apHYAD/CSDC8O/Dzz/QtvBg=; b=rqR54rRJFG0eDFux6D5V6b2Uien6CtsdNA4puCrFuweyEuDK1mI/CulwS3VXDS5ivhTcLL I9YxsRbHDAg8vW2TQYxZIrKDhXPdYXMuXraFr5Ab/IzXVMfaRKvq3jk4x4x6BH2jj49hM0 qmeoSIYLJ4g2qX/3j9ntr36gBhi7XT+HLbDtrKwIWBO9YDBA6vk+8Bus6yimK8SrfiysMZ uIHitb6eUKPFQ5ayQJYk4Za1yxeg3KWTx8PZz1aeo4CT9t+mIudwUGaDhC5gMmCHVtgQw2 DBHOtQImAK4QipMk3xeSy0xe1AS6A68lXMhMLuTkd6hMdqui6Nv6Sc+nzSpWXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYMFT5JGyz19ZW for ; Sun, 07 Jun 2026 17:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27c08 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 17:13:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: b1ad74074d4d - stable/13 - vt: Avoid integer overflow in CONS_HISTORY ioctl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b1ad74074d4d5139106680ac766348f5d8b6873a Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 17:13:17 +0000 Message-Id: <6a25a6ad.27c08.20d04c92@gitrepo.freebsd.org> The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b1ad74074d4d5139106680ac766348f5d8b6873a commit b1ad74074d4d5139106680ac766348f5d8b6873a Author: Ed Maste AuthorDate: 2026-05-26 16:19:47 +0000 Commit: Ed Maste CommitDate: 2026-06-07 17:13:07 +0000 vt: Avoid integer overflow in CONS_HISTORY ioctl Reviewed by: markj, vexeduxr Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57250 (cherry picked from commit 0ae946e7223df5ef3f7980af1d774d7f593f6421) (cherry picked from commit deaaddf1d3c4283649945553ad7e3208c8424308) (cherry picked from commit b5a4f4bfbc95d5d5361da708728f7f4a6db2ee60) --- sys/dev/vt/vt_buf.c | 9 ++++----- sys/dev/vt/vt_core.c | 6 ++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/dev/vt/vt_buf.c b/sys/dev/vt/vt_buf.c index ea27ea8a5ebf..0fd301bb662a 100644 --- a/sys/dev/vt/vt_buf.c +++ b/sys/dev/vt/vt_buf.c @@ -500,7 +500,6 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) { term_char_t *old, *new, **rows, **oldrows, **copyrows, *row, *oldrow; unsigned int w, h, c, r, old_history_size; - size_t bufsize, rowssize; int history_full; const teken_attr_t *a; term_char_t ch; @@ -511,10 +510,10 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) history_size = MAX(history_size, p->tp_row); /* Allocate new buffer. */ - bufsize = history_size * p->tp_col * sizeof(term_char_t); - new = malloc(bufsize, M_VTBUF, M_WAITOK | M_ZERO); - rowssize = history_size * sizeof(term_pos_t *); - rows = malloc(rowssize, M_VTBUF, M_WAITOK | M_ZERO); + new = mallocarray(history_size, p->tp_col * sizeof(term_char_t), + M_VTBUF, M_WAITOK | M_ZERO); + rows = mallocarray(history_size, sizeof(term_pos_t *), M_VTBUF, + M_WAITOK | M_ZERO); /* Toggle it. */ VTBUF_LOCK(vb); diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 80d9ae1f22c2..c290e34648f4 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -2558,8 +2559,9 @@ skip_thunk: /* XXX */ return (0); case CONS_HISTORY: - if (*(int *)data < 0) - return EINVAL; + if (*(int *)data < 0 || + *(int *)data > UINT_MAX / USHRT_MAX / sizeof(term_char_t)) + return (EINVAL); if (*(int *)data != vw->vw_buf.vb_history_size) vtbuf_sethistory_size(&vw->vw_buf, *(int *)data); return (0); From nobody Sun Jun 7 18:39:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYP9H0rDSz6h5VK; Sun, 07 Jun 2026 18:39:47 +0000 (UTC) (envelope-from dim@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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYP9G71DSz493b; Sun, 07 Jun 2026 18:39:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780857587; 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: in-reply-to:in-reply-to:references:references; bh=WlF5So8K0yR9P8EiCCxRZUgBA+x5PxgimvxdK4h4/jc=; b=BoHTKW/sSHt7aC6rhma3lfI/+xrV+mKL+2CN+iaT8HpbV3tQPdPtP9XHS+4EZaIhbmgGNW cPQPrnZqEdlJdpGId6d7ozyapBKX+nBoo91VhSzszOd6qV8kqVbYPy+5UCaLQOArdMSV0E P0SMNkBeHsnKZTwD33vNAHOEFmQ7AHi9kF4Id/0dxvPaegA9Bh7peH2ngEVCyDs9U4z57Z hIYFs88NADv5BbX1rxgNRG8atPyUj7YAbG6KOGrPISMnJ9gbGo7q84kmvv3/CzMT0iNvrm sJ+UBuu6xkxZ3c6GeSQfrG53jj2Rhj1vl91t6NuzoeX74qD15+jAhWmy2DiUOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780857587; a=rsa-sha256; cv=none; b=FXKjVcsS4GuKkUkv37khJKiiS2bS6DI3/LVpvRBt8hbvq9wj3B8ig6BoG0alrpBFptbQRp USsIViSZGMiP3yUiQDptXJnxshCOg8ClFUdtdzbxxtJQDl3Pn0kuPotGTPi/WflliTp27Q 7NkZC7zhcrkcKDQi1dIg/WjtwHRb8elJx4K1vrDlZaL47lD/fy7YVw9Xn/9fG7vwyltCnp 20biGu2P8fUGEGuOgkSwB/MEweABGo0fElhlMImT0iMOa95Y0e5c6YJhN8l2dp3jf5b5ps FOGWxZfWZLb82O1YGn9NtVUj5G9jABE/odv/+2w/uB2oep34XGubseWrcqHc9A== 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=1780857587; 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: in-reply-to:in-reply-to:references:references; bh=WlF5So8K0yR9P8EiCCxRZUgBA+x5PxgimvxdK4h4/jc=; b=O23Rm0APVTps3l4HYquQWFtArlzdXX8aQBIzmY962CXavIX3ccDV8keemmykng9dycDXsn m+1cvs6c8Rb0B/nKZMZycEVkiOCwZOjOyHz4KjhhiEFrquf1lN68Ri1t0z5Jqf9KsuYslK r4Kt5pO07SiMX80AkGEA+diXvkEXr7oHY14lsgR8nTQDkhsr268prbsmnUZV6heAXtpxcU 3lC2BoggYmpg/cUnQMukVRlzGBd6yGGR/44jkycZtMguZW1LbBkyHyKO3Uiv6rBnuQMB3x 9n9P8rmoVtMs4zJChF0ExgLVt6r4yem/klSPP8QFzLxj3Z9OkK8JGlGFZ51H6g== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (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 ECDSA (prime256v1) client-digest SHA256) (Client CN "tensor.andric.com", Issuer "YE2" (not verified)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gYP9G5mBLzL1m; Sun, 07 Jun 2026 18:39:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (bladnoch.home.andric.com [192.168.0.20]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 0B13567481; Sun, 07 Jun 2026 20:39:45 +0200 (CEST) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81.1.8\)) Subject: Re: git: d94972174560 - main - zfs: merge openzfs/zfs@a170134fe From: Dimitry Andric In-Reply-To: <6a2487d6.45300.24174345@gitrepo.freebsd.org> Date: Sun, 7 Jun 2026 20:39:44 +0200 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <9294C4C8-9BDE-4662-AAAE-F9E88FC64DB2@FreeBSD.org> References: <6a2487d6.45300.24174345@gitrepo.freebsd.org> To: Martin Matuska X-Mailer: Apple Mail (2.3826.700.81.1.8) On 6 Jun 2026, at 22:49, Martin Matuska wrote: > The branch main has been updated by mm: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dd9497217456002b0ddad3cd319570d0b= 098daa29 >=20 > commit d9497217456002b0ddad3cd319570d0b098daa29 > Merge: 4a299ef19c7e a170134febea > Author: Martin Matuska > AuthorDate: 2026-06-06 20:48:32 +0000 > Commit: Martin Matuska > CommitDate: 2026-06-06 20:48:32 +0000 >=20 > zfs: merge openzfs/zfs@a170134fe ... After this, I get the following messages at boot, just before the CPU = features dump: sysctl_register_oid: can't re-use a leaf = (vfs.zfs.metaslab.df_alloc_threshold)! sysctl_register_oid: can't re-use a leaf (vfs.zfs.metaslab.df_free_pct)! sysctl_register_oid: can't re-use a leaf = (vfs.zfs.metaslab.sm_blksz_no_log)! sysctl_register_oid: can't re-use a leaf = (vfs.zfs.metaslab.sm_blksz_with_log)! -Dimitry From nobody Sun Jun 7 19:22:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYQ7D2Wykz6fwJZ for ; Sun, 07 Jun 2026 19:23: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYQ7D1y02z3HSt for ; Sun, 07 Jun 2026 19:23:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780860184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z3rlinoqeKFUn1qGaX4+d2T93py09Nxn9W7R1maLtgg=; b=n2eB2hgXQJNOiTtOCpFUAyL0GYRMx6h0mi+Q/riEL0fmoVp2AmLDQ58Kbo3V0Hc+C8HSte QJ2Jf232FYcT0Z/fq7ec3YmSnnucok/S23vI+09R/+Q3dZcyJdRr4QzE886wYcTVkXeZfp UCm630/m71OCIIlAB6HP3qvv2laNy1ecYDK7dxXJbdpZRcb3jZWyQzcC+C/G+8yxVjTolO /zZBsTZj6QUv/ouYySPVR35aTjy2Snw0OmHgfVncZB3KbYgQuVdheA93BpEfkbTO7S+v7v GSgBWWDrbtGsI/+vsQoYN2jNuO+vxazZXe/KjRW0F3Tim/4olWVUotZMUynOTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780860184; a=rsa-sha256; cv=none; b=WKqS1RskWtSw6lY33DQTb2kczduo25mk+0tw2TtjKw/uKyfApC4hn+Eh6zYAqWPbjF/nN1 HxiBkXJU4dz20ZR5F+Ez9RWKt5X5MXKhY2CQ0/wf6ztV3Y3L39yxDeDitdbimk2yc7/V4o cD1bj4jgxoxO0eJ5zuMRlx1j/ucoOc4QObtgZiVcnF5hToO449H8ZXYFirOxLYRIYGWS3v i5n+AReKnW1+nNsR25YYY+tttNbZz6cvZCQZlKHMfZ1GX8q/gBV4fiLDom11jSCCtU37Aq UlC2Nu4NOoB5M1GMWXYCwRFXwHJny+0ZTPRfeDF5clvUY0u/GFbs3TY2cZqdsQ== 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=1780860184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z3rlinoqeKFUn1qGaX4+d2T93py09Nxn9W7R1maLtgg=; b=Ks0SaaroB5qR6bDQUmGV2dmAVz60ESIijBGb4+SoZ2j9GHdPWpwm5muuH1EndiFjLYrV8n YtX24GsNNCy2qfHhUIBajuTMIQYVPNJfbgEnajArUKEAz1QD8qgUOIWWHtQY1UlcQN1/ES TMjr0VH5q4D9kDKRI/al928lz/vcoQPFja8zeQ/XSC05nrm2JPsh0Q3K3PCZwPp0AQpZUl EJWicfsoNAJyS/6Mdi9G41q88ZUpd1X6ApMm1D4WkWMgyJ16LVdCTbPi3qlvwFKBSN6aVf jzK64cscdN8WLwFQGxsV3mp9tFZTTrf5zaVnK7tpGcA10vkRwNEtWAZeLOuzcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYQ7D1Y3pzkW for ; Sun, 07 Jun 2026 19:23:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d6f6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 19:22:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: b1b4871f373e - main - zfs: fix sysctl_os.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b1b4871f373e9f2a5defdc1242543be291f5e9d9 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 19:22:59 +0000 Message-Id: <6a25c513.3d6f6.2401f8a9@gitrepo.freebsd.org> The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=b1b4871f373e9f2a5defdc1242543be291f5e9d9 commit b1b4871f373e9f2a5defdc1242543be291f5e9d9 Author: Martin Matuska AuthorDate: 2026-06-07 19:15:40 +0000 Commit: Martin Matuska CommitDate: 2026-06-07 19:18:22 +0000 zfs: fix sysctl_os.c Correctly declare vfs.zfs.metaslab.condense_pct The following sysctls have moved to metaslab.c: vfs.zfs.metaslab.df_alloc_threshold vfs.zfs.metaslab.df_free_pct vfs.zfs.metaslab.sm_blksz_no_log vfs.zfs.metaslab.sm_blksz_with_log Reported by: dim@FreeBSD.org --- .../openzfs/module/os/freebsd/zfs/sysctl_os.c | 55 +--------------------- 1 file changed, 1 insertion(+), 54 deletions(-) diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c b/sys/contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c index 447aa5f8300d..a253280df0d6 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c @@ -512,33 +512,6 @@ param_set_active_allocator(SYSCTL_HANDLER_ARGS) return (param_set_active_allocator_common(buf)); } -/* - * In pools where the log space map feature is not enabled we touch - * multiple metaslabs (and their respective space maps) with each - * transaction group. Thus, we benefit from having a small space map - * block size since it allows us to issue more I/O operations scattered - * around the disk. So a sane default for the space map block size - * is 8~16K. - */ -extern int zfs_metaslab_sm_blksz_no_log; - -SYSCTL_INT(_vfs_zfs_metaslab, OID_AUTO, sm_blksz_no_log, - CTLFLAG_RDTUN, &zfs_metaslab_sm_blksz_no_log, 0, - "Block size for space map in pools with log space map disabled. " - "Power of 2 greater than 4096."); - -/* - * When the log space map feature is enabled, we accumulate a lot of - * changes per metaslab that are flushed once in a while so we benefit - * from a bigger block size like 128K for the metaslab space maps. - */ -extern int zfs_metaslab_sm_blksz_with_log; - -SYSCTL_INT(_vfs_zfs_metaslab, OID_AUTO, sm_blksz_with_log, - CTLFLAG_RDTUN, &zfs_metaslab_sm_blksz_with_log, 0, - "Block size for space map in pools with log space map enabled. " - "Power of 2 greater than 4096."); - /* * The in-core space map representation is more compact than its on-disk form. * The zfs_metaslab_condense_pct determines how much more compact the in-core @@ -547,7 +520,7 @@ SYSCTL_INT(_vfs_zfs_metaslab, OID_AUTO, sm_blksz_with_log, */ extern uint_t zfs_metaslab_condense_pct; -SYSCTL_UINT(_vfs_zfs, OID_AUTO, metaslab_condense_pct, +SYSCTL_UINT(_vfs_zfs_metaslab, OID_AUTO, condense_pct, CTLFLAG_RWTUN, &zfs_metaslab_condense_pct, 0, "Condense on-disk spacemap when it is more than this many percents" " of in-memory counterpart"); @@ -565,32 +538,6 @@ SYSCTL_INT(_vfs_zfs, OID_AUTO, removal_suspend_progress, CTLFLAG_RWTUN, &zfs_removal_suspend_progress, 0, "Ensures certain actions can happen while in the middle of a removal"); -/* - * Minimum size which forces the dynamic allocator to change - * it's allocation strategy. Once the space map cannot satisfy - * an allocation of this size then it switches to using more - * aggressive strategy (i.e search by size rather than offset). - */ -extern uint64_t metaslab_df_alloc_threshold; - -SYSCTL_QUAD(_vfs_zfs_metaslab, OID_AUTO, df_alloc_threshold, - CTLFLAG_RWTUN, &metaslab_df_alloc_threshold, 0, - "Minimum size which forces the dynamic allocator to change its" - " allocation strategy"); - -/* - * The minimum free space, in percent, which must be available - * in a space map to continue allocations in a first-fit fashion. - * Once the space map's free space drops below this level we dynamically - * switch to using best-fit allocations. - */ -extern uint_t metaslab_df_free_pct; - -SYSCTL_UINT(_vfs_zfs_metaslab, OID_AUTO, df_free_pct, - CTLFLAG_RWTUN, &metaslab_df_free_pct, 0, - "The minimum free space, in percent, which must be available in a" - " space map to continue allocations in a first-fit fashion"); - /* mmp.c */ int From nobody Sun Jun 7 21:00:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJ86KpMz6g5N7 for ; Sun, 07 Jun 2026 21:00: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSJ83ljMz3Sln for ; Sun, 07 Jun 2026 21:00:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780866056; 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=PgdcpRJ43Mwc5dhFAg/QtrBqwsbEJUXjPJyfk9Sx+98=; b=S5Fv19Yf1CdvAkitjEZ09usxv42CZSZGhhgP9Y0Lk1XWj4nxqJz8v5Tpr42tu4DMTFGS8a ymexhy9cwdHaC0CLr0TKQbbVwqFveSJc15WnobFYrcCJknHg1ACD2F7qOWkhaMDobTB1W8 JTdFtiVGFvDHvEvJ5u5b5Ud/U01eDgGNqoqUkw8Y47jpLGy2dOm7TM0T36iZ03Stbgd70K XVKmMq3tObnH8BIeDlUlpRGW5OOKF+UtybC6EmO0iWlnSt84ONdBsD9WZKHCxW7zFdGJUq vMKfnEjmUbCSSTcsY2G1cEe7Tqhhed21SDaQun0VBktb6KARx/kvEMTwcqE4Mg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780866056; a=rsa-sha256; cv=none; b=YiR8T8DWLWStuZtk90MCHT2ooeIfNmuNZC4Vq6UpkfgynSJJQw70Ida4hgT5p0hymsgeXx iXDG4oKUzTcBlZOFmIoYy7pxXi4YCWY5GkcW9f0dtHar/T8SuXi87NjvFg6z0acD3/MO1E uNleT3yJHSMZumJpTttla3HJ2660CDibok0RObYl16w6PCoQpQ2MjDzxyWgLzvhMx4Qn2k q8kpQXkQSNdMK6mlzNt66J43PS1V8YR4spvw/UNq42/zl4Q63phiwu5IuJaiMohOv5NZSs b1SCYH7AWFBmEtXaU2kO/El7aQ637YGuUzea2aUVKHh7MCoSriFpiMvvrXdOrQ== 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=1780866056; 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=PgdcpRJ43Mwc5dhFAg/QtrBqwsbEJUXjPJyfk9Sx+98=; b=LG9elM1EjZQurQRVwpW8uKCadyjizZaP3wEGbf4T1cXSqSl2k7CeEEVsfFrvgZZyay8W8c 1c0mBXfkzDzr2fwCDk9G7+vFZQ7SPjD+EedxFSkV8LEuusg0SFzP/ZTeTRjZbmVrQf7cKX BqbwaSWPqOOu4DYMv7nDA5qPHRKnhluPqySHUpYW9LtVHFhLkxBmOkoWNfijK6DtJsryvF ebl3asJv/rVAIzENG+LhHQXuy+0hKG+SvQDNlWNxK47RkcHk+zStgxOiqYq7RFAA4iS6ts /Mo2UzNavw+ZN1sseuPEDwjFrwLSjEIOYjG3+t9HJICLuKb9hh0MzQ/FNYygEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJ82LMSz2sf for ; Sun, 07 Jun 2026 21:00:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47998 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:00:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Faraz Vahedi From: Robert Clausecker Subject: git: 26a1180cd152 - main - qsort.3: Document mergesort() behaviour on size overflow List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26a1180cd1521e4c438ac95a57b134e27ea0a72d Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:00:56 +0000 Message-Id: <6a25dc08.47998.34baa44e@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=26a1180cd1521e4c438ac95a57b134e27ea0a72d commit 26a1180cd1521e4c438ac95a57b134e27ea0a72d Author: Faraz Vahedi AuthorDate: 2026-06-02 09:12:59 +0000 Commit: Robert Clausecker CommitDate: 2026-06-07 20:59:19 +0000 qsort.3: Document mergesort() behaviour on size overflow Signed-off-by: Faraz Vahedi Pull Request: https://github.com/freebsd/freebsd-src/pull/2243 Reviewed by: fuz MFC after: 1 week --- lib/libc/stdlib/qsort.3 | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/libc/stdlib/qsort.3 b/lib/libc/stdlib/qsort.3 index e2e29e7cf04f..6b09d57524bf 100644 --- a/lib/libc/stdlib/qsort.3 +++ b/lib/libc/stdlib/qsort.3 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 25, 2024 +.Dd June 2, 2026 .Dt QSORT 3 .Os .Sh NAME @@ -362,13 +362,21 @@ functions succeed unless: .It Bq Er EINVAL The .Fa size -argument is zero, or, +argument is zero, the .Fa size argument to .Fn mergesort is less than -.Dq "sizeof(void *) / 2" . +.Dq "sizeof(void *) / 2" , +or +the +.Fa nmemb +and +.Fa size +arguments to +.Fn mergesort +describe an unrepresentable buffer size. .It Bq Er ENOMEM The .Fn heapsort From nobody Sun Jun 7 21:00:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJ974XMz6g5Kn for ; Sun, 07 Jun 2026 21:00: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSJ93fSRz3Srd for ; Sun, 07 Jun 2026 21:00:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780866057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D5PVXTKzM1s6kiLJ9L2QjSinz4OiGDNyiVAjj3+LgS8=; b=u+Lui1cS5Tt+Kl8Dxj8pS4/U/7ihKJ1AKqhHzGuBIKBWjlYi0x+eDCbk43oWKMJyM/UC13 QLjE/YygJQbfO68j79wCDg6nUFj0WrGx2stwhqQ+6ZIEdg+cULpQCS0WyRmVZj0e9cCCjR FJCmCWOq2Dgy1XOgHptY9O2EG/pRAwOg1InSr9e1te4SDmcDQFZfkMl13Ry0tOSjCPPyEB 1sjitpM1gL4vSmniSCNuw0N67wPGxQrNAOE6OcmWzGTgnzlEbqS2XH0fmDbMsX8Uy3Qzx2 XJuIccfXh8iLKPelGbym42lWKQ7JhZ9OCjOQKOtSgQ5TKrVDOS6pehYrfjhRxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780866057; a=rsa-sha256; cv=none; b=XmhUSXL+YOlXhZFzt+g6TbZNU+EFlDwtnykXYqqpfHBxPOPgGEGIYHEIQIjmI+j3syYNt+ KY54tYjYy99S+ETnOGyM30Vlj5zmxiiXelA4Y7qc1X/8vtrCyMU0zpjM6w2l6rWKtcSWvs eBpO7DQJFdsGEpLNsi/wy63ZsGUOpIIIhWQ5RBGfzfNSfAox5a1zUSmAv98oAt0aTO6nyF 91poO8QG3SHErU5nTf1o8HV47Ykimso4E0mONewaxKVihEdy4wBWGGZsdwzum7WBxVM+C+ t59Wh++cS3XU19eIxdiFOz++VNpXrdKdsz0g6ClhjDbooVnSVJ4xDfN2JIkTdA== 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=1780866057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D5PVXTKzM1s6kiLJ9L2QjSinz4OiGDNyiVAjj3+LgS8=; b=KwHMIDyAxI7imTb8GhZhyAnsEfdJjNlYimy7xEwBnNkTP2uEQ2mmEEhb8VDqXsj95mbDgQ Ym3lvR0rfNaZvwuNaBBjURVETQD2LEzflTSoq4Ei1jA4x8jxm2Vl7I6v4Olb3fbnOQNeAY XrnV2N9ZoegA1xtvTlBmOhtBkoCDJ7TT80st7e91SOzjhEUkxNZ4yk23zeFLzGUTabQ+0f 6opVAlrzBwJWGNUd8OLK51L7YARS0CzZDChhQ3FmNPuuPJDfs+x4dk7+ygDW+/QyR97ndu nA5anvCHS/lA6cDa8Vrtdwtfb/E12GFLVn7qLBMto9cYrX1mtJm5PgwYVyAA8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJ93Cg9z3Cj for ; Sun, 07 Jun 2026 21:00:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47387 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:00:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 4996ebdb7200 - main - libc/riscv64: temporarily unhook strrchr() from the build List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4996ebdb720042239a197ebec2d265cdfdf1bbf3 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:00:57 +0000 Message-Id: <6a25dc09.47387.cd8ea07@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=4996ebdb720042239a197ebec2d265cdfdf1bbf3 commit 4996ebdb720042239a197ebec2d265cdfdf1bbf3 Author: Robert Clausecker AuthorDate: 2026-06-07 19:00:33 +0000 Commit: Robert Clausecker CommitDate: 2026-06-07 20:59:19 +0000 libc/riscv64: temporarily unhook strrchr() from the build A bug was discovered in the riscv64 assembly implementation of this function. Fall back to the generic implementation until a fix can be developed. PR: 295823 Reported by: siva MFC after: 1 week --- lib/libc/riscv/string/Makefile.inc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/libc/riscv/string/Makefile.inc b/lib/libc/riscv/string/Makefile.inc index ce965833cb27..bf62258c4db5 100644 --- a/lib/libc/riscv/string/Makefile.inc +++ b/lib/libc/riscv/string/Makefile.inc @@ -5,5 +5,4 @@ MDSRCS+= \ memcpy.S \ memset.S \ strlen.S \ - strchrnul.S \ - strrchr.S + strchrnul.S From nobody Sun Jun 7 21:00:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJC0zsgz6g54Q for ; Sun, 07 Jun 2026 21:00: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSJB4gv9z3Swh for ; Sun, 07 Jun 2026 21:00:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780866058; 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=jMBWLqfrsmdp/y+RXcKA5pdRGrsmPP4qm9JzgS8y5w0=; b=lFUr/pVPYTppr/M+9RyX2iMzhAeylHYCnWD7WQTdYy1PF3rsYVIcdyf4RrelPWJYaMSW8f C7h6E8YcaR6lptq7gozAcJUJf+yGkV8liWw6rlts6AFUONNFvwmfCMqM1b4mbULHeQoDtK 7JrIRtUX5z+7CwsPZ2ln7t2Ji5t3SR1U7PdYthRW4bRy8oyPTfViZrmb5z279ExNcOm+4s YDNM8WbRsooiBgrihwHKrmY/Eeon9dxkrpWLoBV4TvNY8I0vjQD5vB5WEjUzVHXiX8qjq4 SoqzI/8lAJpuVqYE9zShRbokoUL32ARnyW+q/o3MuLFc6OtCcGTwNZnmP8MhXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780866058; a=rsa-sha256; cv=none; b=Bl+kFmsYapdGDlPA0tz4/KelqVs5Rt0EvjuVNEtACj+c0bhq49Q5oGwrpE76wftsR9j/6K 3UWmpFZQJXmOM9nJjq9PtpgmWOsIQdX8uxJr3/ElCijnMMRtRRv6AqxuUhPxIeB1YocYKO M5FIhLLgMusNkz/96RhJpivKrwJDcy1vNLEZwiljonegtyd9j2ciLIWkFBpCqATC2K6OR1 HMv1+5RFfy0KQdR65x+w9xUM5RY93itjtisF/h+fjw4o7e3Ez1st4NRfKZE9jXwVv5GO1+ 8uqZAQblYhxlpghto16ZnSgNsm3cgIy7Huc1S8/0FG7soBZYomjVV/fSI9dEMQ== 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=1780866058; 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=jMBWLqfrsmdp/y+RXcKA5pdRGrsmPP4qm9JzgS8y5w0=; b=wYb1TGIx2IAi4FrxaWv6lBYsymuTwCjPPB4g7IaPsDtpYWw9g4LdY2EExTvCbLEpagsor8 nVD4iEwyU9/G9pmpplIvFplW8jYOnAptMROYz0fBKXG5dw3GPIAIkXiTFnjRDS2bY/zdQ/ t249TP1GGpm+hG2eWSeWGxMrtvUPqb0IeDRjmJXn63+p3bu3pfNO4A8jO7WMxzlGRiggy7 E+R08AJw1sAZEQIIcmjgrbtmZvOZau+WXlG83Pqsl6E9ldJAkzl3vvgGUHjwGrVb4f6/a7 RP9fKuCrDz9SOjkSSDDc6im7P/YsrMmfahUmiFqDq4PROgawJaU/2WcLcWV38Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJB40Ftz2yq for ; Sun, 07 Jun 2026 21:00:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47a4d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:00:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Steve Kargl From: Robert Clausecker Subject: git: c3f6dcea1992 - main - msun: Fix up for recent rsqrt[fl] functions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c3f6dcea199289329c1d3b91b69e5a4821fc3dff Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:00:58 +0000 Message-Id: <6a25dc0a.47a4d.198123cf@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=c3f6dcea199289329c1d3b91b69e5a4821fc3dff commit c3f6dcea199289329c1d3b91b69e5a4821fc3dff Author: Steve Kargl AuthorDate: 2026-06-07 19:12:16 +0000 Commit: Robert Clausecker CommitDate: 2026-06-07 20:59:19 +0000 msun: Fix up for recent rsqrt[fl] functions Paul Zimmermann (of Core-Math and MPFR fame) graciously tested the recently committed rsqrt[fl]() functions. He identified 127 incorrectly rounded values for rsqrtf() in round-to-nearest mode. This patch fixes the rounding in RN. Exhaustive testing now shows that rsqrtf() is corrected rounded for RN. He also tested rsqrt() and rsqrtl() in the interval [1,4). Both appear to be correctly rounded. Finally, the patch includes small changes to comments. A concise list of changes is * lib/msun/src/s_rsqrt.c: . Fix comments. * lib/msun/src/s_rsqrtf.c . Fix comments. . Exhaustive testing by Paul Zimmermann found 127 incorrectly rounded values in round-to-nearests. These gave have the form 0x1.13e07pN with N an odd integer. With this patch, all values are now correctly rounded in round-to-nearest. * lib/msun/src/s_rsqrtl.c . Fix comments. . Move all variable declarations to top of function and sort. PR: 295706 MFC after: 1 week Fixes: 3085fc9d97bd83785ba3ba43e0378d7d67987d1f --- lib/msun/src/s_rsqrt.c | 4 ++-- lib/msun/src/s_rsqrtf.c | 37 ++++++++++++++++++++++--------------- lib/msun/src/s_rsqrtl.c | 8 +++----- 3 files changed, 27 insertions(+), 22 deletions(-) diff --git a/lib/msun/src/s_rsqrt.c b/lib/msun/src/s_rsqrt.c index 0a513afe8ed2..cac16f837a05 100644 --- a/lib/msun/src/s_rsqrt.c +++ b/lib/msun/src/s_rsqrt.c @@ -108,14 +108,14 @@ rsqrt(double x) hx = (hx & 0x000fffff) | 0x3fe00000; SET_HIGH_WORD(x, hx); - /* m is odd. Put x into [0.25,5) and increase m. */ + /* m is odd. Put x into [0.25,0.5) and increase m. */ if (m & 1) { x /= 2; m += 1; } m = -(m >> 1); /* Prepare for 2^(-m/2). */ - y = 1 / sqrt(x); /* ~52-bit estimate. */ + y = 1 / sqrt(x); /* ~52-bit estimate. */ h = y / 2; diff --git a/lib/msun/src/s_rsqrtf.c b/lib/msun/src/s_rsqrtf.c index b71f7baf5657..faeb1c300e18 100644 --- a/lib/msun/src/s_rsqrtf.c +++ b/lib/msun/src/s_rsqrtf.c @@ -108,7 +108,7 @@ rsqrtf(float x) ix = (ix & 0x007fffff) | 0x3f000000; SET_FLOAT_WORD(x, ix); /* x is in [0.5,1). */ - /* m is odd. Put x into [0.25,5) and increase m. */ + /* m is odd. Put x into [0.25,0.5) and increase m. */ if (m & 1) { x /= 2; m += 1; @@ -122,33 +122,40 @@ rsqrtf(float x) * a max ulp of ~1.49. */ y = 1 / sqrtf(x); - h = y / 2; /* - * For values of x with a representation of 0x1.fffffcpN with - * N an odd integer, the computed rsqrtf() is not correctly - * rounded in round-to-nearest without toggling the rounding - * mode to FE_TOWARDZERO. Note, FE_DOWNWARD also works. - * However, messing with the rounding mode is expensive, so - * only do it when necessary. Example, x = 0x1.fffffcp3 gives - * y --> 0x3f800001. + * For values of x with representations of the forms 0x1.fffffcpN + * or 0x1.13e07pN with N an odd integer, the computed rsqrtf() is + * not correctly rounded in round-to-nearest without fiddling with + * the rounding mode and/or bits of x. */ GET_FLOAT_WORD(ix, y); - if ((ix & 0x000fffff) == 1) { + if ((ix & 0x000fffff) == 1) { /* 0x1.fffffcpN */ + rnd = fegetround(); + fesetround(FE_DOWNWARD); + _MUL(x, y, zh, zl); + _XMUL(zh, zl, h, 0, ph, pl); + fesetround(rnd); + _XADD(-ph, -pl, half, 0, rh, rl); + y = h + h * rh; + } else if((ix & 0x00ffffff) == 0x00ae6055) { /* 0x1.13e07pN */ + GET_FLOAT_WORD(ix, x); + SET_FLOAT_WORD(x, ix - 1); rnd = fegetround(); - fesetround(FE_TOWARDZERO); + fesetround(FE_DOWNWARD); _MUL(x, y, zh, zl); _XMUL(zh, zl, h, 0, ph, pl); - fesetround(rnd); + _XADD(-ph, -pl, half, 0, rh, rl); + y = h + h * rh; + fesetround(rnd); } else { _MUL(x, y, zh, zl); _XMUL(zh, zl, h, 0, ph, pl); + _XADD(-ph, -pl, half, 0, rh, rl); + y = h * rh + h; } - _XADD(-ph, -pl, half, 0, rh, rl); - y = h * rh + h; - ix = (uint32_t)(m + 128) << 23; SET_FLOAT_WORD(x, ix); return (y *= x); diff --git a/lib/msun/src/s_rsqrtl.c b/lib/msun/src/s_rsqrtl.c index 34d5cdc48173..bf3d32481e3f 100644 --- a/lib/msun/src/s_rsqrtl.c +++ b/lib/msun/src/s_rsqrtl.c @@ -108,7 +108,7 @@ rsqrtl(long double x) } u.bits.exp = 0x3ffe; - /* m is odd. Put x into [0.25,5) and increase m. */ + /* m is odd. Put x into [0.25,0.5) and increase m. */ if (m & 1) { u.e /= 2; m += 1; @@ -141,8 +141,9 @@ long double rsqrtl(long double x) { volatile static const double vzero = 0; + static const double half = 0.5; int hx, m, rnd; - long double y; + long double h, ph, pl, rh, rl, y, zh, zl; /* x = +-0. Raise exception. */ if (x == 0) @@ -183,9 +184,6 @@ rsqrtl(long double x) y = 1 / sqrt((double)x); /* ~52-bit estimate. */ y -= y * (x * y * y - 1) / 2; /* ~104-bit estimate. */ - static const double half = 0.5; - long double h, ph, pl, rh, rl, zh, zl; - h = y / 2; rnd = fegetround(); From nobody Sun Jun 7 21:00:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJD6VFBz6g5H7 for ; Sun, 07 Jun 2026 21:01: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSJD2xTfz3Str for ; Sun, 07 Jun 2026 21:01:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780866060; 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=9sorCk1GowW7F90jTrm/878klZoUfNBnlwZrF3WWQi4=; b=MkrfkTVvfPO5TGlL41a8Hr7KYveYviIw9y9k9HOaBJJqy+LoGU9+93Hbi7MutigXkMj1/5 IAOoxFrMmkv/1FTtIbvAjqGMv+DA4mi0McWowqpSMPOEbqo6uJas76x/zQXhKsRuYTNhtw T6leg4kFbZgAJaUYshTdw4kj/ikXmb02dmSqGBEzZD9LvCyxDaCR8Yj4QtihL7VUxZKzTD /Ip5I6SiVjUKs1v13ydtGXBSe8Xp7RfWtOKvV2G9+SlzMRszvjV/WZqTkFWPb7wc1MlcNq MM6eO57bYchEyAXSVqxTXxBAM1bxVAGQqPNyVVSMA4yjTTXJf10LI1D6qd/7jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780866060; a=rsa-sha256; cv=none; b=xHp9e8WTPaWQY8xkpe2BvmyCeNXGBJJ8b3127a/sRUXZLC8ntSeG35IVdk5nJZR88ynHWy EsuscAFsE8/oVl20OBtvWjti6HzFuAb7o+YiCPY0DscixT7WvslJlkK6is4q/nqcbucT76 BHBvZAKH3tj/MUbPkGn7EmFobjMITQO8fl5XeFP9SiC/2y5qMw166EUAfSEJWzm2N9q1/A GCiuCvPdEmZWL1+JDtyD4Hfr3/x7pHUNfDI6o2TMd2VxcR0nkLiiDSjgduG+4zoh2FeF2k UhfeGFD6U7LRfPpeo1UGZw/ZWosYQ8kd0aER5LUMOQ1HMzQyMnwXp34QYcEg0g== 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=1780866060; 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=9sorCk1GowW7F90jTrm/878klZoUfNBnlwZrF3WWQi4=; b=RfOHUiUKSKy8roNWEuy8kRMLWvbyoV5Ti5fYZtNKBZq32L9iR0I2ih2Ie+RTGxiKv5c00Y ai/Aqc5dJJd3NiHj3cXGVED53lLIpDLdBvxO5Ys2f5H7OnyNT819YT+HKIWUhz1dBBbM3S YOJb+Cxhrz0XtuFz5V2oLXG63kUIhcFjSbvIlWWzL9m+1XYyroWuI8FZKoxRhKBUoJrkS+ w1eRtvhb4c81fjAkS1/mYs1VHgprzy9MmtqRGbiWV4tgWYb8NUZoE/QCEnpZuoX89ReE15 1m/a6edF+KCrbPQtrDyGDHOsJpg6Gy1tCSwvJmqIww1kvIt25+6IBYMUfwr5DA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJD2H0Jz2Zs for ; Sun, 07 Jun 2026 21:01:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 462cd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:00:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Faraz Vahedi From: Robert Clausecker Subject: git: 3501eec9dd39 - main - libc: Guard mergesort() allocation size arithmetic List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3501eec9dd39b527a46e82de53480968d283b90e Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:00:55 +0000 Message-Id: <6a25dc07.462cd.5243bfb6@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=3501eec9dd39b527a46e82de53480968d283b90e commit 3501eec9dd39b527a46e82de53480968d283b90e Author: Faraz Vahedi AuthorDate: 2026-05-28 13:50:45 +0000 Commit: Robert Clausecker CommitDate: 2026-06-07 20:59:18 +0000 libc: Guard mergesort() allocation size arithmetic Signed-off-by: Faraz Vahedi Pull Request: https://github.com/freebsd/freebsd-src/pull/2243 Reviewed by: fuz MFC after: 1 week --- lib/libc/stdlib/merge.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/libc/stdlib/merge.c b/lib/libc/stdlib/merge.c index e70938088589..e07a3947e741 100644 --- a/lib/libc/stdlib/merge.c +++ b/lib/libc/stdlib/merge.c @@ -49,6 +49,7 @@ #include #include +#include #include #include @@ -109,7 +110,7 @@ mergesort_b(void *base, size_t nmemb, size_t size, cmp_t cmp) mergesort(void *base, size_t nmemb, size_t size, cmp_t cmp) #endif { - size_t i; + size_t i, nbytes, asize; int sense; int big, iflag; u_char *f1, *f2, *t, *b, *tp2, *q, *l1, *l2; @@ -123,16 +124,21 @@ mergesort(void *base, size_t nmemb, size_t size, cmp_t cmp) if (nmemb == 0) return (0); + if (ckd_mul(&nbytes, nmemb, size) || ckd_add(&asize, nbytes, PSIZE)) { + errno = EINVAL; + return (-1); + } + iflag = 0; if (__is_aligned(size, ISIZE) && __is_aligned(base, ISIZE)) iflag = 1; - if ((list2 = malloc(nmemb * size + PSIZE)) == NULL) + if ((list2 = malloc(asize)) == NULL) return (-1); list1 = base; setup(list1, list2, nmemb, size, cmp); - last = list2 + nmemb * size; + last = list2 + nbytes; i = big = 0; while (*EVAL(list2) != last) { l2 = list1; @@ -227,10 +233,10 @@ COPY: b = t; tp2 = list1; /* swap list1, list2 */ list1 = list2; list2 = tp2; - last = list2 + nmemb*size; + last = list2 + nbytes; } if (base == list2) { - memmove(list2, list1, nmemb*size); + memmove(list2, list1, nbytes); list2 = list1; } free(list2); From nobody Sun Jun 7 21:00:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJD30V4z6g5CM for ; Sun, 07 Jun 2026 21:01: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSJC5Ng7z3Sx6 for ; Sun, 07 Jun 2026 21:00:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780866059; 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=KNWfD+O4oSU8Pww1MLQR5nzG0UYLovALqWo966dgRl0=; b=metKhJbT/1jtOkl/cLZ0RockXnI0LyGRKNhPOCdYDJOqeO9PHktXAFDHB8TPKFoD/yP/zV dOT6HJ8dnlzyzaUA5QhZqwojIYrH8SdGURArQXATiIdnDp4IUTOKL8yR/EUjGAnIh04q/8 dt9ZSJn7dOsSOq8sJFbw5+xyWA74N9s1eDXvAQJM7YezXT9M5aNsIKYeI4mgK+HMEuFXBa 5Zfgkk3QSKxzY88yv7J1w3Gw8XsZehzlquog11UIUQ1L2aNHa1D3SrG2EjXotR1faztPpk oBL85XrRoHHzaaTp1xxtrbjgV6ZAkwuK33975jJQseEdHB7JxzFwKxCXyra2YQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780866059; a=rsa-sha256; cv=none; b=OVzDO+JQ97TVtx8EHWkRBPqcKjLSNUt/pnDWEI2b6Xt6mpmaoMYwGHBEcWCd5RtzAp5vwm l3SOJbnMIDXN5vlZkWhGZ+a+kXT+kAI0vgk271SdgvypszaXasB27dOYjuWYzmOU+R0EkQ 6c5wi0TOqRgykbGrWFPBFE43a8tBKAqpGyfRKuSufKUf75d6OKaP8veZLFXpn0ewqrTfk4 EisGN1TNCSaJ4X39qEDK0CGwcCs+YZ9Lkdbg26hZHujUsopLPSdHfBYYn6nTSWBbslElDi O07rwrXEKv7NwVRoCZDZx1NcK0hbNdbY8YRrHf6KDBq5n0hxlKGgnNdHGuyHmQ== 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=1780866059; 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=KNWfD+O4oSU8Pww1MLQR5nzG0UYLovALqWo966dgRl0=; b=c5SClNGFilMgS2kg0Gx1IxVylR78vtUnyUchftX0tRFni4psF0IvPOlMVMVU514aukB8xO 7Gq1SK60n2OmhytsYs1ZYNjgVyBiuN+sxgzXVmRa1d0F3jwgYN61UzLHAbCLwVdCS7NQz8 Zkqy4LTZmI2Vy4BphyZJ8xYIdSGNJqgQjTQt2s+bqqAFwjnt4Q27+ufisfa4+2alkofFYa 3bsKCnnp0FLcg5NF79y4Aszc4Q5AXbYx49WATPIJqi7wA2ID8gcyeWSQjdameVLkFfgHHz 4hc/H3fOLj00BQfMGltBcDtGuasg2r08Qjf0ZgYt4sU1BeWoKXyrkHaCeIVBIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJC4rWJz2yr for ; Sun, 07 Jun 2026 21:00:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4729a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:00:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Faraz Vahedi From: Robert Clausecker Subject: git: 5f732742ad5b - main - libc: Add free_sized() and free_aligned_sized() as per C23 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f732742ad5b3133a860a8969cf2bd13dc9ac358 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:00:59 +0000 Message-Id: <6a25dc0b.4729a.7f7225a7@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=5f732742ad5b3133a860a8969cf2bd13dc9ac358 commit 5f732742ad5b3133a860a8969cf2bd13dc9ac358 Author: Faraz Vahedi AuthorDate: 2026-05-16 18:36:17 +0000 Commit: Robert Clausecker CommitDate: 2026-06-07 20:59:19 +0000 libc: Add free_sized() and free_aligned_sized() as per C23 Add C23 sized deallocation entry points as thin wrappers around free(3). Implementations may ignore size and alignment hints, so behaviour stays correct for existing allocations without validating caller metadata yet. When jemalloc is updated to 5.3.1, rewire these to je_free_sized() and je_free_aligned_sized() so deallocation can use the allocator's sized deallocation (free_sized for fast paths and free_aligned_sized for correct aligned hints.) Please note this change satisfies the standard interface only. Both functions should be delegated to jemalloc after the upgrade so callers get the intended allocator behaviour; until then, hints are unused and neither sized nor aligned-sized deallocation optimizations apply. Signed-off-by: Faraz Vahedi Reviewed by: fuz Pull Request: https://github.com/freebsd/freebsd-src/pull/2201 MFC after: 1 month --- include/stdlib.h | 2 + lib/libc/stdlib/malloc/Makefile.inc | 9 +++ lib/libc/stdlib/malloc/Symbol.map | 7 ++ lib/libc/stdlib/malloc/free_aligned_sized.c | 21 ++++++ lib/libc/stdlib/malloc/free_sized.3 | 100 ++++++++++++++++++++++++++++ lib/libc/stdlib/malloc/free_sized.c | 20 ++++++ lib/libc/stdlib/memory.3 | 17 ++++- 7 files changed, 175 insertions(+), 1 deletion(-) diff --git a/include/stdlib.h b/include/stdlib.h index 305aea4b8672..82a347f5317e 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -173,6 +173,8 @@ _Noreturn void */ #if __ISO_C_VISIBLE >= 2023 size_t memalignment(const void *) __pure2; +void free_sized(void *, size_t) __noexcept; +void free_aligned_sized(void *, size_t, size_t) __noexcept; #endif /* __ISO_C_VISIBLE >= 2023 */ /* diff --git a/lib/libc/stdlib/malloc/Makefile.inc b/lib/libc/stdlib/malloc/Makefile.inc index 3bae4ff1505b..e7e3b49a355a 100644 --- a/lib/libc/stdlib/malloc/Makefile.inc +++ b/lib/libc/stdlib/malloc/Makefile.inc @@ -1,3 +1,12 @@ SYM_MAPS+=${LIBC_SRCTOP}/stdlib/malloc/Symbol.map +.PATH: ${LIBC_SRCTOP}/stdlib/malloc + +MISRCS+= free_aligned_sized.c \ + free_sized.c + +MAN+= free_sized.3 + +MLINKS+= free_sized.3 free_aligned_sized.3 + .include "${LIBC_SRCTOP}/stdlib/malloc/${OPT_LIBC_MALLOC}/Makefile.inc" diff --git a/lib/libc/stdlib/malloc/Symbol.map b/lib/libc/stdlib/malloc/Symbol.map index d3aa7f3f9988..d1fefd8ca0c2 100644 --- a/lib/libc/stdlib/malloc/Symbol.map +++ b/lib/libc/stdlib/malloc/Symbol.map @@ -47,6 +47,13 @@ FBSD_1.4 { __mallctlbymib; }; +FBSD_1.9 { + free_sized; + free_aligned_sized; + __free_sized; + __free_aligned_sized; +}; + FBSDprivate_1.0 { _malloc_thread_cleanup; _malloc_prefork; diff --git a/lib/libc/stdlib/malloc/free_aligned_sized.c b/lib/libc/stdlib/malloc/free_aligned_sized.c new file mode 100644 index 000000000000..6bb238e0b2ba --- /dev/null +++ b/lib/libc/stdlib/malloc/free_aligned_sized.c @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2026 Faraz Vahedi + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include + +void __free(void *); + +void +__free_aligned_sized(void *ptr, size_t alignment, size_t size) +{ + + (void)alignment; + (void)size; + __free(ptr); +} + +__weak_reference(__free_aligned_sized, free_aligned_sized); diff --git a/lib/libc/stdlib/malloc/free_sized.3 b/lib/libc/stdlib/malloc/free_sized.3 new file mode 100644 index 000000000000..f208c829d933 --- /dev/null +++ b/lib/libc/stdlib/malloc/free_sized.3 @@ -0,0 +1,100 @@ +.\" +.\" Copyright (c) 2026 Faraz Vahedi +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 17, 2026 +.Dt FREE_SIZED 3 +.Os +.Sh NAME +.Nm free_sized , +.Nm free_aligned_sized +.Nd C23 sized deallocation functions +.Sh SYNOPSIS +.Lb libc +.In stdlib.h +.Ft void +.Fn free_sized "void *ptr" "size_t size" +.Ft void +.Fn free_aligned_sized "void *ptr" "size_t alignment" "size_t size" +.Sh DESCRIPTION +The +.Fn free_sized +function deallocates the memory referenced by +.Fa ptr +that was previously allocated by +.Xr malloc 3 , +.Xr realloc 3 , +or +.Xr calloc 3 . +The +.Fa size +argument shall equal the size passed to the allocation function. +The result of an +.Xr aligned_alloc 3 +may not be passed to +.Fn free_sized . +.Pp +The +.Fn free_aligned_sized +function deallocates memory referenced by +.Fa ptr +that was previously allocated by +.Xr aligned_alloc 3 . +The +.Fa alignment +and +.Fa size +arguments shall equal the values supplied to the allocation function. +The result of an +.Xr malloc 3 , +.Xr calloc 3 , +or +.Xr realloc 3 +may not be passed to +.Fn free_aligned_sized . +.Pp +If +.Fa ptr +is neither a null pointer nor a pointer returned by the allocation functions +described above for the corresponding deallocation function, the behaviour is +undefined, and so is supplying a +.Fa size +or +.Fa alignment +that does not match the original allocation. +.Sh IMPLEMENTATION NOTES +The C standard permits an implementation to ignore the +.Fa size +and +.Fa alignment +hints. +The current implementation forwards to +.Xr free 3 +without validating these arguments, so behaviour remains correct for +well-formed use. +.Pp +These functions will be wired to the system allocator's sized deallocation, +once supported, as with the rest of the memory allocation API, so that +.Fa size +and +.Fa alignment +hints are used for performance and security benefits. +That behaviour conforms to the practice recommended for each function in the +C standard. +.Sh SEE ALSO +.Xr free 3 , +.Xr malloc 3 , +.Xr calloc 3 , +.Xr realloc 3 , +.Xr aligned_alloc 3 , +.Xr jemalloc 3 +.Sh STANDARDS +The +.Fn free_sized +and +.Fn free_aligned_sized +functions conform to +.St -isoC-2023 . +.Sh AUTHOR +.An Faraz Vahedi Aq Mt kfv@kfv.io diff --git a/lib/libc/stdlib/malloc/free_sized.c b/lib/libc/stdlib/malloc/free_sized.c new file mode 100644 index 000000000000..b9242ac13862 --- /dev/null +++ b/lib/libc/stdlib/malloc/free_sized.c @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2026 Faraz Vahedi + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include + +void __free(void *); + +void +__free_sized(void *ptr, size_t size) +{ + + (void)size; + __free(ptr); +} + +__weak_reference(__free_sized, free_sized); diff --git a/lib/libc/stdlib/memory.3 b/lib/libc/stdlib/memory.3 index b7703cf44bd5..16674e8f208e 100644 --- a/lib/libc/stdlib/memory.3 +++ b/lib/libc/stdlib/memory.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 18, 2023 +.Dd May 17, 2026 .Dt MEMORY 3 .Os .Sh NAME @@ -33,6 +33,8 @@ .Nm alloca , .Nm calloc , .Nm free , +.Nm free_sized , +.Nm free_aligned_sized , .Nm malloc , .Nm posix_memalign , .Nm realloc , @@ -53,6 +55,10 @@ .Fn calloc "size_t nelem" "size_t elsize" .Ft void .Fn free "void *ptr" +.Ft void +.Fn free_sized "void *ptr" "size_t size" +.Ft void +.Fn free_aligned_sized "void *ptr" "size_t alignment" "size_t size" .Ft void * .Fn malloc "size_t size" .Ft int @@ -79,6 +85,8 @@ individual manual pages. .Xr alloca 3 , .Xr calloc 3 , .Xr free 3 , +.Xr free_aligned_sized 3 , +.Xr free_sized 3 , .Xr malloc 3 , .Xr posix_memalign 3 , .Xr realloc 3 , @@ -101,3 +109,10 @@ and .Fn posix_memalign functions conform to .St -p1003.1-2001 . +.Pp +The +.Fn free_sized +and +.Fn free_aligned_sized +functions conform to +.St -isoC-2023 . From nobody Sun Jun 7 21:01:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJF22k9z6g51w for ; Sun, 07 Jun 2026 21:01: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSJD67tTz3Ss9 for ; Sun, 07 Jun 2026 21:01:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780866060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YMdpSjKzQukwTy7JNw/CDJcMevoN7S035Q1yy2aIhek=; b=J54BqT9FhBGeY5qZIWiRnopmm+F39iLwk4P87oLLsyUB03QFA40M7coMhKO+VqN5NKNaZJ jX2QzJq5If5/jeGia15/nil+QDnSSTpdoQhNWsIrUer6mps51pp6mfUOFg/zHbX9CI1Puv G258IaANyJSMgUhRbT/Sg2+2hDmFxt3bdkM6dZdiZ8wc1KXP68iJ50EZ4ju/rU3FV/wRKH wLEDpc8AsA3acd4nzWUdpF9BcVPw2K69XjKFDfw2mksVIcpb0/x/l4ELI7XQd6c97i8ouk gOzj6e1UMis1aX476LhXRM444zgc8geHfwZNgcAHYwxQZVOguGwJpUZCJ+oeyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780866060; a=rsa-sha256; cv=none; b=qKHvXVPSar/oh6UgK/AeinBu6Rw7ChuWgaDuFcmF0IHd889FEqzOFvlCgx6IUUxHU5ozng YgscZfTXgklGRfDjhmthLfBofPW2zNzlDR6pafaV5anURf8Jkp38giO/8PzNJTMyzNPutC jaDiXi86oOVsGWXZKE8vY8KnC4VPCr6OASoV8i93BJRvXbVUTKIvZuZcuVTRFxQyzSMIIY QtSru0DxbGaprhTivptGfcQ4WSbhbPGnyTBNqau5iLo3nIEljEOG8GKyc48duLoEaNjBVf ewjI1BBw4nYYLYafGlrlvcOp2aNU9Szv53a8d6fvSn0k9XAXgryX/l/XDFto0A== 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=1780866060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YMdpSjKzQukwTy7JNw/CDJcMevoN7S035Q1yy2aIhek=; b=ECpSvrK9LBpEyNCykUw0PoOmt6bPYEONXytJkcXd2mGkpTls/sxdFdkbzkZgdNf9riqVJW l/8BH+wecTFBuaS65MQVwngO218fdmvDR7/f+T8EiI9dxeKP2qVgiFq/J4z23avnLeM/Wl i1Nw5X0XSSeEpPhOvQw7mlVyO++5yoo1khl9w2rM1ARVNZmiR4x/YYF+nuR8XQ+jhjM/Vw PQaAYLWzS3XD1LrOVw/5wba8yfQa0yittBk8HCLVXdYFTdCv0+7TA0w9fZdk1BnrT++zim j/WMNhKAepXu18gWLHJTXQEkPeFC+kDTeC+0yOlTwi722QhbZIyq0B9l4OpvUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJD5jbZz2gZ for ; Sun, 07 Jun 2026 21:01:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47838 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:01:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 93221c277608 - main - depend-cleanup.sh: rebuild strrchr.o on riscv64 if it came from strrchr.S List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 93221c277608d2612511eaabbf2bfc1f4b4250f7 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:01:00 +0000 Message-Id: <6a25dc0c.47838.6d44272d@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=93221c277608d2612511eaabbf2bfc1f4b4250f7 commit 93221c277608d2612511eaabbf2bfc1f4b4250f7 Author: Robert Clausecker AuthorDate: 2026-06-07 20:58:31 +0000 Commit: Robert Clausecker CommitDate: 2026-06-07 21:00:25 +0000 depend-cleanup.sh: rebuild strrchr.o on riscv64 if it came from strrchr.S We have to switch back to the previous rule once the temporary build fix has been replaced with a permanent fix. PR: 295823 See also: 4996ebdb720042239a197ebec2d265cdfdf1bbf3 Reported by: siva MFC after: 1 week --- tools/build/depend-cleanup.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index b72dd3b60f05..a8e6b1ca1344 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -342,7 +342,7 @@ fi if [ ${MACHINE} = riscv ]; then # 20251031 df21a004be23 libc: scalar strrchr() in RISC-V assembly - clean_dep lib/libc strrchr c + #clean_dep lib/libc strrchr c # 20251031 563efdd3bd5d libc: scalar memchr() in RISC-V assembly clean_dep lib/libc memchr c @@ -366,8 +366,11 @@ if [ ${MACHINE} = riscv ]; then clean_dep lib/libc bcopy c "libc.string.bcopy.c" clean_dep lib/libc bzero c "libc.string.bzero.c" - # 20260307 2a4e3112c811 libc/riscv64: temporarily disable strnlen() implementation until a fix is developed + # 20260307 2a4e3112c811 libc/riscv64: temporarily disable strnlen() implementation until a fix is developed clean_dep lib/libc strnlen S + + # 20260607 4996ebdb7200 libc/riscv64: temporarily disable strrchr() implementation until a fix is developed + clean_dep lib/libc strrchr S fi if [ ${MACHINE_ARCH} = "aarch64" ]; then From nobody Sun Jun 7 21:19:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjn0gNVz6g73K for ; Sun, 07 Jun 2026 21:19: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSjm52bKz3b8k for ; Sun, 07 Jun 2026 21:19:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M0zAWcaKqR5x1nIgFVjqgzqkViLt5wAcpL5fADJq4Ck=; b=lqg2gutf3rDajuM64LLnRKrRTI9rYmXKHror+b9VbYNaAmf5XvVKJET+Qlpd75wLKTSnHK ZNtUfzUvoDHNbv/RU+aZUPW8y/zpfiDE0yPydrJ3U8ycs4lHNAGukAuc+Nwc0Q59PC/gyY NWEqaNtXahP0yX/2wl63uURqIdJ8ZQ1WJDueaAV4rRN693uTHVq3ZSDN4YQqz2Ip4CSbNR voTU3Vfu9T7t0JpjaNrEW2gUOd46qBYvUtfLsA9KnyGyocVu/7p9IGBrKj8yg8rpiHOkc0 XE6wcLBhvNFeGeBLWJZ1HL2aJMFyd/Cneskyg0iUYWdzdIFiXOzBI5e66JZAYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780867180; a=rsa-sha256; cv=none; b=idjgkABwrlmxxkD/IOZhEeR34V9g4Vv3f+S+kRoH8iSd4kmVanLL1WxJZUq3svc/OOWGmb rfaxcXtX4lVZdQBGq+8I4Cb6/RfUoRIcLsEX0HhPW9nOVSsKc2h03EhnzpOY1gCoC618CV HWTvN6PzU1TO3YfwB+a97v4k/uyolEWHzn8f15rIH15APZt5nNTA7LDwAGIxUUEWzlFmsO oHtzxj71iRrPbxCawz/76sp+L+yynkc91Fqqs+q76N9g27L5vyKMdxJbRtnU0ZdVZZjpic X+hnpS37vqy3+ZK/wkghnUEdDMoZOPlnjKFrnoHr2crECg/F5DlarpNZFj03LQ== 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=1780867180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M0zAWcaKqR5x1nIgFVjqgzqkViLt5wAcpL5fADJq4Ck=; b=cpV2Ia0qjA6UqS0t5IVpGyjdgWHl5DK3N6IXh+NdDXoa68MDj2fQd0Gg5rYlJNo4OhbKth sgjTwkL0C6Er3U/mFCBGYFYVKbZka99TrCa9WIgk1TGjDV2Asue44l5fCAA4e5Xa52JgSS HTfj3sB7EWX1nbigYg5TGqGShrGXa/oqCBMGuJTgjXb5IU+fgSjlooOPqIG54TyMFldsbz uWNISpwUN4WynyeMdydY/zFVxecf5MjAKbhUVdIfHeAoCsYRoK7s3L6JADhVjcfoXU0Z7B DcbvUiNmqiV4ZiBMEc8k1ZbdVjqwFM4pDo4qqhfOiBvBhAoKQguP+I3mYKfK7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjm4NnHz3V4 for ; Sun, 07 Jun 2026 21:19:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4723b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:19:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: b8a97cc677df - stable/15 - rc: virtual_oss: Wait for process to exit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b8a97cc677dfbb38b6c333d00e241cfdf223a684 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:19:40 +0000 Message-Id: <6a25e06c.4723b.79a248e@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b8a97cc677dfbb38b6c333d00e241cfdf223a684 commit b8a97cc677dfbb38b6c333d00e241cfdf223a684 Author: Christos Margiolis AuthorDate: 2026-05-21 16:26:46 +0000 Commit: Christos Margiolis CommitDate: 2026-06-07 21:19:34 +0000 rc: virtual_oss: Wait for process to exit Sometimes virtual_oss processes do not exit immediatelly. If we do not wait for the processes to fully exit before returning from virtual_oss_stop(), then the service restart operation might call virtual_oss_start() too early and fail, because it will think the service wasn't stopped and is still running. Reported by: jrm Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: 0mp, jrm Pull-Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/33 (cherry picked from commit 803f686938ec2472d54a26bff668e48cc4999558) --- libexec/rc/rc.d/virtual_oss | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/virtual_oss b/libexec/rc/rc.d/virtual_oss index 07f81aeed4bc..dd3bbe41c094 100644 --- a/libexec/rc/rc.d/virtual_oss +++ b/libexec/rc/rc.d/virtual_oss @@ -76,8 +76,10 @@ stop_instance() if [ -z "${instance_args}" ]; then warn "no such config: ${config}" else + pid="$(cat "${pidpath}/${config}.pid")" startmsg -n "Stopping virtual_oss config: ${config}: " - kill "$(cat "${pidpath}/${config}.pid")" + kill "${pid}" + pwait "${pid}" rm -f "${pidpath}/${config}.pid" startmsg "done" fi From nobody Sun Jun 7 21:19:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjp0xbvz6g73Q for ; Sun, 07 Jun 2026 21:19: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSjn5cfxz3b00 for ; Sun, 07 Jun 2026 21:19:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eryQ1Ced+rBIghGY0XpBWziIwIWe8EDmcR8Y6Z29yvk=; b=pLm5D0dv6TpTlvDCVikDkey1n5V4XZOHRCx5AZdD/DBOMiTXISaYqhwtaN+pK4qTjNqtao vwpWw4iL3uB/+xlEYveNh8NNrLu31X8dpg4KoYZMVWtxP5ZLBQ7SqJkrUHF+1GMwX6UDS3 /8Syjc9929aYAgBOybn/PbPx/XK5J8mymPpXywM0bb5ABUSIgPUwbzvO5thL60nterF04P 0ficBFWj8zmns4uHhy6qYwBg4B7hRAViMrZ5Nj3mYOsTBCF5Ckj1y2DcM/9AzfC+WnETn3 OOK/ReXc7JrXJf7UAYF8Lsqv5Xmb/H90gU3cNJABERuCDW1ztveibMvukIlC6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780867181; a=rsa-sha256; cv=none; b=HhOax33kj5wlWGdgbMsRrUM/tKJcmUptsh3AXSLjhJ5NjwcLKwpY7g2wYLWeJ+pZNZkhdY LkVLLA1o2WhFJrwBgUA0AN+uj5kp8yTyVpISppmQOKwcakRDgq7pKrdPlheo8wbeIsBveZ VKA5ioAgEwDMNzMtSBBwPXSboRyQmvQ3dsDBADpGBzxVB2wL5o1R5lye/WUNd1qbmOKNBe ixeBSWlPkyFs5tJF/0fq40kYvzLMI3ORqt2/gVfo6rihOnHdEsvXRQnTCIRHwmveTxrZQk B3GAEzYvjcnj7Yik1+sXAu9xXireVMm7o4TTgaV91/JLgYYZKavAzNcCxuNO2Q== 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=1780867181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eryQ1Ced+rBIghGY0XpBWziIwIWe8EDmcR8Y6Z29yvk=; b=lQkC99G6M4in7+oIbX1oP1pinc5V1pvC7L6jPySFSzHJ2zwNISg9prpZLsTL6UQE/9WBPd 1u5e3EtXE6uvCLk1BDjcC7oYTNRoDxqOQevCsV7QV7+J0ob5ZtNHZiACdemGmpzOdAH5Wm 93lLfSkQB7K6/1ekzG7/lmIH6IrUqwYmHmaGToPCwcizJILnvFWy4dipuDoOGm9rQIARhb QXAkAZ8uLeyl87rFur7u12Zw3aZTS/gPuT39YSFv6+tVcqgnf2wTsHvm5EVAhXJmKsm54K MTafcu4Cg5PRv51ed4kWJdtTImfGb5b1xS7endg4hxhW1isZGeqTmV/8JJwyjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjn5Cjtz42B for ; Sun, 07 Jun 2026 21:19:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1875e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:19:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 91167d0b66e8 - stable/15 - rc: virtual_oss: Handle absent pidfile properly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 91167d0b66e8a377a12b76d4cc6e4808000e1718 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:19:41 +0000 Message-Id: <6a25e06d.1875e.93ef7bf@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=91167d0b66e8a377a12b76d4cc6e4808000e1718 commit 91167d0b66e8a377a12b76d4cc6e4808000e1718 Author: Christos Margiolis AuthorDate: 2026-05-21 16:53:27 +0000 Commit: Christos Margiolis CommitDate: 2026-06-07 21:19:34 +0000 rc: virtual_oss: Handle absent pidfile properly Instead of throwing errors from the programs that use it, print a warning if the file does not exist. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: 0mp, jrm Pull-Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/33 (cherry picked from commit b2677d002edbe9308b1f8cecd1a5fc515d2a5deb) --- libexec/rc/rc.d/virtual_oss | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/libexec/rc/rc.d/virtual_oss b/libexec/rc/rc.d/virtual_oss index dd3bbe41c094..9861545b8bfc 100644 --- a/libexec/rc/rc.d/virtual_oss +++ b/libexec/rc/rc.d/virtual_oss @@ -76,12 +76,17 @@ stop_instance() if [ -z "${instance_args}" ]; then warn "no such config: ${config}" else - pid="$(cat "${pidpath}/${config}.pid")" - startmsg -n "Stopping virtual_oss config: ${config}: " - kill "${pid}" - pwait "${pid}" - rm -f "${pidpath}/${config}.pid" - startmsg "done" + pidfile="${pidpath}/${config}.pid" + if [ ! -f "${pidfile}" ]; then + warn "not running: ${config}" + else + pid="$(cat "${pidfile}")" + startmsg -n "Stopping virtual_oss config: ${config}: " + kill "${pid}" + pwait "${pid}" + rm -f "${pidfile}" + startmsg "done" + fi fi } From nobody Sun Jun 7 21:19:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjq1Rmhz6g6y9 for ; Sun, 07 Jun 2026 21:19: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSjp6Pnzz3b2V for ; Sun, 07 Jun 2026 21:19:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867182; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2MmSLZgq9s9Nmwq32GUWRHbmEgI+KUWFxcJFXNM93jk=; b=jw31tipWt5l0HZaU4twclAEJ97W+NpctECGmGYfjY+UYn2pJ7ggAYC6IdlaHHf9cwzvnl/ qpEaKUDocnllDZkOLXV3v+de5YTxw+7wWfxP0zrwns/y1n6YGr/VmYtMu5+l4S1b2NeRQy jVXZg8ZhNfE8nPVOL0ixqYtvTgRrs/37cgriuNuFBAn1AF27uTIvL5UxCEeNbYFToQmStJ wWs1lEv3PCFlEI3XJkEfh8dmMf1FOQogX4S4t4ao1KPcnmObs1tVjSIbcMoxI1hgcdn5sJ Ixi0dw+fYLQbITNlZYoFTWl6CesLBnt7tQ8bcLALnSMwlseOO5isZZM1RDg0ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780867182; a=rsa-sha256; cv=none; b=DYNv+T635YSMB7+fcT4kGxFzOpgpQsVB3R9MT/Pziwd4GM83pYaLT0U8VzTQYhzuzzIAZ5 TlPhb1BPqxxlB4RYArIJzVVMdxw6hr0IIY0o7BlMSXEsirFtRTq3FJ5BKgDHswhI0zEofa pL3Ct3684dZ8fs2nD4wklH2QJkkAVhcaxcuHMrWSDUYqsltR68dm39Ec4g/n5GV4m3g7fV y5b7fYMLyjQuswZHN4c64bfqS+5ZIXncSvAaM4bV/z+XpNDKDWHPBgWoENzqlvXVIvvayk ZVHNUn3Ip3FY9qRbHQW45BpAimxhOhzNHSE/6hnOOpqKx1mzLHsP8iXAYpDXlg== 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=1780867182; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2MmSLZgq9s9Nmwq32GUWRHbmEgI+KUWFxcJFXNM93jk=; b=lgk7tZ8Vh3QkoJsDo7X9SMGuzMHl94OMPXQ1C9zPT9yKnrmqPs+R9GgapT85AdBO43g8nx Fkqc2+SScFmrs7ODr7E06I+HzQGdPOpQOCkdOOCYF0GPvyiwDtf6+StP+WeTMW5DIM2Z1i oTfto8rFyeSt/oIfIZtX+2CcPp/NK8wOyf51XHx8g5ey4YBCG8Oz0IsbSqO4Obxj28Op1z WaZkXHmb9FPtn3yOEH9DC2tbKBBB/oQjhuZke1+1UqRig3jCEaNss2I0yuloklbFlkFwr0 3gq3B5GiUE2LOIvhffJ57ocipUNY7WjVa+GBgSwJDnvMX+4dIuRWnm8i7t/vBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjp5qXbz3bV for ; Sun, 07 Jun 2026 21:19:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18491 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:19:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: a48a807e9bf7 - stable/15 - sound: Centralize and improve hot-swapping List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a48a807e9bf784ec06eeb89f38b1c6c2f191c212 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:19:42 +0000 Message-Id: <6a25e06e.18491.3a66d880@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a48a807e9bf784ec06eeb89f38b1c6c2f191c212 commit a48a807e9bf784ec06eeb89f38b1c6c2f191c212 Author: Christos Margiolis AuthorDate: 2026-05-21 12:22:38 +0000 Commit: Christos Margiolis CommitDate: 2026-06-07 21:19:35 +0000 sound: Centralize and improve hot-swapping Introduce pcm_hotswap(), which is responsible for sending devctl SND/CONN notifications. There are two user-visible improvements with this patch: First, in pcm_unregister(), instead of just sending a SND/CONN/NODEV notification when all devices have detached, we also switch to the new default device if the previously default one has detached, but there are more left. Second, in pcm_register(), if the device happens to also be the new default device, we hot-swap to it. Additionally, if hw.snd.default_auto is set to 2, then we will essentially be hot-swapping to the newest attached device. The latter is especially useful for laptops like the Framework 16, which comes with a built-in snd_hda(4) speaker-microphone-only device, and headphones can work with the Framework Audio Expansion Card, which does not extend the snd_hda(4) device, but is in fact a separate snd_uaudio(4) device. To achieve automatic audio redirection between headphones and speakers in this case, there has to be a way to switch between different devices. The way the Audio Expansion Card works is by having snd_uaudio(4) attach to it when the headphones are plugged, and detach when unplugged, so this patch, along with hw.snd.default_auto=2, can pick up those attach events and switch automatically. Combined with the pcm_unregister() update, it becomes possible to switch back and forth between headphones and speakers. While here, be more robust and lock around snd_unit reads. In collaboration with: jrm Sponsored by: The FreeBSD Foundation MFC after: 1 week (cherry picked from commit 9fb56421425fa35e56ce294284c08b09852052a5) --- sys/dev/sound/pcm/sound.c | 47 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index d98952d7a984..235142eb5209 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -77,11 +77,30 @@ snd_setup_intr(device_t dev, struct resource *res, int flags, driver_intr_t hand return bus_setup_intr(dev, res, flags, NULL, hand, param, cookiep); } +static void +pcm_hotswap(void) +{ + struct snddev_info *d; + char buf[32]; + + bus_topo_assert(); + if (snd_unit >= 0) { + d = devclass_get_softc(pcm_devclass, snd_unit); + if (!PCM_REGISTERED(d)) + return; + snprintf(buf, sizeof(buf), "cdev=dsp%d", snd_unit); + if (d->reccount > 0) + devctl_notify("SND", "CONN", "IN", buf); + if (d->playcount > 0) + devctl_notify("SND", "CONN", "OUT", buf); + } else + devctl_notify("SND", "CONN", "NODEV", NULL); +} + static int sysctl_hw_snd_default_unit(SYSCTL_HANDLER_ARGS) { struct snddev_info *d; - char buf[32]; int error, unit; unit = snd_unit; @@ -95,13 +114,8 @@ sysctl_hw_snd_default_unit(SYSCTL_HANDLER_ARGS) } snd_unit = unit; snd_unit_auto = 0; + pcm_hotswap(); bus_topo_unlock(); - - snprintf(buf, sizeof(buf), "cdev=dsp%d", snd_unit); - if (d->reccount > 0) - devctl_notify("SND", "CONN", "IN", buf); - if (d->playcount > 0) - devctl_notify("SND", "CONN", "OUT", buf); } return (error); } @@ -373,6 +387,7 @@ int pcm_register(device_t dev, char *str) { struct snddev_info *d = device_get_softc(dev); + int err; /* should only be called once */ if (d->flags & SD_F_REGISTERED) @@ -417,6 +432,13 @@ pcm_register(device_t dev, char *str) vchan_initsys(dev); feeder_eq_initsys(dev); + sndstat_register(dev, SNDST_TYPE_PCM, d->status); + + err = dsp_make_dev(dev); + if (err) + return (err); + + bus_topo_lock(); if (snd_unit_auto < 0) snd_unit_auto = (snd_unit < 0) ? 1 : 0; if (snd_unit < 0 || snd_unit_auto > 1) @@ -424,9 +446,11 @@ pcm_register(device_t dev, char *str) else if (snd_unit_auto == 1) snd_unit = pcm_best_unit(snd_unit); - sndstat_register(dev, SNDST_TYPE_PCM, d->status); + if (snd_unit == device_get_unit(dev)) + pcm_hotswap(); + bus_topo_unlock(); - return (dsp_make_dev(dev)); + return (0); } int @@ -469,13 +493,14 @@ pcm_unregister(device_t dev) cv_destroy(&d->cv); mtx_destroy(&d->lock); + bus_topo_lock(); if (snd_unit == device_get_unit(dev)) { snd_unit = pcm_best_unit(-1); if (snd_unit_auto == 0) snd_unit_auto = 1; - if (snd_unit < 0) - devctl_notify("SND", "CONN", "NODEV", NULL); + pcm_hotswap(); } + bus_topo_unlock(); return (0); } From nobody Sun Jun 7 21:19:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjs1NZdz6g6yH for ; Sun, 07 Jun 2026 21:19: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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSjr4lP7z3bDt for ; Sun, 07 Jun 2026 21:19:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YyKsMGBBnyLIeGKxSBRgcfdn8Zt+UgdB4xhf7CthOxM=; b=sRy+zrZ3euE2VaTNNi6CORZlXS6j9FPtUBkx788FoM2jYjMMeSMC71uum3laU2+2/mZH8A oRJQHPMvTw+5AXgK/bR0y7+xzzeT0pc5N2Mge+X6fX8DHArVOQQP+3PGTMA03QR4eOeECL 7hR24IMoQNOXH+PLq1oMCbKu3rqvc7HUR7ZmonlQ8fGAgyh0DXVb1WzwTqcqtJ/6Cww/P+ 8wjb3Uda/qEdmQDOM+M9fnmoeNftEjfvc/VipuCbPK2ssEIjeL2Vhwo22ccDYeOa08IdKO hc/hXw8l01dTprKZgRTQJW46psDI8Y9TN1kDaS/5k+WSfUdZ3pJ9u3TlF4GZOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780867184; a=rsa-sha256; cv=none; b=hCAEzBXVkuzPCuuiOCga2BC/tBQ+Q2R5va2B6Xwlkdr7cuds+xfGZIhuhWNPh5bVP5/u/1 xmas7MOxp4tgFBOBjW47n8FQuRywNB/0kCPr7wzQtSmWjaafKV6XDF+pV7hk/ObU5Ml4my u76z8ExInqYyxg7DEQcy9UWC0ua9jbKwsmBqZwQFEikILIm/JcjAScgkMp6O+pus+CPP68 Fk4hXYH5evnkvAw2SnQvM3c3NThEAa6v3i7GuLzmTDZnDWtMurUIsiVV8E9WN+Czh+j5Bj JNy1aIP02Ok9QUHUwFyxmgM01Ir3OeNHY+O82VDzKdG9dqjTFhLgFge0iC/mjw== 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=1780867184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YyKsMGBBnyLIeGKxSBRgcfdn8Zt+UgdB4xhf7CthOxM=; b=TJ6Qmb1HeQfk3ZiaarsDI9rKGRmnJuWH7VORv3easBNlFdYU424Ohsva7hwJfKKJuYSbyu gYEF6RFc//B7SIrnfHXNffJeYBnuXc6LV1AGeGeFp70o1M9Am7WzycdQJB82KGQhBsDn3u V3TBPJxN44qM4L+B1g7uzKgNPNjCuqImnTdkDAWwu57G2RQ/T6Md6LQIyb6Xs+ddnKTgDr q99iAH9OEI0vdZn2DQLby8/uzPSWF92/85N/+GbZskLBfzvrKOUECNGnSikuH/tDtbv4v5 xCypHkG/OjObQvQiSHCNlk/ulGw0ZCZpSknLm9U76UWsG986ovs0+pQA93q3Hg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjr4Cfsz3qB for ; Sun, 07 Jun 2026 21:19:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 479c6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:19:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 4910c5a7d518 - stable/15 - rc: virtual_oss: Define some variables in rc.conf List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4910c5a7d518411ba39a9228316cc572f3857a7c Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:19:39 +0000 Message-Id: <6a25e06b.479c6.6e99d951@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4910c5a7d518411ba39a9228316cc572f3857a7c commit 4910c5a7d518411ba39a9228316cc572f3857a7c Author: Christos Margiolis AuthorDate: 2026-05-21 11:38:22 +0000 Commit: Christos Margiolis CommitDate: 2026-06-07 21:19:34 +0000 rc: virtual_oss: Define some variables in rc.conf They will now be part of /etc/defaults/rc.conf and be accessible by sysrc(8). Fixes: 70e27ecba518 ("virtual_oss: Introduce virtual_oss_default_control_device rc variable") PR: 295560 Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: 0mp, jrm Pull-Reqeust: https://ron-dev.freebsd.org/FreeBSD/src/pulls/33 (cherry picked from commit a576e5140ef352af6cf227528d1bfc6b964516c8) --- libexec/rc/rc.conf | 6 +++++- libexec/rc/rc.d/virtual_oss | 12 +----------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index d497d7009a15..fdf6a24db119 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -733,7 +733,11 @@ newsyslog_flags="-CN" # Newsyslog flags to create marked files mixer_enable="YES" # Run the sound mixer. opensm_enable="NO" # Opensm(8) for infiniband devices defaults to off nuageinit_enable="NO" # Run nuageinit at startup -virtual_oss_enable="NO" # Run virtual_oss at startup + +virtual_oss_enable="NO" # Run virtual_oss at startup. +virtual_oss_configs="dsp" # List of configurations. +virtual_oss_default_control_device="vdsp.ctl" # Default configuration's + # control device. # rctl(8) requires kernel options RACCT and RCTL rctl_enable="YES" # Load rctl(8) rules on boot diff --git a/libexec/rc/rc.d/virtual_oss b/libexec/rc/rc.d/virtual_oss index 73a486f547a5..07f81aeed4bc 100644 --- a/libexec/rc/rc.d/virtual_oss +++ b/libexec/rc/rc.d/virtual_oss @@ -22,13 +22,9 @@ status_cmd="${name}_status" required_modules="cuse" -configs= pidpath="/var/run/${name}" -default_unit=$(sysctl -n hw.snd.default_unit 2> /dev/null) - -# Default configuration's control device. -: "${virtual_oss_default_control_device:="vdsp.ctl"}" +default_unit=$(sysctl -n hw.snd.default_unit 2> /dev/null) virtual_oss_default_args="\ -S \ -C 2 \ @@ -42,12 +38,6 @@ virtual_oss_default_args="\ -l dsp.loop \ -t ${virtual_oss_default_control_device}" -# Set to NO by default. Set it to "YES" to enable virtual_oss. -: "${virtual_oss_enable:="NO"}" - -# List of configurations to use. Default is "dsp". -: "${virtual_oss_configs:="dsp"}" - # Default (dsp) virtual_oss config. : "${virtual_oss_dsp:="${virtual_oss_default_args}"}"