From nobody Mon Jun 1 03:40:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTKVv3mphz6gDts 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 4gTKVv1c3Fz3kcB 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 4gTKVv19C2z4qQ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTNgb0sxwz6gTGF 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 4gTNgZ6Kx4z3xWM 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 4gTNgZ5nwFz9VP 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTP5l6Z84z6gVK7 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 4gTP5l4dVHz40y3 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 4gTP5l3ZCqzBC2 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTQqR455xz6gcyd for ; Mon, 01 Jun 2026 07: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 4gTQqR3J6Bz4Cm8 for ; Mon, 01 Jun 2026 07:40:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780299635; h=from:from:reply-to:subject:subject: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=HDebtTVbNNOPUPMQddnDQEJL8MC5UD7bZaKqeWKSavuLX7EzT5t2TIuYC63988DO1S9JhB Y0fIooKxWBWGSBY6Xb0pnmfGNgEU7XtwlefFWoHk78Oylwy9PWjAYEQCWyKTXBOy/V+csE 5AtS63nCqXPtx+7G1kUcpTRyAVo895fdrnOHBldD43Y1DZvJ1N6NsKFt3yTjlhwM1VTVe3 HYxNnIOIGXDXi2J7q9/KVORgXcVSMzPilSjtqyJKnWkWf92U5/4+C9tUh6vFjSAxOg7jMz UxvR1BxJLM3i0bYXKC5M+Cl6x0FOORQGDbdi//7QkLI/SH5zvF2vxUpT3d8WZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780299635; a=rsa-sha256; cv=none; b=b7JRMpjc/oxU/ymBKEop17ma0urnW+IN1YxZh+PaGKWj/n5zibXcK3HKMjWlUCDMvqau4L RMF3HHZPelCBgzEIf3Rme8tb3GsTziu0h7tF6uK9xJD3W8KJHBHOpNnuT4MMtojW+d1XFT lOCmAhTIzt2MQC7O6F59Hng8FjCtCbmtaOweA0k+x80WbQJ7AVrlykj/eT0Y8CBTbWn1nI 2/SKiU2H4z+To2tFs4jT4vGd97PFk2YzHC/q2+AB/lje61HjQ1lxYfFWL+rP5f6p31xTF5 XTpjKpBvN7n7b5iYDeV/MQDFzqE0P/9NvLe0ORFbeszCucLttJkJTZ0NZ0A6LA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780299635; h=from:from:reply-to:subject:subject: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=t7cEXknLSjJSsH06rDuYbH3FOLUeswbh04pzf/r0cP1C9cblfAvt1cbWeU94kBReCE3B74 OWo/pYaKRKR3Aw5vXikPR7/pE4LXkEHuVqC2g0EmhGOtLsceh99WwWYjTyHhj+YaIV8rxo AhfmolsHpza3cCV5PEEPEjlURE0y2PC7yRWixiwiUYQfNVG2xOq/+NSulWf2beG/b/nbZT ArAaRr9XCLxaDdvPEz4TGMM5XnTZTutKx28CmYm3vvrfPur6G+Zkl0Jr6egSrssIjFJmNN NnlyJtVWlXp+5O29QdCvNMx5EWF/rD+Ss7J0zoc6DOo1RVQnPEM3H6VSt9SGjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTQqR2VVRzCsJ for ; Mon, 01 Jun 2026 07:40:35 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTSGZ3MGjz6gkh9 for ; Mon, 01 Jun 2026 08:45: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 4gTSGZ16lMz4KPZ for ; Mon, 01 Jun 2026 08:45:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780303542; h=from:from:reply-to:subject:subject: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=hGLmNI3BYt4pAsNxFcWL0kO7hqqO+CSpwO+TpXwdPxpbhl1Ca20t1JMKP46GiaRBRs2MdY Ero9gSGDdMJyUvMD8DFQEwpvkdnvqwfvoG5tUIjEdSMmuvRFgLRKqIPXroORkEXiysYGE8 2fbvTGQcSD62SnHD3JcQRfJBdjK2aNG4MxOUdbRXnpLD8zXIVf7rcEYnVK7lWfcc6A5yIk FK0wlUFfW86nMP0qgeUkkyDlnX9kDciR8Xrb864gHa4nJ1jvRbQLRTIBK8CWjGsRjfbrLO vUIHPrXIaoCxPD8Khp31uWAB60de6T/zQyMD7iTEQjtIFQyV0mVpHYQaatcaXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780303542; a=rsa-sha256; cv=none; b=NJdtZ+7Vw1Vbx25RrmWa0xlLem6tDmaQgek1h/9hb55TtfbYDw0YNOu8HKcnGxfRMDqZeu 3lxhxuRquOiPIvuBQCrm6qz+iL8IGLdApjrDE/VxCAaq6DrfDUXeHEEDn5zdl5YbJF2/Q6 6G5NRGD6kWZkSOUUh56q2ltQ4t106Azn6GXk0lY0k/NtGKM/f47t/pnronqj4IMGxaRflz gkg26K/eBA9txKuriCUQqAwj5TrUjbsuAwrahbAN4SVtBeIo+YmIMaNdnZ7rRLfhLS7Ji5 xe7DAGRtK4gPQ4VTpSFy8AbFn4BYU8vj/uEA69vl9ZSTLvcByvM89mgfIi47hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780303542; h=from:from:reply-to:subject:subject: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=EqJDl0kYhLc4hcmGl8D+rltW5OZquDPKfm1EbpPogneVB7zcK85yZl4kApUmPMKWnzV4ly qhHvQ395xDugherAVGv6Uevu87090yovJNj1LU28lxg4phmC1thWdlLF9Jf/flyqY/x085 M6arPZXNNtqWbwX5xjtRVgnzrcOwBDIc5LFSbEIn0tthzflIEew3DlYQXCmD/aJS2odkjT Pz6J5xGeFdaHiNmTNrF/ZpwwNplNxxuIc3K699QcDbcqJgYddM29+HSiVUIk9QDopCIf3u hgrzaliFEVseew/TpBeGWubn/y4t3DMBmbg/ouYJp4KgcnLNhC2W68pykU3ieA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTSGZ0gkDzWqn for ; Mon, 01 Jun 2026 08:45:42 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTSPg5vDTz6glN4 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 4gTSPg4M5nz4LBP 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 4gTSPg3mfqzX7L 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTY1y1CwTz6fcwM for ; Mon, 01 Jun 2026 12:20: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 4gTY1y0M0Jz3QVl for ; Mon, 01 Jun 2026 12:20:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780316406; h=from:from:reply-to:subject:subject: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=LctlkjZj7nquXopKnaPGUIxkyrxliG1nZzkncqjk8Ch6PUDwInRZQL8W1VFsIEnyYx3aG8 liWI/2YQpSPtUIucE0T7nuH/9l+ee+wgXUu3q+/rTuBKwPls0y/s0freDWTDYjPM6rfwKm wqlGrfgMaXwLO/bu9MInsnsK5fkW7eXEbiUNJuvL6n7nAexLgaTXiNKEPrlP/AURaFjWNT a2LXE+WK/5IQEBjXaumDn2QA/NMmvaBhNJYNYOwMdrv6+8V3hZFUkzLc3+RVBdPRmB/QoW pwdZwRnkUd3y02qu06BtBoZAHgIe8D3TJBECbh2ey8YzDrOIyZeK5mAYtoC3mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780316406; a=rsa-sha256; cv=none; b=Rw8k7l8tqxhP0QaA1yoxMJWnxe5Q6pbG8CgL42P1HKErJarTx+y/rvOR6jA0JjN1D9QV2a dTtKcT7cZoNXmiV6BtclO+UeMSOFRs/cIo6I3keLcETKqeAiQLF1QaqJwiau0WYV4JaIqb yduwPovAP3JE6OzlRrNPuCXBNZWJq/mJTgAgNOX5wWQ6oso+EqRE6nfkckAIZXXd/DqUfU 34Uhx0Gbc6fDRh7MZnlaXn3SO6ZrI9bcs60qF6PuLwn8x2Z1pRbUYBQuG8OFyAFi3Qh/6j 5mZR6EkNaXmB52QEiYQBFyCaR38T7hyAIuAyM5z77kYcHa3v+Bb9NEfNGNXEsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780316406; h=from:from:reply-to:subject:subject: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=Urzp7PlMGI+LWR3JRWsIT5iel2tRELQcHjOpXrvRow10uNadyPhzOkMrdRt5qoQWZhw0Ni 59HJBZ+VTxCBowmhgtm2pVdiv8cU2WC2QBxI4tFyLFNg5YhgZp7UuNjw20ihuT051m/vZh HTVbrN1Ai4SfyBPU3Y/L+gT3+0MTsx/p0GsFpEuTMm1l2/EugtYt4J6KwIpbg9qpYaHtjw 9pJfEPBg9y9YYr1ih7g5cXQLSCMnSFhrFwm18WaOzcKEVY4s9OChYlTOuNkFUr7CtodOga 8w+8jeM+LWeIW+xkdKK91RatrUeej2s18AS+9dQwjhOF+Xikfq6PHFp/GTCQ/w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTY1x70qkzdjm for ; Mon, 01 Jun 2026 12:20:05 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTd7Z6tzPz6gBVr 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 4gTd7Z4Hfmz3pQW 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 4gTd7Z3H9ZzkXx 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTfbP2Dfyz6gJ38 for ; Mon, 01 Jun 2026 16:30: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 4gTfbP1T3dz3vRw for ; Mon, 01 Jun 2026 16:30:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780331457; h=from:from:reply-to:subject:subject: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=GgdFyoWtqz3mXBKYFKrOECLZTLd7/uyVSxbtCLJGEu42kZ3bYnMyYpUuouKa4+dZpOdf6p 5aX0MwAjzE/kq8GthSPr+ZNOrsCuhRu2L5f1+01fqj6BS7hn3LhCC1RD7tNlHbJHD5CIL5 PkrgGa325003ZXLjvIHyppElAAQCHpyKQj8TuZC/ktsaPcNmkVhJTNPrEcBim60ZvZZPFR okWvnNi1pIUfcCmXQwZB+rYqgVsUImGZsRoSIjBBnmoaf4/I9V/O4XtHs5LbnjseQ26WQG O66RRc9Y44C4xUOY8PHQXGAUDcNwnAuHWvXuZQ80iFA2Y7oqxvBmLaQMAjGB2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780331457; a=rsa-sha256; cv=none; b=WpsfmF/+JPpVM7h/17/RZCiU6bOVWWLZ7GqJkX3uBprkAbZSdzNH4O3lWSsCj679JOHf4H ffCJD2+CI/kQlRYc9NOnX1xPfnRFciLHUqz7cpR9s8x9rbzst3OyXATp+rRfJMe0T3R5bp DgnEZ3wF48upVCot23rTC428SrO7R1fzWwsy7agy5dmToY/d/2MUWlbynmcZa7fg/f7qKh uV3pQQNEou6J61gLY8u28ii+CP6KMlAZIvl0oWfLuffmOmurqdfssUWud/ktQENA2Eh/yd bxt4c3pJbiQVppNJpbAivF9mHZl2iqWbs5djhHGGstqaWaDEyqkEDeLvicgsaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780331457; h=from:from:reply-to:subject:subject: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=qc9NT6lFoeamNO0uNnCD26NJd7rSyrMpy4DaZ53ssFQ58n6fXSWhuyWvkUasNhoEyjKzWU Owavsyc48jziM8xPZMI02MSlojnveAlok4M01+An7lSo5XBrPrHmTPFquWzjkc77Ad5FwV vEgpJ2ztV+hbqg0MhjR3nb4TkYBRhHMIoci0nw4fE7PAGBVwjFconQX0tLwgDdf3fFVM/r FuezXTzDEIipfstfwc3cV8dCNQ8wyGFgG9n5QWeEX86VYBXz0FK7Ia71L7fXXMjJbl+MyT NhI1ewqvPEQmru/erSmKR2Z8EdVAX+6pJE9QmiDORqvGYT8G802TaKKICDkwSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTfbP12tzzmTm for ; Mon, 01 Jun 2026 16:30:57 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTfk55QN4z6gJjK for ; Mon, 01 Jun 2026 16:36:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTfk54rxgz3vxg for ; Mon, 01 Jun 2026 16:36:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780331805; h=from:from:reply-to:subject:subject: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=M6KYK2v/t9pLZ4MRncgagz7uL1mermPyAqOEq4qJkYakiVt7SCcp72DuubPl4ZSU49ge2e lFgb649WbV65dfybUoI80qJBELe/4Z9g1pkGV3t4W7XA5RmD/LCg2TpDKpiDBy9yN86xzL OxUpj+qeCqQK+FisaUiH95UCOxjB8sVNUfC7wXrd4Qc3q+uf3NUxRAgHVwQS71BMw/s162 SWQlWaQVzsU0p4Xq5NZR10OmY6jGPWvhuglxSlIAg8dg/do0SuCOXsjXXMlUd193jQLHbU Uo6K4hJFVyJwqhVKwrGei3nRFKwsQYYc/OivO0ADZYhlHwb9KSam939jKbe5zA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780331805; a=rsa-sha256; cv=none; b=uVaj4DjOmTGZxUWV/Ou6l+O5ZrPlRBEuh+gXTw9olcOFdXTDanFsZiIMvLQ/FVOyIG6d0p Dt3rRc3D+wb7hA2kZUOPOQDuypKPZDUYsbO3Dq68TKu334un9D0JGW4aWVaI0hqWyuXXem zTikhmb0yb6w+ZqSzSaEErHdru7VtTAim0r6/pJJUsg9tOVr0903LdS5ZizNlY/M2JTFGD narySU/LMi7U7bvVvBbyH8PvMmXt3ci1nHQ/GAQylpmfFzVa4vHRFO4feM/GHTDdI3BAWY 83XYI2qHHWpKoTZKdIcdE/e5p63BVeaW3xFTXTHwvrF0UPro8Umw+gqS1dqv3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780331805; h=from:from:reply-to:subject:subject: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=e5GggshCfytvblT25qHmJLNE2TBNWF29iZhFXs4P+7aKqIujORziqjikceRl1GM+6KRRbP lmXlgTmbnukGavYb9HqCd/lJhe1C3uJYZVWrZcbd2lVBCOr5LPu/YaieFeTiybM1TR1fCk eACeQTp+vGfvGTgSC+3Ols5+WFTcAsPn/sQ4bKDT4nIoU73ymcNQlTxN5N8Kg4FPfC4Oit 9fi4zOgbPqICSpcXNW9IOwiSDuwx3RktuBeDp7SoVrR+CMjdBqblNNP2yTeNokx5xU24Dr Hgfy3QWFIjbxgt1IkfF5ouek7SHGKjf2p5PU3yuTwGojYKJVI1s/adZr0/Vlkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTfk53z0Lzmhv for ; Mon, 01 Jun 2026 16:36:45 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 16:36:46 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTfk66MWdz6gJlK 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 4gTfk652qJz3w1M 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 4gTfk64H6wzmXj 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 17:13:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTgXN6qKlz6gNMV 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 4gTgXN66S7z431r 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 4gTgXN5Q2gznJ3 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 18:30:13 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTjF12jX5z6gV4k for ; Mon, 01 Jun 2026 18:30: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 4gTjF11fCdz3CYC for ; Mon, 01 Jun 2026 18:30:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780338613; h=from:from:reply-to:subject:subject: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=ECEsScl6ESQ0N6ukBZd7Vzyzihu8nxctCre2U4jf4aMPLjwgT9fHA92otS/p4zQWU/3rfY TI5DZsrFvqCK7FM52eUkNZv6Xd61Rfyy4OFd0s6kGkn0UB/WUII4V9I8DDY/KOvCWs6uxv iCBbqhymyE4yr16rEMq4H5aeFwX+qQC82PiJqJcLTT1e77rpq8adUo/xAKNMsPVu/aR7sL jxSB2BkPjtQi7utryfpiPGX234AO4MISXq7f8eBbS2FUfHNr/r6dpETq/uD9ZgOKl+johg 10MHp0qyCvwAkD3YxownOdYRq9Dfbu4WxunR6uivSfEARsGmDyksAZTd/RfRPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780338613; a=rsa-sha256; cv=none; b=D7oCC7bMr/FBOPWhNjS6orZQbo+3bpMq+QqzC62pCNCD4PBY1y30ouKy/F/LE+cE0LRsrL QmsAmy/Eo9eEX48DSacuF1n7It39ThtAMF0sf/5ug7XlKwdtTvXzugQ3vLO582ORtMUhpJ N1/OnB7r4WxztFqgrmp+dfWbM1i+4/2SYLdshSAwVjAPaExeXxaDtZn6GI37KgSQVYJtpJ TjmhsHG9VO6dAyVcu6UyTzXyv7P8tNH2LgRvqTqGSVjRupCl0P1Uk7oka4eBtK4vaCi6CM 1POSm6y+xaztDtdHRqZRiSzA++nXM6QcTVOnf5iTXY4Ze1tuelTN1BffitSMWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780338613; h=from:from:reply-to:subject:subject: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=RyJUpVedh6IAMIltJwYI/T+DWbS6Kv60G8B4vrZ8iYyZiq7uBkz+wMzBcmg1KinFVQaQgC 6FZSzZHYkdxWj/wnEGe7ovcnA79t2TyfGumxCZz1XWAQ44CwEtiDtl8E7iky2gWld7hGWx 27Vy2VGadc08uK6c1Vpv+y/+mFsRumhxurqxXKCKWE5Z+gmgSR6NyHwlshKmzRRtseHTmP nTP36tOF6AByJdR1NFvEbh/XW8kWjFi1762lJ96Wei8oU6FxdQYMkEu/XPGUZoZ/yfv9YA X1aPlWFbS4L847JmGDiPKNOtHmi7rwtVxImTTyTlaO3BINSWp6ZE7N++8X4c8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTjF10vw5zqVV for ; Mon, 01 Jun 2026 18:30:13 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:30:14 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTjF24Nvkz6gVC1 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 4gTjF21DRpz3CHx 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 4gTjF20plczqVW 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:42:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTjWc5ghfz6gWYY 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 4gTjWc3wkzz3JB2 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 4gTjWc3Wlszqww 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 Tue Jun 2 00:15:30 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTrvQ64ywz6gNDb 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 4gTrvQ2HgGz3tk1 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 4gTrvQ1NCbz114P 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV1TS0yByz6h3Pw 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 4gV1TS09THz3fn8 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 4gV1TR6dlvz1CmY 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV2Sd2sTGz6f8fW 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 4gV2Sc5PMyz3mpS 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 4gV2Sc4GgTz126 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV2Sh6gLvz6f8jG 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 4gV2Sh4DVBz3nGt 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 4gV2Sh3jG2z14S 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV43s2Xs0z6fHhx 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 4gV43r5vhXz3wQW 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 4gV43r500vz2MV 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 09:15:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV4tF1Mcyz6fMjw 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 4gV4tF00v6z41RX 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 4gV4tD6Z28z3sV 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV7RH6FZWz6g449 for ; Tue, 02 Jun 2026 11:10: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 4gV7RH5VJjz4DJs for ; Tue, 02 Jun 2026 11:10:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780398635; h=from:from:reply-to:subject:subject: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=wty8nHIgUHzehj9SSCF6DAUJnhFA/tHqQiEeLz0nGq7pKSqL+grcK6B56yee6sZWX5uXYz KzG4D0N5wV48JJYNP6C/QGDKpZfLpslIRTDbNXyHiqJdzNwnh+M2paFqd42jek63khr6Qw Ji3jNua3eCFoazCSkobSUozJxq1XoREso4sHm11Qqduv7se72l0wzK/yebbR+pcBOq3DQM 1Di90KCEzmPg+VqJNVtckR/CkUCnqpkLyaAXZSaSfJQ7gi0rGiYKDGKPm4GfCXl6yNr5/0 r4s8pqkfuodT5Uwwyp/IS4bRCtOXqlh06Rq+R2sZofYZdGNDlA78afPJ/8d0JA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780398635; a=rsa-sha256; cv=none; b=PGqFsW4WHy0dD95d8id+FKTvRQIKLgs+v2fA+uCHy1+BPdIVyglfukhu4+dreTp6dOKIv8 jMniBNHBtSAwR58Oa51G4CNjE60+2Bl4BQWM0cXHzDzZfFMdBAH1aJCckaiKcoHQxOI/jl Z65oGOa4fCNhnZVmPtojtR3AqYhUavh7P/MTp0StdTEIR5SDsAr6VPxWCx9DSzG7h/nIwe 7turOew0P3QLYrOg9TNbqnZgTe6FEhy+Ei5Li/8d8f3Ysm5jYGjQISUdTITXmBY5gVbBBH 2fB9K8WxXzUxy1kmq6sthNYlH+BEhDbOkbyxaz1tlONdL6gZnZ8jDYcNz7+YdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780398635; h=from:from:reply-to:subject:subject: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=W9NU4iqQKn11o/JZxwIuX8+ZAjF4Q9/NOAWU2mV6Tk6pHKu72FgqLnf6jksySGt2EiIdOa 7livd179VkUzVznCJIyZIjTLlXciMVIEDtF+HAz57vZXENingtn/TEsDj0jfp3hmAKovpW tteo8EU1OnbjX3Xv65eLvRSsoTNgBnq8SiTjTM8pIsmSrvXMSsDIGgSwWfuIEKc8/f/p9N 3Ae2eXJz2BnVpXXwwGGKK9GDOelgP6wyJlalHzfxlFOMlsvfs3cewazME3PTI1Dh+4yRZn FxH9zwX5lWdL5KZ41DwWKnDBgQiVltm/LjZAgkvDzUet+GOOLeAAotcXqlj/zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV7RH541tz6tj for ; Tue, 02 Jun 2026 11:10:35 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV8ft564nz6g8kw for ; Tue, 02 Jun 2026 12:05: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 4gV8ft3thXz4Lk5 for ; Tue, 02 Jun 2026 12:05:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780401942; h=from:from:reply-to:subject:subject: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=eXkk3ujqs79Xm2A7eGdX7J15V14qltW9CtDvtSn+EATkefxgm+zocNQmACcD12AVLhmsvd AtzaTYAPu/h41quOkhCyuekvqjvnjgWG5ljL1qZKVYF7IQtEBlbEWSCsV9jzSZX3gOLtwb BWC8yhW2Lg1hoGuU/Ys6AU1mrLoFBH8NO5kBkHWyT1zQmpfhGwAKcW1okHYUeakp1P+mKx mzBwGmXmoTsV9zyueJAORpcTc1hd72RDTiPpmQ6Crqm0o69Ny/GW2tHmUy2HDYY6qEuUOq QNQaC2nnSBVnnWB8wQTXhaEm5LYa1RbNk+0D2qGl4VlDlE0nPU2G3WjIdHmLMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780401942; a=rsa-sha256; cv=none; b=Gek9qWNlncHxvoU3q9PpYj/bN/HQ4spOJCsqnW3utqDkXc7oGb9mRM0+vGKzSS2ZR6drGN V/Jg9KvRLQSU6X79FN9eWwgSq1jzTjGUyYc2J9B+NnhrMbdRiulmDvTG8RmKJJ1m5EvKOy JsDPOVqQcdracIdhU69/gfI7cZB2Bo3i5lKyWFEGCry9aFs2rRp4GxYNXcTW0/Z9qA6Gjk H1HUUlXVMICmX4nzq+Woe8l6cOeVawdnN8YYPejrE4sCodaDrJtvpc6Q3Zcfobz3BfeD7K NdTMUx71xICn/1t3QwlWtcghWAzbBmcciu/SvEi4UD/CPgrVifKF9C9onf9gqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780401942; h=from:from:reply-to:subject:subject: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=MMPSPeI33Xpy5JOaoVKdGTZFTCVXGCfSLWBGqqdBGLJ35ndH+rFqyKghy5qH2bHFGirTpC dJ0/+HY/8a1N6p3JyvjD7HqtVixoD+5JhfnyazFCnKT8YxSZn2KiTBjIKHJqFGxLL3kVrh lML0Ka6uxZabGIK2L4HnodqDBVjOW1Bs/PjokjIbQFfEoUr/BpNk+L8BdHs/jMIaW1DEiZ VnGYF1ulQ+wrVifInu4oY/TKK5t0j9rWw/38GdbcqDWyrYDiQpYO9u/6iSeIPMjQj/jsao 5AaONCOutn/kG+CMnQ2sU6DSuX/9DGinu4NMbLuzU2P3LatuR0pLhW5FmEG97A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV8ft2x6Rz8Xj for ; Tue, 02 Jun 2026 12:05:42 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV9tk0wcdz6gFYG 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 4gV9tk02MMz3Dj5 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 4gV9tj6Xt6z9Xv 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGjB5lkKz6ft7f for ; Tue, 02 Jun 2026 16:38: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 4gVGjB3pmxz3lmp for ; Tue, 02 Jun 2026 16:38:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418286; h=from:from:reply-to:subject:subject: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=aIxTaC6l9rx8bnMbR0Wy08IKhFA2IAEib47AgOxRBJ0H47YSiIv2mArpcAPWyV+3Wd7p6B JEZI5ThE3RtmiBnJ5un/0T/TKjV2jv9zLXYxLfBaeu6fPl18o/lmzyGORG/WGy1Lrb7Pse qS212GLGeX3PQkqtAm0vbrdCsD4VoRwpYaVYG2OOSjVEDAqo7mGVaxLBOxrZH6+prug68C 1AktncohC3NR+KOqTt5KjOWaBvD3vFtbWycm5LkmnLgg+k1QH5H84k3SZuEX610abVjUH+ T40m/sGaj6w2y4R2GghDe6CgFY+SBeS0uinzF9jvqE+MPY9uTYMK3vqQZB3JpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418286; a=rsa-sha256; cv=none; b=Dr/MhjbyGOMNEa1SeT8sPxDPh5O6fIaoKq2Mxdz6+15+kDRBkQC+17lg92f+BITqYE7F8F IeOxbb0MQTiLFCbSiGCnCbwBugBplFT5TzzKExgRTSz+B73R37IasVlSKdzTh5lNerCMBf Sdy2Cf2fJpsqQ5e+smXa5DS5aqmpYAk1UECm68lC4IZmVluJKKtg3vetc0vNyzHU/bko8A FWWPie35SAvXPYiDZijzKWW8bBE7KhOBkB1ouxr/nT0tE5AJmVvEgh5cgh6y47hkFvBzmY wYzcOPwoWOefrdOuLHkSN5wT7YlUBewNI4SK159mYqsWxMPSFSL3wllDxIjRXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418286; h=from:from:reply-to:subject:subject: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=dG0143wK/RcOAGzbUg1mCDfFc89SsMD2Nziqo9FIIqOgRgZbk1KRUOt6wRAWKFTk+dB4cP EVu5AV3WrtjIDF2sgKdmtrNv2k2Xj6MKFVtp3o6n3+pG6zomql4/PtHqBtLV7UwWBq5Hic ExZQW/jd+ODmUGs8O3YfgK0YmhmzfCWvBH/dtWO74OJArT9BGYh8HboCrCmCk8vr5eaOQ2 LtAzQzAMEldIu3vFfedpvvjByna5k0qThpfvS41B0mro/3T2lWa1powhtt6WPl9fEEBCtu ZaxKR8D+cn0sqMwNF1D8lBcL/eqsefLXU6yPmw4Sv7QiJpL0r9K+94iNdna/xQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGjB1b1VzZ95 for ; Tue, 02 Jun 2026 16:38:06 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:38:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGjD2Dm7z6fsvh 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 4gVGjC4Ptjz3lq4 for ; Tue, 02 Jun 2026 16:38:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418287; h=from:from:reply-to:subject:subject: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=dh9MeI2BXw3MQqaLFoVn3yscPChSaMX6cWmh2iHOWJjKjnIUGt9nHko0xOdSxsF5s/uQew CkG1a+YMz7WZLCED17+87mdohHsYlVFDEB2kvjN7s9HhR5CHTdbudxkuhAlQphZudUmVTw UuB0OR+xqa6cXhT85zYJLTkmFsxK9xzMxinlDhMRO8Kn+Ufa/ISLWoraq0TmaqF3WOPXwH qGgBsWbtsoEQe2vhTBot8CsrYqh3PepHrlVwLzX3zQ5w8Ry2FYO6l8YuGFXR3kfb6ZQZqU UKM+/Xn+g1RpZG3OW0dhDXglT/rKoupdxfjf9vfDcu908DmDAciDGTL7M2SUpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418287; a=rsa-sha256; cv=none; b=hj756sEh3UwgTCtoWTdmN7oxJlXeSf13OcTAy4Tp0srx+gI4v5XPpcHBJcuxqww8B/EBUa z4wdJNaViJBu3OO094VPuZsafxxn92KCT6CGEzFdmxMRWW/KCP11WejCBXNWTJMOkQx0sG cfbcRW4r0MheHvzCejVQViZPAHvbxPYSvftq9ECE5H7e850mssxyYVHFzwI78LZjQRNUqh xLBLCP1fYqEbvjYv/QCrq2kGGTpJ7BWc8zoOVt6ww6ZqNTMXWe49wMw6HMhjDlwGA0cK3t eeocY7N4P96pC7mwzXx4R23e7UGLfmA+W7/G5e0fe/DCLzrMpbPMy+kZ8F1i8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418287; h=from:from:reply-to:subject:subject: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=aKmOlWbuOpmxn8SVyJU3ylg5EwJyY6LGjuAxTfzL1xv/HbrJZvEGFXczCHziYZ6n6ZPL2X 2f3gqL3ndRmBbpXelsEUpdz5tyVHByL47jMwT+mZs9+4h/OipLeZCi2gUNmUDEgPKW8tCN AxXI92WS3kquokHHgnQf/5oomAtMRkrN7y/HCt76b0kUS7jjUO5vcd/3xJf2sGqrufKQJ9 N6X1k/eN32smeGxNA5pamoKDC1n1rglRD0nGDse4JVjLJMlZ3+xlkwcrnE4OGMtaJnYAsf JCWV9gh6kEYBMwDYKMYatVYR2zVwT+ng3kMTFS92Pb6I9zecVWcSOnK+5X2FpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGjC2VxkzYwH 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 18:25:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVK5y2Xtxz6g5XF for ; Tue, 02 Jun 2026 18:26:14 +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 4gVK5y1xSsz47qC for ; Tue, 02 Jun 2026 18:26:14 +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-91550fe1619so353935885a.3 for ; Tue, 02 Jun 2026 11:26:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780424768; cv=none; d=google.com; s=arc-20240605; b=hH8fa7SC/a1TwYi3pwHX8Pu8DuvPDvJbNF+0b+XDGFg7Wf+425ibIXBunkJFu/TB/8 uuGzuD2nug+roQ+ByQgwJYaBN/sJdDpu/LZPJIMB1K5GR18U4bycg1C4IqbX4oXeuLna K8psSwNFdRJm1et3/zNrCbdOWAxkUZhmpV9NePqnbGvcXU/CRmD+9WR+5uob/PuIQ00k jz+lYlBvxUYd7AtOF2srLXmslgoGVACJF9o323KB0k/AsZcvgU6amb8fgLUBWJ4/ZqxQ YFsNPSsm7wgTqs2tVWEtSjbhzA2xvNZt51wpzLxilcHTijRV3nOtd2dwYMnfYoEM1upT ptKw== 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=LMoqgb0EJ/7k/VIHKZPXT0PGKKEOrMs6R1ZJAcoRQEg=; b=I5BPJJJKwtTBuu5Fph199m5ZegHN/rvVU2kUymyDOHk7n7weiQlFLDpWT/XpgcffJT ajx7+9oSC3239bxOfU8tUVfrjjfy1SiFPwq/DdZCj+Sx0Zojvrzg9oAUcc6FgxF/bs+8 q7DZOxrCbAeD+cDnwvi1PeiYM1OE+OBDaMahvUeJDT+DmLQtldktjJi1+97FvU8AhDEz SbPP5ju/z3B+DK3zHqU+f9RlIvgGsc8Fzp0AxOZ17H8R0J/ehJx++2WPYT4jA7J4W0JR LvIRnQRqC9gt3hhZPivlEcpaHadBcBKs5f7aAUC1rNDr8cPHeKH99NAsKwcfPbitHUNI AIAw==; 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=AJ9FEMaF4ky4TlR1uwhaMs7fklkkg2qAshkxCZ8Q3vXaCjdG8mpDI5X68h8yrcii6c ZX/7h7KRNMk2znnfhzLCCpGmIxeEE6qgyr4BG6SlZRsKbqIydNB5tfo7fntWcYFKvyHO JjkzgpJ2oC6ODyOxHlgEVZ3eCubS2QW8vzRhEnDNiDqC10Xbk4FBnvKSTq01uuIBN+K/ /0aydD8z7pGK5D5d/jTxQJCMhGuisonKSCezXGWsdL3rDGpT6ACqO1NeA3pui8FcUy0v snuDD1CYSoA+dH4/FB7dliLfp57k4Xf5BJRjnwE/r2qLQVkbakjgcD8eaPiRRLvHVg3W qIbA== X-Forwarded-Encrypted: i=1; AFNElJ8eFDpVbmklI3tugh0gMKCZg9LyawvmtVe6ImuvVyzBfieTHB1Um/QwOxAp7pAwY2KXNk+YxgkEBQGNc5z/YB6jd1Og7g==@freebsd.org X-Gm-Message-State: AOJu0YzoIHl/4e6tiIEhyURmUaaPIBTGJ+04hqJpXmCf5sT7Oe0sOPSJ ekmLola8i1zJFpIoGf+G5LcfchQgnrcE7Q4b11kAPpmvlUaC6b7fukrdjzhxv2Pqr9NYPeWgBwk b0yFN+H5CSskKU3ByYKQHi1rgZdFwZS4= X-Gm-Gg: Acq92OG2vSVqLhK+ISdPBCoqCRgZlni1qja9lkI8mOXUtzpPyIqrMl+WL/5RzsssnZ+ mDW/UXMj+aWShD12E2vLweIxFyg6p3dNYA65M9lg4yk4MAx4Tb9kdUeKu15GH8xdJuyRhclmCZw tFLDhZRftbYnDBnuQcEMNw1hNSZJUBBApWkahFvTDmcrwxpIUEtYKSZc52nPOLo9ITrEo0tjMrD hmxZK+aX3zTrCsDp9oX4VuXXPfMYHXiz3mVjF1dk7aYaAfpU2LMIRsYgDEEj07ichgpMHdzJYZx kA521BJL5WR7tK/7R2wXgyIFGLc0TwqZqokEmyVlRqdPvYtGG5ST6RRSmrazw7zBCRwsvtNxDOh gs/z8sBQJtxRnOLoJ2P7pZ0vHPhW9CMv0OzYMNNnH5790MFgQAQgIzFU9ArX11wcGrY4= 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 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)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4gVK5y1xSsz47qC 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVKy51t0fz6g8qm 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 4gVKy517Chz3FDH 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 4gVKy50g4Dzf3K 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVQzF27r0z6gZQ8 for ; Tue, 02 Jun 2026 22:50: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 4gVQzF181zz3fm8 for ; Tue, 02 Jun 2026 22: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=1780440649; h=from:from:reply-to:subject:subject: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=EYmNFvOeuzSY38Mtsp56lVJDr9ojx+bFaY1HZcobYchyjk6jk54VG7RgPwXmpeY1u6XZe/ +yt+c2uaLlyNerXsKlsHCZNJX+WDsllu3dQk/aW7ADe1dD3/oZobkDUVthQE7Tg9jx1VR2 KwfVTX9Qg3sSEqjxcNyerIsEsjc++Sohl52UO31gnlJUtxHtE+R2h8x87/sHFXt3F7LMpc lpWVh6KU1i8IDOz+dK85pk1q77WISb8lCwbSrHTtHfyEdwc1Z+yoe8BxuvmIL0B96K4O2d F2AEkzVAif/RLXTmw+FNG9yaAF5swrVXjn78E6YCO+945glwiAY5wVFZx1uSLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780440649; a=rsa-sha256; cv=none; b=gvzp8RQiitYJ7/2nhIoTLl5GIpb4YtcvsEhY1DxeTvEpBWM9jIyqz6oPhHGVX8YHj0tEQE apaipDjx8NTjjl3lXByvRsttB/8Pz3l5O1WNdpLCfk/Bn63bd+UaKHSRgpksv4McAkS+bS OfI4B5U+25/0Kd3NV35mTN1siuDHCVjGA1qh8yah8hfUtr7P1ZwZFDrJaJVu4edO8UElar /13CRl3e0LeHvejrV917/v1oPY3I02BrnHR63MT+wzKmfbdCwqvFQZhfMFLrKGI5BOIf35 VKwArIgBnAk5oMIPIPcZHRsf1Cpr8VwUbi/5tb3Ri2BnSjuFhDzm2f/OQHC2Cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780440649; h=from:from:reply-to:subject:subject: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=SzaTutkNJ3DaNKbMMsTM342FW0DZh6zK1wd7X5m/Sbhu/aIdfAbzQ9+70XyTIpG89HEJld ZWp3I3X2mK2sTeaHOZNn7oIUGDbIwRNm+KkD1imqnafNZG9WqH2yGb6E3XD1t/IwTL9Z7A L+xKKOCAGyq7Wd3oCX5Rt/6l/dQGRM7n3fZKZJWOeWFi0lzL8iRZpSecimtvR2dYBV4ffx mpALYEJEQz6n3j/WqdAKkCeZJwuZc2AKJSR56FNLnOa1jYhLOVk0mWIHitMErlw4GG+ka9 DZAOcnCL5nytjfoff7kYTZvlnmQSUF4RwIOGYqUDShbmSxCtJkVXydCNDEnnkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVQzF0lGbzlMp for ; Tue, 02 Jun 2026 22:50:49 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:55:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVb4T6Qhhz6fwyV for ; Wed, 03 Jun 2026 04:55: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 4gVb4T4Ps0z3Hwq for ; Wed, 03 Jun 2026 04:55:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780462553; h=from:from:reply-to:subject:subject: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=a2oFdQqKy2DfIHFkrl1bvHIaILtfr+V7t8Ywj7K6Oclt918WO1sO2lp3LJ55dyu2hsd41Z U+mWa6JyFlQdgu0GonF6Hokjmyz/Oa2zZ0Lni3hr6vCm5CgaC+gjMKnvZBeWhSCJMv20ji n3fCGkbUUzHYbC6Q/FllZv8Q9DoTfj4VtKy0GTZeccdIJ3vhh6VR/DLfHuTplK1S1KpLER dRhqUuBu+Czb4P4OZC08JulAE/6/OqU5a1sj5UVSPk+0NtdIA/olnaW6OCQdlsoJgrfyFp LECauaghpaOGqfXiUOyQw4nmjVOUY59BffMx6jbafHMnMwH7uDCiGUC7Oq906Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780462553; a=rsa-sha256; cv=none; b=iq9NJZbsnzPidCNALRQxp80EtnETWqhckUhLIlXRT3Mwx3h1NCgMVSpxvZiGSy+Jw5ccmr VMcEkCzsZYFKleu6cRbbwSOROsVIMjgH7MiP7tYMiQobdd1NQtWc3hwv9WQ4Whf8/Mvros U88KCJ1kn6DeLZSJAPNBWC9lqJ4tC9p2aII8q1jZ7JiPUokOPzlK3o2UnWJ0Ou+qT6NsEI fnqcklZsdxwaERVoHNuPW1zdyTofP7ZnAo4aZngBxTrro67XeEoJajh7nzbG9dlmKRYh25 0aIN76vfd5+xBLr0p42NYTt0+KnRZZvqqsZjtO9Tnx+YSq5Odk1ZCVK9iITEQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780462553; h=from:from:reply-to:subject:subject: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=OIIGvaGNi8HBVC05p5gEbZVyE4u95PvheCWqhyIm/BqjF/oX3GDLoR281M5gcwORBwpYBW rMpBB6EFEuWNz3PAXsyq0RZUbJJQMeY2/X2l8Z5dmsvQOS5cwH9ygYi0S/TKLTU8X5Ge8h sqJ4c345b8hvOCcf/vjNrJ0ywhE/dxKx1TkfqK1mDWkXRqae0/HEF9uSjAylZu2Q9AaBti ZFGuVo5vtr8X9a1sanUt54JlXRa5h9hvLAhZYFhA6J2IrkDsbqlr+2hoEooKhxbcA+kNV3 wmea+BAG7RIW7zszuqsL//c6HEItFGkmXnVa9DQDepBs9pWQR5KU+BqqCOZDUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVb4T31b9zx3w for ; Wed, 03 Jun 2026 04:55:53 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVcVv1bTvz6g3n7 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 4gVcVt6vWTz3NZP 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 4gVcVt5JzLzybH 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVcY916fTz6g4Ls for ; Wed, 03 Jun 2026 06:02: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 4gVcY86s91z3P7y for ; Wed, 03 Jun 2026 06:02:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780466541; h=from:from:reply-to:subject:subject: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=VVbJ0JN0i/eCAhF6/oy3VjJnPGBpywBvangdlZLkOeQGcp3UEVYRq3XKd7UIDQaFpK6jPn zKrqEqaXuK1tURvYRsJp4e9umyc3oFvReaXbL5aYVj7hg7hytplEOfB+9Rv42DosUl22sn cnkgTkSNPv1Ti5nq1yYykIqYc9nUcupwU9uHtKiqPoMS3O6pSuJZifd5gAW+O5+zFPlzav y7FvHkVV7ikWDzYnEX8A5z/V6rM9q5gpiFV5L7+DUPlzKGKswWDl/7otFik2/NhIiTHRSX bXg3viSYoq6cWCZUgqjge8PPsBcmWzUNh39S2RAAmZDtU17yO3T23df/6vpAzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780466541; a=rsa-sha256; cv=none; b=lmZvWmG2yWs3A9q47ekgYL5+1iDFY8jcrxN9dJ0ziLLojO8p1vbvfd6YAWBvKnLgf26dBc xG4sUyHsIo7absvpdZPbs0973HOhTzsFspODaB8pGSpYQ0i5GUqIAqo0pjP2BczbrnyShA MBicVSVT8d2AnJ/UYRhlJt/bQ56xUVOj2d4f9ECAKg3O/YU/VB/fE6Vruda47IqqfpDCez VCFrB+7RwMq/W6poHYhpfOfOBzyoMuxHjlBXF2wtUvx6gpWiA8zKNz3dGqmU37X+ucL9kk JCo4n+bT/kYasxrMBZAkLOU9Nr0ktAjhCdJaD000/NuhMS01UQ19uue0qHgBcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780466541; h=from:from:reply-to:subject:subject: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=jMqSlneM4KC0dUgHH1vJ1JTcdEU7jkDrNRX7Y4QAJvvOrvIyIik9iBkIOXzY1MxN8lt8TY ra1jEpLcNCogN8plcg3ojYNvigIBsu0mQ33xEhfW+8MNJ0R0/plwZ08Los6dVfmBVwF2OI fIA/mT2olU8wcK6ZKw+qvvkeacrR5BiNuLNbkleLrF+iYuldvLilsnoRs+0fSgzq+dsHZc ifN+S6wJRwIeT/Zn7BhVRZaaCBjzdtXQs3wdnYMXhRDNM+0s/XpBRTEec5r2YOmNTFB8ly IRIDXGmWC5zL+fLtWssiOEJ3QsCB9ue+UvAg8NnC8n3FkEBrwLaKuKE91nYwLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVcY86MxMzxwM for ; Wed, 03 Jun 2026 06:02:20 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVf454fQyz6gBTj 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 4gVf453K2Rz3VV6 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 4gVf452h8Tz11KK 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVf46672Sz6gBJw 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 4gVf464lskz3VS7 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 4gVf463TNWz11QL 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVf444XT5z6gB9s for ; Wed, 03 Jun 2026 07:10: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 4gVf442t0Pz3VS2 for ; Wed, 03 Jun 2026 07:10:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780470644; h=from:from:reply-to:subject:subject: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=uo2vbhPrkrkmPVWLfeeCjJn/1hDNhCQllqVVP8z6matVhZ4gbR7261VerixVvh+DEGW8Gg taVk9yU9z1I2yrXdUFi2azvzAakQLxDdZHCGgcpK9zcnSAsBRds0QGVbtJmwRN26PtBTBO pjrzhhIP4m+YrWNUlRiLf12i1SArRxcJjIPgcDHz6XyodoKfk+Z8CTae6MiO4DDF/7vAGE +VIRqm8iS5cBsdtVyPb0O4UKbiggeoLLtUKVFkVWv1Pt/I4I6ks3/LF1sNG+9cW6itmTCd KogSrk7Vf73CHWsTLbtc4MiTpVzxOrxzPMIKBirq2tzYOL97nCx5G76SAlPaIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780470644; a=rsa-sha256; cv=none; b=imfg8HSygV5HQc3sCSu901O1tWz//8fk2LRPWvJxQJGyeNyj30IeUJaKlXxbbbqBewR/Ut DryEh8rhw52oBTb/Uwzs+W0y0Uy6qQbK+4DsRjWe+fdIGl9CTFy6/bSl7HxLqwI5m+hZ7I jruSMjccNp5A4BwlMp8NALHZ99MUk4VNgdzT5GmPAhG8nwByhmj5TeafjIhEXmwABbHNM2 0sBxIXidSyLsfptjkoQqIvnKICK1WKHll9QdCkFV5I/ktgz7FUN2v0k7G5UjAlivUByftD xlZjsoc/socDT56zpRVXvo2XigoYg1+u/ffUDr8NSHShCIyvkRpY5FW5zfNGvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780470644; h=from:from:reply-to:subject:subject: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=gaAwX8Vokxy8g+UJ2Lzr1WuSvKy8TFy3xHXnteVBgUXn1b+IIn05WoYfSakCLRMNchKDqk FIHxePK7AL9M6gVAunNRymxEnyFEgGw5Ob7RMIrLyhQVAHbD7BlN1S70MlVo1k1S4QhVwG q1YkW7d06F/mkfsxpUv1O5YDz+J/N87ffN9E4PFWWr+2C5akSr92ZW+qmDoeIGG33WHptN yqT/ROiH5izjM4Nrdldmghr9spkZG+nWnjjTZ4DPvQgsa2NSgycEBPJNTNlCmCM1QRDjvT pQ/73fHO1wP+zqshSaUfX8hgivUtRap/KHzmb1i53kN7JTimFm4t9xcCnDIwxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVf4428Ccz11Sn for ; Wed, 03 Jun 2026 07:10:44 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 10:13:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 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:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVp9G5w7vz6gp8Q 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 4gVp9G4nbgz3NXY 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 4gVp9G49M0z1B5w 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 13:15:42 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVp9C0WTnz6gnyc for ; Wed, 03 Jun 2026 13:15: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 4gVp9B5kt5z3NmW 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 4gVp9B4mxYz1BwM 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 14:06:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVqJH63qkz6fv3y for ; Wed, 03 Jun 2026 14:06:55 +0000 (UTC) (envelope-from rionda@gmail.com) Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com [IPv6:2607:f8b0:4864:20::731]) (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 4gVqJH0HVYz3T3G for ; Wed, 03 Jun 2026 14:06:55 +0000 (UTC) (envelope-from rionda@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qk1-x731.google.com with SMTP id af79cd13be357-91550dfc11fso428832585a.1 for ; Wed, 03 Jun 2026 07:06:55 -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=IzCwPROIqhbl7Ej+rcD4B9XIUxY/XiOVN0F+151Ky6Pq297ecVqhRV3StJPCLTz//5 phYOVOq0wyC2rewVD5/fmzkp527QtI3DqTWpCs7f5FWkO17Bt/bc5f4iEoN125zaEROS JtLhG/jLtFYwSWxs3VoKbNuFs++g/CyUZrc8lGUGVsODEiAkUMF9G9tAC5BOvIdR9RCH EHB7jhLwfWxJ7zX7+3NhgHqCP5ZDjeyMfrQXHegvIb4/82Uz6TQL/eSiKNKXxUytHiVM w36fwtK86X7YodqHkX+eVwTLaWLhq9I3ZxgjW3FovmzOEtYVFQHoBdFnu+mrws0WMobq rUTg== X-Forwarded-Encrypted: i=1; AFNElJ/AZckxBf4bsnabyv6EgmD2P7qPfCg89ZWTYxMFS+ECzBLuP8fqCwdg3Q+gESbVQzrWtrlLpJ5wTs7ChFjT2hqcbB8Onw==@freebsd.org X-Gm-Message-State: AOJu0YwmUsR8FGFgc5KynBAK3nQ2g8D9EbwGI2tE8zG/GMV120dxJncU xPkTfPVaWtMxguyNNipqn6ifSpIEiPT/w9sW9Fy2ETFsRPQiiK2xlBeAXsMUKQ== X-Gm-Gg: Acq92OEGUJdjok+VxFWLP8gIMhaG7GSm3e8aA2W7NmxFzG673M3tVpfFW3PirxdhpBX uZGZ5Q7x6VXlLaO1tQJDJrWka0tz7h/rt35VOZCq783B/QQMKDlff9xx2aZbOuMRk+K4QU1Jea+ l3ytsS17JiPlS2mzB3anZndD6ySl5SPogqq6mhg9j7C/giPGd+n5hVDr+LJJjjfIGRdvXHHW+q6 7jeX56Kzg2b9aYtfu7Lqttr0kRLFGhzTVyxFT1RkurKTFcXL/b/MlqhgUS4cu1kzEoKQszg+9gx Rt/z/i70ONoi+medtSEdjASVoj4kwPz5uztA+h+v/6VTum7fUvFttJhbj7f7kYSmd4vH39bF1tR 0mt9UVlTyOLHgZxuIw/wIr3Zqmr2gq5QOOy1MmfJwxjHGOjvyyObl0u8xHbPmqvcmGSUgE7m7l4 Rg7JpfMhriZLTwL9gecqUGm3kq4WLUpgTDQg7sUA8kfFkeEBSNlZ10JLyXtyqhIq8UeWOrJOquk 7zyaF5G5I7g0k1D5tEAKazFMAscUDMbiecm 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (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: 4gVqJH0HVYz3T3G 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVrYH3H9tz6g29S for ; Wed, 03 Jun 2026 15:03: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 4gVrYH1cBSz3dyZ for ; Wed, 03 Jun 2026 15:03:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780498995; h=from:from:reply-to:subject:subject: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=Z56GiUjv7h5lA2x4wWuTVyryVJgdhUFZ9UPp56ivbEMCRIKre0sKxTPDY98HqwWNs3+WDZ nPP08jc0eq8oJD8JegISCELiKdfj3Q7UA/793vZnZ06hwqmXP2Aoa3N92HLtsax3zNe7GQ I3GCQ3WDCP2TwDXF2hIM/JrZCKv2As9JRODQegDSxk6yFnHYQeUDwYJpEimuAi3zrCQQ5Y nsLW8e6yOHStaizIUF+Q6KdKM64yvVIb8pkxoCdH4FjCnQJFKue65Vb4dJAJrxbLARgizs 0XmxtMJ1FDFI/11lpN7rZDezyC5Cn0kenpLePvdLEfrcYjgkp76w0Akyg9NK+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780498995; a=rsa-sha256; cv=none; b=kqiYv2/r+0AB3j23M9yuOdsFntlh12dMwMa1MEGasV/Lhs78hgwEXcnVSIa3NWyxkZUK3x UfDRD6ZP6TpKcQjsNnDgfqA4ziI9VWrQPQJFKSMRkamMNYkXteXRfdNYh82Zr4Z00ZYaYq BbLaVkR0xXokwhFtjF3G69NfWwXNf3Oaek0Avm+xviJRvNKb/vzif6xkjl/YtsL/f1ilWR OWuaPWKDkkDZ50Up1TZU0d0Xd03arny96DXv3ELTlKSeFBfOynCQxXVM2cSQqMSYNj21HH Is/hnJRpiTVkXc43HIrTo4/mWz/4jpAuf78qt5+AeIiUW0Y91d63FOdNXCcWLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780498995; h=from:from:reply-to:subject:subject: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=Jg+M6lQjvYSeVWPWcVVnkg0qBQ102t11rRMBX44va2TWejQx/NC1gfATBzAC/Y32NeppRl crvkB4p7MtR/iyMe90k9TeH6fDsoFJJBoXDwvypuyRKi9Qp0tD/r5yFz7UocP6WWC+U8J3 dQ+1PXqqoaV1kwpY7/J2nOkJK/uGAPOqCzgXx8SJZvcd5vRtPbG5HJQh3plxn/YhhcJIcq H9mBZ7tWxxWeoxpOmQPVk0AM26v3yxs9cSedpANIvOfHxKdvpgiQAt8zQs/b32pOs99AFG 0sm7p528mmFmndR3qYFOmGg5nBj/v5zN3XXj+z+++X4kAStKF00JPJbuTInIrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVrYH1CKLz1yF for ; Wed, 03 Jun 2026 15:03:15 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVsCy0dzbz6g5cw 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 4gVsCx6NQQz3j2q 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 4gVsCx5wyxz2ws 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVsD172HLz6g5TT 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 4gVsD15yBbz3jHC 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 4gVsD15YqBz32c 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVsqk0V59z6g8DY 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 4gVsqj5CgBz3pbG 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 4gVsqj4my5z3TY 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVxy061qjz6gW7c for ; Wed, 03 Jun 2026 19:06: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 4gVxy05DrQz4Hxn for ; Wed, 03 Jun 2026 19:06:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780513592; h=from:from:reply-to:subject:subject: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=ac1bNtZlns9cxfPxPA+iWiMeR8/xGU52+mAP69tgNWFNjg1IMt6WcDp/s5/wmKaxQl12go +lP1lK3P05qOHGV0+KKujgR4Y0TO78N0SGxTq9xy4F4aB+s6RqxG05fBvtEigKS9v4y6EG iMO24rVN8SLYEtn7WO+eT7Lfib9aoT7/QFdDc6oTAo6E7oki2JoGC8pIq0nb7jo6nBZms9 3DHT6q0K8DNZnIVxs0xy2G4hzMfno+IHbt4QFIcRFzI/WjpHGgjRffO6RMVguF63IZZinj da43ase3M+Y1M/hkG7ohFCDf0teDBw1FnwxtzThGJGcodw57PnwWm3Xv+e8gUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780513592; a=rsa-sha256; cv=none; b=jjMR+u9yVZxE8zg0DJbYGjsbtnACaf/+aj6CdqqmSJNn1dX15KhVmD9RJ5/wWCmz+ikYBo XZKnBgfOSijURmFKcOisqXFc+9QGRXgiv4PTyYRdeDbsquonCI6m3fWB4b25/p7ResTseG zmUYYjNz/mOAzI+fq3xHVMjQu5q3wy4jplT0e/bsBBmUkbRHituSdSVdXvOPFAA9TlwkOk qNvXShVch5oV29XMtaNhtDp8iwTs24UXXjqSGlNVoApfO+8Q6tX5/RCRNwLIkIa05OKRGk wJCcITnuMLLHG0XYq5v9aYnQMJFYYC8N7vqzOB3ycqP9Pu2k4HXNgQ17kk+Fpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780513592; h=from:from:reply-to:subject:subject: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=lDbxEuR/5lg8++NLIIT7/RTldB+sWlcadTomRsbNfwN52cor6GFJIYlDUFbmZzOtOCmcbq 7oliE08fCTq6afo7HnbxH/1woggDOm12/gJAVqByYvQrT+8ZuqocHInTmwzao2maXpoisV FoX01imKfkegJsfkACWTxQkZZ77fqKI35mOuuIzFEVQDd6LgUP8xvVQTGT0+e3/b7BJHBZ eyal4j3LuvT1bf2z2kQRD/R030R3Q+M+XXdQFcGqVI3LDaXjkU2rrcax4ZRDVOJFT+LdRv Z3QQujxwXKiUUISDOglPa6megnJyxgOr8Jk5c9gaREDYG4drdbx7Yslj3Agkzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVxy04TZSz8lJ for ; Wed, 03 Jun 2026 19:06:32 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:08:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=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:18:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzvg4ztDz6ggJk for ; Wed, 03 Jun 2026 20:34: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 4gVzvg4Qtbz3HGB for ; Wed, 03 Jun 2026 20:34:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780518879; h=from:from:reply-to:subject:subject: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=K7D3z5OuTCrTq7Ut9DppnVGe74br3RylOCQhkvd+jJEnvZyJbr3AdrDD4G+vwZQt9N2Rsp mtx/R/IADO8kIetw6hg+0cTgBLX8radAvMnK/svG1mTsYfL6NrtxdASShMMhTydjFfLdBu jZxMVBXjK/qd3dKxapZ8+8utRMAVM0DYGwBs6LVYzhOyzJus801a1AKiRAtxu7mEjUTFGw e1CzrVkNzQWMPy7Xvh/DVp7L/zOra7fmM4IW3T6I/RP20P9azrbjMkW3ve8yfB7hX6j0CN BlnXbBkShAOqQzT0uqUgf2/NicA7PKN6S/dMBrmd21Ig3gcZCKLeRBofm5xqBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780518879; a=rsa-sha256; cv=none; b=SpAzsLAfdBeGYpX3n3aDUsgXJoIagqDWRm0YN4vSjp3LX4vgI3+Q0Xc4itQd5K1JlOjXj9 n4GH2ClrpAydS/Usz5b8AYU1NJU31TlgK/wEl4QiGIebpDYw+iOlq8kqsf6YVX3X4txNJE cd1QxFj35fDCD91ebnetnDrHYatGyCRHcTDvT7WeXBcXUA5Fa0SOPbYa8TsJigs/niVC+7 z0EZQh8VdurtZcoekcAwl823c24P7R135/4GsbxdzQbbIyBnGoPKeuD2flIpCbN0ou/7Cc /bARnSZY4XNzzrhXBM5r7bkCJvyKwDFnYHbbeuASrO8QG85cZQ++lXOb9OZR/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=1780518879; h=from:from:reply-to:subject:subject: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=cklSPdayqR79qPjhLD9mdB5mdlbbgp4uXtfaRPSZGDeCsOUFUXp4VSD25R0YHKzzr0V2fD IDz2/3DxrzehmGQYBHGVYre7VrPqHBp1FrsMOrdh148JoLwHRdLZtlZtJLR3wXxfI8vZxf fqbXtlcADpYSPxqc3Lx4Gw4m6DFbWamh4vN9QYrUM+htJorv5toPSJPFvFSBuDShxzf2sq IruzBNpbZn2Wvgp4QKSIqR7YxW0om6MbPpospAFEQW0E1xejyxKhSRuA64Z5iGXW79oZ9I Nvvwyu/V9+52lh/VLU1Oka4J0uL6V4ehk53XJVyc0vRNqOrqR6T9qrwMnUfrrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzvg3vqPz9sN for ; Wed, 03 Jun 2026 20:34:39 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:45:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW08P4S3Sz6ghG1 for ; Wed, 03 Jun 2026 20:45: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 4gW08P3qYjz3KTn for ; Wed, 03 Jun 2026 20:45:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519541; h=from:from:reply-to:subject:subject: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=qSZOiXihajNwpAF7jUZCvlcRNxxFCdkjOo5U52y89Ll4pp/C36uis3pnfTnP1mq0Sa4k0I xnT48JlTaDcYZM9maAUFV+ZMCTlHXIEyua/xouic/gc9RiRueBkosuzYgSekEmKmo3FGab KW+OFzL71J4G5KDVWNiC0V2yBrDff0rNp2d7T0BkpT6WL+k6gBdCzBmllfDDq7b+PGu/aO etkNzfzWtwZT1Xn3y8Ue6RUZiUuTSgB51TqyP4a1tez3Dcf7du4K6jimz+1J9Cb5U/vpuF NoYd3c8HlSMtkRupCasPTb8tAiTeHZKpsf+9so8KX3a5+Pq32/o6KOysQZbOUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519541; a=rsa-sha256; cv=none; b=YoarzDv9toaK9b0PArV5QUXkuXQCTDlUhJZIoUIHCQU4pfVRUODUZospaSHv/BDZ8W+QXE Oi9WX7kupV+SmCbq/h0imPcWcFNU0UvxTmoAQlaXijB5UUIU/xyphgQzD1v9L3AE3Oat+p L8HUF/Cl7diVyMCpeqqbxLaoE0JvMOATDixep9Vtb2AoXHbcuiPdX41lDfZ96BP0X/HfS3 6PslRpEbUsxDKjIS9A7RWqg0Lgfn8vBm39DEFP93k+R2+BnnNGiUULk4oQUL95po17kPXy X8FA+23q5ohWM2GxAloQKkIFoHkrgxHa6tYNq0jU9qa3Uur/nQmX5x5sRUwVlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519541; h=from:from:reply-to:subject:subject: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=b7/UdyslVsW6hzCiVr+3oNS3aZ+JSH/W8CcctR4EvG2Rgq/JZ07RPLFBhjyZLy7leMWYtu toVgA/4xZDtWEbwhGXIP79L/WKnFuX4A0xhx2DRw3IW1fk3oI4xWY8XLydSYE+odr3BjyF 2NFgySAwoAbsejOe8oDGlkYV2KLvOrfm0RJTUc/r0IbFUXfGxV97Hi78T6+asKIN/U4Rp7 1WS1MYjM96A5XifJt6vo5nG7AbH6Wov9w2VHG9nteCFw7P71GWD7qgOnYZvhjLWPXmL1r5 6eXfXy9RFmv5/aydjk1Ok61AoVlKDVGShibFe645Evqh0c9h9lGT3Ugm+4Ms7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW08P3NMBzBqW for ; Wed, 03 Jun 2026 20:45:41 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW0GD54pGz6ghhT for ; Wed, 03 Jun 2026 20:50: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 4gW0GD4Qz0z3Nlp for ; Wed, 03 Jun 2026 20:50:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519844; h=from:from:reply-to:subject:subject: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=qk1gwMuHomF7MaOZ0OO+gj0PtTcKhei4yPi66Jw0OCGqjoYcb7bRgfwwDKrHCmvz0Zlajz xouHFRHr8cff93+2sr5H9Tdx9Y783i929SglOavFSzXYxA4oLXaamTIHKsZV9+QuE2vaGv JLYwSRsHsLNL2w3CakWRk0LdAVW5whHHNy+ouLy99d7GDPjlrEQDRYje/wRztZiBoVxSoJ 83JnNMHzx052YAZoTbo86FHgE4Kly17ndoEksI9xVisf4gcULPU2PIfdGIPOWUc4hbxRNG OnA3w7FU0Pas2U5jZgFRG3QCsm/N8m2kTdXFJ3+Vwdn2gIHeMrjIcA4aqQKi9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519844; a=rsa-sha256; cv=none; b=gZ1Reex0NKPNctZUWzZvqw6NniDyFH36Sc0sWY6aSk47NT9BIPkJnL1q+EuXGVfIVWARCH WuskTr16MsvQHUtRMFJvHqpvF7XwcavpZjK2p8HeVpDFaEAe70q/lCOiXC4JMAZBKJVAox 3C7c2gYrCxWilMmzUPAd3dWnTA7nLqUPl8waFKH4Yu66cyR7oCxEu27DRYbkmTMAqLoFNH sqQ4atJL7LB55IJSNEHPn3l7dDVx1dLqgsY8GrOqgDlqoZJIzYWE8anZZS+UGoma0XSCtu yuBfQpFL0GjD0/PYt1ymXZW32/IiK2eIjTWufjlzP/0cHDEitHhYtiNuP+w+bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519844; h=from:from:reply-to:subject:subject: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=mJmlHH5rnwOh+NChNdcniKDuR4/htkPxqt4aOHBxCubssWzhVaNmU+pnornXan/pnicnDJ gmiQ4bZNW1KU5hAbX3JwTP3eTtSktjTMEzSS8+XSBkjS7ZuekuEZ9vQqye3Z6dz0Du5zCL BS6fN1ov5ovR4WnhiR6YZGmg/XHIwz2CsKs5JYu+wV12Mq22ZY7vC2Z96OenFt1DVULMRd GPhZqyAdW16Lsu7uKIg6xtzbI0s5V+OikoCyjtoC5+Ae7zkTU2GE1KSvGlVc8dKmB9dMPS +zOS2AIIa9JdKkQTuYYez3bsdqZ88GiLwmw0h+EUbGdEtFWXtc7xVhSJBwv+ug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW0GD3xsTzBlX for ; Wed, 03 Jun 2026 20:50:44 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW22h1fH1z6gqnP for ; Wed, 03 Jun 2026 22:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW22h0wbxz3WDW for ; Wed, 03 Jun 2026 22:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780524652; h=from:from:reply-to:subject:subject: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=VnV/l3e24+OWOMBUQ8GHDPql4shYhg2ynvAknVFp+GBIiw3yRsv8N5FZVS5vtgcpXI/JG4 tmkAg+zBXgflA/kVH06n2Qj2+plDVSJxialy8SaUBjGBaxrAP8Q1TTmlfr+0lfaoFtZAP3 TIGql7+XXjN38He5dAqC6nn8l3ANyh2F7MibtLEj4oLyX2ehu66LkSh6Ewxp94bQPJr2TY OvASYTCiDdJtGynCLhi5c6bJAQ+nf6idcvfkhZCw9Mmpxf3SRJN4EUKrdEOO+NXb9ojnMm CpP7aD9rjvR4zBWBAZcOCer+W8raLzlvnAQR8nP6WRfd0gms4epTKzkvMgaq3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780524652; a=rsa-sha256; cv=none; b=ZPJ7Yh9YhwfVQr0HhGVT5q5a5j93boIAGu5kb48aJijKigfwmx6DlpZyRTCsuv9EytQvnj Jtmo57gU2k7SKyYiywDjyiH2krK0zl3mHSeZu6zfbDJ0a2KeLm480zz/Bfn0Jhf6FKgF8K jUx0YjpB+K4CHpde/ZMSut7Be8gTRWdol7Gf+PeS4ASrcgCdV5gxOgp0i9UT1gnHPuklmu PtFrK4rOMmf6HbN3kOiH/BjkoJj/ea3h26S9KZCo4fQ7sOJydf0RpapkGrJeSI2Vy4w6NI GH+UlPRQoPL2UUJF/ee5+77XrWbZ5Dmkdfu56de4IAzblj9E0CpiSf2c5oIa4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780524652; h=from:from:reply-to:subject:subject: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=iDY7/ApuWr6b2DdTKZFQEGKvzEEhVBIcPQ3NEQWgUVOpQHjvqM3cEPjtZlUZeG9CKA6i0D Vj2P+JxC2gmpgiM98LIIQsTAsKvfYg4jBn+boFLp2O4uYKGp5/n8VIeumqNHsU5Mofdrkc f3mFGhKYlwROO5p/1lLiZ9+I4vWFHrRYKM2vSiow9EIBgT1Y6iSUuiZIdHX26/KSU5+Eks qhKN049zynlPmQcgYSPPm1N93twtH1PReWbmJ3UUi9ONGLVp0PX2yTCRChqrtIO5yJMkPA 3ferd9TX9r+VV4G3NqBstwr940v0U3kMYjFK/Aus/Sv/yYQl/mlr+aFs5gMV8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW22h0VdYzTwL for ; Wed, 03 Jun 2026 22:10:52 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW42y5V8hz6h02f 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 4gW42y4j4Cz3gGS 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 4gW42y499kzZRg 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 01:30:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW6TF45dLz501ss for ; Thu, 04 Jun 2026 01:30: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 4gW6TF3ktfz42Nv for ; Thu, 04 Jun 2026 01:30:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780536641; h=from:from:reply-to:subject:subject: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=yTJFh3gjpPJDRpZOgVpnU6dLY4W5UddjAi1fVXNfCbE+67LXp3hFf5eJOngUsgPnlgjbcA REqTvK0V3WmM1FE5RqEA4cwtodh9POvuI14r/ue8q4ZA8JEdseHR+p5k277UHs1ktMhkqJ QHcnQdjIOk5n5HNjrGFZqDEV224/zLM3V8uT02hCA0Iz++5GgXaUthjJW7arzbgVh1P/70 jBCBGcXXl6tIwXgpuR8JbJIk+WQNS4bZACK6PK1IoOusw8cHy41h4q1Ztllu1dvYmyVLTU GLdZxLA6CNfQ23MBLhabMRffjdtuc2x5ursQkA98y5f7dYg+KOEz19yUTpOtMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780536641; a=rsa-sha256; cv=none; b=CJqK1Vgw5w2/bYGG7RK0VuquUeat8DZfhNxYwqpkwCpLUFYO33ljhzr7uCTdWQsM9/YJ97 xDN6Uhh+nNQ8jEXQf3y/o9uS8k/Nvk560f+7etfCmexCNUu0pC0dvEe54fCQpgAeFuUA9a CNAZu1hVZdA0Hz/NADOsbtu2d8gX7156XWaVmJw/zvLTJdQjyv71+WlclFh/LoWu+Or5tS 2aIj6IFGQn+qlG6Zvq9CtB7shtPFbWRfrb/u3rjLoOF9xNbRotWWv9dGtWDK5UbDH69wNN 1t15UUKrgImxhCWK6/Qyh49QwRwVfNfgRR7Nx3RTOvT56EzqWmEXQpeeDHjpmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780536641; h=from:from:reply-to:subject:subject: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=uvgyLDXILlsppbUfTNlOkAM5hhqxE3rVpSHC9qLcj/mE/lQeA6CwIdVJGbQIevBNCWSBfO hlyKlwLfdKOtzzRuF8y/KK0KQvbKhb9mIzNR9gl54HcMUtW4D2QjZBmRqlw22LxMfVo+2V cDIN6IUMkZzWsjF13L0QmLDxdIiDomRzjB0ryMs+qprCQmWAs85A0YqWD/s6ikBa+01m8a ypiiR2lzEI0ZNXGayB+l81zeabcQSVME76iaYnEUrvzYVXcsFNKg3omcApVpNPFC/mGYTU 7qT7nZf+LXoPv6iUx9xTOfAFB/0+oub7Vkwp+YAU2UVG82/NJSz1Se3PBM0wtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW6TF3JYzzdJB for ; Thu, 04 Jun 2026 01:30:41 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 05:15:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWCSr4MTvz6fwl2 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 4gWCSr24Hgz3T0h 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 4gWCSr1RL1zl7C 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWCSs6JNRz6fwKq 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 4gWCSs2pDbz3T5h 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 4gWCSs2GqGzl7D 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWCSt5wycz6fwhb 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 4gWCSt3Wm5z3TBJ 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 4gWCSt37KZzl2f 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: 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:39:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWHzt31sBz6gHm6 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 4gWHzt2TNZz3tfQ 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 4gWHzt24HfzrWN 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWJF60mSJz6gK9K 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 4gWJF56wjxz419K 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 4gWJF56V3DzrXM 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWJF72P2rz6gKFp 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 4gWJF70bfCz41JD 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 4gWJF670TKzrGR 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWLzC1BTHz6gWf5 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 4gWLzC0v1rz3Gjb 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-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) (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 4gWLzC0JTMz11K1 for ; Thu, 04 Jun 2026 10:53:59 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-396773734e8so793761fa.3 for ; Thu, 04 Jun 2026 03:53:58 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ8ec2wpr9/VQsnkm9zko7lkQRMJFZgfmdOisBLMiz7AnbnDKb1DC6Wfi05viBo9/GAK07HlRkbk0GyQsuGiUynJq8jCaA==@freebsd.org X-Gm-Message-State: AOJu0YzT1riePdery8El8O+4AC/gzFOdUIqWrBXaogSS8kmAZ3ciwvbT z82K/snkscRgWtgLy9WZuY4F8Slk/h+9NOFMKl/bkGoAjEMQyyrHhqeGPAmJCydHvYT2lLcWCNU pSIwJOiH2hfOwB98AXnpYzyQD9sIMQrs= 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 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:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWMGX3RLnz6gXcX for ; Thu, 04 Jun 2026 11:07: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 4gWMGX2vwJz3H7n for ; Thu, 04 Jun 2026 11:07:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780571236; h=from:from:reply-to:subject:subject: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=Sk1FQW/IbBCRvVjIbxHLYve3V7IcNlj4ifeTVI2euOU+nPcm4mOG4PFhk1ZBmXix1RaZlV MK/Zo00OiZEdF56j9kTv4JUETMmE7m8+18BM/1QnM6cq3PwqJ1+7tWpouOD/S5jfrP+pmr yX8om3IgjdbPJQhw+i/ixIemmoHJhfybwTkFN8NkkWJhTcnLCkWEvUYZ0KgSgPw6MN/a6K fXas10mrqNxaQAOazaHWo5uV0ferHU78W0MKJL5S0X3UAt41y52PnCJ0O9LV4lPxljdmPY fG8ye4AGHvXYBAAC9SsKJCXv5NDrY08OAirVlUYkzFfeIZbu8ZtplYuTJOfAKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780571236; a=rsa-sha256; cv=none; b=g/oy+6QNwC1CRbVSogLkhSdPVlo1qwmb6kPzJ2l5XhANaB4LMuvrEK9Dztbyr8t30xHEFQ ss1gQ41e62TpyABcGygeGJHMZVtYmozatDzThPDJ5gVmb1wKwZTP+drzJfS8MWHvxbFsg7 +CI4yo3uYWRse6aRMeffRmaP4in1sLZb1jrr9Ck02ui9mp1sfOV7tdNSkX3cMUfzcCf5RF 4RotKg4Lc/uWJTbbrp/CP/DXeTsq64OfP0GZUPg/do4jgienHfnJI0siZ39WObAVQR65rA 0SdD3ufDQhdj1IiXIiFFwYQZ/Xd8zRf7/ItWiPzSm9bJz5Zg1k3VU23QqrqeRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780571236; h=from:from:reply-to:subject:subject: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=ikE1IFGa47E1/0RqHl4joMzukg41ICsU6mioJ59JhXi6ufsB3ALybbkJUkZQYM4x6PU9pr zThEXdoWMwazQPpbYDRl3rFDSWQbvJMDMIPyv1Z1DbhUgkeWM14bIcuhsINhm2H0lSyNi7 DRf8moU3V9W7wmdle/dTs3Ii5IXo0WybKjZwpekLd+f1J15kOTk1uCgfctV2ZLj2TEI/mD qmZMMuDIC3HGgZZqtwJyhqFqTVuA1zfqHYJsRLp2TUeaTk3KqUgupS/xsqp5VCgLdICK25 1dnfyKjFy8FAgR+Vvck34G/9ZzRdryub5B2smqJvx7nnDgOhQonW7YrefhLwKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWMGX2NS6zwCS for ; Thu, 04 Jun 2026 11:07:16 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:07:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWMGZ00TGz6gXXX for ; Thu, 04 Jun 2026 11:07: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 4gWMGY3Qcgz3HH5 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 4gWMGY2gYxzvp1 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:38:49 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWNF7087fz6gcC1 for ; Thu, 04 Jun 2026 11:51: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 4gWNF66YYmz3Q6V for ; Thu, 04 Jun 2026 11:51:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780573866; h=from:from:reply-to:subject:subject: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=DYVA2HSb0+1zBF39UejJqer3rtWa7HRer/GwJNN4lrpGTutbB1F6eMlk291qZrt+2XBex8 wFLBo678lw7z9nlD3JrJQmqq6s+JBRgRfBk+/egb8EB0nR0qNlFXjNdWJKaL+H7fxSEZ/u dMbIc4dEpq1uVHYuqTIV+HqahnXS1+P7QjKSSjq/G65N6caL41O+hkyx0ONmQ7XU2hptx1 G3Bq3fXmS66l/uH+8Cfso5TYXLgq0zCRaqwRTSdzWlRqPHFMSgNoEf228CKK0xWdYcK9zr lWOfY6Uy2LLAB43HksIoPTm9K+EHl3OmX0iGBb7dcAgKJG2PQBCvLSpDP+9MQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780573866; a=rsa-sha256; cv=none; b=wp7iqPuWe0bgKpmgbo7pjE2FhTZQZeMzbYFNlDveBK2ZJqq2hvuHNbOjmZ/FVzsvc1xAzj gdAc93TQGrTmcPeH0HXAQAODd4pEVPoD3Xzq145nXcLghffkOusb4I3SIKpL+rHfKSXUgJ iI3uKklCMdYgUzCZ3q4S3p6BrJ0H0Z5QBssqmH0hBVhLu5FWfugPPYiszwO2Ip85Awzfzo ttsEBbctfo+kddiGtOnN6TTAVIV9B6YHQt1i3EdUhSipn+Pq79hec8neqQ8KYsVdopo0Qk hbxJYQA8seUYNoJAGRP8+/Hr6qtfWSmoWpSCBh5ISJxWK7WEp660DB8dgr++lQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780573866; h=from:from:reply-to:subject:subject: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=XPzWa4PPEEiXbLC1k9zUCTcna2dxkZWCxffhfCGygJ6aLyTX47dA8x4g+TpYHjpX0wqw+L 6MGmZnB5qsir6BgB749BvT/Wno2te72WvUEsuGnXGirjiGC42yGaSKdGqflR0KUTeHH5WU 0rALNgD/uVhiOkImOaodNaf0vAhV6fvkU6iIjito+o/vmqzLTQwLwGgM3H96jhPZLr/NDz OCQ4NkjieYDFdB2zZ/D2O2tT19FiuzY4PLKOlMYzotFEf82QIDVmNI/10IJb6Hy42ZrTyE B3YEAx6dAmpTGuycdRQRPtU9AmmaxuwrXv1RgzYt/a0+8Dzaf+M/tEQZcesLDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWNF66816zxCg for ; Thu, 04 Jun 2026 11:51:06 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWPsq09K3z6gF4y 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 4gWPsp6Qxcz3XRv 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 4gWPsp5zqSz102d 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWQ3Y58d8z6gGH2 for ; Thu, 04 Jun 2026 13:12: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 4gWQ3Y4RQPz3Xy0 for ; Thu, 04 Jun 2026 13:12:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780578777; h=from:from:reply-to:subject:subject: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=aYMJm4RP4JpXpOv2YpHLLX1RBwfnMlm+EfGwqA7Giw8CbJMGRic/Pcb6zDgHeWZqSvXTqQ rRqwlO0Xat2SSumcFQM48YHT+gzcpqNeY3Sa7UrEMvLCAEim4oUfRObzZUgG2Pr0uQIO6H 9w4bNJ1/IL6hxsQg9Q2uBIwCJO9oZ2uAg6Jd4hGPOJhDwgSe/1tIfgY1yy0Yvd4R7kQ+84 FC+UapnU8WFgl9MkVng0Klvdk9IysuG0zAIxHJ67u8rxPRKqh+XG0Pg0MZWrU1MXcQ05qA bqFO/ZyTl+rTdU1Lym4k82uGbinKuqWz6UWfuI4CydrCBj7hXvt8XlcyBW2AKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780578777; a=rsa-sha256; cv=none; b=hMmiMQytvBv3AoynziRGsxdhdAKakUhAGIl5SNSXLODh4T3Ovrb/nG3xKh7Z63VsNiL8rC 7+DpvZ1Km3i0srvf9pqU/kWdjgBAeNSNNq3hqZR4T+rxFntuKo1b/jT6LFqj/FYNkdWQqP hy+vi8gZbchYZyYCKMf1CKRMGE5StwzZXHM1/x2t5Z1Ibq1FN5cVVPu6EvZXqjqN5lKKdM Hem5y9dq7bcEv/zgNs0NKwjgI0HyWiFuWsCJ/sEPbNeCKzj0uIN58tvIySPlUZ/s3UT2ap MNM+NjKqw4K693oszgMnmn34k44UhdCwJQPPGBsYGte/gDZiSFW9kG9MxnnM3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780578777; h=from:from:reply-to:subject:subject: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=U3Tt+NH5KrSVUqB93gdTTnHAr8MDr9xlaP47neoDltQib/tCvnqGrO3C+xyBj/bhOriLMu yueBrXQhFcGKxSU6mMvVJbw2KiQMATwWv4FT8yStuaEcI0JhI0jiYRF0eQ44eN+j3dP41r DUKkwUNtRfczZuU2Nm7fj1dC781Vt7hD8DAcTINHLoAaASNs/LFsBDRFRuVByF9fl3vqny g1SE/FuXYbt/E/EOuIQfBXrazmaKf0HiY5HJalktZX+bGU+YbJiNuG61B2xsZqvx2L97u6 H4qG4+eQk4C3m0FFKCN9SavhSWPwx3GXa6C+EMc+cgKEb9sVaLAHJLe1E62eZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWQ3Y3ywQz10HL for ; Thu, 04 Jun 2026 13:12:57 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWQ9j3vhxz6gGb5 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 4gWQ9j394Mz3ZrW 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 4gWQ9j2kBNz10HS 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWQXB4rjCz6gHpV for ; Thu, 04 Jun 2026 13:34: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 4gWQXB3zMnz3f37 for ; Thu, 04 Jun 2026 13:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780580058; h=from:from:reply-to:subject:subject: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=DKHNSpHioAbrgevzqtB89DRuo8Ytm91OJHu3D6cwAzGVm6i6y6vVfOjj2CBAI0SuubZo4E 5PJ6NEehMPL/5zDdedNhqc3Gpmt5yAPAwLfje/3t1nc9N+pgT3yNlpBd4cwdXs871kaeA8 4VA8PxOy05qbKh3NUpuN5oCLNKESj9hVOBOe2ltM17+3fg7fb1f9PmsQ+0PxvVs9QhlkDg sd+SXT5lbW9cqWIwqEXt7FpMkgYE/YOlw79iNRiO+9uJICMRF76LPC1GT7lobK1sH1nVLJ D7BRq6nN4Y/yjzrdbX9JOTr7o8QcIRd6cpYgMom5IA6inICNtiNGN78SJSldEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780580058; a=rsa-sha256; cv=none; b=k5VHm+xxa+FSGreqNaySKth+of6FJBPtqG6m6VIipstzXLiP7CmTcDflB447Uhe5LnSEDc JyNVPoqGzYi2mqIWEUC7vBNELxuZlU1vxkupWUiBtuHxzkvlxX5gELAzDHOV+QFUTbwmkH lNJsQwEkpTurGfMFvpQrWLJVMm+xGg8mgrokwp/Z/zj5bpanoXl5V7hnJ+cmBVCJj7epkY 0wBdlJ3vMXmpaxvw8RYn/gqIHN7T11UTOHGrEUAdi0pdiHO8kFTT/OZdmEI29slu6Kbwwa PHy19LRYCdRCLe5Qt0cXTkU59ZP7jjq+XGh1nOJ4umgn6M716zkUXhTlaf+ERw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780580058; h=from:from:reply-to:subject:subject: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=la4lcYFacu6VQYDBkQtb0GPqf51/tCocJwHJM76oVtiXNi7a5uXFKPaQThnOU9qoUCod+V r5boExBYYbnULevy6+akEOQuSzyZtmMBfNwtQAREsTUNZM1gcAFm7sCvPEyVNcEPiaWSlz piSWvYmoigeTCAtQKBIBMxHPWkUxydCfr7wXEuBhA0WWBwpncITisluWpLf7liW98XvHrk DhEzUBoSA8wZUyaHY7YHKf4F0K31ASDC4YRbdOtAWdPxDW93E59vaZpRhnADbj+D7a5xVC EQRc1C82y5GibG8CTt8y3pyvX4cBh14gvrGdE0kK8l2sSLMaUMvSi97hQV7lJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWQXB3N37z11H7 for ; Thu, 04 Jun 2026 13:34:18 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWR6D16Xcz6gLbr 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 4gWR6C1VlHz3jpF 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 4gWR6C0n2wz11kd 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 16:14:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWVWk544Hz6gbPy 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 4gWVWk48NJz46wm 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 4gWVWk3m55z15VG 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWW2p49fPz6gd0j 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 4gWW2p23Y3z49Rb 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 4gWW2p1WxQz167p for ; Thu, 04 Jun 2026 16:57:38 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWXKh1FCvz6gj4H for ; Thu, 04 Jun 2026 17:55: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 4gWXKh0bFGz4Hmd for ; Thu, 04 Jun 2026 17:55:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780595736; h=from:from:reply-to:subject:subject: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=Ahy9NsqFsR/6U0Y2ajI882gSAXhdjCNnGHioenORQjzgq1bBa0Q+VIGLFBJxeyaAnZ88ft S0wwNEwyvwX/7dwfh7Fc2Z0DmIbNcDIWrLxX8pw+xXiJX7yxW2/25PUvPsCv4cfg/FUpOZ F0ziIL6gWePfCHmG1NgOY3POfDlEOyt/dDcEvPJzhoqmJugk0Ky4pZ/erG7IJ/edQ1xg0C sAx7otFtSmaw0DDtqsCGogT/IZ5CrVcq4bEa8zg/sZlN4w0iFf5bxRtCXt1qsrW07Pe+An OdjufJoCjBPFiJywgJcHDrlE4MtmxyaNhwx80Oad9/Qf4sa9eirhkfWiP5//eQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780595736; a=rsa-sha256; cv=none; b=m/rXbknrHekq3mdRsTJ4Xlcf/6nEPjICVs7DulztMowR9LakgWnL22oVdavDmtmH/twO/8 z+dyWmVIoJiIZ4H2tr0vORZZVyIYLlFDPlxa5W8+MCvedgL9sWipaTdF2W+obrjG81xjYR +saAo/hmFXDQkUBd1nrY3zk8a/X5tpcmcHEL6OfEc/cmq26shnlq8Vj3K7maXLSUPmeEkj sp8UqvGRhP6/MXP1lm1nweE+6M+YSW9JQ4LErG67Ci1p6sEQF4gsP+u20ZrO9RvkuUPaWQ 3C+qg1iUQomhzUaKDs/lLTxvdaCOZMGmbmyGCzfXw9jDexnGIgUoiBZIEoFo1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780595736; h=from:from:reply-to:subject:subject: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=r+ETiT1mlvrocGl005AbsGIyuQ3Q2sSHCtLhaodqBgOnaKTjslKaqGZFeiRo+tyQGl0uao 7Gp+Rez7GNbGA9gwg+Jb5Shd6H6Svfe88gm/NBsqkNOzSEfoc0brZ3RN7XAJRPs+kTRrXz d4jXL30fpVWOKZTunuZopZ6wg5dbA8w0sVPXNbZkPTolv6BFnrD/o7SAX94LQKxLVpyPSi +oENJBPHPTCoDe7x4KPMbWkrcJe4ZrfI0IzCG2lNlABLQYa4QhxlZ2QY/oGtdJM4NOJxtI nW7q/pTvBhP8IMs/D0SF9E1LAjFwL7Lt/8LUJhpsSg6oPD8vnWQeOk3U1uXdlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWXKh0B0vz17Sx for ; Thu, 04 Jun 2026 17:55:36 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 21:09:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcf06WD2z6gxLB for ; Thu, 04 Jun 2026 21:10:00 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) (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 4gWcdz0ysZz3JvJ 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::62f as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2bf2247e38eso12202265ad.3 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=HgXBZttXpszkPLzHtCkU6btHLtHBtzKBcEeF+iJXAYcfj/DN7Z2+ZwirYclWchQksN oLZH5Lk1gKWSvgYtPVw9lul++xMbrLFwFFYjVmb37QPBwBvsgXL0rcJUeq3d7L13pgnQ 0HbrIwekc2nGe1XQuq+w+a5GWl2ClRT1Ei3FqvDFkP7WDaeR1id+JYD4pihR/7gnaOef rVJXMu1mobpN16xpD5GTyB1klQv0k6An963hu73/Zxdv8dQJi7jCDdWiVFI8T+Lp9PgE KE3T+LHds6C9nXkKba8eLRDpsoxk9m27KUQfb3tUZ4qHccSB2LrJuR6y1sema2H/84hn iqBA== X-Forwarded-Encrypted: i=1; AFNElJ/EfF2Fy3hcNruTRoU0n3a8jhKGTJmoWSJkt0lWTzGohyqgj2qKbvZbWSLQYtWfucXnn/WYv2mn9pi6u5NrFJ+R/GTxjg==@freebsd.org X-Gm-Message-State: AOJu0YwBQoff9IbLW2q3jdrQJSmqGtb/XY9u6/lYlUOLpDPGkgzJCJze 3qA02vGxM6SMLo66W3QfkpNlRDQUj8Pfs0JHHG7ucmV8nWR6da4ytIxR X-Gm-Gg: Acq92OEr2Wq1VSqKKaOcR+BuXEKRo4k8eMxzktC0VTcxHD3BYaNqgFcXT2dohrBkGs8 m0Fj9AfxPXz35/62qr4mYsjdzQDYSGgmMlndLsu0XX7C6jGNztVqtGCr+V6I66NWgoxX4FOFQJw nce9e+oPf8Nl2uRi8aoYAnMHRTt83ZGhEmMqpClHuzQ3ZtIaOJlZkVuoSqpRtfQT2Q0PAJNHVr6 KqU8o1i68TDc55aMw51XeGqgdshMXfrlLWBl13ZohgvbBmjtFPaCATdeUGzIgrNXKcafCDJjrYi GESs36DEmMnW+BJtE108GV3ewRQEJkye5gfOPJ8jFQ54hZDIVMYESOoufkq9eFEiEdZeoAAd8kL IttCn6FhP32HPM/CHmljJF/6Mqj/CSbq+3GY3rV7LbS2yJki5FAy0QIXppyU7YDP3BWxeGgQblj 4YTHHT2O8iEd/U7uxpOqYXYpamop9CZijQG8/QUNmtnsdxKJNRdO2UvMYd 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (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)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::62f:from]; 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]; RCPT_COUNT_FIVE(0.00)[6]; 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-main@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Spamd-Bar: ----- X-Rspamd-Queue-Id: 4gWcdz0ysZz3JvJ --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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmW2r7bz6gy1y 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 4gWcmV5mXDz3LVl 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 4gWcmV5Kd3z1DqG 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmY6dNjz6gxsS 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 4gWcmY0Mhtz3Lmq 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 4gWcmX6xgVz1DqK 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmX2nwKz6gxqC 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 4gWcmW6gDDz3Lgt 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=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=DhcEFioBKgL8xNvUKnzgJLsAQr5FxDD9td/c7ZnGs+V7p5t41Rwep4BWZs28wqf5N+IT6e +sypCz3mDaI/51GeYlNaVilm2gFJjuWVQCFqF7LWK3lMF7sWd2vtnTuS8DoEWt3fAF4MSS wg8vr3cq6bKyuZEyrYXEY2e87YaNEiG37yOgAQPBvghcyerIbux+IIqTiSudDCnkt3SL4d qs3GGLIIq7oZM5irLZxU0TmCDbuq3+nUCg1LCEr5flEtcKeApU3nq20D0gksS1gFD1pBsC 7zrXELUCOyznOXh7HaVp+JMdTRAenFwinIC3orPOlZHwt5yZ9IUX3aXFgCVh5w== 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 4gWcmW67Ntz1DVj 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:42 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmb0ySfz6gxqD for ; Thu, 04 Jun 2026 21:15: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 4gWcmZ113rz3Lkd for ; Thu, 04 Jun 2026 21: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=1780607742; h=from:from:reply-to:subject:subject: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=RYO1oJ0LTn4azn3CYAV6G2RV2szYUjGIovNqhKoiWHWrG/IW9lk+/9Y31EV0pEPwOLxOP4 nyOGkVR9HdAyXLmC4aNhX/BmyuwZXvmBUY77jz5DQ46jj7cbc0KrEsr/lEBhrnaeG5bLCh 8yVl4xOG9rxYai6XJH2VIy7rbzE5ABplsgm6jBzDHKFizHBJKHunXpTqgtjj+U/aKqh1QG PRBt5zBdb1INYacXfk8po4ujtDpoGYMTa6eTVchfkuRZwnklYUY1HeSTqp2+1FGuk/RSJV YFAGOzbXe1XtmdPxjXEdWpqTYzCehsrI2joPoR+9MRh06VAk9CPh+5oAEhCa6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780607742; a=rsa-sha256; cv=none; b=IBcOlmXO11itUta1BCcPqlmOLj/4raTJ4EHWRbtNcqqVOg33J3duArQQCtW9j0gIU3KLIE ciWH16A/2jGeFZTP9VO1OMpmgNtiTcE926m2Lwhs0Tnmw1EFITjCHpejHwOxIkap7QKGPj ha9JUlz0KerD/IX9LOBPeMesbyVIDNxQvye+/ESSSiuxSw0VDe/8rwValjdh+NJj4inGmy +O5tM7OXbdurD5ByAy3hhjy0TZFDDoJnyDomYfWN5Wse4BoqZKvvzEL69KA+u4H0A2VhvH 6XsJLJG5/w9bKv1ingsBL9a+3/MesC8GDTKF+h0QCEWHDYjHXunv75+JtTAv1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780607742; h=from:from:reply-to:subject:subject: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=pJkkFLpmrJJDx6bIWHUMtOj9ELC6sUyNeZBmPQovBotbI0nQSonQJwtrHfABsDDH21BObk 16P3zfr+9sWvpx/+zCoki5sSXfRMtCL5zSnJzFkfv/sjxffDBjwpyLUKI+cdbWL9N/YxOD 1pI2dbjxWyah+ip1lQyEYbzXzraZZPoG4CCq9A5EInWg8yfeKayrkI7iSQ4+knEjobcFJj jkegMKX4WGD5ZVV5himl99BDUbYHKPDsu3Jq8YbIu4jzg1edWZDAlcw6PegPfYSIPWdEyX U1JP7hcTBF1BdqI/k45EnvqTbbtNR9TjKSrUYnw6aFaTEyYCRkFxdQfAbUqhTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmZ0cvBz1F2P for ; Thu, 04 Jun 2026 21:15:42 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:43 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmc01gfz6gxwB 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 4gWcmb1yq5z3LYd 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 4gWcmb1W9fz1DVk 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmc5RK6z6gy5N 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 4gWcmc2sK7z3LhW 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 4gWcmc2Plmz1FDH 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmd6bSSz6gxsX 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 4gWcmd3PGlz3LZL 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 4gWcmd2rW9z1Dmd 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmj53gRz6gxwM 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 4gWcmh5ZfSz3Lp4 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 4gWcmh4qdNz1DYX 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:46 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmf6LGDz6gxsY 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 4gWcmf3jG1z3Lj0 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 4gWcmf3JTDz1FDL 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmh0fBrz6gxfM 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 4gWcmg4dCcz3Lnv 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 4gWcmg48vcz1DYW 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:49 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWcmk1dGnz6gy5W 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 4gWcmj6FHJz3LmY 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 4gWcmj5j7Fz1F14 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWdrj6Xd9z6h2QZ 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 4gWdrj5nvyz3Vwm 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 4gWdrj5GMlz1G2v 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWfZx3zfqz6h49Y for ; Thu, 04 Jun 2026 22:37: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 4gWfZx38PJz3YPd for ; Thu, 04 Jun 2026 22:37:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780612649; h=from:from:reply-to:subject:subject: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=g/9CZeFKqOrR3FSK6VW435LoHdVwM7eAIPr9ks4Y9GdqIy2VzENJzOysHKYUOTZ6Pbtp8r zX0tOXeJMATPE9RJgKaMXufxu5pufUnnIwX6oNVGNYdDZgile5Y8Icv5M+r0GoQvzhTT/k C/hnuKYy6ed1Vrq5EoQIYxfaIZRN8gXTD2Jh/sWfeTp1xllUjdrAmEce2Gxv6MTgOa9tPc 1o/Sn5+KX7xaMhwbsa9zqPchS0H08dxTp+1Asc+1GrJ0Uwuf8BjItmzGaFeGmLnsRtB2C2 ZhcTvbZCOIH9EmGcKdeXDny4eApgts7n/QWI8CgyH9ZPr+Rt1HQKF5NkiBQcLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780612649; a=rsa-sha256; cv=none; b=X4lohV90e7PY03WxutdZv6BKYNrEI5UmUFtRPL3J18ahuhrBDjAf5t1kVwEmfXFBxo2iJ5 CILrdV9n1k63vEFyqVzVK5RMtsSVZMq2L0uQXTM6Wbn7SoLOvsh2XK+c9Ru71mphHV803i Sw4cA/vaQudqtcKNW687MLgVU+k4BVbuCgDratzJkLrAfYc4pSuQtWPE34OV+8GUzXgYXN 5O+h6EQZu2VQGBEFlkTQDc2jKxBq3TR5YG2KxYd7IbtIxilieOmflfRUtCcXntwP1/barZ J7b4csK7MHWUWGmSl2cgVD75EuZVHxH9DoOZZROjHrBYPkNAlhNmXKXVj1oO0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780612649; h=from:from:reply-to:subject:subject: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=LCQYXrfiw2Od8UyzRiAEqy+mpg45fc/ouiB9efXbA92VOadg3KXeNGV9K9523KMFHIa5sQ IN4mO2+nVT3MNf+umdObZ7AMJ8E8arXCpAnmuWQNHHN4np2rJh2LshrFH3R0gFz1fgn8fm R4AZpyCSdNbyaClcXI2ORZqFznNmqYAi1/gAQ7dSgO0mZ1V7lpymEv61lPytxXOFAphKGQ UMsHOzKWKKX27SX9TW5bYNLWVXLXJAKo+V6w98eFnwFENI8CtV4PiL0fRogGYLmTJ8gv+6 wtDpBVpBVOadj0pKx58qH+PkODfYv4Sg6jVYpEYBrVrDmMjqLR2iXnmBxxISSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWfZx28XBz1Gj9 for ; Thu, 04 Jun 2026 22:37:29 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWfh76RG0z6h4bN 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 4gWfh73y5Fz3ZM6 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 4gWfh73Slzz1HH8 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 Thu Jun 4 22:41:58 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWfh66F9Wz6h4n6 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 4gWfh63Mt5z3ZG8 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 4gWfh62xsyz1HFP 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWfhB603Hz6h4nD for ; Thu, 04 Jun 2026 22:42: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 4gWfh52X2yz3Z3K 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 4gWfh52500z1GjX 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 Fri Jun 5 04:52:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWpvY5Qv9z6gN5Y for ; Fri, 05 Jun 2026 04:52: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 4gWpvX6DVXz47Nc for ; Fri, 05 Jun 2026 04:52:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780635144; h=from:from:reply-to:subject:subject: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=aFBZUaFUQbyAezew/rdVTZibYU+pCJS9/9OQ7LlRBlPkKK1j4f8xzgKyYr1JvKYWdB7rhX 7LTU6oS+blFYWpmtGoG7PVdshSUpvVC86UH2i1EeWYC7mvpB5q+DZV7h2WKBlYvsFMMzub T0EzJVEWoB02WxvrzPlqzdCyXqyP8pfyfT8NpUIuhY0CTSzXClzE94WWLhSdsYN3dn1w2K 1C/O+MpAWPY2rJ7JNYXfjRfzoUWtQflBGjfj51C5HMxBtiMQ1JORAWARUguCRuPWuFo+T9 Ird5+Wi4m1owvSX+1uG0wciOOFNoCCh9dH8qwCCgxJbr6nu1OALsSJBLF+OgXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780635144; a=rsa-sha256; cv=none; b=xC2P5QqdcYeRYixit8IzOpCy31RbnJxaeGhKC2sVqjtMC5fV0Zje0fM4WDZjeP+crk3fiS uRxD0aZzvrRUf2Qq7gVJh5HCwP2E9IFeUlV6I2wzX8aYCL+xBC8IDLzAkfIo6zxwvJMw76 45FSa1zkSNbti+EfMAT1cfvFPWR4wuw1MZ/rlA9AkzBCK3NYr2f9UCPOulwetaq6SpVaY6 dseS/vjvdan0fJQkbK2iVtIvHfWVORN6Ze4vHXsdh6zjLl11VIinzVf3TC7cMhB+ctYu34 C242eSF0k+c8E2BZ+TaEpYDOQqXjV/PkbAHHXnt8sDYRERuH0hKGXn8gBComMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780635144; h=from:from:reply-to:subject:subject: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=Gqj93hsr6F+BXExTscOKvr0tu2srVzesAmH+Q0OeUlDL5msCUvarEz/G4fH7zx9ow5ldQX HVE2aG1N/U6fEyBnG/WB6nZ6LUhphvZkt85bhUcrMzuvsdQuxvLKECivOgTusw/zdqkdvY GeGWX16W2QvK+dHqznQFPxa1B7gTQB3ciTIT2n1TJhd1LKe0y5l5T4utwrRR3QJk2iYu+4 SYFmCrDmutDq2Sz/9sYrumTSlnfKddQMU5KmY/q1v06WriOk+wLPg95DiIFzXaH1t2E4aj 8GNj481MlA7vVhpoXEw1oBafWX9UimNM8pc/tbfXGRU7SagdOBf5KjCfoRxuxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWpvX5pz0z1SQ8 for ; Fri, 05 Jun 2026 04:52:24 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSX1GjFz6gT49 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 4gWrSW3LzHz3HV3 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 4gWrSW2yyWz1hZ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSX6bmvz6gTDG 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 4gWrSX3s7Nz3HX5 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 4gWrSX3NNrz1hb 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSZ0RSdz6gSwk 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 4gWrSY4kHCz3HZb for ; Fri, 05 Jun 2026 06:02:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780639357; h=from:from:reply-to:subject:subject: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=VswBYjEt51XVs20kJpgLPutQmwfvFUwDiy3oXqAJNkoF1OffNePU/fOBByKTuOZyO+ZM1S MK0hsSZ7j/M+LJc7sf1uN6l69QiSEnCvutHlPSbolonP8RnMJ0DSYeErPuUwtLB+vNlG4z bEeEXNXu1Im5Ves2atjThaupM+WuoYdmVYOak2zzt2AQlD8QYLcyV15QJIscOBxpA6w+mK C/8ivhRPBq36yGtO8TQBEvbtpm9r/+QirkUPhyLzjUdJ6Y0U2uW1OHlZq/AIKWhDf9zqZd L3X9ARGPTfytrwi7LA3cBTIYXmihN9ETnSrTak/kL3Q3wy8tPY4Zxv+GUP6+YA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780639357; a=rsa-sha256; cv=none; b=H53LdJFMwtGLRBODSIebl0iYCrUj3FqoeJ40xbnxNLYYVo2QWmyM4jFlRf7GkCJjjJmpFe 1svHTWWBrFyCTmlZSnvzhogQC/NcHPCqqCJjR9LwDKqIf0xXI5DaMEURerm1Fyqeg1pOOK 4SIRpiEkKkwyFHysg7cBnzJohvE0b3wwAeY+gCNXhvvkkArROd3v7gOGVVu9ZOjqy39//U 9j8ihRmx82qGhHQmgPiAn1dHcPcBezi9m6WLm9BF26dbllZDVuYJFcKpccb8PxolJXwGoD kZEWR6HYsKVk9yrXE9/tbPUaI7HA/E5KhfMr/9590ZlPBN5WQnQgzzu4HbKYVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780639357; h=from:from:reply-to:subject:subject: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=OPJt4mkUHMy02w6Mhd81k0XTSIifL+q+GFxCWPBqHLHl55gi0uzcKrRjxSogi4ikrWrHcf V7DmJLMDEq2mSnvBD7tn4wNRWIUzVru1TbbvvihncM82nAIsd/FO4Sq6A1Ap1ldMSl1b8v 9iZw3ZlXwfsKlvRLmK/jLK3M5ID4LxtNLxQ3Z/iYH6hH0nlE4V1Gpo1cKfgSX7fAw0L6Fs NiUtX8jTRpBvRy/N1VxKmm86U+H4U4e0W0aAUVfPfYdvDxjEGT97uuhM751PgBbzmSnCoZ Qq/u8bKI6jxCaug97y+eNOH9a/o9eaR5T3TOEA7IXA28wt5IgILgGR5E3Xeb0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSY499Qz16W 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:02:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSZ72Y9z6gSwn 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 4gWrSZ5jYhz3HGr 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 4gWrSZ50zwz1fJ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSc3j6nz6gTDM 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 4gWrSb3rhlz3HXK 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 4gWrSb2cQhz29S 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWrSc3hm3z6gSrR 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 4gWrSc04MDz3HPc 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 4gWrSb5qkjz2JP 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:40:29 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWsJF4rqXz6gXSk for ; Fri, 05 Jun 2026 06: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 4gWsJF4513z3RTw for ; Fri, 05 Jun 2026 06: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=1780641629; h=from:from:reply-to:subject:subject: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=S6wBxOdzjpZUXiICWkF9+hvg90N6qUBPdsmnBb86IgfkDvJAo8DLmzPHjz3Y3VhExK++7z 4wiDq5reWfhumUbT1IXJMeE8d0llTMjWf0K2rgGJCnlfUMYVKs++qLol5KHymfXmua29Rg coOjHAVsG6N3jenWohb853oT+hRB+2rQD9KnDfc1y1hfJ7dCTRpT3Vr/OCewScMPgJausr 3wgQeilyGBfT71jPU5rA9a7avbfg1sPBZ4Vqf10+GYz7/iNsDbMgOYd+veyq+c/AyfRS7d muwUAK013gUsSi47QbLcjkU6949cVHIHyYSV8hhXe0tvslj+e1VjHNWyLi3kTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780641629; a=rsa-sha256; cv=none; b=ep6qmIehc+L9hoMryuCA7XNNTF4+DBM2lcP51aSTB7uYBLpmHoi/n/NSY/5NJc03bUHGmV 30Mjispg3qHQ4QNw8MCW3l51432QLLP+QmdjruOxFqAv7wKKP+wAl1EvRd3QH8i2dcz1q5 SzNouT/daO4yoc9UwZyvDK1UOiDBD+Yu8/xonMJFyh+gG8BLb0kwQ+AP+cPXpM4kHjwVCL +2kvf9ihu7iz7cVMUqQZFaxLyR47BbWwUT9isqA/aU0A4FCUbobxsUSqNefQLNuFtDVDEg LI+rTrSA4uLWQjIEeGZgvOmfw9jnemZ6aZZWVwhULI3Dp2B+GfE6X3bnm/mI8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780641629; h=from:from:reply-to:subject:subject: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=mwd1+g86DVFtHN7OcXsDQgVp6c+EnfRtBNQKctJAmRQjDxQmRFZUX+nBiAqhZ4Dc+UorV1 WiRqpKABiIaOzE4wnxSARL8xOlJ15i1aztUkNk92ORt2hLyG6pDzciRx3oUgBdaO2tCtmw D0LGmq8MO/D1nilGo0UupezesxRCx5puQ5QrGs20CIbpsaVomWH0qJJGmCPhtTFchvaQlX GYh2dbRSWjN8DTBZvinsUrrEDNmGTWPijnRDfyldcv0MsGuBMnjvOtTKsNmqQv1o7v/oBS 0cLcKjYGq6Hbr/hztcsl+4lxfd3yHvINdrAgie50gSs5AnPLsxL8aq2hkppKpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWsJF3HGRz36P for ; Fri, 05 Jun 2026 06:40:29 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 06:40:30 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWsJG6hW4z6gXSl 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 4gWsJG3lxvz3Rcm 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 4gWsJG3HL1z37j 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWsJJ116lz6gXLN 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 4gWsJH4Y97z3Rnm 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 4gWsJH487Gz36Q 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 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 4gWzSc4TNsz3vq6 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 4gWzSc3vr6zBkc 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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: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 4gWzSb3tZPz3vnn for ; Fri, 05 Jun 2026 11: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=1780658287; h=from:from:reply-to:subject:subject: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=WNgDmCaImY5wv0um5D2GtyGvrcn41IF1MaQUxO+DEcz3rQ3fyd0HIg3lLFpORVdK+TjBwm yIpPA35UdQB6vxMPdgSWSleooRSNX1nkQ+aeap7NUIbYTrJkY5RJBvqkQu/l6xTVxcFzJQ avQ4YhIIw5w4LU1ZwsvhkB/mIS7sN/7R5j1PX2q0H9u8pQa5CKXTCvPM8bxf333qTglZMS M91xE3OW12R+xJM80Uj8Y77EacqkS1iPR7oa9MssCQskQAnTYHO9FAlbB+C8fl/zsfLwWR JXoFgmygUDm9P3n+hizjsLTN3w5GSrkxUYXZ5Uh8TE9E+7+yWh/ybxb6W7r2CA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780658287; a=rsa-sha256; cv=none; b=hwfhLewv5drV5G85JaQnsyW7ZM12j8RZZWiqI+LJoK+z5OvUFm3YR3wBrG6/b//QAakr75 qiJYB7jz1CE0+tgZLTuZLhoB8CllA61/z/e0jU3VtovEmp6jUrhSn4tx22AVNL1L4pM/Zn C+qUxAX3z+vAaHEWSOfzqfq8LyxNTLiM+vuDZ2LGHSpUSJYot4ZuGv5D9xCeTy/mF3fpOm 9+IBkAAyE60LutEuyIwtPaARE7JTxbqfPrRVz2cQ58GV/n4yFdEIytIA8isYTwQh1+XFIK 2QxwsSQJBZqO2zmpJqnCkbatgit1Sfg8i0O5a39TQbJwOGzRr+4j3AjQTbs8Jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780658287; h=from:from:reply-to:subject:subject: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=vPcrkqZ8idIuncD/Lnw2is21Qn/Hd7Uf3ex2k02T5GTqTGAHbzwSgNllFA7x0NXVsAY2cz 7uAtY7qqAHBw1auWTaA9tiy66p5XmIscTgAwy87kElW0RPUBtvdBs0AJ+MpShl98lWWAP0 vOv2nes3RrJh3eJ8XRqDU+/G6/RCyNGQPRLiiSwny8tw+Ijn+T56oOmUPzpXqIUVDum/Yy PUsyVXqKp2DCAon4iCl3WspPyKNihW3u+NpLBjUDymW9oItedYho2xxgzslmAraWX4izAz e9KoAzHj7vq8uS3kAvVgnqfX12aM7+6uMcvHS5MUwbpp/S7dkm+VG+yju7mtIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWzSb39WyzBkb for ; Fri, 05 Jun 2026 11:18:07 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 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 4gWzSd5Wccz3vlP 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 4gWzSd4htjzB6d 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 4gWzSf5xB9z3vq7 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 4gWzSf5WGkzBVn 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 12:10:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX0cY6Kgsz44Wf for ; Fri, 05 Jun 2026 12:10:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780661405; h=from:from:reply-to:subject:subject: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=b50NTS3jL418ySY2jh620ffkgDMfabuesdFXBW7w6lmTH3Ck8JKBv1iLn6dPW3TgPyrwvI If8Cnabhs2HaBokyfCuLGNzqQcsRJK18WL+9CEatQvZW3o4sJIDKM5iwsUwcUEcKhOt44/ LEBCbmuLnpGTHxFiQH/x2Fq6xXpWhpbs0zXltGV1AmmIyiRAhgh1kYco/DLPTOtlhrQ62A //2vMPSW0ZOGesJdVt6xlP9TO+b9yV6F63A89HjQanrMlJwYZkiqUcrWPkVoohuhQkTif8 dHA6tNdG/Q0AaSBCAE3xE0Nl/nZ9TRpOz0BkAu0Rhfad107Lfl8m8e//QE1wCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780661405; a=rsa-sha256; cv=none; b=uub306d8XWjbRnVhHyGtU37zMi1amQteb97tQuqh6QsH0vfAIF2+AqUk1VGoqCuGRiXmDX wqs1BTKs58OXaksrawVzjngDddLpmCdddvAcDXOg7eNgriRfWwEpl6YnVwOrRWlJRljHiP spThPSywdMZ4Hk6Ds+e4yBz1GJ80iGopJuEl4pfsvq31obG3V0lcuTSdSuttKe6S61zix2 3jfenBsLDsvx8ob3c/wA4YcooBGKLK1rOuMa7MdNTpMdTDd5l1e7uYPtNdFxr84KgL454m UYnnwr5l+VYAAspAgm0HxDwCYT0P7+J19+t0RYdUevsMnCklgM6Q6ksIibV9Ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780661405; h=from:from:reply-to:subject:subject: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=NUifwVTdPslY8wtnouHi7sAiraiDDTR0G4jzM5X8HhDFtNFfrCSXahgcfgBt/IUYAyJgbK O1nw/9cn8yR2kiHIT0yTnswo04f84W7ISUcSnBhAnpaZJ6Vfvm38IoCg6ZPeLIDeD5mJ9V gef0AJLpmQ4YdZMF3UDNnYZtzIInokCFuWWsCom3foM5rnKE2gzn3Ud3ClwKHeUhwERqR3 JNwnnref3zRHpYrDmgIL9z3gFZ7z01kO69Pz+TvzT04a71PjpUJ+OsNISkvWyDho8H84vi GJDdQN5xRn73DK8nnUL5yQZ+piE1Rb4u1TN43WgtOwczgmURkYgvamSpZMSEgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cY5h0WzCnl for ; Fri, 05 Jun 2026 12:10:05 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 12:10:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cb0MvGz6gy3F for ; 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 4gX0cZ6HKxz44QR 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 4gX0cZ5dfVzBxf 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cc0gfhz6gyLd 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 4gX0cb6cgxz44fN 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 4gX0cb677XzCTv 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cf2X7Dz6gy7b 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 4gX0cf1GNzz44kd 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 4gX0cd70JYzD0j 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cd3XS7z6gy3K 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 4gX0cd14XRz44Nr 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 4gX0cc6ZzszCTw 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:11 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX0cg521Gz6gyB0 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 4gX0cg1hGTz44kw 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 4gX0cg0MjPzD2t 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 13:15:30 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX2423Vwkz6h3x7 for ; Fri, 05 Jun 2026 13: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 4gX2422kX1z3Kjj for ; Fri, 05 Jun 2026 13: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=1780665330; h=from:from:reply-to:subject:subject: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=RPgbAlO3E8uaIU9W0Cu7PfHRgzf5w5uQhNJWQbYEFuIboyVhOV44cTvJlc74TvshNvGZCc Ysf4a0kjCEZ3JhqkmdOnpoVLAr4cmdOiwA5H904/rSKWVb62KsQrQ9MTvodLNHHfPSVELe E/ocHctRKTQ5DUXGssHhifswO0EoDm2ycHyFuDyxFGVbMOg8h8lvCP3vbNDD9ni2tv0onb 6IQT0SvNtNIOztjGKwhIX0AWKwvX5CLHndIPElRFkce12OnrURe/IzT97l1LPmuAImaE7J p3ix9GD9zqGzWKf/m9srITt152WmRwV/Hmn34XnyVbjIzQhmfIxjV9enDatI/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780665330; a=rsa-sha256; cv=none; b=If2RwVlTUFL337fEbAgKLy8ubnMk71hm9UQXuux3f0IJWHmlGDziDpkMGp/8/lXOaKYtm2 /vDvYeSF23IKVQJIrb+jiShVa2DZhEV0cMiKmvcy/3+umBeJFCILiOsdflm/bRxi6bcjuc ZvRJ6TOpdYxQNohkas32lPhCfL+VzxcaMZBMvn6w29PQ2zz2wgjOEVMYsB31CD8k+spZ9q Rhg9hVURMd4WuKH4JvshES/Ag3ZOSDMYehHYa4T33tvQPMQZhnvibNBZBqmQHwaRWcl1j8 sc4fol9JuZs8J/YDxhy7wVZMr/s2/tLQdkDpSSg49kVOO58/b4df2ekDKabAZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780665330; h=from:from:reply-to:subject:subject: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=iNuE+UKJCpuJFK4cYjMnjfdeW5zr1Z0cf75rejUpT8DA9dwAiv+ufr/Y130tPa+9UcDpmR W/NgnUhwyastL6p0isztH805Ni0a89aiSx+Ph0YGiNLcKpsCPVelub0yN+9vF7Cc1+zeDA huK/u2cRnUrQ8STNZMrRwRPa5WilD7Wct4EKXXvQMYHVUgTwaJGdmvGbCFvhfVR41J7Vb0 64EBU95a40dYvexAYjVhgoYdNDUYtswMu2dS/drCz2TiQ+mfXLgCPTVhW7xgbua4fIBSEH NB/dLq+ebQLKdDiUNwYeLCeS2Jowq9D1I7oto53+qqv5sUS2fj0E75ZREw0s8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX2422FdszWfY for ; Fri, 05 Jun 2026 13:15:30 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX4QY5CHxz6fyWm for ; Fri, 05 Jun 2026 15:01: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 4gX4QY2ltKz3hkH for ; Fri, 05 Jun 2026 15:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780671701; h=from:from:reply-to:subject:subject: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=TpJkX5LD1D1IrE+BiWDFh9GnoCSZ7QqIjehmQuqWfGAAcHDztzbPb5HYRr7bU9xkcugR7K XTSo5IgLkh63lUReRE25NYMgwH+Y9OjkzR+DretusCWUO1nhMmk5CgzjnUFKVkor6PySL3 ZgZH8CXT4jZxdL3GwNu5B89RE/uJn5ebo7auyweYy47j/2EhjbnsQaSOdyL2qiTeYrmX73 fhmTjNYL9Vnu1KB6zJ5hD0H3YuVXPbIILp8Bm47IW/MYgseKv0ka/VN9Ey2gPam/4wclu1 3ui04DPG5nbL4n15OeYWNk8wS/MuHnA3fTNS7orm/pKkgbXkMfPeFyO9TCdcVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780671701; a=rsa-sha256; cv=none; b=cvJdopNb0pL8nOVfzmIKmqjeCAi6lqUN5uAoEvw0LbycRvWgRqKbcv7xn1BH4byAWB6LcM nu+o+/Pyx9pMlJbQA1gtvJbxfsCKo3ogoaZMQsCbBNjFY2Uzal2s4sc2Gj/xC1LwHKTJUq kcVHSlOEqWkZYI3COmLHNwm5BJm5den+VwUPlPM1KzGuhkqdbu8Jqbr2mz+qYl1TFpdAoB jRbOQum01A26G84pb6gsp6eeYiVEUON52ISzxsvxn1jEycOPaKe8C5lxnzABzqaTo54hu+ sF1oeXQQobAm4Yk9llt6n4GLFMjwNRvdJ0QMPSrrro8TF++hDGPA6SfAFlovLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780671701; h=from:from:reply-to:subject:subject: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=WZvekumR41ZJlWrkOoahuPaOWR+HHubTIKwgvNcNXd6UQrAX1s4+KudJrHh7QYkvXMF0+x JDgyt1fUfGVV4iiS3OIZnp0zvW5xhoDypdOqPFyOR62vKBNpjV0QvDsJ84gXDyzFTKVMj9 bU23vnrVaZxOwg6PQt+8WHM5zIuPCGKSJl8RveDzal+sMat2TT3PvVxfxLDIuVpSF59a69 IqgqzKZtPBk3NiE94FMl7RMWPIEATjoRHKmnSj6pche5acBXjkuC0hpvmBdis3JbDj6VzC UQpEKA6eigkP3N4wUuwXJqXhBF6tNh2MkakKsiyHVmBQDRVKoeKWbOiNGeFf5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX4QY2BrTzbNb for ; Fri, 05 Jun 2026 15:01:41 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX4bw6hQyz6g0Q5 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 4gX4bw5L7Vz3nsy 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 4gX4bw42JyzZwQ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX4hS1CsFz6g0x4 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 4gX4hS0N4Hz3pmx 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 4gX4hR6pVWzbQD 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX4mL6LzVz6g15f 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 4gX4mL4LrTz3rMb 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 4gX4mL3Xy0zbQF 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 Content-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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX5ZS6YMxz6g3y1 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 4gX5ZS2zLVz3w1T 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 4gX5ZS20m8zcZw 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX5ZV15q7z6g3y3 for ; Fri, 05 Jun 2026 15:53: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 4gX5ZT3Vc0z3wPd 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 4gX5ZT2tsbzcrv 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX5zG4hQ0z6g5PB 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 4gX5zG3rXGz40Db 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 4gX5zG3PFCzcwK 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX64X6sY0z6g5k4 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 4gX64X5Xq6z40rD 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 4gX64X4fr3zcwY 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX64Z1JPhz6g5k5 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 4gX64Z02Wxz414Z 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=1780676174; 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=AhWUeuKoXN4MfsUWQNdmgX6Yjs9vO4jUPlxCg9MQtnqa9CoC9FXCzwOQCYdLi/Rl+waw1r vZH+sf+Y0seE6aJGy5Tf8xTZwzdtxJKHMfblZgGEO98K5oEa2tAtjYDwnepb8MlNbML0Wt h2W5mPccQ4AgA2szgfAjmNznHp0PfILY5LcKDeFcR6BeYXoDKnCNmuWkX6FGaPzCPdzRBl Ori4aDYb5L2l0kmSYUjJuz/kzKjCMii3p0mn9giiELc2jqiJAmsj7MQNXxksVBFHQamS2b yUfggQ8AoXgpNr0aq3xyFGcS3QLPtos/3TaeAGkgfrPx8JO+TiKcwHp/xmlLkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780676174; a=rsa-sha256; cv=none; b=xiGf68PJMzoHlA3g7J/OOXsSAdvedfgOsD7bb/wUqt9HXC8bl1UXtQgGekNWfv76MZahfd 8tcOMQCanngEWmyEEDVJYvtITxEscfzJHLLROA4+igbwyxWZPv9RClMNvbQgPPDtjOd7Nn wk9mGcNWv/yL36FHlbR80ReC9qhfUDZNCg7EFMbOkq+O7603w4g6OEQq0eYzAWE7OK60L0 3P9VB8w3JfmvMT9L2D0tKckenkBsPVfNhsJlsORmgJUFbM/VAmSOtbZTTGUbcSZuRkVsEn +cSjcM369wUiufXJ8MOJ5iJciUFVsbTas8lgOnq+zFgw51FHaBnVmdVon1ZJJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780676174; 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=Ojn2qKrRsAlR6ee9HNyTiRdRsLdapL9yh0BO9tVfoV+txVuC2rjNx6ASzszP8FURTk1KO8 V/eCg8nxFzzSd389X03Qu7Qu4J6vSCT/MBu5H7LjHdsXUYWT7K+e6nWzqP74Daf5dtvjHg v5CwFhbECTK/VQntrqcNbi8j7Tyrz6hm6tRUWyustNIA1OxZvEyPDkIBi+eoPQN6Q2fbNL bp/g2mt4xSGzGyKcysisTKrNa36jzQGlTSZU7OaGfOVWqTlK3oQbK+RzaeLuwvrN5lTEHm 8mB9CTdrU9cmrLvY0A5TMojsmuacv0GjN7F9S79T2Xd/nhHKcOq8oIOL7eeV6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX64Y4tY2zdFw 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX68S6sSyz6g5lK for ; Fri, 05 Jun 2026 16:19:36 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.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 4gX68S1Sc5z41rV 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-f50.google.com with SMTP id ffacd0b85a97d-45ef29c5561so1194492f8f.0 for ; Fri, 05 Jun 2026 09:19:36 -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=hUqJ2kjHkzZ7DHl+lhOYRLfBbclX3rK0fT1UhhuoihGHsiH3eyzi09axCJeoEdufd1 z0FmvIgNukmCmLcXN8b++uHOlkD6JYwgCrLqDB3saUVz2glhfGnSakOeKIHXy5um9XAF Yd0jx9n0fkErvQZIYWXSJxWAzhdtdKuzgn+posHs9566Ci7duYoBvzqG9kcaLYpQ3B3/ VFkLa7nmpQEFtFE+bR1mhra5O4lHeTX91bqph7x4QTdNpy/4W3wgF04gF1e3MAApIZGr OVkD4pAGcyOqra1AVLqnn4b02Wt7IXnH9Ia4MQeZWo1rpw8gjTMq02oTIcAH9/8SAi9n UcwQ== X-Forwarded-Encrypted: i=1; AFNElJ9d6if9RYWPxFzXK8OKv0okis3XMwG1QCY9NxBkbPBdpYLGZzR7dGbpuR4AGYlfDaezSjJG2aG9u2mBXRyqUID2V4nlFg==@freebsd.org X-Gm-Message-State: AOJu0YwwO9pGqSPKuerNIYUWjYQT3QUXcYboLNbm2pE1nNQhaclTLurh F+csPiIy4NKZYMsBnzk0gdbh3dDzjUltVEAqey5RIrVXx39ySLzfGATrufCg5rx2G8w= X-Gm-Gg: Acq92OFAiSYGWr/8rAWq0zYyWXk6/chgx2Z1UuKaT+Qx4nZeneqvDoxBS+BTI/zF02u 91oYfZY25ISEYiGdnKHP23f/UoWvcwgQeQBmUitmw/Wm+OuW7EvAW/8ffI1jn3tZHty9vIi87y4 CAkxHaE1WaESMIs8KIteagJjWaKOhf5A5S8/bHDsx59dpDdIIu5h44deeRGiRcK8Ok7cIX4FKQp /VFz3RWPEOpO+ZiQHbjXD1Y9CMwXBcjqCyuUDrronpRO0IR2wjh3aa4LpRnf00lR7KP+3JJjQ1m SJYojYYSJjziojJIk+qHPVLwQ0rQmdlOn6ALv8Y1TM9/CIriiG3/V45t6Juas5C3j3PvE5NMPn7 QVdWkQBnEW2j5Dy4jngOyV2QKsdd3/XANw4ELP97/XBtg/zIRRFTX9KeiHcUnnamrNf5UwLOUTv rkm3Lss++GnyNio8qb0VJevfUL3A+lxmgNfxat9OFlcEhFojmj2qI99CnUprlDhlZSQXaSliQof Df14g== 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (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: 4gX68S1Sc5z41rV 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6Hh3JyDz6g6jW 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 4gX6Hh2DlSz43GQ 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 4gX6Hh1s1QzdK3 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6W46h4Cz6g77j for ; Fri, 05 Jun 2026 16:35: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 4gX6W45wKBz44X9 for ; Fri, 05 Jun 2026 16:35:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780677344; h=from:from:reply-to:subject:subject: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=FRFxBEaSYuaqEuTWuVvSaLemwoX8i1+wMfh7FbO3tt01NYdVYnEQIQ4xjOwmpCosboNHLl N9xHcPUeWmXIcZT2k88EX2Q7LNIZvXBILU/AQx7aoLIrCBoK+KJFPOri+HNOQLbOy0rvHK cQDieaGNRwiHUrp+7tJmfXksUOGEqjWbujfbA1yCyZ6emK7hzI/4Bhm45x+xnFaHC2xrKa jSvf7oK1b6ByQhLOQv3JSmJa3R4bZU4QWfltUTc6hBaHwqBZ4EOaau6nzp3bKtpHVc2mzC 9+zgDULw4DTY0xy6Caf9C5uH3KaFP/NZsx2ZNcn4FCqzSXmwGO72X0xq1iUtig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780677344; a=rsa-sha256; cv=none; b=ivJzaceU+CoXeedMIQYMtWBs4DTFHSlgeIQ12q7qNfrKeJS5X9o/+Oh4CPjeVf/NQd/+Ta SCXZDxG7nbAsNhs2bp0FtrlAq8rHa+HD1WzbbLjuUSBYUEj+d5iPkhmky6N9NwZTftpXdP i7u++DVfnxGvv1BMpbhwnoXaV6WvPvrGMh/oSWh10xY//re68KKshvCb7S2vVpIV8T+L+c Wn9KB7JbWFOmOvyMXMkuSl2LebqywBCEjOLk9dT60yAlzEIL6ONX4P/X+KOl3GCdNCdcW7 XfHMrPecRvRdicNhBIIo1t988t0EJtaM/PRm9FdkrKd4Fvb1m9v6as4xATrKIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780677344; h=from:from:reply-to:subject:subject: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=xurDOczWBZOkPpp9n5Zc5r35XhppgEsfiRMe7xxPUUmjB6hMQmt0LNFaBa8bZEACtvXlQl MXg/UVHUIvKsDtyCVT1HRhXyQ/Pvi41cpN0NVOdmMzkvzXW7ATUQIbg//hHEE6NRDxZyGK sn8v6lGrpe373oU/bzEnGVyK/ssxmmaM6nLUL7KujOC0KqFyj4jI18Mn0h1/drOYWz6yvr F/FpRz0M5hQqemZxG+LxMr9tb04XJiA8bw3ds+T6gkTH5DAh4Na3LF32lCE9V3AxdtEit4 ylAcSTvNzCFiLPkuvGSdWR0rxP6zMyFRTbJbFyXWWSTYPnylPbtOv9CkADopCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX6W45WygzdGw for ; Fri, 05 Jun 2026 16:35:44 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6mQ0jplz6g8Gn for ; Fri, 05 Jun 2026 16:47: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 4gX6mQ08Lcz466y for ; Fri, 05 Jun 2026 16:47:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780678038; h=from:from:reply-to:subject:subject: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=l/3RQrrL4znvJgjtxmRcW5USqT/FnapuPO2PANqp/QmsNA/mx4LCzGL8nJpIeNLFkuW6Kh uaIeLL6j6TTYGaQl7g4s40OP0D3F5lPXwICSZXX0QDu2RbyaVqQ3mAiXWce5IwkZxIik55 kWgYU4zCi5KVQOfzKUOM84JiMK4FxgvDtMqtWpZVu3+O+aywCVgztwy9uyBiJeh5v7e5MB KjcJ2rJs2lZdnz4F1+sV8bQtjJQIGWDsWuTXFsYWdedF2XW98aVSdCLLPOOoeV0o1pvcfi 4S6a8IkvZkbxIQHZVLp8CTRkM3Tel6ibt+VIAwxyb0tyF7R8ZUOuji+yiuCXaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780678038; a=rsa-sha256; cv=none; b=j2JLCSwQKYbT1IYE4pFl6AyW27PJvV/nVoMeUlcblxsvZRyoEZq6vrkomvfMjB5P1i9F94 h9cwh8S4J+iAG9r/E3ATOQZ9G0lkt6qQRq2mgzU1t+kDlQZ0FF0DkptJ2hnpLoehi+tv4T VexlBVfO+SehFFEtSz0L5iyqVfSmbecx1YHo/3INYUzAwnshwa2r1vroxG/uyaL8wg5wqO tljWqO5LDFHzuURAX/q/vow9wPyzLBsy7TJ4psrGtdxZuSY/1ioJcUQg+rtRFSJJBi40P3 MGBuzJ+m6GzX5OsceG3/qCj8xhOXxM0RKT0Wa0vqS1DNKO7qx8ng60lfJEkU9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780678038; h=from:from:reply-to:subject:subject: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=DYBOyhvBWo/xA8apvJia14QB6Y/fOO2gHiO8iwRhs38oq52/SOqmvw1lait75c633oWs7H FDDe74VjH2TQN+z43UoDZT4/wBdkoNNxRaS5WnekGgPvj3wd8kAhNR4tcN5Cw4AoBMM5Cg MzdMpQujg7kd0mH7DNt6ltEr3E9YhyYWzLWWWjNFV8q7hgG5LCSqhgMG3lq72BHvaRNoNa EpGMFggS6fnk6IKp4QxoWVM++sCdVvilpY4CQeJuwmCFg0mXbR6MOs03ZULG85ZD55FEu1 yfHPCSWWqHaTVfAkHWIo15SJrTkP7hiKpqSBwBRE0SjgW73WHWDD+BROGpK2bQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX6mP6qmTzf6D for ; Fri, 05 Jun 2026 16:47:17 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6rg5FJ0z6g8TT for ; Fri, 05 Jun 2026 16:50:59 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 4gX6rg0y5rz46Nl 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-f47.google.com with SMTP id 4fb4d7f45d1cf-68d232ed3f9so3512106a12.0 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=K/wPSYvlHQmLObks6WpjDVy/dmhPlq2h161rWr+yrfB3LSy2B98ybtK1UTMnRMryOX I9HLeCLr2zzmM2bW6PP2mFkvSzcG2Z7BXCnyyQQJO6AiU1oE9GdqMb2VopCJItCyRac1 UrPvpI7P37UD0TJguAZHxF3bJgJBnRaCZzAem/82j+Cziebo+QNrPvSFA0G1/1uRaZgJ +NvAmCvejVqT/QXrIWxjD9/FK1kMKrUmbTfT30/AOydVjnVzjjLl0cYhY9JFnZWLAMqU aspeWqvCXpntMz9j7bJOxvFHLAjY44M5A9ceCwA617qtZYWOlRch6076p6/DidCBSCWN RS2Q== 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=N8lNkNIEiT9hyDGZzus39G97nUyrb7owhD9vQK+NmWw=; b=EkDx0dAfdHbCERsoXftBQvSMACHUBEBNPbyXLnP4zahWVVFU+kLRfptLys8NZzjvWD 24htfjLswzH8o/z2OYSCXH1SbQ51Ttdlv/054HcfOdrrf8sDg0gYAua/TCIcSBARrg0X E0bIls0DPSYvIk016pXXz3zssLOeva4mDdp6RSFpdOkGdYgR27OkGrK3UQNzWu9Jcld1 JMWbKDYDUhm+z3yWx45MZmYiYHlM2e9ZjIXEcexrAv88p/0n6onvJBm8Wh9lt+NONb1U YPNOAckCNsAAZJEhGHUD1DFsZTeOe/s6Uzls+yjl9CqY3U0xh0izMDx92XcgbujflxpN ti7w==; 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=hxBFbccjoVfwOGSXTvbe5LC1m2UDQER+iCFviKertF7M3scYsPzPQshLlMkLrTkPLC A07osDM0jCpoP6vmadnN+6QgW5biKlz95QOFqOlP9xfPjnO22D1mbO8FXmXW/RJ3WJWO U8Z9TKShgxEprq3Q0JHFxdQtbQmnGVDw7Zr8bk6DWocEImhjtJempDgTeFbAz6ah2iRY btrjUEU9e7naSkb6PVbKOaIz4p2MWYD7IT2GtxBMaq3sVSOfFA+TUUKcVitYHUN+ZKBp /7W7cilbzhCCmleZ50xoVM+AqD+ooPHAqQ2iSXWj+9S6uHYmGtJgJImnqxT1BRq/rg50 g7sw== X-Forwarded-Encrypted: i=1; AFNElJ8gw1uzwRl+lmWlEMBIhQfT6A3LTxlkSiPmnx56uk25Ttuv4rmarBuyLIztNTQ0f01Y0XgnaRt8sV0RtSUQFf8a1FA/rQ==@freebsd.org X-Gm-Message-State: AOJu0YxFJfvOWR2jroeRKcXxSXVRcaVTu1oR8UZfVm3Rd9HLGj6SCUt9 OzAlTGzF06PTVLIstD5AyhVJqz04Nfga64XnbMNx68F4UUkKXb21g8jKLgddPvNDJAR3jqCcqQ7 AGlLr+kKjQpWg1f/TjNx2OvhFFfNkv0P+vA== X-Gm-Gg: Acq92OH1q2PiRyWQYNTEwbg6ZacVEDEyCP4KlZpgP6oUXyup41fec/6J8H2oj8hZ9EY GajxPlmiuuXMhPy9s4lPSGfcc2FD7haBfTom61G4Sdh13Alx80j1vjUZyGc8WMkDrR3H1qu7HDz 4b2qFF+3P3weXhoa6nQFfF4Dc4j+j7LGpZWuXlwCK/MmGXAUU/gWPygcvpYyaoOwZaTVxYg9iUQ 5jxuN+Yyz1tiBLejAQcZhMAvtDZPPmtXjSHFba9n1Iq3vYTkEGtTQ4qO++7ECJmwBL2pGiCxUGs HXtaAL9M7aqsjGEYL4bEJrJjTAwzaP1mCcD1Bg4z6yQdJsPM1HQJY5ToMxjElLPgQ2knfX6/0oO qtKM= 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 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: 4gX6rg0y5rz46Nl 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX6xS2cxjz6g8wS for ; Fri, 05 Jun 2026 16:55:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gX6xS23xNz47Mw for ; Fri, 05 Jun 2026 16:55:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780678508; h=from:from:reply-to:subject:subject: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=XHJLSUiX19/DeZ8QCnZJ0l+ptgOSEmO/Awo3Zj9SL/XHbg+Yjclf6b2lkDvG2+GDkHzs0i Mc6nT/UnMIPuppflN9DyOxpJ5xQ6u4apUWjoxOq/BWOaMokXHM9gqngB0ApqH9/xDAUz08 WM+9YDPEqR6pVObe+x6m2N+fGDOvL+wVqbGSOC+wJJmrqK/gSD05z04haLRax9Tz7VsC7i KeuuavQixcPCmkJp+2WvH6yT8JXH2uFwlSCGoJSbME6XbDMUGR14rU/p1+NAkw3G+dgX83 9XXXf8GS1aYm3k0UNWG8peW6uMcru962MbJBmPj3UlfzBABMJHZ32wnQm2yj7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780678508; a=rsa-sha256; cv=none; b=mM0uBqeppWZZr8nNKIF/+23qeWWRR4iPKjPDhHT7LBM1qK3yGiVaV1cIQ9IL46Ymip/ydB HvGpI80jHjaThXppNVcY5aPhZ9mxpyrGtYusB+vGfM7moLoqw1pheLPrm7HP/tzlatBubq fXhlQ5KYAICb0resuKtMltdKzyyuk4OcB3RcsLc1xOoPKU77VhxD2q/rUxtPLDKns0mQAv STyuN8S+v4IuBo9d4/htIPETJLhh5PuBMlgJMGbZsznVD/zcWGSwatAUK+T7PxMmQQUK3n uV+9x0G7fSC8CMz+iyeiph6LjoVji6fIoRazwzHXYLES+KtQGQrw1qIKWSuiQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780678508; h=from:from:reply-to:subject:subject: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=nWS/218blGT1qk8Q+WjiCgKKU7xmhDzNQyTCsb5qkRpmxxW0Ta6cJz3t8e5bo6fHqtE2sM WbEu6SBJ68rrd5SlBdOUhwl/EmXoGuqzu6bDgm35HlWtHbOjCT2QDP8dMm1Yl8u/YYUUbi icihfqzwbnxGZj11CmklUURM1MgtQB6wZ/wwC62VD5K+RiEYfYibM5TCtxA3K/A9vHiJSp /PbrWHyCHgVJbrBTl6epKitpzesRJeI+8OJR9Brkry7ryP0lNlftkLLNI+vGqRe81CF4KP sE7H56TLs4qcBaDI/el8UJ8gfV+aToGWkmxg77KaIWAMn1ot+JgqElAaf1gXsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX6xS1KVGzf4D for ; Fri, 05 Jun 2026 16:55:08 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX7Rd4dBKz6gBSF 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 4gX7Rd2XZJz49m8 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 4gX7Rd1P4yzdkW 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gX8JC0ST7z6gFLd for ; Fri, 05 Jun 2026 17:56: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 4gX8JB71hGz4Gcs for ; Fri, 05 Jun 2026 17:56:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780682187; h=from:from:reply-to:subject:subject: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=BMNuWL1gsXaMt3mgnUH1No6ftGA23V3Vk8x1D2JshI7FNlDwcoOeQlC+h3/PJYT2nM07Ka iXCtcWjFq20wKP32WBOkW3riWeBOog3MImxAg24LN4hBwg45b8g/sAvLrLq8Fs484+A+RR DTd/yiNBWUIvLbUWpP/AWGRrSlabJHrCLnVOMYsfTA7KX9v9oUDDVX1Vjsj+3dSy8/QbyM wsDlYv/AuO265AAz2Xj7OzKkm0baZGaWYEVNqpOf8Ovt7pVmlhrZ9Z6/WwlOfL3gDxN6jd cAVSjH0tsPjv18UX87Hetz621cfp9oat2Qt5oH8V6RCYqRffJrW+5gHZmnfABg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780682187; a=rsa-sha256; cv=none; b=HMvnLamXU/Cb1W36EerrvSw0nMEI9fg09G//KkEPIO1ZrfAIyvHsQBiAgAo2FI4m4S+yBp MXWEIfuSYRWIQOA4HV8VMHz3WmAHSop9r/MMfuZK/eSRMSVm7XIhJCABdhQEg7Y8jFRGPF SG2glHLcbSvs87TTIxIhb4k5nByWyp0kJHtLBb7HlP6hGjlRtURyk5GL4kHktYxB9ms4OQ k7DIK/BP/Ylu6hPRAUbF7aMJvtDG+2D+h5jVnspoHxAiWpBbJL+pLC0mKi7L6IzT7eR9DE CYZkdq8kaX5xC0z7vGwI00NIGSpky1j1eHzMMKoiLP5m2tOyLl0ncmKkdjni6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780682187; h=from:from:reply-to:subject:subject: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=PyC6b7aaI7C7uusGKf7hCwVH2m9pCi2nGKu6W/+W0IbannwKxyXRcdoZdA96I+yBuhPUVB 3T9i6PWQEcDTzJ5kUcynhZKm/PycqjSWjwISCSALMQ3nJfvuEu/5O3ssY6MDyJ9elQtklJ rIYDn7tQBzrCKtxva2zGTu+KRZdMDxaGCy2AHdMmGwgWsBa8/V+xYQ4SDq8bXwOV1Lb1PL eTgAO5B1UzZBWUghTpNtPlW3sKyyxzAypACDAp4Daq/R3gAVJBNaIx+cb8Bm7iwTSpAIXc nWsD9olovPrw1eMCMCQpwHjO4LtoV4WDbVQdAr1XCUDZIodw2DHgDK73FGD7xw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gX8JB6J81zgPl for ; Fri, 05 Jun 2026 17:56:26 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:58:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXC1S34bKz6gQkq 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 4gXC1S2rPYz3GlV 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 4gXC1S26Xtzkp3 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXC9Q68kXz6gQyL for ; Fri, 05 Jun 2026 20:05: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 4gXC9Q5WvZz3KxD 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=1780689946; 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=u69QLY5zEYJ82jtxd0tXaC4/3Qj69tH9YS666VzXElBhBgb/OmBJ8+vju3Mb1Twc6pYQJL QrN5tNOrOuuJwK2P0VDbtdEBdBuBjWKmyUP+qyzzn6RdEa97YLk3QkLt4S+OxxTp5SQTq/ HcfwBTaIbyHaFTcUWsuBn32fWVN0TskJypbX5qECDJdkm3qchWRsuRPyOT7HV0A0oeI9Ev CZgw63Q4hOWd4xwUbTw3N7eDGt0bvaRXesdpTf9dV9nRsvP8zI6kYpuJBMPip0dyTJIKwv Z9EraFFB/Bhtpw2NlhqAsPPsjpaS+KcrgexqyX4g0ZUIJwWxUBtU3AVbew2iBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780689946; a=rsa-sha256; cv=none; b=lUh7RdFvBSEBS7xmoKLhWPUt3Yzhdo3PYkCUmpG8Ac7NgLTF8M7ix6P6hX3V7Mz7JVodwi J/qHMUeoWrANBmMf7jKuqYfpYcRdvTnvF7+P3Infk04Y4/JwBBcYFIpZbSuh4eHlUZVlw/ hjIkUBSh1wyn3E84EcGL7aJti7zIsCI486ps9ByJEAZxy7tIbXPGNEmkWJ3dzvirsAsI+g l2XPNP7hcWxVXqpsifPJ838NcnSETmYpB9/jgjuwUeLjmaJA6wJaeWh5R/DUXwDmipfKAy AttVNBnLajaRgBnehCC9yOjcsf5Qgp1Xq3+XUpxCUnNuIyo9FDYEPtLI7UE01A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780689946; 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=FA4fhdi3YpyWHql/CI7+GCW/t3LQKNsf6ZlHG92tJBpSVG7iW+J5kL4TUkVJZK7GGPGsxg uIQQql8ejl8S8GtrSsf22zrF6uVrjewaE8NJo82HT1QPX2fW/Oz6bMNcbYpIv2TDQih2RH wlukyd/gyCeHG6QtvlRNJrGZf8zubEM2qKiVeIEt09ENkLiEdHG9N9s9X4GEruztwjZJyl VLJzc5+wOXJa9pxwWHkO5byEPGAiJyJQC1iOcQ83ksiVP8xDZTspspU6fTGCOGfJ2dUKo1 T5Blgk+ERKs984lF6C3818RuTJ6TCzOzsuavNV0b8M5TwTTisitkgQWYPnTCzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXC9Q56YzzkfK 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXCRg5dMkz6gS7Y 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 4gXCRg3zZCz3MGf 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 4gXCRg3QmFzlXl 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXFTC5YQbz6gbVt for ; Fri, 05 Jun 2026 21:49: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 4gXFTC2lB0z3Tnf 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 4gXFTC1p9DznLv 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXFVp0qnGz6gbWl 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 4gXFVn6qr0z3V8Y 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 4gXFVn6GDZzp1P 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXFVq4CgJz6gblM 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 4gXFVq103zz3V3C 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 4gXFVq02gRznx4 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 Sat Jun 6 00:16:43 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXJl02p3Tz6gnbC for ; Sat, 06 Jun 2026 00:16: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 4gXJl00g85z3jZt for ; Sat, 06 Jun 2026 00:16:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780705004; h=from:from:reply-to:subject:subject: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=Y4U5h9nonDxbDf663yofGY/KOT+nFR0JmpNyWWELtkSb7zFteNMxKzaa5vSH8aXSbr2b5y Sckkf3c0JnPDgVh7kz1q/4Ng+VIhkRNURcNHlIQtDbxUYHfbYqEnbzqt7WTIODhU10dJfQ HnMm0laObcAvNRjsuzw4qOsY2IIupz1sa5/3Bax6u6qWIuZg7J0jEJX9m4YQhZiJ0KGDjx 5AR/GUa7f1f49CakUrRpKdiYboQtO0SN1uTMMvLoVNtTkJ/uMJ1fvp47bjP5ycpZsv3Bxi ZFwMt0EGfrKXUz2d8FdNvQslThtsb0zPR+cgKcDoylyZ6MCeQP6aJwxcMpch2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780705004; a=rsa-sha256; cv=none; b=tKl9IV7xsiDoU+Ht7YwByOe5vnhjipgZvN9hl3c/e2S3JVSOYoG+K/ajUo5HbspsCHyJHs e8CE8XCDHjwGfiwHn5yjMwaMsf1sdsLXPlGNK40AXBegiGr/B5Y3MuSDIib7JPC1xId8li AsD4hNlOQv7oxE8QirGcQiLD7p1Xpf0A6IP1cQ63SbQMBWXzn5QwxWHjd1yBwkOWxhCWZ3 hYTvbi2EU2oMGNy6UZFgvdI+86yr4ErT98oLDNyr1vUutumz//Zy+YDQI96g4N3YioUZtu MnUVjI1TNuBbedY1+Tug5Kz06Rku9fZZxiLQxGNsSYite/QNZFGFg7U2/lCLUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780705004; h=from:from:reply-to:subject:subject: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=Dj/uR6f647RAoAGBFsN5LfSoO7R70CkAPFRp7csSA6X58E2b8v2uj1IxH0eLDLwSYq4iC4 zqpNl8cdS4mlkLYiSOw34OK5zvpM8wnnAbDJyhp9c/MSmC+eT52B6ZbSBgFpdIjG3UTEiq KerWP22qY8lHjFIINEdqqcJpxmhC9gwW/UZSOyBsYyO7tbHxB45trMhCmQZC8ndkS65YQv faOoEd2bri6PjvYV3BqiMSzKiLvgmZ4pL3t8mgAsPK09oPwngqQhDi2j8hd3LE7r7EN0Su Qp76d8YXMBV4xu1iadpf3snbOd8C45FjLcp6rKcGqvjbrOwJNxTRLS4U4SwQ3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXJkz6crNzskH for ; Sat, 06 Jun 2026 00:16:43 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXLGN6DwRz6gtG1 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 4gXLGN3RGyz3sX0 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 4gXLGN2s6DzvTG 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 03:29:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXP116Lhrz6h3fy for ; Sat, 06 Jun 2026 03:29: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 4gXP1141YTz45GV for ; Sat, 06 Jun 2026 03:29:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780716549; h=from:from:reply-to:subject:subject: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=qbLy3xxIi91qBr+12wT3+cYTdJ1XJwTBBVTQUbxZAxlo1zSdj+IuiQp5SuqGP3IMGGT7dN Ahvgb+varp7phxQU6Op0U3AiyyNlMg4GLMQoGSPDFxhmyZoPp1kmKBP07knDKYY6qmRi2C PA4GhHMQa25l6Pc4SN4lO9LQgHbaDQaRusw+JOhsO9cprAyM+zlEycjVc4WCWySB3aasqc mEpX1G0E68Yv9+Dbj70kIThBcoA4XlrOEYzsyH3/p0YcBd6IsIwso4Wk9HnDTOZwtYXzYt 2m33D2dH3uthVgiiFP5wtPYwTRM/1UBqlS/jfWomkwQCRMfxeDKWDqIJZt+MRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780716549; a=rsa-sha256; cv=none; b=n9F2lgMVU9Hi4p76weO7TAn05trCAlC1w4a3d+KTcB1VszSsRcsO7YcaCrHYII67QP3wAK qoBVi4Ga/b3xQsFlQ+gozOL/zUeSWUqJQrv7QHGDtrPEpLPXKkuxYMyeQYWNPwsmUdiDXE rYVXDsxzx3hbX6HUCJvwCXWjmEv0B9k1drtu0k1ktiysTrXEJHPSLGpvtIuUhW7xjaPciB W8LL3fuXR64D9ToHacoMfObPWPVbERVlJFBac43GEzF8Rk0fJVumeB+ExbsNohgxqYF0yA GhbtbSuvkL6k88NFiTW3350JEXaVF2+Zb0BP7Mkt2f8XXdss2vx4Mppupx7f4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780716549; h=from:from:reply-to:subject:subject: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=rOmN1JJ9XowXR0uxdfyE8NHRULqvNBut9Rt48Bpf5d6fPrE9hCVS1Dpxhe/ytE28ASg/d5 Jns1/Frbp/iXW/QF0TD34L3Py1kWHN2hH7ZhsJY2HtMt+DMrDYAqWp38P1ZSoiImT3/L5c Oehxf460WutcjMrU/3ITX0J0GUatRr0quDeWmBHK+hGSu3LE1u3fmj/OBsSq839dFpVCug VnLPZoLRKhwbG+szGpF5pdINamAQlNf8sEtDn1lIniuOw6D2NAOKz4H7xB4NBB5WFKhW4p FQbN9kmFRljAmg07PnQlQD97Yski8kor8x8oMLTjZgeKq/hoNMhRnEiy/iWN1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXP113c69zxss for ; Sat, 06 Jun 2026 03:29:09 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 03:29:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXP131Cf4z6h49q 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 4gXP125XwTz45GW 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 4gXP124VrbzyFT 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 05:20:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=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:14 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgW3mbMz6g4p2 for ; Sat, 06 Jun 2026 06:14: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 4gXSgV6WsLz3T5x for ; Sat, 06 Jun 2026 06:14:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726454; h=from:from:reply-to:subject:subject: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=GgW0GoEV4HT4fsDsYARdntVcV7J9fFfdTXLCfH8WTKRTtNJvjCiisQ9WDKWHJTYCDDwfc5 PCeY1ZKaemK/HY3uP1/+RJwuwt8pfk2PJRFR7X0v6Zu59HEeliPcfQCwhp4Rx8fLmjuH/x 1p1zusYWzj89VISaHD29v+27WUprjrtNHOpVLkhR0EJ+a1m3S38QLY8E8LGJf7lN9DmC2a +z3Lk9J1B/XSi0cUy7kMc4v7ddcWZglqotij1mb+juwaOanowiPkUaFDlVwJ/xmYyftcxZ uANNLoUueGYVWCj8ZXyMbQaLmrpSg3fPQPVQvvEgVFXKRHRwAL9H2u8pzsqdGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726454; a=rsa-sha256; cv=none; b=jJL2HdHGL/KHc5QDQtSWjNqN/uR2U4vOu+brdL3L8/pXXoyql++dzG5beMi4QJQk2ZDFFK j8gcTLFk0ztusxlcjpHhu5X6oaDGp4AsaqtHVrEfincejDY/zLtoK3ePQRHnznopNs8PCm +90unOZgPQ6AmtJJP/bMhGrhtVpoCPoi2WAWImOGEOat3vnsRjF9HMksxwbNWeWllscXda RMzfRkntyrpo5C0k3bXZdH5j3jtW12UfFNQqgaNjaEc6hmJE3Ru0+HvgGuwgqLN/q/ObbY vglakzi9EB58Io6N+LQIGojN5TN3NbqcKxEDKe/v+rKU72LSWPeG6JRgZAeQPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726454; h=from:from:reply-to:subject:subject: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=BUuqPEUAoVnWXFQUT0iLFUKL41VqPp2hGv188VoRl2kgl0heQz+d3rvMOextuqVYupLo3a m2OpWGFKte81ezjWsBwMedigIeC85eQMDOwI0rHJnm0Ln0DgLjNsrY9Kewg7Ov3uRTZtmB jCp0oZQsgYt6PmjfyB8t4oQhcB08bTyvSlY7W5yf3eHX03QPnPDp9b6yQ/iF8qpANN0OMh /FuZ3YJrmwO8TcKv+TpMOZuMfSg7hd8mCBEmYuEvOCPJTM3sk1LC+duKsGYe93GjHD5BNy /IJ4RMVj963uTxq5MAOhnwgbk/ql0I3nqaEc5frZ8O+5OSN9ZU0GgzuitZ/a7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgV5Ywrz138N for ; Sat, 06 Jun 2026 06:14:14 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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: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 4gXSgY0bDvz3T8d 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 4gXSgY06zpz13xc 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgX3SFyz6g50q 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 4gXSgX0dLsz3T40 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 4gXSgW6jp0z138P 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:18 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgZ5DB9z6g536 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 4gXSgZ1V0kz3Sxm 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 4gXSgZ0zHpz13jM 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 4gXSgb214wz3SwG 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 4gXSgb1cMrz13ZW 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgg24JGz6g4vZ for ; Sat, 06 Jun 2026 06:14: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 4gXSgf4Rkdz3T69 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 4gXSgf3kzCz13xf 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgd0PZmz6g4pK 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 4gXSgc3LSBz3T8g 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 4gXSgc2Qnpz13jQ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:14:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSgf3w27z6g4pM 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 4gXSgd4K8Cz3T61 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 4gXSgd3FWLz13ZY 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:18:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXSmW3JSbz6g58R for ; Sat, 06 Jun 2026 06:18: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 4gXSmW2jRCz3WsD for ; Sat, 06 Jun 2026 06:18:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726715; h=from:from:reply-to:subject:subject: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=jMmqOIOiFZh0OR98rSxbYrDLRdqPnncE3KX1BbhAxTE3Ge/VH8mgs9lPHYCV91y3r21hFt P6HvI4rxvcFXJrcbGIZ7E0eIhnXXbVGyAmxjTyTkUM5mcJm3TBp2j5p3t+YXd7Mr8VmzL1 QaZd3ktFo2QOewBApLPLTqz0PS8AEEybPaVZ3P+KQ4H253jBQVrwQzL9AmGVjJ0DfNyeGB TxW2kTBHdeJe61h80y3K3zIrmmcxFhagnzyDn3zhpafLaSBvsYqV0xluNJi5Ez2+UkwZFJ DgCsxToMwzzbl1wDVbxZyVq0bizLBC2f71fxN3/4xfKfFl3wW84WOx1qEnMQlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780726715; a=rsa-sha256; cv=none; b=febWvddQnHF4PQKrfgJAH1E6twnM4RM6iRgSLccPqq+yCHZpE2MiQSV33YQu9WpSPWu0YS 0CBPkqm0mBsPWABoQfMQrWl+G/59CaxQId3A77V3mjx2UFOGiUGVBwSOyXvt0XyLkjt7cq GFHxHQmiMwGXWNZNieNUCBEl/Ey+vqoMlncuOOysi/u7AodxDDxM77y/7N+E4wy93IdRka riDf/niVYFdA+qsyWD8weVb6isCwKfJNbIBAqHc7+QqSmZD2DytFNXoJ7NARWNyhsFAa7I 9ZRT+AAg9JdNN0tMtuRH11PkyeiSbf4syCNBTtJJNnHd1i+Y6Dbi/sIU65zEYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780726715; h=from:from:reply-to:subject:subject: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=GW7y9lnANpuNxTUeMlq/x8QkyrrrkfmRQ2hUEjtyj3qwy30g9CR/nw/qXt8hVjjrxnzdwV DW+U2cbakWBR2byfrq7daK52eMs0SsJYb7h+3HW6BjBmAY8PyMY6HxZhOhg4bO/IicAfOl IJcvXaoHnbMJQ32DFQcOPcoD1Stbi/d+DoflWoiyfqnO9QaqdqNAqVU8fxuYO3gvP40xZj gQhbPJ+YV6UVYxPiB71yJd6oH4RcZ/DBNybaZzQD2SQN6n5R/gmuht9cs2HUSjqqmZa98j wUGBmIWw9jYzvO13UMMlaBFtis5Z+p2x94bNSTWrgtb/0mRRrZL28z+mez8lWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXSmW29bwz138T for ; Sat, 06 Jun 2026 06:18:35 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXVvF0Kgkz6gCvR for ; Sat, 06 Jun 2026 07:54: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 4gXVvD6WzFz3hJZ for ; Sat, 06 Jun 2026 07:54:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780732472; h=from:from:reply-to:subject:subject: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=iolLS/MDW8enZOJ08Fay4BfQWfwzeMrFU+OBuAOs+lgSoAYmfihoT2i4TJSEWEoi2MGqnV /uh1+Yo8fqVtXJxCrGkK/spE83nvaXoa4cgJ5aZ/M/BrnyzpeoWK7UBBJMpiEJ9BVujPpk VSncq2+N1M+Q1XDLtjtBiw175l/WIq8K/cX40IoMg6/ZJLR5y+93b5CJv7QF1HZ2+SM4q9 RODu4zZqlAk0gtHwhYHC6/awyLfmoNowNZc2sfd/Ai9bbXiCatGxfm1qXCADsMC/z1YgWp GZEsvmHaKV2126T5/AVcxPqeyXyw1zHyuQYxox51ksipPehhDLGE2S965AKTlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780732472; a=rsa-sha256; cv=none; b=LlDef0RMiz1OKay5fEshwAoz4BZxqgXTl9C48jKezHqxosy1epO+1PRCugOYtyW4ISVksl D9cSKxD0M+CKfvP/jWTSzOZR/zG0BLEPRMGxgj5lFwsUWX7k+g0cAAPBUH6tojROMJzwyM TsHyO+t3IFmSq/6vpjaih8wOP+LRo/bj4WkgkWsQZ7EbW/XfpqxyvEBs6LkXI3jjlGZL7Q ROQ6+kC87b/kws4J+CX/b0aLD2981H74Xfd8jaT/24+b/B+FUKWQfTs12q170OCiT+XeAq c0JBXOotBJBzg/2puGaZYIlJiS+ZNcbz1yg+t9I7wTIluEtqEfrK8a/S3IMU/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=1780732472; h=from:from:reply-to:subject:subject: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=X/xqarUh2J3Xl1aMRIWOsi8mmmTcUTqhrj+5193mLaaKbijqZf2kWBS3PwsPmQxb1wDPDo 0deOnT++pqmYg6MjFXBDyFJdkYzNxLwDcowfgwH7i3BBBWWLhKbcuJVqX5vm9dz1uXD29u i7gItCmAYCy6CMRfIMwl7X5VpfYr5tUNSW9M3irEs6bSlvMCGIYxYgEGxOXvcyalPrkMNZ Nw3X3egYeYYIZPjijwHcE0ETx3tdbm3zlf0XwE7z5XOJ71f7nKdXB3o3DSIRtRAuyBM2tl HrlKDKnWTxUUNXvir8rxI18rp02fxsUxz1Nvf+dXjbuiLuB8/Zl11dJ5Cc8aIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXVvD674lz14t5 for ; Sat, 06 Jun 2026 07:54:32 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXd4L2CtCz6gdGw 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 4gXd4K6k13z3H8n 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=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=mdUoaUqXVrSzGJSH+u1A8jlH9Z/p0Ub57Cr7sBOoQsQklna94l0zAQZX632NL8wHgEIZBW Eju7KNq3tAIEPr9YeBE1daM2liUQrHkpxTn3jle7MOoVPZqC7BR8IzssTnC56/9GOLA757 3GGe8Xd5W+mG2zjolaMgm8oxkoHbtRiUwy8BEORp7OqEFN6Y+gFOGaowuslSnJKY0UVyzT Sbs+wBFWB/gfGQlkAUsjLoNHiP9yEmI5x1VVWTRZW8gKNVktUi6oz0JFQMHGcMa28/tW3W sQ378pQrkjZiha5cuRgs9bguHNe7yS/0s9cneQoGpYQ8TTFRxcmLmBS2aX3o4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780749169; a=rsa-sha256; cv=none; b=jQWocDwdklRa0Soc0xG/3L30Jbyf8By1BaaFxrYN+YAxComx6tdbvInN65amam7B4p53sV hwMzjySsE2G7plEVbT7ahUCN54JG6+QfPZnnb8ETWqC1pIAxZrY7yc69u31W5/iy17hUVE Wep9gfioOHHABBsdyr7ZgMNGOgrtG8QWFNlZYa+d16UxZUcN5lwxQ9caSiARJPK4UEV2tD oLqNTzTLUZYxaQaqqqgRjCvY4i8UYUYK/GmkM5JKzms0Lq/RoTsK43soS86TYFWiBUi/ez nsYyyvTFJBs0ab7Mg9CvYj1dEVpSPcheNltInI8dHOHYfqJJE29dLYFU3hxNhA== ARC-Authentication-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 4gXd4K6K7VzrH 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXd8M1dGkz6gd29 for ; Sat, 06 Jun 2026 12: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 4gXd8M0hY7z3Hj1 for ; Sat, 06 Jun 2026 12: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=1780749379; h=from:from:reply-to:subject:subject: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=hEXLwyT59ebl4yEKPnr2yN0d3bAqvtqtOY/0GPYQZ5Jjlfa4cfv69sBjK3xzrQXNlB4X+p DPXen++8tx4DCyX/CT6I829e36zdpNly+i7L+oH2RAbUL5yvueLHwG1cUud7bCJPkesnc2 oLTTe4eAIX3S+3AE7fXbSj5Q4wBGf9Infy+sThkPPQCN/RKnSEcAtvXwFrzbxifd/jDsid GTOT6ThZ0U4xRNh56tGr8NHTeRZcepdZwN23HA1I3O1d94zayPOYHa7kvKbgdekc3vJNUj obJWtc1+O9oXIGCwo80x9TN6fV0H4NJDrUvJnqTyqxtw6ZYTNzBubrcLAl0/cg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780749379; a=rsa-sha256; cv=none; b=gKEmX+1KIVlacG4WX2yvNJkdIT+czfp0UY/suSN7qQR09XOUphq8Fn6jdHhM+D5ADRqbWb wmArsdoGbO0JcKm20kNSSjaLIQICrWdSI2NJB50LzbUQVxMH6J4KIXeew4YmBf41z4yW0w Aah8G5Yno+dDlpxEfZ84NhxzMlsE456b/DCZw9Y+NfaiHeSvvvDynkzEbUAZVcAKDw7WqA 0DOmJAxyZQwYcQun57V6Fw3FoJDv0Mvl89sb3GJlwjgAm0nzx5y2TAvdJO8O/AdIjkNK01 G7YqEOY03xkV72+c7k0KO5hdarKTxJC0e/6nM8e03+tBsUi/2wOEfkTd/3WD0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780749379; h=from:from:reply-to:subject:subject: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=En6mRCxb+ImGkFs1gXSRenFRQ4+wwSakrKWegzLCcN8wpGKCBQS4BojDwaCCCAisiPfmXC 6iEJ9FQHQb9XWhQSqtKYZU6jai4GHOcbttAKlmQ1LjUmppZsHv2VWjWhXmwPz4hL2ntM0y mr+r3FTto0ZhBTDF7XLoD9Nz5Mk0FPu+Ha6MwzeG2OCQKnuGJwVgDrSOoMvgcGqQfOVaX1 hFTqLyjged8pAIm3SCwEauWvo8ur9al+H9zS6maSd513Z1bfC0TFOJIbUl8g/t32vclXRj NLCXwNgVJa+0gFjQ0PZndu6DrqC/3KGnE/eexBkDb5TEkr6UhTje3idGjFynFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXd8M05wZzZ1 for ; Sat, 06 Jun 2026 12:36:19 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 12:36:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXd8N30Sqz6gdTV 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 4gXd8N152rz3HgR 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 4gXd8N0SV1zZ2 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 13:03:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXdm6555sz6ggD5 for ; Sat, 06 Jun 2026 13:03: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 4gXdm64F9Cz3KbL for ; Sat, 06 Jun 2026 13:03:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780751030; h=from:from:reply-to:subject:subject: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=pnbk7NLZfDmQIh3C60gkHPhKz4K8vylKkBPrjEYGeCbbx3UH5hQQPjzmkCvROjX+af6nYE oLcMqadwiuMGUChCmnJtKVxyUOC3gtFLgmk7dWN0AOAjvaRNHAJGEsLSMDtmZLIDtSRXym XL2Jy/0mq6jEeoKBtHZ8w/R7xJwFc4wZYjia9FSoNqCQFjvpnSb0D7GS/9Cst+kbYszyla tA5mBcdOkUQR1BS0atu5Q22xmhrbOMVF4/yGACmXHsvAdUHTWaDbgN6epHmX0yE1bajogA WekI6mZNYd6KYhJDW8i+wwbTM4J2FyrX3N8fF00OKZwbbG0OCXSKUf2BDTIZyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780751030; a=rsa-sha256; cv=none; b=iOv3TTZPDMW333Zoo3B/mvoPkOLXnYWpEQroCR7umtqa1mJWs8Ttst7tJfDCUc/Oal2D35 HqLSVbE/tuE3k/uLpjK1fR4Fnj1IdPixi5IyZ8icNiB21znstKR2RSJPX7sPa1BHNRwMHo AHymCsjwAe94vE7faV+BoPLQk+tpouI2K9XFOt1JoJfevAOdFhHB8QOrJunKBOvXOaOjtZ KSITWf6cw3gF+niVpRlM4r5uvNcDWhnszguh9A4vScvV0BAZk6UvLN9Xfsft21eEQUL9OJ 9u6DEm7S4x9cB9PAne+oWvlpyVpn1KFGbsTjQasihiSnVF8GfhETky7/KRlP7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780751030; h=from:from:reply-to:subject:subject: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=LkCLAaVtFeY83a1RjhW8FwvKonOX3x0pbuQaT85dd8fqPx3v17grAgLf4QnSY8N9mPVyTW jY8JCIjQqx9pUboJJt2zS1M/vsGHdaQ4bxcJsiPr30+1MZa/xbVxMSC4E7JkH3qCL2cL2j pa+OAvLdwlQC3atjcYaN0/2FYOtgKV75ugqtCYwJJFJe+iX2F+2WovM24irr5+YmBq+5rD mhPGlLEXfZlKq/ZnsetWTL5yEaFj3DQ+Ite8WHnwvXvDhvNhM7uTB2bjKsE8LRDYqDchx0 gu+2sH9mkYb3FRtizub9wrovhDe8w7xxpsNMYEihyc3Tv+6qD+q1oVgL7j6dFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXdm63rF1z1Xc for ; Sat, 06 Jun 2026 13:03:50 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXpMZ3WJVz6gGNj for ; Sat, 06 Jun 2026 19:31: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 4gXpMZ1Dgqz40D3 for ; Sat, 06 Jun 2026 19:31:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780774298; h=from:from:reply-to:subject:subject: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=sq4tSuRU7nhVescomwI1iRUnCsv4szAHe6Wpv1p0MAC9JuZIeMC8ef+Lb+hH2Pra+qnGF/ uw6qm5jC5urDqXSNhGRj7wC2pcCL6/QZGemqkWVJiHKz/Gt1XgDMEQw0V7aYXGmcRrXp8r UNg2o4C+7XNRt7pVAkSVjLNCjcV/2spa+iSVIyHxzKPFAPJHsetVolYKJ5ef68XcjQvz1Q vOg7e7Th1jZTiGPm43NggNCgUZqk1vf7ifLj1/QNy+WKs8ZgO1o/ADaTcUNdQohn6YvZ6v kaBTQaI37Ngs2loj6S8ufaRjyCynoFaaHabWEm+ds7/B4IqrJRThbHQAgZZxMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780774298; a=rsa-sha256; cv=none; b=qZcDQ7l/tXOJU3n4blFECRex9Ga4pNxPWq94isdxKO81exXWzpJXxN0WLXrEl7zB8hEdJd tVBCQwCBpHtBKrf9V0ABJ4qXJYsDsty3sAECa0xFwWk3GhzuWPKqaUjMAz3mV7IcBOPGfm iR/hvrCTmANu6r5NW9dWX+PeX/gV1e1yYaFlzgC+dEl6JpRz71hahzcb3hzHPRiAS5kvzp TsqVp+UJQR1jJsCnT6kt/RlIK2A/FtPaJQlUNLz/wmrK+Eq0v2yfuKgPx5Bq/prynPRxV4 1dfpxVQF97cH6B6x0Fe5ixNnc5PFwznSaP4Pas9Gt1tuwP8wjQmdGNhYzcIohg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780774298; h=from:from:reply-to:subject:subject: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=V+FkZg+blkwJDO+BQv4fxClmaGqRInOTh1SmHi4CwRJxKetMKrbUdW2DekDPbnzs0QCTy3 BeyI1P/yIPLEGAncHVtPWJAjUWc3nzmx6ZUOZmAp4dYUcbr68sePAovtEoRbfhmBSGWXj8 sFe8rFtchuESF6wshAQJVfmoUZ4uvYpBGjn2f93qkB/1iOBsPGLQ90LRW5mneWhRVXaZeD 6SeksZRlXgT7QidmzLWR+QclRScBN5vGAEEF/y87omNfgA0I5x8wHB+K63iS1q+XgMD+Vd fjxmYx/7bdFvy3kCMY1nfYMwZ65JA5kisdr04AUI9/u2nEe/hM1Nzmp6Cb2qaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXpMZ0r26zD86 for ; Sat, 06 Jun 2026 19:31:38 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:27 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXq8v5Qmbz6gKgv for ; Sat, 06 Jun 2026 20:07: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 4gXq8v2mFDz46Km for ; Sat, 06 Jun 2026 20:07:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780776447; h=from:from:reply-to:subject:subject: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=OgUdpS5eGWFzix2pn9L2d57/imt5ExmRkTvoxQ5XpS9fHUw/k32UFvcKa3+u5BQNreYzWp LYKf0pBBaAtGX7RGAROXYpvX2PoUtt07htf4l38imA6gvRCnQ0DrTGWlpIzT3pisNtfZsk i54cBa1oE3eooyP0aQiLWlkGQEvPgBP0QtyASDg7kJW9ava9aqeAuZwbjBaoxa9C5DsO/Q o8TJXmozGNsNdsxYCdioT6PpVIcYy4I+OfE718bL8DniOnTruBBV9nh9XH4iVxG8nKBpI5 grBF+PNqc1xyWZ5Yt5DZaMAZWIH5nyDqDoz2HlIiUqorL+UN0qXktEps/Fyj4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780776447; a=rsa-sha256; cv=none; b=omoS5IEDyrGeKibfUTuDIZZTe8uhWxNvN7vDvgSw2Djs3pqPs6ACDMMV4OiiRouybDUmk9 L0Tkz8rtVw5q9g7rhZ9VCoBbqnk/2O7WcKsaVdpY44Zh/rGAU1jTdPmo+j8LLw2xUX/tsU 8Vo5tB3uPYBjBHVqO7kebUSPIeHx/IXEAwyrrA3waYrPi5OFhJIVDkIT5ypAUfiCtutRAM 3RFB0FSWncoYCfTwYW3y1lAut3TDyUBYzA4RBa3uemaVX6ttCT95fnAqNoCTJ06ES4AbXi ZtjmiuHIye+wsFK865MQh2cjDJynNTiFdb58WtYDIMWsAAxqpusJg/h9bXiLdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780776447; h=from:from:reply-to:subject:subject: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=OPgIVa2/VqqC9bjhDNbSTjVUvoUkPisWESd6FGVJ31y/heUu/N8sxNiO8mzr9kFlKh8WjW m6e8RpNMKgNM91QqSKLbz9zJKRP0aAwyyeYf5M6mLuUAtdz41AHacYHMYpMO7J4MTuHg+V VeeAAcUG0vx9xbgW66bqGSe3awgsZe1N+9X3t6WjQ7IV9Nco/1TIFzISdBVgNEnnH3AFRt aneeU0Iie56oO0QiwGzr/wVfSL9pgC+aqsNna6f0M1YZVVL2i4a4F3/5V7hTJt7Ml6/4dY hmeqQbbTsyDAU7x33fUsJ9C5Yd8sEhXoKbrjexKl1NlZm2yN9FS1lejUIGIaaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXq8v1K8tzTwq for ; Sat, 06 Jun 2026 20:07:27 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:07:28 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXq8w5Vp6z6gKYr 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 4gXq8w1dLgz465r 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 4gXq8w1BZWzTtf 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXq8x5Zwxz6gKVy 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 4gXq8x3NKVz46Dj 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 4gXq8x24g7zTwt 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:17:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXqNs1D0Wz6gL9C for ; Sat, 06 Jun 2026 20: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 4gXqNr5FcPz49dN 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 4gXqNr4PS1zVZ5 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXqNx4vNmz6gLbg 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 4gXqNw6t1Dz49b3 for ; Sat, 06 Jun 2026 20:17:52 +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 4gXqNw5YxBzVZD 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:49:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXr5M5xmcz6gPHN 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 4gXr5M3pX3z4GHy 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 4gXr5M2l4MzWs6 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: 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 18:39:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYQ7731qMz6fwGT for ; Sun, 07 Jun 2026 19:22: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 4gYQ772FJVz3HSD for ; Sun, 07 Jun 2026 19:22:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780860179; h=from:from:reply-to:subject:subject: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=YeJpQdnoh/6ZwbmKAyrHrC6xjJguqi8/1BA25uQX5mRvMO/ElVW9kMmd+kswHWLzJr9DGd uVIUFZJsEshspXWUWyClvRIlAf0N6CVtek9nMmdPIZJZ7+C87lZMaY7ZBJFbRQEqQ3s0V+ W+CplehVHBvnv8QtlvWjQrccpURFsU/kQoIq/WuQGRIvbHLoF1IBpqj7BO2e28YAxNSzQe FyGdwuNpPvwGmYfbd+ax1vusteNquNiD9Ai4QAssIepUnolSuQma/jX0IE7cxJA7bP1dcl La8BweIdE6c+yNAUYogI+Olp6OD/dsRcClyh8kjapbHwvdwwNWx1I/XPhhoahg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780860179; a=rsa-sha256; cv=none; b=F8FsvoBl5o2JxFqIV0vUwCM5c78A5TckrwUSLB3QN2xC3wbzrJmf1RMeOmLVqBs2547192 MYCXsaFM5F1+YojCb9uPBveDb2vdBxjw9A5zwigvrM17CnjbBt9VOPdp9UwcCHArFsu+Ux 9igWSLk1Td1gUOlWcUtJEDNi8xsKnzbCZtjv1ChbhhaQYu68Yj7CV61L0Gb50XCmmpPr1g MILSI3wAdGkt4j/z0gEChtf2x9oari/dyMGp6zM0uxaIebQkBrQmFa0gKjQuQFyvQx/o0e dLqCGM5wJBkxyLxAXG+gRdcl5qY77ToAElrYg1qgQNaYAizImR8sr2zPEat61g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780860179; h=from:from:reply-to:subject:subject: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=AqXwSEUIOoWzhlpOccdryrleOLMkqYakmnmOphaY10stNBZTHZqMjYErBvFqxILHWU9Jqx 34gge51oDFd0wX+EtEDKVM/ZMTMaInaQpWNWOBJuBmNkArpxN1Ta5d/vNsgd8z5pTkJNB/ ieWMum+VoESgU9Xwy+Fb/6Sxofw2DsXoXV1obAVS5ENalYcLgIa77lKwGuXJqBt7KmLoAv yuGlixK5BJokX3O6x0zFDz577jYOnKaWGnD+dCq4kEpmf/IGI9GxZRihS2j9KcxPFYEYwO VZcXTsEGF8QDjC8CLJ0R1Io5eaGqd0/KDi4uWQwhC+5pV+I92iQywkukGY7n5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYQ771W7DzfJ for ; Sun, 07 Jun 2026 19:22:59 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJ90gSlz6g5NB 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 4gYSJ83nkpz3Sgb 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 4gYSJ82MQ0z2sg 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:58 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJC0zyGz6g5CL 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 4gYSJB4j5yz3SmB 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 4gYSJB40tbz3Ck 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:57 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJ973xFz6g5CH 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 4gYSJ93f61z3SpC 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 4gYSJ93Blcz3Ch 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJD6V0Gz6g5Ks 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 4gYSJD2xjHz3SjT 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 4gYSJD2GwVz2ys 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJD34KLz6g54R 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 4gYSJC5Ngzz3Spb 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 4gYSJC4qwsz3Rf 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJF21Vsz6g5FZ 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 4gYSJD6x0Hz3Spl 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=1780866061; h=from:from:reply-to:subject:subject: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=pF1efqE+aRciQ8/6K0bAW+WzTBpbi2Qtj8kQXrxKg+HRCqNcWTYrk+GErdpc+fjJnHsuXV rjpSQaXLrAK3yNL2Kk3vQ1+CFKSpPAbYoYAsnOmWL3Q2KIIov+xarmkgG35w9KAHiK2OCO Sl9oPkq8/c8C/z7KNrQP+9LJjgKkyTzB6fe9P3ysvdrElV7jLyrGFUWkCD9et465mCZE1m WqIJQnmcTm/csbqv0qOBIy5PMrAiCAZ983Uq4jAltvweYtikdW8LkMHAg1VmxCYf3eyG8P UngYt7h+/fwZfpBj5KcBXeHWrQJR3X8Lnzp/u6iVYq8Ri5TLfwmZsAtz6voWFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780866061; a=rsa-sha256; cv=none; b=VRcoS8gDYBDSjlPdGKgObtjH1g7WR/oGeGPC2JqSPTJKVPDN1cp5EfHab1j9+keaeSKPGA vTqgGOnWshDwmEMEI7B0ABOlrk9FV/QF40W82q9kHRNaQYI7nN9PeCP8JOi2Zoun6tskuJ l+Ry62TzWA8W1PRfYpqJlOMeAcdwvKuf9HcYBzyjmTadrXvQMP5tD8GvQ8J5hKBVHdq29E cvq7ngYevRlNvsENdEoHUqwXfhuWwz60kwbxx4ARpeI9FpyQH2QHb1uZGFokJAjAzNjaru xt4LWf/PPHiF+hzYCNMgvoAenmRUDu1HLp0ZLH3OxQ47piZ6MtelgQ66kZXz0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780866061; h=from:from:reply-to:subject:subject: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=qukCiwPNBzBsodTSBpNJqdmU5+4RKkabg0pLfIe6E7dVM+wQxjtsrB7Ew7q+LWi31KSxkc N0XIQ3KGFKcFpNRSLZrhbfh8N33X6fZYMQARwWs5801xhqNrGN+N3o3j5YjBuIIAcVZRDV 8KdAsJBxD0y3H4sziIH1bjC6/zPZ23rV56mmvoigQxsUg6U+VofRAivHPqpyXQyLflZpaZ vVCSFRr0p8dF1NXxabiyBwMk2IRNvg3Xy6sJ7uykx0vqVq+vSAA5Qq5xs9PH6adCekMaLz wJCVhtfpsEqceP4dIPeFVYLUTr4PslxxIrrOZilucipvrRdbxyZl+eYHiTgEPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSJD5jczz3Cp 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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